@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.
Files changed (106) hide show
  1. package/dist/cjs/{ConfigStorage-0d507a8f.js → ConfigStorage-8009ecb2.js} +1 -1
  2. package/dist/cjs/{SnkFormConfigManager-467907f6.js → SnkFormConfigManager-7d850fbc.js} +1 -1
  3. package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  6. package/dist/cjs/snk-actions-button_2.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-application.cjs.entry.js +62 -2
  8. package/dist/cjs/snk-attach.cjs.entry.js +2 -2
  9. package/dist/cjs/snk-crud.cjs.entry.js +2 -2
  10. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
  12. package/dist/cjs/snk-filter-bar.cjs.entry.js +28 -3
  13. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -2
  14. package/dist/cjs/snk-filter-modal.cjs.entry.js +14 -0
  15. package/dist/cjs/snk-form.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-grid.cjs.entry.js +41 -18
  18. package/dist/cjs/{snk-guides-viewer-7e87ffce.js → snk-guides-viewer-7f9b6d94.js} +3 -3
  19. package/dist/cjs/snk-guides-viewer.cjs.entry.js +5 -5
  20. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -2
  21. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
  23. package/dist/cjs/{taskbar-elements-b8c428a9.js → taskbar-elements-01b85b99.js} +1 -1
  24. package/dist/collection/components/snk-application/snk-application.js +68 -5
  25. package/dist/collection/components/snk-crud/snk-crud.js +1 -1
  26. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  27. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +65 -1
  28. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +0 -1
  29. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +57 -1
  30. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  31. package/dist/collection/components/snk-grid/snk-grid.js +39 -16
  32. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  33. package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -1
  34. package/dist/collection/lib/@types/index.js +1 -0
  35. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +1 -1
  36. package/dist/components/ConfigStorage.js +1 -1
  37. package/dist/components/index2.js +1 -0
  38. package/dist/components/snk-application2.js +62 -2
  39. package/dist/components/snk-filter-bar2.js +29 -3
  40. package/dist/components/snk-filter-modal-item2.js +0 -1
  41. package/dist/components/snk-filter-modal.js +18 -2
  42. package/dist/components/snk-grid2.js +38 -15
  43. package/dist/components/snk-personalized-filter2.js +1 -1
  44. package/dist/esm/{ConfigStorage-379a9cba.js → ConfigStorage-1244b8b0.js} +1 -1
  45. package/dist/esm/{SnkFormConfigManager-587e9030.js → SnkFormConfigManager-9be0e7d4.js} +1 -1
  46. package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
  47. package/dist/esm/loader.js +1 -1
  48. package/dist/esm/sankhyablocks.js +1 -1
  49. package/dist/esm/snk-actions-button_2.entry.js +1 -1
  50. package/dist/esm/snk-application.entry.js +63 -3
  51. package/dist/esm/snk-attach.entry.js +2 -2
  52. package/dist/esm/snk-crud.entry.js +2 -2
  53. package/dist/esm/snk-data-exporter.entry.js +1 -1
  54. package/dist/esm/snk-detail-view.entry.js +5 -5
  55. package/dist/esm/snk-filter-bar.entry.js +28 -3
  56. package/dist/esm/snk-filter-modal-item.entry.js +1 -2
  57. package/dist/esm/snk-filter-modal.entry.js +14 -0
  58. package/dist/esm/snk-form.entry.js +2 -2
  59. package/dist/esm/snk-grid-config.entry.js +1 -1
  60. package/dist/esm/snk-grid.entry.js +41 -18
  61. package/dist/esm/{snk-guides-viewer-2134aba2.js → snk-guides-viewer-9d5e073f.js} +3 -3
  62. package/dist/esm/snk-guides-viewer.entry.js +5 -5
  63. package/dist/esm/snk-personalized-filter.entry.js +2 -2
  64. package/dist/esm/snk-simple-crud.entry.js +2 -2
  65. package/dist/esm/snk-taskbar.entry.js +2 -2
  66. package/dist/esm/{taskbar-elements-26c981af.js → taskbar-elements-d4d0b424.js} +1 -1
  67. package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-0874adb5.entry.js} +1 -1
  68. package/dist/sankhyablocks/{p-a49b1019.entry.js → p-0d084a0f.entry.js} +1 -1
  69. package/dist/sankhyablocks/{p-aaa1438e.entry.js → p-11081798.entry.js} +1 -1
  70. package/dist/sankhyablocks/{p-a7923832.entry.js → p-143425c0.entry.js} +1 -1
  71. package/dist/sankhyablocks/p-3520c088.entry.js +1 -0
  72. package/dist/sankhyablocks/p-374d03f6.js +1 -0
  73. package/dist/sankhyablocks/p-38289a55.js +1 -0
  74. package/dist/sankhyablocks/{p-7915c452.entry.js → p-4b0938f6.entry.js} +1 -1
  75. package/dist/sankhyablocks/{p-4396d1a6.js → p-585294ee.js} +1 -1
  76. package/dist/sankhyablocks/{p-953346b9.entry.js → p-69efa80d.entry.js} +1 -1
  77. package/dist/sankhyablocks/{p-2028633c.js → p-776ee8e3.js} +1 -1
  78. package/dist/sankhyablocks/p-7f9d6b5d.entry.js +11 -0
  79. package/dist/sankhyablocks/p-809f367d.entry.js +1 -0
  80. package/dist/sankhyablocks/{p-b52c2175.js → p-8437508f.js} +1 -1
  81. package/dist/sankhyablocks/{p-ca8e7da0.entry.js → p-a87229cd.entry.js} +1 -1
  82. package/dist/sankhyablocks/p-a9e5b094.entry.js +1 -0
  83. package/dist/sankhyablocks/{p-0cd2e986.entry.js → p-d1007720.entry.js} +1 -1
  84. package/dist/sankhyablocks/{p-58218eb7.entry.js → p-e3132789.entry.js} +1 -1
  85. package/dist/sankhyablocks/p-f2056f66.entry.js +1 -0
  86. package/dist/sankhyablocks/p-f514913b.entry.js +1 -0
  87. package/dist/sankhyablocks/{p-729f5f5b.entry.js → p-fd8814b9.entry.js} +1 -1
  88. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  89. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  90. package/dist/types/components/snk-application/snk-application.d.ts +5 -2
  91. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +14 -1
  92. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +11 -0
  93. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +5 -1
  94. package/dist/types/components/snk-grid/snk-grid.d.ts +1 -0
  95. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +1 -0
  96. package/dist/types/components.d.ts +34 -11
  97. package/dist/types/lib/@types/index.d.ts +2 -1
  98. package/package.json +3 -3
  99. package/dist/sankhyablocks/p-145c4434.js +0 -1
  100. package/dist/sankhyablocks/p-4b0ea83f.entry.js +0 -1
  101. package/dist/sankhyablocks/p-5534e08c.js +0 -1
  102. package/dist/sankhyablocks/p-78777ae0.entry.js +0 -1
  103. package/dist/sankhyablocks/p-a037f5b4.entry.js +0 -1
  104. package/dist/sankhyablocks/p-bf9b7149.entry.js +0 -11
  105. package/dist/sankhyablocks/p-c259545b.entry.js +0 -1
  106. package/dist/sankhyablocks/p-d1677df0.entry.js +0 -1
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
8
- const taskbarElements = require('./taskbar-elements-b8c428a9.js');
9
- const ConfigStorage = require('./ConfigStorage-0d507a8f.js');
10
- const index$1 = require('./index-0e663819.js');
8
+ const taskbarElements = require('./taskbar-elements-01b85b99.js');
9
+ const ConfigStorage = require('./ConfigStorage-8009ecb2.js');
10
+ const index$1 = require('./index-0922807b.js');
11
11
  const fieldSearch = require('./field-search-f56aa7d6.js');
