{"version":3,"sources":["Areas/Connection/Scripts/LRE2/ConnectionProductUIHandler.ts"],"names":[],"mappings":"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","file":"Areas/Connection/Scripts/LRE2/ConnectionProductUIHandler.js","sourcesContent":["\r\nclass ConnectionProductUIHandler {\r\n\r\n productSrv: ConnectionProductService\r\n applicationType: number\r\n\r\n constructor(srv: ConnectionProductService, applicationType: number) {\r\n this.productSrv = srv;\r\n this.applicationType = applicationType;\r\n }\r\n\r\n init() {\r\n this.productSrv.initConnectionProducts().done((result) => this.registerConnectionProductUiEvents(result));\r\n }\r\n\r\n registerConnectionProductUiEvents(result) {\r\n $(\".productTypeButton\").click((e) => this.handleProductTypeButtonClick(e));\r\n\r\n $(\".connectionProductHolder\").on(\"change\", \"select, input\", (e) => this.handleConnectionProductChange(e)); \r\n }\r\n\r\n handleProductTypeButtonClick(e) {\r\n var sender = $(e.currentTarget);\r\n var type = sender.data(\"type\");\r\n if (type === 2) {\r\n // gas removed, only one product remains and should not be selectable\r\n this.productSrv.setSelectedConnectionProduct(21, true).done((result) => { console.log(result); });\r\n }\r\n this.handleConnectionProductTypeSelection(type, sender);\r\n // need some logic to change button states\r\n //console.log($(e.currentTarget), e.currentTarget);\r\n //console.log($(e.currentTarget).hasClass(\"active\"));\r\n }\r\n\r\n handleProductTypeButtonState(target) {\r\n if (target.hasClass(\"active\")) {\r\n target.removeClass(\"active\");\r\n return false;\r\n } else {\r\n target.addClass(\"active\");\r\n return true;\r\n }\r\n }\r\n\r\n handleConnectionProductTypeSelection(type: number, sender: object) {\r\n console.log(\"handleConnectionProductTypeSelection\", type);\r\n var productTypeElement = null;\r\n var productForm = null;\r\n switch (type) {\r\n case 1:\r\n productTypeElement = $(\"#electricityProductsHolder\");\r\n productForm = document.getElementById(\"electricityProductForm\");\r\n break;\r\n case 2:\r\n productTypeElement = $(\"#heatProductsHolder\");\r\n productForm = document.getElementById(\"heatProductForm\");\r\n break;\r\n case 3:\r\n productTypeElement = $(\"#waterProductsHolder\");\r\n productForm = document.getElementById(\"waterProductForm\");\r\n break;\r\n default:\r\n }\r\n //check if type is selected or unselected\r\n // var isSelected = !productTypeElement.is(\":visible\");\r\n var isSelected = this.handleProductTypeButtonState(sender);\r\n\r\n if (this.applicationType == 3 || this.applicationType == 4) {\r\n this.productSrv.setSelectedConnectionProductTypeAndSelectFirstProduct(type, isSelected);\r\n } else {\r\n this.productSrv.setSelectedConnectionProductType(isSelected, type).always((result: boolean) => this.handleSetSelectedConnectionProductTypeResult(result, type));\r\n }\r\n if (!isSelected) {\r\n productForm.reset();\r\n }\r\n //toggle visibility\r\n productTypeElement.toggle();\r\n }\r\n\r\n handleSetSelectedConnectionProductTypeResult(result: boolean, type: number) {\r\n console.log(\"handleSetSelectedConnectionProductTypeResult\", result);\r\n console.log(\"getting connectioproducts by type \" + type);\r\n this.productSrv.getConnectionProductsSorted(type, 1).done((data) => this.updateConnectionProductsOnUI(data, type));\r\n }\r\n\r\n updateConnectionProductsOnUI(data: any, type: number) {\r\n console.log(\"updateConnectionProductsOnUI\", data);\r\n var element = null;\r\n var template = null;\r\n switch (type) {\r\n case 1:\r\n element = $(\"[name='electricity-ConnectionSize']\");\r\n template = $(\"#connectionProductOptionElectricityTemplate\");\r\n break;\r\n case 2:\r\n element = $(\"[name='HeatingProduct']\");\r\n template = $(\"#connectionProductOptionHeatingTemplate\");\r\n break;\r\n case 3:\r\n element = $(\"#waterProducts\");\r\n template = $(\"#connectionProductWaterTemplate\");\r\n break;\r\n default:\r\n }\r\n element.empty();\r\n var products = { data: data }\r\n template.tmpl(products).appendTo(element);\r\n }\r\n\r\n handleConnectionProductChange(e) {\r\n var sender = $(e.currentTarget);\r\n var value = sender.val();\r\n var type = sender.data(\"type\");\r\n var isSelected = true;\r\n if (sender.is(':checkbox')) {\r\n isSelected = sender.is(\":checked\");\r\n }\r\n this.productSrv.setSelectedConnectionProduct(value, isSelected).done((result) => { console.log(result);});\r\n }\r\n}"]}