@sankhyalabs/sankhyablocks 8.15.0-rc.9 → 8.15.1-rc.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 (231) hide show
  1. package/dist/cjs/{ConfigStorage-d4c99a5e.js → ConfigStorage-942ce74b.js} +70 -7
  2. package/dist/cjs/{DataFetcher-99f0f6ed.js → DataFetcher-313debd8.js} +13 -5
  3. package/dist/cjs/{SnkFormConfigManager-3621bfc4.js → SnkFormConfigManager-f9dc0d28.js} +21 -13
  4. package/dist/cjs/{SnkMessageBuilder-141aa18d.js → SnkMessageBuilder-66aa2557.js} +4 -0
  5. package/dist/cjs/SnkMultiSelectionListDataSource-303e85d1.js +140 -0
  6. package/dist/cjs/{auth-fetcher-5161d082.js → auth-fetcher-54f5ff9d.js} +1 -1
  7. package/dist/cjs/{form-config-fetcher-9f1a13ca.js → form-config-fetcher-2dd00e5b.js} +13 -1
  8. package/dist/cjs/index-f9e81701.js +2 -10
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-8bbee432.js → pesquisa-fetcher-213797ec.js} +273 -50
  11. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  12. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +519 -4
  13. package/dist/cjs/snk-application.cjs.entry.js +19 -11
  14. package/dist/cjs/snk-attach.cjs.entry.js +66 -46
  15. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-crud.cjs.entry.js +25 -17
  17. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +6 -2
  18. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
  19. package/dist/cjs/{snk-data-unit-6026a9f7.js → snk-data-unit-41c29713.js} +1 -1
  20. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  21. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -9
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +31 -7
  23. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  24. package/dist/cjs/snk-filter-item.cjs.entry.js +10 -6
  25. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  26. package/dist/cjs/snk-form-config.cjs.entry.js +8 -2
  27. package/dist/cjs/snk-form.cjs.entry.js +11 -4
  28. package/dist/cjs/snk-grid.cjs.entry.js +40 -21
  29. package/dist/cjs/{snk-guides-viewer-e87f01b9.js → snk-guides-viewer-4b6ecda8.js} +20 -11
  30. package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -7
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  32. package/dist/cjs/snk-simple-crud.cjs.entry.js +255 -21
  33. package/dist/cjs/snk-taskbar.cjs.entry.js +69 -8
  34. package/dist/collection/collection-manifest.json +6 -6
  35. package/dist/collection/components/snk-application/snk-application.js +55 -6
  36. package/dist/collection/components/snk-attach/snk-attach.js +39 -24
  37. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +1 -1
  38. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +29 -22
  39. package/dist/collection/components/snk-configurator/snk-configurator.js +1 -1
  40. package/dist/collection/components/snk-crud/snk-crud.js +71 -11
  41. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  42. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +50 -7
  43. package/dist/collection/components/snk-custom-slot-elements/snk-custom-slot-elements.css +1 -1
  44. package/dist/collection/components/snk-custom-slot-elements/snk-custom-slot-elements.js +22 -1
  45. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +2 -2
  46. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  47. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -6
  48. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -1
  49. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +44 -3
  50. package/dist/collection/components/snk-form/snk-form.js +25 -1
  51. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
  52. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +11 -5
  53. package/dist/collection/components/snk-grid/snk-grid.js +86 -16
  54. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  55. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  56. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  57. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  58. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +421 -17
  59. package/dist/collection/components/snk-taskbar/snk-taskbar.js +86 -8
  60. package/dist/collection/lib/configs/ConfigStorage.js +63 -3
  61. package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
  62. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  63. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +13 -5
  64. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  65. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  66. package/dist/collection/lib/message/SnkMessageBuilder.js +20 -20
  67. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  68. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  69. package/dist/components/ConfigStorage.js +68 -5
  70. package/dist/components/DataFetcher.js +13 -5
  71. package/dist/components/SnkFormConfigManager.js +19 -11
  72. package/dist/components/SnkMessageBuilder.js +4 -0
  73. package/dist/components/dataunit-fetcher.js +41 -39
  74. package/dist/components/field-search.js +93 -3
  75. package/dist/components/form-config-fetcher.js +12 -0
  76. package/dist/components/index.d.ts +6 -6
  77. package/dist/components/snk-application2.js +15 -4
  78. package/dist/components/snk-attach2.js +115 -52
  79. package/dist/components/snk-configurator2.js +1 -1
  80. package/dist/components/snk-crud.js +23 -11
  81. package/dist/components/snk-custom-slot-elements.js +7 -3
  82. package/dist/components/snk-data-exporter2.js +2 -2
  83. package/dist/components/snk-detail-view2.js +48 -11
  84. package/dist/components/snk-filter-bar2.js +29 -4
  85. package/dist/components/snk-filter-detail2.js +5 -1
  86. package/dist/components/snk-filter-item2.js +11 -6
  87. package/dist/components/snk-form-config2.js +7 -1
  88. package/dist/components/snk-form.js +8 -0
  89. package/dist/components/snk-grid-config2.js +128 -102
  90. package/dist/components/snk-grid2.js +42 -18
  91. package/dist/components/snk-simple-crud2.js +317 -29
  92. package/dist/components/snk-taskbar2.js +75 -11
  93. package/dist/esm/{ConfigStorage-39ed8aeb.js → ConfigStorage-86187da3.js} +70 -7
  94. package/dist/esm/{DataFetcher-a650ae58.js → DataFetcher-c1baf61d.js} +13 -5
  95. package/dist/esm/{SnkFormConfigManager-692e20c7.js → SnkFormConfigManager-f53f9f87.js} +21 -13
  96. package/dist/esm/{SnkMessageBuilder-9747ddd2.js → SnkMessageBuilder-0a4becdd.js} +4 -0
  97. package/dist/esm/SnkMultiSelectionListDataSource-36918dbf.js +133 -0
  98. package/dist/esm/{auth-fetcher-17dc5b5e.js → auth-fetcher-039abba3.js} +1 -1
  99. package/dist/esm/{form-config-fetcher-f121f880.js → form-config-fetcher-30fb808f.js} +13 -1
  100. package/dist/esm/index-a7d3d3f1.js +2 -10
  101. package/dist/esm/loader.js +1 -1
  102. package/dist/esm/{pesquisa-fetcher-5a8cae10.js → pesquisa-fetcher-fe6f3826.js} +262 -43
  103. package/dist/esm/sankhyablocks.js +1 -1
  104. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +518 -5
  105. package/dist/esm/snk-application.entry.js +19 -11
  106. package/dist/esm/snk-attach.entry.js +65 -45
  107. package/dist/esm/snk-configurator.entry.js +1 -1
  108. package/dist/esm/snk-crud.entry.js +25 -17
  109. package/dist/esm/snk-custom-slot-elements.entry.js +7 -3
  110. package/dist/esm/snk-data-exporter.entry.js +5 -5
  111. package/dist/esm/{snk-data-unit-4c343635.js → snk-data-unit-de1d140d.js} +1 -1
  112. package/dist/esm/snk-data-unit.entry.js +2 -2
  113. package/dist/esm/snk-detail-view.entry.js +8 -9
  114. package/dist/esm/snk-filter-bar.entry.js +31 -7
  115. package/dist/esm/snk-filter-detail.entry.js +4 -1
  116. package/dist/esm/snk-filter-item.entry.js +10 -6
  117. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  118. package/dist/esm/snk-form-config.entry.js +9 -3
  119. package/dist/esm/snk-form.entry.js +11 -4
  120. package/dist/esm/snk-grid.entry.js +41 -22
  121. package/dist/esm/{snk-guides-viewer-ba8ce538.js → snk-guides-viewer-113be3fd.js} +20 -11
  122. package/dist/esm/snk-guides-viewer.entry.js +6 -7
  123. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  124. package/dist/esm/snk-simple-crud.entry.js +256 -22
  125. package/dist/esm/snk-taskbar.entry.js +70 -9
  126. package/dist/sankhyablocks/p-032fe52e.js +1 -0
  127. package/dist/sankhyablocks/p-07a61550.entry.js +1 -0
  128. package/dist/sankhyablocks/p-0899e0b5.entry.js +1 -0
  129. package/dist/sankhyablocks/p-14a08904.entry.js +1 -0
  130. package/dist/sankhyablocks/p-154a7f33.entry.js +1 -0
  131. package/dist/sankhyablocks/p-15802c59.entry.js +1 -0
  132. package/dist/sankhyablocks/p-164666b1.js +65 -0
  133. package/dist/sankhyablocks/p-21a81901.entry.js +1 -0
  134. package/dist/sankhyablocks/p-32556aa6.js +1 -0
  135. package/dist/sankhyablocks/p-328585d0.entry.js +1 -0
  136. package/dist/sankhyablocks/{p-9a5d1b39.js → p-52c8e589.js} +1 -1
  137. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  138. package/dist/sankhyablocks/p-5cb07080.js +1 -0
  139. package/dist/sankhyablocks/p-74d349c3.entry.js +1 -0
  140. package/dist/sankhyablocks/p-7663f597.entry.js +1 -0
  141. package/dist/sankhyablocks/p-7fe120b8.entry.js +11 -0
  142. package/dist/sankhyablocks/{p-50783a8b.js → p-913a9979.js} +1 -1
  143. package/dist/sankhyablocks/{p-827e4b01.entry.js → p-a1d72395.entry.js} +1 -1
  144. package/dist/sankhyablocks/p-add17f6a.entry.js +1 -0
  145. package/dist/sankhyablocks/p-af1ac81f.entry.js +1 -0
  146. package/dist/sankhyablocks/p-aff76a53.js +56 -0
  147. package/dist/sankhyablocks/p-b4525fc0.entry.js +1 -0
  148. package/dist/sankhyablocks/p-cce0865d.js +1 -0
  149. package/dist/sankhyablocks/{p-be75153c.js → p-dc7c9047.js} +1 -1
  150. package/dist/sankhyablocks/p-dec65f6c.entry.js +1 -0
  151. package/dist/sankhyablocks/p-df5451c7.js +26 -0
  152. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  153. package/dist/sankhyablocks/{p-9d608b62.entry.js → p-eae7a817.entry.js} +1 -1
  154. package/dist/sankhyablocks/{p-20b46647.entry.js → p-ee9536bc.entry.js} +1 -1
  155. package/dist/sankhyablocks/p-f13f7616.entry.js +1 -0
  156. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  157. package/dist/types/components/snk-application/snk-application.d.ts +9 -1
  158. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -1
  159. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +10 -1
  160. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +5 -4
  161. package/dist/types/components/snk-crud/snk-crud.d.ts +12 -0
  162. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  163. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +11 -1
  164. package/dist/types/components/snk-custom-slot-elements/snk-custom-slot-elements.d.ts +6 -0
  165. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  166. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +6 -2
  167. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +8 -0
  168. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  169. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  170. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +4 -3
  171. package/dist/types/components/snk-grid/snk-grid.d.ts +14 -1
  172. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  173. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  174. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  175. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +76 -3
  176. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  177. package/dist/types/components.d.ts +172 -11
  178. package/dist/types/lib/configs/ConfigStorage.d.ts +21 -1
  179. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
  180. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  181. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  182. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  183. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  184. package/package.json +1 -1
  185. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  186. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  187. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  188. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  189. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  190. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  191. package/dist/esm/snk-grid-config.entry.js +0 -479
  192. package/dist/esm/snk-select-box.entry.js +0 -21
  193. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  194. package/dist/sankhyablocks/p-1c55becf.entry.js +0 -1
  195. package/dist/sankhyablocks/p-230f5148.entry.js +0 -1
  196. package/dist/sankhyablocks/p-2936303b.js +0 -1
  197. package/dist/sankhyablocks/p-2e4eb644.entry.js +0 -1
  198. package/dist/sankhyablocks/p-3e2e2424.entry.js +0 -1
  199. package/dist/sankhyablocks/p-3e91d5ea.entry.js +0 -1
  200. package/dist/sankhyablocks/p-43de1258.entry.js +0 -1
  201. package/dist/sankhyablocks/p-4ce6cb02.entry.js +0 -11
  202. package/dist/sankhyablocks/p-5e681b7b.js +0 -65
  203. package/dist/sankhyablocks/p-5f74c859.entry.js +0 -1
  204. package/dist/sankhyablocks/p-67aedbe0.js +0 -56
  205. package/dist/sankhyablocks/p-69754d94.entry.js +0 -1
  206. package/dist/sankhyablocks/p-725d04ba.js +0 -1
  207. package/dist/sankhyablocks/p-86801b08.entry.js +0 -1
  208. package/dist/sankhyablocks/p-8a3a2631.entry.js +0 -1
  209. package/dist/sankhyablocks/p-965b79a9.js +0 -1
  210. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  211. package/dist/sankhyablocks/p-a13ccb86.js +0 -26
  212. package/dist/sankhyablocks/p-aba0e87f.entry.js +0 -1
  213. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  214. package/dist/sankhyablocks/p-d26e0a02.entry.js +0 -1
  215. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  216. package/dist/sankhyablocks/p-d7d85fa9.entry.js +0 -1
  217. package/dist/sankhyablocks/p-e3bd000e.entry.js +0 -1
  218. package/dist/sankhyablocks/p-e7dbe53a.entry.js +0 -1
  219. package/dist/sankhyablocks/p-fcdcb0e2.entry.js +0 -1
  220. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  221. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  222. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  223. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  224. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  225. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  226. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  227. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  228. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  229. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  230. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  231. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