12
12
  const index$2 = require('./index-102ba62d.js');
13
13
  const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-ba5838c2.js');
@@ -30,14 +30,21 @@ const SnkGrid = class {
30
30
  this._topTaskbarProcessor = new fieldSearch.TaskbarProcessor({
31
31
  "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
32
32
  "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
33
+ "snkGridTopTaskbar.regular.singleTaskbar": [],
33
34
  "snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"],
34
- "snkGridTopTaskbar.finish_edition.secondary": []
35
+ "snkGridTopTaskbar.finish_edition.secondary": [],
36
+ "snkGridTopTaskbar.finish_edition.singleTaskbar": [],
35
37
  });
36
38
  this._headerTaskbarProcessor = new fieldSearch.TaskbarProcessor({
37
39
  "snkGridHeaderTaskbar.unselected": ["REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
38
40
  "snkGridHeaderTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
39
41
  "snkGridHeaderTaskbar.detail.unselected": ["REFRESH", "MORE_OPTIONS"],
40
- "snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"]
42
+ "snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"],
43
+ "snkGridHeaderTaskbar.singleTaskbar.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
44
+ "snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
45
+ "snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
46
+ "snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
47
+ "snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"]
41
48
  });
42
49
  this._dataUnit = undefined;
