@sankhyalabs/sankhyablocks 5.9.2 → 5.10.1

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 (128) hide show
  1. package/dist/cjs/{ConfigStorage-91adf3fe.js → ConfigStorage-f68c3607.js} +5 -71
  2. package/dist/cjs/{SnkFormConfigManager-e1a10283.js → SnkFormConfigManager-69df3f74.js} +2 -2
  3. package/dist/cjs/{SnkMessageBuilder-1760d2c9.js → SnkMessageBuilder-cf80308c.js} +6 -1
  4. package/dist/cjs/filter-bar-config-fetcher-a14536bf.js +115 -0
  5. package/dist/cjs/{form-config-fetcher-fa19680a.js → form-config-fetcher-92bc8fe7.js} +2 -65
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/resource-fetcher-2979b54b.js +68 -0
  8. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  9. package/dist/cjs/snk-application.cjs.entry.js +7 -4
  10. package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
  11. package/dist/cjs/{snk-data-unit-f27603c9.js → snk-data-unit-bd271acd.js} +1 -1
  12. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  13. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -5
  14. package/dist/cjs/snk-entity-list.cjs.entry.js +111 -0
  15. package/dist/cjs/snk-filter-bar.cjs.entry.js +4 -2
  16. package/dist/cjs/snk-filter-detail.cjs.entry.js +44 -3
  17. package/dist/cjs/snk-filter-item.cjs.entry.js +9 -4
  18. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +30 -2
  19. package/dist/cjs/snk-filter-modal.cjs.entry.js +26 -3
  20. package/dist/cjs/snk-form-config.cjs.entry.js +2 -1
  21. package/dist/cjs/snk-form.cjs.entry.js +6 -3
  22. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -2
  23. package/dist/cjs/snk-grid.cjs.entry.js +12 -8
  24. package/dist/cjs/{snk-guides-viewer-5f2eb52b.js → snk-guides-viewer-b2d40bc4.js} +1 -1
  25. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -4
  26. package/dist/collection/collection-manifest.json +1 -0
  27. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +2 -2
  28. package/dist/collection/components/snk-entity-list/snk-entity-list.css +35 -0
  29. package/dist/collection/components/snk-entity-list/snk-entity-list.js +250 -0
  30. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +45 -4
  31. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +9 -4
  32. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +26 -3
  33. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +28 -3
  34. package/dist/collection/components/snk-grid/snk-grid.js +7 -6
  35. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +48 -5
  36. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  37. package/dist/collection/lib/message/resources/snk-entity-list.msg.js +3 -0
  38. package/dist/components/ConfigStorage.js +3 -69
  39. package/dist/components/SnkMessageBuilder.js +6 -1
  40. package/dist/components/filter-bar-config-fetcher.js +113 -0
  41. package/dist/components/form-config-fetcher.js +2 -64
  42. package/dist/components/index.d.ts +1 -0
  43. package/dist/components/index.js +1 -0
  44. package/dist/components/resource-fetcher.js +66 -0
  45. package/dist/components/snk-application2.js +1 -1
  46. package/dist/components/snk-data-exporter2.js +2 -2
  47. package/dist/components/snk-entity-list.d.ts +11 -0
  48. package/dist/components/snk-entity-list.js +131 -0
  49. package/dist/components/snk-filter-detail2.js +42 -4
  50. package/dist/components/snk-filter-item2.js +9 -4
  51. package/dist/components/snk-filter-modal-item2.js +28 -3
  52. package/dist/components/snk-filter-modal.js +26 -3
  53. package/dist/components/snk-grid2.js +7 -6
  54. package/dist/esm/{ConfigStorage-ac77ff39.js → ConfigStorage-e6c17998.js} +3 -69
  55. package/dist/esm/{SnkFormConfigManager-40609500.js → SnkFormConfigManager-e60367a0.js} +2 -2
  56. package/dist/esm/{SnkMessageBuilder-4caf8b4f.js → SnkMessageBuilder-1a169545.js} +6 -1
  57. package/dist/esm/filter-bar-config-fetcher-edc48f4b.js +113 -0
  58. package/dist/esm/{form-config-fetcher-018e7e73.js → form-config-fetcher-cac8cd96.js} +2 -64
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/resource-fetcher-02642924.js +66 -0
  61. package/dist/esm/sankhyablocks.js +1 -1
  62. package/dist/esm/snk-application.entry.js +6 -3
  63. package/dist/esm/snk-data-exporter.entry.js +4 -4
  64. package/dist/esm/{snk-data-unit-640399b3.js → snk-data-unit-476024e9.js} +1 -1
  65. package/dist/esm/snk-data-unit.entry.js +2 -2
  66. package/dist/esm/snk-detail-view.entry.js +8 -5
  67. package/dist/esm/snk-entity-list.entry.js +107 -0
  68. package/dist/esm/snk-filter-bar.entry.js +4 -2
  69. package/dist/esm/snk-filter-detail.entry.js +45 -4
  70. package/dist/esm/snk-filter-item.entry.js +9 -4
  71. package/dist/esm/snk-filter-modal-item.entry.js +31 -3
  72. package/dist/esm/snk-filter-modal.entry.js +26 -3
  73. package/dist/esm/snk-form-config.entry.js +2 -1
  74. package/dist/esm/snk-form.entry.js +6 -3
  75. package/dist/esm/snk-grid-config.entry.js +5 -2
  76. package/dist/esm/snk-grid.entry.js +12 -8
  77. package/dist/esm/{snk-guides-viewer-11ca46dc.js → snk-guides-viewer-11a02781.js} +1 -1
  78. package/dist/esm/snk-guides-viewer.entry.js +7 -4
  79. package/dist/sankhyablocks/p-0409d41b.entry.js +1 -0
  80. package/dist/sankhyablocks/p-1c5d5e5c.entry.js +1 -0
  81. package/dist/sankhyablocks/p-1c836fad.entry.js +1 -0
  82. package/dist/sankhyablocks/p-1e6a95f5.entry.js +1 -0
  83. package/dist/sankhyablocks/p-2ea933b2.js +17 -0
  84. package/dist/sankhyablocks/{p-6981c03e.js → p-3e17b147.js} +1 -1
  85. package/dist/sankhyablocks/p-471568c7.entry.js +1 -0
  86. package/dist/sankhyablocks/p-4eae2812.entry.js +1 -0
  87. package/dist/sankhyablocks/p-554e2f83.entry.js +1 -0
  88. package/dist/sankhyablocks/p-587bd851.entry.js +1 -0
  89. package/dist/sankhyablocks/p-656eab86.entry.js +1 -0
  90. package/dist/sankhyablocks/p-6c2c71ca.js +1 -0
  91. package/dist/sankhyablocks/p-78de64fb.entry.js +1 -0
  92. package/dist/sankhyablocks/p-79f78e10.js +10 -0
  93. package/dist/sankhyablocks/{p-7f2e267a.js → p-7f0afee1.js} +1 -1
  94. package/dist/sankhyablocks/p-b1c02726.js +1 -0
  95. package/dist/sankhyablocks/{p-e0aa5838.js → p-b25450ab.js} +1 -1
  96. package/dist/sankhyablocks/p-c20dd153.entry.js +1 -0
  97. package/dist/sankhyablocks/{p-29c1889f.js → p-c74fca58.js} +1 -1
  98. package/dist/sankhyablocks/p-c8095917.entry.js +1 -0
  99. package/dist/sankhyablocks/p-c842c6f1.entry.js +1 -0
  100. package/dist/sankhyablocks/p-e642bf7a.entry.js +1 -0
  101. package/dist/sankhyablocks/{p-57b74971.entry.js → p-f5e607e7.entry.js} +3 -3
  102. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  103. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +1 -1
  104. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +48 -0
  105. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -0
  106. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +6 -0
  107. package/dist/types/components.d.ts +54 -2
  108. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +1 -0
  109. package/dist/types/lib/message/resources/snk-entity-list.msg.d.ts +1 -0
  110. package/package.json +1 -1
  111. package/react/components.d.ts +1 -0
  112. package/react/components.js +1 -0
  113. package/react/components.js.map +1 -1
  114. package/dist/sankhyablocks/p-08779202.entry.js +0 -1
  115. package/dist/sankhyablocks/p-0bb49e4a.entry.js +0 -1
  116. package/dist/sankhyablocks/p-0d81236c.js +0 -26
  117. package/dist/sankhyablocks/p-355e7ab0.entry.js +0 -1
  118. package/dist/sankhyablocks/p-3794686e.entry.js +0 -1
  119. package/dist/sankhyablocks/p-4181c36d.entry.js +0 -1
  120. package/dist/sankhyablocks/p-52ed2a18.js +0 -1
  121. package/dist/sankhyablocks/p-59705471.entry.js +0 -1
  122. package/dist/sankhyablocks/p-6f0b3cc0.entry.js +0 -1
  123. package/dist/sankhyablocks/p-747ea2c3.entry.js +0 -1
  124. package/dist/sankhyablocks/p-7621806d.entry.js +0 -1
  125. package/dist/sankhyablocks/p-86f75e7a.entry.js +0 -1
  126. package/dist/sankhyablocks/p-9043c45f.entry.js +0 -1
  127. package/dist/sankhyablocks/p-b9fb86fe.entry.js +0 -1
  128. package/dist/sankhyablocks/p-c7ee03cd.entry.js +0 -1
