{"version":3,"sources":["webpack:////home/vsts/work/1/s/src/views/blocks/racCalculatorBlock/js/racCalculatorBlock.js"],"names":["RacCalculatorBlock","el","this","$el","$","maxRad","dapSliderValue","radValue","roomTypeMaxRadDropDown","find","dapSlider","dapSliderContainer","interestRate","data","pageId","calculatorhiddenid","radInput","radTextContainer","dapTextContainer","roomTypeHelp","radContainer","resultsContainer","interestRatePlaceholder","emailEstimate","formCalculatorField","formContainer","text","setRacCalculatorBlock","initSelect2","that","on","e","selectedRoom","attr","prop","removeClass","addClass","currentTarget","value","replace","val","toLocaleString","get","style","setProperty","updateValues","currentRad","isNaN","Math","round","dapValue","show","hide","updateRadDapText","toFixed","rad","dap","select2","width","minimumResultsForSearch","placeholder"],"mappings":"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","file":"block-47.4dfb74c0df403e09dc00.js","sourcesContent":["// CONSTANTS are all caps.\nconst NS = \"RacCalculatorBlock\";\nconst CLS = \"racCalculatorBlock\";\nconst BLK = \".\" + CLS + \"-\";\nimport \"select2\";\n\n// Import stuff here if you need to or even better to import them dynamically\n// for ex. of dynamic import check out ./loadBlk.js using Webpack dynamic imports as chunks.\n// import $ from 'jquery'\n\nexport class RacCalculatorBlock {\n\tconstructor(el) {\n\t\t// $el is the blk node return by the loadRacCalculatorBlock function\n\t\tthis.$el = $(el);\n\t\tthis.maxRad = 0;\n\t\tthis.dapSliderValue = 0;\n\t\tthis.radValue = 0;\n\t\tthis.roomTypeMaxRadDropDown = this.$el.find(`#RoomTypeMaxRad`);\n\t\tthis.dapSlider = this.$el.find(`#dap-slider`);\n\t\tthis.dapSliderContainer = this.$el.find(`#dap-slider-container`);\n\t\tthis.interestRate = +this.$el.data(\"curreninterestrate\");\n\t\tthis.pageId = this.$el.data(\"pageid\");\n\t\tthis.calculatorhiddenid = this.$el.data(\"calculatorhiddenid\");\n\n\t\tthis.radInput = this.$el.find(`#rad-input`);\n\t\tthis.radTextContainer = this.$el.find(`.rad-amount`);\n\t\tthis.dapTextContainer = this.$el.find(`.dap-amount`);\n\t\tthis.roomTypeHelp = this.$el.find(`.room-type-help`);\n\t\tthis.radContainer = this.$el.find(`.calculator-container-row-rad`);\n\t\tthis.resultsContainer = this.$el.find(\n\t\t\t`.calculator-container-row-result`\n\t\t);\n\t\tthis.interestRatePlaceholder = this.$el.find(\n\t\t\t`.interest-rate-placeholder`\n\t\t);\n\t\tthis.emailEstimate = this.$el.find(`#email-estimate`);\n\t\tthis.emailEstimate = this.$el.find(`#email-estimate`);\n\t\tthis.formCalculatorField = this.$el.find(\n\t\t\t`[name=\"${this.calculatorhiddenid}\"]`\n\t\t);\n\t\tthis.formContainer = this.$el.find(`.racCalculatorBlock-form`);\n\t}\n\n\tinit() {\n\t\tthis.interestRatePlaceholder.text(this.interestRate);\n\t\tthis.setRacCalculatorBlock();\n\t\tthis.initSelect2();\n\t\tconst that = this;\n\t\tthis.roomTypeMaxRadDropDown.on(\"change\", function (e) {\n\t\t\tdebugger;\n\t\t\tthat.selectedRoom = $(this).find(\":selected\").attr(\"data-id\");\n\n\t\t\tthat.dapSlider.prop(\"disabled\", false);\n\t\t\tthat.roomTypeHelp.removeClass(\"d-none\");\n\t\t\tthat.roomTypeHelp.addClass(\"d-block\");\n\t\t\tthat.radContainer.removeClass(\"calculator-container-row-disabled\");\n\t\t\tif (e.currentTarget && e.currentTarget.value) {\n\t\t\t\tthat.roomTypeHelp.text(\"Room cost: \" + e.currentTarget.value);\n\t\t\t\tthat.maxRad = +e.currentTarget.value\n\t\t\t\t\t.replace(\",\", \"\")\n\t\t\t\t\t.replace(\"$\", \"\");\n\t\t\t\tif (that.radValue) {\n\t\t\t\t\tlet val = (that.radValue / that.maxRad) * 100;\n\t\t\t\t\tif (val >= 100) {\n\t\t\t\t\t\tval = 100;\n\t\t\t\t\t\tthat.radValue = that.maxRad;\n\t\t\t\t\t\tthat.radInput.val(\n\t\t\t\t\t\t\t`$${that.maxRad.toLocaleString(\"en\")}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthat.dapSlider.val(val);\n\t\t\t\t\t// .trigger(\"change\");\n\t\t\t\t\tthat.dapSliderValue = val;\n\t\t\t\t\tthat.dapSliderContainer\n\t\t\t\t\t\t.get(0)\n\t\t\t\t\t\t.style.setProperty(\"--value\", `${+val}`);\n\t\t\t\t}\n\t\t\t\tthat.updateValues();\n\t\t\t}\n\t\t});\n\n\t\tthis.radInput.on(\"input\", function (e) {\n\t\t\tif (e.currentTarget && e.currentTarget.value) {\n\t\t\t\tconst currentRad = +e.currentTarget.value\n\t\t\t\t\t.replace(\",\", \"\")\n\t\t\t\t\t.replace(\"$\", \"\");\n\t\t\t\tif (isNaN(currentRad)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthat.resultsContainer.removeClass(\n\t\t\t\t\t\"calculator-container-row-disabled\"\n\t\t\t\t);\n\t\t\t\tthat.radValue = currentRad;\n\t\t\t\tlet val = (that.radValue / that.maxRad) * 100;\n\n\t\t\t\tif (val >= 100) {\n\t\t\t\t\tval = 100;\n\t\t\t\t\tthat.radValue = that.maxRad;\n\t\t\t\t}\n\t\t\t\tthat.dapSlider.val(val);\n\t\t\t\t// .trigger(\"change\");\n\t\t\t\tthat.dapSliderValue = val;\n\t\t\t\tthat.dapSliderContainer\n\t\t\t\t\t.get(0)\n\t\t\t\t\t.style.setProperty(\"--value\", `${+val}`);\n\t\t\t\tthat.radInput.val(`$${that.radValue.toLocaleString(\"en\")}`);\n\n\t\t\t\tthat.updateValues();\n\t\t\t}\n\t\t});\n\n\t\tthis.dapSlider.on(\"input\", function (e) {\n\t\t\tif (e.currentTarget && e.currentTarget.value) {\n\t\t\t\tthat.dapSliderValue = +e.currentTarget.value;\n\t\t\t\tthat.radValue = Math.round(\n\t\t\t\t\t(that.dapSliderValue / 100) * that.maxRad\n\t\t\t\t);\n\t\t\t\tthat.radInput.val(\n\t\t\t\t\t`$${Math.round(\n\t\t\t\t\t\t(that.dapSliderValue / 100) * that.maxRad\n\t\t\t\t\t).toLocaleString(\"en\")}`\n\t\t\t\t);\n\n\t\t\t\tthat.updateValues();\n\t\t\t}\n\t\t});\n\n\t\tthis.emailEstimate.on(\"click\", function (e) {\n\t\t\tthat.formCalculatorField.val(\n\t\t\t\t`${that.pageId}*${that.selectedRoom}*${that.radValue}*${that.dapValue}`\n\t\t\t);\n\t\t\tthat.formContainer.show();\n\t\t\tthat.emailEstimate.hide();\n\t\t});\n\t}\n\n\tupdateValues() {\n\t\t// debugger\n\t\tconst interestRate = this.interestRate / 100.0;\n\t\tconst maxRad = this.maxRad;\n\t\tconst slidervalue = this.dapSliderValue;\n\t\tconst radValue = (slidervalue / 100.0) * maxRad;\n\t\tconst dapValue = ((maxRad - radValue) * interestRate) / 365.0;\n\t\tthis.dapValue = dapValue;\n\t\tthis.updateRadDapText(Math.round(radValue), dapValue.toFixed(2));\n\t}\n\n\tupdateRadDapText(rad, dap) {\n\t\tthis.radTextContainer.text(\"$\" + rad.toLocaleString(\"en\"));\n\t\tthis.dapTextContainer.text(\"$\" + dap.toLocaleString(\"en\") + \" / day\");\n\t}\n\n\tsetRacCalculatorBlock() {\n\t\t// Add Some logic here\n\t}\n\n\tinitSelect2() {\n\t\tthis.roomTypeMaxRadDropDown.select2({\n\t\t\t// theme: 'bootstrap4',\n\t\t\twidth: \"100%\",\n\t\t\tminimumResultsForSearch: -1,\n\t\t\tplaceholder: \"Select room\",\n\t\t});\n\t}\n\n\t// Add more functions like on above here\n}\n"],"sourceRoot":""}