@sankhyalabs/sankhyablocks 8.1.0 → 8.2.0-dev.2

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 (221) hide show
  1. package/dist/cjs/{ConfigStorage-73e7afff.js → ConfigStorage-12397f18.js} +163 -51
  2. package/dist/cjs/{DataFetcher-004811c6.js → DataFetcher-f2da1f79.js} +68 -30
  3. package/dist/cjs/ISave-d68ce3cd.js +8 -0
  4. package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
  5. package/dist/cjs/{SnkFormConfigManager-d1f1a222.js → SnkFormConfigManager-13f79e37.js} +19 -21
  6. package/dist/cjs/auth-fetcher-319a4cb2.js +34 -0
  7. package/dist/cjs/{dataunit-fetcher-029eafbd.js → dataunit-fetcher-e72068c1.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-181767c9.js → form-config-fetcher-5d62ab62.js} +66 -3
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-9a97994a.js → pesquisa-fetcher-8c363096.js} +1 -1
  11. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  12. package/dist/cjs/snk-actions-button.cjs.entry.js +18 -11
  13. package/dist/cjs/snk-application.cjs.entry.js +51 -73
  14. package/dist/cjs/snk-attach.cjs.entry.js +7 -13
  15. package/dist/cjs/snk-configurator.cjs.entry.js +2 -1
  16. package/dist/cjs/snk-crud.cjs.entry.js +28 -9
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  18. package/dist/cjs/{snk-data-unit-d5109a08.js → snk-data-unit-80a00ae4.js} +8 -6
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +18 -25
  21. package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +14 -17
  23. package/dist/cjs/snk-filter-detail.cjs.entry.js +1 -15
  24. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -19
  25. package/dist/cjs/snk-form-config.cjs.entry.js +6 -17
  26. package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
  27. package/dist/cjs/snk-form.cjs.entry.js +12 -8
  28. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -6
  29. package/dist/cjs/snk-grid.cjs.entry.js +20 -20
  30. package/dist/cjs/{snk-guides-viewer-aa3e3bfa.js → snk-guides-viewer-a7cd6fda.js} +18 -9
  31. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
  32. package/dist/cjs/snk-personalized-filter.cjs.entry.js +13 -16
  33. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-simple-crud.cjs.entry.js +43 -92
  35. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -1
  36. package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
  37. package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
  38. package/dist/collection/components/snk-application/snk-application.js +60 -65
  39. package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
  40. package/dist/collection/components/snk-crud/snk-crud.js +63 -8
  41. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +65 -15
  42. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
  43. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +66 -30
  44. package/dist/collection/components/snk-data-unit/snk-data-unit.js +42 -7
  45. package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
  46. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +2 -12
  47. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  48. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
  49. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +28 -12
  50. package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
  51. package/dist/collection/components/snk-form/snk-form.js +46 -2
  52. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
  53. package/dist/collection/components/snk-grid/snk-grid.js +110 -16
  54. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
  55. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
  56. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +43 -9
  57. package/dist/collection/components/snk-taskbar/snk-taskbar.js +19 -1
  58. package/dist/collection/lib/configs/ConfigStorage.js +33 -44
  59. package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -71
  60. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +39 -30
  61. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
  62. package/dist/collection/lib/index.js +10 -0
  63. package/dist/collection/lib/resourceid/ResourceIDUtils.js +7 -0
  64. package/dist/collection/lib/utils/urlutils.js +29 -0
  65. package/dist/components/ConfigStorage.js +161 -48
  66. package/dist/components/DataFetcher.js +68 -30
  67. package/dist/components/ResourceIDUtils.js +10 -0
  68. package/dist/components/SnkFormConfigManager.js +17 -19
  69. package/dist/components/auth-fetcher.js +32 -0
  70. package/dist/components/form-config-fetcher.js +64 -2
  71. package/dist/components/snk-actions-button2.js +23 -9
  72. package/dist/components/snk-application2.js +132 -154
  73. package/dist/components/snk-attach2.js +1 -8
  74. package/dist/components/snk-configurator2.js +3 -1
  75. package/dist/components/snk-crud.js +29 -7
  76. package/dist/components/snk-data-unit2.js +10 -6
  77. package/dist/components/snk-detail-view2.js +28 -23
  78. package/dist/components/snk-entity-list.js +0 -4
  79. package/dist/components/snk-filter-bar2.js +12 -12
  80. package/dist/components/snk-filter-detail2.js +2 -12
  81. package/dist/components/snk-filter-modal-item2.js +5 -16
  82. package/dist/components/snk-form-config2.js +5 -15
  83. package/dist/components/snk-form-view2.js +6 -1
  84. package/dist/components/snk-form.js +9 -2
  85. package/dist/components/snk-grid-config2.js +4 -2
  86. package/dist/components/snk-grid2.js +23 -16
  87. package/dist/components/snk-personalized-filter2.js +11 -11
  88. package/dist/components/snk-simple-crud2.js +33 -81
  89. package/dist/components/snk-taskbar2.js +3 -1
  90. package/dist/esm/{ConfigStorage-19a7260b.js → ConfigStorage-932ab366.js} +162 -49
  91. package/dist/esm/{DataFetcher-e0fc5549.js → DataFetcher-7e18aa30.js} +68 -30
  92. package/dist/esm/ISave-4412b20c.js +8 -0
  93. package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
  94. package/dist/esm/{SnkFormConfigManager-1a42eb02.js → SnkFormConfigManager-bb9afc3f.js} +19 -21
  95. package/dist/esm/auth-fetcher-6d9664b7.js +32 -0
  96. package/dist/esm/{dataunit-fetcher-6a695723.js → dataunit-fetcher-91a4eb82.js} +1 -1
  97. package/dist/esm/{form-config-fetcher-9e167008.js → form-config-fetcher-aaaa79a6.js} +65 -3
  98. package/dist/esm/loader.js +1 -1
  99. package/dist/esm/{pesquisa-fetcher-9118eb7a.js → pesquisa-fetcher-56b30fb4.js} +1 -1
  100. package/dist/esm/sankhyablocks.js +1 -1
  101. package/dist/esm/snk-actions-button.entry.js +18 -11
  102. package/dist/esm/snk-application.entry.js +49 -71
  103. package/dist/esm/snk-attach.entry.js +3 -9
  104. package/dist/esm/snk-configurator.entry.js +2 -1
  105. package/dist/esm/snk-crud.entry.js +28 -9
  106. package/dist/esm/snk-data-exporter.entry.js +2 -2
  107. package/dist/esm/{snk-data-unit-3a0bbfcb.js → snk-data-unit-3ab57d1a.js} +8 -6
  108. package/dist/esm/snk-data-unit.entry.js +1 -1
  109. package/dist/esm/snk-detail-view.entry.js +18 -25
  110. package/dist/esm/snk-entity-list.entry.js +0 -4
  111. package/dist/esm/snk-filter-bar.entry.js +14 -17
  112. package/dist/esm/snk-filter-detail.entry.js +2 -16
  113. package/dist/esm/snk-filter-modal-item.entry.js +6 -20
  114. package/dist/esm/snk-form-config.entry.js +7 -18
  115. package/dist/esm/snk-form-view.entry.js +6 -1
  116. package/dist/esm/snk-form.entry.js +12 -8
  117. package/dist/esm/snk-grid-config.entry.js +5 -6
  118. package/dist/esm/snk-grid.entry.js +20 -20
  119. package/dist/esm/{snk-guides-viewer-aa386f6e.js → snk-guides-viewer-cc709b5f.js} +18 -9
  120. package/dist/esm/snk-guides-viewer.entry.js +8 -8
  121. package/dist/esm/snk-personalized-filter.entry.js +13 -16
  122. package/dist/esm/snk-print-selector.entry.js +1 -1
  123. package/dist/esm/snk-simple-crud.entry.js +34 -83
  124. package/dist/esm/snk-taskbar.entry.js +2 -1
  125. package/dist/sankhyablocks/p-01739b21.entry.js +1 -0
  126. package/dist/sankhyablocks/{p-e7e54737.entry.js → p-03bb1aea.entry.js} +1 -1
  127. package/dist/sankhyablocks/p-05dbc70e.entry.js +1 -0
  128. package/dist/sankhyablocks/{p-0a4c753d.js → p-14eac6fe.js} +1 -1
  129. package/dist/sankhyablocks/{p-2ac9c585.js → p-2d333d22.js} +1 -1
  130. package/dist/sankhyablocks/p-41e897f1.js +56 -0
  131. package/dist/sankhyablocks/p-48a40939.js +1 -0
  132. package/dist/sankhyablocks/p-611aa624.entry.js +1 -0
  133. package/dist/sankhyablocks/p-66bb8c20.entry.js +1 -0
  134. package/dist/sankhyablocks/p-688dcb4c.js +1 -0
  135. package/dist/sankhyablocks/p-6f154396.entry.js +1 -0
  136. package/dist/sankhyablocks/p-787071a8.js +1 -0
  137. package/dist/sankhyablocks/p-8818d8f6.entry.js +1 -0
  138. package/dist/sankhyablocks/p-93f6ca04.entry.js +1 -0
  139. package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
  140. package/dist/sankhyablocks/p-9e7d65a4.js +1 -0
  141. package/dist/sankhyablocks/p-a52a6c9d.js +26 -0
  142. package/dist/sankhyablocks/p-b6003974.entry.js +1 -0
  143. package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
  144. package/dist/sankhyablocks/p-cfb33a4a.entry.js +1 -0
  145. package/dist/sankhyablocks/{p-7c7764bf.entry.js → p-d13c00b6.entry.js} +1 -1
  146. package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
  147. package/dist/sankhyablocks/p-d53a9169.entry.js +1 -0
  148. package/dist/sankhyablocks/p-d7638f45.entry.js +11 -0
  149. package/dist/sankhyablocks/p-e086cc2a.entry.js +1 -0
  150. package/dist/sankhyablocks/p-e64f3e17.entry.js +1 -0
  151. package/dist/sankhyablocks/p-ed41b38c.js +1 -0
  152. package/dist/sankhyablocks/p-ed705cbb.entry.js +1 -0
  153. package/dist/sankhyablocks/p-efc10705.entry.js +1 -0
  154. package/dist/sankhyablocks/p-f74fe358.js +1 -0
  155. package/dist/sankhyablocks/{p-df8621b4.js → p-f8e6b97e.js} +1 -1
  156. package/dist/sankhyablocks/p-f91e0c5d.entry.js +1 -0
  157. package/dist/sankhyablocks/p-fa523d6b.entry.js +1 -0
  158. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  159. package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
  160. package/dist/types/components/snk-application/snk-application.d.ts +8 -13
  161. package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
  162. package/dist/types/components/snk-crud/snk-crud.d.ts +10 -0
  163. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +13 -0
  164. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
  165. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -2
  166. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +8 -0
  167. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
  168. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
  169. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
  170. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
  171. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  172. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
  173. package/dist/types/components/snk-form/snk-form.d.ts +9 -1
  174. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
  175. package/dist/types/components/snk-grid/snk-grid.d.ts +18 -1
  176. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
  177. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
  178. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +8 -0
  179. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +4 -0
  180. package/dist/types/components.d.ts +189 -21
  181. package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
  182. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -8
  183. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  184. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
  185. package/dist/types/lib/index.d.ts +11 -0
  186. package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
  187. package/dist/types/lib/utils/urlutils.d.ts +14 -0
  188. package/package.json +2 -2
  189. package/dist/cjs/filter-bar-config-fetcher-2b8ed9d0.js +0 -155
  190. package/dist/cjs/resource-fetcher-c0332609.js +0 -68
  191. package/dist/components/filter-bar-config-fetcher.js +0 -153
  192. package/dist/components/resource-fetcher.js +0 -66
  193. package/dist/esm/filter-bar-config-fetcher-06e02851.js +0 -153
  194. package/dist/esm/resource-fetcher-768d5556.js +0 -66
  195. package/dist/sankhyablocks/p-0a94fdbd.entry.js +0 -1
  196. package/dist/sankhyablocks/p-0ed0fc02.entry.js +0 -1
  197. package/dist/sankhyablocks/p-1e0189ff.entry.js +0 -1
  198. package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
  199. package/dist/sankhyablocks/p-50d72261.entry.js +0 -1
  200. package/dist/sankhyablocks/p-6759adae.entry.js +0 -1
  201. package/dist/sankhyablocks/p-7b8b8ae9.js +0 -10
  202. package/dist/sankhyablocks/p-815a42c0.entry.js +0 -1
  203. package/dist/sankhyablocks/p-8a41172a.entry.js +0 -1
  204. package/dist/sankhyablocks/p-8f8184ff.js +0 -56
  205. package/dist/sankhyablocks/p-8fdc3108.js +0 -1
  206. package/dist/sankhyablocks/p-976e56e9.js +0 -1
  207. package/dist/sankhyablocks/p-98f9d076.js +0 -17
  208. package/dist/sankhyablocks/p-9edad923.js +0 -1
  209. package/dist/sankhyablocks/p-abdcac04.entry.js +0 -1
  210. package/dist/sankhyablocks/p-b0847056.entry.js +0 -1
  211. package/dist/sankhyablocks/p-bc735728.entry.js +0 -1
  212. package/dist/sankhyablocks/p-be684b38.entry.js +0 -1
  213. package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
  214. package/dist/sankhyablocks/p-c0f656af.entry.js +0 -1
  215. package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
  216. package/dist/sankhyablocks/p-ccbfb1cf.entry.js +0 -1
  217. package/dist/sankhyablocks/p-d1b89765.js +0 -1
  218. package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
  219. package/dist/sankhyablocks/p-e28129aa.entry.js +0 -1
  220. package/dist/sankhyablocks/p-f31bfdee.entry.js +0 -1
  221. package/dist/sankhyablocks/p-f92fda53.entry.js +0 -11
