@sankhyalabs/sankhyablocks 10.1.0-dev.52 → 10.1.0-dev.54

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 (265) hide show
  1. package/dist/cjs/{ConfigStorage-a1fab5ca.js → ConfigStorage-4201dd3d.js} +2 -2
  2. package/dist/cjs/{DataFetcher-384d2ce8.js → DataFetcher-b3a8075d.js} +2830 -2
  3. package/dist/cjs/FormConfigHelper-c5f5473a.js +342 -0
  4. package/dist/cjs/{ISave-ecbe9336.js → ISave-4674c283.js} +1 -1
  5. package/dist/cjs/{PersonalizedFilterUtils-eccb267a.js → PersonalizedFilterUtils-263e4d24.js} +52 -5
  6. package/dist/cjs/{SnkFormConfigManager-44386305.js → SnkFormConfigManager-c3a49038.js} +2 -2
  7. package/dist/cjs/{SnkMultiSelectionListDataSource-d341dd02.js → SnkMultiSelectionListDataSource-3a13fd34.js} +4 -4
  8. package/dist/cjs/{auth-fetcher-6b134ec4.js → auth-fetcher-0ecc53ff.js} +1 -1
  9. package/dist/cjs/{dataunit-fetcher-b9822794.js → dataunit-fetcher-c7e66f0d.js} +13 -4
  10. package/dist/cjs/{filter-type.enum-2bb46d2a.js → filter-type.enum-b3b388af.js} +7 -0
  11. package/dist/cjs/{form-config-fetcher-45d1964c.js → form-config-fetcher-f80dbc3b.js} +23 -5
  12. package/dist/cjs/index-1894343a.js +24 -36
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +4 -5
  15. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  16. package/dist/cjs/snk-actions-button_9.cjs.entry.js +5 -6
  17. package/dist/cjs/snk-application.cjs.entry.js +7 -8
  18. package/dist/cjs/snk-attach_11.cjs.entry.js +2950 -0
  19. package/dist/cjs/snk-crud.cjs.entry.js +31 -243
  20. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -6
  21. package/dist/cjs/{snk-data-unit-4b6dc396.js → snk-data-unit-35f10e01.js} +11 -11
  22. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -4
  23. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
  24. package/dist/cjs/snk-dynaform-config-header_5.cjs.entry.js +739 -0
  25. package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +938 -0
  26. package/dist/cjs/snk-dynaform-field-config_2.cjs.entry.js +327 -0
  27. package/dist/cjs/snk-dynaform-guides-view-e98f7f3a.js +747 -0
  28. package/dist/cjs/snk-dynaform-guides-view.cjs.entry.js +23 -0
  29. package/dist/cjs/snk-dynaform.cjs.entry.js +675 -0
  30. package/dist/cjs/{snk-expression-group_2.cjs.entry.js → snk-expression-group_4.cjs.entry.js} +421 -18
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +41 -44
  32. package/dist/cjs/snk-form_2.cjs.entry.js +4 -5
  33. package/dist/cjs/snk-grid.cjs.entry.js +7 -8
  34. package/dist/cjs/{snk-guides-viewer-8e7a503b.js → snk-guides-viewer-3054d541.js} +1 -1
  35. package/dist/cjs/snk-guides-viewer.cjs.entry.js +5 -6
  36. package/dist/cjs/snk-layout-form-config.cjs.entry.js +4 -5
  37. package/dist/cjs/snk-pesquisa.cjs.entry.js +4 -5
  38. package/dist/cjs/taskbarUtils-383c596e.js +231 -0
  39. package/dist/collection/collection-manifest.json +17 -0
  40. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomEditor.js +1 -0
  41. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomRender.js +1 -0
  42. package/dist/collection/components/snk-dynaform/snk-dynaform.css +64 -0
  43. package/dist/collection/components/snk-dynaform/snk-dynaform.js +1657 -0
  44. package/dist/collection/components/snk-dynaform/subcomponents/CardFormResizeObserver.js +26 -0
  45. package/dist/collection/components/snk-dynaform/subcomponents/GuideBuilder.js +51 -0
  46. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.css +112 -0
  47. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.js +992 -0
  48. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.css +64 -0
  49. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.js +588 -0
  50. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.css +98 -0
  51. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.js +1167 -0
  52. package/dist/collection/components/snk-dynaform-form-config/FormConfigHelper.js +325 -0
  53. package/dist/collection/components/snk-dynaform-form-config/SnkFormConfigManager.js +212 -0
  54. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.css +17 -0
  55. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.js +236 -0
  56. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.css +41 -0
  57. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.js +170 -0
  58. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.css +22 -0
  59. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.js +408 -0
  60. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.css +88 -0
  61. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.js +209 -0
  62. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.css +167 -0
  63. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.js +655 -0
  64. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.css +42 -0
  65. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.js +171 -0
  66. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.css +66 -0
  67. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.js +557 -0
  68. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.css +80 -0
  69. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.js +326 -0
  70. package/dist/collection/components/snk-grid/snk-grid.css +4 -2
  71. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -1
  72. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +22 -4
  73. package/dist/components/dataunit-fetcher.js +11 -1
  74. package/dist/components/form-config-fetcher.js +22 -4
  75. package/dist/components/index.d.ts +12 -0
  76. package/dist/components/index.js +12 -0
  77. package/dist/components/snk-crud.js +1 -212
  78. package/dist/components/snk-dynaform-config-header.d.ts +11 -0
  79. package/dist/components/snk-dynaform-config-header.js +6 -0
  80. package/dist/components/snk-dynaform-config-header2.js +103 -0
  81. package/dist/components/snk-dynaform-configs-button.d.ts +11 -0
  82. package/dist/components/snk-dynaform-configs-button.js +6 -0
  83. package/dist/components/snk-dynaform-configs-button2.js +76 -0
  84. package/dist/components/snk-dynaform-detail-view.d.ts +11 -0
  85. package/dist/components/snk-dynaform-detail-view.js +6 -0
  86. package/dist/components/snk-dynaform-detail-view2.js +1835 -0
  87. package/dist/components/snk-dynaform-field-config.d.ts +11 -0
  88. package/dist/components/snk-dynaform-field-config.js +6 -0
  89. package/dist/components/snk-dynaform-field-config2.js +605 -0
  90. package/dist/components/snk-dynaform-field-item.d.ts +11 -0
  91. package/dist/components/snk-dynaform-field-item.js +6 -0
  92. package/dist/components/snk-dynaform-field-item2.js +96 -0
  93. package/dist/components/snk-dynaform-fields-layout.d.ts +11 -0
  94. package/dist/components/snk-dynaform-fields-layout.js +6 -0
  95. package/dist/components/snk-dynaform-fields-layout2.js +428 -0
  96. package/dist/components/snk-dynaform-fields-selector.d.ts +11 -0
  97. package/dist/components/snk-dynaform-fields-selector.js +6 -0
  98. package/dist/components/snk-dynaform-fields-selector2.js +104 -0
  99. package/dist/components/snk-dynaform-form-config.d.ts +11 -0
  100. package/dist/components/snk-dynaform-form-config.js +6 -0
  101. package/dist/components/snk-dynaform-form-config2.js +430 -0
  102. package/dist/components/snk-dynaform-form-view.d.ts +11 -0
  103. package/dist/components/snk-dynaform-form-view.js +6 -0
  104. package/dist/components/snk-dynaform-form-view2.js +270 -0
  105. package/dist/components/snk-dynaform-guides-configurator.d.ts +11 -0
  106. package/dist/components/snk-dynaform-guides-configurator.js +6 -0
  107. package/dist/components/snk-dynaform-guides-configurator2.js +173 -0
  108. package/dist/components/snk-dynaform-guides-view.d.ts +11 -0
  109. package/dist/components/snk-dynaform-guides-view.js +6 -0
  110. package/dist/components/snk-dynaform.d.ts +11 -0
  111. package/dist/components/snk-dynaform.js +1003 -0
  112. package/dist/components/snk-grid2.js +1 -1
  113. package/dist/components/taskbarUtils.js +224 -0
  114. package/dist/esm/{ConfigStorage-76872695.js → ConfigStorage-e834d1ea.js} +2 -2
  115. package/dist/esm/{DataFetcher-e60f8d53.js → DataFetcher-5ed0a377.js} +2830 -3
  116. package/dist/esm/FormConfigHelper-efc29480.js +328 -0
  117. package/dist/esm/{ISave-4929c071.js → ISave-5b46d691.js} +1 -1
  118. package/dist/esm/{PersonalizedFilterUtils-d2439a9a.js → PersonalizedFilterUtils-45b5803c.js} +49 -2
  119. package/dist/esm/{SnkFormConfigManager-83f6b22f.js → SnkFormConfigManager-bfd575c2.js} +2 -2
  120. package/dist/esm/{SnkMultiSelectionListDataSource-18abafb1.js → SnkMultiSelectionListDataSource-22b50dd6.js} +4 -4
  121. package/dist/esm/{auth-fetcher-1a31c1e4.js → auth-fetcher-5283045d.js} +1 -1
  122. package/dist/esm/{dataunit-fetcher-c176e002.js → dataunit-fetcher-2200fdd6.js} +12 -3
  123. package/dist/esm/{filter-type.enum-f6a8fe23.js → filter-type.enum-62b7fe88.js} +8 -1
  124. package/dist/esm/{form-config-fetcher-b44b2727.js → form-config-fetcher-db1bf140.js} +23 -5
  125. package/dist/esm/index-04f73a26.js +24 -36
  126. package/dist/esm/loader.js +1 -1
  127. package/dist/esm/pesquisa-grid_2.entry.js +4 -5
  128. package/dist/esm/sankhyablocks.js +1 -1
  129. package/dist/esm/snk-actions-button_9.entry.js +5 -6
  130. package/dist/esm/snk-application.entry.js +6 -7
  131. package/dist/esm/snk-attach_11.entry.js +2936 -0
  132. package/dist/esm/snk-crud.entry.js +6 -218
  133. package/dist/esm/snk-data-exporter.entry.js +5 -6
  134. package/dist/esm/{snk-data-unit-d8cfa950.js → snk-data-unit-e8bd4143.js} +2 -2
  135. package/dist/esm/snk-data-unit.entry.js +3 -4
  136. package/dist/esm/snk-detail-view.entry.js +7 -8
  137. package/dist/esm/snk-dynaform-config-header_5.entry.js +731 -0
  138. package/dist/esm/snk-dynaform-detail-view_2.entry.js +933 -0
  139. package/dist/esm/snk-dynaform-field-config_2.entry.js +322 -0
  140. package/dist/esm/snk-dynaform-guides-view-1f1455d6.js +744 -0
  141. package/dist/esm/snk-dynaform-guides-view.entry.js +15 -0
  142. package/dist/esm/snk-dynaform.entry.js +671 -0
  143. package/dist/esm/{snk-expression-group_2.entry.js → snk-expression-group_4.entry.js} +405 -4
  144. package/dist/esm/snk-filter-bar_4.entry.js +5 -8
  145. package/dist/esm/snk-form_2.entry.js +4 -5
  146. package/dist/esm/snk-grid.entry.js +7 -8
  147. package/dist/esm/{snk-guides-viewer-adf39ea2.js → snk-guides-viewer-95fefcaa.js} +1 -1
  148. package/dist/esm/snk-guides-viewer.entry.js +5 -6
  149. package/dist/esm/snk-layout-form-config.entry.js +4 -5
  150. package/dist/esm/snk-pesquisa.entry.js +4 -5
  151. package/dist/esm/taskbarUtils-682ca78c.js +225 -0
  152. package/dist/sankhyablocks/p-06b6c284.entry.js +1 -0
  153. package/dist/sankhyablocks/p-09e2255b.entry.js +1 -0
  154. package/dist/sankhyablocks/p-0dbd53d9.js +1 -0
  155. package/dist/sankhyablocks/{p-5c250661.js → p-1a04f537.js} +1 -1
  156. package/dist/sankhyablocks/{p-ab5e12fa.js → p-1cc4cf61.js} +1 -1
  157. package/dist/sankhyablocks/{p-f5ad0720.js → p-2040953e.js} +1 -1
  158. package/dist/sankhyablocks/p-22ddc1a5.entry.js +1 -0
  159. package/dist/sankhyablocks/p-24b059ee.entry.js +1 -0
  160. package/dist/sankhyablocks/p-2b581179.entry.js +1 -0
  161. package/dist/sankhyablocks/p-449dfe55.entry.js +1 -0
  162. package/dist/sankhyablocks/p-451b5bcc.entry.js +1 -0
  163. package/dist/sankhyablocks/p-46d7e2de.js +1 -0
  164. package/dist/sankhyablocks/{p-3c990841.js → p-51e853f2.js} +1 -1
  165. package/dist/sankhyablocks/p-51f1485c.entry.js +1 -0
  166. package/dist/sankhyablocks/p-58709cf9.js +1 -0
  167. package/dist/sankhyablocks/p-589016e2.entry.js +1 -0
  168. package/dist/sankhyablocks/p-5c6eede7.js +60 -0
  169. package/dist/sankhyablocks/p-5d02c032.js +1 -0
  170. package/dist/sankhyablocks/p-5d50f59a.entry.js +1 -0
  171. package/dist/sankhyablocks/p-670c43e3.entry.js +1 -0
  172. package/dist/sankhyablocks/{p-b1bb4cf1.js → p-70c2ee5c.js} +1 -1
  173. package/dist/sankhyablocks/p-77c26de0.js +1 -0
  174. package/dist/sankhyablocks/p-92c71225.entry.js +1 -0
  175. package/dist/sankhyablocks/p-9c89a76a.entry.js +1 -0
  176. package/dist/sankhyablocks/{p-4f7adf97.js → p-b1bf9564.js} +1 -1
  177. package/dist/sankhyablocks/p-c538bd6c.entry.js +1 -0
  178. package/dist/sankhyablocks/p-ccd61eb8.entry.js +1 -0
  179. package/dist/sankhyablocks/{p-3704bf1b.js → p-d5810110.js} +1 -1
  180. package/dist/sankhyablocks/p-d88278f8.js +28 -0
  181. package/dist/sankhyablocks/p-dc45e9e5.entry.js +1 -0
  182. package/dist/sankhyablocks/{p-8fe740b7.entry.js → p-dc83c70f.entry.js} +2 -2
  183. package/dist/sankhyablocks/p-e5362a5c.js +1 -0
  184. package/dist/sankhyablocks/p-edd44079.entry.js +1 -0
  185. package/dist/sankhyablocks/p-eff38390.entry.js +1 -0
  186. package/dist/sankhyablocks/p-ff28e5e4.entry.js +1 -0
  187. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  188. package/dist/types/components/snk-dynaform/interfaces/PropsCustomEditor.d.ts +4 -0
  189. package/dist/types/components/snk-dynaform/interfaces/PropsCustomRender.d.ts +4 -0
  190. package/dist/types/components/snk-dynaform/subcomponents/CardFormResizeObserver.d.ts +1 -0
  191. package/dist/types/components/snk-dynaform/subcomponents/GuideBuilder.d.ts +14 -0
  192. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.d.ts +158 -0
  193. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.d.ts +107 -0
  194. package/dist/types/components/snk-dynaform-form-config/FormConfigHelper.d.ts +36 -0
  195. package/dist/types/components/snk-dynaform-form-config/SnkFormConfigManager.d.ts +35 -0
  196. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.d.ts +23 -0
  197. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.d.ts +19 -0
  198. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.d.ts +56 -0
  199. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.d.ts +74 -0
  200. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.d.ts +21 -0
  201. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-form-config.d.ts +95 -0
  202. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.d.ts +35 -0
  203. package/dist/types/components.d.ts +2403 -1322
  204. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +1 -0
  205. package/package.json +5 -1
  206. package/react/components.d.ts +12 -0
  207. package/react/components.js +12 -0
  208. package/react/components.js.map +1 -1
  209. package/dist/cjs/SnkMessageBuilder-a9300ebe.js +0 -2833
  210. package/dist/cjs/default-filters-a09bf82b.js +0 -8
  211. package/dist/cjs/index-62760a9c.js +0 -49
  212. package/dist/cjs/index-8d94b7e0.js +0 -7
  213. package/dist/cjs/snk-attach.cjs.entry.js +0 -948
  214. package/dist/cjs/snk-default-filter.cjs.entry.js +0 -77
  215. package/dist/cjs/snk-filter-advanced-mode_3.cjs.entry.js +0 -99
  216. package/dist/cjs/snk-filter-detail.cjs.entry.js +0 -198
  217. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +0 -408
  218. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +0 -109
  219. package/dist/cjs/snk-image-input.cjs.entry.js +0 -160
  220. package/dist/cjs/snk-personalized-filter.cjs.entry.js +0 -358
  221. package/dist/cjs/snk-simple-crud.cjs.entry.js +0 -865
  222. package/dist/esm/SnkMessageBuilder-1eb7a1af.js +0 -2831
  223. package/dist/esm/default-filters-50105e43.js +0 -8
  224. package/dist/esm/index-620ac460.js +0 -7
  225. package/dist/esm/index-8acbae97.js +0 -49
  226. package/dist/esm/snk-attach.entry.js +0 -944
  227. package/dist/esm/snk-default-filter.entry.js +0 -73
  228. package/dist/esm/snk-filter-advanced-mode_3.entry.js +0 -93
  229. package/dist/esm/snk-filter-detail.entry.js +0 -194
  230. package/dist/esm/snk-filter-field-search_2.entry.js +0 -403
  231. package/dist/esm/snk-filter-modal-item.entry.js +0 -105
  232. package/dist/esm/snk-image-input.entry.js +0 -156
  233. package/dist/esm/snk-personalized-filter.entry.js +0 -354
  234. package/dist/esm/snk-simple-crud.entry.js +0 -861
  235. package/dist/sankhyablocks/p-0a4cdcde.entry.js +0 -1
  236. package/dist/sankhyablocks/p-0afc64df.entry.js +0 -1
  237. package/dist/sankhyablocks/p-10f27dc6.entry.js +0 -1
  238. package/dist/sankhyablocks/p-20f03230.entry.js +0 -1
  239. package/dist/sankhyablocks/p-2af8aca3.js +0 -1
  240. package/dist/sankhyablocks/p-3870748a.js +0 -28
  241. package/dist/sankhyablocks/p-3d294185.entry.js +0 -1
  242. package/dist/sankhyablocks/p-438a225f.entry.js +0 -1
  243. package/dist/sankhyablocks/p-4d04bc75.entry.js +0 -1
  244. package/dist/sankhyablocks/p-554c0e54.js +0 -1
  245. package/dist/sankhyablocks/p-57c184a2.entry.js +0 -1
  246. package/dist/sankhyablocks/p-68c1a093.js +0 -1
  247. package/dist/sankhyablocks/p-6a4b21dd.js +0 -1
  248. package/dist/sankhyablocks/p-6ae7543b.entry.js +0 -1
  249. package/dist/sankhyablocks/p-6e278003.js +0 -60
  250. package/dist/sankhyablocks/p-82bcb4cf.entry.js +0 -1
  251. package/dist/sankhyablocks/p-84345e7a.js +0 -1
  252. package/dist/sankhyablocks/p-95af0bb1.entry.js +0 -1
  253. package/dist/sankhyablocks/p-a905712a.entry.js +0 -1
  254. package/dist/sankhyablocks/p-aff2d081.entry.js +0 -1
  255. package/dist/sankhyablocks/p-b0a357b4.entry.js +0 -1
  256. package/dist/sankhyablocks/p-b568c1d4.js +0 -1
  257. package/dist/sankhyablocks/p-bab4cde4.entry.js +0 -1
  258. package/dist/sankhyablocks/p-bd3c1aaa.entry.js +0 -1
  259. package/dist/sankhyablocks/p-cc64239c.entry.js +0 -1
  260. package/dist/sankhyablocks/p-cd00a3d1.entry.js +0 -1
  261. package/dist/sankhyablocks/p-d9ec8c4b.entry.js +0 -1
  262. package/dist/sankhyablocks/p-dbdbb77a.entry.js +0 -1
  263. package/dist/sankhyablocks/p-e8df1dea.entry.js +0 -1
  264. package/dist/sankhyablocks/p-ef9343c3.entry.js +0 -1
  265. package/dist/sankhyablocks/p-f4184ce7.js +0 -1
