@sankhyalabs/sankhyablocks 6.0.4 → 6.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-expression-item_3.cjs.entry.js +4 -1
- package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -13
- package/dist/cjs/snk-filter-modal.cjs.entry.js +20 -5
- package/dist/cjs/snk-filter-personalized.cjs.entry.js +2 -0
- package/dist/cjs/snk-grid.cjs.entry.js +2 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.js +2 -0
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +20 -28
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +0 -14
- package/dist/collection/components/snk-grid/snk-grid.js +2 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +4 -1
- package/dist/components/snk-expression-item2.js +4 -1
- package/dist/components/snk-filter-bar2.js +0 -13
- package/dist/components/snk-filter-modal.js +20 -6
- package/dist/components/snk-filter-personalized.js +2 -0
- package/dist/components/snk-grid2.js +2 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-expression-item_3.entry.js +4 -1
- package/dist/esm/snk-filter-bar.entry.js +0 -13
- package/dist/esm/snk-filter-modal.entry.js +20 -5
- package/dist/esm/snk-filter-personalized.entry.js +2 -0
- package/dist/esm/snk-grid.entry.js +2 -0
- package/dist/sankhyablocks/p-01cd58b6.entry.js +1 -0
- package/dist/sankhyablocks/{p-5a6c090e.entry.js → p-4e5d1ae3.entry.js} +1 -1
- package/dist/sankhyablocks/p-6c6e936c.entry.js +1 -0
- package/dist/sankhyablocks/p-710d9b6f.entry.js +1 -0
- package/dist/sankhyablocks/{p-fe7e889e.entry.js → p-a49af638.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -4
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +0 -1
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +1 -0
- package/dist/types/components.d.ts +0 -8
- package/package.json +1 -1
- package/dist/sankhyablocks/p-9731180c.entry.js +0 -1
- package/dist/sankhyablocks/p-cdfddb41.entry.js +0 -1
- package/dist/sankhyablocks/p-f55450d5.entry.js +0 -1
@@ -20,10 +20,6 @@ export declare class SnkFilterModal {
|
|
20
20
|
* Ação executada ao aplicar os filtros
|
21
21
|
*/
|
22
22
|
applyFilters: (updatedFilterConfig: Array<SnkFilterItemConfig>) => void;
|
23
|
-
/**
|
24
|
-
* Ação executada ao limpar os filtros
|
25
|
-
*/
|
26
|
-
clearAll: (configSnapshot: SnkFilterItemConfig[]) => Array<SnkFilterItemConfig>;
|
27
23
|
/**
|
28
24
|
* Ação disparada ao fechar o modal
|
29
25
|
*/
|
@@ -38,6 +34,8 @@ export declare class SnkFilterModal {
|
|
38
34
|
editPersonalizedFilter: (id: string) => void;
|
39
35
|
private getCustomMessage;
|
40
36
|
private handleClearAll;
|
37
|
+
private handleClearCustomFilters;
|
38
|
+
private clearAllCustomFilter;
|
41
39
|
private handleClose;
|
42
40
|
private validatePersonalizedFilter;
|
43
41
|
private modalActionListener;
|
@@ -21,7 +21,6 @@ declare class SnkFilterModalFactory {
|
|
21
21
|
private _editPersonalizedFilterFn;
|
22
22
|
constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter }: SnkFilterModalFactoryParams);
|
23
23
|
private applyFilters;
|
24
|
-
private clearAll;
|
25
24
|
private buildFilterModal;
|
26
25
|
showModal(): Promise<void>;
|
27
26
|
closeModal(): Promise<void>;
|
@@ -49,6 +49,7 @@ export declare class SnkExpressionItem {
|
|
49
49
|
expressionPropsToFieldProps(properties: Array<IPropertiesExpressionItem>): IPropertiesFieldSearch;
|
50
50
|
private getMessage;
|
51
51
|
private handleSelectItem;
|
52
|
+
private hasNoChanges;
|
52
53
|
private handleFocus;
|
53
54
|
private handleChangeFilterInput;
|
54
55
|
private handleChangeValueVariable;
|
@@ -691,10 +691,6 @@ export namespace Components {
|
|
691
691
|
* Ação executada ao aplicar os filtros
|
692
692
|
*/
|
693
693
|
"applyFilters": (updatedFilterConfig: Array<SnkFilterItemConfig>) => void;
|
694
|
-
/**
|
695
|
-
* Ação executada ao limpar os filtros
|
696
|
-
*/
|
697
|
-
"clearAll": (configSnapshot: SnkFilterItemConfig[]) => Array<SnkFilterItemConfig>;
|
698
694
|
/**
|
699
695
|
* Ação disparada ao fechar o modal
|
700
696
|
*/
|
@@ -2173,10 +2169,6 @@ declare namespace LocalJSX {
|
|
2173
2169
|
* Ação executada ao aplicar os filtros
|
2174
2170
|
*/
|
2175
2171
|
"applyFilters"?: (updatedFilterConfig: Array<SnkFilterItemConfig>) => void;
|
2176
|
-
/**
|
2177
|
-
* Ação executada ao limpar os filtros
|
2178
|
-
*/
|
2179
|
-
"clearAll"?: (configSnapshot: SnkFilterItemConfig[]) => Array<SnkFilterItemConfig>;
|
2180
2172
|
/**
|
2181
2173
|
* Ação disparada ao fechar o modal
|
2182
2174
|
*/
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
import{r as e,c as i,h as t,H as s,g as n}from"./p-066ee142.js";import{UserInterface as a,ApplicationContext as r,ElementIDUtils as l,JSUtils as o,StringUtils as h,DataType as d}from"@sankhyalabs/core";import{ApplicationUtils as c,CheckMode as u}from"@sankhyalabs/ezui/dist/collection/utils";import{fieldBuilder as p}from"@sankhyalabs/ezui/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder";import{F as v,c as m,d as b,e as f}from"./p-eb90de43.js";import{s as g}from"./p-590d8900.js";import{convertType as _}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";import{ModalAction as x}from"@sankhyalabs/ezui/dist/collection/components/ez-modal-container";import{P as k}from"./p-36ecb6ab.js";import"./p-584d7212.js";var z;!function(e){e.LINK="LINK",e.FIELD="FIELD"}(z||(z={}));const y=[{label:"Igual (=)",value:"EQUAL"},{label:"Diferente (<>)",value:"DIFFERENT"},{label:"Contendo (LIKE)",value:"LIKE"},{label:"Contido em (IN)",value:"IN"},{label:"Iniciado com (%?)",value:"START_WITH"},{label:"Terminado com (?%)",value:"FINISHED_WITH"},{label:"Vazio (NULL)",value:"NULL"},{label:"Não Vazio (NOT NULL)",value:"NOT_NULL"}],E=y.concat([{label:"Maior (>)",value:"LARGER"},{label:"Maior ou Igual (>=)",value:"LARGER_EQUAL"},{label:"Menor (<)",value:"SMALLER"},{label:"Menor ou Igual (<=)",value:"SMALLER_EQUAL"}]),C=y,F=[a.SEARCH,a.SHORTTEXT,a.PASSWORD,a.MASKEDTEXT,a.LONGTEXT,a.HTML],O="NOT_DEFINED",I=class{constructor(t){e(this,t),this.ezFilterItemChange=i(this,"ezFilterItemChange",7),this.ezFilterItemRemove=i(this,"ezFilterItemRemove",7),this.application=r.getContextValue("__SNK__APPLICATION__"),this.filterOperandDefault=E,this.filterOperandTypeTextSearch=C,this._showValueVariable=!1,this._fieldSelected=void 0,this._optionNotNull=!1,this.expression=void 0,this.canRemove=!0,this.messagesBuilder=void 0,this.entityURI=void 0}expressionChanged(e,i){e!==i&&(this.ezFilterItemChange.emit(e),this.updateFieldSelected())}componentWillLoad(){this._dataSourceFetcher=g.get(`filterFieldsDataSource.${this.entityURI}`),g.onChange(`filterFieldsDataSource.${this.entityURI}`,(()=>{this._dataSourceFetcher=g.get(`filterFieldsDataSource.${this.entityURI}`)})),this.expression&&(this.updateFieldSelected(),this._optionNotNull="NULL"===this.expression.operand||"NOT_NULL"===this.expression.operand)}componentDidRender(){this._showValueVariable=this._elValueVariable.value}updateFieldSelected(){const e={dataType:this.expression.type,description:this.expression.description,name:this.expression.fieldName,label:this.expression.fieldLabel,entityName:this.expression.entityName,onlyDate:!1,path:this.expression.description,properties:this.expressionPropsToFieldProps(this.expression.props),type:z.FIELD,uri:"",userInterface:this.expression.userInterface};this._fieldSelected=e}buildExpression(e,i,t){return t.length>0&&t.shift(),t.length>0?`${t.join("->")}->${i}`:`${e}.${i}`}setValueExpression(e,i){"fieldName"===e?(this.expression.description=i.path,this.expression.expression=this.buildExpression(i.entityName,i.name,i.entityPath),this.expression.fieldName=i.name,this.expression.fieldLabel=i.label,this.expression.type=i.dataType,this.expression.userInterface=i.userInterface,this.expression.entityName=i.entityName,this.expression.value=void 0,this.expression.props=this.fieldPropsToExpressionProps(i.properties)):this.expression[e]=i,this.expressionChanged(this.expression)}fieldPropsToExpressionProps(e){const i=[];if(!e)return i;for(const t in e){let s=e[t];"object"==typeof s&&(s=JSON.stringify(s)),i.push({name:t,value:s})}return i}expressionPropsToFieldProps(e){const i={};return e?(e.forEach((e=>{try{i[e.name]=JSON.parse(e.value)}catch(t){i[e.name]=e.value}})),i):i}getMessage(e,i){return this.application.messagesBuilder.getMessage(e,i)}handleSelectItem(e){if(e.name!==this.expression.fieldName){if(e.type===z.FIELD){const i=e;this._fieldSelected=i,this.setValueExpression("fieldName",i)}}else this._elFilterInput.value=e.path}handleFocus(){this._elFilterFieldSearch&&this._elFilterFieldSearch.show()}handleChangeFilterInput(e){this._elFilterFieldSearch.applyFilter(e.detail)}handleChangeValueVariable(e){this._showValueVariable=e,this._elFieldDynamic&&(this._elFieldDynamic.value=void 0,this._elFieldDynamic.enabled=!e),this.expression.paramVariable=e,this.expressionChanged(this.expression)}openSnkFilterParamConfig(){var e;null===(e=this._elFilterParamConfigRef)||void 0===e||e.open(this.expression).then(this.onOpenPromiseReady.bind(this)).catch((e=>{console.error(e)}))}onOpenPromiseReady(e){this.expression=e}buildOptionsOperator(){var e;return F.includes(null===(e=this._fieldSelected)||void 0===e?void 0:e.userInterface)?this.filterOperandTypeTextSearch:this.filterOperandDefault}handleChangeOperator(e){this.checkOptionIsNull(e),this.setValueExpression("operand",e)}checkOptionIsNull(e){[v.NULL,v.NOT_NULL].includes(v[e])?(this._optionNotNull=!0,this._elFieldDynamic&&(this._elFieldDynamic.enabled=!1,this._elFieldDynamic.value=void 0)):(this._optionNotNull=!1,this._elFieldDynamic&&(this._elFieldDynamic.enabled=!this._showValueVariable))}confirmRemove(e){e.preventDefault(),e.stopPropagation(),c.confirm(this.getMessage("snkPersonalizedFilter.confirmExpression.title"),this.getMessage("snkPersonalizedFilter.confirmExpression.description")).then((e=>{e&&this.ezFilterItemRemove.emit(this.expression)}))}buildFieldByType(){var e,i,s;if(!this._fieldSelected)return;const n=null===(e=p(this.configureFieldByType()))||void 0===e?void 0:e.i.shift();return(this._optionNotNull&&n||(null===(i=this._elValueVariable)||void 0===i?void 0:i.value)&&n||this.expression.paramVariable||this._showValueVariable||!(null===(s=this._fieldSelected)||void 0===s?void 0:s.dataType))&&(n.t.enabled=!1),this.expression.value&&(n.t.value=this.getExpressiontValue(this.expression)),n.t.onEzChange=e=>{this.setValueExpression("value",e.target.value)},"SWITCH"===this.expression.userInterface&&null==this.expression.value&&this.setValueExpression("value",!1),t(n.l,Object.assign(Object.assign({},n.t),{ref:e=>{this._elFieldDynamic=e},label:this.expression.fieldLabel||this._fieldSelected.label}))}getExpressiontValue(e){return _(e.type,e.value)}configureFieldByType(){var e,i;const t={userInterface:this._fieldSelected.userInterface,name:this._fieldSelected.name,label:this._fieldSelected.label,canShowError:!1};switch(t.userInterface){case a.OPTIONSELECTOR:t.props={options:null===(i=null===(e=this._fieldSelected)||void 0===e?void 0:e.properties)||void 0===i?void 0:i.options};break;case a.LONGTEXT:t.rows=1;break;case a.SEARCH:t.optionLoader=e=>this.setCriteriaSearch(e,this.application)}return t}setCriteriaSearch({mode:e,argument:i},t){var s,n;if(null==t)return;const a={entity:null===(n=null===(s=this._fieldSelected)||void 0===s?void 0:s.properties)||void 0===n?void 0:n.ENTITYNAME,searchOptions:{showInactives:!1},entityDescription:this._fieldSelected.description};return t.executePreparedSearch(e,i,a)}render(){var e;return t(s,null,t("div",{class:"dashes"}),t("div",{class:"box"},t("div",{class:"box__container"},t("div",{class:"box__container--input-filter"},t("ez-filter-input",Object.assign({ref:e=>this._elFilterInput=e,value:null===(e=this._fieldSelected)||void 0===e?void 0:e.path,label:this.getMessage("snkPersonalizedFilter.info.labelSearchField"),canShowError:!1,onEzChange:e=>this.handleChangeFilterInput(e),onFocus:()=>this.handleFocus()},{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`expressionFilterInput_${this.expression.fieldName||O}`})),t("snk-filter-field-search",{ref:e=>this._elFilterFieldSearch=e,searchable:!1,onEzSelectFilterItem:e=>this.handleSelectItem(e.detail),fieldsDataSource:this._dataSourceFetcher})),t("div",{class:"box__container--input-operator"},t("ez-combo-box",Object.assign({label:this.getMessage("snkPersonalizedFilter.info.labelOperator"),value:this.expression.operand,canShowError:!1,options:this.buildOptionsOperator(),onEzChange:e=>{var i;return this.handleChangeOperator(null===(i=e.detail)||void 0===i?void 0:i.value)},suppressEmptyOption:!0},{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`comboBoxOperand_${this.expression.fieldName||O}`}))),t("div",{class:"box__container--input-value"},this._fieldSelected?this.buildFieldByType():t("ez-number-input",{label:"Valor",canShowError:!1,enabled:!this._showValueVariable&&!this._optionNotNull})),t("div",{class:"box__container--input-value-variable",title:this.getMessage("snkPersonalizedFilter.info.titleTooltip")},!this._optionNotNull&&t("ez-check",{ref:e=>this._elValueVariable=e,value:this.expression.paramVariable,label:this.getMessage("snkPersonalizedFilter.info.labelValueVarible"),mode:u.SWITCH,onEzChange:e=>this.handleChangeValueVariable(e.detail)}),this._showValueVariable&&!this._optionNotNull&&t("ez-icon",Object.assign({class:"box__container--input-value-variable--icon",size:"large",iconName:"settings-inverted"},{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:"iconConfig"},{onClick:()=>this.openSnkFilterParamConfig()})),t("snk-filter-param-config",{ref:e=>this._elFilterParamConfigRef=e,messagesBuilder:this.messagesBuilder})),t("div",{class:"box__container--button-delete"},t("div",{class:"box__container--button-delete--icon"},t("ez-button",{mode:"icon",iconName:"delete",enabled:this.canRemove,label:this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"),onClick:e=>this.confirmRemove(e)}))))))}static get watchers(){return{expression:["expressionChanged"]}}};I.style=".sc-snk-expression-item-h{display:flex;width:100%;--snk-expression-item--background-color:var(--background--xlight, #fff);--snk-expression-item__itens--padding:var(--space--small, 6px);--snk-expression-item__width--input-operator:220px;--snk-expression-item__width--input-value:240px;--snk-expression-item__width--input-value-variable:176px;--snk-expression-item--border-radius:var(--border--radius-medium, 12px);--snk-expression-item--border-color:var(--color--strokes, #DCE0E8);--snk-expression-item--border-style:var(--border--small, 1px solid);--snk-expression-item__background-color-dashed:var(--background--body, #fafcff)}.box.sc-snk-expression-item{width:100%;height:56px;background:var(--snk-expression-item--background-color);border:var(--snk-expression-item--border-color) var(--snk-expression-item--border-style);border-radius:var(--snk-expression-item--border-radius)}.box__container.sc-snk-expression-item{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:var(--space--small, 6px)}.box__container--input-filter.sc-snk-expression-item{width:100%}.box__container--input-operator.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-operator);min-width:var(--snk-expression-item__width--input-operator)}.box__container--input-value.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value);min-width:var(--snk-expression-item__width--input-value)}.box__container--input-value-variable.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value-variable);min-width:var(--snk-expression-item__width--input-value-variable)}.box__container--button-delete.sc-snk-expression-item{display:flex}.box__container.sc-snk-expression-item>div.sc-snk-expression-item{padding-left:var(--snk-expression-item__itens--padding);padding-right:var(--snk-expression-item__itens--padding)}.box__container--button-delete--icon.sc-snk-expression-item{width:42px;min-width:42px}.box__container--input-value-variable--icon.sc-snk-expression-item{cursor:pointer}.dashes.sc-snk-expression-item{z-index:var(--more-visible, 2);background:var(--snk-expression-item__background-color-dashed);border-bottom:2px dashed var(--text-secondary, #A2ABB9);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:62px;margin-left:-15px;margin-top:-33.5px}";const S={[a.SHORTTEXT]:"text",[a.LONGTEXT]:"text",[a.INTEGERNUMBER]:"number",[a.DECIMALNUMBER]:"number",[a.DATE]:"calendar",[a.DATETIME]:"calendar",[a.SWITCH]:"boolean",[a.CHECKBOX]:"check-circle-inverted",[a.OPTIONSELECTOR]:"list",[a.SEARCH]:"search",[a.HTML]:"tag_code",[a.IMAGE]:"png",[a.FILE]:"edit-file",[a.TIME]:"timer-outline",[a.ELAPSEDTIME]:"timer",[a.MASKEDTEXT]:"text",[a.PASSWORD]:"email"},w=({userInterface:e,description:i})=>t("ez-icon",{iconName:S[e],class:"ez-padding-left--small",title:i}),N="__SNK__APPLICATION__",L=/\w+:\/\/(\w+)/,P=class{constructor(t){e(this,t),this.ezSelectFilterItem=i(this,"ezSelectFilterItem",7),this._filterMetadataStorage=new Map,this._currentMetadata=null,this._filterText="",this._isLoading=!1,this.searchable=!0,this.fieldsDataSource=void 0,this.breadcrumbItems=[],this.linkItems=[],this.fieldItems=[],this.searchEmpty=!1,this.groupEmpty=!1}async show(){var e;return null===(e=this._ezPopover)||void 0===e||e.show(),this.loadData()}async applyFilter(e){if(this.searchable)throw new Error("This method is not available when searchable is true");this.handleFilterChange(e)}async loadData(){var e,i;let t;this._isLoading=!0,null!=this._currentLink&&(t=this._filterMetadataStorage.get(this._currentLink.uri)),t||(t=await this.fieldsDataSource.fetchData(this._currentLink),this._currentLink=t.currentLink,this._filterMetadataStorage.set(this._currentLink.uri,t));const{fields:s,links:n}=t||{};if(!Array.isArray(s)||!Array.isArray(n))throw new Error("Invalid metadata");this._currentMetadata=t,this.mapDataSourceToLinkItems(),this.mapDataSourceToFieldItems(),this._isLoading=!1,null===(e=this._ezFieldList)||void 0===e||e.scrollToTop(),null===(i=this._ezLinkList)||void 0===i||i.scrollToTop()}mapDataSourceToLinkItems(){var e;const{links:i}=this._currentMetadata,t=this.getMessage("snkFilterFieldSearch.linkLabel",{link:null===(e=this._currentLink)||void 0===e?void 0:e.description}),s=i.map((e=>Object.assign({label:e.description},e)));this.groupEmpty=Boolean(0===s.length),this.linkItems=[{group:t,items:s}],0===this.breadcrumbItems.length&&(this.breadcrumbItems=[Object.assign({id:o.generateUUID(),label:this._currentLink.description},this._currentLink)])}mapDataSourceToFieldItems(){var e;const i=this._currentMetadata.fields,t=this.getMessage("snkFilterFieldSearch.fieldLabel",{link:null===(e=this._currentLink)||void 0===e?void 0:e.description}),s=i.filter((e=>{if(!this._currentLink)return!0;const i=e.description.toLowerCase().includes(this._filterText.toLowerCase()),t=e.name.toLowerCase().includes(this._filterText.toLowerCase());return i||t})).map((e=>Object.assign({label:e.description},e)));this.searchEmpty=Boolean(this._filterText&&0===s.length),this.fieldItems=[{group:t,items:s}]}handleFilterChange(e){this._isLoading||(this._filterText=e,this.mapDataSourceToFieldItems())}handleSelectLink({detail:e}){if(this._isLoading)return;const i=this.breadcrumbItems.findIndex((i=>i.id===e.id));e.cache=this._filterMetadataStorage.has(e.uri),this.breadcrumbItems=i>-1?this.breadcrumbItems.slice(0,i+1):[...this.breadcrumbItems,Object.assign({id:o.generateUUID(),label:e.description},e)];const t=Object.assign(Object.assign({},e),{type:z.LINK});this._currentLink=t,this.ezSelectFilterItem.emit(t),this.loadData()}getEntityFromBreadCrumbItem(e){const i=L.exec(e.uri);if(i)return i[1]}handleSelectField({detail:e}){var i;const t=this.breadcrumbItems.map((e=>e.label)).join(">>"),s=Object.assign(Object.assign({},e),{type:z.FIELD,entityPath:this.breadcrumbItems.map((e=>this.getEntityFromBreadCrumbItem(e))).filter((e=>null!=e)),path:`${t} >> ${e.description}`});this.ezSelectFilterItem.emit(s),null===(i=this._ezPopover)||void 0===i||i.hide()}getElementID(e){return{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:l.getInternalIDInfo(e)}}getMessage(e,i){var t,s,n;return this._application||(this._application=r.getContextValue(N)),null===(n=null===(s=null===(t=this._application)||void 0===t?void 0:t.messagesBuilder)||void 0===s?void 0:s.getMessage)||void 0===n?void 0:n.call(s,e,i)}componentWillLoad(){this._application=r.getContextValue(N)}componentDidLoad(){l.addIDInfoIfNotExists(this._ezPopover,"popover")}disconnectedCallback(){var e;this._filterMetadataStorage.clear(),null===(e=this._ezPopover)||void 0===e||e.hide()}render(){var e;const i=this.getMessage("snkFilterFieldSearch.searchLabel");return t("ez-popover",Object.assign({ref:e=>this._ezPopover=e,role:"dialog",overlayType:"none","aria-hidden":!(null===(e=this._ezPopover)||void 0===e?void 0:e.opened)},this.getElementID("EzPopover")),t("div",{class:"snk-filter-field-search__container"},t("header",{class:"snk-filter-field-search__header"},this.searchable&&!!i&&t("ez-filter-input",Object.assign({class:"snk-filter-field-search__input",label:i,asyncSearch:!0,canShowError:!1,onEzSearching:e=>this.handleFilterChange.bind(this)(e.detail),"aria-label":i,"aria-required":"false","aria-invalid":"false"},this.getElementID("EzFilterInput"))),this.breadcrumbItems.length>0&&t("ez-breadcrumb",Object.assign({items:this.breadcrumbItems,onSelectedItem:this.handleSelectLink.bind(this),role:"navigation","aria-current":"step"},this.getElementID("EzBreadcrumb"))),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"})),t("section",{class:`snk-filter-field-search__section ${this.groupEmpty&&this.searchEmpty&&" ez-margin--auto"}`},this.groupEmpty?t("div",{class:"ez-margin--auto"},t("span",{class:"ez-text ez-text--secondary ez-text--medium"},this.getMessage("snkFilterFieldSearch.groupEmpty"))):t("ez-list",Object.assign({ref:e=>this._ezLinkList=e,class:"snk-filter-field-search__list",id:"filterLinkList",useGroups:!0,dataSource:this.linkItems,onEzSelectItem:this.handleSelectLink.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:e=>t("ez-badge",{label:e.fieldCount}),"aria-describedby":"filterLinkLabel"},this.getElementID("EzListLinks"))),this.searchEmpty?t("div",{class:"ez-margin--auto"},t("span",{class:"ez-text ez-text--secondary ez-text--medium"},this.getMessage("snkFilterFieldSearch.searchEmpty"))):t("ez-list",Object.assign({ref:e=>this._ezFieldList=e,class:"snk-filter-field-search__list",id:"filterFieldList",useGroups:!0,dataSource:this.fieldItems,onEzSelectItem:this.handleSelectField.bind(this),hoverFeedback:!0,ezSelectable:!0,itemSlotBuilder:w,"aria-describedby":"filterFieldLabel"},this.getElementID("EzListFields"))))))}};P.style=".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";const j=class{constructor(i){e(this,i),this._opened=!1,this._configType=m.SYSTEM_CONFIG,this._expressionItem=void 0,this._informedInstance=!1,this._canSave=!1,this.messagesBuilder=void 0}open(e){return this._opened=!0,this._expressionItem=e,this.loadValues(),new Promise((e=>{this._promiseResolver=e}))}close(){return this._opened=!1,new Promise((e=>{this._promiseResolver=e}))}getMessage(e,i){var t;return null===(t=this.messagesBuilder)||void 0===t?void 0:t.getMessage(e,i)}getConfigValue(e,i,t=""){var s,n,a;return(null===(n=null===(s=this._expressionItem)||void 0===s?void 0:s[e])||void 0===n?void 0:n[i])||(null===(a=this._expressionItem)||void 0===a?void 0:a[t||i])}loadValues(){var e;const i=this.getConfigValue("systemConfig","entity","entityName"),t=this.getConfigValue("systemConfig","fieldName"),s=this.getConfigValue("userConfig","description"),n=this.getConfigValue("userConfig","type");this._configType=null!=(null===(e=this._expressionItem)||void 0===e?void 0:e.userConfig)?m.USER_CONFIG:m.SYSTEM_CONFIG,h.isEmpty(i)||h.isEmpty(t)||(this._instanceElement.value={value:i,label:""},this._fieldElement.value={value:t,label:""}),h.isEmpty(s)||h.isEmpty(n)||(this._descriptionElement.value=s,this._typeElement.value=n),this.buildFilterExpression()}changeDefinitionUsed(e){if(this._configType=null!=e?e:m.SYSTEM_CONFIG,this._configType===m.SYSTEM_CONFIG){const e=this.getConfigValue("systemConfig","entity","entityName"),i=this.getConfigValue("systemConfig","fieldName");this._instanceElement.value=this._instanceElement.value||{value:e,label:""},this._fieldElement.value=this._fieldElement.value||{value:i,label:""}}else if(this._configType===m.USER_CONFIG){const e=this.getConfigValue("userConfig","description"),i=this.getConfigValue("userConfig","type");this._descriptionElement.value=this._descriptionElement.value||e,this._typeElement.value=this._typeElement.value||i}this.buildFilterExpression()}getTypeValue(){var e;const i=null===(e=this._typeElement)||void 0===e?void 0:e.value;return(null==i?void 0:i.value)||i}getExpressionValues(){var e,i,t,s,n;let a,r;return this._configType===m.SYSTEM_CONFIG?a={entity:null===(i=null===(e=this._instanceElement)||void 0===e?void 0:e.value)||void 0===i?void 0:i.value,fieldName:null===(s=null===(t=this._fieldElement)||void 0===t?void 0:t.value)||void 0===s?void 0:s.value}:this._configType===m.USER_CONFIG&&(r={description:null===(n=this._descriptionElement)||void 0===n?void 0:n.value,type:this.getTypeValue()}),Object.assign(Object.assign(Object.assign({},this._expressionItem),{systemConfig:a}),{userConfig:r})}isEnabled(e){return this._configType===e}isInformedInstance(){var e,i;return!h.isEmpty(null===(i=null===(e=this._instanceElement)||void 0===e?void 0:e.value)||void 0===i?void 0:i.value)}save(){var e;this._expressionItem=Object.assign(Object.assign({},this.getExpressionValues()),{expression:null===(e=this._expressionElement)||void 0===e?void 0:e.value}),this._promiseResolver(this._expressionItem),this._opened=!1}buildFilterExpression(){var e;this._informedInstance=this.isInformedInstance();const i=k.buildFilterExpression(this.getExpressionValues());this._expressionElement.value=i||(null===(e=this._expressionItem)||void 0===e?void 0:e.expression),this._canSave=this.getCanSave()}handleChangeInstance(){this._informedInstance=this.isInformedInstance(),null==this._fieldElement||h.isEmpty(this._fieldElement.value)||(this._fieldElement.value=null),this.buildFilterExpression()}getInstanceCriteria(){var e,i;const t=null===(i=null===(e=this._instanceElement)||void 0===e?void 0:e.value)||void 0===i?void 0:i.value;return{expression:"this.NOMETAB = (SELECT NOMETAB FROM TDDINS WHERE NOMEINSTANCIA = ?)",params:[{name:"NOMEINSTANCIA",dataType:d.TEXT,value:t}]}}onSearch({mode:e,argument:i},t){if(null==this._application||!this._opened)return;const s=t===b.FIELD,n=s?this.getInstanceCriteria():void 0,a={entity:t,entityDescription:this.getMessage("snkFilterParamConfig.label"+(s?"Field":"Instance")),criteria:n,searchOptions:{descriptionFieldName:s?"DESCRCAMPO":"DESCRINSTANCIA",codeFieldName:s?"NOMECAMPO":"NOMEINSTANCIA",showInactives:!1}};return new Promise((t=>{this._application.executePreparedSearch(e,i,a).then((e=>t(e)))}))}getElementID(e){return{[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:l.getInternalIDInfo(e)}}getCanSave(){var e;if(this._configType===m.USER_CONFIG){const i=null===(e=this._descriptionElement)||void 0===e?void 0:e.value,t=this.getTypeValue();return!h.isEmpty(i)&&!h.isEmpty(t)}return!0}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__")}render(){return l.addIDInfoIfNotExists(this._element,"snkFilterParamConfig"),t("ez-popup",Object.assign({useHeader:!1,size:"small",heightMode:"auto",opened:this._opened},this.getElementID("popup")),t("ez-modal-container",Object.assign({onEzModalAction:e=>{e.detail===x.CLOSE&&this.close()},modalTitle:this.getMessage("snkFilterParamConfig.modalTitle")},this.getElementID("modalContainer")),t("div",{class:"ez-flex"},t("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},t("ez-radio-button",Object.assign({value:this._configType,onEzChange:e=>this.changeDefinitionUsed(e.detail)},this.getElementID("systemConfigOption")),t("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelSystemConfig"),value:m.SYSTEM_CONFIG})),t("ez-search",Object.assign({ref:e=>this._instanceElement=e,label:this.getMessage("snkFilterParamConfig.labelInstance"),enabled:this.isEnabled(m.SYSTEM_CONFIG),suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.handleChangeInstance(),optionLoader:e=>this.onSearch(e,b.INSTANCE)},this.getElementID("configFindEntity"))),t("ez-search",Object.assign({ref:e=>this._fieldElement=e,label:this.getMessage("snkFilterParamConfig.labelField"),enabled:this.isEnabled(m.SYSTEM_CONFIG)&&this._informedInstance,suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,onEzChange:()=>this.buildFilterExpression(),optionLoader:e=>this.onSearch(e,b.FIELD)},this.getElementID("configFindField")))),t("div",{class:"ez-flex ez-padding--medium"},t("hr",{class:"ez-divider-vertical"})),t("div",{class:"ez-col ez-col--sd-6 ez-flex--column"},t("ez-radio-button",Object.assign({value:this._configType,onEzChange:e=>this.changeDefinitionUsed(e.detail)},this.getElementID("userConfigOption")),t("ez-radio-button-option",{label:this.getMessage("snkFilterParamConfig.labelUserConfig"),value:m.USER_CONFIG})),t("ez-text-input",Object.assign({ref:e=>this._descriptionElement=e,label:this.getMessage("snkFilterParamConfig.labelDescription"),enabled:this.isEnabled(m.USER_CONFIG),onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamLabel"))),t("ez-combo-box",Object.assign({ref:e=>this._typeElement=e,label:this.getMessage("snkFilterParamConfig.labelType"),enabled:this.isEnabled(m.USER_CONFIG),suppressEmptyOption:!0,onEzChange:()=>this.buildFilterExpression()},this.getElementID("configParamType")),Object.keys(f).map((e=>t("option",{value:f[e]},this.getMessage(`snkFilterParamConfig.labelTypeValues.${e.toLowerCase()}`))))))),t("ez-text-area",Object.assign({ref:e=>this._expressionElement=e,class:"snk-filter-param-config__expression",label:this.getMessage("snkFilterParamConfig.labelExpression"),enabled:!1},this.getElementID("presentationExpression"))),t("div",{class:"ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small"},t("ez-button",Object.assign({class:"ez-padding-right--medium",label:this.getMessage("snkFilterParamConfig.labelCancel"),onClick:()=>this.close()},this.getElementID("cancelEditParam"))),t("ez-button",Object.assign({class:"ez-button--primary",label:this.getMessage("snkFilterParamConfig.labelSave"),onClick:()=>this.save(),enabled:this._canSave},this.getElementID("saveEditParam"))))))}get _element(){return n(this)}};j.style=":host{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";export{I as snk_expression_item,P as snk_filter_field_search,j as snk_filter_param_config}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{r as t,h as i,H as e,g as r}from"./p-066ee142.js";import{DataType as s,ObjectUtils as n,ElementIDUtils as o,ErrorException as a,ApplicationContext as l}from"@sankhyalabs/core";import{EzScrollDirection as d}from"@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection";import{C as h}from"./p-801b8858.js";import{toString as c}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";import{F as f}from"./p-584d7212.js";import{F as u}from"./p-eb90de43.js";import{ApplicationUtils as p}from"@sankhyalabs/ezui/dist/collection/utils";import{P as m}from"./p-36ecb6ab.js";import"./p-2ea933b2.js";import"./p-41d92871.js";import"./p-112455b1.js";import"./p-79f78e10.js";import"./p-3d45107f.js";class b{constructor({filterConfig:t,configName:i,onComplete:e,getMessage:r,onAddPersonalizedFilter:s,onEditPersonalizedFilter:n}){this._filterConfig=t,this._configName=i,this._onComplete=e,this._getMessage=r,this._addPersonalizedFilterFn=s,this._editPersonalizedFilterFn=n}applyFilters(t){this._onComplete(t),this._closeModal()}clearAll(t){return t.map((t=>{const i=Object.assign({},t);return delete i.value,t.type===f.PERSONALIZED&&(i.visible=!1),i.groupedItems&&(i.groupedItems=this.clearAll(i.groupedItems)),i}))}buildFilterModal(){const t=document.createElement("snk-filter-modal");return t.className="ez-size-height--full",t.filters=this._filterConfig,t.configName=this._configName,t.getMessage=this._getMessage.bind(this),t.applyFilters=this.applyFilters.bind(this),t.closeModal=()=>this._closeModal(),t.addPersonalizedFilter=()=>this._addPersonalizedFilterFn(),t.editPersonalizedFilter=t=>this._editPersonalizedFilterFn(t),t}async showModal(){const t={content:this.buildFilterModal(),position:"left",heightMode:"full",closeOutsideClick:!1,useScrimLight:!0};this._closeModal=await p.showModal(t)}async closeModal(){this._closeModal()}}const v=class{constructor(i){t(this,i),this._updateSequence=[],this._loadingPending=!1,this._configUpdated=!1,this._pendingVariables=!1,this._customfiltersToBeUpdated=[],this._calculateSortIndex=t=>{let i=t.hardFixed?1e6:0;return t.hardFixed||(i+=t.fixed?1e5:0,i+=null==t.value?0:1e4,i+=this._updateSequence.lastIndexOf(t.id)+1),i},this._filtersComparator=(t,i)=>this._calculateSortIndex(i)-this._calculateSortIndex(t),this.dataUnit=void 0,this.configName=void 0,this.filterConfig=void 0,this.messagesBuilder=void 0,this.allowDefault=void 0,this.scrollerLocked=!1,this.showPersonalizedFilter=!1,this.personalizedFilterId=void 0}observeFilterConfig(t,i){if(null!=i&&null==t)this._loadingPending=!0,this._configUpdated=!0;else{const e=new Map(i?i.map((t=>[t.id,t])):void 0);0===e.size&&t.length>0?(this._loadingPending=!0,this._configUpdated=!1):t.forEach((t=>{const i=e.get(t.id);if(null!=i){if(this._configUpdated=this._configUpdated||n.objectToString(i)!=n.objectToString(t),this._loadingPending=this._loadingPending||n.objectToString(i.value)!==n.objectToString(t.value),!this._loadingPending){const e=n.objectToString(i.groupedItems)!=n.objectToString(t.groupedItems);this._configUpdated=this._configUpdated||e,this._loadingPending=this._loadingPending||e}}else this._configUpdated=!0,this._loadingPending=this._loadingPending||null!=t.value}))}this.processAfterUpdateConfig()}async reload(){this.loadConfigFromStorage()}componentDidLoad(){this._element&&o.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}processPendingFilter(){if(this._pendingVariables){const t=this._element.querySelector("#filter-PERSONALIZED_FILTER_GROUP");t&&t.showUp(!0).then((()=>{this.processAfterUpdateConfig()}))}else this.processAfterUpdateConfig()}async processAfterUpdateConfig(){if(this._loadingPending){const t=this.filterConfig.find((t=>{if(t.type===f.PERSONALIZED)return!0}));if(this._pendingVariables=!m.validateVariableValues(t),this._pendingVariables)return;this._loadingPending=!1,this.dataUnit.loadData()}this._configUpdated&&(this._configUpdated=!1,h.saveFilterBarConfig(this.filterConfig,this.configName))}getMessage(t,i,e){var r;return(null===(r=this.messagesBuilder)||void 0===r?void 0:r.getMessage(t,i))||e}getFilter(t){var i;const e=[];return null===(i=this.filterConfig)||void 0===i||i.filter((t=>this.isActiveFilter(t))).forEach((t=>{const i=(t=>{switch(t.type){case f.DEFAULT_FILTER:return function(t){return{name:t.id,expression:t.props.expression,params:[]}}(t);case f.BINARY_SELECT:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.options.find((t=>t.name===e)).expression,params:[]}}(t);case f.MULTI_LIST:return function(t){const{id:i,value:e,props:r}=t,n=(null!==(l=null!==(a=null==(o=e)?void 0:o.elements)&&void 0!==a?a:null==o?void 0:o.members)&&void 0!==l?l:o).filter((t=>null==t?void 0:t.check)).map((({id:t})=>Number.isNaN(+t)?String(t):Number(t)));var o,a,l;if(n.length>0)return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:JSON.stringify(n)}]}}(t);case f.PERIOD:return function(t){const{id:i,value:e,props:r}=t;let{end:n,start:o}=e;"string"==typeof n&&(n=new Date(n)),"string"==typeof o&&(o=new Date(o));const a=[];let l;return n&&o?(l=r.expression.fullfill,a.push({name:`${i}.START`,dataType:s.DATE,value:c(s.DATE,o)},{name:`${i}.END`,dataType:s.DATE,value:c(s.DATE,n)})):o?(l=r.expression.onlystart,a.push({name:i,dataType:s.DATE,value:c(s.DATE,o)})):(l=r.expression.onlyend,a.push({name:i,dataType:s.DATE,value:c(s.DATE,n)})),{name:i,expression:l,params:a}}(t);case f.SEARCH:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:c(s.TEXT,e.value)}]}}(t);case f.TEXT:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:c(s.TEXT,e)}]}}(t);case f.NUMBER:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.NUMBER,value:c(s.NUMBER,e)}]}}(t);case f.PERSONALIZED:return function(t){const{id:i,groupedItems:e=[]}=t,r=e.filter((t=>!!t.visible)).map((t=>{var i;const e=t.props.expression,r=((null===(i=t.props.personalizedFilter)||void 0===i?void 0:i.parameters)||[]).map(((i,e)=>{const r=Array.from(t.value||0),n=i.dataType;let o=e>=0&&e<r.length?r[e]:null;return null!=o&&"object"==typeof o&&"value"in o&&(o=o.value),null==o&&n===s.BOOLEAN&&(o=!1),{name:i.name,dataType:n,value:"string"==typeof o?o:c(n,o)}}));return{expression:e,name:t.id,params:r}}));return{name:i,expression:r.map((t=>`(${t.expression})`)).join(` ${u.AND} `),params:r.flatMap((t=>t.params))}}(t);default:return}})(t);i&&e.push(i)})),e}isActiveFilter(t){return t.type===f.DEFAULT_FILTER||t.visible&&(t.groupedItems||null!=t.value)}registryFilterProvider(){this.dataUnit.addFilterProvider(this),this.filterConfig&&this.dataUnit.loadData()}itemFocused(t){this._element.querySelectorAll("snk-filter-item,snk-filter-list").forEach((i=>{i.id===t?"snk-filter-item"===i.tagName.toLowerCase()&&i.getClientRects()[0].x<0&&i.scrollIntoView({behavior:"auto",inline:"nearest"}):i.hideDetail()}))}filterActiveFilter(t){return t.visible||t.removalBlocked}getFilterItems(){const t=[],e=[];this.filterConfig.filter(this.filterActiveFilter).forEach(((r,s)=>{const o=`filter-${(r=n.copy(r)).id}`,a=i("snk-filter-item",{onVisibleChanged:t=>this.scrollerLocked=t.detail,onFocusin:()=>this.itemFocused(o),id:o,config:r,class:s>0?"ez-padding-left--medium":"",getMessage:(t,i)=>this.getMessage(t,i),key:r.id});return r.fixed||r.hardFixed?t.push(a):e.push(a),a}));const r=[];return r.push(...t),t.length>0&&e.length>0&&r.push(i("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-filter-bar__divider"})),r.push(...e),r}calculateUpdateSequence(t){t&&(this._updateSequence=this._updateSequence.filter((i=>t.id!==i)),this._updateSequence.push(t.id))}normalizeItem(t){const i=Object.assign({},t);return["props","value","hardFixed","fixed"].forEach((t=>{null==i[t]&&delete i[t]})),""===t.value&&delete t.value,i}updateFilter(t){this.filterConfig=this.filterConfig.map((i=>(t=this.normalizeItem(t),i.id===t.id?(n.objectToString(i)!=n.objectToString(t)&&this.calculateUpdateSequence(t),t):i))).sort(((t,i)=>this._filtersComparator(t,i)))}loadPermitions(){this._application.isUserSup().then((t=>this.allowDefault=t))}loadConfigFromStorage(){return new Promise((t=>{h.get().then((i=>{i.loadFilterBarConfig(this.configName).then((i=>{t(),this.filterConfig=i.map((t=>this.normalizeItem(t)))})).catch((t=>{throw new a(this.getMessage("snkFilterBar.failToLoadConfig"),t)}))}))}))}attachDataUnit(){if(null==this.dataUnit){let t=this._element.parentElement;for(;t;)if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){const i=t;this.dataUnit=i.dataUnit,this.dataUnit?this.registryFilterProvider():i.addEventListener("dataUnitReady",(t=>{this.dataUnit=t.detail,this.registryFilterProvider()}));break}t=t.parentElement}else this.registryFilterProvider()}filterChangeListener(t){this.updateFilter(t.detail)}async showFilterModal(){const t={filterConfig:n.copy(this.filterConfig),configName:this.configName,onComplete:t=>{this.filterConfig=t.map(this.normalizeItem).sort(((t,i)=>this._filtersComparator(t,i)))},getMessage:(t,i)=>this.getMessage(t,i),onAddPersonalizedFilter:()=>this.addPersonalizedFilter(),onEditPersonalizedFilter:t=>this.editPersonalizedFilter(t)};this._filterModalFactory=new b(t),await this._filterModalFactory.showModal()}addPersonalizedFilter(){this._filterModalFactory.closeModal(),this.personalizedFilterId=void 0,this.showPersonalizedFilter=!0,window.requestAnimationFrame((()=>{this._elPersonalizedFilter.createPersonalizedFilter()}))}editPersonalizedFilter(t){this._filterModalFactory.closeModal(),this.showPersonalizedFilter=!0,this.personalizedFilterId=t}hidePersonalizedFilter(){this.loadConfigFromStorage().then((()=>{this.personalizedFilterId=void 0,this.showPersonalizedFilter=!1}))}componentWillLoad(){this._application=l.getContextValue("__SNK__APPLICATION__"),this._application&&(this.loadPermitions(),this.loadConfigFromStorage()),this.attachDataUnit()}componentDidRender(){this.processPendingFilter()}render(){if(this.dataUnit&&this.filterConfig&&0!==this.filterConfig.length)return this.showPersonalizedFilter?i("snk-personalized-filter",{class:"filter-bar__personalized-filter",filterId:this.personalizedFilterId,ref:t=>this._elPersonalizedFilter=t,onEzCancel:()=>this.hidePersonalizedFilter(),entityUri:this.dataUnit.name,configName:this.configName}):i(e,null,i("ez-scroller",{direction:d.HORIZONTAL,activeShadow:!0,locked:this.scrollerLocked},this.getFilterItems()),i("ez-button",{class:"ez-padding-left--medium",size:"small",label:this.getMessage("snkFilterBar.filters",void 0,"Filtros"),onClick:this.showFilterModal.bind(this)},i("ez-icon",{slot:"leftIcon",iconName:"plus",class:"ez-padding-right--small"})))}get _element(){return r(this)}static get watchers(){return{filterConfig:["observeFilterConfig"]}}};v.style='.sc-snk-filter-bar-h{display:grid;grid-template-columns:minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--more-visible, 2);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;z-index:var(--most-visible, 3);background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:"";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}';export{v as snk_filter_bar}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{r as i,h as t}from"./p-066ee142.js";import{ModalAction as e}from"@sankhyalabs/ezui/dist/collection/components/ez-modal-container";import{ApplicationUtils as s}from"@sankhyalabs/ezui/dist/collection/utils";import{F as l}from"./p-d9804798.js";import{F as o}from"./p-584d7212.js";import{ObjectUtils as a}from"@sankhyalabs/core";import{P as r}from"./p-36ecb6ab.js";import"./p-eb90de43.js";const n=class{constructor(t){i(this,t),this.getMessage=void 0,this.configName=void 0,this.filters=void 0,this.applyFilters=void 0,this.clearAll=void 0,this.closeModal=void 0,this.addPersonalizedFilter=void 0,this.editPersonalizedFilter=void 0}getCustomMessage(i,t){var e;return null===(e=this.getMessage)||void 0===e?void 0:e.call(this,`snkFilterBar.filterModal.${i}`,t)}handleClearAll(){const i=this.filters.filter((i=>i.filterType===l.QUICK_FILTER)),t=this.filters.filter((i=>i.filterType===l.OTHER_FILTERS));this.handleClearFilterList(i),t.forEach(this.handleClearSigleFilter.bind(this)),this.clearAll&&(this.filters=this.clearAll(this.filters))}handleClose(){if(JSON.stringify(this.filters)!==JSON.stringify(this._originalFilterConfig))return s.confirm(this.getCustomMessage("validations.notSaved.title"),this.getCustomMessage("validations.notSaved.message")).then((i=>{i&&this.closeModal()}));this.closeModal()}validatePersonalizedFilter(){const i=this.filters.find((i=>i.filterType===l.CUSTOM_FILTER));if(!r.validateVariableValues(i))return s.alert(this.getCustomMessage("validations.notFullFilled.title"),this.getCustomMessage("validations.notFullFilled.message"));this.applyFilters(this.filters)}modalActionListener(i){switch(i.detail){case e.CANCEL:this.handleClearAll();break;case e.OK:this.validatePersonalizedFilter();break;case e.CLOSE:this.handleClose()}}handleFilterChange(i){this.filters=this.filters.map((t=>t.id===i.id?i:t))}handleClearFilterList(i){this.filters=this.filters.map((t=>i.includes(t)?Object.assign(Object.assign({},t),{value:o.MULTI_LIST===t.type?this.uncheckFilterValues(t.value):void 0}):t))}handleClearSigleFilter(i){if(o.MULTI_LIST===i.type){let t=a.copy(i);this.uncheckFilterValues(t.value);const e=a.copy(this.filters),s=e.findIndex((t=>t.id===i.id));e.splice(s,1,t),this.filters=a.copy(e)}else this.filters.find((t=>t.id===i.id)).value=void 0}uncheckFilterValues(i){return i.forEach((i=>{i&&(i.check=!1)})),i}renderFilterItem(i,e){return t("snk-filter-modal-item",{class:e?"ez-col ez-col--sd-12":"ez-col ez-col--sd-6 ez-padding--small",filterItem:i,configName:this.configName,onFilterChange:i=>this.handleFilterChange(i.detail),onEditPersonalizedFilter:i=>this.editPersonalizedFilter(i.detail),onAddPersonalizedFilter:()=>this.addPersonalizedFilter()})}mountFiltersLines(i){let t=0,e=!1;const s={};for(let l=0;l<i.length;l++){s[t]=s[t]||[];const a=i[l],r=l===i.length-1,n=[o.TEXT,o.NUMBER].includes(a.type),d=!r&&[o.TEXT,o.NUMBER].includes(i[l+1].type);n&&d||e?(s[t].push(a),e=s[t].length<2,2===s[t].length&&++t):(s[t]=s[t]||[],s[t].push(a),++t)}return Object.values(s)}renderFilterLine(i){const t=1===i.length;return i.map((i=>this.renderFilterItem(i,t)))}getIformedFiltersCount(i){let t=0;return i.forEach((i=>{var e,s,l,a,r;o.MULTI_LIST!==i.type?null==i.groupedItems?i.value&&t++:t=i.groupedItems.filter((i=>i.visible)).length:t+=null!==(r=null===(a=null===(l=null!==(s=null===(e=i.value)||void 0===e?void 0:e.elements)&&void 0!==s?s:i.value)||void 0===l?void 0:l.filter((i=>null==i?void 0:i.check)))||void 0===a?void 0:a.length)&&void 0!==r?r:0})),t}renderCollapsibleFilterBox(i,e,s,l=!0){if(!e.length)return null;const o=this.getIformedFiltersCount(e),a=this.mountFiltersLines(e);return t("ez-collapsible-box",{class:"snk-filter-modal__collapsible-box",headerSize:"medium",value:!0,label:i},!!o&&t("ez-badge",{class:"ez-badge--primary-subtle",slot:"rightSlot",label:null==o?void 0:o.toString()}),t("div",{class:"ez-row snk-filter-modal__rendered-items"},a.map(this.renderFilterLine.bind(this))),l&&t("div",{class:"ez-flex ez-flex--justify-end grow"},t("ez-button",{class:"ez-button--tertiary",size:"medium",label:"Limpar",onClick:()=>s?this.handleClearSigleFilter(e[0]):this.handleClearFilterList(e)})))}componentWillRender(){this._modalTitle=this.getCustomMessage("title"),this._okButtonLabel=this.getCustomMessage("okButtonLabel"),this._cancelButtonLabel=this.getCustomMessage("cancelButtonLabel")}componentDidLoad(){this._originalFilterConfig||(this._originalFilterConfig=this.filters)}render(){const i=this.filters.filter((i=>i.filterType===l.CUSTOM_FILTER)),e=this.filters.filter((i=>i.filterType===l.QUICK_FILTER)),s=this.filters.filter((i=>i.filterType===l.OTHER_FILTERS));return t("ez-modal-container",{class:"snk-filter-modal__container",modalTitle:this._modalTitle,cancelButtonLabel:this._cancelButtonLabel,okButtonLabel:this._okButtonLabel,onEzModalAction:this.modalActionListener.bind(this)},t("div",{class:"snk-filter-modal__content ez-col--sd-12"},this.renderCollapsibleFilterBox(this.getCustomMessage("customFilters"),i,!1,!1),this.renderCollapsibleFilterBox(this.getCustomMessage("quickFilters"),e,!1),s.map((i=>this.renderCollapsibleFilterBox(i.label,[i],!0)))))}};n.style="ez-modal{--ez-modal-content-padding:24px 12px}.snk-filter-modal__container{width:344px;max-width:344px;min-width:344px;overflow:hidden}.snk-filter-modal__content{display:flex;flex-direction:column;gap:var(--space--medium, 12px);padding-right:var(--space--3xs, 4px)}.snk-filter-modal__collapsible-box{border:var(--border--small, 1px solid) var(--color--strokes, #DCE0E8);border-radius:var(--border--radius-medium);padding:var(--space--medium, 12px) var(--space--small, 6px)}.snk-filter-modal__rendered-items{max-height:760px;overflow-x:clip;overflow-y:auto}.snk-filter-modal__rendered-items::-webkit-scrollbar{width:var(--space--small);min-width:var(--space--small);max-width:var(--space--small)}";export{n as snk_filter_modal}
|