@sankhyalabs/sankhyablocks 8.1.0-dev.1 → 8.1.0-dev.11

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 (212) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/{ConfigStorage-73e7afff.js → ConfigStorage-d688c739.js} +163 -50
  3. package/dist/cjs/{DataFetcher-004811c6.js → DataFetcher-d2c6ae38.js} +29 -0
  4. package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
  5. package/dist/cjs/{SnkFormConfigManager-d1f1a222.js → SnkFormConfigManager-29b73c81.js} +19 -21
  6. package/dist/cjs/{auth-fetcher-58237931.js → auth-fetcher-da975ac5.js} +1 -1
  7. package/dist/cjs/{dataunit-fetcher-029eafbd.js → dataunit-fetcher-58ad78a7.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-181767c9.js → form-config-fetcher-761994b9.js} +2 -2
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-9a97994a.js → pesquisa-fetcher-bb0bb679.js} +1 -1
  11. package/dist/cjs/{resource-fetcher-c0332609.js → resource-fetcher-95d24dff.js} +1 -1
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/snk-actions-button.cjs.entry.js +13 -10
  14. package/dist/cjs/snk-application.cjs.entry.js +48 -44
  15. package/dist/cjs/snk-attach.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-configurator.cjs.entry.js +2 -1
  17. package/dist/cjs/snk-crud.cjs.entry.js +21 -9
  18. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  19. package/dist/cjs/{snk-data-unit-cc7a7ed0.js → snk-data-unit-80a00ae4.js} +4 -4
  20. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  21. package/dist/cjs/snk-detail-view.cjs.entry.js +11 -10
  22. package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
  23. package/dist/cjs/snk-filter-bar.cjs.entry.js +15 -17
  24. package/dist/cjs/snk-filter-detail.cjs.entry.js +1 -15
  25. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +6 -19
  26. package/dist/cjs/snk-form-config.cjs.entry.js +7 -17
  27. package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
  28. package/dist/cjs/snk-form.cjs.entry.js +13 -8
  29. package/dist/cjs/snk-grid-config.cjs.entry.js +6 -6
  30. package/dist/cjs/snk-grid.cjs.entry.js +18 -20
  31. package/dist/cjs/{snk-guides-viewer-27f87d90.js → snk-guides-viewer-f67f9cea.js} +12 -7
  32. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
  33. package/dist/cjs/snk-personalized-filter.cjs.entry.js +14 -16
  34. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-simple-crud.cjs.entry.js +15 -71
  36. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -1
  37. package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
  38. package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
  39. package/dist/collection/components/snk-application/snk-application.js +58 -65
  40. package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
  41. package/dist/collection/components/snk-crud/snk-crud.js +40 -6
  42. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +42 -2
  43. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
  44. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +47 -28
  45. package/dist/collection/components/snk-data-unit/snk-data-unit.js +7 -8
  46. package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
  47. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +2 -12
  48. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  49. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
  50. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +28 -12
  51. package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
  52. package/dist/collection/components/snk-form/snk-form.js +46 -2
  53. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
  54. package/dist/collection/components/snk-grid/snk-grid.js +51 -15
  55. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
  56. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
  57. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +22 -0
  58. package/dist/collection/components/snk-taskbar/snk-taskbar.js +19 -1
  59. package/dist/collection/components/teste-pesquisa/teste-pesquisa.css +1 -1
  60. package/dist/collection/lib/configs/ConfigStorage.js +33 -44
  61. package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -59
  62. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
  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 +29 -0
  67. package/dist/components/ResourceIDUtils.js +10 -0
  68. package/dist/components/SnkFormConfigManager.js +17 -19
  69. package/dist/components/auth-fetcher.js +1 -1
  70. package/dist/components/form-config-fetcher.js +64 -2
  71. package/dist/components/snk-actions-button2.js +11 -8
  72. package/dist/components/snk-application2.js +42 -38
  73. package/dist/components/snk-configurator2.js +3 -1
  74. package/dist/components/snk-crud.js +18 -5
  75. package/dist/components/snk-data-unit2.js +5 -4
  76. package/dist/components/snk-detail-view2.js +15 -7
  77. package/dist/components/snk-entity-list.js +0 -4
  78. package/dist/components/snk-filter-bar2.js +12 -12
  79. package/dist/components/snk-filter-detail2.js +2 -12
  80. package/dist/components/snk-filter-modal-item2.js +5 -16
  81. package/dist/components/snk-form-config2.js +5 -15
  82. package/dist/components/snk-form-view2.js +6 -1
  83. package/dist/components/snk-form.js +9 -2
  84. package/dist/components/snk-grid-config2.js +4 -2
  85. package/dist/components/snk-grid2.js +17 -16
  86. package/dist/components/snk-personalized-filter2.js +11 -11
  87. package/dist/components/snk-simple-crud2.js +3 -59
  88. package/dist/components/snk-taskbar2.js +3 -1
  89. package/dist/esm/{ConfigStorage-19a7260b.js → ConfigStorage-cfe03e99.js} +163 -49
  90. package/dist/esm/{DataFetcher-e0fc5549.js → DataFetcher-aaaff866.js} +29 -0
  91. package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
  92. package/dist/esm/{SnkFormConfigManager-1a42eb02.js → SnkFormConfigManager-bfd8eabd.js} +19 -21
  93. package/dist/esm/{auth-fetcher-83a946f8.js → auth-fetcher-7860d777.js} +1 -1
  94. package/dist/esm/{dataunit-fetcher-6a695723.js → dataunit-fetcher-9dfcdb1d.js} +1 -1
  95. package/dist/esm/{form-config-fetcher-9e167008.js → form-config-fetcher-4a34b86a.js} +2 -2
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/{pesquisa-fetcher-9118eb7a.js → pesquisa-fetcher-01d058e6.js} +1 -1
  98. package/dist/{components/resource-fetcher.js → esm/resource-fetcher-b36ac145.js} +1 -1
  99. package/dist/esm/sankhyablocks.js +1 -1
  100. package/dist/esm/snk-actions-button.entry.js +13 -10
  101. package/dist/esm/snk-application.entry.js +48 -44
  102. package/dist/esm/snk-attach.entry.js +2 -2
  103. package/dist/esm/snk-configurator.entry.js +2 -1
  104. package/dist/esm/snk-crud.entry.js +21 -9
  105. package/dist/esm/snk-data-exporter.entry.js +2 -2
  106. package/dist/esm/{snk-data-unit-77508763.js → snk-data-unit-3ab57d1a.js} +4 -4
  107. package/dist/esm/snk-data-unit.entry.js +1 -1
  108. package/dist/esm/snk-detail-view.entry.js +11 -10
  109. package/dist/esm/snk-entity-list.entry.js +0 -4
  110. package/dist/esm/snk-filter-bar.entry.js +15 -17
  111. package/dist/esm/snk-filter-detail.entry.js +2 -16
  112. package/dist/esm/snk-filter-modal-item.entry.js +7 -20
  113. package/dist/esm/snk-form-config.entry.js +8 -18
  114. package/dist/esm/snk-form-view.entry.js +6 -1
  115. package/dist/esm/snk-form.entry.js +13 -8
  116. package/dist/esm/snk-grid-config.entry.js +6 -6
  117. package/dist/esm/snk-grid.entry.js +18 -20
  118. package/dist/esm/{snk-guides-viewer-c47cd45e.js → snk-guides-viewer-3ea14ab4.js} +12 -7
  119. package/dist/esm/snk-guides-viewer.entry.js +7 -8
  120. package/dist/esm/snk-personalized-filter.entry.js +14 -16
  121. package/dist/esm/snk-print-selector.entry.js +1 -1
  122. package/dist/esm/snk-simple-crud.entry.js +5 -61
  123. package/dist/esm/snk-taskbar.entry.js +2 -1
  124. package/dist/sankhyablocks/{p-e7e54737.entry.js → p-05bcad8a.entry.js} +1 -1
  125. package/dist/sankhyablocks/p-0ae5b923.entry.js +1 -0
  126. package/dist/sankhyablocks/p-15230263.js +1 -0
  127. package/dist/sankhyablocks/p-18fa618e.entry.js +1 -0
  128. package/dist/sankhyablocks/{p-0ed0fc02.entry.js → p-1b81c379.entry.js} +1 -1
  129. package/dist/sankhyablocks/{p-98f9d076.js → p-2dd0f891.js} +2 -2
  130. package/dist/sankhyablocks/p-330f584a.entry.js +1 -0
  131. package/dist/sankhyablocks/{p-968741cc.js → p-48a40939.js} +1 -1
  132. package/dist/sankhyablocks/p-4c33a77c.entry.js +1 -0
  133. package/dist/sankhyablocks/p-53884b5f.entry.js +1 -0
  134. package/dist/sankhyablocks/{p-df8621b4.js → p-60791bb6.js} +1 -1
  135. package/dist/sankhyablocks/{p-f88c45bf.js → p-64c2cec3.js} +1 -1
  136. package/dist/sankhyablocks/p-688dcb4c.js +1 -0
  137. package/dist/sankhyablocks/p-70e785db.entry.js +1 -0
  138. package/dist/sankhyablocks/{p-0a4c753d.js → p-85affa29.js} +1 -1
  139. package/dist/sankhyablocks/p-861a3495.entry.js +1 -0
  140. package/dist/sankhyablocks/p-878b0dd3.entry.js +1 -0
  141. package/dist/sankhyablocks/p-97d2fbd9.entry.js +1 -0
  142. package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
  143. package/dist/sankhyablocks/p-9d591463.js +1 -0
  144. package/dist/sankhyablocks/p-9d93da18.js +56 -0
  145. package/dist/sankhyablocks/{p-34085ced.entry.js → p-9f387187.entry.js} +1 -1
  146. package/dist/sankhyablocks/p-aa4c112f.entry.js +11 -0
  147. package/dist/sankhyablocks/p-bae87498.entry.js +1 -0
  148. package/dist/sankhyablocks/{p-2ac9c585.js → p-bee6b5d7.js} +1 -1
  149. package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
  150. package/dist/sankhyablocks/p-cc67bd06.entry.js +1 -0
  151. package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
  152. package/dist/sankhyablocks/p-e070d7a3.entry.js +1 -0
  153. package/dist/sankhyablocks/p-e086cc2a.entry.js +1 -0
  154. package/dist/sankhyablocks/p-ed705cbb.entry.js +1 -0
  155. package/dist/sankhyablocks/{p-7b8b8ae9.js → p-f737f7e1.js} +1 -1
  156. package/dist/sankhyablocks/p-fa523d6b.entry.js +1 -0
  157. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  158. package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
  159. package/dist/types/components/snk-application/snk-application.d.ts +8 -13
  160. package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
  161. package/dist/types/components/snk-crud/snk-crud.d.ts +5 -0
  162. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +8 -0
  163. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
  164. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +9 -2
  165. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -2
  166. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
  167. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
  168. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
  169. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
  170. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  171. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
  172. package/dist/types/components/snk-form/snk-form.d.ts +9 -1
  173. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
  174. package/dist/types/components/snk-grid/snk-grid.d.ts +5 -1
  175. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
  176. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
  177. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  178. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +4 -0
  179. package/dist/types/components.d.ts +125 -21
  180. package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
  181. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -7
  182. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
  183. package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
  184. package/dist/types/lib/utils/urlutils.d.ts +14 -0
  185. package/package.json +3 -3
  186. package/dist/cjs/filter-bar-config-fetcher-2b8ed9d0.js +0 -155
  187. package/dist/components/filter-bar-config-fetcher.js +0 -153
  188. package/dist/esm/filter-bar-config-fetcher-06e02851.js +0 -153
  189. package/dist/esm/resource-fetcher-768d5556.js +0 -66
  190. package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
  191. package/dist/sankhyablocks/p-22c6fe1a.entry.js +0 -1
  192. package/dist/sankhyablocks/p-34a1357a.entry.js +0 -1
  193. package/dist/sankhyablocks/p-4721c3db.js +0 -1
  194. package/dist/sankhyablocks/p-6759adae.entry.js +0 -1
  195. package/dist/sankhyablocks/p-7e285d6c.entry.js +0 -11
  196. package/dist/sankhyablocks/p-815a42c0.entry.js +0 -1
  197. package/dist/sankhyablocks/p-8a41172a.entry.js +0 -1
  198. package/dist/sankhyablocks/p-8f8184ff.js +0 -56
  199. package/dist/sankhyablocks/p-976e56e9.js +0 -1
  200. package/dist/sankhyablocks/p-bc735728.entry.js +0 -1
  201. package/dist/sankhyablocks/p-be684b38.entry.js +0 -1
  202. package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
  203. package/dist/sankhyablocks/p-c0f656af.entry.js +0 -1
  204. package/dist/sankhyablocks/p-c44f6aaf.entry.js +0 -1
  205. package/dist/sankhyablocks/p-c57bd935.entry.js +0 -1
  206. package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
  207. package/dist/sankhyablocks/p-cfd7da4a.entry.js +0 -1
  208. package/dist/sankhyablocks/p-d1b89765.js +0 -1
  209. package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
  210. package/dist/sankhyablocks/p-e28129aa.entry.js +0 -1
  211. package/dist/sankhyablocks/p-f31bfdee.entry.js +0 -1
  212. package/dist/sankhyablocks/p-fe010e54.entry.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from '@stencil/core';
