{"version":3,"file":"base-list-page.js","sourceRoot":"","sources":["../../../Scripts/commons/base-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["namespace Seac.Commons {\r\n\texport abstract class BaseListPage extends Seac.Commons.BasePage {\r\n\t\tpublic init(): void {\r\n\t\t\tsuper.init();\r\n\t\t\t// controllo l'evento keyDown sugli input dei filtri e nel caso si tratti di un `Enter` eseguo il filtro\r\n\t\t\t$(document).delegate('.filter-control', Seac.Commons.Constants.keyDownEvent, (event: JQuery.KeyDownEvent) => {\r\n\t\t\t\tif (event.keyCode === Seac.Commons.KeyboardKeys.Enter) {\r\n\t\t\t\t\t// Controllo se si tratta di un input text DevExpress, imposto immediatamente il testo\r\n\t\t\t\t\tif (event && event.currentTarget && $(event.currentTarget).hasClass(Seac.Commons.Constants.DevExpress.dxTextBoxElement)) {\r\n\t\t\t\t\t\tconst jTextBox = $(event.currentTarget);\r\n\t\t\t\t\t\t// Controllo vi sia un solo elemento\r\n\t\t\t\t\t\tif (jTextBox.length == 1) {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tjTextBox.dxTextBox(Seac.Commons.Constants.DevExpress.dxInstance)\r\n\t\t\t\t\t\t\t\t\t.option(Seac.Commons.Constants.DevExpress.dxValue, $(event.target).val())\r\n\t\t\t\t\t\t\t\t;\r\n\t\t\t\t\t\t\t}catch {\r\n\t\t\t\t\t\t\t\t// Se non è una textBox ignoro l'eccezione e continuo\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\tthis.filter();\r\n\t\t\t\t}\r\n\t\t\t});\r\n }\r\n\r\n\t\t/**\r\n\t\t * Effettua il filtro sulla lista della pagina.\r\n\t\t * Cancella eventuali errori in pagina.\r\n\t\t * */\r\n\t\tprotected filter(): void {\r\n\t\t\tSeac.Commons.notificationManager.clearNotifications();\r\n\t\t\t$('[data-toggle=\"tooltip\"]').each((index, element) => {\r\n\t\t\t\t$(element).tooltip(Seac.Commons.Constants.Bootstrap.tooltipHide);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Salva i filtri, in modo che vengano ricaricati al successivo ingresso nella pagina\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\tprotected saveFilterControlsValue(gridId: string, ignoreImpresa: boolean = false): Array {\r\n\t\t\treturn Seac.Services.gridFilterPersistenceService.saveFilterControlsValue(gridId, ignoreImpresa);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Ricarica i filtri salvati in precedenza\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 * @param ignoreImpresa Indica se leggere il filtro come generico, anziché assegnato all'impresa corrente\r\n\t\t */\r\n\t\tprotected restoreFilterControlsValue(gridId: string, normalize: Seac.Services.GridFiltersValueNormalize = null, ignoreImpresa: boolean = false): Array | null {\r\n\t\t\treturn Seac.Services.gridFilterPersistenceService.restoreFilterControlsValue(gridId, normalize, ignoreImpresa);\r\n\t\t}\r\n\r\n\t\t/** Ripristina il valore di un singolo elemento del filtro */\r\n\t\tpublic restoreFilterControlsOriginalValue(element: HTMLElement | JQuery | DevExpress.ui.Widget, checkBeforeElementList: Array | DevExpress.ui.Widget> = null): any | null {\r\n\t\t\t// Controllo che gli elementi precedenti siano coerenti\r\n\t\t\tif (checkBeforeElementList) {\r\n\t\t\t\tfor (let checkBeforeElementIndex = 0; checkBeforeElementIndex < checkBeforeElementList.length; checkBeforeElementIndex++) {\r\n\t\t\t\t\tlet elementToCkeck\t: HTMLElement | JQuery | DevExpress.ui.Widget = checkBeforeElementList[checkBeforeElementIndex];\r\n\t\t\t\t\tlet jElementToCkeck\t: JQuery;\r\n\t\t\t\t\t// Controllo la tipologia dell'elemento\r\n\t\t\t\t\tif ((elementToCkeck).element) {\r\n\t\t\t\t\t\tjElementToCkeck = $((elementToCkeck).element());\r\n\t\t\t\t\t}else {\r\n\t\t\t\t\t\tjElementToCkeck = $(elementToCkeck);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!Seac.Services.gridFilterPersistenceService.hasFilterOriginalValue(jElementToCkeck)) {\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ((element).element) {\r\n\t\t\t\treturn Seac.Services.gridFilterPersistenceService.restoreFilterControlsOriginalValue($((element).element()));\r\n\t\t\t}else {\r\n\t\t\t\treturn Seac.Services.gridFilterPersistenceService.restoreFilterControlsOriginalValue($(element));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * Prepara la pagina per la stampa, rimuovendo tutto ciò che non serve per la stampa.\r\n\t\t * La bassa laterale viene nascosta\r\n\t\t * Gli oggetti con classe hide-in-print vengono nascosti\r\n\t\t * Gli oggetti con classe show-in-print vengono visualizzati\r\n\t\t * Ritorna un oggetto con la configurazione da utilizzare per la funzione prentRestorePagePost\r\n\t\t */\r\n\t\tprotected printPreparePageFor(): PreChangePageConfiguration {\r\n\t\t\t// Leggo la configurazione della pagina\r\n\t\t\tconst leftMenuOpen: boolean\t= Seac.Components.topMenuComponent.leftMenuIsOpen;\r\n\t\t\tconst hideInPrintObjects: JQuery = $('.hide-in-print').not(':hidden');\r\n\t\t\tconst showInPrintObjects: JQuery = $('.show-in-print:hidden');\r\n\r\n\t\t\t// Nascondo / visualizzo gli oggetti per la stampa\r\n\t\t\tSeac.Components.topMenuComponent.leftMenuIsOpen = false;\r\n\t\t\thideInPrintObjects.hide();\r\n\t\t\tshowInPrintObjects.show();\r\n\r\n\t\t\treturn new PreChangePageConfiguration(\r\n\t\t\t\tleftMenuOpen,\r\n\t\t\t\thideInPrintObjects,\r\n\t\t\t\tshowInPrintObjects\r\n\t\t\t);\r\n\t\t}\r\n\t\t/**\r\n\t\t * Ripristina la configurazione della pagina dopo la stampa\r\n\t\t * @param prePrintConfig Configurazione pre stampa ottenuta dalla funzione printPeparePageFor\r\n\t\t */\r\n\t\tprotected printRestorePagePost(prePrintConfig: PreChangePageConfiguration): void {\r\n\t\t\t// Ripristino la configurazione della pagina\r\n\t\t\tSeac.Components.topMenuComponent.leftMenuIsOpen = prePrintConfig.leftMenuOpened;\r\n\t\t\tprePrintConfig.hidObjects.show();\r\n\t\t\tprePrintConfig.showedObjects.hide();\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\tprotected haveFilterControlsValue(gridId: string, normalize: Seac.Services.GridFiltersValueNormalize = null): boolean{\r\n\t\t\treturn Seac.Services.gridFilterPersistenceService.haveFilterControlsValue(gridId, normalize);\r\n\t\t}\r\n }\r\n}\r\n"]}