{"version":3,"file":"checkbox-page-utils.js","sourceRoot":"","sources":["../../../Scripts/commons/checkbox-page-utils.ts"],"names":[],"mappings":"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","sourcesContent":["namespace Seac.Commons {\r\n /** Questa classe permette di gestire i comportamenti generci delle checkbox all'interno della pagina */\r\n\tclass CheckboxPageUtils {\r\n /**\r\n * Inizializza la gestione delle checkbox header\\value all'interno delle griglie\r\n * @param headerCheckBoxId Id della checkbox contenuta nell'header della griglia\r\n * @param valueCheckBoxClass Classe che identifica le checkbox dei valori all'interno della griglia\r\n */\r\n public gridCheckBoxManager(headerCheckBoxId: string, valueCheckBoxClass: string): void {\r\n this.headerCheckBoxClickManager(headerCheckBoxId, valueCheckBoxClass);\r\n this.valueCheckBoxClickManager(headerCheckBoxId, valueCheckBoxClass);\r\n }\r\n\r\n /**\r\n * Inizializza il valore della checkbox di header in base ai valori delle checkbox\r\n * @param headerCheckBoxId Id della checkbox contenuta nell'header della griglia\r\n * @param valueCheckBoxClass Classe che identifica le checkbox dei valori all'interno della griglia\r\n */\r\n public initHeaderCheckBox(headerCheckBoxId: string, valueCheckBoxClass: string): void {\r\n this.manageHeaderCheckBox(headerCheckBoxId, valueCheckBoxClass);\r\n }\r\n\r\n /**\r\n * Sottoscrive l'evento click sulla checkbox di header e imposta le checkbox dei valori\r\n * @param headerCheckBoxId Id della checkbox contenuta nell'header della griglia\r\n * @param valueCheckBoxClass Classe che identifica le checkbox dei valori all'interno della griglia\r\n */\r\n private headerCheckBoxClickManager(headerCheckBoxId: string, valueCheckBoxClass: string): void {\r\n $(document).delegate(`#${headerCheckBoxId}`, Seac.Commons.Constants.clickEvent, (event: JQuery.ClickEvent) => {\r\n const elements: JQuery = $(`.${valueCheckBoxClass}`);\r\n if ($(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.checked) === true) {\r\n elements.each((index: number, valueElement: HTMLInputElement) => {\r\n valueElement.checked = true;\r\n });\r\n }else if ($(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.checked) === false) {\r\n elements.each((index: number, element: HTMLInputElement) => {\r\n element.checked = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Sottoscrive l'evento click sulle checkbox dei valori ed imposta il valore della checkbox di header\r\n * @param headerCheckBoxId Id della checkbox contenuta nell'header della griglia\r\n * @param valueCheckBoxClass Classe che identifica le checkbox dei valori all'interno della griglia\r\n */\r\n private valueCheckBoxClickManager(headerCheckBoxId: string, valueCheckBoxClass: string): void {\r\n $(document).delegate(`.${valueCheckBoxClass}`, Seac.Commons.Constants.clickEvent, (event: JQuery.ClickEvent) => {\r\n this.manageHeaderCheckBox(headerCheckBoxId, valueCheckBoxClass);\r\n });\r\n }\r\n\r\n /**\r\n * Imposta la checkbox di header in base alle checkbox dei valori\r\n * @param headerCheckBoxId Id della checkbox contenuta nell'header della griglia\r\n * @param valueCheckBoxClass Classe che identifica le checkbox dei valori all'interno della griglia\r\n */\r\n private manageHeaderCheckBox(headerCheckBoxId: string, valueCheckBoxClass: string): void {\r\n const valueElements: JQuery = $(`.${valueCheckBoxClass}`);\r\n const checkedCount = valueElements.filter((index: number, element: HTMLInputElement) => element.checked).length;\r\n if (valueElements.length == checkedCount) {\r\n $(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.bootstrapCheckBoxIndeterminate, false);\r\n $(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.checked, true);\r\n }\r\n if ((valueElements.length < checkedCount || valueElements.length > checkedCount) && checkedCount != 0) {\r\n $(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.bootstrapCheckBoxIndeterminate, true);\r\n }\r\n if (checkedCount == 0) {\r\n $(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.bootstrapCheckBoxIndeterminate, false);\r\n $(`#${headerCheckBoxId}`).prop(Seac.Commons.Constants.checked, false);\r\n }\r\n }\r\n\t}\r\n\texport const checkboxPageUtils: CheckboxPageUtils = new CheckboxPageUtils();\r\n}"]}