@@ -8,10 +8,8 @@ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
8
8
  import store from "../../lib/store";
9
9
  import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
10
10
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
11
- // import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
12
11
  export class SnkGrid {
13
12
  constructor() {
14
- this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
15
13
  this._topTaskbarProcessor = new TaskbarProcessor({
16
14
  "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
17
15
  "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
@@ -28,7 +26,9 @@ export class SnkGrid {
28
26
  this._dataState = undefined;
29
27
  this._gridConfig = undefined;
30
28
  this._popUpGridConfig = false;
29
+ this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
31
30
  this.configName = undefined;
31
+ this.resourceID = undefined;
32
32
  this.selectionToastConfig = undefined;
33
33
  this.actionsList = undefined;
34
34
  this.isDetail = undefined;
@@ -37,6 +37,9 @@ export class SnkGrid {
37
37
  this.multipleSelection = undefined;
38
38
  this.presentationMode = PresentationMode.PRIMARY;
39
39
  this.messagesBuilder = undefined;
40
+ this.useEnterLikeTab = false;
41
+ this.recordsValidator = undefined;
42
+ this.canEdit = true;
40
43
  }
41
44
  /**
42
45
  * Exibe a janela de configurações da grade.
@@ -84,20 +87,17 @@ export class SnkGrid {
84
87
  this._gridConfig = config;
85
88
  }
86
89
  loadConfig() {
87
- ConfigStorage.get()
88
- .then((instance) => {
89
- instance.loadGridConfig(this.configName)
90
- .then((config) => {
91
- this.setGridConfig(config);
92
- })
93
- .catch((error) => {
94
- console.warn(error);
95
- });
90
+ ConfigStorage.loadGridConfig(this.configName, this.resourceID)
91
+ .then((config) => {
92
+ this.setGridConfig(config);
93
+ })
94
+ .catch((error) => {
95
+ console.warn(error);
96
96
  });
97
97
  }
98
98
  gridConfigChangeHandler(evt) {
99
99
  const config = evt.detail;
100
- ConfigStorage.saveGridConfig(config, this.configName);
100
+ ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
101
101
  evt.stopPropagation();
102
102
  }
103
103
  modalConfigChangeHandler(evt) {
@@ -210,10 +210,11 @@ export class SnkGrid {
210
210
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
211
211
  }
212
212
  finshLoading() {
213
+ var _a, _b;
213
214
  this._dataUnitLoadLockerResolver = this._dataUnit.addLoadingLocker();
214
215
  this.addElementID();
215
- this._multiSelectionListDataSource.setApplication(this._application);
216
- this._multiSelectionListDataSource.setDataUnit(this._dataUnit);
216
+ (_a = this.columnFilterDataSource) === null || _a === void 0 ? void 0 : _a.setApplication(this._application);
217
+ (_b = this.columnFilterDataSource) === null || _b === void 0 ? void 0 : _b.setDataUnit(this._dataUnit);
217
218
  }
218
219
  componentWillLoad() {
219
220
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -304,8 +305,8 @@ export class SnkGrid {
304
305
  if (!this._dataUnit) {
305
306
  return undefined;
306
307
  }
307
- 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" }, 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 }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
308
- 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() })), 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: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this._multiSelectionListDataSource, selectionToastConfig: this.selectionToastConfig }, 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.actionsList })), 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() }))));
308
+ 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" }, 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 }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
309
+ 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 })), 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: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), 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.actionsList, resourceID: this.resourceID })), 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 }))));
309
310
  }
310
311
  static get is() { return "snk-grid"; }
311
312
  static get encapsulation() { return "scoped"; }
@@ -321,6 +322,26 @@ export class SnkGrid {
321
322
  }
322
323
  static get properties() {
323
324
  return {
325
+ "columnFilterDataSource": {
326
+ "type": "unknown",
327
+ "mutable": true,
328
+ "complexType": {
329
+ "original": "SnkMultiSelectionListDataSource",
330
+ "resolved": "SnkMultiSelectionListDataSource",
331
+ "references": {
332
+ "SnkMultiSelectionListDataSource": {
333
+ "location": "global"
334
+ }
335
+ }
336
+ },
337
+ "required": false,
338
+ "optional": false,
339
+ "docs": {
340
+ "tags": [],
341
+ "text": ""
342
+ },
343
+ "defaultValue": "new SnkMultiSelectionListDataSource()"
344
+ },
324
345
  "configName": {
325
346
  "type": "string",
326
347
  "mutable": false,
@@ -338,6 +359,23 @@ export class SnkGrid {
338
359
  "attribute": "config-name",
339
360
  "reflect": false
340
361
  },
362
+ "resourceID": {
363
+ "type": "string",
364
+ "mutable": false,
365
+ "complexType": {
366
+ "original": "string",
367
+ "resolved": "string",
368
+ "references": {}
369
+ },
370
+ "required": false,
371
+ "optional": false,
372
+ "docs": {
373
+ "tags": [],
374
+ "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
375
+ },
376
+ "attribute": "resource-i-d",
377
+ "reflect": false
378
+ },
341
379
  "selectionToastConfig": {
342
380
  "type": "unknown",
343
381
  "mutable": false,
@@ -501,6 +539,62 @@ export class SnkGrid {
501
539
  "tags": [],
502
540
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
503
541
  }
542
+ },
543
+ "useEnterLikeTab": {
544
+ "type": "boolean",
545
+ "mutable": false,
546
+ "complexType": {
547
+ "original": "boolean",
548
+ "resolved": "boolean",
549
+ "references": {}
550
+ },
551
+ "required": false,
552
+ "optional": false,
553
+ "docs": {
554
+ "tags": [],
555
+ "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
556
+ },
557
+ "attribute": "use-enter-like-tab",
558
+ "reflect": false,
559
+ "defaultValue": "false"
560
+ },
561
+ "recordsValidator": {
562
+ "type": "unknown",
563
+ "mutable": false,
564
+ "complexType": {
565
+ "original": "IRecordValidator",
566
+ "resolved": "IRecordValidator",
567
+ "references": {
568
+ "IRecordValidator": {
569
+ "location": "import",
570
+ "path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
571
+ }
572
+ }
573
+ },
574
+ "required": false,
575
+ "optional": false,
576
+ "docs": {
577
+ "tags": [],
578
+ "text": "Validador respons\u00E1vel por checar a integridade das informa\u00E7\u00F5es do registro."
579
+ }
580
+ },
581
+ "canEdit": {
582
+ "type": "boolean",
583
+ "mutable": false,
584
+ "complexType": {
585
+ "original": "boolean",
586
+ "resolved": "boolean",
587
+ "references": {}
588
+ },
589
+ "required": false,
590
+ "optional": false,
591
+ "docs": {
592
+ "tags": [],
593
+ "text": "Define se a edi\u00E7\u00E3o est\u00E1 habilitada na grid."
594
+ },
595
+ "attribute": "can-edit",
596
+ "reflect": false,
597
+ "defaultValue": "true"
504
598
  }
505
599
  };
506
600
  }
@@ -17,6 +17,7 @@ export class SnkGridConfig {
17
17
  this.columns = undefined;
18
18
  this.config = undefined;
19
19
  this.configName = undefined;
20
+ this.resourceID = undefined;
20
21
  }
21
22
  /* Creation Methods */
22
23
  /**
@@ -240,7 +241,7 @@ export class SnkGridConfig {
240
241
  }
241
242
  }
242
243
  _newConfig.columns = _newColumnConfigList;
243
- ConfigStorage.saveGridConfig(_newConfig, this.configName)
244
+ ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
244
245
  .then((savedConfig) => {
245
246
  this.configChange.emit(savedConfig);
246
247
  this._orderList.clearHistory();
@@ -571,6 +572,23 @@ export class SnkGridConfig {
571
572
  },
572
573
  "attribute": "config-name",
573
574
  "reflect": false
575
+ },
576
+ "resourceID": {
577
+ "type": "string",
578
+ "mutable": false,
579
+ "complexType": {
580
+ "original": "string",
581
+ "resolved": "string",
582
+ "references": {}
583
+ },
584
+ "required": false,
585
+ "optional": false,
586
+ "docs": {
587
+ "tags": [],
588
+ "text": "Nome usado para salvar/recuperar a configura\u00E7\u00E3o."
589
+ },
590
+ "attribute": "resource-i-d",
591
+ "reflect": false
574
592
  }
575
593
  };
576
594
  }
@@ -30,6 +30,7 @@ export class SnkPersonalizedFilter {
30
30
  this.entityUri = undefined;
31
31
  this.filterId = undefined;
32
32
  this.configName = undefined;
33
+ this.resourceID = undefined;
33
34
  }
34
35
  /*
35
36
  * Cria um novo filtro se não houver nenhum filtro existente
@@ -66,17 +67,15 @@ export class SnkPersonalizedFilter {
66
67
  this._filterAssistent = ObjectUtils.copy(newPersonalizedFilter);
67
68
  }
68
69
  loadFilter(newValue, oldValue) {
69
- if (newValue == null || oldValue == newValue) {
70
+ if (newValue == null || oldValue == newValue || this.resourceID == undefined) {
70
71
  return;
71
72
  }
72
- ConfigStorage.get().then((_instance) => {
73
- ConfigStorage.loadPersonalizedFilter(newValue, this.configName)
74
- .then((resp) => {
75
- const personalizedFilter = this.addLabelToItems(resp);
76
- this._filterAssistent = personalizedFilter;
77
- this._originalFilterAssistent = ObjectUtils.copy(personalizedFilter);
78
- this._filterAssistentMode = this._filterAssistent.hasOwnProperty("assistent") && this._filterAssistent.assistent != undefined;
79
- });
73
+ ConfigStorage.loadPersonalizedFilter(newValue, this.resourceID, this.configName)
74
+ .then((resp) => {
75
+ const personalizedFilter = this.addLabelToItems(resp);
76
+ this._filterAssistent = personalizedFilter;
77
+ this._originalFilterAssistent = ObjectUtils.copy(personalizedFilter);
78
+ this._filterAssistentMode = this._filterAssistent.hasOwnProperty("assistent") && this._filterAssistent.assistent != undefined;
80
79
  });
81
80
  }
82
81
  componentWillLoad() {
@@ -101,7 +100,7 @@ export class SnkPersonalizedFilter {
101
100
  return this._application.messagesBuilder.getMessage(key, params);
102
101
  }
103
102
  saveFilter() {
104
- ConfigStorage.savePersonalizedFilter(this._filterAssistent, this.configName).then((personalizedFilter) => {
103
+ ConfigStorage.savePersonalizedFilter(this._filterAssistent, this.resourceID, this.configName).then((personalizedFilter) => {
105
104
  this._elButtonSave.enabled = false;
106
105
  const messageToken = !!this._filterAssistent.id ? 'confirmEdit' : 'confirmSave';
107
106
  ApplicationUtils.info(this.getMessage(`snkPersonalizedFilter.${messageToken}.title`), { iconName: "check" });
@@ -112,7 +111,7 @@ export class SnkPersonalizedFilter {
112
111
  });
113
112
  }
114
113
  removeFilter() {
115
- ConfigStorage.removePersonalizedFilter(this._filterAssistent, this.configName);
114
+ ConfigStorage.removePersonalizedFilter(this._filterAssistent, this.resourceID, this.configName);
116
115
  }
117
116
  hasChangesToSave() {
118
117
  return JSON.stringify(this._filterAssistent) === JSON.stringify(this._originalFilterAssistent);
@@ -361,10 +360,27 @@ export class SnkPersonalizedFilter {
361
360
  "optional": false,
362
361
  "docs": {
363
362
  "tags": [],
364
- "text": "Nome da config para buscar no resourceId"
363
+ "text": "Nome da configura\u00E7\u00E3o. Serve para distinguir v\u00E1rias inst\u00E2ncias do componente."
365
364
  },
366
365
  "attribute": "config-name",
367
366
  "reflect": false
367
+ },
368
+ "resourceID": {
369
+ "type": "string",
370
+ "mutable": false,
371
+ "complexType": {
372
+ "original": "string",
373
+ "resolved": "string",
374
+ "references": {}
375
+ },
376
+ "required": false,
377
+ "optional": false,
378
+ "docs": {
379
+ "tags": [],
380
+ "text": "Nome da configura\u00E7\u00E3o. Serve para distinguir v\u00E1rias inst\u00E2ncias do componente."
381
+ },
382
+ "attribute": "resource-i-d",
383
+ "reflect": false
368
384
  }
369
385
  };
370
386
  }
@@ -11,11 +11,6 @@ export class SnkSimpleCrud {
11
11
  this.REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER"];
12
12
  this.REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER"];
13
13
  this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
14
- // /**
15
- // * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
16
- // */
17
- // @Prop()
18
- // useEnterLikeTab: boolean = false;
19
14
  this._taskbarProcessor = new TaskbarProcessor({
20
15
  "snkSimpleCrudTaskbar.form_regular": this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(TaskbarElement.GRID_MODE),
21
16
  "snkSimpleCrudTaskbar.grid_regular": this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(TaskbarElement.FORM_MODE),
@@ -34,6 +29,7 @@ export class SnkSimpleCrud {
34
29
  this.useCancelConfirm = true;
35
30
  this.taskbarManager = undefined;
36
31
  this.messagesBuilder = undefined;
32
+ this.useEnterLikeTab = false;
37
33
  }
38
34
  resolveInMemoryBtns(taskbarButtons) {
39
35
  const newTaskBarConfig = [...taskbarButtons];
@@ -178,11 +174,9 @@ export class SnkSimpleCrud {
178
174
  }
179
175
  render() {
180
176
  var _a;
181
- return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail),
182
- // ignoreSaveMessage={this._currentViewMode === VIEW_MODE.GRID}
183
- onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "ez-box ez-box--shadow ez-padding--medium ez-margin-bottom--large", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), columnfilterDataSource: this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
177
+ return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), ignoreSaveMessage: this._currentViewMode === VIEW_MODE.GRID, onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "ez-box ez-box--shadow ez-padding--medium ez-margin-bottom--large", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), columnfilterDataSource: this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
184
178
  ? undefined
185
- : this._multiSelectionListDataSource }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this.formConfig }))))));
179
+ : this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this.formConfig }))))));
186
180
  }
