@sankhyalabs/sankhyablocks 8.15.0-dev.3 → 8.15.0-dev.4
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-0d507a8f.js → ConfigStorage-8009ecb2.js} +1 -1
- package/dist/cjs/{SnkFormConfigManager-467907f6.js → SnkFormConfigManager-7d850fbc.js} +1 -1
- package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_2.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +62 -2
- package/dist/cjs/snk-attach.cjs.entry.js +2 -2
- package/dist/cjs/snk-crud.cjs.entry.js +2 -2
- package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
- package/dist/cjs/snk-filter-bar.cjs.entry.js +28 -3
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -2
- package/dist/cjs/snk-filter-modal.cjs.entry.js +14 -0
- package/dist/cjs/snk-form.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +41 -18
- package/dist/cjs/{snk-guides-viewer-7e87ffce.js → snk-guides-viewer-7f9b6d94.js} +3 -3
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +5 -5
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -2
- package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
- package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
- package/dist/cjs/{taskbar-elements-b8c428a9.js → taskbar-elements-01b85b99.js} +1 -1
- package/dist/collection/components/snk-application/snk-application.js +68 -5
- package/dist/collection/components/snk-crud/snk-crud.js +1 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +65 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +0 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +57 -1
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
- package/dist/collection/components/snk-grid/snk-grid.js +39 -16
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -1
- package/dist/collection/lib/@types/index.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +1 -1
- package/dist/components/ConfigStorage.js +1 -1
- package/dist/components/index2.js +1 -0
- package/dist/components/snk-application2.js +62 -2
- package/dist/components/snk-filter-bar2.js +29 -3
- package/dist/components/snk-filter-modal-item2.js +0 -1
- package/dist/components/snk-filter-modal.js +18 -2
- package/dist/components/snk-grid2.js +38 -15
- package/dist/components/snk-personalized-filter2.js +1 -1
- package/dist/esm/{ConfigStorage-379a9cba.js → ConfigStorage-1244b8b0.js} +1 -1
- package/dist/esm/{SnkFormConfigManager-587e9030.js → SnkFormConfigManager-9be0e7d4.js} +1 -1
- package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_2.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +63 -3
- package/dist/esm/snk-attach.entry.js +2 -2
- package/dist/esm/snk-crud.entry.js +2 -2
- package/dist/esm/snk-data-exporter.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +5 -5
- package/dist/esm/snk-filter-bar.entry.js +28 -3
- package/dist/esm/snk-filter-modal-item.entry.js +1 -2
- package/dist/esm/snk-filter-modal.entry.js +14 -0
- package/dist/esm/snk-form.entry.js +2 -2
- package/dist/esm/snk-grid-config.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +41 -18
- package/dist/esm/{snk-guides-viewer-2134aba2.js → snk-guides-viewer-9d5e073f.js} +3 -3
- package/dist/esm/snk-guides-viewer.entry.js +5 -5
- package/dist/esm/snk-personalized-filter.entry.js +2 -2
- package/dist/esm/snk-simple-crud.entry.js +2 -2
- package/dist/esm/snk-taskbar.entry.js +2 -2
- package/dist/esm/{taskbar-elements-26c981af.js → taskbar-elements-d4d0b424.js} +1 -1
- package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-0874adb5.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a49b1019.entry.js → p-0d084a0f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-aaa1438e.entry.js → p-11081798.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a7923832.entry.js → p-143425c0.entry.js} +1 -1
- package/dist/sankhyablocks/p-3520c088.entry.js +1 -0
- package/dist/sankhyablocks/p-374d03f6.js +1 -0
- package/dist/sankhyablocks/p-38289a55.js +1 -0
- package/dist/sankhyablocks/{p-7915c452.entry.js → p-4b0938f6.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4396d1a6.js → p-585294ee.js} +1 -1
- package/dist/sankhyablocks/{p-953346b9.entry.js → p-69efa80d.entry.js} +1 -1
- package/dist/sankhyablocks/{p-2028633c.js → p-776ee8e3.js} +1 -1
- package/dist/sankhyablocks/p-7f9d6b5d.entry.js +11 -0
- package/dist/sankhyablocks/p-809f367d.entry.js +1 -0
- package/dist/sankhyablocks/{p-b52c2175.js → p-8437508f.js} +1 -1
- package/dist/sankhyablocks/{p-ca8e7da0.entry.js → p-a87229cd.entry.js} +1 -1
- package/dist/sankhyablocks/p-a9e5b094.entry.js +1 -0
- package/dist/sankhyablocks/{p-0cd2e986.entry.js → p-d1007720.entry.js} +1 -1
- package/dist/sankhyablocks/{p-58218eb7.entry.js → p-e3132789.entry.js} +1 -1
- package/dist/sankhyablocks/p-f2056f66.entry.js +1 -0
- package/dist/sankhyablocks/p-f514913b.entry.js +1 -0
- package/dist/sankhyablocks/{p-729f5f5b.entry.js → p-fd8814b9.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +5 -2
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +14 -1
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +11 -0
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +5 -1
- package/dist/types/components/snk-grid/snk-grid.d.ts +1 -0
- package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +1 -0
- package/dist/types/components.d.ts +34 -11
- package/dist/types/lib/@types/index.d.ts +2 -1
- package/package.json +3 -3
- package/dist/sankhyablocks/p-145c4434.js +0 -1
- package/dist/sankhyablocks/p-4b0ea83f.entry.js +0 -1
- package/dist/sankhyablocks/p-5534e08c.js +0 -1
- package/dist/sankhyablocks/p-78777ae0.entry.js +0 -1
- package/dist/sankhyablocks/p-a037f5b4.entry.js +0 -1
- package/dist/sankhyablocks/p-bf9b7149.entry.js +0 -11
- package/dist/sankhyablocks/p-c259545b.entry.js +0 -1
- package/dist/sankhyablocks/p-d1677df0.entry.js +0 -1
@@ -14,14 +14,21 @@ export class SnkGrid {
|
|
14
14
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
15
15
|
"snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
16
16
|
"snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
17
|
+
"snkGridTopTaskbar.regular.singleTaskbar": [],
|
17
18
|
"snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"],
|
18
|
-
"snkGridTopTaskbar.finish_edition.secondary": []
|
19
|
+
"snkGridTopTaskbar.finish_edition.secondary": [],
|
20
|
+
"snkGridTopTaskbar.finish_edition.singleTaskbar": [],
|
19
21
|
});
|
20
22
|
this._headerTaskbarProcessor = new TaskbarProcessor({
|
21
23
|
"snkGridHeaderTaskbar.unselected": ["REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
|
22
24
|
"snkGridHeaderTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
|
23
25
|
"snkGridHeaderTaskbar.detail.unselected": ["REFRESH", "MORE_OPTIONS"],
|
24
|
-
"snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"]
|
26
|
+
"snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"],
|
27
|
+
"snkGridHeaderTaskbar.singleTaskbar.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
|
28
|
+
"snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
|
29
|
+
"snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
|
30
|
+
"snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
|
31
|
+
"snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"]
|
25
32
|
});
|
26
33
|
this._dataUnit = undefined;
|
27
34
|
this._dataState = undefined;
|
@@ -302,30 +309,46 @@ export class SnkGrid {
|
|
302
309
|
return invisibleButtons;
|
303
310
|
}
|
304
311
|
componentWillRender() {
|
305
|
-
var _a;
|
306
312
|
const invisibleButtons = this.getInvisibleButtons();
|
307
|
-
|
308
|
-
let headerTaskbarId;
|
309
|
-
if (hasSelectedRecord) {
|
310
|
-
headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.selected" : "snkGridHeaderTaskbar.selected";
|
311
|
-
}
|
312
|
-
else {
|
313
|
-
headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.unselected" : "snkGridHeaderTaskbar.unselected";
|
314
|
-
}
|
315
|
-
this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
|
313
|
+
this._headerTaskbarProcessor.process(this.getHeaderTaskbarId(), this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
|
316
314
|
this._topTaskbarProcessor.process(this.getTopTaskBarId(), this.taskbarManager, this._dataState, undefined, invisibleButtons);
|
317
315
|
this.dataExporterProviderStore();
|
318
316
|
}
|
317
|
+
getHeaderTaskbarId() {
|
318
|
+
var _a, _b;
|
319
|
+
const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
|
320
|
+
const taskbarIdPrefixLookup = {
|
321
|
+
primary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
|
322
|
+
secondary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
|
323
|
+
singleTaskbar: this.isDetail ? "snkGridHeaderTaskbar.singleTaskbar.detail" : "snkGridHeaderTaskbar.singleTaskbar"
|
324
|
+
};
|
325
|
+
const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
|
326
|
+
let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
|
327
|
+
if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === PresentationMode.SINGLE_TASKBAR) {
|
328
|
+
headerTaskbarId = "snkGridHeaderTaskbar.singleTaskbar.finish_edition";
|
329
|
+
}
|
330
|
+
return headerTaskbarId;
|
331
|
+
}
|
319
332
|
getTopTaskBarId() {
|
320
333
|
var _a;
|
321
|
-
const
|
334
|
+
const suffixLookup = {
|
335
|
+
primary: "",
|
336
|
+
secondary: ".secondary",
|
337
|
+
singleTaskbar: ".singleTaskbar"
|
338
|
+
};
|
339
|
+
const sufix = suffixLookup[this.presentationMode];
|
322
340
|
if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
323
341
|
return `snkGridTopTaskbar.finish_edition${sufix}`;
|
324
342
|
}
|
325
343
|
return `snkGridTopTaskbar.regular${sufix}`;
|
326
344
|
}
|
327
345
|
getPrimaryButton() {
|
328
|
-
|
346
|
+
const primaryButtonLookup = {
|
347
|
+
primary: "INSERT",
|
348
|
+
secondary: "",
|
349
|
+
singleTaskbar: "INSERT"
|
350
|
+
};
|
351
|
+
return primaryButtonLookup[this.presentationMode];
|
329
352
|
}
|
330
353
|
getColumnSearch(actionButton, item) {
|
331
354
|
if (this._columnSearch != undefined) {
|
@@ -376,7 +399,7 @@ export class SnkGrid {
|
|
376
399
|
return undefined;
|
377
400
|
}
|
378
401
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
|
379
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail) }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
402
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail) }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
380
403
|
}
|
381
404
|
static get is() { return "snk-grid"; }
|
382
405
|
static get encapsulation() { return "scoped"; }
|
@@ -573,7 +596,7 @@ export class SnkGrid {
|
|
573
596
|
"mutable": false,
|
574
597
|
"complexType": {
|
575
598
|
"original": "PresentationMode",
|
576
|
-
"resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY",
|
599
|
+
"resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
|
577
600
|
"references": {
|
578
601
|
"PresentationMode": {
|
579
602
|
"location": "import",
|
@@ -190,7 +190,7 @@ export class SnkPersonalizedFilter {
|
|
190
190
|
return personalizedFilter;
|
191
191
|
}
|
192
192
|
addFilterGroupCondition(personalizedFilter) {
|
193
|
-
if (!personalizedFilter.assistent.operand) {
|
193
|
+
if (personalizedFilter.assistent && !personalizedFilter.assistent.operand) {
|
194
194
|
personalizedFilter.assistent.operand = FilterGroupCondition.AND;
|
195
195
|
}
|
196
196
|
}
|
@@ -472,7 +472,7 @@ export class SnkTaskbar {
|
|
472
472
|
"mutable": true,
|
473
473
|
"complexType": {
|
474
474
|
"original": "PresentationMode",
|
475
|
-
"resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY",
|
475
|
+
"resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
|
476
476
|
"references": {
|
477
477
|
"PresentationMode": {
|
478
478
|
"location": "import",
|
@@ -2,6 +2,7 @@ export var PresentationMode;
|
|
2
2
|
(function (PresentationMode) {
|
3
3
|
PresentationMode["PRIMARY"] = "primary";
|
4
4
|
PresentationMode["SECONDARY"] = "secondary";
|
5
|
+
PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
|
5
6
|
})(PresentationMode || (PresentationMode = {}));
|
6
7
|
export var DataExporterOption;
|
7
8
|
(function (DataExporterOption) {
|
@@ -107,7 +107,7 @@ export default class FilterBarConfigFetcher extends ResourceFetcher {
|
|
107
107
|
multilistValueArray = Array.isArray(multilistValueArray) ? multilistValueArray : [multilistValueArray];
|
108
108
|
// Existem cenários onde o HTML5 não salva o Id do filtro, apenas seu label e value
|
109
109
|
multilistValueArray = multilistValueArray.map(itemRaw => {
|
110
|
-
return Object.assign(Object.assign({}, itemRaw), { id: itemRaw.id ? itemRaw.id : itemRaw.value });
|
110
|
+
return Object.assign(Object.assign({}, itemRaw), { id: (itemRaw.id !== undefined) ? itemRaw.id : itemRaw.value });
|
111
111
|
});
|
112
112
|
item.value = ObjectUtils.copy(multilistValueArray);
|
113
113
|
}
|
@@ -108,7 +108,7 @@ class FilterBarConfigFetcher extends ResourceFetcher {
|
|
108
108
|
multilistValueArray = Array.isArray(multilistValueArray) ? multilistValueArray : [multilistValueArray];
|
109
109
|
// Existem cenários onde o HTML5 não salva o Id do filtro, apenas seu label e value
|
110
110
|
multilistValueArray = multilistValueArray.map(itemRaw => {
|
111
|
-
return Object.assign(Object.assign({}, itemRaw), { id: itemRaw.id ? itemRaw.id : itemRaw.value });
|
111
|
+
return Object.assign(Object.assign({}, itemRaw), { id: (itemRaw.id !== undefined) ? itemRaw.id : itemRaw.value });
|
112
112
|
});
|
113
113
|
item.value = ObjectUtils.copy(multilistValueArray);
|
114
114
|
}
|
@@ -2,6 +2,7 @@ var PresentationMode;
|
|
2
2
|
(function (PresentationMode) {
|
3
3
|
PresentationMode["PRIMARY"] = "primary";
|
4
4
|
PresentationMode["SECONDARY"] = "secondary";
|
5
|
+
PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
|
5
6
|
})(PresentationMode || (PresentationMode = {}));
|
6
7
|
var DataExporterOption;
|
7
8
|
(function (DataExporterOption) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
2
|
-
import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, WarningException, ErrorException, KeyboardManager, OnboardingUtils, DependencyType, ElementIDUtils, ApplicationContext, DataType, ErrorTracking } from '@sankhyalabs/core';
|
2
|
+
import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, WarningException, ErrorException, KeyboardManager, OnboardingUtils, DependencyType, ArrayUtils, SearchUtils, ElementIDUtils, ApplicationContext, DataType, ErrorTracking } from '@sankhyalabs/core';
|
3
3
|
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
4
4
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
5
5
|
import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher.js';
|
@@ -818,11 +818,53 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
818
818
|
return this.executePreparedSearch(mode, argument, { entity: ENTITYNAME, entityDescription: DESCRIPTIONENTITY, criteria, searchOptions });
|
819
819
|
}
|
820
820
|
}
|
821
|
+
filterInvalidFields(resp, item, mdByName) {
|
822
|
+
let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
|
823
|
+
let accept = !StringUtils.isEmpty(item[field.fieldName]) &&
|
824
|
+
field.visible !== false &&
|
825
|
+
field.type !== 'B' &&
|
826
|
+
resp.pkField !== field.fieldName &&
|
827
|
+
resp.descriptionField !== field.fieldName &&
|
828
|
+
(field.isPrimaryKey || !field.isLinkField) &&
|
829
|
+
!(field.type === 'S' && field.presentationType === 'H');
|
830
|
+
if (accept) {
|
831
|
+
mdByName[field.fieldName] = field;
|
832
|
+
}
|
833
|
+
//Condição que trata o problema de trazer imagem no entityCard na pesquisa de registros
|
834
|
+
if (typeof item[field.fieldName] === 'string' && (item[field.fieldName].indexOf('<img') > -1 || item[field.fieldName].indexOf('<svg') > -1)) {
|
835
|
+
return false;
|
836
|
+
}
|
837
|
+
return accept;
|
838
|
+
});
|
839
|
+
return fieldsMetadata;
|
840
|
+
}
|
841
|
+
filterMathFields(matchFields, fields, qtyFields, mdByName) {
|
842
|
+
if (matchFields && Array.isArray(matchFields)) {
|
843
|
+
matchFields.forEach((matchField) => {
|
844
|
+
let fieldMD = ArrayUtils.removeReference(fields, mdByName[matchField]);
|
845
|
+
if (fieldMD) {
|
846
|
+
fields.unshift(fieldMD);
|
847
|
+
}
|
848
|
+
});
|
849
|
+
}
|
850
|
+
fields = fields.slice(0, qtyFields);
|
851
|
+
return fields;
|
852
|
+
}
|
853
|
+
builOptionItem(argument, item, fields, descriptionField, pkField) {
|
854
|
+
var _a;
|
855
|
+
let exibitionItem = {
|
856
|
+
value: StringUtils.highlightValue(argument, item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
|
857
|
+
label: descriptionField ? StringUtils.highlightValue(argument, item['__matchFields'], item[descriptionField], fields, true) : "",
|
858
|
+
details: SearchUtils.buildDetails(argument, fields, item)
|
859
|
+
};
|
860
|
+
return exibitionItem;
|
861
|
+
}
|
821
862
|
/**
|
822
863
|
* Obtém as opções em componentes de pesquisa
|
823
864
|
* Ex.: snk-config-options
|
824
865
|
*/
|
825
866
|
async executePreparedSearch(mode, argument, options) {
|
867
|
+
const mdByName = {};
|
826
868
|
const { entity, entityDescription, criteria, searchOptions } = options;
|
827
869
|
if (mode === "ADVANCED") {
|
828
870
|
return new Promise(accept => {
|
@@ -840,7 +882,25 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
840
882
|
});
|
841
883
|
}
|
842
884
|
else {
|
843
|
-
return
|
885
|
+
return new Promise((resolve, reject) => {
|
886
|
+
this.pesquisaFetcher.loadAdvancedSearch(entity, argument, criteria, searchOptions)
|
887
|
+
.then(result => {
|
888
|
+
result = ObjectUtils.stringToObject(result.json.$);
|
889
|
+
let descriptionField = result.descriptionField;
|
890
|
+
let pkField = result.pkField;
|
891
|
+
const list = [];
|
892
|
+
result.data.forEach((item) => {
|
893
|
+
let fieldsMetadata = this.filterInvalidFields(result, item, mdByName);
|
894
|
+
let qtyFields = 6;
|
895
|
+
let fields = this.filterMathFields(item['__matchFields'], fieldsMetadata, qtyFields, mdByName);
|
896
|
+
list.push(this.builOptionItem(argument, item, fields, descriptionField, pkField));
|
897
|
+
});
|
898
|
+
resolve(list);
|
899
|
+
})
|
900
|
+
.catch(error => {
|
901
|
+
reject(error);
|
902
|
+
});
|
903
|
+
});
|
844
904
|
}
|
845
905
|
}
|
846
906
|
/**
|
@@ -209,13 +209,14 @@ function buildPersonalized(item) {
|
|
209
209
|
}
|
210
210
|
|
211
211
|
class SnkFilterModalFactory {
|
212
|
-
constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter }) {
|
212
|
+
constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
|
213
213
|
this._filterConfig = filterConfig;
|
214
214
|
this._configName = configName;
|
215
215
|
this._onComplete = onComplete;
|
216
216
|
this._getMessage = getMessage;
|
217
217
|
this._addPersonalizedFilterFn = onAddPersonalizedFilter;
|
218
218
|
this._editPersonalizedFilterFn = onEditPersonalizedFilter;
|
219
|
+
this._onDeletePersonalizedFilter = onDeletePersonalizedFilter;
|
219
220
|
}
|
220
221
|
applyFilters(newFilterConfig) {
|
221
222
|
this._onComplete(newFilterConfig);
|
@@ -231,6 +232,7 @@ class SnkFilterModalFactory {
|
|
231
232
|
filterModal.closeModal = () => this._closeModal();
|
232
233
|
filterModal.addPersonalizedFilter = () => this._addPersonalizedFilterFn();
|
233
234
|
filterModal.editPersonalizedFilter = (id) => this._editPersonalizedFilterFn(id);
|
235
|
+
filterModal.deletePersonalizedFilter = (filter, configName) => this._onDeletePersonalizedFilter(filter, configName);
|
234
236
|
return filterModal;
|
235
237
|
}
|
236
238
|
async showModal() {
|
@@ -362,6 +364,23 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
362
364
|
this.updateFilter(filterItem);
|
363
365
|
return Promise.resolve();
|
364
366
|
}
|
367
|
+
/**
|
368
|
+
* Remove um item de filtro.
|
369
|
+
*
|
370
|
+
* @param filterID - ID do a ser adicionado
|
371
|
+
*
|
372
|
+
* @returns {Promise<SnkFilterItemConfig|undefined>} - Retorna o item de filtro removido, ou undefined caso não encontrado.
|
373
|
+
*/
|
374
|
+
async removeFilterItem(filterID) {
|
375
|
+
const itemIndex = this.filterConfig.findIndex(item => item.id === filterID);
|
376
|
+
if (itemIndex == -1) {
|
377
|
+
console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado");
|
378
|
+
return Promise.resolve(undefined);
|
379
|
+
}
|
380
|
+
const itemToRemove = this.filterConfig[itemIndex];
|
381
|
+
this.filterConfig = this.filterConfig.filter(item => item.id !== filterID);
|
382
|
+
return Promise.resolve(itemToRemove);
|
383
|
+
}
|
365
384
|
componentDidLoad() {
|
366
385
|
if (this._element) {
|
367
386
|
const dataInfo = { dataUnit: this.dataUnit };
|
@@ -569,7 +588,8 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
569
588
|
onComplete: callbackOnApplyFilter,
|
570
589
|
getMessage: (key, props) => this.getMessage(key, props),
|
571
590
|
onAddPersonalizedFilter: () => this.addPersonalizedFilter(),
|
572
|
-
onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id)
|
591
|
+
onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id),
|
592
|
+
onDeletePersonalizedFilter: (filter, configName) => this.deletePersonalizedFilter(filter, FilterItemType.PERSONALIZED, configName),
|
573
593
|
};
|
574
594
|
this._filterModalFactory = new SnkFilterModalFactory(factoryParams);
|
575
595
|
await this._filterModalFactory.showModal();
|
@@ -587,6 +607,11 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
587
607
|
this.showPersonalizedFilter = true;
|
588
608
|
this.personalizedFilterId = id;
|
589
609
|
}
|
610
|
+
deletePersonalizedFilter(filter, filterItemType, configName) {
|
611
|
+
if (filterItemType === FilterItemType.PERSONALIZED) {
|
612
|
+
ConfigStorage.removePersonalizedFilter(filter, this.resourceID, configName);
|
613
|
+
}
|
614
|
+
}
|
590
615
|
handleHidePersonalizedFilter(reloadFilterBar) {
|
591
616
|
if (reloadFilterBar) {
|
592
617
|
this.loadConfigFromStorage().then(() => {
|
@@ -639,7 +664,8 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
639
664
|
"reload": [64],
|
640
665
|
"getFilterItem": [64],
|
641
666
|
"updateFilterItem": [64],
|
642
|
-
"addFilterItem": [64]
|
667
|
+
"addFilterItem": [64],
|
668
|
+
"removeFilterItem": [64]
|
643
669
|
}, [[0, "filterChange", "filterChangeListener"]]]);
|
644
670
|
function defineCustomElement() {
|
645
671
|
if (typeof customElements === "undefined") {
|
@@ -56,7 +56,6 @@ const SnkFilterModalItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
|
|
56
56
|
buildSnkFilterPersonalizedProps() {
|
57
57
|
return {
|
58
58
|
tag: "snk-personalized-filter-editor", props: {
|
59
|
-
onDeleteFilter: (event) => this.handleDeleteFilter(event.detail, FilterItemType.PERSONALIZED),
|
60
59
|
onEditFilter: (event) => this.editPersonalizedFilter.emit(event.detail),
|
61
60
|
onAddFilter: () => this.addPersonalizedFilter.emit(),
|
62
61
|
}
|
@@ -20,6 +20,14 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
20
20
|
this.closeModal = undefined;
|
21
21
|
this.addPersonalizedFilter = undefined;
|
22
22
|
this.editPersonalizedFilter = undefined;
|
23
|
+
this.deletePersonalizedFilter = undefined;
|
24
|
+
this.filtersToDelete = [];
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* Emitido quando um filtro personalizado é deletado.
|
28
|
+
*/
|
29
|
+
deletePersonalizedFilterListener(event) {
|
30
|
+
this.filtersToDelete.push(event.detail);
|
23
31
|
}
|
24
32
|
getCustomMessage(key, params) {
|
25
33
|
var _a;
|
@@ -87,6 +95,12 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
87
95
|
if (this.isValidCustomFilter(filterPersonalized)) {
|
88
96
|
this.applyFilters(this.filters);
|
89
97
|
}
|
98
|
+
if (this.filtersToDelete.length > 0) {
|
99
|
+
this.filtersToDelete.forEach(filter => {
|
100
|
+
this.deletePersonalizedFilter(filter, this.configName);
|
101
|
+
});
|
102
|
+
this.filtersToDelete = [];
|
103
|
+
}
|
90
104
|
}
|
91
105
|
isValidCustomFilter(filterPersonalized) {
|
92
106
|
const isValid = PersonalizedFilterUtils.validateVariableValues(filterPersonalized);
|
@@ -232,8 +246,10 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
232
246
|
"applyFilters": [16],
|
233
247
|
"closeModal": [16],
|
234
248
|
"addPersonalizedFilter": [16],
|
235
|
-
"editPersonalizedFilter": [16]
|
236
|
-
|
249
|
+
"editPersonalizedFilter": [16],
|
250
|
+
"deletePersonalizedFilter": [16],
|
251
|
+
"filtersToDelete": [16]
|
252
|
+
}, [[0, "deleteFilter", "deletePersonalizedFilterListener"]]]);
|
237
253
|
function defineCustomElement$1() {
|
238
254
|
if (typeof customElements === "undefined") {
|
239
255
|
return;
|
@@ -36,14 +36,21 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
36
36
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
37
37
|
"snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
38
38
|
"snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
39
|
+
"snkGridTopTaskbar.regular.singleTaskbar": [],
|
39
40
|
"snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"],
|
40
|
-
"snkGridTopTaskbar.finish_edition.secondary": []
|
41
|
+
"snkGridTopTaskbar.finish_edition.secondary": [],
|
42
|
+
"snkGridTopTaskbar.finish_edition.singleTaskbar": [],
|
41
43
|
});
|
42
44
|
this._headerTaskbarProcessor = new TaskbarProcessor({
|
43
45
|
"snkGridHeaderTaskbar.unselected": ["REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
|
44
46
|
"snkGridHeaderTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
|
45
47
|
"snkGridHeaderTaskbar.detail.unselected": ["REFRESH", "MORE_OPTIONS"],
|
46
|
-
"snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"]
|
48
|
+
"snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"],
|
49
|
+
"snkGridHeaderTaskbar.singleTaskbar.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
|
50
|
+
"snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
|
51
|
+
"snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
|
52
|
+
"snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
|
53
|
+
"snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"]
|
47
54
|
});
|
48
55
|
this._dataUnit = undefined;
|
49
56
|
this._dataState = undefined;
|
@@ -324,30 +331,46 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
324
331
|
return invisibleButtons;
|
325
332
|
}
|
326
333
|
componentWillRender() {
|
327
|
-
var _a;
|
328
334
|
const invisibleButtons = this.getInvisibleButtons();
|
329
|
-
|
330
|
-
let headerTaskbarId;
|
331
|
-
if (hasSelectedRecord) {
|
332
|
-
headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.selected" : "snkGridHeaderTaskbar.selected";
|
333
|
-
}
|
334
|
-
else {
|
335
|
-
headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.unselected" : "snkGridHeaderTaskbar.unselected";
|
336
|
-
}
|
337
|
-
this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
|
335
|
+
this._headerTaskbarProcessor.process(this.getHeaderTaskbarId(), this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
|
338
336
|
this._topTaskbarProcessor.process(this.getTopTaskBarId(), this.taskbarManager, this._dataState, undefined, invisibleButtons);
|
339
337
|
this.dataExporterProviderStore();
|
340
338
|
}
|
339
|
+
getHeaderTaskbarId() {
|
340
|
+
var _a, _b;
|
341
|
+
const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
|
342
|
+
const taskbarIdPrefixLookup = {
|
343
|
+
primary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
|
344
|
+
secondary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
|
345
|
+
singleTaskbar: this.isDetail ? "snkGridHeaderTaskbar.singleTaskbar.detail" : "snkGridHeaderTaskbar.singleTaskbar"
|
346
|
+
};
|
347
|
+
const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
|
348
|
+
let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
|
349
|
+
if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === PresentationMode.SINGLE_TASKBAR) {
|
350
|
+
headerTaskbarId = "snkGridHeaderTaskbar.singleTaskbar.finish_edition";
|
351
|
+
}
|
352
|
+
return headerTaskbarId;
|
353
|
+
}
|
341
354
|
getTopTaskBarId() {
|
342
355
|
var _a;
|
343
|
-
const
|
356
|
+
const suffixLookup = {
|
357
|
+
primary: "",
|
358
|
+
secondary: ".secondary",
|
359
|
+
singleTaskbar: ".singleTaskbar"
|
360
|
+
};
|
361
|
+
const sufix = suffixLookup[this.presentationMode];
|
344
362
|
if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
345
363
|
return `snkGridTopTaskbar.finish_edition${sufix}`;
|
346
364
|
}
|
347
365
|
return `snkGridTopTaskbar.regular${sufix}`;
|
348
366
|
}
|
349
367
|
getPrimaryButton() {
|
350
|
-
|
368
|
+
const primaryButtonLookup = {
|
369
|
+
primary: "INSERT",
|
370
|
+
secondary: "",
|
371
|
+
singleTaskbar: "INSERT"
|
372
|
+
};
|
373
|
+
return primaryButtonLookup[this.presentationMode];
|
351
374
|
}
|
352
375
|
getColumnSearch(actionButton, item) {
|
353
376
|
if (this._columnSearch != undefined) {
|
@@ -398,7 +421,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
398
421
|
return undefined;
|
399
422
|
}
|
400
423
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
|
401
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail) }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
424
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail) }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
402
425
|
}
|
403
426
|
get _element() { return this; }
|
404
427
|
static get style() { return snkGridCss; }
|
@@ -202,7 +202,7 @@ const SnkPersonalizedFilter = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
202
202
|
return personalizedFilter;
|
203
203
|
}
|
204
204
|
addFilterGroupCondition(personalizedFilter) {
|
205
|
-
if (!personalizedFilter.assistent.operand) {
|
205
|
+
if (personalizedFilter.assistent && !personalizedFilter.assistent.operand) {
|
206
206
|
personalizedFilter.assistent.operand = FilterGroupCondition.AND;
|
207
207
|
}
|
208
208
|
}
|
@@ -148,7 +148,7 @@ class FilterBarConfigFetcher extends ResourceFetcher {
|
|
148
148
|
multilistValueArray = Array.isArray(multilistValueArray) ? multilistValueArray : [multilistValueArray];
|
149
149
|
// Existem cenários onde o HTML5 não salva o Id do filtro, apenas seu label e value
|
150
150
|
multilistValueArray = multilistValueArray.map(itemRaw => {
|
151
|
-
return Object.assign(Object.assign({}, itemRaw), { id: itemRaw.id ? itemRaw.id : itemRaw.value });
|
151
|
+
return Object.assign(Object.assign({}, itemRaw), { id: (itemRaw.id !== undefined) ? itemRaw.id : itemRaw.value });
|
152
152
|
});
|
153
153
|
item.value = ObjectUtils.copy(multilistValueArray);
|
154
154
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { C as ConfigStorage } from './ConfigStorage-
|
1
|
+
import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
|
2
2
|
import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
|
3
3
|
import { F as FormConfigFetcher } from './form-config-fetcher-36219cd3.js';
|
4
4
|
|
@@ -2,6 +2,7 @@ var PresentationMode;
|
|
2
2
|
(function (PresentationMode) {
|
3
3
|
PresentationMode["PRIMARY"] = "primary";
|
4
4
|
PresentationMode["SECONDARY"] = "secondary";
|
5
|
+
PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
|
5
6
|
})(PresentationMode || (PresentationMode = {}));
|
6
7
|
var DataExporterOption;
|
7
8
|
(function (DataExporterOption) {
|