@sankhyalabs/sankhyablocks 8.3.0 → 8.4.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/cjs/{ConfigStorage-e9d7fa82.js → ConfigStorage-f0f89379.js} +163 -51
  2. package/dist/cjs/{DataFetcher-39b63a1e.js → DataFetcher-4798bac3.js} +136 -244
  3. package/dist/cjs/ISave-d68ce3cd.js +8 -0
  4. package/dist/cjs/PrintUtils-bcaeb82f.js +215 -0
  5. package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
  6. package/dist/cjs/{SnkFormConfigManager-2f8eccd9.js → SnkFormConfigManager-d5fd8800.js} +19 -21
  7. package/dist/cjs/{auth-fetcher-d407c31c.js → auth-fetcher-f2967437.js} +2 -2
  8. package/dist/cjs/{dataunit-fetcher-15a7cc88.js → dataunit-fetcher-959c9a00.js} +1 -1
  9. package/dist/cjs/{form-config-fetcher-ab3ce222.js → form-config-fetcher-5e3d3b87.js} +66 -3
  10. package/dist/cjs/index-f9e81701.js +4 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{pesquisa-fetcher-96c042aa.js → pesquisa-fetcher-7973c081.js} +1 -1
  13. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  14. package/dist/cjs/snk-actions-button.cjs.entry.js +19 -11
  15. package/dist/cjs/snk-application.cjs.entry.js +60 -44
  16. package/dist/cjs/snk-attach.cjs.entry.js +9 -14
  17. package/dist/cjs/snk-configurator.cjs.entry.js +2 -1
  18. package/dist/cjs/snk-crud.cjs.entry.js +28 -11
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -2
  20. package/dist/cjs/{snk-data-unit-e89e07bd.js → snk-data-unit-7cc1846d.js} +5 -5
  21. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-detail-view.cjs.entry.js +17 -13
  23. package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
  24. package/dist/cjs/snk-filter-bar.cjs.entry.js +15 -17
  25. package/dist/cjs/snk-filter-detail.cjs.entry.js +7 -16
  26. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +6 -19
  27. package/dist/cjs/snk-form-config.cjs.entry.js +7 -17
  28. package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
  29. package/dist/cjs/snk-form.cjs.entry.js +13 -8
  30. package/dist/cjs/snk-grid-config.cjs.entry.js +6 -6
  31. package/dist/cjs/snk-grid.cjs.entry.js +23 -22
  32. package/dist/cjs/{snk-guides-viewer-8518c61b.js → snk-guides-viewer-b7b680d2.js} +19 -8
  33. package/dist/cjs/snk-guides-viewer.cjs.entry.js +10 -9
  34. package/dist/cjs/snk-personalized-filter.cjs.entry.js +14 -16
  35. package/dist/cjs/snk-print-selector.cjs.entry.js +2 -4
  36. package/dist/cjs/snk-simple-crud.cjs.entry.js +43 -85
  37. package/dist/cjs/snk-taskbar-custom-elements.cjs.entry.js +20 -0
  38. package/dist/cjs/snk-taskbar.cjs.entry.js +71 -5
  39. package/dist/cjs/{taskbar-elements-b98dd6e9.js → taskbar-elements-39949c7a.js} +4 -4
  40. package/dist/collection/collection-manifest.json +1 -0
  41. package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
  42. package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
  43. package/dist/collection/components/snk-application/snk-application.js +120 -65
  44. package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
  45. package/dist/collection/components/snk-crud/snk-crud.js +44 -8
  46. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +60 -2
  47. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
  48. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +65 -28
  49. package/dist/collection/components/snk-data-unit/snk-data-unit.js +22 -6
  50. package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
  51. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +8 -13
  52. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  53. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
  54. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +28 -12
  55. package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
  56. package/dist/collection/components/snk-form/snk-form.js +46 -2
  57. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
  58. package/dist/collection/components/snk-grid/snk-grid.js +108 -16
  59. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
  60. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
  61. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +23 -1
  62. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +4 -4
  63. package/dist/collection/components/snk-taskbar/snk-taskbar-custom-elements.js +43 -0
  64. package/dist/collection/components/snk-taskbar/snk-taskbar.css +4 -0
  65. package/dist/collection/components/snk-taskbar/snk-taskbar.js +126 -5
  66. package/dist/collection/lib/configs/ConfigStorage.js +33 -44
  67. package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -71
  68. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +118 -42
  69. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
  70. package/dist/collection/lib/index.js +10 -0
  71. package/dist/collection/lib/resourceid/ResourceIDUtils.js +7 -0
  72. package/dist/collection/lib/utils/PrintUtils.js +18 -9
  73. package/dist/collection/lib/utils/urlutils.js +29 -0
  74. package/dist/components/ConfigStorage.js +161 -48
  75. package/dist/components/DataFetcher.js +137 -244
  76. package/dist/components/PrintUtils.js +213 -0
  77. package/dist/components/ResourceIDUtils.js +10 -0
  78. package/dist/components/SnkFormConfigManager.js +17 -19
  79. package/dist/components/auth-fetcher.js +1 -1
  80. package/dist/components/form-config-fetcher.js +64 -2
  81. package/dist/components/index.d.ts +1 -0
  82. package/dist/components/index.js +1 -0
  83. package/dist/components/snk-actions-button2.js +23 -9
  84. package/dist/components/snk-application2.js +145 -129
  85. package/dist/components/snk-attach2.js +1 -8
  86. package/dist/components/snk-configurator2.js +3 -1
  87. package/dist/components/snk-crud.js +27 -8
  88. package/dist/components/snk-data-unit2.js +6 -5
  89. package/dist/components/snk-detail-view2.js +26 -10
  90. package/dist/components/snk-entity-list.js +0 -4
  91. package/dist/components/snk-filter-bar2.js +12 -12
  92. package/dist/components/snk-filter-detail2.js +8 -13
  93. package/dist/components/snk-filter-modal-item2.js +5 -16
  94. package/dist/components/snk-form-config2.js +5 -15
  95. package/dist/components/snk-form-view2.js +6 -1
  96. package/dist/components/snk-form.js +9 -2
  97. package/dist/components/snk-grid-config2.js +4 -2
  98. package/dist/components/snk-grid2.js +24 -17
  99. package/dist/components/snk-personalized-filter2.js +11 -11
  100. package/dist/components/snk-print-selector.js +1 -1
  101. package/dist/components/snk-simple-crud2.js +30 -73
  102. package/dist/components/snk-taskbar-custom-elements.d.ts +11 -0
  103. package/dist/components/snk-taskbar-custom-elements.js +35 -0
  104. package/dist/components/snk-taskbar2.js +81 -9
  105. package/dist/esm/{ConfigStorage-1090289a.js → ConfigStorage-4441aa3d.js} +162 -49
  106. package/dist/esm/{DataFetcher-a4ed43e7.js → DataFetcher-1618bffe.js} +137 -244
  107. package/dist/esm/ISave-4412b20c.js +8 -0
  108. package/dist/esm/PrintUtils-3e4ff0f5.js +213 -0
  109. package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
  110. package/dist/esm/{SnkFormConfigManager-de537eca.js → SnkFormConfigManager-5a5f85a3.js} +19 -21
  111. package/dist/esm/{auth-fetcher-c53e0d6c.js → auth-fetcher-7861187e.js} +1 -1
  112. package/dist/esm/{dataunit-fetcher-8d0bfa4a.js → dataunit-fetcher-53c007be.js} +1 -1
  113. package/dist/esm/{form-config-fetcher-4065db9a.js → form-config-fetcher-2fe67341.js} +65 -3
  114. package/dist/esm/index-a7d3d3f1.js +4 -0
  115. package/dist/esm/loader.js +1 -1
  116. package/dist/esm/{pesquisa-fetcher-7460b876.js → pesquisa-fetcher-19e81fc8.js} +1 -1
  117. package/dist/esm/sankhyablocks.js +1 -1
  118. package/dist/esm/snk-actions-button.entry.js +19 -11
  119. package/dist/esm/snk-application.entry.js +60 -44
  120. package/dist/esm/snk-attach.entry.js +5 -10
  121. package/dist/esm/snk-configurator.entry.js +2 -1
  122. package/dist/esm/snk-crud.entry.js +30 -13
  123. package/dist/esm/snk-data-exporter.entry.js +3 -2
  124. package/dist/esm/{snk-data-unit-8c4d944d.js → snk-data-unit-1715d2f1.js} +5 -5
  125. package/dist/esm/snk-data-unit.entry.js +1 -1
  126. package/dist/esm/snk-detail-view.entry.js +17 -13
  127. package/dist/esm/snk-entity-list.entry.js +0 -4
  128. package/dist/esm/snk-filter-bar.entry.js +15 -17
  129. package/dist/esm/snk-filter-detail.entry.js +8 -17
  130. package/dist/esm/snk-filter-modal-item.entry.js +7 -20
  131. package/dist/esm/snk-form-config.entry.js +8 -18
  132. package/dist/esm/snk-form-view.entry.js +6 -1
  133. package/dist/esm/snk-form.entry.js +13 -8
  134. package/dist/esm/snk-grid-config.entry.js +6 -6
  135. package/dist/esm/snk-grid.entry.js +23 -22
  136. package/dist/esm/{snk-guides-viewer-cdecff6e.js → snk-guides-viewer-e4fe884d.js} +19 -8
  137. package/dist/esm/snk-guides-viewer.entry.js +10 -9
  138. package/dist/esm/snk-personalized-filter.entry.js +14 -16
  139. package/dist/esm/snk-print-selector.entry.js +1 -3
  140. package/dist/esm/snk-simple-crud.entry.js +34 -76
  141. package/dist/esm/snk-taskbar-custom-elements.entry.js +16 -0
  142. package/dist/esm/snk-taskbar.entry.js +71 -5
  143. package/dist/esm/{taskbar-elements-2c761819.js → taskbar-elements-0a6b8b95.js} +4 -4
  144. package/dist/sankhyablocks/p-0b99a775.entry.js +1 -0
  145. package/dist/sankhyablocks/p-1e30c376.entry.js +1 -0
  146. package/dist/sankhyablocks/p-1fa3acbe.entry.js +1 -0
  147. package/dist/sankhyablocks/p-27dbbb3a.entry.js +1 -0
  148. package/dist/sankhyablocks/p-29b1d77b.entry.js +11 -0
  149. package/dist/sankhyablocks/p-324ce41e.entry.js +1 -0
  150. package/dist/sankhyablocks/p-34604220.entry.js +1 -0
  151. package/dist/sankhyablocks/p-41820e28.entry.js +1 -0
  152. package/dist/sankhyablocks/p-4352324d.entry.js +1 -0
  153. package/dist/sankhyablocks/{p-9d18017a.js → p-449d25e0.js} +2 -2
  154. package/dist/sankhyablocks/p-5051a23a.entry.js +1 -0
  155. package/dist/sankhyablocks/p-5526ab67.js +1 -0
  156. package/dist/sankhyablocks/p-5b2ee1d3.js +1 -0
  157. package/dist/sankhyablocks/p-5da848bb.js +26 -0
  158. package/dist/sankhyablocks/p-6098d844.entry.js +1 -0
  159. package/dist/sankhyablocks/p-648a7c72.entry.js +1 -0
  160. package/dist/sankhyablocks/p-688dcb4c.js +1 -0
  161. package/dist/sankhyablocks/p-72fc257b.entry.js +1 -0
  162. package/dist/sankhyablocks/p-7d6eca73.entry.js +1 -0
  163. package/dist/sankhyablocks/p-81a7f74c.js +1 -0
  164. package/dist/sankhyablocks/p-8d884fab.js +1 -0
  165. package/dist/sankhyablocks/p-90b5d1af.entry.js +1 -0
  166. package/dist/sankhyablocks/p-989937ee.entry.js +1 -0
  167. package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
  168. package/dist/sankhyablocks/p-9e7d65a4.js +1 -0
  169. package/dist/sankhyablocks/{p-b978da60.js → p-a75e892a.js} +1 -1
  170. package/dist/sankhyablocks/p-a81996df.js +1 -0
  171. package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
  172. package/dist/sankhyablocks/{p-a2493d11.js → p-c9841939.js} +1 -1
  173. package/dist/sankhyablocks/p-ca1522bc.entry.js +1 -0
  174. package/dist/sankhyablocks/p-cbed6235.entry.js +1 -0
  175. package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
  176. package/dist/sankhyablocks/p-daa687aa.js +56 -0
  177. package/dist/sankhyablocks/p-e1cb1f0b.js +1 -0
  178. package/dist/sankhyablocks/p-eb1a650a.entry.js +1 -0
  179. package/dist/sankhyablocks/p-f784010c.entry.js +1 -0
  180. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  181. package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
  182. package/dist/types/components/snk-application/snk-application.d.ts +9 -22
  183. package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
  184. package/dist/types/components/snk-crud/snk-crud.d.ts +6 -0
  185. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +12 -0
  186. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
  187. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -2
  188. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
  189. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
  190. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
  191. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
  192. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
  193. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  194. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
  195. package/dist/types/components/snk-form/snk-form.d.ts +9 -1
  196. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
  197. package/dist/types/components/snk-grid/snk-grid.d.ts +17 -1
  198. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
  199. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
  200. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  201. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +2 -2
  202. package/dist/types/components/snk-taskbar/snk-taskbar-custom-elements.d.ts +7 -0
  203. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +27 -0
  204. package/dist/types/components.d.ts +203 -22
  205. package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
  206. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -8
  207. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +2 -2
  208. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
  209. package/dist/types/lib/index.d.ts +11 -0
  210. package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
  211. package/dist/types/lib/utils/PrintUtils.d.ts +1 -0
  212. package/dist/types/lib/utils/urlutils.d.ts +14 -0
  213. package/package.json +2 -2
  214. package/react/components.d.ts +1 -0
  215. package/react/components.js +1 -0
  216. package/react/components.js.map +1 -1
  217. package/dist/cjs/filter-bar-config-fetcher-24548cec.js +0 -155
  218. package/dist/cjs/resource-fetcher-64102551.js +0 -68
  219. package/dist/components/filter-bar-config-fetcher.js +0 -153
  220. package/dist/components/resource-fetcher.js +0 -66
  221. package/dist/esm/filter-bar-config-fetcher-2417b8cf.js +0 -153
  222. package/dist/esm/resource-fetcher-45a70066.js +0 -66
  223. package/dist/sankhyablocks/p-0848ee4d.entry.js +0 -1
  224. package/dist/sankhyablocks/p-0bd9c412.js +0 -1
  225. package/dist/sankhyablocks/p-0fb83448.js +0 -1
  226. package/dist/sankhyablocks/p-10b2aedc.entry.js +0 -1
  227. package/dist/sankhyablocks/p-1f63dcd4.entry.js +0 -1
  228. package/dist/sankhyablocks/p-216b2102.entry.js +0 -1
  229. package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
  230. package/dist/sankhyablocks/p-44e66c8d.js +0 -1
  231. package/dist/sankhyablocks/p-4514fc6a.entry.js +0 -1
  232. package/dist/sankhyablocks/p-50c13cc8.entry.js +0 -1
  233. package/dist/sankhyablocks/p-52c6b2e7.js +0 -1
  234. package/dist/sankhyablocks/p-564efc43.js +0 -1
  235. package/dist/sankhyablocks/p-5994af77.js +0 -56
  236. package/dist/sankhyablocks/p-6bb904bb.entry.js +0 -1
  237. package/dist/sankhyablocks/p-6e06175e.entry.js +0 -1
  238. package/dist/sankhyablocks/p-6f0795c8.entry.js +0 -1
  239. package/dist/sankhyablocks/p-7588f006.entry.js +0 -1
  240. package/dist/sankhyablocks/p-847e6c20.js +0 -17
  241. package/dist/sankhyablocks/p-8f3652bf.entry.js +0 -11
  242. package/dist/sankhyablocks/p-9471cbc9.entry.js +0 -1
  243. package/dist/sankhyablocks/p-a42dd503.entry.js +0 -1
  244. package/dist/sankhyablocks/p-b04fb9d4.js +0 -1
  245. package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
  246. package/dist/sankhyablocks/p-c32b9d7c.entry.js +0 -1
  247. package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
  248. package/dist/sankhyablocks/p-c6feb995.entry.js +0 -1
  249. package/dist/sankhyablocks/p-d7c7a289.entry.js +0 -1
  250. package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
  251. package/dist/sankhyablocks/p-f3b7b69e.js +0 -10
  252. package/dist/sankhyablocks/p-f7eded3a.entry.js +0 -1
  253. package/dist/sankhyablocks/p-ff7383b0.entry.js +0 -1