187
181
  static get is() { return "snk-simple-crud"; }
188
182
  static get encapsulation() { return "scoped"; }
@@ -375,6 +369,24 @@ export class SnkSimpleCrud {
375
369
  "tags": [],
376
370
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
377
371
  }
372
+ },
373
+ "useEnterLikeTab": {
374
+ "type": "boolean",
375
+ "mutable": false,
376
+ "complexType": {
377
+ "original": "boolean",
378
+ "resolved": "boolean",
379
+ "references": {}
380
+ },
381
+ "required": false,
382
+ "optional": false,
383
+ "docs": {
384
+ "tags": [],
385
+ "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
386
+ },
387
+ "attribute": "use-enter-like-tab",
388
+ "reflect": false,
389
+ "defaultValue": "false"
378
390
  }
379
391
  };
380
392
  }
@@ -440,6 +452,28 @@ export class SnkSimpleCrud {
440
452
  "resolved": "string",
441
453
  "references": {}
442
454
  }
455
+ }, {
456
+ "method": "formItemsReady",
457
+ "name": "formItemsReady",
458
+ "bubbles": true,
459
+ "cancelable": true,
460
+ "composed": true,
461
+ "docs": {
462
+ "tags": [],
463
+ "text": "Respons\u00E1vel por notificar quando ocorrer a renderiza\u00E7\u00E3o de itens do formul\u00E1rio."
464
+ },
465
+ "complexType": {
466
+ "original": "Array<HTMLElement>",
467
+ "resolved": "HTMLElement[]",
468
+ "references": {
469
+ "Array": {
470
+ "location": "global"
471
+ },
472
+ "HTMLElement": {
473
+ "location": "global"
474
+ }
475
+ }
476
+ }
443
477
  }];
