{"version":3,"file":"dx-components.js","sourceRoot":"","sources":["../../../Scripts/dx-components/dx-components.ts"],"names":[],"mappings":"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","sourcesContent":["/// \r\n\r\n/// \r\n\r\nnamespace Seac.DxComponents {\r\n\tclass DxComponentsUtils {\r\n\t\t/** Metodo placeholder che permette la personalizzazione degli export in XLSX delle griglie */\r\n\t\tpublic customizeExcelCell(options: { gridCell?: DevExpress.excelExporter.ExcelDataGridCell, excelCell?: any }): any { }\r\n\r\n\t\t/**\r\n\t\t* Metodo utilizzato per la selezione di un elemento di una griglia contenuta all'interno di una DropDownBox DevExtreme\r\n\t\t* @param component è l'istanza della DropDownBox\r\n\t\t* @param selectedItems sono gli elementi selezionati (normalemente uno)\r\n\t\t*/\r\n\t\tpublic selectGridItem(component: DevExpress.ui.dxDropDownBox, selectedItems: any): void {\r\n\t\t\tlet keys = selectedItems.selectedRowKeys;\r\n\t\t\tcomponent.option(Seac.Commons.Constants.DevExpress.dxValue, keys);\r\n\t\t\tcomponent.close();\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Metodo utilizzato per la selezione di elementi multipli di una lista contenuta all'interno di una DropDownBox DevExtreme,\r\n\t\t* a differenza del metodo precedente non chiude le DropDownBox al termine\r\n\t\t* @param component è l'istanza della DropDownBox\r\n\t\t* @param selectedItems sono gli elementi selezionati\r\n\t\t*/\r\n\t\tpublic selectMultipleGridItems(component: DevExpress.ui.dxDropDownBox, selectedItems: any): void {\r\n\t\t\tcomponent.option(Seac.Commons.Constants.DevExpress.dxValue, selectedItems.selectedRowKeys);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Metodo utilizzato per la selezione di un elemento di una lista contenuta all'interno di una DropDownBox DevExtreme\r\n\t\t* @param event Evento (purtroppo è , perché DevExtreme non ha messo a disposizione il tipo)\r\n\t\t* @param dropDownBoxId ID della DropDownBox\r\n\t\t*/\r\n\t\tpublic selectListItem_InDropDownBox(event: any, dropDownBoxId: string): void {\r\n\t\t\tconst dropDownBoxInstance: DevExpress.ui.dxDropDownBox = $(`#${dropDownBoxId}`).dxDropDownBox(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t// Ricavo il nome della proprietà impostata come valueExpr.\r\n\t\t\tconst key: string = dropDownBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValueExpr);\r\n\t\t\tif (event?.addedItems.length) {\r\n\t\t\t\tdropDownBoxInstance.option(Seac.Commons.Constants.DevExpress.dxValue, event.addedItems[0][key]);\r\n\t\t\t}else {\r\n\t\t\t\tdropDownBoxInstance.reset();\r\n\t\t\t}\r\n\t\t\tdropDownBoxInstance.close();\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Metodo utilizzato per la selezione di elementi multipli di una lista contenuta all'interno di una DropDownBox DevExtreme\r\n\t\t* @param event Evento DxDropDownBoxValueChangeEvent\r\n\t\t* @param embeddedGridId Id della griglia che si trova all'interno della DropDownBox\r\n\t\t*/\r\n\t\tpublic embeddedDropDownBoxGrid_valueChange(event: Seac.Commons.DxEvents.DxDropDownBoxValueChangeEvent, embeddedGridId: string): void {\r\n\t\t\tconst dataGrid: JQuery = $(`#${embeddedGridId}`);\r\n\r\n\t\t\tif (dataGrid.length) {\r\n\t\t\t\tconst dataGridInstance: DevExpress.ui.dxDataGrid = dataGrid.dxDataGrid(Seac.Commons.Constants.DevExpress.dxInstance);\r\n\t\t\t\tdataGridInstance.selectRows(event.value, false);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Funzione richiamata dalle DropDownBox della pagina che visualizzano degli enum per impostare il testo del valore selezionato\r\n\t\t* @param item Elemento selezionato\r\n\t\t*/\r\n\t\tpublic enumDropDown_displayExpr(item: Seac.Models.DropDownBoxEnumElement): string {\r\n\t\t\treturn item && (`${item.Key} - ${item.Label}`);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Funzione richiamata dalle DropDownBox della pagina che visualizzano degli enum per impostare il testo (StringValue) del valore selezionato\r\n\t\t* @param item Elemento selezionato\r\n\t\t*/\r\n\t\tpublic enumDropDown_StringValue_displayExpr(item: Seac.Models.DropDownBoxEnumElement): string {\r\n\t\t\treturn item && (`${item.StringValue} - ${item.Label}`);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Funzione richiamata dalle DropDownBox della pagina che visualizzano degli enum per impostare il testo del valore selezionato\r\n\t\t* @param item Elemento selezionato\r\n\t\t*/\r\n\t\tpublic enumDropDown_displayExpr_withCharValue(item: Seac.Models.DropDownBoxEnumElement): string {\r\n\t\t\treturn item && (`${item.CharValue} - ${item.Label}`);\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Metodo utilizzato per ridimensionare la larghezza della lista visualizzata dalla SelectBox\r\n\t\t* @param event Evento opened\r\n\t\t* @param width Larghezza della lista visualizzata dalla SelectBox\r\n\t\t*/\r\n\t\tpublic resizeSelectBoxContent(event: Seac.Commons.DxEvents.DxSelectBoxOpenedEvent, width: number, marginLeft: number = 0) {\r\n\t\t\tevent.component.content().parent().css({'min-width': `${width}px`, 'margin-left': marginLeft});\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Metodo utilizzato per ridimensionare la larghezza della lista visualizzata dalla SelectBox\r\n\t\t* @param event Evento opened\r\n\t\t* @param width Larghezza della lista visualizzata dalla SelectBox\r\n\t\t*/\r\n\t\tpublic resizeHeightSelectBoxContent(event: Seac.Commons.DxEvents.DxSelectBoxOpenedEvent, height: number | 'auto') {\r\n\t\t\tevent.component.content().css({'height': (height == `auto` ? height : `${height}px`)});\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t* Esporta i dati di tutte le pagine di una griglia DevExpress\r\n\t\t* @param gridInstance Istanza della griglia di cui esportare i dati\r\n\t\t* @param exportHiddenColumns Indica se esportare le colonne nascoste\r\n\t\t*/\r\n\t\tpublic exportGridToXlsx(gridInstance: DevExpress.ui.dxDataGrid, exportHiddenColumns: boolean): void {\r\n\t\t\tconst workbook = new (window).ExcelJS.Workbook();\r\n\t\t\tconst worksheet = workbook.addWorksheet(`${Seac.Resources.Common.xlsx_foglio} 1`);\r\n\r\n\t\t\tconst columnNumber\t\t\t: number\t\t= gridInstance.columnCount();\r\n\t\t\tconst hiddenColumnsIndexes\t: Array\t= new Array();\r\n\r\n\t\t\tif (exportHiddenColumns) {\r\n\t\t\t\tfor (let indexOfColumn = 0; indexOfColumn < columnNumber; indexOfColumn++) {\r\n\t\t\t\t\tif (gridInstance.columnOption(indexOfColumn, Seac.Commons.Constants.DevExpress.dxVisible) == false) {\r\n\t\t\t\t\t\tgridInstance.columnOption(indexOfColumn, Seac.Commons.Constants.DevExpress.dxVisible, true);\r\n\t\t\t\t\t\thiddenColumnsIndexes.push(indexOfColumn);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tDevExpress.excelExporter.exportDataGrid({\r\n\t\t\t\tcomponent\t\t\t: gridInstance,\r\n\t\t\t\tworksheet\t\t\t: worksheet,\r\n\t\t\t\tautoFilterEnabled\t: false,\r\n\t\t\t\tcustomizeCell\t\t: this.customizeExcelCell\r\n\t\t\t}).then(() => {\r\n\t\t\t\tworkbook.xlsx.writeBuffer().then((buffer) => {\r\n\t\t\t\t\tsaveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Export.xlsx');\r\n\t\t\t\t});\r\n\t\t\t\tif (exportHiddenColumns) {\r\n\t\t\t\t\tfor (let indexOfArrayOfHiddenColumns = 0; indexOfArrayOfHiddenColumns < hiddenColumnsIndexes.length; indexOfArrayOfHiddenColumns++) {\r\n\t\t\t\t\t\tgridInstance.columnOption(hiddenColumnsIndexes[indexOfArrayOfHiddenColumns], 'visible', false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\texport let dxComponentsUtils = new DxComponentsUtils();\r\n\r\n\t/** Evento di click su una cella del calendario */\r\n\texport interface dxSchedulerCellClickEvent {\r\n\t\tcomponent?\t\t: DevExpress.ui.dxScheduler;\r\n\t\telement?\t\t: DevExpress.core.dxElement;\r\n\t\tmodel?\t\t\t: any;\r\n\t\tcellData?\t\t: any;\r\n\t\tcellElement?\t: DevExpress.core.dxElement;\r\n\t\tevent?\t\t\t: DevExpress.events.event;\r\n\t\tcancel?\t\t\t: boolean;\r\n\t}\r\n}\r\n"]}