@sankhyalabs/sankhyablocks 6.10.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ConfigStorage-da2bf3bf.js → ConfigStorage-97468a0f.js} +28 -22
- package/dist/cjs/{PersonalizedFilterUtils-cfcd9af2.js → PersonalizedFilterUtils-9848e09b.js} +18 -64
- package/dist/cjs/{SnkFormConfigManager-d7cc9118.js → SnkFormConfigManager-bef6e022.js} +1 -1
- package/dist/cjs/{SnkMessageBuilder-a5a9b437.js → SnkMessageBuilder-f40df6d4.js} +18 -2
- package/dist/cjs/{filter-bar-config-fetcher-58cfc12e.js → filter-bar-config-fetcher-a7747f69.js} +22 -5
- package/dist/cjs/index-8d94b7e0.js +7 -0
- package/dist/cjs/index-c5771aba.js +44 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +3 -3
- package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
- package/dist/cjs/{snk-data-unit-9d03800c.js → snk-data-unit-b0cc2d42.js} +1 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
- package/dist/cjs/snk-expression-group_2.cjs.entry.js +542 -0
- package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +66 -0
- package/dist/cjs/snk-filter-bar.cjs.entry.js +14 -14
- package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
- package/dist/cjs/{snk-expression-item_3.cjs.entry.js → snk-filter-field-search_2.cjs.entry.js} +23 -315
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -2
- package/dist/cjs/snk-form.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid-config.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid.cjs.entry.js +2 -2
- package/dist/cjs/{snk-guides-viewer-36766466.js → snk-guides-viewer-897368ea.js} +1 -1
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +122 -31
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +5 -1
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +114 -23
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +4 -6
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +2 -1
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.css +10 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.js +95 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.css +66 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.js +158 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +8 -2
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +14 -23
- package/dist/collection/lib/configs/ConfigStorage.js +5 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +22 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +22 -18
- package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +18 -2
- package/dist/components/ConfigStorage.js +27 -21
- package/dist/components/PersonalizedFilterUtils.js +14 -23
- package/dist/components/SnkMessageBuilder.js +18 -2
- package/dist/components/filter-bar-config-fetcher.js +22 -5
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -0
- package/dist/components/snk-crud.js +34 -22
- package/dist/components/snk-detail-view2.js +49 -27
- package/dist/components/snk-expression-group2.js +4 -6
- package/dist/components/snk-expression-item2.js +2 -1
- package/dist/components/snk-filter-advanced-mode.d.ts +11 -0
- package/dist/components/snk-filter-advanced-mode.js +6 -0
- package/dist/components/snk-filter-advanced-mode2.js +46 -0
- package/dist/components/snk-filter-assistent-mode.d.ts +11 -0
- package/dist/components/snk-filter-assistent-mode.js +6 -0
- package/dist/components/snk-filter-assistent-mode2.js +77 -0
- package/dist/components/snk-filter-bar2.js +17 -5
- package/dist/components/snk-filter-param-config2.js +6 -0
- package/dist/components/snk-grid2.js +22 -10
- package/dist/components/snk-personalized-filter2.js +131 -28
- package/dist/esm/{ConfigStorage-f1e805a0.js → ConfigStorage-02f17a26.js} +28 -22
- package/dist/esm/{PersonalizedFilterUtils-1a167d89.js → PersonalizedFilterUtils-731cae01.js} +16 -62
- package/dist/esm/{SnkFormConfigManager-324f6dc7.js → SnkFormConfigManager-cd9e6cab.js} +1 -1
- package/dist/esm/{SnkMessageBuilder-76f62087.js → SnkMessageBuilder-5be56185.js} +18 -2
- package/dist/esm/{filter-bar-config-fetcher-a358b8e0.js → filter-bar-config-fetcher-790283d8.js} +22 -5
- package/dist/esm/index-620ac460.js +7 -0
- package/dist/esm/index-ae591a44.js +44 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-application.entry.js +3 -3
- package/dist/esm/snk-data-exporter.entry.js +2 -2
- package/dist/esm/{snk-data-unit-0ff2d644.js → snk-data-unit-b9b4bb5f.js} +1 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +5 -5
- package/dist/esm/snk-expression-group_2.entry.js +537 -0
- package/dist/esm/snk-filter-advanced-mode_2.entry.js +61 -0
- package/dist/esm/snk-filter-bar.entry.js +5 -5
- package/dist/esm/snk-filter-detail.entry.js +3 -3
- package/dist/esm/{snk-expression-item_3.entry.js → snk-filter-field-search_2.entry.js} +12 -303
- package/dist/esm/snk-filter-modal-item.entry.js +2 -2
- package/dist/esm/snk-filter-modal.entry.js +2 -2
- package/dist/esm/snk-form.entry.js +3 -3
- package/dist/esm/snk-grid-config.entry.js +2 -2
- package/dist/esm/snk-grid.entry.js +2 -2
- package/dist/esm/{snk-guides-viewer-e7209909.js → snk-guides-viewer-579c70cc.js} +1 -1
- package/dist/esm/snk-guides-viewer.entry.js +4 -4
- package/dist/esm/snk-personalized-filter.entry.js +119 -28
- package/dist/sankhyablocks/{p-8f6575c8.entry.js → p-19fdcf88.entry.js} +1 -1
- package/dist/sankhyablocks/{p-18b74675.entry.js → p-1fe2976e.entry.js} +1 -1
- package/dist/sankhyablocks/p-2227bb94.js +1 -0
- package/dist/sankhyablocks/p-386102a7.entry.js +1 -0
- package/dist/sankhyablocks/{p-7a075ae6.js → p-3b059f4e.js} +1 -1
- package/dist/sankhyablocks/p-4af6cbef.entry.js +1 -0
- package/dist/sankhyablocks/p-4bbc7aac.entry.js +1 -0
- package/dist/sankhyablocks/{p-3251999f.entry.js → p-4f687570.entry.js} +1 -1
- package/dist/sankhyablocks/p-5098f618.js +1 -0
- package/dist/sankhyablocks/p-7e636457.entry.js +1 -0
- package/dist/sankhyablocks/p-7f1c4687.js +56 -0
- package/dist/sankhyablocks/{p-ed9e1e52.entry.js → p-88f4ef73.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4f3df9b6.js → p-90a926c7.js} +1 -1
- package/dist/sankhyablocks/{p-eef26a01.entry.js → p-90e7c3a2.entry.js} +1 -1
- package/dist/sankhyablocks/p-933c0c0b.js +1 -0
- package/dist/sankhyablocks/p-9666c0d0.entry.js +1 -0
- package/dist/sankhyablocks/p-97720467.entry.js +1 -0
- package/dist/sankhyablocks/{p-522172e1.entry.js → p-97c586ab.entry.js} +1 -1
- package/dist/sankhyablocks/{p-bd840081.entry.js → p-9fa9331b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-652b9081.js → p-acd8b97b.js} +1 -1
- package/dist/sankhyablocks/{p-40a5d35e.entry.js → p-ad6673fb.entry.js} +1 -1
- package/dist/sankhyablocks/p-bd86c9d3.entry.js +1 -0
- package/dist/sankhyablocks/{p-8d583a79.entry.js → p-cdbdcf13.entry.js} +1 -1
- package/dist/sankhyablocks/p-f4184ce7.js +1 -0
- package/dist/sankhyablocks/{p-56378a3b.js → p-fb1e5b6d.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-personalized-filter/interfaces/IPersonalizedFilter.d.ts +4 -0
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +17 -6
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +2 -2
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.d.ts +20 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.d.ts +31 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +6 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +2 -2
- package/dist/types/components.d.ts +103 -2
- package/dist/types/lib/configs/ConfigStorage.d.ts +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
- package/package.json +1 -1
- package/react/components.d.ts +2 -0
- package/react/components.js +2 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/IExpressionItem-0e32ebb7.js +0 -7
- package/dist/cjs/snk-expression-group.cjs.entry.js +0 -250
- package/dist/esm/IExpressionItem-21f225bf.js +0 -7
- package/dist/esm/snk-expression-group.entry.js +0 -246
- package/dist/sankhyablocks/p-432a73a8.js +0 -1
- package/dist/sankhyablocks/p-63bff2a8.js +0 -1
- package/dist/sankhyablocks/p-6490021d.entry.js +0 -1
- package/dist/sankhyablocks/p-7d68a43a.js +0 -1
- package/dist/sankhyablocks/p-7fd8a0ab.entry.js +0 -1
- package/dist/sankhyablocks/p-9f34a127.entry.js +0 -1
- package/dist/sankhyablocks/p-d4adf773.js +0 -68
- package/dist/sankhyablocks/p-d9586ead.entry.js +0 -1
- package/dist/sankhyablocks/p-eb30a52a.entry.js +0 -1
- package/dist/sankhyablocks/p-f8ce17d3.entry.js +0 -1
@@ -0,0 +1,46 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
+
import { StringUtils } from '@sankhyalabs/core';
|
3
|
+
|
4
|
+
const snkFilterAdvancedModeCss = ".sc-snk-filter-advanced-mode-h{display:block;--snk-personalized-filter--title--color:var(--title--primary, #2B3A54)}.snk-filter-advanced-mode__title.sc-snk-filter-advanced-mode{color:var(--snk-personalized-filter--title--color)}";
|
5
|
+
|
6
|
+
const SnkFilterAdvancedMode = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
7
|
+
constructor() {
|
8
|
+
super();
|
9
|
+
this.__registerHost();
|
10
|
+
this.ezExpressionChange = createEvent(this, "ezExpressionChange", 7);
|
11
|
+
this.filterAssistent = undefined;
|
12
|
+
this.application = undefined;
|
13
|
+
}
|
14
|
+
getMessage(key, params) {
|
15
|
+
return this.application.messagesBuilder.getMessage(key, params);
|
16
|
+
}
|
17
|
+
getWarningMessageComponent() {
|
18
|
+
var _a;
|
19
|
+
if (StringUtils.isEmpty((_a = this.filterAssistent) === null || _a === void 0 ? void 0 : _a.warningMessage))
|
20
|
+
return undefined;
|
21
|
+
return (h("div", { class: "ez-flex" }, h("ez-alert", { alertType: "warn" }, this.filterAssistent.warningMessage)));
|
22
|
+
}
|
23
|
+
render() {
|
24
|
+
var _a;
|
25
|
+
return (h(Host, null, h("span", { class: "ez-title ez-title--small ez-padding-bottom--small snk-filter-advanced-mode__title" }, this.getMessage("snkPersonalizedFilter.info.applyExpression")), h("ez-text-area", { rows: 9, label: this.getMessage("snkPersonalizedFilter.info.labelExpression"), value: (_a = this.filterAssistent) === null || _a === void 0 ? void 0 : _a.expression, onEzChange: (evt) => this.ezExpressionChange.emit(evt.detail) }), this.getWarningMessageComponent()));
|
26
|
+
}
|
27
|
+
static get style() { return snkFilterAdvancedModeCss; }
|
28
|
+
}, [2, "snk-filter-advanced-mode", {
|
29
|
+
"filterAssistent": [1040],
|
30
|
+
"application": [1040]
|
31
|
+
}]);
|
32
|
+
function defineCustomElement() {
|
33
|
+
if (typeof customElements === "undefined") {
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
const components = ["snk-filter-advanced-mode"];
|
37
|
+
components.forEach(tagName => { switch (tagName) {
|
38
|
+
case "snk-filter-advanced-mode":
|
39
|
+
if (!customElements.get(tagName)) {
|
40
|
+
customElements.define(tagName, SnkFilterAdvancedMode);
|
41
|
+
}
|
42
|
+
break;
|
43
|
+
} });
|
44
|
+
}
|
45
|
+
|
46
|
+
export { SnkFilterAdvancedMode as S, defineCustomElement as d };
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface SnkFilterAssistentMode extends Components.SnkFilterAssistentMode, HTMLElement {}
|
4
|
+
export const SnkFilterAssistentMode: {
|
5
|
+
prototype: SnkFilterAssistentMode;
|
6
|
+
new (): SnkFilterAssistentMode;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { S as SnkFilterAssistentMode$1, d as defineCustomElement$1 } from './snk-filter-assistent-mode2.js';
|
2
|
+
|
3
|
+
const SnkFilterAssistentMode = SnkFilterAssistentMode$1;
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
5
|
+
|
6
|
+
export { SnkFilterAssistentMode, defineCustomElement };
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
+
import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils.js';
|
3
|
+
import { d as defineCustomElement$4 } from './snk-expression-group2.js';
|
4
|
+
import { d as defineCustomElement$3 } from './snk-expression-item2.js';
|
5
|
+
import { d as defineCustomElement$2 } from './snk-filter-field-search2.js';
|
6
|
+
import { d as defineCustomElement$1 } from './snk-filter-param-config2.js';
|
7
|
+
|
8
|
+
const snkFilterAssistentModeCss = ".sc-snk-filter-assistent-mode-h{display:flex;flex-direction:column;height:100%;--text-area--font-family:var(--font-pattern, Arial);--text-area__label--floating--top:var(--space--small, 6px);--snk-filter-assistent-mode__container--border-radius:var(--border--radius-medium, 12px);--snk-filter-assistent-mode__container--background:var(--background--medium, #f0f3f7);--snk-filter-assistent-mode__container--margin:var(--space--small, 6px) var(--space--medium, 12px)}.ez-box__container--external.sc-snk-filter-assistent-mode{height:100px;width:100%;overflow-y:auto;background-color:var(--snk-filter-assistent-mode__container--background);border-radius:var(--snk-filter-assistent-mode__container--border-radius)}.ez-box__container--internal.sc-snk-filter-assistent-mode{margin:var(--snk-filter-assistent-mode__container--margin)}.ez-box__container--title.sc-snk-filter-assistent-mode{display:block;user-select:none;font-family:var(--text-area--font-family);font-size:var(--text--extra-small);color:var(--title--primary);top:var(--text-area__label--floating--top)}.ez-box__container--expression.sc-snk-filter-assistent-mode{display:block;font-family:var(--text-area--font-family);font-size:var(--text--medium);color:var(--title--primary);top:var(--text-area__label--floating--top)}.snk-personalized-filter__expression-input--line.sc-snk-filter-assistent-mode{width:100%;height:2px;background-color:var(--snk-personalized-filter--background-color-line);margin-top:var(--snk-personalized-filter--margin-line);margin-bottom:var(--snk-personalized-filter--margin-line)}";
|
9
|
+
|
10
|
+
const SnkFilterAssistentMode = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
11
|
+
constructor() {
|
12
|
+
super();
|
13
|
+
this.__registerHost();
|
14
|
+
this.ezChangeFilter = createEvent(this, "ezChangeFilter", 7);
|
15
|
+
this.filterAssistent = undefined;
|
16
|
+
this.messagesBuilder = undefined;
|
17
|
+
this.filterId = undefined;
|
18
|
+
this.entityUri = undefined;
|
19
|
+
this.application = undefined;
|
20
|
+
}
|
21
|
+
getMessage(key, params) {
|
22
|
+
return this.application.messagesBuilder.getMessage(key, params);
|
23
|
+
}
|
24
|
+
async handleFilterGroupChange() {
|
25
|
+
const assistent = await this._mainExpressionGroup.getExpressionGroup();
|
26
|
+
this.filterAssistent = Object.assign(Object.assign({}, this.filterAssistent), { assistent });
|
27
|
+
this.filterAssistent.parameters = PersonalizedFilterUtils.buildVariableParameters(this.filterAssistent.assistent);
|
28
|
+
this.filterAssistent.expression = PersonalizedFilterUtils.buildGroupExpression(this.filterAssistent.assistent);
|
29
|
+
this.ezChangeFilter.emit(this.filterAssistent);
|
30
|
+
}
|
31
|
+
render() {
|
32
|
+
var _a, _b;
|
33
|
+
return (h(Host, null, h("div", { class: "ez-padding-top--small snk-personalized-filter__group" }, h("snk-expression-group", { ref: (el) => this._mainExpressionGroup = el, group: (_a = this.filterAssistent) === null || _a === void 0 ? void 0 : _a.assistent, messagesBuilder: this.messagesBuilder, onEzFilterGroupChange: this.handleFilterGroupChange.bind(this), filterId: this.filterId, entityURI: this.entityUri })), h("div", { class: "ez-margin-top--auto" }, h("div", { class: "snk-personalized-filter__expression-input--line" }), h("ez-collapsible-box", { label: this.getMessage("snkPersonalizedFilter.info.titleCollapsible"), headerSize: "medium", value: true }, h("div", { class: "ez-box" }, h("div", { class: "ez-box__container--external" }, h("div", { class: "ez-box__container--internal" }, h("span", { class: "ez-box__container--title" }, this.getMessage("snkPersonalizedFilter.info.labelExpression")), h("span", { class: "ez-box__container--expression" }, (_b = this.filterAssistent) === null || _b === void 0 ? void 0 : _b.expression))))))));
|
34
|
+
}
|
35
|
+
static get style() { return snkFilterAssistentModeCss; }
|
36
|
+
}, [2, "snk-filter-assistent-mode", {
|
37
|
+
"filterAssistent": [1040],
|
38
|
+
"messagesBuilder": [1040],
|
39
|
+
"filterId": [1025, "filter-id"],
|
40
|
+
"entityUri": [1025, "entity-uri"],
|
41
|
+
"application": [1040]
|
42
|
+
}]);
|
43
|
+
function defineCustomElement() {
|
44
|
+
if (typeof customElements === "undefined") {
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
const components = ["snk-filter-assistent-mode", "snk-expression-group", "snk-expression-item", "snk-filter-field-search", "snk-filter-param-config"];
|
48
|
+
components.forEach(tagName => { switch (tagName) {
|
49
|
+
case "snk-filter-assistent-mode":
|
50
|
+
if (!customElements.get(tagName)) {
|
51
|
+
customElements.define(tagName, SnkFilterAssistentMode);
|
52
|
+
}
|
53
|
+
break;
|
54
|
+
case "snk-expression-group":
|
55
|
+
if (!customElements.get(tagName)) {
|
56
|
+
defineCustomElement$4();
|
57
|
+
}
|
58
|
+
break;
|
59
|
+
case "snk-expression-item":
|
60
|
+
if (!customElements.get(tagName)) {
|
61
|
+
defineCustomElement$3();
|
62
|
+
}
|
63
|
+
break;
|
64
|
+
case "snk-filter-field-search":
|
65
|
+
if (!customElements.get(tagName)) {
|
66
|
+
defineCustomElement$2();
|
67
|
+
}
|
68
|
+
break;
|
69
|
+
case "snk-filter-param-config":
|
70
|
+
if (!customElements.get(tagName)) {
|
71
|
+
defineCustomElement$1();
|
72
|
+
}
|
73
|
+
break;
|
74
|
+
} });
|
75
|
+
}
|
76
|
+
|
77
|
+
export { SnkFilterAssistentMode as S, defineCustomElement as d };
|
@@ -6,8 +6,10 @@ import { toString } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
|
|
6
6
|
import { F as FilterItemType } from './filter-item-type.enum.js';
|
7
7
|
import { a as FilterOperand, P as PersonalizedFilterUtils } from './PersonalizedFilterUtils.js';
|
8
8
|
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
9
|
-
import { d as defineCustomElement$
|
10
|
-
import { d as defineCustomElement$
|
9
|
+
import { d as defineCustomElement$a } from './snk-expression-group2.js';
|
10
|
+
import { d as defineCustomElement$9 } from './snk-expression-item2.js';
|
11
|
+
import { d as defineCustomElement$8 } from './snk-filter-advanced-mode2.js';
|
12
|
+
import { d as defineCustomElement$7 } from './snk-filter-assistent-mode2.js';
|
11
13
|
import { d as defineCustomElement$6 } from './snk-filter-detail2.js';
|
12
14
|
import { d as defineCustomElement$5 } from './snk-filter-field-search2.js';
|
13
15
|
import { d as defineCustomElement$4 } from './snk-filter-item2.js';
|
@@ -402,7 +404,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
402
404
|
loadConfigFromStorage() {
|
403
405
|
return new Promise(accept => {
|
404
406
|
ConfigStorage.get().then(instance => {
|
405
|
-
instance.loadFilterBarConfig(this.configName)
|
407
|
+
instance.loadFilterBarConfig(this.configName, { contextURI: this.dataUnit.name })
|
406
408
|
.then((filters) => {
|
407
409
|
accept();
|
408
410
|
this.filterConfig = filters.map(item => this.normalizeItem(item));
|
@@ -518,7 +520,7 @@ function defineCustomElement() {
|
|
518
520
|
if (typeof customElements === "undefined") {
|
519
521
|
return;
|
520
522
|
}
|
521
|
-
const components = ["snk-filter-bar", "snk-expression-group", "snk-expression-item", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-personalized-filter", "snk-simple-bar"];
|
523
|
+
const components = ["snk-filter-bar", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-personalized-filter", "snk-simple-bar"];
|
522
524
|
components.forEach(tagName => { switch (tagName) {
|
523
525
|
case "snk-filter-bar":
|
524
526
|
if (!customElements.get(tagName)) {
|
@@ -527,10 +529,20 @@ function defineCustomElement() {
|
|
527
529
|
break;
|
528
530
|
case "snk-expression-group":
|
529
531
|
if (!customElements.get(tagName)) {
|
530
|
-
defineCustomElement$
|
532
|
+
defineCustomElement$a();
|
531
533
|
}
|
532
534
|
break;
|
533
535
|
case "snk-expression-item":
|
536
|
+
if (!customElements.get(tagName)) {
|
537
|
+
defineCustomElement$9();
|
538
|
+
}
|
539
|
+
break;
|
540
|
+
case "snk-filter-advanced-mode":
|
541
|
+
if (!customElements.get(tagName)) {
|
542
|
+
defineCustomElement$8();
|
543
|
+
}
|
544
|
+
break;
|
545
|
+
case "snk-filter-assistent-mode":
|
534
546
|
if (!customElements.get(tagName)) {
|
535
547
|
defineCustomElement$7();
|
536
548
|
}
|
@@ -16,6 +16,9 @@ const SnkFilterParamConfig = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
16
16
|
this._canSave = false;
|
17
17
|
this.messagesBuilder = undefined;
|
18
18
|
}
|
19
|
+
/**
|
20
|
+
* Abre o modal de configuração de valor variável
|
21
|
+
*/
|
19
22
|
open(expressionItem) {
|
20
23
|
this._opened = true;
|
21
24
|
this._expressionItem = expressionItem;
|
@@ -24,6 +27,9 @@ const SnkFilterParamConfig = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
24
27
|
this._promiseResolver = accept;
|
25
28
|
});
|
26
29
|
}
|
30
|
+
/**
|
31
|
+
* Fecha o modal de configuração de valor variável
|
32
|
+
*/
|
27
33
|
close() {
|
28
34
|
this._opened = false;
|
29
35
|
return new Promise(accept => {
|
@@ -7,11 +7,13 @@ import { P as PresentationMode } from './index2.js';
|
|
7
7
|
import { S as SnkMultiSelectionListDataSource, T as TaskbarProcessor } from './SnkMultiSelectionListDataSource.js';
|
8
8
|
import { s as store } from './index3.js';
|
9
9
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
10
|
-
import { d as defineCustomElement$
|
11
|
-
import { d as defineCustomElement$
|
12
|
-
import { d as defineCustomElement$
|
13
|
-
import { d as defineCustomElement$
|
14
|
-
import { d as defineCustomElement$
|
10
|
+
import { d as defineCustomElement$h } from './snk-actions-button2.js';
|
11
|
+
import { d as defineCustomElement$g } from './snk-data-exporter2.js';
|
12
|
+
import { d as defineCustomElement$f } from './snk-exporter-email-sender2.js';
|
13
|
+
import { d as defineCustomElement$e } from './snk-expression-group2.js';
|
14
|
+
import { d as defineCustomElement$d } from './snk-expression-item2.js';
|
15
|
+
import { d as defineCustomElement$c } from './snk-filter-advanced-mode2.js';
|
16
|
+
import { d as defineCustomElement$b } from './snk-filter-assistent-mode2.js';
|
15
17
|
import { d as defineCustomElement$a } from './snk-filter-bar2.js';
|
16
18
|
import { d as defineCustomElement$9 } from './snk-filter-detail2.js';
|
17
19
|
import { d as defineCustomElement$8 } from './snk-filter-field-search2.js';
|
@@ -345,7 +347,7 @@ function defineCustomElement() {
|
|
345
347
|
if (typeof customElements === "undefined") {
|
346
348
|
return;
|
347
349
|
}
|
348
|
-
const components = ["snk-grid", "snk-actions-button", "snk-data-exporter", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-grid-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-taskbar"];
|
350
|
+
const components = ["snk-grid", "snk-actions-button", "snk-data-exporter", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-grid-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-taskbar"];
|
349
351
|
components.forEach(tagName => { switch (tagName) {
|
350
352
|
case "snk-grid":
|
351
353
|
if (!customElements.get(tagName)) {
|
@@ -354,25 +356,35 @@ function defineCustomElement() {
|
|
354
356
|
break;
|
355
357
|
case "snk-actions-button":
|
356
358
|
if (!customElements.get(tagName)) {
|
357
|
-
defineCustomElement$
|
359
|
+
defineCustomElement$h();
|
358
360
|
}
|
359
361
|
break;
|
360
362
|
case "snk-data-exporter":
|
361
363
|
if (!customElements.get(tagName)) {
|
362
|
-
defineCustomElement$
|
364
|
+
defineCustomElement$g();
|
363
365
|
}
|
364
366
|
break;
|
365
367
|
case "snk-exporter-email-sender":
|
366
368
|
if (!customElements.get(tagName)) {
|
367
|
-
defineCustomElement$
|
369
|
+
defineCustomElement$f();
|
368
370
|
}
|
369
371
|
break;
|
370
372
|
case "snk-expression-group":
|
371
373
|
if (!customElements.get(tagName)) {
|
372
|
-
defineCustomElement$
|
374
|
+
defineCustomElement$e();
|
373
375
|
}
|
374
376
|
break;
|
375
377
|
case "snk-expression-item":
|
378
|
+
if (!customElements.get(tagName)) {
|
379
|
+
defineCustomElement$d();
|
380
|
+
}
|
381
|
+
break;
|
382
|
+
case "snk-filter-advanced-mode":
|
383
|
+
if (!customElements.get(tagName)) {
|
384
|
+
defineCustomElement$c();
|
385
|
+
}
|
386
|
+
break;
|
387
|
+
case "snk-filter-assistent-mode":
|
376
388
|
if (!customElements.get(tagName)) {
|
377
389
|
defineCustomElement$b();
|
378
390
|
}
|
@@ -1,16 +1,18 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host } from '@stencil/core/internal/client';
|
2
|
-
import { StringUtils, ObjectUtils, ApplicationContext } from '@sankhyalabs/core';
|
2
|
+
import { StringUtils, ObjectUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
|
3
3
|
import { F as FilterGroupCondition, P as PersonalizedFilterUtils } from './PersonalizedFilterUtils.js';
|
4
4
|
import { P as PersonalizedFilterFetcher, C as ConfigStorage } from './ConfigStorage.js';
|
5
5
|
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
6
6
|
import { s as store } from './index3.js';
|
7
|
-
import { d as defineCustomElement$
|
8
|
-
import { d as defineCustomElement$
|
7
|
+
import { d as defineCustomElement$7 } from './snk-expression-group2.js';
|
8
|
+
import { d as defineCustomElement$6 } from './snk-expression-item2.js';
|
9
|
+
import { d as defineCustomElement$5 } from './snk-filter-advanced-mode2.js';
|
10
|
+
import { d as defineCustomElement$4 } from './snk-filter-assistent-mode2.js';
|
9
11
|
import { d as defineCustomElement$3 } from './snk-filter-field-search2.js';
|
10
12
|
import { d as defineCustomElement$2 } from './snk-filter-param-config2.js';
|
11
13
|
import { d as defineCustomElement$1 } from './snk-simple-bar2.js';
|
12
14
|
|
13
|
-
const snkPersonalizedFilterCss = ".sc-snk-personalized-filter-h{display:flex;height:100%;padding:var(--space--large, 24px);--snk-personalized-filter--width:100%;--snk-personalized-filter--height:100%;--snk-personalized-filter--background-color-line:var(--color--disable-secondary);--snk-personalized-filter--margin-line:var(--border--radius-medium, 12px)}.snk-personalized-filter.sc-snk-personalized-filter{height:var(--snk-personalized-filter--width);width:var(--snk-personalized-filter--height)}.snk-personalized-filter__header-actions.sc-snk-personalized-filter{display:flex;gap:var(--space--medium)}.snk-personalized-filter__group.sc-snk-personalized-filter{flex:1}.snk-personalized-filter__expression-input--line.sc-snk-personalized-filter{width:100%;height:2px;background-color:var(--snk-personalized-filter--background-color-line);margin-top:var(--snk-personalized-filter--margin-line);margin-bottom:var(--snk-personalized-filter--margin-line)}.ez-box__main.sc-snk-personalized-filter{height:90%}";
|
15
|
+
const snkPersonalizedFilterCss = ".sc-snk-personalized-filter-h{display:flex;height:100%;padding:var(--space--large, 24px);--snk-personalized-filter--width:100%;--snk-personalized-filter--height:100%;--snk-personalized-filter--background-color-line:var(--color--disable-secondary);--snk-personalized-filter--margin-line:var(--border--radius-medium, 12px)}.snk-personalized-filter.sc-snk-personalized-filter{height:var(--snk-personalized-filter--width);width:var(--snk-personalized-filter--height)}.snk-personalized-filter__header-actions.sc-snk-personalized-filter{display:flex;gap:var(--space--medium)}.snk-personalized-filter__group.sc-snk-personalized-filter{flex:1}.snk-personalized-filter__expression-input--line.sc-snk-personalized-filter{width:100%;height:2px;background-color:var(--snk-personalized-filter--background-color-line);margin-top:var(--snk-personalized-filter--margin-line);margin-bottom:var(--snk-personalized-filter--margin-line)}.ez-box__main.sc-snk-personalized-filter{height:90%}.snk-personalized-filter__button-mode.sc-snk-personalized-filter{height:35px}";
|
14
16
|
|
15
17
|
const SnkPersonalizedFilter = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
16
18
|
constructor() {
|
@@ -99,6 +101,13 @@ const SnkPersonalizedFilter = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
99
101
|
}
|
100
102
|
this.loadFilter(this.filterId, undefined);
|
101
103
|
}
|
104
|
+
componentDidRender() {
|
105
|
+
var _a;
|
106
|
+
(_a = this._viewStackRef) === null || _a === void 0 ? void 0 : _a.show(this._filterAssistentMode ? 0 : 1);
|
107
|
+
if (this._elButtonMode) {
|
108
|
+
this._elButtonMode.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, ElementIDUtils.getInternalIDInfo(`${this._filterAssistentMode ? "advancedMode_ezButton" : "assistentMode_ezButton"}`));
|
109
|
+
}
|
110
|
+
}
|
102
111
|
getMessage(key, params) {
|
103
112
|
return this._application.messagesBuilder.getMessage(key, params);
|
104
113
|
}
|
@@ -116,26 +125,55 @@ const SnkPersonalizedFilter = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
116
125
|
removeFilter() {
|
117
126
|
ConfigStorage.removePersonalizedFilter(this._filterAssistent, this.configName);
|
118
127
|
}
|
119
|
-
async handleFilterGroupChange() {
|
120
|
-
const assistent = await this._mainExpressionGroup.getExpressionGroup();
|
121
|
-
this._filterAssistent = Object.assign(Object.assign({}, this._filterAssistent), { assistent });
|
122
|
-
this._filterAssistent.parameters = PersonalizedFilterUtils.buildVariableParameters(this._filterAssistent.assistent);
|
123
|
-
this._elTextAreaExpression.value = PersonalizedFilterUtils.buildGroupExpression(this._filterAssistent.assistent, true);
|
124
|
-
this._elButtonSave.enabled = !this.hasChangesToSave();
|
125
|
-
}
|
126
128
|
hasChangesToSave() {
|
127
129
|
return JSON.stringify(this._filterAssistent) === JSON.stringify(this._originalFilterAssistent);
|
128
130
|
}
|
129
|
-
handleSave() {
|
131
|
+
async handleSave() {
|
132
|
+
if (this._filterAssistentMode) {
|
133
|
+
const isValid = PersonalizedFilterUtils.validateFields(this._filterAssistent.assistent);
|
134
|
+
if (!isValid || !this._filterAssistent.name)
|
135
|
+
return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"), this.getMessage("snkPersonalizedFilter.error.description"));
|
136
|
+
this.saveAssistentMode();
|
137
|
+
}
|
138
|
+
else {
|
139
|
+
if (!this._filterAssistent.expression || !this._filterAssistent.name)
|
140
|
+
return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"), this.getMessage("snkPersonalizedFilter.error.description"));
|
141
|
+
const isValidExpressionForAdvancedMode = await this.validateExpressionBeforeSaving();
|
142
|
+
if (!isValidExpressionForAdvancedMode)
|
143
|
+
return;
|
144
|
+
this.saveAdvancedMode();
|
145
|
+
}
|
146
|
+
}
|
147
|
+
saveAssistentMode() {
|
130
148
|
const { assistent, expression } = this._filterAssistent;
|
131
|
-
const isValid = PersonalizedFilterUtils.validateFields(assistent);
|
132
|
-
if (!isValid || !this._filterAssistent.name)
|
133
|
-
return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"), this.getMessage("snkPersonalizedFilter.error.description"));
|
134
149
|
const expressionQuery = !!assistent ? PersonalizedFilterUtils.buildGroupExpression(assistent) : expression;
|
135
150
|
this._filterAssistent.expression = expressionQuery;
|
136
151
|
this.ezSave.emit(expressionQuery);
|
137
152
|
this.saveFilter();
|
138
153
|
}
|
154
|
+
saveAdvancedMode() {
|
155
|
+
if (this._filterAssistent.assistent) {
|
156
|
+
ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmSaveModeAdvanced.title"), this.getMessage("snkPersonalizedFilter.confirmSaveModeAdvanced.description"))
|
157
|
+
.then((confirm) => {
|
158
|
+
if (!confirm)
|
159
|
+
return;
|
160
|
+
this.saveAndTransformToAdvancedMode();
|
161
|
+
});
|
162
|
+
}
|
163
|
+
else {
|
164
|
+
this.saveAndTransformToAdvancedMode();
|
165
|
+
}
|
166
|
+
}
|
167
|
+
saveAndTransformToAdvancedMode() {
|
168
|
+
this._filterAssistent.assistent = undefined;
|
169
|
+
this.ezSave.emit(this._filterAssistent.expression);
|
170
|
+
this.saveFilter();
|
171
|
+
}
|
172
|
+
async validateExpressionBeforeSaving() {
|
173
|
+
const { valid, message } = await this._personalizedFilterFetcher.validatePersonalizedFilter(this.entityUri, this._filterAssistent.expression);
|
174
|
+
valid || this._application.error(this.getMessage("snkPersonalizedFilter.error.title"), message);
|
175
|
+
return valid;
|
176
|
+
}
|
139
177
|
handleCancel() {
|
140
178
|
if (this.hasChangesToSave()) {
|
141
179
|
return this.ezCancel.emit();
|
@@ -169,32 +207,87 @@ const SnkPersonalizedFilter = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
169
207
|
}
|
170
208
|
return resp;
|
171
209
|
}
|
172
|
-
|
210
|
+
handleExpressionChangeAdvancedMode(expression) {
|
173
211
|
this._filterAssistent = Object.assign(Object.assign({}, this._filterAssistent), { expression });
|
174
212
|
this._elButtonSave.enabled = !this.hasChangesToSave();
|
175
213
|
}
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
214
|
+
handleChangeFilterAssistentMode(filterAssistent) {
|
215
|
+
this._elButtonSave.enabled = !this.hasChangesToSave();
|
216
|
+
this._filterAssistent = Object.assign({}, filterAssistent);
|
217
|
+
}
|
218
|
+
selectField(fieldName) {
|
219
|
+
if (!('name' in fieldName))
|
220
|
+
return;
|
221
|
+
const fieldExpression = this.buildExpression(fieldName.entityName, fieldName.name, fieldName.entityPath);
|
222
|
+
const textAreaElement = this._elAdvancedMode.querySelector('ez-text-area');
|
223
|
+
textAreaElement.appendTextToSelection(fieldExpression);
|
224
|
+
}
|
225
|
+
buildExpression(entityName, fieldName, entityPath) {
|
226
|
+
if (entityPath.length > 0) {
|
227
|
+
entityPath.shift();
|
180
228
|
}
|
181
|
-
return
|
229
|
+
return entityPath.length > 0 ? `${entityPath.join("->")}->${fieldName}` : `${entityName}.${fieldName}`;
|
230
|
+
}
|
231
|
+
onAddField(target) {
|
232
|
+
const textAreaElement = this._elAdvancedMode.querySelector('ez-text-area');
|
233
|
+
const options = { horizontalGap: 0, verticalGap: 12, fromRight: true };
|
234
|
+
textAreaElement.setFocus();
|
235
|
+
target.setBlur();
|
236
|
+
if (this._elFilterFieldSearch)
|
237
|
+
this._elFilterFieldSearch.show(target, options);
|
238
|
+
}
|
239
|
+
renderButtonAddField() {
|
240
|
+
if (this._filterAssistentMode)
|
241
|
+
return;
|
242
|
+
return (h(Fragment, null, h("ez-button", { class: "snk-personalized-filter__button-mode", label: this.getMessage("snkPersonalizedFilter.info.addField"), enabled: true, onClick: (evt) => this.onAddField(evt.target) }, h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: "plus" })), h("snk-filter-field-search", { class: "ez-padding-left--medium", ref: ref => this._elFilterFieldSearch = ref, onEzSelectFilterItem: (evt) => this.selectField(evt.detail), fieldsDataSource: this._dataSourceFetcher })));
|
182
243
|
}
|
183
244
|
buildContainerPersonalizedFilter() {
|
184
|
-
|
245
|
+
return (h("ez-view-stack", { ref: (ref) => this._viewStackRef = ref }, h("stack-item", null, this._filterAssistentMode &&
|
246
|
+
h("snk-filter-assistent-mode", { filterAssistent: this._filterAssistent, messagesBuilder: this.messagesBuilder, filterId: this.filterId, entityUri: this.entityUri, application: this._application, onEzChangeFilter: (ev) => this.handleChangeFilterAssistentMode(ev.detail) })), h("stack-item", null, h("snk-filter-advanced-mode", { ref: (ref) => this._elAdvancedMode = ref, filterAssistent: this._filterAssistent, application: this._application, onEzExpressionChange: (ev) => this.handleExpressionChangeAdvancedMode(ev.detail) }))));
|
247
|
+
}
|
248
|
+
handleModeChange() {
|
249
|
+
var _a, _b;
|
185
250
|
if (this._filterAssistentMode) {
|
186
|
-
|
251
|
+
ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmChangeModeAssistent.title"), this.getMessage("snkPersonalizedFilter.confirmChangeModeAssistent.description"))
|
252
|
+
.then((canCancel) => {
|
253
|
+
if (!canCancel)
|
254
|
+
return;
|
255
|
+
this._filterAssistentMode = !this._filterAssistentMode;
|
256
|
+
if (!this.hasChangesToSave()) {
|
257
|
+
const expression = PersonalizedFilterUtils.buildGroupExpression(this._filterAssistent.assistent);
|
258
|
+
this._filterAssistent.expression = expression;
|
259
|
+
this._elButtonSave.enabled = !this.hasChangesToSave();
|
260
|
+
}
|
261
|
+
});
|
187
262
|
}
|
188
263
|
else {
|
189
|
-
|
264
|
+
if (((_a = this._filterAssistent) === null || _a === void 0 ? void 0 : _a.expression) === ((_b = this._originalFilterAssistent) === null || _b === void 0 ? void 0 : _b.expression)) {
|
265
|
+
this._filterAssistentMode = !this._filterAssistentMode;
|
266
|
+
}
|
267
|
+
else {
|
268
|
+
const expressionBefore = this._filterAssistent.expression;
|
269
|
+
const expression = PersonalizedFilterUtils.buildGroupExpression(this._filterAssistent.assistent);
|
270
|
+
if (expressionBefore !== expression) {
|
271
|
+
ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmChangeModeAdvanced.title"), this.getMessage("snkPersonalizedFilter.confirmChangeModeAdvanced.description"))
|
272
|
+
.then((canCancel) => {
|
273
|
+
if (!canCancel)
|
274
|
+
return;
|
275
|
+
this._filterAssistent = Object.assign(Object.assign({}, this._filterAssistent), { expression });
|
276
|
+
this._filterAssistentMode = !this._filterAssistentMode;
|
277
|
+
});
|
278
|
+
}
|
279
|
+
else {
|
280
|
+
this._filterAssistentMode = !this._filterAssistentMode;
|
281
|
+
}
|
282
|
+
}
|
190
283
|
}
|
191
284
|
}
|
192
285
|
render() {
|
193
|
-
var _a, _b;
|
286
|
+
var _a, _b, _c, _d;
|
194
287
|
if (!((_a = this._filterAssistent) === null || _a === void 0 ? void 0 : _a.assistent) && this._filterAssistentMode) {
|
195
288
|
return;
|
196
289
|
}
|
197
|
-
return (h(Host, null, h("div", { class: "snk-personalized-filter" }, h("div", null, h("snk-simple-bar", { label: this.filterId ? this.getMessage("snkPersonalizedFilter.info.titleEdit") : this.getMessage("snkPersonalizedFilter.info.titleAdd"), onExit: () => this.handleCancel() }, h("div", { class: "snk-personalized-filter__header-actions", slot: "rightSlot" }, h("ez-button", { size: "small", label: this.getMessage("snkPersonalizedFilter.info.labelCancel"), onClick: () => this.handleCancel() }), h("ez-button", { size: "small", ref: (el) => this._elButtonSave = el, enabled: false, class: "ez-button--primary", label: this.getMessage("snkPersonalizedFilter.info.labelSave"), onClick: this.handleSave.bind(this) })))), h("div", { class: "ez-box ez-margin-bottom--medium ez-box__main" }, h("div", { class: "ez-box__container" }, h("div", { class: "ez-flex ez-flex--column ez-size-width--full" }, h("div", { class: "ez-flex" }, h("ez-text-input", { class: "ez-padding-right--medium", label: this.getMessage("snkPersonalizedFilter.info.labelNameFilter"), value: (_b = this._filterAssistent) === null || _b === void 0 ? void 0 : _b.name, onEzChange: (evt) => this.handleTitleChange(evt.detail) })), this.buildContainerPersonalizedFilter()))))));
|
290
|
+
return (h(Host, null, h("div", { class: "snk-personalized-filter" }, h("div", null, h("snk-simple-bar", { label: this.filterId ? this.getMessage("snkPersonalizedFilter.info.titleEdit") : this.getMessage("snkPersonalizedFilter.info.titleAdd"), onExit: () => this.handleCancel() }, h("div", { class: "snk-personalized-filter__header-actions", slot: "rightSlot" }, h("ez-button", { size: "small", label: this.getMessage("snkPersonalizedFilter.info.labelCancel"), onClick: () => this.handleCancel() }), h("ez-button", { size: "small", ref: (el) => this._elButtonSave = el, enabled: false, class: "ez-button--primary", label: this.getMessage("snkPersonalizedFilter.info.labelSave"), onClick: this.handleSave.bind(this) })))), h("div", { class: "ez-box ez-margin-bottom--medium ez-box__main" }, h("div", { class: "ez-box__container" }, h("div", { class: "ez-flex ez-flex--column ez-size-width--full" }, h("div", { class: "ez-flex" }, h("ez-text-input", { class: "ez-padding-right--medium", label: this.getMessage("snkPersonalizedFilter.info.labelNameFilter"), value: (_b = this._filterAssistent) === null || _b === void 0 ? void 0 : _b.name, onEzChange: (evt) => this.handleTitleChange(evt.detail) }), this.renderButtonAddField(), h("ez-button", { ref: (el) => this._elButtonMode = el, class: "snk-personalized-filter__button-mode", label: this._filterAssistentMode ? this.getMessage("snkPersonalizedFilter.info.activeModeAdvanced") : this.getMessage("snkPersonalizedFilter.info.activeModeAssistent"), onClick: () => this.handleModeChange(), "data-tooltip": !(this._filterAssistentMode || ((_c = this._filterAssistent) === null || _c === void 0 ? void 0 : _c.assistent)) ? this.getMessage("snkPersonalizedFilter.info.tooltipDisabledAssistentMode") : undefined, "data-flow": "bottom", enabled: (!this._filterAssistent.name || Boolean(this._filterAssistentMode || ((_d = this._filterAssistent) === null || _d === void 0 ? void 0 : _d.assistent))) })), this.buildContainerPersonalizedFilter()))))));
|
198
291
|
}
|
199
292
|
static get watchers() { return {
|
200
293
|
"filterId": ["loadFilter"]
|
@@ -213,7 +306,7 @@ function defineCustomElement() {
|
|
213
306
|
if (typeof customElements === "undefined") {
|
214
307
|
return;
|
215
308
|
}
|
216
|
-
const components = ["snk-personalized-filter", "snk-expression-group", "snk-expression-item", "snk-filter-field-search", "snk-filter-param-config", "snk-simple-bar"];
|
309
|
+
const components = ["snk-personalized-filter", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-field-search", "snk-filter-param-config", "snk-simple-bar"];
|
217
310
|
components.forEach(tagName => { switch (tagName) {
|
218
311
|
case "snk-personalized-filter":
|
219
312
|
if (!customElements.get(tagName)) {
|
@@ -222,10 +315,20 @@ function defineCustomElement() {
|
|
222
315
|
break;
|
223
316
|
case "snk-expression-group":
|
224
317
|
if (!customElements.get(tagName)) {
|
225
|
-
defineCustomElement$
|
318
|
+
defineCustomElement$7();
|
226
319
|
}
|
227
320
|
break;
|
228
321
|
case "snk-expression-item":
|
322
|
+
if (!customElements.get(tagName)) {
|
323
|
+
defineCustomElement$6();
|
324
|
+
}
|
325
|
+
break;
|
326
|
+
case "snk-filter-advanced-mode":
|
327
|
+
if (!customElements.get(tagName)) {
|
328
|
+
defineCustomElement$5();
|
329
|
+
}
|
330
|
+
break;
|
331
|
+
case "snk-filter-assistent-mode":
|
229
332
|
if (!customElements.get(tagName)) {
|
230
333
|
defineCustomElement$4();
|
231
334
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ApplicationContext } from '@sankhyalabs/core';
|
2
2
|
import { F as FormConfigFetcher } from './form-config-fetcher-533b895e.js';
|
3
3
|
import { R as ResourceFetcher } from './resource-fetcher-0f20a072.js';
|
4
|
-
import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-
|
4
|
+
import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-790283d8.js';
|
5
5
|
import { d as dist, D as DataFetcher } from './DataFetcher-fddeb917.js';
|
6
6
|
|
7
7
|
class GridConfigFetcher extends ResourceFetcher {
|
@@ -93,24 +93,6 @@ class PersonalizedFilterFetcher {
|
|
93
93
|
active
|
94
94
|
expression
|
95
95
|
warningMessage
|
96
|
-
parameters {
|
97
|
-
entityName
|
98
|
-
fieldName
|
99
|
-
dataType
|
100
|
-
description
|
101
|
-
userInterface
|
102
|
-
label
|
103
|
-
searchContext {
|
104
|
-
entity
|
105
|
-
entityDescription
|
106
|
-
searchOptions {
|
107
|
-
rootEntity
|
108
|
-
descriptionFieldName
|
109
|
-
codeFieldName
|
110
|
-
showInactives
|
111
|
-
}
|
112
|
-
}
|
113
|
-
}
|
114
96
|
assistent
|
115
97
|
}
|
116
98
|
}`);
|
@@ -128,6 +110,13 @@ class PersonalizedFilterFetcher {
|
|
128
110
|
name
|
129
111
|
}
|
130
112
|
}`);
|
113
|
+
this.templateByQuery.set("validateExpression", dist.gql `
|
114
|
+
query($dataUnitName: String!, $expression: String!) {
|
115
|
+
$queryAlias$: validateExpression(dataUnitName: $dataUnitName, expression: $expression) {
|
116
|
+
valid
|
117
|
+
message
|
118
|
+
}
|
119
|
+
}`);
|
131
120
|
}
|
132
121
|
async loadPersonalizedFilter(resourceID, filterID, configName) {
|
133
122
|
return new Promise((resolve, reject) => {
|
@@ -177,6 +166,21 @@ class PersonalizedFilterFetcher {
|
|
177
166
|
});
|
178
167
|
});
|
179
168
|
}
|
169
|
+
async validatePersonalizedFilter(dataUnitName, expression) {
|
170
|
+
return new Promise((resolve, reject) => {
|
171
|
+
DataFetcher.get()
|
172
|
+
.callGraphQL({
|
173
|
+
values: { dataUnitName: dataUnitName, expression: expression },
|
174
|
+
query: this.templateByQuery.get("validateExpression"),
|
175
|
+
})
|
176
|
+
.then((resp) => {
|
177
|
+
resolve(resp);
|
178
|
+
})
|
179
|
+
.catch((error) => {
|
180
|
+
reject(error);
|
181
|
+
});
|
182
|
+
});
|
183
|
+
}
|
180
184
|
loadFields(uri) {
|
181
185
|
return new Promise((resolve, reject) => {
|
182
186
|
DataFetcher.get()
|
@@ -222,17 +226,16 @@ class ConfigStorage {
|
|
222
226
|
const resourceID = await application.getResourceID();
|
223
227
|
ConfigStorage.instance = new ConfigStorage();
|
224
228
|
ConfigStorage.resourceID = resourceID;
|
225
|
-
ConfigStorage.instance.loadFilterBarConfig(configName);
|
226
229
|
ConfigStorage.instance.loadFormConfig(configName);
|
227
230
|
ConfigStorage.instance.loadGridConfig(configName);
|
228
231
|
}
|
229
232
|
}
|
230
233
|
return this.instance;
|
231
234
|
}
|
232
|
-
async loadFilterBarConfig(name) {
|
235
|
+
async loadFilterBarConfig(name, urlParams) {
|
233
236
|
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar);
|
234
237
|
if (!ConfigStorage.configById.has(cacheID)) {
|
235
|
-
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(ConfigStorage.resourceID, name));
|
238
|
+
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(ConfigStorage.resourceID, name, urlParams));
|
236
239
|
}
|
237
240
|
return ConfigStorage.configById.get(cacheID);
|
238
241
|
}
|
@@ -284,6 +287,9 @@ class ConfigStorage {
|
|
284
287
|
static async removePersonalizedFilter(personalizedFilter, configName) {
|
285
288
|
return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, this.resourceID, configName);
|
286
289
|
}
|
290
|
+
static async validatePersonalizedFilter(dataUnitName, expression) {
|
291
|
+
return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
|
292
|
+
}
|
287
293
|
static buildCacheID(name, source) {
|
288
294
|
if (name == undefined) {
|
289
295
|
return `req_${source}_${this.resourceID}`;
|