@sankhyalabs/ezui 1.1.131 → 1.1.134

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 (44) hide show
  1. package/dist/cjs/ez-form.cjs.entry.js +14 -3
  2. package/dist/cjs/ez-grid.cjs.entry.js +215 -51
  3. package/dist/cjs/ez-list.cjs.entry.js +11 -0
  4. package/dist/cjs/ez-time-input.cjs.entry.js +1 -2
  5. package/dist/cjs/ezui.cjs.js +1 -1
  6. package/dist/cjs/grid-config.cjs.entry.js +64 -4
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/collection/components/ez-form/DataBinder.js +13 -2
  9. package/dist/collection/components/ez-form/ez-form.js +1 -1
  10. package/dist/collection/components/ez-grid/controller/DataUnitBridge.js +10 -5
  11. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +128 -36
  12. package/dist/collection/components/ez-grid/ez-grid.js +253 -15
  13. package/dist/collection/components/ez-grid/subcomponents/gridconfig/grid-config.js +44 -2
  14. package/dist/collection/components/ez-list/ez-list.js +27 -0
  15. package/dist/collection/components/ez-time-input/ez-time-input.js +1 -2
  16. package/dist/collection/utils/interfaces/PageableComponent.js +1 -0
  17. package/dist/custom-elements/index.js +305 -78
  18. package/dist/esm/ez-form.entry.js +14 -3
  19. package/dist/esm/ez-grid.entry.js +216 -52
  20. package/dist/esm/ez-list.entry.js +11 -0
  21. package/dist/esm/ez-time-input.entry.js +1 -2
  22. package/dist/esm/ezui.js +1 -1
  23. package/dist/esm/grid-config.entry.js +64 -4
  24. package/dist/esm/loader.js +1 -1
  25. package/dist/ezui/ezui.esm.js +1 -1
  26. package/dist/ezui/{p-2d165ca8.entry.js → p-80d863c2.entry.js} +7 -7
  27. package/dist/ezui/p-bb7ad4ae.entry.js +1 -0
  28. package/dist/ezui/{p-47fe4273.entry.js → p-cfa7378a.entry.js} +1 -1
  29. package/dist/ezui/p-d9bb2a96.entry.js +1 -0
  30. package/dist/ezui/p-f1a18697.entry.js +1 -0
  31. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +46 -0
  32. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +12 -0
  33. package/dist/types/components/ez-grid/ez-grid.d.ts +45 -4
  34. package/dist/types/components/ez-grid/subcomponents/gridconfig/grid-config.d.ts +1 -0
  35. package/dist/types/components/ez-list/ez-list.d.ts +4 -0
  36. package/dist/types/components.d.ts +45 -0
  37. package/dist/types/utils/interfaces/PageableComponent.d.ts +12 -0
  38. package/package.json +1 -1
  39. package/dist/cjs/AssetsUtils-78164781.js +0 -24
  40. package/dist/esm/AssetsUtils-aab9ca8f.js +0 -22
  41. package/dist/ezui/p-51b878f7.js +0 -1
  42. package/dist/ezui/p-6d39b7ea.entry.js +0 -1
  43. package/dist/ezui/p-7d5b2ebf.entry.js +0 -1
  44. package/dist/ezui/p-ed1e0331.entry.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as i,s as t,r as e,c as s,h as a,H as r}from"./p-60138b72.js";import{StringUtils as o}from"@sankhyalabs/core";import{A as n}from"./p-0cd386db.js";const l=e=>`${function(){if(!d){const i=document.querySelector("script[data-ezui-assets-url]");if(i){let e=i.dataset.ezuiAssetsUrl;e&&(e.startsWith("/")&&(e=window.location.origin+e),t(e))}d=!0}return i("../assets/actions-sprite.svg")}()}#${e}`;let d=!1,c=class{constructor(i){e(this,i),this.configFinish=s(this,"configFinish",7),this.configCancel=s(this,"configCancel",7),this._orderListItems=[],this._orderPriorityList=[],this._columListItems=[],this._selectedIndex=-1,this._dataChanged=!1,this.selectedTab="Colunas"}createOrderList(){let i=[];this.columns.forEach((t=>{var e;let s=null===(e=this.config)||void 0===e?void 0:e.columns.find((i=>i.name===t.name)),a={name:t.name,label:t.label};s&&(a.orderIndex=s.orderIndex,a.ascending=s.ascending),t.hidden||i.push(a)})),i.sort(((i,t)=>0!=i.orderIndex||0!=t.orderIndex||null==i.ascending&&null==t.ascending?null!=i.ascending&&null!=t.ascending?i.orderIndex-t.orderIndex:null!=i.ascending||null!=t.ascending?null!=i.ascending?-1:null!=t.ascending?1:0:i.orderIndex-t.orderIndex:null!=i.ascending?-1:null!=t.ascending?1:0)),this._orderListItems=i}createColumnList(){let i={group:"Visíveis",items:[]},t={group:"Ocultas",items:[],sort:"ASC"};this.columns.forEach((e=>{let s={label:e.label};e.hidden?t.items.push(s):i.items.push(s)})),this._columListItems=[i,t]}buildColumnListSlot(i,t){return a("div",null,a("ez-check",{mode:"switch",id:"switch"+i+t,value:"Visíveis"===t.group,onEzChange:t=>{this.switchColumnGroup(t,i)}}))}buildOrderListSlot(i){let t="na";return null!=(null==i?void 0:i.ascending)&&(t=1==i.ascending?"asc":"desc"),a("div",null,a("select-box",{selectedOption:t,key:"select-box"+i,onEzChange:t=>{t.stopPropagation(),this.updateOrder(t.detail,i.label)}}))}updateOrder(i,t){var e;this._dataChanged=!0;let s,a=[...this.columns],r=a.find((i=>i.label===t));r&&(r.sort="na"===i.value?void 0:i.value),(null===(e=this._orderPriorityList)||void 0===e?void 0:e.length)>0?(this._orderPriorityList.find((i=>i.label===r.label)).sort=i,this._orderPriorityList.filter((i=>i.sort)).map(((i,t)=>{i.label===r.label&&(r.sortIndex=t)}))):(s=a.filter((i=>i.sort&&!0!==i.hidden)).map(((i,t)=>({label:i.label,orderIndex:t}))),s.forEach((i=>{a.find((t=>t.label===i.label)).sortIndex=i.orderIndex}))),this.columns=a}switchColumnGroup(i,t){i.stopPropagation();let e=[...this._columListItems];if(this._dataChanged=!0,!0===i.detail){let i=e.find((i=>"Ocultas"===i.group)),s=i.items.findIndex((i=>i.label===t.label));s>=0&&i.items.splice(s,1),e.find((i=>"Visíveis"===i.group)).items.push(t),this._columListItems=e,this.createOrderList()}else if(!1===i.detail){let i=e.find((i=>"Visíveis"===i.group)),s=i.items.findIndex((i=>i.label===t.label));s>=0&&i.items.splice(s,1),e.find((i=>"Ocultas"===i.group)).items.push(t),this._columListItems=e,this.createOrderList()}}finish(){let i=[];this._columListItems.forEach((t=>{t.items.forEach((e=>{const s=this.columns.find((i=>i.label===e.label));let a=Object.assign({},s);a.hidden="Ocultas"===t.group,i.push(a)}))})),this.columns=i,this._dataChanged=!1,this.closeConfig(),n.info("As configurações foram salvas com sucesso!"),this.save()}save(){var i;let t;t=this.config?this.config:this.createConfigFromState(this.columns);let e,s=[];if((null===(i=this._orderPriorityList)||void 0===i?void 0:i.length)>0){e=this.columns.filter((i=>i.sort&&!0!==i.hidden)).map((i=>({label:i.label,orderIndex:0})));let i=0,t=[];this._orderPriorityList.forEach((s=>{let a=e.find((i=>i.label===s.label));a&&(a.orderIndex=i,t.push(a),i++)})),t.length>0&&(e=t)}for(let i=0;i<this.columns.length;i++){const r=this.columns[i];let o=t.columns.find((i=>r.name===i.name));!0===r.hidden&&o||(o?o.width=r.width:!1===r.hidden&&(o={name:r.name,width:r.width,orderIndex:0}),o&&(r.sort?(o.ascending="ASC"===r.sort.toUpperCase(),e?a(r,o):o.orderIndex=r.sortIndex):(delete o.ascending,o.orderIndex=0),s.push(o)))}function a(i,t){if(e){let s=e.find((t=>t.label===i.label));s&&(t.orderIndex=s.orderIndex)}}t.columns=s,this.configFinish.emit(t),this._orderList.clearHistory()}createConfigFromState(i){let t={columns:[]};return i.forEach((i=>{if(!i.hidden){let e={name:i.name};i.width&&(e.width=i.width),i.sort?(e.ascending="ASC"===i.sort.toUpperCase(),e.orderIndex=i.sortIndex):e.orderIndex=0,e&&t.columns.push(e)}})),t}async locateColumn(i,t){var e;const s="Enter"===i.key;t||(t=null===(e=i.currentTarget)||void 0===e?void 0:e.value);let a=-1;if("Ordenação das linhas"===this.selectedTab)if(t){const i=[];let e,r;if(await this._orderList.getList().then((s=>{e=s,e.forEach(((e,s)=>{this.compareWords(e,t)&&i.push(s)}))})),i.length>0){if(s)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){a=i[t];break}-1===a&&(a=i[0])}this._selectedIndex=a,r=e[a],r?this._orderList.setSelection({label:r.label},!0):this._orderList.setSelection(void 0)}else this._orderList.setSelection(void 0);else if(t){const i=[];if(this.columns.forEach(((e,s)=>{this.compareWords(e,t)&&i.push(s)})),i.length>0){if(s)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){a=i[t];break}-1===a&&(a=i[0])}this._selectedIndex=a;let e=this.columns[a];e?this._columnList.setSelection({label:e.label},!0):this._columnList.setSelection(void 0)}else this._columnList.setSelection(void 0)}compareWords(i,t){return o.replaceAccentuatedChars(i.label).indexOf(o.replaceAccentuatedChars(t))>-1}closeConfig(){this._orderList.scrollToTop(),this._columnList.scrollToTop(),this._searchElement.value="",this._dataChanged?n.confirm("Aviso","As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?",null,!1,{canClose:!1,labelCancel:"Descartar",labelConfirm:"Salvar",btnConfirmDanger:!1}).then((i=>{i?this.finish():(this._dataChanged=!1,this.configCancel.emit(),this._orderList.clearHistory())})):(this.configCancel.emit(),this._orderList.clearHistory())}handleTabChange(i){var t;(null===(t=null==i?void 0:i.target)||void 0===t?void 0:t.selectedTab)&&(this.selectedTab!==i.target.selectedTab&&("Colunas"===i.target.selectedTab?this._orderList.scrollToTop():"Ordenação das linhas"===i.target.selectedTab&&this._columnList.scrollToTop(),this._searchElement.value=""),"Ordenação das linhas"===i.target.selectedTab&&this.createOrderList(),this.selectedTab=i.target.selectedTab)}handleColumnListChange(i){var t;if(i.detail){let e=null===(t=i.detail.find((i=>"Visíveis"===i.group)))||void 0===t?void 0:t.items;e&&(this._dataChanged=!0,this._orderListItems=e)}}handleOrderListChange(i){if(i.detail){let t=i.detail;t&&(this._dataChanged=!0,this._orderPriorityList=t)}}componentWillRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.createColumnList()}componentDidRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.locateColumn(new KeyboardEvent("arrow-right",{key:"ArrowRight"}),this._searchElement.value)}render(){return a(r,null,a("div",{class:"grid-config__header"},a("div",{class:"title-container"},a("div",{class:""},a("label",{class:"title"},"Configuração da Grade"),a("label",{class:"subtitle"},"Defina visibilidade e ordem das colunas.")),a("div",{class:"button-close"},a("ez-button",{mode:"icon",image:l("close"),size:"medium",onClick:()=>this.closeConfig()}))),a("div",{class:"tabselector-container"},a("ez-tabselector",{selectedTab:this.selectedTab,selectedIndex:0,onEzChange:i=>{this.handleTabChange(i)},tabs:"Colunas, Ordenação das linhas"})),a("div",null,a("ez-text-input",{ref:i=>this._searchElement=i,label:"Localizar coluna",onKeyUp:i=>this.locateColumn(i)},a("ez-icon",{slot:"leftIcon",size:"medium",href:l("search")})))),a("div",{class:"grid-config__main"},a("ez-list",{ref:i=>this._columnList=i,class:"Colunas"===this.selectedTab?"":"hidden",dataSource:this._columListItems,onEzChange:i=>this.handleColumnListChange(i),ezDraggable:!0,ezSelectable:!0,itemSlotBuilder:(i,t)=>this.buildColumnListSlot(i,t),useGroups:!0}),a("div",{class:"Ordenação das linhas"===this.selectedTab?"group-name":"hidden"},"Sequência da ordenação"),a("ez-list",{ref:i=>this._orderList=i,class:"Ordenação das linhas"===this.selectedTab?"heigth-calc":"hidden",dataSource:this._orderListItems,ezSelectable:!0,onEzChange:i=>this.handleOrderListChange(i),ezDraggable:!0,itemSlotBuilder:i=>this.buildOrderListSlot(i)})),a("div",{class:"grid-config__footer"},a("ez-button",{class:"padding-right--medium",label:"Cancelar",onClick:()=>this.closeConfig()}),a("ez-button",{label:"Concluir",class:"ez-button--primary",onClick:()=>this.finish()})))}static get assetsDirs(){return["../assets"]}};c.style='.sc-grid-config-h{--ez-grid-config__footer--padding-top:var(--space--medium, 12px);--ez-grid-config__main--padding-right:var(--space--medium, 12px);--ez-grid-config__tabselector-container--padding:var(--space--medium, 12px);--ez-grid-config__button-close--padding-left:var(--space--medium, 12px);--ez-grid-config__subtitle--font-family:var(--font-pattern, "Sora");--ez-grid-config__title--font-family:var(--font-pattern, "Sora");--ez-grid-config__title--font-weight:var(--text-weight--large, 700);--ez-grid-config__subtitle--font-size:var(--text--medium, 14px);--ez-grid-config__scrollbar--width:var(--space--medium, 12px);--ez-grid-config__main__scrollbar--background-color:var(--text--primary, #626e82);--ez-grid-config__main__scrollbar--border-radius:var(--border--radius-medium, 12px);--ez-grid__group--font-family:var(--font-pattern, "Sora");--ez-grid__group--font-size:var(--text--medium, 14px);--ez-grid__group--font-weight:var(--text-weight--large, 600);--ez-grid__group--padding-bottom:var(--space-small, 6px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.padding-right--medium.sc-grid-config{padding-right:var(--space--medium)}ez-list.sc-grid-config{height:100%}.heigth-calc.sc-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-grid-config{padding-top:var(--ez-grid-config__footer--padding-top);display:flex;justify-content:flex-end;width:100%}.hidden.sc-grid-config{display:none}.grid-config__main.sc-grid-config{padding-right:var(--ez-grid-config__main--padding-right);overflow-y:auto}.tabselector-container.sc-grid-config{padding:var(--ez-grid-config__tabselector-container--padding) 0}.button-close.sc-grid-config{padding-left:var(--ez-grid-config__button-close--padding-left)}.title-container.sc-grid-config{display:flex;justify-content:space-between;align-items:center;width:359px}.subtitle.sc-grid-config{font-family:var(--ez-grid-config__subtitle--font-family);font-size:var(--ez-grid-config__subtitle--font-size);color:var(--text--primary)}.title.sc-grid-config{display:flex;margin:0;font-family:var(--ez-grid-config__title--font-family);font-size:var(--title--large);font-weight:var(--ez-grid-config__title--font-weight);line-height:normal;letter-spacing:0em;text-align:left;color:var(--title--primary)}.grid-config__main.sc-grid-config::-webkit-scrollbar-track{background-color:#f0f2f5}.grid-config__main.sc-grid-config::-webkit-scrollbar-thumb{background-color:var(--ez-grid-config__main__scrollbar--background-color);border-radius:var(--ez-grid-config__main__scrollbar--border-radius)}.grid-config__main.sc-grid-config::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-grid-config__scrollbar--width);max-width:var(--ez-grid-config__scrollbar--width);min-width:var(--ez-grid-config__scrollbar--width)}.group-name.sc-grid-config{font-family:var(--ez-grid__group--font-family);font-size:var(--ez-grid__group--font-size);font-weight:var(--ez-grid__group--font-weight);padding-bottom:var(--ez-grid__group--padding-bottom)}';export{c as grid_config}