@@ -0,0 +1,1657 @@
1
+ import { ApplicationContext, DataUnitAction, Action as DUAction, ElementIDUtils, KeyboardManager, StringUtils } from '@sankhyalabs/core';
2
+ import { buildFieldSearch } from '@sankhyalabs/ezui/dist/collection/utils';
3
+ import { h, Host } from '@stencil/core';
4
+ import { PresentationMode } from '../../lib';
5
+ import { ExporterStrategy } from '../../lib/@types';
6
+ import { AutorizationType } from '../../lib/http/data-fetcher/fetchers/auth-fetcher';
7
+ import { VIEW_MODE } from '../../lib/utils/constants';
8
+ import { ContinuousInsertUtils } from '../../lib/utils/ContinuousInsertUtils';
9
+ import { buildNativeTaskbarManager, CustomTaskbarButton, DEFAULT_TASKBAR_BUTTONS, getHeaderTaskbarId, getTopTaskBarId, } from '../snk-crud/utils/taskbarUtils';
10
+ import { validateFilters } from '../snk-filter-bar/utils/filter-validate';
11
+ import { ServicesNumberingConfig } from '../snk-numbering-config/services/ServicesNumberingConfig';
12
+ import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
13
+ import SimpleTaskbarProcessor from '../snk-taskbar/processor/simple-taskbar-processor';
14
+ /**
15
+ * É possível customizar as mensagens dos blocos de construção através de um pequeno modulo na estrutura da aplicação:
16
+ * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
17
+ * Para conhecer os detalhes do módulo, vide os arquivos neste projeto "/src/lib/message/resources/*.msg.ts"
18
+ */
19
+ export class SnkDynaform {
20
+ constructor() {
21
+ this._viewHistory = [];
22
+ this._customEditors = new Map();
23
+ this._customRenders = new Map();
24
+ this._taskbarProcessor = new SimpleTaskbarProcessor(DEFAULT_TASKBAR_BUTTONS);
25
+ this._taskbarCustomProcessor = new SimpleTaskbarProcessor([]);
26
+ this.dataUnitInterceptor = {
27
+ interceptAction: async (action) => {
28
+ var _a;
29
+ switch (action.type) {
30
+ case DUAction.DATA_SAVED:
31
+ return this.interceptDataSaved(action);
32
+ case DUAction.LOADING_DATA:
33
+ return (_a = await this.interceptLoadData(action)) !== null && _a !== void 0 ? _a : new DataUnitAction(DUAction.INVALIDATE_CLEAN);
34
+ default:
35
+ return action;
36
+ }
37
+ },
38
+ };
39
+ this._dataUnit = undefined;
40
+ this._dataState = undefined;
41
+ this.attachmentRegisterKey = undefined;
42
+ this._currentViewMode = VIEW_MODE.GRID;
43
+ this._canEdit = undefined;
44
+ this._resourceID = undefined;
45
+ this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
46
+ this.numberingConfig = undefined;
47
+ this._filterMode = 'regular';
48
+ this._enableContinuousInsert = false;
49
+ this._headerVisible = true;
50
+ this.enableLockManagerLoadingComp = false;
51
+ this.enableLockManagerTaskbarClick = false;
52
+ this.configName = undefined;
53
+ this.filterBarTitle = undefined;
54
+ this.selectionToastConfig = undefined;
55
+ this.showActionButtons = true;
56
+ this.actionsList = undefined;
57
+ this.taskbarManager = undefined;
58
+ this.recordsValidator = undefined;
59
+ this.statusResolver = undefined;
60
+ this.multipleSelection = true;
61
+ this.presentationMode = PresentationMode.PRIMARY;
62
+ this.messagesBuilder = undefined;
63
+ this.useEnterLikeTab = false;
64
+ this.gridLegacyConfigName = undefined;
65
+ this.filterBarLegacyConfigName = undefined;
66
+ this.formLegacyConfigName = undefined;
67
+ this.disablePersonalizedFilter = undefined;
68
+ this.autoLoad = undefined;
69
+ this.autoFocus = true;
70
+ this.enableGridInsert = false;
71
+ this.domainMessagesBuilder = undefined;
72
+ this.ignoreReadOnlyFormFields = undefined;
73
+ this.setCustomFormTitle = undefined;
74
+ this.strategyExporter = ExporterStrategy.SERVER_SIDE;
75
+ this.layoutFormConfig = true;
76
+ this.multipleEditionEnabled = true;
77
+ this.paginationCounterMode = 'auto';
78
+ this.customGuidesConfig = [];
79
+ this.showEntitySearch = true;
80
+ this.disableNumberingConfig = false;
81
+ }
82
+ handleActionClick(evt) {
83
+ this.executeAction(evt.detail);
84
+ }
85
+ /**
86
+ * Usado para alternar a visão entre GRID e FORM externamente.
87
+ */
88
+ async goToView(mode) {
89
+ this.executeAction(mode);
90
+ }
91
+ /**
92
+ * Usado para abrir o configurator do CRUD
93
+ */
94
+ async openConfigurator() {
95
+ var _a;
96
+ (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.open();
97
+ }
98
+ /**
99
+ * Usado para fechar o configurator do CRUD
100
+ */
101
+ async closeConfigurator() {
102
+ var _a;
103
+ (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.close();
104
+ }
105
+ /**
106
+ * Faz o recarregamento da filter-bar do crud, buscando o state no servidor.
107
+ */
108
+ async reloadFilterBar() {
109
+ var _a;
110
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.reloadFilterBar();
111
+ }
112
+ /**
113
+ * Retorna o elemento da filter-bar da grade.
114
+ */
115
+ async getFilterBar() {
116
+ var _a;
117
+ return await ((_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.getFilterBar());
118
+ }
119
+ /**
120
+ * Registra um editor customizado para campos da grade e formulário.
121
+ */
122
+ async addCustomEditor(fieldName, customEditor) {
123
+ if (this._guidesViewer && this._snkGrid) {
124
+ this._guidesViewer.addCustomEditor(fieldName, customEditor);
125
+ this._snkGrid.addCustomEditor(fieldName, customEditor);
126
+ return;
127
+ }
128
+ const newCustomEditors = new Map(this._customEditors);
129
+ newCustomEditors.set(fieldName, customEditor);
130
+ this._customEditors = newCustomEditors;
131
+ }
132
+ /**
133
+ * Registra um render customizado para colunas da grid.
134
+ */
135
+ async addGridCustomRender(fieldName, customRender) {
136
+ if (this._snkGrid) {
137
+ this._snkGrid.addGridCustomRender(fieldName, customRender);
138
+ return;
139
+ }
140
+ const newCustomRenders = new Map(this._customRenders);
141
+ newCustomRenders.set(fieldName, customRender);
142
+ this._customRenders = newCustomRenders;
143
+ }
144
+ /**
145
+ * Registra um formatador de valores para uma coluna da grid.
146
+ */
147
+ async addCustomValueFormatter(columnName, customFormatter) {
148
+ var _a;
149
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.addCustomValueFormatter(columnName, customFormatter);
150
+ }
151
+ /**
152
+ * Remove o formatador de valores de uma coluna da grid.
153
+ */
154
+ async removeCustomValueFormatter(columnName) {
155
+ var _a;
156
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.removeCustomValueFormatter(columnName);
157
+ }
158
+ /**
159
+ * Altera/adiciona uma propriedade nos metadados do campo.
160
+ */
161
+ async setFieldProp(fieldName, propName, value) {
162
+ var _a;
163
+ await ((_a = this._guidesViewer) === null || _a === void 0 ? void 0 : _a.setFieldProp(fieldName, propName, value));
164
+ }
165
+ /**
166
+ * Retorna a configuração de numeração atual.
167
+ */
168
+ async getNumberingConfig() {
169
+ return this.numberingConfig;
170
+ }
171
+ /**
172
+ * Atualiza a configuração de numeração.
173
+ */
174
+ async updateNumberingConfig(config) {
175
+ this.numberingConfig = config;
176
+ this.applyNumberingConfigToFields();
177
+ }
178
+ currentViewModeWatcher(currentView) {
179
+ this._viewHistory = [...this._viewHistory.slice(-1), currentView];
180
+ }
181
+ async gridToForm(keepFormMode = false) {
182
+ var _a;
183
+ this._backToGrid = !keepFormMode && await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.getSelectedIndex()) === VIEW_MODE.GRID;
184
+ this.setViewMode(VIEW_MODE.FORM);
185
+ }
186
+ async executeAction(act) {
187
+ var _a, _b, _c;
188
+ switch (act) {
189
+ case TaskbarElement.GRID_MODE:
190
+ return this.setViewMode(VIEW_MODE.GRID);
191
+ case TaskbarElement.FORM_MODE:
192
+ case TaskbarElement.UPDATE:
193
+ return this.gridToForm(act !== TaskbarElement.UPDATE);
194
+ case TaskbarElement.UPDATE_MULTIPLE:
195
+ if (this._dataUnit) {
196
+ this._dataUnit.isMultipleEdition = true;
197
+ }
198
+ return this.setViewMode(VIEW_MODE.FORM);
199
+ case TaskbarElement.CONFIGURATOR:
200
+ return (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.open();
201
+ case TaskbarElement.ATTACH:
202
+ return (_b = this._snkAttach) === null || _b === void 0 ? void 0 : _b.open();
203
+ case CustomTaskbarButton.FILTER:
204
+ return (_c = this._snkFilterBar) === null || _c === void 0 ? void 0 : _c.showFilterModal();
205
+ case CustomTaskbarButton.ENTITY_SEARCH:
206
+ return this.openSearchPopover();
207
+ }
208
+ }
209
+ setViewMode(viewMode) {
210
+ var _a, _b, _c, _d, _e;
211
+ (_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show(viewMode);
212
+ this._currentViewMode = viewMode;
213
+ if (viewMode === VIEW_MODE.GRID) {
214
+ if (this._dataUnit) {
215
+ this._dataUnit.isMultipleEdition = false;
216
+ }
217
+ (_b = this._snkGrid) === null || _b === void 0 ? void 0 : _b.setFocus();
218
+ }
219
+ else if (viewMode === VIEW_MODE.FORM) {
220
+ (_d = (_c = this._guidesViewer) === null || _c === void 0 ? void 0 : _c.setFocus) === null || _d === void 0 ? void 0 : _d.call(_c);
221
+ }
222
+ (_e = this.viewModeChanged) === null || _e === void 0 ? void 0 : _e.emit(viewMode);
223
+ }
224
+ openConfig(viewMode) {
225
+ var _a, _b, _c, _d, _e, _f;
226
+ (_b = (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.close) === null || _b === void 0 ? void 0 : _b.call(_a);
227
+ if (viewMode === VIEW_MODE.GRID) {
228
+ (_d = (_c = this._snkGrid).showConfig) === null || _d === void 0 ? void 0 : _d.call(_c);
229
+ }
230
+ else if (viewMode === VIEW_MODE.FORM) {
231
+ (_f = (_e = this._guidesViewer).showFormConfig) === null || _f === void 0 ? void 0 : _f.call(_e);
232
+ }
233
+ }
234
+ addDataElementID() {
235
+ const dataInfo = { dataUnit: this._dataUnit };
236
+ if (this._element) {
237
+ ElementIDUtils.addIDInfo(this._element, undefined, dataInfo);
238
+ }
239
+ }
240
+ insertionModeHandler() {
241
+ if (this.enableGridInsert)
242
+ return;
243
+ this.gridToForm();
244
+ }
245
+ cancelHandler() {
246
+ if (this._backToGrid) {
247
+ this.setViewMode(VIEW_MODE.GRID);
248
+ }
249
+ }
250
+ async getAttachmentRegisterKey() {
251
+ if (!this._snkDataUnit) {
252
+ return;
253
+ }
254
+ const recordCriteria = await this._snkDataUnit.getSelectedRecordsIDsInfo();
255
+ const joinedPrimaryKeys = recordCriteria.map(({ value }) => value).join('_');
256
+ return joinedPrimaryKeys;
257
+ }
258
+ setCustomRenders() {
259
+ if (!this._snkGrid) {
260
+ return;
261
+ }
262
+ for (const [fieldName, customRender] of this._customRenders) {
263
+ this._snkGrid.addGridCustomRender(fieldName, customRender);
264
+ this._customRenders.delete(fieldName);
265
+ }
266
+ }
267
+ setCustomEditors() {
268
+ if (!this._snkGrid || !this._guidesViewer) {
269
+ return;
270
+ }
271
+ for (const [fieldName, customEditor] of this._customEditors) {
272
+ this._guidesViewer.addCustomEditor(fieldName, customEditor);
273
+ this._snkGrid.addCustomEditor(fieldName, customEditor);
274
+ this._customEditors.delete(fieldName);
275
+ }
276
+ }
277
+ initializeTaskbarProcessor() {
278
+ if (!this._dataState) {
279
+ return;
280
+ }
281
+ const nativeTaskbarManager = buildNativeTaskbarManager(this._currentViewMode, this.taskbarManager, this.messagesBuilder);
282
+ const topTaskbarId = getTopTaskBarId(this._dataState, this.presentationMode);
283
+ this._taskbarProcessor.process(topTaskbarId, nativeTaskbarManager, this._dataState, undefined, []);
284
+ const headerTaskbarId = getHeaderTaskbarId(this._dataState, this.presentationMode);
285
+ this._taskbarCustomProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, undefined, []);
286
+ }
287
+ componentWillRender() {
288
+ this.initializeTaskbarProcessor();
289
+ }
290
+ componentDidRender() {
291
+ this.setCustomRenders();
292
+ this.setCustomEditors();
293
+ }
294
+ componentWillLoad() {
295
+ var _a, _b, _c, _d, _e;
296
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
297
+ let parent = (_a = this._element) === null || _a === void 0 ? void 0 : _a.parentElement;
298
+ (_b = this._application) === null || _b === void 0 ? void 0 : _b.hasAccess(AutorizationType.UPDATE, this._resourceID).then(canEdit => this._canEdit = canEdit);
299
+ while (parent) {
300
+ if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
301
+ this._snkDataUnit = parent;
302
+ this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
303
+ this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
304
+ if (this._snkDataUnit && this.domainMessagesBuilder) {
305
+ this._snkDataUnit.domainMessagesBuilder = this.domainMessagesBuilder;
306
+ }
307
+ this._dataUnit = this._snkDataUnit.dataUnit;
308
+ this._dataState = this._snkDataUnit.dataState;
309
+ if (!this._dataUnit) {
310
+ (_c = this._snkDataUnit) === null || _c === void 0 ? void 0 : _c.addEventListener("dataUnitReady", ((evt) => {
311
+ this._dataUnit = evt.detail;
312
+ this.initDataUnit();
313
+ }));
314
+ }
315
+ else {
316
+ this.initDataUnit();
317
+ }
318
+ (_d = this._snkDataUnit) === null || _d === void 0 ? void 0 : _d.addEventListener("dataStateChange", ((evt) => this.handleDataStateChange(evt)));
319
+ break;
320
+ }
321
+ parent = parent.parentElement;
322
+ }
323
+ if (!this.configName) {
324
+ this.configName = (_e = this._application) === null || _e === void 0 ? void 0 : _e.configName;
325
+ }
326
+ this.initContinuousInsertUtils();
327
+ }
328
+ componentDidLoad() {
329
+ this.initKeyboardManager();
330
+ }
331
+ disconnectedCallback() {
332
+ var _a;
333
+ this.removeShortcuts();
334
+ (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.removeInterceptor(this.dataUnitInterceptor);
335
+ }
336
+ async handleDataStateChange(evt) {
337
+ var _a, _b, _c;
338
+ this._dataState = evt.detail;
339
+ if (this._dataState.selectedRecord !== undefined) {
340
+ this.attachmentRegisterKey = (_a = await this.getAttachmentRegisterKey()) !== null && _a !== void 0 ? _a : undefined;
341
+ }
342
+ const fieldsWithRmPrecision = await ((_b = this._snkDataUnit) === null || _b === void 0 ? void 0 : _b.getFieldsWithRmPrecision());
343
+ for (const field of fieldsWithRmPrecision || []) {
344
+ if (!field) {
345
+ continue;
346
+ }
347
+ const rmPrecision = (_c = this._dataState.rowMetadata) === null || _c === void 0 ? void 0 : _c.getProp('rm_precision', field);
348
+ if (!rmPrecision && rmPrecision !== 0) {
349
+ continue;
350
+ }
351
+ await this.setFieldProp(field, 'precision', rmPrecision);
352
+ await this.setFieldProp(field, 'prettyPrecision', rmPrecision);
353
+ }
354
+ ;
355
+ }
356
+ async initKeyboardManager() {
357
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
358
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
359
+ const dataUnit = this._dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
360
+ async function saveDataUnitHandlingFocus() {
361
+ const element = document.activeElement;
362
+ const isDocumentBody = (element == document.body);
363
+ if (!isDocumentBody)
364
+ element.blur();
365
+ await (dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.saveData());
366
+ if (!isDocumentBody && element.setFocus != undefined) {
367
+ element.setFocus();
368
+ return;
369
+ }
370
+ if (!isDocumentBody)
371
+ element.focus();
372
+ }
373
+ async function handleAddRecord() {
374
+ if (!(dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.hasNewRecord())) {
375
+ dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.addRecord();
376
+ }
377
+ }
378
+ if (this._keyboardManager) {
379
+ this._keyboardManager
380
+ .bind("F6", this.toggleView.bind(this), { description: (_b = this.getMessage("snkCrud.shortcuts.toggleView")) !== null && _b !== void 0 ? _b : "", element: this._element })
381
+ .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: (_c = this.getMessage("snkCrud.shortcuts.saveData")) !== null && _c !== void 0 ? _c : "", element: this._element })
382
+ .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: (_d = this.getMessage("snkCrud.shortcuts.addRecord")) !== null && _d !== void 0 ? _d : "", element: this._element })
383
+ .bind("F8", handleAddRecord.bind(this), { description: (_e = this.getMessage("snkCrud.shortcuts.addRecord")) !== null && _e !== void 0 ? _e : "", element: this._element })
384
+ .bind("F9", dataUnit ? (_f = dataUnit.removeSelectedRecords) === null || _f === void 0 ? void 0 : _f.bind(dataUnit) : () => { }, { description: (_g = this.getMessage("snkCrud.shortcuts.removeRecord")) !== null && _g !== void 0 ? _g : "", element: this._element })
385
+ .bind("ctrl + F9", dataUnit ? dataUnit.removeSelectedRecords.bind(dataUnit) : () => { }, { description: (_h = this.getMessage("snkCrud.shortcuts.removeRecord")) !== null && _h !== void 0 ? _h : "", element: this._element })
386
+ .bind("F5", async () => {
387
+ var _a;
388
+ const currentView = await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.getSelectedIndex());
389
+ if (VIEW_MODE.GRID === currentView) {
390
+ dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.loadData();
391
+ }
392
+ }, { description: (_j = this.getMessage("snkCrud.shortcuts.refreshData")) !== null && _j !== void 0 ? _j : "", element: this._element })
393
+ .bind("Escape", () => {
394
+ if (dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.isDirty()) {
395
+ dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.cancelEdition();
396
+ }
397
+ }, {
398
+ debounceTime: 1000,
399
+ description: (_k = this.getMessage("snkCrud.shortcuts.cancelAction")) !== null && _k !== void 0 ? _k : "", element: this._element
400
+ });
401
+ }
402
+ }
403
+ getMessage(key, params) {
404
+ if (this.messagesBuilder)
405
+ return this.messagesBuilder.getMessage(key, params);
406
+ return undefined;
407
+ }
408
+ async removeShortcuts() {
409
+ var _a;
410
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
411
+ }
412
+ async toggleView() {
413
+ var _a;
414
+ const currentView = await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.getSelectedIndex());
415
+ this.setViewMode(VIEW_MODE.GRID === currentView ? VIEW_MODE.FORM : VIEW_MODE.GRID);
416
+ }
417
+ getLastRecordSaved(action) {
418
+ var _a;
419
+ if ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.records.length) {
420
+ return action.payload.records[action.payload.records.length - 1];
421
+ }
422
+ return null;
423
+ }
424
+ async saveNumberingConfig() {
425
+ if (!this._snkDataUnit || !this.numberingConfig || !this._servicesNumberingConfig) {
426
+ return;
427
+ }
428
+ const payload = {
429
+ entityName: this._snkDataUnit.entityName,
430
+ isAutoNum: this.numberingConfig.isAutoNumbering,
431
+ numInicial: this.numberingConfig.initialNumber
432
+ };
433
+ await this._servicesNumberingConfig.saveConfig(payload);
434
+ }
435
+ updateNumberingConfigAfterInsert(action) {
436
+ var _a, _b, _c;
437
+ if (!((_a = action.payload) === null || _a === void 0 ? void 0 : _a.changes.length) || this.disableNumberingConfig || !((_b = this.numberingConfig) === null || _b === void 0 ? void 0 : _b.isAutoNumbering) || !this._fieldAutoNum) {
438
+ return action;
439
+ }
440
+ if (!action.payload.changes.some((change) => change.operation === 'INSERT' || change.operation === 'COPY')) {
441
+ return action;
442
+ }
443
+ const lastRecord = this.getLastRecordSaved(action);
444
+ if (lastRecord && lastRecord.hasOwnProperty(this._fieldAutoNum)) {
445
+ const currentNumber = Number(lastRecord[this._fieldAutoNum]);
446
+ this.numberingConfig.initialNumber = currentNumber;
447
+ this.saveNumberingConfig();
448
+ }
449
+ else {
450
+ this.numberingConfig.initialNumber = this.numberingConfig.initialNumber + 1;
451
+ }
452
+ (_c = this.numberingConfigChanged) === null || _c === void 0 ? void 0 : _c.emit(this.numberingConfig);
453
+ return action;
454
+ }
455
+ interceptDataSaved(action) {
456
+ this.updateNumberingConfigAfterInsert(action);
457
+ return action;
458
+ }
459
+ async interceptLoadData(action) {
460
+ var _a, _b, _c, _d, _e, _f, _g;
461
+ const hasInvalidFilters = !validateFilters((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) !== null && _b !== void 0 ? _b : []);
462
+ if (hasInvalidFilters) {
463
+ const errorTitle = (_d = (_c = this.messagesBuilder) === null || _c === void 0 ? void 0 : _c.getMessage("snkGrid.requiredFiltersNotFilled.title", {})) !== null && _d !== void 0 ? _d : "";
464
+ const errorMessage = (_f = (_e = this.messagesBuilder) === null || _e === void 0 ? void 0 : _e.getMessage("snkGrid.requiredFiltersNotFilled.message", {})) !== null && _f !== void 0 ? _f : "";
465
+ await ((_g = this._application) === null || _g === void 0 ? void 0 : _g.error(errorTitle, errorMessage));
466
+ return;
467
+ }
468
+ return action;
469
+ }
470
+ onDataUnitReady() {
471
+ var _a;
472
+ (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.addInterceptor(this.dataUnitInterceptor);
473
+ this.loadNumberingConfig();
474
+ }
475
+ async initDataUnit() {
476
+ var _a, _b, _c;
477
+ this.addDataElementID();
478
+ if (!this.messagesBuilder) {
479
+ this.messagesBuilder = (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.messagesBuilder;
480
+ }
481
+ if (this._resourceID == undefined) {
482
+ //Tenta pegar o resourceID do snkDataUnit;
483
+ this._resourceID = (_b = this._snkDataUnit) === null || _b === void 0 ? void 0 : _b.resourceID;
484
+ if (this._resourceID == undefined) {
485
+ this._resourceID = await ((_c = this._application) === null || _c === void 0 ? void 0 : _c.getResourceID());
486
+ }
487
+ }
488
+ this.onDataUnitReady();
489
+ }
490
+ initContinuousInsertUtils() {
491
+ if (!this._application || !this._resourceID) {
492
+ return;
493
+ }
494
+ this._continuousInsertUtils = new ContinuousInsertUtils(this._application, this._resourceID, this.configName);
495
+ if (this.enableGridInsert) {
496
+ this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
497
+ }
498
+ }
499
+ async loadNumberingConfig() {
500
+ if (this.numberingConfig || !this._snkDataUnit || !this._snkDataUnit.entityName || this.disableNumberingConfig || !this._application) {
501
+ return;
502
+ }
503
+ if (!this._servicesNumberingConfig) {
504
+ this._servicesNumberingConfig = new ServicesNumberingConfig(this._application, this._resourceID);
505
+ }
506
+ try {
507
+ this.numberingConfig = await this._servicesNumberingConfig.getConfig(this._snkDataUnit.entityName);
508
+ this.getFieldAutoNum();
509
+ this.applyNumberingConfigToFields();
510
+ }
511
+ catch (error) {
512
+ console.error("Error loading numbering config in snk-crud:", error);
513
+ this.numberingConfig = {
514
+ isAutoNumbering: false,
515
+ initialNumber: NaN
516
+ };
517
+ }
518
+ }
519
+ getFieldAutoNum() {
520
+ var _a;
521
+ if (this._fieldAutoNum) {
522
+ return;
523
+ }
524
+ const fieldAutoNum = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.metadata.fields.find((field) => { var _a; return ((_a = field.properties) === null || _a === void 0 ? void 0 : _a["isAutoNumField"]) === "true"; });
525
+ this._fieldAutoNum = (fieldAutoNum === null || fieldAutoNum === void 0 ? void 0 : fieldAutoNum.name) || null;
526
+ }
527
+ async applyNumberingConfigToFields() {
528
+ var _a;
529
+ if (!this.numberingConfig || !this._snkDataUnit || !this._fieldAutoNum) {
530
+ return;
531
+ }
532
+ const field = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(this._fieldAutoNum);
533
+ if (!field) {
534
+ return;
535
+ }
536
+ field.readOnly = this.numberingConfig.isAutoNumbering;
537
+ field.required = !this.numberingConfig.isAutoNumbering;
538
+ }
539
+ handleConfiguratorEvent(evt, type) {
540
+ var _a, _b, _c;
541
+ evt.stopImmediatePropagation();
542
+ if (type === 'SAVE') {
543
+ (_a = this._guidesViewer) === null || _a === void 0 ? void 0 : _a.reloadGuides();
544
+ (_b = this.configuratorSave) === null || _b === void 0 ? void 0 : _b.emit();
545
+ return;
546
+ }
547
+ (_c = this.configuratorCancel) === null || _c === void 0 ? void 0 : _c.emit();
548
+ }
549
+ renderCustomGuideSlots() {
550
+ if (!this.customGuidesConfig)
551
+ return;
552
+ return this.customGuidesConfig.map(g => h("slot", { name: g.id }));
553
+ }
554
+ getColumnSearch(item) {
555
+ if (this._columnSearch != undefined) {
556
+ return this._columnSearch;
557
+ }
558
+ this._columnSearch = buildFieldSearch(item, ({ argument }) => new Promise(accept => {
559
+ var _a;
560
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.filterColumns(argument).then((columns) => {
561
+ accept(columns
562
+ .filter(column => !column.hidden)
563
+ .map(column => ({ label: column.label, value: column.name })));
564
+ });
565
+ }), (option) => {
566
+ var _a;
567
+ if (option != undefined) {
568
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.locateColumn(option.value);
569
+ }
570
+ });
571
+ return this._columnSearch;
572
+ }
573
+ buildTaskbarCustomActionsList() {
574
+ return [this.buildSearchColumnTaskbarAction()];
575
+ }
576
+ buildSearchColumnTaskbarAction() {
577
+ var _a, _b;
578
+ return {
579
+ value: StringUtils.generateUUID(),
580
+ label: (_b = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage('snkGrid.findColumn', {})) !== null && _b !== void 0 ? _b : "",
581
+ disableCloseOnSelect: true,
582
+ eagerInitialize: true,
583
+ itemBuilder: (_, item) => { var _a; return (_a = this.getColumnSearch(item)) !== null && _a !== void 0 ? _a : document.createElement('div'); },
584
+ };
585
+ }
586
+ isGridInsertActive() {
587
+ var _a;
588
+ return this.enableGridInsert && ((_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.hasNewRecord());
589
+ }
590
+ getActionsList() {
591
+ var _a, _b;
592
+ const hardList = [];
593
+ if (this.enableGridInsert && this._continuousInsertUtils) {
594
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
595
+ var _a;
596
+ this._enableContinuousInsert = !this._enableContinuousInsert;
597
+ (_a = this._continuousInsertUtils) === null || _a === void 0 ? void 0 : _a.handleSaveConfig(this._enableContinuousInsert);
598
+ }));
599
+ }
600
+ if (this.isGridInsertActive()) {
601
+ return hardList;
602
+ }
603
+ if (this._dataState && this.actionsList && this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
604
+ const taskbarID = getTopTaskBarId(this._dataState, this.presentationMode);
605
+ return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, (_a = this.configName) !== null && _a !== void 0 ? _a : "", this._dataState, this.actionsList));
606
+ }
607
+ return hardList.concat((_b = this.actionsList) !== null && _b !== void 0 ? _b : []);
608
+ }
609
+ async openSearchPopover() {
610
+ var _a;
611
+ if (!this._popoverSearchEntity) {
612
+ return;
613
+ }
614
+ const buttonElement = (_a = this._element) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-taskbar-element="${CustomTaskbarButton.ENTITY_SEARCH}"]`);
615
+ await this._popoverSearchEntity.showUnder(buttonElement);
616
+ }
617
+ handleLoadedSearch(evt) {
618
+ var _a;
619
+ if (evt.detail.length === 1) {
620
+ (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.selectFirst();
621
+ this.gridToForm(true);
622
+ }
623
+ }
624
+ renderDynamicSearch() {
625
+ var _a;
626
+ if (!this.showEntitySearch)
627
+ return;
628
+ return (h("snk-entity-search", { ref: (ref) => this._popoverSearchEntity = ref, dataUnit: this._dataUnit, entityName: (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.entityName, messagesBuilder: this.messagesBuilder, onLoaded: (evt) => this.handleLoadedSearch(evt) }));
629
+ }
630
+ handleFilterConfigUpdated(filterConfig) {
631
+ if (!filterConfig.length) {
632
+ return;
633
+ }
634
+ if (filterConfig.length === 1 && filterConfig[0].id === 'PERSONALIZED_FILTER_GROUP') {
635
+ this._filterMode = filterConfig[0].groupedItems.length > 0 ? 'regular' : 'button';
636
+ return;
637
+ }
638
+ }
639
+ render() {
640
+ var _a, _b, _c, _d, _e;
641
+ if (this._resourceID == undefined) {
642
+ return;
643
+ }
644
+ if (this._snkDataUnit) {
645
+ this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === VIEW_MODE.GRID && !this.enableGridInsert);
646
+ }
647
+ return (h(Host, null, h("header", { class: { 'snk-crud--hidden': !this._headerVisible, 'snk-crud__header': true } }, h("div", { class: "snk-crud__header-top" }, h("snk-taskbar", { "data-element-id": "grid_top", key: "snkGridTopTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, resourceID: this._resourceID, primaryButton: "INSERT", overflowStrategy: "hiddenItems", alignRigth: true, actionsList: this.getActionsList(), customActionsList: this.buildTaskbarCustomActionsList(), sizeButtons: 'medium' })), h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this._resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, mode: this._filterMode, hideFilterButton: true, sizeChips: 'default' })), h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'snk-crud__grid-stack-item' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter, multipleEditionEnabled: this.multipleEditionEnabled, paginationCounterMode: this.paginationCounterMode, hideHeader: true, hideGridTaskbar: true }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-dynaform-guides-view", { ref: (ref) => this._guidesViewer = ref, customGuidesConfig: this.customGuidesConfig, entityPath: (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: (evt) => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields, onFormConfigVisibilityChanged: evt => this._headerVisible = !evt.detail }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), this.renderCustomGuideSlots(), h("slot", { name: "SnkFormTaskBar" })))), h("snk-attach", { ref: (ref) => this._snkAttach = ref, registerKey: (_b = this.attachmentRegisterKey) !== null && _b !== void 0 ? _b : '', messagesBuilder: this.messagesBuilder, entityName: (_d = (_c = this._snkDataUnit) === null || _c === void 0 ? void 0 : _c.entityName) !== null && _d !== void 0 ? _d : '' }), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, entityName: (_e = this._snkDataUnit) === null || _e === void 0 ? void 0 : _e.entityName, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig }), this.renderDynamicSearch(), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
648
+ }
649
+ static get is() { return "snk-dynaform"; }
650
+ static get encapsulation() { return "scoped"; }
651
+ static get originalStyleUrls() {
652
+ return {
653
+ "$": ["snk-dynaform.css"]
654
+ };
655
+ }
656
+ static get styleUrls() {
657
+ return {
658
+ "$": ["snk-dynaform.css"]
659
+ };
660
+ }
661
+ static get properties() {
662
+ return {
663
+ "enableLockManagerLoadingComp": {
664
+ "type": "boolean",
665
+ "mutable": false,
666
+ "complexType": {
667
+ "original": "boolean",
668
+ "resolved": "boolean",
669
+ "references": {}
670
+ },
671
+ "required": false,
672
+ "optional": true,
673
+ "docs": {
674
+ "tags": [],
675
+ "text": "Define se o componente deve usar o LockManager para controle de carregamento da aplica\u00E7\u00E3o"
676
+ },
677
+ "attribute": "enable-lock-manager-loading-comp",
678
+ "reflect": false,
679
+ "defaultValue": "false"
680
+ },
681
+ "enableLockManagerTaskbarClick": {
682
+ "type": "boolean",
683
+ "mutable": false,
684
+ "complexType": {
685
+ "original": "boolean",
686
+ "resolved": "boolean",
687
+ "references": {}
688
+ },
689
+ "required": false,
690
+ "optional": true,
691
+ "docs": {
692
+ "tags": [],
693
+ "text": "Ativa o gerenciamento de locks na grade pela Taskbar."
694
+ },
695
+ "attribute": "enable-lock-manager-taskbar-click",
696
+ "reflect": false,
697
+ "defaultValue": "false"
698
+ },
699
+ "configName": {
700
+ "type": "string",
701
+ "mutable": true,
702
+ "complexType": {
703
+ "original": "string",
704
+ "resolved": "string",
705
+ "references": {}
706
+ },
707
+ "required": false,
708
+ "optional": true,
709
+ "docs": {
710
+ "tags": [],
711
+ "text": "Usado para salvar as configura\u00E7\u00F5es dos blocos de constru\u00E7\u00E3o."
712
+ },
713
+ "attribute": "config-name",
714
+ "reflect": false
715
+ },
716
+ "filterBarTitle": {
717
+ "type": "string",
718
+ "mutable": false,
719
+ "complexType": {
720
+ "original": "string",
721
+ "resolved": "string",
722
+ "references": {}
723
+ },
724
+ "required": false,
725
+ "optional": true,
726
+ "docs": {
727
+ "tags": [],
728
+ "text": "T\u00EDtulo que ser\u00E1 apresentado na barra de filtros"
729
+ },
730
+ "attribute": "filter-bar-title",
731
+ "reflect": false
732
+ },
733
+ "selectionToastConfig": {
734
+ "type": "unknown",
735
+ "mutable": false,
736
+ "complexType": {
737
+ "original": "ISelectionToastConfig",
738
+ "resolved": "ISelectionToastConfig",
739
+ "references": {
740
+ "ISelectionToastConfig": {
741
+ "location": "import",
742
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces"
743
+ }
744
+ }
745
+ },
746
+ "required": false,
747
+ "optional": true,
748
+ "docs": {
749
+ "tags": [],
750
+ "text": "Configura\u00E7\u00E3o da sele\u00E7\u00E3o de grade no toast."
751
+ }
752
+ },
753
+ "showActionButtons": {
754
+ "type": "boolean",
755
+ "mutable": false,
756
+ "complexType": {
757
+ "original": "boolean",
758
+ "resolved": "boolean",
759
+ "references": {}
760
+ },
761
+ "required": false,
762
+ "optional": false,
763
+ "docs": {
764
+ "tags": [],
765
+ "text": "Usado para exibir os bot\u00F5es de a\u00E7\u00E3o do snk-configurator"
766
+ },
767
+ "attribute": "show-action-buttons",
768
+ "reflect": false,
769
+ "defaultValue": "true"
770
+ },
771
+ "actionsList": {
772
+ "type": "unknown",
773
+ "mutable": false,
774
+ "complexType": {
775
+ "original": "Array<Action>",
776
+ "resolved": "Action[]",
777
+ "references": {
778
+ "Array": {
779
+ "location": "global"
780
+ },
781
+ "Action": {
782
+ "location": "import",
783
+ "path": "../snk-taskbar/snk-taskbar"
784
+ }
785
+ }
786
+ },
787
+ "required": false,
788
+ "optional": true,
789
+ "docs": {
790
+ "tags": [],
791
+ "text": "A\u00E7\u00F5es a serem colocadas no bot\u00E3o \"Mais op\u00E7\u00F5es\" do componente snk-taskbar."
792
+ }
793
+ },
794
+ "taskbarManager": {
795
+ "type": "unknown",
796
+ "mutable": false,
797
+ "complexType": {
798
+ "original": "TaskbarManager",
799
+ "resolved": "TaskbarManager",
800
+ "references": {
801
+ "TaskbarManager": {
802
+ "location": "import",
803
+ "path": "../snk-taskbar/snk-taskbar"
804
+ }
805
+ }
806
+ },
807
+ "required": false,
808
+ "optional": true,
809
+ "docs": {
810
+ "tags": [],
811
+ "text": "Gerenciador das barras de tarefas. \u00C9 poss\u00EDvel determinar bot\u00F5es espec\u00EDficos\nou mesmo gerenciar o estado dos bot\u00F5es."
812
+ }
813
+ },
814
+ "recordsValidator": {
815
+ "type": "unknown",
816
+ "mutable": false,
817
+ "complexType": {
818
+ "original": "IRecordValidator",
819
+ "resolved": "IRecordValidator",
820
+ "references": {
821
+ "IRecordValidator": {
822
+ "location": "import",
823
+ "path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
824
+ }
825
+ }
826
+ },
827
+ "required": false,
828
+ "optional": true,
829
+ "docs": {
830
+ "tags": [],
831
+ "text": "Validador respons\u00E1vel por checar a integridade das informa\u00E7\u00F5es do registro."
832
+ }
833
+ },
834
+ "statusResolver": {
835
+ "type": "unknown",
836
+ "mutable": false,
837
+ "complexType": {
838
+ "original": "IStatusResolver | StatusResolverFunction",
839
+ "resolved": "((data: object) => string) | IStatusResolver",
840
+ "references": {
841
+ "IStatusResolver": {
842
+ "location": "import",
843
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController"
844
+ },
845
+ "StatusResolverFunction": {
846
+ "location": "import",
847
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController"
848
+ }
849
+ }
850
+ },
851
+ "required": false,
852
+ "optional": true,
853
+ "docs": {
854
+ "tags": [],
855
+ "text": "Configura\u00E7\u00E3o do valor da coluna de status.\nExemplo: { \"RECDESP\": { \"-1\" : \"#BD0025\", \"1\" : \"#157A00\" } }"
856
+ }
857
+ },
858
+ "multipleSelection": {
859
+ "type": "boolean",
860
+ "mutable": false,
861
+ "complexType": {
862
+ "original": "boolean",
863
+ "resolved": "boolean",
864
+ "references": {}
865
+ },
866
+ "required": false,
867
+ "optional": false,
868
+ "docs": {
869
+ "tags": [],
870
+ "text": "Determina se pode haver mais de uma linha selecionada na grade."
871
+ },
872
+ "attribute": "multiple-selection",
873
+ "reflect": false,
874
+ "defaultValue": "true"
875
+ },
876
+ "presentationMode": {
877
+ "type": "string",
878
+ "mutable": false,
879
+ "complexType": {
880
+ "original": "PresentationMode",
881
+ "resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
882
+ "references": {
883
+ "PresentationMode": {
884
+ "location": "import",
885
+ "path": "../../lib"
886
+ }
887
+ }
888
+ },
889
+ "required": false,
890
+ "optional": false,
891
+ "docs": {
892
+ "tags": [],
893
+ "text": "Altera o modo de apresenta\u00E7\u00E3o dos bot\u00F5es do snk-taskbar."
894
+ },
895
+ "attribute": "presentation-mode",
896
+ "reflect": false,
897
+ "defaultValue": "PresentationMode.PRIMARY"
898
+ },
899
+ "messagesBuilder": {
900
+ "type": "unknown",
901
+ "mutable": true,
902
+ "complexType": {
903
+ "original": "SnkMessageBuilder",
904
+ "resolved": "SnkMessageBuilder",
905
+ "references": {
906
+ "SnkMessageBuilder": {
907
+ "location": "import",
908
+ "path": "../../lib/message/SnkMessageBuilder"
909
+ }
910
+ }
911
+ },
912
+ "required": false,
913
+ "optional": true,
914
+ "docs": {
915
+ "tags": [],
916
+ "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
917
+ }
918
+ },
919
+ "useEnterLikeTab": {
920
+ "type": "boolean",
921
+ "mutable": false,
922
+ "complexType": {
923
+ "original": "boolean",
924
+ "resolved": "boolean",
925
+ "references": {}
926
+ },
927
+ "required": false,
928
+ "optional": false,
929
+ "docs": {
930
+ "tags": [],
931
+ "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
932
+ },
933
+ "attribute": "use-enter-like-tab",
934
+ "reflect": false,
935
+ "defaultValue": "false"
936
+ },
937
+ "gridLegacyConfigName": {
938
+ "type": "string",
939
+ "mutable": false,
940
+ "complexType": {
941
+ "original": "string",
942
+ "resolved": "string",
943
+ "references": {}
944
+ },
945
+ "required": false,
946
+ "optional": true,
947
+ "docs": {
948
+ "tags": [],
949
+ "text": "Chave da configura\u00E7\u00E3o legado da grade."
950
+ },
951
+ "attribute": "grid-legacy-config-name",
952
+ "reflect": false
953
+ },
954
+ "filterBarLegacyConfigName": {
955
+ "type": "string",
956
+ "mutable": false,
957
+ "complexType": {
958
+ "original": "string",
959
+ "resolved": "string",
960
+ "references": {}
961
+ },
962
+ "required": false,
963
+ "optional": true,
964
+ "docs": {
965
+ "tags": [],
966
+ "text": "Chave da configura\u00E7\u00E3o legado da barra de filtros."
967
+ },
968
+ "attribute": "filter-bar-legacy-config-name",
969
+ "reflect": false
970
+ },
971
+ "formLegacyConfigName": {
972
+ "type": "string",
973
+ "mutable": false,
974
+ "complexType": {
975
+ "original": "string",
976
+ "resolved": "string",
977
+ "references": {}
978
+ },
979
+ "required": false,
980
+ "optional": true,
981
+ "docs": {
982
+ "tags": [],
983
+ "text": "Chave da configura\u00E7\u00E3o legado do formul\u00E1rio."
984
+ },
985
+ "attribute": "form-legacy-config-name",
986
+ "reflect": false
987
+ },
988
+ "disablePersonalizedFilter": {
989
+ "type": "boolean",
990
+ "mutable": false,
991
+ "complexType": {
992
+ "original": "boolean",
993
+ "resolved": "boolean",
994
+ "references": {}
995
+ },
996
+ "required": false,
997
+ "optional": true,
998
+ "docs": {
999
+ "tags": [],
1000
+ "text": "Desabilita a apresenta\u00E7\u00E3o da op\u00E7\u00E3o de filtros personalizados na filter bar (chip de filtros)\ne no modal lateral de filtros (container de filtros personalizados)."
1001
+ },
1002
+ "attribute": "disable-personalized-filter",
1003
+ "reflect": false
1004
+ },
1005
+ "autoLoad": {
1006
+ "type": "boolean",
1007
+ "mutable": false,
1008
+ "complexType": {
1009
+ "original": "boolean",
1010
+ "resolved": "boolean",
1011
+ "references": {}
1012
+ },
1013
+ "required": false,
1014
+ "optional": true,
1015
+ "docs": {
1016
+ "tags": [],
1017
+ "text": "Define se a carga dos dados ser\u00E1 feita assim que o componente for carregado."
1018
+ },
1019
+ "attribute": "auto-load",
1020
+ "reflect": false
1021
+ },
1022
+ "autoFocus": {
1023
+ "type": "boolean",
1024
+ "mutable": false,
1025
+ "complexType": {
1026
+ "original": "boolean",
1027
+ "resolved": "boolean",
1028
+ "references": {}
1029
+ },
1030
+ "required": false,
1031
+ "optional": true,
1032
+ "docs": {
1033
+ "tags": [],
1034
+ "text": "Define se a grid ser\u00E1 focada ao ser carregada."
1035
+ },
1036
+ "attribute": "auto-focus",
1037
+ "reflect": false,
1038
+ "defaultValue": "true"
1039
+ },
1040
+ "enableGridInsert": {
1041
+ "type": "boolean",
1042
+ "mutable": false,
1043
+ "complexType": {
1044
+ "original": "boolean",
1045
+ "resolved": "boolean",
1046
+ "references": {}
1047
+ },
1048
+ "required": false,
1049
+ "optional": true,
1050
+ "docs": {
1051
+ "tags": [],
1052
+ "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
1053
+ },
1054
+ "attribute": "enable-grid-insert",
1055
+ "reflect": false,
1056
+ "defaultValue": "false"
1057
+ },
1058
+ "domainMessagesBuilder": {
1059
+ "type": "string",
1060
+ "mutable": false,
1061
+ "complexType": {
1062
+ "original": "string",
1063
+ "resolved": "string",
1064
+ "references": {}
1065
+ },
1066
+ "required": false,
1067
+ "optional": true,
1068
+ "docs": {
1069
+ "tags": [],
1070
+ "text": "Define a chave customizada para sobrescrever as mensagens (N\u00E3o pegando pela entidade)"
1071
+ },
1072
+ "attribute": "domain-messages-builder",
1073
+ "reflect": false
1074
+ },
1075
+ "ignoreReadOnlyFormFields": {
1076
+ "type": "boolean",
1077
+ "mutable": false,
1078
+ "complexType": {
1079
+ "original": "boolean",
1080
+ "resolved": "boolean",
1081
+ "references": {}
1082
+ },
1083
+ "required": false,
1084
+ "optional": true,
1085
+ "docs": {
1086
+ "tags": [],
1087
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
1088
+ },
1089
+ "attribute": "ignore-read-only-form-fields",
1090
+ "reflect": false
1091
+ },
1092
+ "setCustomFormTitle": {
1093
+ "type": "unknown",
1094
+ "mutable": false,
1095
+ "complexType": {
1096
+ "original": "() => string",
1097
+ "resolved": "() => string",
1098
+ "references": {}
1099
+ },
1100
+ "required": false,
1101
+ "optional": true,
1102
+ "docs": {
1103
+ "tags": [],
1104
+ "text": "Define uma fun\u00E7\u00E3o para configurar um t\u00EDtulo cusotmizado no modo formul\u00E1rio."
1105
+ }
1106
+ },
1107
+ "strategyExporter": {
1108
+ "type": "string",
1109
+ "mutable": true,
1110
+ "complexType": {
1111
+ "original": "IExporterStrategyMode",
1112
+ "resolved": "\"ClientSideExporterStrategy\" | \"ServerSideExporterStrategy\"",
1113
+ "references": {
1114
+ "IExporterStrategyMode": {
1115
+ "location": "import",
1116
+ "path": "../snk-data-exporter/interfaces/IRecordID"
1117
+ }
1118
+ }
1119
+ },
1120
+ "required": false,
1121
+ "optional": false,
1122
+ "docs": {
1123
+ "tags": [],
1124
+ "text": "Modo de exporta\u00E7\u00E3o dos dados."
1125
+ },
1126
+ "attribute": "strategy-exporter",
1127
+ "reflect": false,
1128
+ "defaultValue": "ExporterStrategy.SERVER_SIDE"
1129
+ },
1130
+ "layoutFormConfig": {
1131
+ "type": "boolean",
1132
+ "mutable": false,
1133
+ "complexType": {
1134
+ "original": "boolean",
1135
+ "resolved": "boolean",
1136
+ "references": {}
1137
+ },
1138
+ "required": false,
1139
+ "optional": false,
1140
+ "docs": {
1141
+ "tags": [],
1142
+ "text": "Define se o LayoutFormConfig ser\u00E1 exibido no configurador."
1143
+ },
1144
+ "attribute": "layout-form-config",
1145
+ "reflect": false,
1146
+ "defaultValue": "true"
1147
+ },
1148
+ "multipleEditionEnabled": {
1149
+ "type": "boolean",
1150
+ "mutable": false,
1151
+ "complexType": {
1152
+ "original": "boolean",
1153
+ "resolved": "boolean",
1154
+ "references": {}
1155
+ },
1156
+ "required": false,
1157
+ "optional": false,
1158
+ "docs": {
1159
+ "tags": [],
1160
+ "text": "Habilita a edi\u00E7\u00E3o de m\u00FAltiplos registros simult\u00E2neos."
1161
+ },
1162
+ "attribute": "multiple-edition-enabled",
1163
+ "reflect": false,
1164
+ "defaultValue": "true"
1165
+ },
1166
+ "paginationCounterMode": {
1167
+ "type": "string",
1168
+ "mutable": false,
1169
+ "complexType": {
1170
+ "original": "'show' | 'hidden' | 'auto'",
1171
+ "resolved": "\"auto\" | \"hidden\" | \"show\"",
1172
+ "references": {}
1173
+ },
1174
+ "required": false,
1175
+ "optional": true,
1176
+ "docs": {
1177
+ "tags": [],
1178
+ "text": "Define se a grid ser\u00E1 focada ao ser carregada."
1179
+ },
1180
+ "attribute": "pagination-counter-mode",
1181
+ "reflect": false,
1182
+ "defaultValue": "'auto'"
1183
+ },
1184
+ "customGuidesConfig": {
1185
+ "type": "unknown",
1186
+ "mutable": false,
1187
+ "complexType": {
1188
+ "original": "Array<CustomGuideItem>",
1189
+ "resolved": "CustomGuideItem[]",
1190
+ "references": {
1191
+ "Array": {
1192
+ "location": "global"
1193
+ },
1194
+ "CustomGuideItem": {
1195
+ "location": "import",
1196
+ "path": "../snk-crud/subcomponents/snk-guides-viewer"
1197
+ }
1198
+ }
1199
+ },
1200
+ "required": false,
1201
+ "optional": true,
1202
+ "docs": {
1203
+ "tags": [],
1204
+ "text": "Fornece as informa\u00E7\u00F5es das guias personalizadas."
1205
+ },
1206
+ "defaultValue": "[]"
1207
+ },
1208
+ "showEntitySearch": {
1209
+ "type": "boolean",
1210
+ "mutable": false,
1211
+ "complexType": {
1212
+ "original": "boolean",
1213
+ "resolved": "boolean",
1214
+ "references": {}
1215
+ },
1216
+ "required": false,
1217
+ "optional": true,
1218
+ "docs": {
1219
+ "tags": [],
1220
+ "text": "Define se o campo de busca de entidades ser\u00E1 exibido na barra superior."
1221
+ },
1222
+ "attribute": "show-entity-search",
1223
+ "reflect": false,
1224
+ "defaultValue": "true"
1225
+ },
1226
+ "disableNumberingConfig": {
1227
+ "type": "boolean",
1228
+ "mutable": false,
1229
+ "complexType": {
1230
+ "original": "boolean",
1231
+ "resolved": "boolean",
1232
+ "references": {}
1233
+ },
1234
+ "required": false,
1235
+ "optional": false,
1236
+ "docs": {
1237
+ "tags": [],
1238
+ "text": "Define se a configura\u00E7\u00E3o de numera\u00E7\u00E3o ser\u00E1 desabilitada."
1239
+ },
1240
+ "attribute": "disable-numbering-config",
1241
+ "reflect": false,
1242
+ "defaultValue": "false"
1243
+ }
1244
+ };
1245
+ }
1246
+ static get states() {
1247
+ return {
1248
+ "_dataUnit": {},
1249
+ "_dataState": {},
1250
+ "attachmentRegisterKey": {},
1251
+ "_currentViewMode": {},
1252
+ "_canEdit": {},
1253
+ "_resourceID": {},
1254
+ "customContainerId": {},
1255
+ "numberingConfig": {},
1256
+ "_filterMode": {},
1257
+ "_enableContinuousInsert": {},
1258
+ "_headerVisible": {}
1259
+ };
1260
+ }
1261
+ static get events() {
1262
+ return [{
1263
+ "method": "snkShowGuide",
1264
+ "name": "snkShowGuide",
1265
+ "bubbles": true,
1266
+ "cancelable": true,
1267
+ "composed": true,
1268
+ "docs": {
1269
+ "tags": [],
1270
+ "text": "Emitido pelo guides-viewer sempre que houver mudan\u00E7a de guia."
1271
+ },
1272
+ "complexType": {
1273
+ "original": "string",
1274
+ "resolved": "string",
1275
+ "references": {}
1276
+ }
1277
+ }, {
1278
+ "method": "actionClick",
1279
+ "name": "actionClick",
1280
+ "bubbles": true,
1281
+ "cancelable": true,
1282
+ "composed": true,
1283
+ "docs": {
1284
+ "tags": [],
1285
+ "text": "Emitido pela taskbar sempre que houver click de bot\u00E3o ou a\u00E7\u00E3o."
1286
+ },
1287
+ "complexType": {
1288
+ "original": "string",
1289
+ "resolved": "string",
1290
+ "references": {}
1291
+ }
1292
+ }, {
1293
+ "method": "configuratorSave",
1294
+ "name": "configuratorSave",
1295
+ "bubbles": true,
1296
+ "cancelable": true,
1297
+ "composed": true,
1298
+ "docs": {
1299
+ "tags": [],
1300
+ "text": "Emitido quando salva a configura\u00E7\u00E3o no configurator do CRUD."
1301
+ },
1302
+ "complexType": {
1303
+ "original": "any",
1304
+ "resolved": "any",
1305
+ "references": {}
1306
+ }
1307
+ }, {
1308
+ "method": "configuratorCancel",
1309
+ "name": "configuratorCancel",
1310
+ "bubbles": true,
1311
+ "cancelable": true,
1312
+ "composed": true,
1313
+ "docs": {
1314
+ "tags": [],
1315
+ "text": "Emitido quando cancela o salvamento da configura\u00E7\u00E3o no configurator do CRUD."
1316
+ },
1317
+ "complexType": {
1318
+ "original": "any",
1319
+ "resolved": "any",
1320
+ "references": {}
1321
+ }
1322
+ }, {
1323
+ "method": "formItemsReady",
1324
+ "name": "formItemsReady",
1325
+ "bubbles": true,
1326
+ "cancelable": true,
1327
+ "composed": true,
1328
+ "docs": {
1329
+ "tags": [],
1330
+ "text": "Respons\u00E1vel por notificar quando ocorrer a renderiza\u00E7\u00E3o de itens do formul\u00E1rio."
1331
+ },
1332
+ "complexType": {
1333
+ "original": "Array<HTMLElement>",
1334
+ "resolved": "HTMLElement[]",
1335
+ "references": {
1336
+ "Array": {
1337
+ "location": "global"
1338
+ },
1339
+ "HTMLElement": {
1340
+ "location": "global"
1341
+ }
1342
+ }
1343
+ }
1344
+ }, {
1345
+ "method": "viewModeChanged",
1346
+ "name": "viewModeChanged",
1347
+ "bubbles": true,
1348
+ "cancelable": true,
1349
+ "composed": true,
1350
+ "docs": {
1351
+ "tags": [],
1352
+ "text": ""
1353
+ },
1354
+ "complexType": {
1355
+ "original": "VIEW_MODE",
1356
+ "resolved": "VIEW_MODE.ATTACHMENT | VIEW_MODE.FORM | VIEW_MODE.GRID",
1357
+ "references": {
1358
+ "VIEW_MODE": {
1359
+ "location": "import",
1360
+ "path": "../../lib/utils/constants"
1361
+ }
1362
+ }
1363
+ }
1364
+ }, {
1365
+ "method": "numberingConfigChanged",
1366
+ "name": "numberingConfigChanged",
1367
+ "bubbles": true,
1368
+ "cancelable": true,
1369
+ "composed": true,
1370
+ "docs": {
1371
+ "tags": [],
1372
+ "text": "Emitido quando a configura\u00E7\u00E3o de numera\u00E7\u00E3o \u00E9 alterada."
1373
+ },
1374
+ "complexType": {
1375
+ "original": "ResponseGetConfig",
1376
+ "resolved": "ResponseGetConfig",
1377
+ "references": {
1378
+ "ResponseGetConfig": {
1379
+ "location": "import",
1380
+ "path": "../snk-numbering-config/services/ServicesNumberingConfig"
1381
+ }
1382
+ }
1383
+ }
1384
+ }];
1385
+ }
1386
+ static get methods() {
1387
+ return {
1388
+ "goToView": {
1389
+ "complexType": {
1390
+ "signature": "(mode: string) => Promise<void>",
1391
+ "parameters": [{
1392
+ "tags": [],
1393
+ "text": ""
1394
+ }],
1395
+ "references": {
1396
+ "Promise": {
1397
+ "location": "global"
1398
+ }
1399
+ },
1400
+ "return": "Promise<void>"
1401
+ },
1402
+ "docs": {
1403
+ "text": "Usado para alternar a vis\u00E3o entre GRID e FORM externamente.",
1404
+ "tags": []
1405
+ }
1406
+ },
1407
+ "openConfigurator": {
1408
+ "complexType": {
1409
+ "signature": "() => Promise<void>",
1410
+ "parameters": [],
1411
+ "references": {
1412
+ "Promise": {
1413
+ "location": "global"
1414
+ }
1415
+ },
1416
+ "return": "Promise<void>"
1417
+ },
1418
+ "docs": {
1419
+ "text": "Usado para abrir o configurator do CRUD",
1420
+ "tags": []
1421
+ }
1422
+ },
1423
+ "closeConfigurator": {
1424
+ "complexType": {
1425
+ "signature": "() => Promise<void>",
1426
+ "parameters": [],
1427
+ "references": {
1428
+ "Promise": {
1429
+ "location": "global"
1430
+ }
1431
+ },
1432
+ "return": "Promise<void>"
1433
+ },
1434
+ "docs": {
1435
+ "text": "Usado para fechar o configurator do CRUD",
1436
+ "tags": []
1437
+ }
1438
+ },
1439
+ "reloadFilterBar": {
1440
+ "complexType": {
1441
+ "signature": "() => Promise<void>",
1442
+ "parameters": [],
1443
+ "references": {
1444
+ "Promise": {
1445
+ "location": "global"
1446
+ }
1447
+ },
1448
+ "return": "Promise<void>"
1449
+ },
1450
+ "docs": {
1451
+ "text": "Faz o recarregamento da filter-bar do crud, buscando o state no servidor.",
1452
+ "tags": []
1453
+ }
1454
+ },
1455
+ "getFilterBar": {
1456
+ "complexType": {
1457
+ "signature": "() => Promise<HTMLSnkFilterBarElement | undefined>",
1458
+ "parameters": [],
1459
+ "references": {
1460
+ "Promise": {
1461
+ "location": "global"
1462
+ },
1463
+ "HTMLSnkFilterBarElement": {
1464
+ "location": "global"
1465
+ }
1466
+ },
1467
+ "return": "Promise<HTMLSnkFilterBarElement>"
1468
+ },
1469
+ "docs": {
1470
+ "text": "Retorna o elemento da filter-bar da grade.",
1471
+ "tags": []
1472
+ }
1473
+ },
1474
+ "addCustomEditor": {
1475
+ "complexType": {
1476
+ "signature": "(fieldName: string, customEditor: ICustomEditor) => Promise<void>",
1477
+ "parameters": [{
1478
+ "tags": [],
1479
+ "text": ""
1480
+ }, {
1481
+ "tags": [],
1482
+ "text": ""
1483
+ }],
1484
+ "references": {
1485
+ "Promise": {
1486
+ "location": "global"
1487
+ },
1488
+ "ICustomEditor": {
1489
+ "location": "import",
1490
+ "path": "@sankhyalabs/ezui/dist/types/utils"
1491
+ }
1492
+ },
1493
+ "return": "Promise<void>"
1494
+ },
1495
+ "docs": {
1496
+ "text": "Registra um editor customizado para campos da grade e formul\u00E1rio.",
1497
+ "tags": []
1498
+ }
1499
+ },
1500
+ "addGridCustomRender": {
1501
+ "complexType": {
1502
+ "signature": "(fieldName: string, customRender: ICustomRender) => Promise<void>",
1503
+ "parameters": [{
1504
+ "tags": [],
1505
+ "text": ""
1506
+ }, {
1507
+ "tags": [],
1508
+ "text": ""
1509
+ }],
1510
+ "references": {
1511
+ "Promise": {
1512
+ "location": "global"
1513
+ },
1514
+ "ICustomRender": {
1515
+ "location": "import",
1516
+ "path": "@sankhyalabs/ezui/dist/types/utils"
1517
+ }
1518
+ },
1519
+ "return": "Promise<void>"
1520
+ },
1521
+ "docs": {
1522
+ "text": "Registra um render customizado para colunas da grid.",
1523
+ "tags": []
1524
+ }
1525
+ },
1526
+ "addCustomValueFormatter": {
1527
+ "complexType": {
1528
+ "signature": "(columnName: string, customFormatter: ICustomFormatter) => Promise<void>",
1529
+ "parameters": [{
1530
+ "tags": [],
1531
+ "text": ""
1532
+ }, {
1533
+ "tags": [],
1534
+ "text": ""
1535
+ }],
1536
+ "references": {
1537
+ "Promise": {
1538
+ "location": "global"
1539
+ },
1540
+ "ICustomFormatter": {
1541
+ "location": "import",
1542
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces"
1543
+ }
1544
+ },
1545
+ "return": "Promise<void>"
1546
+ },
1547
+ "docs": {
1548
+ "text": "Registra um formatador de valores para uma coluna da grid.",
1549
+ "tags": []
1550
+ }
1551
+ },
1552
+ "removeCustomValueFormatter": {
1553
+ "complexType": {
1554
+ "signature": "(columnName: string) => Promise<void>",
1555
+ "parameters": [{
1556
+ "tags": [],
1557
+ "text": ""
1558
+ }],
1559
+ "references": {
1560
+ "Promise": {
1561
+ "location": "global"
1562
+ }
1563
+ },
1564
+ "return": "Promise<void>"
1565
+ },
1566
+ "docs": {
1567
+ "text": "Remove o formatador de valores de uma coluna da grid.",
1568
+ "tags": []
1569
+ }
1570
+ },
1571
+ "setFieldProp": {
1572
+ "complexType": {
1573
+ "signature": "(fieldName: string, propName: string, value: any) => Promise<void>",
1574
+ "parameters": [{
1575
+ "tags": [],
1576
+ "text": ""
1577
+ }, {
1578
+ "tags": [],
1579
+ "text": ""
1580
+ }, {
1581
+ "tags": [],
1582
+ "text": ""
1583
+ }],
1584
+ "references": {
1585
+ "Promise": {
1586
+ "location": "global"
1587
+ }
1588
+ },
1589
+ "return": "Promise<void>"
1590
+ },
1591
+ "docs": {
1592
+ "text": "Altera/adiciona uma propriedade nos metadados do campo.",
1593
+ "tags": []
1594
+ }
1595
+ },
1596
+ "getNumberingConfig": {
1597
+ "complexType": {
1598
+ "signature": "() => Promise<ResponseGetConfig | undefined>",
1599
+ "parameters": [],
1600
+ "references": {
1601
+ "Promise": {
1602
+ "location": "global"
1603
+ },
1604
+ "ResponseGetConfig": {
1605
+ "location": "import",
1606
+ "path": "../snk-numbering-config/services/ServicesNumberingConfig"
1607
+ }
1608
+ },
1609
+ "return": "Promise<ResponseGetConfig>"
1610
+ },
1611
+ "docs": {
1612
+ "text": "Retorna a configura\u00E7\u00E3o de numera\u00E7\u00E3o atual.",
1613
+ "tags": []
1614
+ }
1615
+ },
1616
+ "updateNumberingConfig": {
1617
+ "complexType": {
1618
+ "signature": "(config: ResponseGetConfig) => Promise<void>",
1619
+ "parameters": [{
1620
+ "tags": [],
1621
+ "text": ""
1622
+ }],
1623
+ "references": {
1624
+ "Promise": {
1625
+ "location": "global"
1626
+ },
1627
+ "ResponseGetConfig": {
1628
+ "location": "import",
1629
+ "path": "../snk-numbering-config/services/ServicesNumberingConfig"
1630
+ }
1631
+ },
1632
+ "return": "Promise<void>"
1633
+ },
1634
+ "docs": {
1635
+ "text": "Atualiza a configura\u00E7\u00E3o de numera\u00E7\u00E3o.",
1636
+ "tags": []
1637
+ }
1638
+ }
1639
+ };
1640
+ }
1641
+ static get elementRef() { return "_element"; }
1642
+ static get watchers() {
1643
+ return [{
1644
+ "propName": "_currentViewMode",
1645
+ "methodName": "currentViewModeWatcher"
1646
+ }];
1647
+ }
1648
+ static get listeners() {
1649
+ return [{
1650
+ "name": "actionClick",
1651
+ "method": "handleActionClick",
1652
+ "target": undefined,
1653
+ "capture": false,
1654
+ "passive": false
1655
+ }];
1656
+ }
1657
+ }