{"version":3,"file":"grid-filters-persistence.service.js","sourceRoot":"","sources":["../../../Scripts/commons/grid-filters-persistence.service.ts"],"names":[],"mappings":"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","sourcesContent":["namespace Seac.Services {\r\n\t/** Identificativo e valore del filtro */\r\n\tinterface FilterIdentifierData {\r\n\t\tgridInternalId\t\t: string,\r\n\t\tfiltersIdentifier\t: string,\r\n\t\tfilters\t\t\t\t: GridFilters\r\n\t}\r\n\r\n\tclass GridFilterPersistenceService {\r\n\t\tpublic gridFiltersSuffix : string = 'gridFilters_';\r\n\t\t/** Nome dell'attributo in cui è salvato il valore originale */\r\n\t\tprivate _originalValueDataAttributeName: string = 'persistence-original-value';\r\n\t\t/** Chiave egenerica nel caso in cui non sia selezionata un'impresa */\r\n\t\tprivate _genericImpresa: string = 'generic';\r\n\t\t/** Chiave egenerica nel caso in cui non sia selezionata un ufficio */\r\n\t\tprivate _genericUfficio: string = 'generic';\r\n\r\n\t\t/**\r\n\t\t * Legge i valori degli elementi marcati con la classe `filter-control` o `seac-dx-page-selector-select` nel localStorage\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri\r\n\t\t * @returns Filtri letti per la pagina\r\n\t\t */\r\n\t\tpublic readFilterControlsValue(gridId: string): Array {\r\n\t\t\tconst gridFiltersValueList: Array = [];\r\n\r\n\t\t\t$(`.filter-control, .seac-dx-page-selector-select`).each((index: number, element: HTMLElement) => {\r\n\t\t\t\tif (!element.id && !$(element).hasClass('seac-dx-page-selector-select')) {\r\n\t\t\t\t\tconsole.error(`Nessun Id impostato per l\\'input del filtro da salvare ${$(element).attr(Seac.Commons.Constants.elementName)}`);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t// Se l'elemento non ha un id, do per scontato che sia un PageSelctor\r\n\t\t\t\tconst elementIdentifier: string = !$(element).hasClass('seac-dx-page-selector-select') ? element.id : 'seac-dx-page-selector-select';\r\n\t\t\t\tlet value: any;\r\n\t\t\t\t// Ricavo il valore dell'elemento in base al tipo del controllo\r\n\t\t\t\tif (element.tagName === Seac.Commons.Constants.inputElement.toUpperCase() || element.tagName === Seac.Commons.Constants.selectElement.toUpperCase()) {\r\n\t\t\t\t\tif ($(element).attr('type') === 'checkbox') {\r\n\t\t\t\t\t\tvalue = $(element).is(`:${Seac.Commons.Constants.checked}`);\r\n\t\t\t\t\t}else {\r\n\t\t\t\t\t\tvalue = $(element).val();\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-selectbox')) {\r\n\t\t\t\t\tconst selectBoxInstance: DevExpress.ui.dxSelectBox = $(element).dxSelectBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\tvalue = selectBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-dropdownbox')) {\r\n\t\t\t\t\tconst dropdownBoxInstance: DevExpress.ui.dxDropDownBox = $(element).dxDropDownBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\tvalue = dropdownBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-datebox')) {\r\n\t\t\t\t\tconst dateBoxInstance: DevExpress.ui.dxDateBox = $(element).dxDateBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\tvalue = dateBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-switch')) {\r\n\t\t\t\t\tconst switchInstance: DevExpress.ui.dxSwitch = $(element).dxSwitch(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\tvalue = switchInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-numberbox')) {\r\n\t\t\t\t\tconst numberBoxInstance: DevExpress.ui.dxNumberBox = $(element).dxNumberBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\tvalue = numberBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-textbox')) {\r\n\t\t\t\t\tconst textBoxInstance: DevExpress.ui.dxTextBox = $(element).dxTextBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\tvalue = textBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t}\r\n\r\n\t\t\t//\t// Elimino (se presente) il valore corrente dai filtri salvati\r\n\t\t\t//\tlet currentControlIndex: number = this.findFilterIndex(gridFilters, internalGridId, elementIdentifier);\r\n\t\t\t//\tif (currentControlIndex > -1) {\r\n\t\t\t//\t\tgridFilters[internalGridId].splice(currentControlIndex, 1);\r\n\t\t\t//\t}\r\n\r\n\t\t\t\t// Se è stato settato un valore lo salvo\r\n\t\t\t\tif ((value !== null) && (value !== undefined)) {\r\n\t\t\t\t\tgridFiltersValueList.push( { [elementIdentifier] : value });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn gridFiltersValueList;\r\n\t\t}\r\n\r\n\t\t/** Identificativo del filtro per 'gridId' e valore dei filtri dell'impresa */\r\n\t\tprivate filterIdentifierData(gridId: string, ignoreImpresa: boolean, isPerPagina: boolean): FilterIdentifierData {\r\n\t\t\tlet selectedImpresa: string = this._genericImpresa;\r\n\t\t\tlet selectedUfficio: string = this._genericUfficio;\r\n\t\t\t// Se l'impresa fa riferimento, leggo i suoi valori\r\n\t\t\tif (!ignoreImpresa) {\r\n\t\t\t\tconst cookieImpresa: string = Cookies.get(Seac.Commons.ServerConstants.Constants.COOKIE_IMPRESA_ID);\r\n\t\t\t\tif (cookieImpresa) {\r\n\t\t\t\t\tselectedImpresa = cookieImpresa;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst cookieUfficio: string = Cookies.get(Seac.Commons.ServerConstants.Constants.COOKIE_UFFICIO_BASE_ID);\r\n\t\t\t\tif (cookieUfficio) {\r\n\t\t\t\t\tselectedUfficio = cookieUfficio;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst gridFiltersIdentifier: string = `${this.gridFiltersSuffix}${selectedImpresa}_${selectedUfficio}`;\r\n\t\t\t// Recupero il valore dei filtri dal localStorage\r\n\t\t\tconst gridFilters: GridFilters = JSON.parse(localStorage.getItem(gridFiltersIdentifier)) || {};\r\n\t\t\t// Metto la prima parte dell'url nell'identificativo, in modo da prevenire il fatto che ci possano essere due griglie con lo stesso nome\r\n\t\t\tconst internalGridId: string = isPerPagina\r\n\t\t\t\t? `${window.location.pathname.replace(/\\//g, '')}_${gridId}`\r\n\t\t\t\t: gridId\r\n\t\t\t;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tgridInternalId\t\t: internalGridId,\r\n\t\t\t\tfiltersIdentifier\t: gridFiltersIdentifier,\r\n\t\t\t\tfilters\t\t\t\t: gridFilters\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Salva i valori degli elementi marcati con la classe `filter-control` o `seac-dx-page-selector-select` nel localStorage\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri\r\n\t\t * @param ignoreImpresa Indica se salvare il filtro come generico, anziché assegnato all'impresa corrente\r\n\t\t * @returns Filtri salvati per la pagina\r\n\t\t */\r\n\t\tpublic saveFilterControlsValue(gridId: string, ignoreImpresa: boolean): Array {\r\n\t\t\tconst filterIdentifier = this.filterIdentifierData(gridId, ignoreImpresa, /*isPerPagina*/true);\r\n\t\t\t// Leggo i valori del filtro in pagina\r\n\t\t\tconst gridFiltersValueList: Array = this.readFilterControlsValue(gridId);\r\n\t\t\tfilterIdentifier.filters[filterIdentifier.gridInternalId] = gridFiltersValueList;\r\n\r\n\t\t\t// Salvo i filtri nel localStorage\r\n\t\t\tlocalStorage.setItem(filterIdentifier.filtersIdentifier, JSON.stringify(filterIdentifier.filters));\r\n\r\n\t\t\treturn gridFiltersValueList;\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Salva i valori extra del filtro per `gridId` nel localStorage\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri\r\n\t\t * @param ignoreImpresa Indica se salvare il filtro come generico, anziché assegnato all'impresa corrente\r\n\t\t * @returns Filtri salvati per la pagina\r\n\t\t */\r\n\t\tpublic saveFilterExtraValue(gridId: string, ignoreImpresa: boolean, isPerPagina: boolean, ...extraFilterList: Array): Array {\r\n\t\t\tconst filterIdentifier = this.filterIdentifierData(`${gridId}_extra`, ignoreImpresa, isPerPagina);\r\n\t\t\tlet gridFiltersValueList: Array | null = filterIdentifier.filters[filterIdentifier.gridInternalId] || (filterIdentifier.filters[filterIdentifier.gridInternalId] = []);\r\n\r\n\t\t\t// Leggo le chiavi dei filtri da aggiungere e li rimuovo dai valori precedenti\r\n\t\t\tconst extraKeyList = extraFilterList.map((gridFiltersValue: GridFiltersValue) => Object.keys(gridFiltersValue)[0]);\r\n\t\t\tgridFiltersValueList = gridFiltersValueList.filter((gridFiltersValue: GridFiltersValue) => extraKeyList.indexOf(Object.keys(gridFiltersValue)[0]) < 0);\r\n\t\t\tfilterIdentifier.filters[filterIdentifier.gridInternalId] = gridFiltersValueList;\r\n\r\n\t\t\t// Aggiungo i filtri richiesti\r\n\t\t\tgridFiltersValueList.push(...extraFilterList);\r\n\r\n\t\t\t// Salvo i filtri nel localStorage\r\n\t\t\tlocalStorage.setItem(filterIdentifier.filtersIdentifier, JSON.stringify(filterIdentifier.filters));\r\n\r\n\t\t\treturn gridFiltersValueList;\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Legge i valori extra del filtro per `gridId` nel localStorage\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri\r\n\t\t * @param ignoreImpresa Indica se salvare il filtro come generico, anziché assegnato all'impresa corrente\r\n\t\t * @returns Filtri salvati per la pagina corrisposti in un array di valori in cui le chiavi sono i nomi dei filtri\r\n\t\t */\r\n\t\tpublic readFilterExtraValue(gridId: string, ignoreImpresa: boolean, isPerPagina: boolean): Array {\r\n\t\t\tconst filterIdentifier = this.filterIdentifierData(`${gridId}_extra`, ignoreImpresa, isPerPagina);\r\n\t\t\tconst gridFiltersValueList: Array | null = filterIdentifier.filters[filterIdentifier.gridInternalId] || (filterIdentifier.filters[filterIdentifier.gridInternalId] = []);\r\n\r\n\t\t\treturn gridFiltersValueList.reduce>((prevValue, currentValue) => {\r\n\t\t\t\tprevValue[Object.keys(currentValue)[0]] = Object.values(currentValue)[0];\r\n\r\n\t\t\t\treturn prevValue;\r\n\t\t\t}, []);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Salva i valori extra del filtro per `gridId` nel localStorage\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri\r\n\t\t * @param ignoreImpresa Indica se salvare il filtro come generico, anziché assegnato all'impresa corrente\r\n\t\t * @returns Filtri salvati per la pagina\r\n\t\t */\r\n\t\tpublic deleteFilterExtraValue(gridId: string, ignoreImpresa: boolean, isPerPagina: boolean, ...extraFilterKeyList: Array): Array {\r\n\t\t\tconst filterIdentifier = this.filterIdentifierData(`${gridId}_extra`, ignoreImpresa, isPerPagina);\r\n\t\t\tlet gridFiltersValueList: Array | null = filterIdentifier.filters[filterIdentifier.gridInternalId] || (filterIdentifier.filters[filterIdentifier.gridInternalId] = []);\r\n\r\n\t\t\t// Rimuovo le chivi richieste\r\n\t\t\tfilterIdentifier.filters[filterIdentifier.gridInternalId] = gridFiltersValueList.filter((gridFiltersValue: GridFiltersValue) => extraFilterKeyList.indexOf(Object.keys(gridFiltersValue)[0]) < 0);\r\n\r\n\t\t\t// Salvo i filtri nel localStorage\r\n\t\t\tlocalStorage.setItem(filterIdentifier.filtersIdentifier, JSON.stringify(filterIdentifier.filters));\r\n\r\n\t\t\treturn gridFiltersValueList;\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Recupera i valori degli elementi marcati con la classe `filter-control` o `seac-dx-page-selector-select` dal localStorage\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri* @param gridId\r\n\t\t * @param normalize Funzione facoltativa di normalizzazione del dato letto. Viene utilizzata per modificare il valore del filtro letto, per esempio per convertire le date da stringa a Data oppure per recuperare l'effettivo item da una selectbox.\r\n\t\t * @param ignoreImpresa Indica se leggere il filtro come generico, anziché assegnato all'impresa corrente\r\n\t\t * @returns Filtri presenti\r\n\t\t */\r\n\t\tpublic restoreFilterControlsValue(gridId: string, normalize: GridFiltersValueNormalize = null, ignoreImpresa: boolean = false): Array | null {\r\n\t\t\tconst filterIdentifier = this.filterIdentifierData(gridId, ignoreImpresa, /*isPerPagina*/true);\r\n\r\n\t\t\tif (filterIdentifier.filters[filterIdentifier.gridInternalId]) {\r\n\t\t\t\t// Controllo se normalizzare i valori dei filtri\r\n\t\t\t\tif (normalize) {\r\n\t\t\t\t\tfor (let filterIndex = 0; filterIndex < filterIdentifier.filters[filterIdentifier.gridInternalId].length; filterIndex++) {\r\n\t\t\t\t\t\tfor (let filterName in filterIdentifier.filters[filterIdentifier.gridInternalId][filterIndex]) {\r\n\t\t\t\t\t\t\tfilterIdentifier.filters[filterIdentifier.gridInternalId][filterIndex][filterName] = normalize(\r\n\t\t\t\t\t\t\t\tfilterName,\r\n\t\t\t\t\t\t\t\tfilterIdentifier.filters[filterIdentifier.gridInternalId][filterIndex][filterName]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(`.filter-control, .seac-dx-page-selector-select`).each((index: number, element: HTMLElement) => {\r\n\t\t\t\t\tconst jElement: JQuery = $(element);\r\n\t\t\t\t\t// Se l'elemento non ha un id, do per scontato che sia un PageSelctor\r\n\t\t\t\t\tconst elementIdentifier: string = !jElement.hasClass('seac-dx-page-selector-select') ? element.id : 'seac-dx-page-selector-select';\r\n\t\t\t\t\t// Recupero l'indice dell'elemento corrente\r\n\t\t\t\t\tconst currentControlIndex: number = this.findFilterIndex(filterIdentifier.filters, filterIdentifier.gridInternalId, elementIdentifier);\r\n\t\t\t\t\tif (currentControlIndex > -1) {\r\n\t\t\t\t\t\tconst value: any = filterIdentifier.filters[filterIdentifier.gridInternalId][currentControlIndex][elementIdentifier];\r\n\t\t\t\t\t\t// Se è presente un valore lo setto nel controllo\r\n\t\t\t\t\t\tif ((value === null) || (value === undefined)) {\r\n\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (element.tagName === Seac.Commons.Constants.inputElement.toUpperCase() || element.tagName === Seac.Commons.Constants.selectElement.toUpperCase()) {\r\n\t\t\t\t\t\t\tif (jElement.attr('type') === 'checkbox') {\r\n\t\t\t\t\t\t\t\tjElement.prop(Seac.Commons.Constants.checked, value);\r\n\t\t\t\t\t\t\t}else {\r\n\t\t\t\t\t\t\t\tif (elementIdentifier === 'seac-dx-page-selector-select') {\r\n\t\t\t\t\t\t\t\t\t$(`#${gridId}`).dxDataGrid(Seac.Commons.Constants.DevExpress.dxInstance).pageSize(+value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tjElement.val(value);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-selectbox')) {\r\n\t\t\t\t\t\t\tconst selectBoxInstance: DevExpress.ui.dxDropDownBox = jElement.dxSelectBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\t\t\tselectBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-dropdownbox')) {\r\n\t\t\t\t\t\t\tconst dropdownBoxInstance: DevExpress.ui.dxDropDownBox = jElement.dxDropDownBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\t\t\tdropdownBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-datebox')) {\r\n\t\t\t\t\t\t\tconst dateBoxInstance: DevExpress.ui.dxDateBox = jElement.dxDateBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\t\t\tconst dateValue: Date = new Date(value);\r\n\t\t\t\t\t\t\tdateBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, dateValue);\r\n\t\t\t\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-switch')) {\r\n\t\t\t\t\t\t\tconst switchInstance: DevExpress.ui.dxSwitch = jElement.dxSwitch(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\t\t\tswitchInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-numberbox')) {\r\n\t\t\t\t\t\t\tconst numberBoxInstance: DevExpress.ui.dxNumberBox = jElement.dxNumberBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\t\t\tnumberBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t\t\t\t}else if ($(element).hasClass('dx-widget') && $(element).hasClass('dx-textbox')) {\r\n\t\t\t\t\t\t\tconst textBoxInstance: DevExpress.ui.dxTextBox = $(element).dxTextBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\t\t\t\ttextBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Salvo il valore originale negli attributi dell'elemento\r\n\t\t\t\t\t\tjElement.data(this._originalValueDataAttributeName, value);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn filterIdentifier.filters[filterIdentifier.gridInternalId];\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Ripristina il valore di un singolo elemento del filtro\r\n\t\t * @returns Il valore impostato, null altrimenti\r\n\t\t */\r\n\t\tpublic restoreFilterControlsOriginalValue(element: HTMLElement | JQuery): any | null {\r\n\t\t\tconst jElement\t: JQuery\t= $(element);\r\n\t\t\tconst value\t\t: any\t\t= this.getOriginalValue(jElement);\r\n\t\t\t// Se è presente un valore lo setto nel controllo\r\n\t\t\tif ((value === null) || (value === undefined)) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tif (jElement[0].tagName === Seac.Commons.Constants.inputElement.toUpperCase() || jElement[0].tagName === Seac.Commons.Constants.selectElement.toUpperCase()) {\r\n\t\t\t\tif (jElement.attr('type') === 'checkbox') {\r\n\t\t\t\t\tjElement.prop(Seac.Commons.Constants.checked, value);\r\n\t\t\t\t}\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-selectbox')) {\r\n\t\t\t\tconst selectBoxInstance: DevExpress.ui.dxDropDownBox = jElement.dxSelectBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\tselectBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-dropdownbox')) {\r\n\t\t\t\tconst dropdownBoxInstance: DevExpress.ui.dxDropDownBox = jElement.dxDropDownBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\tdropdownBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-datebox')) {\r\n\t\t\t\tconst dateBoxInstance: DevExpress.ui.dxDateBox = jElement.dxDateBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\tconst dateValue: Date = new Date(value);\r\n\t\t\t\tdateBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, dateValue);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-switch')) {\r\n\t\t\t\tconst switchInstance: DevExpress.ui.dxSwitch = jElement.dxSwitch(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\tswitchInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-numberbox')) {\r\n\t\t\t\tconst numberBoxInstance: DevExpress.ui.dxNumberBox = jElement.dxNumberBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\tnumberBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-textbox')) {\r\n\t\t\t\tconst textBoxInstance: DevExpress.ui.dxTextBox = jElement.dxTextBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\ttextBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, value);\r\n\t\t\t}\r\n\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\t/** Controlla se l'elemento ha il valore originale */\r\n\t\tpublic hasFilterOriginalValue(element: HTMLElement | JQuery): boolean {\r\n\t\t\tconst\tjElement\t: JQuery\t= $(element);\r\n\t\t\tlet\t\tvalue\t\t: any\t\t= this.getOriginalValue(jElement);\r\n\t\t\t// Se è presente un valore lo setto nel controllo\r\n\t\t\tif ((value === null) || (value === undefined)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tlet readValue: any;\r\n\t\t\t// leggo il valore impostato all'elemento\r\n\t\t\tif (jElement[0].tagName === Seac.Commons.Constants.inputElement.toUpperCase() || jElement[0].tagName === Seac.Commons.Constants.selectElement.toUpperCase()) {\r\n\t\t\t\tif (jElement.attr('type') === 'checkbox') {\r\n\t\t\t\t\treadValue = jElement.prop(Seac.Commons.Constants.checked);\r\n\t\t\t\t}else {\r\n\t\t\t\t\treadValue = jElement.val();\r\n\t\t\t\t}\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-selectbox')) {\r\n\t\t\t\tconst selectBoxInstance: DevExpress.ui.dxDropDownBox = jElement.dxSelectBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\treadValue = selectBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-dropdownbox')) {\r\n\t\t\t\tconst dropdownBoxInstance: DevExpress.ui.dxDropDownBox = jElement.dxDropDownBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\treadValue = dropdownBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-datebox')) {\r\n\t\t\t\tconst dateBoxInstance: DevExpress.ui.dxDateBox = jElement.dxDateBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\treadValue = dateBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t\t// Converto il valore in data\r\n\t\t\t\tvalue = new Date(value);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && jElement.hasClass('dx-switch')) {\r\n\t\t\t\tconst switchInstance: DevExpress.ui.dxSwitch = jElement.dxSwitch(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\treadValue = switchInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && $(element).hasClass('dx-numberbox')) {\r\n\t\t\t\tconst numberBoxInstance: DevExpress.ui.dxNumberBox = jElement.dxNumberBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\treadValue = numberBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t}else if (jElement.hasClass('dx-widget') && $(element).hasClass('dx-textbox')) {\r\n\t\t\t\tconst textBoxInstance: DevExpress.ui.dxTextBox = jElement.dxTextBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\treadValue = textBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue);\r\n\t\t\t}\r\n\t\t\t// Se è presente un valore lo setto nel controllo\r\n\t\t\tif ((readValue === null) || (readValue === undefined)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\t// Confronto i valori\r\n\t\t\treturn JSON.stringify(value) == JSON.stringify(readValue);\r\n\t\t}\r\n\r\n\t\t/** Valore originale dell' elemento @param element, se il valore è stato precedentemente impostato torna null */\r\n\t\tprivate getOriginalValue(element: JQuery): any | null {\r\n\t\t\treturn element.data(this._originalValueDataAttributeName)\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Recupera l'indice di un elemento all'interno dei filtri salvati nel localStorage\r\n\t\t * @param gridFilters Oggetto contenente tutti i filtri salvati\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri* @param gridId\r\n\t\t * @param elementId Id dell'elemento da ricercare\r\n\t\t */\r\n\t\tprivate findFilterIndex(gridFilters: GridFilters, gridId: string, elementId: string): number {\r\n\t\t\tlet currentControlIndex: number = -1;\r\n\t\t\tfor (let i = 0; i < gridFilters[gridId].length; i++) {\r\n\t\t\t\tif (Object.keys(gridFilters[gridId][i])[0] === elementId) {\r\n\t\t\t\t\tcurrentControlIndex = i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn currentControlIndex;\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Stabilisce se una griglia ha filtri salvati nei cookie\r\n\t\t * @param gridId ID univoco della griglia a cui appartengono i filtri\r\n\t\t * @param normalize Funzione facoltativa di normalizzazione del dato letto. Viene utilizzata per modificare il valore del filtro letto, per esempio per convertire le date da stringa a Data oppure per recuperare l'effettivo item da una selectbox.\r\n\t\t */\r\n\t\tpublic haveFilterControlsValue(gridId: string, normalize: GridFiltersValueNormalize = null): boolean {\r\n\t\t\tconst filterIdentifier = this.filterIdentifierData(gridId, /*ignoreImpresa*/false, /*isPerPagina*/true);\r\n\r\n\t\t\tif (filterIdentifier.filters[filterIdentifier.gridInternalId] == undefined) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\texport interface GridFilters {\r\n\t\t[key: string]: GridFiltersValue[]\r\n\t}\r\n\texport interface GridFiltersValue {\r\n\t\t[filterId: string]: any\r\n\t}\r\n\r\n\t/** Funzione di callback per la normalizzazione del valore del filtro */\r\n\texport interface GridFiltersValueNormalize {\r\n\t\t(filterId: string, value: any): any;\r\n\t}\r\n\r\n\texport const gridFilterPersistenceService: GridFilterPersistenceService = new GridFilterPersistenceService();\r\n}"]}