@@ -0,0 +1 @@
1
+ import{r as t,c as s,h as i,H as e,g as h}from"./p-d2d301a6.js";import{Action as a,StringUtils as n,ApplicationContext as r,OVERFLOWED_CLASS_NAME as o,OverflowWatcher as l,OverflowDirection as d,ElementIDUtils as u}from"@sankhyalabs/core";import{A as v}from"./p-dc36cfbf.js";import{T as m,V as c,A as k,b,a as p}from"./p-ae4fc9a9.js";import{P as T}from"./p-38289a55.js";import"./p-6dc031de.js";const f=class{constructor(i){t(this,i),this.actionClick=s(this,"actionClick",7),this.TASKBAR_ITEM_ID_PREFIX="TASKBAR_ITEM_",this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME="taskbar-custom-elements-container",this.ACTIONS_BUTTON_TAG="TASKBAR-ACTIONS-BUTTON",this.NOT_OVERFLOW_ELEMENTS=["moreOptions","dataExporter_snkDataExporter","actionsButton_snkActionsButton"],this._titleKeyByElement={[m.UPDATE]:"snkTaskbar.titleUpdate",[m.PREVIOUS]:"snkTaskbar.titlePrevious",[m.NEXT]:"snkTaskbar.titleNext",[m.REFRESH]:"snkTaskbar.titleRefresh",[m.CLONE]:"snkTaskbar.titleClone",[m.REMOVE]:"snkTaskbar.titleRemove",[m.MORE_OPTIONS]:"snkTaskbar.titleMoreOptions",[m.INSERT]:"snkTaskbar.titleInsert",[m.CANCEL]:"snkTaskbar.titleCancel",[m.SAVE]:"snkTaskbar.titleSave",[m.GRID_MODE]:"snkTaskbar.titleGridMode",[m.FORM_MODE]:"snkTaskbar.titleFormMode",[m.CONFIGURATOR]:"snkTaskbar.titleConfigurator",[m.ATTACH]:"snkTaskbar.titleAttach"},this.onSaveEvent=t=>{switch(t.type){case a.FIELD_INVALIDATED:case a.DATA_SAVED:case a.SAVING_ERROR:this._isWaitingForSave=!1;break;case a.SAVING_DATA:this._isWaitingForSave=!0}},this._permissions=void 0,this._overFlowedElements=[],this._customElements=void 0,this._customElementsId=void 0,this._slotContainer=void 0,this._hiddenActionsList=[],this._lastWidth=void 0,this._hasToUpdateOverFlow=!1,this._isWaitingForSave=!1,this.alignRigth=!1,this.customSlotId="TASKBAR_CUSTOM_ELEMENTS",this.customContainerId=void 0,this.overflowStrategy="hiddenItems",this.configName=void 0,this.resourceID=void 0,this.buttons=void 0,this.customButtons=void 0,this.actionsList=void 0,this.primaryButton=void 0,this.disabledButtons=void 0,this.dataUnit=void 0,this.presentationMode=T.PRIMARY,this.messagesBuilder=void 0}handleCustomSlotElementsLoaded(t){this.hasToSearchCustomElements(t)&&this.getCustomElements(!0)}hasToSearchCustomElements(t){return this.customSlotId===t.detail&&!this._slotContainer}observeButtons(){this._definitions=void 0,requestAnimationFrame((()=>{requestAnimationFrame((()=>{var t;return null===(t=this._overFlowWatcher)||void 0===t?void 0:t.forceUpdate()}))}))}observeDisabledButtons(){var t;null===(t=this._overFlowWatcher)||void 0===t||t.forceUpdate()}observeLastWidth(t,s){0===s&&0!==t&&(this._hasToUpdateOverFlow=!0)}elementsFromString(t){const s=[];return null==t||t.split(",").forEach((t=>{t=t.trim(),(c[t]||this.isAllowed(t))&&s.push(t.trim())})),s}isAllowed(t){return t===k.CONFIGURATOR?!!this._permissions&&(this._permissions.isSup||this._permissions[v.CONFIG_GRID]||this._permissions[v.CONFIG]):!k[t]||!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getTitle(t){var s;let i;return i=this.isAllowed(t)?this._titleKeyByElement[t]:"snkTaskbar.forbidden",i?null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(i,{}):""}elementClick(t){if(this.dataUnit)switch(t){case m.PREVIOUS:this.dataUnit.previousRecord();break;case m.NEXT:this.dataUnit.nextRecord();break;case m.REFRESH:this.dataUnit.loadData();break;case m.CLONE:this.dataUnit.copySelected();break;case m.REMOVE:this.dataUnit.removeSelectedRecords();break;case m.INSERT:this.dataUnit.addRecord();break;case m.CANCEL:this.dataUnit.cancelEdition();break;case m.SAVE:this._isWaitingForSave||(this._isWaitingForSave=!0,this.dataUnit.saveData().finally((()=>{this._isWaitingForSave=!1})))}this.isEnabled(t)&&this.actionClick.emit(t)}isEnabled(t){return!(!this.isAllowed(t)||this.disabledButtons&&this.disabledButtons.includes(t))}validatePresentationMode(){Object.values(T).includes(this.presentationMode)||(this.presentationMode=T.PRIMARY)}getElement(t,s){let i=s===this.primaryButton?"ez-button--primary ":"";return t>1&&(i+="ez-padding-left--medium"),m[s.toString()]?b(s,i,this.getIdElemBtnNative(s),(t=>this.getTitle(t)),(t=>this.elementClick(t)),(t=>this.isEnabled(t)),this.buildDynamicActionsList(),this.configName,this.presentationMode):p(s,i,this.getIdElemBtnCustom(s),(t=>this.elementClick(t)),(t=>this.isEnabled(t)))}buildDynamicActionsList(){var t;return this._hiddenActionsList.length?[...null!==(t=this.actionsList)&&void 0!==t?t:[],{type:"divider",label:"",value:""},...this._hiddenActionsList]:this.actionsList}getIdElemBtnNative(t){return n.toCamelCase(t)}getIdElemBtnCustom(t){return n.toCamelCase(t.name)}isDivider(t){var s;return void 0!==t&&(null===(s=t.t)||void 0===s?void 0:s["data-taskbar-divider"])}removeEmpty(t){let s;return t.filter((t=>!(null==t||this.isDivider(s)&&this.isDivider(t)||(s=t,0))))}appendCustomElementsInTaskbar(){this._customElementsId.forEach((t=>{const s=t.replace(this.TASKBAR_ITEM_ID_PREFIX,""),i=this._customElements.get(s),e=this._element.querySelector(`#${t}`);e?null==e||e.appendChild(i):this.unlinkCustomElementFromTaskbar(i)}))}addCustomElementContainer(t){var s;const e=`${this.TASKBAR_ITEM_ID_PREFIX}${t}`;return this._customElementsId.includes(e)||(this._customElementsId.push(e),null===(s=this._overFlowWatcher)||void 0===s||s.addNotOverFlowElement(e)),i("span",{class:"ez-padding-left--medium",key:e,id:e})}getCustomElements(t){var s,i;this._customElementsId=[],this._customElements=new Map,this._slotContainer=this.buildSlotContainer(t),Array.from(null!==(i=null===(s=this._slotContainer)||void 0===s?void 0:s.children)&&void 0!==i?i:[]).forEach((t=>this._customElements.set(t.id,t)))}buildSlotContainer(t){let s;if(this.customContainerId){const t=document.querySelector(`#${this.customContainerId}`);s=null==t?void 0:t.querySelector(`#${this.customSlotId}`)}else s=this._element.querySelector(`#${this.customSlotId}`);return t&&!s&&(s=document.querySelector(`#${this.customSlotId}`)),s}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess(this.resourceID).then((t=>this._permissions=t)):this._permissions={},this.getCustomElements()}componentWillRender(){this.handleDefinitions(),this.validatePresentationMode(),this.updateOverFlowIfNeeded()}handleDefinitions(){null==this._definitions&&this._permissions&&(this._definitions=this.elementsFromString(this.buttons))}updateOverFlowIfNeeded(){this._hasToUpdateOverFlow&&(requestAnimationFrame((()=>{var t;return null===(t=this._overFlowWatcher)||void 0===t?void 0:t.forceUpdate()})),this._hasToUpdateOverFlow=!1)}handleOverFlow(t){const s=t.filter((t=>!this.hasToIgnoreOverFlow(t)));this.resetOverFlowedElements(),this.doOverFlowElements(s)}resetOverFlowedElements(){this._overFlowedElements.forEach((t=>{t.classList.remove(o)})),this._hiddenActionsList=[],this._overFlowedElements=[]}doOverFlowElements(t){t.forEach((t=>{t.classList.add(o),this._overFlowedElements.push(t),this.addItemToActionList(t)}))}addItemToActionList(t){const s=this.getTaskbarElementName(t);if(s&&this.isEnabled(s)&&this.isAllowed(s)){const i={value:s,label:this.getTaskbarElementLabel(t),iconName:this.getTaskbarElementIcon(t)};this._hiddenActionsList.push(i)}}getTaskbarElementName(t){var s;return null!==(s=t.getAttribute("data-taskbar-element"))&&void 0!==s?s:""}getTaskbarElementIcon(t){var s;return null!==(s=t.getAttribute("data-taskbar-icon"))&&void 0!==s?s:""}getTaskbarElementLabel(t){var s;return null!==(s=t.getAttribute("data-taskbar-label"))&&void 0!==s?s:""}hasToIgnoreOverFlow(t){return t.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME)}handleOverFlowStrategy(){"hiddenItems"===this.overflowStrategy&&(this._overFlowWatcher=new l(this.buildOverFlowWatcherParams()))}buildOverFlowWatcherParams(){return{element:this._element,callback:this.handleOverFlow.bind(this),overFlowDirection:d.HORIZONTAL,notOverFlow:this.NOT_OVERFLOW_ELEMENTS}}componentDidLoad(){u.addIDInfo(this._element,null,{dataUnit:this.dataUnit}),this.handleOverFlowStrategy(),this.dataUnit.subscribe(this.onSaveEvent)}componentDidRender(){this.appendCustomElementsInTaskbar(),this.updateLastWidth()}updateLastWidth(){this._lastWidth=this._element.getBoundingClientRect().width}disconnectedCallback(){var t;this.unlinkAllCustomElements(),null===(t=this._overFlowWatcher)||void 0===t||t.destroy()}unlinkAllCustomElements(){var t;null===(t=this._customElementsId)||void 0===t||t.forEach((t=>{const s=t.replace(this.TASKBAR_ITEM_ID_PREFIX,""),i=this._customElements.get(s);this.unlinkCustomElementFromTaskbar(i)}))}unlinkCustomElementFromTaskbar(t){this._slotContainer.appendChild(t)}render(){if(void 0===this._definitions)return;let t=0;return i(e,{class:this.getHostClasses()},this.removeEmpty(this._definitions.map((s=>{var e,h;return t++,m[s]?this.getElement(t,m[s]):(null===(e=this.customButtons)||void 0===e?void 0:e.has(s))?this.getElement(t,this.customButtons.get(s)):this._customElements.has(s)?this.addCustomElementContainer(s):(null===(h=this._overFlowWatcher)||void 0===h||h.addNotOverFlowElement(s),i("slot",{name:s}))}))),i("div",{class:this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME},i("slot",{name:this.customSlotId})))}getHostClasses(){return"hiddenItems"!==this.overflowStrategy?"no-wrap":"full-width "+(this.alignRigth?"align-right":"")}get _element(){return h(this)}static get watchers(){return{buttons:["observeButtons"],disabledButtons:["observeDisabledButtons"],_lastWidth:["observeLastWidth"]}}};f.style=".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";export{f as snk_taskbar}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,f as s,h as e,H as a}from"./p-d2d301a6.js";import{Action as h}from"@sankhyalabs/core";import{S as o}from"./p-032fe52e.js";import{FormMetadata as n,buildFormMetadata as r}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-dc7c9047.js";import"./p-164666b1.js";import{P as d}from"./p-38289a55.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import"./p-df5451c7.js";import{T as l}from"./p-ae4fc9a9.js";import{d as c}from"./p-b0ef4383.js";import{S as m}from"./p-5cb07080.js";import{S as u}from"./p-32556aa6.js";import"./p-aff76a53.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-688dcb4c.js";import"./p-6dc031de.js";import"./p-c2495304.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";class p{constructor(t,i,s){this._parentGuide=t,this._formMetadata=i,this._dataUnit=s}get id(){return this._parentGuide.id}buildGuideItem(t){const i=Object.assign({},this._parentGuide);delete i.expanded,delete i.children;const s=this._dataUnit.getSelectedRecord();if(!s)return i;const e=this._dataUnit.isNewRecord(s.__record__id__),a=Array.from(this._formMetadata.getAllSheets().values()).map((i=>{const{name:s,label:a}=i,h=null!=n.getDetailName(s.split("::").pop()),o=h&&e,r=this._parentGuide.id,d=h?`${r}::${s}`:`${r}__FORM:${s}`;return h&&t.has(d)&&!o?t.get(d).buildGuideItem(t):{id:d,label:a,disabled:o,tooltip:o?"Finalize o cadastro para ter acesso a esta guia.":void 0}})),h=a.shift();return h.label=e?"Novo Registro":s.__record__label__,h.children=a,i.children=[h],i}}const v=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this.formItemsReady=i(this,"formItemsReady",7),this._disabledButtons=void 0,this._currentView=void 0,this.attachmentRegisterKey=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.resourceID=void 0,this.guideItemPath=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.messagesBuilder=void 0,this.branchGuide=void 0,this.canEdit=!0,this.taskbarCustomContainerId=void 0}observeDataUnit(t,i){null==t||t.subscribe(this.dataUnitActionHandler.bind(this)),null==i||i.unsubscribe(this.dataUnitActionHandler)}observerDataState(t,i){const s=!(null==i?void 0:i.insertionMode)&&(null==t?void 0:t.insertionMode),e=(null==i?void 0:i.insertionMode)&&!(null==t?void 0:t.insertionMode);if((s||e)&&this.loadMetadata(),null==this._formMetadata)return;const a=null==t?void 0:t.selectedRecord,h=null==i?void 0:i.selectedRecord;(null==a?void 0:a.__record__id__)!==(null==h?void 0:h.__record__id__)&&this.snkDetailGuidesChange.emit(new p(this.branchGuide,this._formMetadata,this.dataUnit)),s&&setTimeout((()=>{this.changeViewMode(c.FORM)}),0),e&&this.changeViewMode(c.GRID);const o=[];this.dataState.hasPrevious||o.push(l.PREVIOUS),this.dataState.hasNext||o.push(l.NEXT),this.dataState.insertionMode&&o.push(l.INSERT),this._disabledButtons=o}async changeViewMode(t){this.emitSwitchEvent(t)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}onContentCardChanged(t){m.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}updateLabel(){const t=this.guideItemPath?this.guideItemPath.length:0;if(t>0){const i=t>0?this.guideItemPath.map((t=>t.label)):void 0;this.label=i.pop(),this._levelPath=i.length>0?i.join(" / "):void 0}else this.label="",this._levelPath=void 0}getFormGuideId(t){var i;if(!t){if(null==(null===(i=this.dataState)||void 0===i?void 0:i.selectedRecord))return;const s=Array.from(this._formMetadata.getAllSheets().keys());if(!s||0==s.length)return;t=s[0]}return`${this.stripFormPattern(this.branchGuide.id)}__FORM:${t}`}stripFormPattern(t){return t.replace(v.REGEX_FORM_ID,"")}loadMetadata(){var t;if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const i=this.formConfigManager.getConfig(null===(t=this.dataState)||void 0===t?void 0:t.insertionMode,this.dataUnit);this._formMetadata=r(null==i||0===i.fields.length?void 0:i,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){var i,s;this._viewStack=t,this._currentView=this.selectedForm?1:0,null===(s=null===(i=this._viewStack)||void 0===i?void 0:i.show)||void 0===s||s.call(i,this._currentView)}getFormFields(){return this.selectedForm&&this._formMetadata?this._formMetadata.getSheet(this.selectedForm).fields:[]}emitSwitchEvent(t){const i=t===c.GRID?this.stripFormPattern(this.branchGuide.id):this.getFormGuideId();i&&this.snkSwitchGuide.emit(i)}handleAttachBack(){this._viewStack.show(c.GRID)}executeActionHandler(t){t.detail===l.GRID_MODE&&(this.emitSwitchEvent(c.GRID),t.stopPropagation()),t.detail===l.FORM_MODE&&(this.emitSwitchEvent(c.FORM),t.stopPropagation()),t.detail===l.ATTACH&&(this._viewStack.show(c.ATTACHMENT),t.stopPropagation())}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}async handleDataStateChange({detail:t}){this.dataState=t,void 0!==t.selectedRecord&&this._snkDataUnit&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey())}componentWillLoad(){this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new o(this._configName,this.resourceID,(()=>this.loadMetadata())),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new u(this.entityName))}async dataUnitActionHandler(t){t.type===h.FIELD_INVALIDATED&&this.addErrorBadgeToBranchGuide()}addErrorBadgeToBranchGuide(){this.branchGuide=Object.assign(Object.assign({},this.branchGuide),{badge:"error"}),this.snkDetailGuidesChange.emit(new p(this.branchGuide,this._formMetadata,this.dataUnit))}render(){return this.updateLabel(),e(a,null,e("snk-data-unit",{ref:t=>this._snkDataUnit=t,dataUnitName:`${this.dataUnitName}`,onDataUnitReady:t=>this.dataUnitReadyHandler(t),entityName:this.entityName,onDataStateChange:this.handleDataStateChange.bind(this),ignoreSaveMessage:this._currentView===c.GRID,messagesBuilder:this.messagesBuilder,configName:this._configName},e("ez-view-stack",{ref:t=>this.updateViewStack(t)},e("stack-item",null,e("div",{class:"ez-box ez-box--shadow grid-container"},e("div",{class:"ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header"},e("div",{class:"ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center"},this._levelPath?e("span",{class:"level-path"},this._levelPath+" /"):void 0,this.label)),e("snk-grid",{class:"ez-size-width--full ez-size-height--full",ref:t=>this._snkGrid=t,configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.emitSwitchEvent(c.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:d.SECONDARY,canEdit:this.canEdit,isDetail:!0,taskbarCustomContainerId:this.taskbarCustomContainerId,gridHeaderCustomSlotId:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS",topTaskbarCustomSlotId:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS"}))),e("stack-item",null,e("snk-form-view",{ref:t=>this._snkFormView=t,canExpand:!1,canFix:!1,name:this.selectedForm,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),label:this.label,levelPath:this._levelPath,onFormItemsReady:({detail:t})=>this.formItemsReady.emit(t)},e("snk-taskbar",{key:"guideViewerTaskbar",class:"form-taskbar","data-element-id":"guideViewer",configName:this._configName,messagesBuilder:this.messagesBuilder,disabledButtons:this._disabledButtons,buttons:"INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR",primaryButton:"INSERT",presentationMode:d.SECONDARY,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit,resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"},e("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))),e("stack-item",null,e("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this.entityName,onBack:this.handleAttachBack.bind(this)})))))}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observerDataState"]}}};v.REGEX_FORM_ID=/__FORM:[^:]+/g,v.style=".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";export{v as snk_detail_view}
@@ -0,0 +1,56 @@
1
+ import{R as e,F as t}from"./p-df5451c7.js";import{F as i}from"./p-ff1990ad.js";import{ObjectUtils as s}from"@sankhyalabs/core";import{d as r,D as a}from"./p-dc7c9047.js";var n;function l(e,t){if(null==e)return e;if(e instanceof Date)return e.toISOString();if("object"==typeof e){if(e instanceof Array)return e.map((e=>l(i.MULTI_LIST===t?function(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(i[s[r]]=e[s[r]])}return i}(e,["label"]):e)));{const i=Object.assign({},e);return Object.keys(e).forEach((s=>{void 0!==e[s]?i[s]=l(e[s],t):delete i[s]})),i}}return e}class o{constructor(){this.templateByQuery=new Map,this.buildTemplates()}resolveURI(e,t){let i="filter-assistent-config://"+e;return t&&(i+="."+t),i}buildTemplates(){this.templateByQuery.set("fetchFilterFields",r.gql`
2
+ query($name: String!) {
3
+ $queryAlias$: fetchFilterFields(name: $name){
4
+ currentLink {
5
+ description
6
+ uri
7
+ }
8
+ links {
9
+ description
10
+ uri
11
+ fieldCount
12
+ }
13
+ fields {
14
+ name
15
+ description
16
+ uri
17
+ onlyDate
18
+ dataType
19
+ userInterface
20
+ entityName
21
+ properties {
22
+ name
23
+ value
24
+ }
25
+ }
26
+ }
27
+ }
28
+ `),this.templateByQuery.set("fetchFilterAssistent",r.gql`
29
+ query($name: String!) {
30
+ $queryAlias$: fetchFilterAssistent(name: $name) {
31
+ id
32
+ name
33
+ active
34
+ expression
35
+ warningMessage
36
+ assistent
37
+ }
38
+ }`),this.templateByQuery.set("savePersonalizedFilter",r.gql`
39
+ mutation($name: String!, $filterAssistent: InputFilterAssistent!) {
40
+ $queryAlias$: savePersonalizedFilter(name: $name, filterAssistent: $filterAssistent) {
41
+ id
42
+ name
43
+ }
44
+ }`),this.templateByQuery.set("deletePersonalizedFilter",r.gql`
45
+ mutation($name: String!, $filterId: String!) {
46
+ $queryAlias$: deletePersonalizedFilter(name: $name, filterId: $filterId) {
47
+ id
48
+ name
49
+ }
50
+ }`),this.templateByQuery.set("validateExpression",r.gql`
51
+ query($dataUnitName: String!, $expression: String!) {
52
+ $queryAlias$: validateExpression(dataUnitName: $dataUnitName, expression: $expression) {
53
+ valid
54
+ message
55
+ }
56
+ }`)}async loadPersonalizedFilter(e,t,i,s){return new Promise(((r,n)=>{a.get().callGraphQL({values:{name:this.resolveURI(e,i)+"/"+t+this.resolveLegacyConfigName(s)},query:this.templateByQuery.get("fetchFilterAssistent")}).then((e=>{e.assistent=JSON.parse(e.assistent),r(e)})).catch((e=>{n(e)}))}))}resolveLegacyConfigName(e){return e?`?legacyResourceID=${e}`:""}async savePersonalizedFilter(e,t,i){if(!e||0==Object.keys(e).length)return Promise.reject(new Error("personalizedFilter não pode ser vazio"));let s=JSON.parse(JSON.stringify(e));return s.assistent=JSON.stringify(s.assistent),new Promise(((e,r)=>{a.get().callGraphQL({values:{name:this.resolveURI(t,i),filterAssistent:s},query:this.templateByQuery.get("savePersonalizedFilter")}).then((t=>{e(t)})).catch((e=>{r(e)}))}))}async removePersonalizedFilter(e,t,i){return new Promise(((s,r)=>{a.get().callGraphQL({values:{name:this.resolveURI(t,i),filterId:e.id},query:this.templateByQuery.get("deletePersonalizedFilter")}).then((e=>{s(e)})).catch((e=>{r(e)}))}))}async validatePersonalizedFilter(e,t){return new Promise(((i,s)=>{a.get().callGraphQL({values:{dataUnitName:e,expression:t},query:this.templateByQuery.get("validateExpression")}).then((e=>{i(e)})).catch((e=>{s(e)}))}))}loadFields(e){return new Promise(((t,i)=>{a.get().callGraphQL({values:{name:e},query:this.templateByQuery.get("fetchFilterFields")}).then((e=>{var i;let s=e.fields;for(const e of s){if(Array.isArray(e.properties)&&e.properties.length>0){const t=e.properties.reduce(((e,t)=>(e[t.name]=t.value,e)),{});e.properties=t}(null===(i=null==e?void 0:e.properties)||void 0===i?void 0:i.options)&&(e.properties.options=JSON.parse(e.properties.options))}t(Object.assign(Object.assign({},e),{fields:s}))})).catch((e=>{i(e)}))}))}}!function(e){e.form="form",e.grid="grid",e.filterBar="filterBar"}(n||(n={}));class c{static addFilterBarLegacyConfig(e,t){this.validateConfigName(e,t),this.filterBarLegacyConfig.set(e,t)}static addFormLegacyConfig(e,t){this.validateConfigName(e,t),this.formLegacyConfig.set(e,t)}static addGridLegacyConfig(e,t){this.validateConfigName(e,t),this.gridLegacyConfig.set(e,t)}static preload(e,t,i){t&&(null==i?void 0:i.gridLegacyConfig)&&c.addGridLegacyConfig(t,i.gridLegacyConfig),t&&(null==i?void 0:i.formLegacyConfig)&&c.addFormLegacyConfig(t,i.formLegacyConfig),c.loadFormConfig(t,e),c.loadGridConfig(t,e)}static async loadFilterBarConfig(e,t,i){i=this.handleLegacyConfig(e,n.filterBar,i);const s=c.buildCacheID(e,n.filterBar,t);return c.configById.has(s)||c.configById.set(s,c.filterBarConfigFetcher.getConfig(t,e,i)),c.configById.get(s)}static async loadFormConfig(e,t){e=this.handleLegacyConfigAsString(e,n.form);const i=c.buildCacheID(e,n.form,t);return c.configById.has(i)||c.configById.set(i,c.formConfigFetcher.loadFormConfig(e,t)),c.configById.get(i)}static async loadGridConfig(e,t){e=this.handleLegacyConfigAsString(e,n.grid);const i=c.buildCacheID(e,n.grid,t);return c.configById.has(i)||c.configById.set(i,c.gridConfigFetcher.getConfig(e,t)),c.configById.get(i)}static async saveFilterBarConfig(e,t,i){return await this.deleteFilterBarConfigCache(t,i),this.filterBarConfigFetcher.saveConfig(e,i,t)}static async saveFormConfig(e,t,i){return t=this.handleLegacyConfigAsString(t,n.form),await this.deleteFormConfigCache(t,i),this.formConfigFetcher.saveConfig(e,t,i)}static async saveCardState(e,t,i){return this.formConfigFetcher.saveCardState(e,t,i)}static async saveGridConfig(e,t,i){if(null!=e)return await this.deleteGridConfigCache(t,i),this.gridConfigFetcher.saveConfig(e,t,i)}static async loadPersonalizedFilter(e,t,i){const s=this.filterBarLegacyConfig.get(i);return this.personalizedFilterFetcher.loadPersonalizedFilter(t,e,i,s)}static async savePersonalizedFilter(e,t,i){return await this.deleteFilterBarConfigCache(i,t),this.personalizedFilterFetcher.savePersonalizedFilter(e,t,i)}static async removePersonalizedFilter(e,t,i){return this.personalizedFilterFetcher.removePersonalizedFilter(e,t,i)}static async validatePersonalizedFilter(e,t){return this.personalizedFilterFetcher.validatePersonalizedFilter(e,t)}static async deleteGridConfigCache(e,t){await this.deleteConfigCache(e,t,n.grid)}static async deleteFormConfigCache(e,t){await this.deleteConfigCache(e,t,n.form)}static async deleteFilterBarConfigCache(e,t){await this.deleteConfigCache(e,t,n.filterBar)}static validateConfigName(e,t){if(!e)throw Error(this.CONFIG_NAME_ERROR_MESSAGE);if(!t)throw Error(this.LEGACY_CONFIG_NAME_ERROR_MESSAGE)}static handleLegacyConfig(e,t,i){let s;switch(t){case n.filterBar:s=this.filterBarLegacyConfig.get(e);break;case n.grid:s=this.gridLegacyConfig.get(e);break;case n.form:s=this.formLegacyConfig.get(e)}const r=i?Object.assign({},i):{};return s&&(r.legacyResourceID=s),r}static handleLegacyConfigAsString(e,t){const i=this.handleLegacyConfig(e,t).legacyResourceID;return i&&(e+=`?legacyResourceID=${i}`),e}static async deleteConfigCache(e,t,i){const s=c.buildCacheID(e,i,t);this.configById.delete(s)}static buildCacheID(e,t,i){return null==e?`req_${t}_${i}`:`req_${t}_${e}_${i}`}}c.CONFIG_NAME_ERROR_MESSAGE="ConfigName precisa ser informado.",c.LEGACY_CONFIG_NAME_ERROR_MESSAGE="LegacyConfigName precisa ser informado.",c.filterBarLegacyConfig=new Map,c.formLegacyConfig=new Map,c.gridLegacyConfig=new Map,c.configById=new Map,c.filterBarConfigFetcher=new class extends e{normalize(e){return e.map((e=>{const{id:t,value:i,fixed:s,visible:r,type:a,groupedItems:n}=e,o={id:t};if(i&&(o.value=l(i,a)),s&&(o.fixed=s),n){if(0===n.length)return;n.filter((e=>e.visible)).length>0&&(o.visible=!0),o.groupedItems=this.normalize(n)}else r&&(o.visible=!0);return o})).filter((e=>null!=e))}saveConfig(e,t,i){return this.saveResource(this.normalize(e),this.getPath(t,i))}getConfig(e,t,i){return new Promise(((s,r)=>{this.loadResource(this.getPath(e,t,i)).then((e=>{let t;if(e){const i=JSON.parse(e);t=this.buildFieldList(i.items)}s(t||[])})).catch((e=>{r(e)}))}))}buildFieldList(e){return e.map((e=>{var t,r;if(e.type===i.MULTI_LIST){const i=e.value;let a=null!==(r=null!==(t=null==i?void 0:i.elements)&&void 0!==t?t:null==i?void 0:i.members)&&void 0!==r?r:i;a=null!=a?a:[],a=Array.isArray(a)?a:[a],a=a.map((e=>Object.assign(Object.assign({},e),{id:void 0!==e.id?e.id:e.value}))),e.value=s.copy(a)}return e}))}getPath(e,t,i){let s=`cfg://filter/FilterBarState:${e}`;return t&&(s+=`.${t}`),i&&(s+=this.buildQueryString(i)),s}buildQueryString(e){let t="?";for(let i in e)e.hasOwnProperty(i)&&(t.length>1&&(t+="&"),t+=i+"="+e[i]);return t}},c.formConfigFetcher=new t,c.gridConfigFetcher=new class extends e{constructor(){super(...arguments),this.GRID_CONFIG_VERSION="V3:"}getConfig(e,t){const i=this.getPath(t,e);return new Promise(((e,t)=>{this.loadResource(i).then((t=>{let i;t&&(i=JSON.parse(t)),e(i)})).catch((e=>{t(e)}))}))}saveConfig(e,t,i){const s=this.getPath(i,t);return new Promise(((t,i)=>{this.saveResource(e,s).then((e=>{t(JSON.parse(e.resource))})).catch((e=>{i(e)}))}))}getPath(e,t){return t?`cfg://grid/${this.GRID_CONFIG_VERSION}${e}/${t}`:`cfg://grid/${this.GRID_CONFIG_VERSION}${e}`}},c.personalizedFilterFetcher=new o;export{c as C,o as P}
@@ -0,0 +1 @@
1
+ import{r as i,c as t,h as s,g as e}from"./p-d2d301a6.js";import{StringUtils as n,ApplicationContext as o,ObjectUtils as a,DataType as h,UserInterface as r,JSUtils as l,FloatingManager as d,ElementIDUtils as u}from"@sankhyalabs/core";import{CSSVarsUtils as c}from"@sankhyalabs/ezui/dist/collection/utils";import{d as m,S as g}from"./p-b0ef4383.js";import{T as p}from"./p-ae4fc9a9.js";import"./p-dc7c9047.js";import{I as f}from"./p-164666b1.js";import{S as v,C}from"./p-cce0865d.js";import{P as k}from"./p-38289a55.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import{F as S}from"./p-df5451c7.js";import{T as b,b as y,o as w}from"./p-c2495304.js";import{C as T}from"./p-aff76a53.js";import{S as E}from"./p-032fe52e.js";import"./p-6dc031de.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-688dcb4c.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource";const _=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","MORE_OPTIONS"],I=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER","MORE_OPTIONS"],F=class{constructor(s){i(this,s),this.dataStateChange=t(this,"dataStateChange",3),this.dataUnitReady=t(this,"dataUnitReady",3),this.actionClick=t(this,"actionClick",7),this.formItemsReady=t(this,"formItemsReady",7),this.configuratorSave=t(this,"configuratorSave",7),this.configuratorCancel=t(this,"configuratorCancel",7),this._multiSelectionListDataSource=new v,this._keyDownHandler=i=>this.keyDownListener(i),this._formConfigFetcher=new S,this._taskbarProcessor=new b({"snkSimpleCrudTaskbar.form_regular":this.getButtons(!1,p.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.getButtons(!1,p.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.getButtons(!0,p.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.getButtons(!0,p.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._showPopUpGridConfig=!1,this._showFormConfig=!1,this._currentViewMode=m.GRID,this._config=void 0,this._fieldToGetFocus=void 0,this._customContainerId=`SNK-SIMPLE-CRUD-CUSTOM-CONTAINER-${n.generateUUID()}`,this.dataState=void 0,this.dataUnit=void 0,this.mode=g.SERVER,this.gridConfig=void 0,this.formConfig=void 0,this._formFields=[],this.multipleSelection=void 0,this.useCancelConfirm=!0,this.resourceID=void 0,this.taskbarManager=void 0,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.actionsList=void 0,this.configName=void 0,this.showConfiguratorButtons=void 0,this.gridLegacyConfigName=void 0,this.formLegacyConfigName=void 0,this.ignoreReadOnlyFormFields=!1}handleResourceIDChanged(i,t){n.isEmpty(i)||i!==t&&(this.loadFormConfig(!0),this.loadGridConfig(!0))}getButtons(i,t){return this.addConfigButton(this.resolveInMemoryBtns(i?I:_).concat(t))}addConfigButton(i){return void 0===this.configName?i:i.concat(p.CONFIGURATOR)}get application(){return o.getContextValue("__SNK__APPLICATION__")}resolveInMemoryBtns(i){const t=[...i];return this.mode===g.IN_MEMORY&&t.splice(1,1),t}async goToView(i){this._currentViewMode=i,this._viewStack&&this._viewStack.show(i)}actionClickListener(i){const t=i.detail;t===p.CONFIGURATOR?this._snkConfigurator.open():t===p.GRID_MODE?this.goToView(m.GRID):t===p.FORM_MODE&&this.goToView(m.FORM),i.stopPropagation()}onModeChange(){this.mode==g.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(i,t){a.objectToString(t)!=a.objectToString(i)&&this.dataStateChange.emit(i)}async observeFormLegacy(i,t){await this.handleUpdateFormLegacyConfig(i,t)}async observeGridLegacy(i,t){await this.handleUpdateGridLegacyConfig(i,t)}async handleUpdateGridLegacyConfig(i,t){null!=i&&i!=t&&this._gridConfigAlreadyLoaded&&await this.loadGridConfig(!0)}async handleUpdateFormLegacyConfig(i,t){null!=i&&i!=t&&this._formConfigAlreadyLoaded&&this.loadFormConfig(!0)}openConfig(i){this._snkConfigurator.close(),i===m.GRID?this.openGridConfig():i===m.FORM&&this.openFormConfig()}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._showPopUpGridConfig=!0}))}async openFormConfig(){var i,t;if(this.formLegacyConfigName){const s=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkSimpleCrud.formConfigUnavaliable.title",void 0),e=null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage("snkSimpleCrud.formConfigUnavaliable.message",void 0);await this.application.alert(s,e)}else this._showFormConfig=!0}addGridLegacyConfigName(){this.gridLegacyConfigName&&this.configName&&T.addGridLegacyConfig(this.configName,this.gridLegacyConfigName)}loadGridConfig(i){if(void 0!==this.configName&&(null==this.gridConfig&&!this._gridConfigAlreadyLoaded||i))return this.addGridLegacyConfigName(),this._gridConfigAlreadyLoaded=!0,new Promise(((i,t)=>{T.loadGridConfig(this.configName,this.resolveResourceID()).then((t=>{this.setGridConfig(t),i()})).catch((i=>{t(i)}))}))}formConfigIsLoaded(){return null!=this.formConfig||this._formConfigAlreadyLoaded}async loadFormConfig(i=!1){if(void 0===this.configName)return;if(null==this._formConfigManager&&(this._formConfigManager=new E(this.configName,this.resolveResourceID()),this._formConfigManager.setConfig(this.formConfig)),this.formConfigIsLoaded()&&!i)return;this._formConfigAlreadyLoaded=!0;let t=await this._formConfigFetcher.fetchLegacyConfigurableForm(this.formLegacyConfigName);if(null!=t)return this._formConfigManager.setConfig(t),void this.setFormConfig(t);this.setFormConfig(await this._formConfigManager.loadConfig())}async componentWillRender(){this._resourceID=await this.application.getResourceID(),this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,this.getTaskBarDisabledButtons()),void 0!==this.configName&&(null!=this.gridConfig||this._gridConfigAlreadyLoaded||(await this.addGridLegacyConfigName(),this.loadGridConfig(),this.loadFormConfig()))}componentWillLoad(){this.processMetadata(),this.onModeChange(),this.configDatasource()}componentDidLoad(){c.applyVarsGrid(this._element,this._grid)}configDatasource(){this._multiSelectionListDataSource.setApplication(this.application),this._multiSelectionListDataSource.setDataUnit(this.dataUnit)}getTaskBarId(){var i,t,s;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(t=this.dataState)||void 0===t?void 0:t.selectionInfo)&&!this.dataState.selectionInfo.isAllRecords()&&(null===(s=this.dataState.selectionInfo.records)||void 0===s?void 0:s.length)>0?this._currentViewMode===m.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===m.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new f(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(i){return this._inMemoryLoader?this._inMemoryLoader.metadata=i:this.dataUnit&&(this.dataUnit.metadata=i),Promise.resolve()}setRecords(i){return this._inMemoryLoader?this._inMemoryLoader.records=i:this.dataUnit&&(this.dataUnit.records=i),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}async openConfigurator(){var i;null===(i=this._snkConfigurator)||void 0===i||i.open()}async closeConfigurator(){var i;null===(i=this._snkConfigurator)||void 0===i||i.close()}updateConfig(){null==this._formConfigManager&&(this._formConfigManager=new E(this.configName,this.resolveResourceID())),this._formConfigManager.setConfig(this.formConfig)}processMetadata(){const i=this._element.querySelectorAll("snk-field-metadata"),t=[],s={fields:[],emptyConfig:!1};i.forEach((i=>{const e={name:i.getAttribute("name")||i.getAttribute("label"),label:i.getAttribute("label"),dataType:h[i.getAttribute("dataType")]||h.TEXT,userInterface:r[i.getAttribute("userInterface")]||r.SHORTTEXT,readOnly:"true"==i.getAttribute("readOnly"),required:"true"==i.getAttribute("required"),tab:i.getAttribute("tab")||void 0,visible:"false"!=i.getAttribute("visible")};s.fields.push({name:e.name,tab:e.tab,visible:e.visible}),t.push(e)})),t.length>0&&(this.formConfig||(this.formConfig=s),this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:t})}onDataStateChange(i){this.dataState=Object.assign({},i.detail)}getTaskBarDisabledButtons(){var i,t,s,e;const n=[];return(null===(i=this.dataState)||void 0===i?void 0:i.hasNext)||n.push(p.NEXT),(null===(t=this.dataState)||void 0===t?void 0:t.hasPrevious)||n.push(p.PREVIOUS),(null===(e=null===(s=this.dataState)||void 0===s?void 0:s.selectionInfo)||void 0===e?void 0:e.isEmpty())&&n.push(p.FORM_MODE),n}handleCancelEdit(){var i;(null===(i=this.dataState)||void 0===i?void 0:i.recordsIsEmpty)&&(this.goToView(m.GRID),this.dataUnit.clearSelection())}handleConfiguratorEvent(i,t){i.stopImmediatePropagation(),"SAVE"!==t?this.configuratorCancel.emit():this.configuratorSave.emit()}getColumnSearch(i,t){return null!=this._columnSearch||(this._moreOptions=i,this._columnSearch=y(t,(({argument:i})=>new Promise((t=>{this._grid.filterColumns(i).then((i=>{t(i.filter((i=>!i.hidden)).map((i=>({label:i.label,value:i.name}))))}))}))),(t=>{var s;null!=t&&(this._grid.locateColumn(t.value),null===(s=i.hideActions)||void 0===s||s.call(i))}))),this._columnSearch}onSelectField(i,t){null!=i&&(this._fieldToGetFocus=i.value,t.hideActions())}getFieldSearch(i,t){return null!=this._fieldSearch||(this._moreOptions=i,i.addEventListener("ezPopoverOpen",(()=>this.findField())),this._fieldSearch=y(t,(({argument:i})=>this.fieldsOptionLoader(i)),(t=>this.onSelectField(t,i)))),this._fieldSearch}getFormFields(){var i,t;return null!==(t=null===(i=this.formConfig)||void 0===i?void 0:i.fields)&&void 0!==t?t:this._formFields}handleFormSetFields(i){a.equals(this._formFields,i)||(this._formFields=null!=i?i:[])}fieldsOptionLoader(i){const t=null==i?void 0:i.toLowerCase(),s=this.getFormFields().map((i=>{var t;return null===(t=this.dataUnit)||void 0===t?void 0:t.getField(i.name)})).filter((i=>{var s,e;return(null===(s=i.name)||void 0===s?void 0:s.toLowerCase().includes(t))||(null===(e=i.label)||void 0===e?void 0:e.toLowerCase().includes(t))})).map((i=>({value:i.name,label:i.label})));return Promise.resolve(s)}getActionsList(){var i,t;const s=[{value:n.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkSimpleCrud.findColumn",void 0))&&void 0!==t?t:"Buscar",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>this._currentViewMode===m.GRID?this.getColumnSearch(i,t):this.getFieldSearch(i,t)}];if(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions){const i=this.getTopTaskBarId();return s.concat(this.taskbarManager.getMoreOptions(i,this.configName,this.dataState,this.actionsList))}return s.concat(this.actionsList)}getTopTaskBarId(){var i;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?`snkGridTopTaskbar.finish_edition${k.PRIMARY}`:`snkGridTopTaskbar.regular${k.PRIMARY}`}async keyDownListener(i){i.ctrlKey&&null!=i.key&&"F"===i.key.toUpperCase()&&null!=this._element&&(l.isHiddenElement(this._element)||(d.closeAll(),this._currentViewMode===m.GRID?await this.findColumn():await this.findField(),i.preventDefault()))}async findField(){await this.openSeach(this._fieldSearch)}async findColumn(){await this.openSeach(this._columnSearch)}async openSeach(i){await w(this._moreOptions,i)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}connectedCallback(){window.addEventListener("keydown",this._keyDownHandler,{capture:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._keyDownHandler)}gridConfigChangeHandler(i){T.saveGridConfig(i.detail,this.configName,this.resolveResourceID()),i.stopPropagation()}modalConfigChangeHandler(i){const t=i.detail;this._grid.setColumnsState(t.columns).then((()=>{this.setGridConfig(t),this.closeGridConfig()})),i.stopPropagation()}setGridConfig(i){this.gridConfig=i,C.assertDefaultSorting(this.gridConfig,this.dataUnit)}setFormConfig(i,t){this.formConfig&&!t||(this.formConfig=i)}closeGridConfig(){this._showPopUpGridConfig=!1}closeFormConfig(){this._showFormConfig=!1}handleShowFormConfig(){return this._showFormConfig&&!this.formLegacyConfigName}resolveResourceID(){return n.isEmpty(this.resourceID)?this._resourceID:this.resourceID}getFormConfig(){var i,t;const s=null===(i=this._formConfigManager)||void 0===i?void 0:i.getConfig(null===(t=this.dataState)||void 0===t?void 0:t.insertionMode,this.dataUnit,this.ignoreReadOnlyFormFields);return this.configName||s?s:this.formConfig}render(){var i;if(null!=this.dataUnit)return s("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,useCancelConfirm:this.useCancelConfirm,onDataStateChange:i=>this.onDataStateChange(i),onCancelEdition:this.handleCancelEdit.bind(this),onInsertionMode:()=>this.goToView(m.FORM),onDataUnitReady:i=>this.dataUnitReady.emit(i.detail),ignoreSaveMessage:this._currentViewMode===m.GRID,onMessagesBuilderUpdated:i=>this.messagesBuilder=i.detail},s("header",null,s("slot",{name:"snkSimpleCrudHeader"})),s("section",{class:"ez-box ez-box--shadow simple-crud__container-section"},s("snk-taskbar",{class:"ez-box ez-box--shadow ez-padding--medium",dataUnit:this.dataUnit,primaryButton:(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,actionsList:this.getActionsList(),disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:k.SECONDARY},s("slot",{name:"TASKBAR_CUSTOM_ELEMENTS"})),s("ez-view-stack",{ref:i=>this._viewStack=i,"data-element-id":"simple-crud"},s("stack-item",null,s("ez-grid",{class:"ez-margin-bottom--large",ref:i=>this._grid=i,dataUnit:this.dataUnit,config:this.gridConfig,"no-header":!0,multipleSelection:this.multipleSelection,onEzDoubleClick:()=>this.goToView(m.FORM),onConfigChange:i=>this.gridConfigChangeHandler(i),columnfilterDataSource:this.dataUnit.name&&this.dataUnit.name.includes(f.IN_MEMORY_DATA_UNIT_NAME)?void 0:this._multiSelectionListDataSource,useEnterLikeTab:this.useEnterLikeTab},s("div",{slot:"footer"},s("slot",{name:"snkSimpleCrudFooter"})))),s("stack-item",null,s("ez-form",{class:"ez-margin-top--large "+(this.handleShowFormConfig()?"simple-crud__form--hidden":""),dataUnit:this.dataUnit,config:this.getFormConfig(),fieldToFocus:this._fieldToGetFocus,onEzFormSetFields:i=>this.handleFormSetFields(i.detail),onEzFormRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this)}),this.handleShowFormConfig()&&s("snk-form-config",{messagesBuilder:this.messagesBuilder,dataUnit:this.dataUnit,configManager:this._formConfigManager,onConfigClose:()=>this.closeFormConfig()})),this.messagesBuilder&&s("snk-configurator",{ref:i=>this._snkConfigurator=i,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:i=>this.goToView(i.detail),onOpenConfig:i=>this.openConfig(i.detail),showActionButtons:this.showConfiguratorButtons,onSave:i=>this.handleConfiguratorEvent(i,"SAVE"),onCancel:i=>this.handleConfiguratorEvent(i,"CANCEL"),resourceID:this.resolveResourceID(),customContainerId:this._customContainerId})),s("div",{id:`${this._customContainerId}`},s("slot",{name:"SnkConfigContainerSlot"}))),s("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._showPopUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},s("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this.gridConfig,"data-element-id":this._element.getAttribute(u.DATA_ELEMENT_ID_ATTRIBUTE_NAME),selectedIndex:0,configName:this.configName,onConfigChange:i=>this.modalConfigChangeHandler(i),onConfigCancel:()=>this.closeGridConfig(),resourceID:this.resolveResourceID()})))}get _element(){return e(this)}static get watchers(){return{resourceID:["handleResourceIDChanged"],mode:["onModeChange"],dataState:["observeDataState"],formLegacyConfigName:["observeFormLegacy"],gridLegacyConfigName:["observeGridLegacy"]}}};F.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%;--snk-simple-crud-grid--min-height:300px}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto 1fr;row-gap:12px;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}.simple-crud__form--hidden.sc-snk-simple-crud{display:none}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;--ez-grid--min-height:var(--snk-simple-crud-grid--min-height)}ez-form.sc-snk-simple-crud{min-height:300px}";export{F as snk_simple_crud}
@@ -0,0 +1 @@
1
+ import{D as t}from"./p-dc7c9047.js";import{a as e}from"./p-164666b1.js";import{SortMode as i,ApplicationContext as r,UserInterface as a,DateUtils as s}from"@sankhyalabs/core";import"./p-38289a55.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import"./p-df5451c7.js";import o from"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource";class n{static assertDefaultSorting(t,e){t&&e&&(e.defaultSorting=t.columns.filter((t=>null!=t.ascending)).sort(((t,e)=>t.orderIndex-e.orderIndex)).map((({name:t,ascending:r})=>{const{dataType:a}=e.getField(t);return{field:t,dataType:a,mode:r?i.ASC:i.DESC}})))}static find(e,i,a,s=!0,o,n){let l=[],c=[],m={},d=r.getContextValue("__SNK__APPLICATION__");if(i){if(!Array.isArray(i))throw new Error(d.messagesBuilder.getMessage("crudUtils.errorArray",null));i.forEach((t=>{l.push({name:t})}))}if(a)for(const t in a)a.hasOwnProperty(t)&&c.push({nome:t,valor:a[t]});o&&(m={expression:{$:o}});let p={requestBody:{entity:{name:e,criterio:c,fields:{field:l},literalCriteria:m,orderby:n}}};return new Promise((e=>{t.get().callServiceBroker("mge@crud.find",JSON.stringify(p)).then((t=>{var i;let r=null===(i=t.entidades)||void 0===i?void 0:i.entidade;if(null!=r){let t={fields:new Map};for(let e in r){let i=r[e];if(i.hasOwnProperty("$")&&t.fields.set(e,i.$),s)break}e(t)}else e(null)}))}))}}class l{setDataUnit(t){this._dataUnit=t}setApplication(t){this._application=t}formatLabel(t,e){const{userInterface:i}=this._dataUnit.getField(t);return i===a.DATETIME?s.formatDate(this._dataUnit.valueFromString(t,e)):String(this._dataUnit.getFormattedValue(t,e))}async getStaticOptions(t){return Promise.resolve(null==t?void 0:await e.getDistinct(this._dataUnit,t))}fetchData(t,e){return new Promise((i=>{this._application.executeSelectDistinct(this._dataUnit,e,t).then((t=>{i(t.map((t=>this._dataUnit.getField(e).userInterface===a.SEARCH?Object.assign(Object.assign({},JSON.parse(t)),{check:!0}):{value:t,label:this.formatLabel(e,t),check:!0})))}))}))}sortItems(t,e){return o.defaultSorterMultSelectionOption(this._dataUnit,t,e)}}export{n as C,l as S}