@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-131882.2 → 0.0.0-bugfix-dev-KB-174860.0

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 (443) hide show
  1. package/LICENSE +4 -1
  2. package/dist/cjs/{ConfigStorage-d9d24844.js → ConfigStorage-156bfcac.js} +19 -2
  3. package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
  4. package/dist/cjs/{DataFetcher-3a8ea521.js → DataFetcher-d13b4637.js} +2803 -2
  5. package/dist/cjs/FormConfigHelper-c5f5473a.js +342 -0
  6. package/dist/cjs/{ISave-a66bb65e.js → ISave-55d9dcc3.js} +1 -1
  7. package/dist/cjs/{ImageUtils-5e3f406b.js → ImageUtils-d6139911.js} +5 -3
  8. package/dist/cjs/{PersonalizedFilterUtils-eccb267a.js → PersonalizedFilterUtils-263e4d24.js} +52 -5
  9. package/dist/cjs/{SnkFormConfigManager-c88cf1e9.js → SnkFormConfigManager-5cb9a39c.js} +2 -2
  10. package/dist/cjs/{SnkMultiSelectionListDataSource-f53b60c4.js → SnkMultiSelectionListDataSource-5c5badfc.js} +146 -74
  11. package/dist/cjs/{auth-fetcher-faa61f64.js → auth-fetcher-d1715459.js} +1 -1
  12. package/dist/cjs/{dataunit-fetcher-6febd6c4.js → dataunit-fetcher-fae710c5.js} +68 -110
  13. package/dist/cjs/fields-layout.cjs.entry.js +1 -1
  14. package/dist/cjs/fields-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/{filter-type.enum-2bb46d2a.js → filter-type.enum-b3b388af.js} +7 -0
  16. package/dist/cjs/{form-config-fetcher-72cf0e3d.js → form-config-fetcher-bbebdcb8.js} +41 -5
  17. package/dist/cjs/guides-configurator.cjs.entry.js +2 -2
  18. package/dist/cjs/index-1894343a.js +28 -40
  19. package/dist/cjs/{index-e3e39724.js → index-bc950921.js} +6 -0
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +5 -6
  22. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  23. package/dist/cjs/{snk-actions-button_8.cjs.entry.js → snk-actions-button_9.cjs.entry.js} +151 -63
  24. package/dist/cjs/snk-application.cjs.entry.js +8 -9
  25. package/dist/cjs/snk-attach_11.cjs.entry.js +2958 -0
  26. package/dist/cjs/snk-configurator.cjs.entry.js +2 -0
  27. package/dist/cjs/snk-crud.cjs.entry.js +140 -99
  28. package/dist/cjs/snk-data-exporter.cjs.entry.js +61 -16
  29. package/dist/cjs/{snk-data-unit-94757628.js → snk-data-unit-32237a2d.js} +11 -11
  30. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -4
  31. package/dist/cjs/snk-detail-view.cjs.entry.js +28 -20
  32. package/dist/cjs/snk-dynaform-config-header_5.cjs.entry.js +739 -0
  33. package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +961 -0
  34. package/dist/cjs/snk-dynaform-field-config_2.cjs.entry.js +327 -0
  35. package/dist/cjs/snk-dynaform-guides-view-2c7c6ce4.js +1094 -0
  36. package/dist/cjs/snk-dynaform-guides-view.cjs.entry.js +23 -0
  37. package/dist/cjs/snk-dynaform.cjs.entry.js +679 -0
  38. package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
  39. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  40. package/dist/cjs/{snk-expression-group_2.cjs.entry.js → snk-expression-group_4.cjs.entry.js} +421 -18
  41. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +137 -121
  42. package/dist/cjs/snk-filter-search.cjs.entry.js +10 -0
  43. package/dist/cjs/snk-form-view.cjs.entry.js +1 -4
  44. package/dist/cjs/snk-form_2.cjs.entry.js +4 -5
  45. package/dist/cjs/snk-grid.cjs.entry.js +53 -21
  46. package/dist/cjs/{snk-guides-viewer-315f8580.js → snk-guides-viewer-67b9cca9.js} +38 -161
  47. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -17
  48. package/dist/cjs/snk-layout-form-config.cjs.entry.js +5 -6
  49. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -6
  50. package/dist/cjs/snk-taskbar.cjs.entry.js +182 -125
  51. package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
  52. package/dist/cjs/taskbar-elements-25f800b3.js +152 -0
  53. package/dist/cjs/taskbarUtils-99aaa01f.js +236 -0
  54. package/dist/collection/collection-manifest.json +19 -0
  55. package/dist/collection/components/snk-actions-button/actions/executor/launch-screen.executor.js +6 -3
  56. package/dist/collection/components/snk-actions-button/snk-actions-button.js +30 -6
  57. package/dist/collection/components/snk-attach/snk-attach.css +29 -7
  58. package/dist/collection/components/snk-attach/snk-attach.js +93 -18
  59. package/dist/collection/components/snk-configurator/snk-configurator.js +2 -0
  60. package/dist/collection/components/snk-crud/snk-crud.css +55 -0
  61. package/dist/collection/components/snk-crud/snk-crud.js +147 -94
  62. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +4 -1
  63. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +18 -7
  64. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
  65. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
  66. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +0 -3
  67. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
  68. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +36 -152
  69. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +163 -0
  70. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
  71. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +2 -2
  72. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +78 -23
  73. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +28 -5
  74. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +43 -2
  75. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomEditor.js +1 -0
  76. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomRender.js +1 -0
  77. package/dist/collection/components/snk-dynaform/snk-dynaform.css +69 -0
  78. package/dist/collection/components/snk-dynaform/snk-dynaform.js +1661 -0
  79. package/dist/collection/components/snk-dynaform/subcomponents/CardFormResizeObserver.js +26 -0
  80. package/dist/collection/components/snk-dynaform/subcomponents/GuideBuilder.js +51 -0
  81. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.css +182 -0
  82. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.js +1015 -0
  83. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.css +98 -0
  84. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.js +590 -0
  85. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.css +321 -0
  86. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.js +1587 -0
  87. package/dist/collection/components/snk-dynaform-form-config/FormConfigHelper.js +325 -0
  88. package/dist/collection/components/snk-dynaform-form-config/SnkFormConfigManager.js +219 -0
  89. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.css +17 -0
  90. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.js +236 -0
  91. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.css +41 -0
  92. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.js +170 -0
  93. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.css +22 -0
  94. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.js +408 -0
  95. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.css +88 -0
  96. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.js +209 -0
  97. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.css +167 -0
  98. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.js +655 -0
  99. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.css +42 -0
  100. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.js +171 -0
  101. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.css +66 -0
  102. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.js +557 -0
  103. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.css +80 -0
  104. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.js +326 -0
  105. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +30 -0
  106. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +9 -3
  107. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +2 -2
  108. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +24 -4
  109. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +6 -1
  110. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +8 -5
  111. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
  112. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +148 -77
  113. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +0 -1
  114. package/dist/collection/components/snk-grid/snk-grid.css +21 -5
  115. package/dist/collection/components/snk-grid/snk-grid.js +161 -7
  116. package/dist/collection/components/snk-grid-config/snk-grid-config.js +111 -44
  117. package/dist/collection/components/snk-image-input/snk-image-input.js +15 -3
  118. package/dist/collection/components/snk-image-input/utils/ImageUtils.js +5 -3
  119. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  120. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
  121. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
  122. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +51 -35
  123. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
  124. package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
  125. package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
  126. package/dist/collection/components/snk-taskbar/snk-taskbar.js +248 -132
  127. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
  128. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
  129. package/dist/collection/lib/@types/index.js +6 -0
  130. package/dist/collection/lib/configs/ConfigStorage.js +5 -0
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +1 -1
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +51 -4
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +15 -104
  134. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +22 -4
  135. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
  136. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
  137. package/dist/collection/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.js +0 -13
  138. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +12 -0
  139. package/dist/collection/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.js +0 -13
  140. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +12 -0
  141. package/dist/collection/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.js +0 -13
  142. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +12 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +7 -4
  144. package/dist/components/ConfigStorage.js +17 -0
  145. package/dist/components/ContinuousInsertUtils.js +86 -28
  146. package/dist/components/ISave.js +6 -0
  147. package/dist/components/SnkMessageBuilder.js +36 -39
  148. package/dist/components/dataunit-fetcher.js +67 -109
  149. package/dist/components/form-config-fetcher.js +40 -4
  150. package/dist/components/guides-configurator2.js +1 -1
  151. package/dist/components/index.d.ts +14 -0
  152. package/dist/components/index.js +14 -0
  153. package/dist/components/snk-actions-button2.js +15 -9
  154. package/dist/components/snk-attach2.js +67 -26
  155. package/dist/components/snk-configurator2.js +2 -0
  156. package/dist/components/snk-crud.js +229 -175
  157. package/dist/components/snk-data-exporter2.js +56 -9
  158. package/dist/components/snk-detail-view2.js +174 -267
  159. package/dist/components/snk-dynaform-config-header.d.ts +11 -0
  160. package/dist/components/snk-dynaform-config-header.js +6 -0
  161. package/dist/components/snk-dynaform-config-header2.js +103 -0
  162. package/dist/components/snk-dynaform-configs-button.d.ts +11 -0
  163. package/dist/components/snk-dynaform-configs-button.js +6 -0
  164. package/dist/components/snk-dynaform-configs-button2.js +76 -0
  165. package/dist/components/snk-dynaform-detail-view.d.ts +11 -0
  166. package/dist/components/snk-dynaform-detail-view.js +6 -0
  167. package/dist/components/snk-dynaform-detail-view2.js +2213 -0
  168. package/dist/components/snk-dynaform-field-config.d.ts +11 -0
  169. package/dist/components/snk-dynaform-field-config.js +6 -0
  170. package/dist/components/snk-dynaform-field-config2.js +605 -0
  171. package/dist/components/snk-dynaform-field-item.d.ts +11 -0
  172. package/dist/components/snk-dynaform-field-item.js +6 -0
  173. package/dist/components/snk-dynaform-field-item2.js +96 -0
  174. package/dist/components/snk-dynaform-fields-layout.d.ts +11 -0
  175. package/dist/components/snk-dynaform-fields-layout.js +6 -0
  176. package/dist/components/snk-dynaform-fields-layout2.js +428 -0
  177. package/dist/components/snk-dynaform-fields-selector.d.ts +11 -0
  178. package/dist/components/snk-dynaform-fields-selector.js +6 -0
  179. package/dist/components/snk-dynaform-fields-selector2.js +104 -0
  180. package/dist/components/snk-dynaform-form-config.d.ts +11 -0
  181. package/dist/components/snk-dynaform-form-config.js +6 -0
  182. package/dist/components/snk-dynaform-form-config2.js +430 -0
  183. package/dist/components/snk-dynaform-form-view.d.ts +11 -0
  184. package/dist/components/snk-dynaform-form-view.js +6 -0
  185. package/dist/components/snk-dynaform-form-view2.js +272 -0
  186. package/dist/components/snk-dynaform-guides-configurator.d.ts +11 -0
  187. package/dist/components/snk-dynaform-guides-configurator.js +6 -0
  188. package/dist/components/snk-dynaform-guides-configurator2.js +173 -0
  189. package/dist/components/snk-dynaform-guides-view.d.ts +11 -0
  190. package/dist/components/snk-dynaform-guides-view.js +6 -0
  191. package/dist/components/snk-dynaform.d.ts +11 -0
  192. package/dist/components/snk-dynaform.js +1007 -0
  193. package/dist/components/snk-entity-search.d.ts +11 -0
  194. package/dist/components/snk-entity-search.js +6 -0
  195. package/dist/components/snk-entity-search2.js +231 -0
  196. package/dist/components/snk-exporter-email-sender2.js +1 -1
  197. package/dist/components/snk-filter-bar2.js +98 -79
  198. package/dist/components/snk-filter-detail2.js +9 -3
  199. package/dist/components/snk-filter-item2.js +5 -5
  200. package/dist/components/snk-filter-modal2.js +8 -5
  201. package/dist/components/snk-filter-search.js +12 -1
  202. package/dist/components/snk-form-view2.js +0 -3
  203. package/dist/components/snk-grid-config2.js +92 -44
  204. package/dist/components/snk-grid2.js +95 -50
  205. package/dist/components/snk-image-input2.js +20 -6
  206. package/dist/components/snk-personalized-filter2.js +1 -1
  207. package/dist/components/snk-simple-crud2.js +29 -23
  208. package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
  209. package/dist/components/snk-taskbar-skeleton.js +6 -0
  210. package/dist/components/snk-taskbar-skeleton2.js +29 -0
  211. package/dist/components/snk-taskbar2.js +253 -174
  212. package/dist/components/sortable.esm.js +76 -90
  213. package/dist/components/taskbar-actions-button2.js +21 -2
  214. package/dist/components/taskbar-split-button2.js +10 -1
  215. package/dist/components/taskbarUtils.js +229 -0
  216. package/dist/esm/{ConfigStorage-d15d2014.js → ConfigStorage-0d1c0695.js} +19 -2
  217. package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
  218. package/dist/esm/{DataFetcher-1dd7e8c0.js → DataFetcher-70de9419.js} +2803 -3
  219. package/dist/esm/FormConfigHelper-efc29480.js +328 -0
  220. package/dist/esm/{ISave-498c4831.js → ISave-f5704813.js} +1 -1
  221. package/dist/esm/{ImageUtils-8fc8d905.js → ImageUtils-efbea0e4.js} +5 -3
  222. package/dist/esm/{PersonalizedFilterUtils-d2439a9a.js → PersonalizedFilterUtils-45b5803c.js} +49 -2
  223. package/dist/esm/{SnkFormConfigManager-86befa68.js → SnkFormConfigManager-e7f05f79.js} +2 -2
  224. package/dist/esm/{SnkMultiSelectionListDataSource-6e9496f0.js → SnkMultiSelectionListDataSource-6ac291a9.js} +141 -69
  225. package/dist/esm/{auth-fetcher-69cbda8d.js → auth-fetcher-e34880e5.js} +1 -1
  226. package/dist/esm/{dataunit-fetcher-21c43ec7.js → dataunit-fetcher-d26e4a08.js} +68 -110
  227. package/dist/esm/fields-layout.entry.js +1 -1
  228. package/dist/esm/fields-selector.entry.js +1 -1
  229. package/dist/esm/{filter-type.enum-f6a8fe23.js → filter-type.enum-62b7fe88.js} +8 -1
  230. package/dist/esm/{form-config-fetcher-fcc7b62f.js → form-config-fetcher-98c42169.js} +41 -5
  231. package/dist/esm/guides-configurator.entry.js +2 -2
  232. package/dist/esm/index-04f73a26.js +28 -40
  233. package/dist/esm/{index-b40568ff.js → index-c6721886.js} +6 -0
  234. package/dist/esm/loader.js +1 -1
  235. package/dist/esm/pesquisa-grid_2.entry.js +5 -6
  236. package/dist/esm/sankhyablocks.js +1 -1
  237. package/dist/esm/{snk-actions-button_8.entry.js → snk-actions-button_9.entry.js} +152 -65
  238. package/dist/esm/snk-application.entry.js +7 -8
  239. package/dist/esm/snk-attach_11.entry.js +2944 -0
  240. package/dist/esm/snk-configurator.entry.js +2 -0
  241. package/dist/esm/snk-crud.entry.js +140 -99
  242. package/dist/esm/snk-data-exporter.entry.js +61 -16
  243. package/dist/esm/{snk-data-unit-3b06a0f3.js → snk-data-unit-ff57ac90.js} +2 -2
  244. package/dist/esm/snk-data-unit.entry.js +3 -4
  245. package/dist/esm/snk-detail-view.entry.js +26 -18
  246. package/dist/esm/snk-dynaform-config-header_5.entry.js +731 -0
  247. package/dist/esm/snk-dynaform-detail-view_2.entry.js +956 -0
  248. package/dist/esm/snk-dynaform-field-config_2.entry.js +322 -0
  249. package/dist/esm/snk-dynaform-guides-view-0dfbefc1.js +1091 -0
  250. package/dist/esm/snk-dynaform-guides-view.entry.js +15 -0
  251. package/dist/esm/snk-dynaform.entry.js +675 -0
  252. package/dist/esm/snk-entity-search.entry.js +207 -0
  253. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  254. package/dist/esm/{snk-expression-group_2.entry.js → snk-expression-group_4.entry.js} +405 -4
  255. package/dist/esm/snk-filter-bar_4.entry.js +112 -96
  256. package/dist/esm/snk-filter-search.entry.js +10 -0
  257. package/dist/esm/snk-form-view.entry.js +1 -4
  258. package/dist/esm/snk-form_2.entry.js +4 -5
  259. package/dist/esm/snk-grid.entry.js +50 -18
  260. package/dist/esm/{snk-guides-viewer-a4e31f63.js → snk-guides-viewer-31a0a23d.js} +39 -162
  261. package/dist/esm/snk-guides-viewer.entry.js +8 -17
  262. package/dist/esm/snk-layout-form-config.entry.js +5 -6
  263. package/dist/esm/snk-pesquisa.entry.js +5 -6
  264. package/dist/esm/snk-taskbar.entry.js +183 -126
  265. package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
  266. package/dist/esm/taskbar-elements-ba9d6889.js +149 -0
  267. package/dist/esm/taskbarUtils-cb9db0d9.js +230 -0
  268. package/dist/sankhyablocks/{p-32ad76cc.js → p-097d75b3.js} +2 -2
  269. package/dist/sankhyablocks/p-0dbd53d9.js +1 -0
  270. package/dist/sankhyablocks/p-12579574.entry.js +1 -0
  271. package/dist/sankhyablocks/p-1d31aec3.entry.js +1 -0
  272. package/dist/sankhyablocks/{p-2cc2526e.entry.js → p-1d7d5814.entry.js} +1 -1
  273. package/dist/sankhyablocks/p-24b059ee.entry.js +1 -0
  274. package/dist/sankhyablocks/p-250b273e.entry.js +1 -0
  275. package/dist/sankhyablocks/p-26f1919e.entry.js +1 -0
  276. package/dist/sankhyablocks/p-2a83f20e.entry.js +1 -0
  277. package/dist/sankhyablocks/p-2c4f7fdd.entry.js +1 -0
  278. package/dist/sankhyablocks/p-2ec98523.js +1 -0
  279. package/dist/sankhyablocks/p-449dfe55.entry.js +1 -0
  280. package/dist/sankhyablocks/p-46d7e2de.js +1 -0
  281. package/dist/sankhyablocks/p-4dd574d6.js +1 -0
  282. package/dist/sankhyablocks/p-541c72ec.entry.js +1 -0
  283. package/dist/sankhyablocks/p-58709cf9.js +1 -0
  284. package/dist/sankhyablocks/p-5aeae67f.js +1 -0
  285. package/dist/sankhyablocks/p-5d50f59a.entry.js +1 -0
  286. package/dist/sankhyablocks/p-5ef0e9a8.entry.js +1 -0
  287. package/dist/sankhyablocks/p-6d3bcabf.entry.js +1 -0
  288. package/dist/sankhyablocks/p-6f60df43.js +1 -0
  289. package/dist/sankhyablocks/p-846d8f79.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-e30acdca.entry.js → p-855ccf64.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-885262ce.entry.js +1 -0
  292. package/dist/sankhyablocks/p-8d1ef77a.js +60 -0
  293. package/dist/sankhyablocks/{p-9114e869.js → p-8d81c8d3.js} +2 -2
  294. package/dist/sankhyablocks/p-8f5dd87d.entry.js +1 -0
  295. package/dist/sankhyablocks/p-90037547.js +1 -0
  296. package/dist/sankhyablocks/{p-7150eacf.entry.js → p-9742ea0e.entry.js} +1 -1
  297. package/dist/sankhyablocks/p-9e02a785.js +1 -0
  298. package/dist/sankhyablocks/{p-6564180d.entry.js → p-9e7dc97d.entry.js} +1 -1
  299. package/dist/sankhyablocks/p-a25ab2ff.entry.js +1 -0
  300. package/dist/sankhyablocks/p-a696bbcd.entry.js +1 -0
  301. package/dist/sankhyablocks/{p-88b0797e.entry.js → p-a9012341.entry.js} +2 -2
  302. package/dist/sankhyablocks/p-abcb646d.js +1 -0
  303. package/dist/sankhyablocks/{p-4ff3b494.js → p-af673291.js} +1 -1
  304. package/dist/sankhyablocks/p-bd2a845c.js +1 -0
  305. package/dist/sankhyablocks/p-c4b34e2b.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-7e9f8fa4.js → p-c9440c8a.js} +1 -1
  307. package/dist/sankhyablocks/p-ca3728c0.entry.js +1 -0
  308. package/dist/sankhyablocks/p-cbb8e351.js +7 -0
  309. package/dist/sankhyablocks/p-cd153f71.entry.js +1 -0
  310. package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
  311. package/dist/sankhyablocks/p-ddb160eb.entry.js +1 -0
  312. package/dist/sankhyablocks/p-e5a3711f.js +1 -0
  313. package/dist/sankhyablocks/{p-2b882835.entry.js → p-e737fd5a.entry.js} +1 -1
  314. package/dist/sankhyablocks/{p-362e6e8c.js → p-eac48627.js} +1 -1
  315. package/dist/sankhyablocks/p-ec7c87bb.js +28 -0
  316. package/dist/sankhyablocks/p-fb6e3c65.entry.js +1 -0
  317. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  318. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
  319. package/dist/types/components/snk-attach/snk-attach.d.ts +22 -4
  320. package/dist/types/components/snk-crud/snk-crud.d.ts +28 -10
  321. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +3 -2
  322. package/dist/types/components/snk-crud/subcomponents/snk-entity-search.d.ts +62 -0
  323. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -18
  324. package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
  325. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +8 -0
  326. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
  327. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +16 -0
  328. package/dist/types/components/snk-dynaform/interfaces/PropsCustomEditor.d.ts +4 -0
  329. package/dist/types/components/snk-dynaform/interfaces/PropsCustomRender.d.ts +4 -0
  330. package/dist/types/components/snk-dynaform/subcomponents/CardFormResizeObserver.d.ts +1 -0
  331. package/dist/types/components/snk-dynaform/subcomponents/GuideBuilder.d.ts +14 -0
  332. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.d.ts +169 -0
  333. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.d.ts +108 -0
  334. package/dist/types/components/snk-dynaform-form-config/FormConfigHelper.d.ts +36 -0
  335. package/dist/types/components/snk-dynaform-form-config/SnkFormConfigManager.d.ts +35 -0
  336. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.d.ts +23 -0
  337. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.d.ts +19 -0
  338. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.d.ts +56 -0
  339. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.d.ts +74 -0
  340. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.d.ts +21 -0
  341. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-form-config.d.ts +95 -0
  342. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.d.ts +35 -0
  343. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +1 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +1 -1
  345. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  346. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
  347. package/dist/types/components/snk-grid/snk-grid.d.ts +29 -1
  348. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +7 -0
  349. package/dist/types/components/snk-image-input/snk-image-input.d.ts +1 -0
  350. package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +1 -1
  351. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
  352. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
  353. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
  354. package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
  355. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +32 -21
  356. package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
  357. package/dist/types/components.d.ts +2503 -1188
  358. package/dist/types/lib/@types/index.d.ts +6 -0
  359. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  360. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  361. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +3 -1
  362. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +2 -0
  363. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +1 -0
  364. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
  365. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  366. package/package.json +11 -8
  367. package/react/components.d.ts +14 -0
  368. package/react/components.js +14 -0
  369. package/react/components.js.map +1 -1
  370. package/dist/cjs/SnkMessageBuilder-d9558dba.js +0 -2809
  371. package/dist/cjs/default-filters-a09bf82b.js +0 -8
  372. package/dist/cjs/index-62760a9c.js +0 -49
  373. package/dist/cjs/index-8d94b7e0.js +0 -7
  374. package/dist/cjs/snk-attach.cjs.entry.js +0 -911
  375. package/dist/cjs/snk-default-filter.cjs.entry.js +0 -77
  376. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +0 -61
  377. package/dist/cjs/snk-filter-detail.cjs.entry.js +0 -198
  378. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +0 -408
  379. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +0 -109
  380. package/dist/cjs/snk-image-input.cjs.entry.js +0 -148
  381. package/dist/cjs/snk-personalized-filter.cjs.entry.js +0 -358
  382. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
  383. package/dist/cjs/snk-simple-crud.cjs.entry.js +0 -865
  384. package/dist/cjs/taskbar-elements-a94d4318.js +0 -133
  385. package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
  386. package/dist/esm/SnkMessageBuilder-c0bc4424.js +0 -2807
  387. package/dist/esm/default-filters-50105e43.js +0 -8
  388. package/dist/esm/index-620ac460.js +0 -7
  389. package/dist/esm/index-8acbae97.js +0 -49
  390. package/dist/esm/snk-attach.entry.js +0 -907
  391. package/dist/esm/snk-default-filter.entry.js +0 -73
  392. package/dist/esm/snk-filter-advanced-mode_2.entry.js +0 -56
  393. package/dist/esm/snk-filter-detail.entry.js +0 -194
  394. package/dist/esm/snk-filter-field-search_2.entry.js +0 -403
  395. package/dist/esm/snk-filter-modal-item.entry.js +0 -105
  396. package/dist/esm/snk-image-input.entry.js +0 -144
  397. package/dist/esm/snk-personalized-filter.entry.js +0 -354
  398. package/dist/esm/snk-simple-bar.entry.js +0 -41
  399. package/dist/esm/snk-simple-crud.entry.js +0 -861
  400. package/dist/esm/taskbar-elements-97541bdd.js +0 -130
  401. package/dist/esm/taskbar-processor-3436124c.js +0 -51
  402. package/dist/sankhyablocks/p-07619e85.entry.js +0 -1
  403. package/dist/sankhyablocks/p-0d15b109.entry.js +0 -1
  404. package/dist/sankhyablocks/p-0f3698af.js +0 -1
  405. package/dist/sankhyablocks/p-10cad767.entry.js +0 -1
  406. package/dist/sankhyablocks/p-17653b22.entry.js +0 -1
  407. package/dist/sankhyablocks/p-1a0caadb.js +0 -1
  408. package/dist/sankhyablocks/p-25540da8.js +0 -1
  409. package/dist/sankhyablocks/p-27d6590e.js +0 -1
  410. package/dist/sankhyablocks/p-27e0cd68.entry.js +0 -1
  411. package/dist/sankhyablocks/p-2a356340.entry.js +0 -1
  412. package/dist/sankhyablocks/p-438a225f.entry.js +0 -1
  413. package/dist/sankhyablocks/p-45a830d9.js +0 -1
  414. package/dist/sankhyablocks/p-48c580b9.entry.js +0 -1
  415. package/dist/sankhyablocks/p-4a8d0917.entry.js +0 -1
  416. package/dist/sankhyablocks/p-4cdfa0e4.entry.js +0 -1
  417. package/dist/sankhyablocks/p-4fe8380b.entry.js +0 -1
  418. package/dist/sankhyablocks/p-51833248.js +0 -7
  419. package/dist/sankhyablocks/p-68c1a093.js +0 -1
  420. package/dist/sankhyablocks/p-6a4b21dd.js +0 -1
  421. package/dist/sankhyablocks/p-72d62f22.js +0 -1
  422. package/dist/sankhyablocks/p-73b455e1.entry.js +0 -1
  423. package/dist/sankhyablocks/p-84345e7a.js +0 -1
  424. package/dist/sankhyablocks/p-8bb4e86b.entry.js +0 -1
  425. package/dist/sankhyablocks/p-9c1ff75e.entry.js +0 -1
  426. package/dist/sankhyablocks/p-a9839628.js +0 -26
  427. package/dist/sankhyablocks/p-b25777fa.entry.js +0 -1
  428. package/dist/sankhyablocks/p-b568c1d4.js +0 -1
  429. package/dist/sankhyablocks/p-b9970342.js +0 -60
  430. package/dist/sankhyablocks/p-bdf0077f.js +0 -1
  431. package/dist/sankhyablocks/p-c8043a53.entry.js +0 -1
  432. package/dist/sankhyablocks/p-c860552e.entry.js +0 -1
  433. package/dist/sankhyablocks/p-cc64239c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-cd00a3d1.entry.js +0 -1
  435. package/dist/sankhyablocks/p-e0a6818c.js +0 -1
  436. package/dist/sankhyablocks/p-e0e3914e.entry.js +0 -1
  437. package/dist/sankhyablocks/p-ebce5394.entry.js +0 -1
  438. package/dist/sankhyablocks/p-ef9343c3.entry.js +0 -1
  439. package/dist/sankhyablocks/p-f1110b78.entry.js +0 -1
  440. package/dist/sankhyablocks/p-f1bf7248.entry.js +0 -1
  441. package/dist/sankhyablocks/p-f1d541e9.entry.js +0 -1
  442. package/dist/sankhyablocks/p-f2472d12.entry.js +0 -1
  443. package/dist/sankhyablocks/p-f4184ce7.js +0 -1
