@sankhyalabs/sankhyablocks 8.15.0-dev.3 → 8.15.0-dev.5

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 (119) 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/{dataunit-fetcher-de65b9fc.js → dataunit-fetcher-bd4c52da.js} +11 -6
  4. package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  7. package/dist/cjs/snk-actions-button_2.cjs.entry.js +2 -2
  8. package/dist/cjs/snk-application.cjs.entry.js +63 -3
  9. package/dist/cjs/snk-attach.cjs.entry.js +11 -4
  10. package/dist/cjs/snk-crud.cjs.entry.js +3 -3
  11. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-detail-view.cjs.entry.js +6 -6
  13. package/dist/cjs/snk-filter-bar.cjs.entry.js +28 -3
  14. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -2
  15. package/dist/cjs/snk-filter-modal.cjs.entry.js +14 -0
  16. package/dist/cjs/snk-form.cjs.entry.js +2 -2
  17. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  18. package/dist/cjs/snk-grid.cjs.entry.js +41 -18
  19. package/dist/cjs/{snk-guides-viewer-7e87ffce.js → snk-guides-viewer-cb176c4d.js} +5 -5
  20. package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -6
  21. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-simple-crud.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
  24. package/dist/cjs/{taskbar-elements-b8c428a9.js → taskbar-elements-01b85b99.js} +1 -1
  25. package/dist/collection/components/snk-application/snk-application.js +76 -13
  26. package/dist/collection/components/snk-attach/snk-attach.js +8 -1
  27. package/dist/collection/components/snk-crud/snk-crud.js +1 -1
  28. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +2 -2
  29. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +65 -1
  30. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +0 -1
  31. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +57 -1
  32. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  33. package/dist/collection/components/snk-grid/snk-grid.js +39 -16
  34. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  35. package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -1
  36. package/dist/collection/lib/@types/index.js +1 -0
  37. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +11 -6
  38. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +1 -1
  39. package/dist/components/ConfigStorage.js +1 -1
  40. package/dist/components/dataunit-fetcher.js +11 -6
  41. package/dist/components/index2.js +1 -0
  42. package/dist/components/snk-application2.js +62 -2
  43. package/dist/components/snk-attach2.js +8 -1
  44. package/dist/components/snk-detail-view2.js +1 -1
  45. package/dist/components/snk-filter-bar2.js +29 -3
  46. package/dist/components/snk-filter-modal-item2.js +0 -1
  47. package/dist/components/snk-filter-modal.js +18 -2
  48. package/dist/components/snk-grid2.js +38 -15
  49. package/dist/components/snk-personalized-filter2.js +1 -1
  50. package/dist/esm/{ConfigStorage-379a9cba.js → ConfigStorage-1244b8b0.js} +1 -1
  51. package/dist/esm/{SnkFormConfigManager-587e9030.js → SnkFormConfigManager-9be0e7d4.js} +1 -1
  52. package/dist/esm/{dataunit-fetcher-e218c6d2.js → dataunit-fetcher-65714f21.js} +11 -6
  53. package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/sankhyablocks.js +1 -1
  56. package/dist/esm/snk-actions-button_2.entry.js +2 -2
  57. package/dist/esm/snk-application.entry.js +64 -4
  58. package/dist/esm/snk-attach.entry.js +11 -4
  59. package/dist/esm/snk-crud.entry.js +3 -3
  60. package/dist/esm/snk-data-exporter.entry.js +1 -1
  61. package/dist/esm/snk-detail-view.entry.js +6 -6
  62. package/dist/esm/snk-filter-bar.entry.js +28 -3
  63. package/dist/esm/snk-filter-modal-item.entry.js +1 -2
  64. package/dist/esm/snk-filter-modal.entry.js +14 -0
  65. package/dist/esm/snk-form.entry.js +2 -2
  66. package/dist/esm/snk-grid-config.entry.js +1 -1
  67. package/dist/esm/snk-grid.entry.js +41 -18
  68. package/dist/esm/{snk-guides-viewer-2134aba2.js → snk-guides-viewer-eeb8f354.js} +5 -5
  69. package/dist/esm/snk-guides-viewer.entry.js +6 -6
  70. package/dist/esm/snk-personalized-filter.entry.js +2 -2
  71. package/dist/esm/snk-simple-crud.entry.js +3 -3
  72. package/dist/esm/snk-taskbar.entry.js +2 -2
  73. package/dist/esm/{taskbar-elements-26c981af.js → taskbar-elements-d4d0b424.js} +1 -1
  74. package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-0874adb5.entry.js} +1 -1
  75. package/dist/sankhyablocks/{p-aaa1438e.entry.js → p-11081798.entry.js} +1 -1
  76. package/dist/sankhyablocks/{p-ba627e85.js → p-29804fc5.js} +1 -1
  77. package/dist/sankhyablocks/p-3520c088.entry.js +1 -0
  78. package/dist/sankhyablocks/p-374d03f6.js +1 -0
  79. package/dist/sankhyablocks/p-38289a55.js +1 -0
  80. package/dist/sankhyablocks/{p-4396d1a6.js → p-585294ee.js} +1 -1
  81. package/dist/sankhyablocks/{p-953346b9.entry.js → p-69efa80d.entry.js} +1 -1
  82. package/dist/sankhyablocks/{p-a49b1019.entry.js → p-6d20d38c.entry.js} +1 -1
  83. package/dist/sankhyablocks/{p-2028633c.js → p-776ee8e3.js} +1 -1
  84. package/dist/sankhyablocks/p-7d51d949.entry.js +11 -0
  85. package/dist/sankhyablocks/p-809f367d.entry.js +1 -0
  86. package/dist/sankhyablocks/{p-0cd2e986.entry.js → p-95a3778f.entry.js} +1 -1
  87. package/dist/sankhyablocks/p-a9e5b094.entry.js +1 -0
  88. package/dist/sankhyablocks/p-b146a9f0.entry.js +1 -0
  89. package/dist/sankhyablocks/p-bedb8ad6.entry.js +1 -0
  90. package/dist/sankhyablocks/{p-a7923832.entry.js → p-ca4d337a.entry.js} +1 -1
  91. package/dist/sankhyablocks/{p-ca8e7da0.entry.js → p-cdd66657.entry.js} +1 -1
  92. package/dist/sankhyablocks/p-d1f5bc50.js +1 -0
  93. package/dist/sankhyablocks/p-f2056f66.entry.js +1 -0
  94. package/dist/sankhyablocks/p-f514913b.entry.js +1 -0
  95. package/dist/sankhyablocks/{p-729f5f5b.entry.js → p-fd8814b9.entry.js} +1 -1
  96. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  97. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  98. package/dist/types/components/snk-application/snk-application.d.ts +5 -2
  99. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  100. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +14 -1
  101. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +11 -0
  102. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +5 -1
  103. package/dist/types/components/snk-grid/snk-grid.d.ts +1 -0
  104. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +1 -0
  105. package/dist/types/components.d.ts +34 -11
  106. package/dist/types/lib/@types/index.d.ts +2 -1
  107. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  108. package/package.json +3 -3
  109. package/dist/sankhyablocks/p-145c4434.js +0 -1
  110. package/dist/sankhyablocks/p-4b0ea83f.entry.js +0 -1
  111. package/dist/sankhyablocks/p-5534e08c.js +0 -1
  112. package/dist/sankhyablocks/p-58218eb7.entry.js +0 -1
  113. package/dist/sankhyablocks/p-78777ae0.entry.js +0 -1
  114. package/dist/sankhyablocks/p-7915c452.entry.js +0 -1
  115. package/dist/sankhyablocks/p-a037f5b4.entry.js +0 -1
  116. package/dist/sankhyablocks/p-b52c2175.js +0 -1
  117. package/dist/sankhyablocks/p-bf9b7149.entry.js +0 -11
  118. package/dist/sankhyablocks/p-c259545b.entry.js +0 -1
  119. package/dist/sankhyablocks/p-d1677df0.entry.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { DataType, StringUtils, ObjectUtils, ElementIDUtils, ErrorException, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { EzScrollDirection } from '@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection';
4
- import { C as ConfigStorage } from './ConfigStorage-379a9cba.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
5
5
  import { toString } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
6
6
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
7
7
  import { F as FilterOperand } from './index-ae591a44.js';
@@ -204,13 +204,14 @@ function buildPersonalized(item) {
204
204
  }
205
205
 
206
206
  class SnkFilterModalFactory {
207
- constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter }) {
207
+ constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
208
208
  this._filterConfig = filterConfig;
209
209
  this._configName = configName;
210
210
  this._onComplete = onComplete;
211
211
  this._getMessage = getMessage;
212
212
  this._addPersonalizedFilterFn = onAddPersonalizedFilter;
213
213
  this._editPersonalizedFilterFn = onEditPersonalizedFilter;
214
+ this._onDeletePersonalizedFilter = onDeletePersonalizedFilter;
214
215
  }