444
478
  }
445
479
  static get methods() {
@@ -23,6 +23,7 @@ export class SnkTaskbar {
23
23
  };
24
24
  this._permissions = undefined;
25
25
  this.configName = undefined;
26
+ this.resourceID = undefined;
26
27
  this.buttons = undefined;
27
28
  this.customButtons = undefined;
28
29
  this.actionsList = undefined;
@@ -164,7 +165,7 @@ export class SnkTaskbar {
164
165
  componentWillLoad() {
165
166
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
166
167
  if (this._application) {
167
- this._application.getAllAccess().then(access => this._permissions = access);
168
+ this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
168
169
  }
169
170
  else {
170
171
  this._permissions = {};
@@ -232,6 +233,23 @@ export class SnkTaskbar {
232
233
  "attribute": "config-name",
233
234
  "reflect": false
234
235
  },
236
+ "resourceID": {
237
+ "type": "string",
238
+ "mutable": false,
239
+ "complexType": {
240
+ "original": "string",
241
+ "resolved": "string",
242
+ "references": {}
243
+ },
244
+ "required": false,
245
+ "optional": false,
246
+ "docs": {
247
+ "tags": [],
248
+ "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
249
+ },
250
+ "attribute": "resource-i-d",
251
+ "reflect": false
252
+ },
235
253
  "buttons": {
236
254
  "type": "string",
237
255
  "mutable": false,
@@ -1,4 +1,3 @@
1
- import { ApplicationContext } from "@sankhyalabs/core";
2
1
  import { FormConfigFetcher } from "../http/data-fetcher/fetchers/form-config-fetcher";
3
2
  import GridConfigFetcher from "../http/data-fetcher/fetchers/grid-config-fetcher";
4
3
  import FilterBarConfigFetcher from "../http/data-fetcher/fetchers/filter-bar-config-fetcher";
@@ -9,83 +8,73 @@ const CONFIG_SOURCE = {
9
8
  filterBar: "filterBar"
10
9
  };
11
10
  export class ConfigStorage {
12
- static async get() {
13
- if (!ConfigStorage.instance) {
14
- const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
15
- if (application != undefined) {
16
- const configName = application.configName;
17
- const resourceID = await application.getResourceID();
18
- ConfigStorage.instance = new ConfigStorage();
19
- ConfigStorage.resourceID = resourceID;
20
- ConfigStorage.instance.loadFormConfig(configName);
21
- ConfigStorage.instance.loadGridConfig(configName);
22
- }
23
- }
24
- return this.instance;
11
+ static preload(resourceID, configName) {
12
+ ConfigStorage.loadFormConfig(configName, resourceID);
13
+ ConfigStorage.loadGridConfig(configName, resourceID);
25
14
  }
26
- async loadFilterBarConfig(name, urlParams) {
27
- const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar);
15
+ static async loadFilterBarConfig(name, resourceID, urlParams) {
16
+ const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
28
17
  if (!ConfigStorage.configById.has(cacheID)) {
29
- ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(ConfigStorage.resourceID, name, urlParams));
18
+ ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(resourceID, name, urlParams));
30
19
  }
31
20
  return ConfigStorage.configById.get(cacheID);
32
21
  }
33
- async loadFormConfig(name) {
34
- const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form);
22
+ static async loadFormConfig(name, resourceID) {
23
+ const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
35
24
  if (!ConfigStorage.configById.has(cacheID)) {
36
- ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, ConfigStorage.resourceID));
25
+ ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, resourceID));
37
26
  }
38
27
  return ConfigStorage.configById.get(cacheID);
39
28
  }
40
- async loadGridConfig(name) {
41
- const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid);
29
+ static async loadGridConfig(name, resourceID) {
30
+ const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
42
31
  if (!ConfigStorage.configById.has(cacheID)) {
43
- ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, ConfigStorage.resourceID));
32
+ ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, resourceID));
44
33
  }
