From d5f44f9e2440b06030c29b3e7fac217bf8a0d4ba Mon Sep 17 00:00:00 2001 From: SteinerPascal Date: Sun, 11 Sep 2022 14:15:28 +0200 Subject: [PATCH] render selected values --- src/configs/client-configs/ISettings.ts | 4 +-- src/configs/client-configs/settings.ts | 1 + .../edit-components/widgets/TreeWidget.ts | 26 ++++++++++++------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/configs/client-configs/ISettings.ts b/src/configs/client-configs/ISettings.ts index e6ab9d28..bf45e0f9 100644 --- a/src/configs/client-configs/ISettings.ts +++ b/src/configs/client-configs/ISettings.ts @@ -10,8 +10,8 @@ interface ISettings { language: string; addDistinct?: boolean; typePredicate?: string; - maxDepth?: number; - maxOr?: number; + maxDepth: number; + maxOr: number; backgroundBaseColor?: string; //TODO '250,136,3' sparqlPrefixes?: any; defaultEndpoint?: () => string; diff --git a/src/configs/client-configs/settings.ts b/src/configs/client-configs/settings.ts index c7bc1437..fabb5a42 100644 --- a/src/configs/client-configs/settings.ts +++ b/src/configs/client-configs/settings.ts @@ -6,6 +6,7 @@ const settings: ISettings = { config: null, language: "en", maxDepth: 4, // max amount of where clauses + maxOr:6, addDistinct: true, // backgroundBaseColor: "2,184,117", backgroundBaseColor: "29, 224, 153", diff --git a/src/sparnatural/components/builder-section/groupwrapper/criteriagroup/edit-components/widgets/TreeWidget.ts b/src/sparnatural/components/builder-section/groupwrapper/criteriagroup/edit-components/widgets/TreeWidget.ts index 32df7434..ec252234 100644 --- a/src/sparnatural/components/builder-section/groupwrapper/criteriagroup/edit-components/widgets/TreeWidget.ts +++ b/src/sparnatural/components/builder-section/groupwrapper/criteriagroup/edit-components/widgets/TreeWidget.ts @@ -258,7 +258,7 @@ export class TreeWidget extends AbstractWidget { } } - if (this_.jsTree.jstree().get_top_checked().length >= this.settings.maxOr) { + if (this_.jsTree.jstree().get_top_checked().length >= this_.settings.maxOr) { for (var i = 0; i < items.length; i++) { var id = $(items[i]).attr("id"); if (selecteds.indexOf(id) == -1) { @@ -303,27 +303,35 @@ export class TreeWidget extends AbstractWidget { onClickSelect = function (e: any) { let this_ = e.data.arg1; + const values = this_.getValue() + values.forEach((val:TreeWidgetValue) => { + this_.renderWidgetVal(val) + }); this.displayLayer.hide(); }; onClickClose = function (e: any) { let this_ = e.data.arg1; - this.displayLayer.hide(); + this?.displayLayer?.hide(); $(this_.ParentComponent).trigger("change"); }; - getValue = function () { + getValue = function ():Array { var checked = this.jsTree.jstree().get_top_checked(true); // rebuild a clean data structure var values = []; for (var node in checked) { - var v = { - key: checked[node].id, - label: checked[node].original.text, - uri: checked[node].id, - }; - values.push(v); + const val:TreeWidgetValue = { + value: { + key: checked[node].id, + label: checked[node].original.text, + uri: checked[node].id + }, + valueType: ValueType.MULTIPLE + } + + values.push(val); } return values;