215
216
  applyFilters(newFilterConfig) {
216
217
  this._onComplete(newFilterConfig);
@@ -226,6 +227,7 @@ class SnkFilterModalFactory {
226
227
  filterModal.closeModal = () => this._closeModal();
227
228
  filterModal.addPersonalizedFilter = () => this._addPersonalizedFilterFn();
228
229
  filterModal.editPersonalizedFilter = (id) => this._editPersonalizedFilterFn(id);
230
+ filterModal.deletePersonalizedFilter = (filter, configName) => this._onDeletePersonalizedFilter(filter, configName);
229
231
  return filterModal;
230
232
  }
231
233
  async showModal() {
@@ -356,6 +358,23 @@ const SnkFilterBar = class {
356
358
  this.updateFilter(filterItem);
357
359
  return Promise.resolve();
358
360
  }
361
+ /**
362
+ * Remove um item de filtro.
363
+ *
364
+ * @param filterID - ID do a ser adicionado
365
+ *
366
+ * @returns {Promise<SnkFilterItemConfig|undefined>} - Retorna o item de filtro removido, ou undefined caso não encontrado.
367
+ */
368
+ async removeFilterItem(filterID) {
369
+ const itemIndex = this.filterConfig.findIndex(item => item.id === filterID);
370
+ if (itemIndex == -1) {
371
+ console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado");
372
+ return Promise.resolve(undefined);
373
+ }
374
+ const itemToRemove = this.filterConfig[itemIndex];
375
+ this.filterConfig = this.filterConfig.filter(item => item.id !== filterID);
376
+ return Promise.resolve(itemToRemove);
377
+ }
359
378
  componentDidLoad() {
360
379
  if (this._element) {
361
380
  const dataInfo = { dataUnit: this.dataUnit };
@@ -563,7 +582,8 @@ const SnkFilterBar = class {
563
582
  onComplete: callbackOnApplyFilter,
564
583
  getMessage: (key, props) => this.getMessage(key, props),
565
584
  onAddPersonalizedFilter: () => this.addPersonalizedFilter(),
566
- onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id)
585
+ onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id),
586
+ onDeletePersonalizedFilter: (filter, configName) => this.deletePersonalizedFilter(filter, FilterItemType.PERSONALIZED, configName),
567
587
  };
568
588
  this._filterModalFactory = new SnkFilterModalFactory(factoryParams);
569
589
  await this._filterModalFactory.showModal();
@@ -581,6 +601,11 @@ const SnkFilterBar = class {
581
601
  this.showPersonalizedFilter = true;
582
602
  this.personalizedFilterId = id;
583
603
  }
604
+ deletePersonalizedFilter(filter, filterItemType, configName) {
605
+ if (filterItemType === FilterItemType.PERSONALIZED) {
606
+ ConfigStorage.removePersonalizedFilter(filter, this.resourceID, configName);
607
+ }
608
+ }
584
609
  handleHidePersonalizedFilter(reloadFilterBar) {
585
610
  if (reloadFilterBar) {
586
611
  this.loadConfigFromStorage().then(() => {
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
4
4
  import { E as EPresentationMode } from './presentationMode-783bbf9d.js';
5
- import { C as ConfigStorage } from './ConfigStorage-379a9cba.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
6
6
  import { F as FilterType } from './filter-type.enum-a80c1b6b.js';
7
7
  import './form-config-fetcher-36219cd3.js';
8
8
  import './DataFetcher-aa159c5a.js';
@@ -52,7 +52,6 @@ const SnkFilterModalItem = class {
52
52
  buildSnkFilterPersonalizedProps() {
53
53
  return {
54
54
  tag: "snk-personalized-filter-editor", props: {
55
- onDeleteFilter: (event) => this.handleDeleteFilter(event.detail, FilterItemType.PERSONALIZED),
56
55
  onEditFilter: (event) => this.editPersonalizedFilter.emit(event.detail),
57
56
  onAddFilter: () => this.addPersonalizedFilter.emit(),
58
57
  }
@@ -20,6 +20,14 @@ const SnkFilterModal = class {
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 = class {
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);
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-587e9030.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-9be0e7d4.js';
4
4
  import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
5
- import './ConfigStorage-379a9cba.js';
5
+ import './ConfigStorage-1244b8b0.js';
6
6
  import './form-config-fetcher-36219cd3.js';
7
7
  import './DataFetcher-aa159c5a.js';
8
8
  import './PrintUtils-3e4ff0f5.js';
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { CheckMode } from '@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode';
5
- import { C as ConfigStorage } from './ConfigStorage-379a9cba.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
6
6
  import { O as ORDER_VALUES } from './constants-8457af36.js';
7
7
  import './form-config-fetcher-36219cd3.js';
8
8
  import './DataFetcher-aa159c5a.js';
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils, ApplicationContext, StringUtils, DataType } from '@sankhyalabs/core';
3
3
  import { SortMode, UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
4
- import { T as TaskbarElement } from './taskbar-elements-26c981af.js';
5
- import { C as ConfigStorage } from './ConfigStorage-379a9cba.js';
6
- import { P as PresentationMode } from './index-1564817d.js';
4
+ import { T as TaskbarElement } from './taskbar-elements-d4d0b424.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
6
+ import { P as PresentationMode } from './index-0ece87a6.js';
7
7
  import { T as TaskbarProcessor, o as openFieldSearch, b as buildFieldSearch } from './field-search-efbe307f.js';
8
8
  import { s as store } from './index-bdf75557.js';
9
9
  import { S as SnkMultiSelectionListDataSource } from './SnkMultiSelectionListDataSource-44494b0e.js';
@@ -26,14 +26,21 @@ const SnkGrid = class {
26
26
  this._topTaskbarProcessor = new TaskbarProcessor({
27
27
  "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
28
28
  "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
29
+ "snkGridTopTaskbar.regular.singleTaskbar": [],
29
30
  "snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"],
30
- "snkGridTopTaskbar.finish_edition.secondary": []
31
+ "snkGridTopTaskbar.finish_edition.secondary": [],
32
+ "snkGridTopTaskbar.finish_edition.singleTaskbar": [],
31
33
  });
32
34
  this._headerTaskbarProcessor = new TaskbarProcessor({
33
35
  "snkGridHeaderTaskbar.unselected": ["REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
34
36
  "snkGridHeaderTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
35
37
  "snkGridHeaderTaskbar.detail.unselected": ["REFRESH", "MORE_OPTIONS"],
36
- "snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"]
38
+ "snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"],
39
+ "snkGridHeaderTaskbar.singleTaskbar.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
40
+ "snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
41
+ "snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
42
+ "snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
43
+ "snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"]
37
44
  });
38
45
  this._dataUnit = undefined;
39
46
  this._dataState = undefined;
@@ -314,30 +321,46 @@ const SnkGrid = class {
314
321
  return invisibleButtons;
315
322
  }
316
323
  componentWillRender() {
317
- var _a;
318
324
  const invisibleButtons = this.getInvisibleButtons();
319
- const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
320
- let headerTaskbarId;
321
- if (hasSelectedRecord) {
322
- headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.selected" : "snkGridHeaderTaskbar.selected";
323
- }
324
- else {
325
- headerTaskbarId = this.isDetail ? "snkGridHeaderTaskbar.detail.unselected" : "snkGridHeaderTaskbar.unselected";
326
- }
327
- this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
325
+ this._headerTaskbarProcessor.process(this.getHeaderTaskbarId(), this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
328
326
  this._topTaskbarProcessor.process(this.getTopTaskBarId(), this.taskbarManager, this._dataState, undefined, invisibleButtons);
329
327
  this.dataExporterProviderStore();
330
328
  }
329
+ getHeaderTaskbarId() {
330
+ var _a, _b;
331
+ const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
332
+ const taskbarIdPrefixLookup = {
333
+ primary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
334
+ secondary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
335
+ singleTaskbar: this.isDetail ? "snkGridHeaderTaskbar.singleTaskbar.detail" : "snkGridHeaderTaskbar.singleTaskbar"
336
+ };
337
+ const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
338
+ let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
339
+ if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === PresentationMode.SINGLE_TASKBAR) {
340
+ headerTaskbarId = "snkGridHeaderTaskbar.singleTaskbar.finish_edition";
341
+ }
342
+ return headerTaskbarId;
343
+ }
331
344
  getTopTaskBarId() {
332
345
  var _a;
333
- const sufix = this.presentationMode === PresentationMode.SECONDARY ? ".secondary" : "";
346
+ const suffixLookup = {
347
+ primary: "",
348
+ secondary: ".secondary",
349
+ singleTaskbar: ".singleTaskbar"
350
+ };
351
+ const sufix = suffixLookup[this.presentationMode];
334
352
  if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
335
353
  return `snkGridTopTaskbar.finish_edition${sufix}`;
336
354
  }
337
355
  return `snkGridTopTaskbar.regular${sufix}`;
338
356
  }
339
357
  getPrimaryButton() {
340
- return this.presentationMode === PresentationMode.PRIMARY ? "INSERT" : "";
358
+ const primaryButtonLookup = {
359
+ primary: "INSERT",
360
+ secondary: "",
361
+ singleTaskbar: "INSERT"
362
+ };
363
+ return primaryButtonLookup[this.presentationMode];
341
364
  }
342
365
  getColumnSearch(actionButton, item) {
343
366
  if (this._columnSearch != undefined) {
@@ -388,7 +411,7 @@ const SnkGrid = class {
388
411
  return undefined;
389
412
  }
390
413
  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 &&
391
- 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 }))));
414
+ 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 }))));
392
415
  }
393
416
  get _element() { return getElement(this); }
394
417
  };
@@ -1,17 +1,17 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-a7d3d3f1.js';
2
2
  import { Action, ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-587e9030.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-9be0e7d4.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import { o as openFieldSearch, T as TaskbarProcessor, b as buildFieldSearch } from './field-search-efbe307f.js';
6
- import { T as TaskbarElement } from './taskbar-elements-26c981af.js';
6
+ import { T as TaskbarElement } from './taskbar-elements-d4d0b424.js';
7
7
  import { d as VIEW_MODE } from './constants-8457af36.js';
8
8
  import './DataFetcher-aa159c5a.js';
9
9
  import './pesquisa-fetcher-dd3ca0a5.js';
10
- import { P as PresentationMode } from './index-1564817d.js';
10
+ import { P as PresentationMode } from './index-0ece87a6.js';
11
11
  import './ISave-4412b20c.js';
12
12
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
13
13
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
14
- import './dataunit-fetcher-e218c6d2.js';
14
+ import './dataunit-fetcher-65714f21.js';
15
15
  import './PreloadManager-c1c2f2b4.js';
16
16
  import './filter-item-type.enum-d45e026f.js';
17
17
  import './form-config-fetcher-36219cd3.js';
@@ -149,7 +149,7 @@ const SnkGuidesViewer = class {
149
149
  });
150
150
  this._guides = this._guides.map(guide => {
151
151
  if (guide.id === guideItem.id) {
152
- return Object.assign(Object.assign({}, guide), guideItem);
152
+ return Object.assign(Object.assign(Object.assign({}, guide), guideItem), (guideItem.children !== undefined ? {} : { children: undefined }));
153
153
  }
154
154
  return guide;
155
155
  });
@@ -1,8 +1,8 @@
1
- export { S as snk_guides_viewer } from './snk-guides-viewer-2134aba2.js';
1
+ export { S as snk_guides_viewer } from './snk-guides-viewer-eeb8f354.js';
2
2
  import './index-a7d3d3f1.js';
3
3
  import '@sankhyalabs/core';
4
- import './SnkFormConfigManager-587e9030.js';
5
- import './ConfigStorage-379a9cba.js';
4
+ import './SnkFormConfigManager-9be0e7d4.js';
5
+ import './ConfigStorage-1244b8b0.js';
6
6
  import './form-config-fetcher-36219cd3.js';
7
7
  import './DataFetcher-aa159c5a.js';
8
8
  import './PrintUtils-3e4ff0f5.js';
@@ -10,14 +10,14 @@ import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
10
  import './filter-item-type.enum-d45e026f.js';
11
11
  import '@sankhyalabs/ezui/dist/collection/utils/form';
12
12
  import './field-search-efbe307f.js';
13
- import './taskbar-elements-26c981af.js';
14
- import './index-1564817d.js';
13
+ import './taskbar-elements-d4d0b424.js';
14
+ import './index-0ece87a6.js';
15
15
  import './index-bdf75557.js';
16
16
  import './constants-8457af36.js';
17
17
  import './pesquisa-fetcher-dd3ca0a5.js';
18
18
  import './ISave-4412b20c.js';
19
19
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
20
- import './dataunit-fetcher-e218c6d2.js';
20
+ import './dataunit-fetcher-65714f21.js';
21
21
  import './PreloadManager-c1c2f2b4.js';
22
22
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
23
23
  import './ResourceIDUtils-a114189a.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host } from './index-a7d3d3f1.js';