@@ -1,18 +1,17 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { DataType, ObjectUtils, ElementIDUtils, ErrorException, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { EzScrollDirection } from '@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection';
4
- import { C as ConfigStorage } from './ConfigStorage-1090289a.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-4441aa3d.js';
5
5
  import { toString } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
6
6
  import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
7
7
  import { F as FilterOperand } from './index-ae591a44.js';
8
8
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
9
9
  import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-75fb0106.js';
10
- import './form-config-fetcher-4065db9a.js';
11
- import './DataFetcher-a4ed43e7.js';
10
+ import './form-config-fetcher-2fe67341.js';
11
+ import './DataFetcher-1618bffe.js';
12
12
  import './_commonjsHelpers-9943807e.js';
13
13
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
14
- import './resource-fetcher-45a70066.js';
15
- import './filter-bar-config-fetcher-2417b8cf.js';
14
+ import './PrintUtils-3e4ff0f5.js';
16
15
 
17
16
  const buildFilter = (item) => {
18
17
  switch (item.type) {
@@ -204,6 +203,7 @@ const SnkFilterBar = class {
204
203
  };
205
204
  this.dataUnit = undefined;
206
205
  this.configName = undefined;
206
+ this.resourceID = undefined;
207
207
  this.filterConfig = undefined;
208
208
  this.messagesBuilder = undefined;
209
209
  this.allowDefault = undefined;
@@ -279,11 +279,11 @@ const SnkFilterBar = class {
279
279
  return;
280
280
  }
281
281
  this._loadingPending = false;
282
- this.dataUnit.loadData();
282
+ this.dataUnit.loadData(undefined, undefined, true);
283
283
  }
284
284
  if (this._configUpdated) {
285
285
  this._configUpdated = false;
286
- ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName);
286
+ ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName, this.resourceID);
287
287
  }
