@sankhyalabs/sankhyablocks 8.16.0-dev.99 → 8.16.0-ms.10

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 (172) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-cc82b68a.js → ClientSideExporterProvider-fe52f7cf.js} +11 -4
  2. package/dist/cjs/{ConfigStorage-2235f35e.js → ConfigStorage-6b633b10.js} +1 -1
  3. package/dist/cjs/ISave-e91b70a7.js +9 -0
  4. package/dist/cjs/{SnkFormConfigManager-6637cd6b.js → SnkFormConfigManager-d680be08.js} +2 -2
  5. package/dist/cjs/{auth-fetcher-abad589f.js → auth-fetcher-24ba4135.js} +1 -1
  6. package/dist/cjs/{form-config-fetcher-db332748.js → form-config-fetcher-e0a512c3.js} +0 -14
  7. package/dist/cjs/{index-102ba62d.js → index-ab1cfb44.js} +3 -4
  8. package/dist/cjs/index-f9e81701.js +2 -2
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{ISave-62fbb1dd.js → pesquisa-fetcher-30cab386.js} +0 -8
  11. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +5 -4
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/{snk-actions-button_7.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +4 -63
  14. package/dist/cjs/snk-application.cjs.entry.js +5 -48
  15. package/dist/cjs/snk-attach.cjs.entry.js +49 -19
  16. package/dist/cjs/snk-config-options_3.cjs.entry.js +3 -3
  17. package/dist/cjs/snk-configurator.cjs.entry.js +1 -8
  18. package/dist/cjs/snk-crud.cjs.entry.js +8 -7
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -2
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +10 -10
  21. package/dist/cjs/snk-expression-group_2.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -2
  24. package/dist/cjs/snk-grid.cjs.entry.js +10 -8
  25. package/dist/cjs/{snk-guides-viewer-0e4f3b1a.js → snk-guides-viewer-b6002ea7.js} +6 -5
  26. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -7
  27. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  28. package/dist/cjs/snk-pesquisa.cjs.entry.js +16 -9
  29. package/dist/cjs/snk-simple-crud.cjs.entry.js +11 -10
  30. package/dist/cjs/snk-taskbar.cjs.entry.js +6 -3
  31. package/dist/cjs/{taskbar-elements-7e19882d.js → taskbar-elements-ebddaef4.js} +1 -1
  32. package/dist/collection/collection-manifest.json +0 -2
  33. package/dist/collection/components/snk-application/snk-application.js +0 -41
  34. package/dist/collection/components/snk-attach/snk-attach.js +27 -1
  35. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +17 -13
  36. package/dist/collection/components/snk-configurator/snk-configurator.js +1 -26
  37. package/dist/collection/components/snk-crud/snk-crud.js +10 -10
  38. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +1 -10
  39. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +1 -25
  40. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  41. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -0
  42. package/dist/collection/components/snk-grid/snk-grid.css +1 -0
  43. package/dist/collection/components/snk-grid/snk-grid.js +20 -1
  44. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +1 -1
  45. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +9 -2
  46. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +21 -21
  47. package/dist/collection/components/snk-taskbar/snk-taskbar.js +4 -1
  48. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +8 -2
  49. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +0 -14
  50. package/dist/components/ContinuousInsertUtils.js +8 -2
  51. package/dist/components/form-config-fetcher.js +0 -14
  52. package/dist/components/index.d.ts +0 -2
  53. package/dist/components/index.js +0 -2
  54. package/dist/components/index2.js +3 -4
  55. package/dist/components/pesquisa-grid2.js +1 -1
  56. package/dist/components/snk-application2.js +0 -45
  57. package/dist/components/snk-attach2.js +65 -48
  58. package/dist/components/snk-configurator2.js +2 -22
  59. package/dist/components/snk-crud.js +64 -76
  60. package/dist/components/snk-detail-view2.js +86 -110
  61. package/dist/components/snk-filter-bar2.js +1 -1
  62. package/dist/components/snk-grid2.js +4 -2
  63. package/dist/components/snk-pesquisa2.js +9 -2
  64. package/dist/components/snk-simple-crud2.js +22 -34
  65. package/dist/components/snk-taskbar2.js +4 -1
  66. package/dist/esm/{ClientSideExporterProvider-8191676b.js → ClientSideExporterProvider-bd24a4b3.js} +11 -4
  67. package/dist/esm/{ConfigStorage-9bd805d6.js → ConfigStorage-e5c1f4c0.js} +1 -1
  68. package/dist/esm/ISave-d8c8bc59.js +9 -0
  69. package/dist/esm/{SnkFormConfigManager-fbc6a9a8.js → SnkFormConfigManager-1efd102b.js} +2 -2
  70. package/dist/esm/{auth-fetcher-07d33333.js → auth-fetcher-9987c66e.js} +1 -1
  71. package/dist/esm/{form-config-fetcher-ac17cff4.js → form-config-fetcher-34becd23.js} +0 -14
  72. package/dist/esm/index-a7d3d3f1.js +2 -2
  73. package/dist/esm/{index-bdf75557.js → index-c57e49af.js} +3 -4
  74. package/dist/esm/loader.js +1 -1
  75. package/dist/esm/{ISave-7d546dce.js → pesquisa-fetcher-e26c3295.js} +1 -9
  76. package/dist/esm/pesquisa-grid_2.entry.js +4 -3
  77. package/dist/esm/sankhyablocks.js +1 -1
  78. package/dist/esm/{snk-actions-button_7.entry.js → snk-actions-button_5.entry.js} +6 -63
  79. package/dist/esm/snk-application.entry.js +4 -47
  80. package/dist/esm/snk-attach.entry.js +49 -19
  81. package/dist/esm/snk-config-options_3.entry.js +3 -3
  82. package/dist/esm/snk-configurator.entry.js +1 -8
  83. package/dist/esm/snk-crud.entry.js +8 -7
  84. package/dist/esm/snk-data-exporter.entry.js +3 -2
  85. package/dist/esm/snk-detail-view.entry.js +10 -10
  86. package/dist/esm/snk-expression-group_2.entry.js +1 -1
  87. package/dist/esm/snk-filter-bar_4.entry.js +3 -3
  88. package/dist/esm/snk-filter-modal-item.entry.js +2 -2
  89. package/dist/esm/snk-grid.entry.js +10 -8
  90. package/dist/esm/{snk-guides-viewer-80a8709c.js → snk-guides-viewer-39fae8d5.js} +6 -5
  91. package/dist/esm/snk-guides-viewer.entry.js +8 -7
  92. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  93. package/dist/esm/snk-pesquisa.entry.js +10 -3
  94. package/dist/esm/snk-simple-crud.entry.js +11 -10
  95. package/dist/esm/snk-taskbar.entry.js +6 -3
  96. package/dist/esm/{taskbar-elements-d2353c64.js → taskbar-elements-ed51e143.js} +1 -1
  97. package/dist/sankhyablocks/p-11afea24.entry.js +1 -0
  98. package/dist/sankhyablocks/p-18389343.entry.js +1 -0
  99. package/dist/sankhyablocks/p-21749402.js +1 -0
  100. package/dist/sankhyablocks/p-22ddc147.js +26 -0
  101. package/dist/sankhyablocks/p-240ac47f.entry.js +1 -0
  102. package/dist/sankhyablocks/{p-cb9d725a.js → p-3ce68be5.js} +1 -1
  103. package/dist/sankhyablocks/{p-13f17dab.js → p-3fcb90d6.js} +1 -1
  104. package/dist/sankhyablocks/p-43769aa9.js +1 -0
  105. package/dist/sankhyablocks/p-4b01cbad.entry.js +11 -0
  106. package/dist/sankhyablocks/p-4c9adf1c.entry.js +1 -0
  107. package/dist/sankhyablocks/{p-3fc82614.js → p-517efc93.js} +1 -1
  108. package/dist/sankhyablocks/p-5e9fbd76.js +1 -0
  109. package/dist/sankhyablocks/p-6b898a51.entry.js +1 -0
  110. package/dist/sankhyablocks/p-77168ab4.entry.js +1 -0
  111. package/dist/sankhyablocks/p-91708c3d.entry.js +1 -0
  112. package/dist/sankhyablocks/p-9523fc40.entry.js +1 -0
  113. package/dist/sankhyablocks/p-9887a437.entry.js +1 -0
  114. package/dist/sankhyablocks/p-9ebc3f3b.entry.js +1 -0
  115. package/dist/sankhyablocks/p-a5bdcb3f.entry.js +1 -0
  116. package/dist/sankhyablocks/{p-0bcd4757.entry.js → p-a61bbe18.entry.js} +1 -1
  117. package/dist/sankhyablocks/{p-48729c8c.js → p-a77bdadc.js} +1 -1
  118. package/dist/sankhyablocks/{p-9d3a025a.entry.js → p-bfdf92e9.entry.js} +1 -1
  119. package/dist/sankhyablocks/p-cb1e77e0.entry.js +1 -0
  120. package/dist/sankhyablocks/{p-340e2447.entry.js → p-d3b9b377.entry.js} +1 -1
  121. package/dist/sankhyablocks/p-e289826a.js +1 -0
  122. package/dist/sankhyablocks/p-e51c52cf.entry.js +1 -0
  123. package/dist/sankhyablocks/{p-f467153c.entry.js → p-e66bcb5c.entry.js} +1 -1
  124. package/dist/sankhyablocks/{p-108fee57.js → p-ef076eea.js} +2 -2
  125. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  126. package/dist/types/components/snk-application/snk-application.d.ts +0 -10
  127. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  128. package/dist/types/components/snk-configurator/snk-configurator.d.ts +0 -6
  129. package/dist/types/components/snk-crud/snk-crud.d.ts +2 -2
  130. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +0 -5
  131. package/dist/types/components/snk-grid/snk-grid.d.ts +4 -0
  132. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +1 -0
  133. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -4
  134. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +1 -0
  135. package/dist/types/components.d.ts +25 -77
  136. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +0 -6
  137. package/package.json +1 -1
  138. package/react/components.d.ts +0 -2
  139. package/react/components.js +0 -2
  140. package/react/components.js.map +1 -1
  141. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +0 -3
  142. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +0 -73
  143. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +0 -78
  144. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +0 -57
  145. package/dist/collection/lib/configs/LayoutFormConfig.js +0 -25
  146. package/dist/components/snk-layout-form-config.d.ts +0 -11
  147. package/dist/components/snk-layout-form-config.js +0 -6
  148. package/dist/components/snk-layout-form-config2.js +0 -73
  149. package/dist/components/snk-view-representation.d.ts +0 -11
  150. package/dist/components/snk-view-representation.js +0 -6
  151. package/dist/components/snk-view-representation2.js +0 -41
  152. package/dist/sankhyablocks/p-01512409.js +0 -26
  153. package/dist/sankhyablocks/p-02c6dc9f.entry.js +0 -1
  154. package/dist/sankhyablocks/p-35fcf37e.js +0 -1
  155. package/dist/sankhyablocks/p-3a36d4b3.entry.js +0 -1
  156. package/dist/sankhyablocks/p-513af002.entry.js +0 -1
  157. package/dist/sankhyablocks/p-5fea0816.entry.js +0 -1
  158. package/dist/sankhyablocks/p-6dc031de.js +0 -1
  159. package/dist/sankhyablocks/p-950e3cbe.entry.js +0 -1
  160. package/dist/sankhyablocks/p-9907cf67.entry.js +0 -1
  161. package/dist/sankhyablocks/p-a962a3e4.entry.js +0 -1
  162. package/dist/sankhyablocks/p-af58c9d7.entry.js +0 -1
  163. package/dist/sankhyablocks/p-c5acb7ba.entry.js +0 -11
  164. package/dist/sankhyablocks/p-c7c6eab7.entry.js +0 -1
  165. package/dist/sankhyablocks/p-d1f04e2c.js +0 -1
  166. package/dist/sankhyablocks/p-d2065bb4.entry.js +0 -1
  167. package/dist/sankhyablocks/p-dc617b0c.entry.js +0 -1
  168. package/dist/sankhyablocks/p-e5d8891d.entry.js +0 -1
  169. package/dist/sankhyablocks/p-f861bfcb.entry.js +0 -1
  170. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +0 -15
  171. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +0 -10
  172. package/dist/types/lib/configs/LayoutFormConfig.d.ts +0 -11
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,H as e,g as a}from"./p-d2d301a6.js";import{StringUtils as o,ElementIDUtils as h,ApplicationContext as n,JSUtils as r,FloatingManager as d}from"@sankhyalabs/core";import{T as c}from"./p-517efc93.js";import"./p-5a7e18f4.js";import"./p-ef076eea.js";import{P as l,E as m}from"./p-0f3698af.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-7e0a0aae.js";import"./p-ff1990ad.js";import"./p-22ddc147.js";import{V as u}from"./p-1d19a5b0.js";import{A as f}from"./p-a77bdadc.js";import"./p-5e9fbd76.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";const p=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this.configuratorSave=i(this,"configuratorSave",7),this.configuratorCancel=i(this,"configuratorCancel",7),this.formItemsReady=i(this,"formItemsReady",7),this.viewModeChanged=i(this,"viewModeChanged",7),this._keyDownHandler=async t=>this.keyDownListener(t),this._viewHistory=[],this._customEditors=new Map,this._customRenders=new Map,this._dataUnit=void 0,this._dataState=void 0,this.attachmentRegisterKey=void 0,this._currentViewMode=u.GRID,this._canEdit=void 0,this._resourceID=void 0,this.enableLockManagerLoadingComp=!1,this.enableLockManagerTaskbarClick=!1,this.configName=void 0,this.filterBarTitle=void 0,this.selectionToastConfig=void 0,this.showActionButtons=!1,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=l.PRIMARY,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.gridLegacyConfigName=void 0,this.filterBarLegacyConfigName=void 0,this.formLegacyConfigName=void 0,this.disablePersonalizedFilter=void 0,this.autoLoad=void 0,this.autoFocus=!0,this.enableGridInsert=!1,this.domainMessagesBuilder=void 0,this.ignoreReadOnlyFormFields=void 0,this.setCustomFormTitle=void 0,this.strategyExporter=m.SERVER_SIDE,this.paginationCounterMode="auto",this.customContainerId=`SNK-CRUD-CUSTOM-CONTAINER-${o.generateUUID()}`}async goToView(t){this.executeAction(t)}async openConfigurator(){var t;null===(t=this._snkConfigurator)||void 0===t||t.open()}async closeConfigurator(){var t;null===(t=this._snkConfigurator)||void 0===t||t.close()}async reloadFilterBar(){var t;null===(t=this._snkGrid)||void 0===t||t.reloadFilterBar()}async getFilterBar(){return await this._snkGrid.getFilterBar()}async addCustomEditor(t,i){if(this._guidesViewer&&this._snkGrid)return this._guidesViewer.addCustomEditor(t,i),void this._snkGrid.addCustomEditor(t,i);const s=new Map(this._customEditors);s.set(t,i),this._customEditors=s}async addGridCustomRender(t,i){if(this._snkGrid)return void this._snkGrid.addGridCustomRender(t,i);const s=new Map(this._customRenders);s.set(t,i),this._customRenders=s}async addCustomValueFormatter(t,i){this._snkGrid.addCustomValueFormatter(t,i)}async removeCustomValueFormatter(t){this._snkGrid.removeCustomValueFormatter(t)}async setFieldProp(t,i,s){await this._guidesViewer.setFieldProp(t,i,s)}currentViewModeWatcher(t){this._viewHistory=[...this._viewHistory.slice(-1),t]}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===u.GRID,this.setViewMode(u.FORM)}async executeAction(t){return t===c.GRID_MODE?this.setViewMode(u.GRID):t===c.FORM_MODE||t===c.UPDATE?this.gridToForm(t!==c.UPDATE):t===c.CONFIGURATOR?this._snkConfigurator.open():"ATTACH"===t?this.setViewMode(u.ATTACHMENT):void 0}backView(){const t=this._viewHistory.at(-2)||u.GRID;this.setViewMode(t)}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t,t===u.GRID?this._snkGrid.setFocus():t===u.FORM&&this._guidesViewer.setFocus(),this.viewModeChanged.emit(t)}openConfig(t){this._snkConfigurator.close(),t===u.GRID?this._snkGrid.showConfig():t===u.FORM&&this._guidesViewer.showFormConfig()}addDataElementID(){h.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.enableGridInsert||this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(u.GRID)}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}setCustomRenders(){if(this._snkGrid)for(const[t,i]of this._customRenders)this._snkGrid.addGridCustomRender(t,i),this._customRenders.delete(t)}setCustomEditors(){if(this._snkGrid&&this._guidesViewer)for(const[t,i]of this._customEditors)this._guidesViewer.addCustomEditor(t,i),this._snkGrid.addCustomEditor(t,i),this._customEditors.delete(t)}componentDidRender(){this.setCustomRenders(),this.setCustomEditors()}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let t=this._element.parentElement;for(this._application.hasAccess(f.UPDATE,this._resourceID).then((t=>this._canEdit=t));t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._snkDataUnit.domainMessagesBuilder=this.domainMessagesBuilder,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.initDataUnit():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.initDataUnit()})),this._snkDataUnit.addEventListener("dataStateChange",this.handleDataStateChange.bind(this));break}t=t.parentElement}this.configName||(this.configName=this._application.configName)}componentDidLoad(){this.initKeyboardManager()}disconnectedCallback(){this.removeShortcuts(),window.removeEventListener("keydown",this._keyDownHandler)}async handleDataStateChange(t){var i;this._dataState=t.detail,void 0!==this._dataState.selectedRecord&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey());const s=await this._snkDataUnit.getFieldsWithRmPrecision();for(const t of s||[]){if(!t)continue;const s=null===(i=this._dataState.rowMetadata)||void 0===i?void 0:i.getProp("rm_precision",t);(s||0===s)&&(await this.setFieldProp(t,"precision",s),await this.setFieldProp(t,"prettyPrecision",s))}}async initKeyboardManager(){var t;const i=await(null===(t=this._application)||void 0===t?void 0:t.getKeyboardManager());if(i){const s=this._dataUnit||await this._snkDataUnit.getDataUnit();async function e(){const t=document.activeElement,i=t==document.body;i||t.blur(),await s.saveData(),i||null==t.setFocus?i||t.focus():t.setFocus()}async function a(){s.hasNewRecord()||s.addRecord()}i.bind("F6",this.toggleView.bind(this),{description:"Alterna entre modo formulário e grade.",element:this._element}).bind("F7",e.bind(this),{description:"Salva os dados.",element:this._element}).bind("ctrl + \\",e.bind(this),{description:"Salva os dados.",element:this._element}).bind("F8",a.bind(this),{description:"Adiciona um novo registro.",element:this._element}).bind("F9",s.removeSelectedRecords.bind(s),{description:"Remove o registro selecionado.",element:this._element}).bind("ctrl + F9",s.removeSelectedRecords.bind(s),{description:"Remove o registro selecionado.",element:this._element}).bind("F5",(async()=>{const t=await this._viewStack.getSelectedIndex();u.GRID===t&&s.loadData()}),{description:"Atualiza os dados.",element:this._element}).bind("Escape",(()=>{s.isDirty()&&s.cancelEdition()}),{debounceTime:1e3,description:"Cancela uma ação.",element:this._element})}}async removeShortcuts(){var t;const i=await(null===(t=this._application)||void 0===t?void 0:t.getKeyboardManager());i&&i.unbind("F6").unbind("F7").unbind("ctrl + \\").unbind("F8").unbind("F9").unbind("ctrl + F9").unbind("F5").unbind("Escape")}async toggleView(){const t=await this._viewStack.getSelectedIndex();this.setViewMode(u.GRID===t?u.FORM:u.GRID)}async initDataUnit(){this.addDataElementID(),this.messagesBuilder||(this.messagesBuilder=this._snkDataUnit.messagesBuilder),null==this._resourceID&&(this._resourceID=this._snkDataUnit.resourceID,null==this._resourceID&&(this._resourceID=await this._application.getResourceID()))}handleConfiguratorEvent(t,i){t.stopImmediatePropagation(),"SAVE"!==i?this.configuratorCancel.emit():this.configuratorSave.emit()}async keyDownListener(t){t.ctrlKey&&null!=t.key&&"F"===t.key.toUpperCase()&&null!=this._element&&(r.isHiddenElement(this._element)||(d.closeAll(),this._currentViewMode===u.GRID?await this._snkGrid.findColumn():await this._guidesViewer.findField(),t.preventDefault()))}connectedCallback(){window.addEventListener("keydown",this._keyDownHandler,{capture:!0})}render(){if(null!=this._resourceID)return this._snkDataUnit.ignoreSaveMessage=this._currentViewMode===u.GRID&&!this.enableGridInsert,s(e,null,s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",{class:"ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium"},s("snk-grid",{ref:t=>this._snkGrid=t,class:"ez-flex ez-flex--column ez-size-height--full ez-size-width--full",filterBarTitle:this.filterBarTitle,"data-element-id":"crud_grid",configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),messagesBuilder:this.messagesBuilder,actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,presentationMode:this.presentationMode,recordsValidator:this.recordsValidator,selectionToastConfig:this.selectionToastConfig,useEnterLikeTab:this.useEnterLikeTab,canEdit:this._canEdit,resourceID:this._resourceID,disablePersonalizedFilter:this.disablePersonalizedFilter,gridLegacyConfigName:this.gridLegacyConfigName,filterBarLegacyConfigName:this.filterBarLegacyConfigName,autoLoad:this.autoLoad,autoFocus:this.autoFocus,enableGridInsert:this.enableGridInsert,enableLockManagerTaskbarClick:this.enableLockManagerTaskbarClick,enableLockManagerLoadingComp:this.enableLockManagerLoadingComp,strategyExporter:this.strategyExporter,paginationCounterMode:this.paginationCounterMode},s("slot",{name:"GRID_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"GRID_HEADER_CUSTOM_ELEMENTS"}),s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-guides-viewer",{ref:t=>this._guidesViewer=t,entityPath:this._snkDataUnit.entityName,messagesBuilder:this.messagesBuilder,onExit:()=>this.setViewMode(u.GRID),dataState:this._dataState,dataUnit:this._dataUnit,actionsList:this.actionsList,taskbarManager:this.taskbarManager,configName:this.configName,onActionClick:t=>this.executeAction(t.detail),presentationMode:this.presentationMode,"data-element-id":"crud_form",canEdit:this._canEdit,recordsValidator:this.recordsValidator,resourceID:this._resourceID,detailTaskbarCustomContainerId:this.customContainerId,formLegacyConfigName:this.formLegacyConfigName,enableGridInsert:this.enableGridInsert,getCustomTitle:this.setCustomFormTitle,ignoreReadOnlyFormFields:this.ignoreReadOnlyFormFields},s("slot",{name:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"SnkFormTaskBar"}))),s("stack-item",null,s("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this._snkDataUnit.entityName,onBack:this.backView.bind(this)})),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:t=>this.setViewMode(t.detail),onOpenConfig:t=>this.openConfig(t.detail),showActionButtons:this.showActionButtons,onSave:t=>this.handleConfiguratorEvent(t,"SAVE"),onCancel:t=>this.handleConfiguratorEvent(t,"CANCEL"),resourceID:this._resourceID,customContainerId:this.customContainerId})),s("div",{id:`${this.customContainerId}`},s("slot",{name:"SnkConfigContainerSlot"}),s("slot",{name:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS"}),s("slot",{name:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))}get _element(){return a(this)}static get watchers(){return{_currentViewMode:["currentViewModeWatcher"]}}};p.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{p as snk_crud}
@@ -1 +1 @@
1
- import{r as i,c as e,h as s,F as t,H as n}from"./p-d2d301a6.js";import{StringUtils as l,ObjectUtils as a,ApplicationContext as r,ElementIDUtils as o}from"@sankhyalabs/core";import{P as h}from"./p-057fad05.js";import{P as d,C as c}from"./p-13f17dab.js";import{ApplicationUtils as f}from"@sankhyalabs/ezui/dist/collection/utils";import{a as p}from"./p-933c0c0b.js";import{s as z}from"./p-6dc031de.js";import"./p-ff1990ad.js";import"./p-01512409.js";import"./p-5a7e18f4.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";const m=class{constructor(s){i(this,s),this.ezCancel=e(this,"ezCancel",7),this.ezSave=e(this,"ezSave",7),this.ezAfterSave=e(this,"ezAfterSave",7),this._personalizedFilterFetcher=new d,this._filterMetadataStorage=new Map,this._dataSourceFetcher={fetchData:async i=>{let e=null==i?void 0:i.uri;if(l.isEmpty(e)&&(e=this.entityUri),!this._filterMetadataStorage.has(e)){const i=await this._personalizedFilterFetcher.loadFields(e);this._filterMetadataStorage.set(e,i)}return this._filterMetadataStorage.get(e)}},this._filterAssistentMode=!0,this._filterAssistent=void 0,this.messagesBuilder=void 0,this.entityUri=void 0,this.filterId=void 0,this.configName=void 0,this.resourceID=void 0}async createPersonalizedFilter(){const i={name:"",active:!0,expression:"",parameters:[],assistent:{id:l.generateUUID(),items:[{id:l.generateUUID(),entityName:"",fieldName:"",description:"",fieldLabel:"Valor",type:void 0,expression:void 0,operand:void 0,paramVariable:!1,value:void 0,systemConfig:null,userConfig:null}],childrenGroups:[],operand:p.AND}};this._originalFilterAssistent=a.copy(i),this._filterAssistent=a.copy(i)}loadFilter(i,e){null!=i&&e!=i&&null!=this.resourceID&&c.loadPersonalizedFilter(i,this.resourceID,this.configName).then((i=>{const e=this.applyDefaultValues(i);this._filterAssistent=e,this._originalFilterAssistent=a.copy(e),this._filterAssistentMode=this._filterAssistent.hasOwnProperty("assistent")&&null!=this._filterAssistent.assistent}))}componentWillLoad(){var i;null==z.get(`filterFieldsDataSource.${this.entityUri}`)&&z.set(`filterFieldsDataSource.${this.entityUri}`,this._dataSourceFetcher),this.messagesBuilder||(this._application=r.getContextValue("__SNK__APPLICATION__"),this.messagesBuilder=null===(i=this._application)||void 0===i?void 0:i.messagesBuilder),this.loadFilter(this.filterId,void 0)}componentDidRender(){var i;null===(i=this._viewStackRef)||void 0===i||i.show(this._filterAssistentMode?0:1),this._elButtonMode&&this._elButtonMode.setAttribute(o.DATA_ELEMENT_ID_ATTRIBUTE_NAME,o.getInternalIDInfo(this._filterAssistentMode?"advancedMode_ezButton":"assistentMode_ezButton"))}getMessage(i,e){return this._application.messagesBuilder.getMessage(i,e)}saveFilter(){c.savePersonalizedFilter(this._filterAssistent,this.resourceID,this.configName).then((i=>{this._elButtonSave.enabled=!1,f.info(this.getMessage(`snkPersonalizedFilter.${this._filterAssistent.id?"confirmEdit":"confirmSave"}.title`),{iconName:"check"});const e=Object.assign(Object.assign({},i),this._filterAssistent);e.parameters=h.buildVariableParameters(this._filterAssistent.assistent),this._originalFilterAssistent=a.copy(e),this._filterAssistent=a.copy(e),this.ezAfterSave.emit()}))}removeFilter(){c.removePersonalizedFilter(this._filterAssistent,this.resourceID,this.configName)}hasChangesToSave(){return JSON.stringify(this._filterAssistent)===JSON.stringify(this._originalFilterAssistent)}async handleSave(){if(this._filterAssistentMode){if(!h.validateFields(this._filterAssistent.assistent)||!this._filterAssistent.name)return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"),this.getMessage("snkPersonalizedFilter.error.description"));this.saveAssistentMode()}else{if(!this._filterAssistent.expression||!this._filterAssistent.name)return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"),this.getMessage("snkPersonalizedFilter.error.description"));if(!await this.validateExpressionBeforeSaving())return;this.saveAdvancedMode()}}saveAssistentMode(){const{assistent:i,expression:e}=this._filterAssistent,s=i?h.buildGroupExpression(i):e;this._filterAssistent.expression=s,this.ezSave.emit(s),this.saveFilter()}saveAdvancedMode(){this._originalFilterAssistent.expression!==this._filterAssistent.expression&&this._filterAssistent.assistent?f.confirm(this.getMessage("snkPersonalizedFilter.confirmSaveModeAdvanced.title"),this.getMessage("snkPersonalizedFilter.confirmSaveModeAdvanced.description")).then((i=>{i&&this.saveAndTransformToAdvancedMode()})):this._filterAssistent.assistent?this.saveAssistentMode():this.saveAndTransformToAdvancedMode()}saveAndTransformToAdvancedMode(){this._filterAssistent.assistent=void 0,this.ezSave.emit(this._filterAssistent.expression),this.saveFilter()}async validateExpressionBeforeSaving(){const{valid:i,message:e=""}=await this._personalizedFilterFetcher.validatePersonalizedFilter(this.entityUri,this._filterAssistent.expression);return i||this._application.error(this.getMessage("snkPersonalizedFilter.errorValidation.title"),e.replace(/.*Exception: /,"")),i}handleCancel(){if(this.hasChangesToSave())return this.ezCancel.emit();f.confirm(this.getMessage("snkPersonalizedFilter.confirmCancel.title"),this.getMessage("snkPersonalizedFilter.confirmCancel.description")).then((i=>{var e;i&&(this._filterAssistent=a.copy(null!==(e=this._originalFilterAssistent)&&void 0!==e?e:{}),this.ezCancel.emit(),this._elButtonSave.enabled=!1)}))}handleTitleChange(i){this._filterAssistent=Object.assign(Object.assign({},this._filterAssistent),{name:i}),this._elButtonSave.enabled=!this.hasChangesToSave()}applyDefaultValues(i){return this.addLabelToItems(i),this.addFilterGroupCondition(i),i}addFilterGroupCondition(i){i.assistent&&!i.assistent.operand&&(i.assistent.operand=p.AND)}addLabelToItems(i){i.assistent&&i.assistent.items&&i.assistent.items.length>0&&i.assistent.items.forEach((e=>{if(null==e.fieldLabel){const s=(i.parameters||[]).find((i=>i.fieldName===e.fieldName));s&&(e.fieldLabel=s.label)}}))}handleExpressionChangeAdvancedMode(i){this._filterAssistent=Object.assign(Object.assign({},this._filterAssistent),{expression:i}),this._elButtonSave.enabled=!this.hasChangesToSave()}handleChangeFilterAssistentMode(i){this._elButtonSave.enabled=!this.hasChangesToSave(),this._filterAssistent=Object.assign({},i)}selectField(i){if(!("name"in i))return;const e=this.buildExpression(i.entityName,i.name,i.entityPath);this._elAdvancedMode.querySelector("ez-text-area").appendTextToSelection(e)}buildExpression(i,e,s){return s.length>0&&s.shift(),s.length>0?`${s.join("->")}->${e}`:`${i}.${e}`}onAddField(i){this._elAdvancedMode.querySelector("ez-text-area").setFocus(),i.setBlur(),this._elFilterFieldSearch&&this._elFilterFieldSearch.show(i,{horizontalGap:0,verticalGap:12,fromRight:!0})}renderButtonAddField(){if(!this._filterAssistentMode)return s(t,null,s("ez-button",{class:"snk-personalized-filter__button-mode",label:this.getMessage("snkPersonalizedFilter.info.addField"),enabled:!0,onClick:i=>this.onAddField(i.target)},s("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:"plus"})),s("snk-filter-field-search",{class:"ez-padding-left--medium",ref:i=>this._elFilterFieldSearch=i,onEzSelectFilterItem:i=>this.selectField(i.detail),fieldsDataSource:this._dataSourceFetcher}))}buildContainerPersonalizedFilter(){return s("ez-view-stack",{ref:i=>this._viewStackRef=i},s("stack-item",null,this._filterAssistentMode&&s("snk-filter-assistent-mode",{filterAssistent:this._filterAssistent,messagesBuilder:this.messagesBuilder,filterId:this.filterId,entityUri:this.entityUri,application:this._application,onEzChangeFilter:i=>this.handleChangeFilterAssistentMode(i.detail)})),s("stack-item",null,s("snk-filter-advanced-mode",{ref:i=>this._elAdvancedMode=i,filterAssistent:this._filterAssistent,application:this._application,onEzExpressionChange:i=>this.handleExpressionChangeAdvancedMode(i.detail)})))}handleModeChange(){var i,e;if(this._filterAssistentMode)f.confirm(this.getMessage("snkPersonalizedFilter.confirmChangeModeAssistent.title"),this.getMessage("snkPersonalizedFilter.confirmChangeModeAssistent.description")).then((i=>{if(i&&(this._filterAssistentMode=!this._filterAssistentMode,!this.hasChangesToSave())){const i=h.buildGroupExpression(this._filterAssistent.assistent);this._filterAssistent.expression=i,this._elButtonSave.enabled=!this.hasChangesToSave()}}));else if((null===(i=this._filterAssistent)||void 0===i?void 0:i.expression)===(null===(e=this._originalFilterAssistent)||void 0===e?void 0:e.expression))this._filterAssistentMode=!this._filterAssistentMode;else{const i=this._filterAssistent.expression,e=h.buildGroupExpression(this._filterAssistent.assistent);i!==e?f.confirm(this.getMessage("snkPersonalizedFilter.confirmChangeModeAdvanced.title"),this.getMessage("snkPersonalizedFilter.confirmChangeModeAdvanced.description")).then((i=>{i&&(this._filterAssistent=Object.assign(Object.assign({},this._filterAssistent),{expression:e}),this._filterAssistentMode=!this._filterAssistentMode)})):this._filterAssistentMode=!this._filterAssistentMode}}render(){var i,e,t,l;if((null===(i=this._filterAssistent)||void 0===i?void 0:i.assistent)||!this._filterAssistentMode)return s(n,null,s("div",{class:"snk-personalized-filter"},s("div",null,s("snk-simple-bar",{label:this.getMessage(this.filterId?"snkPersonalizedFilter.info.titleEdit":"snkPersonalizedFilter.info.titleAdd"),onExit:()=>this.handleCancel()},s("div",{class:"snk-personalized-filter__header-actions",slot:"rightSlot"},s("ez-button",{size:"small",label:this.getMessage("snkPersonalizedFilter.info.labelCancel"),onClick:()=>this.handleCancel()}),s("ez-button",{size:"small",ref:i=>this._elButtonSave=i,enabled:!1,class:"ez-button--primary",label:this.getMessage("snkPersonalizedFilter.info.labelSave"),onClick:this.handleSave.bind(this)})))),s("div",{class:"ez-box ez-margin-bottom--medium ez-box__main"},s("div",{class:"ez-box__container"},s("div",{class:"ez-flex ez-flex--column ez-size-width--full"},s("div",{class:"ez-flex"},s("ez-text-input",{class:"ez-padding-right--medium",label:this.getMessage("snkPersonalizedFilter.info.labelNameFilter"),value:null===(e=this._filterAssistent)||void 0===e?void 0:e.name,onEzChange:i=>this.handleTitleChange(i.detail)}),this.renderButtonAddField(),s("ez-button",{ref:i=>this._elButtonMode=i,class:"snk-personalized-filter__button-mode",label:this.getMessage(this._filterAssistentMode?"snkPersonalizedFilter.info.activeModeAdvanced":"snkPersonalizedFilter.info.activeModeAssistent"),onClick:()=>this.handleModeChange(),"data-tooltip":this._filterAssistentMode||(null===(t=this._filterAssistent)||void 0===t?void 0:t.assistent)?void 0:this.getMessage("snkPersonalizedFilter.info.tooltipDisabledAssistentMode"),"data-flow":"bottom",enabled:!this._filterAssistent.name||Boolean(this._filterAssistentMode||(null===(l=this._filterAssistent)||void 0===l?void 0:l.assistent))})),this.buildContainerPersonalizedFilter())))))}static get watchers(){return{filterId:["loadFilter"]}}};m.style=".sc-snk-personalized-filter-h{display:flex;height:100%;padding:var(--space--large, 24px);--snk-personalized-filter--width:100%;--snk-personalized-filter--height:100%;--snk-personalized-filter--background-color-line:var(--color--disable-secondary);--snk-personalized-filter--margin-line:var(--border--radius-medium, 12px)}.snk-personalized-filter.sc-snk-personalized-filter{height:var(--snk-personalized-filter--width);width:var(--snk-personalized-filter--height)}.snk-personalized-filter__header-actions.sc-snk-personalized-filter{display:flex;gap:var(--space--medium)}.snk-personalized-filter__group.sc-snk-personalized-filter{flex:1}.snk-personalized-filter__expression-input--line.sc-snk-personalized-filter{width:100%;height:2px;background-color:var(--snk-personalized-filter--background-color-line);margin-top:var(--snk-personalized-filter--margin-line);margin-bottom:var(--snk-personalized-filter--margin-line)}.ez-box__main.sc-snk-personalized-filter{height:90%}.snk-personalized-filter__button-mode.sc-snk-personalized-filter{height:35px}";export{m as snk_personalized_filter}
1
+ import{r as i,c as e,h as s,F as t,H as n}from"./p-d2d301a6.js";import{StringUtils as l,ObjectUtils as r,ApplicationContext as a,ElementIDUtils as o}from"@sankhyalabs/core";import{P as h}from"./p-057fad05.js";import{P as d,C as c}from"./p-3fcb90d6.js";import{ApplicationUtils as f}from"@sankhyalabs/ezui/dist/collection/utils";import{a as p}from"./p-933c0c0b.js";import{s as z}from"./p-5e9fbd76.js";import"./p-ff1990ad.js";import"./p-22ddc147.js";import"./p-5a7e18f4.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";const m=class{constructor(s){i(this,s),this.ezCancel=e(this,"ezCancel",7),this.ezSave=e(this,"ezSave",7),this.ezAfterSave=e(this,"ezAfterSave",7),this._personalizedFilterFetcher=new d,this._filterMetadataStorage=new Map,this._dataSourceFetcher={fetchData:async i=>{let e=null==i?void 0:i.uri;if(l.isEmpty(e)&&(e=this.entityUri),!this._filterMetadataStorage.has(e)){const i=await this._personalizedFilterFetcher.loadFields(e);this._filterMetadataStorage.set(e,i)}return this._filterMetadataStorage.get(e)}},this._filterAssistentMode=!0,this._filterAssistent=void 0,this.messagesBuilder=void 0,this.entityUri=void 0,this.filterId=void 0,this.configName=void 0,this.resourceID=void 0}async createPersonalizedFilter(){const i={name:"",active:!0,expression:"",parameters:[],assistent:{id:l.generateUUID(),items:[{id:l.generateUUID(),entityName:"",fieldName:"",description:"",fieldLabel:"Valor",type:void 0,expression:void 0,operand:void 0,paramVariable:!1,value:void 0,systemConfig:null,userConfig:null}],childrenGroups:[],operand:p.AND}};this._originalFilterAssistent=r.copy(i),this._filterAssistent=r.copy(i)}loadFilter(i,e){null!=i&&e!=i&&null!=this.resourceID&&c.loadPersonalizedFilter(i,this.resourceID,this.configName).then((i=>{const e=this.applyDefaultValues(i);this._filterAssistent=e,this._originalFilterAssistent=r.copy(e),this._filterAssistentMode=this._filterAssistent.hasOwnProperty("assistent")&&null!=this._filterAssistent.assistent}))}componentWillLoad(){var i;null==z.get(`filterFieldsDataSource.${this.entityUri}`)&&z.set(`filterFieldsDataSource.${this.entityUri}`,this._dataSourceFetcher),this.messagesBuilder||(this._application=a.getContextValue("__SNK__APPLICATION__"),this.messagesBuilder=null===(i=this._application)||void 0===i?void 0:i.messagesBuilder),this.loadFilter(this.filterId,void 0)}componentDidRender(){var i;null===(i=this._viewStackRef)||void 0===i||i.show(this._filterAssistentMode?0:1),this._elButtonMode&&this._elButtonMode.setAttribute(o.DATA_ELEMENT_ID_ATTRIBUTE_NAME,o.getInternalIDInfo(this._filterAssistentMode?"advancedMode_ezButton":"assistentMode_ezButton"))}getMessage(i,e){return this._application.messagesBuilder.getMessage(i,e)}saveFilter(){c.savePersonalizedFilter(this._filterAssistent,this.resourceID,this.configName).then((i=>{this._elButtonSave.enabled=!1,f.info(this.getMessage(`snkPersonalizedFilter.${this._filterAssistent.id?"confirmEdit":"confirmSave"}.title`),{iconName:"check"});const e=Object.assign(Object.assign({},i),this._filterAssistent);e.parameters=h.buildVariableParameters(this._filterAssistent.assistent),this._originalFilterAssistent=r.copy(e),this._filterAssistent=r.copy(e),this.ezAfterSave.emit()}))}removeFilter(){c.removePersonalizedFilter(this._filterAssistent,this.resourceID,this.configName)}hasChangesToSave(){return JSON.stringify(this._filterAssistent)===JSON.stringify(this._originalFilterAssistent)}async handleSave(){if(this._filterAssistentMode){if(!h.validateFields(this._filterAssistent.assistent)||!this._filterAssistent.name)return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"),this.getMessage("snkPersonalizedFilter.error.description"));this.saveAssistentMode()}else{if(!this._filterAssistent.expression||!this._filterAssistent.name)return this._application.error(this.getMessage("snkPersonalizedFilter.error.title"),this.getMessage("snkPersonalizedFilter.error.description"));if(!await this.validateExpressionBeforeSaving())return;this.saveAdvancedMode()}}saveAssistentMode(){const{assistent:i,expression:e}=this._filterAssistent,s=i?h.buildGroupExpression(i):e;this._filterAssistent.expression=s,this.ezSave.emit(s),this.saveFilter()}saveAdvancedMode(){this._originalFilterAssistent.expression!==this._filterAssistent.expression&&this._filterAssistent.assistent?f.confirm(this.getMessage("snkPersonalizedFilter.confirmSaveModeAdvanced.title"),this.getMessage("snkPersonalizedFilter.confirmSaveModeAdvanced.description")).then((i=>{i&&this.saveAndTransformToAdvancedMode()})):this._filterAssistent.assistent?this.saveAssistentMode():this.saveAndTransformToAdvancedMode()}saveAndTransformToAdvancedMode(){this._filterAssistent.assistent=void 0,this.ezSave.emit(this._filterAssistent.expression),this.saveFilter()}async validateExpressionBeforeSaving(){const{valid:i,message:e=""}=await this._personalizedFilterFetcher.validatePersonalizedFilter(this.entityUri,this._filterAssistent.expression);return i||this._application.error(this.getMessage("snkPersonalizedFilter.errorValidation.title"),e.replace(/.*Exception: /,"")),i}handleCancel(){if(this.hasChangesToSave())return this.ezCancel.emit();f.confirm(this.getMessage("snkPersonalizedFilter.confirmCancel.title"),this.getMessage("snkPersonalizedFilter.confirmCancel.description")).then((i=>{var e;i&&(this._filterAssistent=r.copy(null!==(e=this._originalFilterAssistent)&&void 0!==e?e:{}),this.ezCancel.emit(),this._elButtonSave.enabled=!1)}))}handleTitleChange(i){this._filterAssistent=Object.assign(Object.assign({},this._filterAssistent),{name:i}),this._elButtonSave.enabled=!this.hasChangesToSave()}applyDefaultValues(i){return this.addLabelToItems(i),this.addFilterGroupCondition(i),i}addFilterGroupCondition(i){i.assistent&&!i.assistent.operand&&(i.assistent.operand=p.AND)}addLabelToItems(i){i.assistent&&i.assistent.items&&i.assistent.items.length>0&&i.assistent.items.forEach((e=>{if(null==e.fieldLabel){const s=(i.parameters||[]).find((i=>i.fieldName===e.fieldName));s&&(e.fieldLabel=s.label)}}))}handleExpressionChangeAdvancedMode(i){this._filterAssistent=Object.assign(Object.assign({},this._filterAssistent),{expression:i}),this._elButtonSave.enabled=!this.hasChangesToSave()}handleChangeFilterAssistentMode(i){this._elButtonSave.enabled=!this.hasChangesToSave(),this._filterAssistent=Object.assign({},i)}selectField(i){if(!("name"in i))return;const e=this.buildExpression(i.entityName,i.name,i.entityPath);this._elAdvancedMode.querySelector("ez-text-area").appendTextToSelection(e)}buildExpression(i,e,s){return s.length>0&&s.shift(),s.length>0?`${s.join("->")}->${e}`:`${i}.${e}`}onAddField(i){this._elAdvancedMode.querySelector("ez-text-area").setFocus(),i.setBlur(),this._elFilterFieldSearch&&this._elFilterFieldSearch.show(i,{horizontalGap:0,verticalGap:12,fromRight:!0})}renderButtonAddField(){if(!this._filterAssistentMode)return s(t,null,s("ez-button",{class:"snk-personalized-filter__button-mode",label:this.getMessage("snkPersonalizedFilter.info.addField"),enabled:!0,onClick:i=>this.onAddField(i.target)},s("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:"plus"})),s("snk-filter-field-search",{class:"ez-padding-left--medium",ref:i=>this._elFilterFieldSearch=i,onEzSelectFilterItem:i=>this.selectField(i.detail),fieldsDataSource:this._dataSourceFetcher}))}buildContainerPersonalizedFilter(){return s("ez-view-stack",{ref:i=>this._viewStackRef=i},s("stack-item",null,this._filterAssistentMode&&s("snk-filter-assistent-mode",{filterAssistent:this._filterAssistent,messagesBuilder:this.messagesBuilder,filterId:this.filterId,entityUri:this.entityUri,application:this._application,onEzChangeFilter:i=>this.handleChangeFilterAssistentMode(i.detail)})),s("stack-item",null,s("snk-filter-advanced-mode",{ref:i=>this._elAdvancedMode=i,filterAssistent:this._filterAssistent,application:this._application,onEzExpressionChange:i=>this.handleExpressionChangeAdvancedMode(i.detail)})))}handleModeChange(){var i,e;if(this._filterAssistentMode)f.confirm(this.getMessage("snkPersonalizedFilter.confirmChangeModeAssistent.title"),this.getMessage("snkPersonalizedFilter.confirmChangeModeAssistent.description")).then((i=>{if(i&&(this._filterAssistentMode=!this._filterAssistentMode,!this.hasChangesToSave())){const i=h.buildGroupExpression(this._filterAssistent.assistent);this._filterAssistent.expression=i,this._elButtonSave.enabled=!this.hasChangesToSave()}}));else if((null===(i=this._filterAssistent)||void 0===i?void 0:i.expression)===(null===(e=this._originalFilterAssistent)||void 0===e?void 0:e.expression))this._filterAssistentMode=!this._filterAssistentMode;else{const i=this._filterAssistent.expression,e=h.buildGroupExpression(this._filterAssistent.assistent);i!==e?f.confirm(this.getMessage("snkPersonalizedFilter.confirmChangeModeAdvanced.title"),this.getMessage("snkPersonalizedFilter.confirmChangeModeAdvanced.description")).then((i=>{i&&(this._filterAssistent=Object.assign(Object.assign({},this._filterAssistent),{expression:e}),this._filterAssistentMode=!this._filterAssistentMode)})):this._filterAssistentMode=!this._filterAssistentMode}}render(){var i,e,t,l;if((null===(i=this._filterAssistent)||void 0===i?void 0:i.assistent)||!this._filterAssistentMode)return s(n,null,s("div",{class:"snk-personalized-filter"},s("div",null,s("snk-simple-bar",{label:this.getMessage(this.filterId?"snkPersonalizedFilter.info.titleEdit":"snkPersonalizedFilter.info.titleAdd"),onExit:()=>this.handleCancel()},s("div",{class:"snk-personalized-filter__header-actions",slot:"rightSlot"},s("ez-button",{size:"small",label:this.getMessage("snkPersonalizedFilter.info.labelCancel"),onClick:()=>this.handleCancel()}),s("ez-button",{size:"small",ref:i=>this._elButtonSave=i,enabled:!1,class:"ez-button--primary",label:this.getMessage("snkPersonalizedFilter.info.labelSave"),onClick:this.handleSave.bind(this)})))),s("div",{class:"ez-box ez-margin-bottom--medium ez-box__main"},s("div",{class:"ez-box__container"},s("div",{class:"ez-flex ez-flex--column ez-size-width--full"},s("div",{class:"ez-flex"},s("ez-text-input",{class:"ez-padding-right--medium",label:this.getMessage("snkPersonalizedFilter.info.labelNameFilter"),value:null===(e=this._filterAssistent)||void 0===e?void 0:e.name,onEzChange:i=>this.handleTitleChange(i.detail)}),this.renderButtonAddField(),s("ez-button",{ref:i=>this._elButtonMode=i,class:"snk-personalized-filter__button-mode",label:this.getMessage(this._filterAssistentMode?"snkPersonalizedFilter.info.activeModeAdvanced":"snkPersonalizedFilter.info.activeModeAssistent"),onClick:()=>this.handleModeChange(),"data-tooltip":this._filterAssistentMode||(null===(t=this._filterAssistent)||void 0===t?void 0:t.assistent)?void 0:this.getMessage("snkPersonalizedFilter.info.tooltipDisabledAssistentMode"),"data-flow":"bottom",enabled:!this._filterAssistent.name||Boolean(this._filterAssistentMode||(null===(l=this._filterAssistent)||void 0===l?void 0:l.assistent))})),this.buildContainerPersonalizedFilter())))))}static get watchers(){return{filterId:["loadFilter"]}}};m.style=".sc-snk-personalized-filter-h{display:flex;height:100%;padding:var(--space--large, 24px);--snk-personalized-filter--width:100%;--snk-personalized-filter--height:100%;--snk-personalized-filter--background-color-line:var(--color--disable-secondary);--snk-personalized-filter--margin-line:var(--border--radius-medium, 12px)}.snk-personalized-filter.sc-snk-personalized-filter{height:var(--snk-personalized-filter--width);width:var(--snk-personalized-filter--height)}.snk-personalized-filter__header-actions.sc-snk-personalized-filter{display:flex;gap:var(--space--medium)}.snk-personalized-filter__group.sc-snk-personalized-filter{flex:1}.snk-personalized-filter__expression-input--line.sc-snk-personalized-filter{width:100%;height:2px;background-color:var(--snk-personalized-filter--background-color-line);margin-top:var(--snk-personalized-filter--margin-line);margin-bottom:var(--snk-personalized-filter--margin-line)}.ez-box__main.sc-snk-personalized-filter{height:90%}.snk-personalized-filter__button-mode.sc-snk-personalized-filter{height:35px}";export{m as snk_personalized_filter}
@@ -1 +1 @@
1
- import{ObjectUtils as t}from"@sankhyalabs/core";import{R as a}from"./p-01512409.js";class s extends a{getData(a){const s=`cfg://auth/${a}`;return new Promise(((a,e)=>{this.loadResource(s).then((s=>{let e=t.stringToObject(s);e&&"object"==typeof e&&a(e)})).catch((t=>{e(t)}))}))}}var e;!function(t){t.INSERT="I",t.UPDATE="A",t.REMOVE="E",t.SHOW="C",t.CONFIG="F",t.CONFIG_NUMBER="N",t.CLONE="D",t.CONFIG_GRID="G"}(e||(e={}));export{e as A,s as a}
1
+ import{ObjectUtils as t}from"@sankhyalabs/core";import{R as a}from"./p-22ddc147.js";class s extends a{getData(a){const s=`cfg://auth/${a}`;return new Promise(((a,e)=>{this.loadResource(s).then((s=>{let e=t.stringToObject(s);e&&"object"==typeof e&&a(e)})).catch((t=>{e(t)}))}))}}var e;!function(t){t.INSERT="I",t.UPDATE="A",t.REMOVE="E",t.SHOW="C",t.CONFIG="F",t.CONFIG_NUMBER="N",t.CLONE="D",t.CONFIG_GRID="G"}(e||(e={}));export{e as A,s as a}
@@ -1 +1 @@
1
- import{r as i,c as e,h as s,f as t,H as n,g as o}from"./p-d2d301a6.js";import{a as r,F as a}from"./p-933c0c0b.js";import{ApplicationUtils as l,CheckMode as h}from"@sankhyalabs/ezui/dist/collection/utils";import{ApplicationContext as d,StringUtils as p,ElementIDUtils as c,UserInterface as u}from"@sankhyalabs/core";import{S as m}from"./p-f4184ce7.js";import{fieldBuilder as v}from"@sankhyalabs/ezui/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder";import{s as x}from"./p-6dc031de.js";import{convertType as b}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";const g=class{constructor(s){i(this,s),this.ezFilterGroupChange=e(this,"ezFilterGroupChange",7),this.ezFilterGroupRemove=e(this,"ezFilterGroupRemove",7),this.ezExpressionGroupLayoutChanged=e(this,"ezExpressionLayoutChanged",7),this.FIRST_LEVEL="0",this.LIMIT_GROUP_LEVEL=4,this.application=d.getContextValue("__SNK__APPLICATION__"),this._conditionOperator=r.AND,this._group=void 0,this._selfTop=0,this.canAddExpression=!0,this._showDashes=!0,this.parentTop=0,this.group=void 0,this.messagesBuilder=void 0,this.filterId=void 0,this.entityURI=void 0}todoCompletedHandler(i){this.updateDashes()}async getExpressionGroup(){return this._group}watchGroup(i){this._group=i,this._conditionOperator=this.getOperand()}componentWillLoad(){this._group=this.group,this._conditionOperator=this.getOperand(),this.getDataGroupLevel()||this._element.setAttribute("data-group-level",this.FIRST_LEVEL),this.canAddExpression=this.group.items.every(this.isFilledItem)}componentDidRender(){this.setSelfTop()}changeHandler(){this.ezExpressionGroupLayoutChanged.emit()}setSelfTop(){this._selfTop=this._element.getBoundingClientRect().top}getDashedHeight(){return this._selfTop-this.parentTop}getOperand(){return this._group.operand?this._group.operand:r.AND}getMessage(i,e){return this.application.messagesBuilder.getMessage(i,e)}updateDashes(){this._showDashes=!1,this.setSelfTop(),this._showDashes=!0}renderExpressionItems(){var i;return null===(i=this._group.items)||void 0===i?void 0:i.map((i=>s("snk-expression-item",{key:i.id,class:"ez-padding-top--small snk-expression-group__item",expression:i,canRemove:this._group.items.length>1,onEzFilterItemChange:()=>this.handleFilterItemChange(),onEzFilterItemRemove:e=>this.handleFilterItemRemove(e,i.id),messagesBuilder:this.messagesBuilder,entityURI:this.entityURI})))}renderGroups(){var i;const e=parseInt(this.getDataGroupLevel()||"0")+1;return null===(i=this._group.childrenGroups)||void 0===i?void 0:i.map((i=>s("snk-expression-group",{key:i.id,group:i,messagesBuilder:this.messagesBuilder,parentTop:this._selfTop,"data-group-level":e,onEzFilterGroupRemove:e=>this.handleFilterGroupRemove(e,i.id),entityURI:this.entityURI})))}handleFilterGroupRemove(i,e){this.onStopPropagation(i),this._group.childrenGroups=this._group.childrenGroups.filter((i=>i.id!==e)),t(this),this.ezFilterGroupChange.emit(this._group),this.changeHandler()}handleFilterItemRemove(i,e){this.onStopPropagation(i),this._group.items=this._group.items.filter((i=>i.id!==e)),t(this),this.ezFilterGroupChange.emit(this._group),this.changeHandler(),this.canAddExpression=!0}isFilledItem(i){return!(!i.fieldName||!i.operand||"NULL"!==i.operand&&"NOT_NULL"!==i.operand&&!i.paramVariable&&"SWITCH"!==i.userInterface&&!i.value)}handleFilterItemChange(){this.ezFilterGroupChange.emit(this._group),this.canAddExpression=this.group.items.every(this.isFilledItem)}handleAddExpression(){const i={id:p.generateUUID(),entityName:"",fieldName:"",description:"",label:"Valor",type:void 0,expression:void 0,operand:void 0,paramVariable:!1,value:void 0,systemConfig:null,userConfig:null};this._group.items.push(i),t(this),this.ezFilterGroupChange.emit(this.group),this.changeHandler(),this.canAddExpression=!1}handleAddGroup(){var i;const e={id:p.generateUUID(),items:[{id:p.generateUUID(),entityName:"",fieldName:"",description:"",label:"Valor",type:void 0,expression:void 0,operand:void 0,paramVariable:!1,value:void 0,systemConfig:null,userConfig:null}],childrenGroups:[],operand:r.AND};this._group.childrenGroups=null!==(i=this._group.childrenGroups)&&void 0!==i?i:[],this._group.childrenGroups.push(e),t(this),this.group.operand||(this.group.operand=r.AND),this.ezFilterGroupChange.emit(this.group),this.changeHandler()}buildGroupStyle(){return{height:`${this.getDashedHeight()}px`,marginTop:20-this.getDashedHeight()+"px"}}handleConditionOperatorChange(i){this._conditionOperator=i,this._group.operand=r[i],this.ezFilterGroupChange.emit(this._group)}confirmRemoveGroup(i){this.onStopPropagation(i),l.confirm(this.getMessage("snkPersonalizedFilter.confirmGroup.title"),this.getMessage("snkPersonalizedFilter.confirmGroup.description")).then((i=>{i&&this.ezFilterGroupRemove.emit(this._group)}))}getTooltipMessageForOperator(){return this.getDataGroupLevel()===this.FIRST_LEVEL&&1===this._group.items.length?this.getMessage("snkPersonalizedFilter.operador.firstLevel"):this._conditionOperator===r.AND?this.getMessage("snkPersonalizedFilter.operador.and"):this._conditionOperator===r.OR?this.getMessage("snkPersonalizedFilter.operador.or"):void 0}getDataGroupLevel(){return this._element.getAttribute("data-group-level")}canAddGroup(){return Number(this.getDataGroupLevel()||this.FIRST_LEVEL)<this.LIMIT_GROUP_LEVEL}isFirstLevel(){return Boolean(this.getDataGroupLevel()===this.FIRST_LEVEL)}onStopPropagation(i){i.preventDefault(),i.stopPropagation()}getMessageAddTooltip(){if(this.isFirstLevel()){const i=this.group.items.every((i=>!(!i.fieldName||!i.operand)&&(i.paramVariable||!!i.value)));return this.getMessage(i?"snkPersonalizedFilter.info.labelAddNewExpression":"snkPersonalizedFilter.info.labelDisabledAddExpressionButton")}return this.getMessage(this.canAddExpression?"snkPersonalizedFilter.info.labelAddNewExpression":"snkPersonalizedFilter.info.labelDisabledAddExpressionButton")}canChangeGroupCondition(){return this._group.items.length+this._group.childrenGroups.length>1}render(){const i=this.canAddGroup();return s(n,null,s("div",{class:!this.isFirstLevel()&&this._showDashes?"dashes":"hidden",style:this.buildGroupStyle()}),s("div",{class:!this.isFirstLevel()&&this._showDashes?"horizontal-dashes":"hidden"}),s("div",{class:"ez-flex ez-flex--align-items-center"},s("div",{class:"snk-expression-group__container-condition ez-flex ez-flex-item--align-center ez-flex--align-items-center","data-condition":this._conditionOperator,title:this.getTooltipMessageForOperator()},s("label",{class:"ez-label ez-padding-right--medium ez-padding-left--medium ez-title--primary"},this.getMessage("snkPersonalizedFilter.info.condition")),s("div",null,s("ez-combo-box",Object.assign({class:"snk-expression-group__container-option",canShowError:!1,mode:"slim",suppressEmptyOption:!0,enabled:this.canChangeGroupCondition(),value:this._conditionOperator,onEzChange:i=>this.handleConditionOperatorChange(i.detail.value)},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`comboBoxConditions_level_${this.getDataGroupLevel()}`}),s("option",{value:r.AND},"E"),s("option",{value:r.OR},"OU")))),s("ez-button",{class:"ez-padding-right--medium ez-padding-left--medium",mode:"icon",iconName:"plus",size:"small",enabled:this.canAddExpression,title:this.getMessageAddTooltip(),onClick:()=>this.handleAddExpression()}),s("ez-button",{label:this.getMessage("snkPersonalizedFilter.info.addGroup"),size:"small",enabled:i,title:i?"":this.getMessage("snkPersonalizedFilter.info.labelDisabledAddGroupButton",{LIMIT_GROUP_LEVEL:this.LIMIT_GROUP_LEVEL+1}),onClick:()=>this.handleAddGroup()},s("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:"plus"})),!this.isFirstLevel()&&s("ez-button",{title:this.getMessage("snkPersonalizedFilter.info.labelDeleteExpression"),class:"ez-padding-left--medium",mode:"icon",iconName:"delete",size:"small",onClick:i=>this.confirmRemoveGroup(i)})),s("div",{class:"ez-padding-top--small snk-expression-group__container-expression"},s("div",{class:"ez-padding-top--small"},this.renderExpressionItems())),s("div",{class:"ez-padding-top--small snk-expression-group__container-expression"},s("div",{class:"ez-padding-top--small"},this.renderGroups())))}get _element(){return o(this)}static get watchers(){return{group:["watchGroup"]}}};g.style='.sc-snk-expression-group-h{display:block;--snk-expression-group--container-condition--width:184px;--snk-expression-group--container-condition--height:38px;--snk-expression-group--container-condition--border-radius:var(--border--radius-medium, 12px);--snk-expression-group--container-option--width:85px;--snk-expression-group__container-condition--background-and:#66B6A0;--snk-expression-group__container-condition--background-or:#EBC65E;--snk-expression-group__container-expression--padding-left:26px;--snk-expression-group__background-color-dashed:var(--background--body, #fafcff)}.snk-expression-group__container-condition.sc-snk-expression-group{width:var(--snk-expression-group--container-condition--width);height:var(--snk-expression-group--container-condition--height);border-radius:var(--snk-expression-group--container-condition--border-radius);z-index:var(--more-visible--2x, 3)}.snk-expression-group__container-option.sc-snk-expression-group{width:var(--snk-expression-group--container-option--width)}.snk-expression-group__container-condition[data-condition="AND"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-and)}.snk-expression-group__container-condition[data-condition="OR"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-or)}.snk-expression-group__container-expression.sc-snk-expression-group{padding-left:var(--snk-expression-group__container-expression--padding-left)}.dashes.sc-snk-expression-group{z-index:var(--visible, 1);background:var(--snk-expression-group__background-color-dashed);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:58px;margin-left:-15px;margin-top:-36.5px}.horizontal-dashes.sc-snk-expression-group{z-index:var(--more-visible, 2);border-bottom:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:54px;margin-left:-15px;margin-top:-33.5px}.hidden.sc-snk-expression-group{display:none}';const k=[{label:"Igual (=)",value:"EQUAL"},{label:"Diferente (<>)",value:"DIFFERENT"},{label:"Contendo (LIKE)",value:"LIKE"},{label:"Contido em (IN)",value:"IN"},{label:"Iniciado com (%?)",value:"START_WITH"},{label:"Terminado com (?%)",value:"FINISHED_WITH"},{label:"Vazio (NULL)",value:"NULL"},{label:"Não Vazio (NOT NULL)",value:"NOT_NULL"}],_=k.concat([{label:"Maior (>)",value:"LARGER"},{label:"Maior ou Igual (>=)",value:"LARGER_EQUAL"},{label:"Menor (<)",value:"SMALLER"},{label:"Menor ou Igual (<=)",value:"SMALLER_EQUAL"}]),f=k,z=[u.SEARCH,u.SHORTTEXT,u.PASSWORD,u.MASKEDTEXT,u.LONGTEXT,u.HTML],F=class{constructor(s){i(this,s),this.ezFilterItemChange=e(this,"ezFilterItemChange",7),this.ezFilterItemRemove=e(this,"ezFilterItemRemove",7),this.application=d.getContextValue("__SNK__APPLICATION__"),this.filterOperandDefault=_,this.filterOperandTypeTextSearch=f,this.DEFAULT_FIELD_NAME="NOT_DEFINED",this._showValueVariable=!1,this._fieldSelected=void 0,this._optionNotNull=!1,this.expression=void 0,this.canRemove=!0,this.messagesBuilder=void 0,this.entityURI=void 0}expressionChanged(i,e){i!==e&&(this.ezFilterItemChange.emit(i),this.updateFieldSelected())}componentWillLoad(){this._dataSourceFetcher=x.get(`filterFieldsDataSource.${this.entityURI}`),x.onChange(`filterFieldsDataSource.${this.entityURI}`,(()=>{this._dataSourceFetcher=x.get(`filterFieldsDataSource.${this.entityURI}`)})),this.expression&&(this.updateFieldSelected(),this._optionNotNull="NULL"===this.expression.operand||"NOT_NULL"===this.expression.operand)}componentDidRender(){var i;this._showValueVariable=null===(i=this._elValueVariable)||void 0===i?void 0:i.value}updateFieldSelected(){const i={dataType:this.expression.type,description:this.expression.description,name:this.expression.fieldName,label:this.expression.fieldLabel,entityName:this.expression.entityName,onlyDate:!1,path:this.expression.description,properties:this.expressionPropsToFieldProps(this.expression.props),type:m.FIELD,uri:"",userInterface:this.expression.userInterface};this._fieldSelected=i}buildExpression(i,e,s){return s.length>0&&s.shift(),s.length>0?`${s.join("->")}->${e}`:`${i}.${e}`}setValueExpression(i,e){"fieldName"===i?(this.expression.description=e.path,this.expression.expression=this.buildExpression(e.entityName,e.name,e.entityPath),this.expression.fieldName=e.name,this.expression.fieldLabel=e.label,this.expression.type=e.dataType,this.expression.userInterface=e.userInterface,this.expression.entityName=e.entityName,this.expression.value=void 0,this.expression.props=this.fieldPropsToExpressionProps(e.properties)):this.expression[i]=e,this.expressionChanged(this.expression)}fieldPropsToExpressionProps(i){const e=[];if(!i)return e;for(const s in i){let t=i[s];"object"==typeof t&&(t=JSON.stringify(t)),e.push({name:s,value:t})}return e}expressionPropsToFieldProps(i){const e={};return i?(i.forEach((i=>{try{e[i.name]=JSON.parse(i.value)}catch(s){e[i.name]=i.value}})),e):e}getMessage(i,e){return this.application.messagesBuilder.getMessage(i,e)}handleSelectItem(i){if(this.hasNoChanges(i))this._elFilterInput.value=i.path;else if(i.type===m.FIELD){const e=i;this._fieldSelected=e,this.setValueExpression("fieldName",e)}}hasNoChanges(i){return i.name===this.expression.fieldName&&i.path===this.expression.description}handleFocus(){this._elFilterFieldSearch&&this._elFilterFieldSearch.show()}handleChangeFilterInput(i){this._elFilterFieldSearch.applyFilter(i.detail)}handleChangeValueVariable(i){this._showValueVariable=i,this._elFieldDynamic&&(this._elFieldDynamic.value=void 0,this._elFieldDynamic.enabled=!i),this.expression.paramVariable=i,this.expressionChanged(this.expression)}openSnkFilterParamConfig(){var i;null===(i=this._elFilterParamConfigRef)||void 0===i||i.open(this.expression).then(this.onOpenPromiseReady.bind(this)).catch((i=>{console.error(i)}))}onOpenPromiseReady(i){this.expression=i}buildOptionsOperator(){var i;return z.includes(null===(i=this._fieldSelected)||void 0===i?void 0:i.userInterface)?this.filterOperandTypeTextSearch:this.filterOperandDefault}handleChangeOperator(i){this.checkOptionIsNull(i),this.setValueExpression("operand",i)}checkOptionIsNull(i){[a.NULL,a.NOT_NULL].includes(a[i])?(this._optionNotNull=!0,this._elFieldDynamic&&(this._elFieldDynamic.enabled=!1,this._elFieldDynamic.value=void 0)):(this._optionNotNull=!1,this._elFieldDynamic&&(this._elFieldDynamic.enabled=!this._showValueVariable))}confirmRemove(i){i.preventDefault(),i.stopPropagation(),l.confirm(this.getMessage("snkPersonalizedFilter.confirmExpression.title"),this.getMessage("snkPersonalizedFilter.confirmExpression.description")).then((i=>{i&&this.ezFilterItemRemove.emit(this.expression)}))}buildFieldByType(){var i,e,t;if(!this._fieldSelected)return;const n=null===(i=v(this.configureFieldByType()))||void 0===i?void 0:i.i.shift();return(this._optionNotNull&&n||(null===(e=this._elValueVariable)||void 0===e?void 0:e.value)&&n||this.expression.paramVariable||this._showValueVariable||!(null===(t=this._fieldSelected)||void 0===t?void 0:t.dataType))&&(n.t.enabled=!1),null!=this.expression.value&&(n.t.value=this.getExpressiontValue(this.expression)),n.t.onEzChange=i=>{this.setValueExpression("value",i.target.value)},"SWITCH"===this.expression.userInterface&&null==this.expression.value&&this.setValueExpression("value",!1),s(n.o,Object.assign(Object.assign({},n.t),{ref:i=>{this._elFieldDynamic=i},label:this.expression.fieldLabel||this._fieldSelected.label}))}getExpressiontValue(i){return b(i.type,i.value)}configureFieldByType(){var i,e;const s={userInterface:this._fieldSelected.userInterface,name:this._fieldSelected.name,label:this._fieldSelected.label,canShowError:!1};switch(s.userInterface){case u.OPTIONSELECTOR:s.props={options:null===(e=null===(i=this._fieldSelected)||void 0===i?void 0:i.properties)||void 0===e?void 0:e.options};break;case u.LONGTEXT:s.rows=1;break;case u.SEARCH:s.optionLoader=i=>this.setCriteriaSearch(i,this.application)}return s}setCriteriaSearch({mode:i,argument:e},s){var t,n;if(null==s)return;const o={entity:null===(n=null===(t=this._fieldSelected)||void 0===t?void 0:t.properties)||void 0===n?void 0:n.ENTITYNAME,searchOptions:{showInactives:!1},entityDescription:this._fieldSelected.description};return s.executePreparedSearch(i,e,o)}render(){var i;return s(n,null,s("div",{class:"dashes"}),s("div",{class:"box"},s("div",{class:"box__container"},s("div",{class:"box__container--input-filter"},s("ez-filter-input",Object.assign({ref:i=>this._elFilterInput=i,value:null===(i=this._fieldSelected)||void 0===i?void 0:i.path,label:this.getMessage("snkPersonalizedFilter.info.labelSearchField"),canShowError:!1,onEzChange:i=>this.handleChangeFilterInput(i),onFocus:()=>this.handleFocus()},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`expressionFilterInput_${this.expression.fieldName||this.DEFAULT_FIELD_NAME}`})),s("snk-filter-field-search",{ref:i=>this._elFilterFieldSearch=i,searchable:!1,onEzSelectFilterItem:i=>this.handleSelectItem(i.detail),fieldsDataSource:this._dataSourceFetcher})),s("div",{class:"box__container--input-operator"},s("ez-combo-box",Object.assign({label:this.getMessage("snkPersonalizedFilter.info.labelOperator"),value:this.expression.operand,canShowError:!1,options:this.buildOptionsOperator(),onEzChange:i=>{var e;return this.handleChangeOperator(null===(e=i.detail)||void 0===e?void 0:e.value)},suppressEmptyOption:!0},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`comboBoxOperand_${this.expression.fieldName||this.DEFAULT_FIELD_NAME}`}))),s("div",{class:"box__container--input-value"},this._fieldSelected?this.buildFieldByType():s("ez-number-input",{label:"Valor",canShowError:!1,enabled:!this._showValueVariable&&!this._optionNotNull})),s("div",{class:"box__container--input-value-variable"},!this._optionNotNull&&s("ez-check",{ref:i=>this._elValueVariable=i,value:this.expression.paramVariable,label:this.getMessage("snkPersonalizedFilter.info.labelValueVarible"),mode:h.SWITCH,onEzChange:i=>this.handleChangeValueVariable(i.detail)}),this._showValueVariable&&!this._optionNotNull&&s("ez-icon",Object.assign({class:"box__container--input-value-variable--icon",size:"large",iconName:"settings-inverted"},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:"iconConfig"},{title:this.getMessage("snkPersonalizedFilter.info.titleTooltip"),onClick:()=>this.openSnkFilterParamConfig()})),s("snk-filter-param-config",{ref:i=>this._elFilterParamConfigRef=i,messagesBuilder:this.messagesBuilder})),s("div",{class:"box__container--button-delete"},s("div",{class:"box__container--button-delete--icon"},s("ez-button",{mode:"icon",iconName:"delete",enabled:this.canRemove,label:this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"),onClick:i=>this.confirmRemove(i)}))))))}static get watchers(){return{expression:["expressionChanged"]}}};F.style=".sc-snk-expression-item-h{display:flex;width:100%;--snk-expression-item--background-color:var(--background--xlight, #fff);--snk-expression-item__itens--padding:var(--space--small, 6px);--snk-expression-item__width--input-operator:220px;--snk-expression-item__width--input-value:240px;--snk-expression-item__width--input-value-variable:176px;--snk-expression-item--border-radius:var(--border--radius-medium, 12px);--snk-expression-item--border-color:var(--color--strokes, #DCE0E8);--snk-expression-item--border-style:var(--border--small, 1px solid);--snk-expression-item__background-color-dashed:var(--background--body, #fafcff)}.box.sc-snk-expression-item{width:100%;height:56px;background:var(--snk-expression-item--background-color);border:var(--snk-expression-item--border-color) var(--snk-expression-item--border-style);border-radius:var(--snk-expression-item--border-radius)}.box__container.sc-snk-expression-item{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:var(--space--small, 6px)}.box__container--input-filter.sc-snk-expression-item{width:100%}.box__container--input-operator.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-operator);min-width:var(--snk-expression-item__width--input-operator)}.box__container--input-value.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value);min-width:var(--snk-expression-item__width--input-value)}.box__container--input-value-variable.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value-variable);min-width:var(--snk-expression-item__width--input-value-variable)}.box__container--button-delete.sc-snk-expression-item{display:flex}.box__container.sc-snk-expression-item>div.sc-snk-expression-item{padding-left:var(--snk-expression-item__itens--padding);padding-right:var(--snk-expression-item__itens--padding)}.box__container--button-delete--icon.sc-snk-expression-item{width:42px;min-width:42px}.box__container--input-value-variable--icon.sc-snk-expression-item{cursor:pointer}.dashes.sc-snk-expression-item{z-index:var(--more-visible, 2);background:var(--snk-expression-item__background-color-dashed);border-bottom:2px dashed var(--text-secondary, #A2ABB9);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:62px;margin-left:-15px;margin-top:-33.5px}";export{g as snk_expression_group,F as snk_expression_item}
1
+ import{r as i,c as e,h as s,f as t,H as n,g as o}from"./p-d2d301a6.js";import{a as r,F as a}from"./p-933c0c0b.js";import{ApplicationUtils as l,CheckMode as h}from"@sankhyalabs/ezui/dist/collection/utils";import{ApplicationContext as d,StringUtils as p,ElementIDUtils as c,UserInterface as u}from"@sankhyalabs/core";import{S as m}from"./p-f4184ce7.js";import{fieldBuilder as v}from"@sankhyalabs/ezui/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder";import{s as x}from"./p-5e9fbd76.js";import{convertType as b}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";const g=class{constructor(s){i(this,s),this.ezFilterGroupChange=e(this,"ezFilterGroupChange",7),this.ezFilterGroupRemove=e(this,"ezFilterGroupRemove",7),this.ezExpressionGroupLayoutChanged=e(this,"ezExpressionLayoutChanged",7),this.FIRST_LEVEL="0",this.LIMIT_GROUP_LEVEL=4,this.application=d.getContextValue("__SNK__APPLICATION__"),this._conditionOperator=r.AND,this._group=void 0,this._selfTop=0,this.canAddExpression=!0,this._showDashes=!0,this.parentTop=0,this.group=void 0,this.messagesBuilder=void 0,this.filterId=void 0,this.entityURI=void 0}todoCompletedHandler(i){this.updateDashes()}async getExpressionGroup(){return this._group}watchGroup(i){this._group=i,this._conditionOperator=this.getOperand()}componentWillLoad(){this._group=this.group,this._conditionOperator=this.getOperand(),this.getDataGroupLevel()||this._element.setAttribute("data-group-level",this.FIRST_LEVEL),this.canAddExpression=this.group.items.every(this.isFilledItem)}componentDidRender(){this.setSelfTop()}changeHandler(){this.ezExpressionGroupLayoutChanged.emit()}setSelfTop(){this._selfTop=this._element.getBoundingClientRect().top}getDashedHeight(){return this._selfTop-this.parentTop}getOperand(){return this._group.operand?this._group.operand:r.AND}getMessage(i,e){return this.application.messagesBuilder.getMessage(i,e)}updateDashes(){this._showDashes=!1,this.setSelfTop(),this._showDashes=!0}renderExpressionItems(){var i;return null===(i=this._group.items)||void 0===i?void 0:i.map((i=>s("snk-expression-item",{key:i.id,class:"ez-padding-top--small snk-expression-group__item",expression:i,canRemove:this._group.items.length>1,onEzFilterItemChange:()=>this.handleFilterItemChange(),onEzFilterItemRemove:e=>this.handleFilterItemRemove(e,i.id),messagesBuilder:this.messagesBuilder,entityURI:this.entityURI})))}renderGroups(){var i;const e=parseInt(this.getDataGroupLevel()||"0")+1;return null===(i=this._group.childrenGroups)||void 0===i?void 0:i.map((i=>s("snk-expression-group",{key:i.id,group:i,messagesBuilder:this.messagesBuilder,parentTop:this._selfTop,"data-group-level":e,onEzFilterGroupRemove:e=>this.handleFilterGroupRemove(e,i.id),entityURI:this.entityURI})))}handleFilterGroupRemove(i,e){this.onStopPropagation(i),this._group.childrenGroups=this._group.childrenGroups.filter((i=>i.id!==e)),t(this),this.ezFilterGroupChange.emit(this._group),this.changeHandler()}handleFilterItemRemove(i,e){this.onStopPropagation(i),this._group.items=this._group.items.filter((i=>i.id!==e)),t(this),this.ezFilterGroupChange.emit(this._group),this.changeHandler(),this.canAddExpression=!0}isFilledItem(i){return!(!i.fieldName||!i.operand||"NULL"!==i.operand&&"NOT_NULL"!==i.operand&&!i.paramVariable&&"SWITCH"!==i.userInterface&&!i.value)}handleFilterItemChange(){this.ezFilterGroupChange.emit(this._group),this.canAddExpression=this.group.items.every(this.isFilledItem)}handleAddExpression(){const i={id:p.generateUUID(),entityName:"",fieldName:"",description:"",label:"Valor",type:void 0,expression:void 0,operand:void 0,paramVariable:!1,value:void 0,systemConfig:null,userConfig:null};this._group.items.push(i),t(this),this.ezFilterGroupChange.emit(this.group),this.changeHandler(),this.canAddExpression=!1}handleAddGroup(){var i;const e={id:p.generateUUID(),items:[{id:p.generateUUID(),entityName:"",fieldName:"",description:"",label:"Valor",type:void 0,expression:void 0,operand:void 0,paramVariable:!1,value:void 0,systemConfig:null,userConfig:null}],childrenGroups:[],operand:r.AND};this._group.childrenGroups=null!==(i=this._group.childrenGroups)&&void 0!==i?i:[],this._group.childrenGroups.push(e),t(this),this.group.operand||(this.group.operand=r.AND),this.ezFilterGroupChange.emit(this.group),this.changeHandler()}buildGroupStyle(){return{height:`${this.getDashedHeight()}px`,marginTop:20-this.getDashedHeight()+"px"}}handleConditionOperatorChange(i){this._conditionOperator=i,this._group.operand=r[i],this.ezFilterGroupChange.emit(this._group)}confirmRemoveGroup(i){this.onStopPropagation(i),l.confirm(this.getMessage("snkPersonalizedFilter.confirmGroup.title"),this.getMessage("snkPersonalizedFilter.confirmGroup.description")).then((i=>{i&&this.ezFilterGroupRemove.emit(this._group)}))}getTooltipMessageForOperator(){return this.getDataGroupLevel()===this.FIRST_LEVEL&&1===this._group.items.length?this.getMessage("snkPersonalizedFilter.operador.firstLevel"):this._conditionOperator===r.AND?this.getMessage("snkPersonalizedFilter.operador.and"):this._conditionOperator===r.OR?this.getMessage("snkPersonalizedFilter.operador.or"):void 0}getDataGroupLevel(){return this._element.getAttribute("data-group-level")}canAddGroup(){return Number(this.getDataGroupLevel()||this.FIRST_LEVEL)<this.LIMIT_GROUP_LEVEL}isFirstLevel(){return Boolean(this.getDataGroupLevel()===this.FIRST_LEVEL)}onStopPropagation(i){i.preventDefault(),i.stopPropagation()}getMessageAddTooltip(){if(this.isFirstLevel()){const i=this.group.items.every((i=>!(!i.fieldName||!i.operand)&&(i.paramVariable||!!i.value)));return this.getMessage(i?"snkPersonalizedFilter.info.labelAddNewExpression":"snkPersonalizedFilter.info.labelDisabledAddExpressionButton")}return this.getMessage(this.canAddExpression?"snkPersonalizedFilter.info.labelAddNewExpression":"snkPersonalizedFilter.info.labelDisabledAddExpressionButton")}canChangeGroupCondition(){return this._group.items.length+this._group.childrenGroups.length>1}render(){const i=this.canAddGroup();return s(n,null,s("div",{class:!this.isFirstLevel()&&this._showDashes?"dashes":"hidden",style:this.buildGroupStyle()}),s("div",{class:!this.isFirstLevel()&&this._showDashes?"horizontal-dashes":"hidden"}),s("div",{class:"ez-flex ez-flex--align-items-center"},s("div",{class:"snk-expression-group__container-condition ez-flex ez-flex-item--align-center ez-flex--align-items-center","data-condition":this._conditionOperator,title:this.getTooltipMessageForOperator()},s("label",{class:"ez-label ez-padding-right--medium ez-padding-left--medium ez-title--primary"},this.getMessage("snkPersonalizedFilter.info.condition")),s("div",null,s("ez-combo-box",Object.assign({class:"snk-expression-group__container-option",canShowError:!1,mode:"slim",suppressEmptyOption:!0,enabled:this.canChangeGroupCondition(),value:this._conditionOperator,onEzChange:i=>this.handleConditionOperatorChange(i.detail.value)},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`comboBoxConditions_level_${this.getDataGroupLevel()}`}),s("option",{value:r.AND},"E"),s("option",{value:r.OR},"OU")))),s("ez-button",{class:"ez-padding-right--medium ez-padding-left--medium",mode:"icon",iconName:"plus",size:"small",enabled:this.canAddExpression,title:this.getMessageAddTooltip(),onClick:()=>this.handleAddExpression()}),s("ez-button",{label:this.getMessage("snkPersonalizedFilter.info.addGroup"),size:"small",enabled:i,title:i?"":this.getMessage("snkPersonalizedFilter.info.labelDisabledAddGroupButton",{LIMIT_GROUP_LEVEL:this.LIMIT_GROUP_LEVEL+1}),onClick:()=>this.handleAddGroup()},s("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:"plus"})),!this.isFirstLevel()&&s("ez-button",{title:this.getMessage("snkPersonalizedFilter.info.labelDeleteExpression"),class:"ez-padding-left--medium",mode:"icon",iconName:"delete",size:"small",onClick:i=>this.confirmRemoveGroup(i)})),s("div",{class:"ez-padding-top--small snk-expression-group__container-expression"},s("div",{class:"ez-padding-top--small"},this.renderExpressionItems())),s("div",{class:"ez-padding-top--small snk-expression-group__container-expression"},s("div",{class:"ez-padding-top--small"},this.renderGroups())))}get _element(){return o(this)}static get watchers(){return{group:["watchGroup"]}}};g.style='.sc-snk-expression-group-h{display:block;--snk-expression-group--container-condition--width:184px;--snk-expression-group--container-condition--height:38px;--snk-expression-group--container-condition--border-radius:var(--border--radius-medium, 12px);--snk-expression-group--container-option--width:85px;--snk-expression-group__container-condition--background-and:#66B6A0;--snk-expression-group__container-condition--background-or:#EBC65E;--snk-expression-group__container-expression--padding-left:26px;--snk-expression-group__background-color-dashed:var(--background--body, #fafcff)}.snk-expression-group__container-condition.sc-snk-expression-group{width:var(--snk-expression-group--container-condition--width);height:var(--snk-expression-group--container-condition--height);border-radius:var(--snk-expression-group--container-condition--border-radius);z-index:var(--more-visible--2x, 3)}.snk-expression-group__container-option.sc-snk-expression-group{width:var(--snk-expression-group--container-option--width)}.snk-expression-group__container-condition[data-condition="AND"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-and)}.snk-expression-group__container-condition[data-condition="OR"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-or)}.snk-expression-group__container-expression.sc-snk-expression-group{padding-left:var(--snk-expression-group__container-expression--padding-left)}.dashes.sc-snk-expression-group{z-index:var(--visible, 1);background:var(--snk-expression-group__background-color-dashed);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:58px;margin-left:-15px;margin-top:-36.5px}.horizontal-dashes.sc-snk-expression-group{z-index:var(--more-visible, 2);border-bottom:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:54px;margin-left:-15px;margin-top:-33.5px}.hidden.sc-snk-expression-group{display:none}';const k=[{label:"Igual (=)",value:"EQUAL"},{label:"Diferente (<>)",value:"DIFFERENT"},{label:"Contendo (LIKE)",value:"LIKE"},{label:"Contido em (IN)",value:"IN"},{label:"Iniciado com (%?)",value:"START_WITH"},{label:"Terminado com (?%)",value:"FINISHED_WITH"},{label:"Vazio (NULL)",value:"NULL"},{label:"Não Vazio (NOT NULL)",value:"NOT_NULL"}],_=k.concat([{label:"Maior (>)",value:"LARGER"},{label:"Maior ou Igual (>=)",value:"LARGER_EQUAL"},{label:"Menor (<)",value:"SMALLER"},{label:"Menor ou Igual (<=)",value:"SMALLER_EQUAL"}]),f=k,z=[u.SEARCH,u.SHORTTEXT,u.PASSWORD,u.MASKEDTEXT,u.LONGTEXT,u.HTML],F=class{constructor(s){i(this,s),this.ezFilterItemChange=e(this,"ezFilterItemChange",7),this.ezFilterItemRemove=e(this,"ezFilterItemRemove",7),this.application=d.getContextValue("__SNK__APPLICATION__"),this.filterOperandDefault=_,this.filterOperandTypeTextSearch=f,this.DEFAULT_FIELD_NAME="NOT_DEFINED",this._showValueVariable=!1,this._fieldSelected=void 0,this._optionNotNull=!1,this.expression=void 0,this.canRemove=!0,this.messagesBuilder=void 0,this.entityURI=void 0}expressionChanged(i,e){i!==e&&(this.ezFilterItemChange.emit(i),this.updateFieldSelected())}componentWillLoad(){this._dataSourceFetcher=x.get(`filterFieldsDataSource.${this.entityURI}`),x.onChange(`filterFieldsDataSource.${this.entityURI}`,(()=>{this._dataSourceFetcher=x.get(`filterFieldsDataSource.${this.entityURI}`)})),this.expression&&(this.updateFieldSelected(),this._optionNotNull="NULL"===this.expression.operand||"NOT_NULL"===this.expression.operand)}componentDidRender(){var i;this._showValueVariable=null===(i=this._elValueVariable)||void 0===i?void 0:i.value}updateFieldSelected(){const i={dataType:this.expression.type,description:this.expression.description,name:this.expression.fieldName,label:this.expression.fieldLabel,entityName:this.expression.entityName,onlyDate:!1,path:this.expression.description,properties:this.expressionPropsToFieldProps(this.expression.props),type:m.FIELD,uri:"",userInterface:this.expression.userInterface};this._fieldSelected=i}buildExpression(i,e,s){return s.length>0&&s.shift(),s.length>0?`${s.join("->")}->${e}`:`${i}.${e}`}setValueExpression(i,e){"fieldName"===i?(this.expression.description=e.path,this.expression.expression=this.buildExpression(e.entityName,e.name,e.entityPath),this.expression.fieldName=e.name,this.expression.fieldLabel=e.label,this.expression.type=e.dataType,this.expression.userInterface=e.userInterface,this.expression.entityName=e.entityName,this.expression.value=void 0,this.expression.props=this.fieldPropsToExpressionProps(e.properties)):this.expression[i]=e,this.expressionChanged(this.expression)}fieldPropsToExpressionProps(i){const e=[];if(!i)return e;for(const s in i){let t=i[s];"object"==typeof t&&(t=JSON.stringify(t)),e.push({name:s,value:t})}return e}expressionPropsToFieldProps(i){const e={};return i?(i.forEach((i=>{try{e[i.name]=JSON.parse(i.value)}catch(s){e[i.name]=i.value}})),e):e}getMessage(i,e){return this.application.messagesBuilder.getMessage(i,e)}handleSelectItem(i){if(this.hasNoChanges(i))this._elFilterInput.value=i.path;else if(i.type===m.FIELD){const e=i;this._fieldSelected=e,this.setValueExpression("fieldName",e)}}hasNoChanges(i){return i.name===this.expression.fieldName&&i.path===this.expression.description}handleFocus(){this._elFilterFieldSearch&&this._elFilterFieldSearch.show()}handleChangeFilterInput(i){this._elFilterFieldSearch.applyFilter(i.detail)}handleChangeValueVariable(i){this._showValueVariable=i,this._elFieldDynamic&&(this._elFieldDynamic.value=void 0,this._elFieldDynamic.enabled=!i),this.expression.paramVariable=i,this.expressionChanged(this.expression)}openSnkFilterParamConfig(){var i;null===(i=this._elFilterParamConfigRef)||void 0===i||i.open(this.expression).then(this.onOpenPromiseReady.bind(this)).catch((i=>{console.error(i)}))}onOpenPromiseReady(i){this.expression=i}buildOptionsOperator(){var i;return z.includes(null===(i=this._fieldSelected)||void 0===i?void 0:i.userInterface)?this.filterOperandTypeTextSearch:this.filterOperandDefault}handleChangeOperator(i){this.checkOptionIsNull(i),this.setValueExpression("operand",i)}checkOptionIsNull(i){[a.NULL,a.NOT_NULL].includes(a[i])?(this._optionNotNull=!0,this._elFieldDynamic&&(this._elFieldDynamic.enabled=!1,this._elFieldDynamic.value=void 0)):(this._optionNotNull=!1,this._elFieldDynamic&&(this._elFieldDynamic.enabled=!this._showValueVariable))}confirmRemove(i){i.preventDefault(),i.stopPropagation(),l.confirm(this.getMessage("snkPersonalizedFilter.confirmExpression.title"),this.getMessage("snkPersonalizedFilter.confirmExpression.description")).then((i=>{i&&this.ezFilterItemRemove.emit(this.expression)}))}buildFieldByType(){var i,e,t;if(!this._fieldSelected)return;const n=null===(i=v(this.configureFieldByType()))||void 0===i?void 0:i.i.shift();return(this._optionNotNull&&n||(null===(e=this._elValueVariable)||void 0===e?void 0:e.value)&&n||this.expression.paramVariable||this._showValueVariable||!(null===(t=this._fieldSelected)||void 0===t?void 0:t.dataType))&&(n.t.enabled=!1),null!=this.expression.value&&(n.t.value=this.getExpressiontValue(this.expression)),n.t.onEzChange=i=>{this.setValueExpression("value",i.target.value)},"SWITCH"===this.expression.userInterface&&null==this.expression.value&&this.setValueExpression("value",!1),s(n.o,Object.assign(Object.assign({},n.t),{ref:i=>{this._elFieldDynamic=i},label:this.expression.fieldLabel||this._fieldSelected.label}))}getExpressiontValue(i){return b(i.type,i.value)}configureFieldByType(){var i,e;const s={userInterface:this._fieldSelected.userInterface,name:this._fieldSelected.name,label:this._fieldSelected.label,canShowError:!1};switch(s.userInterface){case u.OPTIONSELECTOR:s.props={options:null===(e=null===(i=this._fieldSelected)||void 0===i?void 0:i.properties)||void 0===e?void 0:e.options};break;case u.LONGTEXT:s.rows=1;break;case u.SEARCH:s.optionLoader=i=>this.setCriteriaSearch(i,this.application)}return s}setCriteriaSearch({mode:i,argument:e},s){var t,n;if(null==s)return;const o={entity:null===(n=null===(t=this._fieldSelected)||void 0===t?void 0:t.properties)||void 0===n?void 0:n.ENTITYNAME,searchOptions:{showInactives:!1},entityDescription:this._fieldSelected.description};return s.executePreparedSearch(i,e,o)}render(){var i;return s(n,null,s("div",{class:"dashes"}),s("div",{class:"box"},s("div",{class:"box__container"},s("div",{class:"box__container--input-filter"},s("ez-filter-input",Object.assign({ref:i=>this._elFilterInput=i,value:null===(i=this._fieldSelected)||void 0===i?void 0:i.path,label:this.getMessage("snkPersonalizedFilter.info.labelSearchField"),canShowError:!1,onEzChange:i=>this.handleChangeFilterInput(i),onFocus:()=>this.handleFocus()},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`expressionFilterInput_${this.expression.fieldName||this.DEFAULT_FIELD_NAME}`})),s("snk-filter-field-search",{ref:i=>this._elFilterFieldSearch=i,searchable:!1,onEzSelectFilterItem:i=>this.handleSelectItem(i.detail),fieldsDataSource:this._dataSourceFetcher})),s("div",{class:"box__container--input-operator"},s("ez-combo-box",Object.assign({label:this.getMessage("snkPersonalizedFilter.info.labelOperator"),value:this.expression.operand,canShowError:!1,options:this.buildOptionsOperator(),onEzChange:i=>{var e;return this.handleChangeOperator(null===(e=i.detail)||void 0===e?void 0:e.value)},suppressEmptyOption:!0},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`comboBoxOperand_${this.expression.fieldName||this.DEFAULT_FIELD_NAME}`}))),s("div",{class:"box__container--input-value"},this._fieldSelected?this.buildFieldByType():s("ez-number-input",{label:"Valor",canShowError:!1,enabled:!this._showValueVariable&&!this._optionNotNull})),s("div",{class:"box__container--input-value-variable"},!this._optionNotNull&&s("ez-check",{ref:i=>this._elValueVariable=i,value:this.expression.paramVariable,label:this.getMessage("snkPersonalizedFilter.info.labelValueVarible"),mode:h.SWITCH,onEzChange:i=>this.handleChangeValueVariable(i.detail)}),this._showValueVariable&&!this._optionNotNull&&s("ez-icon",Object.assign({class:"box__container--input-value-variable--icon",size:"large",iconName:"settings-inverted"},{[c.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:"iconConfig"},{title:this.getMessage("snkPersonalizedFilter.info.titleTooltip"),onClick:()=>this.openSnkFilterParamConfig()})),s("snk-filter-param-config",{ref:i=>this._elFilterParamConfigRef=i,messagesBuilder:this.messagesBuilder})),s("div",{class:"box__container--button-delete"},s("div",{class:"box__container--button-delete--icon"},s("ez-button",{mode:"icon",iconName:"delete",enabled:this.canRemove,label:this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"),onClick:i=>this.confirmRemove(i)}))))))}static get watchers(){return{expression:["expressionChanged"]}}};F.style=".sc-snk-expression-item-h{display:flex;width:100%;--snk-expression-item--background-color:var(--background--xlight, #fff);--snk-expression-item__itens--padding:var(--space--small, 6px);--snk-expression-item__width--input-operator:220px;--snk-expression-item__width--input-value:240px;--snk-expression-item__width--input-value-variable:176px;--snk-expression-item--border-radius:var(--border--radius-medium, 12px);--snk-expression-item--border-color:var(--color--strokes, #DCE0E8);--snk-expression-item--border-style:var(--border--small, 1px solid);--snk-expression-item__background-color-dashed:var(--background--body, #fafcff)}.box.sc-snk-expression-item{width:100%;height:56px;background:var(--snk-expression-item--background-color);border:var(--snk-expression-item--border-color) var(--snk-expression-item--border-style);border-radius:var(--snk-expression-item--border-radius)}.box__container.sc-snk-expression-item{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:var(--space--small, 6px)}.box__container--input-filter.sc-snk-expression-item{width:100%}.box__container--input-operator.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-operator);min-width:var(--snk-expression-item__width--input-operator)}.box__container--input-value.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value);min-width:var(--snk-expression-item__width--input-value)}.box__container--input-value-variable.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value-variable);min-width:var(--snk-expression-item__width--input-value-variable)}.box__container--button-delete.sc-snk-expression-item{display:flex}.box__container.sc-snk-expression-item>div.sc-snk-expression-item{padding-left:var(--snk-expression-item__itens--padding);padding-right:var(--snk-expression-item__itens--padding)}.box__container--button-delete--icon.sc-snk-expression-item{width:42px;min-width:42px}.box__container--input-value-variable--icon.sc-snk-expression-item{cursor:pointer}.dashes.sc-snk-expression-item{z-index:var(--more-visible, 2);background:var(--snk-expression-item__background-color-dashed);border-bottom:2px dashed var(--text-secondary, #A2ABB9);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:62px;margin-left:-15px;margin-top:-33.5px}";export{g as snk_expression_group,F as snk_expression_item}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as e}from"./p-d2d301a6.js";import{ApplicationContext as a,DataType as s,Action as n,UserInterface as o,StringUtils as r,DataUnitLoaderUtils as l,DataUnit as d}from"@sankhyalabs/core";import{D as h}from"./p-5a7e18f4.js";import"./p-ef076eea.js";import"./p-0f3698af.js";import{S as c}from"./p-21749402.js";import{P as v,D as u,I as m}from"./p-7e0a0aae.js";import"./p-ff1990ad.js";import"./p-22ddc147.js";import{V as A}from"./p-1d19a5b0.js";import{A as O}from"./p-a77bdadc.js";import{T as p}from"./p-517efc93.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-5e9fbd76.js";class w{constructor(t){this.dataUnitName=t}async save({dataUnit:t,record:i,updatingFields:e,operation:a}){var s,n;const o="INSERT"==a,r=o?e:i;if(!o&&(null==e?void 0:e.DESCRICAO)&&(null==e?void 0:e.DESCRICAO)!==(null==i?void 0:i.DESCRICAO))throw new Error(c.DESCRIPTION_CANNOT_BE_CHANGED);const l={anexo:{codata:o?null==e?void 0:e.REGISTER_KEY:null==i?void 0:i.CODATA,sequencia:(null==r?void 0:r.SEQUENCIA)||"0",tipo:(null==r?void 0:r.TIPO)||"N",descricao:null==r?void 0:r.DESCRICAO,arquivo:null===(n=null===(s=e.CAMINHO_ARQUIVO)||void 0===s?void 0:s[0])||void 0===n?void 0:n.name,ehInclusao:o?"S":"N",ehArquivoRepositorio:"N"}};return new Promise(((i,a)=>{h.get().callServiceBroker("Attach.save",JSON.stringify(l)).then((a=>{var s;return i([Object.assign(Object.assign(Object.assign({},a),e),{__owner__dataunit__name__:null!==(s=this.dataUnitName)&&void 0!==s?s:t})])})).catch((t=>a(t)))}))}async edit(t){throw new Error("Method not implemented.")}async delete(t){var i={anexo:{codata:t.CODATA,tipo:t.TIPO,descricao:t.DESCRICAO}};const e=await h.get().callServiceBroker("Attach.remove",JSON.stringify(i));return Promise.resolve(e)}async getDownloadKey(t){var i,e,a;if("S"==t.EHARQUIVOREPOSITORIO){const a={config:{path:t.ARQUIVO,tipoconteudo:t.TIPOCONTEUDO}},s=await h.get().callServiceBroker("RepositorioArquivoSP.abreArquivo",JSON.stringify(a));return Promise.resolve({chave:{valor:null===(e=null===(i=null==s?void 0:s.responseBody)||void 0===i?void 0:i.chave)||void 0===e?void 0:e.valor}})}const s={anexo:{codata:t.CODATA,codemp:t.CODEMP,sequencia:t.SEQUENCIA,tipo:t.TIPO,descricao:t.DESCRICAO,tipoConteudo:t.TIPOCONTEUDO}},n=await h.get().callServiceBroker("Attach.view",JSON.stringify(s));return(null==n?void 0:n.chaveAnexo)?Promise.resolve({chave:{valor:null===(a=null==n?void 0:n.chaveAnexo)||void 0===a?void 0:a.idChaveAnexo}}):Promise.reject(new Error("File not found."))}}const k="AnexoSistemaSP.salvar",I="AnexoSistemaSP.excluir",S="AnexoSistemaSP.baixar";class _{constructor(t,i){var e;this.entityName=t,this.dataUnitName=i,this.validateFields=t=>{if(t.LINK&&t.NOMEARQUIVO)throw new Error(c.LINK_AND_FILE_AT_THE_SAME_TIME);if(!t.LINK&&!t.NOMEARQUIVO)throw new Error(c.ANY_LINK_OR_FILE_FILLED);if(!this._registerKey)throw new Error("Register key can not be null")},this.resourceID=window.resourceID||(null===(e=window.workspace)||void 0===e?void 0:e.resourceID)}set registerKey(t){this._registerKey=t}async save(t){var i,e;let{updatingFields:a}=t;a=Object.assign(Object.assign({},a),{NOMEARQUIVO:null===(i=a.NOMEARQUIVO)||void 0===i?void 0:i[0]});try{this.validateFields(a);const t=a.LINK?null:a.NOMEARQUIVO,i={serviceName:k,requestBody:{params:{resourceID:this.resourceID,description:a.DESCRICAO,fileSelect:t?1:0,keySession:null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e.fileNameTmp,nameAttach:null==t?void 0:t.name,link:a.LINK,nameEntity:this.entityName,pkEntity:this._registerKey,typeAcess:a.TIPOACESSO,typeApres:a.TIPOAPRES}}},s=await h.get().callServiceBroker(k,JSON.stringify(i));return Promise.resolve([Object.assign(Object.assign(Object.assign({},s),a),{ARQUIVOOULINK:a.LINK?a.LINK:null==t?void 0:t.name,__owner__dataunit__name__:this.dataUnitName})])}catch(t){return Promise.reject(t)}}async edit(t){var i,e,a;let{updatingFields:s,record:n}=t;const o=t=>void 0!==s[t]?s[t]:n[t],r=o("NOMEARQUIVO"),l=null===(e=null===(i=s.NOMEARQUIVO)||void 0===i?void 0:i[0])||void 0===e?void 0:e.downloadURL;s=Object.assign(Object.assign({},s),{DESCRICAO:o("DESCRICAO"),LINK:o("LINK"),TIPOACESSO:o("TIPOACESSO"),TIPOAPRES:o("TIPOAPRES"),CHAVEARQUIVO:n.CHAVEARQUIVO,NOMEARQUIVO:null==r?void 0:r[0]});const d=s.LINK?null:s.NOMEARQUIVO;try{this.validateFields(s);const t={serviceName:k,requestBody:{params:{resourceID:this.resourceID,nuAttach:null==n?void 0:n.NUATTACH,description:s.DESCRICAO,fileSelect:l?1:0,keySession:null===(a=null==d?void 0:d.properties)||void 0===a?void 0:a.fileNameTmp,keyAttach:s.CHAVEARQUIVO,nameAttach:null==d?void 0:d.name,link:s.LINK,nameEntity:this.entityName,pkEntity:this._registerKey,typeAcess:s.TIPOACESSO,typeApres:s.TIPOAPRES}}},i=await h.get().callServiceBroker(k,JSON.stringify(t));return Promise.resolve([Object.assign(Object.assign(Object.assign({},i),s),{ARQUIVOOULINK:s.LINK?s.LINK:null==d?void 0:d.name,__owner__dataunit__name__:this.dataUnitName})])}catch(t){return Promise.reject(t)}}delete(t){var i;const e=(null===(i=t.NOMEARQUIVO)||void 0===i?void 0:i[0])||{},a={serviceName:I,requestBody:{paramsDelete:{keyAttach:t.CHAVEARQUIVO,nameAttach:null==e?void 0:e.name,nameEntity:t.NOMEINSTANCIA,nuAttach:t.NUATTACH,pkEntity:t.PKREGISTRO}}};return new Promise(((t,i)=>{h.get().callServiceBroker(I,JSON.stringify(a)).then((i=>t(i))).catch((t=>i(t)))}))}getDownloadKey(t){var i;const e=(null===(i=t.NOMEARQUIVO)||void 0===i?void 0:i[0])||{},a={serviceName:S,requestBody:{paramsDown:{nameAttach:null==e?void 0:e.name,nameEntity:t.NOMEINSTANCIA,nuAttach:t.NUATTACH,pkEntity:t.PKREGISTRO,keyAttach:t.CHAVEARQUIVO}}};return new Promise(((t,i)=>{h.get().callServiceBroker(S,JSON.stringify(a)).then((i=>t(i))).catch((t=>i(t)))}))}}class y{constructor(t,i){this.entityName=t,this.getMessage=i,this._application=a.getContextValue("__SNK__APPLICATION__")}initLoaders(t,i,e){this.loader||(this.loader=t.dataLoader),t.dataLoader=(t,i)=>this.dataLoader(t,i),t.saveLoader=(t,a)=>this.saveLoader(a,i).then((t=>(t.length&&e(),t))),t.removeLoader=(t,a)=>this.removeLoader(t,a,i).then((t=>(t.length&&e(),t)))}metadataLoader(t){throw new Error("Method not implemented.")}dataLoader(t,i){return new Promise((e=>{this.loader(t,i).then((t=>{const i=((null==t?void 0:t.records)||[]).map((t=>{let i;return t.LINK||(i=[{name:t.NOMEARQUIVO}]),Object.assign(Object.assign({},t),{ARQUIVOOULINK:t.LINK?t.LINK:t.NOMEARQUIVO,NOMEARQUIVO:i})}));e(Object.assign(Object.assign({},t),{records:i}))}))}))}saveLoader(t,i){return new Promise((e=>{var a;const s=Array.isArray(t)?t[0]:{};((null===(a=null==s?void 0:s.record)||void 0===a?void 0:a.NUATTACH)>=0?i.edit.bind(i):i.save.bind(i))(s).then((t=>{e(t)})).catch((t=>t.message===c.LINK_AND_FILE_AT_THE_SAME_TIME?(this._application.alert(this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.title"),this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.message")),e([])):t.message===c.ANY_LINK_OR_FILE_FILLED?(this._application.alert(this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.title"),this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.message")),e([])):t.message?(this._application.error(t.title||t.name,t.message),e([])):void e([])))}))}removeLoader(t,i,e){return new Promise((a=>{const{records:s}=t.getSelectionInfo(),n=s[0];e.delete(n).then((()=>(v.removeRecords(t,[n]),a(i))))}))}getFilters(t){return[{name:"AttachmentsByPK",expression:"this.PKREGISTRO = :PKREGISTRO",params:[{name:"PKREGISTRO",dataType:s.TEXT,value:`${t}_${this.entityName}`}]}]}getInterceptions(t,i,e){return new Promise((a=>i.type===n.EDITION_CANCELED?t.isDirty()?this._application.confirm(this.getMessage("snkAttach.cancelConfirmation.title"),this.getMessage("snkAttach.cancelConfirmation.message")).then((t=>t?(e.goToView(A.GRID),a(i)):a(void 0))):a(i):i.type===n.DATA_SAVED?(t.loadData(),a(i)):void a(i)))}}const b=a.getContextValue("__SNK__APPLICATION__"),f=t=>{var i,e;return null===(e=null===(i=null==b?void 0:b.messagesBuilder)||void 0===i?void 0:i.getMessage)||void 0===e?void 0:e.call(i,t,null)},E={grid:{columns:[{name:"CODATA",orderIndex:0,width:0},{name:"DESCRICAO",orderIndex:1,width:0},{name:"ARQUIVO",orderIndex:2,width:0},{name:"DTALTER",orderIndex:3,width:0},{name:"USUARIO",orderIndex:4,width:0}]},form:{emptyConfig:!1,fields:[{name:"DESCRICAO",label:f("snkAttach.attachMetadata.lblDescription"),visible:!0,readOnly:!1,required:!0},{name:"CAMINHO_ARQUIVO",label:f("snkAttach.attachMetadata.lblFile"),visible:!0,readOnly:!1,required:!0}]}},N={name:"Attach",label:"Attach List",fields:[{name:"CODATA",label:f("snkAttach.attachMetadata.lblCode"),dataType:s.TEXT},{name:"DESCRICAO",label:f("snkAttach.attachMetadata.lblDescription"),dataType:s.TEXT,readOnly:!1},{name:"ARQUIVO",label:f("snkAttach.attachMetadata.lblFileOrLink"),dataType:s.TEXT},{name:"USUARIO",label:f("snkAttach.attachMetadata.lblUser"),dataType:s.TEXT},{name:"DTALTER",label:f("snkAttach.attachMetadata.lblDate"),dataType:s.TEXT},{name:"CAMINHO_ARQUIVO",label:f("snkAttach.attachMetadata.lblFileUpload"),dataType:s.OBJECT,userInterface:o.FILE,readOnly:!1,required:!0,visible:!0,properties:{subTitle:f("snkAttach.attachMetadata.lblSubTitle"),MAX_FILES:1,STORAGESTRATEGY:"SESSION",INTERNAL_FILENAME:"Attach.upload"}}]};class g{constructor(t){this.getMessage=t,this._records=[],this._application=a.getContextValue("__SNK__APPLICATION__")}initLoaders(t,i,e){t.metadataLoader=t=>this.metadataLoader(t),t.dataLoader=(t,i)=>this.dataLoader(t,i),t.saveLoader=(t,a)=>this.saveLoader(a,i).then((t=>(t.length&&e(),t))),t.removeLoader=(t,a)=>this.removeLoader(t,a,i).then((t=>(t.length&&e(),t)))}metadataLoader(t){return Promise.resolve(N)}async dataLoader(t,i){if(!i.source)return Promise.resolve({records:this._records});if(!Number.isNaN(Number(i.source))){const t={criteria:{codata:i.source,tipoAnexo:"N"}},e=await this._application.getDataFetcher(),{anexos:{anexo:a=[]}}=await e.callServiceBroker("Attach.load",JSON.stringify(t)),s=[];a.forEach((t=>{s.push(Object.assign({__record__id__:r.generateUUID(),CAMINHO_ARQUIVO:[{name:null==t?void 0:t.ARQUIVO}]},t))})),this._records=s}return l.buildLoadDataResponse(this._records,t,i)}saveLoader(t,i){return new Promise((e=>{const a=Array.isArray(t)?t[0]:{};i.save(a).then(e).catch((t=>t.message===c.DESCRIPTION_CANNOT_BE_CHANGED?(this._application.alert(this.getMessage("snkAttach.alertValidation.descriptionCannotBeChanged.title"),this.getMessage("snkAttach.alertValidation.descriptionCannotBeChanged.message")),e([])):t.message===c.LINK_AND_FILE_AT_THE_SAME_TIME?(this._application.alert(this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.title"),this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.message")),e([])):t.message===c.ANY_LINK_OR_FILE_FILLED?(this._application.alert(this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.title"),this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.message")),e([])):t.message?(this._application.error(t.title||t.name,t.message),e([])):void e([])))}))}removeLoader(t,i,e){return new Promise((a=>{t.getSelectionInfo().records.forEach((async t=>{this._application.hasAccess(O.REMOVE).then((async s=>{s&&(await e.delete(t),a(i))}))}))}))}getFilters(){throw new Error("Method not implemented.")}getInterceptions(t,i,e){return new Promise((a=>{var s,o,r,l,d,h;switch(i.type){case n.EDITION_CANCELED:return t.isDirty()?this._application.confirm(this.getMessage("snkAttach.cancelConfirmation.title"),this.getMessage("snkAttach.cancelConfirmation.message")).then((t=>t?(e.goToView(A.GRID),a(i)):a(void 0))):a(i);case n.DATA_SAVED:return t.loadData(void 0,void 0,!1,null===(r=null===(o=null===(s=null==i?void 0:i.payload)||void 0===s?void 0:s.records)||void 0===o?void 0:o[0])||void 0===r?void 0:r.REGISTER_KEY),a(i);case n.RECORDS_REMOVED:return t.loadData(void 0,void 0,!1,null===(h=null===(d=null===(l=null==i?void 0:i.payload)||void 0===l?void 0:l.cachedRecords)||void 0===d?void 0:d[0])||void 0===h?void 0:h.CODATA),a(i)}a(i)}))}}const C=a.getContextValue("__SNK__APPLICATION__"),T=t=>{var i,e;return null===(e=null===(i=null==C?void 0:C.messagesBuilder)||void 0===i?void 0:i.getMessage)||void 0===e?void 0:e.call(i,t,null)},L={DOWNLOAD:{hint:T("snkAttach.taskbar.titleDownload"),name:"DOWNLOAD",iconName:"file-download"},LINK:{hint:T("snkAttach.taskbar.titleLink"),name:"LINK",iconName:"launch"}},P=()=>{const t=[p.REMOVE,"DOWNLOAD","LINK"];return{getButtons:(t,i,e)=>{const a=e.indexOf(p.REFRESH);if((null==i?void 0:i.insertionMode)||(null==i?void 0:i.isDirty))return e.reverse();-1!==a&&e.splice(a,1);const{selectedRecord:s}=i||{},n=(null==s?void 0:s.LINK)?L.LINK:L.DOWNLOAD;e.splice(e.indexOf(p.DIVIDER)+1,0,p.REMOVE,n,p.DIVIDER);const o=[p.CLONE,p.DATA_EXPORTER],r=Array.from(new Set(e.filter((t=>!o.includes(t)))));return r.splice(r.indexOf(n)+1,0,p.DIVIDER),r},isEnabled:(i,e,a)=>{const s=void 0!==(null==e?void 0:e.selectedRecord);return!(t.includes(a)&&!s)}}},R={grid:{columns:[{name:"ARQUIVOOULINK",orderIndex:0,width:0},{name:"DESCRICAO",orderIndex:1,width:0},{name:"DHCAD",orderIndex:2,width:0},{name:"DHALTER",orderIndex:3,width:0},{name:"TIPOAPRES",orderIndex:4,width:0},{name:"TIPOACESSO",orderIndex:5,width:0},{name:"CODUSU",orderIndex:6,width:0},{name:"CODUSUALT",orderIndex:7,width:0}]},form:{emptyConfig:!1,fields:[{name:"DESCRICAO",required:!0},{name:"TIPOAPRES",required:!0},{name:"TIPOACESSO",required:!0},{name:"LINK"},{name:"NOMEARQUIVO"}]}},x=class{constructor(e){t(this,e),this.back=i(this,"back",7),this.handleTaskbarClick=async({detail:t})=>{if(["DOWNLOAD","LINK"].includes(t))return this.downloadAttachment(this._currentDataUnit.getSelectedRecord());"Attach"===this.fetcherType&&["SAVE"].includes(t)&&this._currentDataUnit.isDirty()&&await this._currentDataUnit.setFieldValue("REGISTER_KEY",this.registerKey)},this.handleBack=()=>{this._currentDataUnit.cancelEdition().then((t=>{t&&this.back.emit()}))},this.handleFinish=()=>{if(!this._currentDataUnit.isDirty())return this.back.emit();this.validateAnexoSistema()&&this._currentDataUnit.saveData().then((()=>{this.showFinishedToast(),this.back.emit()}))},this.fetcherType=void 0,this.fetcher=void 0,this.dataUnit=void 0,this.dataUnitBuilder=void 0,this.registerKey=void 0,this.entityName=void 0,this.messagesBuilder=void 0,this._currentFetcher=void 0,this._currentDataUnit=void 0,this.crudConfig=void 0}async registerKeyWatcher(t,i){var e;null==this._currentDataUnit&&this.loadAttachmentDataUnit(),i!==t&&(this._currentFetcher instanceof _&&(this._currentFetcher.registerKey=t),await(null===(e=this._currentDataUnit)||void 0===e?void 0:e.loadData()))}getAnexoSistemaFetcherInstance(){var t;const i=new _(this.entityName,null===(t=this._currentDataUnit)||void 0===t?void 0:t.name);return i.registerKey=this.registerKey,i}async initAttach(){var t,i,e,a,s;if(this.fetcherType||this.registerKey){if(this.fetcherType||(this.fetcherType="AnexoSistema"),this.returnToGridMode(),"AnexoSistema"===this.fetcherType)return this._currentFetcher=this.getAnexoSistemaFetcherInstance(),null===(t=this._currentDataUnitBuilder)||void 0===t||t.initLoaders(this._currentDataUnit,this._currentFetcher,this.returnToGridMode.bind(this)),void await(null===(i=this._currentDataUnit)||void 0===i?void 0:i.loadData());if("Attach"===this.fetcherType&&(null===(e=this.registerKey)||void 0===e?void 0:e.split("_").length)>1)return;await(null===(a=this._currentDataUnit)||void 0===a?void 0:a.loadMetadata()),await(null===(s=this._currentDataUnit)||void 0===s?void 0:s.loadData(void 0,void 0,!0,this.registerKey))}}getMessage(t,i){if(this.messagesBuilder)return this.messagesBuilder.getMessage(t,i)}showFinishedToast(){this._application.info(this.getMessage("snkAttach.finishedMessage"),{iconName:"check"})}downloadAttachment(t){if(!t)throw new Error("Nenhum registro selecionado");t.LINK?window.open(`${t.LINK}`):this._currentFetcher.getDownloadKey(t).then((({chave:i})=>{var e;let a=!1;(null===(e=null==t?void 0:t.ARQUIVO)||void 0===e?void 0:e.endsWith(".pdf"))||(a=!0),window.open(`/mge/visualizadorArquivos.mge?chaveArquivo=${i.valor}${a?"&forcarDownload=S":""}`)}))}returnToGridMode(){var t;null===(t=this._currentDataUnit)||void 0===t||t.clearSelection(),this._crudElement&&this._crudElement.goToView(A.GRID)}async loadAttachmentDataUnit(){try{switch(this.fetcherType){case"AnexoSistema":await this.loadAnexoSistema();break;case"Attach":await this.loadAttach();break;default:this._currentFetcher=this.fetcher,this._currentDataUnit=this.dataUnit,this._currentDataUnitBuilder=this.dataUnitBuilder}}catch(t){throw new Error("There was an error while creating the data unit")}}async loadAnexoSistema(){var t,i;this._currentDataUnit=(new u).getDataUnit("AnexoSistema","br.com.sankhya.core.v3.anexoSistema"),this._currentFetcher=this.getAnexoSistemaFetcherInstance(),this._currentDataUnit.metadata||(await(null===(t=this._currentDataUnit)||void 0===t?void 0:t.loadMetadata()),this.crudConfig=Object.assign({},R)),this.initDataUnitLoaders(),this._currentDataUnit.addFilterProvider({getFilter:()=>this._currentDataUnitBuilder.getFilters(this.registerKey)}),this._currentDataUnit.addInterceptor({interceptAction:t=>this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit,t,this._crudElement)}),await(null===(i=this._currentDataUnit)||void 0===i?void 0:i.loadData()),this.disableEditFieldsNotInForm()}async loadAttach(){var t,i;this._currentFetcher=new w,this._currentDataUnit=new d(m.IN_MEMORY_DATA_UNIT_NAME),this._currentDataUnit.pageSize=150,this.initDataUnitLoaders(),this._currentDataUnit.addInterceptor({interceptAction:t=>{var i;return t.type===n.METADATA_LOADED&&(this.crudConfig=Object.assign({},E),null===(i=this._crudElement)||void 0===i||i.updateConfig()),this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit,t,this._crudElement)}}),this._currentDataUnit.metadata||(await(null===(t=this._currentDataUnit)||void 0===t?void 0:t.loadMetadata()),this.crudConfig=Object.assign({},E),await(null===(i=this._currentDataUnit)||void 0===i?void 0:i.loadData(void 0,void 0,!0,this.registerKey)),this.disableEditFieldsNotInForm())}initDataUnitLoaders(){var t,i;"AnexoSistema"===this.fetcherType&&(this._currentFetcher=this.getAnexoSistemaFetcherInstance(),this._currentDataUnitBuilder=new y(this.entityName,this.getMessage.bind(this)),null===(t=this._currentDataUnitBuilder)||void 0===t||t.initLoaders(this._currentDataUnit,this._currentFetcher,this.returnToGridMode.bind(this))),"Attach"===this.fetcherType&&(this._currentFetcher=new w,this._currentDataUnitBuilder=new g(this.getMessage.bind(this)),null===(i=this._currentDataUnitBuilder)||void 0===i||i.initLoaders(this._currentDataUnit,this._currentFetcher,(async()=>{this.returnToGridMode(),await this._currentDataUnit.loadData(void 0,void 0,!0,this.registerKey)})))}disableEditFieldsNotInForm(){var t;null===(t=this.crudConfig)||void 0===t||t.grid.columns.forEach((t=>{var i;const e=t.name;(null===(i=this.crudConfig)||void 0===i?void 0:i.form.fields.some((t=>t.name===e)))||this._currentDataUnit.disableField(e)}))}validateAnexoSistema(){var t;if(this._currentFetcher instanceof _)try{let i=this._currentDataUnit.getSelectedRecord();i=Object.assign(Object.assign({},i),{NOMEARQUIVO:null===(t=i.NOMEARQUIVO)||void 0===t?void 0:t[0]}),this._currentFetcher.validateFields(i)}catch(t){if(t.message===c.LINK_AND_FILE_AT_THE_SAME_TIME)return this._application.alert(this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.title"),this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.message")),!1;if(t.message===c.ANY_LINK_OR_FILE_FILLED)return this._application.alert(this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.title"),this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.message")),!1}return!0}async componentWillLoad(){this._application=a.getContextValue("__SNK__APPLICATION__"),await this.initAttach()}componentWillRender(){this.fetcherType||(this.fetcherType="AnexoSistema"),null==this._currentDataUnit&&this.loadAttachmentDataUnit()}async handleOnDataStateChange({detail:t}){"Attach"===this.fetcherType&&(t.insertionMode?this._currentDataUnit.enableField("DESCRICAO"):this._currentDataUnit.disableField("DESCRICAO"),await this._currentDataUnit.loadMetadata())}render(){var t,i;return this._currentDataUnit?e("main",{class:"snk-attach__main"},e("header",{class:"snk-attach__header"},e("snk-simple-bar",{onExit:this.handleBack,messagesBuilder:this.messagesBuilder},e("div",{slot:"rightSlot"},e("ez-button",{class:"ez-button--primary",label:this.getMessage("snkAttach.finish"),onClick:this.handleFinish})))),e("div",{class:"snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column"},e("div",{class:"ez-box__container"},e("snk-simple-crud",{ref:t=>this._crudElement=t,dataUnit:this._currentDataUnit,taskbarManager:P(),gridConfig:null===(t=this.crudConfig)||void 0===t?void 0:t.grid,formConfig:null===(i=this.crudConfig)||void 0===i?void 0:i.form,useCancelConfirm:!1,onActionClick:this.handleTaskbarClick,messagesBuilder:this.messagesBuilder,onDataStateChange:this.handleOnDataStateChange.bind(this),multipleSelection:!0},e("div",{slot:"snkSimpleCrudHeader"},e("div",{class:"ez-flex ez-flex--column"},e("span",{class:"ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium"},this.getMessage("snkAttach.title")),e("span",{class:"ez-text ez-text--medium ez-text--secondary ez-padding-bottom--medium"},this.getMessage("snkAttach.description")))))))):null}static get watchers(){return{registerKey:["registerKeyWatcher"]}}};x.style=".snk-attach__header.sc-snk-attach,.snk-attach__crud-section.sc-snk-attach{padding:0 var(--space--lg)}.snk-attach__file-info.sc-snk-attach{padding:var(--space--small);max-width:50%}.snk-attach__main.sc-snk-attach{height:85%}.ez-box__container.sc-snk-attach{height:100%}";export{x as snk_attach}
@@ -1 +1 @@
1
- import{r as t,c as i,h as e,H as s,g as r}from"./p-d2d301a6.js";import{ElementIDUtils as o,ObjectUtils as l}from"@sankhyalabs/core";import{F as a}from"./p-ff1990ad.js";import{E as n}from"./p-1a68fb59.js";import{C as d}from"./p-13f17dab.js";import{F as h}from"./p-d9804798.js";import"./p-01512409.js";import"./p-5a7e18f4.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";const p=class{constructor(e){t(this,e),this.filterChange=i(this,"filterChange",7),this.editPersonalizedFilter=i(this,"editPersonalizedFilter",7),this.addPersonalizedFilter=i(this,"addPersonalizedFilter",7),this.filterItem=void 0,this.configName=void 0,this.resourceID=void 0}observeFilterItem(t){var i,e;this._editor&&(this._editor.config=t),null===(e=null===(i=this._editor)||void 0===i?void 0:i.reloadList)||void 0===e||e.call(i),this.filterChange.emit(t)}getContentEditorConfig(){const t={presentationMode:n.MODAL};switch(this.filterItem.type){case a.BINARY_SELECT:return{tag:"snk-filter-binary-select",props:t};case a.MULTI_SELECT:return{tag:"snk-filter-multi-select"};case a.PERIOD:return{tag:"snk-filter-period",props:t};case a.SEARCH:return{tag:"snk-filter-search"};case a.NUMBER:return{tag:"snk-filter-number",props:t};case a.PERSONALIZED:return this.buildSnkFilterPersonalizedProps();case a.CHECK_BOX_LIST:return{tag:"snk-filter-checkbox-list",props:t};case a.MULTI_LIST:return{tag:"snk-entity-list",props:{maxHeightList:"640px",rightListSlotBuilder:t=>this.buildRightSlot(t)}}}return{tag:"snk-filter-text"}}buildSnkFilterPersonalizedProps(){return{tag:"snk-personalized-filter-editor",props:{onEditFilter:t=>this.editPersonalizedFilter.emit(t.detail),onAddFilter:()=>this.addPersonalizedFilter.emit()}}}isVisible(t){return!!this.filterItem.visible||void 0!==t}updateFilterValue(t){const i=void 0!==(null==t?void 0:t.value)?t.value:t;this.filterItem=Object.assign(Object.assign({},this.filterItem),null!=this.filterItem.groupedItems?{visible:i>0,value:i,groupedItems:t.items}:{value:this.filterItem.type===(a.SEARCH||a.CHECK_BOX_LIST)?t:i,visible:this.isVisible(i)})}handleDeleteFilter(t,i){i===a.PERSONALIZED&&d.removePersonalizedFilter(t,this.resourceID,this.configName)}componentDidLoad(){if(this._element){o.addIDInfo(this._element);const t=this._element.getAttribute(o.DATA_ELEMENT_ID_ATTRIBUTE_NAME);this._idContentEditor=`${t}_${this.filterItem.id}`}}buildRightSlot(t){return e("ez-icon",{iconName:"delete",onClick:()=>this.removeValueFromConfig(t)})}removeValueFromConfig(t){var i,e,s;const r=null===(e=null===(i=this.filterItem)||void 0===i?void 0:i.value)||void 0===e?void 0:e.findIndex((({id:i})=>i===t.id)),o=l.copy(this.filterItem);null===(s=null==o?void 0:o.value)||void 0===s||s.splice(r,1),this.updateFilterValue(o.value)}canShowDetailModal(){const{CUSTOM_FILTER:t,OTHER_FILTERS:i}=h;return![t,i].includes(this.filterItem.filterType)&&this.filterItem.type!==a.BINARY_SELECT}render(){const{tag:t,props:i}=this.getContentEditorConfig();return e(s,null,e("div",{class:"ez-flex ez-flex--column grow"},this.canShowDetailModal()&&e("div",{class:"col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center"},e("div",{class:"ez-title ez-title--small ez-title--primary grow"},this.filterItem.detailModal)),e(t,Object.assign({ref:t=>this._editor=t,config:this.filterItem,value:this.filterItem.value,onValueChanged:t=>this.updateFilterValue(t.detail),"data-element-id":this._idContentEditor},i))))}get _element(){return r(this)}static get watchers(){return{filterItem:["observeFilterItem"]}}};p.style=".grow{flex-grow:1}.gap{gap:4px}";export{p as snk_filter_modal_item}
1
+ import{r as t,c as i,h as e,H as s,g as r}from"./p-d2d301a6.js";import{ElementIDUtils as o,ObjectUtils as l}from"@sankhyalabs/core";import{F as a}from"./p-ff1990ad.js";import{E as n}from"./p-1a68fb59.js";import{C as d}from"./p-3fcb90d6.js";import{F as h}from"./p-d9804798.js";import"./p-22ddc147.js";import"./p-5a7e18f4.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";const c=class{constructor(e){t(this,e),this.filterChange=i(this,"filterChange",7),this.editPersonalizedFilter=i(this,"editPersonalizedFilter",7),this.addPersonalizedFilter=i(this,"addPersonalizedFilter",7),this.filterItem=void 0,this.configName=void 0,this.resourceID=void 0}observeFilterItem(t){var i,e;this._editor&&(this._editor.config=t),null===(e=null===(i=this._editor)||void 0===i?void 0:i.reloadList)||void 0===e||e.call(i),this.filterChange.emit(t)}getContentEditorConfig(){const t={presentationMode:n.MODAL};switch(this.filterItem.type){case a.BINARY_SELECT:return{tag:"snk-filter-binary-select",props:t};case a.MULTI_SELECT:return{tag:"snk-filter-multi-select"};case a.PERIOD:return{tag:"snk-filter-period",props:t};case a.SEARCH:return{tag:"snk-filter-search"};case a.NUMBER:return{tag:"snk-filter-number",props:t};case a.PERSONALIZED:return this.buildSnkFilterPersonalizedProps();case a.CHECK_BOX_LIST:return{tag:"snk-filter-checkbox-list",props:t};case a.MULTI_LIST:return{tag:"snk-entity-list",props:{maxHeightList:"640px",rightListSlotBuilder:t=>this.buildRightSlot(t)}}}return{tag:"snk-filter-text"}}buildSnkFilterPersonalizedProps(){return{tag:"snk-personalized-filter-editor",props:{onEditFilter:t=>this.editPersonalizedFilter.emit(t.detail),onAddFilter:()=>this.addPersonalizedFilter.emit()}}}isVisible(t){return!!this.filterItem.visible||void 0!==t}updateFilterValue(t){const i=void 0!==(null==t?void 0:t.value)?t.value:t;this.filterItem=Object.assign(Object.assign({},this.filterItem),null!=this.filterItem.groupedItems?{visible:i>0,value:i,groupedItems:t.items}:{value:this.filterItem.type===(a.SEARCH||a.CHECK_BOX_LIST)?t:i,visible:this.isVisible(i)})}handleDeleteFilter(t,i){i===a.PERSONALIZED&&d.removePersonalizedFilter(t,this.resourceID,this.configName)}componentDidLoad(){if(this._element){o.addIDInfo(this._element);const t=this._element.getAttribute(o.DATA_ELEMENT_ID_ATTRIBUTE_NAME);this._idContentEditor=`${t}_${this.filterItem.id}`}}buildRightSlot(t){return e("ez-icon",{iconName:"delete",onClick:()=>this.removeValueFromConfig(t)})}removeValueFromConfig(t){var i,e,s;const r=null===(e=null===(i=this.filterItem)||void 0===i?void 0:i.value)||void 0===e?void 0:e.findIndex((({id:i})=>i===t.id)),o=l.copy(this.filterItem);null===(s=null==o?void 0:o.value)||void 0===s||s.splice(r,1),this.updateFilterValue(o.value)}canShowDetailModal(){const{CUSTOM_FILTER:t,OTHER_FILTERS:i}=h;return![t,i].includes(this.filterItem.filterType)&&this.filterItem.type!==a.BINARY_SELECT}render(){const{tag:t,props:i}=this.getContentEditorConfig();return e(s,null,e("div",{class:"ez-flex ez-flex--column grow"},this.canShowDetailModal()&&e("div",{class:"col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center"},e("div",{class:"ez-title ez-title--small ez-title--primary grow"},this.filterItem.detailModal)),e(t,Object.assign({ref:t=>this._editor=t,config:this.filterItem,value:this.filterItem.value,onValueChanged:t=>this.updateFilterValue(t.detail),"data-element-id":this._idContentEditor},i))))}get _element(){return r(this)}static get watchers(){return{filterItem:["observeFilterItem"]}}};c.style=".grow{flex-grow:1}.gap{gap:4px}";export{c as snk_filter_modal_item}
@@ -0,0 +1 @@
1
+ import{D as t}from"./p-5a7e18f4.js";import"./p-ef076eea.js";import{SortMode as i,ApplicationContext as e,UserInterface as s,DateUtils as r,ObjectUtils as n,StringUtils as o,NumberUtils as a,DataType as l}from"@sankhyalabs/core";import{D as u}from"./p-0f3698af.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import{UserInterface as d}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{P as c}from"./p-7e0a0aae.js";import"./p-ff1990ad.js";import"./p-22ddc147.js";import"./p-1d19a5b0.js";import h from"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource";import{h as v}from"./p-d2d301a6.js";import{g as f}from"./p-7dd49d15.js";import{I as m}from"./p-8f3f2306.js";class p{static assertDefaultSorting(t,e){t&&e&&(e.defaultSorting=t.columns.filter((t=>null!=t.ascending)).sort(((t,i)=>t.orderIndex-i.orderIndex)).map((({name:t,ascending:s})=>{const{dataType:r}=e.getField(t);return{field:t,dataType:r,mode:s?i.ASC:i.DESC}})))}static parseCrudResults(t,i){Array.isArray(t)||(t=[t]);const e=[];for(const s of t){let t={fields:new Map};for(let e in s){let r=s[e];if(r.hasOwnProperty("$")&&t.fields.set(e,r.$),i)break}e.push(t)}return e.length>1?e:e[0]}static find(i,s,r,n=!0,o,a){let l=[],u=[],d={},c=e.getContextValue("__SNK__APPLICATION__");if(s){if(!Array.isArray(s))throw new Error(c.messagesBuilder.getMessage("crudUtils.errorArray",null));s.forEach((t=>{l.push({name:t})}))}if(r)for(const t in r)r.hasOwnProperty(t)&&u.push({nome:t,valor:r[t]});o&&(d={expression:{$:o}});let h={requestBody:{entity:{name:i,criterio:u,fields:{field:l},literalCriteria:d,orderby:a}}};return new Promise((i=>{t.get().callServiceBroker("mge@crud.find",JSON.stringify(h)).then((t=>{var e;let s=null===(e=t.entidades)||void 0===e?void 0:e.entidade;s||i(null);const r=this.parseCrudResults(s,n);i(r)}))}))}}class b{setDataUnit(t){this._dataUnit=t}setApplication(t){this._application=t}formatLabel(t,i){const{userInterface:e}=this._dataUnit.getField(t);return e===s.DATETIME?r.formatDate(this._dataUnit.valueFromString(t,i)):String(this._dataUnit.getFormattedValue(t,i))}async getStaticOptions(t){return Promise.resolve(null==t?void 0:await c.getDistinct(this._dataUnit,t))}fetchData(t,i){return new Promise((e=>{this._application.executeSelectDistinct(this._dataUnit,i,t).then((t=>{e(t.map((t=>this._dataUnit.getField(i).userInterface===s.SEARCH?Object.assign(Object.assign({},JSON.parse(t)),{check:!0}):{value:t,label:this.formatLabel(i,t),check:!0})))}))}))}sortItems(t,i){return h.defaultSorterMultSelectionOption(this._dataUnit,t,i)}}class y{setGrid(t){this._grid||(this._grid=t,this.refreshSelectedRows())}setDataState(t){this._dataState&&n.equals(null==t?void 0:t.metadataByRow,this._dataState.metadataByRow)||(this._dataState=t,this.refreshSelectedRows())}format(t,i,e){var s;if(o.isEmpty(t))return t;const r=null===(s=this._dataState)||void 0===s?void 0:s.metadataByRow.get(e),n=null==r?void 0:r.getProp("rm_precision",i.name);if(n||0===n)return a.format(t,n,n);if(null==i?void 0:i.props){const e=null==i?void 0:i.props.get("precision"),s=null==i?void 0:i.props.get("prettyPrecision");if(void 0!==e&&void 0!==s)return a.format(t,e,s)}return t}refreshSelectedRows(){var t;null===(t=this._grid)||void 0===t||t.refreshSelectedRows()}}class g{constructor(t,i){this.MAX_WIDTH_COD=60,this.MIN_WIDTH_COD=10,this.DEFAULT_FONT_SIZE=13,this.dataUnit=t,this.grid=i}async getColumnsMetadata(){var t;return this.columnsState=await(null===(t=this.grid)||void 0===t?void 0:t.getColumnsState())||[],await this.buildColumnsMetadata(this.columnsState)}getColumnsState(){return this.columnsState}async buildColumnsMetadata(t){var i,e,s;const r=[];for(const n of t){if(n.hidden&&"RECDESP"!==n.name)continue;const t=null===(i=this.dataUnit)||void 0===i?void 0:i.getField(n.name),o=await this.grid.getCustomValueFormatter(n.name),a=(null==t?void 0:t.userInterface)===d.SEARCH,u=a?"Cód. ":n.label;let c,h={id:n.name,label:u,width:a?u.length*this.DEFAULT_FONT_SIZE:n.width,type:null==t?void 0:t.dataType,userInterface:null==t?void 0:t.userInterface,customFormatter:o};if(a){if(null!=(null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e.DESCRIPTIONFIELD)){const i=null===(s=null==t?void 0:t.properties)||void 0===s?void 0:s.DESCRIPTIONENTITY,e=t.properties.mergedFrom;c={id:`${e?e+".":""}${t.properties.ENTITYNAME}.${t.properties.DESCRIPTIONFIELD}`,label:i,width:a&&i?i.length*this.DEFAULT_FONT_SIZE-60:n.width,type:l.TEXT,userInterface:d.LONGTEXT,descriptionFrom:t.name}}if(c){const t=this.getWidthByMetaData(null==n?void 0:n.width,null==h?void 0:h.width,null==c?void 0:c.width);h=Object.assign(Object.assign({},h),{width:null==t?void 0:t.codWidth}),c=Object.assign(Object.assign({},c),{width:null==t?void 0:t.descWidth,label:(null==c?void 0:c.label)||(null==n?void 0:n.label)})}}r.push(h),c&&r.push(c)}return r||[]}getWidthByMetaData(t,i,e){const s=i+e,r=e/s;let n=Math.round(t*(i/s)),o=Math.round(t*r);return n>this.MAX_WIDTH_COD?(n=this.MAX_WIDTH_COD,o=t-this.MAX_WIDTH_COD):n<this.MIN_WIDTH_COD&&(n=this.MIN_WIDTH_COD,o=t-this.MIN_WIDTH_COD),{codWidth:n,descWidth:o}}}class w{constructor(t,i,e){this.snkApplication=t,this.keyConfigEnableContinuousInsert=`${i}enableContinuousInsert${e||""}`}handleSaveConfig(t){return this.snkApplication.saveConfig(this.keyConfigEnableContinuousInsert,t)}getConfig(){return this.snkApplication.getConfig(this.keyConfigEnableContinuousInsert).then((t=>!!t&&"true"==t)).catch((()=>!1))}actionContinuousInsert(t,i){return{value:o.generateUUID(),label:t?"Desativar inclusão contínua":"Ativar inclusão contínua",enabled:!0,itemBuilder:()=>v("div",{class:"ez-dropdown__item-wrapper",onClick:i},v("span",{class:"ez-dropdown__item-label"},t?"Desativar inclusão contínua":"Ativar inclusão contínua"))}}}class j extends g{getSelectedNumber(){return this.dataUnit.getSelectionInfo().length}getTotalRecords(){var t,i,e;const{total:s}=(null===(t=this.dataUnit)||void 0===t?void 0:t.getPaginationInfo())||{};return null!=s?s:null===(e=null===(i=this.dataUnit)||void 0===i?void 0:i.records)||void 0===e?void 0:e.length}getSelectedIDs(){return f(this.dataUnit)}getRecordID(){var t,i,e;return null===(e=null===(i=null===(t=this.dataUnit)||void 0===t?void 0:t.records)||void 0===i?void 0:i[0])||void 0===e?void 0:e.__record__id__}async getRecords(t){if(0===this.dataUnit.records.length)return[];switch(t){case m.ALL:return this.dataUnit.getSelectionInfo().getAllRecords();case m.SELECTION:return this.resolveRecordsFromSelection();case m.PAGE:return this.dataUnit.records;default:return this.resolveRecordsFromSelection()}}resolveRecordsFromSelection(){const t=this.dataUnit.getSelectionInfo(),i=t.isEmpty()||t.isAllRecords()?t.getAllRecords():t.records;return i.length?i:this.dataUnit.records}getHiddenOptions(){return[u.EXPORT_BY_EMAIL,u.EXPORT_PDF_TO_EMAIL,u.EXPORT_XLS_TO_EMAIL,u.EXPORT_PAGE_TO_PDF,u.EXPORT_PAGE_TO_XLS]}formatValue(t,i){const{id:e,descriptionFrom:r}=i,n=t[r||e];if(null==n)return"";if(null!=r)return n.label;if(this.dataUnit.getField(e).userInterface===s.SEARCH)return n.value;if(i.customFormatter){const e=this.getColumnsState().find((t=>i.id===t.name));return i.customFormatter.format(n,e,t.__record__id__)}return this.dataUnit.getFormattedValue(e,n)}}export{g as C,y as R,b as S,p as a,w as b,j as c}
@@ -0,0 +1 @@
1
+ import{r as i,c as t,h as s,g as e}from"./p-d2d301a6.js";import{StringUtils as n,ApplicationContext as o,ObjectUtils as h,DataType as a,UserInterface as r,JSUtils as d,FloatingManager as l,KeyboardManager as u,ElementIDUtils as c}from"@sankhyalabs/core";import{CSSVarsUtils as m}from"@sankhyalabs/ezui/dist/collection/utils";import{V as p,S as v}from"./p-1d19a5b0.js";import{T as f}from"./p-517efc93.js";import"./p-5a7e18f4.js";import"./p-ef076eea.js";import{S as g,R as C,b,a as k,c as S}from"./p-e289826a.js";import{P as y}from"./p-0f3698af.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{I as w}from"./p-7e0a0aae.js";import"./p-ff1990ad.js";import{F as E}from"./p-22ddc147.js";import{T as _,b as T,o as I}from"./p-23736d75.js";import{C as F}from"./p-3fcb90d6.js";import{S as R}from"./p-3ce68be5.js";import{s as z}from"./p-5e9fbd76.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource";import"./p-7dd49d15.js";import"./p-8f3f2306.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";const M=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","MORE_OPTIONS"],D=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER","MORE_OPTIONS"],O=class{constructor(s){i(this,s),this.dataStateChange=t(this,"dataStateChange",3),this.dataUnitReady=t(this,"dataUnitReady",3),this.actionClick=t(this,"actionClick",7),this.formItemsReady=t(this,"formItemsReady",7),this.configuratorSave=t(this,"configuratorSave",7),this.configuratorCancel=t(this,"configuratorCancel",7),this._multiSelectionListDataSource=new g,this._keyDownHandler=i=>this.keyDownListener(i),this._formConfigFetcher=new E,this._customEditors=new Map,this._customRenders=new Map,this._taskbarProcessor=new _({"snkSimpleCrudTaskbar.form_regular":this.getButtons(!1,[f.GRID_MODE],!0),"snkSimpleCrudTaskbar.grid_regular":this.getButtons(!1,[f.DATA_EXPORTER,f.FORM_MODE]),"snkSimpleCrudTaskbar.form_selected":this.getButtons(!0,[f.GRID_MODE],!0),"snkSimpleCrudTaskbar.grid_selected":this.getButtons(!0,[f.DATA_EXPORTER,f.FORM_MODE]),"snkSimpleCrudTaskbar.finish_edition":this.getFinishEditionButtonsCallback.bind(this)}),this._showPopUpGridConfig=!1,this._currentViewMode=p.GRID,this._config=void 0,this._fieldToGetFocus=void 0,this._customContainerId=`SNK-SIMPLE-CRUD-CUSTOM-CONTAINER-${n.generateUUID()}`,this.enableLockManagerLoadingComp=!1,this.enableLockManagerTaskbarClick=!1,this.dataState=void 0,this.dataUnit=void 0,this.entityName=void 0,this.mode=v.SERVER,this.gridConfig=void 0,this.formConfig=void 0,this._formFields=[],this._fieldsProps=new Map,this.enableContinuousInsert=!1,this.multipleSelection=void 0,this.useCancelConfirm=!0,this.pageSize=150,this.resourceID=void 0,this.enableGridInsert=!1,this.paginationCounterMode="auto",this.taskbarManager=void 0,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.actionsList=void 0,this.configName=void 0,this.showConfiguratorButtons=void 0,this.gridLegacyConfigName=void 0,this.formLegacyConfigName=void 0,this.ignoreReadOnlyFormFields=!1,this.autoFocus=!0,this.domainMessagesBuilder=void 0,this.autoLoad=void 0,this.outlineMode=!1}async addCustomEditor(i,t){if(this._grid&&this._form)return this._grid.addCustomEditor(i,t),void this._form.addCustomEditor(i,t);const s=new Map(this._customEditors);s.set(i,t),this._customEditors=s}async addGridCustomRender(i,t){if(this._grid)return void this._grid.addGridCustomRender(i,t);const s=new Map(this._customRenders);s.set(i,t),this._customRenders=s}handleResourceIDChanged(i,t){n.isEmpty(i)||i!==t&&(this.loadFormConfig(!0),this.loadGridConfig(!0))}async addCustomValueFormatter(i,t){this._grid.addCustomValueFormatter(i,t)}async removeCustomValueFormatter(i){this._grid.removeCustomValueFormatter(i)}async setFieldProp(i,t,s){const e=new Map(this._fieldsProps),n=this._fieldsProps.get(i);e.set(i,Object.assign(Object.assign({},n),{[t]:s})),this._fieldsProps=e}getFinishEditionButtonsCallback(){const i=["CANCEL","SAVE"];return this.enableGridInsert&&this._currentViewMode!==p.ATTACHMENT&&i.push(this._currentViewMode===p.GRID?f.FORM_MODE:f.GRID_MODE),i}getButtons(i,t,s){let e=i?D:M;return s&&(e=e.filter((i=>i!==f.REFRESH))),this.addConfigButton(this.resolveInMemoryBtns(e).concat(t))}addConfigButton(i){return void 0===this.configName?i:i.concat(f.CONFIGURATOR)}get application(){return o.getContextValue("__SNK__APPLICATION__")}resolveInMemoryBtns(i){const t=[...i];return this.mode===v.IN_MEMORY&&t.splice(1,1),t}async goToView(i){this._currentViewMode=i,this._viewStack&&this._viewStack.show(i)}actionClickListener(i){const t=i.detail;t===f.CONFIGURATOR?this._snkConfigurator.open():t===f.GRID_MODE?this.goToView(p.GRID):t===f.FORM_MODE&&this.goToView(p.FORM),i.stopPropagation()}async onChangeEntityName(i){if(this.dataUnit)return;const t=o.getContextValue("__SNK__APPLICATION__");this.dataUnit=await t.getDataUnit(i,null,null,this.configName)}onModeChange(){this.mode==v.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(i,t){this.handleDataStateChange(i,t)}async observeFormLegacy(i,t){await this.handleUpdateFormLegacyConfig(i,t)}async observeGridLegacy(i,t){await this.handleUpdateGridLegacyConfig(i,t)}async handleDataStateChange(i,t){h.objectToString(t)!=h.objectToString(i)&&this.dataStateChange.emit(i),await this.processRmPrecision()}async processRmPrecision(){var i,t;const s=await this._snkDataUnit.getFieldsWithRmPrecision();for(const e of s||[]){if(!e)continue;const s=null===(t=null===(i=this.dataState)||void 0===i?void 0:i.rowMetadata)||void 0===t?void 0:t.getProp("rm_precision",e);(s||0===s)&&(await this.setFieldProp(e,"precision",s),await this.setFieldProp(e,"prettyPrecision",s))}this._rmPrecisionCustomValueFormatter.setDataState(this.dataState)}async handleUpdateGridLegacyConfig(i,t){null!=i&&i!=t&&this._gridConfigAlreadyLoaded&&await this.loadGridConfig(!0)}async handleUpdateFormLegacyConfig(i,t){null!=i&&i!=t&&this._formConfigAlreadyLoaded&&this.loadFormConfig(!0)}openConfig(i){this._snkConfigurator.close(),i===p.GRID?this.openGridConfig():i===p.FORM&&this.openFormConfig()}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._showPopUpGridConfig=!0}))}async openFormConfig(){(this.formLegacyConfigName||this.configName)&&await this._snkSimpleFormConfig.show()}addGridLegacyConfigName(){this.gridLegacyConfigName&&this.configName&&F.addGridLegacyConfig(this.configName,this.gridLegacyConfigName)}loadGridConfig(i){if(void 0!==this.configName&&(null==this.gridConfig&&!this._gridConfigAlreadyLoaded||i))return this.addGridLegacyConfigName(),this._gridConfigAlreadyLoaded=!0,new Promise(((i,t)=>{F.loadGridConfig(this.configName,this.resolveResourceID()).then((t=>{this.setGridConfig(t),i()})).catch((i=>{t(i)}))}))}formConfigIsLoaded(){return null!=this.formConfig||this._formConfigAlreadyLoaded}async loadFormConfig(i=!1,t=!1){if(void 0===this.configName)return;if(null==this._formConfigManager&&(this._formConfigManager=new R(this.configName,this.resolveResourceID(),void 0,this.dataUnit),this._formConfigManager.setConfig(this.formConfig)),this.formConfigIsLoaded()&&!i)return;this._formConfigAlreadyLoaded=!0;let s=await this._formConfigFetcher.fetchLegacyConfigurableForm(this.formLegacyConfigName);if(null!=s)return this._formConfigManager.setConfig(s),void this.setFormConfig(s,t);this.setFormConfig(await this._formConfigManager.loadConfig())}async componentWillRender(){this._resourceID=await this.application.getResourceID(),this.dataExporterProviderStore(),this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,this.getTaskBarDisabledButtons()),void 0!==this.configName&&(null!=this.gridConfig||this._gridConfigAlreadyLoaded||(await this.addGridLegacyConfigName(),this.loadGridConfig(),this.loadFormConfig()))}componentDidRender(){this._rmPrecisionCustomValueFormatter.setGrid(this._grid),this.addGridCustomValueFormattters(),this.setFieldsProps(),this.setCustomRenders(),this.setCustomEditors()}componentWillLoad(){this.processMetadata(),this.onModeChange(),this.configDatasource(),this._rmPrecisionCustomValueFormatter=new C,this._continuousInsertUtils=new b(this.application,this.resolveResourceID(),this.configName),this.enableGridInsert&&this._continuousInsertUtils.getConfig().then((i=>this.enableContinuousInsert=i))}componentDidLoad(){m.applyVarsGrid(this._element,this._grid),this.initKeyboardManager()}setCustomRenders(){if(this._grid)for(const[i,t]of this._customRenders)this._grid.addGridCustomRender(i,t),this._customRenders.delete(i)}setCustomEditors(){if(this._grid&&this._form)for(const[i,t]of this._customEditors)this._grid.addCustomEditor(i,t),this._form.addCustomEditor(i,t),this._customEditors.delete(i)}configDatasource(){this._multiSelectionListDataSource.setApplication(this.application),this._multiSelectionListDataSource.setDataUnit(this.dataUnit)}setFieldsProps(){if(this._form)for(const[i,t]of this._fieldsProps){for(const s in t)this._form.setFieldProp(i,s,t[s]);this._fieldsProps.delete(i)}}getTaskBarId(){var i,t;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(t=this.dataState)||void 0===t?void 0:t.selectionInfo)&&!this.dataState.selectionInfo.isAllRecords()&&this.dataState.selectionInfo.length>0?this._currentViewMode===p.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===p.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new w(this._metadata,void 0,{autoLoad:this.autoLoad}),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(i){return this._inMemoryLoader?this._inMemoryLoader.metadata=i:this.dataUnit&&(this.dataUnit.metadata=i),Promise.resolve()}setRecords(i){return this._inMemoryLoader?this._inMemoryLoader.records=i:this.dataUnit&&(this.dataUnit.records=i),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}async openConfigurator(){var i;null===(i=this._snkConfigurator)||void 0===i||i.open()}async closeConfigurator(){var i;null===(i=this._snkConfigurator)||void 0===i||i.close()}async updateConfig(){null==this._formConfigManager&&(this._formConfigManager=new R(this.configName,this.resolveResourceID())),this._formConfigManager.setConfig(this.formConfig)}processMetadata(){const i=this._element.querySelectorAll("snk-field-metadata"),t=[],s={fields:[],emptyConfig:!1};i.forEach((i=>{const e={name:i.getAttribute("name")||i.getAttribute("label"),label:i.getAttribute("label"),dataType:a[i.getAttribute("dataType")]||a.TEXT,userInterface:r[i.getAttribute("userInterface")]||r.SHORTTEXT,readOnly:"true"==i.getAttribute("readOnly"),required:"true"==i.getAttribute("required"),tab:i.getAttribute("tab")||void 0,visible:"false"!=i.getAttribute("visible")};s.fields.push({name:e.name,tab:e.tab,visible:e.visible}),t.push(e)})),t.length>0&&(this.formConfig||(this.formConfig=s),this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:t})}addGridCustomValueFormattters(){var i,t,s;const e=(null===(i=this._metadata)||void 0===i?void 0:i.fields)||(null===(s=null===(t=this.dataUnit)||void 0===t?void 0:t.metadata)||void 0===s?void 0:s.fields);if(!e)return;const n=[];e.forEach((i=>{var t;(null===(t=i.properties)||void 0===t?void 0:t.rm_precision)&&!n.includes(i.name)&&n.push(i.name)})),n.forEach((i=>{this.addCustomValueFormatter(i,this._rmPrecisionCustomValueFormatter)}))}onDataStateChange(i){this.dataState=Object.assign({},i.detail)}getTaskBarDisabledButtons(){var i,t,s,e,n,o;const h=[];return(null===(i=this.dataState)||void 0===i?void 0:i.hasNext)||h.push(f.NEXT),(null===(t=this.dataState)||void 0===t?void 0:t.hasPrevious)||h.push(f.PREVIOUS),(null===(e=null===(s=this.dataState)||void 0===s?void 0:s.selectionInfo)||void 0===e?void 0:e.isEmpty())&&h.push(f.FORM_MODE),(null===(o=null===(n=this.dataState)||void 0===n?void 0:n.selectionInfo)||void 0===o?void 0:o.length)>1&&h.push(f.CLONE),h}handleCancelEdit(){var i;(null===(i=this.dataState)||void 0===i?void 0:i.recordsIsEmpty)&&(this.goToView(p.GRID),this.dataUnit.clearSelection())}handleConfiguratorEvent(i,t){i.stopImmediatePropagation(),"SAVE"!==t?this.configuratorCancel.emit():this.configuratorSave.emit()}getColumnSearch(i,t){return null!=this._columnSearch||(this._moreOptions=i,this._columnSearch=T(t,(({argument:i})=>new Promise((t=>{this._grid.filterColumns(i).then((i=>{t(i.filter((i=>!i.hidden)).map((i=>({label:i.label,value:i.name}))))}))}))),(t=>{var s;null!=t&&(this._grid.locateColumn(t.value),null===(s=i.hideActions)||void 0===s||s.call(i))}))),this._columnSearch}onSelectField(i,t){null!=i&&(this._fieldToGetFocus=i.value,t.hideActions())}getFieldSearch(i,t){return null!=this._fieldSearch||(this._moreOptions=i,i.addEventListener("ezPopoverOpen",(()=>this.findField())),this._fieldSearch=T(t,(({argument:i})=>this.fieldsOptionLoader(i)),(t=>this.onSelectField(t,i)))),this._fieldSearch}getFormFields(){var i,t;return null!==(t=null===(i=this.formConfig)||void 0===i?void 0:i.fields)&&void 0!==t?t:this._formFields}handleFormSetFields(i){h.equals(this._formFields,i)||(this._formFields=null!=i?i:[])}fieldsOptionLoader(i){const t=null==i?void 0:i.toLowerCase(),s=this.getFormFields().map((i=>{var t;return null===(t=this.dataUnit)||void 0===t?void 0:t.getField(i.name)})).filter((i=>{var s,e;return(null===(s=i.name)||void 0===s?void 0:s.toLowerCase().includes(t))||(null===(e=i.label)||void 0===e?void 0:e.toLowerCase().includes(t))})).map((i=>({value:i.name,label:i.label})));return Promise.resolve(s)}isGridInsertActive(){return this.enableGridInsert&&this.dataUnit.hasNewRecord()}getActionsList(){var i,t;const s=[{value:n.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkSimpleCrud.findColumn",void 0))&&void 0!==t?t:"Buscar",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>this._currentViewMode===p.GRID?this.getColumnSearch(i,t):this.getFieldSearch(i,t)}];if(this.enableGridInsert&&s.push(this._continuousInsertUtils.actionContinuousInsert(this.enableContinuousInsert,(()=>{this.enableContinuousInsert=!this.enableContinuousInsert,this._continuousInsertUtils.handleSaveConfig(this.enableContinuousInsert)}))),this.isGridInsertActive())return s;if(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions){const i=this.getTopTaskBarId();return s.concat(this.taskbarManager.getMoreOptions(i,this.configName,this.dataState,this.actionsList))}return this.actionsList?s.concat(this.actionsList):s}getTopTaskBarId(){var i;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?`snkGridTopTaskbar.finish_edition${y.PRIMARY}`:`snkGridTopTaskbar.regular${y.PRIMARY}`}async keyDownListener(i){i.ctrlKey&&null!=i.key&&"F"===i.key.toUpperCase()&&null!=this._element&&(d.isHiddenElement(this._element)||(l.closeAll(),this._currentViewMode===p.GRID?await this.findColumn():await this.findField(),i.preventDefault()))}async findField(){await this.openSeach(this._fieldSearch)}async findColumn(){await this.openSeach(this._columnSearch)}async openSeach(i){await I(this._moreOptions,i)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}connectedCallback(){window.addEventListener("keydown",this._keyDownHandler,{capture:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._keyDownHandler)}gridConfigChangeHandler(i){i.stopPropagation(),this.configName&&F.saveGridConfig(i.detail,this.configName,this.resolveResourceID())}modalConfigChangeHandler(i){const t=i.detail;this._grid.setColumnsState(t.columns).then((()=>{this.setGridConfig(t),this.closeGridConfig(),this.dataExporterProviderStore()})),i.stopPropagation()}async dataExporterProviderStore(){if(null==this.dataUnit)return;if(null==this._grid)return;const i=new S(this.dataUnit,this._grid);z.set("exporterProviders",Object.assign(Object.assign({},z.get("exporterProviders")),{[this.getDataExporterStoreKey()]:i}))}getDataExporterStoreKey(){return`SnkSimpleCrudDataExporter:${null==this.configName?this.dataUnit.name:this.configName}`}setGridConfig(i){this.gridConfig=i,k.assertDefaultSorting(this.gridConfig,this.dataUnit)}setFormConfig(i,t){this.formConfig&&!t||(this.formConfig=i)}closeGridConfig(){this._showPopUpGridConfig=!1}getPageSize(){return this.mode===v.IN_MEMORY?0:null==this.pageSize?150:this.pageSize}resolveResourceID(){return n.isEmpty(this.resourceID)?this._resourceID:this.resourceID}getFormConfig(){var i;const t=null===(i=this._formConfigManager)||void 0===i?void 0:i.getConfig(this.dataUnit,this.ignoreReadOnlyFormFields);return this.configName||t?t:this.formConfig}updateFormConfig(){let i=this.formConfig;null==this.formLegacyConfigName&&(i=Object.assign(Object.assign({},this.formConfig),{fields:this.dataUnit.metadata.fields})),this.setFormConfig(i,!0),null==this._formConfigManager&&(this._formConfigManager=new R(this.configName,this.resolveResourceID())),this._formConfigManager.setConfig(this.formConfig)}handleDataUnitOnInsertionMode(){this.enableGridInsert||this.goToView(p.FORM)}async initKeyboardManager(){var i;const t=new u,s=this.dataUnit||await(null===(i=this._snkDataUnit)||void 0===i?void 0:i.getDataUnit());null!=s&&t.bind("F7",(()=>s.saveData()),{description:"Salva os dados.",element:this._element}).bind("F8",s.addRecord.bind(s),{description:"Adiciona um novo registro.",element:this._element}).bind("F9",s.removeSelectedRecords.bind(s),{description:"Remove o registro selecionado.",element:this._element}).bind("Escape",(()=>{s.isDirty()&&s.cancelEdition()}),{debounceTime:1e3,description:"Cancela uma ação.",element:this._element})}async handleFormConfigSaved(){await this.loadFormConfig(!0,!0)}renderTaskbarContent(){var i;return s("snk-taskbar",{class:this._currentViewMode===p.FORM&&`ez-box ${this.outlineMode?"ez-box--outline":"ez-box--shadow-xsmall"} ez-padding--small`,dataUnit:this.dataUnit,primaryButton:(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,actionsList:this.getActionsList(),disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,"data-exporter-store-key":this.getDataExporterStoreKey(),slot:"leftButtons",presentationMode:y.SECONDARY},s("slot",{name:"TASKBAR_CUSTOM_ELEMENTS"}))}render(){var i;if(null!=this.dataUnit)return s("snk-data-unit",{ref:i=>this._snkDataUnit=i,class:"simple-crud__container",dataUnit:this.dataUnit,useCancelConfirm:this.useCancelConfirm,onDataStateChange:i=>this.onDataStateChange(i),onCancelEdition:this.handleCancelEdit.bind(this),pageSize:this.getPageSize(),onInsertionMode:this.handleDataUnitOnInsertionMode.bind(this),onDataUnitReady:i=>this.dataUnitReady.emit(i.detail),onMessagesBuilderUpdated:i=>this.messagesBuilder=i.detail,onDataUnitFieldsHidded:this.updateFormConfig.bind(this),domainMessagesBuilder:this.domainMessagesBuilder},s("header",null,s("slot",{name:"snkSimpleCrudHeader"})),s("section",{class:`ez-box ${this.outlineMode?"ez-box--outline":"ez-box--shadow"} simple-crud__container-section`},s("ez-view-stack",{ref:i=>this._viewStack=i,"data-element-id":"simple-crud"},s("stack-item",null,s("ez-grid",{class:"ez-margin-bottom--large",ref:i=>this._grid=i,dataUnit:this.dataUnit,config:this.gridConfig,"no-header":!0,multipleSelection:this.multipleSelection,onEzDoubleClick:()=>this.goToView(p.FORM),onConfigChange:i=>this.gridConfigChangeHandler(i),columnfilterDataSource:this.dataUnit.name&&this.dataUnit.name.includes(w.IN_MEMORY_DATA_UNIT_NAME)?void 0:this._multiSelectionListDataSource,useEnterLikeTab:this.useEnterLikeTab,autoFocus:this.autoFocus,enableGridInsert:this.enableGridInsert,enableContinuousInsert:this.enableContinuousInsert,enableLockManagerTaskbarClick:this.enableLockManagerTaskbarClick,enableLockManagerLoadingComp:this.enableLockManagerLoadingComp,outlineMode:this.outlineMode,paginationCounterMode:this.paginationCounterMode},this.renderTaskbarContent(),s("div",{slot:"footer"},s("slot",{name:"snkSimpleCrudFooter"})))),s("stack-item",null,this.renderTaskbarContent(),s("ez-form",{ref:i=>this._form=i,class:"ez-margin-top--large",dataUnit:this.dataUnit,config:this.getFormConfig(),fieldToFocus:this._fieldToGetFocus,onEzFormSetFields:i=>this.handleFormSetFields(i.detail),onEzFormRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this)}),s("snk-simple-form-config",{ref:i=>this._snkSimpleFormConfig=i,dataUnit:this.dataUnit,onSnkConfigSaved:this.handleFormConfigSaved.bind(this),configName:null!==(i=this.formLegacyConfigName)&&void 0!==i?i:this.configName})),this.messagesBuilder&&s("snk-configurator",{ref:i=>this._snkConfigurator=i,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:i=>this.goToView(i.detail),onOpenConfig:i=>this.openConfig(i.detail),showActionButtons:this.showConfiguratorButtons,onSave:i=>this.handleConfiguratorEvent(i,"SAVE"),onCancel:i=>this.handleConfiguratorEvent(i,"CANCEL"),resourceID:this.resolveResourceID(),customContainerId:this._customContainerId})),s("div",{id:`${this._customContainerId}`},s("slot",{name:"SnkConfigContainerSlot"}))),s("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._showPopUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},s("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this.gridConfig,"data-element-id":this._element.getAttribute(c.DATA_ELEMENT_ID_ATTRIBUTE_NAME),selectedIndex:0,configName:this.configName,onConfigChange:i=>this.modalConfigChangeHandler(i),onConfigCancel:()=>this.closeGridConfig(),resourceID:this.resolveResourceID()})))}get _element(){return e(this)}static get watchers(){return{resourceID:["handleResourceIDChanged"],entityName:["onChangeEntityName"],mode:["onModeChange"],dataState:["observeDataState"],formLegacyConfigName:["observeFormLegacy"],gridLegacyConfigName:["observeGridLegacy"]}}};O.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%;--snk-simple-crud-grid--min-height:300px}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto 1fr;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}.simple-crud__form--hidden.sc-snk-simple-crud{display:none}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;--ez-grid__container--shadow--outline:none;--ez-grid--min-height:var(--snk-simple-crud-grid--min-height)}ez-form.sc-snk-simple-crud{min-height:300px}";export{O as snk_simple_crud}