@sankhyalabs/sankhyablocks 8.9.4 → 8.10.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 (172) hide show
  1. package/dist/cjs/{ConfigStorage-90552fe8.js → ConfigStorage-0d507a8f.js} +3 -3
  2. package/dist/cjs/{DataFetcher-1b1e9ff0.js → DataFetcher-ba94ed5b.js} +22 -18
  3. package/dist/cjs/{PersonalizedFilterUtils-2f7823fc.js → PersonalizedFilterUtils-0184ffbb.js} +1 -1
  4. package/dist/cjs/{SnkFormConfigManager-0561602d.js → SnkFormConfigManager-906ee5f7.js} +2 -2
  5. package/dist/cjs/{auth-fetcher-eee6ec18.js → auth-fetcher-c8467c07.js} +1 -1
  6. package/dist/cjs/{dataunit-fetcher-38233d72.js → dataunit-fetcher-529a3866.js} +1 -1
  7. package/dist/cjs/{filter-item-type.enum-aa823a00.js → filter-item-type.enum-a7ffdaa6.js} +1 -0
  8. package/dist/cjs/{form-config-fetcher-00372ac0.js → form-config-fetcher-df043d3d.js} +1 -1
  9. package/dist/cjs/index-f9e81701.js +4 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{pesquisa-fetcher-8bc6d0a5.js → pesquisa-fetcher-ef050a47.js} +1 -1
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/snk-actions-button.cjs.entry.js +5 -5
  14. package/dist/cjs/snk-application.cjs.entry.js +43 -8
  15. package/dist/cjs/snk-attach.cjs.entry.js +3 -3
  16. package/dist/cjs/snk-crud.cjs.entry.js +77 -13
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
  18. package/dist/cjs/{snk-data-unit-b949160d.js → snk-data-unit-04d76538.js} +1 -1
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -8
  21. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +30 -7
  23. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  24. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +52 -0
  25. package/dist/cjs/snk-filter-detail.cjs.entry.js +9 -2
  26. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
  27. package/dist/cjs/snk-filter-item.cjs.entry.js +25 -14
  28. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +8 -6
  29. package/dist/cjs/snk-filter-modal.cjs.entry.js +16 -5
  30. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-form-config.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-form.cjs.entry.js +6 -6
  36. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -5
  37. package/dist/cjs/snk-grid.cjs.entry.js +4 -4
  38. package/dist/cjs/{snk-guides-viewer-676dd526.js → snk-guides-viewer-5b82abc4.js} +6 -6
  39. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  40. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  41. package/dist/cjs/snk-personalized-filter.cjs.entry.js +6 -6
  42. package/dist/cjs/snk-simple-crud.cjs.entry.js +5 -5
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/snk-application/snk-application.js +47 -1
  45. package/dist/collection/components/snk-crud/snk-crud.js +71 -7
  46. package/dist/collection/components/snk-data-unit/snk-data-unit.js +1 -1
  47. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +19 -0
  48. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +95 -0
  49. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +1 -0
  50. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +7 -0
  51. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +24 -13
  52. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +14 -3
  53. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +3 -1
  54. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +5 -1
  55. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +9 -5
  56. package/dist/collection/lib/workspace/workspace.js +12 -0
  57. package/dist/components/DataFetcher.js +22 -18
  58. package/dist/components/filter-item-type.enum.js +1 -0
  59. package/dist/components/index.d.ts +1 -0
  60. package/dist/components/index.js +1 -0
  61. package/dist/components/snk-application2.js +37 -1
  62. package/dist/components/snk-crud.js +71 -7
  63. package/dist/components/snk-data-unit2.js +1 -1
  64. package/dist/components/snk-filter-bar2.js +24 -1
  65. package/dist/components/snk-filter-checkbox-list.d.ts +11 -0
  66. package/dist/components/snk-filter-checkbox-list.js +68 -0
  67. package/dist/components/snk-filter-detail2.js +7 -0
  68. package/dist/components/snk-filter-item2.js +24 -13
  69. package/dist/components/snk-filter-modal-item2.js +3 -1
  70. package/dist/components/snk-filter-modal.js +14 -3
  71. package/dist/esm/{ConfigStorage-84abda58.js → ConfigStorage-379a9cba.js} +3 -3
  72. package/dist/esm/{DataFetcher-7814568f.js → DataFetcher-aa159c5a.js} +22 -18
  73. package/dist/esm/{PersonalizedFilterUtils-49a5dcb7.js → PersonalizedFilterUtils-e2b38ef7.js} +1 -1
  74. package/dist/esm/{SnkFormConfigManager-655943d0.js → SnkFormConfigManager-8aedc650.js} +2 -2
  75. package/dist/esm/{auth-fetcher-06354710.js → auth-fetcher-c05dc474.js} +1 -1
  76. package/dist/esm/{dataunit-fetcher-aa70ea72.js → dataunit-fetcher-fd329839.js} +1 -1
  77. package/dist/esm/{filter-item-type.enum-5028ed3f.js → filter-item-type.enum-d45e026f.js} +1 -0
  78. package/dist/esm/{form-config-fetcher-24f43afd.js → form-config-fetcher-36219cd3.js} +1 -1
  79. package/dist/esm/index-a7d3d3f1.js +4 -0
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/esm/{pesquisa-fetcher-f7aaf727.js → pesquisa-fetcher-dd3ca0a5.js} +1 -1
  82. package/dist/esm/sankhyablocks.js +1 -1
  83. package/dist/esm/snk-actions-button.entry.js +5 -5
  84. package/dist/esm/snk-application.entry.js +44 -9
  85. package/dist/esm/snk-attach.entry.js +3 -3
  86. package/dist/esm/snk-crud.entry.js +77 -13
  87. package/dist/esm/snk-data-exporter.entry.js +3 -3
  88. package/dist/esm/{snk-data-unit-ca945bf5.js → snk-data-unit-ad5cf70c.js} +1 -1
  89. package/dist/esm/snk-data-unit.entry.js +1 -1
  90. package/dist/esm/snk-detail-view.entry.js +8 -8
  91. package/dist/esm/snk-filter-advanced-mode_2.entry.js +2 -2
  92. package/dist/esm/snk-filter-bar.entry.js +30 -7
  93. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  94. package/dist/esm/snk-filter-checkbox-list.entry.js +48 -0
  95. package/dist/esm/snk-filter-detail.entry.js +9 -2
  96. package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
  97. package/dist/esm/snk-filter-item.entry.js +25 -14
  98. package/dist/esm/snk-filter-modal-item.entry.js +8 -6
  99. package/dist/esm/snk-filter-modal.entry.js +16 -5
  100. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  101. package/dist/esm/snk-filter-number.entry.js +1 -1
  102. package/dist/esm/snk-filter-period.entry.js +1 -1
  103. package/dist/esm/snk-filter-search.entry.js +1 -1
  104. package/dist/esm/snk-form-config.entry.js +3 -3
  105. package/dist/esm/snk-form.entry.js +6 -6
  106. package/dist/esm/snk-grid-config.entry.js +5 -5
  107. package/dist/esm/snk-grid.entry.js +4 -4
  108. package/dist/esm/{snk-guides-viewer-746e2547.js → snk-guides-viewer-f68589c4.js} +6 -6
  109. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  110. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  111. package/dist/esm/snk-personalized-filter.entry.js +6 -6
  112. package/dist/esm/snk-simple-crud.entry.js +5 -5
  113. package/dist/sankhyablocks/{p-29529c8f.entry.js → p-01ba23cd.entry.js} +1 -1
  114. package/dist/sankhyablocks/{p-43b2aad5.js → p-057fad05.js} +1 -1
  115. package/dist/sankhyablocks/{p-e47d966c.js → p-0d7863ed.js} +1 -1
  116. package/dist/sankhyablocks/p-152f0949.entry.js +1 -0
  117. package/dist/sankhyablocks/{p-c6800fd4.entry.js → p-16eaa54b.entry.js} +1 -1
  118. package/dist/sankhyablocks/{p-cb37982f.entry.js → p-20726710.entry.js} +1 -1
  119. package/dist/sankhyablocks/{p-c78a80ae.entry.js → p-3ab6df3d.entry.js} +1 -1
  120. package/dist/sankhyablocks/{p-ee49df44.js → p-3af0a81e.js} +1 -1
  121. package/dist/sankhyablocks/{p-eb636e15.entry.js → p-41f8bfa3.entry.js} +1 -1
  122. package/dist/sankhyablocks/{p-a9b6acf1.js → p-4396d1a6.js} +1 -1
  123. package/dist/sankhyablocks/p-4b0ea83f.entry.js +1 -0
  124. package/dist/sankhyablocks/{p-d7665a57.entry.js → p-5de077f3.entry.js} +1 -1
  125. package/dist/sankhyablocks/p-6977a26c.entry.js +1 -0
  126. package/dist/sankhyablocks/{p-b54e06ca.js → p-74545be0.js} +1 -1
  127. package/dist/sankhyablocks/p-787edf13.entry.js +1 -0
  128. package/dist/sankhyablocks/{p-fc257290.entry.js → p-7e2ded86.entry.js} +1 -1
  129. package/dist/sankhyablocks/{p-c0931902.entry.js → p-8002dcd0.entry.js} +1 -1
  130. package/dist/sankhyablocks/{p-809a09ac.entry.js → p-86b9846a.entry.js} +1 -1
  131. package/dist/sankhyablocks/{p-88039a7f.js → p-9695f78b.js} +1 -1
  132. package/dist/sankhyablocks/p-9be1dfd5.entry.js +1 -0
  133. package/dist/sankhyablocks/p-a037f5b4.entry.js +1 -0
  134. package/dist/sankhyablocks/{p-718ecd01.entry.js → p-a2bd1825.entry.js} +1 -1
  135. package/dist/sankhyablocks/{p-8f307ef2.entry.js → p-aaa1438e.entry.js} +1 -1
  136. package/dist/sankhyablocks/p-aaa3ee68.entry.js +1 -0
  137. package/dist/sankhyablocks/{p-6e32de4b.entry.js → p-b542061a.entry.js} +1 -1
  138. package/dist/sankhyablocks/{p-5eb3ac18.js → p-bceed094.js} +1 -1
  139. package/dist/sankhyablocks/{p-a3fbded7.entry.js → p-c259545b.entry.js} +1 -1
  140. package/dist/sankhyablocks/{p-26ad62b9.entry.js → p-c758265f.entry.js} +1 -1
  141. package/dist/sankhyablocks/{p-fe49067d.entry.js → p-c8622597.entry.js} +1 -1
  142. package/dist/sankhyablocks/p-c8b1ebf1.entry.js +11 -0
  143. package/dist/sankhyablocks/{p-a3868fbc.entry.js → p-cb7419e0.entry.js} +1 -1
  144. package/dist/sankhyablocks/{p-210b4794.js → p-cd2a285d.js} +1 -1
  145. package/dist/sankhyablocks/{p-0d5e8a37.entry.js → p-cea081b7.entry.js} +1 -1
  146. package/dist/sankhyablocks/p-d1677df0.entry.js +1 -0
  147. package/dist/sankhyablocks/p-d6317851.entry.js +1 -0
  148. package/dist/sankhyablocks/{p-e38f28ae.js → p-d9bb09b3.js} +2 -2
  149. package/dist/sankhyablocks/{p-1a991d41.entry.js → p-dc7412bf.entry.js} +1 -1
  150. package/dist/sankhyablocks/{p-3f0fe056.js → p-e6380c60.js} +1 -1
  151. package/dist/sankhyablocks/{p-584d7212.js → p-ff1990ad.js} +1 -1
  152. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  153. package/dist/types/components/snk-application/snk-application.d.ts +10 -1
  154. package/dist/types/components/snk-crud/snk-crud.d.ts +6 -0
  155. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.d.ts +27 -0
  156. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +2 -1
  157. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  158. package/dist/types/components.d.ts +35 -1
  159. package/dist/types/lib/workspace/workspace.d.ts +3 -0
  160. package/package.json +1 -1
  161. package/react/components.d.ts +1 -0
  162. package/react/components.js +1 -0
  163. package/react/components.js.map +1 -1
  164. package/dist/sankhyablocks/p-1ae31937.entry.js +0 -1
  165. package/dist/sankhyablocks/p-25df73bf.entry.js +0 -1
  166. package/dist/sankhyablocks/p-2640ba03.entry.js +0 -1
  167. package/dist/sankhyablocks/p-993e27ad.entry.js +0 -1
  168. package/dist/sankhyablocks/p-a4401f5f.entry.js +0 -1
  169. package/dist/sankhyablocks/p-c606c748.entry.js +0 -1
  170. package/dist/sankhyablocks/p-cd024328.entry.js +0 -1
  171. package/dist/sankhyablocks/p-d4c72815.entry.js +0 -1
  172. package/dist/sankhyablocks/p-f3479d53.entry.js +0 -11