288
288
  }
289
289
  /**
@@ -399,15 +399,13 @@ const SnkFilterBar = class {
399
399
  }
400
400
  loadConfigFromStorage() {
401
401
  return new Promise(accept => {
402
- ConfigStorage.get().then(instance => {
403
- instance.loadFilterBarConfig(this.configName, { contextURI: this.dataUnit.name })
404
- .then((filters) => {
405
- accept();
406
- this.filterConfig = filters.map(item => this.normalizeItem(item));
407
- })
408
- .catch(reason => {
409
- throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
410
- });
402
+ ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name })
403
+ .then((filters) => {
404
+ accept();
405
+ this.filterConfig = filters.map(item => this.normalizeItem(item));
406
+ })
407
+ .catch(reason => {
408
+ throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
411
409
  });
412
410
  });
413
411
  }
@@ -492,7 +490,7 @@ const SnkFilterBar = class {
492
490
  return undefined;
493
491
  }
494
492
  if (this.showPersonalizedFilter) {
495
- 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 });
493
+ 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 });
496
494
  }
497
495
  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" }))));
498
496
  }
@@ -1,14 +1,9 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
4
- import { ApplicationContext, ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
5
- import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-2417b8cf.js';
4
+ import { ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
6
5
  import { E as EPresentationMode } from './presentationMode-783bbf9d.js';
7
6
  import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-75fb0106.js';
8
- import './resource-fetcher-45a70066.js';
9
- import './DataFetcher-a4ed43e7.js';
10
- import './_commonjsHelpers-9943807e.js';
11
- import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
12
7
  import './index-ae591a44.js';
13
8
 
14
9
  const SnkFilterDetail = class {
@@ -32,7 +27,6 @@ const SnkFilterDetail = class {
32
27
  }
33
28
  componentDidLoad() {
34
29
  if (this._element) {
35
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
36
30
  ElementIDUtils.addIDInfo(this._element);
37
31
  const dataElementIdDoFilterItem = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
38
32
  this._idContentEditor = `${dataElementIdDoFilterItem}_${this.config.id}`;
@@ -62,7 +56,12 @@ const SnkFilterDetail = class {
62
56
  };
63
57
  return snkFilterPersonalizedProps;
64
58
  case FilterItemType.MULTI_LIST:
65
- return { tag: "snk-entity-list" };
59
+ return {
60
+ tag: "snk-entity-list",
61
+ props: {
62
+ onValueChanged: evt => this.config = Object.assign(Object.assign({}, this.config), { value: evt.detail })
63
+ }
64
+ };
66
65
  }
67
66
  return { tag: "snk-filter-text" };
68
67
  }
@@ -150,20 +149,12 @@ const SnkFilterDetail = class {
150
149
  this.config = ObjectUtils.copy(configCopy);
151
150
  }
152
151
  }
153
- saveConfig(newConfig) {
154
- var _a;
155
- (_a = this._application) === null || _a === void 0 ? void 0 : _a.getResourceID().then(resourceId => {
156
- const fetcher = new FilterBarConfigFetcher();
157
- fetcher.saveEntityListConfig(newConfig, resourceId, this._application.configName);
158
- this.config = newConfig;
159
- });
160
- }
161
152
  componentWillLoad() {
162
153
  this.originalConfig = ObjectUtils.copy(this.config);
163
154
  }
164
155
  render() {
165
156
  const { tag: CustomElement, props } = this.getContentEditor();
166
- return (h(Host, null, h("div", { class: "col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center" }, h("div", { class: "ez-text ez-title ez-title--small ez-padding--small sc-snk-filter-bar snk-filter-item__editor-header" }, this.config.detailTitle), this.getPopUpHeaderButtons()), h(CustomElement, Object.assign({ maxHeightList: '240px', ref: ref => this._editor = ref, value: this.config.value, config: this.config, onKeyDown: evt => this.onKeyDonwListener(evt), "data-element-id": this._idContentEditor, getMessage: this.getMessage, onSaveConfig: evt => this.saveConfig(evt.detail), rightListSlotBuilder: item => this.buildRightSlot(item) }, props)), h("hr", { class: "sc-snk-filter-bar snk-filter__popover-rule" }), h("div", { class: "ez-col ez-col--sd-12 ez-align--right" }, this.filterCanBeCleared() && (h("ez-button", { label: this.getMessage("snkFilterBar.cleanFilter"), onClick: () => this.clear(), size: "small" })), h("ez-button", { ref: ref => this._applyButton = ref, label: this.getMessage("snkFilterBar.applyFilter"), onClick: () => this.apply(), size: "small", class: "ez-button--primary ez-padding-left--medium" }))));
157
+ return (h(Host, null, h("div", { class: "col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center" }, h("div", { class: "ez-text ez-title ez-title--small ez-padding--small sc-snk-filter-bar snk-filter-item__editor-header" }, this.config.detailTitle), this.getPopUpHeaderButtons()), h(CustomElement, Object.assign({ maxHeightList: '240px', ref: ref => this._editor = ref, value: this.config.value, config: this.config, onKeyDown: evt => this.onKeyDonwListener(evt), "data-element-id": this._idContentEditor, getMessage: this.getMessage, rightListSlotBuilder: item => this.buildRightSlot(item) }, props)), h("hr", { class: "sc-snk-filter-bar snk-filter__popover-rule" }), h("div", { class: "ez-col ez-col--sd-12 ez-align--right" }, this.filterCanBeCleared() && (h("ez-button", { label: this.getMessage("snkFilterBar.cleanFilter"), onClick: () => this.clear(), size: "small" })), h("ez-button", { ref: ref => this._applyButton = ref, label: this.getMessage("snkFilterBar.applyFilter"), onClick: () => this.apply(), size: "small", class: "ez-button--primary ez-padding-left--medium" }))));
167
158
  }
168
159
  get _element() { return getElement(this); }
169
160
  static get watchers() { return {
@@ -1,15 +1,14 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
- import { ElementIDUtils, ApplicationContext, ObjectUtils } from '@sankhyalabs/core';
2
+ import { ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
4
4
  import { E as EPresentationMode } from './presentationMode-783bbf9d.js';
5
- import { C as ConfigStorage } from './ConfigStorage-1090289a.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-4441aa3d.js';
6
6
  import { F as FilterType } from './filter-type.enum-a80c1b6b.js';
7
- import './form-config-fetcher-4065db9a.js';
8
- import './DataFetcher-a4ed43e7.js';
7
+ import './form-config-fetcher-2fe67341.js';
8
+ import './DataFetcher-1618bffe.js';
9
9
  import './_commonjsHelpers-9943807e.js';
10
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import './resource-fetcher-45a70066.js';
12
- import './filter-bar-config-fetcher-2417b8cf.js';
11
+ import './PrintUtils-3e4ff0f5.js';
13
12
 
14
13
  const snkFilterModalItemCss = ".grow{flex-grow:1}.gap{gap:4px}";
15
14
 
@@ -21,14 +20,13 @@ const SnkFilterModalItem = class {
21
20
  this.addPersonalizedFilter = createEvent(this, "addPersonalizedFilter", 7);
22
21
  this.filterItem = undefined;
23
22
  this.configName = undefined;
23
+ this.resourceID = undefined;
24
24
  }
25
25
  observeFilterItem(newValue) {
26
26
  var _a, _b;
27
27
  this._editor && (this._editor["config"] = newValue);
28
28
  (_b = (_a = this._editor) === null || _a === void 0 ? void 0 : _a['reloadList']) === null || _b === void 0 ? void 0 : _b.call(_a);
29
29
  this.filterChange.emit(newValue);
30
- //isso faz o filtro salvar o estado precocemente. Caso: Botão limpar filtro dispara dezenas de vezes
31
- //this.saveConfig();
32
30
  }
33
31
  getContentEditorConfig() {
34
32
  const props = { presentationMode: EPresentationMode.MODAL };
@@ -70,11 +68,10 @@ const SnkFilterModalItem = class {
70
68
  else {
71
69
  this.filterItem = Object.assign(Object.assign({}, this.filterItem), { value: this.filterItem.type === FilterItemType.SEARCH ? data : newValue, visible: this.isVisible(newValue) });
72
70
  }
73
- this.saveConfig();
74
71
  }
75
72
  handleDeleteFilter(filter, filterItemType) {
76
73
  if (filterItemType === FilterItemType.PERSONALIZED) {
77
- ConfigStorage.removePersonalizedFilter(filter, this.configName);
74
+ ConfigStorage.removePersonalizedFilter(filter, this.resourceID, this.configName);
78
75
  }
79
76
  }
80
77
  componentDidLoad() {
@@ -82,7 +79,6 @@ const SnkFilterModalItem = class {
82
79
  ElementIDUtils.addIDInfo(this._element);
83
80
  const dataElementIdDoFilterItem = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
84
81
  this._idContentEditor = `${dataElementIdDoFilterItem}_${this.filterItem.id}`;
85
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
86
82
  }
87
83
  }
88
84
  buildRightSlot(item) {
@@ -99,15 +95,6 @@ const SnkFilterModalItem = class {
99
95
  const { CUSTOM_FILTER, OTHER_FILTERS } = FilterType;
100
96
  return ![CUSTOM_FILTER, OTHER_FILTERS].includes(this.filterItem.filterType) && this.filterItem.type !== FilterItemType.BINARY_SELECT;
101
97
  }
102
- saveConfig() {
103
- //Precisa ser rediscutido... não podemos salvar configuração por conta própria. Não temos autonomia pra isso.
104
- /*if(FilterItemType.MULTI_LIST !== this.filterItem.type) return;
105
-
106
- this._application?.getResourceID().then(resourceId => {
107
- const fetcher = new FilterBarConfigFetcher();
108
- fetcher.saveEntityListConfig(this.filterItem, resourceId, this._application.configName);
109
- });*/
110
- }
111
98
  render() {
112
99
  const { tag: ContentEditor, props } = this.getContentEditorConfig();
113
100
  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)))));
