@sankhyalabs/sankhyablocks 10.1.0-dev.57 → 10.1.0-dev.59

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 (150) hide show
  1. package/dist/cjs/{ConfigStorage-a28eceb2.js → ConfigStorage-156bfcac.js} +2 -2
  2. package/dist/cjs/{DataFetcher-98d95e8f.js → DataFetcher-d13b4637.js} +12 -0
  3. package/dist/cjs/{ISave-a9815bb3.js → ISave-55d9dcc3.js} +1 -1
  4. package/dist/cjs/{SnkFormConfigManager-af47ba2f.js → SnkFormConfigManager-5cb9a39c.js} +2 -2
  5. package/dist/cjs/{SnkMultiSelectionListDataSource-13774e5f.js → SnkMultiSelectionListDataSource-5c5badfc.js} +5 -5
  6. package/dist/cjs/{auth-fetcher-9c257a1f.js → auth-fetcher-d1715459.js} +1 -1
  7. package/dist/cjs/{dataunit-fetcher-afc246d8.js → dataunit-fetcher-fae710c5.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-1ce4125c.js → form-config-fetcher-bbebdcb8.js} +1 -1
  9. package/dist/cjs/{index-e3e39724.js → index-bc950921.js} +6 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +5 -5
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/snk-actions-button_9.cjs.entry.js +9 -9
  14. package/dist/cjs/snk-application.cjs.entry.js +7 -7
  15. package/dist/cjs/snk-attach_11.cjs.entry.js +14 -12
  16. package/dist/cjs/snk-crud.cjs.entry.js +14 -10
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +59 -14
  18. package/dist/cjs/{snk-data-unit-ab570f87.js → snk-data-unit-32237a2d.js} +2 -2
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -9
  21. package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +33 -10
  22. package/dist/cjs/{snk-dynaform-guides-view-30ce5a8c.js → snk-dynaform-guides-view-2c7c6ce4.js} +389 -42
  23. package/dist/cjs/snk-dynaform-guides-view.cjs.entry.js +6 -6
  24. package/dist/cjs/snk-dynaform.cjs.entry.js +14 -10
  25. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +4 -4
  26. package/dist/cjs/snk-form_2.cjs.entry.js +4 -4
  27. package/dist/cjs/snk-grid.cjs.entry.js +8 -8
  28. package/dist/cjs/{snk-guides-viewer-2a55fa3a.js → snk-guides-viewer-67b9cca9.js} +2 -2
  29. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -7
  30. package/dist/cjs/snk-layout-form-config.cjs.entry.js +5 -5
  31. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
  32. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
  33. package/dist/cjs/{taskbar-elements-80eddec8.js → taskbar-elements-25f800b3.js} +1 -1
  34. package/dist/cjs/{taskbarUtils-4ca4235e.js → taskbarUtils-99aaa01f.js} +11 -6
  35. package/dist/collection/components/snk-actions-button/snk-actions-button.js +3 -3
  36. package/dist/collection/components/snk-crud/snk-crud.css +9 -4
  37. package/dist/collection/components/snk-crud/snk-crud.js +5 -1
  38. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +5 -0
  39. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +2 -2
  40. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +8 -4
  41. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +43 -2
  42. package/dist/collection/components/snk-dynaform/snk-dynaform.css +9 -4
  43. package/dist/collection/components/snk-dynaform/snk-dynaform.js +5 -1
  44. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.css +71 -1
  45. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.js +23 -0
  46. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.css +35 -1
  47. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.js +3 -1
  48. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.css +229 -6
  49. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.js +458 -38
  50. package/dist/collection/components/snk-dynaform-form-config/SnkFormConfigManager.js +8 -1
  51. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
  52. package/dist/collection/lib/@types/index.js +6 -0
  53. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +4 -0
  54. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +4 -0
  55. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +4 -0
  56. package/dist/components/ISave.js +6 -0
  57. package/dist/components/SnkMessageBuilder.js +12 -0
  58. package/dist/components/snk-actions-button2.js +3 -3
  59. package/dist/components/snk-crud.js +6 -2
  60. package/dist/components/snk-data-exporter2.js +53 -8
  61. package/dist/components/snk-dynaform-detail-view2.js +419 -41
  62. package/dist/components/snk-dynaform-form-view2.js +4 -2
  63. package/dist/components/snk-dynaform.js +6 -2
  64. package/dist/components/snk-filter-bar2.js +1 -1
  65. package/dist/components/taskbarUtils.js +5 -0
  66. package/dist/esm/{ConfigStorage-346d781d.js → ConfigStorage-0d1c0695.js} +2 -2
  67. package/dist/esm/{DataFetcher-7d8df5a2.js → DataFetcher-70de9419.js} +12 -0
  68. package/dist/esm/{ISave-2117075a.js → ISave-f5704813.js} +1 -1
  69. package/dist/esm/{SnkFormConfigManager-066d370b.js → SnkFormConfigManager-e7f05f79.js} +2 -2
  70. package/dist/esm/{SnkMultiSelectionListDataSource-7c5ffcd4.js → SnkMultiSelectionListDataSource-6ac291a9.js} +5 -5
  71. package/dist/esm/{auth-fetcher-5891e22c.js → auth-fetcher-e34880e5.js} +1 -1
  72. package/dist/esm/{dataunit-fetcher-5dcb0e89.js → dataunit-fetcher-d26e4a08.js} +1 -1
  73. package/dist/esm/{form-config-fetcher-8e2082f3.js → form-config-fetcher-98c42169.js} +1 -1
  74. package/dist/esm/{index-b40568ff.js → index-c6721886.js} +6 -0
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/esm/pesquisa-grid_2.entry.js +5 -5
  77. package/dist/esm/sankhyablocks.js +1 -1
  78. package/dist/esm/snk-actions-button_9.entry.js +9 -9
  79. package/dist/esm/snk-application.entry.js +7 -7
  80. package/dist/esm/snk-attach_11.entry.js +14 -12
  81. package/dist/esm/snk-crud.entry.js +14 -10
  82. package/dist/esm/snk-data-exporter.entry.js +59 -14
  83. package/dist/esm/{snk-data-unit-f697345b.js → snk-data-unit-ff57ac90.js} +2 -2
  84. package/dist/esm/snk-data-unit.entry.js +3 -3
  85. package/dist/esm/snk-detail-view.entry.js +9 -9
  86. package/dist/esm/snk-dynaform-detail-view_2.entry.js +33 -10
  87. package/dist/esm/{snk-dynaform-guides-view-6aae38f7.js → snk-dynaform-guides-view-0dfbefc1.js} +390 -43
  88. package/dist/esm/snk-dynaform-guides-view.entry.js +6 -6
  89. package/dist/esm/snk-dynaform.entry.js +14 -10
  90. package/dist/esm/snk-filter-bar_4.entry.js +4 -4
  91. package/dist/esm/snk-form_2.entry.js +4 -4
  92. package/dist/esm/snk-grid.entry.js +8 -8
  93. package/dist/esm/{snk-guides-viewer-3ea7e312.js → snk-guides-viewer-31a0a23d.js} +2 -2
  94. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  95. package/dist/esm/snk-layout-form-config.entry.js +5 -5
  96. package/dist/esm/snk-pesquisa.entry.js +5 -5
  97. package/dist/esm/snk-taskbar.entry.js +2 -2
  98. package/dist/esm/{taskbar-elements-63651ca7.js → taskbar-elements-ba9d6889.js} +1 -1
  99. package/dist/esm/{taskbarUtils-a43e4bba.js → taskbarUtils-cb9db0d9.js} +11 -6
  100. package/dist/sankhyablocks/{p-3190ac29.js → p-097d75b3.js} +2 -2
  101. package/dist/sankhyablocks/{p-aa9d61fa.entry.js → p-12579574.entry.js} +1 -1
  102. package/dist/sankhyablocks/{p-741f1ad0.entry.js → p-1d31aec3.entry.js} +1 -1
  103. package/dist/sankhyablocks/{p-6f2de911.entry.js → p-250b273e.entry.js} +1 -1
  104. package/dist/sankhyablocks/p-2a83f20e.entry.js +1 -0
  105. package/dist/sankhyablocks/p-2c4f7fdd.entry.js +1 -0
  106. package/dist/sankhyablocks/{p-3072136e.js → p-2ec98523.js} +1 -1
  107. package/dist/sankhyablocks/{p-10d883b0.js → p-4dd574d6.js} +1 -1
  108. package/dist/sankhyablocks/{p-7827871d.entry.js → p-541c72ec.entry.js} +1 -1
  109. package/dist/sankhyablocks/p-5aeae67f.js +1 -0
  110. package/dist/sankhyablocks/p-5ef0e9a8.entry.js +1 -0
  111. package/dist/sankhyablocks/{p-9e97fabb.entry.js → p-6d3bcabf.entry.js} +1 -1
  112. package/dist/sankhyablocks/p-6f60df43.js +1 -0
  113. package/dist/sankhyablocks/{p-58e0f14b.entry.js → p-846d8f79.entry.js} +1 -1
  114. package/dist/sankhyablocks/{p-77f608bc.entry.js → p-885262ce.entry.js} +1 -1
  115. package/dist/sankhyablocks/{p-c1e168a2.js → p-8d1ef77a.js} +1 -1
  116. package/dist/sankhyablocks/{p-13f91e7e.js → p-8d81c8d3.js} +1 -1
  117. package/dist/sankhyablocks/{p-ee192f06.entry.js → p-8f5dd87d.entry.js} +1 -1
  118. package/dist/sankhyablocks/{p-c5889dae.js → p-90037547.js} +1 -1
  119. package/dist/sankhyablocks/p-9e02a785.js +1 -0
  120. package/dist/sankhyablocks/{p-5a8390f9.entry.js → p-a25ab2ff.entry.js} +1 -1
  121. package/dist/sankhyablocks/p-a696bbcd.entry.js +1 -0
  122. package/dist/sankhyablocks/{p-b3762105.entry.js → p-a9012341.entry.js} +1 -1
  123. package/dist/sankhyablocks/p-abcb646d.js +1 -0
  124. package/dist/sankhyablocks/{p-733eba69.js → p-bd2a845c.js} +1 -1
  125. package/dist/sankhyablocks/p-bfce617e.entry.js +1 -0
  126. package/dist/sankhyablocks/{p-3630a5ae.entry.js → p-c4b34e2b.entry.js} +1 -1
  127. package/dist/sankhyablocks/{p-8d513b64.js → p-c9440c8a.js} +1 -1
  128. package/dist/sankhyablocks/p-cd153f71.entry.js +1 -0
  129. package/dist/sankhyablocks/{p-e91bd00e.js → p-eac48627.js} +1 -1
  130. package/dist/sankhyablocks/{p-d7657667.js → p-ec7c87bb.js} +1 -1
  131. package/dist/sankhyablocks/p-fb6e3c65.entry.js +1 -0
  132. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  133. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +16 -0
  134. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.d.ts +11 -0
  135. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.d.ts +1 -0
  136. package/dist/types/components.d.ts +32 -0
  137. package/dist/types/lib/@types/index.d.ts +6 -0
  138. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +2 -0
  139. package/package.json +1 -1
  140. package/dist/sankhyablocks/p-0f3698af.js +0 -1
  141. package/dist/sankhyablocks/p-1bc6849e.js +0 -1
  142. package/dist/sankhyablocks/p-2c65dc01.entry.js +0 -1
  143. package/dist/sankhyablocks/p-3cc67d50.entry.js +0 -1
  144. package/dist/sankhyablocks/p-4a53fbeb.entry.js +0 -1
  145. package/dist/sankhyablocks/p-7e63af25.entry.js +0 -1
  146. package/dist/sankhyablocks/p-a8a93568.entry.js +0 -1
  147. package/dist/sankhyablocks/p-acd3adf9.entry.js +0 -1
  148. package/dist/sankhyablocks/p-c3bc693a.js +0 -1
  149. package/dist/sankhyablocks/p-c6b6567f.entry.js +0 -1
  150. package/dist/sankhyablocks/p-ed1b1b14.js +0 -1
