@sankhyalabs/sankhyablocks 1.4.0-beta.6 → 1.4.0-beta.8

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 (194) hide show
  1. package/dist/cjs/{SnkMessageBuilder-b54dfb89.js → SnkMessageBuilder-6c2f7bcd.js} +87 -11
  2. package/dist/cjs/_commonjsHelpers-537d719a.js +20 -0
  3. package/dist/cjs/configurableElementsStorage-93459c72.js +20 -0
  4. package/dist/cjs/constants-aebcc2f5.js +69 -0
  5. package/dist/cjs/draggable.bundle-82a25c06.js +6886 -0
  6. package/dist/cjs/form-config-fetcher-2de7c16a.js +6895 -0
  7. package/dist/cjs/{index-6fcf07f3.js → index-188190ee.js} +2 -0
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  10. package/dist/cjs/snk-application.cjs.entry.js +240 -6972
  11. package/dist/cjs/snk-config-modal.cjs.entry.js +62 -0
  12. package/dist/cjs/snk-config-options.cjs.entry.js +163 -0
  13. package/dist/cjs/{snk-filter-bar_5.cjs.entry.js → snk-configurator_6.cjs.entry.js} +193 -6
  14. package/dist/cjs/snk-crud.cjs.entry.js +13 -11
  15. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-field-config_2.cjs.entry.js +135 -0
  17. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  18. package/dist/cjs/snk-filter-detail.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  21. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-filter-personalized.cjs.entry.js +1 -1
  23. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  24. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  25. package/dist/cjs/snk-form-config.cjs.entry.js +957 -0
  26. package/dist/cjs/snk-form.cjs.entry.js +146 -0
  27. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  28. package/dist/cjs/snk-tab-config.cjs.entry.js +321 -0
  29. package/dist/cjs/{taskbar-elements-aedfeae6.js → taskbar-elements-4c2c6704.js} +10 -6
  30. package/dist/cjs/taskbar-processor-6bd0d35c.js +47 -0
  31. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  32. package/dist/collection/collection-manifest.json +27 -1
  33. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +1 -1
  34. package/dist/collection/components/snk-application/snk-application.js +144 -23
  35. package/dist/collection/components/snk-configurator/snk-configurator.js +261 -0
  36. package/dist/collection/components/snk-configurator/subcomponents/configModalProvider/configurableElementsStorage.js +16 -0
  37. package/dist/collection/components/snk-configurator/subcomponents/snk-config-modal/snk-config-modal.css +122 -0
  38. package/dist/collection/components/snk-configurator/subcomponents/snk-config-modal/snk-config-modal.js +137 -0
  39. package/dist/collection/components/snk-crud/snk-crud.js +15 -13
  40. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +33 -3
  41. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +3 -3
  42. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
  43. package/dist/collection/components/snk-form/snk-form.css +4 -0
  44. package/dist/collection/components/snk-form/snk-form.js +108 -30
  45. package/dist/collection/components/snk-form/subcomponents/snk-config-options/snk-config-options.css +9 -0
  46. package/dist/collection/components/snk-form/subcomponents/snk-config-options/snk-config-options.js +248 -0
  47. package/dist/collection/components/snk-form/subcomponents/snk-field-config/snk-field-config.css +164 -0
  48. package/dist/collection/components/snk-form/subcomponents/snk-field-config/snk-field-config.js +140 -0
  49. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.css +185 -0
  50. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +1062 -0
  51. package/dist/collection/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.css +272 -0
  52. package/dist/collection/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.js +476 -0
  53. package/dist/collection/components/snk-grid/snk-grid.js +92 -22
  54. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +9 -5
  55. package/dist/collection/components/snk-taskbar/snk-taskbar.js +35 -3
  56. package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +35 -0
  57. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +106 -3
  58. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +9 -1
  59. package/dist/collection/lib/message/SnkMessageBuilder.js +8 -1
  60. package/dist/collection/lib/message/resources/snk-configurator.msg.js +11 -0
  61. package/dist/collection/lib/message/resources/snk-form.msg.js +59 -2
  62. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -1
  63. package/dist/collection/lib/utils/constants.js +58 -0
  64. package/dist/components/SnkMessageBuilder.js +87 -11
  65. package/dist/components/_commonjsHelpers.js +17 -0
  66. package/dist/components/constants.js +60 -0
  67. package/dist/components/form-config-fetcher.js +6889 -0
  68. package/dist/components/index.d.ts +6 -0
  69. package/dist/components/index.js +6 -0
  70. package/dist/components/snk-application2.js +225 -6954
  71. package/dist/components/snk-config-modal.d.ts +11 -0
  72. package/dist/components/snk-config-modal.js +6 -0
  73. package/dist/components/snk-config-modal2.js +91 -0
  74. package/dist/components/snk-config-options.d.ts +11 -0
  75. package/dist/components/snk-config-options.js +6 -0
  76. package/dist/components/snk-config-options2.js +178 -0
  77. package/dist/components/snk-configurator.d.ts +11 -0
  78. package/dist/components/snk-configurator.js +6 -0
  79. package/dist/components/snk-configurator2.js +212 -0
  80. package/dist/components/snk-crud.js +62 -25
  81. package/dist/components/snk-field-config.d.ts +11 -0
  82. package/dist/components/snk-field-config.js +6 -0
  83. package/dist/components/snk-field-config2.js +70 -0
  84. package/dist/components/snk-filter-bar2.js +1 -1
  85. package/dist/components/snk-filter-personalized.js +2 -0
  86. package/dist/components/snk-form-config.d.ts +11 -0
  87. package/dist/components/snk-form-config.js +6 -0
  88. package/dist/components/snk-form-config2.js +996 -0
  89. package/dist/components/snk-form2.js +79 -29
  90. package/dist/components/snk-grid2.js +43 -24
  91. package/dist/components/snk-tab-config.d.ts +11 -0
  92. package/dist/components/snk-tab-config.js +6 -0
  93. package/dist/components/snk-tab-config2.js +7220 -0
  94. package/dist/components/snk-taskbar2.js +27 -9
  95. package/dist/esm/{SnkMessageBuilder-d440381c.js → SnkMessageBuilder-5792c260.js} +87 -11
  96. package/dist/esm/_commonjsHelpers-9943807e.js +17 -0
  97. package/dist/esm/configurableElementsStorage-cdc144b5.js +18 -0
  98. package/dist/esm/constants-c4e3341e.js +60 -0
  99. package/dist/esm/draggable.bundle-41d56f06.js +6884 -0
  100. package/dist/esm/form-config-fetcher-96c6c2dc.js +6889 -0
  101. package/dist/esm/{index-81dda3cf.js → index-bafb2cef.js} +2 -1
  102. package/dist/esm/loader.js +2 -2
  103. package/dist/esm/sankhyablocks.js +2 -2
  104. package/dist/esm/snk-application.entry.js +224 -6956
  105. package/dist/esm/snk-config-modal.entry.js +58 -0
  106. package/dist/esm/snk-config-options.entry.js +159 -0
  107. package/dist/esm/{snk-filter-bar_5.entry.js → snk-configurator_6.entry.js} +194 -8
  108. package/dist/esm/snk-crud.entry.js +13 -11
  109. package/dist/esm/snk-data-unit.entry.js +2 -2
  110. package/dist/esm/snk-field-config_2.entry.js +130 -0
  111. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  112. package/dist/esm/snk-filter-detail.entry.js +1 -1
  113. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  114. package/dist/esm/snk-filter-number.entry.js +1 -1
  115. package/dist/esm/snk-filter-period.entry.js +1 -1
  116. package/dist/esm/snk-filter-personalized.entry.js +1 -1
  117. package/dist/esm/snk-filter-search.entry.js +1 -1
  118. package/dist/esm/snk-filter-text.entry.js +1 -1
  119. package/dist/esm/snk-form-config.entry.js +953 -0
  120. package/dist/esm/snk-form.entry.js +142 -0
  121. package/dist/esm/snk-pesquisa.entry.js +1 -1
  122. package/dist/esm/snk-tab-config.entry.js +317 -0
  123. package/dist/esm/{taskbar-elements-38eb5d51.js → taskbar-elements-2035b1c7.js} +10 -6
  124. package/dist/esm/taskbar-processor-aa6772c9.js +45 -0
  125. package/dist/esm/teste-pesquisa.entry.js +1 -1
  126. package/dist/sankhyablocks/p-03f9c407.js +1 -0
  127. package/dist/sankhyablocks/{p-ba426ea9.entry.js → p-04ad681a.entry.js} +1 -1
  128. package/dist/sankhyablocks/p-112455b1.js +1 -0
  129. package/dist/sankhyablocks/p-1963b46f.entry.js +1 -0
  130. package/dist/sankhyablocks/p-21c8929b.js +1 -0
  131. package/dist/sankhyablocks/p-26c503a6.entry.js +1 -0
  132. package/dist/sankhyablocks/{p-2e49afef.entry.js → p-31631fb6.entry.js} +1 -1
  133. package/dist/sankhyablocks/p-361299e8.js +26 -0
  134. package/dist/sankhyablocks/p-434e0dcf.entry.js +1 -0
  135. package/dist/sankhyablocks/{p-aecf3e0a.entry.js → p-6c61416a.entry.js} +1 -1
  136. package/dist/sankhyablocks/{p-49580cdd.entry.js → p-857c4735.entry.js} +1 -1
  137. package/dist/sankhyablocks/{p-4574a955.entry.js → p-8cd8977c.entry.js} +1 -1
  138. package/dist/sankhyablocks/{p-6386d720.entry.js → p-916068ff.entry.js} +1 -1
  139. package/dist/sankhyablocks/p-9f2c5fac.entry.js +1 -0
  140. package/dist/sankhyablocks/p-ad658f44.js +1 -0
  141. package/dist/sankhyablocks/p-ae302037.entry.js +75 -0
  142. package/dist/sankhyablocks/p-af11b0e7.js +1 -0
  143. package/dist/sankhyablocks/p-af306302.entry.js +1 -0
  144. package/dist/sankhyablocks/p-b6d6b172.js +1 -0
  145. package/dist/sankhyablocks/{p-40b27004.entry.js → p-cc85ba53.entry.js} +1 -1
  146. package/dist/sankhyablocks/{p-0352c0e2.entry.js → p-ccdf59eb.entry.js} +1 -1
  147. package/dist/sankhyablocks/p-ce789145.entry.js +1 -0
  148. package/dist/sankhyablocks/p-cf81e313.entry.js +1 -0
  149. package/dist/sankhyablocks/{p-0ea25487.entry.js → p-d1ae76ec.entry.js} +1 -1
  150. package/dist/sankhyablocks/p-d50651a3.js +1 -0
  151. package/dist/sankhyablocks/{p-fac2b6a9.js → p-ddb03141.js} +2 -2
  152. package/dist/sankhyablocks/p-ee906940.entry.js +1 -0
  153. package/dist/sankhyablocks/{p-5bdb8452.entry.js → p-f9084ecb.entry.js} +1 -1
  154. package/dist/sankhyablocks/p-fa75fba5.entry.js +1 -0
  155. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  156. package/dist/types/components/snk-application/snk-application.d.ts +29 -14
  157. package/dist/types/components/snk-configurator/snk-configurator.d.ts +46 -0
  158. package/dist/types/components/snk-configurator/subcomponents/configModalProvider/configurableElementsStorage.d.ts +8 -0
  159. package/dist/types/components/snk-configurator/subcomponents/snk-config-modal/snk-config-modal.d.ts +38 -0
  160. package/dist/types/components/snk-crud/snk-crud.d.ts +50 -0
  161. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +92 -0
  162. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +8 -6
  163. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +3 -3
  164. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +40 -0
  165. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +65 -0
  166. package/dist/types/components/snk-form/snk-form.d.ts +71 -0
  167. package/dist/types/components/snk-form/subcomponents/snk-config-options/snk-config-options.d.ts +41 -0
  168. package/dist/types/components/snk-form/subcomponents/snk-field-config/snk-field-config.d.ts +32 -0
  169. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +139 -0
  170. package/dist/types/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.d.ts +97 -0
  171. package/dist/types/components/snk-grid/snk-grid.d.ts +59 -0
  172. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +6 -5
  173. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -3
  174. package/dist/types/components.d.ts +358 -13
  175. package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +1 -0
  176. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +21 -3
  177. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  178. package/dist/types/lib/message/resources/snk-configurator.msg.d.ts +2 -0
  179. package/dist/types/lib/message/resources/snk-form.msg.d.ts +5 -2
  180. package/dist/types/lib/utils/constants.d.ts +62 -0
  181. package/dist/types/lib/utils/pesquisa.d.ts +2 -1
  182. package/package.json +4 -3
  183. package/react/components.d.ts +6 -0
  184. package/react/components.js +6 -0
  185. package/react/components.js.map +1 -1
  186. package/dist/cjs/snk-form_2.cjs.entry.js +0 -247
  187. package/dist/esm/snk-form_2.entry.js +0 -242
  188. package/dist/sankhyablocks/p-1a58f45c.entry.js +0 -74
  189. package/dist/sankhyablocks/p-21e940aa.entry.js +0 -1
  190. package/dist/sankhyablocks/p-2eea7eea.js +0 -1
  191. package/dist/sankhyablocks/p-77216252.entry.js +0 -1
  192. package/dist/sankhyablocks/p-86f15ffe.js +0 -1
  193. package/dist/sankhyablocks/p-97009a2c.entry.js +0 -1
  194. package/dist/sankhyablocks/p-a14c49db.entry.js +0 -1
