This commit is contained in:
2020-03-16 23:13:06 +00:00
parent cb54498829
commit 3b85a92a0b
2 changed files with 19 additions and 1 deletions

View File

@@ -32,6 +32,9 @@ namespace AyaNova.PickList
string ActiveSelectFragment = string.Empty;
string ActiveWhereFragment = string.Empty;
string TagSpecificSelectFragment = string.Empty;
string TagSpecificWhereFragment = string.Empty;
//PROCESS ROW ID "VALUE" COLUMN
//
AyaPickListFieldDefinition rowIdColumn = pickList.ColumnDefinitions.FirstOrDefault(x => x.IsRowId == true);
@@ -70,6 +73,13 @@ namespace AyaNova.PickList
}
}
//PROCESS TAG SPECIFIC QUERY
//
if(HasTagSpecificQuery){
//need a select and a where clause for tags apart from the rest
TagSpecificSelectFragment=""
}
//PROCESS TEMPLATED COLUMNS TO BE RETURNED IN RESULTS
//
@@ -93,7 +103,7 @@ namespace AyaNova.PickList
//TAGS COLUMN
//
if (o.ColumnDataType == UiFieldDataType.Tags)
{
{
lSelect.Add($"(array_to_string({valueColumnName},',')");
//tags can order by without the arraytostring
lOrderBy.Add(valueColumnName);

View File

@@ -111,6 +111,14 @@ namespace AyaNova.Biz
}
}
//Final fixup if user specifies tag query but there are not tags on this object then
//rather than error just accept it as a no tag query
//Note: it's not valid to have more than one field with tags in the picklist definition so this works
if (PickList.ColumnDefinitions.FirstOrDefault(x => x.ColumnDataType == UiFieldDataType.Tags) == null)
{
TagSpecificQuery = null;
}
//Autocomplete and tagonly query terms now set for consumption by PickListFetcher, ready to fetch...
List<NameIdActiveItem> items = await PickListFetcher.GetResponseAsync(PickList, AutoCompleteQuery, TagSpecificQuery, inactive, ct);
return items;