@sankhyalabs/sankhyablocks 10.1.0-dev.53 → 10.1.0-dev.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{SnkMultiSelectionListDataSource-0bc94d36.js → SnkMultiSelectionListDataSource-3a13fd34.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-bcbc38c0.js → dataunit-fetcher-c7e66f0d.js} +11 -1
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +1 -1
- package/dist/cjs/snk-actions-button_9.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +1 -1
- package/dist/cjs/snk-attach_11.cjs.entry.js +2 -2
- package/dist/cjs/snk-crud.cjs.entry.js +2 -2
- package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
- package/dist/cjs/{snk-data-unit-3b94547d.js → snk-data-unit-35f10e01.js} +1 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +1 -1
- package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-dynaform.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid.cjs.entry.js +2 -2
- package/dist/cjs/snk-layout-form-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/{taskbarUtils-38748460.js → taskbarUtils-383c596e.js} +1 -1
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -1
- package/dist/components/dataunit-fetcher.js +11 -1
- package/dist/esm/{SnkMultiSelectionListDataSource-9e9166ae.js → SnkMultiSelectionListDataSource-22b50dd6.js} +1 -1
- package/dist/esm/{dataunit-fetcher-3b1ca96e.js → dataunit-fetcher-2200fdd6.js} +11 -1
- package/dist/esm/pesquisa-grid_2.entry.js +1 -1
- package/dist/esm/snk-actions-button_9.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +1 -1
- package/dist/esm/snk-attach_11.entry.js +2 -2
- package/dist/esm/snk-crud.entry.js +2 -2
- package/dist/esm/snk-data-exporter.entry.js +2 -2
- package/dist/esm/{snk-data-unit-dfde62cb.js → snk-data-unit-e8bd4143.js} +1 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +1 -1
- package/dist/esm/snk-dynaform-detail-view_2.entry.js +2 -2
- package/dist/esm/snk-dynaform.entry.js +2 -2
- package/dist/esm/snk-grid.entry.js +2 -2
- package/dist/esm/snk-layout-form-config.entry.js +1 -1
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/{taskbarUtils-8501d09e.js → taskbarUtils-682ca78c.js} +1 -1
- package/dist/sankhyablocks/{p-7628e04f.entry.js → p-06b6c284.entry.js} +1 -1
- package/dist/sankhyablocks/{p-43c94ba5.entry.js → p-09e2255b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-2c00b93d.js → p-1a04f537.js} +1 -1
- package/dist/sankhyablocks/{p-19d1ca14.js → p-2040953e.js} +1 -1
- package/dist/sankhyablocks/{p-b75af274.entry.js → p-2b581179.entry.js} +1 -1
- package/dist/sankhyablocks/{p-61776b68.entry.js → p-51f1485c.entry.js} +1 -1
- package/dist/sankhyablocks/p-5c6eede7.js +60 -0
- package/dist/sankhyablocks/{p-d7fd447e.entry.js → p-670c43e3.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7798788b.entry.js → p-92c71225.entry.js} +1 -1
- package/dist/sankhyablocks/{p-1edd6be6.entry.js → p-9c89a76a.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7038cf62.entry.js → p-ccd61eb8.entry.js} +1 -1
- package/dist/sankhyablocks/{p-3623fddf.entry.js → p-dc45e9e5.entry.js} +1 -1
- package/dist/sankhyablocks/{p-f1ef090f.entry.js → p-dc83c70f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6b8a1ec3.js → p-e5362a5c.js} +1 -1
- package/dist/sankhyablocks/{p-7c34a0f7.entry.js → p-edd44079.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b4c2a99c.entry.js → p-eff38390.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a4a0d9b7.entry.js → p-ff28e5e4.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/package.json +5 -1
- package/dist/sankhyablocks/p-f076d742.js +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,e as i,h as s,f as e,g as a}from"./p-2c9d0870.js";import{Action as n,StringUtils as h,ElementIDUtils as r,ApplicationContext as o,KeyboardManager as d}from"@sankhyalabs/core";import"./p-5d02c032.js";import"./p-b1bf9564.js";import{P as c,E as l}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-f076d742.js";import"./p-ff1990ad.js";import"./p-d88278f8.js";import{V as u}from"./p-9019a32f.js";import{A as m}from"./p-d5810110.js";import{S as g}from"./p-cad964b5.js";import{T as p}from"./p-3072136e.js";import{S as f,D as v,C as k,b as C,g as b,a as y}from"./p-6b8a1ec3.js";import{v as _}from"./p-76e66fd9.js";import{buildFieldSearch as S}from"@sankhyalabs/ezui/dist/collection/utils";import{C as E}from"./p-e5a3711f.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-a73b6b00.js";const w=class{constructor(s){t(this,s),this.snkShowGuide=i(this,"snkShowGuide",7),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.numberingConfigChanged=i(this,"numberingConfigChanged",7),this._viewHistory=[],this._customEditors=new Map,this._customRenders=new Map,this._taskbarProcessor=new f(v),this._taskbarCustomProcessor=new f([]),this.dataUnitInterceptor={interceptAction:async t=>{switch(t.type){case n.DATA_SAVED:return this.interceptDataSaved(t);case n.LOADING_DATA:return await this.interceptLoadData(t);default:return t}}},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.customContainerId=`SNK-CRUD-CUSTOM-CONTAINER-${h.generateUUID()}`,this.numberingConfig=void 0,this._filterMode="regular",this._enableContinuousInsert=!1,this._headerVisible=!0,this.enableLockManagerLoadingComp=!1,this.enableLockManagerTaskbarClick=!1,this.configName=void 0,this.filterBarTitle=void 0,this.selectionToastConfig=void 0,this.showActionButtons=!0,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=c.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=l.SERVER_SIDE,this.layoutFormConfig=!0,this.multipleEditionEnabled=!0,this.paginationCounterMode="auto",this.customGuidesConfig=[],this.showEntitySearch=!0,this.disableNumberingConfig=!1}handleActionClick(t){this.executeAction(t.detail)}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)}async getNumberingConfig(){return this.numberingConfig}async updateNumberingConfig(t){this.numberingConfig=t,this.applyNumberingConfigToFields()}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){var i;switch(t){case p.GRID_MODE:return this.setViewMode(u.GRID);case p.FORM_MODE:case p.UPDATE:return this.gridToForm(t!==p.UPDATE);case p.UPDATE_MULTIPLE:return this._dataUnit.isMultipleEdition=!0,this.setViewMode(u.FORM);case p.CONFIGURATOR:return this._snkConfigurator.open();case p.ATTACH:return this._snkAttach.open();case k.FILTER:return null===(i=this._snkFilterBar)||void 0===i?void 0:i.showFilterModal();case k.ENTITY_SEARCH:return this.openSearchPopover()}}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t,t===u.GRID?(this._dataUnit.isMultipleEdition=!1,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(){r.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)}initializeTaskbarProcessor(){const t=C(this._currentViewMode,this.taskbarManager,this.messagesBuilder),i=b(this._dataState,this.presentationMode);this._taskbarProcessor.process(i,t,this._dataState,void 0,[]);const s=y(this._dataState,this.presentationMode);this._taskbarCustomProcessor.process(s,this.taskbarManager,this._dataState,void 0,[])}componentWillRender(){this.initializeTaskbarProcessor()}componentDidRender(){this.setCustomRenders(),this.setCustomEditors()}componentWillLoad(){this._application=o.getContextValue("__SNK__APPLICATION__");let t=this._element.parentElement;for(this._application.hasAccess(m.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),this.initContinuousInsertUtils()}componentDidLoad(){this.initKeyboardManager()}disconnectedCallback(){var t;this.removeShortcuts(),null===(t=this._dataUnit)||void 0===t||t.removeInterceptor(this.dataUnitInterceptor)}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(){this._keyboardManager=new d({propagate:!1,element:this._element});const t=this._dataUnit||await this._snkDataUnit.getDataUnit();async function i(){const i=document.activeElement,s=i==document.body;s||i.blur(),await t.saveData(),s||null==i.setFocus?s||i.focus():i.setFocus()}this._keyboardManager&&this._keyboardManager.bind("F6",this.toggleView.bind(this),{description:this.getMessage("snkCrud.shortcuts.toggleView"),element:this._element}).bind("F7",i.bind(this),{description:this.getMessage("snkCrud.shortcuts.saveData"),element:this._element}).bind("ctrl + \\",i.bind(this),{description:this.getMessage("snkCrud.shortcuts.addRecord"),element:this._element}).bind("F8",async function(){t.hasNewRecord()||t.addRecord()}.bind(this),{description:this.getMessage("snkCrud.shortcuts.addRecord"),element:this._element}).bind("F9",t.removeSelectedRecords.bind(t),{description:this.getMessage("snkCrud.shortcuts.removeRecord"),element:this._element}).bind("ctrl + F9",t.removeSelectedRecords.bind(t),{description:this.getMessage("snkCrud.shortcuts.removeRecord"),element:this._element}).bind("F5",(async()=>{const i=await this._viewStack.getSelectedIndex();u.GRID===i&&t.loadData()}),{description:this.getMessage("snkCrud.shortcuts.refreshData"),element:this._element}).bind("Escape",(()=>{t.isDirty()&&t.cancelEdition()}),{debounceTime:1e3,description:this.getMessage("snkCrud.shortcuts.cancelAction"),element:this._element})}getMessage(t,i){if(this.messagesBuilder)return this.messagesBuilder.getMessage(t,i)}async removeShortcuts(){var t;null===(t=this._keyboardManager)||void 0===t||t.unbindAllShortcutKeys()}async toggleView(){const t=await this._viewStack.getSelectedIndex();this.setViewMode(u.GRID===t?u.FORM:u.GRID)}getLastRecordSaved(t){var i;return(null===(i=t.payload)||void 0===i?void 0:i.records.length)?t.payload.records[t.payload.records.length-1]:null}async saveNumberingConfig(){const t={entityName:this._snkDataUnit.entityName,isAutoNum:this.numberingConfig.isAutoNumbering,numInicial:this.numberingConfig.initialNumber};await this._servicesNumberingConfig.saveConfig(t)}updateNumberingConfigAfterInsert(t){var i,s;if(!(null===(i=t.payload)||void 0===i?void 0:i.changes.length)||this.disableNumberingConfig||!(null===(s=this.numberingConfig)||void 0===s?void 0:s.isAutoNumbering)||!this._fieldAutoNum)return t;if(!t.payload.changes.some((t=>"INSERT"===t.operation||"COPY"===t.operation)))return t;const e=this.getLastRecordSaved(t);if(e&&e.hasOwnProperty(this._fieldAutoNum)){const t=Number(e[this._fieldAutoNum]);this.numberingConfig.initialNumber=t,this.saveNumberingConfig()}else this.numberingConfig.initialNumber=this.numberingConfig.initialNumber+1;return this.numberingConfigChanged.emit(this.numberingConfig),t}interceptDataSaved(t){return this.updateNumberingConfigAfterInsert(t),t}async interceptLoadData(t){var i;if(_(null===(i=this._snkFilterBar)||void 0===i?void 0:i.filterConfig))return t;{const t=this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.title",{}),i=this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.message",{});await this._application.error(t,i)}}onDataUnitReady(){var t;null===(t=this._dataUnit)||void 0===t||t.addInterceptor(this.dataUnitInterceptor),this.loadNumberingConfig()}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())),this.onDataUnitReady()}initContinuousInsertUtils(){this._continuousInsertUtils=new E(this._application,this._resourceID,this.configName),this.enableGridInsert&&this._continuousInsertUtils.getConfig().then((t=>this._enableContinuousInsert=t))}async loadNumberingConfig(){if(!this.numberingConfig&&this._snkDataUnit&&this._snkDataUnit.entityName&&!this.disableNumberingConfig){this._servicesNumberingConfig||(this._servicesNumberingConfig=new g(this._application,this._resourceID));try{this.numberingConfig=await this._servicesNumberingConfig.getConfig(this._snkDataUnit.entityName),this.getFieldAutoNum(),this.applyNumberingConfigToFields()}catch(t){console.error("Error loading numbering config in snk-crud:",t),this.numberingConfig={isAutoNumbering:!1,initialNumber:null}}}}getFieldAutoNum(){if(this._fieldAutoNum)return;const t=this._dataUnit.metadata.fields.find((t=>{var i;return"true"===(null===(i=t.properties)||void 0===i?void 0:i.isAutoNumField)}));this._fieldAutoNum=(null==t?void 0:t.name)||null}async applyNumberingConfigToFields(){if(!this.numberingConfig||!this._snkDataUnit||!this._fieldAutoNum)return;const t=this._dataUnit.getField(this._fieldAutoNum);t.readOnly=this.numberingConfig.isAutoNumbering,t.required=!this.numberingConfig.isAutoNumbering}handleConfiguratorEvent(t,i){if(t.stopImmediatePropagation(),"SAVE"===i)return this._guidesViewer.reloadGuides(),void this.configuratorSave.emit();this.configuratorCancel.emit()}renderCustomGuideSlots(){if(this.customGuidesConfig)return this.customGuidesConfig.map((t=>s("slot",{name:t.id})))}getColumnSearch(t){return null!=this._columnSearch||(this._columnSearch=S(t,(({argument:t})=>new Promise((i=>{this._snkGrid.filterColumns(t).then((t=>{i(t.filter((t=>!t.hidden)).map((t=>({label:t.label,value:t.name}))))}))}))),(t=>{null!=t&&this._snkGrid.locateColumn(t.value)}))),this._columnSearch}buildTaskbarCustomActionsList(){return[this.buildSearchColumnTaskbarAction()]}buildSearchColumnTaskbarAction(){return{value:h.generateUUID(),label:this.messagesBuilder.getMessage("snkGrid.findColumn",{}),disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(t,i)=>this.getColumnSearch(i)}}isGridInsertActive(){return this.enableGridInsert&&this._dataUnit.hasNewRecord()}getActionsList(){const t=[];if(this.enableGridInsert&&t.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert,(()=>{this._enableContinuousInsert=!this._enableContinuousInsert,this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert)}))),this.isGridInsertActive())return t;if(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions){const i=b(this._dataState,this.presentationMode);return t.concat(this.taskbarManager.getMoreOptions(i,this.configName,this._dataState,this.actionsList))}return t.concat(this.actionsList)}async openSearchPopover(){if(!this._popoverSearchEntity)return;const t=this._element.querySelector(`[data-taskbar-element="${k.ENTITY_SEARCH}"]`);await this._popoverSearchEntity.showUnder(t)}handleLoadedSearch(t){1===t.detail.length&&(this._dataUnit.selectFirst(),this.gridToForm(!0))}renderDynamicSearch(){var t;if(this.showEntitySearch)return s("snk-entity-search",{ref:t=>this._popoverSearchEntity=t,dataUnit:this._dataUnit,entityName:null===(t=this._snkDataUnit)||void 0===t?void 0:t.entityName,messagesBuilder:this.messagesBuilder,onLoaded:t=>this.handleLoadedSearch(t)})}handleFilterConfigUpdated(t){t.length&&(1!==t.length||"PERSONALIZED_FILTER_GROUP"!==t[0].id||(this._filterMode=t[0].groupedItems.length>0?"regular":"button"))}render(){if(null!=this._resourceID)return this._snkDataUnit.ignoreSaveMessage=this._currentViewMode===u.GRID&&!this.enableGridInsert,s(e,null,s("header",{class:{"snk-crud--hidden":!this._headerVisible,"snk-crud__header":!0}},s("div",{class:"snk-crud__header-top"},s("snk-taskbar",{"data-element-id":"grid_top",key:"snkGridTopTaskbar",configName:this.configName,dataUnit:this._dataUnit,messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,resourceID:this._resourceID,primaryButton:"INSERT",overflowStrategy:"hiddenItems",alignRigth:!0,actionsList:this.getActionsList(),customActionsList:this.buildTaskbarCustomActionsList(),sizeButtons:"medium"})),s("snk-filter-bar",{ref:t=>this._snkFilterBar=t,title:this.filterBarTitle,dataUnit:this._dataUnit,"data-element-id":"gridFilter",class:"snk-grid__filter-bar ez-align--top",configName:this.configName,messagesBuilder:this.messagesBuilder,resourceID:this._resourceID,onConfigUpdated:t=>this.handleFilterConfigUpdated(t.detail),disablePersonalizedFilter:this.disablePersonalizedFilter,filterBarLegacyConfigName:this.filterBarLegacyConfigName,autoLoad:this.autoLoad,enableLockManagerLoadingComp:this.enableLockManagerLoadingComp,mode:this._filterMode,hideFilterButton:!0,sizeChips:"default"})),s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",{class:"snk-crud__grid-stack-item"},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,multipleEditionEnabled:this.multipleEditionEnabled,paginationCounterMode:this.paginationCounterMode,hideHeader:!0,hideGridTaskbar:!0},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,customGuidesConfig:this.customGuidesConfig,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,onFormConfigVisibilityChanged:t=>this._headerVisible=!t.detail},s("slot",{name:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS"}),this.renderCustomGuideSlots(),s("slot",{name:"SnkFormTaskBar"})))),s("snk-attach",{ref:t=>this._snkAttach=t,registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this._snkDataUnit.entityName}),s("snk-configurator",{ref:t=>this._snkConfigurator=t,entityName:this._snkDataUnit.entityName,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,layoutFormConfig:this.layoutFormConfig}),this.renderDynamicSearch(),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"]}}};w.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%;overflow-y:auto;scrollbar-gutter:stable both-edges}snk-grid.sc-snk-crud{--snk-grid-padding:0 var(--space--6, 6px) var(--space--6, 6px) var(--space--6, 6px)}stack-item.sc-snk-crud.sc-snk-crud{display:grid;min-height:100%}.snk-crud__header.sc-snk-crud{margin-bottom:var(--space--10, 10px)}.snk-crud__grid-stack-item.sc-snk-crud{display:flex;flex-direction:column;height:100%;width:100%;padding:0 var(--space--2, 2px)}.snk-crud__header-top.sc-snk-crud{display:flex;justify-content:space-between;align-items:center;padding:var(--space--8, 8px);padding-top:var(--space--12, 12px)}.snk-crud__header-bottom.sc-snk-crud{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space--8, 8px) 0 var(--space--6, 6px)}.snk-crud__header-bottom.sc-snk-crud>snk-taskbar.sc-snk-crud{padding-bottom:var(--space--8, 8px);margin-left:var(--space--12, 12px)}.snk-crud--hidden.sc-snk-crud{display:none !important}ez-record-navigation.sc-snk-crud,ez-grid-pagination.sc-snk-crud{margin-bottom:var(--space--8, 8px)}";export{w as snk_crud}
|
|
1
|
+
import{r as t,e as i,h as s,f as e,g as a}from"./p-2c9d0870.js";import{Action as n,StringUtils as h,ElementIDUtils as r,ApplicationContext as o,KeyboardManager as d}from"@sankhyalabs/core";import"./p-5d02c032.js";import"./p-b1bf9564.js";import{P as c,E as l}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-5c6eede7.js";import"./p-ff1990ad.js";import"./p-d88278f8.js";import{V as u}from"./p-9019a32f.js";import{A as m}from"./p-d5810110.js";import{S as g}from"./p-cad964b5.js";import{T as p}from"./p-3072136e.js";import{S as f,D as v,C as k,b as C,g as b,a as y}from"./p-e5362a5c.js";import{v as _}from"./p-76e66fd9.js";import{buildFieldSearch as S}from"@sankhyalabs/ezui/dist/collection/utils";import{C as E}from"./p-e5a3711f.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-a73b6b00.js";const w=class{constructor(s){t(this,s),this.snkShowGuide=i(this,"snkShowGuide",7),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.numberingConfigChanged=i(this,"numberingConfigChanged",7),this._viewHistory=[],this._customEditors=new Map,this._customRenders=new Map,this._taskbarProcessor=new f(v),this._taskbarCustomProcessor=new f([]),this.dataUnitInterceptor={interceptAction:async t=>{switch(t.type){case n.DATA_SAVED:return this.interceptDataSaved(t);case n.LOADING_DATA:return await this.interceptLoadData(t);default:return t}}},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.customContainerId=`SNK-CRUD-CUSTOM-CONTAINER-${h.generateUUID()}`,this.numberingConfig=void 0,this._filterMode="regular",this._enableContinuousInsert=!1,this._headerVisible=!0,this.enableLockManagerLoadingComp=!1,this.enableLockManagerTaskbarClick=!1,this.configName=void 0,this.filterBarTitle=void 0,this.selectionToastConfig=void 0,this.showActionButtons=!0,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=c.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=l.SERVER_SIDE,this.layoutFormConfig=!0,this.multipleEditionEnabled=!0,this.paginationCounterMode="auto",this.customGuidesConfig=[],this.showEntitySearch=!0,this.disableNumberingConfig=!1}handleActionClick(t){this.executeAction(t.detail)}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)}async getNumberingConfig(){return this.numberingConfig}async updateNumberingConfig(t){this.numberingConfig=t,this.applyNumberingConfigToFields()}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){var i;switch(t){case p.GRID_MODE:return this.setViewMode(u.GRID);case p.FORM_MODE:case p.UPDATE:return this.gridToForm(t!==p.UPDATE);case p.UPDATE_MULTIPLE:return this._dataUnit.isMultipleEdition=!0,this.setViewMode(u.FORM);case p.CONFIGURATOR:return this._snkConfigurator.open();case p.ATTACH:return this._snkAttach.open();case k.FILTER:return null===(i=this._snkFilterBar)||void 0===i?void 0:i.showFilterModal();case k.ENTITY_SEARCH:return this.openSearchPopover()}}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t,t===u.GRID?(this._dataUnit.isMultipleEdition=!1,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(){r.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)}initializeTaskbarProcessor(){const t=C(this._currentViewMode,this.taskbarManager,this.messagesBuilder),i=b(this._dataState,this.presentationMode);this._taskbarProcessor.process(i,t,this._dataState,void 0,[]);const s=y(this._dataState,this.presentationMode);this._taskbarCustomProcessor.process(s,this.taskbarManager,this._dataState,void 0,[])}componentWillRender(){this.initializeTaskbarProcessor()}componentDidRender(){this.setCustomRenders(),this.setCustomEditors()}componentWillLoad(){this._application=o.getContextValue("__SNK__APPLICATION__");let t=this._element.parentElement;for(this._application.hasAccess(m.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),this.initContinuousInsertUtils()}componentDidLoad(){this.initKeyboardManager()}disconnectedCallback(){var t;this.removeShortcuts(),null===(t=this._dataUnit)||void 0===t||t.removeInterceptor(this.dataUnitInterceptor)}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(){this._keyboardManager=new d({propagate:!1,element:this._element});const t=this._dataUnit||await this._snkDataUnit.getDataUnit();async function i(){const i=document.activeElement,s=i==document.body;s||i.blur(),await t.saveData(),s||null==i.setFocus?s||i.focus():i.setFocus()}this._keyboardManager&&this._keyboardManager.bind("F6",this.toggleView.bind(this),{description:this.getMessage("snkCrud.shortcuts.toggleView"),element:this._element}).bind("F7",i.bind(this),{description:this.getMessage("snkCrud.shortcuts.saveData"),element:this._element}).bind("ctrl + \\",i.bind(this),{description:this.getMessage("snkCrud.shortcuts.addRecord"),element:this._element}).bind("F8",async function(){t.hasNewRecord()||t.addRecord()}.bind(this),{description:this.getMessage("snkCrud.shortcuts.addRecord"),element:this._element}).bind("F9",t.removeSelectedRecords.bind(t),{description:this.getMessage("snkCrud.shortcuts.removeRecord"),element:this._element}).bind("ctrl + F9",t.removeSelectedRecords.bind(t),{description:this.getMessage("snkCrud.shortcuts.removeRecord"),element:this._element}).bind("F5",(async()=>{const i=await this._viewStack.getSelectedIndex();u.GRID===i&&t.loadData()}),{description:this.getMessage("snkCrud.shortcuts.refreshData"),element:this._element}).bind("Escape",(()=>{t.isDirty()&&t.cancelEdition()}),{debounceTime:1e3,description:this.getMessage("snkCrud.shortcuts.cancelAction"),element:this._element})}getMessage(t,i){if(this.messagesBuilder)return this.messagesBuilder.getMessage(t,i)}async removeShortcuts(){var t;null===(t=this._keyboardManager)||void 0===t||t.unbindAllShortcutKeys()}async toggleView(){const t=await this._viewStack.getSelectedIndex();this.setViewMode(u.GRID===t?u.FORM:u.GRID)}getLastRecordSaved(t){var i;return(null===(i=t.payload)||void 0===i?void 0:i.records.length)?t.payload.records[t.payload.records.length-1]:null}async saveNumberingConfig(){const t={entityName:this._snkDataUnit.entityName,isAutoNum:this.numberingConfig.isAutoNumbering,numInicial:this.numberingConfig.initialNumber};await this._servicesNumberingConfig.saveConfig(t)}updateNumberingConfigAfterInsert(t){var i,s;if(!(null===(i=t.payload)||void 0===i?void 0:i.changes.length)||this.disableNumberingConfig||!(null===(s=this.numberingConfig)||void 0===s?void 0:s.isAutoNumbering)||!this._fieldAutoNum)return t;if(!t.payload.changes.some((t=>"INSERT"===t.operation||"COPY"===t.operation)))return t;const e=this.getLastRecordSaved(t);if(e&&e.hasOwnProperty(this._fieldAutoNum)){const t=Number(e[this._fieldAutoNum]);this.numberingConfig.initialNumber=t,this.saveNumberingConfig()}else this.numberingConfig.initialNumber=this.numberingConfig.initialNumber+1;return this.numberingConfigChanged.emit(this.numberingConfig),t}interceptDataSaved(t){return this.updateNumberingConfigAfterInsert(t),t}async interceptLoadData(t){var i;if(_(null===(i=this._snkFilterBar)||void 0===i?void 0:i.filterConfig))return t;{const t=this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.title",{}),i=this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.message",{});await this._application.error(t,i)}}onDataUnitReady(){var t;null===(t=this._dataUnit)||void 0===t||t.addInterceptor(this.dataUnitInterceptor),this.loadNumberingConfig()}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())),this.onDataUnitReady()}initContinuousInsertUtils(){this._continuousInsertUtils=new E(this._application,this._resourceID,this.configName),this.enableGridInsert&&this._continuousInsertUtils.getConfig().then((t=>this._enableContinuousInsert=t))}async loadNumberingConfig(){if(!this.numberingConfig&&this._snkDataUnit&&this._snkDataUnit.entityName&&!this.disableNumberingConfig){this._servicesNumberingConfig||(this._servicesNumberingConfig=new g(this._application,this._resourceID));try{this.numberingConfig=await this._servicesNumberingConfig.getConfig(this._snkDataUnit.entityName),this.getFieldAutoNum(),this.applyNumberingConfigToFields()}catch(t){console.error("Error loading numbering config in snk-crud:",t),this.numberingConfig={isAutoNumbering:!1,initialNumber:null}}}}getFieldAutoNum(){if(this._fieldAutoNum)return;const t=this._dataUnit.metadata.fields.find((t=>{var i;return"true"===(null===(i=t.properties)||void 0===i?void 0:i.isAutoNumField)}));this._fieldAutoNum=(null==t?void 0:t.name)||null}async applyNumberingConfigToFields(){if(!this.numberingConfig||!this._snkDataUnit||!this._fieldAutoNum)return;const t=this._dataUnit.getField(this._fieldAutoNum);t.readOnly=this.numberingConfig.isAutoNumbering,t.required=!this.numberingConfig.isAutoNumbering}handleConfiguratorEvent(t,i){if(t.stopImmediatePropagation(),"SAVE"===i)return this._guidesViewer.reloadGuides(),void this.configuratorSave.emit();this.configuratorCancel.emit()}renderCustomGuideSlots(){if(this.customGuidesConfig)return this.customGuidesConfig.map((t=>s("slot",{name:t.id})))}getColumnSearch(t){return null!=this._columnSearch||(this._columnSearch=S(t,(({argument:t})=>new Promise((i=>{this._snkGrid.filterColumns(t).then((t=>{i(t.filter((t=>!t.hidden)).map((t=>({label:t.label,value:t.name}))))}))}))),(t=>{null!=t&&this._snkGrid.locateColumn(t.value)}))),this._columnSearch}buildTaskbarCustomActionsList(){return[this.buildSearchColumnTaskbarAction()]}buildSearchColumnTaskbarAction(){return{value:h.generateUUID(),label:this.messagesBuilder.getMessage("snkGrid.findColumn",{}),disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(t,i)=>this.getColumnSearch(i)}}isGridInsertActive(){return this.enableGridInsert&&this._dataUnit.hasNewRecord()}getActionsList(){const t=[];if(this.enableGridInsert&&t.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert,(()=>{this._enableContinuousInsert=!this._enableContinuousInsert,this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert)}))),this.isGridInsertActive())return t;if(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions){const i=b(this._dataState,this.presentationMode);return t.concat(this.taskbarManager.getMoreOptions(i,this.configName,this._dataState,this.actionsList))}return t.concat(this.actionsList)}async openSearchPopover(){if(!this._popoverSearchEntity)return;const t=this._element.querySelector(`[data-taskbar-element="${k.ENTITY_SEARCH}"]`);await this._popoverSearchEntity.showUnder(t)}handleLoadedSearch(t){1===t.detail.length&&(this._dataUnit.selectFirst(),this.gridToForm(!0))}renderDynamicSearch(){var t;if(this.showEntitySearch)return s("snk-entity-search",{ref:t=>this._popoverSearchEntity=t,dataUnit:this._dataUnit,entityName:null===(t=this._snkDataUnit)||void 0===t?void 0:t.entityName,messagesBuilder:this.messagesBuilder,onLoaded:t=>this.handleLoadedSearch(t)})}handleFilterConfigUpdated(t){t.length&&(1!==t.length||"PERSONALIZED_FILTER_GROUP"!==t[0].id||(this._filterMode=t[0].groupedItems.length>0?"regular":"button"))}render(){if(null!=this._resourceID)return this._snkDataUnit.ignoreSaveMessage=this._currentViewMode===u.GRID&&!this.enableGridInsert,s(e,null,s("header",{class:{"snk-crud--hidden":!this._headerVisible,"snk-crud__header":!0}},s("div",{class:"snk-crud__header-top"},s("snk-taskbar",{"data-element-id":"grid_top",key:"snkGridTopTaskbar",configName:this.configName,dataUnit:this._dataUnit,messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,resourceID:this._resourceID,primaryButton:"INSERT",overflowStrategy:"hiddenItems",alignRigth:!0,actionsList:this.getActionsList(),customActionsList:this.buildTaskbarCustomActionsList(),sizeButtons:"medium"})),s("snk-filter-bar",{ref:t=>this._snkFilterBar=t,title:this.filterBarTitle,dataUnit:this._dataUnit,"data-element-id":"gridFilter",class:"snk-grid__filter-bar ez-align--top",configName:this.configName,messagesBuilder:this.messagesBuilder,resourceID:this._resourceID,onConfigUpdated:t=>this.handleFilterConfigUpdated(t.detail),disablePersonalizedFilter:this.disablePersonalizedFilter,filterBarLegacyConfigName:this.filterBarLegacyConfigName,autoLoad:this.autoLoad,enableLockManagerLoadingComp:this.enableLockManagerLoadingComp,mode:this._filterMode,hideFilterButton:!0,sizeChips:"default"})),s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",{class:"snk-crud__grid-stack-item"},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,multipleEditionEnabled:this.multipleEditionEnabled,paginationCounterMode:this.paginationCounterMode,hideHeader:!0,hideGridTaskbar:!0},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,customGuidesConfig:this.customGuidesConfig,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,onFormConfigVisibilityChanged:t=>this._headerVisible=!t.detail},s("slot",{name:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS"}),this.renderCustomGuideSlots(),s("slot",{name:"SnkFormTaskBar"})))),s("snk-attach",{ref:t=>this._snkAttach=t,registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this._snkDataUnit.entityName}),s("snk-configurator",{ref:t=>this._snkConfigurator=t,entityName:this._snkDataUnit.entityName,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,layoutFormConfig:this.layoutFormConfig}),this.renderDynamicSearch(),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"]}}};w.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%;overflow-y:auto;scrollbar-gutter:stable both-edges}snk-grid.sc-snk-crud{--snk-grid-padding:0 var(--space--6, 6px) var(--space--6, 6px) var(--space--6, 6px)}stack-item.sc-snk-crud.sc-snk-crud{display:grid;min-height:100%}.snk-crud__header.sc-snk-crud{margin-bottom:var(--space--10, 10px)}.snk-crud__grid-stack-item.sc-snk-crud{display:flex;flex-direction:column;height:100%;width:100%;padding:0 var(--space--2, 2px)}.snk-crud__header-top.sc-snk-crud{display:flex;justify-content:space-between;align-items:center;padding:var(--space--8, 8px);padding-top:var(--space--12, 12px)}.snk-crud__header-bottom.sc-snk-crud{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space--8, 8px) 0 var(--space--6, 6px)}.snk-crud__header-bottom.sc-snk-crud>snk-taskbar.sc-snk-crud{padding-bottom:var(--space--8, 8px);margin-left:var(--space--12, 12px)}.snk-crud--hidden.sc-snk-crud{display:none !important}ez-record-navigation.sc-snk-crud,ez-grid-pagination.sc-snk-crud{margin-bottom:var(--space--8, 8px)}";export{w as snk_crud}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,h as t}from"./p-2c9d0870.js";import"./p-5d02c032.js";import"./p-b1bf9564.js";import{ApplicationContext as i}from"@sankhyalabs/core";import"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-
|
|
1
|
+
import{r as s,h as t}from"./p-2c9d0870.js";import"./p-5d02c032.js";import"./p-b1bf9564.js";import{ApplicationContext as i}from"@sankhyalabs/core";import"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-5c6eede7.js";import"./p-ff1990ad.js";import{F as e}from"./p-d88278f8.js";import"./p-9019a32f.js";import{FormLayout as a}from"@sankhyalabs/ezui/dist/collection/utils";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";const o=class{constructor(t){s(this,t),this._formConfigFetcher=new e,this.messagesBuilder=void 0,this.layoutType=a.SIDE_BY_SIDE}async save(){this._LayoutFormConfigSingleton.setConfig(this.layoutType),this._formConfigFetcher.saveLayoutFormConfig("formColCfg."+this._resourceID,{config:this.layoutType,newConfig:!0})}async componentWillLoad(){const s=i.getContextValue("__SNK__APPLICATION__");this._LayoutFormConfigSingleton=await(null==s?void 0:s.getLayoutFormConfig()),this._resourceID=await(null==s?void 0:s.getResourceID()),this.setLayoutInit()}setLayoutInit(){if(!this._LayoutFormConfigSingleton)return;const{config:s}=this._LayoutFormConfigSingleton;if(null==s)return void(this.layoutType=a.SIDE_BY_SIDE);const t=Number(s);this.layoutType=Object.values(a).includes(t)?t:a.SIDE_BY_SIDE}toggleLayout(s){this.layoutType=s}getMessage(s,t){var i;return null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage(s,t)}render(){return t("div",{class:"ez-flex ez-flex--column"},t("div",{class:"ez-margin-bottom--small"},t("ez-check",{label:this.getMessage("snkLayoutFormConfig.cascadeLayout.label"),class:"ez-margin-bottom--small",onEzChange:()=>this.toggleLayout(a.CASCADE),value:this.layoutType===a.CASCADE}),t("snk-view-representation",{mode:a.CASCADE}),t("label",{class:"ez-label ez-margin--small ez-flex ez-text--medium"},this.getMessage("snkLayoutFormConfig.cascadeLayout.description"))),t("div",{class:"ez-margin-bottom--small"},t("ez-check",{label:this.getMessage("snkLayoutFormConfig.classicCascadeLayout.label"),class:"ez-margin-bottom--small",onEzChange:()=>this.toggleLayout(a.CLASSIC_CASCADE),value:this.layoutType===a.CLASSIC_CASCADE}),t("snk-view-representation",{mode:a.CLASSIC_CASCADE}),t("label",{class:"ez-label ez-margin--small ez-flex ez-text--medium"},this.getMessage("snkLayoutFormConfig.classicCascadeLayout.description"))),t("div",{class:"ez-margin-bottom--small"},t("ez-check",{label:this.getMessage("snkLayoutFormConfig.sideBySideLayout.label"),class:"ez-margin-bottom--small",onEzChange:()=>this.toggleLayout(a.SIDE_BY_SIDE),value:this.layoutType===a.SIDE_BY_SIDE}),t("snk-view-representation",{mode:a.SIDE_BY_SIDE}),t("label",{class:"ez-label ez-margin--small ez-flex ez-text--medium"},this.getMessage("snkLayoutFormConfig.sideBySideLayout.description"))),t("div",null,t("ez-check",{label:this.getMessage("snkLayoutFormConfig.classicSideBySideLayout.label"),class:"ez-margin-bottom--small",onEzChange:()=>this.toggleLayout(a.CLASSIC_SIDE_BY_SIDE),value:this.layoutType===a.CLASSIC_SIDE_BY_SIDE}),t("snk-view-representation",{mode:a.CLASSIC_SIDE_BY_SIDE}),t("label",{class:"ez-label ez-margin--small ez-flex ez-text--medium"},this.getMessage("snkLayoutFormConfig.classicSideBySideLayout.description"))))}};o.style=".sc-snk-layout-form-config-h{display:block}";export{o as snk_layout_form_config}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{S as snk_data_unit}from"./p-
|
|
1
|
+
export{S as snk_data_unit}from"./p-2040953e.js";import"./p-2c9d0870.js";import"@sankhyalabs/core";import"@sankhyalabs/ezui/dist/collection/utils";import"./p-5d02c032.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-5c6eede7.js";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"@sankhyalabs/core/dist/dataunit/metadata/DataType";import"./p-7dd49d15.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as t,e,h as i,f as s,g as n}from"./p-2c9d0870.js";import{DateUtils as r,StringUtils as a,ObjectUtils as o,WaitingChangeException as h,SilentException as l,WarningException as c,ErrorException as d,ElementIDUtils as u,SearchUtils as p,ArrayUtils as m,KeyboardManager as g,OnboardingUtils as w,DependencyType as y,DataType as v,ApplicationContext as f,ErrorTracking as P,UserAgentUtils as k,LockManager as z,LockManagerOperation as _}from"@sankhyalabs/core";import{ApplicationUtils as x}from"@sankhyalabs/ezui/dist/collection/utils";import{C as A}from"./p-51e853f2.js";import{d as S,D as b,U as I,S as T}from"./p-5d02c032.js";import{A as O,a as L}from"./p-d5810110.js";import{P as N,D as E}from"./p-
|
|
1
|
+
import{r as t,e,h as i,f as s,g as n}from"./p-2c9d0870.js";import{DateUtils as r,StringUtils as a,ObjectUtils as o,WaitingChangeException as h,SilentException as l,WarningException as c,ErrorException as d,ElementIDUtils as u,SearchUtils as p,ArrayUtils as m,KeyboardManager as g,OnboardingUtils as w,DependencyType as y,DataType as v,ApplicationContext as f,ErrorTracking as P,UserAgentUtils as k,LockManager as z,LockManagerOperation as _}from"@sankhyalabs/core";import{ApplicationUtils as x}from"@sankhyalabs/ezui/dist/collection/utils";import{C as A}from"./p-51e853f2.js";import{d as S,D as b,U as I,S as T}from"./p-5d02c032.js";import{A as O,a as L}from"./p-d5810110.js";import{P as N,D as E}from"./p-5c6eede7.js";import{P as C}from"./p-b1bf9564.js";import{T as D}from"./p-9019a32f.js";import"./p-0f3698af.js";import"./p-ff1990ad.js";import{F as R}from"./p-d88278f8.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";class F{static webConnectionCaller(t,e,i){var s;null===(s=window.AppletCaller)||void 0===s||s.webConnectionCaller(t,e,i)}}const M=U;function U(t,e){const i=j();return(U=function(t){return i[t-=378]})(t,e)}function j(){const t=["true","863GKWjmo","parse","56355fjjjAm","isSup","putAccess","4324480sjuCdS","hasOwnProperty","239748okvJLB","name","6055770tXeRaU","actions","forEach","7RPRvzn","1042CHxkUw","2988126NIwRMm","20MTNzmH","authorizationSf","item","string","hasAccess","isArray","Objeto não pode ser indefinido.","3071943fWslZp","parseFromJSON"];return(j=function(){return t})()}!function(){const t=U,e=j();for(;;)try{if(281287==parseInt(t(399))/1*(-parseInt(t(387))/2)+-parseInt(t(401))/3+parseInt(t(381))/4*(-parseInt(t(389))/5)+parseInt(t(388))/6*(-parseInt(t(386))/7)+parseInt(t(379))/8+parseInt(t(396))/9+parseInt(t(383))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}}();class ${[M(397)](t){const e=M;if(typeof(t=utxt(t[e(390)]))==e(392)&&(t=JSON[e(400)](t)),null==t)throw Error(e(395));const i=new H("S"===t[e(402)]||!0===t[e(402)]);return Array[e(394)](t[e(391)])&&t[e(391)][e(385)]((t=>i.putAccess(t[e(382)],String(t.status)==e(398)))),i}}class H{constructor(t){const e=M;this.isSup=t,this[e(384)]={}}[M(378)](t,e){this[M(384)][t]=e}[M(393)](t){const e=M;if(this[e(402)])return!0;let i=!0;return this[e(384)][e(380)](t)&&(i=this.actions[t]),i}isUserSup(){return this.isSup}}class B{constructor(){this._embeddedParams=new Map,this._cachedParams=new Map,this.templateByQuery=new Map;try{if(null!=window.MGE_PARAMS){atob(window.MGE_PARAMS).split("__;__").forEach((t=>{const[e,i]=t.split("__=__");this._embeddedParams.set(e,i)}))}}catch(t){console.error("Problemas ao obter parâmetros embarcados"),console.error(t)}this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchParam",S.gql`query($name: String!) {
|
|
2
2
|
$queryAlias$: fetchResource(name: $name){
|
|
3
3
|
name
|
|
4
4
|
resource
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./p-5d02c032.js";import"./p-b1bf9564.js";import"@sankhyalabs/core";import{P as n}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-
|
|
1
|
+
import"./p-5d02c032.js";import"./p-b1bf9564.js";import"@sankhyalabs/core";import{P as n}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-5c6eede7.js";import"./p-ff1990ad.js";import"./p-d88278f8.js";import{V as i}from"./p-9019a32f.js";import{T as s}from"./p-3072136e.js";class t{constructor(n){this._defaultButtons=[],this._defaultButtons=[...n]}process(n,i,s,t=[],r=[]){var o;this.taskbarID=n,this.customButtons=new Map,this.buttonsArray=[],this.disabledButtons=[...t],null===(o=this.getButtonsArray(i,s))||void 0===o||o.forEach((n=>{let o;"string"==typeof n?o=n:(this.customButtons.set(n.name,n),o=n.name),r.includes(o)||(this.isEnabled(i,o,s,t)||this.disabledButtons.push(o),this.buttonsArray.push(o))})),this.buttons=this.buttonsArray.join(",")}getButtonsArray(n,i){return n?n.getButtons(this.taskbarID,i,[...this._defaultButtons]):this._defaultButtons}isEnabled(n,i,s,t){const r=!t.includes(i);return n&&n.isEnabled?n.isEnabled(this.taskbarID,s,i,r):r}}const r=[s.FORM_MODE,s.PREVIOUS,s.NEXT,s.REFRESH,s.SPACER,s.ACTIONS_BUTTON,s.DATA_EXPORTER,s.ATTACH,s.CLONE,s.UPDATE,s.REMOVE,s.INSERT,s.CONFIGURATOR,s.MORE_OPTIONS];var o;function a(n,t,r){var a,e;const l=[{name:o.FILTER,hint:null!==(a=null==r?void 0:r.getMessage("snkCrud.customButtons.filter"))&&void 0!==a?a:"Abre o painel de filtros",iconName:"filter"},{name:o.ENTITY_SEARCH,hint:null!==(e=null==r?void 0:r.getMessage("snkCrud.customButtons.entitySearch"))&&void 0!==e?e:"Busca na entidade",iconName:"search"}],d=[s.CANCEL,s.SAVE];return{getButtons:(r,o,a)=>{var e,u;if(!r)return console.warn("taskbarID não fornecido"),[];if((null==o?void 0:o.insertionMode)||(null==o?void 0:o.isDirty))return d;if(n===i.FORM){const n=a.indexOf(s.FORM_MODE);n>-1&&(a=[...a.slice(0,n),s.GRID_MODE,...a.slice(n+1)])}if((null===(u=null===(e=null==o?void 0:o.selectionInfo)||void 0===e?void 0:e.records)||void 0===u?void 0:u.length)>1){const n=a.indexOf(s.UPDATE);n>-1&&(a=[...a.slice(0,n),s.UPDATE_MULTIPLE,...a.slice(n+1)])}const c=function(n,i){const t=n.findIndex((n=>n===s.SPACER||"string"==typeof n&&"SPACER"===n));return t>-1?[...n.slice(0,t),...i,...n.slice(t)]:[...i,...n]}(a,l);return(null==t?void 0:t.getButtons)?t.getButtons(r,o,c):c},isEnabled:(n,i,r,o)=>{var a;if(!i)return o;if(void 0===i.selectedRecord&&[s.UPDATE,s.REMOVE,s.ATTACH,s.CLONE].includes(r))return!1;const e=function(n){const i=[];return(null==n?void 0:n.hasPrevious)||i.push(s.PREVIOUS),(null==n?void 0:n.hasNext)||i.push(s.NEXT),i}(i);return!e.includes(r)&&(null!==(a=null==t?void 0:t.isEnabled(n,i,r,o))&&void 0!==a?a:o)},getMoreOptions(n,i,s,r){var o;return null===(o=null==t?void 0:t.getMoreOptions)||void 0===o?void 0:o.call(t,n,i,s,r)}}}function e(i,s){var t;const r=i&&!!(null===(t=i.selectionInfo)||void 0===t?void 0:t.length),o={primary:"snkGridHeaderTaskbar",secondary:"snkGridHeaderTaskbar",singleTaskbar:"snkGridHeaderTaskbar.singleTaskbar"}[s];let a=r?`${o}.selected`:`${o}.unselected`;return(null==i?void 0:i.isDirty)&&s===n.SINGLE_TASKBAR&&(a="snkGridHeaderTaskbar.singleTaskbar.finish_edition"),a}function l(n,i){const s={primary:"",secondary:".secondary",singleTaskbar:".singleTaskbar"}[i];return(null==n?void 0:n.isDirty)?`snkGridTopTaskbar.finish_edition${s}`:`snkGridTopTaskbar.regular${s}`}!function(n){n.FILTER="FILTER",n.ENTITY_SEARCH="ENTITY_SEARCH"}(o||(o={}));export{o as C,r as D,t as S,e as a,a as b,l as g}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,i as t,h as s,f as e,g as o,e as a}from"./p-2c9d0870.js";import{Action as n,StringUtils as r,KeyboardManager as d,ObjectUtils as h,ApplicationContext as l}from"@sankhyalabs/core";import{S as c,a as u}from"./p-77c26de0.js";import{buildFormMetadata as v,FormMetadata as f,buildFormConfigFromDataUnit as m}from"@sankhyalabs/ezui/dist/collection/utils/form";import{S as g}from"./p-5d02c032.js";import"./p-b1bf9564.js";import{P as p}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-f076d742.js";import"./p-ff1990ad.js";import{U as b}from"./p-d88278f8.js";import{V as y,a as k,G as w}from"./p-9019a32f.js";import{T as C}from"./p-3072136e.js";import{buildFieldSearch as S,SHORTCUT_SEARCH_FIELD as x,ApplicationUtils as _}from"@sankhyalabs/ezui/dist/collection/utils";import{S as F,D as A,g as T}from"./p-6b8a1ec3.js";import{b as z,a as D,c as G,d as E,g as L,u as N,e as M}from"./p-46d7e2de.js";import"./p-51e853f2.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-a73b6b00.js";const I=class{constructor(t){i(this,t),this._taskbarProcessor=new F(A),this._currentView=0,this.attachmentRegisterKey=void 0,this._fieldToGetFocus=void 0,this._hasToCreateFieldSearch=!0,this._selectedSheet=void 0,this._internalErrorTabs=new Set,this._selectedRecordPKDisplay=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.resourceID=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.messagesBuilder=void 0,this.canEdit=!0,this.taskbarCustomContainerId=void 0,this.customEditors=void 0,this.customRenders=void 0,this.presentationMode=p.SECONDARY}observeDataUnit(i,t){null==i||i.subscribe(this.dataUnitActionHandler.bind(this)),null==t||t.unsubscribe(this.dataUnitActionHandler)}observerDataState(i,t){const s=!(null==t?void 0:t.insertionMode)&&(null==i?void 0:i.insertionMode),e=(null==t?void 0:t.insertionMode)&&!(null==i?void 0:i.insertionMode);(s||e)&&this.loadMetadata(),null!=this._formMetadata&&(this.selectedSheetIsDetail()||(s&&setTimeout((()=>{this.changeViewMode(y.FORM)}),0),e&&this.changeViewMode(y.GRID)))}async changeViewMode(i){this._viewStack&&(this._viewStack.show(i),this._currentView=i)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}async addCustomEditor(i,t){var s,e;const o=this.normalizeDataUnitName();null===(s=this._snkGrid)||void 0===s||s.addCustomEditor(i,t,o),null===(e=this._snkFormView)||void 0===e||e.addCustomEditor(i,t,o)}async observerPropsCustomEditor(i){for(const t in i)await this.addCustomEditor(t,i[t])}async addGridCustomRender(i,t){var s;const e=this.normalizeDataUnitName();await(null===(s=this._snkGrid)||void 0===s?void 0:s.addGridCustomRender(i,t,e))}onContentCardChanged(i){c.updateContentCard(i.detail.formName,i.detail.cardConfig,i.detail.propertyChanged,this.formConfigManager).then((()=>t(this))),i.stopPropagation()}async observeCustomRenders(i){for(const t in i){const s=i[t];await this.addGridCustomRender(t,s)}}loadMetadata(){if(!this.dataUnit||!this.formConfigManager)return;if(!this.formConfigManager.isLoaded)return;const i=this.formConfigManager.getConfig(this.dataUnit);this._formMetadata=v(null==i||0===i.fields.length?void 0:i,this.dataUnit,!0),this.initSelectedSheet()}initSelectedSheet(){if(!this._formMetadata)return void(this._selectedSheet=void 0);const i=this._formMetadata.getAllSheets();if(i&&0!==i.size){if(this._selectedSheet&&this._selectedSheet.name!==I.MAIN_TAB){const t=i.get(this._selectedSheet.name);if(t)return void(this._selectedSheet=t)}this._selectedSheet=this.getFirstNonMainSheet(i)}else this._selectedSheet=void 0}getFirstNonMainSheet(i){for(const[t,s]of i)if(t!==I.MAIN_TAB)return s}dataUnitReadyHandler(i){this.dataUnit=i.detail,this.loadMetadata()}getFormFields(){var i,t,s;const e=null===(t=null===(i=this._formMetadata)||void 0===i?void 0:i.getAllSheets())||void 0===t?void 0:t.get(I.MAIN_TAB);return null!==(s=null==e?void 0:e.fields)&&void 0!==s?s:[]}hasNonMainSheets(){if(!this._formMetadata)return!1;for(const i of this._formMetadata.getAllSheets().keys())if(i!==I.MAIN_TAB)return!0;return!1}selectedSheetIsDetail(){return!!this._selectedSheet&&null!=f.getDetailName(this._selectedSheet.name)}isSheetDisabled(i){var t;if(null==f.getDetailName(i.name))return!1;const s=null===(t=this.dataUnit)||void 0===t?void 0:t.getSelectedRecord();return!s||!this.dataUnit||this.dataUnit.isNewRecord(s.__record__id__)||this.dataUnit.isMultipleEdition}buildInternalTabItems(){return this._formMetadata?Array.from(this._formMetadata.getAllSheets().values()).filter((i=>i.name!==I.MAIN_TAB)).map(((i,t)=>({tabKey:i.name,label:i.label,index:t,disabled:this.isSheetDisabled(i),rightIcon:this._internalErrorTabs.has(i.name)?"alert-circle-inverted":void 0}))):[]}onInternalTabChange(i){var t,s;if(i.tabKey===I.MAIN_TAB)return;const e=null===(s=null===(t=this._formMetadata)||void 0===t?void 0:t.getAllSheets())||void 0===s?void 0:s.get(i.tabKey);e&&!this.isSheetDisabled(e)&&(this._selectedSheet=e)}executeActionHandler(i){var t;i.detail===C.GRID_MODE&&(this.changeViewMode(y.GRID),i.stopPropagation()),i.detail===C.UPDATE_MULTIPLE&&this.dataUnit&&(this.dataUnit.isMultipleEdition=!0,this.changeViewMode(y.FORM),i.stopPropagation()),i.detail!==C.FORM_MODE&&i.detail!==C.UPDATE&&i.detail!==C.INSERT||(this.changeViewMode(y.FORM),i.stopPropagation()),i.detail===C.ATTACH&&(null===(t=this._snkAttach)||void 0===t||t.open(),i.stopPropagation())}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:i})=>i)).join("_")}async handleDataStateChange({detail:i}){var t;this.dataState=i,void 0!==i.selectedRecord&&this._snkDataUnit&&(this.attachmentRegisterKey=null!==(t=await this.getAttachmentRegisterKey())&&void 0!==t?t:void 0),this._selectedRecordPKDisplay=this.buildSelectedRecordPKDisplay()}buildSelectedRecordPKDisplay(){var i,t,s,e,o,a,n;if(!this.dataUnit)return;if(null===(i=this.dataState)||void 0===i?void 0:i.insertionMode){const i=null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage("snkCrud.newRecord");return i?{message:i}:void 0}const r=this.dataUnit.getSelectedRecord();if(!r)return;const d=[],h=null!==(e=null===(s=this.dataUnit.metadata)||void 0===s?void 0:s.fields)&&void 0!==e?e:[];for(const i of h){if("true"!==(null===(o=i.properties)||void 0===o?void 0:o.isPrimaryKey))continue;const t=r[i.name],s=null!==(a=null==t?void 0:t.value)&&void 0!==a?a:t;null!=s&&""!==s&&d.push({label:null!==(n=i.label)&&void 0!==n?n:i.name,value:String(s)})}return d.length?{items:d}:void 0}renderSelectedRecordHeader(){var i;if(!this.label&&!this._selectedRecordPKDisplay)return;const t=this._selectedRecordPKDisplay;if(t){if(t.message)return s("div",{class:"selected-record-header selected-record-header--message"},s("span",{class:"selected-record-header__message"},t.message));if(null===(i=t.items)||void 0===i?void 0:i.length)return s("div",{class:"selected-record-header",role:"group"},t.items.map(((i,t)=>[t>0&&s("span",{class:"selected-record-header__separator","aria-hidden":"true"}),s("div",{class:"selected-record-header__chip"},s("span",{class:"selected-record-header__label"},i.label,":"),s("span",{class:"selected-record-header__value"},i.value))])))}}componentWillLoad(){var i;this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new u(this._configName,null!==(i=this.resourceID)&&void 0!==i?i:"",(()=>this.loadMetadata()),this.dataUnit),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new g(this.entityName))}componentWillRender(){this.initializeTaskbarProcessor()}initializeTaskbarProcessor(){if(!this.dataState)return;const i=this.buildDetailTaskbarManager(),t=T(this.dataState,this.presentationMode);this._taskbarProcessor.process(t,i,this.dataState,[],[])}buildDetailTaskbarManager(){const i=[C.CANCEL,C.SAVE],t=this._currentView;return{getButtons:(s,e,o)=>{var a,n,r;if(!s)return[];if((null==e?void 0:e.insertionMode)||(null==e?void 0:e.isDirty))return i;let d=[...o];if(t===y.FORM){const i=d.indexOf(C.FORM_MODE);i>-1&&(d=[...d.slice(0,i),C.GRID_MODE,...d.slice(i+1)])}if((null!==(r=null===(n=null===(a=null==e?void 0:e.selectionInfo)||void 0===a?void 0:a.records)||void 0===n?void 0:n.length)&&void 0!==r?r:0)>1){const i=d.indexOf(C.UPDATE);i>-1&&(d=[...d.slice(0,i),C.UPDATE_MULTIPLE,...d.slice(i+1)])}return d},isEnabled:(i,t,s,e)=>t?!(void 0===t.selectedRecord&&[C.UPDATE,C.REMOVE,C.ATTACH,C.CLONE].includes(s))&&!(s===C.PREVIOUS&&!t.hasPrevious)&&!(s===C.NEXT&&!t.hasNext)&&(s!==C.INSERT||!t.insertionMode)&&e:e}}async componentDidLoad(){this.customEditors&&await this.observerPropsCustomEditor(this.customEditors),this.customRenders&&await this.observeCustomRenders(this.customRenders),this.initKeyboardManager()}disconnectedCallback(){var i;null===(i=this._keyboardManager)||void 0===i||i.unbindAllShortcutKeys()}async dataUnitActionHandler(i){var t;if(i.type===n.FIELD_INVALIDATED){const s=this.findSheetOfField(null===(t=i.payload)||void 0===t?void 0:t.fieldName);s&&(this._internalErrorTabs=new Set([...this._internalErrorTabs,s]))}}findSheetOfField(i){var t;if(!i||!this._formMetadata)return;const s=this._formMetadata.getAllSheets();for(const[e,o]of s)if(null===(t=o.fields)||void 0===t?void 0:t.some((t=>t.name===i)))return e}normalizeDataUnitName(){var i,t;return null!==(t=null===(i=this.dataUnitName)||void 0===i?void 0:i.replace(/\//g,">"))&&void 0!==t?t:""}getSettingsListForm(){var i,t;return[{value:r.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkCrud.findColumn",void 0))&&void 0!==t?t:"",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>this.getFieldsSearch(t)}]}getFieldsSearch(i){var t;return(void 0===this._fieldSearch||this._hasToCreateFieldSearch)&&(this._hasToCreateFieldSearch=!1,this._fieldSearch=S(i,(({argument:i})=>this.fieldsOptionLoader(i)),(i=>this.onSelectField(i)))),null!==(t=this._fieldSearch)&&void 0!==t?t:document.createElement("div")}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;if(i)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=>{if(i)return{value:i.name,label:i.label}}));return Promise.resolve(s)}onSelectField(i){null!=i&&(this._fieldToGetFocus=i.value)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}getColumnSearch(i){var t;return void 0!==this._columnSearch?this._columnSearch:(this._columnSearch=S(i,(({argument:i})=>new Promise((t=>{var s;null===(s=this._snkGrid)||void 0===s||s.filterColumns(i).then((i=>{t(i.filter((i=>!i.hidden)).map((i=>({label:i.label,value:i.name}))))}))}))),(i=>{var t;null!=i&&(null===(t=this._snkGrid)||void 0===t||t.locateColumn(i.value))})),null!==(t=this._columnSearch)&&void 0!==t?t:document.createElement("div"))}buildTaskbarCustomActionsList(){return[this.buildSearchColumnTaskbarAction()]}buildSearchColumnTaskbarAction(){var i,t;return{value:r.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkGrid.findColumn",{}))&&void 0!==t?t:"",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>{var s;return null!==(s=this.getColumnSearch(t))&&void 0!==s?s:document.createElement("div")}}}async initKeyboardManager(){var i;this._keyboardManager=new d({propagate:!1,element:this._element}),this._keyboardManager.bind(x,(async()=>{var i;await(null===(i=this._snkFormView)||void 0===i?void 0:i.showSearchField())}),{description:null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkSimpleCrud.findFields"),element:this._element})}renderTabSelector(){if(!this.hasNonMainSheets())return;const i=this._selectedSheet&&this._selectedSheet.name!==I.MAIN_TAB?this._selectedSheet.name:void 0;return s("ez-tabselector",{class:"ez-tabselector-internal",tabs:this.buildInternalTabItems(),selectedTab:i,onEzChange:i=>this.onInternalTabChange(i.detail)})}renderSelectedSheetContent(){if(!this._selectedSheet||this._selectedSheet.name===I.MAIN_TAB)return;const i=f.getDetailName(this._selectedSheet.name);return i?s("snk-dynaform-detail-view",{key:`sub_${this.dataUnitName}_${this._selectedSheet.name}`,dataUnitName:`${this.dataUnitName}/${i}`,entityName:i,label:this._selectedSheet.label,resourceID:this.resourceID,canEdit:this.canEdit,messagesBuilder:this.messagesBuilder,customEditors:this.customEditors,customRenders:this.customRenders,presentationMode:this.presentationMode,taskbarCustomContainerId:this.taskbarCustomContainerId}):s("snk-dynaform-form-view",{key:`sheet_${this._selectedSheet.name}`,name:this._selectedSheet.name,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this._selectedSheet.fields,fieldToFocus:this._fieldToGetFocus,label:this._selectedSheet.label,onSnkRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),fieldSearch:this._fieldSearch})}renderViewStack(){var i,t;return s("ez-view-stack",{ref:i=>this._viewStack=i},s("stack-item",{class:"ez-size-width--full ez-size-height--full"},s("snk-grid",{class:"ez-size-width--full ez-size-height--full",ref:i=>{i&&(this._snkGrid=i)},configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.changeViewMode(y.FORM),onActionClick:i=>this.executeActionHandler(i),presentationMode:this.presentationMode,canEdit:this.canEdit,isDetail:!0,taskbarCustomContainerId:this.taskbarCustomContainerId,gridHeaderCustomSlotId:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS",topTaskbarCustomSlotId:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS",outlineMode:!0,enableGridInsert:!0,autoLoad:!0,multipleEditionEnabled:!0,multipleSelection:!0,hideHeader:!0,hideGridTaskbar:!0})),s("stack-item",{class:"ez-size-width--full ez-size-height--full grid-container"},s("div",{class:"form-and-detail-container"},s("snk-dynaform-form-view",{ref:i=>{i&&(this._snkFormView=i)},name:I.MAIN_TAB,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),fieldToFocus:this._fieldToGetFocus,label:this.label,onSnkRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),fieldSearch:this._fieldSearch},this.renderSelectedRecordHeader()),this.renderTabSelector(),this.renderSelectedSheetContent())),s("snk-attach",{ref:i=>this._snkAttach=i,registerKey:null!==(i=this.attachmentRegisterKey)&&void 0!==i?i:"",messagesBuilder:this.messagesBuilder,entityName:null!==(t=this.entityName)&&void 0!==t?t:""}))}render(){return s(e,null,s("snk-data-unit",{ref:i=>{i&&(this._snkDataUnit=i)},dataUnitName:`${this.dataUnitName}`,onDataUnitReady:i=>this.dataUnitReadyHandler(i),entityName:this.entityName,onDataStateChange:this.handleDataStateChange.bind(this),ignoreSaveMessage:this._currentView===y.GRID,messagesBuilder:this.messagesBuilder,configName:this._configName},s("snk-taskbar",{key:"detailViewTaskbar",class:"form-taskbar","data-element-id":"detail_top",configName:this._configName,messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,primaryButton:"INSERT",overflowStrategy:"hiddenItems",alignRigth:!0,sizeButtons:"small",presentationMode:this.presentationMode,onActionClick:i=>this.executeActionHandler(i),dataUnit:this.dataUnit,resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:"DETAIL_TASKBAR_CUSTOM_ELEMENTS",actionsSettingsList:this.getSettingsListForm(),customActionsList:this.buildTaskbarCustomActionsList()},s("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})),this.renderViewStack()))}get _element(){return o(this)}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observerDataState"],customEditors:["observerPropsCustomEditor"],customRenders:["observeCustomRenders"]}}};I.MAIN_TAB="__main",I.style=".sc-snk-dynaform-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%;overflow:hidden}.level-path.sc-snk-dynaform-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.grid-container.sc-snk-dynaform-detail-view{min-height:100px;height:100%;width:100%;display:flex;flex-wrap:wrap;text-decoration:none;border-radius:var(--border--radius-medium);background-color:var(--color--gray-70, #FFFFFF);border:1px solid var(--color--petroleum-100, #C8CCD3)}.detail-header.sc-snk-dynaform-detail-view{padding-bottom:0}snk-data-unit.sc-snk-dynaform-detail-view{flex:1;gap:var(--space--12, 12px);display:flex;flex-direction:column}snk-grid.sc-snk-dynaform-detail-view{height:100%;--snk-grid-margin:0px;--snk-grid-box-shadow:none}.form-and-detail-container.sc-snk-dynaform-detail-view{display:flex;flex-direction:column;height:100%;width:100%;overflow:auto;padding:var(--space--12, 12px)}.ez-tabselector-internal.sc-snk-dynaform-detail-view{margin:var(--space--8, 8px) 0}.selected-record-header.sc-snk-dynaform-detail-view{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space--8, 8px) var(--space--12, 12px);padding:var(--space--12, 12px) var(--space--16, 16px);margin-bottom:var(--space--12, 12px);background:var(--color--gray-80, #F9F9F9);border-radius:var(--border--radius-12, 12px);font-family:var(--font--pattern);border:1px solid var(--color--petroleum-100, #C8CCD3);border-left:4px solid var(--color--ocean-green-500, #00B07E)}.selected-record-header--message.sc-snk-dynaform-detail-view{border-left-color:var(--color--primary, #007EFF)}.selected-record-header__message.sc-snk-dynaform-detail-view{font-size:var(--font-size--default, 14px);font-weight:var(--font-weight--medium, 500);color:var(--color--title-primary, #2B3A54)}.selected-record-header__chip.sc-snk-dynaform-detail-view{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space--4, 4px);min-width:0}.selected-record-header__label.sc-snk-dynaform-detail-view{font-size:var(--font-size--xs, 11px);font-weight:var(--font-weight--medium, 500);text-transform:uppercase;letter-spacing:0.04em;color:var(--color--text-secondary, #6E7A8A)}.selected-record-header__value.sc-snk-dynaform-detail-view{font-size:var(--font-size--md, 15px);font-weight:var(--font-weight--semibold, 600);color:var(--color--ocean-green-1000, #00281D);line-height:1.2;word-break:break-word}.selected-record-header__separator.sc-snk-dynaform-detail-view{display:inline-block;align-self:stretch;width:1px;background:var(--color--petroleum-100, #C8CCD3);margin:0 var(--space--4, 4px)}";const R=class{constructor(t){i(this,t),this.configClose=a(this,"configClose",7),this.configChange=a(this,"configChange",7),this.guidesMap=new Map,this.availableFields=[],this.guidesList=[],this.groupsList=[],this.mainGuide=void 0,this.mainGroupsList=[],this.selectedGuide=void 0,this._formConfig={},this.configOptions=[],this.originalConfigSelected=void 0,this.configSelected=void 0,this.hasChanges=!1,this.optionConfigChanged=!1,this.dataUnit=void 0,this.configManager=void 0,this.ignoreReadOnlyFormFields=void 0,this.messagesBuilder=void 0,this.customGuidesConfig=[]}handleFieldConfigChanged(){this.hasChanges=!0}async handleFormConfigOptionSelected({detail:i}){this.configSelected=i,this.selectedGuide=void 0,await this.loadConfigByUser(),this.optionConfigChanged=!h.equals(this.configSelected,this.originalConfigSelected),this.configSelected.origin===b.DEFAULT&&(this.hasChanges=!1)}async handleAddFieldToGuide({detail:i}){var t,s;const e=this.selectedGuide&&!this.selectedGuide.isCustom&&!this.selectedGuide.isDetail;e||!this.selectedGuide||!this.selectedGuide.isCustom&&!this.selectedGuide.isDetail?e||this.mainGuide?(this.availableFields=[...this.availableFields.filter((t=>t.name!==i.name))],e?await(null===(t=this.refFieldsLayout)||void 0===t?void 0:t.addFieldToLayout(i)):await(null===(s=this.refMainFieldsLayout)||void 0===s?void 0:s.addFieldToLayout(i))):this.showNoGuideSelectedDialog():this.showCanNotAddFieldToGuideDialog()}async handleSetFieldAsAvailable({detail:i}){this.availableFields.some((t=>t.name===i.name))||(this.availableFields=[...this.availableFields,i])}async handleRemoveFieldFromAvailable({detail:i}){this.availableFields=this.availableFields.filter((t=>t.name!==i.name))}observeSelectedGuide(i){var t,s;if((null==i?void 0:i.name)&&(null===(t=this.mainGuide)||void 0===t?void 0:t.name)&&i.name===this.mainGuide.name)return void(this.selectedGuide=void 0);const e=null!==(s=this.guidesMap.get(null==i?void 0:i.name))&&void 0!==s?s:[];this.groupsList=[...e]}observeConfigManager(){this.loadFormConfig()}showNoGuideSelectedDialog(){const i=this.getMessage("snkFormConfig.noGuideSelected.title"),t=this.getMessage("snkFormConfig.noGuideSelected.message");_.alert(i,t)}showCanNotAddFieldToGuideDialog(){const i=this.getMessage("snkFormConfig.canNotAddFieldToGuide.title"),t=this.getMessage("snkFormConfig.canNotAddFieldToGuide.message");_.alert(i,t)}getMessage(i,t){return this.messagesBuilder.getMessage(i,t)}async initializeUserConfig(){if(null!=this.configManager)try{const i=await this.configManager.fetchUserAvailableConfigs();this.configOptions=i;const t=null==this._formConfig||this._formConfig.defaultConfiguration?b.DEFAULT:b.USER;this.configSelected=null==i?void 0:i.find((i=>i.origin===t)),this.originalConfigSelected=null==i?void 0:i.find((i=>i.origin===t))}catch(i){console.error(this.getMessage("snkFormConfig.errors.failFetchUserConfig")),console.error(i)}}async loadConfigByUser(){this.configManager&&this.configSelected&&(this.isConfigDefaultSelected()?await this.handleLoadDefaultConfig():this.loadFormConfig())}async handleLoadDefaultConfig(){const i=await this.configManager.fetchDefaultConfig();if(i)return void this.loadFormConfig(i);const t=this.configManager.getEmptyConfig();t&&this.loadFormConfig(t)}isConfigDefaultSelected(){return this.configSelected.origin===b.DEFAULT}loadFormConfig(i){this._formConfig=i||this.getConfig(),this.loadGuides(),this.initializeAvailableFields()}initializeAvailableFields(){var i;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;const t=[...this._formConfig.fields];this.availableFields=this.dataUnit.metadata.fields.filter((({name:i,visible:s,properties:e})=>{const o=t.some((({name:t})=>t===i));return o||!0!==e.visibleOnConfig||s?!0===s&&!1===o:e.visibleOnConfig}))}getInitialOrder(i){var t,s;return Array.isArray(null===(t=this._formConfig)||void 0===t?void 0:t.tabs)?null===(s=this._formConfig.tabs)||void 0===s?void 0:s.length:i.length>0?Math.max(...i.map((i=>i.order))):0}loadGuides(){var i,t,s,e;this.guidesList=[],this.guidesList.push(...z(this._formConfig,this.getMessage("snkFormConfig.form.mainArea"),this.dataUnit,k.general)),this.guidesList.push(...D(this.dataUnit,this.getInitialOrder(this.guidesList),this.guidesList)),this.guidesList.push(...G(this.customGuidesConfig,this.guidesList)),this.guidesMap=E(null===(i=this._formConfig)||void 0===i?void 0:i.fields,this.guidesList,this.dataUnit,k.general),this.mainGuide=this.guidesList.find((i=>i.name===k.main)),this.mainGroupsList=(null===(t=this.mainGuide)||void 0===t?void 0:t.name)?[...null!==(e=null===(s=this.guidesMap)||void 0===s?void 0:s.get(this.mainGuide.name))&&void 0!==e?e:[]]:[],this.ensureSelectedGuide()}ensureSelectedGuide(){if(this.selectedGuide&&this.guidesList.some((i=>i.name===this.selectedGuide.name)))return;const i=this.guidesList.filter((i=>{var t;return i.visible&&i.name!==(null===(t=this.mainGuide)||void 0===t?void 0:t.name)})).sort(((i,t)=>{var s,e;return(null!==(s=i.order)&&void 0!==s?s:Number.MAX_VALUE)-(null!==(e=t.order)&&void 0!==e?e:Number.MAX_VALUE)}))[0];this.selectedGuide=i}getConfig(){let i=this.configManager.getConfig(this.dataUnit,!1);return i.fields&&0===i.fields.length&&(i=void 0),null==i&&(i=m(this.dataUnit)),h.copy(i)}handleSelectGuide({detail:i}){this.selectedGuide=i}handleLayoutChanged({detail:i}){this.selectedGuide&&(this.hasChanges=!0,this.groupsList=[...i],this.guidesMap.set(this.selectedGuide.name,[...i]))}handleMainLayoutChanged({detail:i}){var t;(null===(t=this.mainGuide)||void 0===t?void 0:t.name)&&(this.hasChanges=!0,this.mainGroupsList=[...i],this.guidesMap.set(this.mainGuide.name,[...i]))}getIsDefaultConfig(){var i;return(null===(i=this.configSelected)||void 0===i?void 0:i.origin)===b.DEFAULT&&!0===this.optionConfigChanged&&!1===this.hasChanges}getTabsToSave(){return this.guidesList.map((i=>({name:i.name,label:i.name===k.main?i.name:i.label,order:i.name===k.main?0:i.order,visible:i.visible})))}async handleSaveConfig(){var i;const t=await this.configManager.saveConfig(this.buildConfigToSave());this.configSelected=null===(i=this.configOptions)||void 0===i?void 0:i.find((i=>i.origin===(this.hasChanges?b.USER:b.DEFAULT))),this.originalConfigSelected=this.configSelected,this.hasChanges=!1,this.optionConfigChanged=!1,_.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"),{iconName:"check"}),this.configChange.emit(t)}buildConfigToSave(){const i=h.copy(this._formConfig);return i.tabs=this.getTabsToSave(),i.fields=L(this.guidesMap),i.defaultConfiguration=this.getIsDefaultConfig(),i}handleAvailableFieldListChanged({detail:i}){this.availableFields=[...i]}handleSetFieldListAsAvailable({detail:i}){this.availableFields=[...this.availableFields,...i]}handleGuideDeleted({detail:i}){var t,s;const e=i.name,o=null!==(t=this.guidesMap.get(e))&&void 0!==t?t:[],a=[];o.forEach((i=>a.push(...i.fields))),this.availableFields=[...this.availableFields,...a],this.guidesList=[...this.guidesList.filter((i=>i.name!==e))],this.guidesMap.delete(e),(null===(s=this.selectedGuide)||void 0===s?void 0:s.name)===e&&(this.selectedGuide=void 0,this.ensureSelectedGuide()),this.hasChanges=!0}handleGuideListChanged({detail:i}){this.hasChanges=!0,this.guidesList=[...i]}handleGuideRenamed({detail:i}){var t;const s=this.selectedGuide;if(!(null==s?void 0:s.name))return;const e=s.name,o=null!==(t=this.guidesMap.get(e))&&void 0!==t?t:[],a=N(o,i);this.guidesMap.delete(e),this.guidesMap.set(i,a);const n={name:i,label:i,visible:s.visible,order:s.order};this.guidesList=[...this.guidesList.map((i=>i.name===e?n:i))],this.groupsList=[...a],this.selectedGuide=n,this.hasChanges=!0}handleCreateNewGuide(){const i=M(this.guidesList,this.getMessage.bind(this)),t={name:i,label:i,visible:!0,order:this.guidesList.length+1},s={name:w.noGroup,fields:[]};this.guidesList=[...this.guidesList,t],this.guidesMap.set(i,[s]),this.selectedGuide=t,this.hasChanges=!0}getGuideNames(){return[...this.guidesList.map((i=>i.name.toLowerCase())),this.getMessage("snkFormConfig.form.mainArea").toLowerCase()]}async componentWillRender(){if(null==this.messagesBuilder){const i=l.getContextValue("__SNK__APPLICATION__");this.messagesBuilder=i.messagesBuilder}}async componentWillLoad(){this.loadFormConfig(),await this.initializeUserConfig()}render(){var i;return s(e,null,s("snk-dynaform-config-header",{configOptions:this.configOptions,selectedConfig:this.configSelected,messagesBuilder:this.messagesBuilder,hasChanges:this.hasChanges,optionConfigChanged:this.optionConfigChanged,onConfigClose:()=>this.configClose.emit(),onSaveConfig:async()=>await this.handleSaveConfig()}),s("div",{class:"form-config-body"},s("div",{class:"form-config-layout"},s("snk-dynaform-fields-selector",{dataUnit:this.dataUnit,availableFields:this.availableFields,onFieldListChanged:this.handleAvailableFieldListChanged.bind(this),messagesBuilder:this.messagesBuilder}),s("div",{class:"main-editing-area"},this.mainGuide&&s("div",{class:"main-fields-section"},s("snk-dynaform-fields-layout",{ref:i=>this.refMainFieldsLayout=i,selectedGuide:this.mainGuide,guideNames:this.getGuideNames(),groupsList:this.mainGroupsList,messagesBuilder:this.messagesBuilder,dataUnit:this.dataUnit,isMainSection:!0,onLayoutChanged:this.handleMainLayoutChanged.bind(this),onSetFieldListAsAvailable:this.handleSetFieldListAsAvailable.bind(this)})),s("snk-dynaform-guides-configurator",{messagesBuilder:this.messagesBuilder,guidesList:this.guidesList,selectedGuide:this.selectedGuide,mainGuideName:null===(i=this.mainGuide)||void 0===i?void 0:i.name,onGuideSelected:this.handleSelectGuide.bind(this),onGuideListChanged:this.handleGuideListChanged.bind(this),onCreateNewGuide:this.handleCreateNewGuide.bind(this),onGuideDeleted:this.handleGuideDeleted.bind(this)}),s("snk-dynaform-fields-layout",{ref:i=>this.refFieldsLayout=i,selectedGuide:this.selectedGuide,guideNames:this.getGuideNames(),groupsList:this.groupsList,messagesBuilder:this.messagesBuilder,dataUnit:this.dataUnit,onGuideRenamed:this.handleGuideRenamed.bind(this),onLayoutChanged:this.handleLayoutChanged.bind(this),onSetFieldListAsAvailable:this.handleSetFieldListAsAvailable.bind(this)})))))}static get watchers(){return{selectedGuide:["observeSelectedGuide"],configManager:["observeConfigManager"]}}};R.style='.sc-snk-dynaform-form-config-h{display:flex;flex-direction:column;height:100vh;width:100%;font-family:var(--font-pattern, "Roboto");background:white;color:#2b3a54;--snk-form-config-container-height:calc(100vh - 95px);outline:none}.form-config-body.sc-snk-dynaform-form-config{height:var(--snk-form-config-container-height);overflow:hidden;padding-top:var(--space--12, 12px)}.form-config-layout.sc-snk-dynaform-form-config{display:flex;flex-direction:row;height:100%;gap:20px;align-items:stretch}.main-editing-area.sc-snk-dynaform-form-config{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;overflow:hidden;gap:12px}.main-editing-area.sc-snk-dynaform-form-config>snk-dynaform-fields-layout.sc-snk-dynaform-form-config{flex:1 1 auto;min-height:0;overflow:auto;flex-direction:row}.main-editing-area.sc-snk-dynaform-form-config>snk-dynaform-guides-configurator.sc-snk-dynaform-form-config{flex:0 0 auto}.main-fields-section.sc-snk-dynaform-form-config{flex:0 0 40vh;display:flex;flex-direction:column;min-height:0;overflow:hidden}.guide-header.sc-snk-dynaform-form-config{display:flex;width:100%;padding-bottom:12px;border-bottom:1px solid #dce0e8;height:30px;font-weight:500;font-size:16px}';export{I as snk_dynaform_detail_view,R as snk_dynaform_form_config}
|
|
1
|
+
import{r as i,i as t,h as s,f as e,g as o,e as a}from"./p-2c9d0870.js";import{Action as n,StringUtils as r,KeyboardManager as d,ObjectUtils as h,ApplicationContext as l}from"@sankhyalabs/core";import{S as c,a as u}from"./p-77c26de0.js";import{buildFormMetadata as v,FormMetadata as f,buildFormConfigFromDataUnit as m}from"@sankhyalabs/ezui/dist/collection/utils/form";import{S as g}from"./p-5d02c032.js";import"./p-b1bf9564.js";import{P as p}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-5c6eede7.js";import"./p-ff1990ad.js";import{U as b}from"./p-d88278f8.js";import{V as y,a as k,G as w}from"./p-9019a32f.js";import{T as C}from"./p-3072136e.js";import{buildFieldSearch as S,SHORTCUT_SEARCH_FIELD as x,ApplicationUtils as _}from"@sankhyalabs/ezui/dist/collection/utils";import{S as F,D as A,g as T}from"./p-e5362a5c.js";import{b as z,a as D,c as G,d as E,g as L,u as N,e as M}from"./p-46d7e2de.js";import"./p-51e853f2.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-a73b6b00.js";const I=class{constructor(t){i(this,t),this._taskbarProcessor=new F(A),this._currentView=0,this.attachmentRegisterKey=void 0,this._fieldToGetFocus=void 0,this._hasToCreateFieldSearch=!0,this._selectedSheet=void 0,this._internalErrorTabs=new Set,this._selectedRecordPKDisplay=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.resourceID=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.messagesBuilder=void 0,this.canEdit=!0,this.taskbarCustomContainerId=void 0,this.customEditors=void 0,this.customRenders=void 0,this.presentationMode=p.SECONDARY}observeDataUnit(i,t){null==i||i.subscribe(this.dataUnitActionHandler.bind(this)),null==t||t.unsubscribe(this.dataUnitActionHandler)}observerDataState(i,t){const s=!(null==t?void 0:t.insertionMode)&&(null==i?void 0:i.insertionMode),e=(null==t?void 0:t.insertionMode)&&!(null==i?void 0:i.insertionMode);(s||e)&&this.loadMetadata(),null!=this._formMetadata&&(this.selectedSheetIsDetail()||(s&&setTimeout((()=>{this.changeViewMode(y.FORM)}),0),e&&this.changeViewMode(y.GRID)))}async changeViewMode(i){this._viewStack&&(this._viewStack.show(i),this._currentView=i)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}async addCustomEditor(i,t){var s,e;const o=this.normalizeDataUnitName();null===(s=this._snkGrid)||void 0===s||s.addCustomEditor(i,t,o),null===(e=this._snkFormView)||void 0===e||e.addCustomEditor(i,t,o)}async observerPropsCustomEditor(i){for(const t in i)await this.addCustomEditor(t,i[t])}async addGridCustomRender(i,t){var s;const e=this.normalizeDataUnitName();await(null===(s=this._snkGrid)||void 0===s?void 0:s.addGridCustomRender(i,t,e))}onContentCardChanged(i){c.updateContentCard(i.detail.formName,i.detail.cardConfig,i.detail.propertyChanged,this.formConfigManager).then((()=>t(this))),i.stopPropagation()}async observeCustomRenders(i){for(const t in i){const s=i[t];await this.addGridCustomRender(t,s)}}loadMetadata(){if(!this.dataUnit||!this.formConfigManager)return;if(!this.formConfigManager.isLoaded)return;const i=this.formConfigManager.getConfig(this.dataUnit);this._formMetadata=v(null==i||0===i.fields.length?void 0:i,this.dataUnit,!0),this.initSelectedSheet()}initSelectedSheet(){if(!this._formMetadata)return void(this._selectedSheet=void 0);const i=this._formMetadata.getAllSheets();if(i&&0!==i.size){if(this._selectedSheet&&this._selectedSheet.name!==I.MAIN_TAB){const t=i.get(this._selectedSheet.name);if(t)return void(this._selectedSheet=t)}this._selectedSheet=this.getFirstNonMainSheet(i)}else this._selectedSheet=void 0}getFirstNonMainSheet(i){for(const[t,s]of i)if(t!==I.MAIN_TAB)return s}dataUnitReadyHandler(i){this.dataUnit=i.detail,this.loadMetadata()}getFormFields(){var i,t,s;const e=null===(t=null===(i=this._formMetadata)||void 0===i?void 0:i.getAllSheets())||void 0===t?void 0:t.get(I.MAIN_TAB);return null!==(s=null==e?void 0:e.fields)&&void 0!==s?s:[]}hasNonMainSheets(){if(!this._formMetadata)return!1;for(const i of this._formMetadata.getAllSheets().keys())if(i!==I.MAIN_TAB)return!0;return!1}selectedSheetIsDetail(){return!!this._selectedSheet&&null!=f.getDetailName(this._selectedSheet.name)}isSheetDisabled(i){var t;if(null==f.getDetailName(i.name))return!1;const s=null===(t=this.dataUnit)||void 0===t?void 0:t.getSelectedRecord();return!s||!this.dataUnit||this.dataUnit.isNewRecord(s.__record__id__)||this.dataUnit.isMultipleEdition}buildInternalTabItems(){return this._formMetadata?Array.from(this._formMetadata.getAllSheets().values()).filter((i=>i.name!==I.MAIN_TAB)).map(((i,t)=>({tabKey:i.name,label:i.label,index:t,disabled:this.isSheetDisabled(i),rightIcon:this._internalErrorTabs.has(i.name)?"alert-circle-inverted":void 0}))):[]}onInternalTabChange(i){var t,s;if(i.tabKey===I.MAIN_TAB)return;const e=null===(s=null===(t=this._formMetadata)||void 0===t?void 0:t.getAllSheets())||void 0===s?void 0:s.get(i.tabKey);e&&!this.isSheetDisabled(e)&&(this._selectedSheet=e)}executeActionHandler(i){var t;i.detail===C.GRID_MODE&&(this.changeViewMode(y.GRID),i.stopPropagation()),i.detail===C.UPDATE_MULTIPLE&&this.dataUnit&&(this.dataUnit.isMultipleEdition=!0,this.changeViewMode(y.FORM),i.stopPropagation()),i.detail!==C.FORM_MODE&&i.detail!==C.UPDATE&&i.detail!==C.INSERT||(this.changeViewMode(y.FORM),i.stopPropagation()),i.detail===C.ATTACH&&(null===(t=this._snkAttach)||void 0===t||t.open(),i.stopPropagation())}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:i})=>i)).join("_")}async handleDataStateChange({detail:i}){var t;this.dataState=i,void 0!==i.selectedRecord&&this._snkDataUnit&&(this.attachmentRegisterKey=null!==(t=await this.getAttachmentRegisterKey())&&void 0!==t?t:void 0),this._selectedRecordPKDisplay=this.buildSelectedRecordPKDisplay()}buildSelectedRecordPKDisplay(){var i,t,s,e,o,a,n;if(!this.dataUnit)return;if(null===(i=this.dataState)||void 0===i?void 0:i.insertionMode){const i=null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage("snkCrud.newRecord");return i?{message:i}:void 0}const r=this.dataUnit.getSelectedRecord();if(!r)return;const d=[],h=null!==(e=null===(s=this.dataUnit.metadata)||void 0===s?void 0:s.fields)&&void 0!==e?e:[];for(const i of h){if("true"!==(null===(o=i.properties)||void 0===o?void 0:o.isPrimaryKey))continue;const t=r[i.name],s=null!==(a=null==t?void 0:t.value)&&void 0!==a?a:t;null!=s&&""!==s&&d.push({label:null!==(n=i.label)&&void 0!==n?n:i.name,value:String(s)})}return d.length?{items:d}:void 0}renderSelectedRecordHeader(){var i;if(!this.label&&!this._selectedRecordPKDisplay)return;const t=this._selectedRecordPKDisplay;if(t){if(t.message)return s("div",{class:"selected-record-header selected-record-header--message"},s("span",{class:"selected-record-header__message"},t.message));if(null===(i=t.items)||void 0===i?void 0:i.length)return s("div",{class:"selected-record-header",role:"group"},t.items.map(((i,t)=>[t>0&&s("span",{class:"selected-record-header__separator","aria-hidden":"true"}),s("div",{class:"selected-record-header__chip"},s("span",{class:"selected-record-header__label"},i.label,":"),s("span",{class:"selected-record-header__value"},i.value))])))}}componentWillLoad(){var i;this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new u(this._configName,null!==(i=this.resourceID)&&void 0!==i?i:"",(()=>this.loadMetadata()),this.dataUnit),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new g(this.entityName))}componentWillRender(){this.initializeTaskbarProcessor()}initializeTaskbarProcessor(){if(!this.dataState)return;const i=this.buildDetailTaskbarManager(),t=T(this.dataState,this.presentationMode);this._taskbarProcessor.process(t,i,this.dataState,[],[])}buildDetailTaskbarManager(){const i=[C.CANCEL,C.SAVE],t=this._currentView;return{getButtons:(s,e,o)=>{var a,n,r;if(!s)return[];if((null==e?void 0:e.insertionMode)||(null==e?void 0:e.isDirty))return i;let d=[...o];if(t===y.FORM){const i=d.indexOf(C.FORM_MODE);i>-1&&(d=[...d.slice(0,i),C.GRID_MODE,...d.slice(i+1)])}if((null!==(r=null===(n=null===(a=null==e?void 0:e.selectionInfo)||void 0===a?void 0:a.records)||void 0===n?void 0:n.length)&&void 0!==r?r:0)>1){const i=d.indexOf(C.UPDATE);i>-1&&(d=[...d.slice(0,i),C.UPDATE_MULTIPLE,...d.slice(i+1)])}return d},isEnabled:(i,t,s,e)=>t?!(void 0===t.selectedRecord&&[C.UPDATE,C.REMOVE,C.ATTACH,C.CLONE].includes(s))&&!(s===C.PREVIOUS&&!t.hasPrevious)&&!(s===C.NEXT&&!t.hasNext)&&(s!==C.INSERT||!t.insertionMode)&&e:e}}async componentDidLoad(){this.customEditors&&await this.observerPropsCustomEditor(this.customEditors),this.customRenders&&await this.observeCustomRenders(this.customRenders),this.initKeyboardManager()}disconnectedCallback(){var i;null===(i=this._keyboardManager)||void 0===i||i.unbindAllShortcutKeys()}async dataUnitActionHandler(i){var t;if(i.type===n.FIELD_INVALIDATED){const s=this.findSheetOfField(null===(t=i.payload)||void 0===t?void 0:t.fieldName);s&&(this._internalErrorTabs=new Set([...this._internalErrorTabs,s]))}}findSheetOfField(i){var t;if(!i||!this._formMetadata)return;const s=this._formMetadata.getAllSheets();for(const[e,o]of s)if(null===(t=o.fields)||void 0===t?void 0:t.some((t=>t.name===i)))return e}normalizeDataUnitName(){var i,t;return null!==(t=null===(i=this.dataUnitName)||void 0===i?void 0:i.replace(/\//g,">"))&&void 0!==t?t:""}getSettingsListForm(){var i,t;return[{value:r.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkCrud.findColumn",void 0))&&void 0!==t?t:"",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>this.getFieldsSearch(t)}]}getFieldsSearch(i){var t;return(void 0===this._fieldSearch||this._hasToCreateFieldSearch)&&(this._hasToCreateFieldSearch=!1,this._fieldSearch=S(i,(({argument:i})=>this.fieldsOptionLoader(i)),(i=>this.onSelectField(i)))),null!==(t=this._fieldSearch)&&void 0!==t?t:document.createElement("div")}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;if(i)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=>{if(i)return{value:i.name,label:i.label}}));return Promise.resolve(s)}onSelectField(i){null!=i&&(this._fieldToGetFocus=i.value)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}getColumnSearch(i){var t;return void 0!==this._columnSearch?this._columnSearch:(this._columnSearch=S(i,(({argument:i})=>new Promise((t=>{var s;null===(s=this._snkGrid)||void 0===s||s.filterColumns(i).then((i=>{t(i.filter((i=>!i.hidden)).map((i=>({label:i.label,value:i.name}))))}))}))),(i=>{var t;null!=i&&(null===(t=this._snkGrid)||void 0===t||t.locateColumn(i.value))})),null!==(t=this._columnSearch)&&void 0!==t?t:document.createElement("div"))}buildTaskbarCustomActionsList(){return[this.buildSearchColumnTaskbarAction()]}buildSearchColumnTaskbarAction(){var i,t;return{value:r.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkGrid.findColumn",{}))&&void 0!==t?t:"",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>{var s;return null!==(s=this.getColumnSearch(t))&&void 0!==s?s:document.createElement("div")}}}async initKeyboardManager(){var i;this._keyboardManager=new d({propagate:!1,element:this._element}),this._keyboardManager.bind(x,(async()=>{var i;await(null===(i=this._snkFormView)||void 0===i?void 0:i.showSearchField())}),{description:null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkSimpleCrud.findFields"),element:this._element})}renderTabSelector(){if(!this.hasNonMainSheets())return;const i=this._selectedSheet&&this._selectedSheet.name!==I.MAIN_TAB?this._selectedSheet.name:void 0;return s("ez-tabselector",{class:"ez-tabselector-internal",tabs:this.buildInternalTabItems(),selectedTab:i,onEzChange:i=>this.onInternalTabChange(i.detail)})}renderSelectedSheetContent(){if(!this._selectedSheet||this._selectedSheet.name===I.MAIN_TAB)return;const i=f.getDetailName(this._selectedSheet.name);return i?s("snk-dynaform-detail-view",{key:`sub_${this.dataUnitName}_${this._selectedSheet.name}`,dataUnitName:`${this.dataUnitName}/${i}`,entityName:i,label:this._selectedSheet.label,resourceID:this.resourceID,canEdit:this.canEdit,messagesBuilder:this.messagesBuilder,customEditors:this.customEditors,customRenders:this.customRenders,presentationMode:this.presentationMode,taskbarCustomContainerId:this.taskbarCustomContainerId}):s("snk-dynaform-form-view",{key:`sheet_${this._selectedSheet.name}`,name:this._selectedSheet.name,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this._selectedSheet.fields,fieldToFocus:this._fieldToGetFocus,label:this._selectedSheet.label,onSnkRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),fieldSearch:this._fieldSearch})}renderViewStack(){var i,t;return s("ez-view-stack",{ref:i=>this._viewStack=i},s("stack-item",{class:"ez-size-width--full ez-size-height--full"},s("snk-grid",{class:"ez-size-width--full ez-size-height--full",ref:i=>{i&&(this._snkGrid=i)},configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.changeViewMode(y.FORM),onActionClick:i=>this.executeActionHandler(i),presentationMode:this.presentationMode,canEdit:this.canEdit,isDetail:!0,taskbarCustomContainerId:this.taskbarCustomContainerId,gridHeaderCustomSlotId:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS",topTaskbarCustomSlotId:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS",outlineMode:!0,enableGridInsert:!0,autoLoad:!0,multipleEditionEnabled:!0,multipleSelection:!0,hideHeader:!0,hideGridTaskbar:!0})),s("stack-item",{class:"ez-size-width--full ez-size-height--full grid-container"},s("div",{class:"form-and-detail-container"},s("snk-dynaform-form-view",{ref:i=>{i&&(this._snkFormView=i)},name:I.MAIN_TAB,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),fieldToFocus:this._fieldToGetFocus,label:this.label,onSnkRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),fieldSearch:this._fieldSearch},this.renderSelectedRecordHeader()),this.renderTabSelector(),this.renderSelectedSheetContent())),s("snk-attach",{ref:i=>this._snkAttach=i,registerKey:null!==(i=this.attachmentRegisterKey)&&void 0!==i?i:"",messagesBuilder:this.messagesBuilder,entityName:null!==(t=this.entityName)&&void 0!==t?t:""}))}render(){return s(e,null,s("snk-data-unit",{ref:i=>{i&&(this._snkDataUnit=i)},dataUnitName:`${this.dataUnitName}`,onDataUnitReady:i=>this.dataUnitReadyHandler(i),entityName:this.entityName,onDataStateChange:this.handleDataStateChange.bind(this),ignoreSaveMessage:this._currentView===y.GRID,messagesBuilder:this.messagesBuilder,configName:this._configName},s("snk-taskbar",{key:"detailViewTaskbar",class:"form-taskbar","data-element-id":"detail_top",configName:this._configName,messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,primaryButton:"INSERT",overflowStrategy:"hiddenItems",alignRigth:!0,sizeButtons:"small",presentationMode:this.presentationMode,onActionClick:i=>this.executeActionHandler(i),dataUnit:this.dataUnit,resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:"DETAIL_TASKBAR_CUSTOM_ELEMENTS",actionsSettingsList:this.getSettingsListForm(),customActionsList:this.buildTaskbarCustomActionsList()},s("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})),this.renderViewStack()))}get _element(){return o(this)}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observerDataState"],customEditors:["observerPropsCustomEditor"],customRenders:["observeCustomRenders"]}}};I.MAIN_TAB="__main",I.style=".sc-snk-dynaform-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%;overflow:hidden}.level-path.sc-snk-dynaform-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.grid-container.sc-snk-dynaform-detail-view{min-height:100px;height:100%;width:100%;display:flex;flex-wrap:wrap;text-decoration:none;border-radius:var(--border--radius-medium);background-color:var(--color--gray-70, #FFFFFF);border:1px solid var(--color--petroleum-100, #C8CCD3)}.detail-header.sc-snk-dynaform-detail-view{padding-bottom:0}snk-data-unit.sc-snk-dynaform-detail-view{flex:1;gap:var(--space--12, 12px);display:flex;flex-direction:column}snk-grid.sc-snk-dynaform-detail-view{height:100%;--snk-grid-margin:0px;--snk-grid-box-shadow:none}.form-and-detail-container.sc-snk-dynaform-detail-view{display:flex;flex-direction:column;height:100%;width:100%;overflow:auto;padding:var(--space--12, 12px)}.ez-tabselector-internal.sc-snk-dynaform-detail-view{margin:var(--space--8, 8px) 0}.selected-record-header.sc-snk-dynaform-detail-view{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space--8, 8px) var(--space--12, 12px);padding:var(--space--12, 12px) var(--space--16, 16px);margin-bottom:var(--space--12, 12px);background:var(--color--gray-80, #F9F9F9);border-radius:var(--border--radius-12, 12px);font-family:var(--font--pattern);border:1px solid var(--color--petroleum-100, #C8CCD3);border-left:4px solid var(--color--ocean-green-500, #00B07E)}.selected-record-header--message.sc-snk-dynaform-detail-view{border-left-color:var(--color--primary, #007EFF)}.selected-record-header__message.sc-snk-dynaform-detail-view{font-size:var(--font-size--default, 14px);font-weight:var(--font-weight--medium, 500);color:var(--color--title-primary, #2B3A54)}.selected-record-header__chip.sc-snk-dynaform-detail-view{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space--4, 4px);min-width:0}.selected-record-header__label.sc-snk-dynaform-detail-view{font-size:var(--font-size--xs, 11px);font-weight:var(--font-weight--medium, 500);text-transform:uppercase;letter-spacing:0.04em;color:var(--color--text-secondary, #6E7A8A)}.selected-record-header__value.sc-snk-dynaform-detail-view{font-size:var(--font-size--md, 15px);font-weight:var(--font-weight--semibold, 600);color:var(--color--ocean-green-1000, #00281D);line-height:1.2;word-break:break-word}.selected-record-header__separator.sc-snk-dynaform-detail-view{display:inline-block;align-self:stretch;width:1px;background:var(--color--petroleum-100, #C8CCD3);margin:0 var(--space--4, 4px)}";const R=class{constructor(t){i(this,t),this.configClose=a(this,"configClose",7),this.configChange=a(this,"configChange",7),this.guidesMap=new Map,this.availableFields=[],this.guidesList=[],this.groupsList=[],this.mainGuide=void 0,this.mainGroupsList=[],this.selectedGuide=void 0,this._formConfig={},this.configOptions=[],this.originalConfigSelected=void 0,this.configSelected=void 0,this.hasChanges=!1,this.optionConfigChanged=!1,this.dataUnit=void 0,this.configManager=void 0,this.ignoreReadOnlyFormFields=void 0,this.messagesBuilder=void 0,this.customGuidesConfig=[]}handleFieldConfigChanged(){this.hasChanges=!0}async handleFormConfigOptionSelected({detail:i}){this.configSelected=i,this.selectedGuide=void 0,await this.loadConfigByUser(),this.optionConfigChanged=!h.equals(this.configSelected,this.originalConfigSelected),this.configSelected.origin===b.DEFAULT&&(this.hasChanges=!1)}async handleAddFieldToGuide({detail:i}){var t,s;const e=this.selectedGuide&&!this.selectedGuide.isCustom&&!this.selectedGuide.isDetail;e||!this.selectedGuide||!this.selectedGuide.isCustom&&!this.selectedGuide.isDetail?e||this.mainGuide?(this.availableFields=[...this.availableFields.filter((t=>t.name!==i.name))],e?await(null===(t=this.refFieldsLayout)||void 0===t?void 0:t.addFieldToLayout(i)):await(null===(s=this.refMainFieldsLayout)||void 0===s?void 0:s.addFieldToLayout(i))):this.showNoGuideSelectedDialog():this.showCanNotAddFieldToGuideDialog()}async handleSetFieldAsAvailable({detail:i}){this.availableFields.some((t=>t.name===i.name))||(this.availableFields=[...this.availableFields,i])}async handleRemoveFieldFromAvailable({detail:i}){this.availableFields=this.availableFields.filter((t=>t.name!==i.name))}observeSelectedGuide(i){var t,s;if((null==i?void 0:i.name)&&(null===(t=this.mainGuide)||void 0===t?void 0:t.name)&&i.name===this.mainGuide.name)return void(this.selectedGuide=void 0);const e=null!==(s=this.guidesMap.get(null==i?void 0:i.name))&&void 0!==s?s:[];this.groupsList=[...e]}observeConfigManager(){this.loadFormConfig()}showNoGuideSelectedDialog(){const i=this.getMessage("snkFormConfig.noGuideSelected.title"),t=this.getMessage("snkFormConfig.noGuideSelected.message");_.alert(i,t)}showCanNotAddFieldToGuideDialog(){const i=this.getMessage("snkFormConfig.canNotAddFieldToGuide.title"),t=this.getMessage("snkFormConfig.canNotAddFieldToGuide.message");_.alert(i,t)}getMessage(i,t){return this.messagesBuilder.getMessage(i,t)}async initializeUserConfig(){if(null!=this.configManager)try{const i=await this.configManager.fetchUserAvailableConfigs();this.configOptions=i;const t=null==this._formConfig||this._formConfig.defaultConfiguration?b.DEFAULT:b.USER;this.configSelected=null==i?void 0:i.find((i=>i.origin===t)),this.originalConfigSelected=null==i?void 0:i.find((i=>i.origin===t))}catch(i){console.error(this.getMessage("snkFormConfig.errors.failFetchUserConfig")),console.error(i)}}async loadConfigByUser(){this.configManager&&this.configSelected&&(this.isConfigDefaultSelected()?await this.handleLoadDefaultConfig():this.loadFormConfig())}async handleLoadDefaultConfig(){const i=await this.configManager.fetchDefaultConfig();if(i)return void this.loadFormConfig(i);const t=this.configManager.getEmptyConfig();t&&this.loadFormConfig(t)}isConfigDefaultSelected(){return this.configSelected.origin===b.DEFAULT}loadFormConfig(i){this._formConfig=i||this.getConfig(),this.loadGuides(),this.initializeAvailableFields()}initializeAvailableFields(){var i;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;const t=[...this._formConfig.fields];this.availableFields=this.dataUnit.metadata.fields.filter((({name:i,visible:s,properties:e})=>{const o=t.some((({name:t})=>t===i));return o||!0!==e.visibleOnConfig||s?!0===s&&!1===o:e.visibleOnConfig}))}getInitialOrder(i){var t,s;return Array.isArray(null===(t=this._formConfig)||void 0===t?void 0:t.tabs)?null===(s=this._formConfig.tabs)||void 0===s?void 0:s.length:i.length>0?Math.max(...i.map((i=>i.order))):0}loadGuides(){var i,t,s,e;this.guidesList=[],this.guidesList.push(...z(this._formConfig,this.getMessage("snkFormConfig.form.mainArea"),this.dataUnit,k.general)),this.guidesList.push(...D(this.dataUnit,this.getInitialOrder(this.guidesList),this.guidesList)),this.guidesList.push(...G(this.customGuidesConfig,this.guidesList)),this.guidesMap=E(null===(i=this._formConfig)||void 0===i?void 0:i.fields,this.guidesList,this.dataUnit,k.general),this.mainGuide=this.guidesList.find((i=>i.name===k.main)),this.mainGroupsList=(null===(t=this.mainGuide)||void 0===t?void 0:t.name)?[...null!==(e=null===(s=this.guidesMap)||void 0===s?void 0:s.get(this.mainGuide.name))&&void 0!==e?e:[]]:[],this.ensureSelectedGuide()}ensureSelectedGuide(){if(this.selectedGuide&&this.guidesList.some((i=>i.name===this.selectedGuide.name)))return;const i=this.guidesList.filter((i=>{var t;return i.visible&&i.name!==(null===(t=this.mainGuide)||void 0===t?void 0:t.name)})).sort(((i,t)=>{var s,e;return(null!==(s=i.order)&&void 0!==s?s:Number.MAX_VALUE)-(null!==(e=t.order)&&void 0!==e?e:Number.MAX_VALUE)}))[0];this.selectedGuide=i}getConfig(){let i=this.configManager.getConfig(this.dataUnit,!1);return i.fields&&0===i.fields.length&&(i=void 0),null==i&&(i=m(this.dataUnit)),h.copy(i)}handleSelectGuide({detail:i}){this.selectedGuide=i}handleLayoutChanged({detail:i}){this.selectedGuide&&(this.hasChanges=!0,this.groupsList=[...i],this.guidesMap.set(this.selectedGuide.name,[...i]))}handleMainLayoutChanged({detail:i}){var t;(null===(t=this.mainGuide)||void 0===t?void 0:t.name)&&(this.hasChanges=!0,this.mainGroupsList=[...i],this.guidesMap.set(this.mainGuide.name,[...i]))}getIsDefaultConfig(){var i;return(null===(i=this.configSelected)||void 0===i?void 0:i.origin)===b.DEFAULT&&!0===this.optionConfigChanged&&!1===this.hasChanges}getTabsToSave(){return this.guidesList.map((i=>({name:i.name,label:i.name===k.main?i.name:i.label,order:i.name===k.main?0:i.order,visible:i.visible})))}async handleSaveConfig(){var i;const t=await this.configManager.saveConfig(this.buildConfigToSave());this.configSelected=null===(i=this.configOptions)||void 0===i?void 0:i.find((i=>i.origin===(this.hasChanges?b.USER:b.DEFAULT))),this.originalConfigSelected=this.configSelected,this.hasChanges=!1,this.optionConfigChanged=!1,_.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"),{iconName:"check"}),this.configChange.emit(t)}buildConfigToSave(){const i=h.copy(this._formConfig);return i.tabs=this.getTabsToSave(),i.fields=L(this.guidesMap),i.defaultConfiguration=this.getIsDefaultConfig(),i}handleAvailableFieldListChanged({detail:i}){this.availableFields=[...i]}handleSetFieldListAsAvailable({detail:i}){this.availableFields=[...this.availableFields,...i]}handleGuideDeleted({detail:i}){var t,s;const e=i.name,o=null!==(t=this.guidesMap.get(e))&&void 0!==t?t:[],a=[];o.forEach((i=>a.push(...i.fields))),this.availableFields=[...this.availableFields,...a],this.guidesList=[...this.guidesList.filter((i=>i.name!==e))],this.guidesMap.delete(e),(null===(s=this.selectedGuide)||void 0===s?void 0:s.name)===e&&(this.selectedGuide=void 0,this.ensureSelectedGuide()),this.hasChanges=!0}handleGuideListChanged({detail:i}){this.hasChanges=!0,this.guidesList=[...i]}handleGuideRenamed({detail:i}){var t;const s=this.selectedGuide;if(!(null==s?void 0:s.name))return;const e=s.name,o=null!==(t=this.guidesMap.get(e))&&void 0!==t?t:[],a=N(o,i);this.guidesMap.delete(e),this.guidesMap.set(i,a);const n={name:i,label:i,visible:s.visible,order:s.order};this.guidesList=[...this.guidesList.map((i=>i.name===e?n:i))],this.groupsList=[...a],this.selectedGuide=n,this.hasChanges=!0}handleCreateNewGuide(){const i=M(this.guidesList,this.getMessage.bind(this)),t={name:i,label:i,visible:!0,order:this.guidesList.length+1},s={name:w.noGroup,fields:[]};this.guidesList=[...this.guidesList,t],this.guidesMap.set(i,[s]),this.selectedGuide=t,this.hasChanges=!0}getGuideNames(){return[...this.guidesList.map((i=>i.name.toLowerCase())),this.getMessage("snkFormConfig.form.mainArea").toLowerCase()]}async componentWillRender(){if(null==this.messagesBuilder){const i=l.getContextValue("__SNK__APPLICATION__");this.messagesBuilder=i.messagesBuilder}}async componentWillLoad(){this.loadFormConfig(),await this.initializeUserConfig()}render(){var i;return s(e,null,s("snk-dynaform-config-header",{configOptions:this.configOptions,selectedConfig:this.configSelected,messagesBuilder:this.messagesBuilder,hasChanges:this.hasChanges,optionConfigChanged:this.optionConfigChanged,onConfigClose:()=>this.configClose.emit(),onSaveConfig:async()=>await this.handleSaveConfig()}),s("div",{class:"form-config-body"},s("div",{class:"form-config-layout"},s("snk-dynaform-fields-selector",{dataUnit:this.dataUnit,availableFields:this.availableFields,onFieldListChanged:this.handleAvailableFieldListChanged.bind(this),messagesBuilder:this.messagesBuilder}),s("div",{class:"main-editing-area"},this.mainGuide&&s("div",{class:"main-fields-section"},s("snk-dynaform-fields-layout",{ref:i=>this.refMainFieldsLayout=i,selectedGuide:this.mainGuide,guideNames:this.getGuideNames(),groupsList:this.mainGroupsList,messagesBuilder:this.messagesBuilder,dataUnit:this.dataUnit,isMainSection:!0,onLayoutChanged:this.handleMainLayoutChanged.bind(this),onSetFieldListAsAvailable:this.handleSetFieldListAsAvailable.bind(this)})),s("snk-dynaform-guides-configurator",{messagesBuilder:this.messagesBuilder,guidesList:this.guidesList,selectedGuide:this.selectedGuide,mainGuideName:null===(i=this.mainGuide)||void 0===i?void 0:i.name,onGuideSelected:this.handleSelectGuide.bind(this),onGuideListChanged:this.handleGuideListChanged.bind(this),onCreateNewGuide:this.handleCreateNewGuide.bind(this),onGuideDeleted:this.handleGuideDeleted.bind(this)}),s("snk-dynaform-fields-layout",{ref:i=>this.refFieldsLayout=i,selectedGuide:this.selectedGuide,guideNames:this.getGuideNames(),groupsList:this.groupsList,messagesBuilder:this.messagesBuilder,dataUnit:this.dataUnit,onGuideRenamed:this.handleGuideRenamed.bind(this),onLayoutChanged:this.handleLayoutChanged.bind(this),onSetFieldListAsAvailable:this.handleSetFieldListAsAvailable.bind(this)})))))}static get watchers(){return{selectedGuide:["observeSelectedGuide"],configManager:["observeConfigManager"]}}};R.style='.sc-snk-dynaform-form-config-h{display:flex;flex-direction:column;height:100vh;width:100%;font-family:var(--font-pattern, "Roboto");background:white;color:#2b3a54;--snk-form-config-container-height:calc(100vh - 95px);outline:none}.form-config-body.sc-snk-dynaform-form-config{height:var(--snk-form-config-container-height);overflow:hidden;padding-top:var(--space--12, 12px)}.form-config-layout.sc-snk-dynaform-form-config{display:flex;flex-direction:row;height:100%;gap:20px;align-items:stretch}.main-editing-area.sc-snk-dynaform-form-config{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;overflow:hidden;gap:12px}.main-editing-area.sc-snk-dynaform-form-config>snk-dynaform-fields-layout.sc-snk-dynaform-form-config{flex:1 1 auto;min-height:0;overflow:auto;flex-direction:row}.main-editing-area.sc-snk-dynaform-form-config>snk-dynaform-guides-configurator.sc-snk-dynaform-form-config{flex:0 0 auto}.main-fields-section.sc-snk-dynaform-form-config{flex:0 0 40vh;display:flex;flex-direction:column;min-height:0;overflow:hidden}.guide-header.sc-snk-dynaform-form-config{display:flex;width:100%;padding-bottom:12px;border-bottom:1px solid #dce0e8;height:30px;font-weight:500;font-size:16px}';export{I as snk_dynaform_detail_view,R as snk_dynaform_form_config}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,h as i,f as s,g as e,e as n}from"./p-2c9d0870.js";import{ApplicationContext as o,StringUtils as r,ErrorException as a,WarningException as l,ObjectUtils as c,DateUtils as d,ServiceUtils as h,StorageType as u,ArrayUtils as g,ElementIDUtils as f,UserInterface as p}from"@sankhyalabs/core";import{D as m}from"./p-5d02c032.js";import{P as v}from"./p-eaad0aa8.js";import"./p-b1bf9564.js";import"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-f076d742.js";import"./p-ff1990ad.js";import{F as b}from"./p-d88278f8.js";import{O as _}from"./p-9019a32f.js";import{g as k}from"./p-7dd49d15.js";import{R as w}from"./p-688dcb4c.js";import{ApplicationUtils as y,DialogType as C,FormLayout as x}from"@sankhyalabs/ezui/dist/collection/utils";import{C as z}from"./p-51e853f2.js";import{GRID_COLUMN_DEFAULT_WIDTHS as S}from"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import{S as A}from"./p-cad964b5.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/utils/SortingUtils";class L{execute(t){var i;const s={actionID:t.actionID,refreshType:null===(i=t.actionConfig.javaCall)||void 0===i?void 0:i.refreshType};return new Promise((t=>{t({execSource:s,callback:this.callExecJava})}))}async callExecJava(t){const i={requestBody:{javaCall:t}};await m.get().callServiceBroker("ActionButtonsSP.executeJava",JSON.stringify(i))}}class N{execute(t){var i;const s={actionID:t.actionID,refreshType:null===(i=t.actionConfig.runScript)||void 0===i?void 0:i.refreshType};return new Promise((t=>{t({execSource:s,callback:this.callExecScript})}))}async callExecScript(t){const i={runScript:t};await m.get().callServiceBroker("ActionButtonsSP.executeScript",i)}}class P{constructor(){this._application=o.getContextValue("__SNK__APPLICATION__")}async execute(t,i){const s=t.resourceID;if(!s)return;let e=await this.buildLaunchObject(t,i);return this._application.openApp(s,e),null}buildLaunchObject(t,i){return new Promise((s=>{let e=t.actionConfig.params.param;if(e&&e.length>0){let n={},o=[];e.forEach((s=>{const e=s.localField;let l=i.getFieldValue(e);if(!l){let s=i.getField(e).label;throw s=r.isEmpty(i.getField(e).label)?e:s,new a(this._application.messagesBuilder.getMessage("snkActionsButton.title.error",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.launchScreen.emptyField",{description:t.description,localFieldLabel:s}))}null!==l&&"object"==typeof l&&"value"in l&&(l=l.value);const c=r.isEmpty(null==l?void 0:l.toString())?void 0:l.toString();n[s.targetField]=c,o.push({fieldName:s.targetField,value:c})})),n.ACTION_PARAMETERS=o,n.call_time=Date.now(),s(n)}s(null)}))}}class O{execute(t){var i,s,e;const n=null===(i=t.actionConfig.dbCall)||void 0===i?void 0:i.name,o=null===(s=t.actionConfig.dbCall)||void 0===s?void 0:s.rootEntity,r={actionID:t.actionID,refreshType:null===(e=t.actionConfig.dbCall)||void 0===e?void 0:e.refreshType,procName:n,rootEntity:o};return new Promise((t=>{t({execSource:r,callback:this.callExecProcedure})}))}async callExecProcedure(t){const i={requestBody:{stpCall:t}};await m.get().callServiceBroker("ActionButtonsSP.executeSTP",JSON.stringify(i))}}var I,D;!function(t){t.LAUNCH_SCREEN="LC",t.JAVASCRIPT="SC",t.JAVA="RJ",t.PROCEDURE="SP",t.EMBEDDED="EB"}(I||(I={}));class E{constructor(t){this.actionType=t,this._application=o.getContextValue("__SNK__APPLICATION__")}get executor(){switch(this.actionType){case I.LAUNCH_SCREEN:return new P;case I.JAVASCRIPT:return new N;case I.JAVA:return new L;case I.PROCEDURE:return new O;default:throw new a(this._application.messagesBuilder.getMessage("snkActionsButton.title.error",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.action.nonExistentType",{actionType:this.actionType}))}}}!function(t){t.NONE="NONE",t.PARENT="PARENT",t.MASTER="MASTER",t.ALL="ALL"}(D||(D={}));const T="__MASTER_ROW__";class B{constructor(t,i,s){var e;this._lastValuesCache={},this._actionsExecuteInterface=t,this._dataUnit=i,this._selectedRows=(null===(e=null==i?void 0:i.getSelectionInfo())||void 0===e?void 0:e.isAllRecords())?[]:null==i?void 0:i.getSelectionInfo().records,this._application=o.getContextValue("__SNK__APPLICATION__"),this._appResourceId=s}getPrimaryKeys(){return k(this._dataUnit).map((({name:t})=>t))}apply(t,i){this._application.closePopUp(),this._actionsExecuteInterface.execute(t,this._dataUnit).then((({execSource:s,callback:e})=>{this.resolvePromptParams(t,s,i).then((()=>{this.actionExecute(s,e)}))}))}async execute(t){var i;if(!t.actionConfig)throw new l(this._application.messagesBuilder.getMessage("snkActionsButton.title.warning",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.action.incorrectAction",{description:t.description}));if(null===(i=t.actionConfig.params)||void 0===i?void 0:i.promptParam){const i=t.actionConfig.params.promptParam;let s=!1;for(let t=0;t<i.length;t++)if(!s&&"true"===i[t].saveLast){s=!0;break}s&&(t.actionConfig.params.promptParam=await this.loadSavedValuesIntoParams(t));const e=document.createElement("snk-actions-form");window.document.body.appendChild(e),e.action=c.copy(t),e.applyParameters=t=>{this.apply(t,s)},e.openPopup()}else t.type!=I.LAUNCH_SCREEN?this._actionsExecuteInterface.execute(t,this._dataUnit).then((({execSource:t,callback:i})=>{this.actionExecute(t,i)})):this._actionsExecuteInterface.execute(t,this._dataUnit)}loadSavedValuesIntoParams(t){return this.loadLastValues(t).then((i=>{let s=t.actionConfig.params.promptParam;return i&&i.param.forEach((t=>{s=s.map((i=>i.name!==t.paramName?i:Object.assign(Object.assign({},i),"B"===i.paramType?{value:"S"===t.$}:{value:t.$})))})),s}))}async actionExecute(t,i){t.virtualPage=this.buildVirtualPage(),await this.prepareAndExecute(t,i),this.recordsReloader(t.refreshType)}resolvePromptParams(t,i,s){return new Promise((e=>{let n=[];t.actionConfig.params.promptParam.forEach((t=>{n.push(this.buildPromptParam(t))})),this.putParamsOnExecSource(n,i),s&&this.saveLastValues(t,n),e()}))}buildPromptParam(t){let i,s,e=t.paramType,n=!1,o=t.value;switch(e){case v.DATE:e="D";break;case v.DATETIME:e="H";break;case v.DECIMAL:e="F",i={"sk-precision":Number(t.precision)};break;case v.BOOLEAN:e="S",n=!0,o=t.value?"S":"N";break;case v.ENTITY:i={"sk-entity-name":t.entityName,"sk-allow-show-hierarchical-mode":t.hierarchyEntity,"sk-data-type":"S"},t.hierarchyEntity&&t.entityPK&&(s=t.entityPK),o=t.value?Number(t.value):null;break;case v.OPTIONS:e="O";let r=t.options.split(";").map((function(t,i){let s,e;if(t.indexOf("=")>-1){let i=t.split("=");s=i[0],e=i[1]}else s=i+1,e=t;return{data:s,value:e}}));i={"sk-options":r}}return{description:t.label,required:"true"==t.required,fieldName:t.name,fieldNameOri:t.name,entityPK:s,paramType:t.paramType,type:e,isCheckbox:n,saveLast:t.saveLast,fieldProp:i,value:o,isGeneratedName:t.isGeneratedName}}putParamsOnExecSource(t,i){i.params={param:[]},t.forEach((t=>{if(t.isGeneratedName&&t.value)throw new a(this._application.messagesBuilder.getMessage("snkActionsButton.title.error",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.action.emptyParamName",void 0));r.isEmpty(t.value)||i.params.param.push({type:this.getParamDataType(t.paramType),paramName:t.fieldName,$:this.getParamValue(t)})}))}getParamDataType(t){let i;switch(t){case"D":i="F";break;case"DT":case"DH":i="D";break;case"B":case"ENTITY":case"SO":i="S";break;default:i=t}return i}getParamValue(t){let i=t.value;return i?("DT"==t.paramType?i=d.formatDate(i):"DH"==t.paramType&&(i=d.formatDateTime(i)),i):i}async loadLastValues(t){const i=await this.buildResourceId(t.actionID);return new Promise(((t,s)=>{if(this._lastValuesCache[i])t(this._lastValuesCache[i]);else{const e={config:{chave:i,tipo:"T"}};m.get().callServiceBroker("SystemUtilsSP.getConf",e).then((s=>{var e,n;let o;(null===(n=null===(e=s.config)||void 0===e?void 0:e.data)||void 0===n?void 0:n.params)&&(o=s.config.data.params,Array.isArray(o.param)||(o.param=[o.param])),this._lastValuesCache[i]=o,t(o)})).catch((t=>{s(t)}))}}))}async saveLastValues(t,i){if(this._application){let s={params:{param:[]}};i.forEach((t=>{"true"==t.saveLast&&s.params.param.push({paramName:t.fieldName,$:t.value})}));const e=await this.buildResourceId(t.actionID);this._lastValuesCache[e]=s.params,this._application.saveConfig(e,s)}}async buildResourceId(t){return this._appResourceId+".actionconfig."+t}async prepareAndExecute(t,i){this.addRows(t),await i(t)}addRows(t){const i=this.getPrimaryKeys(),s={row:[]},e=this._selectedRows;for(const t in e){const n=e[t],o={};n.hasOwnProperty(T)&&(o.master="S",o.entityName=n.__ENTITY_NAME__,delete n[T],delete n.__ENTITY_NAME__),o.field||(o.field=[]);for(const t of i)o.field.push({fieldName:t,$:n[t]});s.row.push(o)}s.row.length>0&&(t.rows=s)}recordsReloader(t){switch(t){case D.NONE:break;case D.PARENT:case D.MASTER:case D.ALL:this._dataUnit.loadData();break;default:this._dataUnit.reloadCurrentRecord()}}buildVirtualPage(){var t,i,s,e;if(null===(i=null===(t=this._dataUnit)||void 0===t?void 0:t.getSelectionInfo())||void 0===i?void 0:i.isAllRecords())return{filters:{filters:null===(s=this._dataUnit)||void 0===s?void 0:s.getAppliedFilters()},orders:{orders:null===(e=this._dataUnit)||void 0===e?void 0:e.getSort()}}}}class j{async clientConfirm(t,i){return new Promise((s=>{var e,n;const r=o.getContextValue("__SNK__APPLICATION__");let a="";t.content.event.hasOwnProperty("stpCall")?(i.requestBody=t.content.event.stpCall,a=I.PROCEDURE):t.content.event.hasOwnProperty("runScript")?(i.requestBody=t.content.event.runScript,a=I.JAVASCRIPT):t.content.event.hasOwnProperty("javaCall")&&(i.requestBody=t.content.event.javaCall,a=I.JAVA);let l={type:"S",sequence:t.content.event.sequence};i.requestBody.params?Array.isArray(i.requestBody.params.param)||(i.requestBody.params.param=[i.requestBody.params.param]):i.requestBody.params={param:[]},i.requestBody.params.param.push(l);const c=t.content.event.title.$,d=t.content.event.message.$;let h;switch(a){case I.JAVASCRIPT:h={runScript:i.requestBody};break;case I.PROCEDURE:h={requestBody:{stpCall:i.requestBody}};break;case I.JAVA:h={requestBody:{javaCall:i.requestBody}}}if("S"==t.content.event.showNoOption){l.paramName="__ESCOLHA_SIMNAO__";const t=document.createElement("snk-client-confirm");window.document.body.appendChild(t),t.titleMessage=c,t.message=d,t.accept=async()=>{l.$="S",await i.reCall(h),s()},t.cancel=async()=>{l.$="N",await i.reCall(h),s()},t.openPopup()}else r.confirm(c,d,null,"warn",{labelCancel:null===(e=null==r?void 0:r.messagesBuilder)||void 0===e?void 0:e.getMessage("snkActionsButton.clientEvent.labelCancel"),labelConfirm:null===(n=null==r?void 0:r.messagesBuilder)||void 0===n?void 0:n.getMessage("snkActionsButton.clientEvent.labelConfirm")}).then((async t=>{t&&(l.paramName="__CONFIRMACAO__",l.$="S",await i.reCall(h),s())}))}))}}const G=class{constructor(i){t(this,i),this.CLIENT_EVENT_CONFIRM_NAME="br.com.sankhya.actionbutton.clientconfirm",this._actions=[],this.handleClick=t=>{const i=this._actions.find((i=>i.actionID==t.detail.id)),s=new E(i.type).executor;new B(s,this._dataUnit,this._resourceID).execute(Object.assign({},i)),this._showDropdown=!1},this.size="medium",this._items=[],this._showDropdown=!1}async getActions(){const t=await h.useCacheWithService(`SnkActionsButton_${this._entityName}-${this._resourceID}`,(async()=>{var t;const i={param:{entityName:this._entityName,resourceID:this._resourceID}};return(null===(t=(await m.get().callServiceBroker("ActionButtonsSP.getActions",i)).actions)||void 0===t?void 0:t.action)||[]}),u.IN_MEMORY_CACHE);this._actions=G.parameters.isOrderActions?g.sortAlphabetically(t,"description"):t}controlDropdown(){this._showDropdown=!this._showDropdown}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this._items)||void 0===t?void 0:t.length)>0}positionDropdown(){var t;const i=null===(t=this._ezButton)||void 0===t?void 0:t.getBoundingClientRect();i&&this._dropdownParent&&(this._dropdownParent.style.top=i.y+i.height+5+"px",this._dropdownParent.style.left=i.x+"px")}closeDropdown(t){const i=null==t?void 0:t.target;i&&(i.closest(".snk-actions-button")||(this._showDropdown=!1))}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}async componentWillLoad(){var t,i;this._application=o.getContextValue("__SNK__APPLICATION__"),await this.loadParameters();const s=this._element.parentElement;this._dataUnit=null==s?void 0:s.dataUnit,this._resourceID=null==s?void 0:s.resourceID,this._entityName=null===(i=null===(t=this._dataUnit)||void 0===t?void 0:t.name)||void 0===i?void 0:i.split("/")[2],null==this._resourceID&&(this._resourceID=await w.getResourceID()),this.setEvents(),await this.getActions(),this.loadItems()}async componentDidLoad(){if(this._element&&(f.addIDInfo(this._element),this.positionDropdown(),!await this._application.hasClientEvent(this.CLIENT_EVENT_CONFIRM_NAME))){const t=new j;this._application.addClientEvent(this.CLIENT_EVENT_CONFIRM_NAME,t.clientConfirm)}}componentDidUpdate(){this.positionDropdown()}loadItems(){this._actions&&0!=this._actions.length&&this._actions.forEach((t=>{this._items.push({id:t.actionID,label:t.description})}))}getElementID(t){return{[f.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:f.getInternalIDInfo(t)}}async loadParameters(){null==G.parameters.isOrderActions&&(G.parameters.isOrderActions=await this._application.getBooleanParam("global.ordenar.acoes.personalizadas"))}render(){return i(s,null,this._actions&&this._actions.length>0&&i("div",{class:`snk-actions-button\n ${this.canShowDropdown()?" ez-elevation--16":""}\n `},i("ez-tooltip",{message:this._application.messagesBuilder.getMessage("snkActionsButton.title.actions",void 0)},i("ez-button",Object.assign({ref:t=>this._ezButton=t,iconName:"acao",mode:"icon",onClick:()=>this.controlDropdown(),size:this.size},this.getElementID("button")))),i("div",Object.assign({ref:t=>this._dropdownParent=t,class:(this.canShowDropdown()?"snk-actions-button__dropdown--show":"snk-actions-button__dropdown")+"\n "},this.getElementID("dropdown")),this.canShowDropdown()&&i("ez-dropdown",Object.assign({items:this._items,onEzClick:t=>this.handleClick(t)},this.getElementID("dropdown"))))),this.canShowDropdown()&&i("div",Object.assign({class:"ez-scrim ez-scrim--light"},this.getElementID("ezScrim"))))}get _element(){return e(this)}};G.parameters={isOrderActions:null},G.style=".sc-snk-actions-button-h{display:flex;width:fit-content;height:fit-content}.snk-actions-button.sc-snk-actions-button{display:flex;width:fit-content;height:fit-content}.snk-actions-button__dropdown--show.sc-snk-actions-button{display:flex;flex-direction:column;position:fixed}.snk-actions-button__dropdown.sc-snk-actions-button>ez-dropdown.sc-snk-actions-button{position:relative}.snk-actions-button__dropdown.sc-snk-actions-button{display:none}";const F=class{constructor(i){t(this,i),this.configChange=n(this,"configChange",7),this.configCancel=n(this,"configCancel",7),this._orderListItems=[],this._orderPriorityList=[],this._visibleList=[],this._hiddenList=[],this._columListItems=[],this._dataChanged=!1,this._componenteInternalKey=Date.now(),this.selectedIndex=0,this.columns=[],this.originalColumns=[],this.config=void 0,this.configName=void 0,this.resourceID=void 0,this.metadata=void 0,this._collapsibleBoxListOrder=!0,this._collapsibleBoxListSelect=!1}getMessage(t,i){return o.getContextValue("__SNK__APPLICATION__").messagesBuilder.getMessage(t,i)}getSortableColumns(){let t=[];return this.columns.filter((t=>{var i;return r.getBooleanValue(null===(i=null==t?void 0:t.props)||void 0===i?void 0:i.get("sortable"),!0)})).forEach((i=>{var s,e;let n=null===(s=this.config)||void 0===s?void 0:s.columns.find((t=>t.name===i.name)),o={label:i.label,sort:null!==(e=null==i?void 0:i.sort)&&void 0!==e?e:_.asc.value,id:i.name};n&&(o.orderIndex=n.orderIndex,o.ascending=n.ascending),i.hidden||t.push(o)})),t}createOrderList(){var t;let i=this.getSortableColumns();if((null===(t=this._orderPriorityList)||void 0===t?void 0:t.length)>0){const t=[];this._orderPriorityList.forEach((s=>{const e=i.find((t=>t.id===s.id));e&&t.push(e)})),i.forEach((i=>{t.find((t=>t.id===i.id))||t.push(i)})),this._orderListItems=t}else i.sort(((t,i)=>0!=t.orderIndex||0!=i.orderIndex||null==t.ascending&&null==i.ascending?null!=t.ascending&&null!=i.ascending?t.orderIndex-i.orderIndex:null!=t.ascending||null!=i.ascending?null!=t.ascending?-1:null!=i.ascending?1:0:t.orderIndex-i.orderIndex:null!=t.ascending?-1:null!=i.ascending?1:0)),this._orderListItems=i}createColumnList(){const t=this.buildVisibleGroup(),i=this.buildHiddenGroup();this.columns.forEach((s=>{const e=this.buildListItemFromColumn(s);s.hidden?i.items.push(e):t.items.push(e)})),this._columListItems=[t,i],this._visibleList=t.items,this._hiddenList=i.items,this.createOrderList()}buildVisibleGroup(){return{group:this.getMessage("snkGridConfig.group.visible"),items:[]}}buildHiddenGroup(){return{group:this.getMessage("snkGridConfig.group.hidden"),items:[],sort:_.asc.value}}createOrderListSlotDataElementId(t){var i;return`${this._element.getAttribute(f.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${r.toCamelCase(null!==(i=t.id)&&void 0!==i?i:t.label)}`}buildOrderListSlot(t){const s=this.createOrderListSlotDataElementId(t);let e=_.none.value;return null!=(null==t?void 0:t.ascending)&&(e=1==t.ascending?_.asc.value:_.desc.value),i("snk-select-box",{selectedOption:e,key:"snk-select-box-"+this._componenteInternalKey+"-"+t,"data-element-id":s,onEzChange:i=>{i.stopPropagation(),this.updateOrder(i.detail,t.id)},preventAutoFocus:!0})}updateOrder(t,i){var s;this._dataChanged=!0;let e,n=[...this.columns],o=n.find((t=>t.name===i));if(o&&(o.sort=t.value===_.none.value?void 0:t.value),(null===(s=this._orderPriorityList)||void 0===s?void 0:s.length)>0){const i=this._orderPriorityList.find((t=>t.id===o.name));i&&(i.sort=t.value===_.none.value?void 0:t.value),this._orderPriorityList.filter((t=>null!=t.sort)).forEach(((t,i)=>{t.id===o.name&&(o.sortIndex=i)}))}else e=n.filter((t=>t.sort&&!0!==t.hidden)).map(((t,i)=>({name:t.name,orderIndex:i}))),e.forEach((t=>{n.find((i=>i.name===t.name)).sortIndex=t.orderIndex}));this.columns=n}finish(){this._dataChanged?(this.updateColumns(),this._dataChanged=!1,this.closeConfig(),this.save(),this._orderPriorityList=[]):this.closeConfig()}updateColumns(){this.columns=this._columListItems.flatMap((t=>t.items.map((i=>this.buildColumnFromListItem(i,t)))))}buildColumnFromListItem(t,i){const s=this.columns.find((i=>i.name===t.id));if(!s)throw new Error(`Column with name "${t.id}" not found.`);return Object.assign(Object.assign({},s),{hidden:i.group===this.getMessage("snkGridConfig.group.hidden")})}saveGridConfigOnStorage(t){z.saveGridConfig(t,this.configName,this.resourceID).then((t=>{this.configChange.emit(t),y.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"),{iconName:"check"})}))}reOrderPriorityColumns(t,i){let s=[];s=t.filter((t=>t.sort&&!0!==t.hidden)).map((t=>({name:t.name,orderIndex:0})));let e=0,n=[];return i.forEach((t=>{let i=s.find((i=>i.name===t.id));i&&(i.orderIndex=e,n.push(i),e++)})),n.length>0&&(s=n),s}save(){var t;let i;i=this.config?this.config:this.createConfigFromState(this.columns);let s,e=[];(null===(t=this._orderPriorityList)||void 0===t?void 0:t.length)>0&&(s=this.reOrderPriorityColumns(this.columns,this._orderPriorityList)),this.columns.forEach((t=>{let n=i.columns.find((i=>t.name===i.name));!0===t.hidden&&n||(n||!1!==t.hidden||(n={name:t.name,orderIndex:0}),n&&(t.sort?(n.ascending=t.sort.toUpperCase()===_.asc.value,s?function(t,i){if(s){let e=s.find((i=>i.name===t.name));e&&(i.orderIndex=e.orderIndex)}}(t,n):n.orderIndex=t.sortIndex):(delete n.ascending,n.orderIndex=0),n.configVersion=F.CURRENT_CONFIG_VERSION,e.push(n)))})),i.columns=e,this.saveGridConfigOnStorage(i)}createConfigFromState(t){let i={columns:[]};return t.forEach((t=>{if(!t.hidden){let s={name:t.name};t.width&&(s.width=t.width),t.sort?(s.ascending=t.sort.toUpperCase()===_.asc.value,s.orderIndex=t.sortIndex):s.orderIndex=0,s&&i.columns.push(s)}})),i}closeConfig(){if(this._dataChanged){let t={canClose:!1,labelCancel:this.getMessage("snkGridConfig.confirm.cancel"),labelConfirm:this.getMessage("snkGridConfig.confirm.save"),btnConfirmDanger:!1};y.confirm(this.getMessage("snkGridConfig.confirm.alert"),this.getMessage("snkGridConfig.confirm.msgCancel"),null,C.WARN,t).then((t=>{t?this.finish():(this._dataChanged=!1,this._orderPriorityList=[],this.configCancel.emit(),this._componenteInternalKey=Date.now())}))}else this.configCancel.emit()}handleColumnListChange(t){var i;if(t.detail){let s=null===(i=t.detail.find((t=>t.group===this.getMessage("snkGridConfig.group.visible"))))||void 0===i?void 0:i.items;s&&(this._dataChanged=!0,this._orderListItems=s)}}handleOrderListChange(t){if(t.detail){let i=t.detail;i&&(this._dataChanged=!0,this._orderPriorityList=i)}}componentWillRender(){var t;(null===(t=this.columns)||void 0===t?void 0:t.length)>0&&this.createColumnList()}componentDidLoad(){f.addIDInfo(this._element)}handleRightListChange(t){const i=this._columListItems.find((t=>t.group===this.getMessage("snkGridConfig.group.visible")));i&&i.items!=t&&(i.items=t,this._dataChanged=!0)}getListSlots(){return{RIGHT_LIST:{itemRightSlotBuilder:t=>this.buildOrderListSlot(t)}}}renderResetConfigBtn(){if(this.resourceID)return i("ez-button",{class:"padding-right--medium",label:this.getMessage("snkGridConfig.reset"),onClick:()=>this.setDefaultConfig()})}async setDefaultConfig(){var t;if(!this.resourceID)return;this._dataChanged=!0,this._orderPriorityList=[];const i=await z.getDefaultGridConfig(this.resourceID),s=null!==(t=null==i?void 0:i.columns.map((t=>t.name)))&&void 0!==t?t:[],e=0===s.length,n=this.buildVisibleGroup(),o=this.buildHiddenGroup(),r=new Map;if((e?this.originalColumns:this.columns).forEach((t=>{const i=this.buildListItemFromColumn(t);e||s.includes(t.name)?(i.width=this.getDefaultWidthBasedOnMetadata(t.name),r.set(t.name,i)):o.items.push(i)})),e){const t=[];r.forEach((i=>t.push(i))),n.items=t}else n.items=s.map((t=>r.get(t))).filter((t=>t));this._columListItems=[n,o],this._visibleList=n.items,this._hiddenList=o.items,this.config&&(this.config.columns=this.transformListToConfig(n.items)),this.updateColumns(),this.createOrderList()}transformListToConfig(t){return t.map(((t,i)=>({name:t.id,hidden:!1,orderIndex:Number(t.sort)||i,width:t.width})))}getDefaultWidthBasedOnMetadata(t){var i,s;if(!this.metadata)return;const e=null===(s=null===(i=this.metadata)||void 0===i?void 0:i.fields)||void 0===s?void 0:s.find((i=>i.name===t));return S[null==e?void 0:e.userInterface]||S[p.SHORTTEXT]}buildListItemFromColumn(t){var i;return{label:t.label,selected:!1,sort:null!==(i=null==t?void 0:t.sort)&&void 0!==i?i:_.asc.value,id:t.name,width:t.width}}render(){return i(s,null,i("div",{class:"grid-config__header"},i("div",{class:"title-container"},i("div",{class:"ez-margin-bottom--medium"},i("label",{class:"title"},this.getMessage("snkGridConfig.gridConfiguration")),i("label",{class:"subtitle"},this.getMessage("snkGridConfig.columnVisibilityOrder"))),i("div",{class:"button-close"},i("ez-button",{mode:"icon",iconName:"close",size:"medium",class:"ez-button--tertiary",onClick:()=>this.closeConfig()})))),i("div",{class:"grid-config__body"},i("ez-collapsible-box",{id:"group-select-columns",label:this.getMessage("snkGridConfig.columnsSelection"),"header-size":"medium",key:"key_group-select-columns",value:this._collapsibleBoxListSelect,onEzChange:({detail:t})=>this._collapsibleBoxListOrder=!t},i("div",{class:"grid-config__main"},i("ez-double-list",{leftList:this._hiddenList,leftTitle:this.getMessage("snkGridConfig.availableColumns"),rightList:this._visibleList,rightTitle:this.getMessage("snkGridConfig.selectedColumns"),onEzRightListChanged:({detail:t})=>this.handleRightListChange(t),emptyMessage:{LEFT_LIST:this.getMessage("snkGridConfig.emptyMensage.left"),RIGHT_LIST:this.getMessage("snkGridConfig.emptyMensage.right")},entityLabel:"coluna",entityLabelPlural:"colunas"}))),i("ez-collapsible-box",{id:"ID_group-order-columns",label:this.getMessage("snkGridConfig.dataOrdering"),"header-size":"medium",key:"KEY_group-order-columns",value:this._collapsibleBoxListOrder,onEzChange:({detail:t})=>this._collapsibleBoxListSelect=!t},i("div",{class:"grid-config__main"},i("ez-double-list",{rightList:this._orderListItems,rightTitle:this.getMessage("snkGridConfig.selectedColumns"),useOnlyRightList:!0,slotsListBuilder:this.getListSlots(),onEzRightListChanged:t=>this.handleOrderListChange(t),emptyMessage:{RIGHT_LIST:this.getMessage("snkGridConfig.emptyMensage.right")},entityLabel:"coluna",entityLabelPlural:"colunas"})))),i("div",{class:"grid-config__footer"},this.renderResetConfigBtn(),i("ez-button",{class:"padding-right--medium",label:this.getMessage("snkGridConfig.cancel"),onClick:()=>this.closeConfig()}),i("ez-button",{label:this.getMessage("snkGridConfig.complete"),class:"ez-button--primary",onClick:()=>this.finish()})))}static get assetsDirs(){return["../assets"]}get _element(){return e(this)}};F.CURRENT_CONFIG_VERSION=1,F.style='.sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, "Roboto");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, "Roboto");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, "Roboto");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--small, 6px);display:flex;flex-direction:column;max-height:100%;width:100%}.grid-config__body.sc-snk-grid-config{overflow:auto}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;width:100%;padding-bottom:20px;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}';const R=class{constructor(i){t(this,i),this.handleNumberingConfigChanged=t=>{const i=t.detail;i&&this.applyConfiguration(i)},this.autoNumbering=!1,this.initialNumber=void 0,this.messagesBuilder=void 0,this.entityName=void 0,this.resourceID=void 0}async save(){try{if(this._savedConfig&&this._savedConfig.isAutoNumbering===this.autoNumbering&&this._savedConfig.initialNumber===this.initialNumber)return!0;const t={entityName:this.entityName,isAutoNum:this.autoNumbering,numInicial:this.initialNumber};return await this._servicesNumberingConfig.saveConfig(t),this._savedConfig={isAutoNumbering:this.autoNumbering,initialNumber:this.initialNumber},this._snkCrud&&this._snkCrud.updateNumberingConfig&&await this._snkCrud.updateNumberingConfig(this._savedConfig),!0}catch(t){return console.error("Error saving numbering config:",t),!1}}async componentWillLoad(){const t=o.getContextValue("__SNK__APPLICATION__");this.findParentSnkCrud(),this._servicesNumberingConfig=new A(t,this.resourceID),this.entityName&&await this.loadNumberingConfiguration()}findParentSnkCrud(){const t=this._element.closest("snk-crud");t&&(this._snkCrud=t,this._snkCrud.addEventListener("numberingConfigChanged",this.handleNumberingConfigChanged.bind(this)))}async loadNumberingConfiguration(){try{const t=await this.tryGetConfigFromSnkCrud();if(t)return void this.applyConfiguration(t);const i=await this.loadConfigFromService();this.applyConfiguration(i),await this.updateSnkCrudConfig(i)}catch(t){console.error("Error loading numbering config:",t),this.setDefaultConfiguration()}}async tryGetConfigFromSnkCrud(){if(!this._snkCrud)return null;try{const t=await this._snkCrud.getNumberingConfig();if(t)return t}catch(t){console.log("snk-crud não tem configuração ainda, carregando diretamente...")}return null}async loadConfigFromService(){return await this._servicesNumberingConfig.getConfig(this.entityName)}applyConfiguration(t){this._savedConfig=t,this.autoNumbering=t.isAutoNumbering,this.initialNumber=t.initialNumber}async updateSnkCrudConfig(t){if(this._snkCrud)try{await this._snkCrud.updateNumberingConfig(t)}catch(t){console.warn("Erro ao atualizar configuração no snk-crud:",t)}}setDefaultConfiguration(){this.autoNumbering=!1,this.initialNumber=null}getMessage(t,i){var s;return null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(t,i)}disconnectedCallback(){this._snkCrud&&this._snkCrud.removeEventListener("numberingConfigChanged",this.handleNumberingConfigChanged)}render(){return i("div",{class:"ez-flex ez-flex--column"},i("ez-check",{mode:"SWITCH",label:this.getMessage("snkNumberingConfig.labelAutoNumbering"),class:"ez-margin-bottom--medium",onEzChange:({detail:t})=>this.autoNumbering=t,value:this.autoNumbering}),i("ez-number-input",{label:this.getMessage("snkNumberingConfig.labelInitialNumber"),onEzChange:({detail:t})=>this.initialNumber=t,value:this.initialNumber,precision:0,prettyPrecision:0,allowNegative:!1,enabled:this.autoNumbering}))}get _element(){return e(this)}};R.style=".sc-snk-numbering-config-h{display:block}";const M=class{constructor(i){t(this,i),this.ezChange=n(this,"ezChange",7),this.selectedOption=_.none,this.preventAutoFocus=!1}render(){return i("ez-combo-box",{class:"grid-config-combo ez-input--inverted",label:"",suppressSearch:!0,value:this.selectedOption,enabled:!0,canShowError:!1,suppressEmptyOption:!0,preventAutoFocus:this.preventAutoFocus},Object.keys(_).map((t=>i("option",{value:_[t].value},_[t].label))))}static get assetsDirs(){return["../assets"]}};M.style="ez-combo-box{width:100px;--ez-text-input__margin-bottom:0px}.grid-config-combo{--ez-text-input--height:28px;--ez-text-input__input--background-color:#fff;--ez-text-input__input--border-color:#dce0e8}";const H=class{constructor(i){t(this,i),this.snkConfigSaved=n(this,"snkConfigSaved",7),this._formConfigFetcher=new b,this.fieldsToSave=[],this.dataUnit=void 0,this.configName=void 0,this.messagesBuilder=void 0,this.avaliableFields=[],this.selectedFields=[]}async show(){var t;await(null===(t=this.ezDoubleListRef)||void 0===t?void 0:t.resetSelectedLists()),await this.initializeFormConfig(),this.ezPopupRef.opened=!0}async initializeFormConfig(){if(!this.configName)return;const t=this.getAllVisibleFieldsFromDataUnit(),i=await this.getConfig();if(0===i.length)return this.avaliableFields=[],this.selectedFields=[...t],void(this.fieldsToSave=[...this.selectedFields]);const s=this.sortDisplayedFields(i,t),e=t.filter((t=>!i.includes(t.id)));this.avaliableFields=[...e],this.selectedFields=[...s],this.fieldsToSave=[...this.selectedFields]}async getConfig(){const t=await this._formConfigFetcher.fetchSimpleFormConfig(this.configName);return[...this.removeDuplicates(t)]}getMessage(t,i){var s;return null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(t,i)}removeDuplicates(t){return t.filter(((i,s)=>t.indexOf(i)===s))}sortDisplayedFields(t,i){const s=[];return t.forEach((t=>{const e=i.find((i=>i.id===t));e&&s.push(e)})),s}getAllVisibleFieldsFromDataUnit(){var t,i,s;return(null!==(s=null===(i=null===(t=this.dataUnit)||void 0===t?void 0:t.metadata)||void 0===i?void 0:i.fields)&&void 0!==s?s:[]).filter((t=>t.visible)).map((t=>({id:t.name,label:t.label})))}close(){this.ezPopupRef.opened=!1}async handleResetConfigs(){await this._formConfigFetcher.restoreFormConfig(this.configName),await this.initializeFormConfig(),await this.handleSave()}handleCancel(){this.close()}async handleSave(){const t=this.fieldsToSave.map((t=>t.id));await this._formConfigFetcher.saveSimpleFormConfig(this.configName,t),this.close(),this.snkConfigSaved.emit()}render(){return i("ez-popup",{ref:t=>this.ezPopupRef=t,heightMode:"auto",size:"medium",ezTitle:this.getMessage("snkSimpleFormConfig.popup.title")},i("div",{class:"config-container"},i("div",{class:"config-lists"},i("ez-double-list",{ref:t=>this.ezDoubleListRef=t,leftList:this.avaliableFields,leftTitle:this.getMessage("snkSimpleFormConfig.lists.availableFields"),rightList:this.selectedFields,rightTitle:this.getMessage("snkSimpleFormConfig.lists.selectedFields"),onEzRightListChanged:({detail:t})=>this.fieldsToSave=[...t],entityLabel:this.getMessage("snkSimpleFormConfig.lists.entityLabel"),entityLabelPlural:this.getMessage("snkSimpleFormConfig.lists.entityLabelPlural")})),i("div",{class:"config-actions"},i("ez-button",{label:this.getMessage("snkSimpleFormConfig.buttons.restore"),onClick:this.handleResetConfigs.bind(this),size:"small"}),i("ez-button",{label:this.getMessage("snkSimpleFormConfig.buttons.cancel"),onClick:this.handleCancel.bind(this),size:"small"}),i("ez-button",{label:this.getMessage("snkSimpleFormConfig.buttons.save"),class:"ez-button--primary",onClick:this.handleSave.bind(this),size:"small"}))))}};H.style=":host{display:block}.config-container{display:flex;flex-direction:column;align-items:center;justify-content:space-between}.config-lists{width:100%;margin-bottom:12px}.config-actions{display:flex;flex-direction:row;justify-content:flex-end;width:100%;gap:12px}";const K=class{constructor(i){t(this,i)}render(){return i(s,null,i("ez-skeleton",{variant:"circle",count:12}),i("ez-skeleton",{width:"100px"}))}};K.style=".sc-snk-taskbar-skeleton-h{display:flex;align-items:center;height:100%;padding:0 var(--space--8, 8px)}ez-skeleton.sc-snk-taskbar-skeleton{--skeleton-width:42px;--skeleton-height:42px;--skeleton-margin-left:var(--space--4, 4px)}";const $=class{constructor(i){t(this,i),this.mode=x.SIDE_BY_SIDE}renderCascadeLayout(){return i("div",{class:"svg-container__collumn"},[...Array(3)].map((()=>i("div",{class:"svg-container__section"},i("div",{class:"svg-container__line svg-container__line--short"}),i("div",{class:"svg-container__line svg-container__line--long"})))))}renderSideBySideLayout(){return i("div",{class:"svg-container__inline"},[...Array(2)].map((()=>this.renderCascadeLayout())))}render(){return i("div",{class:"svg-container ez-margin-left--small"},i("div",{class:"svg-container__background"},i("div",{class:"svg-container__header"},i("div",{class:"svg-container__circle svg-container__circle--red"}),i("div",{class:"svg-container__circle svg-container__circle--yellow"}),i("div",{class:"svg-container__circle svg-container__circle--green"})),this.mode===x.CASCADE||this.mode===x.CLASSIC_CASCADE?this.renderCascadeLayout():this.renderSideBySideLayout()))}};$.style=".sc-snk-view-representation-h{display:block}.svg-container.sc-snk-view-representation{display:flex;width:185px;height:125px;border-radius:8px;background-color:#f7f7f7;padding:10px 12px;box-sizing:border-box;position:relative}.svg-container__background.sc-snk-view-representation{display:flex;flex-direction:column;width:100%}.svg-container__header.sc-snk-view-representation{display:flex;gap:2px;margin-bottom:12px}.svg-container__circle.sc-snk-view-representation{width:9px;height:9px;border-radius:50%}.svg-container__circle--red.sc-snk-view-representation{background-color:#ed7678}.svg-container__circle--yellow.sc-snk-view-representation{background-color:#eddb76}.svg-container__circle--green.sc-snk-view-representation{background-color:#7ad08e}.svg-container__section.sc-snk-view-representation{width:100%}.svg-container__collumn.sc-snk-view-representation{width:100%;display:flex;flex-direction:column}.svg-container__inline.sc-snk-view-representation{display:flex;flex-direction:row;gap:6px}.svg-container__line.sc-snk-view-representation{height:13px;border-radius:4px;background-color:#d9d9d9;margin-bottom:4px}.svg-container__line--short.sc-snk-view-representation{width:39.68px;height:7px;border-radius:3.5px}.svg-container__line--long.sc-snk-view-representation{width:100%}";const V=class{constructor(i){t(this,i),this.taskbarActionSelected=n(this,"taskbarActionSelected",7),this.taskbarActionsOpened=n(this,"taskbarActionsOpened",7),this.taskbarActionsButtonDisconnected=n(this,"taskbarActionsButtonDisconnected",7),this._showDropdown=!1,this._openToLeft=!1,this.title=void 0,this.enabled=void 0,this.actions=void 0,this.size="medium"}async handleKeyDown(t){"Escape"!==t.key&&"Esc"!==t.key||await this.hideActions()}async handleClose(){await this.hideActions()}async showActions(){this.checkDropdownPosition(),this._showDropdown=!0,requestAnimationFrame((()=>{this._element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}))}async hideActions(){this._showDropdown=!1}async isOpened(){return this._showDropdown}controlDropdown(){this._showDropdown||this.checkDropdownPosition(),this._showDropdown=!this._showDropdown}checkDropdownPosition(){const t=this._element.getBoundingClientRect(),i=window.innerWidth;this._openToLeft=i-t.right<150}loadItems(){return this.actions.filter((t=>void 0!==t)).map((t=>{var i;return{id:t.value,label:t.label,value:t.value,type:null!==(i=t.type)&&void 0!==i?i:"item",children:t.children,iconName:t.iconName,subAction:t.subAction,group:t.group,disableCloseOnSelect:t.disableCloseOnSelect}}))}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this.actions)||void 0===t?void 0:t.length)>0}onSelectAction(t){const i=this.actions.map((t=>Object.assign(Object.assign({},t),{id:t.value}))),s=this.getSelectedAction(t.id,i);this.taskbarActionSelected.emit(s),s.disableCloseOnSelect||(this._showDropdown=!1)}getSelectedAction(t,i){let s=null;for(const e of i){if(e.id===t){s=e;break}if((null==e?void 0:e.children)&&(s=this.getSelectedAction(t,e.children),s))break}return s}dropdownItemBuilder(t,s){const e=this.actions.find((i=>i.value===t.id));if(!e||!e.itemBuilder)return;const n=e.itemBuilder(this._element,e);return"string"==typeof n?i("div",{innerHTML:n}):n}initializeEagerItems(){var t;null===(t=this.actions)||void 0===t||t.forEach((t=>{var i;t&&t.eagerInitialize&&t.itemBuilder&&(null===(i=t.itemBuilder)||void 0===i||i.call(t,this._element,t))}))}componentDidLoad(){this.initializeEagerItems()}componentDidRender(){this._showDropdown&&this.taskbarActionsOpened.emit(this._element)}disconnectedCallback(){this.taskbarActionsButtonDisconnected.emit()}render(){return i(s,null,i("div",{class:(this.canShowDropdown()?" ez-elevation--16":"")+" ez-dropdown-container"},i("ez-tooltip",{message:this.title},i("ez-button",{mode:"icon",iconName:"dots-vertical",isDisabled:!this.enabled,onClick:()=>this.controlDropdown(),size:this.size})),this.canShowDropdown()&&i("ez-dropdown",{class:{"ez-dropdown--sticky":!0,"ez-dropdown--open-left":this._openToLeft},items:this.loadItems(),onEzClick:t=>this.onSelectAction(t.detail),onEzOutsideClick:()=>this._showDropdown=!1,itemBuilder:(t,i)=>this.dropdownItemBuilder(t,i)})))}get _element(){return e(this)}};V.style=".sc-taskbar-actions-button-h{--ez-dropdown--min-width:150px;display:flex;width:fit-content;height:fit-content}.ez-dropdown-container.sc-taskbar-actions-button{position:relative;display:inline-block}.ez-dropdown--sticky.sc-taskbar-actions-button{position:absolute;display:block;min-width:var(--ez-dropdown--min-width);top:100%;left:0;margin-top:4px}.ez-dropdown--open-left.sc-taskbar-actions-button{left:auto;right:0}";const q=class{constructor(i){t(this,i),this._showDropdown=!1,this.iconName=void 0,this.action=void 0,this.name=void 0,this.className=void 0,this.dataElementId=void 0,this.title=void 0,this.enabled=void 0,this.actions=void 0,this.size="medium"}initializeEagerItems(){var t;null===(t=this.actions)||void 0===t||t.forEach((t=>{var i;t&&t.eagerInitialize&&t.itemBuilder&&(null===(i=t.itemBuilder)||void 0===i||i.call(t,this._splitButtonRef,t))}))}componentDidLoad(){this.initializeEagerItems()}dropdownItemBuilder(t,s){const e=this.actions.find((i=>i.value===t.id));if(!e||!e.itemBuilder)return;const n=e.itemBuilder(this._splitButtonRef,e);return"string"==typeof n?i("div",{innerHTML:n}):n}loadItems(){return this.actions.filter((t=>void 0!==t)).map((t=>{var i;return{id:t.value,label:t.label,value:t.value,type:null!==(i=t.type)&&void 0!==i?i:"item",children:t.children,iconName:t.iconName,subAction:t.subAction,group:t.group,disableCloseOnSelect:t.disableCloseOnSelect}}))}ajustSizeButton(){return this.size&&"small"!==this.size?"large":"medium"}render(){return i(s,null,i("ez-split-button",{ref:t=>this._splitButtonRef=t,key:this.dataElementId,class:`${this.className} "ez-split-button--tertiary ez-padding--medium"`,items:this.loadItems(),mode:"icon-only",size:this.ajustSizeButton(),leftIconName:this.iconName,isDisabled:!this.enabled,show:this._showDropdown,onButtonClick:()=>this.action(this.name),itemBuilder:(t,i)=>this.dropdownItemBuilder(t,i),leftTitle:this.title}))}};q.style="";export{G as snk_actions_button,F as snk_grid_config,R as snk_numbering_config,M as snk_select_box,H as snk_simple_form_config,K as snk_taskbar_skeleton,$ as snk_view_representation,V as taskbar_actions_button,q as taskbar_split_button}
|
|
1
|
+
import{r as t,h as i,f as s,g as e,e as n}from"./p-2c9d0870.js";import{ApplicationContext as o,StringUtils as r,ErrorException as a,WarningException as l,ObjectUtils as c,DateUtils as d,ServiceUtils as h,StorageType as u,ArrayUtils as g,ElementIDUtils as f,UserInterface as p}from"@sankhyalabs/core";import{D as m}from"./p-5d02c032.js";import{P as v}from"./p-eaad0aa8.js";import"./p-b1bf9564.js";import"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-5c6eede7.js";import"./p-ff1990ad.js";import{F as b}from"./p-d88278f8.js";import{O as _}from"./p-9019a32f.js";import{g as k}from"./p-7dd49d15.js";import{R as w}from"./p-688dcb4c.js";import{ApplicationUtils as y,DialogType as C,FormLayout as x}from"@sankhyalabs/ezui/dist/collection/utils";import{C as z}from"./p-51e853f2.js";import{GRID_COLUMN_DEFAULT_WIDTHS as S}from"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import{S as A}from"./p-cad964b5.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/utils/SortingUtils";class L{execute(t){var i;const s={actionID:t.actionID,refreshType:null===(i=t.actionConfig.javaCall)||void 0===i?void 0:i.refreshType};return new Promise((t=>{t({execSource:s,callback:this.callExecJava})}))}async callExecJava(t){const i={requestBody:{javaCall:t}};await m.get().callServiceBroker("ActionButtonsSP.executeJava",JSON.stringify(i))}}class N{execute(t){var i;const s={actionID:t.actionID,refreshType:null===(i=t.actionConfig.runScript)||void 0===i?void 0:i.refreshType};return new Promise((t=>{t({execSource:s,callback:this.callExecScript})}))}async callExecScript(t){const i={runScript:t};await m.get().callServiceBroker("ActionButtonsSP.executeScript",i)}}class P{constructor(){this._application=o.getContextValue("__SNK__APPLICATION__")}async execute(t,i){const s=t.resourceID;if(!s)return;let e=await this.buildLaunchObject(t,i);return this._application.openApp(s,e),null}buildLaunchObject(t,i){return new Promise((s=>{let e=t.actionConfig.params.param;if(e&&e.length>0){let n={},o=[];e.forEach((s=>{const e=s.localField;let l=i.getFieldValue(e);if(!l){let s=i.getField(e).label;throw s=r.isEmpty(i.getField(e).label)?e:s,new a(this._application.messagesBuilder.getMessage("snkActionsButton.title.error",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.launchScreen.emptyField",{description:t.description,localFieldLabel:s}))}null!==l&&"object"==typeof l&&"value"in l&&(l=l.value);const c=r.isEmpty(null==l?void 0:l.toString())?void 0:l.toString();n[s.targetField]=c,o.push({fieldName:s.targetField,value:c})})),n.ACTION_PARAMETERS=o,n.call_time=Date.now(),s(n)}s(null)}))}}class O{execute(t){var i,s,e;const n=null===(i=t.actionConfig.dbCall)||void 0===i?void 0:i.name,o=null===(s=t.actionConfig.dbCall)||void 0===s?void 0:s.rootEntity,r={actionID:t.actionID,refreshType:null===(e=t.actionConfig.dbCall)||void 0===e?void 0:e.refreshType,procName:n,rootEntity:o};return new Promise((t=>{t({execSource:r,callback:this.callExecProcedure})}))}async callExecProcedure(t){const i={requestBody:{stpCall:t}};await m.get().callServiceBroker("ActionButtonsSP.executeSTP",JSON.stringify(i))}}var I,D;!function(t){t.LAUNCH_SCREEN="LC",t.JAVASCRIPT="SC",t.JAVA="RJ",t.PROCEDURE="SP",t.EMBEDDED="EB"}(I||(I={}));class E{constructor(t){this.actionType=t,this._application=o.getContextValue("__SNK__APPLICATION__")}get executor(){switch(this.actionType){case I.LAUNCH_SCREEN:return new P;case I.JAVASCRIPT:return new N;case I.JAVA:return new L;case I.PROCEDURE:return new O;default:throw new a(this._application.messagesBuilder.getMessage("snkActionsButton.title.error",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.action.nonExistentType",{actionType:this.actionType}))}}}!function(t){t.NONE="NONE",t.PARENT="PARENT",t.MASTER="MASTER",t.ALL="ALL"}(D||(D={}));const T="__MASTER_ROW__";class B{constructor(t,i,s){var e;this._lastValuesCache={},this._actionsExecuteInterface=t,this._dataUnit=i,this._selectedRows=(null===(e=null==i?void 0:i.getSelectionInfo())||void 0===e?void 0:e.isAllRecords())?[]:null==i?void 0:i.getSelectionInfo().records,this._application=o.getContextValue("__SNK__APPLICATION__"),this._appResourceId=s}getPrimaryKeys(){return k(this._dataUnit).map((({name:t})=>t))}apply(t,i){this._application.closePopUp(),this._actionsExecuteInterface.execute(t,this._dataUnit).then((({execSource:s,callback:e})=>{this.resolvePromptParams(t,s,i).then((()=>{this.actionExecute(s,e)}))}))}async execute(t){var i;if(!t.actionConfig)throw new l(this._application.messagesBuilder.getMessage("snkActionsButton.title.warning",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.action.incorrectAction",{description:t.description}));if(null===(i=t.actionConfig.params)||void 0===i?void 0:i.promptParam){const i=t.actionConfig.params.promptParam;let s=!1;for(let t=0;t<i.length;t++)if(!s&&"true"===i[t].saveLast){s=!0;break}s&&(t.actionConfig.params.promptParam=await this.loadSavedValuesIntoParams(t));const e=document.createElement("snk-actions-form");window.document.body.appendChild(e),e.action=c.copy(t),e.applyParameters=t=>{this.apply(t,s)},e.openPopup()}else t.type!=I.LAUNCH_SCREEN?this._actionsExecuteInterface.execute(t,this._dataUnit).then((({execSource:t,callback:i})=>{this.actionExecute(t,i)})):this._actionsExecuteInterface.execute(t,this._dataUnit)}loadSavedValuesIntoParams(t){return this.loadLastValues(t).then((i=>{let s=t.actionConfig.params.promptParam;return i&&i.param.forEach((t=>{s=s.map((i=>i.name!==t.paramName?i:Object.assign(Object.assign({},i),"B"===i.paramType?{value:"S"===t.$}:{value:t.$})))})),s}))}async actionExecute(t,i){t.virtualPage=this.buildVirtualPage(),await this.prepareAndExecute(t,i),this.recordsReloader(t.refreshType)}resolvePromptParams(t,i,s){return new Promise((e=>{let n=[];t.actionConfig.params.promptParam.forEach((t=>{n.push(this.buildPromptParam(t))})),this.putParamsOnExecSource(n,i),s&&this.saveLastValues(t,n),e()}))}buildPromptParam(t){let i,s,e=t.paramType,n=!1,o=t.value;switch(e){case v.DATE:e="D";break;case v.DATETIME:e="H";break;case v.DECIMAL:e="F",i={"sk-precision":Number(t.precision)};break;case v.BOOLEAN:e="S",n=!0,o=t.value?"S":"N";break;case v.ENTITY:i={"sk-entity-name":t.entityName,"sk-allow-show-hierarchical-mode":t.hierarchyEntity,"sk-data-type":"S"},t.hierarchyEntity&&t.entityPK&&(s=t.entityPK),o=t.value?Number(t.value):null;break;case v.OPTIONS:e="O";let r=t.options.split(";").map((function(t,i){let s,e;if(t.indexOf("=")>-1){let i=t.split("=");s=i[0],e=i[1]}else s=i+1,e=t;return{data:s,value:e}}));i={"sk-options":r}}return{description:t.label,required:"true"==t.required,fieldName:t.name,fieldNameOri:t.name,entityPK:s,paramType:t.paramType,type:e,isCheckbox:n,saveLast:t.saveLast,fieldProp:i,value:o,isGeneratedName:t.isGeneratedName}}putParamsOnExecSource(t,i){i.params={param:[]},t.forEach((t=>{if(t.isGeneratedName&&t.value)throw new a(this._application.messagesBuilder.getMessage("snkActionsButton.title.error",void 0),this._application.messagesBuilder.getMessage("snkActionsButton.action.emptyParamName",void 0));r.isEmpty(t.value)||i.params.param.push({type:this.getParamDataType(t.paramType),paramName:t.fieldName,$:this.getParamValue(t)})}))}getParamDataType(t){let i;switch(t){case"D":i="F";break;case"DT":case"DH":i="D";break;case"B":case"ENTITY":case"SO":i="S";break;default:i=t}return i}getParamValue(t){let i=t.value;return i?("DT"==t.paramType?i=d.formatDate(i):"DH"==t.paramType&&(i=d.formatDateTime(i)),i):i}async loadLastValues(t){const i=await this.buildResourceId(t.actionID);return new Promise(((t,s)=>{if(this._lastValuesCache[i])t(this._lastValuesCache[i]);else{const e={config:{chave:i,tipo:"T"}};m.get().callServiceBroker("SystemUtilsSP.getConf",e).then((s=>{var e,n;let o;(null===(n=null===(e=s.config)||void 0===e?void 0:e.data)||void 0===n?void 0:n.params)&&(o=s.config.data.params,Array.isArray(o.param)||(o.param=[o.param])),this._lastValuesCache[i]=o,t(o)})).catch((t=>{s(t)}))}}))}async saveLastValues(t,i){if(this._application){let s={params:{param:[]}};i.forEach((t=>{"true"==t.saveLast&&s.params.param.push({paramName:t.fieldName,$:t.value})}));const e=await this.buildResourceId(t.actionID);this._lastValuesCache[e]=s.params,this._application.saveConfig(e,s)}}async buildResourceId(t){return this._appResourceId+".actionconfig."+t}async prepareAndExecute(t,i){this.addRows(t),await i(t)}addRows(t){const i=this.getPrimaryKeys(),s={row:[]},e=this._selectedRows;for(const t in e){const n=e[t],o={};n.hasOwnProperty(T)&&(o.master="S",o.entityName=n.__ENTITY_NAME__,delete n[T],delete n.__ENTITY_NAME__),o.field||(o.field=[]);for(const t of i)o.field.push({fieldName:t,$:n[t]});s.row.push(o)}s.row.length>0&&(t.rows=s)}recordsReloader(t){switch(t){case D.NONE:break;case D.PARENT:case D.MASTER:case D.ALL:this._dataUnit.loadData();break;default:this._dataUnit.reloadCurrentRecord()}}buildVirtualPage(){var t,i,s,e;if(null===(i=null===(t=this._dataUnit)||void 0===t?void 0:t.getSelectionInfo())||void 0===i?void 0:i.isAllRecords())return{filters:{filters:null===(s=this._dataUnit)||void 0===s?void 0:s.getAppliedFilters()},orders:{orders:null===(e=this._dataUnit)||void 0===e?void 0:e.getSort()}}}}class j{async clientConfirm(t,i){return new Promise((s=>{var e,n;const r=o.getContextValue("__SNK__APPLICATION__");let a="";t.content.event.hasOwnProperty("stpCall")?(i.requestBody=t.content.event.stpCall,a=I.PROCEDURE):t.content.event.hasOwnProperty("runScript")?(i.requestBody=t.content.event.runScript,a=I.JAVASCRIPT):t.content.event.hasOwnProperty("javaCall")&&(i.requestBody=t.content.event.javaCall,a=I.JAVA);let l={type:"S",sequence:t.content.event.sequence};i.requestBody.params?Array.isArray(i.requestBody.params.param)||(i.requestBody.params.param=[i.requestBody.params.param]):i.requestBody.params={param:[]},i.requestBody.params.param.push(l);const c=t.content.event.title.$,d=t.content.event.message.$;let h;switch(a){case I.JAVASCRIPT:h={runScript:i.requestBody};break;case I.PROCEDURE:h={requestBody:{stpCall:i.requestBody}};break;case I.JAVA:h={requestBody:{javaCall:i.requestBody}}}if("S"==t.content.event.showNoOption){l.paramName="__ESCOLHA_SIMNAO__";const t=document.createElement("snk-client-confirm");window.document.body.appendChild(t),t.titleMessage=c,t.message=d,t.accept=async()=>{l.$="S",await i.reCall(h),s()},t.cancel=async()=>{l.$="N",await i.reCall(h),s()},t.openPopup()}else r.confirm(c,d,null,"warn",{labelCancel:null===(e=null==r?void 0:r.messagesBuilder)||void 0===e?void 0:e.getMessage("snkActionsButton.clientEvent.labelCancel"),labelConfirm:null===(n=null==r?void 0:r.messagesBuilder)||void 0===n?void 0:n.getMessage("snkActionsButton.clientEvent.labelConfirm")}).then((async t=>{t&&(l.paramName="__CONFIRMACAO__",l.$="S",await i.reCall(h),s())}))}))}}const G=class{constructor(i){t(this,i),this.CLIENT_EVENT_CONFIRM_NAME="br.com.sankhya.actionbutton.clientconfirm",this._actions=[],this.handleClick=t=>{const i=this._actions.find((i=>i.actionID==t.detail.id)),s=new E(i.type).executor;new B(s,this._dataUnit,this._resourceID).execute(Object.assign({},i)),this._showDropdown=!1},this.size="medium",this._items=[],this._showDropdown=!1}async getActions(){const t=await h.useCacheWithService(`SnkActionsButton_${this._entityName}-${this._resourceID}`,(async()=>{var t;const i={param:{entityName:this._entityName,resourceID:this._resourceID}};return(null===(t=(await m.get().callServiceBroker("ActionButtonsSP.getActions",i)).actions)||void 0===t?void 0:t.action)||[]}),u.IN_MEMORY_CACHE);this._actions=G.parameters.isOrderActions?g.sortAlphabetically(t,"description"):t}controlDropdown(){this._showDropdown=!this._showDropdown}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this._items)||void 0===t?void 0:t.length)>0}positionDropdown(){var t;const i=null===(t=this._ezButton)||void 0===t?void 0:t.getBoundingClientRect();i&&this._dropdownParent&&(this._dropdownParent.style.top=i.y+i.height+5+"px",this._dropdownParent.style.left=i.x+"px")}closeDropdown(t){const i=null==t?void 0:t.target;i&&(i.closest(".snk-actions-button")||(this._showDropdown=!1))}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}async componentWillLoad(){var t,i;this._application=o.getContextValue("__SNK__APPLICATION__"),await this.loadParameters();const s=this._element.parentElement;this._dataUnit=null==s?void 0:s.dataUnit,this._resourceID=null==s?void 0:s.resourceID,this._entityName=null===(i=null===(t=this._dataUnit)||void 0===t?void 0:t.name)||void 0===i?void 0:i.split("/")[2],null==this._resourceID&&(this._resourceID=await w.getResourceID()),this.setEvents(),await this.getActions(),this.loadItems()}async componentDidLoad(){if(this._element&&(f.addIDInfo(this._element),this.positionDropdown(),!await this._application.hasClientEvent(this.CLIENT_EVENT_CONFIRM_NAME))){const t=new j;this._application.addClientEvent(this.CLIENT_EVENT_CONFIRM_NAME,t.clientConfirm)}}componentDidUpdate(){this.positionDropdown()}loadItems(){this._actions&&0!=this._actions.length&&this._actions.forEach((t=>{this._items.push({id:t.actionID,label:t.description})}))}getElementID(t){return{[f.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:f.getInternalIDInfo(t)}}async loadParameters(){null==G.parameters.isOrderActions&&(G.parameters.isOrderActions=await this._application.getBooleanParam("global.ordenar.acoes.personalizadas"))}render(){return i(s,null,this._actions&&this._actions.length>0&&i("div",{class:`snk-actions-button\n ${this.canShowDropdown()?" ez-elevation--16":""}\n `},i("ez-tooltip",{message:this._application.messagesBuilder.getMessage("snkActionsButton.title.actions",void 0)},i("ez-button",Object.assign({ref:t=>this._ezButton=t,iconName:"acao",mode:"icon",onClick:()=>this.controlDropdown(),size:this.size},this.getElementID("button")))),i("div",Object.assign({ref:t=>this._dropdownParent=t,class:(this.canShowDropdown()?"snk-actions-button__dropdown--show":"snk-actions-button__dropdown")+"\n "},this.getElementID("dropdown")),this.canShowDropdown()&&i("ez-dropdown",Object.assign({items:this._items,onEzClick:t=>this.handleClick(t)},this.getElementID("dropdown"))))),this.canShowDropdown()&&i("div",Object.assign({class:"ez-scrim ez-scrim--light"},this.getElementID("ezScrim"))))}get _element(){return e(this)}};G.parameters={isOrderActions:null},G.style=".sc-snk-actions-button-h{display:flex;width:fit-content;height:fit-content}.snk-actions-button.sc-snk-actions-button{display:flex;width:fit-content;height:fit-content}.snk-actions-button__dropdown--show.sc-snk-actions-button{display:flex;flex-direction:column;position:fixed}.snk-actions-button__dropdown.sc-snk-actions-button>ez-dropdown.sc-snk-actions-button{position:relative}.snk-actions-button__dropdown.sc-snk-actions-button{display:none}";const F=class{constructor(i){t(this,i),this.configChange=n(this,"configChange",7),this.configCancel=n(this,"configCancel",7),this._orderListItems=[],this._orderPriorityList=[],this._visibleList=[],this._hiddenList=[],this._columListItems=[],this._dataChanged=!1,this._componenteInternalKey=Date.now(),this.selectedIndex=0,this.columns=[],this.originalColumns=[],this.config=void 0,this.configName=void 0,this.resourceID=void 0,this.metadata=void 0,this._collapsibleBoxListOrder=!0,this._collapsibleBoxListSelect=!1}getMessage(t,i){return o.getContextValue("__SNK__APPLICATION__").messagesBuilder.getMessage(t,i)}getSortableColumns(){let t=[];return this.columns.filter((t=>{var i;return r.getBooleanValue(null===(i=null==t?void 0:t.props)||void 0===i?void 0:i.get("sortable"),!0)})).forEach((i=>{var s,e;let n=null===(s=this.config)||void 0===s?void 0:s.columns.find((t=>t.name===i.name)),o={label:i.label,sort:null!==(e=null==i?void 0:i.sort)&&void 0!==e?e:_.asc.value,id:i.name};n&&(o.orderIndex=n.orderIndex,o.ascending=n.ascending),i.hidden||t.push(o)})),t}createOrderList(){var t;let i=this.getSortableColumns();if((null===(t=this._orderPriorityList)||void 0===t?void 0:t.length)>0){const t=[];this._orderPriorityList.forEach((s=>{const e=i.find((t=>t.id===s.id));e&&t.push(e)})),i.forEach((i=>{t.find((t=>t.id===i.id))||t.push(i)})),this._orderListItems=t}else i.sort(((t,i)=>0!=t.orderIndex||0!=i.orderIndex||null==t.ascending&&null==i.ascending?null!=t.ascending&&null!=i.ascending?t.orderIndex-i.orderIndex:null!=t.ascending||null!=i.ascending?null!=t.ascending?-1:null!=i.ascending?1:0:t.orderIndex-i.orderIndex:null!=t.ascending?-1:null!=i.ascending?1:0)),this._orderListItems=i}createColumnList(){const t=this.buildVisibleGroup(),i=this.buildHiddenGroup();this.columns.forEach((s=>{const e=this.buildListItemFromColumn(s);s.hidden?i.items.push(e):t.items.push(e)})),this._columListItems=[t,i],this._visibleList=t.items,this._hiddenList=i.items,this.createOrderList()}buildVisibleGroup(){return{group:this.getMessage("snkGridConfig.group.visible"),items:[]}}buildHiddenGroup(){return{group:this.getMessage("snkGridConfig.group.hidden"),items:[],sort:_.asc.value}}createOrderListSlotDataElementId(t){var i;return`${this._element.getAttribute(f.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${r.toCamelCase(null!==(i=t.id)&&void 0!==i?i:t.label)}`}buildOrderListSlot(t){const s=this.createOrderListSlotDataElementId(t);let e=_.none.value;return null!=(null==t?void 0:t.ascending)&&(e=1==t.ascending?_.asc.value:_.desc.value),i("snk-select-box",{selectedOption:e,key:"snk-select-box-"+this._componenteInternalKey+"-"+t,"data-element-id":s,onEzChange:i=>{i.stopPropagation(),this.updateOrder(i.detail,t.id)},preventAutoFocus:!0})}updateOrder(t,i){var s;this._dataChanged=!0;let e,n=[...this.columns],o=n.find((t=>t.name===i));if(o&&(o.sort=t.value===_.none.value?void 0:t.value),(null===(s=this._orderPriorityList)||void 0===s?void 0:s.length)>0){const i=this._orderPriorityList.find((t=>t.id===o.name));i&&(i.sort=t.value===_.none.value?void 0:t.value),this._orderPriorityList.filter((t=>null!=t.sort)).forEach(((t,i)=>{t.id===o.name&&(o.sortIndex=i)}))}else e=n.filter((t=>t.sort&&!0!==t.hidden)).map(((t,i)=>({name:t.name,orderIndex:i}))),e.forEach((t=>{n.find((i=>i.name===t.name)).sortIndex=t.orderIndex}));this.columns=n}finish(){this._dataChanged?(this.updateColumns(),this._dataChanged=!1,this.closeConfig(),this.save(),this._orderPriorityList=[]):this.closeConfig()}updateColumns(){this.columns=this._columListItems.flatMap((t=>t.items.map((i=>this.buildColumnFromListItem(i,t)))))}buildColumnFromListItem(t,i){const s=this.columns.find((i=>i.name===t.id));if(!s)throw new Error(`Column with name "${t.id}" not found.`);return Object.assign(Object.assign({},s),{hidden:i.group===this.getMessage("snkGridConfig.group.hidden")})}saveGridConfigOnStorage(t){z.saveGridConfig(t,this.configName,this.resourceID).then((t=>{this.configChange.emit(t),y.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"),{iconName:"check"})}))}reOrderPriorityColumns(t,i){let s=[];s=t.filter((t=>t.sort&&!0!==t.hidden)).map((t=>({name:t.name,orderIndex:0})));let e=0,n=[];return i.forEach((t=>{let i=s.find((i=>i.name===t.id));i&&(i.orderIndex=e,n.push(i),e++)})),n.length>0&&(s=n),s}save(){var t;let i;i=this.config?this.config:this.createConfigFromState(this.columns);let s,e=[];(null===(t=this._orderPriorityList)||void 0===t?void 0:t.length)>0&&(s=this.reOrderPriorityColumns(this.columns,this._orderPriorityList)),this.columns.forEach((t=>{let n=i.columns.find((i=>t.name===i.name));!0===t.hidden&&n||(n||!1!==t.hidden||(n={name:t.name,orderIndex:0}),n&&(t.sort?(n.ascending=t.sort.toUpperCase()===_.asc.value,s?function(t,i){if(s){let e=s.find((i=>i.name===t.name));e&&(i.orderIndex=e.orderIndex)}}(t,n):n.orderIndex=t.sortIndex):(delete n.ascending,n.orderIndex=0),n.configVersion=F.CURRENT_CONFIG_VERSION,e.push(n)))})),i.columns=e,this.saveGridConfigOnStorage(i)}createConfigFromState(t){let i={columns:[]};return t.forEach((t=>{if(!t.hidden){let s={name:t.name};t.width&&(s.width=t.width),t.sort?(s.ascending=t.sort.toUpperCase()===_.asc.value,s.orderIndex=t.sortIndex):s.orderIndex=0,s&&i.columns.push(s)}})),i}closeConfig(){if(this._dataChanged){let t={canClose:!1,labelCancel:this.getMessage("snkGridConfig.confirm.cancel"),labelConfirm:this.getMessage("snkGridConfig.confirm.save"),btnConfirmDanger:!1};y.confirm(this.getMessage("snkGridConfig.confirm.alert"),this.getMessage("snkGridConfig.confirm.msgCancel"),null,C.WARN,t).then((t=>{t?this.finish():(this._dataChanged=!1,this._orderPriorityList=[],this.configCancel.emit(),this._componenteInternalKey=Date.now())}))}else this.configCancel.emit()}handleColumnListChange(t){var i;if(t.detail){let s=null===(i=t.detail.find((t=>t.group===this.getMessage("snkGridConfig.group.visible"))))||void 0===i?void 0:i.items;s&&(this._dataChanged=!0,this._orderListItems=s)}}handleOrderListChange(t){if(t.detail){let i=t.detail;i&&(this._dataChanged=!0,this._orderPriorityList=i)}}componentWillRender(){var t;(null===(t=this.columns)||void 0===t?void 0:t.length)>0&&this.createColumnList()}componentDidLoad(){f.addIDInfo(this._element)}handleRightListChange(t){const i=this._columListItems.find((t=>t.group===this.getMessage("snkGridConfig.group.visible")));i&&i.items!=t&&(i.items=t,this._dataChanged=!0)}getListSlots(){return{RIGHT_LIST:{itemRightSlotBuilder:t=>this.buildOrderListSlot(t)}}}renderResetConfigBtn(){if(this.resourceID)return i("ez-button",{class:"padding-right--medium",label:this.getMessage("snkGridConfig.reset"),onClick:()=>this.setDefaultConfig()})}async setDefaultConfig(){var t;if(!this.resourceID)return;this._dataChanged=!0,this._orderPriorityList=[];const i=await z.getDefaultGridConfig(this.resourceID),s=null!==(t=null==i?void 0:i.columns.map((t=>t.name)))&&void 0!==t?t:[],e=0===s.length,n=this.buildVisibleGroup(),o=this.buildHiddenGroup(),r=new Map;if((e?this.originalColumns:this.columns).forEach((t=>{const i=this.buildListItemFromColumn(t);e||s.includes(t.name)?(i.width=this.getDefaultWidthBasedOnMetadata(t.name),r.set(t.name,i)):o.items.push(i)})),e){const t=[];r.forEach((i=>t.push(i))),n.items=t}else n.items=s.map((t=>r.get(t))).filter((t=>t));this._columListItems=[n,o],this._visibleList=n.items,this._hiddenList=o.items,this.config&&(this.config.columns=this.transformListToConfig(n.items)),this.updateColumns(),this.createOrderList()}transformListToConfig(t){return t.map(((t,i)=>({name:t.id,hidden:!1,orderIndex:Number(t.sort)||i,width:t.width})))}getDefaultWidthBasedOnMetadata(t){var i,s;if(!this.metadata)return;const e=null===(s=null===(i=this.metadata)||void 0===i?void 0:i.fields)||void 0===s?void 0:s.find((i=>i.name===t));return S[null==e?void 0:e.userInterface]||S[p.SHORTTEXT]}buildListItemFromColumn(t){var i;return{label:t.label,selected:!1,sort:null!==(i=null==t?void 0:t.sort)&&void 0!==i?i:_.asc.value,id:t.name,width:t.width}}render(){return i(s,null,i("div",{class:"grid-config__header"},i("div",{class:"title-container"},i("div",{class:"ez-margin-bottom--medium"},i("label",{class:"title"},this.getMessage("snkGridConfig.gridConfiguration")),i("label",{class:"subtitle"},this.getMessage("snkGridConfig.columnVisibilityOrder"))),i("div",{class:"button-close"},i("ez-button",{mode:"icon",iconName:"close",size:"medium",class:"ez-button--tertiary",onClick:()=>this.closeConfig()})))),i("div",{class:"grid-config__body"},i("ez-collapsible-box",{id:"group-select-columns",label:this.getMessage("snkGridConfig.columnsSelection"),"header-size":"medium",key:"key_group-select-columns",value:this._collapsibleBoxListSelect,onEzChange:({detail:t})=>this._collapsibleBoxListOrder=!t},i("div",{class:"grid-config__main"},i("ez-double-list",{leftList:this._hiddenList,leftTitle:this.getMessage("snkGridConfig.availableColumns"),rightList:this._visibleList,rightTitle:this.getMessage("snkGridConfig.selectedColumns"),onEzRightListChanged:({detail:t})=>this.handleRightListChange(t),emptyMessage:{LEFT_LIST:this.getMessage("snkGridConfig.emptyMensage.left"),RIGHT_LIST:this.getMessage("snkGridConfig.emptyMensage.right")},entityLabel:"coluna",entityLabelPlural:"colunas"}))),i("ez-collapsible-box",{id:"ID_group-order-columns",label:this.getMessage("snkGridConfig.dataOrdering"),"header-size":"medium",key:"KEY_group-order-columns",value:this._collapsibleBoxListOrder,onEzChange:({detail:t})=>this._collapsibleBoxListSelect=!t},i("div",{class:"grid-config__main"},i("ez-double-list",{rightList:this._orderListItems,rightTitle:this.getMessage("snkGridConfig.selectedColumns"),useOnlyRightList:!0,slotsListBuilder:this.getListSlots(),onEzRightListChanged:t=>this.handleOrderListChange(t),emptyMessage:{RIGHT_LIST:this.getMessage("snkGridConfig.emptyMensage.right")},entityLabel:"coluna",entityLabelPlural:"colunas"})))),i("div",{class:"grid-config__footer"},this.renderResetConfigBtn(),i("ez-button",{class:"padding-right--medium",label:this.getMessage("snkGridConfig.cancel"),onClick:()=>this.closeConfig()}),i("ez-button",{label:this.getMessage("snkGridConfig.complete"),class:"ez-button--primary",onClick:()=>this.finish()})))}static get assetsDirs(){return["../assets"]}get _element(){return e(this)}};F.CURRENT_CONFIG_VERSION=1,F.style='.sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, "Roboto");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, "Roboto");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, "Roboto");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--small, 6px);display:flex;flex-direction:column;max-height:100%;width:100%}.grid-config__body.sc-snk-grid-config{overflow:auto}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;width:100%;padding-bottom:20px;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}';const R=class{constructor(i){t(this,i),this.handleNumberingConfigChanged=t=>{const i=t.detail;i&&this.applyConfiguration(i)},this.autoNumbering=!1,this.initialNumber=void 0,this.messagesBuilder=void 0,this.entityName=void 0,this.resourceID=void 0}async save(){try{if(this._savedConfig&&this._savedConfig.isAutoNumbering===this.autoNumbering&&this._savedConfig.initialNumber===this.initialNumber)return!0;const t={entityName:this.entityName,isAutoNum:this.autoNumbering,numInicial:this.initialNumber};return await this._servicesNumberingConfig.saveConfig(t),this._savedConfig={isAutoNumbering:this.autoNumbering,initialNumber:this.initialNumber},this._snkCrud&&this._snkCrud.updateNumberingConfig&&await this._snkCrud.updateNumberingConfig(this._savedConfig),!0}catch(t){return console.error("Error saving numbering config:",t),!1}}async componentWillLoad(){const t=o.getContextValue("__SNK__APPLICATION__");this.findParentSnkCrud(),this._servicesNumberingConfig=new A(t,this.resourceID),this.entityName&&await this.loadNumberingConfiguration()}findParentSnkCrud(){const t=this._element.closest("snk-crud");t&&(this._snkCrud=t,this._snkCrud.addEventListener("numberingConfigChanged",this.handleNumberingConfigChanged.bind(this)))}async loadNumberingConfiguration(){try{const t=await this.tryGetConfigFromSnkCrud();if(t)return void this.applyConfiguration(t);const i=await this.loadConfigFromService();this.applyConfiguration(i),await this.updateSnkCrudConfig(i)}catch(t){console.error("Error loading numbering config:",t),this.setDefaultConfiguration()}}async tryGetConfigFromSnkCrud(){if(!this._snkCrud)return null;try{const t=await this._snkCrud.getNumberingConfig();if(t)return t}catch(t){console.log("snk-crud não tem configuração ainda, carregando diretamente...")}return null}async loadConfigFromService(){return await this._servicesNumberingConfig.getConfig(this.entityName)}applyConfiguration(t){this._savedConfig=t,this.autoNumbering=t.isAutoNumbering,this.initialNumber=t.initialNumber}async updateSnkCrudConfig(t){if(this._snkCrud)try{await this._snkCrud.updateNumberingConfig(t)}catch(t){console.warn("Erro ao atualizar configuração no snk-crud:",t)}}setDefaultConfiguration(){this.autoNumbering=!1,this.initialNumber=null}getMessage(t,i){var s;return null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(t,i)}disconnectedCallback(){this._snkCrud&&this._snkCrud.removeEventListener("numberingConfigChanged",this.handleNumberingConfigChanged)}render(){return i("div",{class:"ez-flex ez-flex--column"},i("ez-check",{mode:"SWITCH",label:this.getMessage("snkNumberingConfig.labelAutoNumbering"),class:"ez-margin-bottom--medium",onEzChange:({detail:t})=>this.autoNumbering=t,value:this.autoNumbering}),i("ez-number-input",{label:this.getMessage("snkNumberingConfig.labelInitialNumber"),onEzChange:({detail:t})=>this.initialNumber=t,value:this.initialNumber,precision:0,prettyPrecision:0,allowNegative:!1,enabled:this.autoNumbering}))}get _element(){return e(this)}};R.style=".sc-snk-numbering-config-h{display:block}";const M=class{constructor(i){t(this,i),this.ezChange=n(this,"ezChange",7),this.selectedOption=_.none,this.preventAutoFocus=!1}render(){return i("ez-combo-box",{class:"grid-config-combo ez-input--inverted",label:"",suppressSearch:!0,value:this.selectedOption,enabled:!0,canShowError:!1,suppressEmptyOption:!0,preventAutoFocus:this.preventAutoFocus},Object.keys(_).map((t=>i("option",{value:_[t].value},_[t].label))))}static get assetsDirs(){return["../assets"]}};M.style="ez-combo-box{width:100px;--ez-text-input__margin-bottom:0px}.grid-config-combo{--ez-text-input--height:28px;--ez-text-input__input--background-color:#fff;--ez-text-input__input--border-color:#dce0e8}";const H=class{constructor(i){t(this,i),this.snkConfigSaved=n(this,"snkConfigSaved",7),this._formConfigFetcher=new b,this.fieldsToSave=[],this.dataUnit=void 0,this.configName=void 0,this.messagesBuilder=void 0,this.avaliableFields=[],this.selectedFields=[]}async show(){var t;await(null===(t=this.ezDoubleListRef)||void 0===t?void 0:t.resetSelectedLists()),await this.initializeFormConfig(),this.ezPopupRef.opened=!0}async initializeFormConfig(){if(!this.configName)return;const t=this.getAllVisibleFieldsFromDataUnit(),i=await this.getConfig();if(0===i.length)return this.avaliableFields=[],this.selectedFields=[...t],void(this.fieldsToSave=[...this.selectedFields]);const s=this.sortDisplayedFields(i,t),e=t.filter((t=>!i.includes(t.id)));this.avaliableFields=[...e],this.selectedFields=[...s],this.fieldsToSave=[...this.selectedFields]}async getConfig(){const t=await this._formConfigFetcher.fetchSimpleFormConfig(this.configName);return[...this.removeDuplicates(t)]}getMessage(t,i){var s;return null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(t,i)}removeDuplicates(t){return t.filter(((i,s)=>t.indexOf(i)===s))}sortDisplayedFields(t,i){const s=[];return t.forEach((t=>{const e=i.find((i=>i.id===t));e&&s.push(e)})),s}getAllVisibleFieldsFromDataUnit(){var t,i,s;return(null!==(s=null===(i=null===(t=this.dataUnit)||void 0===t?void 0:t.metadata)||void 0===i?void 0:i.fields)&&void 0!==s?s:[]).filter((t=>t.visible)).map((t=>({id:t.name,label:t.label})))}close(){this.ezPopupRef.opened=!1}async handleResetConfigs(){await this._formConfigFetcher.restoreFormConfig(this.configName),await this.initializeFormConfig(),await this.handleSave()}handleCancel(){this.close()}async handleSave(){const t=this.fieldsToSave.map((t=>t.id));await this._formConfigFetcher.saveSimpleFormConfig(this.configName,t),this.close(),this.snkConfigSaved.emit()}render(){return i("ez-popup",{ref:t=>this.ezPopupRef=t,heightMode:"auto",size:"medium",ezTitle:this.getMessage("snkSimpleFormConfig.popup.title")},i("div",{class:"config-container"},i("div",{class:"config-lists"},i("ez-double-list",{ref:t=>this.ezDoubleListRef=t,leftList:this.avaliableFields,leftTitle:this.getMessage("snkSimpleFormConfig.lists.availableFields"),rightList:this.selectedFields,rightTitle:this.getMessage("snkSimpleFormConfig.lists.selectedFields"),onEzRightListChanged:({detail:t})=>this.fieldsToSave=[...t],entityLabel:this.getMessage("snkSimpleFormConfig.lists.entityLabel"),entityLabelPlural:this.getMessage("snkSimpleFormConfig.lists.entityLabelPlural")})),i("div",{class:"config-actions"},i("ez-button",{label:this.getMessage("snkSimpleFormConfig.buttons.restore"),onClick:this.handleResetConfigs.bind(this),size:"small"}),i("ez-button",{label:this.getMessage("snkSimpleFormConfig.buttons.cancel"),onClick:this.handleCancel.bind(this),size:"small"}),i("ez-button",{label:this.getMessage("snkSimpleFormConfig.buttons.save"),class:"ez-button--primary",onClick:this.handleSave.bind(this),size:"small"}))))}};H.style=":host{display:block}.config-container{display:flex;flex-direction:column;align-items:center;justify-content:space-between}.config-lists{width:100%;margin-bottom:12px}.config-actions{display:flex;flex-direction:row;justify-content:flex-end;width:100%;gap:12px}";const K=class{constructor(i){t(this,i)}render(){return i(s,null,i("ez-skeleton",{variant:"circle",count:12}),i("ez-skeleton",{width:"100px"}))}};K.style=".sc-snk-taskbar-skeleton-h{display:flex;align-items:center;height:100%;padding:0 var(--space--8, 8px)}ez-skeleton.sc-snk-taskbar-skeleton{--skeleton-width:42px;--skeleton-height:42px;--skeleton-margin-left:var(--space--4, 4px)}";const $=class{constructor(i){t(this,i),this.mode=x.SIDE_BY_SIDE}renderCascadeLayout(){return i("div",{class:"svg-container__collumn"},[...Array(3)].map((()=>i("div",{class:"svg-container__section"},i("div",{class:"svg-container__line svg-container__line--short"}),i("div",{class:"svg-container__line svg-container__line--long"})))))}renderSideBySideLayout(){return i("div",{class:"svg-container__inline"},[...Array(2)].map((()=>this.renderCascadeLayout())))}render(){return i("div",{class:"svg-container ez-margin-left--small"},i("div",{class:"svg-container__background"},i("div",{class:"svg-container__header"},i("div",{class:"svg-container__circle svg-container__circle--red"}),i("div",{class:"svg-container__circle svg-container__circle--yellow"}),i("div",{class:"svg-container__circle svg-container__circle--green"})),this.mode===x.CASCADE||this.mode===x.CLASSIC_CASCADE?this.renderCascadeLayout():this.renderSideBySideLayout()))}};$.style=".sc-snk-view-representation-h{display:block}.svg-container.sc-snk-view-representation{display:flex;width:185px;height:125px;border-radius:8px;background-color:#f7f7f7;padding:10px 12px;box-sizing:border-box;position:relative}.svg-container__background.sc-snk-view-representation{display:flex;flex-direction:column;width:100%}.svg-container__header.sc-snk-view-representation{display:flex;gap:2px;margin-bottom:12px}.svg-container__circle.sc-snk-view-representation{width:9px;height:9px;border-radius:50%}.svg-container__circle--red.sc-snk-view-representation{background-color:#ed7678}.svg-container__circle--yellow.sc-snk-view-representation{background-color:#eddb76}.svg-container__circle--green.sc-snk-view-representation{background-color:#7ad08e}.svg-container__section.sc-snk-view-representation{width:100%}.svg-container__collumn.sc-snk-view-representation{width:100%;display:flex;flex-direction:column}.svg-container__inline.sc-snk-view-representation{display:flex;flex-direction:row;gap:6px}.svg-container__line.sc-snk-view-representation{height:13px;border-radius:4px;background-color:#d9d9d9;margin-bottom:4px}.svg-container__line--short.sc-snk-view-representation{width:39.68px;height:7px;border-radius:3.5px}.svg-container__line--long.sc-snk-view-representation{width:100%}";const V=class{constructor(i){t(this,i),this.taskbarActionSelected=n(this,"taskbarActionSelected",7),this.taskbarActionsOpened=n(this,"taskbarActionsOpened",7),this.taskbarActionsButtonDisconnected=n(this,"taskbarActionsButtonDisconnected",7),this._showDropdown=!1,this._openToLeft=!1,this.title=void 0,this.enabled=void 0,this.actions=void 0,this.size="medium"}async handleKeyDown(t){"Escape"!==t.key&&"Esc"!==t.key||await this.hideActions()}async handleClose(){await this.hideActions()}async showActions(){this.checkDropdownPosition(),this._showDropdown=!0,requestAnimationFrame((()=>{this._element.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}))}async hideActions(){this._showDropdown=!1}async isOpened(){return this._showDropdown}controlDropdown(){this._showDropdown||this.checkDropdownPosition(),this._showDropdown=!this._showDropdown}checkDropdownPosition(){const t=this._element.getBoundingClientRect(),i=window.innerWidth;this._openToLeft=i-t.right<150}loadItems(){return this.actions.filter((t=>void 0!==t)).map((t=>{var i;return{id:t.value,label:t.label,value:t.value,type:null!==(i=t.type)&&void 0!==i?i:"item",children:t.children,iconName:t.iconName,subAction:t.subAction,group:t.group,disableCloseOnSelect:t.disableCloseOnSelect}}))}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this.actions)||void 0===t?void 0:t.length)>0}onSelectAction(t){const i=this.actions.map((t=>Object.assign(Object.assign({},t),{id:t.value}))),s=this.getSelectedAction(t.id,i);this.taskbarActionSelected.emit(s),s.disableCloseOnSelect||(this._showDropdown=!1)}getSelectedAction(t,i){let s=null;for(const e of i){if(e.id===t){s=e;break}if((null==e?void 0:e.children)&&(s=this.getSelectedAction(t,e.children),s))break}return s}dropdownItemBuilder(t,s){const e=this.actions.find((i=>i.value===t.id));if(!e||!e.itemBuilder)return;const n=e.itemBuilder(this._element,e);return"string"==typeof n?i("div",{innerHTML:n}):n}initializeEagerItems(){var t;null===(t=this.actions)||void 0===t||t.forEach((t=>{var i;t&&t.eagerInitialize&&t.itemBuilder&&(null===(i=t.itemBuilder)||void 0===i||i.call(t,this._element,t))}))}componentDidLoad(){this.initializeEagerItems()}componentDidRender(){this._showDropdown&&this.taskbarActionsOpened.emit(this._element)}disconnectedCallback(){this.taskbarActionsButtonDisconnected.emit()}render(){return i(s,null,i("div",{class:(this.canShowDropdown()?" ez-elevation--16":"")+" ez-dropdown-container"},i("ez-tooltip",{message:this.title},i("ez-button",{mode:"icon",iconName:"dots-vertical",isDisabled:!this.enabled,onClick:()=>this.controlDropdown(),size:this.size})),this.canShowDropdown()&&i("ez-dropdown",{class:{"ez-dropdown--sticky":!0,"ez-dropdown--open-left":this._openToLeft},items:this.loadItems(),onEzClick:t=>this.onSelectAction(t.detail),onEzOutsideClick:()=>this._showDropdown=!1,itemBuilder:(t,i)=>this.dropdownItemBuilder(t,i)})))}get _element(){return e(this)}};V.style=".sc-taskbar-actions-button-h{--ez-dropdown--min-width:150px;display:flex;width:fit-content;height:fit-content}.ez-dropdown-container.sc-taskbar-actions-button{position:relative;display:inline-block}.ez-dropdown--sticky.sc-taskbar-actions-button{position:absolute;display:block;min-width:var(--ez-dropdown--min-width);top:100%;left:0;margin-top:4px}.ez-dropdown--open-left.sc-taskbar-actions-button{left:auto;right:0}";const q=class{constructor(i){t(this,i),this._showDropdown=!1,this.iconName=void 0,this.action=void 0,this.name=void 0,this.className=void 0,this.dataElementId=void 0,this.title=void 0,this.enabled=void 0,this.actions=void 0,this.size="medium"}initializeEagerItems(){var t;null===(t=this.actions)||void 0===t||t.forEach((t=>{var i;t&&t.eagerInitialize&&t.itemBuilder&&(null===(i=t.itemBuilder)||void 0===i||i.call(t,this._splitButtonRef,t))}))}componentDidLoad(){this.initializeEagerItems()}dropdownItemBuilder(t,s){const e=this.actions.find((i=>i.value===t.id));if(!e||!e.itemBuilder)return;const n=e.itemBuilder(this._splitButtonRef,e);return"string"==typeof n?i("div",{innerHTML:n}):n}loadItems(){return this.actions.filter((t=>void 0!==t)).map((t=>{var i;return{id:t.value,label:t.label,value:t.value,type:null!==(i=t.type)&&void 0!==i?i:"item",children:t.children,iconName:t.iconName,subAction:t.subAction,group:t.group,disableCloseOnSelect:t.disableCloseOnSelect}}))}ajustSizeButton(){return this.size&&"small"!==this.size?"large":"medium"}render(){return i(s,null,i("ez-split-button",{ref:t=>this._splitButtonRef=t,key:this.dataElementId,class:`${this.className} "ez-split-button--tertiary ez-padding--medium"`,items:this.loadItems(),mode:"icon-only",size:this.ajustSizeButton(),leftIconName:this.iconName,isDisabled:!this.enabled,show:this._showDropdown,onButtonClick:()=>this.action(this.name),itemBuilder:(t,i)=>this.dropdownItemBuilder(t,i),leftTitle:this.title}))}};q.style="";export{G as snk_actions_button,F as snk_grid_config,R as snk_numbering_config,M as snk_select_box,H as snk_simple_form_config,K as snk_taskbar_skeleton,$ as snk_view_representation,V as taskbar_actions_button,q as taskbar_split_button}
|