2
- import { ApplicationContext, ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
2
+ import { ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
3
3
  import FilterItemType from '../../filter-item/filter-item-type.enum';
4
4
  import { EPresentationMode } from '../../filter-item/editors/enum/presentationMode';
5
5
  import { ConfigStorage } from '../../../../lib/configs/ConfigStorage';
@@ -8,14 +8,13 @@ export class SnkFilterModalItem {
8
8
  constructor() {
9
9
  this.filterItem = undefined;
10
10
  this.configName = undefined;
11
+ this.resourceID = undefined;
11
12
  }
12
13
  observeFilterItem(newValue) {
13
14
  var _a, _b;
14
15
  this._editor && (this._editor["config"] = newValue);
15
16
  (_b = (_a = this._editor) === null || _a === void 0 ? void 0 : _a['reloadList']) === null || _b === void 0 ? void 0 : _b.call(_a);
16
17
  this.filterChange.emit(newValue);
17
- //isso faz o filtro salvar o estado precocemente. Caso: Botão limpar filtro dispara dezenas de vezes
18
- //this.saveConfig();
19
18
  }
20
19
  getContentEditorConfig() {
21
20
  const props = { presentationMode: EPresentationMode.MODAL };
@@ -57,11 +56,10 @@ export class SnkFilterModalItem {
57
56
  else {
58
57
  this.filterItem = Object.assign(Object.assign({}, this.filterItem), { value: this.filterItem.type === FilterItemType.SEARCH ? data : newValue, visible: this.isVisible(newValue) });
59
58
  }
60
- this.saveConfig();
61
59
  }
62
60
  handleDeleteFilter(filter, filterItemType) {
63
61
  if (filterItemType === FilterItemType.PERSONALIZED) {
64
- ConfigStorage.removePersonalizedFilter(filter, this.configName);
62
+ ConfigStorage.removePersonalizedFilter(filter, this.resourceID, this.configName);
65
63
  }
66
64
  }
67
65
  componentDidLoad() {
@@ -69,7 +67,6 @@ export class SnkFilterModalItem {
69
67
  ElementIDUtils.addIDInfo(this._element);
70
68
  const dataElementIdDoFilterItem = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
71
69
  this._idContentEditor = `${dataElementIdDoFilterItem}_${this.filterItem.id}`;
72
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
73
70
  }
74
71
  }
75
72
  buildRightSlot(item) {
@@ -86,15 +83,6 @@ export class SnkFilterModalItem {
86
83
  const { CUSTOM_FILTER, OTHER_FILTERS } = FilterType;
87
84
  return ![CUSTOM_FILTER, OTHER_FILTERS].includes(this.filterItem.filterType) && this.filterItem.type !== FilterItemType.BINARY_SELECT;
88
85
  }
89
- saveConfig() {
90
- //Precisa ser rediscutido... não podemos salvar configuração por conta própria. Não temos autonomia pra isso.
91
- /*if(FilterItemType.MULTI_LIST !== this.filterItem.type) return;
92
-
93
- this._application?.getResourceID().then(resourceId => {
94
- const fetcher = new FilterBarConfigFetcher();
95
- fetcher.saveEntityListConfig(this.filterItem, resourceId, this._application.configName);
96
- });*/
97
- }
98
86
  render() {
99
87
  const { tag: ContentEditor, props } = this.getContentEditorConfig();
100
88
  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 }, props)))));