@@ -1,861 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h, g as getElement } from './index-04f73a26.js';
2
- import { StringUtils, ApplicationContext, ObjectUtils, Action, DataType, UserInterface, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
- import { CSSVarsUtils, buildFieldSearch } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants-7b422de0.js';
5
- import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
6
- import './DataFetcher-1dd7e8c0.js';
7
- import './ISave-498c4831.js';
8
- import { S as SnkMultiSelectionListDataSource, R as RmPrecisionCustomValueFormatter, b as ContinuousInsertUtils, a as CrudUtils, c as ClientSideExporterProvider } from './SnkMultiSelectionListDataSource-6e9496f0.js';
9
- import { P as PresentationMode } from './index-b40568ff.js';
10
- import '@sankhyalabs/ezui/dist/collection/utils/constants';
11
- import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
12
- import { I as InMemoryLoader } from './dataunit-fetcher-21c43ec7.js';
13
- import './filter-item-type.enum-d45e026f.js';
14
- import { F as FormConfigFetcher } from './form-config-fetcher-fcc7b62f.js';
15
- import { T as TaskbarProcessor } from './taskbar-processor-3436124c.js';
16
- import { C as ConfigStorage } from './ConfigStorage-d15d2014.js';
17
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-86befa68.js';
18
- import { s as store } from './index-ea250be6.js';
19
- import './PrintUtils-3e4ff0f5.js';
20
- import './SnkMessageBuilder-c0bc4424.js';
21
- import './GetSelectedRecordsIDsInfo-9fa41508.js';
22
- import './IFetchDataExporterParams-d73bed3d.js';
23
- import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
24
- import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
25
- import '@sankhyalabs/core/dist/utils/SortingUtils';
26
- import './ResourceIDUtils-a114189a.js';
27
-
28
- const REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "MORE_OPTIONS"];
29
- const REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER", "MORE_OPTIONS"];
30
-
31
- const snkSimpleCrudCss = ".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;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__container--shadow--outline:none;--ez-grid--min-height:var(--snk-simple-crud-grid--min-height)}ez-form.sc-snk-simple-crud{min-height:300px}";
32
-
33
- const SnkSimpleCrud = class {
34
- constructor(hostRef) {
35
- registerInstance(this, hostRef);
36
- this.dataStateChange = createEvent(this, "dataStateChange", 3);
37
- this.dataUnitReady = createEvent(this, "dataUnitReady", 3);
38
- this.actionClick = createEvent(this, "actionClick", 7);
39
- this.formItemsReady = createEvent(this, "formItemsReady", 7);
40
- this.configuratorSave = createEvent(this, "configuratorSave", 7);
41
- this.configuratorCancel = createEvent(this, "configuratorCancel", 7);
42
- this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
43
- this._formConfigFetcher = new FormConfigFetcher();
44
- this._customEditors = new Map();
45
- this._customRenders = new Map();
46
- this._container = undefined;
47
- this._showPopUpGridConfig = false;
48
- this._currentViewMode = VIEW_MODE.GRID;
49
- this._config = undefined;
50
- this._fieldToGetFocus = undefined;
51
- this._customContainerId = `SNK-SIMPLE-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
52
- this.enableLockManagerLoadingComp = false;
53
- this.enableLockManagerTaskbarClick = false;
54
- this.dataState = undefined;
55
- this.dataUnit = undefined;
56
- this.entityName = undefined;
57
- this.mode = SIMPLE_CRUD_MODE.SERVER;
58
- this.gridConfig = undefined;
59
- this.formConfig = undefined;
60
- this._formFields = [];
61
- this._fieldsProps = new Map();
62
- this.enableContinuousInsert = false;
63
- this.multipleSelection = undefined;
64
- this.useCancelConfirm = true;
65
- this.pageSize = 150;
66
- this.resourceID = undefined;
67
- this.enableGridInsert = false;
68
- this.paginationCounterMode = 'auto';
69
- this.taskbarManager = undefined;
70
- this.messagesBuilder = undefined;
71
- this.useEnterLikeTab = false;
72
- this.actionsList = undefined;
73
- this.configName = undefined;
74
- this.showConfiguratorButtons = false;
75
- this.gridLegacyConfigName = undefined;
76
- this.formLegacyConfigName = undefined;
77
- this.ignoreReadOnlyFormFields = false;
78
- this.autoFocus = true;
79
- this.domainMessagesBuilder = undefined;
80
- this.multipleEditionEnabled = true;
81
- this.layoutFormConfig = true;
82
- this.disableGridEdition = false;
83
- this.autoLoad = undefined;
84
- this.outlineMode = false;
85
- }
86
- /**
87
- * @description Registra um editor customizado para campos da grade e do formulário.
88
- * @param {string} fieldName - O nome do campo.
89
- * @param {ICustomEditor} customEditor - A instância do editor customizado.
90
- * @returns {Promise<void>}
91
- */
92
- async addCustomEditor(fieldName, customEditor) {
93
- if (this._grid && this._form) {
94
- this._grid.addCustomEditor(fieldName, customEditor);
95
- this._form.addCustomEditor(fieldName, customEditor);
96
- return;
97
- }
98
- const newCustomEditors = new Map(this._customEditors);
99
- newCustomEditors.set(fieldName, customEditor);
100
- this._customEditors = newCustomEditors;
101
- }
102
- /**
103
- * @description Registra um renderizador customizado para colunas da grade.
104
- * @param {string} fieldName - O nome do campo.
105
- * @param {ICustomRender} customRender - A instância do renderizador customizado.
106
- * @returns {Promise<void>}
107
- */
108
- async addGridCustomRender(fieldName, customRender) {
109
- if (this._grid) {
110
- this._grid.addGridCustomRender(fieldName, customRender);
111
- return;
112
- }
113
- const newCustomRenders = new Map(this._customRenders);
114
- newCustomRenders.set(fieldName, customRender);
115
- this._customRenders = newCustomRenders;
116
- }
117
- async handleResourceIDChanged(newValue, oldValue) {
118
- if (StringUtils.isEmpty(newValue)) {
119
- return;
120
- }
121
- if (newValue === oldValue) {
122
- return;
123
- }
124
- await this.loadFormConfig(true);
125
- await this.loadGridConfig(true);
126
- }
127
- /**
128
- * @description Registra um formatador de valores para uma coluna da grade.
129
- * @param {string} columnName - O nome da coluna.
130
- * @param {ICustomFormatter} customFormatter - A instância do formatador customizado.
131
- * @returns {Promise<void>}
132
- */
133
- async addCustomValueFormatter(columnName, customFormatter) {
134
- this._grid.addCustomValueFormatter(columnName, customFormatter);
135
- }
136
- /**
137
- * @description Remove o formatador de valores de uma coluna da grade.
138
- * @param {string} columnName - O nome da coluna.
139
- * @returns {Promise<void>}
140
- */
141
- async removeCustomValueFormatter(columnName) {
142
- this._grid.removeCustomValueFormatter(columnName);
143
- }
144
- /**
145
- * @description Altera/adiciona uma propriedade nos metadados do campo.
146
- * @param {string} fieldName - O nome do campo.
147
- * @param {string} propName - O nome da propriedade.
148
- * @param {any} value - O valor da propriedade.
149
- * @returns {Promise<void>}
150
- */
151
- async setFieldProp(fieldName, propName, value) {
152
- const newCustomFieldProps = new Map(this._fieldsProps);
153
- const currentProps = this._fieldsProps.get(fieldName);
154
- newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
155
- this._fieldsProps = newCustomFieldProps;
156
- }
157
- loadTaskbarProcessor() {
158
- const taskbarIDs = {};
159
- taskbarIDs[TASKBAR_ID.FORM_REGULAR] = this.getButtons(false, [TaskbarElement.GRID_MODE], true);
160
- taskbarIDs[TASKBAR_ID.GRID_REGULAR] = this.getButtons(false, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]);
161
- taskbarIDs[TASKBAR_ID.FORM_SELECTED] = this.getButtons(true, [TaskbarElement.GRID_MODE], true);
162
- taskbarIDs[TASKBAR_ID.GRID_SELECTED] = this.getGridSelectedButtonsCallBack.bind(this);
163
- taskbarIDs[TASKBAR_ID.FINISH_EDITION] = this.getFinishEditionButtonsCallback.bind(this);
164
- taskbarIDs[TASKBAR_ID.MULTIPLE_EDITION] = [TaskbarElement.CANCEL];
165
- this._taskbarProcessor = new TaskbarProcessor(taskbarIDs);
166
- }
167
- getGridSelectedButtonsCallBack() {
168
- var _a, _b, _c;
169
- if (!this.multipleEditionEnabled || ((_c = (_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.length) === 1) {
170
- return this.getButtons(true, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]);
171
- }
172
- return this.getButtons(true, [TaskbarElement.UPDATE_MULTIPLE, TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]);
173
- }
174
- getFinishEditionButtonsCallback() {
175
- const btns = [TaskbarElement.CANCEL, TaskbarElement.SAVE];
176
- if (this.enableGridInsert && this._currentViewMode !== VIEW_MODE.ATTACHMENT) {
177
- btns.push(this._currentViewMode === VIEW_MODE.GRID ? TaskbarElement.FORM_MODE : TaskbarElement.GRID_MODE);
178
- }
179
- return btns;
180
- }
181
- getButtons(selected, extraButtons, removeRefresh) {
182
- let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
183
- if (removeRefresh || this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
184
- btnList = btnList.filter(item => item !== TaskbarElement.REFRESH);
185
- }
186
- return this.addConfigButton(btnList.concat(extraButtons));
187
- }
188
- addConfigButton(buttons) {
189
- if (this.configName === undefined || (this.configName && this.gridLegacyConfigName)) {
190
- return buttons;
191
- }
192
- return buttons.concat(TaskbarElement.CONFIGURATOR);
193
- }
194
- get application() {
195
- return ApplicationContext.getContextValue("__SNK__APPLICATION__");
196
- }
197
- /**
198
- * @description Usado para alternar a visão entre GRID e FORM externamente.
199
- * @param {VIEW_MODE} view - A visão para a qual navegar.
200
- * @returns {Promise<void>}
201
- */
202
- async goToView(view) {
203
- this._currentViewMode = view;
204
- if (this._viewStack) {
205
- if (view === VIEW_MODE.GRID)
206
- this.dataUnit.isMultipleEdition = false;
207
- this._viewStack.show(view);
208
- }
209
- if (view === VIEW_MODE.GRID) {
210
- requestAnimationFrame(() => this.focusToGrid());
211
- }
212
- if (view === VIEW_MODE.FORM) {
213
- requestAnimationFrame(() => this.focusToForm());
214
- }
215
- }
216
- actionClickListener(evt) {
217
- this.handleTaskbarAction(evt.detail);
218
- evt.stopPropagation();
219
- }
220
- handleTaskbarAction(action) {
221
- switch (action) {
222
- case TaskbarElement.CONFIGURATOR:
223
- this._snkConfigurator.open();
224
- break;
225
- case TaskbarElement.GRID_MODE:
226
- this.goToView(VIEW_MODE.GRID);
227
- break;
228
- case TaskbarElement.FORM_MODE:
229
- this.goToView(VIEW_MODE.FORM);
230
- break;
231
- case TaskbarElement.UPDATE_MULTIPLE:
232
- this.dataUnit.isMultipleEdition = true;
233
- this.goToView(VIEW_MODE.FORM);
234
- break;
235
- }
236
- }
237
- async onChangeEntityName(newValue) {
238
- if (this.dataUnit)
239
- return;
240
- const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
241
- this.dataUnit = await application.getDataUnit(newValue, null, null, this.configName);
242
- }
243
- onModeChange() {
244
- if (this.mode == SIMPLE_CRUD_MODE.IN_MEMORY) {
245
- this.initInMemoryDataUnit();
246
- }
247
- }
248
- observeDataState(newValue, oldValue) {
249
- this.handleDataStateChange(newValue, oldValue);
250
- }
251
- async observeFormLegacy(newValue, oldValue) {
252
- await this.handleUpdateFormLegacyConfig(newValue, oldValue);
253
- }
254
- async observeGridLegacy(newValue, oldValue) {
255
- await this.handleUpdateGridLegacyConfig(newValue, oldValue);
256
- }
257
- async handleDataStateChange(newValue, oldValue) {
258
- if (ObjectUtils.objectToString(oldValue) != ObjectUtils.objectToString(newValue)) {
259
- this.dataStateChange.emit(newValue);
260
- }
261
- await this.processRmPrecision();
262
- }
263
- async processRmPrecision() {
264
- var _a, _b;
265
- const fieldsWithRmPrecision = await this._snkDataUnit.getFieldsWithRmPrecision();
266
- for (const field of fieldsWithRmPrecision || []) {
267
- if (!field) {
268
- continue;
269
- }
270
- const rmPrecision = (_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata) === null || _b === void 0 ? void 0 : _b.getProp('rm_precision', field);
271
- if (!rmPrecision && rmPrecision !== 0) {
272
- continue;
273
- }
274
- await this.setFieldProp(field, 'precision', rmPrecision);
275
- await this.setFieldProp(field, 'prettyPrecision', rmPrecision);
276
- }
277
- this._rmPrecisionCustomValueFormatter.setDataState(this.dataState);
278
- }
279
- async handleUpdateGridLegacyConfig(newValue, oldValue) {
280
- if (newValue == undefined || newValue == oldValue) {
281
- return;
282
- }
283
- if (!this._gridConfigAlreadyLoaded) {
284
- return;
285
- }
286
- await this.loadGridConfig(true);
287
- }
288
- async handleUpdateFormLegacyConfig(newValue, oldValue) {
289
- if (newValue == undefined || newValue == oldValue) {
290
- return;
291
- }
292
- if (!this._formConfigAlreadyLoaded) {
293
- return;
294
- }
295
- await this.loadFormConfig(true);
296
- }
297
- async openConfig(viewMode) {
298
- await this._snkConfigurator.close();
299
- if (viewMode === VIEW_MODE.GRID) {
300
- await this.openGridConfig();
301
- }
302
- else if (viewMode === VIEW_MODE.FORM) {
303
- await this.openFormConfig();
304
- }
305
- }
306
- async openGridConfig() {
307
- var _a, _b, _c, _d;
308
- const originalColumns = (_b = await ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getColumns())) !== null && _b !== void 0 ? _b : [];
309
- const gridColumns = (_d = await ((_c = this._grid) === null || _c === void 0 ? void 0 : _c.getColumnsState())) !== null && _d !== void 0 ? _d : [];
310
- this._snkGridConfig.columns = gridColumns.filter(c => c.name);
311
- this._snkGridConfig.originalColumns = originalColumns.filter(c => c.name);
312
- this._snkGridConfig.selectedIndex = 0;
313
- this._showPopUpGridConfig = true;
314
- }
315
- async openFormConfig() {
316
- if (this.formLegacyConfigName || this.configName) {
317
- await this._snkSimpleFormConfig.show();
318
- }
319
- }
320
- addGridLegacyConfigName() {
321
- if (this.gridLegacyConfigName && this.configName) {
322
- ConfigStorage.addGridLegacyConfig(this.configName, this.gridLegacyConfigName);
323
- }
324
- }
325
- loadGridConfig(forceUpdate) {
326
- if (this.configName === undefined) {
327
- return;
328
- }
329
- if ((this.gridConfig != undefined || this._gridConfigAlreadyLoaded) && !forceUpdate) {
330
- return;
331
- }
332
- this.addGridLegacyConfigName();
333
- this._gridConfigAlreadyLoaded = true;
334
- return new Promise((accept, reject) => {
335
- ConfigStorage.loadGridConfig(this.configName, this.resolveResourceID())
336
- .then(config => {
337
- this.setGridConfig(config);
338
- accept();
339
- })
340
- .catch(reason => {
341
- reject(reason);
342
- });
343
- });
344
- }
345
- formConfigIsLoaded() {
346
- return this.formConfig != undefined || this._formConfigAlreadyLoaded;
347
- }
348
- async loadFormConfig(forceLoad = false, forceSetNewConfig = false) {
349
- if (this.configName === undefined) {
350
- return;
351
- }
352
- if (this._formConfigManager == undefined) {
353
- this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID(), undefined, this.dataUnit);
354
- this._formConfigManager.setConfig(this.formConfig);
355
- }
356
- if (this.formConfigIsLoaded() && !forceLoad) {
357
- return;
358
- }
359
- this._formConfigAlreadyLoaded = true;
360
- let loadedLegacyConfig = await this._formConfigFetcher.fetchLegacyConfigurableForm(this.formLegacyConfigName);
361
- if (loadedLegacyConfig != undefined) {
362
- this._formConfigManager.setConfig(loadedLegacyConfig);
363
- this.setFormConfig(loadedLegacyConfig, forceSetNewConfig);
364
- return;
365
- }
366
- this.setFormConfig(await this._formConfigManager.loadConfig());
367
- }
368
- async componentWillRender() {
369
- this.loadTaskbarProcessor();
370
- this._resourceID = await this.application.getResourceID();
371
- this.dataExporterProviderStore();
372
- this.dataExporterProviderStore();
373
- this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.getTaskBarDisabledButtons());
374
- if (this.configName === undefined) {
375
- return;
376
- }
377
- if (this.gridConfig != undefined || this._gridConfigAlreadyLoaded) {
378
- return;
379
- }
380
- await this.addGridLegacyConfigName();
381
- await this.loadGridConfig();
382
- await this.loadFormConfig();
383
- }
384
- componentDidRender() {
385
- this._rmPrecisionCustomValueFormatter.setGrid(this._grid);
386
- this.addGridCustomValueFormattters();
387
- this.setFieldsProps();
388
- this.setCustomRenders();
389
- this.setCustomEditors();
390
- }
391
- componentWillLoad() {
392
- this.processMetadata();
393
- this.onModeChange();
394
- this.configDatasource();
395
- this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
396
- this._continuousInsertUtils = new ContinuousInsertUtils(this.application, this.resolveResourceID(), this.configName);
397
- if (this.enableGridInsert) {
398
- this._continuousInsertUtils.getConfig().then(value => this.enableContinuousInsert = value);
399
- }
400
- }
401
- componentDidLoad() {
402
- CSSVarsUtils.applyVarsGrid(this._element, this._grid);
403
- this.initKeyboardManager();
404
- this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
405
- }
406
- async dataUnitActionHandler(action) {
407
- if (action.type === Action.EDITION_CANCELED || action.type === Action.DATA_SAVED) {
408
- if (this.dataUnit.isMultipleEdition) {
409
- this.goToView(VIEW_MODE.GRID);
410
- }
411
- }
412
- }
413
- getMessage(key, params) {
414
- var _a;
415
- return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params);
416
- }
417
- disconnectedCallback() {
418
- var _a;
419
- (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
420
- }
421
- setCustomRenders() {
422
- if (!this._grid) {
423
- return;
424
- }
425
- for (const [fieldName, customRender] of this._customRenders) {
426
- this._grid.addGridCustomRender(fieldName, customRender);
427
- this._customRenders.delete(fieldName);
428
- }
429
- }
430
- setCustomEditors() {
431
- if (!this._grid || !this._form) {
432
- return;
433
- }
434
- for (const [fieldName, customEditor] of this._customEditors) {
435
- this._grid.addCustomEditor(fieldName, customEditor);
436
- this._form.addCustomEditor(fieldName, customEditor);
437
- this._customEditors.delete(fieldName);
438
- }
439
- }
440
- configDatasource() {
441
- this._multiSelectionListDataSource.setApplication(this.application);
442
- this._multiSelectionListDataSource.setDataUnit(this.dataUnit);
443
- }
444
- setFieldsProps() {
445
- if (!this._form) {
446
- return;
447
- }
448
- for (const [fieldName, props] of this._fieldsProps) {
449
- for (const prop in props) {
450
- this._form.setFieldProp(fieldName, prop, props[prop]);
451
- }
452
- this._fieldsProps.delete(fieldName);
453
- }
454
- }
455
- getTaskBarId() {
456
- var _a, _b;
457
- if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
458
- return TASKBAR_ID.FINISH_EDITION;
459
- }
460
- if (this.dataUnit.isMultipleEdition) {
461
- return TASKBAR_ID.MULTIPLE_EDITION;
462
- }
463
- if (((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.selectionInfo) &&
464
- !this.dataState.selectionInfo.isAllRecords() &&
465
- this.dataState.selectionInfo.length > 0) {
466
- return this._currentViewMode === VIEW_MODE.GRID ? TASKBAR_ID.GRID_SELECTED : TASKBAR_ID.FORM_SELECTED;
467
- }
468
- return this._currentViewMode === VIEW_MODE.GRID ? TASKBAR_ID.GRID_REGULAR : TASKBAR_ID.FORM_REGULAR;
469
- }
470
- initInMemoryDataUnit() {
471
- this._inMemoryLoader = new InMemoryLoader(this._metadata, undefined, { autoLoad: this.autoLoad });
472
- this.dataUnit = this._inMemoryLoader.dataUnit;
473
- this.dataUnitReady.emit(this.dataUnit);
474
- }
475
- /**
476
- * @description Define os metadados do DataUnit.
477
- * @param {UnitMetadata} metadata - Os metadados a serem definidos.
478
- * @returns {Promise<void>}
479
- */
480
- setMetadata(metadata) {
481
- if (this._inMemoryLoader) {
482
- this._inMemoryLoader.metadata = metadata;
483
- }
484
- else if (this.dataUnit) {
485
- this.dataUnit.metadata = metadata;
486
- }
487
- return Promise.resolve();
488
- }
489
- /**
490
- * @description Define os registros do DataUnit.
491
- * @param {Array<Record>} records - Os registros a serem definidos.
492
- * @returns {Promise<void>}
493
- */
494
- setRecords(records) {
495
- if (this._inMemoryLoader) {
496
- this._inMemoryLoader.records = records;
497
- }
498
- else if (this.dataUnit) {
499
- this.dataUnit.records = records;
500
- }
501
- return Promise.resolve();
502
- }
503
- /**
504
- * @description Obtém os registros do DataUnit.
505
- * @returns {Promise<Array<Record>>} Uma promessa que resolve com a lista de registros.
506
- */
507
- getRecords() {
508
- return Promise.resolve(this.dataUnit.records);
509
- }
510
- /**
511
- * @description Usado para abrir o configurador do CRUD.
512
- * @returns {Promise<void>}
513
- */
514
- async openConfigurator() {
515
- var _a;
516
- (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.open();
517
- }
518
- /**
519
- * @description Usado para fechar o configurador do CRUD.
520
- * @returns {Promise<void>}
521
- */
522
- async closeConfigurator() {
523
- var _a;
524
- (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.close();
525
- }
526
- /**
527
- * @description Atualiza a configuração do formulário.
528
- * @returns {Promise<void>}
529
- */
530
- async updateConfig() {
531
- if (this._formConfigManager == undefined) {
532
- this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
533
- }
534
- this._formConfigManager.setConfig(this.formConfig);
535
- }
536
- processMetadata() {
537
- const fieldsMetadataElem = this._element.querySelectorAll("snk-field-metadata");
538
- const fieldMetadata = [];
539
- const formConfig = { fields: [], emptyConfig: false };
540
- fieldsMetadataElem.forEach(fieldElem => {
541
- const field = {
542
- name: fieldElem.getAttribute("name") || fieldElem.getAttribute("label"),
543
- label: fieldElem.getAttribute("label"),
544
- dataType: DataType[fieldElem.getAttribute("dataType")] || DataType.TEXT,
545
- userInterface: UserInterface[fieldElem.getAttribute("userInterface")] || UserInterface.SHORTTEXT,
546
- readOnly: fieldElem.getAttribute("readOnly") == "true",
547
- required: fieldElem.getAttribute("required") == "true",
548
- tab: fieldElem.getAttribute("tab") || undefined,
549
- visible: fieldElem.getAttribute("visible") != "false"
550
- };
551
- const fieldConfig = { name: field.name, tab: field.tab, visible: field.visible };
552
- formConfig.fields.push(fieldConfig);
553
- fieldMetadata.push(field);
554
- });
555
- if (fieldMetadata.length > 0) {
556
- if (!this.formConfig) {
557
- this.formConfig = formConfig;
558
- }
559
- this._metadata = {
560
- name: "SimpleCrud",
561
- label: "SimpleCrud",
562
- fields: fieldMetadata
563
- };
564
- }
565
- }
566
- addGridCustomValueFormattters() {
567
- var _a, _b, _c;
568
- const metadataFields = ((_a = this._metadata) === null || _a === void 0 ? void 0 : _a.fields) || ((_c = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.fields);
569
- if (!metadataFields) {
570
- return;
571
- }
572
- const fieldsWithRmPrecision = [];
573
- metadataFields.forEach((field) => {
574
- var _a;
575
- if (((_a = field.properties) === null || _a === void 0 ? void 0 : _a.rm_precision) && !fieldsWithRmPrecision.includes(field.name)) {
576
- fieldsWithRmPrecision.push(field.name);
577
- }
578
- });
579
- fieldsWithRmPrecision.forEach(field => {
580
- this.addCustomValueFormatter(field, this._rmPrecisionCustomValueFormatter);
581
- });
582
- }
583
- onDataStateChange(evt) {
584
- this.dataState = Object.assign({}, evt.detail);
585
- }
586
- getTaskBarDisabledButtons() {
587
- var _a, _b, _c, _d, _e, _f;
588
- const disabledButtons = [];
589
- if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasNext)) {
590
- disabledButtons.push(TaskbarElement.NEXT);
591
- }
592
- if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasPrevious)) {
593
- disabledButtons.push(TaskbarElement.PREVIOUS);
594
- }
595
- if ((_d = (_c = this.dataState) === null || _c === void 0 ? void 0 : _c.selectionInfo) === null || _d === void 0 ? void 0 : _d.isEmpty()) {
596
- disabledButtons.push(TaskbarElement.FORM_MODE);
597
- }
598
- if (((_f = (_e = this.dataState) === null || _e === void 0 ? void 0 : _e.selectionInfo) === null || _f === void 0 ? void 0 : _f.length) > 1) {
599
- disabledButtons.push(TaskbarElement.CLONE);
600
- }
601
- return disabledButtons;
602
- }
603
- handleCancelEdit() {
604
- var _a;
605
- if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.recordsIsEmpty) {
606
- this.goToView(VIEW_MODE.GRID);
607
- this.dataUnit.clearSelection();
608
- }
609
- }
610
- handleConfiguratorEvent(evt, type) {
611
- evt.stopImmediatePropagation();
612
- if (type === 'SAVE') {
613
- this.configuratorSave.emit();
614
- return;
615
- }
616
- this.configuratorCancel.emit();
617
- }
618
- onSelectField(option) {
619
- if (option == undefined) {
620
- return;
621
- }
622
- this._fieldToGetFocus = option.value;
623
- }
624
- getFieldSearch(splitButton, item) {
625
- if (this._fieldSearch != undefined) {
626
- return this._fieldSearch;
627
- }
628
- this._splitButtonForm = splitButton;
629
- this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
630
- return this._fieldSearch;
631
- }
632
- getFormFields() {
633
- var _a, _b;
634
- return (_b = (_a = this.formConfig) === null || _a === void 0 ? void 0 : _a.fields) !== null && _b !== void 0 ? _b : this._formFields;
635
- }
636
- handleFormSetFields(fields) {
637
- if (!ObjectUtils.equals(this._formFields, fields)) {
638
- this._formFields = fields !== null && fields !== void 0 ? fields : [];
639
- }
640
- }
641
- fieldsOptionLoader(argument) {
642
- const searchTerm = argument === null || argument === void 0 ? void 0 : argument.toLowerCase();
643
- const allFields = this.getFormFields().map(field => { var _a; return (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(field.name); });
644
- const filteredFields = allFields.filter(field => {
645
- var _a, _b;
646
- return ((_a = field.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm)) ||
647
- ((_b = field.label) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchTerm));
648
- });
649
- const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
650
- return Promise.resolve(options);
651
- }
652
- isGridInsertActive() {
653
- return this.enableGridInsert && this.dataUnit.hasNewRecord();
654
- }
655
- getColumnSearch(splitButton, item) {
656
- if (this._columnSearch != undefined) {
657
- return this._columnSearch;
658
- }
659
- this._splitButton = splitButton;
660
- this._columnSearch = buildFieldSearch(item, ({ argument }) => new Promise(accept => {
661
- this._grid.filterColumns(argument).then((columns) => {
662
- accept(columns
663
- .filter(column => !column.hidden)
664
- .map(column => ({ label: column.label, value: column.name })));
665
- });
666
- }), (option) => {
667
- if (option != undefined) {
668
- this._grid.locateColumn(option.value);
669
- }
670
- });
671
- return this._columnSearch;
672
- }
673
- getActionsList() {
674
- const hardList = [];
675
- if (this.enableGridInsert) {
676
- hardList.push(this._continuousInsertUtils.actionContinuousInsert(this.enableContinuousInsert, () => {
677
- this.enableContinuousInsert = !this.enableContinuousInsert;
678
- this._continuousInsertUtils.handleSaveConfig(this.enableContinuousInsert);
679
- }));
680
- }
681
- if (this.isGridInsertActive())
682
- return hardList;
683
- if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
684
- const taskbarID = this.getTopTaskBarId();
685
- return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
686
- }
687
- return hardList.concat(this.actionsList);
688
- }
689
- getSettingsListGrid() {
690
- const hardList = [{
691
- value: StringUtils.generateUUID(),
692
- label: this.getMessage("snkSimpleCrud.findColumn"),
693
- disableCloseOnSelect: true,
694
- eagerInitialize: true,
695
- itemBuilder: (splitButton, item) => this.getColumnSearch(splitButton, item)
696
- }];
697
- return hardList;
698
- }
699
- getSettingsListForm() {
700
- const hardList = [{
701
- value: StringUtils.generateUUID(),
702
- label: this.getMessage("snkSimpleCrud.findFields"),
703
- disableCloseOnSelect: true,
704
- eagerInitialize: true,
705
- itemBuilder: (splitButton, item) => this.getFieldSearch(splitButton, item)
706
- }];
707
- return hardList;
708
- }
709
- getTopTaskBarId() {
710
- var _a;
711
- return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? `snkGridTopTaskbar.finish_edition${PresentationMode.PRIMARY}` :
712
- `snkGridTopTaskbar.regular${PresentationMode.PRIMARY}`;
713
- }
714
- clearFieldToFocusHandler() {
715
- this._fieldToGetFocus = undefined;
716
- }
717
- gridConfigChangeHandler(evt) {
718
- evt.stopPropagation();
719
- if (!this.configName)
720
- return;
721
- const config = evt.detail;
722
- ConfigStorage.saveGridConfig(config, this.configName, this.resolveResourceID());
723
- }
724
- modalConfigChangeHandler(evt) {
725
- const config = evt.detail;
726
- this._grid.setColumnsState(config.columns)
727
- .then(() => {
728
- this.setGridConfig(config);
729
- this.closeGridConfig();
730
- this.dataExporterProviderStore();
731
- });
732
- evt.stopPropagation();
733
- }
734
- async dataExporterProviderStore() {
735
- if (this.dataUnit == undefined) {
736
- return;
737
- }
738
- if (this._grid == undefined) {
739
- return;
740
- }
741
- const dataExporterProvider = new ClientSideExporterProvider(this.dataUnit, this._grid);
742
- store.set("exporterProviders", Object.assign(Object.assign({}, store.get("exporterProviders")), { [this.getDataExporterStoreKey()]: dataExporterProvider }));
743
- }
744
- getDataExporterStoreKey() {
745
- return `SnkSimpleCrudDataExporter:${this.configName == undefined ? this.dataUnit.name : this.configName}`;
746
- }
747
- setGridConfig(config) {
748
- this.gridConfig = config;
749
- CrudUtils.assertDefaultSorting(this.gridConfig, this.dataUnit);
750
- }
751
- setFormConfig(config, forceUpdate) {
752
- if (this.formConfig && !forceUpdate)
753
- return;
754
- this.formConfig = config;
755
- }
756
- closeGridConfig() {
757
- this._showPopUpGridConfig = false;
758
- }
759
- getPageSize() {
760
- if (this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
761
- return 0;
762
- }
763
- if (this.pageSize == undefined) {
764
- return 150;
765
- }
766
- return this.pageSize;
767
- }
768
- resolveResourceID() {
769
- return StringUtils.isEmpty(this.resourceID) ? this._resourceID : this.resourceID;
770
- }
771
- getFormConfig() {
772
- var _a;
773
- const configFromManager = (_a = this._formConfigManager) === null || _a === void 0 ? void 0 : _a.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
774
- if (!this.configName && !configFromManager) {
775
- return this.formConfig;
776
- }
777
- return configFromManager;
778
- }
779
- updateFormConfig() {
780
- let newConfig = this.formConfig;
781
- if (this.formLegacyConfigName == undefined) {
782
- newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
783
- }
784
- this.setFormConfig(newConfig, true);
785
- if (this._formConfigManager == undefined) {
786
- this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
787
- }
788
- this._formConfigManager.setConfig(this.formConfig);
789
- }
790
- handleDataUnitOnInsertionMode() {
791
- if (this.enableGridInsert)
792
- return;
793
- this.goToView(VIEW_MODE.FORM);
794
- }
795
- async initKeyboardManager() {
796
- var _a;
797
- this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
798
- const dataUnit = this.dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
799
- if (dataUnit == undefined) {
800
- return;
801
- }
802
- this._keyboardManager
803
- .bind("F7", () => dataUnit.saveData(), { description: this.getMessage("snkSimpleCrud.keyboardShortcuts.saveData"), element: this._element })
804
- .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: this.getMessage("snkSimpleCrud.keyboardShortcuts.addRecord"), element: this._element })
805
- .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: this.getMessage("snkSimpleCrud.keyboardShortcuts.removeRecord"), element: this._element })
806
- .bind("Escape", () => {
807
- if (dataUnit.isDirty()) {
808
- dataUnit.cancelEdition();
809
- }
810
- }, {
811
- debounceTime: 1000,
812
- description: this.getMessage("snkSimpleCrud.keyboardShortcuts.cancelAction"), element: this._element
813
- });
814
- }
815
- async handleFormConfigSaved() {
816
- await this.loadFormConfig(true, true);
817
- }
818
- focusToGrid() {
819
- const gridElement = this._grid;
820
- gridElement.focus();
821
- }
822
- focusToForm() {
823
- const formElement = this._form;
824
- formElement.focus();
825
- }
826
- renderTaskbarContent(layout) {
827
- var _a;
828
- return (h("snk-taskbar", { class: `ez-box--no-outline ez-box ${this._currentViewMode === VIEW_MODE.FORM ? (this.outlineMode ? 'ez-box--outline' : 'ez-box--shadow-xsmall') + ' ez-padding--small' : ''}`, dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, actionsList: this.getActionsList(), actionsSettingsList: layout === VIEW_MODE.GRID ? this.getSettingsListGrid() : this.getSettingsListForm(), disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, "data-exporter-store-key": this.getDataExporterStoreKey(), slot: "leftButtons", presentationMode: PresentationMode.SECONDARY, tabindex: "0" }, h("slot", { name: "TASKBAR_CUSTOM_ELEMENTS" })));
829
- }
830
- /* istanbul ignore next */
831
- render() {
832
- var _a;
833
- if (this.dataUnit == undefined) {
834
- return;
835
- }
836
- return (h("snk-data-unit", { ref: ref => this._snkDataUnit = ref, class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), pageSize: this.getPageSize(), onInsertionMode: this.handleDataUnitOnInsertionMode.bind(this), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail, onDataUnitFieldsHidded: this.updateFormConfig.bind(this), domainMessagesBuilder: this.domainMessagesBuilder }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: `ez-box ez-box--no-outline ${this.outlineMode ? 'ez-box--outline' : 'ez-box--shadow'} simple-crud__container-section`, ref: (ref) => this._container = ref, tabindex: "0" }, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { class: "ez-margin-bottom--large ez-box--no-outline", ref: ref => this._grid = ref, dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), onConfigChange: evt => this.gridConfigChangeHandler(evt), columnfilterDataSource: this.dataUnit.name && this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
837
- ? undefined
838
- : this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this.enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, tabindex: "0", paginationCounterMode: this.paginationCounterMode, canEdit: !this.disableGridEdition }, this.renderTaskbarContent(VIEW_MODE.GRID), h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, this.renderTaskbarContent(VIEW_MODE.FORM), h("ez-form", { ref: (ref) => this._form = ref, class: `ez-margin-top--large ez-box--no-outline`, dataUnit: this.dataUnit, config: this.getFormConfig(), fieldToFocus: this._fieldToGetFocus, onEzFormSetFields: (evt) => this.handleFormSetFields(evt.detail), onEzFormRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this), elementFocusSearchField: this._container, tabindex: "0" }), h("slot", { name: "snkSimpleCrudFormFooter" }), h("snk-simple-form-config", { ref: (ref) => this._snkSimpleFormConfig = ref, dataUnit: this.dataUnit, onSnkConfigSaved: this.handleFormConfigSaved.bind(this), configName: (_a = this.formLegacyConfigName) !== null && _a !== void 0 ? _a : this.configName, messagesBuilder: this.messagesBuilder })), this.messagesBuilder && h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.goToView(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showConfiguratorButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this.resolveResourceID(), customContainerId: this._customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this._customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }))), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._showPopUpGridConfig, onEzClosePopup: () => 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), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resolveResourceID() }))));
839
- }
840
- get _element() { return getElement(this); }
841
- static get watchers() { return {
842
- "resourceID": ["handleResourceIDChanged"],
843
- "entityName": ["onChangeEntityName"],
844
- "mode": ["onModeChange"],
845
- "dataState": ["observeDataState"],
846
- "formLegacyConfigName": ["observeFormLegacy"],
847
- "gridLegacyConfigName": ["observeGridLegacy"]
848
- }; }
849
- };
850
- var TASKBAR_ID;
851
- (function (TASKBAR_ID) {
852
- TASKBAR_ID["FORM_REGULAR"] = "snkSimpleCrudTaskbar.form_regular";
853
- TASKBAR_ID["GRID_REGULAR"] = "snkSimpleCrudTaskbar.grid_regular";
854
- TASKBAR_ID["FORM_SELECTED"] = "snkSimpleCrudTaskbar.form_selected";
855
- TASKBAR_ID["GRID_SELECTED"] = "snkSimpleCrudTaskbar.grid_selected";
856
- TASKBAR_ID["FINISH_EDITION"] = "snkSimpleCrudTaskbar.finish_edition";
857
- TASKBAR_ID["MULTIPLE_EDITION"] = "snkSimpleCrudTaskbar.multiple_edition";
858
- })(TASKBAR_ID || (TASKBAR_ID = {}));
859
- SnkSimpleCrud.style = snkSimpleCrudCss;
860
-
861
- export { SnkSimpleCrud as snk_simple_crud };