43
50
  this._dataState = undefined;
@@ -318,30 +325,46 @@ const SnkGrid = class {
318
325
  return invisibleButtons;
319
326
  }
320
327
  componentWillRender() {
321
- var _a;
322
328
  const invisibleButtons = this.getInvisibleButtons();
323
- const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
324
- let headerTaskbarId;
325
- if (hasSelectedRecord) {
326
- headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.selected" : "snkGridHeaderTaskbar.selected";
327
- }
328
- else {
329
- headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.unselected" : "snkGridHeaderTaskbar.unselected";
330
- }
331
- this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
329
+ this._headerTaskbarProcessor.process(this.getHeaderTaskbarId(), this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
332
330
  this._topTaskbarProcessor.process(this.getTopTaskBarId(), this.taskbarManager, this._dataState, undefined, invisibleButtons);
333
331
  this.dataExporterProviderStore();
334
332
  }
333
+ getHeaderTaskbarId() {
334
+ var _a, _b;
335
+ const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
336
+ const taskbarIdPrefixLookup = {
337
+ primary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
338
+ secondary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
339
+ singleTaskbar: this.isDetail ? "snkGridHeaderTaskbar.singleTaskbar.detail" : "snkGridHeaderTaskbar.singleTaskbar"
340
+ };
341
+ const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
342
+ let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
343
+ if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === index$1.PresentationMode.SINGLE_TASKBAR) {
344
+ headerTaskbarId = "snkGridHeaderTaskbar.singleTaskbar.finish_edition";
345
+ }
346
+ return headerTaskbarId;
347
+ }
335
348
  getTopTaskBarId() {
336
349
  var _a;
337
- const sufix = this.presentationMode === index$1.PresentationMode.SECONDARY ? ".secondary" : "";
350
+ const suffixLookup = {
351
+ primary: "",
352
+ secondary: ".secondary",
353
+ singleTaskbar: ".singleTaskbar"
354
+ };
355
+ const sufix = suffixLookup[this.presentationMode];
338
356
  if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
339
357
  return `snkGridTopTaskbar.finish_edition${sufix}`;
340
358
  }
341
359
  return `snkGridTopTaskbar.regular${sufix}`;
342
360
  }
343
361
  getPrimaryButton() {
344
- return this.presentationMode === index$1.PresentationMode.PRIMARY ? "INSERT" : "";
362
+ const primaryButtonLookup = {
363
+ primary: "INSERT",
364
+ secondary: "",
365
+ singleTaskbar: "INSERT"
366
+ };
367
+ return primaryButtonLookup[this.presentationMode];
345
368
  }
