@sankhyalabs/sankhyablocks 8.6.0 → 8.8.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/cjs/{ConfigStorage-bbffce76.js → ConfigStorage-a97ca159.js} +2 -2
  2. package/dist/cjs/{DataFetcher-0cc561bc.js → DataFetcher-2a99283c.js} +25 -10
  3. package/dist/cjs/{SnkFormConfigManager-c49af777.js → SnkFormConfigManager-f641f502.js} +2 -2
  4. package/dist/cjs/{SnkMultiSelectionListDataSource-804ff4c7.js → SnkMultiSelectionListDataSource-56db34ee.js} +11 -0
  5. package/dist/cjs/{auth-fetcher-fff2319e.js → auth-fetcher-78231356.js} +1 -1
  6. package/dist/cjs/dataunit-fetcher-4f7d4ee7.js +878 -0
  7. package/dist/cjs/{form-config-fetcher-35752aad.js → form-config-fetcher-a322a522.js} +1 -1
  8. package/dist/cjs/{pesquisa-fetcher-415eab63.js → pesquisa-fetcher-7ef61508.js} +1 -1
  9. package/dist/cjs/snk-actions-button.cjs.entry.js +4 -3
  10. package/dist/cjs/snk-application.cjs.entry.js +17 -8
  11. package/dist/cjs/snk-attach.cjs.entry.js +16 -3
  12. package/dist/cjs/snk-crud.cjs.entry.js +6 -4
  13. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  14. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -6
  15. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -3
  16. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  17. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  18. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  19. package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
  20. package/dist/cjs/snk-grid.cjs.entry.js +25 -14
  21. package/dist/cjs/{snk-guides-viewer-36b39c9c.js → snk-guides-viewer-aab80f66.js} +5 -4
  22. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -6
  23. package/dist/cjs/snk-personalized-filter.cjs.entry.js +19 -9
  24. package/dist/cjs/snk-simple-crud.cjs.entry.js +8 -92
  25. package/dist/collection/components/snk-application/snk-application.js +11 -3
  26. package/dist/collection/components/snk-attach/snk-attach.js +14 -2
  27. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +11 -0
  28. package/dist/collection/components/snk-grid/snk-grid.js +24 -14
  29. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +16 -6
  30. package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -2
  31. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +25 -10
  32. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +113 -0
  33. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +59 -0
  34. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +169 -0
  35. package/dist/collection/lib/http/data-fetcher/fetchers/{dataunit-fetcher.js → data-unit/dataunit-fetcher.js} +48 -100
  36. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.js +1 -0
  37. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.js +1 -0
  38. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.js +1 -0
  39. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.js +1 -0
  40. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.js +1 -0
  41. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.js +68 -0
  42. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +131 -0
  43. package/dist/collection/lib/index.js +1 -1
  44. package/dist/components/DataFetcher.js +26 -11
  45. package/dist/components/SnkMultiSelectionListDataSource.js +11 -0
  46. package/dist/components/dataunit-fetcher.js +781 -100
  47. package/dist/components/snk-actions-button2.js +1 -1
  48. package/dist/components/snk-application2.js +11 -4
  49. package/dist/components/snk-attach2.js +13 -1
  50. package/dist/components/snk-crud.js +1 -1
  51. package/dist/components/snk-detail-view2.js +1 -1
  52. package/dist/components/snk-grid2.js +19 -11
  53. package/dist/components/snk-personalized-filter2.js +16 -6
  54. package/dist/components/snk-simple-crud2.js +2 -88
  55. package/dist/esm/{ConfigStorage-80ca14d5.js → ConfigStorage-26f89143.js} +2 -2
  56. package/dist/esm/{DataFetcher-044e3988.js → DataFetcher-90e91631.js} +26 -11
  57. package/dist/esm/{SnkFormConfigManager-1a8b3a44.js → SnkFormConfigManager-18948123.js} +2 -2
  58. package/dist/esm/{SnkMultiSelectionListDataSource-892f37f9.js → SnkMultiSelectionListDataSource-b9410c72.js} +11 -0
  59. package/dist/esm/{auth-fetcher-1b378f8e.js → auth-fetcher-a8c8ee7e.js} +1 -1
  60. package/dist/esm/dataunit-fetcher-1c2ccae2.js +874 -0
  61. package/dist/esm/{form-config-fetcher-c702e9e3.js → form-config-fetcher-7c3b6273.js} +1 -1
  62. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-90d6853b.js} +1 -1
  63. package/dist/esm/snk-actions-button.entry.js +4 -3
  64. package/dist/esm/snk-application.entry.js +17 -8
  65. package/dist/esm/snk-attach.entry.js +16 -3
  66. package/dist/esm/snk-crud.entry.js +6 -4
  67. package/dist/esm/snk-data-exporter.entry.js +1 -1
  68. package/dist/esm/snk-detail-view.entry.js +8 -6
  69. package/dist/esm/snk-filter-bar.entry.js +3 -3
  70. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  71. package/dist/esm/snk-form-config.entry.js +2 -2
  72. package/dist/esm/snk-form.entry.js +4 -4
  73. package/dist/esm/snk-grid-config.entry.js +3 -3
  74. package/dist/esm/snk-grid.entry.js +26 -15
  75. package/dist/esm/{snk-guides-viewer-767ad354.js → snk-guides-viewer-62b0fa69.js} +5 -4
  76. package/dist/esm/snk-guides-viewer.entry.js +8 -6
  77. package/dist/esm/snk-personalized-filter.entry.js +19 -9
  78. package/dist/esm/snk-simple-crud.entry.js +7 -91
  79. package/dist/sankhyablocks/p-193971ad.js +1 -0
  80. package/dist/sankhyablocks/{p-dacb4c4c.entry.js → p-19cbe6e2.entry.js} +3 -3
  81. package/dist/sankhyablocks/{p-76926391.js → p-240f5892.js} +2 -2
  82. package/dist/sankhyablocks/p-2c7c1323.entry.js +1 -0
  83. package/dist/sankhyablocks/p-3253e7f2.entry.js +1 -0
  84. package/dist/sankhyablocks/{p-d1cc9007.entry.js → p-57550ddc.entry.js} +1 -1
  85. package/dist/sankhyablocks/p-5d51bff4.js +1 -0
  86. package/dist/sankhyablocks/{p-727b8cbe.entry.js → p-5dd52ec5.entry.js} +1 -1
  87. package/dist/sankhyablocks/p-6541f0df.js +1 -0
  88. package/dist/sankhyablocks/p-68fbd480.entry.js +1 -0
  89. package/dist/sankhyablocks/{p-845c7480.entry.js → p-8652f90b.entry.js} +1 -1
  90. package/dist/sankhyablocks/{p-a2c7c45f.js → p-910af03c.js} +1 -1
  91. package/dist/sankhyablocks/p-992a9d0f.js +1 -0
  92. package/dist/sankhyablocks/p-acb1374c.entry.js +1 -0
  93. package/dist/sankhyablocks/p-b36053da.entry.js +1 -0
  94. package/dist/sankhyablocks/p-b481e5ad.js +1 -0
  95. package/dist/sankhyablocks/p-d264da22.entry.js +1 -0
  96. package/dist/sankhyablocks/{p-af86752b.js → p-d47bbee3.js} +1 -1
  97. package/dist/sankhyablocks/{p-e46dd27b.entry.js → p-d563e451.entry.js} +1 -1
  98. package/dist/sankhyablocks/p-d56b65e3.entry.js +1 -0
  99. package/dist/sankhyablocks/p-e473ca13.entry.js +1 -0
  100. package/dist/sankhyablocks/{p-3ef37b31.entry.js → p-e74e2153.entry.js} +1 -1
  101. package/dist/sankhyablocks/p-e86d4a53.js +59 -0
  102. package/dist/sankhyablocks/{p-90c07587.entry.js → p-ebfa6460.entry.js} +1 -1
  103. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  104. package/dist/types/components/snk-application/snk-application.d.ts +1 -1
  105. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  106. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +1 -0
  107. package/dist/types/components/snk-grid/snk-grid.d.ts +3 -4
  108. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +3 -1
  109. package/dist/types/components.d.ts +3 -2
  110. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -1
  111. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +2 -1
  112. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +13 -0
  113. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +19 -0
  114. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +25 -0
  115. package/dist/types/lib/http/data-fetcher/fetchers/{dataunit-fetcher.d.ts → data-unit/dataunit-fetcher.d.ts} +5 -3
  116. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.d.ts +6 -0
  117. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.d.ts +7 -0
  118. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +8 -0
  119. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.d.ts +4 -0
  120. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.d.ts +6 -0
  121. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.d.ts +9 -0
  122. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +15 -0
  123. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +1 -1
  124. package/dist/types/lib/index.d.ts +1 -1
  125. package/package.json +3 -3
  126. package/dist/cjs/dataunit-fetcher-16b32d96.js +0 -356
  127. package/dist/esm/dataunit-fetcher-e0361781.js +0 -354
  128. package/dist/esm/pesquisa-fetcher-d1b4e5a2.js +0 -165
  129. package/dist/sankhyablocks/p-15578509.entry.js +0 -1
  130. package/dist/sankhyablocks/p-1f32ad9c.entry.js +0 -1
  131. package/dist/sankhyablocks/p-2043a64f.js +0 -1
  132. package/dist/sankhyablocks/p-251985c1.entry.js +0 -1
  133. package/dist/sankhyablocks/p-3c1759ba.entry.js +0 -1
  134. package/dist/sankhyablocks/p-473c7df4.js +0 -1
  135. package/dist/sankhyablocks/p-77aebc26.js +0 -1
  136. package/dist/sankhyablocks/p-867e9b79.js +0 -1
  137. package/dist/sankhyablocks/p-8d1602f2.entry.js +0 -1
  138. package/dist/sankhyablocks/p-98ae8ddc.entry.js +0 -1
  139. package/dist/sankhyablocks/p-9de24cf3.entry.js +0 -1
  140. package/dist/sankhyablocks/p-b6d54b6c.entry.js +0 -1
  141. package/dist/sankhyablocks/p-d5b11196.js +0 -76
  142. package/dist/sankhyablocks/p-fa9d3f73.js +0 -1
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-d2d301a6.js";import{DataUnit as a,defaultDataLoader as r,StringUtils as n,ChangeOperation as o,ObjectUtils as h,ApplicationContext as d,DataType as l,UserInterface as m}from"@sankhyalabs/core";import{c,S as u}from"./p-4a78e118.js";import{T as p}from"./p-c9841939.js";import"./p-2043a64f.js";import"./p-76926391.js";import{P as g}from"./p-5534e08c.js";import"./p-9e7d65a4.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-584d7212.js";import"./p-af86752b.js";import{T as v}from"./p-c2beb95c.js";import{S as b}from"./p-fa9d3f73.js";import"./p-6dc031de.js";import"./p-112455b1.js";import"./p-8d884fab.js";class k{constructor(t,i){this.records=i,this.metadata=t,this._dataUnit=new a(k.IN_MEMORY_DATA_UNIT_NAME),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(t,i)=>r(t,i,this.getRecordsToLoad()),this._dataUnit.saveLoader=(t,i)=>this.saveLoader(t,i),this._dataUnit.removeLoader=(t,i)=>this.removeLoader(t,i),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}getRecordsToLoad(){if(this._initialRecords)try{return this._initialRecords}finally{this._initialRecords=void 0}return this.dataUnit.records}get dataUnit(){return this._dataUnit}get records(){return this.dataUnit.records}set records(t){const i=null==t?void 0:t.map((t=>(t.__record__id__||(t.__record__id__=this.generateUniqueId()),t)));this._dataUnit?this._dataUnit.records=i:this._initialRecords=i}get metadata(){return this._metadata}set metadata(t){this._metadata=t,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return n.generateUUID()}metadaLoader(){return Promise.resolve(this._metadata)}saveLoader(t,i){return new Promise((t=>{let s=[];i.forEach((t=>{let{record:i,updatingFields:e,operation:a}=t;const r=Object.assign(Object.assign({},i),e);if(a===o.INSERT||a===o.COPY)r.__old__id__=i.__record__id__,r.__record__id__=this.generateUniqueId(),this.records.push(r);else{const t=this.records.findIndex((t=>t.__record__id__==r.__record__id__));this.records[t]=r}s.push(r)})),t(s)}))}removeLoader(t,i){return new Promise((t=>{t(i)}))}}k.IN_MEMORY_DATA_UNIT_NAME="InMemoryDataUnit";const f=class{constructor(s){t(this,s),this.dataStateChange=i(this,"dataStateChange",3),this.dataUnitReady=i(this,"dataUnitReady",3),this.actionClick=i(this,"actionClick",7),this.formItemsReady=i(this,"formItemsReady",7),this.REGULAR_DEFAULT_BTNS=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER"],this.REGULAR_SELECTED_BTNS=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER"],this._multiSelectionListDataSource=new b,this._taskbarProcessor=new v({"snkSimpleCrudTaskbar.form_regular":this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(p.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(p.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(p.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(p.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._currentViewMode=c.GRID,this._config=void 0,this.dataState=void 0,this.dataUnit=void 0,this.mode=u.SERVER,this.gridConfig=void 0,this.formConfig=void 0,this.multipleSelection=void 0,this.useCancelConfirm=!0,this.taskbarManager=void 0,this.messagesBuilder=void 0,this.useEnterLikeTab=!1}resolveInMemoryBtns(t){const i=[...t];return this.mode===u.IN_MEMORY&&i.splice(1,1),i}async goToView(t){this._currentViewMode=t,this._viewStack&&this._viewStack.show(t)}actionClickListener(t){const i=t.detail;i===p.GRID_MODE?this.goToView(c.GRID):i===p.FORM_MODE&&this.goToView(c.FORM),t.stopPropagation()}onModeChange(){this.mode==u.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(t,i){h.objectToString(i)!=h.objectToString(t)&&this.dataStateChange.emit(t)}componentWillRender(){this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,this.getTaskBarDisabledButtons())}componentWillLoad(){this.processMetadata(),this.onModeChange(),this.configDatasource()}configDatasource(){const t=d.getContextValue("__SNK__APPLICATION__");this._multiSelectionListDataSource.setApplication(t),this._multiSelectionListDataSource.setDataUnit(this.dataUnit)}getTaskBarId(){var t,i,s;return(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(i=this.dataState)||void 0===i?void 0:i.selectionInfo)&&!this.dataState.selectionInfo.isAllRecords()&&(null===(s=this.dataState.selectionInfo.records)||void 0===s?void 0:s.length)>0?this._currentViewMode===c.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===c.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new k(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(t){return this._inMemoryLoader?this._inMemoryLoader.metadata=t:this.dataUnit&&(this.dataUnit.metadata=t),Promise.resolve()}setRecords(t){return this._inMemoryLoader?this._inMemoryLoader.records=t:this.dataUnit&&(this.dataUnit.records=t),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}processMetadata(){const t=this._element.querySelectorAll("snk-field-metadata"),i=[],s={fields:[],emptyConfig:!1};t.forEach((t=>{const e={name:t.getAttribute("name")||t.getAttribute("label"),label:t.getAttribute("label"),dataType:l[t.getAttribute("dataType")]||l.TEXT,userInterface:m[t.getAttribute("userInterface")]||m.SHORTTEXT,readOnly:"true"==t.getAttribute("readOnly"),required:"true"==t.getAttribute("required"),tab:t.getAttribute("tab")||void 0,visible:"false"!=t.getAttribute("visible")};s.fields.push({name:e.name,tab:e.tab,visible:e.visible}),i.push(e)})),i.length>0&&(this.formConfig||(this.formConfig=s),this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:i})}onDataStateChange(t){this.dataState=Object.assign({},t.detail)}getTaskBarDisabledButtons(){var t,i,s,e;const a=[];return(null===(t=this.dataState)||void 0===t?void 0:t.hasNext)||a.push(p.NEXT),(null===(i=this.dataState)||void 0===i?void 0:i.hasPrevious)||a.push(p.PREVIOUS),(null===(e=null===(s=this.dataState)||void 0===s?void 0:s.selectionInfo)||void 0===e?void 0:e.isEmpty())&&a.push(p.FORM_MODE),a}handleCancelEdit(){var t;(null===(t=this.dataState)||void 0===t?void 0:t.recordsIsEmpty)&&(this.goToView(c.GRID),this.dataUnit.clearSelection())}render(){var t;return s("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,useCancelConfirm:this.useCancelConfirm,onDataStateChange:t=>this.onDataStateChange(t),onCancelEdition:this.handleCancelEdit.bind(this),onInsertionMode:()=>this.goToView(c.FORM),onDataUnitReady:t=>this.dataUnitReady.emit(t.detail),ignoreSaveMessage:this._currentViewMode===c.GRID,onMessagesBuilderUpdated:t=>this.messagesBuilder=t.detail},s("header",null,s("slot",{name:"snkSimpleCrudHeader"})),s("section",{class:"ez-box ez-box--shadow simple-crud__container-section"},s("snk-taskbar",{class:"ez-box ez-box--shadow ez-padding--medium ez-margin-bottom--large",dataUnit:this.dataUnit,primaryButton:(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:g.SECONDARY},s("slot",{name:"TASKBAR_CUSTOM_ELEMENTS"})),s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"simple-crud"},s("stack-item",null,s("ez-grid",{dataUnit:this.dataUnit,config:this.gridConfig,"no-header":!0,multipleSelection:this.multipleSelection,onEzDoubleClick:()=>this.goToView(c.FORM),columnfilterDataSource:this.dataUnit.name.includes(k.IN_MEMORY_DATA_UNIT_NAME)?void 0:this._multiSelectionListDataSource,useEnterLikeTab:this.useEnterLikeTab},s("div",{slot:"footer"},s("slot",{name:"snkSimpleCrudFooter"})))),s("stack-item",null,s("ez-form",{dataUnit:this.dataUnit,config:this.formConfig})))))}get _element(){return e(this)}static get watchers(){return{mode:["onModeChange"],dataState:["observeDataState"]}}};f.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:max-content;row-gap:12px;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";export{f as snk_simple_crud}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as a}from"./p-d2d301a6.js";import{StringUtils as h,ElementIDUtils as o,ApplicationContext as n}from"@sankhyalabs/core";import{T as r}from"./p-c9841939.js";import"./p-2043a64f.js";import"./p-76926391.js";import{P as d}from"./p-5534e08c.js";import"./p-9e7d65a4.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-584d7212.js";import"./p-af86752b.js";import{c}from"./p-4a78e118.js";import{A as l}from"./p-77aebc26.js";import"./p-6dc031de.js";import"./p-112455b1.js";import"./p-8d884fab.js";const m=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this.configuratorSave=i(this,"configuratorSave",7),this.configuratorCancel=i(this,"configuratorCancel",7),this.formItemsReady=i(this,"formItemsReady",7),this._viewHistory=[],this._dataUnit=void 0,this._dataState=void 0,this.attachmentRegisterKey=void 0,this._currentViewMode=c.GRID,this._canEdit=void 0,this._resourceID=void 0,this.configName=void 0,this.selectionToastConfig=void 0,this.showActionButtons=!1,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=d.PRIMARY,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.customContainerId=`SNK-CRUD-CUSTOM-CONTAINER-${h.generateUUID()}`}async goToView(t){this.executeAction(t)}async openConfigurator(){var t;null===(t=this._snkConfigurator)||void 0===t||t.open()}async closeConfigurator(){var t;null===(t=this._snkConfigurator)||void 0===t||t.close()}async reloadFilterBar(){var t;null===(t=this._snkGrid)||void 0===t||t.reloadFilterBar()}currentViewModeWatcher(t){this._viewHistory=[...this._viewHistory.slice(-1),t]}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===c.GRID,this.setViewMode(c.FORM)}async executeAction(t){return t===r.GRID_MODE?this.setViewMode(c.GRID):t===r.FORM_MODE||t===r.UPDATE?this.gridToForm(t!==r.UPDATE):t===r.CONFIGURATOR?this._snkConfigurator.open():"ATTACH"===t?this.setViewMode(c.ATTACHMENT):void 0}backView(){const t=this._viewHistory.at(-2)||c.GRID;this.setViewMode(t)}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t}openConfig(t){this._snkConfigurator.close(),t===c.GRID?this._snkGrid.showConfig():t===c.FORM&&this._guidesViewer.showFormConfig()}addDataElementID(){o.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(c.GRID)}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}componentWillLoad(){const t=n.getContextValue("__SNK__APPLICATION__");t.hasAccess(l.UPDATE,this._resourceID).then((t=>this._canEdit=t));let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.initDataUnit(t):this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.initDataUnit(t)})),this._snkDataUnit.addEventListener("dataStateChange",(async({detail:t})=>{this._dataState=t,void 0!==t.selectedRecord&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey())}));break}i=i.parentElement}this.configName||(this.configName=t.configName)}async initDataUnit(t){this.addDataElementID(),this.messagesBuilder||(this.messagesBuilder=this._snkDataUnit.messagesBuilder),null==this._resourceID&&(this._resourceID=this._snkDataUnit.resourceID,null==this._resourceID&&(this._resourceID=await t.getResourceID()))}handleConfiguratorEvent(t,i){t.stopImmediatePropagation(),"SAVE"!==i?this.configuratorCancel.emit():this.configuratorSave.emit()}render(){if(null!=this._resourceID)return this._snkDataUnit.ignoreSaveMessage=this._currentViewMode===c.GRID,s(e,null,s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,"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,selectionToastConfig:this.selectionToastConfig,useEnterLikeTab:this.useEnterLikeTab,canEdit:this._canEdit,resourceID:this._resourceID},s("slot",{name:"GRID_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"GRID_HEADER_CUSTOM_ELEMENTS"}),s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-guides-viewer",{ref:t=>this._guidesViewer=t,entityPath:this._snkDataUnit.entityName,messagesBuilder:this.messagesBuilder,onExit:()=>this.setViewMode(c.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,resourceID:this._resourceID,detailTaskbarCustomContainerId:this.customContainerId},s("slot",{name:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"SnkFormTaskBar"}))),s("stack-item",null,s("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this._snkDataUnit.entityName,onBack:this.backView.bind(this)})),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:t=>this.setViewMode(t.detail),onOpenConfig:t=>this.openConfig(t.detail),showActionButtons:this.showActionButtons,onSave:t=>this.handleConfiguratorEvent(t,"SAVE"),onCancel:t=>this.handleConfiguratorEvent(t,"CANCEL"),resourceID:this._resourceID,customContainerId:this.customContainerId})),s("div",{id:`${this.customContainerId}`},s("slot",{name:"SnkConfigContainerSlot"}),s("slot",{name:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS"}),s("slot",{name:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))}get _element(){return a(this)}static get watchers(){return{_currentViewMode:["currentViewModeWatcher"]}}};m.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{m as snk_crud}
@@ -1 +0,0 @@
1
- export{S as snk_guides_viewer}from"./p-867e9b79.js";import"./p-d2d301a6.js";import"@sankhyalabs/core";import"./p-473c7df4.js";import"./p-a2c7c45f.js";import"./p-af86752b.js";import"./p-2043a64f.js";import"./p-112455b1.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-8d884fab.js";import"./p-584d7212.js";import"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-c2beb95c.js";import"./p-c9841939.js";import"./p-5534e08c.js";import"./p-6dc031de.js";import"./p-4a78e118.js";import"./p-76926391.js";import"./p-9e7d65a4.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/DataUnit";
@@ -1,76 +0,0 @@
1
- import{DataUnit as e,StringUtils as t,DataType as a,DataUnitStorage as r,ChangeOperation as i}from"@sankhyalabs/core";import{d as n,D as s}from"./p-2043a64f.js";import{DISTINCT_FILTER_NAME_PREFIX as o}from"@sankhyalabs/ezui/dist/collection/utils/constants";import{DataUnitTransient as l}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";class d{constructor(){this.templateByQuery=new Map,this._loadDataTimeout={},this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchDataUnit",n.gql`query($name: String!) {
2
- $queryAlias$: fetchDataUnit(name: $name){
3
- name
4
- fields{
5
- name
6
- defaultValue
7
- label
8
- visible
9
- readOnly
10
- required
11
- dataType
12
- userInterface
13
- calculated
14
- group
15
- order
16
- properties{
17
- name
18
- value
19
- }
20
- dependencies{
21
- masterFields
22
- type
23
- expression
24
- }
25
- }
26
- children{
27
- name
28
- label
29
- links{
30
- source
31
- target
32
- }
33
- }
34
- }
35
- }`),this.templateByQuery.set("fetchData",n.gql`query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
36
- $queryAlias$: fetchDataUnit(name: $dataunit){
37
- data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
38
- limit
39
- offset
40
- total
41
- hasMore
42
- records{
43
- id
44
- label
45
- fields {
46
- name
47
- value
48
- }
49
- }
50
- }
51
- }
52
- }`),this.templateByQuery.set("saveData",n.gql`mutation($changes: [InputBatchChange!]!) {
53
- $queryAlias$: batchOperationDataUnit(changes: $changes){
54
- oldId
55
- id
56
- label
57
- ownerDataUnitName
58
- fields {
59
- name
60
- value
61
- }
62
- }
63
- }`),this.templateByQuery.set("fetchDataRecord",n.gql`query($dataunit: String! $recordID: [String!]) {
64
- $queryAlias$: fetchDataUnit(name: $dataunit){
65
- record(id: $recordID){
66
- id
67
- label
68
- fields {
69
- name
70
- value
71
- }
72
- }
73
- }
74
- }`),this.templateByQuery.set("fetchDistinctColumn",n.gql`query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
75
- $queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
76
- }`)}getDataUnit(t,a,r,i){const n=`dd://${t}/${a}${i?"/"+i:""}`,s=null!=r?r.getChildDataunit(n):new e(n);return s.metadataLoader=e=>this.loadMetadata(e),s.dataLoader=(e,t)=>this.loadData(e,t),s.saveLoader=(e,t)=>this.saveData(s,t),s.removeLoader=(e,t)=>this.removeRecords(e,t),s.recordLoader=(e,t)=>this.loadRecord(e,t),s}loadMetadata(e){return new Promise(((t,a)=>{s.get().callGraphQL({values:{name:e.name},query:this.templateByQuery.get("fetchDataUnit")}).then((e=>{var a;const r={name:e.name,label:e.name,children:[...e.children],fields:[]};null===(a=e.fields)||void 0===a||a.forEach((e=>{let t;Array.isArray(e.properties)&&(t={},e.calculated&&(t.gridHeaderTooltip="Campos calculados não podem ser ordenados"),e.properties.forEach((e=>t[e.name]=e.value))),r.fields.push(Object.assign(Object.assign({},e),{properties:t}))})),r.fields.sort(((e,t)=>e.order-t.order)),t(r)})).catch((e=>{a(e)}))}))}async loadData(e,t){try{const a=e.name;this._loadDataTimeout[a]&&(clearTimeout(this._loadDataTimeout[a]),delete this._loadDataTimeout[a]);const r=await this.doLoadData(e,t);return delete this._loadDataTimeout[a],await new Promise((e=>{this._loadDataTimeout[a]=setTimeout(e,200)})),Promise.resolve(r)}catch(e){return Promise.reject(e)}}loadSelectDistinct(e,t,a){const{parentRecordId:r,filters:i}=e.getLastLoadRequest()||{},n=i.filter((e=>e.name!==`${o}${t}`)),l={dataUnit:e.name,argument:a,fieldName:t,parentRecordId:r,filters:n};return new Promise(((e,t)=>{s.get().callGraphQL({values:l,query:this.templateByQuery.get("fetchDistinctColumn")}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}doLoadData(e,r){return new Promise(((i,n)=>{var o;const{sort:l,filters:d,limit:c,offset:u,quickFilter:m}=r,f={dataunit:e.name,sort:l,filters:d};if(f.limit=c,f.offset=u,f.parentRecordId=r.parentRecordId,!t.isEmpty(null==m?void 0:m.term)){void 0===f.filter&&(f.filter=[]);const e={name:"__QUICK_FILTER__",expression:"__QUICK_FILTER__",params:[{name:"term",dataType:a.TEXT,value:m.term}]};(null===(o=null==m?void 0:m.fields)||void 0===o?void 0:o.length)>0&&e.params.push({name:"fields",dataType:a.OBJECT,value:m.fields}),f.filter.push(e)}s.get().callGraphQL({values:f,query:this.templateByQuery.get("fetchData")}).then((t=>{const{limit:a,offset:r,total:n,hasMore:s,records:o}=t.data;let l;a&&(l={firstRecord:0==n?0:r+1,lastRecord:r+Math.min(o.length,a),total:n,currentPage:r/a,hasMore:s});const d=[];o.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label};t.fields.forEach((({name:t,value:r})=>{a[t]=e.valueFromString(t,r)})),d.push(a)})),i({paginationInfo:l,records:d})})).catch((e=>{n(e)}))}))}saveData(e,t){const i=t.map((e=>{const{dataUnit:t,record:i,updatingFields:n,operation:s}=e,o=r.get(t);let l;n&&(l=Object.entries(n).map((([e,t])=>{const r=o.getField(e);return{fieldName:e,dataType:r?r.dataType:a.TEXT,value:o.valueToString(e,t)}})));const d={dataUnit:t,fields:l,operation:s,recordId:i.__record__id__};return e.sourceId&&(d.sourceId=e.sourceId),i.__parent__record__id__&&(d.parentRecordId=i.__parent__record__id__),d}));return new Promise(((t,a)=>{const n=i.map((e=>function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(a[r[i]]=e[r[i]])}return a}(e,[])));s.get().callGraphQL({values:{changes:n},query:this.templateByQuery.get("saveData")}).then((a=>{const i=[];null==a||a.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label,__owner__dataunit__name__:t.ownerDataUnitName},n=r.get(a.__owner__dataunit__name__)||e;t.oldId&&(a.__old__id__=t.oldId),t.fields.forEach((({name:e,value:t})=>{var r;a[e]=(null===(r=null==n?void 0:n.valueFromString)||void 0===r?void 0:r.call(n,e,t))||t})),i.push(a)})),t(i)})).catch((e=>{a(e)}))}))}getTransientInfo(e,t){const{records:r}=e.getSelectionInfo();return Object.entries(r.filter((e=>e.__record__id__==t))[0]).filter((([e])=>e.startsWith(l.DATA_UNIT_TRANSIENT_PREFIX_NAME))).map((([e,t])=>({fieldName:e,value:t,dataType:a.TEXT})))}removeRecords(e,t){const a=t.map((t=>({dataUnit:e.name,operation:i.DELETE,recordId:t,fields:this.getTransientInfo(e,t)})));return new Promise(((e,r)=>{s.get().callGraphQL({values:{changes:a},query:this.templateByQuery.get("saveData")}).then((()=>{e(t)})).catch((e=>{r(e)}))}))}loadRecord(e,t){return new Promise(((a,r)=>{s.get().callGraphQL({values:{recordID:t,dataunit:e.name},query:this.templateByQuery.get("fetchDataRecord")}).then((t=>{const r=[];t.record.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label};t.fields.forEach((({name:t,value:r})=>{a[t]=e.valueFromString(t,r)})),r.push(a)})),a(r)})).catch((e=>{r(e)}))}))}}export{d as D}
@@ -1 +0,0 @@
1
- import{UserInterface as t,DateUtils as e}from"@sankhyalabs/core";class s{setDataUnit(t){this._dataUnit=t}setApplication(t){this._application=t}formatLabel(s,a){const{userInterface:i}=this._dataUnit.getField(s);return i===t.DATETIME?e.formatDate(this._dataUnit.valueFromString(s,a)):String(this._dataUnit.getFormattedValue(s,a))}fetchData(e,s){return new Promise((a=>{this._application.executeSelectDistinct(this._dataUnit,s,e).then((e=>{a(e.map((e=>this._dataUnit.getField(s).userInterface===t.SEARCH?Object.assign(Object.assign({},JSON.parse(e)),{check:!0}):{value:e,label:this.formatLabel(s,e),check:!0})))}))}))}}export{s as S}