{ "version": 3, "sources": ["../../../../Views/SandmanAfterSalesService/Sass.ts"], "sourcesContent": ["\uFEFFimport {initTabs} from \"@/sharedComponents/Tabs\"\r\nimport {\r\n $$,\r\n downloadFileFromBlob,\r\n get,\r\n getDataText,\r\n getFileNameFromResponse,\r\n postData,\r\n postFormCustom\r\n} from \"@/Utils\";\r\nimport {validateForm} from \"@/Validation\";\r\nimport {EuronicsResponse} from \"@/interfaces\";\r\nimport {fillPanelAndInitForm} from \"@/sharedComponents/Header/CustomerService\";\r\n\r\nwindow.addEventListener(\"load\", () => initSass());\r\n\r\nfunction initPanel() {\r\n get(\"spare-parts-button\")?.addDataBoundEventListener(\"click\", async () => {\r\n await getDataText(window.config.sparePartsFormUrl, fillPanelAndInitForm);\r\n });\r\n}\r\n\r\nfunction initDownloadPriceOffer() {\r\n $$(\".download-price-offer\")?.forEach(x => x.addDataBoundEventListener(\"click\", () => {\r\n const incidentId = x.getAttribute(\"data-incident-id\");\r\n const workOrderId = x.getAttribute(\"data-repair-work-order-id\");\r\n const priceOfferId = x.getAttribute(\"data-price-offer-id\");\r\n const reference = x.getAttribute(\"data-reference\");\r\n const data = { incidentId: incidentId, workOrderId: workOrderId, priceOfferId: priceOfferId, reference: reference};\r\n const error = x.closest(\".price-offer\").querySelector(\"[data-download-price-offer-error]\");\r\n const callback = (resp: Response) => {\r\n const fileName = getFileNameFromResponse(resp);\r\n return resp.blob().then(blob => {\r\n if (blob.type === \"text/html\") {\r\n return blob.text().then(x => {\r\n error.innerHTML = x;\r\n });\r\n }\r\n else {\r\n downloadFileFromBlob(blob, fileName);\r\n return null;\r\n }\r\n });\r\n }\r\n postData(window.config.sassDownloadPriceOfferUrl, data, callback);\r\n }));\r\n}\r\n\r\nfunction initPriceOffers() {\r\n const callback = (data) => {\r\n return data.text().then(x => {\r\n get(\"_IncidentPriceOffer\").parentElement.innerHTML = x;\r\n initSass();\r\n });\r\n }\r\n \r\n $$(\"[data-confirm-price-offer-id]\")?.forEach(x => x.addDataBoundEventListener(\"click\", () => {\r\n const form = x.closest(\"#price-offer-form\") as HTMLFormElement;\r\n const selectedVariant = x.closest(\"#price-offer-form\").querySelector(\"input[name='SelectedPriceOfferVariant']:checked\") as HTMLElement;\r\n \r\n if (!selectedVariant) {\r\n x.closest(\"#price-offer-form\").querySelector(\"[data-price-offer-variants-container]\").classList.add(\"input-validation-error\");\r\n return;\r\n }\r\n \r\n const map = new Map();\r\n return postFormCustom(form, map, callback);\r\n }));\r\n\r\n $$(\"input[name='SelectedPriceOfferVariant']\")?.forEach(x => x.addEventListener(\"click\", () => {\r\n x.closest(\"#price-offer-form\").querySelector(\"[data-price-offer-variants-container]\").classList.remove(\"input-validation-error\");\r\n }));\r\n}\r\n\r\nfunction scrollResultsIntoView() {\r\n const sassResults = document.getElementsByClassName('sass__results');\r\n if (sassResults.length) {\r\n sassResults[0].scrollIntoView();\r\n }\r\n}\r\n\r\nfunction scrollFormErrorIntoView() {\r\n const formError = document.getElementById('incident-not-found');\r\n if (formError != null && formError.innerHTML.trim().length > 0) {\r\n formError.scrollIntoView();\r\n }\r\n}\r\n\r\nfunction initSass() {\r\n initTabs();\r\n initPanel();\r\n initDownloadPriceOffer();\r\n initPriceOffers();\r\n scrollResultsIntoView();\r\n scrollFormErrorIntoView();\r\n\r\n get(\"SearchIncident\").addDataBoundEventListener(\"click\", () => {\r\n const form = get(\"sass-form\") as HTMLFormElement;\r\n if (!validateForm(form))\r\n return;\r\n\r\n const reference = (get('Reference') as HTMLInputElement).value.trim()\r\n const trackingCode= (get('TrackingCode') as HTMLInputElement).value.trim()\r\n if (reference && trackingCode){\r\n // We need that behaviour that inputs are always in the URL. Then language changing wont require refilling the form.\r\n form.action = form.action + '/' + reference + '/' + trackingCode;\r\n }\r\n form.submit()\r\n });\r\n}\r\n"], "mappings": "mOAcA,OAAO,iBAAiB,OAAQ,IAAMA,EAAS,CAAC,EAEhD,SAASC,GAAY,CAhBrB,IAAAC,GAiBIA,EAAAC,EAAI,oBAAoB,IAAxB,MAAAD,EAA2B,0BAA0B,QAAS,IAAYE,EAAA,sBACtE,MAAMC,EAAY,OAAO,OAAO,kBAAmBC,CAAoB,CAC3E,GACJ,CAEA,SAASC,GAAyB,CAtBlC,IAAAL,GAuBIA,EAAAM,EAAG,uBAAuB,IAA1B,MAAAN,EAA6B,QAAQO,GAAKA,EAAE,0BAA0B,QAAS,IAAM,CACjF,IAAMC,EAAaD,EAAE,aAAa,kBAAkB,EAC9CE,EAAcF,EAAE,aAAa,2BAA2B,EACxDG,EAAeH,EAAE,aAAa,qBAAqB,EACnDI,EAAYJ,EAAE,aAAa,gBAAgB,EAC3CK,EAAO,CAAE,WAAYJ,EAAY,YAAaC,EAAa,aAAcC,EAAc,UAAWC,CAAS,EAC3GE,EAAQN,EAAE,QAAQ,cAAc,EAAE,cAAc,mCAAmC,EACnFO,EAAYC,GAAmB,CACjC,IAAMC,EAAWC,EAAwBF,CAAI,EAC7C,OAAOA,EAAK,KAAK,EAAE,KAAKG,GAChBA,EAAK,OAAS,YACPA,EAAK,KAAK,EAAE,KAAKX,GAAK,CACzBM,EAAM,UAAYN,CACtB,CAAC,GAGDY,EAAqBD,EAAMF,CAAQ,EAC5B,KAEd,CACL,EACAI,EAAS,OAAO,OAAO,0BAA2BR,EAAME,CAAQ,CACpE,CAAC,EACL,CAEA,SAASO,GAAkB,CAhD3B,IAAArB,EAAAsB,EAiDI,IAAMR,EAAYF,GACPA,EAAK,KAAK,EAAE,KAAKL,GAAK,CACzBN,EAAI,qBAAqB,EAAE,cAAc,UAAYM,EACrDT,EAAS,CACb,CAAC,GAGLE,EAAAM,EAAG,+BAA+B,IAAlC,MAAAN,EAAqC,QAAQO,GAAKA,EAAE,0BAA0B,QAAS,IAAM,CACzF,IAAMgB,EAAOhB,EAAE,QAAQ,mBAAmB,EAG1C,GAAI,CAFoBA,EAAE,QAAQ,mBAAmB,EAAE,cAAc,iDAAiD,EAEhG,CAClBA,EAAE,QAAQ,mBAAmB,EAAE,cAAc,uCAAuC,EAAE,UAAU,IAAI,wBAAwB,EAC5H,MACJ,CAGA,OAAOiB,EAAeD,EADV,IAAI,IACiBT,CAAQ,CAC7C,CAAC,IAEDQ,EAAAhB,EAAG,yCAAyC,IAA5C,MAAAgB,EAA+C,QAAQf,GAAKA,EAAE,iBAAiB,QAAS,IAAM,CAC1FA,EAAE,QAAQ,mBAAmB,EAAE,cAAc,uCAAuC,EAAE,UAAU,OAAO,wBAAwB,CACnI,CAAC,EACL,CAEA,SAASkB,GAAwB,CAC7B,IAAMC,EAAc,SAAS,uBAAuB,eAAe,EAC/DA,EAAY,QACZA,EAAY,CAAC,EAAE,eAAe,CAEtC,CAEA,SAASC,GAA0B,CAC/B,IAAMC,EAAY,SAAS,eAAe,oBAAoB,EAC1DA,GAAa,MAAQA,EAAU,UAAU,KAAK,EAAE,OAAS,GACzDA,EAAU,eAAe,CAEjC,CAEA,SAAS9B,GAAW,CAChB+B,EAAS,EACT9B,EAAU,EACVM,EAAuB,EACvBgB,EAAgB,EAChBI,EAAsB,EACtBE,EAAwB,EAExB1B,EAAI,gBAAgB,EAAE,0BAA0B,QAAS,IAAM,CAC3D,IAAMsB,EAAOtB,EAAI,WAAW,EAC5B,GAAI,CAAC6B,EAAaP,CAAI,EAClB,OAEJ,IAAMZ,EAAcV,EAAI,WAAW,EAAuB,MAAM,KAAK,EAC/D8B,EAAe9B,EAAI,cAAc,EAAuB,MAAM,KAAK,EACrEU,GAAaoB,IAEbR,EAAK,OAASA,EAAK,OAAS,IAAMZ,EAAY,IAAMoB,GAExDR,EAAK,OAAO,CAChB,CAAC,CACL", "names": ["initSass", "initPanel", "_a", "get", "__async", "getDataText", "fillPanelAndInitForm", "initDownloadPriceOffer", "$$", "x", "incidentId", "workOrderId", "priceOfferId", "reference", "data", "error", "callback", "resp", "fileName", "getFileNameFromResponse", "blob", "downloadFileFromBlob", "postData", "initPriceOffers", "_b", "form", "postFormCustom", "scrollResultsIntoView", "sassResults", "scrollFormErrorIntoView", "formError", "initTabs", "validateForm", "trackingCode"] }