This commit is contained in:
2020-02-13 20:50:53 +00:00
parent 5aacb87a93
commit 684f7be73d
7 changed files with 141 additions and 131 deletions

View File

@@ -4,34 +4,25 @@ namespace AyaNova.DataList
{
internal interface IAyaDataList
{
//Unique key to identify this list
string ListKey { get; set; }
//sql query from fragment with table joins et
string SQLFrom { get; set; }
//List of fields for this object
List<AyaDataListFieldDefinition> FieldDefinitions { get; set; }//NOTE: First field after df is used as the title above the narrow grid view so it should be the name of the item to be shown that is most identifiable
//allowed roles to access the full list templated fields
AuthorizationRoles FullListAllowedRoles { get; set; }
//allowed roles to access mini list templated fields
//generally this will be *any* because most forms will need to allow this for picklists such as usernames etc
// but this is a safety valve for sensitive lists like financial reports where there is just no need for untrusted roles to see it
AuthorizationRoles MiniListAllowedRoles { get; set; }
List<AyaDataListFieldDefinition> FieldDefinitions { get; set; }
//allowed roles to access this list
AuthorizationRoles AllowedRoles { get; set; }
//Default object type to open for rows of this list (use no object if no)
AyaType DefaultListObjectType { get; set; }
//Default list display template if none found in db or is invalid, this ensures the data will flow even if people fuck up the templates somehow
string DefaultDataListDisplayTemplate { get; set; }
//Default / STOCK DataListView when none is specified
string DefaultListView { get; set; }
Newtonsoft.Json.Linq.JArray GenerateListColumnsJSONFromListView(string template);
Newtonsoft.Json.Linq.JArray GenerateMINIListColumnsJSON();
Newtonsoft.Json.Linq.JArray GenerateListColumnsJSONFromTemplate(string template);
bool ValidateTemplate(string template);
// bool ValidateTemplate(string template);
}