@@ -117,6 +117,7 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
117
117
  }
118
118
  }
119
119
  getLabel(isTooltipLabel = false) {
120
+ var _a;
120
121
  const { type, value, label, props } = this.config;
121
122
  if (value) {
122
123
  if (type === FilterItemType.BINARY_SELECT) {
@@ -173,16 +174,19 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
173
174
  return label;
174
175
  }
175
176
  if (type === FilterItemType.MULTI_LIST) {
176
- const selectedOptions = value.filter(item => item.check);
177
+ const selectedOptions = ((_a = value.elements) !== null && _a !== void 0 ? _a : value).filter(item => item === null || item === void 0 ? void 0 : item.check);
177
178
  const checkedAmount = selectedOptions.length;
179
+ if (checkedAmount === 0) {
180
+ return `${label}`;
181
+ }
178
182
  if (checkedAmount > 1) {
179
183
  if (isTooltipLabel) {
180
- const selectedOptionsDescrptions = selectedOptions.map(item => item.description);
184
+ const selectedOptionsDescrptions = selectedOptions.map(item => item.label);
181
185
  return `${label}: ${selectedOptionsDescrptions.join(',')}`;
182
186
  }
183
187
  return `${label}: ${checkedAmount} ${this.getMessage('snkFilterBar.multiListToltip')}`;
184
188
  }
185
- return `${label}: ${value.description}`;
189
+ return `${label}: ${selectedOptions[0].label}`;
186
190
  }
187
191
  return `${label}: ${value}`;
188
192
  }
@@ -232,8 +236,9 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
232
236
  return undefined;
233
237
  }
234
238
  render() {
239
+ var _a, _b, _c, _d;
235
240
  const leftIcon = this.getLeftIconName();
236
- return (h(Host, Object.assign({}, this.applyTooltip()), h("ez-chip", { id: this.config.id, ref: ref => this._chipElement = ref, label: this.getLabel(), value: this.config.value != undefined }, leftIcon ? h("ez-icon", { ref: ref => this._leftIconElement = ref, iconName: leftIcon, class: "ez-padding-right--small", slot: "leftIcon" }) : undefined, h("ez-icon", { ref: ref => this._rightIconElement = ref, iconName: this.getRightIconName(), class: "ez-padding-left--small", slot: "rightIcon", id: "removeFilter" })), h("section", { class: "ez-margin-top--small sc-snk-filter-bar snk-filter__popover-container", ref: elem => this._popoverContainer = elem }, h("snk-filter-detail", { config: this.config, getMessage: this.getMessage, class: "sc-snk-filter-bar snk-filter__popover ez-padding--small", ref: elem => this._popover = elem, key: this.config.id, "data-element-id": this._idSnkFilterDetail }))));
241
+ return (h(Host, Object.assign({}, this.applyTooltip()), h("ez-chip", { id: this.config.id, ref: ref => this._chipElement = ref, label: this.getLabel(), value: (FilterItemType.MULTI_LIST != this.config.type && this.config.value != undefined) || (((_d = (_c = ((_b = (_a = this.config.value) === null || _a === void 0 ? void 0 : _a.elements) !== null && _b !== void 0 ? _b : this.config.value)) === null || _c === void 0 ? void 0 : _c.filter(value => value === null || value === void 0 ? void 0 : value.check)) === null || _d === void 0 ? void 0 : _d.length) > 0) }, leftIcon ? h("ez-icon", { ref: ref => this._leftIconElement = ref, iconName: leftIcon, class: "ez-padding-right--small", slot: "leftIcon" }) : undefined, h("ez-icon", { ref: ref => this._rightIconElement = ref, iconName: this.getRightIconName(), class: "ez-padding-left--small", slot: "rightIcon", id: "removeFilter" })), h("section", { class: "ez-margin-top--small sc-snk-filter-bar snk-filter__popover-container", ref: elem => this._popoverContainer = elem }, h("snk-filter-detail", { config: this.config, getMessage: this.getMessage, class: "sc-snk-filter-bar snk-filter__popover ez-padding--small", ref: elem => this._popover = elem, key: this.config.id, "data-element-id": this._idSnkFilterDetail }))));
237
242
  }
238
243
  get _filterItemElement() { return this; }