346
369
  getColumnSearch(actionButton, item) {
347
370
  if (this._columnSearch != undefined) {
@@ -392,7 +415,7 @@ const SnkGrid = class {
392
415
  return undefined;
393
416
  }
394
417
  return (index.h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, index.h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
395
- index.h(index.Fragment, null, index.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) }), index.h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), index.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 }, index.h("slot", { name: this.topTaskbarCustomSlotId }))), index.h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === index$1.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 }, index.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 }, index.h("slot", { name: this.gridHeaderCustomSlotId }))), index.h("div", { class: "ez-col ez-col--sd-12" }, index.h("slot", { name: "SnkGridFooter" })), index.h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, index.h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(core.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 }))));
418
+ index.h(index.Fragment, null, index.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) }), index.h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), index.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 }, index.h("slot", { name: this.topTaskbarCustomSlotId }))), index.h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === index$1.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 }, index.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 }, index.h("slot", { name: this.gridHeaderCustomSlotId }))), index.h("div", { class: "ez-col ez-col--sd-12" }, index.h("slot", { name: "SnkGridFooter" })), index.h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, index.h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(core.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 }))));
396
419
  }
397
420
  get _element() { return index.getElement(this); }
398
421
  };
@@ -2,14 +2,14 @@
2
2
 
3
3
  const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
- const SnkFormConfigManager = require('./SnkFormConfigManager-467907f6.js');
5
+ const SnkFormConfigManager = require('./SnkFormConfigManager-7d850fbc.js');
6
6
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
7
7
  const fieldSearch = require('./field-search-f56aa7d6.js');
8
- const taskbarElements = require('./taskbar-elements-b8c428a9.js');
8
+ const taskbarElements = require('./taskbar-elements-01b85b99.js');
9
9
  const constants = require('./constants-35ddd366.js');
10
10
  require('./DataFetcher-ba94ed5b.js');
11
11
  require('./pesquisa-fetcher-ef050a47.js');