@@ -1 +1 @@
1
- import{h as e,r as t,c as i,f as n,H as r,g as o}from"./p-60138b72.js";import{UserInterface as a,Action as s,ApplicationContext as l,DataUnitAction as c,DataUnit as d}from"@sankhyalabs/core";import{A as u}from"./p-0cd386db.js";const h=({name:t,label:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-text-input",{label:i,"data-field-name":t,key:t}));function f(t,i,n,r=!1){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large"},e("ez-check",{enabled:!n,label:i,mode:r?"switch":"regular","data-field-name":t,key:t}))}function b(t,i,n,r,o){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-number-input",{enabled:!n,label:i,precision:r,prettyPrecision:o,"data-field-name":t,key:t}))}const p=new Map;p.set(a.LONGTEXT,(({name:t,label:i,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small",key:t},e("ez-text-area",{enabled:!n,label:i,"data-field-name":t})))),p.set(a.CHECKBOX,(e=>f(e.name,e.label,e.readOnly,!1))),p.set(a.SWITCH,(e=>f(e.name,e.label,e.readOnly,!0))),p.set(a.OPTIONSELECTOR,(({name:t,label:i,readOnly:n,required:r},o)=>{const a=null==o?void 0:o.options;let s;if("string"==typeof a){const e=JSON.parse(a);s=Object.keys(e).map((t=>({value:t,label:e[t]})))}else s=a;return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-combo-box",{enabled:!n,suppressEmptyOption:r,label:i,"data-field-name":t,key:t,options:s}))})),p.set(a.SEARCH,(({name:t,label:i,readOnly:n,required:r})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-search",{enabled:!n,suppressEmptyOption:r,label:i,"data-field-name":t,key:t})))),p.set(a.FILE,(({name:t,label:i,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-upload",{enabled:!n,label:i,"data-field-name":t,key:t})))),p.set(a.DATE,(({name:t,label:i,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-input",{enabled:!n,label:i,"data-field-name":t,key:t})))),p.set(a.TIME,(({name:t,label:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-time-input",{label:i,"data-field-name":t,key:t})))),p.set(a.DATETIME,(({name:t,label:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-time-input",{label:i,"data-field-name":t,key:t})))),p.set(a.DECIMALNUMBER,(({name:e,label:t,readOnly:i},n)=>{const r=Number((null==n?void 0:n.precision)||2);return b(e,t,i,r,Number((null==n?void 0:n.prettyPrecision)||r))})),p.set(a.INTEGERNUMBER,(({name:e,label:t,readOnly:i})=>b(e,t,i,0,0)));const m=e=>{const t=e.descriptor,i=Object.assign({},e.config);let n,r;return t&&(i.label||(i.label=t.label),i.name||(i.name=t.name),void 0===i.required&&(i.required=t.required),void 0===i.readOnly&&(i.readOnly=t.readOnly),r=t.properties,n=p.get(t.userInterface)),i.required&&(i.label=`* ${i.label} (obrigatório)`),n||(n=h),n(i,r)},z=({source:t})=>"items"in t?e("ez-collapsible-box",{label:t.label,"header-size":"large"},t.items.map((e=>m(e)))):m(t),v=({store:t,source:i})=>e("div",{class:"dynamic-content ez-box__container"},e("div",{class:"ez-row ez-padding-vertical--small"},i.items.map((i=>e(z,{store:t,source:i})))));class y{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[]}getSheet(e){return this._sheets.get(e)}getAllSheets(){return this._sheets}addSheet(e){this._sheets.set(e.name,e),this._requiredFields=this._requiredFields.concat(e.requiredFields),this._cleanOnCopyFields=this._cleanOnCopyFields.concat(e.cleanOnCopyFields)}getRequiredFields(){return this._requiredFields}getCleanOnCopyFields(){return this._cleanOnCopyFields}}function g(e,t){return"Geral"==e[0].label?-1:(e[0].order||1e4)-(t[0].order||1e4)}function _(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var w="function"==typeof Symbol&&Symbol.observable||"@@observable",O=function(){return Math.random().toString(36).substring(7).split("").join(".")},E={INIT:"@@redux/INIT"+O(),REPLACE:"@@redux/REPLACE"+O(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+O()}};function A(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function C(e,t,i){var n;if("function"==typeof t&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(_(0));if("function"==typeof t&&void 0===i&&(i=t,t=void 0),void 0!==i){if("function"!=typeof i)throw new Error(_(1));return i(C)(e,t)}if("function"!=typeof e)throw new Error(_(2));var r=e,o=t,a=[],s=a,l=!1;function c(){s===a&&(s=a.slice())}function d(){if(l)throw new Error(_(3));return o}function u(e){if("function"!=typeof e)throw new Error(_(4));if(l)throw new Error(_(5));var t=!0;return c(),s.push(e),function(){if(t){if(l)throw new Error(_(6));t=!1,c();var i=s.indexOf(e);s.splice(i,1),a=null}}}function h(e){if(!A(e))throw new Error(_(7));if(void 0===e.type)throw new Error(_(8));if(l)throw new Error(_(9));try{l=!0,o=r(o,e)}finally{l=!1}for(var t=a=s,i=0;i<t.length;i++)(0,t[i])();return e}function f(e){if("function"!=typeof e)throw new Error(_(10));r=e,h({type:E.REPLACE})}function b(){var e,t=u;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(_(11));function i(){e.next&&e.next(d())}return i(),{unsubscribe:t(i)}}})[w]=function(){return this},e}return h({type:E.INIT}),(n={dispatch:h,subscribe:u,getState:d,replaceReducer:f})[w]=b,n}const x={};function R(e=x,t){switch(t.type){case j.METADATA_LOADED:return Object.assign(Object.assign({},e),{formMetadata:t.payload});case j.CHANGE_TAB:return Object.assign(Object.assign({},e),{currentSheet:t.payload});default:return e}}function N(e){return e.formMetadata}var j;!function(e){e.METADATA_LOADED="FORM/METADATA_LOADED",e.CHANGE_TAB="FORM/CHANGE_TAB"}(j||(j={}));class k{constructor(e){this.onDataUnitEvent=e=>{var t;switch(e.type){case s.DATA_LOADED:case s.DATA_SAVED:case s.RECORDS_REMOVED:case s.RECORDS_ADDED:case s.RECORDS_COPIED:case s.DATA_CHANGED:case s.EDITION_CANCELED:case s.CHANGE_UNDONE:case s.CHANGE_REDONE:case s.SELECTION_CHANGED:case s.NEXT_SELECTED:case s.PREVIOUS_SELECTED:null===(t=this._fields)||void 0===t||t.forEach((e=>{this.updateValue(e.fieldName,e.field)}))}},this._fields=new Map,this._dataUnit=e,this._dataUnit.subscribe(this.onDataUnitEvent)}bind(e){e.forEach((e=>{this.updateBind(e.dataset.fieldName,e)}))}onDisconnectedCallback(){this._dataUnit.unsubscribe(this.onDataUnitEvent)}updateValue(e,t){const i=t.value,n=this._dataUnit.getFieldValue(e);i!=n&&(t.value=n)}updateBind(e,t){const i=this._fields.get(e);i&&i.destroy(),t.value=this._dataUnit.getFieldValue(e),this._fields.set(e,S.create(e,t,((e,t)=>this.changeStarted(e,t)),((e,t)=>this.setFieldValue(e,t)))),this.bindSearchOptionsLoader(e,t),this.applyEzUploadContext(e,t)}changeStarted(e,t){0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.startChange(e,t)}setFieldValue(e,t){0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.setFieldValue(e,t)}bindSearchOptionsLoader(e,t){if("EZ-SEARCH"===t.nodeName&&void 0===t.optionLoader){const i=l.getContextValue("__EZUI__SEARCH__OPTION__LOADER__");i&&(t.optionLoader=t=>i(t,e,this._dataUnit))}}applyEzUploadContext(e,t){var i,n;if("EZ-UPLOAD"===t.nodeName){t.urlUpload=l.getContextValue("__EZUI__UPLOAD__ADD__URL__"),t.urlDelete=l.getContextValue("__EZUI__UPLOAD__DEL__URL__");const r=this._dataUnit.getField(e),o=null===(i=r.properties)||void 0===i?void 0:i.DESTINATION;o&&(t.requestHeaders={XTRAINF:`{"destination": "${o}"}`}),t.maxFiles=(null===(n=r.properties)||void 0===n?void 0:n.MAX_FILES)||0}}}class S{constructor(){this.startChangeEventName="ezStartChange",this.changeEventName="ezChange"}destroy(){this.field.removeEventListener(this.startChangeEventName,this.startChangeListener),this.field.removeEventListener(this.changeEventName,this.changeListener)}static create(e,t,i,n){const r=new S;return r.field=t,r.fieldName=e,r.startChangeListener=t=>{i(e,t.detail)},r.field.addEventListener(r.startChangeEventName,r.startChangeListener),r.changeListener=t=>{n(e,t.detail)},r.field.addEventListener(r.changeEventName,r.changeListener),r}}let D=class{constructor(e){t(this,e),this.ezReady=i(this,"ezReady",7),this.onDataUnitAction=e=>{e.type===s.METADATA_LOADED&&this.processMetadata()}}submit(){return Promise.resolve()}cancel(){return Promise.resolve()}validate(){return new Promise(((e,t)=>{const i=N(this._store.getState()),n=this._staticFields.filter((e=>e.dataset.required)).map((e=>e.dataset.fieldName)).concat(i.getRequiredFields()),r=this.dataUnit.records;for(let e=0;e<r.length;e++)if(!this.validateRequired(n,r[e])){t();break}e()}))}configChanged(){this.processMetadata()}validateRequired(e,t){const i=[];e.forEach((e=>{const n=t[e],r=this._element.querySelector(`[data-field-name=${e}]`);null==n||""===n?(i.push(e),r.errorMessage="Essa informação é obrigatória"):r.errorMessage=""}));const n=0===i.length;return n||u.info("Há pelo menos um campo obrigatório não preenchido."),n}getDynamicContent(){var t;const i=N(this._store.getState());if(!i)return null;const n=(r=null===(t=this._store)||void 0===t?void 0:t.getState()).currentSheet?r.formMetadata.getSheet(r.currentSheet):Array.from(r.formMetadata.getAllSheets().values())[0];var r;if(!n)return null;const o=Array.from(i.getAllSheets().values()),a=[];return o.length>1&&a.push(e("ez-tabselector",{onEzChange:e=>this._store.dispatch(function(e){return{type:j.CHANGE_TAB,payload:e.tabKey}}(e.detail)),selectedTab:n.name},o.map((t=>e("ez-tab",{tabKey:t.name,label:t.label}))))),a.push(e(v,{store:this._store,source:n})),a}processMetadata(){if(!this.isStatic()){const e=this.config&&this.config.length>0?((e,t)=>{const i=new Map,n=[],r=[];e.forEach((e=>{var o;if(!1!==e.visible){const a=function(e,t){return("string"==typeof e?Array.from(t.keys()).find((t=>t.label===e)):e)||{label:e,visible:!0}}(e.tab||"Geral",i),s=t.getField(e.name);if(s&&a.visible){i.has(a)||i.set(a,new Map);const t=i.get(a);(void 0===e.required?s.required:e.required)&&n.push(e.name),(void 0===e.cleanOnCopy?null===(o=s.properties)||void 0===o?void 0:o.cleanOnCopy:e.cleanOnCopy)&&r.push(e.name);const l={config:e,descriptor:s},c=e.group;if(c){const e=`group::${c}`;t.has(e)?t.get(e).items.push(l):t.set(e,{label:c,items:[l]})}else t.set(e.name,l)}}}));const o=new y;return Array.from(i.entries()).sort(g).forEach((([e,t])=>{o.addSheet({label:e.label,name:e.label,items:Array.from(t.values()),requiredFields:n,cleanOnCopyFields:r})})),o})(this.config,this.dataUnit):(()=>{var e;const t=this.dataUnit.metadata,i=new y;if(t){const n=null===(e=t.fields)||void 0===e?void 0:e.filter((e=>!1!==e.visible));i.addSheet({label:t.label,name:t.name,items:n.map((e=>({descriptor:e}))),requiredFields:n.filter((e=>e.required)).map((e=>e.name)),cleanOnCopyFields:n.filter((e=>{var t;return null===(t=e.properties)||void 0===t?void 0:t.cleanOnCopy})).map((e=>e.name))})}return i})();this._store.dispatch({type:j.METADATA_LOADED,payload:e})}}isStatic(){var e;return(null===(e=this._staticFields)||void 0===e?void 0:e.length)>0}interceptAction(e){if(e.type===s.RECORDS_COPIED){const t=N(this._store.getState()).getCleanOnCopyFields();if(t)return new c(s.RECORDS_COPIED,e.payload.map((e=>{const i=Object.assign({},e);return t.forEach((e=>delete i[e])),i})))}return e}componentWillLoad(){void 0===this.dataUnit&&(this.dataUnit=new d("ez-form")),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new k(this.dataUnit),this._store=C(R),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata()}componentDidRender(){this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]"))),this.ezReady.emit()}disconnectedCallback(){this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.removeInterceptor(this),this._dataBinder.onDisconnectedCallback()}render(){return e(r,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return o(this)}static get watchers(){return{config:["configChanged"]}}};D.style="ez-form{display:flex;flex-direction:column;width:100%}.dynamic-content ez-collapsible-box{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}";export{D as ez_form}
1
+ import{h as e,r as t,c as i,f as n,H as r,g as o}from"./p-60138b72.js";import{UserInterface as a,Action as s,ApplicationContext as l,DataUnitAction as c,DataUnit as d}from"@sankhyalabs/core";import{A as u}from"./p-0cd386db.js";const h=({name:t,label:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-text-input",{label:i,"data-field-name":t,key:t}));function f(t,i,n,r=!1){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large"},e("ez-check",{enabled:!n,label:i,mode:r?"switch":"regular","data-field-name":t,key:t}))}function b(t,i,n,r,o){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-number-input",{enabled:!n,label:i,precision:r,prettyPrecision:o,"data-field-name":t,key:t}))}const p=new Map;p.set(a.LONGTEXT,(({name:t,label:i,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small",key:t},e("ez-text-area",{enabled:!n,label:i,"data-field-name":t})))),p.set(a.CHECKBOX,(e=>f(e.name,e.label,e.readOnly,!1))),p.set(a.SWITCH,(e=>f(e.name,e.label,e.readOnly,!0))),p.set(a.OPTIONSELECTOR,(({name:t,label:i,readOnly:n,required:r},o)=>{const a=null==o?void 0:o.options;let s;if("string"==typeof a){const e=JSON.parse(a);s=Object.keys(e).map((t=>({value:t,label:e[t]})))}else s=a;return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-combo-box",{enabled:!n,suppressEmptyOption:r,label:i,"data-field-name":t,key:t,options:s}))})),p.set(a.SEARCH,(({name:t,label:i,readOnly:n,required:r})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-search",{enabled:!n,suppressEmptyOption:r,label:i,"data-field-name":t,key:t})))),p.set(a.FILE,(({name:t,label:i,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-upload",{enabled:!n,label:i,"data-field-name":t,key:t})))),p.set(a.DATE,(({name:t,label:i,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-input",{enabled:!n,label:i,"data-field-name":t,key:t})))),p.set(a.TIME,(({name:t,label:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-time-input",{label:i,"data-field-name":t,key:t})))),p.set(a.DATETIME,(({name:t,label:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-time-input",{label:i,"data-field-name":t,key:t})))),p.set(a.DECIMALNUMBER,(({name:e,label:t,readOnly:i},n)=>{const r=Number((null==n?void 0:n.precision)||2);return b(e,t,i,r,Number((null==n?void 0:n.prettyPrecision)||r))})),p.set(a.INTEGERNUMBER,(({name:e,label:t,readOnly:i})=>b(e,t,i,0,0)));const m=e=>{const t=e.descriptor,i=Object.assign({},e.config);let n,r;return t&&(i.label||(i.label=t.label),i.name||(i.name=t.name),void 0===i.required&&(i.required=t.required),void 0===i.readOnly&&(i.readOnly=t.readOnly),r=t.properties,n=p.get(t.userInterface)),i.required&&(i.label=`* ${i.label} (obrigatório)`),n||(n=h),n(i,r)},z=({source:t})=>"items"in t?e("ez-collapsible-box",{label:t.label,"header-size":"large"},t.items.map((e=>m(e)))):m(t),v=({store:t,source:i})=>e("div",{class:"dynamic-content ez-box__container"},e("div",{class:"ez-row ez-padding-vertical--small"},i.items.map((i=>e(z,{store:t,source:i})))));class y{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[]}getSheet(e){return this._sheets.get(e)}getAllSheets(){return this._sheets}addSheet(e){this._sheets.set(e.name,e),this._requiredFields=this._requiredFields.concat(e.requiredFields),this._cleanOnCopyFields=this._cleanOnCopyFields.concat(e.cleanOnCopyFields)}getRequiredFields(){return this._requiredFields}getCleanOnCopyFields(){return this._cleanOnCopyFields}}function g(e,t){return"Geral"==e[0].label?-1:(e[0].order||1e4)-(t[0].order||1e4)}function _(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var w="function"==typeof Symbol&&Symbol.observable||"@@observable",O=function(){return Math.random().toString(36).substring(7).split("").join(".")},E={INIT:"@@redux/INIT"+O(),REPLACE:"@@redux/REPLACE"+O(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+O()}};function A(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function C(e,t,i){var n;if("function"==typeof t&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(_(0));if("function"==typeof t&&void 0===i&&(i=t,t=void 0),void 0!==i){if("function"!=typeof i)throw new Error(_(1));return i(C)(e,t)}if("function"!=typeof e)throw new Error(_(2));var r=e,o=t,a=[],s=a,l=!1;function c(){s===a&&(s=a.slice())}function d(){if(l)throw new Error(_(3));return o}function u(e){if("function"!=typeof e)throw new Error(_(4));if(l)throw new Error(_(5));var t=!0;return c(),s.push(e),function(){if(t){if(l)throw new Error(_(6));t=!1,c();var i=s.indexOf(e);s.splice(i,1),a=null}}}function h(e){if(!A(e))throw new Error(_(7));if(void 0===e.type)throw new Error(_(8));if(l)throw new Error(_(9));try{l=!0,o=r(o,e)}finally{l=!1}for(var t=a=s,i=0;i<t.length;i++)(0,t[i])();return e}function f(e){if("function"!=typeof e)throw new Error(_(10));r=e,h({type:E.REPLACE})}function b(){var e,t=u;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(_(11));function i(){e.next&&e.next(d())}return i(),{unsubscribe:t(i)}}})[w]=function(){return this},e}return h({type:E.INIT}),(n={dispatch:h,subscribe:u,getState:d,replaceReducer:f})[w]=b,n}const x={};function R(e=x,t){switch(t.type){case j.METADATA_LOADED:return Object.assign(Object.assign({},e),{formMetadata:t.payload});case j.CHANGE_TAB:return Object.assign(Object.assign({},e),{currentSheet:t.payload});default:return e}}function N(e){return e.formMetadata}var j;!function(e){e.METADATA_LOADED="FORM/METADATA_LOADED",e.CHANGE_TAB="FORM/CHANGE_TAB"}(j||(j={}));class k{constructor(e){this.onDataUnitEvent=e=>{var t;switch(e.type){case s.DATA_LOADED:case s.DATA_SAVED:case s.RECORDS_REMOVED:case s.RECORDS_ADDED:case s.RECORDS_COPIED:case s.DATA_CHANGED:case s.EDITION_CANCELED:case s.CHANGE_UNDONE:case s.CHANGE_REDONE:case s.SELECTION_CHANGED:case s.NEXT_SELECTED:case s.PREVIOUS_SELECTED:null===(t=this._fields)||void 0===t||t.forEach((e=>{this.updateValue(e.fieldName,e.field)}))}},this._fields=new Map,this._dataUnit=e,this._dataUnit.subscribe(this.onDataUnitEvent)}bind(e){e.forEach((e=>{this.updateBind(e.dataset.fieldName,e)}))}onDisconnectedCallback(){this._dataUnit.unsubscribe(this.onDataUnitEvent)}updateValue(e,t){const i=t.value,n=this._dataUnit.getFieldValue(e);i!=n&&(void 0===n?t.removeAttribute("value"):t.value=n)}updateBind(e,t){const i=this._fields.get(e);i&&i.destroy();const n=this._dataUnit.getFieldValue(e);void 0===n?t.removeAttribute("value"):t.value=n,this._fields.set(e,S.create(e,t,((e,t)=>this.changeStarted(e,t)),((e,t)=>this.setFieldValue(e,t)))),this.bindSearchOptionsLoader(e,t),this.applyEzUploadContext(e,t)}changeStarted(e,t){0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.startChange(e,t)}setFieldValue(e,t){0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.setFieldValue(e,t)}bindSearchOptionsLoader(e,t){if("EZ-SEARCH"===t.nodeName&&void 0===t.optionLoader){const i=l.getContextValue("__EZUI__SEARCH__OPTION__LOADER__");i&&(t.optionLoader=t=>i(t,e,this._dataUnit))}}applyEzUploadContext(e,t){var i,n;if("EZ-UPLOAD"===t.nodeName){t.urlUpload=l.getContextValue("__EZUI__UPLOAD__ADD__URL__"),t.urlDelete=l.getContextValue("__EZUI__UPLOAD__DEL__URL__");const r=this._dataUnit.getField(e),o=null===(i=r.properties)||void 0===i?void 0:i.DESTINATION;o&&(t.requestHeaders={XTRAINF:`{"destination": "${o}"}`}),t.maxFiles=(null===(n=r.properties)||void 0===n?void 0:n.MAX_FILES)||0}}}class S{constructor(){this.startChangeEventName="ezStartChange",this.changeEventName="ezChange"}destroy(){this.field.removeEventListener(this.startChangeEventName,this.startChangeListener),this.field.removeEventListener(this.changeEventName,this.changeListener)}static create(e,t,i,n){const r=new S;return r.field=t,r.fieldName=e,r.startChangeListener=t=>{i(e,t.detail)},r.field.addEventListener(r.startChangeEventName,r.startChangeListener),r.changeListener=t=>{n(e,t.detail)},r.field.addEventListener(r.changeEventName,r.changeListener),r}}let D=class{constructor(e){t(this,e),this.ezReady=i(this,"ezReady",7),this.onDataUnitAction=e=>{e.type===s.METADATA_LOADED&&this.processMetadata()}}submit(){return Promise.resolve()}cancel(){return Promise.resolve()}validate(){return new Promise(((e,t)=>{const i=N(this._store.getState()),n=this._staticFields.filter((e=>e.dataset.required)).map((e=>e.dataset.fieldName)).concat(i.getRequiredFields()),r=this.dataUnit.getModifiedRecords();for(let e=0;e<r.length;e++)if(!this.validateRequired(n,r[e])){t();break}e()}))}configChanged(){this.processMetadata()}validateRequired(e,t){const i=[];e.forEach((e=>{const n=t[e],r=this._element.querySelector(`[data-field-name=${e}]`);null==n||""===n?(i.push(e),r.errorMessage="Essa informação é obrigatória"):r.errorMessage=""}));const n=0===i.length;return n||u.info("Há pelo menos um campo obrigatório não preenchido."),n}getDynamicContent(){var t;const i=N(this._store.getState());if(!i)return null;const n=(r=null===(t=this._store)||void 0===t?void 0:t.getState()).currentSheet?r.formMetadata.getSheet(r.currentSheet):Array.from(r.formMetadata.getAllSheets().values())[0];var r;if(!n)return null;const o=Array.from(i.getAllSheets().values()),a=[];return o.length>1&&a.push(e("ez-tabselector",{onEzChange:e=>this._store.dispatch(function(e){return{type:j.CHANGE_TAB,payload:e.tabKey}}(e.detail)),selectedTab:n.name},o.map((t=>e("ez-tab",{tabKey:t.name,label:t.label}))))),a.push(e(v,{store:this._store,source:n})),a}processMetadata(){if(!this.isStatic()){const e=this.config&&this.config.length>0?((e,t)=>{const i=new Map,n=[],r=[];e.forEach((e=>{var o;if(!1!==e.visible){const a=function(e,t){return("string"==typeof e?Array.from(t.keys()).find((t=>t.label===e)):e)||{label:e,visible:!0}}(e.tab||"Geral",i),s=t.getField(e.name);if(s&&a.visible){i.has(a)||i.set(a,new Map);const t=i.get(a);(void 0===e.required?s.required:e.required)&&n.push(e.name),(void 0===e.cleanOnCopy?null===(o=s.properties)||void 0===o?void 0:o.cleanOnCopy:e.cleanOnCopy)&&r.push(e.name);const l={config:e,descriptor:s},c=e.group;if(c){const e=`group::${c}`;t.has(e)?t.get(e).items.push(l):t.set(e,{label:c,items:[l]})}else t.set(e.name,l)}}}));const o=new y;return Array.from(i.entries()).sort(g).forEach((([e,t])=>{o.addSheet({label:e.label,name:e.label,items:Array.from(t.values()),requiredFields:n,cleanOnCopyFields:r})})),o})(this.config,this.dataUnit):(()=>{var e;const t=this.dataUnit.metadata,i=new y;if(t){const n=null===(e=t.fields)||void 0===e?void 0:e.filter((e=>!1!==e.visible));i.addSheet({label:t.label,name:t.name,items:n.map((e=>({descriptor:e}))),requiredFields:n.filter((e=>e.required)).map((e=>e.name)),cleanOnCopyFields:n.filter((e=>{var t;return null===(t=e.properties)||void 0===t?void 0:t.cleanOnCopy})).map((e=>e.name))})}return i})();this._store.dispatch({type:j.METADATA_LOADED,payload:e})}}isStatic(){var e;return(null===(e=this._staticFields)||void 0===e?void 0:e.length)>0}interceptAction(e){if(e.type===s.RECORDS_COPIED){const t=N(this._store.getState()).getCleanOnCopyFields();if(t)return new c(s.RECORDS_COPIED,e.payload.map((e=>{const i=Object.assign({},e);return t.forEach((e=>delete i[e])),i})))}return e}componentWillLoad(){void 0===this.dataUnit&&(this.dataUnit=new d("ez-form")),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new k(this.dataUnit),this._store=C(R),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata()}componentDidRender(){this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]"))),this.ezReady.emit()}disconnectedCallback(){this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.removeInterceptor(this),this._dataBinder.onDisconnectedCallback()}render(){return e(r,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return o(this)}static get watchers(){return{config:["configChanged"]}}};D.style="ez-form{display:flex;flex-direction:column;width:100%}.dynamic-content ez-collapsible-box{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}";export{D as ez_form}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as e,H as r}from"./p-60138b72.js";let s=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this._listItems=[],this._listGroupItems=[],this._listItemsHistory=[],this.dataSource=[],this.useGroups=!1,this.ezDraggable=!1,this.ezSelectable=!1}createList(){if(this.useGroups){let t=[...this.dataSource];t.forEach((t=>{this.sortGroup(t)})),this._listGroupItems=t}else this._listItems=this._listItemsHistory.length>0?this._listItemsHistory:[...this.dataSource]}sortGroup(t){t.sort&&(t.items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===t.sort&&t.items.reverse())}async clearHistory(){this._listItemsHistory=[]}async scrollToTop(){this.useGroups?this._element.shadowRoot.querySelector(".group-container").scrollTop=0:this._element.shadowRoot.querySelector(".items-container").scrollTop=0}async setSelection(t,i){if(t&&this.ezSelectable){if(this.useGroups){let i=[...this._listGroupItems];i.forEach((i=>{i.items.forEach((i=>{i.selected=i.label==t.label}))})),this._listGroupItems=i}else{let i=[...this._listItems];i.forEach((i=>{i.selected=i.label===t.label})),this._listItems=i}if(i){let i=this.useGroups?this._groupContainer.querySelector("li#item_"+this.getItemId(t.label)):this._itemContainer.querySelector("li#item_"+this.getItemId(t.label));i&&i.scrollIntoView()}}else this.removeSelection()}removeSelection(){if(this.useGroups){let t=[...this._listGroupItems];t.forEach((t=>{t.items.forEach((t=>{t.selected=!1}))})),this._listGroupItems=t}else{let t=[...this._listItems];t.forEach((t=>{t.selected=!1})),this._listItems=t}}async getSelection(){let t;return this.useGroups?this._listGroupItems.every((i=>{let e=i.items.find((t=>1==t.selected));return!e||(t=e,!1)})):t=this._listItems.find((t=>1==t.selected)),t}async getList(){return this.useGroups?this._listGroupItems:this._listItems}componentWillLoad(){this._listItemsHistory=[]}componentWillRender(){this.createList()}onDrop(t,i){if(this.removeOverClass(),this.setSelection(void 0),this._dragStartItem)if(this.useGroups){let t=[...this._listGroupItems],e=this._listGroupItems.find((t=>i.groupName==t.group));if(t.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),e.sort)t.find((t=>t.group==i.groupName)).items.push(this._dragStartItem.item),t.find((t=>t.group==i.groupName)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&t.find((t=>t.group==i.groupName)).items.reverse();else{let e=i.index>this._dragStartItem.index?i.index-1:i.index;t.find((t=>t.group==i.groupName)).items.splice(e,0,this._dragStartItem.item)}this._listGroupItems=t,this.ezChange.emit(this._listGroupItems)}else{let t=[...this._listItems];t.splice(this._dragStartItem.index,1),t.splice(i.index,0,this._dragStartItem.item),this._listItems=t,this._listItemsHistory=t,this.ezChange.emit(this._listItems)}t.stopPropagation()}onDropLastIndex(t,i){if(this.removeOverClass(),this.setSelection(void 0),this._dragStartItem)if(this.useGroups){let t=[...this._listGroupItems],e=this._listGroupItems.find((t=>i.group==t.group));t.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),t.find((t=>t.group==i.group)).items.push(this._dragStartItem.item),e.sort&&(t.find((t=>t.group==i.group)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&t.find((t=>t.group==i.group)).items.reverse()),this._listGroupItems=t,this.ezChange.emit(this._listGroupItems)}else{let t=[...this._listItems];t.splice(this._dragStartItem.index,1),t.push(this._dragStartItem.item),this._listItems=t,this._listItemsHistory=t,this.ezChange.emit(this._listItems)}t.stopPropagation()}onDropGroup(t){var i;let e=[...this._listGroupItems];this.setSelection(void 0);let r=e.find((i=>i.group===t.group));if(r){if((null===(i=r.items)||void 0===i?void 0:i.length)>0){let t;r.items.forEach(((i,e)=>{i.label===this._dragStartItem.item.label&&(t={item:i,index:e})})),t?(r.items.splice(t.index,1),r.items.unshift(t.item),this.sortGroup(r)):(r.items.unshift(this._dragStartItem.item),this.sortGroup(r),e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1))}else e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),r.items=[this._dragStartItem.item];this._listGroupItems=e}}onDragEnd(){if(this._dragStartItem=void 0,this.useGroups&&this.hideOverlays(),this._draggingElement){try{this._element.shadowRoot.removeChild(this._draggingElement)}catch(t){}this._draggingElement=void 0}}addOverClass(t){(null==t?void 0:t.__proto__)==HTMLDivElement.prototype&&t.classList.contains("draggable")?t.classList.add("over"):(null==t?void 0:t.parentElement)&&!t.parentElement.classList.contains("draggable-list")&&this.addOverClass(t.parentElement)}addOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];i.items.length>0?t.setAttribute("style","display:grid"):(t.classList.add("presetedHeight"),t.setAttribute("style","display:grid"),t.scrollIntoView(!1))}}removeOverClass(){var t,i;let e,r;this.useGroups?(e=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("over"),r=this._groupContainer.getElementsByClassName("last-droppable-space")):(e=null===(i=this._itemContainer)||void 0===i?void 0:i.getElementsByClassName("over"),r=this._itemContainer.getElementsByClassName("last-droppable-space")),e&&Array.from(e).forEach((function(t){t.classList.remove("over")})),r&&Array.from(r).forEach((function(t){t.classList.remove("over")}))}removeOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];t&&(t.classList.remove("presetedHeight"),t.setAttribute("style","display:none"))}}onDragStart(t,i,e){this._changeDeboucingTimeout&&window.clearTimeout(this._changeDeboucingTimeout),this.useGroups?(this._dragStartItem={groupName:i.group,item:t,index:e},this._changeDeboucingTimeout=window.setTimeout((()=>{this.showOverlays(i)}),10)):this._dragStartItem={item:t.item,index:t.index}}selectFirstItem(){this.useGroups&&this.setSelection(this._listGroupItems[0].items[0]),this.setSelection(this._listItems[0])}nextOption(t){let i;if(this.useGroups)this._listGroupItems.every(((e,r,s)=>{let a,o=e.items.findIndex((i=>i.label==t.label));return null!=o&&-1!=o&&(o===e.items.length-1?r+1<=s.length-1&&(a={label:s[r+1].items[0].label}):a={label:e.items[o+1].label}),null==a||(i=a,!1)}));else{let e=this._listItems.findIndex((i=>i.label===t.label));e>=0&&e<this._listItems.length&&(i=this._listItems[e+1])}this.setSelection(i,!0)}previousOption(t){let i;if(this.useGroups)this._listGroupItems.every(((e,r,s)=>{let a,o=e.items.findIndex((i=>i.label==t.label));return null!=o&&-1!=o&&(0===o?r-1>=0&&(a={label:s[r-1].items[s[r-1].items.length-1].label}):a={label:e.items[o-1].label}),null==a||(i=a,!1)}));else{let e=this._listItems.findIndex((i=>i.label===t.label));e>0&&e<this._listItems.length&&(i=this._listItems[e-1])}this.setSelection(i,!0)}keyDownHandler(t){t.preventDefault(),this.getSelection().then((i=>{if(i)switch(t.key){case"ArrowDown":this.nextOption(i);break;case"ArrowUp":this.previousOption(i)}else this.selectFirstItem()})),t.stopPropagation()}getItemId(t){if(t)return t.replace(/[^a-z0-9_]/gi,"_")}getDivGroupId(t){if(t)return"group-"+t.replace(/[^a-z0-9_]/gi,"_")}getGroupOverlayId(t){if(t)return"group-overlay-"+t.replace(/[^a-z0-9_]/gi,"_")}onDragOverGroup(t,i){this._dragStartItem&&this._dragStartItem.groupName!==i.group&&i.sort&&(t.preventDefault(),this.addOverGroupClass(t,i))}onDragOverItem(t){this._dragStartItem&&(t.preventDefault(),this.addOverClass(t.target),t.stopPropagation())}onDragOverLastIndex(t){t.preventDefault(),this._dragStartItem&&(t.target.classList.add("over"),t.stopPropagation())}showOverlays(t){let i=this._groupContainer.getElementsByClassName("group-overlay");Array.from(i).forEach((i=>{let e=this.getGroupOverlayId(t.group);e&&i.getAttribute("id")&&e!=i.getAttribute("id")&&(i.classList.add("presetedHeight"),i.setAttribute("style","display:grid"))}))}hideOverlays(){var t;let i=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("group-overlay");Array.from(i).forEach((t=>{t.classList.remove("presetedHeight"),t.setAttribute("style","display:none")}))}render(){return e(r,{ref:t=>this._element=t},this.useGroups?e("div",{class:"group-container",ref:t=>this._groupContainer=t,tabIndex:0,onKeyDown:t=>{this.keyDownHandler(t)}},this._listGroupItems.map((t=>e("div",{id:this.getDivGroupId(t.group),class:"group",key:t.group+t.items.length,onDrop:()=>this.onDropGroup(t)},e("label",{draggable:!1,class:"group-name"},t.group),e("section",{class:"section-container",onDragOver:t=>t.preventDefault()},e("div",{class:"group-items-container"},e("div",{class:"draggable-list"},t.items.map(((i,r)=>e("li",{id:"item_"+this.getItemId(i.label),class:this.ezSelectable?"selectable-container":"",key:"item_"+this.getItemId(i.label)},e("div",{class:"draggable"+(1==i.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onClick:()=>{this.setSelection(i)},onDragLeave:()=>{t.sort||this.removeOverClass()},onDragEnd:()=>this.onDragEnd(),onDragStart:()=>this.onDragStart(i,t,r),onDragOver:i=>{t.sort||this.onDragOverItem(i)},onDrop:e=>this.onDrop(e,{groupName:t.group,item:i,index:r}),draggable:this.ezDraggable},e("div",{class:"item-content"},this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,e("p",{title:i.label,class:"person-name text--ellipsis"},i.label)),this.itemSlotBuilder?e("div",{class:"slot-item"},this.itemSlotBuilder(i,t)):void 0))))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>{this.onDragOverLastIndex(t)},onDragEnd:()=>this.onDragEnd(),onDrop:i=>this.onDropLastIndex(i,t)})),t.sort?e("div",{id:this.getGroupOverlayId(t.group),class:"group-overlay"},"Mover para ",t.group):void 0))))):e("div",{class:"items-container",ref:t=>this._itemContainer=t,tabIndex:0,onKeyDown:t=>{this.keyDownHandler(t)}},e("div",{class:"draggable-list"},this._listItems.map(((t,i)=>e("li",{id:"item_"+this.getItemId(t.label),class:this.ezSelectable?"selectable-container":"",key:"item_"+this.getItemId(t.label)},e("div",{class:"draggable"+(1==t.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDragStart:()=>this.onDragStart({item:t,index:i}),onClick:()=>{this.setSelection(t)},onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverItem(t),onDragEnd:()=>this.onDragEnd(),onDrop:e=>this.onDrop(e,{item:t,index:i}),draggable:this.ezDraggable},e("div",{class:"item-content"},this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,e("p",{title:t.label,class:"person-name text--ellipsis"},t.label)),this.itemSlotBuilder?e("div",null,this.itemSlotBuilder(t)):void 0)))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>{this.onDragOverLastIndex(t)},onDragEnd:()=>this.onDragEnd(),onDrop:t=>this.onDropLastIndex(t)}))))}};s.style=':host{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon__padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item__margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:var(--border--small, 1px solid);--ez-list__item--border-color:var(--title--primary, #2b3a54);--ez-list__item--font-family:var(--font-pattern, "Sora");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item__border-radius:var(--border--radius-small, 6px);--ez-list__selected-item__background:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, "Sora");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group__overlay--font-family:var(--font-pattern, "Sora");--ez-list__group__overlay--font-size:var(--text--medium, 14px);--ez-list__group-container__scrollbar--border-radius:var(--border--radius-large, 24px);--ez-list__group-container__scrollbar--width:var(--space--medium, 12px);--ez-list__group-container__scrollbar--background-color:var(--text--primary, #626e82);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__draggable__list--padding-bottom:var(--space--small, 6px);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable__scrollbar--border-radius:var(--border--radius-large, 24px);--ez-list__draggable__scrollbar--width:var(--space--medium, 12px);--ez-list__draggable__scrollbar--background-color:var(--text--primary, #626e82);--ez-list__draggable__icon--image:url(\'data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z"/></svg>\');max-height:100%;width:100%;background-color:#fff;display:flex;z-index:var(--ez-list__host--z-index)}p{margin:0}.draggable{display:flex;align-items:center;border-top:1px dashed #fff;justify-content:space-between;background-color:#fff;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);flex:1}.dragging{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container{margin:0px !important}.item-content{display:flex;justify-content:center;align-items:center}.draggable-list{color:var(--text-color);padding:0;margin:0;width:100%;max-height:100%}.draggable-list li{background-color:#fff;display:flex;margin:var(--ez-list__item__margin);font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color);height:32px}.over{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space{height:var(--ez-list__last-droppable-space--height)}.draggable-selected{background-color:var(--background--strong) !important}.draggable-selected div:hover{background-color:var(--background--strong) !important}.draggable-list::-webkit-scrollbar-track{background-color:#f0f2f5}.draggable-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__draggable__scrollbar--background-color);border-radius:var(--ez-list__draggable__scrollbar--border-radius)}.draggable-list::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-list__draggable__scrollbar--width);max-width:var(--ez-list__draggable__scrollbar--width);min-width:var(--ez-list__draggable__scrollbar--width)}.draggable-icon{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon::after{content:\'\';display:flex;background-color:var(--ez-list__icon--color);width:18px;height:18px;-webkit-mask-image:var(--ez-list__draggable__icon--image);mask-image:var(--ez-list__draggable__icon--image)}*{box-sizing:border-box}.checkbox{width:fit-content}.text--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-container{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%}.group-name{font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom);-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.group{display:flex;flex-direction:column}.group-container::-webkit-scrollbar-track{background-color:#f0f2f5}.group-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__group-container__scrollbar--background-color);border-radius:var(--ez-list__group-container__scrollbar--border-radius)}.group-container::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-list__group-container__scrollbar--width);max-width:var(--ez-list__group-container__scrollbar--width);min-width:var(--ez-list__group-container__scrollbar--width)}.section-container{display:flex;position:relative;height:100%}.items-container{width:100%;max-height:100%;overflow-y:auto;outline:none}.group-items-container{width:100%;max-height:100%;height:100%;outline:none}.items-container::-webkit-scrollbar-track{background-color:#f0f2f5}.items-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__draggable__scrollbar--background-color);border-radius:var(--ez-list__draggable__scrollbar--border-radius)}.items-container::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-list__draggable__scrollbar--width);max-width:var(--ez-list__draggable__scrollbar--width);min-width:var(--ez-list__draggable__scrollbar--width)}.group-overlay{font-family:var(--ez-list__group__overlay--font-family);font-size:var(--ez-list__group__overlay--font-size);background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer}.presetedHeight{min-height:100px}.overlay-text{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item{background:var(--ez-list__selected-item__background);border-radius:var(--ez-list__selected-item__border-radius)}.slot-item{align-items:flex-end}.overGroup{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}';export{s as ez_list}
@@ -0,0 +1 @@
1
+ import{r as t,h as s,H as i,g as e}from"./p-60138b72.js";import{MaskFormatter as h,TimeFormatter as a,NumberUtils as r}from"@sankhyalabs/core";import{C as o}from"./p-933a7475.js";let n=class{constructor(s){t(this,s),this.enabled=!0,this.showSeconds=!1,this.mode="regular"}prepareMask(){this.showSeconds?null==this._maskFormatter?this._maskFormatter=new h("##:##:##"):this._maskFormatter.mask="##:##:##":null==this._maskFormatter?this._maskFormatter=new h("##:##"):this._maskFormatter.mask="##:##"}onValueChanged(){NaN===this.value&&(this.value=void 0,this.handleFocusout())}async setFocus(){this._inputElem.focus()}async setBlur(){this._inputElem.blur()}handleFocusout(){this.errorMessage="",this.prepareValue(this.viewValue),a.validateTime(this.viewValue,this.showSeconds)||(this.clearField(),this.errorMessage="Favor inserir um horário válido.")}prepareValue(t){try{this.viewValue=a.prepareValue(t,this.showSeconds)}catch(t){this.clearField(),this.errorMessage=t.message}}clearField(){this.viewValue="",this.value=void 0}handleChange(){this.viewValue=this._inputElem.value,this.value=r.stringToNumber(this.viewValue.replace(/\D/g,""))}componentDidLoad(){this.onValueChanged(),o.applyVarsTextInput(this._elem,this._inputElem)}componentWillLoad(){this.prepareMask(),this.value?this.prepareValue(this.value.toString()):this.viewValue&&this.prepareValue(this.viewValue)}render(){return s(i,null,s("ez-text-input",{ref:t=>this._inputElem=t,value:this.viewValue,enabled:this.enabled,label:this.label,onInput:()=>{this.handleChange()},onFocusout:()=>{this.handleFocusout()},errorMessage:this.errorMessage,mode:this.mode},s("ez-icon",{slot:"leftIcon",iconName:"timer-outline"})))}static get assetsDirs(){return["../assets"]}get _elem(){return e(this)}static get watchers(){return{showSeconds:["prepareMask"],value:["onValueChanged"]}}};n.style=":host{display:flex;flex-wrap:wrap;position:relative;width:100%}";export{n as ez_time_input}
@@ -65,6 +65,22 @@ export default interface EzGridController {
65
65
  * Método responsável por selecionar linhas
66
66
  */
67
67
  selectRows(rowIds: Array<string>): void;
68
+ /**
69
+ * Método para navegar para o registro anterior da grid.
70
+ */
71
+ previousRecord(): void;
72
+ /**
73
+ * Método para navegar para o proxímo registro da grid.
74
+ */
75
+ nextRecord(): void;
76
+ /**
77
+ * Método para verificar se existem registros anteriores.
78
+ */
79
+ hasPreviousRecord(): boolean;
80
+ /**
81
+ * Método para verificar se existem proximos registros.
82
+ */
83
+ hasNextRecord(): boolean;
68
84
  /**
69
85
  * Método responsável por remover linhas da grade
70
86
  */
@@ -85,6 +101,14 @@ export default interface EzGridController {
85
101
  * Quando no modo paginado, aciona o carregamento da página anterior
86
102
  */
87
103
  previousPage(): void;
104
+ /**
105
+ * Retorna se o registro selecionado é o primeiro da página.
106
+ */
107
+ isFirstOfPage(): boolean;
108
+ /**
109
+ * Retorna se o registro selecionado é o ultimo da página.
110
+ */
111
+ isLastOfPage(): boolean;
88
112
  /**
89
113
  * Adiciona um filtro rápido na grid e faz o refresh.
90
114
  */
@@ -171,6 +195,10 @@ export interface EzGridColumn {
171
195
  * [Opcional] Posição em que a coluna deve ser fixada.
172
196
  */
173
197
  pinnedPosition?: string;
198
+ /**
199
+ * [Opcional] Define propriedades especiais da coluna
200
+ */
201
+ props?: Map<string, any>;
174
202
  }
175
203
  /**
176
204
  * Interface utilizada para se inserir menus personalizados no cabeçalho das colunas.
@@ -237,6 +265,24 @@ export interface EzGridPaginationStatus {
237
265
  */
238
266
  totalRows: number;
239
267
  }
268
+ /**
269
+ * Sempre que há alterações na seleção, o grid controller passará esse status através do
270
+ * callback "onSelectionChange" para o host (EzGrid) reagir.
271
+ */
272
+ export interface EzGridSelectionStatus {
273
+ /**
274
+ * Se é o registro selecionado é o primeiro da página atual
275
+ */
276
+ isFirstOfPage: boolean;
277
+ /**
278
+ * Se é o registro selecionado é o último da página atual
279
+ */
280
+ isLastOfPage: boolean;
281
+ /**
282
+ * Um array com os registros selecionados atualmente
283
+ */
284
+ selection: Array<any>;
285
+ }
240
286
  export interface EzGridConfig {
241
287
  /**
242
288
  * Lista de colunas a ser apresentada.
@@ -2,6 +2,7 @@ import EzGridController, { EzGridColumn, EzGridColumnConfig, EzGridColumnMenuIte
2
2
  import { Sort } from "@sankhyalabs/core";
3
3
  import { SortingProvider } from "@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";
4
4
  export default class AgGridController implements EzGridController, SortingProvider {
5
+ private readonly DEFAULT_ROW_HEIGHT;
5
6
  private _grid;
6
7
  private _gridOptions;
7
8
  private _columnStateChangeCallback;
@@ -16,10 +17,13 @@ export default class AgGridController implements EzGridController, SortingProvid
16
17
  private _dataUnit;
17
18
  private _idAttribName;
18
19
  private _dataSource;
20
+ private _isFirstRecordOfPage;
21
+ private _isLastRecordOfPage;
19
22
  constructor(enterprise: boolean);
20
23
  getSort(): Array<Sort>;
21
24
  initDatagrid(container: HTMLElement, options: EzGridOptions): void;
22
25
  private setOptionsEvents;
26
+ private syncSelection;
23
27
  private setOptionsPagination;
24
28
  private setOptionsSupress;
25
29
  setData(data: Array<any>): void;
@@ -38,12 +42,20 @@ export default class AgGridController implements EzGridController, SortingProvid
38
42
  previousPage(): void;
39
43
  goToPage(page: number): void;
40
44
  quickFilter(term: string): void;
45
+ isLastOfPage(): boolean;
46
+ isFirstOfPage(): boolean;
47
+ previousRecord(): void;
48
+ nextRecord(): void;
49
+ private setSelectedIndex;
50
+ hasPreviousRecord(): boolean;
51
+ hasNextRecord(): boolean;
41
52
  private buildColDef;
42
53
  private getFormatterByColumn;
43
54
  private onCallStateChange;
44
55
  private isUIEvent;
45
56
  private onSelectionChange;
46
57
  private onPaginationChange;
58
+ private getPaginationStatus;
47
59
  private onRowDoubleClick;
48
60
  private conditionalSet;
49
61
  }
@@ -2,7 +2,8 @@ import { EventEmitter } from "../../stencil-public-runtime";
2
2
  import EzGridController, { EzGridColumn, EzGridColumnConfig, EzGridColumStateEvent, EzGridConfig } from "./controller/EzGridController";
3
3
  import { DataUnit } from "@sankhyalabs/core";
4
4
  import DataUnitBridge from "./controller/DataUnitBridge";
5
- export declare class EzGrid {
5
+ import { PageableComponent } from "../../utils/interfaces/PageableComponent";
6
+ export declare class EzGrid implements PageableComponent {
6
7
  _gridConfig: HTMLGridConfigElement;
7
8
  _container: HTMLElement;
8
9
  _gridController: EzGridController;
@@ -13,7 +14,7 @@ export declare class EzGrid {
13
14
  private _navigationFirstRow;
14
15
  private _navigationLastRow;
15
16
  private _navigationTotalRows;
16
- private _popUpVisible;
17
+ private _popUpGridConfig;
17
18
  /**
18
19
  * Evento disparado ao mudar o estado das colunas do grid. Ordenação, largura, etc.
19
20
  */
@@ -89,6 +90,46 @@ export declare class EzGrid {
89
90
  * Método para fazer um filtro rápido na grid.
90
91
  */
91
92
  quickFilter(term: string): Promise<any>;
93
+ /**
94
+ * Método para fazer um filtro rápido na grid.
95
+ */
96
+ nextPage(): Promise<void>;
97
+ /**
98
+ * Método para fazer um filtro rápido na grid.
99
+ */
100
+ previousPage(): Promise<void>;
101
+ /**
102
+ * Método para fazer um filtro rápido na grid.
103
+ */
104
+ hasNextPage(): Promise<boolean>;
105
+ /**
106
+ * Método para fazer um filtro rápido na grid.
107
+ */
108
+ hasPreviousPage(): Promise<boolean>;
109
+ /**
110
+ * Método para verificar se o registro selecionado é o ultimo da página.
111
+ */
112
+ isLastOfPage(): Promise<boolean>;
113
+ /**
114
+ * Método para verificar se o registro selecionado é o primeiro da página.
115
+ */
116
+ isFirstOfPage(): Promise<boolean>;
117
+ /**
118
+ * Método para navegar para o proxímo registro da grid.
119
+ */
120
+ nextRecord(): Promise<void>;
121
+ /**
122
+ * Método para navegar para o registro anterior da grid.
123
+ */
124
+ previousRecord(): Promise<void>;
125
+ /**
126
+ * Método para verificar se existem proximos registros.
127
+ */
128
+ hasNextRecord(): Promise<boolean>;
129
+ /**
130
+ * Método para verificar se existem registros anteriores.
131
+ */
132
+ hasPreviousRecord(): Promise<boolean>;
92
133
  componentWillLoad(): void;
93
134
  onColumnStateChange(type: string, state: Array<EzGridColumn>, info: any): void;
94
135
  private createConfigFromState;
@@ -96,7 +137,7 @@ export declare class EzGrid {
96
137
  disconnectedCallback(): void;
97
138
  getPaginationControl(): Array<HTMLElement>;
98
139
  applyConfig(config: EzGridConfig): void;
99
- closeConfig(): void;
100
- openConfig(): void;
140
+ closeGridConfig(): void;
141
+ openGridConfig(): void;
101
142
  render(): any;
102
143
  }
@@ -8,6 +8,7 @@ export declare class GridConfig {
8
8
  private _orderPriorityList;
9
9
  private _columListItems;
10
10
  private _selectedIndex;
11
+ private _dataChanged;
11
12
  selectedTab: string;
12
13
  columns: Array<EzGridColumn>;
13
14
  config: EzGridConfig;
@@ -58,6 +58,10 @@ export declare class EzList {
58
58
  */
59
59
  clearHistory(): Promise<void>;
60
60
  /**
61
+ * Responsável por dar um scroll top no componente da lista.
62
+ */
63
+ scrollToTop(): Promise<void>;
64
+ /**
61
65
  * Recebe como argumento um ListItem {label: string} e um booleano que define se o componente deve fazer scroll para exibir o item específico (opcional).
62
66
  */
63
67
  setSelection(selectedItem: ListItem, scrollToOption?: boolean): Promise<void>;
@@ -367,14 +367,55 @@ export namespace Components {
367
367
  * Retorna as linhas selecionadas na grade.
368
368
  */
369
369
  "getSelection": () => Promise<Array<any>>;
370
+ /**
371
+ * Método para fazer um filtro rápido na grid.
372
+ */
373
+ "hasNextPage": () => Promise<boolean>;
374
+ /**
375
+ * Método para verificar se existem proximos registros.
376
+ */
377
+ "hasNextRecord": () => Promise<boolean>;
378
+ /**
379
+ * Método para fazer um filtro rápido na grid.
380
+ */
381
+ "hasPreviousPage": () => Promise<boolean>;
382
+ /**
383
+ * Método para verificar se existem registros anteriores.
384
+ */
385
+ "hasPreviousRecord": () => Promise<boolean>;
386
+ /**
387
+ * Método para verificar se o registro selecionado é o primeiro da página.
388
+ */
389
+ "isFirstOfPage": () => Promise<boolean>;
390
+ /**
391
+ * Método para verificar se o registro selecionado é o ultimo da página.
392
+ */
393
+ "isLastOfPage": () => Promise<boolean>;
370
394
  /**
371
395
  * Habilita a seleção de várias linhas
372
396
  */
373
397
  "multipleSelection": boolean;
398
+ /**
399
+ * Método para fazer um filtro rápido na grid.
400
+ */
401
+ "nextPage": () => Promise<void>;
402
+ /**
403
+ * Método para navegar para o proxímo registro da grid.
404
+ */
405
+ "nextRecord": () => Promise<void>;
406
+ "openGridConfig": () => Promise<void>;
374
407
  /**
375
408
  * Determina o número de linhas de cada página. Caso informado o valor -1 não haverá paginação.
376
409
  */
377
410
  "pageSize": number;
411
+ /**
412
+ * Método para fazer um filtro rápido na grid.
413
+ */
414
+ "previousPage": () => Promise<void>;
415
+ /**
416
+ * Método para navegar para o registro anterior da grid.
417
+ */
418
+ "previousRecord": () => Promise<void>;
378
419
  /**
379
420
  * Método para fazer um filtro rápido na grid.
380
421
  */
@@ -469,6 +510,10 @@ export namespace Components {
469
510
  * Define se é possível selecionar mais de um registro. /** Função responsável por renderizar um conteúdo dentro do item da lista.
470
511
  */
471
512
  "itemSlotBuilder": (item: any, group?: any) => HTMLElement;
513
+ /**
514
+ * Responsável por dar um scroll top no componente da lista.
515
+ */
516
+ "scrollToTop": () => Promise<void>;
472
517
  /**
473
518
  * Recebe como argumento um ListItem {label: string} e um booleano que define se o componente deve fazer scroll para exibir o item específico (opcional).
474
519
  */
@@ -0,0 +1,12 @@
1
+ export interface PageableComponent {
2
+ nextPage(): Promise<void>;
3
+ previousPage(): Promise<void>;
4
+ hasNextPage(): Promise<boolean>;
5
+ hasPreviousPage(): Promise<boolean>;
6
+ isLastOfPage(): Promise<boolean>;
7
+ isFirstOfPage(): Promise<boolean>;
8
+ nextRecord(): Promise<void>;
9
+ previousRecord(): Promise<void>;
10
+ hasNextRecord(): Promise<boolean>;
11
+ hasPreviousRecord(): Promise<boolean>;
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/ezui",
3
- "version": "1.1.131",
3
+ "version": "1.1.134",
4
4
  "description": "Biblioteca de componentes Sankhya.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-0e284e03.js');
4
-
5
- const getSpritePath = (sprite) => `${getContextAssetsPath("../assets/actions-sprite.svg")}#${sprite}`;
6
- let ctxLoaded = false;
7
- function getContextAssetsPath(resource) {
8
- if (!ctxLoaded) {
9
- const scriptElem = document.querySelector("script[data-ezui-assets-url]");
10
- if (scriptElem) {
11
- let assetsPath = scriptElem.dataset.ezuiAssetsUrl;
12
- if (assetsPath) {
13
- if (assetsPath.startsWith('/')) {
14
- assetsPath = window.location.origin + assetsPath;
15
- }
16
- index.setAssetPath(assetsPath);
17
- }
18
- }
19
- ctxLoaded = true;
20
- }
21
- return index.getAssetPath(resource);
22
- }
23
-
24
- exports.getSpritePath = getSpritePath;
@@ -1,22 +0,0 @@
1
- import { a as getAssetPath, s as setAssetPath } from './index-bf1aef20.js';
2
-
3
- const getSpritePath = (sprite) => `${getContextAssetsPath("../assets/actions-sprite.svg")}#${sprite}`;
4
- let ctxLoaded = false;
5
- function getContextAssetsPath(resource) {
6
- if (!ctxLoaded) {
7
- const scriptElem = document.querySelector("script[data-ezui-assets-url]");
8
- if (scriptElem) {
9
- let assetsPath = scriptElem.dataset.ezuiAssetsUrl;
10
- if (assetsPath) {
11
- if (assetsPath.startsWith('/')) {
12
- assetsPath = window.location.origin + assetsPath;
13
- }
14
- setAssetPath(assetsPath);
15
- }
16
- }
17
- ctxLoaded = true;
18
- }
19
- return getAssetPath(resource);
20
- }
21
-
22
- export { getSpritePath as g };
@@ -1 +0,0 @@
1
- import{a as s,s as t}from"./p-60138b72.js";const a=a=>`${function(){if(!e){const s=document.querySelector("script[data-ezui-assets-url]");if(s){let a=s.dataset.ezuiAssetsUrl;a&&(a.startsWith("/")&&(a=window.location.origin+a),t(a))}e=!0}return s("../assets/actions-sprite.svg")}()}#${a}`;let e=!1;export{a as g}
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as e,H as r}from"./p-60138b72.js";import{StringUtils as o}from"@sankhyalabs/core";import{g as s}from"./p-51b878f7.js";let a=class{constructor(e){i(this,e),this.configFinish=t(this,"configFinish",7),this.configCancel=t(this,"configCancel",7),this._orderListItems=[],this._orderPriorityList=[],this._columListItems=[],this._selectedIndex=-1,this.selectedTab="Colunas"}createOrderList(){let i=[];this.columns.forEach((t=>{var e;let r=null===(e=this.config)||void 0===e?void 0:e.columns.find((i=>i.name===t.name)),o={name:t.name,label:t.label};r&&(o.orderIndex=r.orderIndex,o.ascending=r.ascending),t.hidden||i.push(o)})),i.sort(((i,t)=>0!=i.orderIndex||0!=t.orderIndex||null==i.ascending&&null==t.ascending?null!=i.ascending&&null!=t.ascending?i.orderIndex-t.orderIndex:null!=i.ascending||null!=t.ascending?null!=i.ascending?-1:null!=t.ascending?1:0:i.orderIndex-t.orderIndex:null!=i.ascending?-1:null!=t.ascending?1:0)),this._orderListItems=i}createColumnList(){let i={group:"Visíveis",items:[]},t={group:"Ocultas",items:[],sort:"ASC"};this.columns.forEach((e=>{let r={label:e.label};e.hidden?t.items.push(r):i.items.push(r)})),this._columListItems=[i,t]}buildColumnListSlot(i,t){return e("div",null,e("ez-check",{mode:"switch",id:"switch"+i+t,value:"Visíveis"===t.group,onEzChange:t=>{this.switchColumnGroup(t,i)}}))}buildOrderListSlot(i){let t="na";return null!=(null==i?void 0:i.ascending)&&(t=1==i.ascending?"asc":"desc"),e("div",null,e("select-box",{selectedOption:t,key:"select-box"+i,onEzChange:t=>{t.stopPropagation(),this.updateOrder(t.detail,i.label)}}))}updateOrder(i,t){var e;let r,o=[...this.columns],s=o.find((i=>i.label===t));s&&(s.sort="na"===i.value?void 0:i.value),(null===(e=this._orderPriorityList)||void 0===e?void 0:e.length)>0?(this._orderPriorityList.find((i=>i.label===s.label)).sort=i,this._orderPriorityList.filter((i=>i.sort)).map(((i,t)=>{i.label===s.label&&(s.sortIndex=t)}))):(r=o.filter((i=>i.sort&&!0!==i.hidden)).map(((i,t)=>({label:i.label,orderIndex:t}))),r.forEach((i=>{o.find((t=>t.label===i.label)).sortIndex=i.orderIndex}))),this.columns=o}switchColumnGroup(i,t){i.stopPropagation();let e=[...this._columListItems];if(!0===i.detail){let i=e.find((i=>"Ocultas"===i.group)),r=i.items.findIndex((i=>i.label===t.label));r>=0&&i.items.splice(r,1),e.find((i=>"Visíveis"===i.group)).items.push(t),this._columListItems=e,this.createOrderList()}else if(!1===i.detail){let i=e.find((i=>"Visíveis"===i.group)),r=i.items.findIndex((i=>i.label===t.label));r>=0&&i.items.splice(r,1),e.find((i=>"Ocultas"===i.group)).items.push(t),this._columListItems=e,this.createOrderList()}}finish(){let i=[];this._columListItems.forEach((t=>{t.items.forEach((e=>{const r=this.columns.find((i=>i.label===e.label));let o=Object.assign({},r);o.hidden="Ocultas"===t.group,i.push(o)}))})),this.columns=i,this.save()}save(){var i;let t;t=this.config?this.config:this.createConfigFromState(this.columns);let e,r=[];if((null===(i=this._orderPriorityList)||void 0===i?void 0:i.length)>0){e=this.columns.filter((i=>i.sort&&!0!==i.hidden)).map((i=>({label:i.label,orderIndex:0})));let i=0,t=[];this._orderPriorityList.forEach((r=>{let o=e.find((i=>i.label===r.label));o&&(o.orderIndex=i,t.push(o),i++)})),t.length>0&&(e=t)}for(let i=0;i<this.columns.length;i++){const s=this.columns[i];let a=t.columns.find((i=>s.name===i.name));!0===s.hidden&&a||(a?a.width=s.width:!1===s.hidden&&(a={name:s.name,width:s.width,orderIndex:0}),a&&(s.sort?(a.ascending="ASC"===s.sort.toUpperCase(),e?o(s,a):a.orderIndex=s.sortIndex):(delete a.ascending,a.orderIndex=0),r.push(a)))}function o(i,t){if(e){let r=e.find((t=>t.label===i.label));r&&(t.orderIndex=r.orderIndex)}}t.columns=r,this.configFinish.emit(t),this._orderList.clearHistory()}createConfigFromState(i){let t={columns:[]};return i.forEach((i=>{if(!i.hidden){let e={name:i.name};i.width&&(e.width=i.width),i.sort?(e.ascending="ASC"===i.sort.toUpperCase(),e.orderIndex=i.sortIndex):e.orderIndex=0,e&&t.columns.push(e)}})),t}async locateColumn(i,t){var e;const r="Enter"===i.key;t||(t=null===(e=i.currentTarget)||void 0===e?void 0:e.value);let o=-1;if("Ordenação das linhas"===this.selectedTab)if(t){const i=[];let e,s;if(await this._orderList.getList().then((r=>{e=r,e.forEach(((e,r)=>{this.compareWords(e,t)&&i.push(r)}))})),i.length>0){if(r)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){o=i[t];break}-1===o&&(o=i[0])}this._selectedIndex=o,s=e[o],s?this._orderList.setSelection({label:s.label},!0):this._orderList.setSelection(void 0)}else this._orderList.setSelection(void 0);else if(t){const i=[];if(this.columns.forEach(((e,r)=>{this.compareWords(e,t)&&i.push(r)})),i.length>0){if(r)for(let t=0;t<i.length;t++)if(i[t]>this._selectedIndex){o=i[t];break}-1===o&&(o=i[0])}this._selectedIndex=o;let e=this.columns[o];e?this._columnList.setSelection({label:e.label},!0):this._columnList.setSelection(void 0)}else this._columnList.setSelection(void 0)}compareWords(i,t){return o.replaceAccentuatedChars(i.label).indexOf(o.replaceAccentuatedChars(t))>-1}closeConfig(){this.configCancel.emit(),this._orderList.clearHistory()}handleTabChange(i){var t;(null===(t=null==i?void 0:i.target)||void 0===t?void 0:t.selectedTab)&&("Ordenação das linhas"===i.target.selectedTab&&this.createOrderList(),this.selectedTab=i.target.selectedTab)}handleColumnListChange(i){var t;if(i.detail){let e=null===(t=i.detail.find((i=>"Visíveis"===i.group)))||void 0===t?void 0:t.items;e&&(this._orderListItems=e)}}handleOrderListChange(i){if(i.detail){let t=i.detail;t&&(this._orderPriorityList=t)}}componentWillRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.createColumnList()}componentDidRender(){var i;(null===(i=this.columns)||void 0===i?void 0:i.length)>0&&this.locateColumn(new KeyboardEvent("arrow-right",{key:"ArrowRight"}),this._searchElement.value)}render(){return e(r,null,e("div",{class:"grid-config__header"},e("div",{class:"title-container"},e("div",{class:""},e("label",{class:"title"},"Configuração da Grade"),e("label",{class:"subtitle"},"Defina visibilidade e ordem das colunas.")),e("div",{class:"button-close"},e("ez-button",{mode:"icon",image:s("close"),size:"medium",onClick:()=>this.closeConfig()}))),e("div",{class:"tabselector-container"},e("ez-tabselector",{selectedTab:this.selectedTab,selectedIndex:0,onEzChange:i=>{this.handleTabChange(i)},tabs:"Colunas, Ordenação das linhas"})),e("div",null,e("ez-text-input",{ref:i=>this._searchElement=i,label:"Localizar coluna",onKeyUp:i=>this.locateColumn(i)},e("ez-icon",{slot:"leftIcon",size:"medium",href:s("search")})))),e("div",{class:"grid-config__main"},e("ez-list",{ref:i=>this._columnList=i,class:"Colunas"===this.selectedTab?"":"hidden",dataSource:this._columListItems,onEzChange:i=>this.handleColumnListChange(i),ezDraggable:!0,ezSelectable:!0,itemSlotBuilder:(i,t)=>this.buildColumnListSlot(i,t),useGroups:!0}),e("div",{class:"Ordenação das linhas"===this.selectedTab?"group-name":"hidden"},"Sequência da ordenação"),e("ez-list",{ref:i=>this._orderList=i,class:"Ordenação das linhas"===this.selectedTab?"heigth-calc":"hidden",dataSource:this._orderListItems,ezSelectable:!0,onEzChange:i=>this.handleOrderListChange(i),ezDraggable:!0,itemSlotBuilder:i=>this.buildOrderListSlot(i)})),e("div",{class:"grid-config__footer"},e("ez-button",{class:"padding-right--medium",label:"Cancelar",onClick:()=>this.closeConfig()}),e("ez-button",{label:"Concluir",class:"ez-button--primary",onClick:()=>this.finish()})))}static get assetsDirs(){return["../assets"]}};a.style='.sc-grid-config-h{--ez-grid-config__footer--padding-top:var(--space--medium, 12px);--ez-grid-config__main--padding-right:var(--space--medium, 12px);--ez-grid-config__tabselector-container--padding:var(--space--medium, 12px);--ez-grid-config__button-close--padding-left:var(--space--medium, 12px);--ez-grid-config__subtitle--font-family:var(--font-pattern, "Sora");--ez-grid-config__title--font-family:var(--font-pattern, "Sora");--ez-grid-config__title--font-weight:var(--text-weight--large, 700);--ez-grid-config__subtitle--font-size:var(--text--medium, 14px);--ez-grid-config__scrollbar--width:var(--space--medium, 12px);--ez-grid-config__main__scrollbar--background-color:var(--text--primary, #626e82);--ez-grid-config__main__scrollbar--border-radius:var(--border--radius-medium, 12px);--ez-grid__group--font-family:var(--font-pattern, "Sora");--ez-grid__group--font-size:var(--text--medium, 14px);--ez-grid__group--font-weight:var(--text-weight--large, 600);--ez-grid__group--padding-bottom:var(--space-small, 6px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.padding-right--medium.sc-grid-config{padding-right:var(--space--medium)}ez-list.sc-grid-config{height:100%}.heigth-calc.sc-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-grid-config{padding-top:var(--ez-grid-config__footer--padding-top);display:flex;justify-content:flex-end;width:100%}.hidden.sc-grid-config{display:none}.grid-config__main.sc-grid-config{padding-right:var(--ez-grid-config__main--padding-right);overflow-y:auto}.tabselector-container.sc-grid-config{padding:var(--ez-grid-config__tabselector-container--padding) 0}.button-close.sc-grid-config{padding-left:var(--ez-grid-config__button-close--padding-left)}.title-container.sc-grid-config{display:flex;justify-content:space-between;align-items:center;width:359px}.subtitle.sc-grid-config{font-family:var(--ez-grid-config__subtitle--font-family);font-size:var(--ez-grid-config__subtitle--font-size);color:var(--text--primary)}.title.sc-grid-config{display:flex;margin:0;font-family:var(--ez-grid-config__title--font-family);font-size:var(--title--large);font-weight:var(--ez-grid-config__title--font-weight);line-height:normal;letter-spacing:0em;text-align:left;color:var(--title--primary)}.grid-config__main.sc-grid-config::-webkit-scrollbar-track{background-color:#f0f2f5}.grid-config__main.sc-grid-config::-webkit-scrollbar-thumb{background-color:var(--ez-grid-config__main__scrollbar--background-color);border-radius:var(--ez-grid-config__main__scrollbar--border-radius)}.grid-config__main.sc-grid-config::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-grid-config__scrollbar--width);max-width:var(--ez-grid-config__scrollbar--width);min-width:var(--ez-grid-config__scrollbar--width)}.group-name.sc-grid-config{font-family:var(--ez-grid__group--font-family);font-size:var(--ez-grid__group--font-size);font-weight:var(--ez-grid__group--font-weight);padding-bottom:var(--ez-grid__group--padding-bottom)}';export{a as grid_config}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as r}from"./p-60138b72.js";let s=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this._listItems=[],this._listGroupItems=[],this._listItemsHistory=[],this.dataSource=[],this.useGroups=!1,this.ezDraggable=!1,this.ezSelectable=!1}createList(){if(this.useGroups){let t=[...this.dataSource];t.forEach((t=>{this.sortGroup(t)})),this._listGroupItems=t}else this._listItems=this._listItemsHistory.length>0?this._listItemsHistory:[...this.dataSource]}sortGroup(t){t.sort&&(t.items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===t.sort&&t.items.reverse())}async clearHistory(){this._listItemsHistory=[]}async setSelection(t,i){if(t&&this.ezSelectable){if(this.useGroups){let i=[...this._listGroupItems];i.forEach((i=>{i.items.forEach((i=>{i.selected=i.label==t.label}))})),this._listGroupItems=i}else{let i=[...this._listItems];i.forEach((i=>{i.selected=i.label===t.label})),this._listItems=i}if(i){let i=this.useGroups?this._groupContainer.querySelector("li#item_"+this.getItemId(t.label)):this._itemContainer.querySelector("li#item_"+this.getItemId(t.label));i&&i.scrollIntoView()}}else this.removeSelection()}removeSelection(){if(this.useGroups){let t=[...this._listGroupItems];t.forEach((t=>{t.items.forEach((t=>{t.selected=!1}))})),this._listGroupItems=t}else{let t=[...this._listItems];t.forEach((t=>{t.selected=!1})),this._listItems=t}}async getSelection(){let t;return this.useGroups?this._listGroupItems.every((i=>{let e=i.items.find((t=>1==t.selected));return!e||(t=e,!1)})):t=this._listItems.find((t=>1==t.selected)),t}async getList(){return this.useGroups?this._listGroupItems:this._listItems}componentWillLoad(){this._listItemsHistory=[]}componentWillRender(){this.createList()}onDrop(t,i){if(this.removeOverClass(),this.setSelection(void 0),this._dragStartItem)if(this.useGroups){let t=[...this._listGroupItems],e=this._listGroupItems.find((t=>i.groupName==t.group));if(t.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),e.sort)t.find((t=>t.group==i.groupName)).items.push(this._dragStartItem.item),t.find((t=>t.group==i.groupName)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&t.find((t=>t.group==i.groupName)).items.reverse();else{let e=i.index>this._dragStartItem.index?i.index-1:i.index;t.find((t=>t.group==i.groupName)).items.splice(e,0,this._dragStartItem.item)}this._listGroupItems=t,this.ezChange.emit(this._listGroupItems)}else{let t=[...this._listItems];t.splice(this._dragStartItem.index,1),t.splice(i.index,0,this._dragStartItem.item),this._listItems=t,this._listItemsHistory=t,this.ezChange.emit(this._listItems)}t.stopPropagation()}onDropLastIndex(t,i){if(this.removeOverClass(),this.setSelection(void 0),this._dragStartItem)if(this.useGroups){let t=[...this._listGroupItems],e=this._listGroupItems.find((t=>i.group==t.group));t.find((t=>t.group==this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),t.find((t=>t.group==i.group)).items.push(this._dragStartItem.item),e.sort&&(t.find((t=>t.group==i.group)).items.sort((function(t,i){return t.label<i.label?-1:t.label>i.label?1:0})),"DSC"===e.sort&&t.find((t=>t.group==i.group)).items.reverse()),this._listGroupItems=t,this.ezChange.emit(this._listGroupItems)}else{let t=[...this._listItems];t.splice(this._dragStartItem.index,1),t.push(this._dragStartItem.item),this._listItems=t,this._listItemsHistory=t,this.ezChange.emit(this._listItems)}t.stopPropagation()}onDropGroup(t){var i;let e=[...this._listGroupItems];this.setSelection(void 0);let r=e.find((i=>i.group===t.group));if(r){if((null===(i=r.items)||void 0===i?void 0:i.length)>0){let t;r.items.forEach(((i,e)=>{i.label===this._dragStartItem.item.label&&(t={item:i,index:e})})),t?(r.items.splice(t.index,1),r.items.unshift(t.item),this.sortGroup(r)):(r.items.unshift(this._dragStartItem.item),this.sortGroup(r),e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1))}else e.find((t=>t.group===this._dragStartItem.groupName)).items.splice(this._dragStartItem.index,1),r.items=[this._dragStartItem.item];this._listGroupItems=e}}onDragEnd(){if(this._dragStartItem=void 0,this.useGroups&&this.hideOverlays(),this._draggingElement){try{this._element.shadowRoot.removeChild(this._draggingElement)}catch(t){}this._draggingElement=void 0}}addOverClass(t){(null==t?void 0:t.__proto__)==HTMLDivElement.prototype&&t.classList.contains("draggable")?t.classList.add("over"):(null==t?void 0:t.parentElement)&&!t.parentElement.classList.contains("draggable-list")&&this.addOverClass(t.parentElement)}addOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];i.items.length>0?t.setAttribute("style","display:grid"):(t.classList.add("presetedHeight"),t.setAttribute("style","display:grid"),t.scrollIntoView(!1))}}removeOverClass(){var t,i;let e,r;this.useGroups?(e=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("over"),r=this._groupContainer.getElementsByClassName("last-droppable-space")):(e=null===(i=this._itemContainer)||void 0===i?void 0:i.getElementsByClassName("over"),r=this._itemContainer.getElementsByClassName("last-droppable-space")),e&&Array.from(e).forEach((function(t){t.classList.remove("over")})),r&&Array.from(r).forEach((function(t){t.classList.remove("over")}))}removeOverGroupClass(t,i){if(t.target){let t=this._groupContainer.querySelector("div#"+this.getDivGroupId(i.group)).getElementsByClassName("group-overlay")[0];t&&(t.classList.remove("presetedHeight"),t.setAttribute("style","display:none"))}}onDragStart(t,i,e){this._changeDeboucingTimeout&&window.clearTimeout(this._changeDeboucingTimeout),this.useGroups?(this._dragStartItem={groupName:i.group,item:t,index:e},this._changeDeboucingTimeout=window.setTimeout((()=>{this.showOverlays(i)}),10)):this._dragStartItem={item:t.item,index:t.index}}selectFirstItem(){this.useGroups&&this.setSelection(this._listGroupItems[0].items[0]),this.setSelection(this._listItems[0])}nextOption(t){let i;if(this.useGroups)this._listGroupItems.every(((e,r,s)=>{let a,o=e.items.findIndex((i=>i.label==t.label));return null!=o&&-1!=o&&(o===e.items.length-1?r+1<=s.length-1&&(a={label:s[r+1].items[0].label}):a={label:e.items[o+1].label}),null==a||(i=a,!1)}));else{let e=this._listItems.findIndex((i=>i.label===t.label));e>=0&&e<this._listItems.length&&(i=this._listItems[e+1])}this.setSelection(i,!0)}previousOption(t){let i;if(this.useGroups)this._listGroupItems.every(((e,r,s)=>{let a,o=e.items.findIndex((i=>i.label==t.label));return null!=o&&-1!=o&&(0===o?r-1>=0&&(a={label:s[r-1].items[s[r-1].items.length-1].label}):a={label:e.items[o-1].label}),null==a||(i=a,!1)}));else{let e=this._listItems.findIndex((i=>i.label===t.label));e>0&&e<this._listItems.length&&(i=this._listItems[e-1])}this.setSelection(i,!0)}keyDownHandler(t){t.preventDefault(),this.getSelection().then((i=>{if(i)switch(t.key){case"ArrowDown":this.nextOption(i);break;case"ArrowUp":this.previousOption(i)}else this.selectFirstItem()})),t.stopPropagation()}getItemId(t){if(t)return t.replace(/[^a-z0-9_]/gi,"_")}getDivGroupId(t){if(t)return"group-"+t.replace(/[^a-z0-9_]/gi,"_")}getGroupOverlayId(t){if(t)return"group-overlay-"+t.replace(/[^a-z0-9_]/gi,"_")}onDragOverGroup(t,i){this._dragStartItem&&this._dragStartItem.groupName!==i.group&&i.sort&&(t.preventDefault(),this.addOverGroupClass(t,i))}onDragOverItem(t){this._dragStartItem&&(t.preventDefault(),this.addOverClass(t.target),t.stopPropagation())}onDragOverLastIndex(t){t.preventDefault(),this._dragStartItem&&(t.target.classList.add("over"),t.stopPropagation())}showOverlays(t){let i=this._groupContainer.getElementsByClassName("group-overlay");Array.from(i).forEach((i=>{let e=this.getGroupOverlayId(t.group);e&&i.getAttribute("id")&&e!=i.getAttribute("id")&&(i.classList.add("presetedHeight"),i.setAttribute("style","display:grid"))}))}hideOverlays(){var t;let i=null===(t=this._groupContainer)||void 0===t?void 0:t.getElementsByClassName("group-overlay");Array.from(i).forEach((t=>{t.classList.remove("presetedHeight"),t.setAttribute("style","display:none")}))}render(){return e(r,{ref:t=>this._element=t},this.useGroups?e("div",{class:"group-container",ref:t=>this._groupContainer=t,tabIndex:0,onKeyDown:t=>{this.keyDownHandler(t)}},this._listGroupItems.map((t=>e("div",{id:this.getDivGroupId(t.group),class:"group",key:t.group+t.items.length,onDrop:()=>this.onDropGroup(t)},e("label",{draggable:!1,class:"group-name"},t.group),e("section",{class:"section-container",onDragOver:t=>t.preventDefault()},e("div",{class:"group-items-container"},e("div",{class:"draggable-list"},t.items.map(((i,r)=>e("li",{id:"item_"+this.getItemId(i.label),class:this.ezSelectable?"selectable-container":"",key:"item_"+this.getItemId(i.label)},e("div",{class:"draggable"+(1==i.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onClick:()=>{this.setSelection(i)},onDragLeave:()=>{t.sort||this.removeOverClass()},onDragEnd:()=>this.onDragEnd(),onDragStart:()=>this.onDragStart(i,t,r),onDragOver:i=>{t.sort||this.onDragOverItem(i)},onDrop:e=>this.onDrop(e,{groupName:t.group,item:i,index:r}),draggable:this.ezDraggable},e("div",{class:"item-content"},this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,e("p",{title:i.label,class:"person-name text--ellipsis"},i.label)),this.itemSlotBuilder?e("div",{class:"slot-item"},this.itemSlotBuilder(i,t)):void 0))))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>{this.onDragOverLastIndex(t)},onDragEnd:()=>this.onDragEnd(),onDrop:i=>this.onDropLastIndex(i,t)})),t.sort?e("div",{id:this.getGroupOverlayId(t.group),class:"group-overlay"},"Mover para ",t.group):void 0))))):e("div",{class:"items-container",ref:t=>this._itemContainer=t,tabIndex:0,onKeyDown:t=>{this.keyDownHandler(t)}},e("div",{class:"draggable-list"},this._listItems.map(((t,i)=>e("li",{id:"item_"+this.getItemId(t.label),class:this.ezSelectable?"selectable-container":"",key:"item_"+this.getItemId(t.label)},e("div",{class:"draggable"+(1==t.selected?" selected-item ":"")+(1==this.ezSelectable?" selectable ":""),onDragStart:()=>this.onDragStart({item:t,index:i}),onClick:()=>{this.setSelection(t)},onDragLeave:()=>this.removeOverClass(),onDragOver:t=>this.onDragOverItem(t),onDragEnd:()=>this.onDragEnd(),onDrop:e=>this.onDrop(e,{item:t,index:i}),draggable:this.ezDraggable},e("div",{class:"item-content"},this.ezDraggable?e("span",{class:"draggable-icon"}):void 0,e("p",{title:t.label,class:"person-name text--ellipsis"},t.label)),this.itemSlotBuilder?e("div",null,this.itemSlotBuilder(t)):void 0)))),e("div",{class:"last-droppable-space",onDragLeave:()=>this.removeOverClass(),onDragOver:t=>{this.onDragOverLastIndex(t)},onDragEnd:()=>this.onDragEnd(),onDrop:t=>this.onDropLastIndex(t)}))))}};s.style=':host{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon__padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item__margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:var(--border--small, 1px solid);--ez-list__item--border-color:var(--title--primary, #2b3a54);--ez-list__item--font-family:var(--font-pattern, "Sora");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item__border-radius:var(--border--radius-small, 6px);--ez-list__selected-item__background:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, "Sora");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group__overlay--font-family:var(--font-pattern, "Sora");--ez-list__group__overlay--font-size:var(--text--medium, 14px);--ez-list__group-container__scrollbar--border-radius:var(--border--radius-large, 24px);--ez-list__group-container__scrollbar--width:var(--space--medium, 12px);--ez-list__group-container__scrollbar--background-color:var(--text--primary, #626e82);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__draggable__list--padding-bottom:var(--space--small, 6px);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable__scrollbar--border-radius:var(--border--radius-large, 24px);--ez-list__draggable__scrollbar--width:var(--space--medium, 12px);--ez-list__draggable__scrollbar--background-color:var(--text--primary, #626e82);--ez-list__draggable__icon--image:url(\'data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z"/></svg>\');max-height:100%;width:100%;background-color:#fff;display:flex;z-index:var(--ez-list__host--z-index)}p{margin:0}.draggable{display:flex;align-items:center;border-top:1px dashed #fff;justify-content:space-between;background-color:#fff;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);flex:1}.dragging{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container{margin:0px !important}.item-content{display:flex;justify-content:center;align-items:center}.draggable-list{color:var(--text-color);padding:0;margin:0;width:100%;max-height:100%}.draggable-list li{background-color:#fff;display:flex;margin:var(--ez-list__item__margin);font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color);height:32px}.over{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space{height:var(--ez-list__last-droppable-space--height)}.draggable-selected{background-color:var(--background--strong) !important}.draggable-selected div:hover{background-color:var(--background--strong) !important}.draggable-list::-webkit-scrollbar-track{background-color:#f0f2f5}.draggable-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__draggable__scrollbar--background-color);border-radius:var(--ez-list__draggable__scrollbar--border-radius)}.draggable-list::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-list__draggable__scrollbar--width);max-width:var(--ez-list__draggable__scrollbar--width);min-width:var(--ez-list__draggable__scrollbar--width)}.draggable-icon{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon::after{content:\'\';display:flex;background-color:var(--ez-list__icon--color);width:18px;height:18px;-webkit-mask-image:var(--ez-list__draggable__icon--image);mask-image:var(--ez-list__draggable__icon--image)}*{box-sizing:border-box}.checkbox{width:fit-content}.text--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-container{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%}.group-name{font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom);-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}.group{display:flex;flex-direction:column}.group-container::-webkit-scrollbar-track{background-color:#f0f2f5}.group-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__group-container__scrollbar--background-color);border-radius:var(--ez-list__group-container__scrollbar--border-radius)}.group-container::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-list__group-container__scrollbar--width);max-width:var(--ez-list__group-container__scrollbar--width);min-width:var(--ez-list__group-container__scrollbar--width)}.section-container{display:flex;position:relative;height:100%}.items-container{width:100%;max-height:100%;overflow-y:auto;outline:none}.group-items-container{width:100%;max-height:100%;height:100%;outline:none}.items-container::-webkit-scrollbar-track{background-color:#f0f2f5}.items-container::-webkit-scrollbar-thumb{background-color:var(--ez-list__draggable__scrollbar--background-color);border-radius:var(--ez-list__draggable__scrollbar--border-radius)}.items-container::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-list__draggable__scrollbar--width);max-width:var(--ez-list__draggable__scrollbar--width);min-width:var(--ez-list__draggable__scrollbar--width)}.group-overlay{font-family:var(--ez-list__group__overlay--font-family);font-size:var(--ez-list__group__overlay--font-size);background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer}.presetedHeight{min-height:100px}.overlay-text{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item{background:var(--ez-list__selected-item__background);border-radius:var(--ez-list__selected-item__border-radius)}.slot-item{align-items:flex-end}.overGroup{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}';export{s as ez_list}
@@ -1 +0,0 @@
1
- import{r as t,h as s,H as i,g as e}from"./p-60138b72.js";import{MaskFormatter as h,TimeFormatter as r,NumberUtils as a}from"@sankhyalabs/core";import{C as o}from"./p-933a7475.js";import{g as n}from"./p-51b878f7.js";let l=class{constructor(s){t(this,s),this.enabled=!0,this.showSeconds=!1,this.mode="regular"}prepareMask(){this.showSeconds?null==this._maskFormatter?this._maskFormatter=new h("##:##:##"):this._maskFormatter.mask="##:##:##":null==this._maskFormatter?this._maskFormatter=new h("##:##"):this._maskFormatter.mask="##:##"}onValueChanged(){NaN===this.value&&(this.value=void 0,this.handleFocusout())}async setFocus(){this._inputElem.focus()}async setBlur(){this._inputElem.blur()}handleFocusout(){this.errorMessage="",this.prepareValue(this.viewValue),r.validateTime(this.viewValue,this.showSeconds)||(this.clearField(),this.errorMessage="Favor inserir um horário válido.")}prepareValue(t){try{this.viewValue=r.prepareValue(t,this.showSeconds)}catch(t){this.clearField(),this.errorMessage=t.message}}clearField(){this.viewValue="",this.value=void 0}handleChange(){this.viewValue=this._inputElem.value,this.value=a.stringToNumber(this.viewValue.replace(/\D/g,""))}componentDidLoad(){this.onValueChanged(),o.applyVarsTextInput(this._elem,this._inputElem)}componentWillLoad(){this.prepareMask(),this.value?this.prepareValue(this.value.toString()):this.viewValue&&this.prepareValue(this.viewValue)}render(){return s(i,null,s("ez-text-input",{ref:t=>this._inputElem=t,value:this.viewValue,enabled:this.enabled,label:this.label,onInput:()=>{this.handleChange()},onFocusout:()=>{this.handleFocusout()},errorMessage:this.errorMessage,mode:this.mode},s("ez-icon",{slot:"leftIcon",href:n("timer-outline")})))}static get assetsDirs(){return["../assets"]}get _elem(){return e(this)}static get watchers(){return{showSeconds:["prepareMask"],value:["onValueChanged"]}}};l.style=":host{display:flex;flex-wrap:wrap;position:relative;width:100%}";export{l as ez_time_input}