{"version":3,"file":"personalizedOfferControllerChunk.js?v=23.134.0+20261102.30.bbbf8652390b5ce306040b1cece1df0dd99fac01&h=94e133da81742dd0b1f8","mappings":"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","sources":["webpack://site-client-side/./ClientApp/components/personalizedOffer/personalizedOfferController.ts"],"sourcesContent":["type LeadData = {\n VehicleYear: string;\n VehicleMake: string;\n VehicleModel: string;\n VehicleTrim: string;\n VehiclePrice: string;\n StockNum: any;\n Vin: string;\n Comments: string;\n VehicleModelCode: string;\n};\n\nexport default class PersonalizedOfferController {\n private readonly _buttonElement: HTMLElement;\n private _vin: string;\n private _modal: HTMLElement | null;\n private _src: string;\n private _offerNumber: string;\n private _leadData: LeadData;\n private _leadId: string | null;\n private _thankYou: HTMLIFrameElement | null;\n\n public constructor(element) {\n this._buttonElement = element;\n this.initialize();\n }\n\n private initialize() {\n this._buttonElement.addEventListener(\"click\", (e) =>\n this._whenButtonClicked(e)\n );\n this._vin = this._buttonElement.getAttribute(\"vin\");\n this._src = this._buttonElement.getAttribute(\"source\");\n this._modal = null;\n this._thankYou = null;\n this._offerNumber = Math.random()\n .toString(36)\n .substring(2, 8)\n .toUpperCase();\n this._leadData = {\n VehicleYear: this._buttonElement.getAttribute(\"year\"),\n VehicleMake: this._buttonElement.getAttribute(\"make\"),\n VehicleModel: this._buttonElement.getAttribute(\"model\"),\n VehicleTrim: this._buttonElement.getAttribute(\"trim\"),\n VehiclePrice: this._buttonElement.getAttribute(\"offer-price\"),\n StockNum: this._buttonElement.getAttribute(\"stock\"),\n Vin: this._buttonElement.getAttribute(\"vin\"),\n Comments: `Offer Number: ${\n this._offerNumber\n }; Offer Price: ${this._buttonElement.getAttribute(\"offer-price\")};`,\n VehicleModelCode: this._buttonElement.getAttribute(\"vehicle-model-code\"),\n };\n this._leadId = null;\n if (window.DGDataHub !== undefined) {\n window.DealeronLead.thirdPartyJsonAdapter.setData({\n dg_dgid: window.DGDataHub.getDgid(),\n });\n }\n }\n\n private _whenButtonClicked(e) {\n if (this._modal !== null) {\n ($(this._modal) as any).modal(\"show\");\n return;\n }\n /// Add css for modal\n const personalizedOfferCssHref = document.querySelector(\n `link[rel=\"stylesheet\"][href=\"/resources/components/personalizedOffer/css/personalizedOffer.css\"]`\n );\n if (!personalizedOfferCssHref) {\n const assetsPath = window.AssetsPath || \"https://cdn.dlron.us/\";\n const link = document.createElement(\"LINK\") as HTMLLinkElement;\n link.rel = \"stylesheet\";\n link.href = `${assetsPath}resources/components/personalizedOffer/css/personalizedOffer.css`;\n document.head.appendChild(link);\n }\n\n // Create modal\n this._modal = document.createElement(\"div\");\n this._modal.className = \"modal fade\";\n this._modal.innerHTML = `
\n
\n
\n \n
\n
\n
`;\n document.body.appendChild(this._modal);\n // Load content into modal\n ($(this._modal) as any)\n .modal(\"show\")\n .find(\".modal-content\")\n .load(\n `/getpersonalizedoffer.aspx?vin=${this._vin}&src=${this._src}`,\n () => this._whenModalLoaded()\n );\n }\n\n private _whenModalLoaded() {\n const submissionMethodName = `personalizedOffer-${this._vin}`;\n const $form = $(this._modal).find(\"form\");\n const formId = `#po-contact-form-${this._vin}`;\n window.DealeronLead.addSubmissionMethod(submissionMethodName, {\n leadSource: DoUtility.isMobile ? 273 : 272,\n leadType: 1,\n additionalData: (form) => {\n this._leadData.Comments += \" Comments: \" + form.elements.Comments.value;\n if (document.getElementById(\"optOut\")) {\n this._leadData.Comments +=\n \"; Do Not Sell Personal Info: \" +\n (document.getElementById(\"optOut\") as HTMLInputElement).checked;\n }\n return this._leadData;\n },\n successCallback: (data) => {\n const response = JSON.parse(data);\n this._leadId = response.leadId;\n this._whenLeadSubmitted();\n },\n errorCallback: (request, status, error) => {\n alert(\"There was a problem creating your offer. Please try again.\");\n $(`${formId} [type=submit]`).prop(\"disabled\", false);\n },\n });\n window.DealeronLead.initialize($form, submissionMethodName);\n $(`${formId} input`).on(\"focusout\", () => window.DealeronLead.begin());\n }\n\n private _whenLeadSubmitted() {\n const $modal = $(this._modal);\n $modal.find(\".po-number\").text(this._offerNumber);\n $modal.find(\"#po-close-btn\").text(\"close\");\n $modal.find(\"#po-page-1\").removeClass(\"po-page-active\");\n $modal.find(\"#po-page-2\").addClass(\"po-page-active\");\n $modal.find(\"#po-next-btn\").hide();\n $modal\n .find(\"#po-print-btn\")\n .attr(\n \"href\",\n `/getpersonalizedoffer.aspx?vin=${this._vin}&src=${this._src}&offer=${this._offerNumber}`\n )\n .show();\n this._createHiddenThankYou();\n window.DealeronLead.thirdPartyJsonAdapter.reset();\n }\n\n private _createHiddenThankYou() {\n this._thankYou = document.createElement(\"iframe\");\n\n document.body.appendChild(this._thankYou);\n $(this._thankYou).attr(\"src\", `/thankyou.aspx?&lid=${this._leadId}`).hide();\n }\n}\n"],"names":["PersonalizedOfferController","element","this","_buttonElement","initialize","addEventListener","e","_whenButtonClicked","_vin","getAttribute","_src","_modal","_thankYou","_offerNumber","Math","random","toString","substring","toUpperCase","_leadData","VehicleYear","VehicleMake","VehicleModel","VehicleTrim","VehiclePrice","StockNum","Vin","Comments","VehicleModelCode","_leadId","undefined","window","DGDataHub","DealeronLead","thirdPartyJsonAdapter","setData","dg_dgid","getDgid","document","querySelector","assetsPath","AssetsPath","link","createElement","rel","href","head","appendChild","className","innerHTML","body","$","modal","find","load","_whenModalLoaded","submissionMethodName","$form","formId","addSubmissionMethod","leadSource","DoUtility","isMobile","leadType","additionalData","form","elements","value","getElementById","checked","successCallback","data","response","JSON","parse","leadId","_whenLeadSubmitted","errorCallback","request","status","error","alert","prop","on","begin","$modal","text","removeClass","addClass","hide","attr","show","_createHiddenThankYou","reset"],"sourceRoot":""}