@@ -0,0 +1 @@
1
+ export{S as snk_guides_viewer}from"./p-74545be0.js";import"./p-d2d301a6.js";import"@sankhyalabs/core";import"./p-bceed094.js";import"./p-4396d1a6.js";import"./p-0d7863ed.js";import"./p-9695f78b.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.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-b0ef4383.js";import"./p-d9bb09b3.js";import"./p-9e7d65a4.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"./p-3af0a81e.js";import"./p-c22c1d8e.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-688dcb4c.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";
@@ -1 +1 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-d2d301a6.js";import{ElementIDUtils as a}from"@sankhyalabs/core";import{F as r}from"./p-584d7212.js";import{E as n}from"./p-1a68fb59.js";const h=class{constructor(s){t(this,s),this.valueChanged=i(this,"valueChanged",7),this._startDateLabel="Inicial",this._endDateLabel="Final",this.config=void 0,this.getMessage=void 0,this.value=void 0,this.presentationMode=n.CHIP}ezChangeListener(){const t=this._startDate.value,i=this._endDate.value;this.value=t||i?{start:t,end:i}:void 0,this.valueChanged.emit(this.value)}componentDidLoad(){this._element&&a.addIDInfo(this._element,"filterContentEditor")}getDate(t){const i=this.value?this.value[t]:null;if(i instanceof Date)return i;if("string"==typeof i){let t=new Date(i);return t.setMinutes(t.getMinutes()+t.getTimezoneOffset()),t}return null}async show(){this._startDate.setFocus()}buildLabel(){if(this.presentationMode===n.CHIP)return s("label",{class:"ez-text ez-text--medium ez-text--primary ez-margin--medium"},"até")}componentWillLoad(){this.getMessage&&(this._startDateLabel=this.getMessage("snkFilterBar.labelStart"),this._endDateLabel=this.getMessage("snkFilterBar.labelEnd"))}render(){if(this.config&&this.config.type===r.PERIOD)return s("div",{class:"ez-col ez-col--nowrap"},s("ez-date-input",{id:`${this.config.id}_start`,class:this.presentationMode===n.MODAL?"ez-padding--small":"",label:this._startDateLabel,ref:t=>this._startDate=t,value:this.getDate("start")}),this.buildLabel(),s("ez-date-input",{id:`${this.config.id}_end`,class:this.presentationMode===n.MODAL?"ez-padding--small":"",label:this._endDateLabel,ref:t=>this._endDate=t,value:this.getDate("end")}))}get _element(){return e(this)}};export{h as snk_filter_period}
1
+ import{r as t,c as i,h as s,g as e}from"./p-d2d301a6.js";import{ElementIDUtils as a}from"@sankhyalabs/core";import{F as r}from"./p-ff1990ad.js";import{E as n}from"./p-1a68fb59.js";const h=class{constructor(s){t(this,s),this.valueChanged=i(this,"valueChanged",7),this._startDateLabel="Inicial",this._endDateLabel="Final",this.config=void 0,this.getMessage=void 0,this.value=void 0,this.presentationMode=n.CHIP}ezChangeListener(){const t=this._startDate.value,i=this._endDate.value;this.value=t||i?{start:t,end:i}:void 0,this.valueChanged.emit(this.value)}componentDidLoad(){this._element&&a.addIDInfo(this._element,"filterContentEditor")}getDate(t){const i=this.value?this.value[t]:null;if(i instanceof Date)return i;if("string"==typeof i){let t=new Date(i);return t.setMinutes(t.getMinutes()+t.getTimezoneOffset()),t}return null}async show(){this._startDate.setFocus()}buildLabel(){if(this.presentationMode===n.CHIP)return s("label",{class:"ez-text ez-text--medium ez-text--primary ez-margin--medium"},"até")}componentWillLoad(){this.getMessage&&(this._startDateLabel=this.getMessage("snkFilterBar.labelStart"),this._endDateLabel=this.getMessage("snkFilterBar.labelEnd"))}render(){if(this.config&&this.config.type===r.PERIOD)return s("div",{class:"ez-col ez-col--nowrap"},s("ez-date-input",{id:`${this.config.id}_start`,class:this.presentationMode===n.MODAL?"ez-padding--small":"",label:this._startDateLabel,ref:t=>this._startDate=t,value:this.getDate("start")}),this.buildLabel(),s("ez-date-input",{id:`${this.config.id}_end`,class:this.presentationMode===n.MODAL?"ez-padding--small":"",label:this._endDateLabel,ref:t=>this._endDate=t,value:this.getDate("end")}))}get _element(){return e(this)}};export{h as snk_filter_period}
@@ -1 +1 @@
1
- import{h as i,r as e,c as t,g as s}from"./p-d2d301a6.js";import{S as l}from"./p-f4184ce7.js";import{UserInterface as a,JSUtils as n,ElementIDUtils as r,ApplicationContext as o,StringUtils as h,DataType as d}from"@sankhyalabs/core";import{ModalAction as c}from"@sankhyalabs/ezui/dist/collection/components/ez-modal-container";import{b as u,c as f,d as m}from"./p-933c0c0b.js";import{P as p}from"./p-43b2aad5.js";import"./p-584d7212.js";const v={[a.SHORTTEXT]:"text",[a.LONGTEXT]:"text",[a.INTEGERNUMBER]:"number",[a.DECIMALNUMBER]:"number",[a.DATE]:"calendar",[a.DATETIME]:"calendar",[a.SWITCH]:"boolean",[a.CHECKBOX]:"check-circle-inverted",[a.OPTIONSELECTOR]:"list",[a.SEARCH]:"search",[a.HTML]:"tag_code",[a.IMAGE]:"png",[a.FILE]:"edit-file",[a.TIME]:"timer-outline",[a.ELAPSEDTIME]:"timer",[a.MASKEDTEXT]:"text",[a.PASSWORD]:"email"},b=({userInterface:e,description:t})=>i("ez-icon",{iconName:v[e],class:"ez-padding-left--small",title:t}),g="__SNK__APPLICATION__",z=/\w+:\/\/(\w+)/,k=class{constructor(i){e(this,i),this.ezSelectFilterItem=t(this,"ezSelectFilterItem",7),this._currentMetadata=null,this._filterText="",this._isLoading=!1,this.searchable=!0,this.fieldsDataSource=void 0,this.breadcrumbItems=[],this.linkItems=[],this.fieldItems=[],this.searchEmpty=!1,this.groupEmpty=!1}async show(i,e){var t;return i?null===(t=this._ezPopover)||void 0===t||t.showUnder(i,e):this._ezPopover.show(),this.loadData()}async applyFilter(i){if(this.searchable)throw new Error("This method is not available when searchable is true");this.handleFilterChange(i)}async loadData(){var i,e;this._isLoading=!0;let t=await this.fieldsDataSource.fetchData(this._currentLink);this._currentLink=t.currentLink;const{fields:s,links:l}=t||{};if(!Array.isArray(s)||!Array.isArray(l))throw new Error("Invalid metadata");this._currentMetadata=t,this.mapDataSourceToLinkItems(),this.mapDataSourceToFieldItems(),this._isLoading=!1,null===(i=this._ezFieldList)||void 0===i||i.scrollToTop(),null===(e=this._ezLinkList)||void 0===e||e.scrollToTop()}mapDataSourceToLinkItems(){var i;const{links:e}=this._currentMetadata,t=this.getMessage("snkFilterFieldSearch.linkLabel",{link:null===(i=this._currentLink)||void 0===i?void 0:i.description}),s=e.map((i=>Object.assign({label:i.description},i)));this.groupEmpty=Boolean(0===s.length),this.linkItems=[{group:t,items:s}],0===this.breadcrumbItems.length&&(this.breadcrumbItems=[Object.assign({id:n.generateUUID(),label:this._currentLink.description},this._currentLink)])}mapDataSourceToFieldItems(){var i;const e=this._currentMetadata.fields,t=this.getMessage("snkFilterFieldSearch.fieldLabel",{link:null===(i=this._currentLink)||void 0===i?void 0:i.description}),s=e.filter((i=>{if(!this._currentLink)return!0;const e=i.description.toLowerCase().includes(this._filterText.toLowerCase()),t=i.name.toLowerCase().includes(this._filterText.toLowerCase());return e||t})).map((i=>Object.assign({label:i.description},i)));this.searchEmpty=Boolean(this._filterText&&0===s.length),this.fieldItems=[{group:t,items:s}]}handleFilterChange(i){this._isLoading||(this._filterText=i,this.mapDataSourceToFieldItems())}handleSelectLink({detail:i}){if(this._isLoading)return;const e=this.breadcrumbItems.findIndex((e=>e.id===i.id));this.breadcrumbItems=e>-1?this.breadcrumbItems.slice(0,e+1):[...this.breadcrumbItems,Object.assign({id:n.generateUUID(),label:i.description},i)];const t=Object.assign(Object.assign({},i),{type:l.LINK});this._currentLink=t,this.ezSelectFilterItem.emit(t),this.loadData()}getEntityFromBreadCrumbItem(i){const e=z.exec(i.uri);if(e)return e[1]}handleSelectField({detail:i}){var e;const t=this.breadcrumbItems.map((i=>i.label)).join(">>"),s=Object.assign(Object.assign({},i),{type:l.FIELD,entityPath:this.breadcrumbItems.map((i=>this.getEntityFromBreadCrumbItem(i))).filter((i=>null!=i)),path:`${t} >> ${i.description}`});this.ezSelectFilterItem.emit(s),null===(e=this._ezPopover)||void 0===e||e.hide()}getElementID(i){return{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:r.getInternalIDInfo(i)}}getMessage(i,e){var t,s,l;return this._application||(this._application=o.getContextValue(g)),null===(l=null===(s=null===(t=this._application)||void 0===t?void 0:t.messagesBuilder)||void 0===s?void 0:s.getMessage)||void 0===l?void 0:l.call(s,i,e)}componentWillLoad(){this._application=o.getContextValue(g)}componentDidLoad(){r.addIDInfoIfNotExists(this._ezPopover,"popover")}disconnectedCallback(){var i;null===(i=this._ezPopover)||void 0===i||i.hide()}render(){var e;const t=this.getMessage("snkFilterFieldSearch.searchLabel");return i("ez-popover",Object.assign({ref:i=>this._ezPopover=i,role:"dialog",overlayType:"none","aria-hidden":!(null===(e=this._ezPopover)||void 0===e?void 0:e.opened)},this.getElementID("EzPopover")),i("div",{class:"snk-filter-field-search__container"},i("header",{class:"snk-filter-field-search__header"},this.searchable&&!!t&&i("ez-filter-input",Object.assign({class:"snk-filter-field-search__input",label:t,asyncSearch:!0,canShowError:!1,onEzSearching:i=>this.handleFilterChange.bind(this)(i.detail),"aria-label":t,"aria-required":"false","aria-invalid":"false"},this.getElementID("EzFilterInput"))),this.breadcrumbItems.length>0&&i("ez-breadcrumb",Object.assign({items:this.breadcrumbItems,onSelectedItem:this.handleSelectLink.bind(this),role:"navigation","aria-current":"step"},this.getElementID("EzBreadcrumb"))),i("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"})),i("section",{class:`snk-filter-field-search__section ${this.groupEmpty&&this.searchEmpty&&" ez-margin--auto"}`},this.groupEmpty?i("div",{class:"ez-margin--auto"},i("span",{class:"ez-text ez-text--secondary ez-text--medium"},this.getMessage("snkFilterFieldSearch.groupEmpty"))):i("ez-list",Object.assign({ref:i=>this._ezLinkList=i,class:"snk-filter-field-search__list",id:"filterLinkList",useGroups:!0,dataSource:this.linkItems,onEzSelectItem:this.handleSelectLink.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:e=>i("ez-badge",{label:e.fieldCount}),"aria-describedby":"filterLinkLabel"},this.getElementID("EzListLinks"))),this.searchEmpty?i("div",{class:"ez-margin--auto"},i("span",{class:"ez-text ez-text--secondary ez-text--medium"},this.getMessage("snkFilterFieldSearch.searchEmpty"))):i("ez-list",Object.assign({ref:i=>this._ezFieldList=i,class:"snk-filter-field-search__list",id:"filterFieldList",useGroups:!0,dataSource:this.fieldItems,onEzSelectItem:this.handleSelectField.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:b,"aria-describedby":"filterFieldLabel"},this.getElementID("EzListFields"))))))}};k.style=".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";const y=class{constructor(i){e(this,i),this._opened=!1,this._configType=u.SYSTEM_CONFIG,this._expressionItem=void 0,this._informedInstance=!1,this._canSave=!1,this.messagesBuilder=void 0}open(i){return this._opened=!0,this._expressionItem=i,this.loadValues(),new Promise((i=>{this._promiseResolver=i}))}close(){return this._opened=!1,new Promise((i=>{this._promiseResolver=i}))}getMessage(i,e){var t;return null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage(i,e)}getConfigValue(i,e,t=""){var s,l,a;return(null===(l=null===(s=this._expressionItem)||void 0===s?void 0:s[i])||void 0===l?void 0:l[e])||(null===(a=this._expressionItem)||void 0===a?void 0:a[t||e])}loadValues(){var i;const e=this.getConfigValue("systemConfig","entity","entityName"),t=this.getConfigValue("systemConfig","fieldName"),s=this.getConfigValue("userConfig","description"),l=this.getConfigValue("userConfig","type");this._configType=null!=(null===(i=this._expressionItem)||void 0===i?void 0:i.userConfig)?u.USER_CONFIG:u.SYSTEM_CONFIG,h.isEmpty(e)||h.isEmpty(t)||(this._instanceElement.value={value:e,label:""},this._fieldElement.value={value:t,label:""}),h.isEmpty(s)||h.isEmpty(l)||(this._descriptionElement.value=s,this._typeElement.value=l),this.buildFilterExpression()}changeDefinitionUsed(i){if(this._configType=null!=i?i:u.SYSTEM_CONFIG,this._configType===u.SYSTEM_CONFIG){const i=this.getConfigValue("systemConfig","entity","entityName"),e=this.getConfigValue("systemConfig","fieldName");this._instanceElement.value=this._instanceElement.value||{value:i,label:""},this._fieldElement.value=this._fieldElement.value||{value:e,label:""}}else if(this._configType===u.USER_CONFIG){const i=this.getConfigValue("userConfig","description"),e=this.getConfigValue("userConfig","type");this._descriptionElement.value=this._descriptionElement.value||i,this._typeElement.value=this._typeElement.value||e}this.buildFilterExpression()}getTypeValue(){var i;const e=null===(i=this._typeElement)||void 0===i?void 0:i.value;return(null==e?void 0:e.value)||e}getExpressionValues(){var i,e,t,s,l;let a,n;return this._configType===u.SYSTEM_CONFIG?a={entity:null===(e=null===(i=this._instanceElement)||void 0===i?void 0:i.value)||void 0===e?void 0:e.value,fieldName:null===(s=null===(t=this._fieldElement)||void 0===t?void 0:t.value)||void 0===s?void 0:s.value}:this._configType===u.USER_CONFIG&&(n={description:null===(l=this._descriptionElement)||void 0===l?void 0:l.value,type:this.getTypeValue()}),Object.assign(Object.assign(Object.assign({},this._expressionItem),{systemConfig:a}),{userConfig:n})}isEnabled(i){return this._configType===i}isInformedInstance(){var i,e;return!h.isEmpty(null===(e=null===(i=this._instanceElement)||void 0===i?void 0:i.value)||void 0===e?void 0:e.value)}save(){var i;this._expressionItem=Object.assign(Object.assign({},this.getExpressionValues()),{expression:null===(i=this._expressionElement)||void 0===i?void 0:i.value}),this._promiseResolver(this._expressionItem),this._opened=!1}buildFilterExpression(){var i;this._informedInstance=this.isInformedInstance();const e=p.buildFilterExpression(this.getExpressionValues());this._expressionElement.value=e||(null===(i=this._expressionItem)||void 0===i?void 0:i.expression),this._canSave=this.getCanSave()}handleChangeInstance(){this._informedInstance=this.isInformedInstance(),null==this._fieldElement||h.isEmpty(this._fieldElement.value)||(this._fieldElement.value=null),this.buildFilterExpression()}getInstanceCriteria(){var i,e;const t=null===(e=null===(i=this._instanceElement)||void 0===i?void 0:i.value)||void 0===e?void 0:e.value;return{expression:"this.NOMETAB = (SELECT NOMETAB FROM TDDINS WHERE NOMEINSTANCIA = ?)",params:[{name:"NOMEINSTANCIA",dataType:d.TEXT,value:t}]}}onSearch({mode:i,argument:e},t){if(null==this._application||!this._opened)return;const s=t===f.FIELD,l=s?this.getInstanceCriteria():void 0,a={entity:t,entityDescription:this.getMessage("snkFilterParamConfig.label"+(s?"Field":"Instance")),criteria:l,searchOptions:{descriptionFieldName:s?"DESCRCAMPO":"DESCRINSTANCIA",codeFieldName:s?"NOMECAMPO":"NOMEINSTANCIA",showInactives:!1}};return new Promise((t=>{this._application.executePreparedSearch(i,e,a).then((i=>t(i)))}))}getElementID(i){return{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:r.getInternalIDInfo(i)}}getCanSave(){var i;if(this._configType===u.USER_CONFIG){const e=null===(i=this._descriptionElement)||void 0===i?void 0:i.value,t=this.getTypeValue();return!h.isEmpty(e)&&!h.isEmpty(t)}return!0}componentWillLoad(){this._application=o.getContextValue("__SNK__APPLICATION__")}render(){return r.addIDInfoIfNotExists(this._element,"snkFilterParamConfig"),i("ez-popup",Object.assign({useHeader:!1,size:"small",heightMode:"auto",opened:this._opened},this.getElementID("popup")),i("ez-modal-container",Object.assign({onEzModalAction:i=>{i.detail===c.CLOSE&&this.close()},modalTitle:this.getMessage("snkFilterParamConfig.modalTitle")},this.getElementID("modalContainer")),i("div",{class:"ez-flex"},i("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},i("ez-radio-button",Object.assign({value:this._configType,onEzChange:i=>this.changeDefinitionUsed(i.detail)},this.getElementID("systemConfigOption")),i("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelSystemConfig"),value:u.SYSTEM_CONFIG})),i("ez-search",Object.assign({ref:i=>this._instanceElement=i,label:this.getMessage("snkFilterParamConfig.labelInstance"),enabled:this.isEnabled(u.SYSTEM_CONFIG),suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.handleChangeInstance(),optionLoader:i=>this.onSearch(i,f.INSTANCE)},this.getElementID("configFindEntity"))),i("ez-search",Object.assign({ref:i=>this._fieldElement=i,label:this.getMessage("snkFilterParamConfig.labelField"),enabled:this.isEnabled(u.SYSTEM_CONFIG)&&this._informedInstance,suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.buildFilterExpression(),optionLoader:i=>this.onSearch(i,f.FIELD)},this.getElementID("configFindField")))),i("div",{class:"ez-flex ez-padding--medium"},i("hr",{class:"ez-divider-vertical"})),i("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},i("ez-radio-button",Object.assign({value:this._configType,onEzChange:i=>this.changeDefinitionUsed(i.detail)},this.getElementID("userConfigOption")),i("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelUserConfig"),value:u.USER_CONFIG})),i("ez-text-input",Object.assign({ref:i=>this._descriptionElement=i,label:this.getMessage("snkFilterParamConfig.labelDescription"),enabled:this.isEnabled(u.USER_CONFIG),onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamLabel"))),i("ez-combo-box",Object.assign({ref:i=>this._typeElement=i,label:this.getMessage("snkFilterParamConfig.labelType"),enabled:this.isEnabled(u.USER_CONFIG),suppressEmptyOption:!0,onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamType")),Object.keys(m).map((e=>i("option",{value:m[e]},this.getMessage(`snkFilterParamConfig.labelTypeValues.${e.toLowerCase()}`))))))),i("ez-text-area",Object.assign({ref:i=>this._expressionElement=i,class:"snk-filter-param-config__expression",label:this.getMessage("snkFilterParamConfig.labelExpression"),enabled:!1},this.getElementID("presentationExpression"))),i("div",{class:"ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small"},i("ez-button",Object.assign({class:"ez-padding-right--medium",label:this.getMessage("snkFilterParamConfig.labelCancel"),onClick:()=>this.close()},this.getElementID("cancelEditParam"))),i("ez-button",Object.assign({class:"ez-button--primary",label:this.getMessage("snkFilterParamConfig.labelSave"),onClick:()=>this.save(),enabled:this._canSave},this.getElementID("saveEditParam"))))))}get _element(){return s(this)}};y.style=":host{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";export{k as snk_filter_field_search,y as snk_filter_param_config}
1
+ import{h as i,r as e,c as t,g as s}from"./p-d2d301a6.js";import{S as l}from"./p-f4184ce7.js";import{UserInterface as a,JSUtils as n,ElementIDUtils as r,ApplicationContext as o,StringUtils as h,DataType as d}from"@sankhyalabs/core";import{ModalAction as c}from"@sankhyalabs/ezui/dist/collection/components/ez-modal-container";import{b as u,c as f,d as m}from"./p-933c0c0b.js";import{P as p}from"./p-057fad05.js";import"./p-ff1990ad.js";const v={[a.SHORTTEXT]:"text",[a.LONGTEXT]:"text",[a.INTEGERNUMBER]:"number",[a.DECIMALNUMBER]:"number",[a.DATE]:"calendar",[a.DATETIME]:"calendar",[a.SWITCH]:"boolean",[a.CHECKBOX]:"check-circle-inverted",[a.OPTIONSELECTOR]:"list",[a.SEARCH]:"search",[a.HTML]:"tag_code",[a.IMAGE]:"png",[a.FILE]:"edit-file",[a.TIME]:"timer-outline",[a.ELAPSEDTIME]:"timer",[a.MASKEDTEXT]:"text",[a.PASSWORD]:"email"},b=({userInterface:e,description:t})=>i("ez-icon",{iconName:v[e],class:"ez-padding-left--small",title:t}),g="__SNK__APPLICATION__",z=/\w+:\/\/(\w+)/,k=class{constructor(i){e(this,i),this.ezSelectFilterItem=t(this,"ezSelectFilterItem",7),this._currentMetadata=null,this._filterText="",this._isLoading=!1,this.searchable=!0,this.fieldsDataSource=void 0,this.breadcrumbItems=[],this.linkItems=[],this.fieldItems=[],this.searchEmpty=!1,this.groupEmpty=!1}async show(i,e){var t;return i?null===(t=this._ezPopover)||void 0===t||t.showUnder(i,e):this._ezPopover.show(),this.loadData()}async applyFilter(i){if(this.searchable)throw new Error("This method is not available when searchable is true");this.handleFilterChange(i)}async loadData(){var i,e;this._isLoading=!0;let t=await this.fieldsDataSource.fetchData(this._currentLink);this._currentLink=t.currentLink;const{fields:s,links:l}=t||{};if(!Array.isArray(s)||!Array.isArray(l))throw new Error("Invalid metadata");this._currentMetadata=t,this.mapDataSourceToLinkItems(),this.mapDataSourceToFieldItems(),this._isLoading=!1,null===(i=this._ezFieldList)||void 0===i||i.scrollToTop(),null===(e=this._ezLinkList)||void 0===e||e.scrollToTop()}mapDataSourceToLinkItems(){var i;const{links:e}=this._currentMetadata,t=this.getMessage("snkFilterFieldSearch.linkLabel",{link:null===(i=this._currentLink)||void 0===i?void 0:i.description}),s=e.map((i=>Object.assign({label:i.description},i)));this.groupEmpty=Boolean(0===s.length),this.linkItems=[{group:t,items:s}],0===this.breadcrumbItems.length&&(this.breadcrumbItems=[Object.assign({id:n.generateUUID(),label:this._currentLink.description},this._currentLink)])}mapDataSourceToFieldItems(){var i;const e=this._currentMetadata.fields,t=this.getMessage("snkFilterFieldSearch.fieldLabel",{link:null===(i=this._currentLink)||void 0===i?void 0:i.description}),s=e.filter((i=>{if(!this._currentLink)return!0;const e=i.description.toLowerCase().includes(this._filterText.toLowerCase()),t=i.name.toLowerCase().includes(this._filterText.toLowerCase());return e||t})).map((i=>Object.assign({label:i.description},i)));this.searchEmpty=Boolean(this._filterText&&0===s.length),this.fieldItems=[{group:t,items:s}]}handleFilterChange(i){this._isLoading||(this._filterText=i,this.mapDataSourceToFieldItems())}handleSelectLink({detail:i}){if(this._isLoading)return;const e=this.breadcrumbItems.findIndex((e=>e.id===i.id));this.breadcrumbItems=e>-1?this.breadcrumbItems.slice(0,e+1):[...this.breadcrumbItems,Object.assign({id:n.generateUUID(),label:i.description},i)];const t=Object.assign(Object.assign({},i),{type:l.LINK});this._currentLink=t,this.ezSelectFilterItem.emit(t),this.loadData()}getEntityFromBreadCrumbItem(i){const e=z.exec(i.uri);if(e)return e[1]}handleSelectField({detail:i}){var e;const t=this.breadcrumbItems.map((i=>i.label)).join(">>"),s=Object.assign(Object.assign({},i),{type:l.FIELD,entityPath:this.breadcrumbItems.map((i=>this.getEntityFromBreadCrumbItem(i))).filter((i=>null!=i)),path:`${t} >> ${i.description}`});this.ezSelectFilterItem.emit(s),null===(e=this._ezPopover)||void 0===e||e.hide()}getElementID(i){return{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:r.getInternalIDInfo(i)}}getMessage(i,e){var t,s,l;return this._application||(this._application=o.getContextValue(g)),null===(l=null===(s=null===(t=this._application)||void 0===t?void 0:t.messagesBuilder)||void 0===s?void 0:s.getMessage)||void 0===l?void 0:l.call(s,i,e)}componentWillLoad(){this._application=o.getContextValue(g)}componentDidLoad(){r.addIDInfoIfNotExists(this._ezPopover,"popover")}disconnectedCallback(){var i;null===(i=this._ezPopover)||void 0===i||i.hide()}render(){var e;const t=this.getMessage("snkFilterFieldSearch.searchLabel");return i("ez-popover",Object.assign({ref:i=>this._ezPopover=i,role:"dialog",overlayType:"none","aria-hidden":!(null===(e=this._ezPopover)||void 0===e?void 0:e.opened)},this.getElementID("EzPopover")),i("div",{class:"snk-filter-field-search__container"},i("header",{class:"snk-filter-field-search__header"},this.searchable&&!!t&&i("ez-filter-input",Object.assign({class:"snk-filter-field-search__input",label:t,asyncSearch:!0,canShowError:!1,onEzSearching:i=>this.handleFilterChange.bind(this)(i.detail),"aria-label":t,"aria-required":"false","aria-invalid":"false"},this.getElementID("EzFilterInput"))),this.breadcrumbItems.length>0&&i("ez-breadcrumb",Object.assign({items:this.breadcrumbItems,onSelectedItem:this.handleSelectLink.bind(this),role:"navigation","aria-current":"step"},this.getElementID("EzBreadcrumb"))),i("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"})),i("section",{class:`snk-filter-field-search__section ${this.groupEmpty&&this.searchEmpty&&" ez-margin--auto"}`},this.groupEmpty?i("div",{class:"ez-margin--auto"},i("span",{class:"ez-text ez-text--secondary ez-text--medium"},this.getMessage("snkFilterFieldSearch.groupEmpty"))):i("ez-list",Object.assign({ref:i=>this._ezLinkList=i,class:"snk-filter-field-search__list",id:"filterLinkList",useGroups:!0,dataSource:this.linkItems,onEzSelectItem:this.handleSelectLink.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:e=>i("ez-badge",{label:e.fieldCount}),"aria-describedby":"filterLinkLabel"},this.getElementID("EzListLinks"))),this.searchEmpty?i("div",{class:"ez-margin--auto"},i("span",{class:"ez-text ez-text--secondary ez-text--medium"},this.getMessage("snkFilterFieldSearch.searchEmpty"))):i("ez-list",Object.assign({ref:i=>this._ezFieldList=i,class:"snk-filter-field-search__list",id:"filterFieldList",useGroups:!0,dataSource:this.fieldItems,onEzSelectItem:this.handleSelectField.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:b,"aria-describedby":"filterFieldLabel"},this.getElementID("EzListFields"))))))}};k.style=".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";const y=class{constructor(i){e(this,i),this._opened=!1,this._configType=u.SYSTEM_CONFIG,this._expressionItem=void 0,this._informedInstance=!1,this._canSave=!1,this.messagesBuilder=void 0}open(i){return this._opened=!0,this._expressionItem=i,this.loadValues(),new Promise((i=>{this._promiseResolver=i}))}close(){return this._opened=!1,new Promise((i=>{this._promiseResolver=i}))}getMessage(i,e){var t;return null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage(i,e)}getConfigValue(i,e,t=""){var s,l,a;return(null===(l=null===(s=this._expressionItem)||void 0===s?void 0:s[i])||void 0===l?void 0:l[e])||(null===(a=this._expressionItem)||void 0===a?void 0:a[t||e])}loadValues(){var i;const e=this.getConfigValue("systemConfig","entity","entityName"),t=this.getConfigValue("systemConfig","fieldName"),s=this.getConfigValue("userConfig","description"),l=this.getConfigValue("userConfig","type");this._configType=null!=(null===(i=this._expressionItem)||void 0===i?void 0:i.userConfig)?u.USER_CONFIG:u.SYSTEM_CONFIG,h.isEmpty(e)||h.isEmpty(t)||(this._instanceElement.value={value:e,label:""},this._fieldElement.value={value:t,label:""}),h.isEmpty(s)||h.isEmpty(l)||(this._descriptionElement.value=s,this._typeElement.value=l),this.buildFilterExpression()}changeDefinitionUsed(i){if(this._configType=null!=i?i:u.SYSTEM_CONFIG,this._configType===u.SYSTEM_CONFIG){const i=this.getConfigValue("systemConfig","entity","entityName"),e=this.getConfigValue("systemConfig","fieldName");this._instanceElement.value=this._instanceElement.value||{value:i,label:""},this._fieldElement.value=this._fieldElement.value||{value:e,label:""}}else if(this._configType===u.USER_CONFIG){const i=this.getConfigValue("userConfig","description"),e=this.getConfigValue("userConfig","type");this._descriptionElement.value=this._descriptionElement.value||i,this._typeElement.value=this._typeElement.value||e}this.buildFilterExpression()}getTypeValue(){var i;const e=null===(i=this._typeElement)||void 0===i?void 0:i.value;return(null==e?void 0:e.value)||e}getExpressionValues(){var i,e,t,s,l;let a,n;return this._configType===u.SYSTEM_CONFIG?a={entity:null===(e=null===(i=this._instanceElement)||void 0===i?void 0:i.value)||void 0===e?void 0:e.value,fieldName:null===(s=null===(t=this._fieldElement)||void 0===t?void 0:t.value)||void 0===s?void 0:s.value}:this._configType===u.USER_CONFIG&&(n={description:null===(l=this._descriptionElement)||void 0===l?void 0:l.value,type:this.getTypeValue()}),Object.assign(Object.assign(Object.assign({},this._expressionItem),{systemConfig:a}),{userConfig:n})}isEnabled(i){return this._configType===i}isInformedInstance(){var i,e;return!h.isEmpty(null===(e=null===(i=this._instanceElement)||void 0===i?void 0:i.value)||void 0===e?void 0:e.value)}save(){var i;this._expressionItem=Object.assign(Object.assign({},this.getExpressionValues()),{expression:null===(i=this._expressionElement)||void 0===i?void 0:i.value}),this._promiseResolver(this._expressionItem),this._opened=!1}buildFilterExpression(){var i;this._informedInstance=this.isInformedInstance();const e=p.buildFilterExpression(this.getExpressionValues());this._expressionElement.value=e||(null===(i=this._expressionItem)||void 0===i?void 0:i.expression),this._canSave=this.getCanSave()}handleChangeInstance(){this._informedInstance=this.isInformedInstance(),null==this._fieldElement||h.isEmpty(this._fieldElement.value)||(this._fieldElement.value=null),this.buildFilterExpression()}getInstanceCriteria(){var i,e;const t=null===(e=null===(i=this._instanceElement)||void 0===i?void 0:i.value)||void 0===e?void 0:e.value;return{expression:"this.NOMETAB = (SELECT NOMETAB FROM TDDINS WHERE NOMEINSTANCIA = ?)",params:[{name:"NOMEINSTANCIA",dataType:d.TEXT,value:t}]}}onSearch({mode:i,argument:e},t){if(null==this._application||!this._opened)return;const s=t===f.FIELD,l=s?this.getInstanceCriteria():void 0,a={entity:t,entityDescription:this.getMessage("snkFilterParamConfig.label"+(s?"Field":"Instance")),criteria:l,searchOptions:{descriptionFieldName:s?"DESCRCAMPO":"DESCRINSTANCIA",codeFieldName:s?"NOMECAMPO":"NOMEINSTANCIA",showInactives:!1}};return new Promise((t=>{this._application.executePreparedSearch(i,e,a).then((i=>t(i)))}))}getElementID(i){return{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:r.getInternalIDInfo(i)}}getCanSave(){var i;if(this._configType===u.USER_CONFIG){const e=null===(i=this._descriptionElement)||void 0===i?void 0:i.value,t=this.getTypeValue();return!h.isEmpty(e)&&!h.isEmpty(t)}return!0}componentWillLoad(){this._application=o.getContextValue("__SNK__APPLICATION__")}render(){return r.addIDInfoIfNotExists(this._element,"snkFilterParamConfig"),i("ez-popup",Object.assign({useHeader:!1,size:"small",heightMode:"auto",opened:this._opened},this.getElementID("popup")),i("ez-modal-container",Object.assign({onEzModalAction:i=>{i.detail===c.CLOSE&&this.close()},modalTitle:this.getMessage("snkFilterParamConfig.modalTitle")},this.getElementID("modalContainer")),i("div",{class:"ez-flex"},i("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},i("ez-radio-button",Object.assign({value:this._configType,onEzChange:i=>this.changeDefinitionUsed(i.detail)},this.getElementID("systemConfigOption")),i("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelSystemConfig"),value:u.SYSTEM_CONFIG})),i("ez-search",Object.assign({ref:i=>this._instanceElement=i,label:this.getMessage("snkFilterParamConfig.labelInstance"),enabled:this.isEnabled(u.SYSTEM_CONFIG),suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.handleChangeInstance(),optionLoader:i=>this.onSearch(i,f.INSTANCE)},this.getElementID("configFindEntity"))),i("ez-search",Object.assign({ref:i=>this._fieldElement=i,label:this.getMessage("snkFilterParamConfig.labelField"),enabled:this.isEnabled(u.SYSTEM_CONFIG)&&this._informedInstance,suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.buildFilterExpression(),optionLoader:i=>this.onSearch(i,f.FIELD)},this.getElementID("configFindField")))),i("div",{class:"ez-flex ez-padding--medium"},i("hr",{class:"ez-divider-vertical"})),i("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},i("ez-radio-button",Object.assign({value:this._configType,onEzChange:i=>this.changeDefinitionUsed(i.detail)},this.getElementID("userConfigOption")),i("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelUserConfig"),value:u.USER_CONFIG})),i("ez-text-input",Object.assign({ref:i=>this._descriptionElement=i,label:this.getMessage("snkFilterParamConfig.labelDescription"),enabled:this.isEnabled(u.USER_CONFIG),onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamLabel"))),i("ez-combo-box",Object.assign({ref:i=>this._typeElement=i,label:this.getMessage("snkFilterParamConfig.labelType"),enabled:this.isEnabled(u.USER_CONFIG),suppressEmptyOption:!0,onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamType")),Object.keys(m).map((e=>i("option",{value:m[e]},this.getMessage(`snkFilterParamConfig.labelTypeValues.${e.toLowerCase()}`))))))),i("ez-text-area",Object.assign({ref:i=>this._expressionElement=i,class:"snk-filter-param-config__expression",label:this.getMessage("snkFilterParamConfig.labelExpression"),enabled:!1},this.getElementID("presentationExpression"))),i("div",{class:"ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small"},i("ez-button",Object.assign({class:"ez-padding-right--medium",label:this.getMessage("snkFilterParamConfig.labelCancel"),onClick:()=>this.close()},this.getElementID("cancelEditParam"))),i("ez-button",Object.assign({class:"ez-button--primary",label:this.getMessage("snkFilterParamConfig.labelSave"),onClick:()=>this.save(),enabled:this._canSave},this.getElementID("saveEditParam"))))))}get _element(){return s(this)}};y.style=":host{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";export{k as snk_filter_field_search,y as snk_filter_param_config}
@@ -1 +1 @@
1
- import{r as t,c as e,h as i}from"./p-d2d301a6.js";import{ApplicationContext as s,DataType as n,Action as a}from"@sankhyalabs/core";import{D as r}from"./p-88039a7f.js";import{S as o}from"./p-9e7d65a4.js";import{d as h}from"./p-b0ef4383.js";import{D as d}from"./p-ee49df44.js";import{P as l}from"./p-c22c1d8e.js";import{T as c}from"./p-c9841939.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"./p-688dcb4c.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-5534e08c.js";import"./p-6dc031de.js";class m{constructor(t,e,i){var s;this.entityName=t,this.registerKey=e,this.dataUnitName=i,this.validateFields=t=>{if(t.LINK&&t.NOMEARQUIVO)throw new Error(o.LINK_AND_FILE_AT_THE_SAME_TIME);if(!t.LINK&&!t.NOMEARQUIVO)throw new Error(o.ANY_LINK_OR_FILE_FILLED);if(!this.registerKey)throw new Error("Register key can not be null")},this.resourceID=window.resourceID||(null===(s=window.workspace)||void 0===s?void 0:s.resourceID)}async save(t){var e,i;const s="AnexoSistemaSP.salvar";let{updatingFields:n}=t;n=Object.assign(Object.assign({},n),{NOMEARQUIVO:null===(e=n.NOMEARQUIVO)||void 0===e?void 0:e[0]});try{this.validateFields(n);const t=n.LINK?null:n.NOMEARQUIVO,e={serviceName:s,requestBody:{params:{resourceID:this.resourceID,description:n.DESCRICAO,fileSelect:t?1:0,keySession:null===(i=null==t?void 0:t.properties)||void 0===i?void 0:i.fileNameTmp,nameAttach:null==t?void 0:t.name,link:n.LINK,nameEntity:this.entityName,pkEntity:this.registerKey,typeAcess:n.TIPOACESSO,typeApres:n.TIPOAPRES}}},a=await r.get().callServiceBroker(s,JSON.stringify(e));return Promise.resolve([Object.assign(Object.assign(Object.assign({},a),n),{ARQUIVOOULINK:n.LINK?n.LINK:null==t?void 0:t.name,__owner__dataunit__name__:this.dataUnitName})])}catch(t){return Promise.reject(t)}}async edit(t){var e,i,s;const n="AnexoSistemaSP.salvar";let{updatingFields:a,record:o}=t;const h=t=>void 0!==a[t]?a[t]:o[t],d=h("NOMEARQUIVO"),l=null===(i=null===(e=a.NOMEARQUIVO)||void 0===e?void 0:e[0])||void 0===i?void 0:i.downloadURL;a=Object.assign(Object.assign({},a),{DESCRICAO:h("DESCRICAO"),LINK:h("LINK"),TIPOACESSO:h("TIPOACESSO"),TIPOAPRES:h("TIPOAPRES"),CHAVEARQUIVO:o.CHAVEARQUIVO,NOMEARQUIVO:null==d?void 0:d[0]});const c=a.LINK?null:a.NOMEARQUIVO;try{this.validateFields(a);const t={serviceName:n,requestBody:{params:{resourceID:this.resourceID,nuAttach:null==o?void 0:o.NUATTACH,description:a.DESCRICAO,fileSelect:l?1:0,keySession:null===(s=null==c?void 0:c.properties)||void 0===s?void 0:s.fileNameTmp,keyAttach:a.CHAVEARQUIVO,nameAttach:null==c?void 0:c.name,link:a.LINK,nameEntity:this.entityName,pkEntity:this.registerKey,typeAcess:a.TIPOACESSO,typeApres:a.TIPOAPRES}}},e=await r.get().callServiceBroker(n,JSON.stringify(t));return Promise.resolve([Object.assign(Object.assign(Object.assign({},e),a),{ARQUIVOOULINK:a.LINK?a.LINK:null==c?void 0:c.name,__owner__dataunit__name__:this.dataUnitName})])}catch(t){return Promise.reject(t)}}delete(t){var e;const i="AnexoSistemaSP.excluir",s=(null===(e=t.NOMEARQUIVO)||void 0===e?void 0:e[0])||{},n={serviceName:i,requestBody:{paramsDelete:{keyAttach:t.CHAVEARQUIVO,nameAttach:null==s?void 0:s.name,nameEntity:t.NOMEINSTANCIA,nuAttach:t.NUATTACH,pkEntity:t.PKREGISTRO}}};return new Promise(((t,e)=>{r.get().callServiceBroker(i,JSON.stringify(n)).then((e=>t(e))).catch((t=>e(t)))}))}getDownloadKey(t){var e;const i="AnexoSistemaSP.baixar",s=(null===(e=t.NOMEARQUIVO)||void 0===e?void 0:e[0])||{},n={serviceName:i,requestBody:{paramsDown:{nameAttach:null==s?void 0:s.name,nameEntity:t.NOMEINSTANCIA,nuAttach:t.NUATTACH,pkEntity:t.PKREGISTRO,keyAttach:t.CHAVEARQUIVO}}};return new Promise(((t,e)=>{r.get().callServiceBroker(i,JSON.stringify(n)).then((e=>t(e))).catch((t=>e(t)))}))}}class u{constructor(t,e){this.entityName=t,this.getMessage=e,this._application=s.getContextValue("__SNK__APPLICATION__")}initLoaders(t,e,i){this.loader||(this.loader=t.dataLoader),t.dataLoader=(t,e)=>this.dataLoader(t,e),t.saveLoader=(t,s)=>this.saveLoader(s,e).then((t=>(t.length&&i(),t))),t.removeLoader=(t,s)=>this.removeLoader(t,s,e).then((t=>(t.length&&i(),t)))}dataLoader(t,e){return new Promise((i=>{this.loader(t,e).then((t=>{const e=((null==t?void 0:t.records)||[]).map((t=>{let e;return t.LINK||(e=[{name:t.NOMEARQUIVO}]),Object.assign(Object.assign({},t),{ARQUIVOOULINK:t.LINK?t.LINK:t.NOMEARQUIVO,NOMEARQUIVO:e})}));i(Object.assign(Object.assign({},t),{records:e}))}))}))}saveLoader(t,e){return new Promise((i=>{var s;const n=Array.isArray(t)?t[0]:{};((null===(s=null==n?void 0:n.record)||void 0===s?void 0:s.NUATTACH)>=0?e.edit.bind(e):e.save.bind(e))(n).then((t=>{i(t)})).catch((t=>t.message===o.LINK_AND_FILE_AT_THE_SAME_TIME?(this._application.alert(this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.title"),this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.message")),i([])):t.message===o.ANY_LINK_OR_FILE_FILLED?(this._application.alert(this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.title"),this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.message")),i([])):t.message?(this._application.error(t.title||t.name,t.message),i([])):void i([])))}))}removeLoader(t,e,i){return new Promise((s=>{const{records:n}=t.getSelectionInfo(),a=n[0];i.delete(a).then((()=>(l.removeRecords(t,[a]),s(e))))}))}getFilters(t){return[{name:"AttachmentsByPK",expression:"this.PKREGISTRO = :PKREGISTRO",params:[{name:"PKREGISTRO",dataType:n.TEXT,value:`${t}_${this.entityName}`}]}]}getInterceptions(t,e,i){return new Promise((s=>e.type===a.EDITION_CANCELED?t.isDirty()?this._application.confirm(this.getMessage("snkAttach.cancelConfirmation.title"),this.getMessage("snkAttach.cancelConfirmation.message")).then((t=>t?(i.goToView(h.GRID),s(e)):s(void 0))):s(e):e.type===a.DATA_SAVED?(t.loadData(),s(e)):void s(e)))}}const v=s.getContextValue("__SNK__APPLICATION__"),A=t=>{var e,i;return null===(i=null===(e=null==v?void 0:v.messagesBuilder)||void 0===e?void 0:e.getMessage)||void 0===i?void 0:i.call(e,t,null)},O={DOWNLOAD:{hint:A("snkAttach.taskbar.titleDownload"),name:"DOWNLOAD",iconName:"file-download"},LINK:{hint:A("snkAttach.taskbar.titleLink"),name:"LINK",iconName:"launch"}},p=()=>{const t=[c.REMOVE,"DOWNLOAD","LINK"];return{getButtons:(t,e,i)=>{if((null==e?void 0:e.insertionMode)||(null==e?void 0:e.isDirty))return i.reverse();i.splice(i.indexOf(c.REFRESH),1);const{selectedRecord:s}=e||{},n=(null==s?void 0:s.LINK)?O.LINK:O.DOWNLOAD;i.splice(i.indexOf(c.DIVIDER)+1,0,c.REMOVE,n,c.DIVIDER);const a=Array.from(new Set(i.filter((t=>t!==c.CLONE))));return a.splice(a.indexOf(n)+1,0,c.DIVIDER),a},isEnabled:(e,i,s)=>{const n=void 0!==(null==i?void 0:i.selectedRecord);return!(t.includes(s)&&!n)}}},k={grid:{columns:[{name:"ARQUIVOOULINK",orderIndex:0,width:0},{name:"DESCRICAO",orderIndex:1,width:0},{name:"DHCAD",orderIndex:2,width:0},{name:"DHALTER",orderIndex:3,width:0},{name:"TIPOAPRES",orderIndex:4,width:0},{name:"TIPOACESSO",orderIndex:5,width:0},{name:"CODUSU",orderIndex:6,width:0},{name:"CODUSUALT",orderIndex:7,width:0}]},form:{emptyConfig:!1,fields:[{name:"DESCRICAO",required:!0},{name:"TIPOAPRES",required:!0},{name:"TIPOACESSO",required:!0},{name:"LINK"},{name:"NOMEARQUIVO"}]}},I=class{constructor(i){t(this,i),this.back=e(this,"back",7),this.handleTaskbarClick=({detail:t})=>{if(["DOWNLOAD","LINK"].includes(t))return this.downloadAttachment(this.dataUnit.getSelectedRecord())},this.handleBack=()=>{this.dataUnit.cancelEdition().then((t=>{t&&this.back.emit()}))},this.handleFinish=()=>{if(!this.dataUnit.isDirty())return this.back.emit();this.dataUnit.saveData().then((()=>{this.showFinishedToast(),this.back.emit()}))},this.registerKey=void 0,this.entityName=void 0,this.messagesBuilder=void 0,this.dataUnit=void 0,this.crudConfig=void 0}registerKeyWatcher(t,e){var i;e!==t&&(this.returnToGridMode(),this._attachFetcher=new m(this.entityName,this.registerKey,null===(i=this.dataUnit)||void 0===i?void 0:i.name),this._dataUnitBuilder.initLoaders(this.dataUnit,this._attachFetcher,(()=>{this.returnToGridMode()})),this.dataUnit.loadData())}getMessage(t,e){if(this.messagesBuilder)return this.messagesBuilder.getMessage(t,e)}showFinishedToast(){this._application.info(this.getMessage("snkAttach.finishedMessage"),{iconName:"check"})}downloadAttachment(t){if(!t)throw new Error("Nenhum registro selecionado");t.LINK?window.open(`${t.LINK}`):this._attachFetcher.getDownloadKey(t).then((({chave:t})=>{window.open(`/mge/visualizadorArquivos.mge?chaveArquivo=${t.valor}&forcarDownload=S`)}))}returnToGridMode(){this.dataUnit.clearSelection(),this._crudElement&&this._crudElement.goToView(h.GRID)}loadAttachmentDataUnit(){var t;try{const e=this.dataUnit||(new d).getDataUnit("AnexoSistema","br.com.sankhya.core.v3.anexoSistema");return this._attachFetcher=new m(this.entityName,this.registerKey,null===(t=this.dataUnit)||void 0===t?void 0:t.name),e.metadata||e.loadMetadata().then((()=>{this.crudConfig=k})),this._dataUnitBuilder=new u(this.entityName,this.getMessage.bind(this)),e.addFilterProvider({getFilter:()=>this._dataUnitBuilder.getFilters(this.registerKey)}),e.addInterceptor({interceptAction:t=>this._dataUnitBuilder.getInterceptions(e,t,this._crudElement)}),this.dataUnit=e,this.dataUnit.loadData().then((()=>{this.disableEditFieldsNotInForm()})),this.dataUnit}catch(t){throw new Error("There was an error while creating the data unit")}}disableEditFieldsNotInForm(){var t;null===(t=this.crudConfig)||void 0===t||t.grid.columns.forEach((t=>{var e;const i=t.name;(null===(e=this.crudConfig)||void 0===e?void 0:e.form.fields.some((t=>t.name===i)))||this.dataUnit.disableField(i)}))}componentWillLoad(){this._application=s.getContextValue("__SNK__APPLICATION__"),this.loadAttachmentDataUnit()}render(){var t,e;return this.dataUnit?i("main",{class:"snk-attach__main"},i("header",{class:"snk-attach__header"},i("snk-simple-bar",{onExit:this.handleBack,messagesBuilder:this.messagesBuilder},i("div",{slot:"rightSlot"},i("ez-button",{class:"ez-button--primary",label:this.getMessage("snkAttach.finish"),onClick:this.handleFinish})))),i("div",{class:"snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column"},i("div",{class:"ez-box__container"},i("snk-simple-crud",{ref:t=>this._crudElement=t,dataUnit:this.dataUnit,taskbarManager:p(),gridConfig:null===(t=this.crudConfig)||void 0===t?void 0:t.grid,formConfig:null===(e=this.crudConfig)||void 0===e?void 0:e.form,useCancelConfirm:!1,onActionClick:this.handleTaskbarClick},i("div",{slot:"snkSimpleCrudHeader"},i("div",{class:"ez-flex ez-flex--column"},i("span",{class:"ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium"},this.getMessage("snkAttach.title")),i("span",{class:"ez-text ez-text--medium ez-text--secondary"},this.getMessage("snkAttach.description")))))))):null}static get watchers(){return{registerKey:["registerKeyWatcher"]}}};I.style=".snk-attach__header.sc-snk-attach,.snk-attach__crud-section.sc-snk-attach{padding:0 var(--space--lg)}.snk-attach__file-info.sc-snk-attach{padding:var(--space--small);max-width:50%}.snk-attach__main.sc-snk-attach{height:85%}.ez-box__container.sc-snk-attach{height:100%}";export{I as snk_attach}
1
+ import{r as t,c as i,h as e}from"./p-d2d301a6.js";import{ApplicationContext as s,DataType as n,Action as a}from"@sankhyalabs/core";import{D as r}from"./p-9695f78b.js";import{S as o}from"./p-9e7d65a4.js";import{d as h}from"./p-b0ef4383.js";import{D as d}from"./p-3af0a81e.js";import{P as l}from"./p-c22c1d8e.js";import{T as c}from"./p-c9841939.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"./p-688dcb4c.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-5534e08c.js";import"./p-6dc031de.js";class m{constructor(t,i,e){var s;this.entityName=t,this.registerKey=i,this.dataUnitName=e,this.validateFields=t=>{if(t.LINK&&t.NOMEARQUIVO)throw new Error(o.LINK_AND_FILE_AT_THE_SAME_TIME);if(!t.LINK&&!t.NOMEARQUIVO)throw new Error(o.ANY_LINK_OR_FILE_FILLED);if(!this.registerKey)throw new Error("Register key can not be null")},this.resourceID=window.resourceID||(null===(s=window.workspace)||void 0===s?void 0:s.resourceID)}async save(t){var i,e;const s="AnexoSistemaSP.salvar";let{updatingFields:n}=t;n=Object.assign(Object.assign({},n),{NOMEARQUIVO:null===(i=n.NOMEARQUIVO)||void 0===i?void 0:i[0]});try{this.validateFields(n);const t=n.LINK?null:n.NOMEARQUIVO,i={serviceName:s,requestBody:{params:{resourceID:this.resourceID,description:n.DESCRICAO,fileSelect:t?1:0,keySession:null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e.fileNameTmp,nameAttach:null==t?void 0:t.name,link:n.LINK,nameEntity:this.entityName,pkEntity:this.registerKey,typeAcess:n.TIPOACESSO,typeApres:n.TIPOAPRES}}},a=await r.get().callServiceBroker(s,JSON.stringify(i));return Promise.resolve([Object.assign(Object.assign(Object.assign({},a),n),{ARQUIVOOULINK:n.LINK?n.LINK:null==t?void 0:t.name,__owner__dataunit__name__:this.dataUnitName})])}catch(t){return Promise.reject(t)}}async edit(t){var i,e,s;const n="AnexoSistemaSP.salvar";let{updatingFields:a,record:o}=t;const h=t=>void 0!==a[t]?a[t]:o[t],d=h("NOMEARQUIVO"),l=null===(e=null===(i=a.NOMEARQUIVO)||void 0===i?void 0:i[0])||void 0===e?void 0:e.downloadURL;a=Object.assign(Object.assign({},a),{DESCRICAO:h("DESCRICAO"),LINK:h("LINK"),TIPOACESSO:h("TIPOACESSO"),TIPOAPRES:h("TIPOAPRES"),CHAVEARQUIVO:o.CHAVEARQUIVO,NOMEARQUIVO:null==d?void 0:d[0]});const c=a.LINK?null:a.NOMEARQUIVO;try{this.validateFields(a);const t={serviceName:n,requestBody:{params:{resourceID:this.resourceID,nuAttach:null==o?void 0:o.NUATTACH,description:a.DESCRICAO,fileSelect:l?1:0,keySession:null===(s=null==c?void 0:c.properties)||void 0===s?void 0:s.fileNameTmp,keyAttach:a.CHAVEARQUIVO,nameAttach:null==c?void 0:c.name,link:a.LINK,nameEntity:this.entityName,pkEntity:this.registerKey,typeAcess:a.TIPOACESSO,typeApres:a.TIPOAPRES}}},i=await r.get().callServiceBroker(n,JSON.stringify(t));return Promise.resolve([Object.assign(Object.assign(Object.assign({},i),a),{ARQUIVOOULINK:a.LINK?a.LINK:null==c?void 0:c.name,__owner__dataunit__name__:this.dataUnitName})])}catch(t){return Promise.reject(t)}}delete(t){var i;const e="AnexoSistemaSP.excluir",s=(null===(i=t.NOMEARQUIVO)||void 0===i?void 0:i[0])||{},n={serviceName:e,requestBody:{paramsDelete:{keyAttach:t.CHAVEARQUIVO,nameAttach:null==s?void 0:s.name,nameEntity:t.NOMEINSTANCIA,nuAttach:t.NUATTACH,pkEntity:t.PKREGISTRO}}};return new Promise(((t,i)=>{r.get().callServiceBroker(e,JSON.stringify(n)).then((i=>t(i))).catch((t=>i(t)))}))}getDownloadKey(t){var i;const e="AnexoSistemaSP.baixar",s=(null===(i=t.NOMEARQUIVO)||void 0===i?void 0:i[0])||{},n={serviceName:e,requestBody:{paramsDown:{nameAttach:null==s?void 0:s.name,nameEntity:t.NOMEINSTANCIA,nuAttach:t.NUATTACH,pkEntity:t.PKREGISTRO,keyAttach:t.CHAVEARQUIVO}}};return new Promise(((t,i)=>{r.get().callServiceBroker(e,JSON.stringify(n)).then((i=>t(i))).catch((t=>i(t)))}))}}class u{constructor(t,i){this.entityName=t,this.getMessage=i,this._application=s.getContextValue("__SNK__APPLICATION__")}initLoaders(t,i,e){this.loader||(this.loader=t.dataLoader),t.dataLoader=(t,i)=>this.dataLoader(t,i),t.saveLoader=(t,s)=>this.saveLoader(s,i).then((t=>(t.length&&e(),t))),t.removeLoader=(t,s)=>this.removeLoader(t,s,i).then((t=>(t.length&&e(),t)))}dataLoader(t,i){return new Promise((e=>{this.loader(t,i).then((t=>{const i=((null==t?void 0:t.records)||[]).map((t=>{let i;return t.LINK||(i=[{name:t.NOMEARQUIVO}]),Object.assign(Object.assign({},t),{ARQUIVOOULINK:t.LINK?t.LINK:t.NOMEARQUIVO,NOMEARQUIVO:i})}));e(Object.assign(Object.assign({},t),{records:i}))}))}))}saveLoader(t,i){return new Promise((e=>{var s;const n=Array.isArray(t)?t[0]:{};((null===(s=null==n?void 0:n.record)||void 0===s?void 0:s.NUATTACH)>=0?i.edit.bind(i):i.save.bind(i))(n).then((t=>{e(t)})).catch((t=>t.message===o.LINK_AND_FILE_AT_THE_SAME_TIME?(this._application.alert(this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.title"),this.getMessage("snkAttach.alertValidation.fileAndLinkAtTheSameTime.message")),e([])):t.message===o.ANY_LINK_OR_FILE_FILLED?(this._application.alert(this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.title"),this.getMessage("snkAttach.alertValidation.anyLinkOrFileFilled.message")),e([])):t.message?(this._application.error(t.title||t.name,t.message),e([])):void e([])))}))}removeLoader(t,i,e){return new Promise((s=>{const{records:n}=t.getSelectionInfo(),a=n[0];e.delete(a).then((()=>(l.removeRecords(t,[a]),s(i))))}))}getFilters(t){return[{name:"AttachmentsByPK",expression:"this.PKREGISTRO = :PKREGISTRO",params:[{name:"PKREGISTRO",dataType:n.TEXT,value:`${t}_${this.entityName}`}]}]}getInterceptions(t,i,e){return new Promise((s=>i.type===a.EDITION_CANCELED?t.isDirty()?this._application.confirm(this.getMessage("snkAttach.cancelConfirmation.title"),this.getMessage("snkAttach.cancelConfirmation.message")).then((t=>t?(e.goToView(h.GRID),s(i)):s(void 0))):s(i):i.type===a.DATA_SAVED?(t.loadData(),s(i)):void s(i)))}}const v=s.getContextValue("__SNK__APPLICATION__"),A=t=>{var i,e;return null===(e=null===(i=null==v?void 0:v.messagesBuilder)||void 0===i?void 0:i.getMessage)||void 0===e?void 0:e.call(i,t,null)},O={DOWNLOAD:{hint:A("snkAttach.taskbar.titleDownload"),name:"DOWNLOAD",iconName:"file-download"},LINK:{hint:A("snkAttach.taskbar.titleLink"),name:"LINK",iconName:"launch"}},p=()=>{const t=[c.REMOVE,"DOWNLOAD","LINK"];return{getButtons:(t,i,e)=>{if((null==i?void 0:i.insertionMode)||(null==i?void 0:i.isDirty))return e.reverse();e.splice(e.indexOf(c.REFRESH),1);const{selectedRecord:s}=i||{},n=(null==s?void 0:s.LINK)?O.LINK:O.DOWNLOAD;e.splice(e.indexOf(c.DIVIDER)+1,0,c.REMOVE,n,c.DIVIDER);const a=Array.from(new Set(e.filter((t=>t!==c.CLONE))));return a.splice(a.indexOf(n)+1,0,c.DIVIDER),a},isEnabled:(i,e,s)=>{const n=void 0!==(null==e?void 0:e.selectedRecord);return!(t.includes(s)&&!n)}}},k={grid:{columns:[{name:"ARQUIVOOULINK",orderIndex:0,width:0},{name:"DESCRICAO",orderIndex:1,width:0},{name:"DHCAD",orderIndex:2,width:0},{name:"DHALTER",orderIndex:3,width:0},{name:"TIPOAPRES",orderIndex:4,width:0},{name:"TIPOACESSO",orderIndex:5,width:0},{name:"CODUSU",orderIndex:6,width:0},{name:"CODUSUALT",orderIndex:7,width:0}]},form:{emptyConfig:!1,fields:[{name:"DESCRICAO",required:!0},{name:"TIPOAPRES",required:!0},{name:"TIPOACESSO",required:!0},{name:"LINK"},{name:"NOMEARQUIVO"}]}},I=class{constructor(e){t(this,e),this.back=i(this,"back",7),this.handleTaskbarClick=({detail:t})=>{if(["DOWNLOAD","LINK"].includes(t))return this.downloadAttachment(this.dataUnit.getSelectedRecord())},this.handleBack=()=>{this.dataUnit.cancelEdition().then((t=>{t&&this.back.emit()}))},this.handleFinish=()=>{if(!this.dataUnit.isDirty())return this.back.emit();this.dataUnit.saveData().then((()=>{this.showFinishedToast(),this.back.emit()}))},this.registerKey=void 0,this.entityName=void 0,this.messagesBuilder=void 0,this.dataUnit=void 0,this.crudConfig=void 0}registerKeyWatcher(t,i){var e;i!==t&&(this.returnToGridMode(),this._attachFetcher=new m(this.entityName,this.registerKey,null===(e=this.dataUnit)||void 0===e?void 0:e.name),this._dataUnitBuilder.initLoaders(this.dataUnit,this._attachFetcher,(()=>{this.returnToGridMode()})),this.dataUnit.loadData())}getMessage(t,i){if(this.messagesBuilder)return this.messagesBuilder.getMessage(t,i)}showFinishedToast(){this._application.info(this.getMessage("snkAttach.finishedMessage"),{iconName:"check"})}downloadAttachment(t){if(!t)throw new Error("Nenhum registro selecionado");t.LINK?window.open(`${t.LINK}`):this._attachFetcher.getDownloadKey(t).then((({chave:t})=>{window.open(`/mge/visualizadorArquivos.mge?chaveArquivo=${t.valor}&forcarDownload=S`)}))}returnToGridMode(){this.dataUnit.clearSelection(),this._crudElement&&this._crudElement.goToView(h.GRID)}loadAttachmentDataUnit(){var t;try{const i=this.dataUnit||(new d).getDataUnit("AnexoSistema","br.com.sankhya.core.v3.anexoSistema");return this._attachFetcher=new m(this.entityName,this.registerKey,null===(t=this.dataUnit)||void 0===t?void 0:t.name),i.metadata||i.loadMetadata().then((()=>{this.crudConfig=k})),this._dataUnitBuilder=new u(this.entityName,this.getMessage.bind(this)),i.addFilterProvider({getFilter:()=>this._dataUnitBuilder.getFilters(this.registerKey)}),i.addInterceptor({interceptAction:t=>this._dataUnitBuilder.getInterceptions(i,t,this._crudElement)}),this.dataUnit=i,this.dataUnit.loadData().then((()=>{this.disableEditFieldsNotInForm()})),this.dataUnit}catch(t){throw new Error("There was an error while creating the data unit")}}disableEditFieldsNotInForm(){var t;null===(t=this.crudConfig)||void 0===t||t.grid.columns.forEach((t=>{var i;const e=t.name;(null===(i=this.crudConfig)||void 0===i?void 0:i.form.fields.some((t=>t.name===e)))||this.dataUnit.disableField(e)}))}componentWillLoad(){this._application=s.getContextValue("__SNK__APPLICATION__"),this.loadAttachmentDataUnit()}render(){var t,i;return this.dataUnit?e("main",{class:"snk-attach__main"},e("header",{class:"snk-attach__header"},e("snk-simple-bar",{onExit:this.handleBack,messagesBuilder:this.messagesBuilder},e("div",{slot:"rightSlot"},e("ez-button",{class:"ez-button--primary",label:this.getMessage("snkAttach.finish"),onClick:this.handleFinish})))),e("div",{class:"snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column"},e("div",{class:"ez-box__container"},e("snk-simple-crud",{ref:t=>this._crudElement=t,dataUnit:this.dataUnit,taskbarManager:p(),gridConfig:null===(t=this.crudConfig)||void 0===t?void 0:t.grid,formConfig:null===(i=this.crudConfig)||void 0===i?void 0:i.form,useCancelConfirm:!1,onActionClick:this.handleTaskbarClick},e("div",{slot:"snkSimpleCrudHeader"},e("div",{class:"ez-flex ez-flex--column"},e("span",{class:"ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium"},this.getMessage("snkAttach.title")),e("span",{class:"ez-text ez-text--medium ez-text--secondary"},this.getMessage("snkAttach.description")))))))):null}static get watchers(){return{registerKey:["registerKeyWatcher"]}}};I.style=".snk-attach__header.sc-snk-attach,.snk-attach__crud-section.sc-snk-attach{padding:0 var(--space--lg)}.snk-attach__file-info.sc-snk-attach{padding:var(--space--small);max-width:50%}.snk-attach__main.sc-snk-attach{height:85%}.ez-box__container.sc-snk-attach{height:100%}";export{I as snk_attach}