@@ -1,14 +1,14 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { d as draggable_bundle } from './draggable.bundle-41d56f06.js';
3
- import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
3
+ import { ObjectUtils, ElementIDUtils, ArrayUtils } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { C as CONFIG_EVENTS, T as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants-3644f1b6.js';
6
- import { U as UserConfigType } from './form-config-fetcher-4065db9a.js';
6
+ import { U as UserConfigType } from './form-config-fetcher-2fe67341.js';
7
7
  import { buildFormConfigFromDataUnit } from '@sankhyalabs/ezui/dist/collection/utils/form';
8
8
  import './_commonjsHelpers-9943807e.js';
9
- import './DataFetcher-a4ed43e7.js';
9
+ import './DataFetcher-1618bffe.js';
10
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import './resource-fetcher-45a70066.js';
11
+ import './PrintUtils-3e4ff0f5.js';
12
12
 
13
13
  const snkFormConfigCss = ".sc-snk-form-config-h{--snk-form-config--z-index:var(--more-visible, 2);--snk-form-config--background-color:var(--background--xlight, #fff);--snk-form-config__icon--color:var(--text--disable, #AFB6C0);--snk-form-config__label-counter--font-weight:var(--text-weight--extra-small, 200);--snk-form-config__add-group-container--border-radius:var(--border--radius-medium, 12px);--snk-form-config__add-group-container--background-color:var(--background--medium, #d2dce9);--snk-form-config__add-group-container--padding:var(--space--small, 6px);--snk-form-config__add-group-content--border:2px dashed var(--color-strokes, #DCE0E8);--snk-form-config__add-group-content--border-radius:var(--border--radius-small, 6px);--snk-form-config__add-group-label--padding:var(--space--large, 24px);--snk-form-config__btn-add-group--padding:var(--space--large, 24px) var(--space--medium, 12px) 0;--snk-form-config__btn-add-group-container--padding:var(--space--medium, 12px);--snk-form-config__btn-add-group-container--border-radius:var(--border--radius-medium, 12px);--snk-form-config__btn-add-group-container--border:2px solid var(--color-strokes, #DCE0E8);--snk-form-config__btn-add-group-container--background-color:var(--background--body, #fafcff);display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--snk-form-config--z-index);background-color:var(--snk-form-config--background-color)}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--snk-form-config__icon--color)}.ez-box__label-counter.sc-snk-form-config{margin-top:-7px;font-weight:var(--snk-form-config__label-counter--font-weight)}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:var(--snk-form-config--background-color)}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--snk-form-config--z-index)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:235px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--snk-form-config__add-group-container--border-radius);background-color:var(--snk-form-config__add-group-container--background-color);padding:var(--snk-form-config__add-group-container--padding)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:var(--snk-form-config__add-group-content--border);border-radius:var(--snk-form-config__add-group-content--border-radius)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--snk-form-config__add-group-label--padding)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--snk-form-config__btn-add-group--padding)}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--snk-form-config__btn-add-group-container--padding);border-radius:var(--snk-form-config__btn-add-group-container--border-radius);border:var(--snk-form-config__btn-add-group-container--border);background-color:var(--snk-form-config__btn-add-group-container--background-color)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:var(--snk-form-config--background-color)}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{left:calc(100% / 1 * -1)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{left:calc(100% / 1 * -2)}}";
14
14
 
@@ -453,13 +453,10 @@ const SnkFormConfig = class {
453
453
  this._sortableGroup.on(CONFIG_EVENTS.dragStop, (evt) => this.controlStopDraggingGroup(evt));
454
454
  }
455
455
  loadUserConfig() {
456
- if (this._applicationResourceID == undefined) {
457
- return;
458
- }
459
456
  if (this.configManager == undefined) {
460
457
  return;
461
458
  }
462
- this.configManager.fetchUserAvailableConfigs(this._applicationResourceID)
459
+ this.configManager.fetchUserAvailableConfigs()
463
460
  .then((userConfig) => {
464
461
  this._formConfigOptions = userConfig;
465
462
  if (this._formConfigOptions == undefined) {
@@ -513,9 +510,6 @@ const SnkFormConfig = class {
513
510
  }
514
511
  }
515
512
  async loadConfigByUser() {
516
- if (this._applicationResourceID == undefined) {
517
- return;
518
- }
519
513
  if (this.configManager == undefined) {
520
514
  return;
521
515
  }
@@ -525,10 +519,10 @@ const SnkFormConfig = class {
525
519
  let config;
526
520
  switch (this._optionFormConfigSelected.origin) {
527
521
  case UserConfigType.DEFAULT:
528
- config = await this.configManager.fetchDefaultConfig(this._applicationResourceID);
522
+ config = await this.configManager.fetchDefaultConfig();
529
523
  break;
530
524
  case UserConfigType.DEFAULT:
531
- config = await this.configManager.fetchDefaultConfig(this._applicationResourceID);
525
+ config = await this.configManager.fetchDefaultConfig();
532
526
  break;
533
527
  }
534
528
  if (config != undefined) {
@@ -944,11 +938,7 @@ const SnkFormConfig = class {
944
938
  this.controlSortableGroup();
945
939
  }
946
940
  componentWillLoad() {
947
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
948
- this._application.getResourceID().then(resourceID => {
949
- this._applicationResourceID = resourceID;
950
- this.loadConfig();
951
- });
941
+ this.loadConfig();
952
942
  }
953
943
  componentDidLoad() {
954
944
  const dataInfo = { dataUnit: this.dataUnit };
@@ -8,6 +8,7 @@ const SnkFormView = class {
8
8
  constructor(hostRef) {
9
9
  registerInstance(this, hostRef);
10
10
  this.snkContentCardChanged = createEvent(this, "snkContentCardChanged", 7);
11
+ this.formItemsReady = createEvent(this, "formItemsReady", 7);
11
12
  this.levelPath = undefined;
12
13
  this.label = undefined;
13
14
  this.name = undefined;
@@ -75,6 +76,10 @@ const SnkFormView = class {
75
76
  this._dataBinder.bind(fields, this.dataUnit.dataUnitId, this.formMetadata, this.recordsValidator);
76
77
  }
77
78
  }
79
+ handleFormItemsReady(event) {
80
+ event.stopPropagation();
81
+ this.formItemsReady.emit(Object.assign(Object.assign({}, event.detail), { formId: this.name }));
82
+ }
78
83
  disconnectedCallback() {
79
84
  if (this._dataBinder != undefined) {
80
85
  this._dataBinder.onDisconnectedCallback();
@@ -87,7 +92,7 @@ const SnkFormView = class {
87
92
  ?
88
93
  h("snk-form-summary", { summary: this.getCardSummary() })
89
94
  :
90
- h("ez-form-view", { ref: ref => this._formView = ref, fields: this.fields, onEzContentReady: evt => this.bindFields(evt.detail) })));
95
+ h("ez-form-view", { ref: ref => this._formView = ref, fields: this.fields, onEzContentReady: evt => this.bindFields(evt.detail), onFormItemsReady: (event) => this.handleFormItemsReady(event) })));
91
96
  }
92
97
  };
93
98
  SnkFormView.style = snkFormViewCss;
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-de537eca.js';
4
- import './ConfigStorage-1090289a.js';
5
- import './form-config-fetcher-4065db9a.js';
6
- import './DataFetcher-a4ed43e7.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-5a5f85a3.js';
4
+ import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
5
+ import './ConfigStorage-4441aa3d.js';
6
+ import './form-config-fetcher-2fe67341.js';
7
+ import './DataFetcher-1618bffe.js';
7
8
  import './_commonjsHelpers-9943807e.js';
8
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
9
- import './resource-fetcher-45a70066.js';
10
- import './filter-bar-config-fetcher-2417b8cf.js';
10
+ import './PrintUtils-3e4ff0f5.js';
11
11
  import './filter-item-type.enum-5028ed3f.js';
12
12
 
13
13
  const snkFormCss = ".sc-snk-form-h{--snk-form__header--min-height:94px;display:block}.snk-form__form--hidden.sc-snk-form{display:none}";
@@ -17,6 +17,7 @@ const SnkForm = class {
17
17
  registerInstance(this, hostRef);
18
18
  this.exit = createEvent(this, "exit", 7);
19
19
  this.actionClick = createEvent(this, "actionClick", 7);
20
+ this.formItemsReady = createEvent(this, "formItemsReady", 7);
20
21
  this._dataUnit = undefined;
21
22
  this._dataState = undefined;
22
23
  this._showFormConfig = false;
@@ -24,6 +25,7 @@ const SnkForm = class {
24
25
  this.configName = undefined;
25
26
  this.recordsValidator = undefined;
26
27
  this.messagesBuilder = undefined;
28
+ this.resourceID = undefined;
27
29
  }
28
30
  /**
29
31
  * Exibe a janela de configurações do formulário.
@@ -44,7 +46,7 @@ const SnkForm = class {
44
46
  const dataInfo = { dataUnit: this._dataUnit };
45
47
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
46
48
  }
47
- componentWillLoad() {
49
+ async componentWillLoad() {
48
50
  let parent = this._element.parentElement;
49
51
  while (parent) {
50
52
  if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
@@ -66,7 +68,10 @@ const SnkForm = class {
66
68
  }
67
69
  parent = parent.parentElement;
68
70
  }
69
- this._configManager = new SnkFormConfigManager(this.configName);
71
+ if (this.resourceID == undefined) {
72
+ this.resourceID = await ResourceIDUtils.getResourceID();
73
+ }
74
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID);
70
75
  this._configManager.loadConfig();
71
76
  }
72
77
  render() {
@@ -2,14 +2,13 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { CheckMode } from '@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode';
5
- import { C as ConfigStorage } from './ConfigStorage-1090289a.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-4441aa3d.js';
6
6
  import { O as ORDER_VALUES } from './constants-3644f1b6.js';
7
- import './form-config-fetcher-4065db9a.js';
8
- import './DataFetcher-a4ed43e7.js';
7
+ import './form-config-fetcher-2fe67341.js';
8
+ import './DataFetcher-1618bffe.js';
9
9
  import './_commonjsHelpers-9943807e.js';
10
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import './resource-fetcher-45a70066.js';
12
- import './filter-bar-config-fetcher-2417b8cf.js';
11
+ import './PrintUtils-3e4ff0f5.js';
13
12
  import './filter-item-type.enum-5028ed3f.js';
14
13
 
15
14
  const snkGridConfigCss = ".sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.sc-snk-grid-config-h{width:359px;max-width:359px}}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background);padding-right:var(--snk-grid-config__main--padding-right)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar{width:var(--snk-grid-config__scrollbar--width);max-width:var(--snk-grid-config__scrollbar--width);min-width:var(--snk-grid-config__scrollbar--width);background-color:var(--snk-grid-config__scrollbar--color-background)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-track{background-color:var(--snk-grid-config__scrollbar--color-background);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb{background-color:var(--snk-grid-config__scrollbar--color-default);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:hover,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-grid-config__scrollbar--color-hover)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:active,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-grid-config__scrollbar--color-clicked)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}";
@@ -30,6 +29,7 @@ const SnkGridConfig = class {
30
29
  this.columns = undefined;
31
30
  this.config = undefined;
32
31
  this.configName = undefined;
32
+ this.resourceID = undefined;
33
33
  }
34
34
  /* Creation Methods */
35
35
  /**
@@ -253,7 +253,7 @@ const SnkGridConfig = class {
253
253
  }
254
254
  }
255
255
  _newConfig.columns = _newColumnConfigList;
256
- ConfigStorage.saveGridConfig(_newConfig, this.configName)
256
+ ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
257
257
  .then((savedConfig) => {
258
258
  this.configChange.emit(savedConfig);
259
259
  this._orderList.clearHistory();
@@ -1,18 +1,17 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils, ApplicationContext, DataType } from '@sankhyalabs/core';
3
3
  import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
4
- import { T as TaskbarElement } from './taskbar-elements-2c761819.js';
5
- import { C as ConfigStorage } from './ConfigStorage-1090289a.js';
4
+ import { T as TaskbarElement } from './taskbar-elements-0a6b8b95.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-4441aa3d.js';
6
6
  import { P as PresentationMode } from './index-1564817d.js';
7
7
  import { T as TaskbarProcessor } from './taskbar-processor-94402e6e.js';
8
8
  import { s as store } from './index-bdf75557.js';
9
9
  import { S as SnkMultiSelectionListDataSource } from './SnkMultiSelectionListDataSource-892f37f9.js';
10
10
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
11
- import './form-config-fetcher-4065db9a.js';
12
- import './DataFetcher-a4ed43e7.js';
11
+ import './form-config-fetcher-2fe67341.js';
12
+ import './DataFetcher-1618bffe.js';
13
13
  import './_commonjsHelpers-9943807e.js';
14
- import './resource-fetcher-45a70066.js';
15
- import './filter-bar-config-fetcher-2417b8cf.js';
14
+ import './PrintUtils-3e4ff0f5.js';
16
15
  import './filter-item-type.enum-5028ed3f.js';
17
16
 
18
17
  const snkGridCss = ".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";
@@ -22,7 +21,6 @@ const SnkGrid = class {
22
21
  registerInstance(this, hostRef);
23
22
  this.actionClick = createEvent(this, "actionClick", 7);
24
23
  this.gridDoubleClick = createEvent(this, "gridDoubleClick", 7);
25
- this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
26
24
  this._topTaskbarProcessor = new TaskbarProcessor({
27
25
  "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
28
26
  "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
@@ -39,7 +37,9 @@ const SnkGrid = class {
39
37
  this._dataState = undefined;
40
38
  this._gridConfig = undefined;
41
39
  this._popUpGridConfig = false;
40
+ this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
42
41
  this.configName = undefined;
42
+ this.resourceID = undefined;
43
43
  this.selectionToastConfig = undefined;
44
44
  this.actionsList = undefined;
45
45
  this.isDetail = undefined;
@@ -51,6 +51,9 @@ const SnkGrid = class {
51
51
  this.useEnterLikeTab = false;
52
52
  this.recordsValidator = undefined;
53
53
  this.canEdit = true;
54
+ this.taskbarCustomContainerId = undefined;
55
+ this.gridHeaderCustomSlotId = 'GRID_HEADER_CUSTOM_ELEMENTS';
56
+ this.topTaskbarCustomSlotId = 'GRID_TASKBAR_CUSTOM_ELEMENTS';
54
57
  }
55
58
  /**
56
59
  * Exibe a janela de configurações da grade.
@@ -98,20 +101,17 @@ const SnkGrid = class {
98
101
  this._gridConfig = config;
99
102
  }
100
103
  loadConfig() {
101
- ConfigStorage.get()
102
- .then((instance) => {
103
- instance.loadGridConfig(this.configName)
104
- .then((config) => {
105
- this.setGridConfig(config);
106
- })
107
- .catch((error) => {
108
- console.warn(error);
109
- });
104
+ ConfigStorage.loadGridConfig(this.configName, this.resourceID)
105
+ .then((config) => {
106
+ this.setGridConfig(config);
107
+ })
108
+ .catch((error) => {
109
+ console.warn(error);
110
110
  });
111
111
  }
112
112
  gridConfigChangeHandler(evt) {
113
113
  const config = evt.detail;
114
- ConfigStorage.saveGridConfig(config, this.configName);
114
+ ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
115
115
  evt.stopPropagation();
116
116
  }
117
117
  modalConfigChangeHandler(evt) {
@@ -224,10 +224,11 @@ const SnkGrid = class {
224
224
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
225
225
  }
226
226
  finshLoading() {
227
+ var _a, _b;
227
228
  this._dataUnitLoadLockerResolver = this._dataUnit.addLoadingLocker();
228
229
  this.addElementID();
229
- this._multiSelectionListDataSource.setApplication(this._application);
230
- this._multiSelectionListDataSource.setDataUnit(this._dataUnit);
230
+ (_a = this.columnFilterDataSource) === null || _a === void 0 ? void 0 : _a.setApplication(this._application);
231
+ (_b = this.columnFilterDataSource) === null || _b === void 0 ? void 0 : _b.setDataUnit(this._dataUnit);
231
232
  }
232
233
  componentWillLoad() {
233
234
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -280,7 +281,7 @@ const SnkGrid = class {
280
281
  if (!this._dataUnit || this._dataUnit.records.length === 0)
281
282
  invisibleButtons.push("DATA_EXPORTER");
282
283
  if (this._dataState && this._dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
283
- invisibleButtons.push("ACTIONS_BUTTON");
284
+ invisibleButtons.push("ACTIONS_BUTTON", TaskbarElement.UPDATE);
284
285
  return invisibleButtons;
285
286
  }
286
287
  componentWillRender() {
@@ -318,8 +319,8 @@ const SnkGrid = class {
318
319
  if (!this._dataUnit) {
319
320
  return undefined;
320
321
  }
321
- 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 &&
322
- 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() }))));
322
+ 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 &&
323
+ h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => 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, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
323
324
  }
324
325
  get _element() { return getElement(this); }
325
326
  };
@@ -1,13 +1,18 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-de537eca.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-5a5f85a3.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import { T as TaskbarProcessor } from './taskbar-processor-94402e6e.js';
6
- import { T as TaskbarElement } from './taskbar-elements-2c761819.js';
6
+ import { T as TaskbarElement } from './taskbar-elements-0a6b8b95.js';
7
7
  import { c as VIEW_MODE } from './constants-3644f1b6.js';
8
- import './DataFetcher-a4ed43e7.js';
9
- import './pesquisa-fetcher-7460b876.js';
8
+ import './DataFetcher-1618bffe.js';
9
+ import './pesquisa-fetcher-19e81fc8.js';
10
10
  import { P as PresentationMode } from './index-1564817d.js';
11
+ import './ISave-4412b20c.js';
12
+ import '@sankhyalabs/ezui/dist/collection/utils/constants';
13
+ import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
14
+ import './filter-item-type.enum-5028ed3f.js';
15
+ import './form-config-fetcher-2fe67341.js';
11
16
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
12
17
 
13
18
  const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
@@ -18,6 +23,7 @@ const SnkGuidesViewer = class {
18
23
  registerInstance(this, hostRef);
19
24
  this.exit = createEvent(this, "exit", 7);
20
25
  this.actionClick = createEvent(this, "actionClick", 7);
26
+ this.formItemsReady = createEvent(this, "formItemsReady", 7);
21
27
  this._guideBuilders = new Map();
22
28
  this.dataUnit = undefined;
23
29
  this.dataState = undefined;
@@ -31,6 +37,8 @@ const SnkGuidesViewer = class {
31
37
  this.messagesBuilder = undefined;
32
38
  this.canEdit = true;
33
39
  this.presentationMode = undefined;
40
+ this.resourceID = undefined;
41
+ this.detailTaskbarCustomContainerId = undefined;
34
42
  this._breadcrumbItems = [];
35
43
  this._guides = undefined;
36
44
  this._formEditorConfigManager = undefined;
@@ -232,7 +240,7 @@ const SnkGuidesViewer = class {
232
240
  else {
233
241
  detailBranch = this.selectedGuide;
234
242
  }
235
- content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail) }));
243
+ content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId }));
236
244
  }
237
245
  else {
238
246
  const cardId = this.selectedGuide.id;
@@ -281,7 +289,10 @@ const SnkGuidesViewer = class {
281
289
  return this.selectedGuide === undefined || '__main' === ((_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.id);
282
290
  }
283
291
  componentWillLoad() {
284
- this._configManager = new SnkFormConfigManager(this.configName, config => this.masterFormConfig = config);
292
+ if (this.resourceID == undefined) {
293
+ throw new Error("Erro interno: resourceID não informado");
294
+ }
295
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, config => this.masterFormConfig = config);
285
296
  this._configManager.loadConfig();
286
297
  }
287
298
  componentDidRender() {
@@ -300,7 +311,7 @@ const SnkGuidesViewer = class {
300
311
  }
301
312
  buildTaskBar() {
302
313
  var _a;
303
- return h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit }));
314
+ return h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
304
315
  }
305
316
  render() {
306
317
  var _a, _b;
@@ -319,7 +330,7 @@ const SnkGuidesViewer = class {
319
330
  h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
320
331
  h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
321
332
  :
322
- h("div", null), h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), messagesBuilder: this.messagesBuilder, onOpenConfig: (evt) => this.openConfig(evt.detail) })));
333
+ h("div", null), h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), messagesBuilder: this.messagesBuilder, onOpenConfig: (evt) => this.openConfig(evt.detail), resourceID: this.resourceID })));
323
334
  }
324
335
  static get watchers() { return {
325
336
  "dataUnit": ["observeDataUnit"],