239
244
  static get watchers() { return {
@@ -1,7 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { F as FilterItemType } from './filter-item-type.enum.js';
4
4
  import { E as EPresentationMode } from './presentationMode.js';
5
+ import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher.js';
5
6
 
6
7
  var FilterType;
7
8
  (function (FilterType) {
@@ -21,7 +22,10 @@ const SnkFilterModalItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
21
22
  this.filterItem = undefined;
22
23
  }
23
24
  observeFilterItem(newValue) {
25
+ var _a, _b;
26
+ (_b = (_a = this._editor) === null || _a === void 0 ? void 0 : _a['reloadList']) === null || _b === void 0 ? void 0 : _b.call(_a);
24
27
  this.filterChange.emit(newValue);
28
+ this.saveConfig();
25
29
  }
26
30
  getContentEditorConfig() {
27
31
  const variations = { presentationMode: EPresentationMode.MODAL };
@@ -39,13 +43,16 @@ const SnkFilterModalItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
39
43
  case FilterItemType.PERSONALIZED:
40
44
  return { tag: "snk-filter-personalized" };
41
45
  case FilterItemType.MULTI_LIST:
42
- return { tag: "snk-entity-list" };
46
+ return { tag: "snk-entity-list", variations: { maxHeightList: "640px", rightListSlotBuilder: item => this.buildRightSlot(item) } };
43
47
  }
44
48
  return { tag: "snk-filter-text" };
45
49
  }
46
50
  updateFilterValue(newValue) {
47
51
  const isVisble = !this.filterItem.visible ? newValue !== undefined : true;
48
52
  this.filterItem = Object.assign(Object.assign({}, this.filterItem), { value: newValue, visible: isVisble });
53
+ if (FilterItemType.MULTI_LIST === this.filterItem.type) {
54
+ this.saveConfig();
55
+ }
49
56
  }
50
57
  canShowDetailModal() {
51
58
  return this.filterItem.filterType !== FilterType$1.OTHER_FILTERS && this.filterItem.type !== FilterItemType.BINARY_SELECT;
@@ -55,11 +62,29 @@ const SnkFilterModalItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
55
62
  ElementIDUtils.addIDInfo(this._element);
56
63
  const dataElementIdDoFilterItem = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
57
64
  this._idContentEditor = `${dataElementIdDoFilterItem}_${this.filterItem.id}`;
65
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
58
66
  }
59
67
  }
68
+ buildRightSlot(item) {
69
+ return h("ez-icon", { iconName: "delete", onClick: () => this.removeValueFromConfig(item) });
70
+ }
71
+ removeValueFromConfig(item) {
72
+ var _a, _b, _c, _d, _e, _f;
73
+ const index = (_b = (_a = this.filterItem) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.findIndex(i => (i === null || i === void 0 ? void 0 : i.id) === item.id);
74
+ (_d = (_c = this.filterItem) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.splice(index, 1);
75
+ (_f = (_e = this._editor) === null || _e === void 0 ? void 0 : _e["reloadList"]) === null || _f === void 0 ? void 0 : _f.call(_e);
76
+ this.saveConfig();
77
+ }
78
+ saveConfig() {
79
+ var _a;
80
+ (_a = this._application) === null || _a === void 0 ? void 0 : _a.getResourceID().then(resourceId => {
81
+ const fetcher = new FilterBarConfigFetcher();
82
+ fetcher.saveEntityListConfig(this.filterItem, resourceId, this._application.configName);
83
+ });
84
+ }
60
85
  render() {
61
86
  const { tag: ContentEditor, variations } = this.getContentEditorConfig();
62
- return (h(Host, null, h("div", { class: "ez-flex ez-flex--column grow" }, this.canShowDetailModal() && (h("div", { class: "col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center" }, h("div", { class: "ez-title ez-title--small ez-title--primary grow" }, this.filterItem.detailModal))), h(ContentEditor, Object.assign({ config: this.filterItem, value: this.filterItem.value, onValueChanged: (event) => this.updateFilterValue(event.detail), "data-element-id": this._idContentEditor }, variations)))));
87
+ return (h(Host, null, h("div", { class: "ez-flex ez-flex--column grow" }, this.canShowDetailModal() && (h("div", { class: "col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center" }, h("div", { class: "ez-title ez-title--small ez-title--primary grow" }, this.filterItem.detailModal))), h(ContentEditor, Object.assign({ ref: ref => this._editor = ref, config: this.filterItem, value: this.filterItem.value, onValueChanged: (event) => this.updateFilterValue(event.detail), "data-element-id": this._idContentEditor }, variations)))));
63
88
  }
64
89
  get _element() { return this; }
65
90
  static get watchers() { return {
@@ -39,7 +39,15 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
39
39
  this.filters = this.filters.map(filter => filter.id === filterConfig.id ? filterConfig : filter);
40
40
  }
41
41
  handleClearFilters(filterList) {
42
- this.filters = this.filters.map(filter => filterList.includes(filter) ? (Object.assign(Object.assign({}, filter), { value: undefined })) : filter);
42
+ this.filters = this.filters.map(filter => filterList.includes(filter) ? (Object.assign(Object.assign({}, filter), { value: FilterItemType.MULTI_LIST === filter.type ? this.uncheckFilterValues(filter.value) : undefined })) : filter);
43
+ }
44
+ uncheckFilterValues(valueList) {
45
+ valueList.forEach(value => {
46
+ if (!!value) {
47
+ value.check = false;
48
+ }
49
+ });
50
+ return valueList;
43
51
  }
44
52
  renderFilterItem(filterItem, fullRow) {
45
53
  return (h("snk-filter-modal-item", { class: fullRow ? 'ez-col ez-col--sd-12' : 'ez-col ez-col--sd-6 ez-padding--small', filterItem: filterItem, onFilterChange: (event) => this.handleFilterChange(event.detail) }));
@@ -72,12 +80,27 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
72
80
  const fullLine = filters.length === 1;
73
81
  return (h("div", { class: "ez-row" }, filters.map((filter) => this.renderFilterItem(filter, fullLine))));
74
82
  }
83
+ getIformedFiltersCount(listItems) {
84
+ let countInformedItens = 0;
85
+ listItems.forEach(item => {
86
+ var _a, _b, _c, _d, _e;
87
+ if (FilterItemType.MULTI_LIST === item.type) {
88
+ countInformedItens += (_e = (_d = (_c = ((_b = (_a = item.value) === null || _a === void 0 ? void 0 : _a.elements) !== null && _b !== void 0 ? _b : item.value)) === null || _c === void 0 ? void 0 : _c.filter(value => value === null || value === void 0 ? void 0 : value.check)) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0;
89
+ return;
90
+ }
91
+ if (!!item.value) {
92
+ countInformedItens++;
93
+ }
94
+ });
95
+ return countInformedItens;
96
+ }
75
97
  renderCollapsibleFilterBox(label, listItems) {
76
98
  if (!listItems.length)
77
99
  return null;
78
- const appliedFilters = listItems.filter(filterItem => !!filterItem.value).length;
100
+ const appliedFilters = this.getIformedFiltersCount(listItems);
79
101
  const lines = this.mountFiltersLines(listItems);
80
- return (h("ez-collapsible-box", { className: "snk-filter__modal-collapsible-box", headerSize: "medium", value: true, label: label }, !!appliedFilters && (h("ez-badge", { className: "ez-badge--primary-subtle", slot: "rightSlot", label: appliedFilters })), lines.map(this.renderFilterLine.bind(this)), h("div", { class: "ez-flex ez-flex--justify-end grow" }, h("ez-button", { className: "ez-button--tertiary", size: "medium", label: "Limpar", onClick: () => this.handleClearFilters(listItems) }))));
102
+ return (h("ez-collapsible-box", { className: "snk-filter__modal-collapsible-box", headerSize: "medium", value: true, label: label }, !!appliedFilters &&
103
+ h("ez-badge", { className: "ez-badge--primary-subtle", slot: "rightSlot", label: appliedFilters }), lines.map(this.renderFilterLine.bind(this)), h("div", { class: "ez-flex ez-flex--justify-end grow" }, h("ez-button", { className: "ez-button--tertiary", size: "medium", label: "Limpar", onClick: () => this.handleClearFilters(listItems) }))));
81
104
  }
82
105
  componentWillRender() {
83
106
  this._modalTitle = this.getCustomMessage('title');
@@ -112,7 +112,8 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
112
112
  });
113
113
  evt.stopPropagation();
114
114
  }
115
- buildColumnsMetadata(columnsMetadata, gridColumns) {
115
+ buildColumnsMetadata(gridColumns) {
116
+ const columnsMetadata = [];
116
117
  gridColumns === null || gridColumns === void 0 ? void 0 : gridColumns.forEach((column) => {
117
118
  var _a, _b;
118
119
  /**
@@ -160,17 +161,17 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
160
161
  return offset;
161
162
  }
162
163
  async dataExporterProviderStore() {
163
- var _a, _b;
164
- const columnsMetadata = [];
164
+ var _a;
165
165
  const selectedIDs = await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecordsIDsInfo());
166
- await ((_b = this._grid) === null || _b === void 0 ? void 0 : _b.getColumnsState().then(this.buildColumnsMetadata.bind(this, columnsMetadata)));
167
166
  const dataExporterProvider = {
168
167
  getFilters: () => {
169
168
  var _a;
170
169
  return (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getAppliedFilters();
171
170
  },
172
- getColumnsMetadata: () => {
173
- return columnsMetadata;
171
+ getColumnsMetadata: async () => {
172
+ var _a;
173
+ const columnsState = await ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getColumnsState());
174
+ return this.buildColumnsMetadata(columnsState);
174
175
  },
175
176
  getOrders: () => {
176
177
  var _a;
@@ -1,5 +1,7 @@
1
1
  import { ApplicationContext } from '@sankhyalabs/core';
2
- import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-018e7e73.js';
2
+ import { F as FormConfigFetcher } from './form-config-fetcher-cac8cd96.js';
3
+ import { R as ResourceFetcher } from './resource-fetcher-02642924.js';
4
+ import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-edc48f4b.js';
3
5
 
4
6
  class GridConfigFetcher extends ResourceFetcher {
5
7
  constructor() {
@@ -41,74 +43,6 @@ class GridConfigFetcher extends ResourceFetcher {
41
43
  }
42
44
  }
43
45
 
44
- function normalizeValue(value) {
45
- if (value == undefined) {
46
- return value;
47
- }
48
- if (value instanceof Date) {
49
- return value.toISOString();
50
- }
51
- if (typeof value === "object") {
52
- if (value instanceof Array) {
53
- return value.map(item => normalizeValue(item));
54
- }
55
- else {
56
- const normalized = Object.assign({}, value);
57
- Object.keys(value).forEach(prop => {
58
- if (value[prop]) {
59
- normalized[prop] = normalizeValue(value[prop]);
60
- }
61
- else {
62
- delete normalized[prop];
63
- }
64
- });
65
- return normalized;
66
- }
67
- }
68
- return value;
69
- }
70
- class FilterBarConfigFetcher extends ResourceFetcher {
71
- saveConfig(items, resourceID, configName) {
72
- const state = items.map(item => {
73
- const { id, value, fixed, visible } = item;
74
- const stateItem = { id };
75
- if (value) {
76
- stateItem["value"] = normalizeValue(value);
77
- }
78
- if (fixed) {
79
- stateItem["fixed"] = fixed;
80
- }
81
- if (visible) {
82
- stateItem["visible"] = true;
83
- }
84
- return stateItem;
85
- });
86
- return this.saveResource(state, this.getPath(resourceID, configName));
87
- }
88
- getConfig(resourceID, configName) {
89
- return new Promise((accept, reject) => {
90
- this.loadResource(this.getPath(resourceID, configName))
91
- .then((configAsString) => {
92
- let fieldsList;
93
- if (configAsString) {
94
- const filterBarConfig = JSON.parse(configAsString);
95
- fieldsList = filterBarConfig.items;
96
- }
97
- accept(fieldsList || []);
98
- })
99
- .catch((error) => {
100
- reject(error);
101
- });
102
- });
103
- }
104
- getPath(resourceID, name) {
105
- if (name) {
106
- return `cfg://filter/FilterBarState:${resourceID}/${name}`;
107
- }
108
- return `cfg://filter/FilterBarState:${resourceID}`;
109
- }
110
- }
111
-
112
46
  const CONFIG_SOURCE = {
113
47
  form: "form",
114
48
  grid: "grid",
@@ -1,6 +1,6 @@
1
- import { C as ConfigStorage } from './ConfigStorage-ac77ff39.js';
1
+ import { C as ConfigStorage } from './ConfigStorage-e6c17998.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
- import { F as FormConfigFetcher } from './form-config-fetcher-018e7e73.js';
3
+ import { F as FormConfigFetcher } from './form-config-fetcher-cac8cd96.js';
4
4
 
5
5
  class SnkFormConfigManager {
6
6
  constructor(configName, onConfigChange) {
@@ -338,6 +338,10 @@ const snkPersonalizedFilterMessages = {
338
338
  }
339
339
  };
340
340
 
341
+ const snkEntityListMessages = {
342
+ selected: "Selecionados:"
343
+ };
344
+
341
345
  class SnkMessageBuilder {
342
346
  constructor(domainName) {
343
347
  this._defaults = {
@@ -360,7 +364,8 @@ class SnkMessageBuilder {
360
364
  snkFilterFieldSearch: snkFilterFieldSearchMessages,
361
365
  snkSimpleBar: snkSimpleBarMessages,
362
366
  snkAttach: snkAttachMessages,
363
- snkPersonalizedFilter: snkPersonalizedFilterMessages
367
+ snkPersonalizedFilter: snkPersonalizedFilterMessages,
368
+ snkEntityList: snkEntityListMessages
364
369
  };
365
370
  this._currentOperation = OperationMap.CLEAN;
366
371
  this._domainName = domainName;
@@ -0,0 +1,113 @@
1
+ import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
2
+ import { R as ResourceFetcher } from './resource-fetcher-02642924.js';
3
+
4
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
5
+ var t = {};
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
7
+ t[p] = s[p];
8
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
9
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
10
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
11
+ t[p[i]] = s[p[i]];
12
+ }
13
+ return t;
14
+ };
15
+ function normalizeValue(value, type) {
16
+ if (value == undefined) {
17
+ return value;
18
+ }
19
+ if (value instanceof Date) {
20
+ return value.toISOString();
21
+ }
22
+ if (typeof value === "object") {
23
+ if (value instanceof Array) {
24
+ return value.map(item => {
25
+ if (FilterItemType.MULTI_LIST === type) {
26
+ const values = __rest(item, ["label"]);
27
+ return normalizeValue(values);
28
+ }
29
+ return normalizeValue(item);
30
+ });
31
+ }
32
+ else {
33
+ const normalized = Object.assign({}, value);
34
+ Object.keys(value).forEach(prop => {
35
+ if (value[prop]) {
36
+ normalized[prop] = normalizeValue(value[prop], type);
37
+ }
38
+ else {
39
+ delete normalized[prop];
40
+ }
41
+ });
42
+ return normalized;
43
+ }
44
+ }
45
+ return value;
46
+ }
47
+ class FilterBarConfigFetcher extends ResourceFetcher {
48
+ saveConfig(items, resourceID, configName) {
49
+ const state = items.map(item => {
50
+ const { id, value, fixed, visible, type } = item;
51
+ const stateItem = { id };
52
+ if (value) {
53
+ stateItem["value"] = normalizeValue(value, type);
54
+ }
55
+ if (fixed) {
56
+ stateItem["fixed"] = fixed;
57
+ }
58
+ if (visible) {
59
+ stateItem["visible"] = true;
60
+ }
61
+ return stateItem;
62
+ });
63
+ return this.saveResource(state, this.getPath(resourceID, configName));
64
+ }
65
+ getConfig(resourceID, configName) {
66
+ return new Promise((accept, reject) => {
67
+ this.loadResource(this.getPath(resourceID, configName))
68
+ .then((configAsString) => {
69
+ let fieldsList;
70
+ if (configAsString) {
71
+ const filterBarConfig = JSON.parse(configAsString);
72
+ fieldsList = filterBarConfig.items;
73
+ }
74
+ accept(fieldsList || []);
75
+ })
76
+ .catch((error) => {
77
+ reject(error);
78
+ });
79
+ });
80
+ }
81
+ saveEntityListConfig(item, resourceID, configName) {
82
+ return new Promise((accept, reject) => {
83
+ this.getConfig(resourceID, configName).then(config => {
84
+ const state = config.map(({ id, value, fixed, visible, type }) => {
85
+ return Object.assign(Object.assign(Object.assign({ id }, (value && { value: normalizeValue(value, type) })), (fixed && { fixed })), (visible && { visible: true }));
86
+ });
87
+ const index = state.findIndex(({ id }) => id === item.id);
88
+ const newItem = { id: item.id, value: normalizeValue(item.value, item.type), fixed: item.fixed, visible: true };
89
+ if (index > -1) {
90
+ state[index] = newItem;
91
+ }
92
+ else {
93
+ state.push(newItem);
94
+ }
95
+ this.saveResource(state, this.getPath(resourceID, configName)).then(resp => {
96
+ accept(resp);
97
+ }).catch(exception => {
98
+ reject(exception);
99
+ });
100
+ }).catch(exception => {
101
+ reject(exception);
102
+ });
103
+ });
104
+ }
105
+ getPath(resourceID, name) {
106
+ if (name) {
107
+ return `cfg://filter/FilterBarState:${resourceID}/${name}`;
108
+ }
109
+ return `cfg://filter/FilterBarState:${resourceID}`;
110
+ }
111
+ }
112
+
113
+ export { FilterBarConfigFetcher as F };
@@ -1,68 +1,6 @@
1
1
  import { d as dist, D as DataFetcher } from './DataFetcher-b3d8b2d5.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
-
4
- class ResourceFetcher {
5
- constructor() {
6
- this.templateByQuery = new Map();
7
- this.buldTemplates();
8
- }
9
- buldTemplates() {
10
- this.templateByQuery.set("fetchResource", dist.gql `query($name: String!) {
11
- $queryAlias$: fetchResource(name: $name){
12
- resource
13
- }
14
- }`);
15
- this.templateByQuery.set("saveResource", dist.gql `mutation($resource: InputResource!) {
16
- $queryAlias$: saveResource(resource: $resource){
17
- name
18
- resource
19
- }
20
- }`);
21
- }
22
- loadResource(name) {
23
- if (ResourceFetcher._loadingResource.has(name)) {
24
- return ResourceFetcher._loadingResource.get(name);
25
- }
26
- const promiseLoadResource = new Promise((resolve, reject) => {
27
- DataFetcher.get()
28
- .callGraphQL({
29
- values: { name },
30
- query: this.templateByQuery.get("fetchResource"),
31
- })
32
- .then((result) => {
33
- resolve(result === null || result === void 0 ? void 0 : result.resource);
34
- ResourceFetcher._loadingResource.delete(name);
35
- })
36
- .catch((error) => {
37
- reject(error);
38
- ResourceFetcher._loadingResource.delete(name);
39
- });
40
- });
41
- ResourceFetcher._loadingResource.set(name, promiseLoadResource);
42
- return promiseLoadResource;
43
- }
44
- saveResource(resource, name) {
45
- return new Promise((resolve, reject) => {
46
- DataFetcher.get()
47
- .callGraphQL({
48
- values: {
49
- resource: {
50
- name: name,
51
- resource: JSON.stringify(resource)
52
- }
53
- },
54
- query: this.templateByQuery.get("saveResource")
55
- })
56
- .then((resp) => {
57
- resolve(resp);
58
- })
59
- .catch((error) => {
60
- reject(error);
61
- });
62
- });
63
- }
64
- }
65
- ResourceFetcher._loadingResource = new Map();
3
+ import { R as ResourceFetcher } from './resource-fetcher-02642924.js';
66
4
 
67
5
  class FormConfigFetcher extends ResourceFetcher {
68
6
  constructor() {
@@ -238,4 +176,4 @@ var UserConfigType;
238
176
  UserConfigType["SHARED"] = "SHARED";
239
177
  })(UserConfigType || (UserConfigType = {}));
240
178
 
241
- export { FormConfigFetcher as F, ResourceFetcher as R, UserConfigType as U };
179
+ export { FormConfigFetcher as F, UserConfigType as U };
@@ -11,7 +11,7 @@ const patchEsm = () => {
11
11
  const defineCustomElements = (win, options) => {
12
12
  if (typeof window === 'undefined') return Promise.resolve();
13
13
  return patchEsm().then(() => {
14
- return bootstrapLazy([["snk-personalized-filter",[[0,"snk-personalized-filter",{"messagesBuilder":[1040]}]]],["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-filter-modal",[[0,"snk-filter-modal",{"getMessage":[16],"filters":[1040],"applyFilters":[16],"clearAll":[16],"closeModal":[16]}]]],["snk-filter-binary-select",[[0,"snk-filter-binary-select",{"value":[1544],"config":[16],"presentationMode":[2,"presentation-mode"]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-list",[[4,"snk-filter-list",{"label":[1],"iconName":[1,"icon-name"],"items":[16],"getMessage":[16],"emptyText":[1,"empty-text"],"findFilterText":[1,"find-filter-text"],"buttonClass":[1,"button-class"],"_filterArgument":[32],"_showAll":[32],"hideDetail":[64]},[[2,"keydown","keyDownHandler"]]]]],["snk-filter-multi-select",[[0,"snk-filter-multi-select",{"value":[1544],"config":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-number",[[0,"snk-filter-number",{"config":[16],"value":[2],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-period",[[0,"snk-filter-period",{"config":[16],"getMessage":[16],"value":[8],"presentationMode":[2,"presentation-mode"],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-personalized",[[0,"snk-filter-personalized",{"config":[16],"value":[1040],"fix":[16],"unfix":[16],"show":[64]}]]],["snk-filter-search",[[0,"snk-filter-search",{"config":[16],"value":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-text",[[0,"snk-filter-text",{"config":[16],"value":[1]},[[0,"ezChange","ezChangeListener"]]]]],["snk-expression-item",[[2,"snk-expression-item",{"expression":[16],"canRemove":[516,"can-remove"],"messagesBuilder":[1040],"_showValueVariable":[32],"_fieldSelected":[32],"_optionNotNull":[32]}]]],["snk-filter-modal-item",[[0,"snk-filter-modal-item",{"filterItem":[1040]}]]],["snk-attach",[[2,"snk-attach",{"registerKey":[1,"register-key"],"entityName":[1,"entity-name"],"messagesBuilder":[1040],"dataUnit":[32],"crudConfig":[32]}]]],["snk-detail-view",[[2,"snk-detail-view",{"formConfigManager":[1040],"dataUnitName":[1,"data-unit-name"],"guideItemPath":[16],"entityName":[1,"entity-name"],"label":[1],"dataUnit":[1040],"selectedForm":[1025,"selected-form"],"dataState":[1040],"messagesBuilder":[1040],"branchGuide":[16],"_disabledButtons":[32],"attachmentRegisterKey":[32],"changeViewMode":[64],"configGrid":[64],"showUp":[64]},[[0,"snkContentCardChanged","onContentCardChanged"]]]]],["snk-configurator",[[2,"snk-configurator",{"configName":[1,"config-name"],"viewMode":[2,"view-mode"],"messagesBuilder":[1040],"_opened":[32],"_permissions":[32],"open":[64],"close":[64]}]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-filter-bar",[[2,"snk-filter-bar",{"dataUnit":[1040],"configName":[1,"config-name"],"filterConfig":[1040],"messagesBuilder":[1040],"allowDefault":[32],"scrollerLocked":[32]},[[0,"filterChange","filterChangeListener"]]]]],["snk-filter-field-search_2",[[2,"snk-filter-field-search",{"searchable":[4],"fieldsDataSource":[16],"breadcrumbItems":[32],"linkItems":[32],"fieldItems":[32],"show":[64],"applyFilter":[64]}],[0,"snk-filter-param-config",{"messagesBuilder":[1040],"_opened":[32],"_configType":[32],"_expressionItem":[32],"_informedInstance":[32],"_canSave":[32],"open":[64],"close":[64]}]]],["snk-config-options",[[2,"snk-config-options",{"fieldConfig":[16],"idConfig":[513,"id-config"],"dataUnit":[16],"messagesBuilder":[1040],"_defaultType":[32]}]]],["snk-field-config",[[2,"snk-field-config",{"isConfigActive":[16],"fieldConfig":[16],"modeInsertion":[516,"mode-insertion"],"dataUnit":[16],"messagesBuilder":[1040]}]]],["snk-tab-config",[[6,"snk-tab-config",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"messagesBuilder":[1040],"_processedTabs":[32],"_activeEditText":[32],"_activeEditTextIndex":[32],"_actionsHide":[32],"_actionsShow":[32]}]]],["snk-form-config",[[2,"snk-form-config",{"dataUnit":[16],"configManager":[16],"messagesBuilder":[1040],"_formConfigOptions":[32],"_fieldConfigSelected":[32],"_layoutFormConfig":[32],"_fieldsAvailable":[32],"_formConfig":[32],"_formConfigChanged":[32],"_optionFormConfigSelected":[32],"_optionFormConfigChanged":[32],"_tempGroups":[32]}]]],["snk-select-box",[[1,"snk-select-box",{"selectedOption":[1,"selected-option"]}]]],["snk-grid-config",[[2,"snk-grid-config",{"selectedIndex":[1026,"selected-index"],"application":[16],"columns":[1040],"config":[1040],"configName":[1,"config-name"]}]]],["snk-filter-item",[[0,"snk-filter-item",{"config":[1040],"getMessage":[16],"detailIsVisible":[32],"showUp":[64],"hideDetail":[64]},[[2,"click","clickListener"],[2,"mousedown","mouseDownListener"],[0,"filterChange","filterChangeListener"]]]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"messagesBuilder":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"beforeSave":[16],"afterSave":[16],"useCancelConfirm":[4,"use-cancel-confirm"],"getDataUnit":[64],"getSelectedRecordsIDsInfo":[64]}]]],["snk-exporter-email-sender",[[0,"snk-exporter-email-sender",{"getMessage":[16],"_config":[32],"_opened":[32],"_currentStep":[32],"open":[64],"close":[64]}]]],["snk-data-exporter",[[2,"snk-data-exporter",{"provider":[16],"messagesBuilder":[1040],"_items":[32],"_showDropdown":[32],"_releasedToExport":[32]}]]],["snk-taskbar",[[6,"snk-taskbar",{"configName":[1,"config-name"],"buttons":[1],"customButtons":[16],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"presentationMode":[1537,"presentation-mode"],"messagesBuilder":[1040],"_permissions":[32]}]]],["snk-grid",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"isDetail":[4,"is-detail"],"taskbarManager":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"presentationMode":[1,"presentation-mode"],"messagesBuilder":[1040],"_dataUnit":[32],"_dataState":[32],"_gridConfig":[32],"_popUpGridConfig":[32],"showConfig":[64],"hideConfig":[64],"setConfig":[64]}]]],["snk-guides-viewer",[[2,"snk-guides-viewer",{"_guideBuilders":[16],"dataUnit":[16],"dataState":[16],"configName":[1,"config-name"],"entityPath":[1,"entity-path"],"actionsList":[16],"recordsValidator":[16],"masterFormConfig":[1040],"selectedGuide":[16],"taskbarManager":[16],"messagesBuilder":[1040],"presentationMode":[1,"presentation-mode"],"_breadcrumbItems":[32],"_guides":[32],"_formEditorConfigManager":[32],"_formEditorDataUnit":[32],"showFormConfig":[64]},[[2,"actionClick","onActionClick"],[0,"snkContentCardChanged","onContentCardChanged"]]]]],["snk-crud",[[6,"snk-crud",{"configName":[1025,"config-name"],"actionsList":[16],"taskbarManager":[16],"recordsValidator":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"presentationMode":[1,"presentation-mode"],"messagesBuilder":[1040],"_dataUnit":[32],"_dataState":[32],"attachmentRegisterKey":[32],"_currentViewMode":[32],"goToView":[64]}]]],["snk-form",[[2,"snk-form",{"configName":[1,"config-name"],"recordsValidator":[16],"messagesBuilder":[1040],"_dataUnit":[32],"_dataState":[32],"_showFormConfig":[32],"_configManager":[32],"showConfig":[64],"hideConfig":[64]}]]],["snk-application",[[2,"snk-application",{"messagesBuilder":[1040],"configName":[1,"config-name"],"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"showModal":[64],"closeModal":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"webConnection":[64],"createDataunit":[64],"updateDataunitCache":[64],"getDataUnit":[64],"addClientEvent":[64],"removeClientEvent":[64],"hasClientEvent":[64],"getResourceID":[64],"getUserID":[64],"alert":[64],"error":[64],"success":[64],"message":[64],"confirm":[64],"info":[64],"loadGridConfig":[64],"loadTotals":[64],"executeSearch":[64],"executePreparedSearch":[64],"isDebugMode":[64],"getAppLabel":[64],"addSearchListener":[64]}]]],["snk-form-summary",[[2,"snk-form-summary",{"fixed":[1540],"contracted":[1540],"summary":[16]}]]],["snk-form-view",[[6,"snk-form-view",{"levelPath":[1,"level-path"],"label":[1],"name":[1],"fields":[16],"formMetadata":[8,"form-metadata"],"dataUnit":[16],"contracted":[4],"fixed":[1540],"summaryFields":[16],"canExpand":[4,"can-expand"],"canFix":[4,"can-fix"],"recordsValidator":[16],"showUp":[64]}]]],["snk-filter-detail",[[0,"snk-filter-detail",{"config":[1040],"getMessage":[16],"show":[64]}]]],["snk-simple-bar_2",[[6,"snk-simple-crud",{"dataState":[16],"dataUnit":[16],"mode":[2],"gridConfig":[16],"formConfig":[16],"useCancelConfirm":[4,"use-cancel-confirm"],"taskbarManager":[16],"messagesBuilder":[1040],"_currentViewMode":[32],"_config":[32],"goToView":[64],"setMetadata":[64],"setRecords":[64],"getRecords":[64]},[[0,"actionClick","actionClickListener"]]],[6,"snk-simple-bar",{"label":[1],"breadcrumbItens":[16],"messagesBuilder":[1040]}]]]], options);
14
+ return bootstrapLazy([["snk-personalized-filter",[[0,"snk-personalized-filter",{"messagesBuilder":[1040]}]]],["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-filter-modal",[[0,"snk-filter-modal",{"getMessage":[16],"filters":[1040],"applyFilters":[16],"clearAll":[16],"closeModal":[16]}]]],["snk-entity-list",[[2,"snk-entity-list",{"config":[1040],"rightListSlotBuilder":[1040],"maxHeightList":[1,"max-height-list"],"_searchValue":[32],"_ezListSource":[32],"reloadList":[64]}]]],["snk-filter-binary-select",[[0,"snk-filter-binary-select",{"value":[1544],"config":[16],"presentationMode":[2,"presentation-mode"]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-list",[[4,"snk-filter-list",{"label":[1],"iconName":[1,"icon-name"],"items":[16],"getMessage":[16],"emptyText":[1,"empty-text"],"findFilterText":[1,"find-filter-text"],"buttonClass":[1,"button-class"],"_filterArgument":[32],"_showAll":[32],"hideDetail":[64]},[[2,"keydown","keyDownHandler"]]]]],["snk-filter-multi-select",[[0,"snk-filter-multi-select",{"value":[1544],"config":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-number",[[0,"snk-filter-number",{"config":[16],"value":[2],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-period",[[0,"snk-filter-period",{"config":[16],"getMessage":[16],"value":[8],"presentationMode":[2,"presentation-mode"],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-personalized",[[0,"snk-filter-personalized",{"config":[16],"value":[1040],"fix":[16],"unfix":[16],"show":[64]}]]],["snk-filter-search",[[0,"snk-filter-search",{"config":[16],"value":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-text",[[0,"snk-filter-text",{"config":[16],"value":[1]},[[0,"ezChange","ezChangeListener"]]]]],["snk-expression-item",[[2,"snk-expression-item",{"expression":[16],"canRemove":[516,"can-remove"],"messagesBuilder":[1040],"_showValueVariable":[32],"_fieldSelected":[32],"_optionNotNull":[32]}]]],["snk-filter-modal-item",[[0,"snk-filter-modal-item",{"filterItem":[1040]}]]],["snk-detail-view",[[2,"snk-detail-view",{"formConfigManager":[1040],"dataUnitName":[1,"data-unit-name"],"guideItemPath":[16],"entityName":[1,"entity-name"],"label":[1],"dataUnit":[1040],"selectedForm":[1025,"selected-form"],"dataState":[1040],"messagesBuilder":[1040],"branchGuide":[16],"_disabledButtons":[32],"attachmentRegisterKey":[32],"changeViewMode":[64],"configGrid":[64],"showUp":[64]},[[0,"snkContentCardChanged","onContentCardChanged"]]]]],["snk-configurator",[[2,"snk-configurator",{"configName":[1,"config-name"],"viewMode":[2,"view-mode"],"messagesBuilder":[1040],"_opened":[32],"_permissions":[32],"open":[64],"close":[64]}]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-attach",[[2,"snk-attach",{"registerKey":[1,"register-key"],"entityName":[1,"entity-name"],"messagesBuilder":[1040],"dataUnit":[32],"crudConfig":[32]}]]],["snk-filter-bar",[[2,"snk-filter-bar",{"dataUnit":[1040],"configName":[1,"config-name"],"filterConfig":[1040],"messagesBuilder":[1040],"allowDefault":[32],"scrollerLocked":[32]},[[0,"filterChange","filterChangeListener"]]]]],["snk-filter-field-search_2",[[2,"snk-filter-field-search",{"searchable":[4],"fieldsDataSource":[16],"breadcrumbItems":[32],"linkItems":[32],"fieldItems":[32],"show":[64],"applyFilter":[64]}],[0,"snk-filter-param-config",{"messagesBuilder":[1040],"_opened":[32],"_configType":[32],"_expressionItem":[32],"_informedInstance":[32],"_canSave":[32],"open":[64],"close":[64]}]]],["snk-config-options",[[2,"snk-config-options",{"fieldConfig":[16],"idConfig":[513,"id-config"],"dataUnit":[16],"messagesBuilder":[1040],"_defaultType":[32]}]]],["snk-field-config",[[2,"snk-field-config",{"isConfigActive":[16],"fieldConfig":[16],"modeInsertion":[516,"mode-insertion"],"dataUnit":[16],"messagesBuilder":[1040]}]]],["snk-tab-config",[[6,"snk-tab-config",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"messagesBuilder":[1040],"_processedTabs":[32],"_activeEditText":[32],"_activeEditTextIndex":[32],"_actionsHide":[32],"_actionsShow":[32]}]]],["snk-form-config",[[2,"snk-form-config",{"dataUnit":[16],"configManager":[16],"messagesBuilder":[1040],"_formConfigOptions":[32],"_fieldConfigSelected":[32],"_layoutFormConfig":[32],"_fieldsAvailable":[32],"_formConfig":[32],"_formConfigChanged":[32],"_optionFormConfigSelected":[32],"_optionFormConfigChanged":[32],"_tempGroups":[32]}]]],["snk-select-box",[[1,"snk-select-box",{"selectedOption":[1,"selected-option"]}]]],["snk-grid-config",[[2,"snk-grid-config",{"selectedIndex":[1026,"selected-index"],"application":[16],"columns":[1040],"config":[1040],"configName":[1,"config-name"]}]]],["snk-filter-item",[[0,"snk-filter-item",{"config":[1040],"getMessage":[16],"detailIsVisible":[32],"showUp":[64],"hideDetail":[64]},[[2,"click","clickListener"],[2,"mousedown","mouseDownListener"],[0,"filterChange","filterChangeListener"]]]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"messagesBuilder":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"beforeSave":[16],"afterSave":[16],"useCancelConfirm":[4,"use-cancel-confirm"],"getDataUnit":[64],"getSelectedRecordsIDsInfo":[64]}]]],["snk-filter-detail",[[0,"snk-filter-detail",{"config":[1040],"getMessage":[16],"show":[64]}]]],["snk-exporter-email-sender",[[0,"snk-exporter-email-sender",{"getMessage":[16],"_config":[32],"_opened":[32],"_currentStep":[32],"open":[64],"close":[64]}]]],["snk-data-exporter",[[2,"snk-data-exporter",{"provider":[16],"messagesBuilder":[1040],"_items":[32],"_showDropdown":[32],"_releasedToExport":[32]}]]],["snk-taskbar",[[6,"snk-taskbar",{"configName":[1,"config-name"],"buttons":[1],"customButtons":[16],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"presentationMode":[1537,"presentation-mode"],"messagesBuilder":[1040],"_permissions":[32]}]]],["snk-grid",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"isDetail":[4,"is-detail"],"taskbarManager":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"presentationMode":[1,"presentation-mode"],"messagesBuilder":[1040],"_dataUnit":[32],"_dataState":[32],"_gridConfig":[32],"_popUpGridConfig":[32],"showConfig":[64],"hideConfig":[64],"setConfig":[64]}]]],["snk-guides-viewer",[[2,"snk-guides-viewer",{"_guideBuilders":[16],"dataUnit":[16],"dataState":[16],"configName":[1,"config-name"],"entityPath":[1,"entity-path"],"actionsList":[16],"recordsValidator":[16],"masterFormConfig":[1040],"selectedGuide":[16],"taskbarManager":[16],"messagesBuilder":[1040],"presentationMode":[1,"presentation-mode"],"_breadcrumbItems":[32],"_guides":[32],"_formEditorConfigManager":[32],"_formEditorDataUnit":[32],"showFormConfig":[64]},[[2,"actionClick","onActionClick"],[0,"snkContentCardChanged","onContentCardChanged"]]]]],["snk-crud",[[6,"snk-crud",{"configName":[1025,"config-name"],"actionsList":[16],"taskbarManager":[16],"recordsValidator":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"presentationMode":[1,"presentation-mode"],"messagesBuilder":[1040],"_dataUnit":[32],"_dataState":[32],"attachmentRegisterKey":[32],"_currentViewMode":[32],"goToView":[64]}]]],["snk-form",[[2,"snk-form",{"configName":[1,"config-name"],"recordsValidator":[16],"messagesBuilder":[1040],"_dataUnit":[32],"_dataState":[32],"_showFormConfig":[32],"_configManager":[32],"showConfig":[64],"hideConfig":[64]}]]],["snk-application",[[2,"snk-application",{"messagesBuilder":[1040],"configName":[1,"config-name"],"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"showModal":[64],"closeModal":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"webConnection":[64],"createDataunit":[64],"updateDataunitCache":[64],"getDataUnit":[64],"addClientEvent":[64],"removeClientEvent":[64],"hasClientEvent":[64],"getResourceID":[64],"getUserID":[64],"alert":[64],"error":[64],"success":[64],"message":[64],"confirm":[64],"info":[64],"loadGridConfig":[64],"loadTotals":[64],"executeSearch":[64],"executePreparedSearch":[64],"isDebugMode":[64],"getAppLabel":[64],"addSearchListener":[64]}]]],["snk-form-summary",[[2,"snk-form-summary",{"fixed":[1540],"contracted":[1540],"summary":[16]}]]],["snk-form-view",[[6,"snk-form-view",{"levelPath":[1,"level-path"],"label":[1],"name":[1],"fields":[16],"formMetadata":[8,"form-metadata"],"dataUnit":[16],"contracted":[4],"fixed":[1540],"summaryFields":[16],"canExpand":[4,"can-expand"],"canFix":[4,"can-fix"],"recordsValidator":[16],"showUp":[64]}]]],["snk-simple-bar_2",[[6,"snk-simple-crud",{"dataState":[16],"dataUnit":[16],"mode":[2],"gridConfig":[16],"formConfig":[16],"useCancelConfirm":[4,"use-cancel-confirm"],"taskbarManager":[16],"messagesBuilder":[1040],"_currentViewMode":[32],"_config":[32],"goToView":[64],"setMetadata":[64],"setRecords":[64],"getRecords":[64]},[[0,"actionClick","actionClickListener"]]],[6,"snk-simple-bar",{"label":[1],"breadcrumbItens":[16],"messagesBuilder":[1040]}]]]], options);
15
15
  });
16
16
  };
17
17
 
@@ -0,0 +1,66 @@
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-b3d8b2d5.js';
2
+
3
+ class ResourceFetcher {
4
+ constructor() {
5
+ this.templateByQuery = new Map();
6
+ this.buldTemplates();
7
+ }
8
+ buldTemplates() {
9
+ this.templateByQuery.set("fetchResource", dist.gql `query($name: String!) {
10
+ $queryAlias$: fetchResource(name: $name){
11
+ resource
12
+ }
13
+ }`);
14
+ this.templateByQuery.set("saveResource", dist.gql `mutation($resource: InputResource!) {
15
+ $queryAlias$: saveResource(resource: $resource){
16
+ name
17
+ resource
18
+ }
19
+ }`);
20
+ }
21
+ loadResource(name) {
22
+ if (ResourceFetcher._loadingResource.has(name)) {
23
+ return ResourceFetcher._loadingResource.get(name);
24
+ }
25
+ const promiseLoadResource = new Promise((resolve, reject) => {
26
+ DataFetcher.get()
27
+ .callGraphQL({
28
+ values: { name },
29
+ query: this.templateByQuery.get("fetchResource"),
30
+ })
31
+ .then((result) => {
32
+ resolve(result === null || result === void 0 ? void 0 : result.resource);
33
+ ResourceFetcher._loadingResource.delete(name);
34
+ })
35
+ .catch((error) => {
36
+ reject(error);
37
+ ResourceFetcher._loadingResource.delete(name);
38
+ });
39
+ });
40
+ ResourceFetcher._loadingResource.set(name, promiseLoadResource);
41
+ return promiseLoadResource;
42
+ }
43
+ saveResource(resource, name) {
44
+ return new Promise((resolve, reject) => {
45
+ DataFetcher.get()
46
+ .callGraphQL({
47
+ values: {
48
+ resource: {
49
+ name: name,
50
+ resource: JSON.stringify(resource)
51
+ }
52
+ },
53
+ query: this.templateByQuery.get("saveResource")
54
+ })
55
+ .then((resp) => {
56
+ resolve(resp);
57
+ })
58
+ .catch((error) => {
59
+ reject(error);
60
+ });
61
+ });
62
+ }
63
+ }
64
+ ResourceFetcher._loadingResource = new Map();
65
+
66
+ export { ResourceFetcher as R };