@@ -0,0 +1,953 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-bafb2cef.js';
2
+ import { d as draggable_bundle } from './draggable.bundle-41d56f06.js';
3
+ import { ObjectUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
+ import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
+ import { C as CONFIG_EVENTS, T as TAB_NAMES, A as ACTION_CONFIG } from './constants-c4e3341e.js';
6
+ import { a as UserConfigType } from './form-config-fetcher-96c6c2dc.js';
7
+ import './_commonjsHelpers-9943807e.js';
8
+
9
+ const snkFormConfigCss = ".sc-snk-form-config-h{--snk-form-config__title--font-pattern:var(--font-pattern, \"'Sora', 'Algerian'\");--snk-form-config__title--weight--large:var(--text-weight--large, 600);display:flex;flex-direction:column;position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--more-visible, 2);background-color:var(--background--xlight)}.form-config__title.sc-snk-form-config{display:flex;margin:0;line-height:1.3;font-family:var(--snk-form-config__title--font-pattern);font-weight:var(--snk-form-config__title--weight--large)}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--text--disable)}.ez-box__label-counter.sc-snk-form-config{font-weight:var(--text-weight--extra-small);margin-top:-7px}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:#FFFFFF}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--more-visible, 2)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:250px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #d2dce9);padding:var(--space--small, 6px)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:2px dashed var(--color-strokes, #DCE0E8);border-radius:var(--border--radius-small, 6px)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--space--large, 24px)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--space--large, 24px) var(--space--medium, 12px) 0}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--space--medium, 12px);border-radius:var(--border--radius-medium, 12px);border:2px solid var(--color-strokes, #DCE0E8);background-color:var(--background--body, #fafcff)}.form-config__left-icon--eye-off.sc-snk-form-config{padding-top:var(--space--medium, 8px)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:#FFFFFF}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -1))}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -2))}}";
10
+
11
+ const CONTAINER_ID = {
12
+ collapsibleBox: "EZ-COLLAPSIBLE-BOX",
13
+ withoutGroup: "fieldsWithoutGroupContainer",
14
+ fieldsAvailable: "fieldsAvailableContainer",
15
+ addNewGroup: "addNewGroupContainer"
16
+ };
17
+ const SnkFormConfig = class {
18
+ constructor(hostRef) {
19
+ registerInstance(this, hostRef);
20
+ this.configChange = createEvent(this, "configChange", 7);
21
+ this._listEnabledFields = [];
22
+ this._renderTimer = 500;
23
+ this._sortableTimer = 100;
24
+ this._tabSelected = 1;
25
+ this._labelNewGroup = "Novo grupo";
26
+ this._mouseOnFieldConfig = false;
27
+ this._mouseOnConfigOptions = false;
28
+ this._editingTitleGroup = false;
29
+ this._newGroupBoxes = [];
30
+ this._currentGroupBoxes = [];
31
+ this._formFieldsStyle = "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding-right--small ez-padding-bottom--medium sc-snk-form-config";
32
+ this._fieldsAvailableStyle = "ez-col ez-col--sd-12 ez-col--tb-12 ez-margin-bottom--medium ez-margin-right--medium sc-snk-form-config";
33
+ this._fieldFloatingStyle = "form-config__field-config--dragged";
34
+ this._formConfigOptions = [];
35
+ this._formConfig = {};
36
+ this._formConfigChanged = false;
37
+ this._optionFormConfigChanged = false;
38
+ this._tempGroups = [];
39
+ /**
40
+ * Campos de configuração de formulário.
41
+ */
42
+ this.formConfig = {};
43
+ }
44
+ observeFormConfig() {
45
+ this.loadConfig(this._sortableTimer);
46
+ }
47
+ loadFields(updateTimer = 0) {
48
+ this._layoutFormConfig = [];
49
+ // this._layoutFormConfig ? this._layoutFormConfig.length = 0 : this._layoutFormConfig = [];
50
+ /*
51
+ TODO: Validar a possibilidade de fazer diretamente this._layoutFormConfig.length = 0
52
+ sem a necessidade do ternario abaixo, para isso definir um default para o this._layoutFormConfig
53
+ na declaração da variavel
54
+ - Impactou:
55
+ - Inserir um field, alterar a tab de lugar e inserir um novo campo
56
+ - Ocultar/Deletar sequencialmente mais de uma aba
57
+ */
58
+ if (updateTimer > 0) {
59
+ setTimeout(() => {
60
+ this.buildFields();
61
+ }, updateTimer);
62
+ }
63
+ else {
64
+ this.buildFields();
65
+ }
66
+ }
67
+ buildFields() {
68
+ this.buildFormConfig();
69
+ this.buildAvailableFields();
70
+ }
71
+ loadFormConfig(updateTimer) {
72
+ var _a;
73
+ this._formConfig = ObjectUtils.copy(this.formConfig);
74
+ this.loadFields(updateTimer);
75
+ this.controlFieldConfig();
76
+ if (((_a = this._filterFieldsAvailable) === null || _a === void 0 ? void 0 : _a.value) != undefined) {
77
+ this._filterFieldsAvailable.value = "";
78
+ }
79
+ }
80
+ cancelChangeConfig() {
81
+ if (this._formConfigChanged === true) {
82
+ this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((canCancel) => {
83
+ if (canCancel) {
84
+ this._formConfigChanged = false;
85
+ this.resetChangeConfig();
86
+ }
87
+ });
88
+ }
89
+ else {
90
+ this.resetChangeConfig();
91
+ }
92
+ }
93
+ cancelChangeOptionConfig() {
94
+ if (this._optionFormConfigChanged === true) {
95
+ this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((canCancel) => {
96
+ if (canCancel) {
97
+ this._optionFormConfigChanged = false;
98
+ this.resetChangeOptionConfig();
99
+ }
100
+ });
101
+ }
102
+ else {
103
+ this.resetChangeOptionConfig();
104
+ }
105
+ }
106
+ resetChangeConfig() {
107
+ this.loadFormConfig(this._sortableTimer);
108
+ this.clearTempGroups();
109
+ }
110
+ resetChangeOptionConfig() {
111
+ this._formConfigChanged = false;
112
+ this.loadConfig(this._sortableTimer);
113
+ this.clearTempGroups();
114
+ }
115
+ getTabsToSave() {
116
+ return this._layoutFormConfig
117
+ .map((layoutConfig, index) => {
118
+ return {
119
+ label: layoutConfig.tab,
120
+ order: index,
121
+ visible: layoutConfig.visible
122
+ };
123
+ });
124
+ }
125
+ getFieldsToSave() {
126
+ const fields = [];
127
+ const snkFieldConfigs = this._formContainer.querySelectorAll('snk-field-config');
128
+ snkFieldConfigs.forEach((snkField) => {
129
+ const fieldConfig = snkField.fieldConfig;
130
+ if (fieldConfig) {
131
+ const fieldToSave = {
132
+ cleanOnCopy: fieldConfig.cleanOnCopy || false,
133
+ group: fieldConfig.group,
134
+ label: fieldConfig.label,
135
+ name: fieldConfig.name,
136
+ required: fieldConfig.required,
137
+ readOnly: fieldConfig.readOnly,
138
+ tab: fieldConfig.tab,
139
+ defaultValue: fieldConfig.defaultValue
140
+ };
141
+ fields.push(fieldToSave);
142
+ }
143
+ });
144
+ return fields;
145
+ }
146
+ isDefaultConfiguration() {
147
+ var _a;
148
+ const optionSelected = (_a = this._optionFormConfigSelected) === null || _a === void 0 ? void 0 : _a.origin;
149
+ return optionSelected === UserConfigType.DEFAULT
150
+ && this._optionFormConfigChanged === true
151
+ && this._formConfigChanged === false;
152
+ }
153
+ saveConfig() {
154
+ var _a;
155
+ if (((_a = this._tempGroups) === null || _a === void 0 ? void 0 : _a.length) > 0) {
156
+ ApplicationUtils.alert(this.getMessage("snkFormConfig.confirm.title"), this.getMessage("snkFormConfig.confirm.group"));
157
+ return;
158
+ }
159
+ const isDefault = this.isDefaultConfiguration();
160
+ let formConfig = {};
161
+ if (isDefault) {
162
+ formConfig = ObjectUtils.copy(this.formConfig);
163
+ }
164
+ else {
165
+ formConfig = ObjectUtils.copy(this._formConfig);
166
+ }
167
+ if (isDefault === false) {
168
+ const tabs = this.getTabsToSave();
169
+ if ((tabs === null || tabs === void 0 ? void 0 : tabs.length) > 0) {
170
+ formConfig.tabs = tabs;
171
+ }
172
+ const fields = this.getFieldsToSave();
173
+ if ((fields === null || fields === void 0 ? void 0 : fields.length) > 0) {
174
+ formConfig.fields = fields;
175
+ }
176
+ }
177
+ formConfig.defaultConfiguration = isDefault;
178
+ this.configChange.emit(formConfig);
179
+ this._formConfigChanged = false;
180
+ this._optionFormConfigChanged = false;
181
+ }
182
+ applyOptionConfig() {
183
+ if (this._optionFormConfigChanged === true && this._optionFormConfigSelected != undefined) {
184
+ const name = this._optionFormConfigSelected.name || "configuração selecionada";
185
+ const origin = this._optionFormConfigSelected.origin === UserConfigType.DEFAULT ? "pessoal" : "padrão";
186
+ const msg = this.getMessage("snkFormConfig.confirm.apply").replace('{0}', name).replace('{1}', origin);
187
+ this.openConfirmDialog(msg).then((canCancel) => {
188
+ if (canCancel) {
189
+ this.saveConfig();
190
+ }
191
+ });
192
+ }
193
+ else {
194
+ this.saveConfig();
195
+ }
196
+ }
197
+ controlFieldConfig(fieldConfig = undefined) {
198
+ var _a;
199
+ if (fieldConfig == undefined) {
200
+ this._fieldConfigSelected = undefined;
201
+ return;
202
+ }
203
+ if (((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === (fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.name)) {
204
+ this._fieldConfigSelected = undefined;
205
+ }
206
+ else {
207
+ this._fieldConfigSelected = fieldConfig;
208
+ }
209
+ }
210
+ getFieldConfigStyle(fieldConfig) {
211
+ var _a;
212
+ return this._formFieldsStyle +
213
+ (((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === fieldConfig.name ? " form-config__field-config--selected" : "");
214
+ }
215
+ getFieldsByGroup(group) {
216
+ var _a;
217
+ return ((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? group.fields.map((field) => {
218
+ var _a, _b;
219
+ return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
220
+ h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, onConfigOptionsChanged: (ev) => this.handleconfigOptionsChanged(ev.detail) })));
221
+ }) : h("div", { class: "form-config__add-group-container" }, h("div", { class: "form-config__add-group-content" }, h("div", { class: "form-config__add-group-label" }, h("label", { class: "ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold" }, this.getMessage("snkFormConfig.form.labelDropField")))));
222
+ }
223
+ handleconfigOptionsChanged(fieldEdited) {
224
+ var _a;
225
+ (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
226
+ });
227
+ this._formConfigChanged = true;
228
+ }
229
+ closeFormConfig() {
230
+ if (this._formConfigChanged === true || this._optionFormConfigChanged === true) {
231
+ this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.exit")).then((canClose) => {
232
+ if (canClose) {
233
+ this._formConfigChanged = false;
234
+ this.setShowFormConfig(false);
235
+ }
236
+ });
237
+ }
238
+ else {
239
+ this.setShowFormConfig(false);
240
+ }
241
+ }
242
+ openConfirmDialog(msg = "", title = this.getMessage("snkFormConfig.confirm.title")) {
243
+ return ApplicationUtils.confirm(title, msg);
244
+ }
245
+ controlMoveField(evt) {
246
+ const element = evt === null || evt === void 0 ? void 0 : evt.target;
247
+ if ((element === null || element === void 0 ? void 0 : element.closest('[data-draggable-element="field"]')) != undefined) {
248
+ this._mouseOnFieldConfig = true;
249
+ if ((element === null || element === void 0 ? void 0 : element.closest(".form-config__config-options")) != undefined || (element === null || element === void 0 ? void 0 : element.closest('.field-config__options')) != undefined) {
250
+ this._mouseOnConfigOptions = true;
251
+ }
252
+ else {
253
+ const iconList = ['minus', 'settings-inverted', 'chevron-up'];
254
+ const iconName = element === null || element === void 0 ? void 0 : element.iconName;
255
+ if (iconList.includes(iconName) === false) {
256
+ this.controlFieldConfig();
257
+ }
258
+ }
259
+ }
260
+ }
261
+ controlStartDraggingField(evt) {
262
+ var _a, _b, _c;
263
+ if (this._mouseOnConfigOptions) {
264
+ evt === null || evt === void 0 ? void 0 : evt.cancel();
265
+ this._mouseOnConfigOptions = false;
266
+ }
267
+ else {
268
+ const sourceContainer = (_c = (_b = (_a = evt === null || evt === void 0 ? void 0 : evt.data) === null || _a === void 0 ? void 0 : _a.dragEvent) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.sourceContainer;
269
+ if (sourceContainer != undefined) {
270
+ sourceContainer.classList.add(this._fieldFloatingStyle);
271
+ }
272
+ }
273
+ }
274
+ controlSortedDraggingField(evt) {
275
+ var _a, _b, _c, _d, _e, _f, _g, _h;
276
+ const oldContainer = (_a = evt === null || evt === void 0 ? void 0 : evt.data) === null || _a === void 0 ? void 0 : _a.oldContainer;
277
+ const newContainer = (_b = evt === null || evt === void 0 ? void 0 : evt.data) === null || _b === void 0 ? void 0 : _b.newContainer;
278
+ const draggingElement = (_e = (_d = (_c = evt === null || evt === void 0 ? void 0 : evt.data) === null || _c === void 0 ? void 0 : _c.dragEvent) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.source;
279
+ const originalElement = (_h = (_g = (_f = evt === null || evt === void 0 ? void 0 : evt.data) === null || _f === void 0 ? void 0 : _f.dragEvent) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.originalSource;
280
+ if (oldContainer != undefined && newContainer != undefined && draggingElement != undefined && originalElement != undefined) {
281
+ if ((newContainer.tagName === CONTAINER_ID.collapsibleBox
282
+ || newContainer.id === CONTAINER_ID.withoutGroup)
283
+ && oldContainer.id === CONTAINER_ID.fieldsAvailable) {
284
+ draggingElement.className = this._formFieldsStyle;
285
+ draggingElement.querySelector('snk-field-config').modeInsertion = false;
286
+ originalElement.className = this._formFieldsStyle;
287
+ originalElement.querySelector('snk-field-config').modeInsertion = false;
288
+ }
289
+ else if ((oldContainer.tagName === CONTAINER_ID.collapsibleBox
290
+ || oldContainer.id === CONTAINER_ID.withoutGroup)
291
+ && newContainer.id === CONTAINER_ID.fieldsAvailable) {
292
+ draggingElement.className = this._fieldsAvailableStyle;
293
+ draggingElement.querySelector('snk-field-config').modeInsertion = true;
294
+ originalElement.className = this._fieldsAvailableStyle;
295
+ originalElement.querySelector('snk-field-config').modeInsertion = true;
296
+ }
297
+ }
298
+ }
299
+ isCancelDragAvailableField(newContainer, oldContainer, evt) {
300
+ var _a, _b;
301
+ if (newContainer == undefined || oldContainer == undefined || evt == undefined) {
302
+ return false;
303
+ }
304
+ if (((_a = evt.data) === null || _a === void 0 ? void 0 : _a.newIndex) !== ((_b = evt.data) === null || _b === void 0 ? void 0 : _b.oldIndex)
305
+ && newContainer.id === CONTAINER_ID.fieldsAvailable
306
+ && oldContainer.id === newContainer.id) {
307
+ evt.cancel();
308
+ this._fieldsAvailable = [];
309
+ setTimeout(() => {
310
+ this.buildAvailableFields();
311
+ }, this._sortableTimer);
312
+ return true;
313
+ }
314
+ return false;
315
+ }
316
+ isRemoveField(newContainer, oldContainer, fieldConfig) {
317
+ if (newContainer == undefined || oldContainer == undefined || fieldConfig == undefined) {
318
+ return false;
319
+ }
320
+ if ((oldContainer.tagName === CONTAINER_ID.collapsibleBox
321
+ || oldContainer.id === CONTAINER_ID.withoutGroup)
322
+ && newContainer.id === CONTAINER_ID.fieldsAvailable) {
323
+ const eventDetail = {
324
+ detail: {
325
+ field: fieldConfig,
326
+ type: ACTION_CONFIG.remove
327
+ }
328
+ };
329
+ setTimeout(() => {
330
+ this.handleFieldConfigChange(eventDetail, this._sortableTimer);
331
+ }, this._renderTimer);
332
+ return true;
333
+ }
334
+ return false;
335
+ }
336
+ isAddOrMoveField(newContainer, oldContainer, fieldConfig, data) {
337
+ var _a;
338
+ if (newContainer == undefined || oldContainer == undefined || fieldConfig == undefined || data == undefined) {
339
+ return false;
340
+ }
341
+ if (data.newIndex !== data.oldIndex
342
+ || oldContainer.dataset.groupName !== newContainer.dataset.groupName
343
+ || (newContainer.id === CONTAINER_ID.withoutGroup
344
+ && oldContainer.id === CONTAINER_ID.fieldsAvailable)) {
345
+ if (this.isFieldAvailable(newContainer, oldContainer)) {
346
+ fieldConfig.tab = (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab;
347
+ }
348
+ fieldConfig.group = newContainer.dataset.groupName;
349
+ setTimeout(() => {
350
+ const isNewGroup = newContainer.id.includes(CONTAINER_ID.addNewGroup);
351
+ if (isNewGroup) {
352
+ this.clearTempGroups(true);
353
+ }
354
+ const sortableTimer = oldContainer.dataset.groupName !== newContainer.dataset.groupName
355
+ || (newContainer.id === CONTAINER_ID.withoutGroup && oldContainer.id === CONTAINER_ID.fieldsAvailable)
356
+ ? this._sortableTimer
357
+ : 0;
358
+ this.updateFieldsToSave(sortableTimer);
359
+ }, this._renderTimer);
360
+ return true;
361
+ }
362
+ return false;
363
+ }
364
+ isFieldAvailable(newContainer, oldContainer) {
365
+ if (newContainer == undefined || oldContainer == undefined) {
366
+ return false;
367
+ }
368
+ return (newContainer.tagName === CONTAINER_ID.collapsibleBox
369
+ || newContainer.id === CONTAINER_ID.withoutGroup)
370
+ && oldContainer.id === CONTAINER_ID.fieldsAvailable;
371
+ }
372
+ controlStopDraggingField(evt) {
373
+ var _a, _b, _c, _d, _e, _f;
374
+ const oldContainer = (_a = evt === null || evt === void 0 ? void 0 : evt.data) === null || _a === void 0 ? void 0 : _a.oldContainer;
375
+ const newContainer = (_b = evt === null || evt === void 0 ? void 0 : evt.data) === null || _b === void 0 ? void 0 : _b.newContainer;
376
+ if (this.isCancelDragAvailableField(newContainer, oldContainer, evt)) {
377
+ return;
378
+ }
379
+ const originalElement = (_e = (_d = (_c = evt === null || evt === void 0 ? void 0 : evt.data) === null || _c === void 0 ? void 0 : _c.dragEvent) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.originalSource;
380
+ const fieldConfig = (_f = originalElement === null || originalElement === void 0 ? void 0 : originalElement.querySelector('snk-field-config')) === null || _f === void 0 ? void 0 : _f.fieldConfig;
381
+ if (this.isRemoveField(newContainer, oldContainer, fieldConfig)) {
382
+ return;
383
+ }
384
+ if (this.isAddOrMoveField(newContainer, oldContainer, fieldConfig, evt === null || evt === void 0 ? void 0 : evt.data)) {
385
+ return;
386
+ }
387
+ }
388
+ updateFieldsToSave(updateTimer = 0) {
389
+ const fields = this.getFieldsToSave();
390
+ if ((fields === null || fields === void 0 ? void 0 : fields.length) > 0) {
391
+ this._formConfig.fields = fields;
392
+ }
393
+ this.loadFields(updateTimer);
394
+ this._formConfigChanged = true;
395
+ }
396
+ controlSortableField() {
397
+ if (this._sortableContainer == undefined) {
398
+ return;
399
+ }
400
+ if (this._sortableField) {
401
+ this._sortableField.destroy();
402
+ }
403
+ this._sortableField = new draggable_bundle.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="field"]'), {
404
+ draggable: '[data-draggable-element="field"]',
405
+ mirror: {
406
+ constrainDimensions: true
407
+ }
408
+ });
409
+ this._sortableField.on(CONFIG_EVENTS.dragStart, (evt) => this.controlStartDraggingField(evt));
410
+ this._sortableField.on(CONFIG_EVENTS.dragSorted, (evt) => this.controlSortedDraggingField(evt));
411
+ this._sortableField.on(CONFIG_EVENTS.dragStop, (evt) => this.controlStopDraggingField(evt));
412
+ }
413
+ controlStartDraggingGroup(evt) {
414
+ if (this._mouseOnFieldConfig || this._editingTitleGroup) {
415
+ evt === null || evt === void 0 ? void 0 : evt.cancel();
416
+ this._mouseOnFieldConfig = false;
417
+ }
418
+ }
419
+ controlStopDraggingGroup(evt) {
420
+ if (evt.data.newIndex !== evt.data.oldIndex) {
421
+ setTimeout(() => {
422
+ this.updateFieldsToSave(this._sortableTimer);
423
+ }, this._renderTimer);
424
+ }
425
+ }
426
+ controlSortableGroup() {
427
+ if (this._sortableContainer == undefined) {
428
+ return;
429
+ }
430
+ if (this._sortableGroup) {
431
+ this._sortableGroup.destroy();
432
+ }
433
+ this._sortableGroup = new draggable_bundle.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="group"]'), {
434
+ draggable: '[data-draggable-element="group"]',
435
+ mirror: {
436
+ constrainDimensions: true
437
+ }
438
+ });
439
+ this._sortableGroup.on(CONFIG_EVENTS.dragStart, (evt) => this.controlStartDraggingGroup(evt));
440
+ this._sortableGroup.on(CONFIG_EVENTS.dragStop, (evt) => this.controlStopDraggingGroup(evt));
441
+ }
442
+ loadUserConfig() {
443
+ var _a;
444
+ if (this._application != undefined) {
445
+ this._application.fetchUserAvailableConfigs((_a = this.parentForm) === null || _a === void 0 ? void 0 : _a.configName)
446
+ .then((userConfig) => {
447
+ this._formConfigOptions = userConfig;
448
+ let isDefault = this._formConfig != undefined ? this._formConfig.defaultConfiguration : true;
449
+ const selectedOption = userConfig
450
+ .find((config) => {
451
+ return config.origin === (isDefault ? UserConfigType.DEFAULT : UserConfigType.USER);
452
+ });
453
+ this.setFormConfig(selectedOption);
454
+ });
455
+ }
456
+ }
457
+ setFormConfig(config) {
458
+ this._optionFormConfigSelected = config;
459
+ }
460
+ controlSelectFormConfig(evt) {
461
+ const action = evt === null || evt === void 0 ? void 0 : evt.detail;
462
+ const selectedOption = this._formConfigOptions
463
+ .find((config) => {
464
+ return config.origin === (action === null || action === void 0 ? void 0 : action.value);
465
+ });
466
+ this.setFormConfig(selectedOption);
467
+ this._optionFormConfigChanged = true;
468
+ this.loadConfigByUser();
469
+ }
470
+ changeTabOrder(newIndex) {
471
+ const tabs = [];
472
+ const tabConfigs = this._tabConfig.querySelectorAll('.tab-config__tab');
473
+ this._tabSelected = newIndex;
474
+ tabConfigs.forEach((tabConfig, index) => {
475
+ var _a;
476
+ if (index) {
477
+ const label = (_a = tabConfig.querySelector('.tab-config__tab-label')) === null || _a === void 0 ? void 0 : _a.getAttribute('title');
478
+ tabs.push({
479
+ label,
480
+ order: (index - 1)
481
+ });
482
+ }
483
+ });
484
+ this._layoutFormConfig.map((tabLayout) => {
485
+ tabs.forEach((tab) => {
486
+ tab.label === tabLayout.tab && (tab.visible = tabLayout.visible);
487
+ });
488
+ });
489
+ if (tabs.length > 0) {
490
+ this._formConfig.tabs = tabs;
491
+ this.loadFields(this._sortableTimer);
492
+ this.controlFieldConfig();
493
+ this._formConfigChanged = true;
494
+ }
495
+ }
496
+ loadConfigByUser() {
497
+ var _a;
498
+ if (this._application != undefined) {
499
+ const option = this._optionFormConfigSelected;
500
+ const fetchActionName = (option === null || option === void 0 ? void 0 : option.origin) === UserConfigType.DEFAULT ? "fetchDefaultConfig" :
501
+ (option === null || option === void 0 ? void 0 : option.origin) === UserConfigType.USER ? "fetchLegacyConfig" :
502
+ undefined;
503
+ if (fetchActionName != undefined) {
504
+ this._application[fetchActionName]((_a = this.parentForm) === null || _a === void 0 ? void 0 : _a.configName)
505
+ .then((formConfig) => {
506
+ if (formConfig != undefined) {
507
+ this._formConfig = formConfig;
508
+ this._tabSelected = 1;
509
+ this.loadFields(this._sortableTimer);
510
+ this.controlFieldConfig();
511
+ this.clearTempGroups();
512
+ }
513
+ });
514
+ }
515
+ }
516
+ }
517
+ loadConfig(updateTimer = 0) {
518
+ this.loadFormConfig(updateTimer);
519
+ this.loadUserConfig();
520
+ }
521
+ addNewGroup() {
522
+ var _a, _b;
523
+ const tab = (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab;
524
+ const hasGroup = (_b = this._tempGroups) === null || _b === void 0 ? void 0 : _b.find((tempGroup) => {
525
+ return tempGroup.tab === tab && tempGroup.group.includes(this._labelNewGroup);
526
+ });
527
+ if (hasGroup == undefined) {
528
+ this._tempGroups.push({
529
+ tab,
530
+ group: this.handleDuplicateGroups(this._labelNewGroup, this._tabConfig.selectedTab)
531
+ });
532
+ this.loadFields();
533
+ this.controlFieldConfig();
534
+ this._formConfigChanged = true;
535
+ }
536
+ }
537
+ clearTempGroups(clearInTab = false) {
538
+ var _a;
539
+ if (((_a = this._tempGroups) === null || _a === void 0 ? void 0 : _a.length) > 0) {
540
+ if (clearInTab) {
541
+ this._tempGroups = this._tempGroups.filter((tempGroup) => {
542
+ return tempGroup.tab !== this._tabConfig.selectedTab;
543
+ });
544
+ }
545
+ else {
546
+ this._tempGroups = [];
547
+ }
548
+ }
549
+ }
550
+ removeGroup(indexTempGroup = undefined) {
551
+ if (indexTempGroup != undefined) {
552
+ this._tempGroups = this._tempGroups.filter((tempGroup, index) => {
553
+ return (index !== indexTempGroup
554
+ && tempGroup.tab === this._tabConfig.selectedTab)
555
+ || tempGroup.tab !== this._tabConfig.selectedTab;
556
+ });
557
+ }
558
+ else {
559
+ this.updateFieldsToSave(this._sortableTimer);
560
+ }
561
+ }
562
+ checkGroupExists(newLabel, indexGroup, isTempGroup = false) {
563
+ var _a, _b, _c;
564
+ const tabName = (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab;
565
+ const currentTab = (_b = this._layoutFormConfig) === null || _b === void 0 ? void 0 : _b.find(tab => tab.tab === tabName);
566
+ const tabGroupsNames = (_c = currentTab === null || currentTab === void 0 ? void 0 : currentTab.groups) === null || _c === void 0 ? void 0 : _c.map(tab => { var _a; return (_a = tab.group) === null || _a === void 0 ? void 0 : _a.toLowerCase(); });
567
+ if (tabGroupsNames === null || tabGroupsNames === void 0 ? void 0 : tabGroupsNames.includes(newLabel === null || newLabel === void 0 ? void 0 : newLabel.toLowerCase())) {
568
+ const title = this.getMessage("snkFormConfig.confirm.title");
569
+ const message = `
570
+ ${this.getMessage("snkFormConfig.alert.titleGroupExists")}
571
+ <b>${newLabel}</b>
572
+ ${this.getMessage("snkFormConfig.alert.inTab")}
573
+ <b>${tabName === TAB_NAMES.main ? this.getMessage("snkFormConfig.form.mainArea") : tabName}</b>.
574
+ <br/><br/>
575
+ ${this.getMessage("snkFormConfig.alert.infoValidTitle")}
576
+ `;
577
+ ApplicationUtils.alert(title, message)
578
+ .then(() => {
579
+ var _a, _b;
580
+ if (isTempGroup) {
581
+ (_a = this._newGroupBoxes[indexGroup]) === null || _a === void 0 ? void 0 : _a.applyFocusTextEdit();
582
+ }
583
+ else {
584
+ (_b = this._currentGroupBoxes[tabName][indexGroup]) === null || _b === void 0 ? void 0 : _b.applyFocusTextEdit();
585
+ }
586
+ });
587
+ return false;
588
+ }
589
+ return true;
590
+ }
591
+ saveEditLabelTempGroup(editDetails, index) {
592
+ const { newValue: newLabel } = editDetails.detail;
593
+ if (this._newGroupBoxes != undefined && this._newGroupBoxes[index] != undefined) {
594
+ this._newGroupBoxes[index].dataset.groupName = newLabel;
595
+ }
596
+ }
597
+ saveEditLabelGroup(editDetails) {
598
+ var _a;
599
+ const { value: oldLabel, newValue: newLabel } = editDetails.detail;
600
+ (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
601
+ if (field.group === oldLabel) {
602
+ field.group = newLabel;
603
+ }
604
+ });
605
+ this.loadFields(this._sortableTimer);
606
+ this.controlFieldConfig();
607
+ this._formConfigChanged = true;
608
+ }
609
+ renderTempGroupByTab(tabName) {
610
+ return this._tempGroups.map((tempGroup, indexGroup) => {
611
+ if (tempGroup.tab === tabName) {
612
+ return h("ez-collapsible-box", { ref: ref => this._newGroupBoxes[indexGroup] = ref, id: `${CONTAINER_ID.addNewGroup}-${indexGroup}`, editable: true, removable: true, "header-size": "large", label: tempGroup.group, "icon-placement": "left", "data-group-name": tempGroup.group, "data-draggable-parent": "field", class: "form-config__add-group", onEzRemove: () => this.removeGroup(indexGroup), onEzSaveEditLabel: (evt) => this.saveEditLabelTempGroup(evt, indexGroup), onEzEditLabelMode: (evt) => this._editingTitleGroup = evt.detail, conditionalSave: (newLabel) => this.checkGroupExists(newLabel, indexGroup, true) }, this.getFieldsByGroup(tempGroup));
613
+ }
614
+ });
615
+ }
616
+ handleDuplicateGroups(titleNewGroup, currentTab) {
617
+ var _a;
618
+ const selectedTabGroups = this._layoutFormConfig[this._tabConfig.selectedIndex].groups.map(tab => tab.group);
619
+ if (selectedTabGroups != undefined) {
620
+ (_a = this._layoutFormConfig) === null || _a === void 0 ? void 0 : _a.map(tab => {
621
+ if (tab.tab === currentTab) {
622
+ if (tab.groups.some(groups => groups.group === titleNewGroup)) {
623
+ titleNewGroup += `${this.captureHighestValueTitle(selectedTabGroups)}`;
624
+ }
625
+ }
626
+ });
627
+ }
628
+ return titleNewGroup;
629
+ }
630
+ captureHighestValueTitle(groupsTemp) {
631
+ let valuesNumericTitle = [];
632
+ groupsTemp === null || groupsTemp === void 0 ? void 0 : groupsTemp.map(group => {
633
+ if (group != undefined) {
634
+ valuesNumericTitle.push(group.replace(/[^0-9]/g, ''));
635
+ }
636
+ });
637
+ if (Math.max.apply(null, valuesNumericTitle) > 0) {
638
+ return ` (${Math.max.apply(null, valuesNumericTitle) + 1})`;
639
+ }
640
+ else {
641
+ return ' (1)';
642
+ }
643
+ }
644
+ getLayoutFormConfig() {
645
+ var _a, _b;
646
+ if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
647
+ return;
648
+ }
649
+ let layoutFormConfig = [];
650
+ let fields = [];
651
+ for (const field of this._formConfig.fields) {
652
+ const hasField = fields.find((fieldTemp) => {
653
+ return field.name === fieldTemp.name && field.tab === fieldTemp.tab;
654
+ });
655
+ if (hasField == undefined) {
656
+ fields.push(field);
657
+ const fieldMD = this.dataUnit.getField(field.name);
658
+ if (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) {
659
+ if (field.label == undefined || field.label === "") {
660
+ field.label = fieldMD.label;
661
+ }
662
+ let tab = layoutFormConfig.find(value => value.tab === field.tab);
663
+ if (tab == undefined) {
664
+ let visible = null;
665
+ if (this._formConfig.tabs != undefined) {
666
+ const configTabs = this._formConfig.tabs.filter(configTab => configTab.label === field.tab);
667
+ if (configTabs.length > 0) {
668
+ visible = configTabs[0].visible;
669
+ }
670
+ }
671
+ const tabLabel = ((_b = field.tab) === null || _b === void 0 ? void 0 : _b.label) || field.tab;
672
+ if (visible !== null) {
673
+ tab = { tab: tabLabel, groups: [], visible };
674
+ }
675
+ else {
676
+ tab = { tab: tabLabel, groups: [], visible: true };
677
+ }
678
+ layoutFormConfig.push(tab);
679
+ }
680
+ const group = tab.groups.find(value => value.group === field.group);
681
+ if (group) {
682
+ group.fields.push(field);
683
+ }
684
+ else {
685
+ const newGroup = { group: field.group, fields: [field] };
686
+ if (field.group === undefined) {
687
+ tab.groups.unshift(newGroup);
688
+ }
689
+ else {
690
+ tab.groups.push(newGroup);
691
+ }
692
+ }
693
+ }
694
+ }
695
+ }
696
+ return layoutFormConfig;
697
+ }
698
+ configureTabs(layoutFormConfig) {
699
+ var _a;
700
+ if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.tabs) == undefined) {
701
+ return layoutFormConfig;
702
+ }
703
+ if (layoutFormConfig == undefined) {
704
+ layoutFormConfig = [];
705
+ }
706
+ return this._formConfig.tabs.map((tab) => {
707
+ return layoutFormConfig.find(config => { var _a, _b; return ((_a = tab.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = config.tab) === null || _b === void 0 ? void 0 : _b.toLowerCase()); })
708
+ || { tab: tab.label, groups: [], visible: tab.visible };
709
+ }).filter((layoutConfig) => {
710
+ return (layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.tab) != undefined;
711
+ });
712
+ }
713
+ configureTabMain(layoutFormConfig) {
714
+ if (layoutFormConfig == undefined) {
715
+ layoutFormConfig = [];
716
+ }
717
+ const hasTabMain = layoutFormConfig.find((layoutTab) => {
718
+ return layoutTab.tab === TAB_NAMES.main;
719
+ });
720
+ if (hasTabMain == undefined) {
721
+ layoutFormConfig.unshift({ tab: TAB_NAMES.main, groups: [], visible: true });
722
+ }
723
+ return layoutFormConfig;
724
+ }
725
+ updateTabs() {
726
+ const tabs = this.getTabsToSave();
727
+ if ((tabs === null || tabs === void 0 ? void 0 : tabs.length) > 0) {
728
+ this._formConfig.tabs = tabs;
729
+ }
730
+ }
731
+ buildFormConfig() {
732
+ var _a;
733
+ if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
734
+ return;
735
+ }
736
+ let layoutFormConfig = this.getLayoutFormConfig();
737
+ layoutFormConfig = this.configureTabs(layoutFormConfig);
738
+ layoutFormConfig = this.configureTabMain(layoutFormConfig);
739
+ this._layoutFormConfig = layoutFormConfig;
740
+ this.updateTabs();
741
+ }
742
+ buildAvailableFields() {
743
+ var _a, _b;
744
+ if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
745
+ return;
746
+ }
747
+ let fieldsFormConfig = [];
748
+ let fieldsMetadata = this.dataUnit.metadata.fields;
749
+ for (const field of this._formConfig.fields) {
750
+ fieldsFormConfig.push(field);
751
+ }
752
+ const listFieldsAvailable = fieldsMetadata.filter(({ name: _nameFieldMetadado, visible: _visibleMetadado }) => _visibleMetadado === true
753
+ && fieldsFormConfig.some(({ name: _nameFieldForm }) => _nameFieldForm === _nameFieldMetadado) === false);
754
+ this._fieldsAvailable = listFieldsAvailable;
755
+ this._listEnabledFields = listFieldsAvailable;
756
+ if (((_b = this._filterFieldsAvailable) === null || _b === void 0 ? void 0 : _b.value) != undefined) {
757
+ const filterValue = this._filterFieldsAvailable.value;
758
+ this.onFilterChange(filterValue);
759
+ }
760
+ }
761
+ setShowFormConfig(value) {
762
+ this.parentForm.setShowFormConfig(value);
763
+ }
764
+ changeTabSelected(tabSelected) {
765
+ this._tabSelected = tabSelected.index;
766
+ const selectorTab = this._formContainer.querySelector("div#tab" + tabSelected.index);
767
+ this._formContainer.querySelectorAll(".form-config__tab-content").forEach(container => container.className = "form-config__hide-content sc-snk-form-config");
768
+ if (selectorTab) {
769
+ selectorTab.className = "form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium sc-snk-form-config";
770
+ }
771
+ }
772
+ onFilterChange(value) {
773
+ this._fieldsAvailable = ArrayUtils.applyStringFilter(value, this._listEnabledFields, true, "label");
774
+ }
775
+ orderFieldsAvailable(fields) {
776
+ return ArrayUtils.sortAlphabetically(fields);
777
+ }
778
+ handleLabelCounter(sizeList) {
779
+ const labels = [this.getMessage("snkFormConfig.availableFields.labelNoFields"), this.getMessage("snkFormConfig.availableFields.labelOneField")];
780
+ return sizeList > 1 ? `${sizeList} ${this.getMessage("snkFormConfig.availableFields.labelAvailableFields")}` : labels[sizeList];
781
+ }
782
+ controlAddFieldConfig(fieldConfig) {
783
+ var _a;
784
+ this._formConfigChanged = false;
785
+ if (fieldConfig == undefined) {
786
+ return;
787
+ }
788
+ if (this._formConfig.fields == undefined) {
789
+ this._formConfig.fields = [];
790
+ }
791
+ const fieldFinded = this._formConfig.fields.filter((field) => {
792
+ return field.name === fieldConfig.name && field.tab && fieldConfig.tab;
793
+ });
794
+ if (fieldFinded.length > 0) {
795
+ fieldFinded.forEach((field) => {
796
+ field.name = fieldConfig.name;
797
+ field.label = fieldConfig.label;
798
+ field.required = fieldConfig.required;
799
+ field.readOnly = fieldConfig.readOnly;
800
+ field.group = fieldConfig.group;
801
+ });
802
+ }
803
+ else {
804
+ this._formConfig.fields.push({
805
+ name: fieldConfig.name,
806
+ label: fieldConfig.label,
807
+ required: fieldConfig.required,
808
+ readOnly: fieldConfig.readOnly,
809
+ group: fieldConfig.group,
810
+ tab: (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab
811
+ });
812
+ }
813
+ this.loadFields();
814
+ this.controlFieldConfig();
815
+ this._formConfigChanged = true;
816
+ this.resetSortables();
817
+ }
818
+ controlRemoveFieldConfig(fieldConfig, updateTimer) {
819
+ var _a;
820
+ this._formConfigChanged = false;
821
+ if (fieldConfig == undefined) {
822
+ return;
823
+ }
824
+ this._formConfig.fields = (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.filter((field) => field.name !== fieldConfig.name);
825
+ this.loadFields(updateTimer);
826
+ this.controlFieldConfig();
827
+ this._formConfigChanged = true;
828
+ this.resetSortables();
829
+ }
830
+ resetSortables() {
831
+ this.controlSortableField();
832
+ this.controlSortableGroup();
833
+ }
834
+ handleFieldConfigChange(evt, updateTimer = 0) {
835
+ const { field: fieldConfig, type: actionType } = evt.detail;
836
+ if (actionType === ACTION_CONFIG.configuration) {
837
+ this.controlFieldConfig(fieldConfig);
838
+ return;
839
+ }
840
+ if (actionType === ACTION_CONFIG.remove) {
841
+ this.controlRemoveFieldConfig(fieldConfig, updateTimer);
842
+ return;
843
+ }
844
+ if (actionType === ACTION_CONFIG.add) {
845
+ this.controlAddFieldConfig(fieldConfig);
846
+ return;
847
+ }
848
+ }
849
+ changeTabLabel(editDetails) {
850
+ var _a, _b;
851
+ const { value: oldLabel, newValue: newLabel } = editDetails.detail.detail;
852
+ (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
853
+ if (field.tab === oldLabel) {
854
+ field.tab = newLabel;
855
+ }
856
+ });
857
+ (_b = this._formConfig.tabs) === null || _b === void 0 ? void 0 : _b.forEach((tab) => {
858
+ if (tab.label === oldLabel) {
859
+ tab.label = newLabel;
860
+ }
861
+ });
862
+ this.loadFields(this._sortableTimer);
863
+ this.controlFieldConfig();
864
+ this._formConfigChanged = true;
865
+ }
866
+ handleDeleteTab(tabSelected) {
867
+ let options = {
868
+ canClose: false,
869
+ labelCancel: this.getMessage("snkFormConfig.confirm.labelNo"),
870
+ labelConfirm: this.getMessage("snkFormConfig.confirm.labelYes"),
871
+ btnConfirmDanger: false
872
+ };
873
+ const title = this.getMessage("snkFormConfig.confirm.title");
874
+ const deleteTab = this.getMessage("snkFormConfig.confirm.deleteTab");
875
+ ApplicationUtils.confirm(title, `${deleteTab} <b>${tabSelected.detail.label}</b>?`, "delete", DialogType.WARN, options)
876
+ .then(response => {
877
+ var _a;
878
+ if (response) {
879
+ this._formConfig.tabs = (_a = this._formConfig.tabs) === null || _a === void 0 ? void 0 : _a.filter((tab) => {
880
+ return tab.label !== tabSelected.detail.label;
881
+ });
882
+ this.loadFields(this._sortableTimer);
883
+ this.controlFieldConfig();
884
+ this._formConfigChanged = true;
885
+ }
886
+ });
887
+ }
888
+ changeHideTab(tabSelected) {
889
+ var _a;
890
+ (_a = this._formConfig.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab) => {
891
+ if (tab.label === tabSelected.detail.label) {
892
+ tab.visible = !tab.visible;
893
+ }
894
+ });
895
+ this.loadFields(this._sortableTimer);
896
+ this.controlFieldConfig();
897
+ this._formConfigChanged = true;
898
+ }
899
+ handleCanStartDragTab() {
900
+ var _a, _b;
901
+ const tabs = this._layoutFormConfig.map(tab => tab.tab);
902
+ for (const tab of tabs) {
903
+ (_a = this._currentGroupBoxes[tab]) === null || _a === void 0 ? void 0 : _a.map(collapsibleBox => collapsibleBox === null || collapsibleBox === void 0 ? void 0 : collapsibleBox.cancelEdition());
904
+ }
905
+ (_b = this._newGroupBoxes) === null || _b === void 0 ? void 0 : _b.map(collapsibleBox => collapsibleBox === null || collapsibleBox === void 0 ? void 0 : collapsibleBox.cancelEdition());
906
+ }
907
+ /**
908
+ * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
909
+ * através de um pequeno modulo na estrutura da aplicação:
910
+ * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
911
+ * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts"
912
+ */
913
+ getMessage(key, params) {
914
+ return this._application.messagesBuilder.getMessage(key, params);
915
+ }
916
+ componentDidRender() {
917
+ this.controlSortableField();
918
+ this.controlSortableGroup();
919
+ }
920
+ componentWillLoad() {
921
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
922
+ this.loadConfig();
923
+ }
924
+ render() {
925
+ var _a, _b, _c, _d;
926
+ const configOptions = this._formConfigOptions.map((option) => {
927
+ return { value: option.origin, label: option.name };
928
+ });
929
+ return (h(Host, null, h("div", { class: "ez-row ez-padding--medium" }, h("div", { class: "ez-col ez-col--sd-7 ez-col--tb-9 ez-align--middle" }, h("ez-button", { mode: "icon", iconName: "arrow_back", class: "ez-padding--small", size: "small", onClick: () => this.closeFormConfig() }), h("h1", { class: "ez-title ez-title--extra-large ez-padding--small" }, this.getMessage("snkFormConfig.title")), h("ez-actions-button", { class: "form-config__actions-button ez-margin-left--medium", value: (_a = this._optionFormConfigSelected) === null || _a === void 0 ? void 0 : _a.origin, showLabel: true, iconName: "chevron-down", checkOption: true, size: "small", actions: configOptions, onEzAction: (evt) => this.controlSelectFormConfig(evt) })), h("div", { class: "ez-col ez-col--sd-5 ez-col--tb-3 ez-align--middle ez-align--right" }, this._formConfigChanged === true && this._optionFormConfigChanged === false &&
930
+ h("div", { class: "ez-row ez-align--middle ez-align--right" }, h("ez-button", { label: "Cancelar", class: "ez-padding-left--medium", size: "small", onClick: () => this.cancelChangeConfig() }), h("ez-button", { label: "Salvar", class: "ez-button--primary ez-padding-left--medium", size: "small", onClick: () => this.saveConfig() }, h("ez-icon", { class: "ez-margin-right--small", slot: "leftIcon", iconName: "save" }))), this._optionFormConfigChanged === true &&
931
+ h("div", { class: "ez-row ez-align--middle ez-align--right" }, h("ez-button", { label: "Cancelar", class: "ez-padding-left--medium", size: "small", onClick: () => this.cancelChangeOptionConfig() }), h("ez-button", { label: this.getMessage("snkFormConfig.applyConfig"), class: "ez-button--primary ez-padding-left--medium", size: "small", onClick: () => this.applyOptionConfig() })))), h("div", { class: "ez-row ez-padding--medium", ref: ref => this._sortableContainer = ref }, h("div", { class: "form-config__tab-container ez-col ez-col--sd-9 ez-col--tb-9 ez-padding-right--medium" }, ((_b = this._layoutFormConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
932
+ h("section", { class: "ez-box__container", ref: ref => this._formContainer = ref }, h("snk-tab-config", { ref: ref => this._tabConfig = ref, selectedIndex: this._tabSelected, onEzTabChange: (ev) => this.changeTabSelected(ev.detail), onEzOrderChange: (ev) => this.changeTabOrder(ev.detail), onEditionTitleTab: (ev) => this.changeTabLabel(ev), onDeleteTab: (ev) => this.handleDeleteTab(ev), onHideTab: (ev) => this.changeHideTab(ev), onCanStartDrag: () => this.handleCanStartDragTab() }, this._layoutFormConfig.map((tab) => h("snk-tab", { tabKey: tab.tab || "Geral", label: tab.tab || this.getMessage("snkFormConfig.form.tabGeneral"), visible: tab.visible }))), this._layoutFormConfig.map((tab, indexTab) => h("div", { id: "tab" + indexTab, "data-draggable-parent": "group", class: this._tabSelected === indexTab
933
+ ? "form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium"
934
+ : "form-config__hide-content" }, tab.groups.map((group, indexGroup) => {
935
+ if (group.group) {
936
+ if (this._currentGroupBoxes[tab.tab] == undefined) {
937
+ this._currentGroupBoxes[tab.tab] = [];
938
+ }
939
+ return h("ez-collapsible-box", { ref: ref => this._currentGroupBoxes[tab.tab][indexGroup] = ref, editable: true, removable: true, "header-size": "large", label: group.group, "icon-placement": "left", "data-group-name": group.group, "data-draggable-parent": "field", "data-draggable-element": "group", onEzRemove: () => this.removeGroup(), onEzSaveEditLabel: (evt) => this.saveEditLabelGroup(evt), onEzEditLabelMode: (evt) => this._editingTitleGroup = evt.detail, conditionalSave: (newLabel) => this.checkGroupExists(newLabel, indexGroup) }, this.getFieldsByGroup(group));
940
+ }
941
+ else {
942
+ return h("div", { class: "ez-flex ez-flex--column ez-size-width--full" }, h("label", { class: "ez-text ez-text--secondary ez-margin-vertical--small" }, this.getMessage("snkFormConfig.form.subTitleInfo")), h("div", { id: CONTAINER_ID.withoutGroup, class: "ez-row", "data-draggable-parent": "field" }, this.getFieldsByGroup(group)), h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" }));
943
+ }
944
+ }), this.renderTempGroupByTab(tab.tab))), h("div", { class: "form-config__btn-add-group ez-row" }, h("div", { class: "form-config__btn-add-group-container ez-col ez-col--sd-12 ez-col--tb-12 ez-align--center" }, h("ez-button", { label: this.getMessage("snkFormConfig.form.labelNewGroup"), class: "ez-padding-horizontal--small ez-button--primary", size: "small", onClick: () => this.addNewGroup() }, h("ez-icon", { class: "ez-margin-right--small", slot: "leftIcon", iconName: "plus" })))))), h("div", { class: "form-config__fields-available ez-col ez-col--sd-3 ez-col--tb-3" }, h("section", { class: "ez-box__container ez-col ez-col--pn-12" }, h("h1", { class: "ez-title ez-title--large ez-title--primary ez-padding-bottom--medium" }, this.getMessage("snkFormConfig.availableFields.title")), h("ez-filter-input", { ref: ref => this._filterFieldsAvailable = ref, label: this.getMessage("snkFormConfig.availableFields.labelSearchField"), onEzChange: evt => this.onFilterChange(evt.detail) }), h("span", { class: "ez-box__label-counter ez-text ez-text--medium ez-text--primary ez-margin-bottom--medium" }, this.handleLabelCounter((_c = this._fieldsAvailable) === null || _c === void 0 ? void 0 : _c.length)), ((_d = this._layoutFormConfig) === null || _d === void 0 ? void 0 : _d.length) > 0 &&
945
+ h("div", { id: CONTAINER_ID.fieldsAvailable, class: "ez-row", "data-draggable-parent": "field" }, this.orderFieldsAvailable(this._fieldsAvailable).map((field) => h("div", { key: field.name, class: this._fieldsAvailableStyle, "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, fieldConfig: field })))))))));
946
+ }
947
+ static get watchers() { return {
948
+ "formConfig": ["observeFormConfig"]
949
+ }; }
950
+ };
951
+ SnkFormConfig.style = snkFormConfigCss;
952
+
953
+ export { SnkFormConfig as snk_form_config };