12
- const index$1 = require('./index-0e663819.js');
12
+ const index$1 = require('./index-0922807b.js');
13
13
  require('./ISave-d68ce3cd.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-7e87ffce.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-7f9b6d94.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
- require('./SnkFormConfigManager-467907f6.js');
9
- require('./ConfigStorage-0d507a8f.js');
8
+ require('./SnkFormConfigManager-7d850fbc.js');
9
+ require('./ConfigStorage-8009ecb2.js');
10
10
  require('./form-config-fetcher-df043d3d.js');
11
11
  require('./DataFetcher-ba94ed5b.js');
12
12
  require('./PrintUtils-bcaeb82f.js');
@@ -14,8 +14,8 @@ require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
14
  require('./filter-item-type.enum-a7ffdaa6.js');
15
15
  require('@sankhyalabs/ezui/dist/collection/utils/form');
16
16
  require('./field-search-f56aa7d6.js');
17
- require('./taskbar-elements-b8c428a9.js');
18
- require('./index-0e663819.js');
17
+ require('./taskbar-elements-01b85b99.js');
18
+ require('./index-0922807b.js');
19
19
  require('./index-102ba62d.js');
20
20
  require('./constants-35ddd366.js');
21
21
  require('./pesquisa-fetcher-ef050a47.js');
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
8
- const ConfigStorage = require('./ConfigStorage-0d507a8f.js');
8
+ const ConfigStorage = require('./ConfigStorage-8009ecb2.js');
9
9
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
10
10
  const index$1 = require('./index-c5771aba.js');
11
11
  const index$2 = require('./index-102ba62d.js');
@@ -204,7 +204,7 @@ const SnkPersonalizedFilter = class {
204
204
  return personalizedFilter;
205
205
  }
206
206
  addFilterGroupCondition(personalizedFilter) {
207
- if (!personalizedFilter.assistent.operand) {
207
+ if (personalizedFilter.assistent && !personalizedFilter.assistent.operand) {
208
208
  personalizedFilter.assistent.operand = index$1.FilterGroupCondition.AND;
209
209
  }
210
210
  }
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const constants = require('./constants-35ddd366.js');
8
- const taskbarElements = require('./taskbar-elements-b8c428a9.js');
8
+ const taskbarElements = require('./taskbar-elements-01b85b99.js');
9
9
  require('./DataFetcher-ba94ed5b.js');
10
10
  require('./pesquisa-fetcher-ef050a47.js');
11
- const index$1 = require('./index-0e663819.js');
11
+ const index$1 = require('./index-0922807b.js');
12
12
  require('./ISave-d68ce3cd.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const AuthorizationConfig = require('./AuthorizationConfig-79ffae4b.js');
8
- const taskbarElements = require('./taskbar-elements-b8c428a9.js');
9
- const index$1 = require('./index-0e663819.js');
8
+ const taskbarElements = require('./taskbar-elements-01b85b99.js');
9
+ const index$1 = require('./index-0922807b.js');
10
10
  require('./index-102ba62d.js');
11
11
 
12
12
  const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index-f9e81701.js');
4
- const index$2 = require('./index-0e663819.js');
4
+ const index$2 = require('./index-0922807b.js');
5
5
  const index$1 = require('./index-102ba62d.js');
6
6
 
7
7
  exports.TaskbarElement = void 0;
@@ -1,4 +1,4 @@
1
- import { ApplicationContext, DataType, DependencyType, ElementIDUtils, ErrorTracking, OnboardingUtils, StringUtils, KeyboardManager } from "@sankhyalabs/core";
1
+ import { ApplicationContext, DataType, DependencyType, ElementIDUtils, ErrorTracking, OnboardingUtils, StringUtils, KeyboardManager, ObjectUtils, ArrayUtils, SearchUtils } from "@sankhyalabs/core";
2
2
  import { ApplicationUtils } from "@sankhyalabs/ezui/dist/collection/utils";
3
3
  import { h } from "@stencil/core";
4
4
  import AppletCaller from "../../lib/applet-caller/applet-caller";
@@ -582,11 +582,53 @@ export class SnkApplication {
582
582
  return this.executePreparedSearch(mode, argument, { entity: ENTITYNAME, entityDescription: DESCRIPTIONENTITY, criteria, searchOptions });
583
583
  }
584
584
  }
585
+ filterInvalidFields(resp, item, mdByName) {
586
+ let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
587
+ let accept = !StringUtils.isEmpty(item[field.fieldName]) &&
588
+ field.visible !== false &&
589
+ field.type !== 'B' &&
590
+ resp.pkField !== field.fieldName &&
591
+ resp.descriptionField !== field.fieldName &&
592
+ (field.isPrimaryKey || !field.isLinkField) &&
593
+ !(field.type === 'S' && field.presentationType === 'H');
594
+ if (accept) {
595
+ mdByName[field.fieldName] = field;
596
+ }
597
+ //Condição que trata o problema de trazer imagem no entityCard na pesquisa de registros
598
+ if (typeof item[field.fieldName] === 'string' && (item[field.fieldName].indexOf('<img') > -1 || item[field.fieldName].indexOf('<svg') > -1)) {
599
+ return false;
600
+ }
601
+ return accept;
602
+ });
603
+ return fieldsMetadata;
604
+ }
605
+ filterMathFields(matchFields, fields, qtyFields, mdByName) {
606
+ if (matchFields && Array.isArray(matchFields)) {
607
+ matchFields.forEach((matchField) => {
608
+ let fieldMD = ArrayUtils.removeReference(fields, mdByName[matchField]);
609
+ if (fieldMD) {
610
+ fields.unshift(fieldMD);
611
+ }
612
+ });
613
+ }
614
+ fields = fields.slice(0, qtyFields);
615
+ return fields;
616
+ }
617
+ builOptionItem(argument, item, fields, descriptionField, pkField) {
618
+ var _a;
619
+ let exibitionItem = {
620
+ value: StringUtils.highlightValue(argument, item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
621
+ label: descriptionField ? StringUtils.highlightValue(argument, item['__matchFields'], item[descriptionField], fields, true) : "",
622
+ details: SearchUtils.buildDetails(argument, fields, item)
623
+ };
624
+ return exibitionItem;
625
+ }
585
626
  /**
586
627
  * Obtém as opções em componentes de pesquisa
587
628
  * Ex.: snk-config-options
588
629
  */
589
630
  async executePreparedSearch(mode, argument, options) {
631
+ const mdByName = {};
590
632
  const { entity, entityDescription, criteria, searchOptions } = options;
591
633
  if (mode === "ADVANCED") {
592
634
  return new Promise(accept => {
@@ -604,7 +646,25 @@ export class SnkApplication {
604
646
  });
605
647
  }
606
648
  else {
607
- return this.pesquisaFetcher.loadSearchOptions(entity, argument, criteria, searchOptions);
649
+ return new Promise((resolve, reject) => {
650
+ this.pesquisaFetcher.loadAdvancedSearch(entity, argument, criteria, searchOptions)
651
+ .then(result => {
652
+ result = ObjectUtils.stringToObject(result.json.$);
653
+ let descriptionField = result.descriptionField;
654
+ let pkField = result.pkField;
655
+ const list = [];
656
+ result.data.forEach((item) => {
657
+ let fieldsMetadata = this.filterInvalidFields(result, item, mdByName);
658
+ let qtyFields = 6;
659
+ let fields = this.filterMathFields(item['__matchFields'], fieldsMetadata, qtyFields, mdByName);
660
+ list.push(this.builOptionItem(argument, item, fields, descriptionField, pkField));
661
+ });
662
+ resolve(list);
663
+ })
664
+ .catch(error => {
665
+ reject(error);
666
+ });
667
+ });
608
668
  }
609
669
  }
610
670
  /**
@@ -1363,6 +1423,9 @@ export class SnkApplication {
1363
1423
  "text": ""
1364
1424
  }],
1365
1425
  "references": {
1426
+ "Promise": {
1427
+ "location": "global"
1428
+ },
1366
1429
  "Array": {
1367
1430
  "location": "global"
1368
1431
  },
@@ -2080,11 +2143,11 @@ export class SnkApplication {
2080
2143
  },
2081
2144
  "IOption": {
2082
2145
  "location": "import",
2083
- "path": "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box"
2146
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-search/ez-search"
2084
2147
  },
2085
2148
  "ISearchArgument": {
2086
2149
  "location": "import",
2087
- "path": "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box"
2150
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-search/ez-search"
2088
2151
  },
2089
2152
  "DataUnit": {
2090
2153
  "location": "import",
@@ -2124,7 +2187,7 @@ export class SnkApplication {
2124
2187
  },
2125
2188
  "IOption": {
2126
2189
  "location": "import",
2127
- "path": "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box"
2190
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-search/ez-search"
2128
2191
  },
2129
2192
  "Array": {
2130
2193
  "location": "global"
@@ -459,7 +459,7 @@ export class SnkCrud {
459
459
  "mutable": false,
460
460
  "complexType": {
461
461
  "original": "PresentationMode",
462
- "resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY",
462
+ "resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
463
463
  "references": {
464
464
  "PresentationMode": {
465
465
  "location": "import",
@@ -690,7 +690,7 @@ export class SnkGuidesViewer {
690
690
  "mutable": false,
691
691
  "complexType": {
692
692
  "original": "PresentationMode",
693
- "resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY",
693
+ "resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
694
694
  "references": {
695
695
  "PresentationMode": {
696
696
  "location": "import",
@@ -15,6 +15,14 @@ export class SnkFilterModal {
15
15
  this.closeModal = undefined;
16
16
  this.addPersonalizedFilter = undefined;
17
17
  this.editPersonalizedFilter = undefined;
18
+ this.deletePersonalizedFilter = undefined;
19
+ this.filtersToDelete = [];
20
+ }
21
+ /**
22
+ * Emitido quando um filtro personalizado é deletado.
23
+ */
24
+ deletePersonalizedFilterListener(event) {
25
+ this.filtersToDelete.push(event.detail);
18
26
  }
19
27
  getCustomMessage(key, params) {
20
28
  var _a;
@@ -82,6 +90,12 @@ export class SnkFilterModal {
82
90
  if (this.isValidCustomFilter(filterPersonalized)) {
83
91
  this.applyFilters(this.filters);
84
92
  }
93
+ if (this.filtersToDelete.length > 0) {
94
+ this.filtersToDelete.forEach(filter => {
95
+ this.deletePersonalizedFilter(filter, this.configName);
96
+ });
97
+ this.filtersToDelete = [];
98
+ }
85
99
  }
86
100
  isValidCustomFilter(filterPersonalized) {
87
101
  const isValid = PersonalizedFilterUtils.validateVariableValues(filterPersonalized);
@@ -354,9 +368,59 @@ export class SnkFilterModal {
354
368
  "optional": false,
355
369
  "docs": {
356
370
  "tags": [],
357
- "text": "A\u00E7\u00E3o executada ao editart um filtro personalizado"
371
+ "text": "A\u00E7\u00E3o executada ao editar um filtro personalizado"
372
+ }
373
+ },
374
+ "deletePersonalizedFilter": {
375
+ "type": "unknown",
376
+ "mutable": false,
377
+ "complexType": {
378
+ "original": "(filter: IPersonalizedFilter, configName: string) => void",
379
+ "resolved": "(filter: IPersonalizedFilter, configName: string) => void",
380
+ "references": {
381
+ "IPersonalizedFilter": {
382
+ "location": "import",
383
+ "path": "../../snk-personalized-filter/interfaces/IPersonalizedFilter"
384
+ }
385
+ }
386
+ },
387
+ "required": false,
388
+ "optional": false,
389
+ "docs": {
390
+ "tags": [],
391
+ "text": "A\u00E7\u00E3o executada ao deletar um filtro personalizado"
358
392
  }
393
+ },
394
+ "filtersToDelete": {
395
+ "type": "unknown",
396
+ "mutable": false,
397
+ "complexType": {
398
+ "original": "IPersonalizedFilter[]",
399
+ "resolved": "IPersonalizedFilter[]",
400
+ "references": {
401
+ "IPersonalizedFilter": {
402
+ "location": "import",
403
+ "path": "../../snk-personalized-filter/interfaces/IPersonalizedFilter"
404
+ }
405
+ }
406
+ },
407
+ "required": false,
408
+ "optional": false,
409
+ "docs": {
410
+ "tags": [],
411
+ "text": "Guarda filtros a serem deletados no Apply do modal"
412
+ },
413
+ "defaultValue": "[]"
359
414
  }
360
415
  };
361
416
  }
417
+ static get listeners() {
418
+ return [{
419
+ "name": "deleteFilter",
420
+ "method": "deletePersonalizedFilterListener",
421
+ "target": undefined,
422
+ "capture": false,
423
+ "passive": false
424
+ }];
425
+ }
362
426
  }
@@ -41,7 +41,6 @@ export class SnkFilterModalItem {
41
41
  buildSnkFilterPersonalizedProps() {
42
42
  return {
43
43
  tag: "snk-personalized-filter-editor", props: {
44
- onDeleteFilter: (event) => this.handleDeleteFilter(event.detail, FilterItemType.PERSONALIZED),
45
44
  onEditFilter: (event) => this.editPersonalizedFilter.emit(event.detail),
46
45
  onAddFilter: () => this.addPersonalizedFilter.emit(),
47
46
  }
@@ -114,6 +114,24 @@ export class SnkFilterBar {
114
114
  this.updateFilter(filterItem);
115
115
  return Promise.resolve();
116
116
  }
117
+ /**
118
+ * Remove um item de filtro.
119
+ *
120
+ * @param filterID - ID do a ser adicionado
121
+ *
122
+ * @returns {Promise<SnkFilterItemConfig|undefined>} - Retorna o item de filtro removido, ou undefined caso não encontrado.
123
+ */
124
+ async removeFilterItem(filterID) {
125
+ const itemIndex = this.filterConfig.findIndex(item => item.id === filterID);
126
+ if (itemIndex == -1) {
127
+ console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado");
128
+ return Promise.resolve(undefined);
129
+ }
130
+ const itemToRemove = this.filterConfig[itemIndex];
131
+ ;
132
+ this.filterConfig = this.filterConfig.filter(item => item.id !== filterID);
133
+ return Promise.resolve(itemToRemove);
134
+ }
117
135
  componentDidLoad() {
118
136
  if (this._element) {
119
137
  const dataInfo = { dataUnit: this.dataUnit };
@@ -321,7 +339,8 @@ export class SnkFilterBar {
321
339
  onComplete: callbackOnApplyFilter,
322
340
  getMessage: (key, props) => this.getMessage(key, props),
323
341
  onAddPersonalizedFilter: () => this.addPersonalizedFilter(),
324
- onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id)
342
+ onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id),
343
+ onDeletePersonalizedFilter: (filter, configName) => this.deletePersonalizedFilter(filter, FilterItemType.PERSONALIZED, configName),
325
344
  };
326
345
  this._filterModalFactory = new SnkFilterModalFactory(factoryParams);
327
346
  await this._filterModalFactory.showModal();
@@ -339,6 +358,11 @@ export class SnkFilterBar {
339
358
  this.showPersonalizedFilter = true;
340
359
  this.personalizedFilterId = id;
341
360
  }
361
+ deletePersonalizedFilter(filter, filterItemType, configName) {
362
+ if (filterItemType === FilterItemType.PERSONALIZED) {
363
+ ConfigStorage.removePersonalizedFilter(filter, this.resourceID, configName);
364
+ }
365
+ }
342
366
  handleHidePersonalizedFilter(reloadFilterBar) {
343
367
  if (reloadFilterBar) {
344
368
  this.loadConfigFromStorage().then(() => {
@@ -612,6 +636,38 @@ export class SnkFilterBar {
612
636
  "text": "filterItem - Item a ser adicionado, caso o item j\u00E1 exista com o ID ele n\u00E3o ser\u00E1 adicionado novamente"
613
637
  }]
614
638
  }
639
+ },
640
+ "removeFilterItem": {
641
+ "complexType": {
642
+ "signature": "(filterID: string) => Promise<SnkFilterItemConfig | undefined>",
643
+ "parameters": [{
644
+ "tags": [{
645
+ "name": "param",
646
+ "text": "filterID - ID do a ser adicionado"
647
+ }],
648
+ "text": "- ID do a ser adicionado"
649
+ }],
650
+ "references": {
651
+ "Promise": {
652
+ "location": "global"
653
+ },
654
+ "SnkFilterItemConfig": {
655
+ "location": "import",
656
+ "path": "./filter-item/snk-filter-item"
657
+ }
658
+ },
659
+ "return": "Promise<SnkFilterItemConfig>"
660
+ },
661
+ "docs": {
662
+ "text": "Remove um item de filtro.",
663
+ "tags": [{
664
+ "name": "param",
665
+ "text": "filterID - ID do a ser adicionado"
666
+ }, {
667
+ "name": "returns",
668
+ "text": "- Retorna o item de filtro removido, ou undefined caso n\u00E3o encontrado."
669
+ }]
670
+ }
615
671
  }
616
672
  };
617
673
  }
@@ -1,12 +1,13 @@
1
1
  import { ApplicationUtils } from "@sankhyalabs/ezui/dist/collection/utils";
2
2
  class SnkFilterModalFactory {
3
- constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter }) {
3
+ constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
4
4
  this._filterConfig = filterConfig;
5
5
  this._configName = configName;
6
6
  this._onComplete = onComplete;
7
7
  this._getMessage = getMessage;
8
8
  this._addPersonalizedFilterFn = onAddPersonalizedFilter;
9
9
  this._editPersonalizedFilterFn = onEditPersonalizedFilter;
10
+ this._onDeletePersonalizedFilter = onDeletePersonalizedFilter;
10
11
  }
11
12
  applyFilters(newFilterConfig) {
12
13
  this._onComplete(newFilterConfig);
@@ -22,6 +23,7 @@ class SnkFilterModalFactory {
22
23
  filterModal.closeModal = () => this._closeModal();
23
24
  filterModal.addPersonalizedFilter = () => this._addPersonalizedFilterFn();
24
25
  filterModal.editPersonalizedFilter = (id) => this._editPersonalizedFilterFn(id);
26
+ filterModal.deletePersonalizedFilter = (filter, configName) => this._onDeletePersonalizedFilter(filter, configName);
25
27
  return filterModal;
26
28
  }
27
29
  async showModal() {