@@ -1 +0,0 @@
1
- import{r as i,e as t,h as e,F as s,g as n}from"./p-2c9d0870.js";import{ObjectUtils as o,StringUtils as r,Action as d,KeyboardManager as l,ElementIDUtils as a}from"@sankhyalabs/core";import{buildFieldSearch as h,SHORTCUT_SEARCH_FIELD as u}from"@sankhyalabs/ezui/dist/collection/utils";import{buildFormMetadata as v,FormMetadata as c}from"@sankhyalabs/ezui/dist/collection/utils/form";import{a as f,V as m}from"./p-9019a32f.js";import{C as g}from"./p-13f91e7e.js";import{F as b}from"./p-d7657667.js";import{T as k}from"./p-3072136e.js";class w{constructor(i,t,e,s){this._resourceID=t,this._configName=i,this._onConfigChange=e,this._dataUnit=s}addFormLegacyConfig(i){this._configName&&g.addFormLegacyConfig(this._configName,i)}async loadConfig(){return new Promise((i=>{g.loadFormConfig(this._configName,this._resourceID).then((t=>{t=this.buildFormMetadataUITabs(t),this.setConfig(t),i(t)})).catch((i=>{console.warn(i)}))}))}getEmptyConfig(){return this.buildFormMetadataUITabs({fields:[],emptyConfig:!0},!0)}saveConfig(i){const t=o.copy(i);return new Promise((e=>{g.saveFormConfig(i,this._configName,this._resourceID).then((i=>{this.setConfig(Object.assign(Object.assign({},t),i)),e(Object.assign(Object.assign({},t),i))}))}))}saveCardState(i,t,e){return new Promise((s=>{var n;const o=(null===(n=this._config)||void 0===n?void 0:n.cardsState)||new Map,r=o.get(i);o.set(i,"fixed"===e?this.updateFixSequence(Object.assign(Object.assign({},r),{fixed:t.fixed}),o):Object.assign(Object.assign({},r),{[e]:t[e]})),g.saveCardState(o,this._configName,this._resourceID).then((i=>{this._config=Object.assign(Object.assign({},this._config),{cardsState:o}),s(i)}))}))}updateFixSequence(i,t){let e=-1;return Array.from(t.values()).forEach((t=>{t.fixed||delete i.fixSequence,null!=t.fixSequence&&(e=Math.max(e,t.fixSequence))})),i.fixed?i.fixSequence=e+1:delete i.fixSequence,i}hasConfig(i){var t;const e=null!=i?i:this._config;return!(!e||!(null===(t=e.fields)||void 0===t?void 0:t.length))}getFieldsList(i,t=!1){var e,s;const n=null===(e=this._config)||void 0===e?void 0:e.fields;return this.hasConfig()&&!t?n.map((({label:i,name:t,readOnly:e,visible:s,required:n,tab:o,group:r})=>{var d;if(null==i){const i=null===(d=this._dataUnit)||void 0===d?void 0:d.getField(t);if(!i)return;return Object.assign(Object.assign({},i),{name:null!=t?t:i.name,readOnly:null!=e?e:i.readOnly,visible:null!=s?s:i.visible,required:null!=n?n:i.required,tab:o,group:r})}return{name:t,label:i,readOnly:e,visible:s,required:n,tab:o,group:r}})).filter((t=>this.isFieldVisible(t,i))):this._dataUnit&&(null===(s=this._dataUnit.metadata)||void 0===s?void 0:s.fields)?this._dataUnit.metadata.fields.filter((t=>this.isFieldVisible(t,i))).map((({label:i,name:t,readOnly:e,visible:s,required:n,properties:o})=>({label:i,name:t,readOnly:e,visible:s,required:n,tab:null==o?void 0:o.UITabName}))):[]}isFieldVisible(i,t){if(void 0===i||!1===i.visible)return!1;if(null==t)return!0;const e=r.replaceAccentuatedCharsLower((i.label||i.name).toLocaleLowerCase()),s=r.replaceAccentuatedCharsLower(t.toLocaleLowerCase());return e.includes(s)}getFormConfig(i,t,e=!1){let s=this.getFieldsList(void 0,e);return t&&(s=s.filter((t=>{if(i){const e=i.getField(t.name);if(e&&e.readOnly)return!1}return!t.readOnly}))),Object.assign(Object.assign({},this._config),{fields:s})}setConfig(i){this.isLoaded=!0;const{cardsState:t,summary:e,defaultVars:s}=this._config||{};this._config=Object.assign({},i),t&&(this._config.cardsState=t),e&&(this._config.summary=e),s&&(this._config.defaultVars=s),this._onConfigChange&&this._onConfigChange(Object.assign({},this._config))}getConfig(i,t){return this.getFormConfig(i,t)}getFormConfigFetcher(){return null==this._formConfigFetcher&&(this._formConfigFetcher=new b),this._formConfigFetcher}async fetchUserAvailableConfigs(){return null!=this._configName?Promise.resolve(void 0):this.getFormConfigFetcher().fetchUserAvailableConfigs(this._configName,this._resourceID)}async fetchLegacyConfig(){return this.getFormConfigFetcher().fetchLegacyConfig(this._configName,this._resourceID)}async fetchDefaultConfig(){return this.getFormConfigFetcher().fetchDefaultConfig(this._configName,this._resourceID)}parseObjectList(i){return i?Array.isArray(i)?i:[i]:[]}buildFormMetadataUITabs(i,t=!1){var e,s,n;const o=this.hasConfig(i);if(!t&&(!this._dataUnit||o))return i;(i=this.getFormConfig(this._dataUnit,!1,!0)).tabs=this.parseObjectList(i.tabs),i.emptyConfig=!1,i.defaultConfiguration=!0;const r=null!==(s=null===(e=this._dataUnit.metadata)||void 0===e?void 0:e.fields)&&void 0!==s?s:[];for(const t of r){const e=i.fields.find((i=>i.name===t.name)),s=null===(n=t.properties)||void 0===n?void 0:n.UITabName;s&&s!==f.main&&(i.tabs.some((i=>i.label===s))||i.tabs.push({label:s,name:s,order:0,visible:!0}),e&&(e.tab=s))}return i}}const y=class{constructor(e){i(this,e),this.snkMasterFormConfigChange=t(this,"snkMasterFormConfigChange",7),this.formConfigVisibilityChanged=t(this,"formConfigVisibilityChanged",7),this.exit=t(this,"exit",7),this.actionClick=t(this,"actionClick",7),this.formItemsReady=t(this,"formItemsReady",7),this.dataUnit=void 0,this.dataState=void 0,this.configName=void 0,this.entityPath=void 0,this.actionsList=void 0,this.recordsValidator=void 0,this.masterFormConfig=void 0,this.selectedGuide=void 0,this.taskbarManager=void 0,this.messagesBuilder=void 0,this.canEdit=!0,this.presentationMode=void 0,this.resourceID=void 0,this.detailTaskbarCustomContainerId=void 0,this.formLegacyConfigName=void 0,this.enableGridInsert=!1,this.ignoreReadOnlyFormFields=void 0,this.getCustomTitle=void 0,this.customGuidesConfig=[],this._guides=[],this._formEditorConfigManager=void 0,this._formEditorDataUnit=void 0,this._fieldToGetFocus=void 0,this._customEditors={},this._customRenders={},this._fieldsProps={},this._mainForm=void 0,this._mainFormName=void 0,this._errorTabs=new Set,this._hasToCreateFieldSearch=!0}observeDataUnit(){this.loadGuides(!0)}async observeFormConfigManager(i){var t,e;const s=!!i;await(null===(t=this._viewStack)||void 0===t?void 0:t.show(s?p.CONFIG:p.GUIDES)),null===(e=this.formConfigVisibilityChanged)||void 0===e||e.emit(s)}observeDataState(i,t){var e,s,n,r,d,l;const a=null!==(s=null===(e=null==i?void 0:i.selectionInfo)||void 0===e?void 0:e.recordIds)&&void 0!==s?s:null===(n=null==i?void 0:i.selectedRecord)||void 0===n?void 0:n.__record__id__,h=null!==(d=null===(r=null==t?void 0:t.selectionInfo)||void 0===r?void 0:r.recordIds)&&void 0!==d?d:null===(l=null==t?void 0:t.selectedRecord)||void 0===l?void 0:l.__record__id__;o.equals(a,h)||this.loadGuides((null==t?void 0:t.insertionMode)!=(null==i?void 0:i.insertionMode))}observeMasterFormConfig(){var i;this.loadGuides(this.noGuideSelected()),null===(i=this.snkMasterFormConfigChange)||void 0===i||i.emit(this.masterFormConfig)}async showFormConfig(i=!1){var t,e;const s=!i||null==this._currentDetail;this._formEditorConfigManager=s?this._configManager:null===(t=this._currentDetail)||void 0===t?void 0:t.formConfigManager,this._formEditorDataUnit=s?this.dataUnit:null===(e=this._currentDetail)||void 0===e?void 0:e.dataUnit}async addCustomEditor(i,t){this._customEditors=Object.assign(Object.assign({},this._customEditors),{[i]:t})}async addGridCustomRender(i,t){this._customRenders=Object.assign(Object.assign({},this._customRenders),{[i]:t})}async setFieldProp(i,t,e){const s={[i]:Object.assign(Object.assign({},this._fieldsProps[i]),{[t]:e})};this._fieldsProps=Object.assign(Object.assign({},this._fieldsProps),s)}async setFocus(){var i;null===(i=this._container)||void 0===i||i.focus({preventScroll:!0})}async reloadGuides(){this.loadGuides(!1)}exitViewer(){var i,t;!this.enableGridInsert&&(null===(i=this.dataUnit)||void 0===i?void 0:i.isDirty())?this.dataUnit.cancelEdition({after:()=>{var i;return null===(i=this.exit)||void 0===i?void 0:i.emit()}}):null===(t=this.exit)||void 0===t||t.emit()}onActionClick(i){var t;i.detail===k.CONFIGURATOR&&"master"!=i.target.dataset.taskbarOwner&&(null===(t=this._snkConfigurator)||void 0===t||t.open(),i.stopImmediatePropagation(),i.stopPropagation())}onContentCardChanged(i){this._configManager&&this.dataUnit&&y.updateContentCard(i.detail.formName,i.detail.cardConfig,i.detail.propertyChanged,this._configManager).then((()=>{var i;return this.masterFormConfig=null===(i=this._configManager)||void 0===i?void 0:i.getConfig(this.dataUnit)}))}getMessage(i){var t,e,s,n,o,r;if(null===(t=this.dataUnit)||void 0===t?void 0:t.isMultipleEdition){const i=null!==(s=null===(e=this.dataUnit.getSelectionInfo())||void 0===e?void 0:e.records)&&void 0!==s?s:[];return null===(n=this.messagesBuilder)||void 0===n?void 0:n.getMessage("snkCrud.multipleEdition.editing",{COUNT:i.length})}return null===(o=this.messagesBuilder)||void 0===o?void 0:o.getMessage(i,null===(r=this.dataUnit)||void 0===r?void 0:r.getSelectedRecord())}loadGuides(i){var t;if(!this.dataUnit||!this._configManager)return;if(!this._configManager.isLoaded)return;this._masterFormMetadata=v(this.masterFormConfig,this.dataUnit,!0,this.customGuidesConfig);const e=null===(t=this._masterFormMetadata)||void 0===t?void 0:t.getAllSheets();if(!e)return;const s=this.dataUnit.getSelectedRecord(),n=this.hasToDisableDetails(s),o=[];let r;Array.from(e.values()).forEach((i=>{if((null==i?void 0:i.name)===f.main)return void(r=null==i?void 0:i.name);const t={id:null==i?void 0:i.name,label:null==i?void 0:i.label};this.isDetail(null==i?void 0:i.name)&&n&&(t.tooltip=this.getMessage("snkCrud.detail.tooltip.needSingleSelection"),t.disabled=!0),i.isCustom&&i.ctxProps&&Object.entries(i.ctxProps).forEach((([i,e])=>{void 0!==e&&(t[i]=e)})),t.props||(t.props={}),t.props.isAdditional=i.name.includes("AD_"),t.props.isCustom=!!i.isCustom,o.push(t)})),this._mainFormName=r,this._guides=o;const d=this.selectedGuide&&this._guides.some((i=>i.id===this.selectedGuide.id));!i&&d||(this.selectedGuide=this._guides&&this._guides.length>0?this._guides[0]:void 0)}hasToDisableDetails(i){return!i||!this.dataUnit||this.dataUnit.isNewRecord(i.__record__id__)||this.dataUnit.isMultipleEdition}isDetail(i){return null!=c.getDetailName(i)}buildTabItems(){return this._guides.map(((i,t)=>({tabKey:i.id,label:i.label,index:t,disabled:i.disabled,rightIcon:this._errorTabs.has(i.id)?"alert-circle-inverted":void 0,leftIcon:this.getTabLeftIcon(i)})))}getTabLeftIcon(i){var t,e;return i.icon?i.icon:(null===(t=i.props)||void 0===t?void 0:t.isCustom)||(null===(e=i.props)||void 0===e?void 0:e.isAdditional)?"puzzle-piece":void 0}isCustomGuide(i){var t;return!!i&&!!(null===(t=this.customGuidesConfig)||void 0===t?void 0:t.some((t=>t.id===i)))}onTabChange(i){const t=this._guides.find((t=>t.id===i.tabKey));t&&!t.disabled&&(this.selectedGuide=t)}static updateContentCard(i,t,e,s){return s.saveCardState(i,t,e)}static buildMainForm(i){if(null==i.formMetadata||null==i.mainFormName)return;const t=i.formMetadata.getSheet(i.mainFormName);return null!=t?e("snk-dynaform-form-view",{ref:t=>{var e;return null===(e=i.onMainFormRef)||void 0===e?void 0:e.call(i,t)},label:t.label,name:i.mainFormName,fields:t.fields,formMetadata:i.formMetadata,dataUnit:i.dataUnit,recordsValidator:i.recordsValidator,fieldToFocus:i.fieldToFocus,key:i.mainFormName,onSnkRequestClearFieldToFocus:()=>{var t;return null===(t=i.onRequestClearFieldToFocus)||void 0===t?void 0:t.call(i)},customEditors:i.propsCustomEditor,fieldsProps:i.fieldsProps,entityPath:i.entityPath,fieldSearch:i.fieldSearch}):void 0}static buildFixedForms(i){var t;const n=null===(t=i.formConfig)||void 0===t?void 0:t.cardsState;if(null==n||null==i.formMetadata)return;const o=Array.from(n.entries()).filter((([t,e])=>(null==e?void 0:e.fixed)&&t!=i.selectedForm&&t!=i.mainFormName)).sort((([,i],[,t])=>((null==i?void 0:i.fixSequence)||0)-((null==t?void 0:t.fixSequence)||0)));return 0!==o.length?e(s,null,o.map((([t])=>{const s=i.formMetadata.getSheet(t);if(null!=s)return e("snk-dynaform-form-view",{label:s.label,name:t,fields:s.fields,formMetadata:i.formMetadata,dataUnit:i.dataUnit,recordsValidator:i.recordsValidator,fieldToFocus:i.fieldToFocus,key:t,onSnkRequestClearFieldToFocus:()=>{var t;return null===(t=i.onRequestClearFieldToFocus)||void 0===t?void 0:t.call(i)},customEditors:i.propsCustomEditor,fieldsProps:i.fieldsProps,entityPath:i.entityPath})}))):void 0}getContent(){var i;if(!this.selectedGuide)return;const t=this.selectedGuide.id;if(this.isCustomGuide(t))return e("slot",{name:t});const s=c.getDetailName(t);if(s)return e("snk-dynaform-detail-view",{ref:i=>{i&&(this._currentDetail=i)},dataUnitName:`${this.entityPath}/${s}`,entityName:s,label:this.selectedGuide.label,key:`detail_${t}`,canEdit:this.canEdit,resourceID:this.resourceID,taskbarCustomContainerId:this.detailTaskbarCustomContainerId,customEditors:this._customEditors,customRenders:this._customRenders,presentationMode:this.presentationMode,messagesBuilder:this.messagesBuilder});if(t===this._mainFormName)return;const n=null===(i=this._masterFormMetadata)||void 0===i?void 0:i.getSheet(t);return n?e("snk-dynaform-form-view",{name:t,label:n.label,fields:n.fields,dataUnit:this.dataUnit,formMetadata:this._masterFormMetadata,recordsValidator:this.recordsValidator,fieldToFocus:this._fieldToGetFocus,key:t,onSnkRequestClearFieldToFocus:()=>this.clearFieldToFocusHandler(),customEditors:this._customEditors,fieldsProps:this._fieldsProps,fieldSearch:this._fieldSearch,entityPath:this.entityPath}):void 0}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}getConfigViewMode(){return m.GRID}changeConfigViewMode(i){var t,e;this._currentDetail&&(null===(e=(t=this._currentDetail).changeViewMode)||void 0===e||e.call(t,i))}openConfig(i){var t,e,s,n;null===(e=null===(t=this._snkConfigurator)||void 0===t?void 0:t.close)||void 0===e||e.call(t),this._currentDetail&&(i===m.FORM?this.showFormConfig(!0):null===(n=(s=this._currentDetail).configGrid)||void 0===n||n.call(s))}noGuideSelected(){var i;return void 0===this.selectedGuide||f.main===(null===(i=this.selectedGuide)||void 0===i?void 0:i.id)}addFormLegacyConfigName(){var i;this.formLegacyConfigName&&(null===(i=this._configManager)||void 0===i||i.addFormLegacyConfig(this.formLegacyConfigName))}setMasterFormConfig(i){this.masterFormConfig=i}componentWillLoad(){var i;if(null==this.resourceID)throw new Error(null!==(i=this.getMessage("snkCrud.errors.resourceIDNotProvided"))&&void 0!==i?i:"");this._configManager=new w(this.configName,this.resourceID,this.setMasterFormConfig.bind(this),this.dataUnit),this.addFormLegacyConfigName(),this._configManager.loadConfig()}async dataUnitActionHandler(i){var t,e;switch(i.type){case d.EDITION_CANCELED:case d.DATA_SAVED:(null===(t=this.dataUnit)||void 0===t?void 0:t.isMultipleEdition)&&(this.exitViewer(),this.dataUnit&&(this.dataUnit.isMultipleEdition=!1));break;case d.FIELD_INVALIDATED:const s=this.getGuideName(null===(e=i.payload)||void 0===e?void 0:e.fieldName);s&&(this._errorTabs=new Set([...this._errorTabs,s]));break;case d.METADATA_LOADED:case d.MULTIPLE_EDITION_CHANGED:this.loadGuides(this.noGuideSelected())}}getGuideName(i){var t,e;const s=null===(t=this._masterFormMetadata)||void 0===t?void 0:t.getAllSheets();if(!s)return"";for(const t of s){const s=null===(e=t[1])||void 0===e?void 0:e.fields;if(s)for(const e of s)if(e.name===i)return t[0]}return""}getTitle(){var i,t,e;return null!==(e=null!==(t=null===(i=this.getCustomTitle)||void 0===i?void 0:i.call(this))&&void 0!==t?t:this.getMessage("snkCrud.title"))&&void 0!==e?e:""}getTitleTooltip(){var i;if(null===(i=this.dataUnit)||void 0===i?void 0:i.isMultipleEdition)return this.buildRecordIdsArray()}buildRecordIdsArray(){var i,t,e;const s=null!==(e=null===(t=null===(i=this.dataUnit)||void 0===i?void 0:i.getSelectionInfo())||void 0===t?void 0:t.records)&&void 0!==e?e:[];if(0===s.length)return"[]";const n=s.map((i=>{var t;return null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage("snkCrud.title",i)}));return`[${n.join(", ")}]`}getFieldsSearch(){var i;if(null==this._fieldSearch||this._hasToCreateFieldSearch){this._hasToCreateFieldSearch=!1;const t={label:null!==(i=this.getMessage("snkSimpleCrud.findFields"))&&void 0!==i?i:"Busca de campos",value:"findFields"};this._fieldSearch=h(t,(({argument:i})=>this.fieldsOptionLoader(i)),(i=>this.onSelectField(i)))}return this._fieldSearch}fieldsOptionLoader(i){var t,e;return Promise.resolve(null!==(e=null===(t=this._configManager)||void 0===t?void 0:t.getFieldsList(i).map((i=>({value:i.name,label:i.label}))))&&void 0!==e?e:[])}onSelectField(i){var t,e,s;if(null==i)return;this._fieldToGetFocus=i.value;const n=this.getGuideName(i.value);if(n)if(n!==this._mainFormName){if(n!==(null===(s=this.selectedGuide)||void 0===s?void 0:s.id)){const i=this._guides.find((i=>i.id===n));i&&!i.disabled&&(this.selectedGuide=i)}}else null===(e=null===(t=this._mainForm)||void 0===t?void 0:t.showUp)||void 0===e||e.call(t)}componentDidLoad(){var i;null===(i=this.dataUnit)||void 0===i||i.subscribe(this.dataUnitActionHandler.bind(this)),this.initKeyboardManager(),this.getFieldsSearch()}disconnectedCallback(){var i;null===(i=this._keyboardManager)||void 0===i||i.unbindAllShortcutKeys()}async initKeyboardManager(){this._keyboardManager=new l({propagate:!1,element:this._element}),this._keyboardManager&&this._keyboardManager.bind(u,(async()=>{var i,t;this._mainForm&&await(null===(t=(i=this._mainForm).showSearchField)||void 0===t?void 0:t.call(i))}),{description:this.getMessage("snkSimpleCrud.findFields"),element:this._element})}render(){var i,t,s;if(null!=this._formEditorConfigManager)return e("snk-dynaform-form-config",{ref:i=>{i&&(this._container=i)},tabindex:-1,dataUnit:this._formEditorDataUnit,messagesBuilder:this.messagesBuilder,configManager:this._formEditorConfigManager,onConfigClose:()=>this._formEditorConfigManager=void 0});if(!this.dataUnit||!(null===(i=this._configManager)||void 0===i?void 0:i.isLoaded))return;const n=this._guides&&this._guides.length>0,o={formConfig:this.masterFormConfig,formMetadata:this._masterFormMetadata,selectedForm:null===(t=this.selectedGuide)||void 0===t?void 0:t.id,mainFormName:this._mainFormName,dataUnit:this.dataUnit,recordsValidator:this.recordsValidator,fieldToFocus:this._fieldToGetFocus,onRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),propsCustomEditor:this._customEditors,fieldsProps:this._fieldsProps,entityPath:this.entityPath,fieldSearch:this._fieldSearch,onMainFormRef:i=>{this._mainForm=i}};return e("section",{class:"snk-guides-viewer",ref:i=>{i&&(this._container=i)},tabindex:-1},this.getTitle()&&e("div",{class:"ez-row snk-guides-viewer__header"},e("div",{class:"snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center",key:"header"},e("div",{class:"ez-flex ez-flex--column ez-flex-item--auto"},e("h1",{class:"ez-title ez-title--primary ez-title--xlarge",title:this.getTitleTooltip()},this.getTitle())))),e("div",{class:"snk-guides-viewer__container"},y.buildMainForm(o),n&&e("ez-tabselector",Object.assign({class:"snk-guides-viewer__tabselector",tabs:this.buildTabItems(),selectedTab:null===(s=this.selectedGuide)||void 0===s?void 0:s.id,onEzChange:i=>this.onTabChange(i.detail)},{[a.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${a.getInternalIDInfo("tabselector")}`})),e("div",{class:"snk-guides-viewer__detail-container"},y.buildFixedForms(o),this.getContent())),e("snk-configurator",{ref:i=>{i&&(this._snkConfigurator=i)},viewMode:this.getConfigViewMode(),onConfigSelected:i=>this.changeConfigViewMode(i.detail),messagesBuilder:this.messagesBuilder,onOpenConfig:i=>this.openConfig(i.detail),resourceID:this.resourceID}))}get _element(){return n(this)}static get watchers(){return{dataUnit:["observeDataUnit"],_formEditorConfigManager:["observeFormConfigManager"],dataState:["observeDataState"],masterFormConfig:["observeMasterFormConfig"]}}};var p;!function(i){i[i.GUIDES=0]="GUIDES",i[i.CONFIG=1]="CONFIG"}(p||(p={})),y.style=".sc-snk-dynaform-guides-view-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-small:var(--space--2xs, 8px);--snk-guides-viewer__header--min-height:68px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);display:block;height:100%;min-width:0;overflow-x:hidden}snk-dynaform-form-view.sc-snk-dynaform-guides-view{width:100%}.snk-guides-viewer.sc-snk-dynaform-guides-view{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0px}.snk-guides-viewer__detail-container.sc-snk-dynaform-guides-view{display:flex;row-gap:24px;flex-direction:column;flex:1;max-height:none;min-height:0;overflow:hidden;margin-bottom:var(--space--12, 12px)}.snk-guides-viewer__container.sc-snk-dynaform-guides-view>snk-dynaform-form-view.sc-snk-dynaform-guides-view{max-height:300px;min-height:0;overflow-y:auto}.snk-guides-viewer__detail-container.sc-snk-dynaform-guides-view>snk-dynaform-form-view.sc-snk-dynaform-guides-view,.snk-guides-viewer__detail-container.sc-snk-dynaform-guides-view>snk-dynaform-detail-view.sc-snk-dynaform-guides-view{flex:1;min-height:0;overflow-y:auto}.snk-guides-viewer__header.sc-snk-dynaform-guides-view{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);padding:var(--snk-guides-viewer--space-small)}.snk-guides-viewer__header-breadcrumb.sc-snk-dynaform-guides-view{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-dynaform-guides-view{width:75%}.snk-guides-viewer__container.sc-snk-dynaform-guides-view{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.snk-guides-viewer__tabselector.sc-snk-dynaform-guides-view{width:100%;min-width:0;box-sizing:border-box;padding:0 var(--space--12, 12px);flex-shrink:0}";export{y as S,w as a}