@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
@@ -0,0 +1,1015 @@
1
+ import { Action as DUAction, KeyboardManager, StringUtils } from '@sankhyalabs/core';
2
+ import { Host, forceUpdate, h } from '@stencil/core';
3
+ import { SnkFormConfigManager } from '../../../snk-dynaform-form-config/SnkFormConfigManager';
4
+ import { FormMetadata, buildFormMetadata } from "@sankhyalabs/ezui/dist/collection/utils/form";
5
+ import { PresentationMode } from '../../../../lib';
6
+ import { TaskbarElement } from '../../../snk-taskbar/elements/taskbar-elements';
7
+ import { VIEW_MODE } from '../../../../lib/utils/constants';
8
+ import { SnkDynaformGuidesViewer } from '../snk-dynaform-guides-view/snk-dynaform-guides-view';
9
+ import { SnkMessageBuilder } from '../../../../lib/message/SnkMessageBuilder';
10
+ import { buildFieldSearch, SHORTCUT_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
11
+ import SimpleTaskbarProcessor from '../../../snk-taskbar/processor/simple-taskbar-processor';
12
+ import { DEFAULT_TASKBAR_BUTTONS, getTopTaskBarId } from '../../../snk-crud/utils/taskbarUtils';
13
+ export class SnkDynaformDetailView {
14
+ constructor() {
15
+ this._taskbarProcessor = new SimpleTaskbarProcessor(DEFAULT_TASKBAR_BUTTONS);
16
+ /** Evita repetir a carga inicial da grade no mesmo mount da aba. */
17
+ this._didInitialLoad = false;
18
+ this._currentView = 0;
19
+ this.attachmentRegisterKey = undefined;
20
+ this._fieldToGetFocus = undefined;
21
+ this._hasToCreateFieldSearch = true;
22
+ this._selectedSheet = undefined;
23
+ this._internalErrorTabs = new Set();
24
+ this._selectedRecordPKDisplay = undefined;
25
+ this.formConfigManager = undefined;
26
+ this.dataUnitName = undefined;
27
+ this.resourceID = undefined;
28
+ this.entityName = undefined;
29
+ this.label = undefined;
30
+ this.dataUnit = undefined;
31
+ this.selectedForm = undefined;
32
+ this.dataState = undefined;
33
+ this.messagesBuilder = undefined;
34
+ this.canEdit = true;
35
+ this.taskbarCustomContainerId = undefined;
36
+ this.customEditors = undefined;
37
+ this.customRenders = undefined;
38
+ this.presentationMode = PresentationMode.SECONDARY;
39
+ }
40
+ observeDataUnit(newDataUnit, oldDataUnit) {
41
+ newDataUnit === null || newDataUnit === void 0 ? void 0 : newDataUnit.subscribe(this.dataUnitActionHandler.bind(this));
42
+ oldDataUnit === null || oldDataUnit === void 0 ? void 0 : oldDataUnit.unsubscribe(this.dataUnitActionHandler);
43
+ }
44
+ observerDataState(newValue, oldValue) {
45
+ const openInsertion = !(oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) && (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode);
46
+ const closeInsertion = (oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) && !(newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode);
47
+ if (openInsertion || closeInsertion) {
48
+ this.loadMetadata();
49
+ }
50
+ if (this._formMetadata == undefined) {
51
+ return;
52
+ }
53
+ if (!this.selectedSheetIsDetail()) {
54
+ if (openInsertion) {
55
+ setTimeout(() => {
56
+ this.changeViewMode(VIEW_MODE.FORM);
57
+ }, 0);
58
+ }
59
+ if (closeInsertion) {
60
+ this.changeViewMode(VIEW_MODE.GRID);
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Muda o modo de visualização do componente entre VIEW_MODE.GRID e VIEW_MODE.FORM
66
+ * @param mode - Novo modo que o componente deve ser apresentado.
67
+ */
68
+ async changeViewMode(mode) {
69
+ if (!this._viewStack) {
70
+ return;
71
+ }
72
+ this._viewStack.show(mode);
73
+ this._currentView = mode;
74
+ }
75
+ /**
76
+ * Abre o configurador de grid.
77
+ */
78
+ async configGrid() {
79
+ if (this._snkGrid) {
80
+ this._snkGrid.showConfig();
81
+ }
82
+ }
83
+ async showUp() {
84
+ if (this._snkFormView) {
85
+ this._snkFormView.showUp();
86
+ }
87
+ if (this._snkGrid) {
88
+ this._snkGrid.scrollIntoView({ behavior: "smooth", block: "start" });
89
+ }
90
+ }
91
+ /**
92
+ * Registra um editor customizado para campos da grade e formulário.
93
+ */
94
+ async addCustomEditor(fieldName, customEditor) {
95
+ var _a, _b;
96
+ const detailContext = this.normalizeDataUnitName();
97
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.addCustomEditor(fieldName, customEditor, detailContext);
98
+ (_b = this._snkFormView) === null || _b === void 0 ? void 0 : _b.addCustomEditor(fieldName, customEditor, detailContext);
99
+ }
100
+ async observerPropsCustomEditor(newValue) {
101
+ for (const fieldName in newValue) {
102
+ await this.addCustomEditor(fieldName, newValue[fieldName]);
103
+ }
104
+ }
105
+ /**
106
+ * Registra um render customizado para colunas da grid.
107
+ */
108
+ async addGridCustomRender(fieldName, customRender) {
109
+ var _a;
110
+ const detailContext = this.normalizeDataUnitName();
111
+ await ((_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.addGridCustomRender(fieldName, customRender, detailContext));
112
+ }
113
+ onContentCardChanged(evt) {
114
+ SnkDynaformGuidesViewer.updateContentCard(evt.detail.formName, evt.detail.cardConfig, evt.detail.propertyChanged, this.formConfigManager).then(() => forceUpdate(this));
115
+ evt.stopPropagation();
116
+ }
117
+ async observeCustomRenders(newValue) {
118
+ for (const field in newValue) {
119
+ const customRender = newValue[field];
120
+ await this.addGridCustomRender(field, customRender);
121
+ }
122
+ }
123
+ loadMetadata() {
124
+ if (!this.dataUnit || !this.formConfigManager) {
125
+ return;
126
+ }
127
+ if (!this.formConfigManager.isLoaded) {
128
+ return;
129
+ }
130
+ const formConfig = this.formConfigManager.getConfig(this.dataUnit);
131
+ this._formMetadata = buildFormMetadata(formConfig == undefined || formConfig.fields.length === 0 ? undefined : formConfig, this.dataUnit, true);
132
+ this.initSelectedSheet();
133
+ }
134
+ initSelectedSheet() {
135
+ if (!this._formMetadata) {
136
+ this._selectedSheet = undefined;
137
+ return;
138
+ }
139
+ const sheets = this._formMetadata.getAllSheets();
140
+ if (!sheets || sheets.size === 0) {
141
+ this._selectedSheet = undefined;
142
+ return;
143
+ }
144
+ // Mantém a aba atual caso ela ainda exista e não seja a área principal.
145
+ if (this._selectedSheet && this._selectedSheet.name !== SnkDynaformDetailView.MAIN_TAB) {
146
+ const current = sheets.get(this._selectedSheet.name);
147
+ if (current) {
148
+ this._selectedSheet = current;
149
+ return;
150
+ }
151
+ }
152
+ // Caso contrário, seleciona o primeiro sheet que não seja a área principal (primeira aba).
153
+ this._selectedSheet = this.getFirstNonMainSheet(sheets);
154
+ }
155
+ getFirstNonMainSheet(sheets) {
156
+ for (const [name, sheet] of sheets) {
157
+ if (name !== SnkDynaformDetailView.MAIN_TAB) {
158
+ return sheet;
159
+ }
160
+ }
161
+ return undefined;
162
+ }
163
+ dataUnitReadyHandler(evt) {
164
+ this.dataUnit = evt.detail;
165
+ this.loadMetadata();
166
+ this.ensureInitialLoad();
167
+ }
168
+ /**
169
+ * Dispara a carga inicial da grade quando a aba é montada com o master já
170
+ * selecionado. A carga do filho normalmente é disparada pelo evento de troca
171
+ * de seleção do master; uma aba montada tardiamente (aberta depois que o
172
+ * registro master já estava selecionado) não recebe esse evento e ficaria
173
+ * vazia até um refresh manual. Navegações seguintes do master continuam
174
+ * recarregando pela assinatura existente do DataUnit.
175
+ */
176
+ ensureInitialLoad() {
177
+ var _a, _b, _c, _d, _e;
178
+ if (this._didInitialLoad) {
179
+ return;
180
+ }
181
+ const dataUnit = this.dataUnit;
182
+ const parentDataUnit = (_a = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getParentDataUnit) === null || _a === void 0 ? void 0 : _a.call(dataUnit);
183
+ if (((_b = parentDataUnit === null || parentDataUnit === void 0 ? void 0 : parentDataUnit.getSelectedRecord) === null || _b === void 0 ? void 0 : _b.call(parentDataUnit)) && ((_d = (_c = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.records) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) === 0) {
184
+ this._didInitialLoad = true;
185
+ (_e = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.loadData) === null || _e === void 0 ? void 0 : _e.call(dataUnit);
186
+ }
187
+ }
188
+ getFormFields() {
189
+ var _a, _b, _c;
190
+ const mainSheet = (_b = (_a = this._formMetadata) === null || _a === void 0 ? void 0 : _a.getAllSheets()) === null || _b === void 0 ? void 0 : _b.get(SnkDynaformDetailView.MAIN_TAB);
191
+ return (_c = mainSheet === null || mainSheet === void 0 ? void 0 : mainSheet.fields) !== null && _c !== void 0 ? _c : [];
192
+ }
193
+ hasNonMainSheets() {
194
+ if (!this._formMetadata) {
195
+ return false;
196
+ }
197
+ for (const name of this._formMetadata.getAllSheets().keys()) {
198
+ if (name !== SnkDynaformDetailView.MAIN_TAB) {
199
+ return true;
200
+ }
201
+ }
202
+ return false;
203
+ }
204
+ selectedSheetIsDetail() {
205
+ return !!this._selectedSheet && FormMetadata.getDetailName(this._selectedSheet.name) != undefined;
206
+ }
207
+ isSheetDisabled(sheet) {
208
+ var _a;
209
+ if (FormMetadata.getDetailName(sheet.name) == undefined) {
210
+ return false;
211
+ }
212
+ const currentRecord = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecord();
213
+ if (!currentRecord || !this.dataUnit) {
214
+ return true;
215
+ }
216
+ return this.dataUnit.isNewRecord(currentRecord.__record__id__) || this.dataUnit.isMultipleEdition;
217
+ }
218
+ buildInternalTabItems() {
219
+ if (!this._formMetadata) {
220
+ return [];
221
+ }
222
+ const sheets = Array.from(this._formMetadata.getAllSheets().values());
223
+ const nonMainSheets = sheets.filter((sheet) => sheet.name !== SnkDynaformDetailView.MAIN_TAB);
224
+ return nonMainSheets.map((sheet, index) => ({
225
+ tabKey: sheet.name,
226
+ label: sheet.label,
227
+ index,
228
+ disabled: this.isSheetDisabled(sheet),
229
+ rightIcon: this._internalErrorTabs.has(sheet.name) ? 'alert-circle-inverted' : undefined,
230
+ }));
231
+ }
232
+ onInternalTabChange(tab) {
233
+ var _a, _b;
234
+ // A área principal (__main) é sempre visível e não é uma aba selecionável.
235
+ if (tab.tabKey === SnkDynaformDetailView.MAIN_TAB) {
236
+ return;
237
+ }
238
+ const matchedSheet = (_b = (_a = this._formMetadata) === null || _a === void 0 ? void 0 : _a.getAllSheets()) === null || _b === void 0 ? void 0 : _b.get(tab.tabKey);
239
+ if (!matchedSheet || this.isSheetDisabled(matchedSheet)) {
240
+ return;
241
+ }
242
+ this._selectedSheet = matchedSheet;
243
+ }
244
+ executeActionHandler(evt) {
245
+ var _a;
246
+ if (evt.detail === TaskbarElement.GRID_MODE) {
247
+ this.changeViewMode(VIEW_MODE.GRID);
248
+ evt.stopPropagation();
249
+ }
250
+ if (evt.detail === TaskbarElement.UPDATE_MULTIPLE && this.dataUnit) {
251
+ this.dataUnit.isMultipleEdition = true;
252
+ this.changeViewMode(VIEW_MODE.FORM);
253
+ evt.stopPropagation();
254
+ }
255
+ if (evt.detail === TaskbarElement.FORM_MODE || evt.detail === TaskbarElement.UPDATE || evt.detail === TaskbarElement.INSERT) {
256
+ this.changeViewMode(VIEW_MODE.FORM);
257
+ evt.stopPropagation();
258
+ }
259
+ if (evt.detail === TaskbarElement.ATTACH) {
260
+ (_a = this._snkAttach) === null || _a === void 0 ? void 0 : _a.open();
261
+ evt.stopPropagation();
262
+ }
263
+ }
264
+ async getAttachmentRegisterKey() {
265
+ if (!this._snkDataUnit) {
266
+ return;
267
+ }
268
+ const recordCriteria = await this._snkDataUnit.getSelectedRecordsIDsInfo();
269
+ const joinedPrimaryKeys = recordCriteria.map(({ value }) => value).join('_');
270
+ return joinedPrimaryKeys;
271
+ }
272
+ async handleDataStateChange({ detail: dataState }) {
273
+ var _a;
274
+ this.dataState = dataState;
275
+ if (dataState.selectedRecord !== undefined && this._snkDataUnit) {
276
+ this.attachmentRegisterKey = (_a = await this.getAttachmentRegisterKey()) !== null && _a !== void 0 ? _a : undefined;
277
+ }
278
+ this._selectedRecordPKDisplay = this.buildSelectedRecordPKDisplay();
279
+ }
280
+ buildSelectedRecordPKDisplay() {
281
+ var _a, _b, _c, _d, _e, _f, _g;
282
+ if (!this.dataUnit) {
283
+ return undefined;
284
+ }
285
+ if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.insertionMode) {
286
+ const message = (_b = this.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage("snkCrud.newRecord");
287
+ return message ? { message } : undefined;
288
+ }
289
+ const selectedRecord = this.dataUnit.getSelectedRecord();
290
+ if (!selectedRecord) {
291
+ return undefined;
292
+ }
293
+ const items = [];
294
+ const fields = (_d = (_c = this.dataUnit.metadata) === null || _c === void 0 ? void 0 : _c.fields) !== null && _d !== void 0 ? _d : [];
295
+ for (const field of fields) {
296
+ if (((_e = field.properties) === null || _e === void 0 ? void 0 : _e.isPrimaryKey) !== "true") {
297
+ continue;
298
+ }
299
+ const rawValue = selectedRecord[field.name];
300
+ const value = (_f = rawValue === null || rawValue === void 0 ? void 0 : rawValue.value) !== null && _f !== void 0 ? _f : rawValue;
301
+ if (value === undefined || value === null || value === "") {
302
+ continue;
303
+ }
304
+ items.push({ label: (_g = field.label) !== null && _g !== void 0 ? _g : field.name, value: String(value) });
305
+ }
306
+ return items.length ? { items } : undefined;
307
+ }
308
+ renderSelectedRecordHeader() {
309
+ var _a;
310
+ if (!this.label && !this._selectedRecordPKDisplay) {
311
+ return undefined;
312
+ }
313
+ const display = this._selectedRecordPKDisplay;
314
+ if (!display) {
315
+ return undefined;
316
+ }
317
+ if (display.message) {
318
+ return (h("div", { class: "selected-record-header selected-record-header--message" }, h("span", { class: "selected-record-header__message" }, display.message)));
319
+ }
320
+ if (!((_a = display.items) === null || _a === void 0 ? void 0 : _a.length)) {
321
+ return undefined;
322
+ }
323
+ return (h("div", { class: "selected-record-header", role: "group" }, display.items.map((item, index) => [
324
+ index > 0 && h("span", { class: "selected-record-header__separator", "aria-hidden": "true" }),
325
+ h("div", { class: "selected-record-header__chip" }, h("span", { class: "selected-record-header__label" }, item.label, ":"), h("span", { class: "selected-record-header__value" }, item.value))
326
+ ])));
327
+ }
328
+ componentWillLoad() {
329
+ var _a;
330
+ this._configName = `dynaform.${this.entityName}`;
331
+ this.formConfigManager = new SnkFormConfigManager(this._configName, (_a = this.resourceID) !== null && _a !== void 0 ? _a : '', () => this.loadMetadata(), this.dataUnit);
332
+ this.formConfigManager.loadConfig();
333
+ if (this.messagesBuilder == undefined) {
334
+ this.messagesBuilder = new SnkMessageBuilder(this.entityName);
335
+ }
336
+ }
337
+ componentWillRender() {
338
+ this.initializeTaskbarProcessor();
339
+ }
340
+ initializeTaskbarProcessor() {
341
+ if (!this.dataState) {
342
+ return;
343
+ }
344
+ const detailTaskbarManager = this.buildDetailTaskbarManager();
345
+ const topTaskbarId = getTopTaskBarId(this.dataState, this.presentationMode);
346
+ this._taskbarProcessor.process(topTaskbarId, detailTaskbarManager, this.dataState, [], []);
347
+ }
348
+ buildDetailTaskbarManager() {
349
+ const EDITION_MODE_BUTTONS = [
350
+ TaskbarElement.CANCEL,
351
+ TaskbarElement.SAVE,
352
+ ];
353
+ const currentView = this._currentView;
354
+ return {
355
+ getButtons: (taskbarID, dataState, defaultButtons) => {
356
+ var _a, _b, _c;
357
+ if (!taskbarID) {
358
+ return [];
359
+ }
360
+ const isInEditionMode = (dataState === null || dataState === void 0 ? void 0 : dataState.insertionMode) || (dataState === null || dataState === void 0 ? void 0 : dataState.isDirty);
361
+ if (isInEditionMode) {
362
+ return EDITION_MODE_BUTTONS;
363
+ }
364
+ let buttons = [...defaultButtons];
365
+ if (currentView === VIEW_MODE.FORM) {
366
+ const indexFormMode = buttons.indexOf(TaskbarElement.FORM_MODE);
367
+ if (indexFormMode > -1) {
368
+ buttons = [
369
+ ...buttons.slice(0, indexFormMode),
370
+ TaskbarElement.GRID_MODE,
371
+ ...buttons.slice(indexFormMode + 1),
372
+ ];
373
+ }
374
+ }
375
+ if (((_c = (_b = (_a = dataState === null || dataState === void 0 ? void 0 : dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 1) {
376
+ const indexUpdate = buttons.indexOf(TaskbarElement.UPDATE);
377
+ if (indexUpdate > -1) {
378
+ buttons = [
379
+ ...buttons.slice(0, indexUpdate),
380
+ TaskbarElement.UPDATE_MULTIPLE,
381
+ ...buttons.slice(indexUpdate + 1),
382
+ ];
383
+ }
384
+ }
385
+ return buttons;
386
+ },
387
+ isEnabled: (_, dataState, buttonName, originalValue) => {
388
+ if (!dataState) {
389
+ return originalValue;
390
+ }
391
+ const hasSelectedRecord = dataState.selectedRecord !== undefined;
392
+ const buttonsRequiringSelection = [
393
+ TaskbarElement.UPDATE,
394
+ TaskbarElement.REMOVE,
395
+ TaskbarElement.ATTACH,
396
+ TaskbarElement.CLONE,
397
+ ];
398
+ if (!hasSelectedRecord && buttonsRequiringSelection.includes(buttonName)) {
399
+ return false;
400
+ }
401
+ if (buttonName === TaskbarElement.PREVIOUS && !dataState.hasPrevious) {
402
+ return false;
403
+ }
404
+ if (buttonName === TaskbarElement.NEXT && !dataState.hasNext) {
405
+ return false;
406
+ }
407
+ if (buttonName === TaskbarElement.INSERT && dataState.insertionMode) {
408
+ return false;
409
+ }
410
+ return originalValue;
411
+ },
412
+ };
413
+ }
414
+ async componentDidLoad() {
415
+ if (this.customEditors) {
416
+ await this.observerPropsCustomEditor(this.customEditors);
417
+ }
418
+ if (this.customRenders) {
419
+ await this.observeCustomRenders(this.customRenders);
420
+ }
421
+ this.initKeyboardManager();
422
+ }
423
+ disconnectedCallback() {
424
+ var _a;
425
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
426
+ }
427
+ async dataUnitActionHandler(action) {
428
+ var _a;
429
+ if (action.type === DUAction.FIELD_INVALIDATED) {
430
+ const sheetName = this.findSheetOfField((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
431
+ if (sheetName) {
432
+ this._internalErrorTabs = new Set([...this._internalErrorTabs, sheetName]);
433
+ }
434
+ }
435
+ }
436
+ findSheetOfField(fieldName) {
437
+ var _a;
438
+ if (!fieldName || !this._formMetadata) {
439
+ return undefined;
440
+ }
441
+ const sheets = this._formMetadata.getAllSheets();
442
+ for (const [sheetName, sheet] of sheets) {
443
+ if ((_a = sheet.fields) === null || _a === void 0 ? void 0 : _a.some((f) => f.name === fieldName)) {
444
+ return sheetName;
445
+ }
446
+ }
447
+ return undefined;
448
+ }
449
+ normalizeDataUnitName() {
450
+ var _a, _b;
451
+ return (_b = (_a = this.dataUnitName) === null || _a === void 0 ? void 0 : _a.replace(/\//g, '>')) !== null && _b !== void 0 ? _b : '';
452
+ }
453
+ getSettingsListForm() {
454
+ var _a, _b;
455
+ const hardList = [{
456
+ value: StringUtils.generateUUID(),
457
+ label: (_b = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage("snkCrud.findColumn", undefined)) !== null && _b !== void 0 ? _b : "",
458
+ disableCloseOnSelect: true,
459
+ eagerInitialize: true,
460
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
461
+ }];
462
+ return hardList;
463
+ }
464
+ getFieldsSearch(item) {
465
+ var _a;
466
+ if (this._fieldSearch === undefined || this._hasToCreateFieldSearch) {
467
+ this._hasToCreateFieldSearch = false;
468
+ this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
469
+ }
470
+ return (_a = this._fieldSearch) !== null && _a !== void 0 ? _a : document.createElement('div');
471
+ }
472
+ fieldsOptionLoader(argument) {
473
+ const searchTerm = argument === null || argument === void 0 ? void 0 : argument.toLowerCase();
474
+ const allFields = this.getFormFields().map(field => { var _a; return (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(field.name); });
475
+ const filteredFields = allFields.filter(field => {
476
+ var _a, _b;
477
+ if (!field) {
478
+ return;
479
+ }
480
+ return ((_a = field.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm)) ||
481
+ ((_b = field.label) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchTerm));
482
+ });
483
+ const options = filteredFields.map((field) => {
484
+ if (!field) {
485
+ return;
486
+ }
487
+ return ({ value: field.name, label: field.label });
488
+ });
489
+ return Promise.resolve(options);
490
+ }
491
+ onSelectField(option) {
492
+ if (option == undefined) {
493
+ return;
494
+ }
495
+ this._fieldToGetFocus = option.value;
496
+ }
497
+ clearFieldToFocusHandler() {
498
+ this._fieldToGetFocus = undefined;
499
+ }
500
+ getColumnSearch(item) {
501
+ var _a;
502
+ if (this._columnSearch !== undefined) {
503
+ return this._columnSearch;
504
+ }
505
+ this._columnSearch = buildFieldSearch(item, ({ argument }) => new Promise(accept => {
506
+ var _a;
507
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.filterColumns(argument).then((columns) => {
508
+ accept(columns
509
+ .filter(column => !column.hidden)
510
+ .map(column => ({ label: column.label, value: column.name })));
511
+ });
512
+ }), (option) => {
513
+ var _a;
514
+ if (option != undefined) {
515
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.locateColumn(option.value);
516
+ }
517
+ });
518
+ return (_a = this._columnSearch) !== null && _a !== void 0 ? _a : document.createElement('div');
519
+ }
520
+ buildTaskbarCustomActionsList() {
521
+ return [this.buildSearchColumnTaskbarAction()];
522
+ }
523
+ buildSearchColumnTaskbarAction() {
524
+ var _a, _b;
525
+ return {
526
+ value: StringUtils.generateUUID(),
527
+ label: (_b = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage('snkGrid.findColumn', {})) !== null && _b !== void 0 ? _b : "",
528
+ disableCloseOnSelect: true,
529
+ eagerInitialize: true,
530
+ itemBuilder: (_, item) => { var _a; return (_a = this.getColumnSearch(item)) !== null && _a !== void 0 ? _a : document.createElement('div'); },
531
+ };
532
+ }
533
+ async initKeyboardManager() {
534
+ var _a;
535
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
536
+ this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
537
+ var _a;
538
+ await ((_a = this._snkFormView) === null || _a === void 0 ? void 0 : _a.showSearchField());
539
+ }, { description: (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage("snkSimpleCrud.findFields"), element: this._element });
540
+ }
541
+ renderTabSelector() {
542
+ if (!this.hasNonMainSheets()) {
543
+ return undefined;
544
+ }
545
+ const selectedKey = this._selectedSheet && this._selectedSheet.name !== SnkDynaformDetailView.MAIN_TAB
546
+ ? this._selectedSheet.name
547
+ : undefined;
548
+ return (h("ez-tabselector", { class: "ez-tabselector-internal", tabs: this.buildInternalTabItems(), selectedTab: selectedKey, onEzChange: (evt) => this.onInternalTabChange(evt.detail) }));
549
+ }
550
+ /**
551
+ * Renderiza o conteúdo da aba selecionada, seguindo as mesmas regras do
552
+ * formulário master (snk-dynaform-guides-view.getContent):
553
+ * - Sheet de detalhe (child[...]) → snk-dynaform-detail-view aninhado.
554
+ * - Sheet de formulário (ex.: "Geral") → snk-dynaform-form-view com os campos do sheet.
555
+ */
556
+ renderSelectedSheetContent() {
557
+ if (!this._selectedSheet || this._selectedSheet.name === SnkDynaformDetailView.MAIN_TAB) {
558
+ return undefined;
559
+ }
560
+ const childEntityName = FormMetadata.getDetailName(this._selectedSheet.name);
561
+ if (childEntityName) {
562
+ return (h("snk-dynaform-detail-view", { key: `sub_${this.dataUnitName}_${this._selectedSheet.name}`, dataUnitName: `${this.dataUnitName}/${childEntityName}`, entityName: childEntityName, label: this._selectedSheet.label, resourceID: this.resourceID, canEdit: this.canEdit, messagesBuilder: this.messagesBuilder, customEditors: this.customEditors, customRenders: this.customRenders, presentationMode: this.presentationMode, taskbarCustomContainerId: this.taskbarCustomContainerId }));
563
+ }
564
+ return (h("snk-dynaform-form-view", { key: `sheet_${this._selectedSheet.name}`, name: this._selectedSheet.name, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this._selectedSheet.fields, fieldToFocus: this._fieldToGetFocus, label: this._selectedSheet.label, onSnkRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this), fieldSearch: this._fieldSearch }));
565
+ }
566
+ renderViewStack() {
567
+ var _a, _b;
568
+ return (h("ez-view-stack", { ref: (ref) => this._viewStack = ref }, h("stack-item", { class: "ez-size-width--full ez-size-height--full" }, h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => {
569
+ if (ref)
570
+ this._snkGrid = ref;
571
+ }, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.changeViewMode(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: this.presentationMode, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS", outlineMode: true, enableGridInsert: true, autoLoad: true, multipleEditionEnabled: true, multipleSelection: true, hideHeader: true, hideGridTaskbar: true })), h("stack-item", { class: "ez-size-width--full ez-size-height--full grid-container" }, h("div", { class: "form-and-detail-container" }, h("snk-dynaform-form-view", { ref: (ref) => {
572
+ if (ref)
573
+ this._snkFormView = ref;
574
+ }, name: SnkDynaformDetailView.MAIN_TAB, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), fieldToFocus: this._fieldToGetFocus, label: this.label, onSnkRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this), fieldSearch: this._fieldSearch }, this.renderSelectedRecordHeader()), this.renderTabSelector(), this.renderSelectedSheetContent())), h("snk-attach", { ref: (ref) => this._snkAttach = ref, registerKey: (_a = this.attachmentRegisterKey) !== null && _a !== void 0 ? _a : '', messagesBuilder: this.messagesBuilder, entityName: (_b = this.entityName) !== null && _b !== void 0 ? _b : '' })));
575
+ }
576
+ render() {
577
+ return (h(Host, null, h("snk-data-unit", { ref: (el) => {
578
+ if (el)
579
+ this._snkDataUnit = el;
580
+ }, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("snk-taskbar", { key: "detailViewTaskbar", class: "form-taskbar", "data-element-id": "detail_top", configName: this._configName, messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, primaryButton: "INSERT", overflowStrategy: "hiddenItems", alignRigth: true, sizeButtons: 'small', presentationMode: this.presentationMode, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS", actionsSettingsList: this.getSettingsListForm(), customActionsList: this.buildTaskbarCustomActionsList() }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })), this.renderViewStack())));
581
+ }
582
+ static get is() { return "snk-dynaform-detail-view"; }
583
+ static get encapsulation() { return "scoped"; }
584
+ static get originalStyleUrls() {
585
+ return {
586
+ "$": ["snk-dynaform-detail-view.css"]
587
+ };
588
+ }
589
+ static get styleUrls() {
590
+ return {
591
+ "$": ["snk-dynaform-detail-view.css"]
592
+ };
593
+ }
594
+ static get properties() {
595
+ return {
596
+ "formConfigManager": {
597
+ "type": "unknown",
598
+ "mutable": true,
599
+ "complexType": {
600
+ "original": "SnkFormConfigManager",
601
+ "resolved": "SnkFormConfigManager",
602
+ "references": {
603
+ "SnkFormConfigManager": {
604
+ "location": "import",
605
+ "path": "../../../snk-dynaform-form-config/SnkFormConfigManager"
606
+ }
607
+ }
608
+ },
609
+ "required": false,
610
+ "optional": true,
611
+ "docs": {
612
+ "tags": [],
613
+ "text": "Gerenciador de configura\u00E7\u00E3o do formul\u00E1rio."
614
+ }
615
+ },
616
+ "dataUnitName": {
617
+ "type": "string",
618
+ "mutable": false,
619
+ "complexType": {
620
+ "original": "string",
621
+ "resolved": "string",
622
+ "references": {}
623
+ },
624
+ "required": false,
625
+ "optional": true,
626
+ "docs": {
627
+ "tags": [],
628
+ "text": "Determina todo o caminho desde o pai at\u00E9 chegar neste n\u00EDvel"
629
+ },
630
+ "attribute": "data-unit-name",
631
+ "reflect": false
632
+ },
633
+ "resourceID": {
634
+ "type": "string",
635
+ "mutable": false,
636
+ "complexType": {
637
+ "original": "string",
638
+ "resolved": "string",
639
+ "references": {}
640
+ },
641
+ "required": false,
642
+ "optional": true,
643
+ "docs": {
644
+ "tags": [],
645
+ "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
646
+ },
647
+ "attribute": "resource-i-d",
648
+ "reflect": false
649
+ },
650
+ "entityName": {
651
+ "type": "string",
652
+ "mutable": false,
653
+ "complexType": {
654
+ "original": "string",
655
+ "resolved": "string",
656
+ "references": {}
657
+ },
658
+ "required": false,
659
+ "optional": true,
660
+ "docs": {
661
+ "tags": [],
662
+ "text": "Nome da entidade detail."
663
+ },
664
+ "attribute": "entity-name",
665
+ "reflect": false
666
+ },
667
+ "label": {
668
+ "type": "string",
669
+ "mutable": false,
670
+ "complexType": {
671
+ "original": "string",
672
+ "resolved": "string",
673
+ "references": {}
674
+ },
675
+ "required": false,
676
+ "optional": true,
677
+ "docs": {
678
+ "tags": [],
679
+ "text": "Descri\u00E7\u00E3o amig\u00E1vel do cadastro detalhe."
680
+ },
681
+ "attribute": "label",
682
+ "reflect": false
683
+ },
684
+ "dataUnit": {
685
+ "type": "unknown",
686
+ "mutable": true,
687
+ "complexType": {
688
+ "original": "DataUnit",
689
+ "resolved": "DataUnit",
690
+ "references": {
691
+ "DataUnit": {
692
+ "location": "import",
693
+ "path": "@sankhyalabs/core"
694
+ }
695
+ }
696
+ },
697
+ "required": false,
698
+ "optional": true,
699
+ "docs": {
700
+ "tags": [],
701
+ "text": "Inst\u00E2ncia do DataUnit detail."
702
+ }
703
+ },
704
+ "selectedForm": {
705
+ "type": "string",
706
+ "mutable": true,
707
+ "complexType": {
708
+ "original": "string",
709
+ "resolved": "string",
710
+ "references": {}
711
+ },
712
+ "required": false,
713
+ "optional": true,
714
+ "docs": {
715
+ "tags": [],
716
+ "text": "Representa o formul\u00E1rio selecionado na inicializa\u00E7\u00E3o.\nAp\u00F3s o primeiro render, o estado interno _selectedSheet assume o controle."
717
+ },
718
+ "attribute": "selected-form",
719
+ "reflect": false
720
+ },
721
+ "dataState": {
722
+ "type": "unknown",
723
+ "mutable": true,
724
+ "complexType": {
725
+ "original": "DataState",
726
+ "resolved": "DataState",
727
+ "references": {
728
+ "DataState": {
729
+ "location": "import",
730
+ "path": "../../../snk-data-unit/snk-data-unit"
731
+ }
732
+ }
733
+ },
734
+ "required": false,
735
+ "optional": true,
736
+ "docs": {
737
+ "tags": [],
738
+ "text": "Representa o estado do dataUnit detail."
739
+ }
740
+ },
741
+ "messagesBuilder": {
742
+ "type": "unknown",
743
+ "mutable": true,
744
+ "complexType": {
745
+ "original": "SnkMessageBuilder",
746
+ "resolved": "SnkMessageBuilder",
747
+ "references": {
748
+ "SnkMessageBuilder": {
749
+ "location": "import",
750
+ "path": "../../../../lib/message/SnkMessageBuilder"
751
+ }
752
+ }
753
+ },
754
+ "required": false,
755
+ "optional": true,
756
+ "docs": {
757
+ "tags": [],
758
+ "text": ""
759
+ }
760
+ },
761
+ "canEdit": {
762
+ "type": "boolean",
763
+ "mutable": false,
764
+ "complexType": {
765
+ "original": "boolean",
766
+ "resolved": "boolean",
767
+ "references": {}
768
+ },
769
+ "required": false,
770
+ "optional": false,
771
+ "docs": {
772
+ "tags": [],
773
+ "text": "Define se a edi\u00E7\u00E3o est\u00E1 habilitada na grid."
774
+ },
775
+ "attribute": "can-edit",
776
+ "reflect": false,
777
+ "defaultValue": "true"
778
+ },
779
+ "taskbarCustomContainerId": {
780
+ "type": "string",
781
+ "mutable": false,
782
+ "complexType": {
783
+ "original": "string",
784
+ "resolved": "string",
785
+ "references": {}
786
+ },
787
+ "required": false,
788
+ "optional": true,
789
+ "docs": {
790
+ "tags": [],
791
+ "text": "Define o identificador do container de elementos customizados da Taskbar."
792
+ },
793
+ "attribute": "taskbar-custom-container-id",
794
+ "reflect": false
795
+ },
796
+ "customEditors": {
797
+ "type": "unknown",
798
+ "mutable": false,
799
+ "complexType": {
800
+ "original": "PropsCustomEditor",
801
+ "resolved": "PropsCustomEditor",
802
+ "references": {
803
+ "PropsCustomEditor": {
804
+ "location": "import",
805
+ "path": "../../interfaces/PropsCustomEditor"
806
+ }
807
+ }
808
+ },
809
+ "required": false,
810
+ "optional": true,
811
+ "docs": {
812
+ "tags": [],
813
+ "text": "Registra um editor customizado para campos da grade e formul\u00E1rio."
814
+ }
815
+ },
816
+ "customRenders": {
817
+ "type": "unknown",
818
+ "mutable": false,
819
+ "complexType": {
820
+ "original": "PropsCustomRender",
821
+ "resolved": "PropsCustomRender",
822
+ "references": {
823
+ "PropsCustomRender": {
824
+ "location": "import",
825
+ "path": "../../interfaces/PropsCustomRender"
826
+ }
827
+ }
828
+ },
829
+ "required": false,
830
+ "optional": true,
831
+ "docs": {
832
+ "tags": [],
833
+ "text": "Render customizados da grade."
834
+ }
835
+ },
836
+ "presentationMode": {
837
+ "type": "string",
838
+ "mutable": false,
839
+ "complexType": {
840
+ "original": "PresentationMode",
841
+ "resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
842
+ "references": {
843
+ "PresentationMode": {
844
+ "location": "import",
845
+ "path": "../../../../lib"
846
+ }
847
+ }
848
+ },
849
+ "required": false,
850
+ "optional": false,
851
+ "docs": {
852
+ "tags": [],
853
+ "text": "Altera o modo de apresenta\u00E7\u00E3o dos bot\u00F5es do snk-taskbar."
854
+ },
855
+ "attribute": "presentation-mode",
856
+ "reflect": false,
857
+ "defaultValue": "PresentationMode.SECONDARY"
858
+ }
859
+ };
860
+ }
861
+ static get states() {
862
+ return {
863
+ "_currentView": {},
864
+ "attachmentRegisterKey": {},
865
+ "_fieldToGetFocus": {},
866
+ "_hasToCreateFieldSearch": {},
867
+ "_selectedSheet": {},
868
+ "_internalErrorTabs": {},
869
+ "_selectedRecordPKDisplay": {}
870
+ };
871
+ }
872
+ static get methods() {
873
+ return {
874
+ "changeViewMode": {
875
+ "complexType": {
876
+ "signature": "(mode: VIEW_MODE) => Promise<void>",
877
+ "parameters": [{
878
+ "tags": [{
879
+ "name": "param",
880
+ "text": "mode - Novo modo que o componente deve ser apresentado."
881
+ }],
882
+ "text": "- Novo modo que o componente deve ser apresentado."
883
+ }],
884
+ "references": {
885
+ "Promise": {
886
+ "location": "global"
887
+ },
888
+ "VIEW_MODE": {
889
+ "location": "import",
890
+ "path": "../../../../lib/utils/constants"
891
+ }
892
+ },
893
+ "return": "Promise<void>"
894
+ },
895
+ "docs": {
896
+ "text": "Muda o modo de visualiza\u00E7\u00E3o do componente entre VIEW_MODE.GRID e VIEW_MODE.FORM",
897
+ "tags": [{
898
+ "name": "param",
899
+ "text": "mode - Novo modo que o componente deve ser apresentado."
900
+ }]
901
+ }
902
+ },
903
+ "configGrid": {
904
+ "complexType": {
905
+ "signature": "() => Promise<void>",
906
+ "parameters": [],
907
+ "references": {
908
+ "Promise": {
909
+ "location": "global"
910
+ }
911
+ },
912
+ "return": "Promise<void>"
913
+ },
914
+ "docs": {
915
+ "text": "Abre o configurador de grid.",
916
+ "tags": []
917
+ }
918
+ },
919
+ "showUp": {
920
+ "complexType": {
921
+ "signature": "() => Promise<void>",
922
+ "parameters": [],
923
+ "references": {
924
+ "Promise": {
925
+ "location": "global"
926
+ }
927
+ },
928
+ "return": "Promise<void>"
929
+ },
930
+ "docs": {
931
+ "text": "",
932
+ "tags": []
933
+ }
934
+ },
935
+ "addCustomEditor": {
936
+ "complexType": {
937
+ "signature": "(fieldName: string, customEditor: ICustomEditor) => Promise<void>",
938
+ "parameters": [{
939
+ "tags": [],
940
+ "text": ""
941
+ }, {
942
+ "tags": [],
943
+ "text": ""
944
+ }],
945
+ "references": {
946
+ "Promise": {
947
+ "location": "global"
948
+ },
949
+ "ICustomEditor": {
950
+ "location": "import",
951
+ "path": "@sankhyalabs/ezui/dist/types/utils"
952
+ }
953
+ },
954
+ "return": "Promise<void>"
955
+ },
956
+ "docs": {
957
+ "text": "Registra um editor customizado para campos da grade e formul\u00E1rio.",
958
+ "tags": []
959
+ }
960
+ },
961
+ "addGridCustomRender": {
962
+ "complexType": {
963
+ "signature": "(fieldName: string, customRender: ICustomRender) => Promise<void>",
964
+ "parameters": [{
965
+ "tags": [],
966
+ "text": ""
967
+ }, {
968
+ "tags": [],
969
+ "text": ""
970
+ }],
971
+ "references": {
972
+ "Promise": {
973
+ "location": "global"
974
+ },
975
+ "ICustomRender": {
976
+ "location": "import",
977
+ "path": "@sankhyalabs/ezui/dist/types/utils"
978
+ }
979
+ },
980
+ "return": "Promise<void>"
981
+ },
982
+ "docs": {
983
+ "text": "Registra um render customizado para colunas da grid.",
984
+ "tags": []
985
+ }
986
+ }
987
+ };
988
+ }
989
+ static get elementRef() { return "_element"; }
990
+ static get watchers() {
991
+ return [{
992
+ "propName": "dataUnit",
993
+ "methodName": "observeDataUnit"
994
+ }, {
995
+ "propName": "dataState",
996
+ "methodName": "observerDataState"
997
+ }, {
998
+ "propName": "customEditors",
999
+ "methodName": "observerPropsCustomEditor"
1000
+ }, {
1001
+ "propName": "customRenders",
1002
+ "methodName": "observeCustomRenders"
1003
+ }];
1004
+ }
1005
+ static get listeners() {
1006
+ return [{
1007
+ "name": "snkContentCardChanged",
1008
+ "method": "onContentCardChanged",
1009
+ "target": undefined,
1010
+ "capture": false,
1011
+ "passive": false
1012
+ }];
1013
+ }
1014
+ }
1015
+ SnkDynaformDetailView.MAIN_TAB = "__main";