@@ -144,10 +132,27 @@ export class SnkFilterModalItem {
144
132
  "optional": false,
145
133
  "docs": {
146
134
  "tags": [],
147
- "text": "Nome da config para buscar no resourceId"
135
+ "text": "Nome da configura\u00E7\u00E3o. Serve para distinguir v\u00E1rias inst\u00E2ncias do componente."
148
136
  },
149
137
  "attribute": "config-name",
150
138
  "reflect": false
139
+ },
140
+ "resourceID": {
141
+ "type": "string",
142
+ "mutable": false,
143
+ "complexType": {
144
+ "original": "string",
145
+ "resolved": "string",
146
+ "references": {}
147
+ },
148
+ "required": false,
149
+ "optional": false,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
153
+ },
154
+ "attribute": "resource-i-d",
155
+ "reflect": false
151
156
  }
152
157
  };
153
158
  }
@@ -28,6 +28,7 @@ export class SnkFilterBar {
28
28
  };
29
29
  this.dataUnit = undefined;
30
30
  this.configName = undefined;
31
+ this.resourceID = undefined;
31
32
  this.filterConfig = undefined;
32
33
  this.messagesBuilder = undefined;
33
34
  this.allowDefault = undefined;
@@ -103,11 +104,11 @@ export class SnkFilterBar {
103
104
  return;
104
105
  }