2
2
  import { StringUtils, ObjectUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-e2b38ef7.js';
4
- import { P as PersonalizedFilterFetcher, C as ConfigStorage } from './ConfigStorage-379a9cba.js';
4
+ import { P as PersonalizedFilterFetcher, C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
5
5
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
6
6
  import { a as FilterGroupCondition } from './index-ae591a44.js';
7
7
  import { s as store } from './index-bdf75557.js';
@@ -200,7 +200,7 @@ const SnkPersonalizedFilter = class {
200
200
  return personalizedFilter;
201
201
  }
202
202
  addFilterGroupCondition(personalizedFilter) {
203
- if (!personalizedFilter.assistent.operand) {
203
+ if (personalizedFilter.assistent && !personalizedFilter.assistent.operand) {
204
204
  personalizedFilter.assistent.operand = FilterGroupCondition.AND;
205
205
  }
206
206
  }
@@ -1,14 +1,14 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ObjectUtils, ApplicationContext, DataType, UserInterface, StringUtils, JSUtils, FloatingManager } from '@sankhyalabs/core';
3
3
  import { d as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants-8457af36.js';
4
- import { T as TaskbarElement } from './taskbar-elements-26c981af.js';
4
+ import { T as TaskbarElement } from './taskbar-elements-d4d0b424.js';
5
5
  import './DataFetcher-aa159c5a.js';
6
6
  import './pesquisa-fetcher-dd3ca0a5.js';
7
- import { P as PresentationMode } from './index-1564817d.js';
7
+ import { P as PresentationMode } from './index-0ece87a6.js';
8
8
  import './ISave-4412b20c.js';
9
9
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
10
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import { I as InMemoryLoader } from './dataunit-fetcher-e218c6d2.js';
11
+ import { I as InMemoryLoader } from './dataunit-fetcher-65714f21.js';
12
12
  import './PreloadManager-c1c2f2b4.js';
13
13
  import './filter-item-type.enum-d45e026f.js';
14
14
  import './form-config-fetcher-36219cd3.js';
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { StringUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
4
- import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-26c981af.js';
5
- import { P as PresentationMode } from './index-1564817d.js';
4
+ import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-d4d0b424.js';
5
+ import { P as PresentationMode } from './index-0ece87a6.js';
6
6
  import './index-bdf75557.js';
7
7
 
8
8
  const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
@@ -1,5 +1,5 @@
1
1
  import { h } from './index-a7d3d3f1.js';
2
- import { P as PresentationMode } from './index-1564817d.js';
2
+ import { P as PresentationMode } from './index-0ece87a6.js';
3
3
  import { s as store } from './index-bdf75557.js';
4
4
 
5
5
  var TaskbarElement;
@@ -1 +1 @@
1
- import{r as t,h as e,H as i,g as s}from"./p-d2d301a6.js";import{ApplicationContext as o,ObjectUtils as r,DataType as n,ElementIDUtils as l}from"@sankhyalabs/core";import{ApplicationUtils as a,DialogType as d}from"@sankhyalabs/ezui/dist/collection/utils";import{D as h,a as c,b as p}from"./p-5534e08c.js";import{R as u}from"./p-b0ef4383.js";import{D as m}from"./p-9695f78b.js";import{S as v}from"./p-32f0935f.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff6064e7.js";class x{constructor(t,e){this._selectedNumber=0,this._getMessage=t,this._selectedNumber=e}setExportOption(t,e){const i=this.getExportGroupName();t===h.EXPORT_TO_PDF&&e.push(this.getExportToPDF(i)),t===h.EXPORT_TO_XLS&&e.push(this.getExportToXLS(i)),this.setExportCurrentPage(t,e),this.setExportByEmail(t,e)}setExportCurrentPage(t,e){var i;const s=[h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS];if(t===h.EXPORT_CURRENT_PAGE&&e.push(this.getCurrentPage()),s.includes(t)){let s=e.find((t=>t.id===h.EXPORT_CURRENT_PAGE));null==s&&(e.push(this.getCurrentPage()),s=e.find((t=>t.id===h.EXPORT_CURRENT_PAGE))),(null===(i=null==s?void 0:s.children)||void 0===i?void 0:i.length)||(s.children=[]),t===h.EXPORT_PAGE_TO_PDF&&s.children.push(this.getExportPageToPDF()),t===h.EXPORT_PAGE_TO_XLS&&s.children.push(this.getExportPageToXLS())}}setExportByEmail(t,e){t===h.EXPORT_BY_EMAIL&&e.push(this.getExportByEmail())}getExportToPDF(t){return{id:h.EXPORT_TO_PDF,label:"PDF (.pdf)",group:t}}getExportToXLS(t){return{id:h.EXPORT_TO_XLS,label:`${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,group:t}}getCurrentPage(){return{id:h.EXPORT_CURRENT_PAGE,label:this._getMessage("snkDataExporter.label.currentPage"),group:this._getMessage("snkDataExporter.group.custom")}}getExportPageToPDF(){return{id:h.EXPORT_PAGE_TO_PDF,label:"PDF (.pdf)"}}getExportPageToXLS(){return{id:h.EXPORT_PAGE_TO_XLS,label:`${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`}}getExportByEmail(){return{id:h.EXPORT_BY_EMAIL,label:`${this._getMessage("snkDataExporter.label.sendByEmail")}...`}}getExportGroupName(){return 1===this._selectedNumber?this._getMessage("snkDataExporter.group.export.selectedLine"):this._selectedNumber>1?this._getMessage("snkDataExporter.group.export.multiSelected").replace("{0}",this._selectedNumber.toString()):this._getMessage("snkDataExporter.group.export.default")}}function f(t){var{methodName:e}=t,i=function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(s=Object.getOwnPropertySymbols(t);o<s.length;o++)e.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(t,s[o])&&(i[s[o]]=t[s[o]])}return i}(t,["methodName"]);const s=`${o.getContextValue("__SNK__APPLICATION__").getModuleName()}@DataExporterSPBean.${e}`,n={serviceName:s,requestBody:i};return new Promise(((t,e)=>{m.get().callServiceBroker(s,r.objectToString(n)).then((e=>t(function(t){var e;const i=null===(e=null==t?void 0:t.json)||void 0===e?void 0:e.$;if(null!=i)return r.stringToObject(i)}(e)))).catch((t=>e(t)))}))}const E=5e3,b=class{constructor(e){t(this,e),this._selectedNumber=0,this._customPrefix="$custom$",this._items=[],this._showDropdown=!1,this._releasedToExport=[h.EXPORT_TO_PDF,h.EXPORT_TO_XLS,h.EXPORT_BY_EMAIL,h.EXPORT_PDF_TO_EMAIL,h.EXPORT_XLS_TO_EMAIL,h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS],this.provider=null,this.messagesBuilder=void 0}async exportByEmail(){const t=this._selectedNumber;this._snkEmailSender.open({type:t>0?"selection":"all",selectedRows:t,email:{attachments:[{name:this._appLabel}]},resolver:({type:t,format:e,email:{to:i,subject:s,message:o}})=>{var r;const n=null!==(r=c[null==e?void 0:e.toUpperCase()])&&void 0!==r?r:c.PDF;this.resolveExporter({type:t,methodName:n,to:i,subject:s,message:o,fileName:this._appLabel,titleGrid:this._appLabel},(()=>{this._snkEmailSender.close(),a.info(this.getMessage("snkDataExporter.message.emailSuccess"),{iconName:"check"})}))}})}getMessage(t,e){if(null==this.messagesBuilder){const t=v.getNearestInstance(this._element);t&&(this.messagesBuilder=t.messagesBuilder)}return this.messagesBuilder.getMessage(t,e)}positionDropdown(){var t;const e=null===(t=this._ezButton)||void 0===t?void 0:t.getBoundingClientRect();null!=e&&null!=this._dropdownParent&&(this._dropdownParent.style.top=e.y+e.height+5+"px",this._dropdownParent.style.left=e.x+"px")}closeDropdown(t){const e=null==t?void 0:t.target;null!=e&&(e.closest(".snk-data-exporter")||(this._showDropdown=!1))}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}controlDropdown(){this._showDropdown=!this._showDropdown}async resolveExporter(t,e){if(null==this.provider||null==t||null==e)return;const i=this.provider.getFilters(),s=await this.provider.getColumnsMetadata(),o=this.provider.getOrders(),r=this.provider.getResourceURI(),n=this.provider.getSelectedIDs(),l=t.exportOption,d=[h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS];delete t.exportOption;let c=Object.assign({filters:i,columns:s,sort:o,resourceURI:r,selectedIDs:n.slice(0,E)},t);if(d.includes(l)||"page"==t.type){const t=this.provider.getOffset(),e=this.provider.getLimit();c=Object.assign(Object.assign({},c),{offset:t,limit:e,selectedIDs:[]})}else"all"==t.type&&(c=Object.assign(Object.assign({},c),{offset:0,limit:E,selectedIDs:[]}));f(c).then((t=>e(t))).catch((t=>a.error(this.getMessage("snkDataExporter.message.exportError"),t?t.statusMessage:this.getMessage("snkDataExporter.message.exportError"))))}getOptionKey(t){return Object.keys(h).find((e=>h[e]===t))}dispatchExporter(t){var e;const i=this.getOptionKey(t),s=null!==(e=p[i])&&void 0!==e?e:p.EXPORT_TO_PDF,r=p[i]===p.EXPORT_TO_XLS;this.resolveExporter({methodName:h[`EXPORT_TO_${s}`],fileName:this._appLabel,titleGrid:this._appLabel,exportOption:t,limit:E},(t=>{!function({fileSessionKey:t,isDownload:e}){const i=o.getContextValue("__SNK__APPLICATION__");window.open(`${window.location.protocol}//${window.location.hostname}:${window.location.port}/mge/visualizadorArquivos.mge?chaveArquivo=${t}${e?"&download=S":""}`),a.info(function(t){var e;return null===(e=null==t?void 0:t.messagesBuilder)||void 0===e?void 0:e.getMessage("fileViewer.message.exportSuccess",void 0)}(i),{iconName:"check"})}(Object.assign(Object.assign({},t),{fileType:s,isDownload:r}))}))}async processExporter(t){var e,i,s,o;const r=null==t?void 0:t.detail,n=[h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS],l=null===(e=null==r?void 0:r.id)||void 0===e?void 0:e.includes(this._customPrefix);if((null==r?void 0:r.id)===h.EXPORT_CURRENT_PAGE)return;const c=null===(i=this.provider)||void 0===i?void 0:i.getSelectedIDs(),p=null===(s=this.provider)||void 0===s?void 0:s.getTotalRecords(),u=null===(o=this.provider)||void 0===o?void 0:o.getLimit();let m=!1;if(n.includes(null==r?void 0:r.id)&&u<=E||l?m=!1:(null==c?void 0:c.length)?m=c.length>E:p>E&&(m=!0),m){const t=E.toLocaleString("pt-BR",{minimumFractionDigits:0}),e={title:this.getMessage("snkDataExporter.limitExceeded.title"),description:`\n ${this.getMessage("snkDataExporter.limitExceeded.description",{limit:t})}\n <br/><br/>\n <b>\n ${this.getMessage("snkDataExporter.limitExceeded.subdescription")}\n </b>\n `,cancel:this.getMessage("snkDataExporter.limitExceeded.cancel"),confirm:this.getMessage("snkDataExporter.limitExceeded.continue")};if(!await a.confirm(e.title,e.description,null,d.WARN,{labelCancel:e.cancel,labelConfirm:e.confirm}))return}if(l)return this.openPersonalizedReports(r.id),void(this._showDropdown=!1);this._releasedToExport.includes(null==r?void 0:r.id)&&(r.id===h.EXPORT_BY_EMAIL?this.exportByEmail():this.dispatchExporter(r.id),this._showDropdown=!1)}loadItems(){const t=[];this._releasedToExport.forEach((e=>{var i;null===(i=this._itemBuilder)||void 0===i||i.setExportOption(e,t)})),this.loadPersonalizedItems(t)}async loadPersonalizedItems(t){var e;const i=null===(e=this.provider)||void 0===e?void 0:e.getRecordID();if(null==i)return void(this._items=t);const s=await function(t){const e=`${o.getContextValue("__SNK__APPLICATION__").getModuleName()}@DataExporterSPBean.getPersonalizedReports`,i={serviceName:e,requestBody:t};return new Promise(((t,s)=>m.get().callServiceBroker(e,r.objectToString(i)).then((e=>t(function(t){var e;const i=null===(e=null==t?void 0:t.json)||void 0===e?void 0:e.$;if(null!=i)return r.stringToObject(i)}(e)))).catch((t=>s(t)))))}({recordID:i});null==s||s.forEach((e=>{t.push({id:`${this._customPrefix}_${e.ID}`,label:e.label,group:this.getMessage("snkDataExporter.group.custom")})})),this._items=t}openPersonalizedReports(t){var e;const i=[],s=(null==t?void 0:t.replace(this._customPrefix,""))||"";null===(e=this.provider)||void 0===e||e.getSelectedIDs().forEach((({name:t,type:e,value:s},o)=>{const r=[];r.fields=[],0===o&&(i[`PK_${t}`]={type:this.parseDataType(e),value:s},i.pks=[]),r.fields.push({nome:t,tipo:e,valor:s}),i.pks.push(r)})),this._application.openApp(`${u}${s}`,i)}parseDataType(t){switch(t){case n.NUMBER:return"I";case n.DATE:return"D";default:return"S"}}loadDropdown(){var t,e;this._selectedNumber=(null===(e=null===(t=this.provider)||void 0===t?void 0:t.getSelectedIDs())||void 0===e?void 0:e.length)||0,this._itemBuilder=new x(this.getMessage.bind(this),this._selectedNumber),this.loadItems()}getElementID(t){return{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:l.getInternalIDInfo(t)}}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this._items)||void 0===t?void 0:t.length)>0}componentWillLoad(){var t;this._application=o.getContextValue("__SNK__APPLICATION__"),null===(t=this._application)||void 0===t||t.getAppLabel().then((t=>this._appLabel=t)),this.setEvents()}componentDidLoad(){null!=this._element&&(l.addIDInfo(this._element),this.positionDropdown())}componentWillUpdate(){var t;this._showDropdown&&!(null===(t=this._items)||void 0===t?void 0:t.length)&&this.loadDropdown()}componentDidUpdate(){var t;this._showDropdown?this.positionDropdown():(null===(t=this._items)||void 0===t?void 0:t.length)>0&&(this._items=[])}render(){return e(i,null,e("div",{class:`snk-data-exporter\n ${this.canShowDropdown()?" ez-elevation--16":""}\n `},e("ez-button",Object.assign({ref:t=>this._ezButton=t,iconName:"file-download",size:"small",mode:"icon",title:this.getMessage("snkDataExporter.group.export.title"),onClick:()=>this.controlDropdown()},this.getElementID("button"))),e("div",Object.assign({ref:t=>this._dropdownParent=t,class:`snk-data-exporter__dropdown\n ${this.canShowDropdown()?"snk-data-exporter__dropdown--show":""}\n `},this.getElementID("dropdown")),this.canShowDropdown()&&e("ez-dropdown",Object.assign({items:this._items,onEzClick:t=>this.processExporter(t)},this.getElementID("dropdown"))))),this.canShowDropdown()&&e("div",Object.assign({class:"ez-scrim ez-scrim--light"},this.getElementID("ezScrim"))),e("snk-exporter-email-sender",Object.assign({ref:t=>this._snkEmailSender=t,getMessage:(t,e)=>this.getMessage(t,e)},this.getElementID("snkExporterEmailSender"))))}get _element(){return s(this)}};b.style=".sc-snk-data-exporter-h{display:flex;width:fit-content;height:fit-content}.snk-data-exporter.sc-snk-data-exporter{display:flex;width:fit-content;height:fit-content}.snk-data-exporter__dropdown.sc-snk-data-exporter{display:none}.snk-data-exporter__dropdown--show.sc-snk-data-exporter{display:flex;flex-direction:column;position:fixed}.snk-data-exporter__dropdown.sc-snk-data-exporter>ez-dropdown.sc-snk-data-exporter{position:relative}";export{b as snk_data_exporter}
1
+ import{r as t,h as e,H as i,g as s}from"./p-d2d301a6.js";import{ApplicationContext as o,ObjectUtils as r,DataType as n,ElementIDUtils as l}from"@sankhyalabs/core";import{ApplicationUtils as a,DialogType as d}from"@sankhyalabs/ezui/dist/collection/utils";import{D as h,a as c,b as p}from"./p-38289a55.js";import{R as u}from"./p-b0ef4383.js";import{D as m}from"./p-9695f78b.js";import{S as v}from"./p-32f0935f.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff6064e7.js";class x{constructor(t,e){this._selectedNumber=0,this._getMessage=t,this._selectedNumber=e}setExportOption(t,e){const i=this.getExportGroupName();t===h.EXPORT_TO_PDF&&e.push(this.getExportToPDF(i)),t===h.EXPORT_TO_XLS&&e.push(this.getExportToXLS(i)),this.setExportCurrentPage(t,e),this.setExportByEmail(t,e)}setExportCurrentPage(t,e){var i;const s=[h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS];if(t===h.EXPORT_CURRENT_PAGE&&e.push(this.getCurrentPage()),s.includes(t)){let s=e.find((t=>t.id===h.EXPORT_CURRENT_PAGE));null==s&&(e.push(this.getCurrentPage()),s=e.find((t=>t.id===h.EXPORT_CURRENT_PAGE))),(null===(i=null==s?void 0:s.children)||void 0===i?void 0:i.length)||(s.children=[]),t===h.EXPORT_PAGE_TO_PDF&&s.children.push(this.getExportPageToPDF()),t===h.EXPORT_PAGE_TO_XLS&&s.children.push(this.getExportPageToXLS())}}setExportByEmail(t,e){t===h.EXPORT_BY_EMAIL&&e.push(this.getExportByEmail())}getExportToPDF(t){return{id:h.EXPORT_TO_PDF,label:"PDF (.pdf)",group:t}}getExportToXLS(t){return{id:h.EXPORT_TO_XLS,label:`${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,group:t}}getCurrentPage(){return{id:h.EXPORT_CURRENT_PAGE,label:this._getMessage("snkDataExporter.label.currentPage"),group:this._getMessage("snkDataExporter.group.custom")}}getExportPageToPDF(){return{id:h.EXPORT_PAGE_TO_PDF,label:"PDF (.pdf)"}}getExportPageToXLS(){return{id:h.EXPORT_PAGE_TO_XLS,label:`${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`}}getExportByEmail(){return{id:h.EXPORT_BY_EMAIL,label:`${this._getMessage("snkDataExporter.label.sendByEmail")}...`}}getExportGroupName(){return 1===this._selectedNumber?this._getMessage("snkDataExporter.group.export.selectedLine"):this._selectedNumber>1?this._getMessage("snkDataExporter.group.export.multiSelected").replace("{0}",this._selectedNumber.toString()):this._getMessage("snkDataExporter.group.export.default")}}function f(t){var{methodName:e}=t,i=function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(s=Object.getOwnPropertySymbols(t);o<s.length;o++)e.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(t,s[o])&&(i[s[o]]=t[s[o]])}return i}(t,["methodName"]);const s=`${o.getContextValue("__SNK__APPLICATION__").getModuleName()}@DataExporterSPBean.${e}`,n={serviceName:s,requestBody:i};return new Promise(((t,e)=>{m.get().callServiceBroker(s,r.objectToString(n)).then((e=>t(function(t){var e;const i=null===(e=null==t?void 0:t.json)||void 0===e?void 0:e.$;if(null!=i)return r.stringToObject(i)}(e)))).catch((t=>e(t)))}))}const E=5e3,b=class{constructor(e){t(this,e),this._selectedNumber=0,this._customPrefix="$custom$",this._items=[],this._showDropdown=!1,this._releasedToExport=[h.EXPORT_TO_PDF,h.EXPORT_TO_XLS,h.EXPORT_BY_EMAIL,h.EXPORT_PDF_TO_EMAIL,h.EXPORT_XLS_TO_EMAIL,h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS],this.provider=null,this.messagesBuilder=void 0}async exportByEmail(){const t=this._selectedNumber;this._snkEmailSender.open({type:t>0?"selection":"all",selectedRows:t,email:{attachments:[{name:this._appLabel}]},resolver:({type:t,format:e,email:{to:i,subject:s,message:o}})=>{var r;const n=null!==(r=c[null==e?void 0:e.toUpperCase()])&&void 0!==r?r:c.PDF;this.resolveExporter({type:t,methodName:n,to:i,subject:s,message:o,fileName:this._appLabel,titleGrid:this._appLabel},(()=>{this._snkEmailSender.close(),a.info(this.getMessage("snkDataExporter.message.emailSuccess"),{iconName:"check"})}))}})}getMessage(t,e){if(null==this.messagesBuilder){const t=v.getNearestInstance(this._element);t&&(this.messagesBuilder=t.messagesBuilder)}return this.messagesBuilder.getMessage(t,e)}positionDropdown(){var t;const e=null===(t=this._ezButton)||void 0===t?void 0:t.getBoundingClientRect();null!=e&&null!=this._dropdownParent&&(this._dropdownParent.style.top=e.y+e.height+5+"px",this._dropdownParent.style.left=e.x+"px")}closeDropdown(t){const e=null==t?void 0:t.target;null!=e&&(e.closest(".snk-data-exporter")||(this._showDropdown=!1))}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}controlDropdown(){this._showDropdown=!this._showDropdown}async resolveExporter(t,e){if(null==this.provider||null==t||null==e)return;const i=this.provider.getFilters(),s=await this.provider.getColumnsMetadata(),o=this.provider.getOrders(),r=this.provider.getResourceURI(),n=this.provider.getSelectedIDs(),l=t.exportOption,d=[h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS];delete t.exportOption;let c=Object.assign({filters:i,columns:s,sort:o,resourceURI:r,selectedIDs:n.slice(0,E)},t);if(d.includes(l)||"page"==t.type){const t=this.provider.getOffset(),e=this.provider.getLimit();c=Object.assign(Object.assign({},c),{offset:t,limit:e,selectedIDs:[]})}else"all"==t.type&&(c=Object.assign(Object.assign({},c),{offset:0,limit:E,selectedIDs:[]}));f(c).then((t=>e(t))).catch((t=>a.error(this.getMessage("snkDataExporter.message.exportError"),t?t.statusMessage:this.getMessage("snkDataExporter.message.exportError"))))}getOptionKey(t){return Object.keys(h).find((e=>h[e]===t))}dispatchExporter(t){var e;const i=this.getOptionKey(t),s=null!==(e=p[i])&&void 0!==e?e:p.EXPORT_TO_PDF,r=p[i]===p.EXPORT_TO_XLS;this.resolveExporter({methodName:h[`EXPORT_TO_${s}`],fileName:this._appLabel,titleGrid:this._appLabel,exportOption:t,limit:E},(t=>{!function({fileSessionKey:t,isDownload:e}){const i=o.getContextValue("__SNK__APPLICATION__");window.open(`${window.location.protocol}//${window.location.hostname}:${window.location.port}/mge/visualizadorArquivos.mge?chaveArquivo=${t}${e?"&download=S":""}`),a.info(function(t){var e;return null===(e=null==t?void 0:t.messagesBuilder)||void 0===e?void 0:e.getMessage("fileViewer.message.exportSuccess",void 0)}(i),{iconName:"check"})}(Object.assign(Object.assign({},t),{fileType:s,isDownload:r}))}))}async processExporter(t){var e,i,s,o;const r=null==t?void 0:t.detail,n=[h.EXPORT_PAGE_TO_PDF,h.EXPORT_PAGE_TO_XLS],l=null===(e=null==r?void 0:r.id)||void 0===e?void 0:e.includes(this._customPrefix);if((null==r?void 0:r.id)===h.EXPORT_CURRENT_PAGE)return;const c=null===(i=this.provider)||void 0===i?void 0:i.getSelectedIDs(),p=null===(s=this.provider)||void 0===s?void 0:s.getTotalRecords(),u=null===(o=this.provider)||void 0===o?void 0:o.getLimit();let m=!1;if(n.includes(null==r?void 0:r.id)&&u<=E||l?m=!1:(null==c?void 0:c.length)?m=c.length>E:p>E&&(m=!0),m){const t=E.toLocaleString("pt-BR",{minimumFractionDigits:0}),e={title:this.getMessage("snkDataExporter.limitExceeded.title"),description:`\n ${this.getMessage("snkDataExporter.limitExceeded.description",{limit:t})}\n <br/><br/>\n <b>\n ${this.getMessage("snkDataExporter.limitExceeded.subdescription")}\n </b>\n `,cancel:this.getMessage("snkDataExporter.limitExceeded.cancel"),confirm:this.getMessage("snkDataExporter.limitExceeded.continue")};if(!await a.confirm(e.title,e.description,null,d.WARN,{labelCancel:e.cancel,labelConfirm:e.confirm}))return}if(l)return this.openPersonalizedReports(r.id),void(this._showDropdown=!1);this._releasedToExport.includes(null==r?void 0:r.id)&&(r.id===h.EXPORT_BY_EMAIL?this.exportByEmail():this.dispatchExporter(r.id),this._showDropdown=!1)}loadItems(){const t=[];this._releasedToExport.forEach((e=>{var i;null===(i=this._itemBuilder)||void 0===i||i.setExportOption(e,t)})),this.loadPersonalizedItems(t)}async loadPersonalizedItems(t){var e;const i=null===(e=this.provider)||void 0===e?void 0:e.getRecordID();if(null==i)return void(this._items=t);const s=await function(t){const e=`${o.getContextValue("__SNK__APPLICATION__").getModuleName()}@DataExporterSPBean.getPersonalizedReports`,i={serviceName:e,requestBody:t};return new Promise(((t,s)=>m.get().callServiceBroker(e,r.objectToString(i)).then((e=>t(function(t){var e;const i=null===(e=null==t?void 0:t.json)||void 0===e?void 0:e.$;if(null!=i)return r.stringToObject(i)}(e)))).catch((t=>s(t)))))}({recordID:i});null==s||s.forEach((e=>{t.push({id:`${this._customPrefix}_${e.ID}`,label:e.label,group:this.getMessage("snkDataExporter.group.custom")})})),this._items=t}openPersonalizedReports(t){var e;const i=[],s=(null==t?void 0:t.replace(this._customPrefix,""))||"";null===(e=this.provider)||void 0===e||e.getSelectedIDs().forEach((({name:t,type:e,value:s},o)=>{const r=[];r.fields=[],0===o&&(i[`PK_${t}`]={type:this.parseDataType(e),value:s},i.pks=[]),r.fields.push({nome:t,tipo:e,valor:s}),i.pks.push(r)})),this._application.openApp(`${u}${s}`,i)}parseDataType(t){switch(t){case n.NUMBER:return"I";case n.DATE:return"D";default:return"S"}}loadDropdown(){var t,e;this._selectedNumber=(null===(e=null===(t=this.provider)||void 0===t?void 0:t.getSelectedIDs())||void 0===e?void 0:e.length)||0,this._itemBuilder=new x(this.getMessage.bind(this),this._selectedNumber),this.loadItems()}getElementID(t){return{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:l.getInternalIDInfo(t)}}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this._items)||void 0===t?void 0:t.length)>0}componentWillLoad(){var t;this._application=o.getContextValue("__SNK__APPLICATION__"),null===(t=this._application)||void 0===t||t.getAppLabel().then((t=>this._appLabel=t)),this.setEvents()}componentDidLoad(){null!=this._element&&(l.addIDInfo(this._element),this.positionDropdown())}componentWillUpdate(){var t;this._showDropdown&&!(null===(t=this._items)||void 0===t?void 0:t.length)&&this.loadDropdown()}componentDidUpdate(){var t;this._showDropdown?this.positionDropdown():(null===(t=this._items)||void 0===t?void 0:t.length)>0&&(this._items=[])}render(){return e(i,null,e("div",{class:`snk-data-exporter\n ${this.canShowDropdown()?" ez-elevation--16":""}\n `},e("ez-button",Object.assign({ref:t=>this._ezButton=t,iconName:"file-download",size:"small",mode:"icon",title:this.getMessage("snkDataExporter.group.export.title"),onClick:()=>this.controlDropdown()},this.getElementID("button"))),e("div",Object.assign({ref:t=>this._dropdownParent=t,class:`snk-data-exporter__dropdown\n ${this.canShowDropdown()?"snk-data-exporter__dropdown--show":""}\n `},this.getElementID("dropdown")),this.canShowDropdown()&&e("ez-dropdown",Object.assign({items:this._items,onEzClick:t=>this.processExporter(t)},this.getElementID("dropdown"))))),this.canShowDropdown()&&e("div",Object.assign({class:"ez-scrim ez-scrim--light"},this.getElementID("ezScrim"))),e("snk-exporter-email-sender",Object.assign({ref:t=>this._snkEmailSender=t,getMessage:(t,e)=>this.getMessage(t,e)},this.getElementID("snkExporterEmailSender"))))}get _element(){return s(this)}};b.style=".sc-snk-data-exporter-h{display:flex;width:fit-content;height:fit-content}.snk-data-exporter.sc-snk-data-exporter{display:flex;width:fit-content;height:fit-content}.snk-data-exporter__dropdown.sc-snk-data-exporter{display:none}.snk-data-exporter__dropdown--show.sc-snk-data-exporter{display:flex;flex-direction:column;position:fixed}.snk-data-exporter__dropdown.sc-snk-data-exporter>ez-dropdown.sc-snk-data-exporter{position:relative}";export{b as snk_data_exporter}
@@ -1 +1 @@
1
- import{r as i,c as t,h as n,H as s,g as o}from"./p-d2d301a6.js";import{StringUtils as r,ElementIDUtils as e}from"@sankhyalabs/core";import{ApplicationUtils as l,DialogType as a}from"@sankhyalabs/ezui/dist/collection/utils";import{CheckMode as d}from"@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode";import{C as c}from"./p-4396d1a6.js";import{O as g}from"./p-b0ef4383.js";import"./p-0d7863ed.js";import"./p-9695f78b.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";const h=class{constructor(n){i(this,n),this.configChange=t(this,"configChange",7),this.configCancel=t(this,"configCancel",7),this._orderListItems=[],this._orderPriorityList=[],this._columListItems=[],this._selectedIndex=-1,this._dataChanged=!1,this._componenteInternalKey=Date.now(),this.selectedIndex=0,this.application=void 0,this.columns=void 0,this.config=void 0,this.configName=void 0,this.resourceID=void 0}getMessage(i,t){return this.application.messagesBuilder.getMessage(i,t)}createOrderList(){let i=[];this.columns.filter((i=>{var t;return r.getBooleanValue(null===(t=null==i?void 0:i.props)||void 0===t?void 0:t.get("sortable"),!0)})).forEach((t=>{var n;let s=null===(n=this.config)||void 0===n?void 0:n.columns.find((i=>i.name===t.name)),o={name:t.name,label:t.label};s&&(o.orderIndex=s.orderIndex,o.ascending=s.ascending),t.hidden||i.push(o)})),i.sort(((i,t)=>0!=i.orderIndex||0!=t.orderIndex||null==i.ascending&&null==t.ascending?null!=i.ascending&&null!=t.ascending?i.orderIndex-t.orderIndex:null!=i.ascending||null!=t.ascending?null!=i.ascending?-1:null!=t.ascending?1:0:i.orderIndex-t.orderIndex:null!=i.ascending?-1:null!=t.ascending?1:0)),this._orderListItems=i}createColumnList(){let i={group:this.getMessage("snkGridConfig.group.visible"),items:[]},t={group:this.getMessage("snkGridConfig.group.hidden"),items:[],sort:g.asc.value};this.columns.forEach((n=>{let s={label:n.label};n.hidden?t.items.push(s):i.items.push(s)})),this._columListItems=[i,t]}buildColumnListSlot(i,t){const s=`configItem_${r.replaceAccentuatedChars(r.toCamelCase(i.label))}`;return n("div",null,n("ez-check",{mode:d.SWITCH,id:d.SWITCH+((null==i?void 0:i.label)||"")+((null==t?void 0:t.group)||""),value:t.group===this.getMessage("snkGridConfig.group.visible"),"data-element-id":s,onEzChange:t=>{this.switchColumnGroup(t,i)}}))}buildOrderListSlot(i){const t=`${this._element.getAttribute(e.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${r.toCamelCase(i.label)}`;let s=g.none.value;return null!=(null==i?void 0:i.ascending)&&(s=1==i.ascending?g.asc.value:g.desc.value),n("div",null,n("snk-select-box",{selectedOption:s,key:"snk-select-box-"+this._componenteInternalKey+"-"+i,"data-element-id":t,onEzChange:t=>{t.stopPropagation(),this.updateOrder(t.detail,i.label)}}))}updateOrder(i,t){var n;this._dataChanged=!0;let s,o=[...this.columns],r=o.find((i=>i.label===t));r&&(r.sort=i.value===g.none.value?void 0:i.value),(null===(n=this._orderPriorityList)||void 0===n?void 0:n.length)>0?(this._orderPriorityList.find((i=>i.label===r.label)).sort=i,this._orderPriorityList.filter((i=>i.sort)).map(((i,t)=>{i.label===r.label&&(r.sortIndex=t)}))):(s=o.filter((i=>i.sort&&!0!==i.hidden)).map(((i,t)=>({label:i.label,orderIndex:t}))),s.forEach((i=>{o.find((t=>t.label===i.label)).sortIndex=i.orderIndex}))),this.columns=o}switchColumnGroup(i,t){i.stopPropagation();let n=[...this._columListItems];if(this._dataChanged=!0,!0===i.detail){let i=n.find((i=>i.group===this.getMessage("snkGridConfig.group.hidden"))),s=i.items.findIndex((i=>i.label===t.label));s>=0&&i.items.splice(s,1),n.find((i=>i.group===this.getMessage("snkGridConfig.group.visible"))).items.push(t),this._columListItems=n,this.createOrderList()}else if(!1===i.detail){let i=n.find((i=>i.group===this.getMessage("snkGridConfig.group.visible"))),s=i.items.findIndex((i=>i.label===t.label));s>=0&&i.items.splice(s,1),n.find((i=>i.group===this.getMessage("snkGridConfig.group.hidden"))).items.push(t),this._columListItems=n,this.createOrderList()}}finish(){if(!this._dataChanged)return void this.closeConfig();let i=[];this._columListItems.forEach((t=>{t.items.forEach((n=>{const s=this.columns.find((i=>i.label===n.label));let o=Object.assign({},s);o.hidden=t.group===this.getMessage("snkGridConfig.group.hidden"),i.push(o)}))})),this.columns=i,this._dataChanged=!1,this.closeConfig(),this.save()}save(){var i;let t;t=this.config?this.config:this.createConfigFromState(this.columns);let n,s=[];if((null===(i=this._orderPriorityList)||void 0===i?void 0:i.length)>0){n=this.columns.filter((i=>i.sort&&!0!==i.hidden)).map((i=>({label:i.label,orderIndex:0})));let i=0,t=[];this._orderPriorityList.forEach((s=>{let o=n.find((i=>i.label===s.label));o&&(o.orderIndex=i,t.push(o),i++)})),t.length>0&&(n=t)}for(let i=0;i<this.columns.length;i++){const r=this.columns[i];let e=t.columns.find((i=>r.name===i.name));!0===r.hidden&&e||(e?e.width=r.width:!1===r.hidden&&(e={name:r.name,width:r.width,orderIndex:0}),e&&(r.sort?(e.ascending=r.sort.toUpperCase()===g.asc.value,n?o(r,e):e.orderIndex=r.sortIndex):(delete e.ascending,e.orderIndex=0),s.push(e)))}function o(i,t){if(n){let s=n.find((t=>t.label===i.label));s&&(t.orderIndex=s.orderIndex)}}t.columns=s,c.saveGridConfig(t,this.configName,this.resourceID).then((i=>{this.configChange.emit(i),this._orderList.clearHistory(),l.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"),{iconName:"check"})}))}createConfigFromState(i){let t={columns:[]};return i.forEach((i=>{if(!i.hidden){let n={name:i.name};i.width&&(n.width=i.width),i.sort?(n.ascending=i.sort.toUpperCase()===g.asc.value,n.orderIndex=i.sortIndex):n.orderIndex=0,n&&t.columns.push(n)}})),t}async locateColumn(i,t){var n;const s="Enter"===i.key;t||(t=null===(n=i.currentTarget)||void 0===n?void 0:n.value);let o=-1;if(1===this.selectedIndex)if(t){const i=[];let n,r;if(await this._orderList.getList().then((s=>{n=s,n.forEach(((n,s)=>{this.compareWords(n,t)&&i.push(s)}))})),i.length>0){if(s)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){o=i[t];break}-1===o&&(o=i[0])}this._selectedIndex=o,r=n[o],r?this._orderList.setSelection(r,!0):this._orderList.removeSelection()}else this._orderList.removeSelection();else if(t){const i=[];if(this.columns.forEach(((n,s)=>{this.compareWords(n,t)&&i.push(s)})),i.length>0){if(s)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){o=i[t];break}-1===o&&(o=i[0])}this._selectedIndex=o;let n=this.columns[o];if(n){const i=this._columListItems.map((i=>i.items)).flat().find((i=>i.label===n.label));i&&this._columnList.setSelection(i,!0)}else this._columnList.removeSelection()}else this._columnList.removeSelection()}compareWords(i,t){var n,s;const o=null===(n=r.replaceAccentuatedChars(null==i?void 0:i.label))||void 0===n?void 0:n.toUpperCase(),e=null===(s=r.replaceAccentuatedChars(t))||void 0===s?void 0:s.toUpperCase();return!r.isEmpty(o)&&!r.isEmpty(e)&&o.includes(e)}getColumnNames(){const i=[];return i.push(this.getMessage("snkGridConfig.tab.columns")),i.push(this.getMessage("snkGridConfig.tab.lineOrdering")),i.join(",")}closeConfig(){if(this._orderList.scrollToTop(),this._columnList.scrollToTop(),this._searchElement.value="",this._dataChanged){let i={canClose:!1,labelCancel:this.getMessage("snkGridConfig.confirm.cancel"),labelConfirm:this.getMessage("snkGridConfig.confirm.save"),btnConfirmDanger:!1};l.confirm(this.getMessage("snkGridConfig.confirm.alert"),this.getMessage("snkGridConfig.confirm.msgCancel"),null,a.WARN,i).then((i=>{i?this.finish():(this._dataChanged=!1,this.configCancel.emit(),this._orderList.clearHistory(),this._componenteInternalKey=Date.now())}))}else this.configCancel.emit(),this._orderList.clearHistory()}handleTabChange(i){null!=(null==i?void 0:i.index)&&(this.selectedIndex!==i.index&&(0===i.index?this._orderList.scrollToTop():1===i.index&&this._columnList.scrollToTop(),this._searchElement.value=""),1===i.index&&this.createOrderList(),this.selectedIndex=i.index)}handleColumnListChange(i){var t;if(i.detail){let n=null===(t=i.detail.find((i=>i.group===this.getMessage("snkGridConfig.group.visible"))))||void 0===t?void 0:t.items;n&&(this._dataChanged=!0,this._orderListItems=n)}}handleOrderListChange(i){if(i.detail){let t=i.detail;t&&(this._dataChanged=!0,this._orderPriorityList=t)}}componentWillRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.createColumnList()}componentDidRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.locateColumn(new KeyboardEvent("arrow-right",{key:"ArrowRight"}),this._searchElement.value)}componentDidLoad(){e.addIDInfo(this._element)}render(){return n(s,null,n("div",{class:"grid-config__header"},n("div",{class:"title-container"},n("div",{class:""},n("label",{class:"title"},this.getMessage("snkGridConfig.gridConfiguration")),n("label",{class:"subtitle"},this.getMessage("snkGridConfig.columnVisibilityOrder"))),n("div",{class:"button-close"},n("ez-button",{mode:"icon",iconName:"close",size:"medium",onClick:()=>this.closeConfig()}))),n("div",{class:"tabselector-container"},n("ez-tabselector",{selectedIndex:this.selectedIndex,onEzChange:i=>{this.handleTabChange(i.detail)},tabs:this.getColumnNames()})),n("div",null,n("ez-text-input",{"data-element-id":"searchColums",ref:i=>this._searchElement=i,label:this.getMessage("snkGridConfig.findColumn"),onKeyUp:i=>this.locateColumn(i)},n("ez-icon",{slot:"leftIcon",size:"medium",iconName:"search"})))),n("div",{class:"grid-config__main"},n("ez-list",{ref:i=>this._columnList=i,class:0===this.selectedIndex?"":"hidden",dataSource:this._columListItems,onEzChange:i=>this.handleColumnListChange(i),ezDraggable:!0,ezSelectable:!0,itemSlotBuilder:(i,t)=>this.buildColumnListSlot(i,t),useGroups:!0,"data-element-id":"configCols"}),n("div",{class:1===this.selectedIndex?"group-name":"hidden"},this.getMessage("snkGridConfig.info.sortingSequence")),n("ez-list",{ref:i=>this._orderList=i,class:1===this.selectedIndex?"height-calc":"hidden",dataSource:this._orderListItems,ezSelectable:!0,onEzChange:i=>this.handleOrderListChange(i),ezDraggable:!0,itemSlotBuilder:i=>this.buildOrderListSlot(i),"data-element-id":"configDataOrder"})),n("div",{class:"grid-config__footer"},n("ez-button",{class:"padding-right--medium",label:this.getMessage("snkGridConfig.cancel"),onClick:()=>this.closeConfig()}),n("ez-button",{label:this.getMessage("snkGridConfig.complete"),class:"ez-button--primary",onClick:()=>this.finish()})))}static get assetsDirs(){return["../assets"]}get _element(){return o(this)}};h.style='.sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, "Roboto");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, "Roboto");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, "Roboto");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.sc-snk-grid-config-h{width:359px;max-width:359px}}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background);padding-right:var(--snk-grid-config__main--padding-right)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar{width:var(--snk-grid-config__scrollbar--width);max-width:var(--snk-grid-config__scrollbar--width);min-width:var(--snk-grid-config__scrollbar--width);background-color:var(--snk-grid-config__scrollbar--color-background)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-track{background-color:var(--snk-grid-config__scrollbar--color-background);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb{background-color:var(--snk-grid-config__scrollbar--color-default);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:hover,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-grid-config__scrollbar--color-hover)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:active,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-grid-config__scrollbar--color-clicked)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}';export{h as snk_grid_config}
1
+ import{r as i,c as t,h as n,H as s,g as o}from"./p-d2d301a6.js";import{StringUtils as r,ElementIDUtils as e}from"@sankhyalabs/core";import{ApplicationUtils as l,DialogType as a}from"@sankhyalabs/ezui/dist/collection/utils";import{CheckMode as d}from"@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode";import{C as c}from"./p-585294ee.js";import{O as g}from"./p-b0ef4383.js";import"./p-0d7863ed.js";import"./p-9695f78b.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";const h=class{constructor(n){i(this,n),this.configChange=t(this,"configChange",7),this.configCancel=t(this,"configCancel",7),this._orderListItems=[],this._orderPriorityList=[],this._columListItems=[],this._selectedIndex=-1,this._dataChanged=!1,this._componenteInternalKey=Date.now(),this.selectedIndex=0,this.application=void 0,this.columns=void 0,this.config=void 0,this.configName=void 0,this.resourceID=void 0}getMessage(i,t){return this.application.messagesBuilder.getMessage(i,t)}createOrderList(){let i=[];this.columns.filter((i=>{var t;return r.getBooleanValue(null===(t=null==i?void 0:i.props)||void 0===t?void 0:t.get("sortable"),!0)})).forEach((t=>{var n;let s=null===(n=this.config)||void 0===n?void 0:n.columns.find((i=>i.name===t.name)),o={name:t.name,label:t.label};s&&(o.orderIndex=s.orderIndex,o.ascending=s.ascending),t.hidden||i.push(o)})),i.sort(((i,t)=>0!=i.orderIndex||0!=t.orderIndex||null==i.ascending&&null==t.ascending?null!=i.ascending&&null!=t.ascending?i.orderIndex-t.orderIndex:null!=i.ascending||null!=t.ascending?null!=i.ascending?-1:null!=t.ascending?1:0:i.orderIndex-t.orderIndex:null!=i.ascending?-1:null!=t.ascending?1:0)),this._orderListItems=i}createColumnList(){let i={group:this.getMessage("snkGridConfig.group.visible"),items:[]},t={group:this.getMessage("snkGridConfig.group.hidden"),items:[],sort:g.asc.value};this.columns.forEach((n=>{let s={label:n.label};n.hidden?t.items.push(s):i.items.push(s)})),this._columListItems=[i,t]}buildColumnListSlot(i,t){const s=`configItem_${r.replaceAccentuatedChars(r.toCamelCase(i.label))}`;return n("div",null,n("ez-check",{mode:d.SWITCH,id:d.SWITCH+((null==i?void 0:i.label)||"")+((null==t?void 0:t.group)||""),value:t.group===this.getMessage("snkGridConfig.group.visible"),"data-element-id":s,onEzChange:t=>{this.switchColumnGroup(t,i)}}))}buildOrderListSlot(i){const t=`${this._element.getAttribute(e.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${r.toCamelCase(i.label)}`;let s=g.none.value;return null!=(null==i?void 0:i.ascending)&&(s=1==i.ascending?g.asc.value:g.desc.value),n("div",null,n("snk-select-box",{selectedOption:s,key:"snk-select-box-"+this._componenteInternalKey+"-"+i,"data-element-id":t,onEzChange:t=>{t.stopPropagation(),this.updateOrder(t.detail,i.label)}}))}updateOrder(i,t){var n;this._dataChanged=!0;let s,o=[...this.columns],r=o.find((i=>i.label===t));r&&(r.sort=i.value===g.none.value?void 0:i.value),(null===(n=this._orderPriorityList)||void 0===n?void 0:n.length)>0?(this._orderPriorityList.find((i=>i.label===r.label)).sort=i,this._orderPriorityList.filter((i=>i.sort)).map(((i,t)=>{i.label===r.label&&(r.sortIndex=t)}))):(s=o.filter((i=>i.sort&&!0!==i.hidden)).map(((i,t)=>({label:i.label,orderIndex:t}))),s.forEach((i=>{o.find((t=>t.label===i.label)).sortIndex=i.orderIndex}))),this.columns=o}switchColumnGroup(i,t){i.stopPropagation();let n=[...this._columListItems];if(this._dataChanged=!0,!0===i.detail){let i=n.find((i=>i.group===this.getMessage("snkGridConfig.group.hidden"))),s=i.items.findIndex((i=>i.label===t.label));s>=0&&i.items.splice(s,1),n.find((i=>i.group===this.getMessage("snkGridConfig.group.visible"))).items.push(t),this._columListItems=n,this.createOrderList()}else if(!1===i.detail){let i=n.find((i=>i.group===this.getMessage("snkGridConfig.group.visible"))),s=i.items.findIndex((i=>i.label===t.label));s>=0&&i.items.splice(s,1),n.find((i=>i.group===this.getMessage("snkGridConfig.group.hidden"))).items.push(t),this._columListItems=n,this.createOrderList()}}finish(){if(!this._dataChanged)return void this.closeConfig();let i=[];this._columListItems.forEach((t=>{t.items.forEach((n=>{const s=this.columns.find((i=>i.label===n.label));let o=Object.assign({},s);o.hidden=t.group===this.getMessage("snkGridConfig.group.hidden"),i.push(o)}))})),this.columns=i,this._dataChanged=!1,this.closeConfig(),this.save()}save(){var i;let t;t=this.config?this.config:this.createConfigFromState(this.columns);let n,s=[];if((null===(i=this._orderPriorityList)||void 0===i?void 0:i.length)>0){n=this.columns.filter((i=>i.sort&&!0!==i.hidden)).map((i=>({label:i.label,orderIndex:0})));let i=0,t=[];this._orderPriorityList.forEach((s=>{let o=n.find((i=>i.label===s.label));o&&(o.orderIndex=i,t.push(o),i++)})),t.length>0&&(n=t)}for(let i=0;i<this.columns.length;i++){const r=this.columns[i];let e=t.columns.find((i=>r.name===i.name));!0===r.hidden&&e||(e?e.width=r.width:!1===r.hidden&&(e={name:r.name,width:r.width,orderIndex:0}),e&&(r.sort?(e.ascending=r.sort.toUpperCase()===g.asc.value,n?o(r,e):e.orderIndex=r.sortIndex):(delete e.ascending,e.orderIndex=0),s.push(e)))}function o(i,t){if(n){let s=n.find((t=>t.label===i.label));s&&(t.orderIndex=s.orderIndex)}}t.columns=s,c.saveGridConfig(t,this.configName,this.resourceID).then((i=>{this.configChange.emit(i),this._orderList.clearHistory(),l.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"),{iconName:"check"})}))}createConfigFromState(i){let t={columns:[]};return i.forEach((i=>{if(!i.hidden){let n={name:i.name};i.width&&(n.width=i.width),i.sort?(n.ascending=i.sort.toUpperCase()===g.asc.value,n.orderIndex=i.sortIndex):n.orderIndex=0,n&&t.columns.push(n)}})),t}async locateColumn(i,t){var n;const s="Enter"===i.key;t||(t=null===(n=i.currentTarget)||void 0===n?void 0:n.value);let o=-1;if(1===this.selectedIndex)if(t){const i=[];let n,r;if(await this._orderList.getList().then((s=>{n=s,n.forEach(((n,s)=>{this.compareWords(n,t)&&i.push(s)}))})),i.length>0){if(s)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){o=i[t];break}-1===o&&(o=i[0])}this._selectedIndex=o,r=n[o],r?this._orderList.setSelection(r,!0):this._orderList.removeSelection()}else this._orderList.removeSelection();else if(t){const i=[];if(this.columns.forEach(((n,s)=>{this.compareWords(n,t)&&i.push(s)})),i.length>0){if(s)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){o=i[t];break}-1===o&&(o=i[0])}this._selectedIndex=o;let n=this.columns[o];if(n){const i=this._columListItems.map((i=>i.items)).flat().find((i=>i.label===n.label));i&&this._columnList.setSelection(i,!0)}else this._columnList.removeSelection()}else this._columnList.removeSelection()}compareWords(i,t){var n,s;const o=null===(n=r.replaceAccentuatedChars(null==i?void 0:i.label))||void 0===n?void 0:n.toUpperCase(),e=null===(s=r.replaceAccentuatedChars(t))||void 0===s?void 0:s.toUpperCase();return!r.isEmpty(o)&&!r.isEmpty(e)&&o.includes(e)}getColumnNames(){const i=[];return i.push(this.getMessage("snkGridConfig.tab.columns")),i.push(this.getMessage("snkGridConfig.tab.lineOrdering")),i.join(",")}closeConfig(){if(this._orderList.scrollToTop(),this._columnList.scrollToTop(),this._searchElement.value="",this._dataChanged){let i={canClose:!1,labelCancel:this.getMessage("snkGridConfig.confirm.cancel"),labelConfirm:this.getMessage("snkGridConfig.confirm.save"),btnConfirmDanger:!1};l.confirm(this.getMessage("snkGridConfig.confirm.alert"),this.getMessage("snkGridConfig.confirm.msgCancel"),null,a.WARN,i).then((i=>{i?this.finish():(this._dataChanged=!1,this.configCancel.emit(),this._orderList.clearHistory(),this._componenteInternalKey=Date.now())}))}else this.configCancel.emit(),this._orderList.clearHistory()}handleTabChange(i){null!=(null==i?void 0:i.index)&&(this.selectedIndex!==i.index&&(0===i.index?this._orderList.scrollToTop():1===i.index&&this._columnList.scrollToTop(),this._searchElement.value=""),1===i.index&&this.createOrderList(),this.selectedIndex=i.index)}handleColumnListChange(i){var t;if(i.detail){let n=null===(t=i.detail.find((i=>i.group===this.getMessage("snkGridConfig.group.visible"))))||void 0===t?void 0:t.items;n&&(this._dataChanged=!0,this._orderListItems=n)}}handleOrderListChange(i){if(i.detail){let t=i.detail;t&&(this._dataChanged=!0,this._orderPriorityList=t)}}componentWillRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.createColumnList()}componentDidRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.locateColumn(new KeyboardEvent("arrow-right",{key:"ArrowRight"}),this._searchElement.value)}componentDidLoad(){e.addIDInfo(this._element)}render(){return n(s,null,n("div",{class:"grid-config__header"},n("div",{class:"title-container"},n("div",{class:""},n("label",{class:"title"},this.getMessage("snkGridConfig.gridConfiguration")),n("label",{class:"subtitle"},this.getMessage("snkGridConfig.columnVisibilityOrder"))),n("div",{class:"button-close"},n("ez-button",{mode:"icon",iconName:"close",size:"medium",onClick:()=>this.closeConfig()}))),n("div",{class:"tabselector-container"},n("ez-tabselector",{selectedIndex:this.selectedIndex,onEzChange:i=>{this.handleTabChange(i.detail)},tabs:this.getColumnNames()})),n("div",null,n("ez-text-input",{"data-element-id":"searchColums",ref:i=>this._searchElement=i,label:this.getMessage("snkGridConfig.findColumn"),onKeyUp:i=>this.locateColumn(i)},n("ez-icon",{slot:"leftIcon",size:"medium",iconName:"search"})))),n("div",{class:"grid-config__main"},n("ez-list",{ref:i=>this._columnList=i,class:0===this.selectedIndex?"":"hidden",dataSource:this._columListItems,onEzChange:i=>this.handleColumnListChange(i),ezDraggable:!0,ezSelectable:!0,itemSlotBuilder:(i,t)=>this.buildColumnListSlot(i,t),useGroups:!0,"data-element-id":"configCols"}),n("div",{class:1===this.selectedIndex?"group-name":"hidden"},this.getMessage("snkGridConfig.info.sortingSequence")),n("ez-list",{ref:i=>this._orderList=i,class:1===this.selectedIndex?"height-calc":"hidden",dataSource:this._orderListItems,ezSelectable:!0,onEzChange:i=>this.handleOrderListChange(i),ezDraggable:!0,itemSlotBuilder:i=>this.buildOrderListSlot(i),"data-element-id":"configDataOrder"})),n("div",{class:"grid-config__footer"},n("ez-button",{class:"padding-right--medium",label:this.getMessage("snkGridConfig.cancel"),onClick:()=>this.closeConfig()}),n("ez-button",{label:this.getMessage("snkGridConfig.complete"),class:"ez-button--primary",onClick:()=>this.finish()})))}static get assetsDirs(){return["../assets"]}get _element(){return o(this)}};h.style='.sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, "Roboto");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, "Roboto");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, "Roboto");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.sc-snk-grid-config-h{width:359px;max-width:359px}}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background);padding-right:var(--snk-grid-config__main--padding-right)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar{width:var(--snk-grid-config__scrollbar--width);max-width:var(--snk-grid-config__scrollbar--width);min-width:var(--snk-grid-config__scrollbar--width);background-color:var(--snk-grid-config__scrollbar--color-background)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-track{background-color:var(--snk-grid-config__scrollbar--color-background);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb{background-color:var(--snk-grid-config__scrollbar--color-default);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:hover,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-grid-config__scrollbar--color-hover)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:active,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-grid-config__scrollbar--color-clicked)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}';export{h as snk_grid_config}
@@ -1,4 +1,4 @@
1
- import{DataUnit as e,DataType as t,DateUtils as r,StringUtils as n,ChangeOperation as a,ApplicationContext as s,UserInterface as i,DataUnitStorage as o}from"@sankhyalabs/core";import{D as l,d as c}from"./p-9695f78b.js";import{DISTINCT_FILTER_NAME_PREFIX as d}from"@sankhyalabs/ezui/dist/collection/utils/constants";import{DataUnitTransient as u}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{P as h}from"./p-c22c1d8e.js";import{R as m}from"./p-688dcb4c.js";import{ColumnFilterManager as f}from"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";class _{constructor(t,r){this.metadata=t,this.records=r,this._dataUnit=new e(_.IN_MEMORY_DATA_UNIT_NAME),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(e,t)=>this.inMemoryLoader(e,t,this.getRecordsToLoad()),this._dataUnit.saveLoader=(e,t)=>this.saveLoader(e,t),this._dataUnit.removeLoader=(e,t)=>this.removeLoader(e,t),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}getRecordsToLoad(){return null==this._initialRecords&&this.dataUnit.records.length>0&&(this._initialRecords=this.dataUnit.records),this._initialRecords}get dataUnit(){return this._dataUnit}get records(){return this.dataUnit.records}static getConvertedValue(e,n){return e.dataType===t.BOOLEAN?"S"===n:e.dataType===t.NUMBER?Number(n):e.dataType===t.DATE?r.strToDate(n,!0):e.dataType===t.OBJECT?JSON.parse(n):n}set records(e){const t=this._metadata?new Map(this._metadata.fields.map((e=>[e.name,e]))):void 0,r=null==e?void 0:e.map((e=>{if(e.__record__id__||(e.__record__id__=this.generateUniqueId()),null!=t)for(const r in e){const n=e[r];"string"==typeof n&&t.has(r)&&(e[r]=_.getConvertedValue(t.get(r),n))}return e}));this._initialRecords=r,this._dataUnit&&this._dataUnit.gotoPage(0)}get metadata(){return this._metadata}set metadata(e){this._metadata=e,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return n.generateUUID()}inMemoryLoader(e,t,r){let n=this.applyFilter(r,e,t.filters);return n=this.applySorting(n,e,t.sort),Promise.resolve({records:n,paginationInfo:p(t,n)})}applyFilter(e,t,r){const n=f.getColumnFilters(r,"");if(null==n||0==n.size)return e;const a=f.getFilterFunction(t,Array.from(n.values()));return null==a?e:e.filter(a)}applySorting(e,t,r){if(null==r||0==r.length)return e;const n=h.getSortingFunction(t,r);return null==n?e:e.sort(n)}metadaLoader(){return Promise.resolve(this._metadata)}saveLoader(e,t){return new Promise((e=>{let r=[];t.forEach((e=>{let{record:t,updatingFields:n,operation:s}=e;const i=Object.assign(Object.assign({},t),n);if(s===a.INSERT||s===a.COPY)i.__old__id__=t.__record__id__,i.__record__id__=this.generateUniqueId(),this.records.push(i);else{const e=this.records.findIndex((e=>e.__record__id__==i.__record__id__));this.records[e]=i}r.push(i)})),e(r)}))}removeLoader(e,t){return new Promise((e=>{e(t)}))}}function p({offset:e,limit:t},r){if(void 0===e||void 0===t)return;const n=Math.min(e+t,r.length);return{currentPage:Math.ceil(e/t),firstRecord:e,lastRecord:n,total:r.length,hasMore:!!(r.length-n)}}_.IN_MEMORY_DATA_UNIT_NAME="InMemoryDataUnit";class g{canSlice(){return!1}async load(e,t,r){if(null==e.metadata)return Promise.resolve({records:[],loadingInfo:r});try{const n=[],a=[];if(null!=t.sort)for(const r of t.sort){const t=e.getField(r.field);null!=t&&null!=t.properties&&"true"===t.properties.calculated?n.push(r):a.push(r)}const s=this.getFieldsList(e),i="DatasetSP.loadRecords",o=this.buildRequestBody(i,s,e,t,r,a),c=r.quiet?{urlParams:{quietMode:"true"}}:void 0,{result:d,pagerID:u}=await l.get().callServiceBroker(i,o,c),h=this.processRecords(e,s,d),m=null!=u,f=r.count+h.length,_=!m&&n.length>0;return Promise.resolve({records:h,loadingInfo:Object.assign(Object.assign({},r),{pagerId:u,loadingInProgress:m,total:m?void 0:f,count:f,needReload:_})})}catch(e){return console.error(e),Promise.reject(e)}}getFieldsList(e){let t=["__record__id__","__record__label__"];return e.metadata.fields.forEach((e=>{e.standAlone||(t=t.concat(this.getFieldNames(e)))})),t}getFieldNames(e){const t=this.getSearchDescriptionField(e);return null==t?e.name:[e.name,t]}buildRequestBody(e,t,r,n,a,s){const i=r.name,o={serviceName:e,requestBody:{dataSetID:r.dataUnitId,fields:t,entityName:v.parseDataUnitName(i).entityName,pageNumber:a.pageNumber,totalRecordsCount:a.count,pagerID:a.pagerId,standAlone:!1,standAloneFieldsMD:{__record__id__:{fieldType:"S",userType:"P"},__record__label__:{fieldType:"S",userType:"P"}},tryJoinedFields:!0,parallelLoader:!(!n.limit&&!n.offset),crudListener:`br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,txProperties:this.getTxProperties(i,n,s),useDefaultRowsLimit:!1}};return JSON.stringify(o)}getModuleName(){return s.getContextValue("__SNK__APPLICATION__").getModuleName().replace("-bff","")}getTxProperties(e,t,r){var n,a;const s={"__DATA_UNIT_ADAPTER__[dataUnitName]":e},i=null!==(a=null===(n=t.filters)||void 0===n?void 0:n.filter((e=>!e.name.startsWith("FILTRO_COLUNA_"))))&&void 0!==a?a:[];return 0!==i.length&&(s["__DATA_UNIT_ADAPTER__[criteria]"]=JSON.stringify(i)),null!=r&&0!==r.length&&(s["__DATA_UNIT_ADAPTER__[sorting]"]=JSON.stringify(r)),null!=t.parentRecordId&&(s["__DATA_UNIT_ADAPTER__[parentRecordId]"]=t.parentRecordId),s}processRecords(e,t,r){return r.map((r=>{const n={__record__id__:r[0],__record__label__:r[1]};return e.metadata.fields.forEach((e=>{n[e.name]=this.buildFieldValue(e,t,r)})),n}))}buildFieldValue(e,t,r){const a=t.indexOf(e.name);if(a<0)return null;const s=r[a];if(n.isEmpty(s))return null;const o=this.getSearchDescriptionField(e);if(null!=o){const e=t.indexOf(o);if(e>=0)return{value:s,label:r[e]}}return e.userInterface===i.SEARCH?isNaN(Number(s))?s:Number(s):_.getConvertedValue(e,s)}getSearchDescriptionField(e){if(e.userInterface===i.SEARCH){const{ENTITYNAME:t,mergedFrom:r,DESCRIPTIONFIELD:a}=e.properties;if(!n.isEmpty(a))return null!=r?`${r}.${t}.${a}`:`${t}.${a}`}}}class b{static async debounce(e,t){const r=e.name;b._debouncingTimeouts[r]&&(clearTimeout(b._debouncingTimeouts[r]),delete b._debouncingTimeouts[r]),b._debouncingTimeouts[r]=setTimeout((()=>{delete b._debouncingTimeouts[r],t()}),100)}static async loadData(e,t){return new Promise(((r,n)=>{b.debounce(e,(()=>{h.loadData(e,t,this.loadFromServer).then((e=>r(e))).catch((e=>n(e)))}))}))}static async loadFromServer(e,t,r){try{r=b.registryLoading(e,r);const n=await b.callLoader(e,t,r);if(null==n)return;const a=n.records,s=b.buildPaginationInfo(a.length,t,n.loadingInfo),i=null==s?a:a.slice(0,s.lastRecord);return Promise.resolve({records:i,paginationInfo:s})}catch(e){return console.error(e),Promise.reject(e)}}static async callLoader(e,t,r,n){null==n&&(n=new g);const a=await n.load(e,t,r),{records:s,loadingInfo:i}=a;if(b.isOldRequest(e,i))return Promise.resolve(void 0);const o=!n.canSlice()||0===i.count;if(h.cacheRecords(e,s,o,i.loadingInProgress),h.isCacheEnabled(e)&&i.loadingInProgress){const r=Object.assign(Object.assign({},t),{offset:i.count}),a=Object.assign(Object.assign({},i),{pageNumber:(i.pageNumber||0)+1,quiet:!0});this.callLoader(e,r,a,n).then((t=>b.afterLoadingPage(e,t.loadingInfo))).catch((e=>console.error(e)))}return Promise.resolve(a)}static afterLoadingPage(e,t){h.setLoadingStatus(e,t.loadingInProgress);const r=e.getPaginationInfo();if(null==r)return;const n=t.count;t.loadingInProgress?e.updatePagination(Object.assign(Object.assign({},r),{count:n})):t.needReload?e.gotoPage(0):e.updatePagination(Object.assign(Object.assign({},r),{total:n,count:n}))}static registryLoading(e,t){return null==t&&(t={requestTime:(new Date).getTime(),count:0}),b._requestTimeByDataUnit.set(e.name,t.requestTime),t}static isOldRequest(e,t){return b._requestTimeByDataUnit.get(e.name)>t.requestTime}static buildPaginationInfo(e,t,r){let{limit:n,offset:a}=t;if(!n)return;1===r.pageNumber&&(a=0);const{total:s,count:i,loadingInProgress:o}=r,l=0===i||0===e?0:a+1,c=a+Math.min(e,n);return{total:s,count:i,lastRecord:c,firstRecord:l,currentPage:a/n,hasMore:c<i||o}}}b._requestTimeByDataUnit=new Map,b._debouncingTimeouts={};const y=/dd:\/\/([^/]+)\/([^/?]+)/;class v{constructor(){this.templateByQuery=new Map,this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchDataUnit",c.gql`query($name: String!) {
1
+ import{DataUnit as e,DataType as t,DateUtils as r,StringUtils as n,ChangeOperation as a,ApplicationContext as s,UserInterface as i,DataUnitStorage as o}from"@sankhyalabs/core";import{D as l,d as c}from"./p-9695f78b.js";import{DISTINCT_FILTER_NAME_PREFIX as d}from"@sankhyalabs/ezui/dist/collection/utils/constants";import{DataUnitTransient as u}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{P as h}from"./p-c22c1d8e.js";import{R as m}from"./p-688dcb4c.js";import{ColumnFilterManager as f}from"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";class _{constructor(t,r){this.metadata=t,this.records=r,this._dataUnit=new e(_.IN_MEMORY_DATA_UNIT_NAME),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(e,t)=>this.inMemoryLoader(e,t,this.getRecordsToLoad()),this._dataUnit.saveLoader=(e,t)=>this.saveLoader(e,t),this._dataUnit.removeLoader=(e,t)=>this.removeLoader(e,t),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}getRecordsToLoad(){return null==this._initialRecords&&this.dataUnit.records.length>0&&(this._initialRecords=this.dataUnit.records),this._initialRecords}get dataUnit(){return this._dataUnit}get records(){return this.dataUnit.records}static getConvertedValue(e,n){return e.dataType===t.BOOLEAN?"S"===n:e.dataType===t.NUMBER?Number(n):e.dataType===t.DATE?r.strToDate(n,!0):e.dataType===t.OBJECT?JSON.parse(n):n}set records(e){const t=this._metadata?new Map(this._metadata.fields.map((e=>[e.name,e]))):void 0,r=null==e?void 0:e.map((e=>{if(e.__record__id__||(e.__record__id__=this.generateUniqueId()),null!=t)for(const r in e){const n=e[r];"string"==typeof n&&t.has(r)&&(e[r]=_.getConvertedValue(t.get(r),n))}return e}));this._initialRecords=r,this._dataUnit&&this._dataUnit.gotoPage(0)}get metadata(){return this._metadata}set metadata(e){this._metadata=e,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return n.generateUUID()}inMemoryLoader(e,t,r){let n=this.applyFilter(r,e,t.filters);return n=this.applySorting(n,e,t.sort),Promise.resolve({records:n,paginationInfo:p(t,n)})}applyFilter(e,t,r){const n=f.getColumnFilters(r,"");if(null==n||0==n.size)return e;const a=f.getFilterFunction(t,Array.from(n.values()));return null==a?e:e.filter(a)}applySorting(e,t,r){if(null==r||0==r.length)return e;const n=h.getSortingFunction(t,r);return null==n?e:e.sort(n)}metadaLoader(){return Promise.resolve(this._metadata)}saveLoader(e,t){return new Promise((e=>{let r=[];t.forEach((e=>{let{record:t,updatingFields:n,operation:s}=e;const i=Object.assign(Object.assign({},t),n);if(s===a.INSERT||s===a.COPY)i.__old__id__=t.__record__id__,i.__record__id__=this.generateUniqueId(),this.records.push(i);else{const e=this.records.findIndex((e=>e.__record__id__==i.__record__id__));this.records[e]=i}r.push(i)})),e(r)}))}removeLoader(e,t){return new Promise((e=>{e(t)}))}}function p({offset:e,limit:t},r){if(void 0===e||void 0===t)return;const n=Math.min(e+t,r.length);return{currentPage:Math.ceil(e/t),firstRecord:e,lastRecord:n,total:r.length,hasMore:!!(r.length-n)}}_.IN_MEMORY_DATA_UNIT_NAME="InMemoryDataUnit";class g{canSlice(){return!1}async load(e,t,r){if(null==e.metadata)return Promise.resolve({records:[],loadingInfo:r});try{const n=[],a=[];if(null!=t.sort)for(const r of t.sort){const t=e.getField(r.field);null!=t&&null!=t.properties&&"true"===t.properties.calculated?n.push(r):a.push(r)}const s=this.getFieldsList(e),i="DatasetSP.loadRecords",o=this.buildRequestBody(i,s,e,t,r,a),c=r.quiet?{urlParams:{quietMode:"true"}}:void 0,{result:d,pagerID:u}=await l.get().callServiceBroker(i,o,c),h=this.processRecords(e,s,d),m=null!=u,f=r.count+h.length,_=!m&&n.length>0;return Promise.resolve({records:h,loadingInfo:Object.assign(Object.assign({},r),{pagerId:u,loadingInProgress:m,total:m?void 0:f,count:f,needReload:_})})}catch(e){return console.error(e),Promise.reject(e)}}getFieldsList(e){let t=["__record__id__","__record__label__"];return e.metadata.fields.forEach((e=>{e.standAlone||(t=t.concat(this.getFieldNames(e)))})),t}getStandAloneFieldsList(e){let t={};return e.metadata.fields.forEach((e=>{e.standAlone&&(t=Object.assign(Object.assign({},t),{[e.name]:{fieldType:e.dataType,userType:e.userInterface}}))})),t}getFieldNames(e){const t=this.getSearchDescriptionField(e);return null==t?e.name:[e.name,t]}buildRequestBody(e,t,r,n,a,s){const i=r.dataUnitId,o=r.name,l=v.parseDataUnitName(o).entityName,c=!(!n.limit&&!n.offset),d={serviceName:e,requestBody:{dataSetID:i,fields:t,entityName:l,pageNumber:a.pageNumber,totalRecordsCount:a.count,pagerID:a.pagerId,standAlone:!1,standAloneFieldsMD:Object.assign({__record__id__:{fieldType:"S",userType:"P"},__record__label__:{fieldType:"S",userType:"P"}},this.getStandAloneFieldsList(r)),tryJoinedFields:!0,parallelLoader:c,crudListener:`br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,txProperties:this.getTxProperties(o,n,s),useDefaultRowsLimit:!1}};return JSON.stringify(d)}getModuleName(){return s.getContextValue("__SNK__APPLICATION__").getModuleName().replace("-bff","")}getTxProperties(e,t,r){var n,a;const s={"__DATA_UNIT_ADAPTER__[dataUnitName]":e},i=null!==(a=null===(n=t.filters)||void 0===n?void 0:n.filter((e=>!e.name.startsWith("FILTRO_COLUNA_"))))&&void 0!==a?a:[];return 0!==i.length&&(s["__DATA_UNIT_ADAPTER__[criteria]"]=JSON.stringify(i)),null!=r&&0!==r.length&&(s["__DATA_UNIT_ADAPTER__[sorting]"]=JSON.stringify(r)),null!=t.parentRecordId&&(s["__DATA_UNIT_ADAPTER__[parentRecordId]"]=t.parentRecordId),s}processRecords(e,t,r){return r.map((r=>{const n={__record__id__:r[0],__record__label__:r[1]};return e.metadata.fields.forEach((e=>{n[e.name]=this.buildFieldValue(e,t,r)})),n}))}buildFieldValue(e,t,r){const a=t.indexOf(e.name);if(a<0)return null;const s=r[a];if(n.isEmpty(s))return null;const o=this.getSearchDescriptionField(e);if(null!=o){const e=t.indexOf(o);if(e>=0)return{value:s,label:r[e]}}return e.userInterface===i.SEARCH?isNaN(Number(s))?s:Number(s):_.getConvertedValue(e,s)}getSearchDescriptionField(e){if(e.userInterface===i.SEARCH){const{ENTITYNAME:t,mergedFrom:r,DESCRIPTIONFIELD:a}=e.properties;if(!n.isEmpty(a))return null!=r?`${r}.${t}.${a}`:`${t}.${a}`}}}class b{static async debounce(e,t){const r=e.name;b._debouncingTimeouts[r]&&(clearTimeout(b._debouncingTimeouts[r]),delete b._debouncingTimeouts[r]),b._debouncingTimeouts[r]=setTimeout((()=>{delete b._debouncingTimeouts[r],t()}),100)}static async loadData(e,t){return new Promise(((r,n)=>{b.debounce(e,(()=>{h.loadData(e,t,this.loadFromServer).then((e=>r(e))).catch((e=>n(e)))}))}))}static async loadFromServer(e,t,r){try{r=b.registryLoading(e,r);const n=await b.callLoader(e,t,r);if(null==n)return;const a=n.records,s=b.buildPaginationInfo(a.length,t,n.loadingInfo),i=null==s?a:a.slice(0,s.lastRecord);return Promise.resolve({records:i,paginationInfo:s})}catch(e){return console.error(e),Promise.reject(e)}}static async callLoader(e,t,r,n){null==n&&(n=new g);const a=await n.load(e,t,r),{records:s,loadingInfo:i}=a;if(b.isOldRequest(e,i))return Promise.resolve(void 0);const o=!n.canSlice()||0===i.count;if(h.cacheRecords(e,s,o,i.loadingInProgress),h.isCacheEnabled(e)&&i.loadingInProgress){const r=Object.assign(Object.assign({},t),{offset:i.count}),a=Object.assign(Object.assign({},i),{pageNumber:(i.pageNumber||0)+1,quiet:!0});this.callLoader(e,r,a,n).then((t=>b.afterLoadingPage(e,t.loadingInfo))).catch((e=>console.error(e)))}return Promise.resolve(a)}static afterLoadingPage(e,t){h.setLoadingStatus(e,t.loadingInProgress);const r=e.getPaginationInfo();if(null==r)return;const n=t.count;t.loadingInProgress?e.updatePagination(Object.assign(Object.assign({},r),{count:n})):t.needReload?e.gotoPage(0):e.updatePagination(Object.assign(Object.assign({},r),{total:n,count:n}))}static registryLoading(e,t){return null==t&&(t={requestTime:(new Date).getTime(),count:0}),b._requestTimeByDataUnit.set(e.name,t.requestTime),t}static isOldRequest(e,t){return b._requestTimeByDataUnit.get(e.name)>t.requestTime}static buildPaginationInfo(e,t,r){let{limit:n,offset:a}=t;if(!n)return;1===r.pageNumber&&(a=0);const{total:s,count:i,loadingInProgress:o}=r,l=0===i||0===e?0:a+1,c=a+Math.min(e,n);return{total:s,count:i,lastRecord:c,firstRecord:l,currentPage:a/n,hasMore:c<i||o}}}b._requestTimeByDataUnit=new Map,b._debouncingTimeouts={};const y=/dd:\/\/([^/]+)\/([^/?]+)/;class v{constructor(){this.templateByQuery=new Map,this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchDataUnit",c.gql`query($name: String!) {
2
2
  $queryAlias$: fetchDataUnit(name: $name){
3
3
  name
4
4
  fields{
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as e,H as s,g as r}from"./p-d2d301a6.js";import{ElementIDUtils as o,ObjectUtils as l}from"@sankhyalabs/core";import{F as a}from"./p-ff1990ad.js";import{E as n}from"./p-1a68fb59.js";import{C as d}from"./p-585294ee.js";import{F as h}from"./p-d9804798.js";import"./p-0d7863ed.js";import"./p-9695f78b.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";const p=class{constructor(e){t(this,e),this.filterChange=i(this,"filterChange",7),this.editPersonalizedFilter=i(this,"editPersonalizedFilter",7),this.addPersonalizedFilter=i(this,"addPersonalizedFilter",7),this.filterItem=void 0,this.configName=void 0,this.resourceID=void 0}observeFilterItem(t){var i,e;this._editor&&(this._editor.config=t),null===(e=null===(i=this._editor)||void 0===i?void 0:i.reloadList)||void 0===e||e.call(i),this.filterChange.emit(t)}getContentEditorConfig(){const t={presentationMode:n.MODAL};switch(this.filterItem.type){case a.BINARY_SELECT:return{tag:"snk-filter-binary-select",props:t};case a.MULTI_SELECT:return{tag:"snk-filter-multi-select"};case a.PERIOD:return{tag:"snk-filter-period",props:t};case a.SEARCH:return{tag:"snk-filter-search"};case a.NUMBER:return{tag:"snk-filter-number",props:t};case a.PERSONALIZED:return this.buildSnkFilterPersonalizedProps();case a.CHECK_BOX_LIST:return{tag:"snk-filter-checkbox-list",props:t};case a.MULTI_LIST:return{tag:"snk-entity-list",props:{maxHeightList:"640px",rightListSlotBuilder:t=>this.buildRightSlot(t)}}}return{tag:"snk-filter-text"}}buildSnkFilterPersonalizedProps(){return{tag:"snk-personalized-filter-editor",props:{onEditFilter:t=>this.editPersonalizedFilter.emit(t.detail),onAddFilter:()=>this.addPersonalizedFilter.emit()}}}isVisible(t){return!!this.filterItem.visible||void 0!==t}updateFilterValue(t){const i=void 0!==(null==t?void 0:t.value)?t.value:t;this.filterItem=Object.assign(Object.assign({},this.filterItem),null!=this.filterItem.groupedItems?{visible:i>0,value:i,groupedItems:t.items}:{value:this.filterItem.type===(a.SEARCH||a.CHECK_BOX_LIST)?t:i,visible:this.isVisible(i)})}handleDeleteFilter(t,i){i===a.PERSONALIZED&&d.removePersonalizedFilter(t,this.resourceID,this.configName)}componentDidLoad(){if(this._element){o.addIDInfo(this._element);const t=this._element.getAttribute(o.DATA_ELEMENT_ID_ATTRIBUTE_NAME);this._idContentEditor=`${t}_${this.filterItem.id}`}}buildRightSlot(t){return e("ez-icon",{iconName:"delete",onClick:()=>this.removeValueFromConfig(t)})}removeValueFromConfig(t){var i,e,s;const r=null===(e=null===(i=this.filterItem)||void 0===i?void 0:i.value)||void 0===e?void 0:e.findIndex((({id:i})=>i===t.id)),o=l.copy(this.filterItem);null===(s=null==o?void 0:o.value)||void 0===s||s.splice(r,1),this.updateFilterValue(o.value)}canShowDetailModal(){const{CUSTOM_FILTER:t,OTHER_FILTERS:i}=h;return![t,i].includes(this.filterItem.filterType)&&this.filterItem.type!==a.BINARY_SELECT}render(){const{tag:t,props:i}=this.getContentEditorConfig();return e(s,null,e("div",{class:"ez-flex ez-flex--column grow"},this.canShowDetailModal()&&e("div",{class:"col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center"},e("div",{class:"ez-title ez-title--small ez-title--primary grow"},this.filterItem.detailModal)),e(t,Object.assign({ref:t=>this._editor=t,config:this.filterItem,value:this.filterItem.value,onValueChanged:t=>this.updateFilterValue(t.detail),"data-element-id":this._idContentEditor},i))))}get _element(){return r(this)}static get watchers(){return{filterItem:["observeFilterItem"]}}};p.style=".grow{flex-grow:1}.gap{gap:4px}";export{p as snk_filter_modal_item}
@@ -0,0 +1 @@
1
+ import{h as e}from"./p-d2d301a6.js";import{P as t}from"./p-38289a55.js";import{s as a}from"./p-6dc031de.js";var n,r,s;!function(e){e.PREVIOUS="PREVIOUS",e.NEXT="NEXT",e.REFRESH="REFRESH",e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CANCEL="CANCEL",e.SAVE="SAVE",e.GRID_MODE="GRID_MODE",e.FORM_MODE="FORM_MODE",e.MORE_OPTIONS="MORE_OPTIONS",e.DIVIDER="DIVIDER",e.CONFIGURATOR="CONFIGURATOR",e.DATA_EXPORTER="DATA_EXPORTER",e.ATTACH="ATTACH",e.ACTIONS_BUTTON="ACTIONS_BUTTON"}(n||(n={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIGURATOR="CONFIGURATOR"}(r||(r={})),function(e){e.CONFIGURATOR="CONFIGURATOR"}(s||(s={}));const i=(e,t,a,n,r)=>{const{hint:s,text:i,iconName:c}=e;return c?i?d(c,e.name,t,a,s,i,n,r):l(c,e.name,t,a,s,n,r):o(e.name,t,a,i,s,n,r)},c=(r,s,i,c,u,m,E,O,R)=>{var T;const b=c(r);switch(r){case n.PREVIOUS:return l("chevron-left",r,s,i,b,u,m);case n.NEXT:return l("chevron-right",r,s,i,b,u,m);case n.REFRESH:return l("sync",r,s,i,b,u,m);case n.UPDATE:return l("edit",r,s,i,b,u,m);case n.CLONE:return l("copy",r,s,i,b,u,m);case n.REMOVE:return l("delete",r,s,i,b,u,m);case n.INSERT:return R===t.PRIMARY?d("plus",r,s,i,b,b,u,m):l("plus",r,s,i,b,u,m);case n.CANCEL:return o(r,s,i,b,b,u,m);case n.SAVE:return R===t.PRIMARY?d("save",r,s,i,b,b,u,m):l("save",r,s,i,b,u,m);case n.GRID_MODE:return l("table",r,s,i,b,u,m);case n.FORM_MODE:return l("list",r,s,i,b,u,m);case n.CONFIGURATOR:return l("settings-inverted",r,s,i,b,u,m);case n.MORE_OPTIONS:return function(t,a,n,r,s,i){return s&&s.length>0?e("taskbar-actions-button",{key:a,title:n,"data-element-id":a,enabled:r(t),actions:s,onTaskbarActionSelected:e=>i(e.detail.value)}):void 0}(r,i,b,m,E,u);case n.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium","data-taskbar-divider":!0});case n.DATA_EXPORTER:const c=null===(T=a.get("exporterProviders"))||void 0===T?void 0:T[O];return e("snk-data-exporter",{class:s,provider:c,"data-element-id":i});case n.ATTACH:return l("anexo",r,s,i,b,u,m);case n.ACTIONS_BUTTON:return e("snk-actions-button",{"data-element-id":i})}};function o(t,a,n,r,s,i,c){return e("ez-button",{key:n,title:s,label:r,size:"small",class:a,"data-element-id":n,enabled:c(t),onClick:()=>i(t)})}function l(t,a,n,r,s,i,c){return e("ez-button",{key:r,title:s,mode:"icon",size:"small",class:n,"data-element-id":r,iconName:t,enabled:c(a),onClick:()=>i(a)})}function d(t,a,n,r,s,i,c,o){return e("ez-button",{key:r,title:i,label:s,size:"small",class:n,"data-element-id":r,enabled:o(a),onClick:()=>c(a)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:t}))}export{r as A,n as T,s as V,i as a,c as b}
@@ -0,0 +1 @@
1
+ var o,a,r,e;!function(o){o.PRIMARY="primary",o.SECONDARY="secondary",o.SINGLE_TASKBAR="singleTaskbar"}(o||(o={})),function(o){o.EXPORT_TO_PDF="exportToPDF",o.EXPORT_TO_XLS="exportToXLS",o.EXPORT_CURRENT_PAGE="exportCurrentPage",o.EXPORT_PAGE_TO_PDF="exportPageToPDF",o.EXPORT_PAGE_TO_XLS="exportPageToXLS",o.EXPORT_BY_EMAIL="exportToEmail",o.EXPORT_PDF_TO_EMAIL="exportPDFToEmail",o.EXPORT_XLS_TO_EMAIL="exportXLSToEmail"}(a||(a={})),function(o){o.PDF="exportPDFToEmail",o.XLS="exportXLSToEmail",o.XLSX="exportXLSToEmail"}(r||(r={})),function(o){o.EXPORT_TO_PDF="PDF",o.EXPORT_TO_XLS="XLS",o.EXPORT_PAGE_TO_PDF="PDF",o.EXPORT_PAGE_TO_XLS="XLS",o.EXPORT_PDF_TO_EMAIL="PDF",o.EXPORT_XLS_TO_EMAIL="XLS"}(e||(e={}));export{a as D,o as P,r as a,e as b}