45
34
  return ConfigStorage.configById.get(cacheID);
46
35
  }
47
- static async saveFilterBarConfig(config, name) {
48
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar);
36
+ static async saveFilterBarConfig(config, name, resourceID) {
37
+ const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
49
38
  this.configById.delete(cacheID);
50
- return this.filterBarConfigFetcher.saveConfig(config, this.resourceID, name);
39
+ return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
51
40
  }
52
- static async saveFormConfig(config, name) {
53
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form);
41
+ static async saveFormConfig(config, name, resourceID) {
42
+ const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
54
43
  this.configById.delete(cacheID);
55
- return this.formConfigFetcher.saveConfig(config, name, this.resourceID);
44
+ return this.formConfigFetcher.saveConfig(config, name, resourceID);
56
45
  }
57
- static async saveCardState(config, name) {
58
- return this.formConfigFetcher.saveCardState(config, name, this.resourceID);
46
+ static async saveCardState(config, name, resourceID) {
47
+ return this.formConfigFetcher.saveCardState(config, name, resourceID);
59
48
  }
60
- static async saveGridConfig(config, name) {
49
+ static async saveGridConfig(config, name, resourceID) {
61
50
  if (config == undefined) {
62
51
  return;
63
52
  }
64
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid);
53
+ const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
65
54
  this.configById.delete(cacheID);
66
- return this.gridConfigFetcher.saveConfig(config, name, this.resourceID);
55
+ return this.gridConfigFetcher.saveConfig(config, name, resourceID);
67
56
  }
68
- static async loadPersonalizedFilter(filterId, configName) {
69
- return this.personalizedFilterFetcher.loadPersonalizedFilter(this.resourceID, filterId, configName);
57
+ static async loadPersonalizedFilter(filterId, resourceID, configName) {
58
+ return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
70
59
  }
71
- static async savePersonalizedFilter(personalizedFilter, configName) {
60
+ static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
72
61
  //Ao criar ou alterar um filtro personalizado,
73
62
  //precisamos remover o cache do status da filterbar.
74
- const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar);
63
+ const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar, resourceID);
75
64
  this.configById.delete(cacheID);
76
- return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, this.resourceID, configName);
65
+ return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
77
66
  }
78
- static async removePersonalizedFilter(personalizedFilter, configName) {
79
- return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, this.resourceID, configName);
67
+ static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
68
+ return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, resourceID, configName);
80
69
  }
81
70
  static async validatePersonalizedFilter(dataUnitName, expression) {
82
71
  return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
83
72
  }
84
- static buildCacheID(name, source) {
73
+ static buildCacheID(name, source, resourceID) {
85
74
  if (name == undefined) {
86
- return `req_${source}_${this.resourceID}`;
75
+ return `req_${source}_${resourceID}`;
87
76
  }
88
- return `req_${source}_${name}_${this.resourceID}`;
77
+ return `req_${source}_${name}_${resourceID}`;
89
78
  }
90
79
  }
91
80
  ConfigStorage.configById = new Map();