105
106
  this._loadingPending = false;
106
- this.dataUnit.loadData();
107
+ this.dataUnit.loadData(undefined, undefined, true);
107
108
  }
108
109
  if (this._configUpdated) {
109
110
  this._configUpdated = false;
110
- ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName);
111
+ ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName, this.resourceID);
111
112
  }
112
113
  }
113
114
  /**
@@ -223,15 +224,13 @@ export class SnkFilterBar {
223
224
  }
224
225
  loadConfigFromStorage() {
225
226
  return new Promise(accept => {
226
- ConfigStorage.get().then(instance => {
227
- instance.loadFilterBarConfig(this.configName, { contextURI: this.dataUnit.name })
228
- .then((filters) => {
229
- accept();
230
- this.filterConfig = filters.map(item => this.normalizeItem(item));
231
- })
232
- .catch(reason => {
233
- throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
234
- });
227
+ ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name })
228
+ .then((filters) => {
229
+ accept();
230
+ this.filterConfig = filters.map(item => this.normalizeItem(item));
231
+ })
232
+ .catch(reason => {
233
+ throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
235
234
  });
236
235
  });
237
236
  }
@@ -316,7 +315,7 @@ export class SnkFilterBar {
316
315
  return undefined;
317
316
  }
318
317
  if (this.showPersonalizedFilter) {
319
- return h("snk-personalized-filter", { class: "filter-bar__personalized-filter", filterId: this.personalizedFilterId, ref: (el) => this._elPersonalizedFilter = el, onEzCancel: () => this.hidePersonalizedFilter(), entityUri: this.dataUnit.name, configName: this.configName });
318
+ return h("snk-personalized-filter", { class: "filter-bar__personalized-filter", filterId: this.personalizedFilterId, ref: (el) => this._elPersonalizedFilter = el, onEzCancel: () => this.hidePersonalizedFilter(), entityUri: this.dataUnit.name, configName: this.configName, resourceID: this.resourceID });
320
319
  }
321
320
  return (h(Host, null, h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
322
321
  }
@@ -371,6 +370,23 @@ export class SnkFilterBar {
371
370
  "attribute": "config-name",
372
371
  "reflect": false
373
372
  },
373
+ "resourceID": {
374
+ "type": "string",
375
+ "mutable": false,
376
+ "complexType": {
377
+ "original": "string",
378
+ "resolved": "string",
379
+ "references": {}
380
+ },
381
+ "required": false,
382
+ "optional": false,
383
+ "docs": {
384
+ "tags": [],
385
+ "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
386
+ },
387
+ "attribute": "resource-i-d",
388
+ "reflect": false
389
+ },
374
390
  "filterConfig": {
375
391
  "type": "unknown",
376
392
  "mutable": true,
@@ -2,29 +2,27 @@ import { ConfigStorage } from "../../lib/configs/ConfigStorage";
2
2
  import { ObjectUtils } from "@sankhyalabs/core";
3
3
  import { FormConfigFetcher } from "../../lib/http/data-fetcher/fetchers/form-config-fetcher";
4
4
  export class SnkFormConfigManager {
5
- constructor(configName, onConfigChange) {
5
+ constructor(configName, resourceID, onConfigChange) {
6
+ this._resourceID = resourceID;
6
7
  this._configName = configName;
7
8
  this._onConfigChange = onConfigChange;
8
9
  }
9
10
  async loadConfig() {
10
11
  return new Promise(resolve => {
11
- ConfigStorage.get()
12
- .then((configStorage) => {
13
- configStorage.loadFormConfig(this._configName)
14
- .then((config) => {
15
- this.setConfig(config);
16
- resolve(config);
17
- })
18
- .catch((error) => {
19
- console.warn(error);
20
- });
12
+ ConfigStorage.loadFormConfig(this._configName, this._resourceID)
13
+ .then((config) => {
14
+ this.setConfig(config);
15
+ resolve(config);
16
+ })
17
+ .catch((error) => {
18
+ console.warn(error);
21
19
  });
22
20
  });
23
21
  }
24
22
  saveConfig(config) {
25
23
  const configToSave = ObjectUtils.copy(config);
26
24
  return new Promise(accept => {
27
- ConfigStorage.saveFormConfig(config, this._configName)
25
+ ConfigStorage.saveFormConfig(config, this._configName, this._resourceID)
28
26
  .then((response) => {
29
27
  this.setConfig(Object.assign(Object.assign({}, configToSave), response));
30
28
  accept(Object.assign(Object.assign({}, configToSave), response));
@@ -39,7 +37,7 @@ export class SnkFormConfigManager {
39
37
  cardsState.set(cardId, propertyChanged === "fixed" ?
40
38
  this.updateFixSequence(Object.assign(Object.assign({}, currentConfig), { fixed: cardConfig.fixed }), cardsState)
41
39
  : Object.assign(Object.assign({}, currentConfig), { [propertyChanged]: cardConfig[propertyChanged] }));
42
- ConfigStorage.saveCardState(cardsState, this._configName)
40
+ ConfigStorage.saveCardState(cardsState, this._configName, this._resourceID)
43
41
  .then(savedCardConfig => {
44
42
  this._config = Object.assign(Object.assign({}, this._config), { cardsState });
45
43
  resolve(savedCardConfig);
@@ -115,17 +113,17 @@ export class SnkFormConfigManager {
115
113
  }
116
114
  return this._formConfigFetcher;
117
115
  }
118
- async fetchUserAvailableConfigs(resourceID) {
116
+ async fetchUserAvailableConfigs() {
119
117
  if (this._configName != undefined) {
120
118
  //FIXME: Precisamos preparar o backend para retornar as configurações disponíveis para details;
121
119
  return Promise.resolve(undefined);
122
120
  }
123
- return this.getFormConfigFetcher().fetchUserAvailableConfigs(this._configName, resourceID);
121
+ return this.getFormConfigFetcher().fetchUserAvailableConfigs(this._configName, this._resourceID);
124
122
  }
125
- async fetchLegacyConfig(resourceID) {
126
- return this.getFormConfigFetcher().fetchLegacyConfig(this._configName, resourceID);
123
+ async fetchLegacyConfig() {
124
+ return this.getFormConfigFetcher().fetchLegacyConfig(this._configName, this._resourceID);
127
125
  }
128
- async fetchDefaultConfig(resourceID) {
129
- return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, resourceID);
126
+ async fetchDefaultConfig() {
127
+ return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
130
128
  }
131
129
  }
@@ -1,6 +1,7 @@
1
1
  import { ElementIDUtils } from '@sankhyalabs/core';
2
2
  import { h } from '@stencil/core';
3
3
  import { SnkFormConfigManager } from './SnkFormConfigManager';
4
+ import ResourceIDUtils from '../../lib/resourceid/ResourceIDUtils';
4
5
  export class SnkForm {
5
6
  constructor() {
6
7
  this._dataUnit = undefined;
@@ -10,6 +11,7 @@ export class SnkForm {
10
11
  this.configName = undefined;
11
12
  this.recordsValidator = undefined;
12
13
  this.messagesBuilder = undefined;
14
+ this.resourceID = undefined;
13
15
  }
14
16
  /**
15
17
  * Exibe a janela de configurações do formulário.
@@ -30,7 +32,7 @@ export class SnkForm {
30
32
  const dataInfo = { dataUnit: this._dataUnit };
31
33
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
32
34
  }
33
- componentWillLoad() {
35
+ async componentWillLoad() {
34
36
  let parent = this._element.parentElement;
35
37
  while (parent) {
36
38
  if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
@@ -52,7 +54,10 @@ export class SnkForm {
52
54
  }
53
55
  parent = parent.parentElement;
54
56
  }
55
- this._configManager = new SnkFormConfigManager(this.configName);
57
+ if (this.resourceID == undefined) {
58
+ this.resourceID = await ResourceIDUtils.getResourceID();
59
+ }
60
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID);
56
61
  this._configManager.loadConfig();
57
62
  }
58
63
  render() {
@@ -132,6 +137,23 @@ export class SnkForm {
132
137
  "tags": [],
133
138
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
134
139
  }
140
+ },
141
+ "resourceID": {
142
+ "type": "string",
143
+ "mutable": false,
144
+ "complexType": {
145
+ "original": "string",
146
+ "resolved": "string",
147
+ "references": {}
148
+ },
149
+ "required": false,
150
+ "optional": false,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
154
+ },
155
+ "attribute": "resource-i-d",
156
+ "reflect": false
135
157
  }
136
158
  };
137
159
  }
@@ -174,6 +196,28 @@ export class SnkForm {
174
196
  "resolved": "string",
175
197
  "references": {}
176
198
  }
199
+ }, {
200
+ "method": "formItemsReady",
201
+ "name": "formItemsReady",
202
+ "bubbles": true,
203
+ "cancelable": true,
204
+ "composed": true,
205
+ "docs": {
206
+ "tags": [],
207
+ "text": "Respons\u00E1vel por notificar quando ocorrer a renderiza\u00E7\u00E3o de itens do formul\u00E1rio."
208
+ },
209
+ "complexType": {
210
+ "original": "Array<HTMLElement>",
211
+ "resolved": "HTMLElement[]",
212
+ "references": {
213
+ "Array": {
214
+ "location": "global"
215
+ },
216
+ "HTMLElement": {
217
+ "location": "global"
218
+ }
219
+ }
220
+ }
177
221
  }];
178
222
  }
179
223
  static get methods() {
@@ -1,6 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { Sortable } from '@shopify/draggable';
3
- import { ApplicationContext, ObjectUtils, ArrayUtils, ElementIDUtils } from '@sankhyalabs/core';
3
+ import { ObjectUtils, ArrayUtils, ElementIDUtils } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from "@sankhyalabs/ezui/dist/collection/utils";
5
5
  import { ACTION_CONFIG, CONFIG_EVENTS, DEFAULT_TYPE, TAB_NAMES } from "../../../../lib/utils/constants";
6
6
  import { UserConfigType } from "../../../../lib/http/data-fetcher/fetchers/form-config-fetcher";
@@ -446,13 +446,10 @@ export class SnkFormConfig {
446
446
  this._sortableGroup.on(CONFIG_EVENTS.dragStop, (evt) => this.controlStopDraggingGroup(evt));
447
447
  }
448
448
  loadUserConfig() {
449
- if (this._applicationResourceID == undefined) {
450
- return;
451
- }
452
449
  if (this.configManager == undefined) {
453
450
  return;
454
451
  }
455
- this.configManager.fetchUserAvailableConfigs(this._applicationResourceID)
452
+ this.configManager.fetchUserAvailableConfigs()
456
453
  .then((userConfig) => {
457
454
  this._formConfigOptions = userConfig;
458
455
  if (this._formConfigOptions == undefined) {
@@ -506,9 +503,6 @@ export class SnkFormConfig {
506
503
  }
507
504
  }
508
505
  async loadConfigByUser() {
509
- if (this._applicationResourceID == undefined) {
510
- return;
511
- }
512
506
  if (this.configManager == undefined) {
513
507
  return;
514
508
  }
@@ -518,10 +512,10 @@ export class SnkFormConfig {
518
512
  let config;
519
513
  switch (this._optionFormConfigSelected.origin) {
520
514
  case UserConfigType.DEFAULT:
521
- config = await this.configManager.fetchDefaultConfig(this._applicationResourceID);
515
+ config = await this.configManager.fetchDefaultConfig();
522
516
  break;
523
517
  case UserConfigType.DEFAULT:
524
- config = await this.configManager.fetchDefaultConfig(this._applicationResourceID);
518
+ config = await this.configManager.fetchDefaultConfig();
525
519
  break;
526
520
  }
527
521
  if (config != undefined) {
@@ -937,11 +931,7 @@ export class SnkFormConfig {
937
931
  this.controlSortableGroup();
938
932
  }
939
933
  componentWillLoad() {
940
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
941
- this._application.getResourceID().then(resourceID => {
942
- this._applicationResourceID = resourceID;
943
- this.loadConfig();
944
- });
934
+ this.loadConfig();
945
935
  }
946
936
  componentDidLoad() {
947
937
  const dataInfo = { dataUnit: this.dataUnit };
@@ -10,7 +10,6 @@ import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionLis
10
10
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
11
11
  export class SnkGrid {
12
12
  constructor() {
13
- this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
14
13
  this._topTaskbarProcessor = new TaskbarProcessor({
15
14
  "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
16
15
  "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
@@ -27,7 +26,9 @@ export class SnkGrid {
27
26
  this._dataState = undefined;
28
27
  this._gridConfig = undefined;
29
28
  this._popUpGridConfig = false;
29
+ this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
30
30
  this.configName = undefined;
31
+ this.resourceID = undefined;
31
32
  this.selectionToastConfig = undefined;
32
33
  this.actionsList = undefined;
33
34
  this.isDetail = undefined;
@@ -86,20 +87,17 @@ export class SnkGrid {
86
87
  this._gridConfig = config;
87
88
  }
88
89
  loadConfig() {
89
- ConfigStorage.get()
90
- .then((instance) => {
91
- instance.loadGridConfig(this.configName)
92
- .then((config) => {
93
- this.setGridConfig(config);
94
- })
95
- .catch((error) => {
96
- console.warn(error);
97
- });
90
+ ConfigStorage.loadGridConfig(this.configName, this.resourceID)
91
+ .then((config) => {
92
+ this.setGridConfig(config);
93
+ })
94
+ .catch((error) => {
95
+ console.warn(error);
98
96
  });
99
97
  }
100
98
  gridConfigChangeHandler(evt) {
101
99
  const config = evt.detail;
102
- ConfigStorage.saveGridConfig(config, this.configName);
100
+ ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
103
101
  evt.stopPropagation();
104
102
  }
105
103
  modalConfigChangeHandler(evt) {
@@ -212,10 +210,11 @@ export class SnkGrid {
212
210
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
213
211
  }
214
212
  finshLoading() {
213
+ var _a, _b;
215
214
  this._dataUnitLoadLockerResolver = this._dataUnit.addLoadingLocker();
216
215
  this.addElementID();
217
- this._multiSelectionListDataSource.setApplication(this._application);
218
- 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);
219
218
  }
220
219
  componentWillLoad() {
221
220
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -306,8 +305,8 @@ export class SnkGrid {
306
305
  if (!this._dataUnit) {
307
306
  return undefined;
308
307
  }
309
- 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 &&
310
- 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, 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 })), 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 }))));
311
310
  }
312
311
  static get is() { return "snk-grid"; }
313
312
  static get encapsulation() { return "scoped"; }
@@ -323,6 +322,26 @@ export class SnkGrid {
323
322
  }
324
323
  static get properties() {
325
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
+ },
326
345
  "configName": {
327
346
  "type": "string",
328
347
  "mutable": false,
@@ -340,6 +359,23 @@ export class SnkGrid {
340
359
  "attribute": "config-name",
341
360
  "reflect": false
342
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
+ },
343
379
  "selectionToastConfig": {
344
380
  "type": "unknown",
345
381
  "mutable": false,
@@ -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
  }
@@ -452,6 +452,28 @@ export class SnkSimpleCrud {
452
452
  "resolved": "string",
453
453
  "references": {}
454
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
+ }
455
477
  }];
456
478
  }
457
479
  static get methods() {