{"version":3,"file":"landingpage.js","mappings":"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","sources":["webpack://app/./node_modules/noUiSlider/dist/nouislider.js","webpack://app/./node_modules/resumablejs/resumable.js","webpack://app/webpack/bootstrap","webpack://app/webpack/runtime/compat get default export","webpack://app/webpack/runtime/define property getters","webpack://app/webpack/runtime/hasOwnProperty shorthand","webpack://app/external var \"Vue\"","webpack://app/external var \"Axios\"","webpack://app/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://app/./Scripts/Infrastructure/CookieHelper.ts","webpack://app/./Scripts/Components/CookieToast/CookieToast.ts","webpack://app/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://app/./Scripts/Components/CookieToast/CookieToast.vue","webpack://app/./Scripts/Components/CookieToast/CookieToast.vue?5b87","webpack://app/./Scripts/Common/Localizer.ts","webpack://app/./Scripts/Components/PrivacyPolicy/PrivacyPolicy.ts","webpack://app/./Scripts/Components/PrivacyPolicy/PrivacyPolicy.vue","webpack://app/./Scripts/Components/PrivacyPolicy/PrivacyPolicy.vue?d18e","webpack://app/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://app/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://app/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://app/./Scripts/Common/FormHelper.ts","webpack://app/./Scripts/Infrastructure/GTagHelper.ts","webpack://app/./Scripts/Components/WorkWithUs/JobProfileSubmit.ts","webpack://app/./Scripts/Components/WorkWithUs/JobProfileSubmit.vue","webpack://app/./Scripts/Components/WorkWithUs/JobProfileSubmit.vue?f273","webpack://app/./Scripts/Common/DataHelper.ts","webpack://app/./Scripts/Components/MaintenancePackage/MaintenancePackageEstimateRequest.ts","webpack://app/./Scripts/Components/MaintenancePackage/MaintenancePackageEstimateRequest.vue","webpack://app/./Scripts/Components/MaintenancePackage/MaintenancePackageEstimateRequest.vue?067a","webpack://app/./Areas/DealerSite/Scripts/Components/ClassifiedPTWList/ClassifiedPTWList.vue?097f","webpack://app/./Areas/DealerSite/Scripts/Components/ClassifiedPTWList/ClassifiedPTWList.ts","webpack://app/./Areas/DealerSite/Scripts/Components/ClassifiedPTWList/ClassifiedPTWList.vue","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPoint/DealerPointCard.vue?e910","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPoint/DealerPointCard.ts","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPoint/DealerPointCard.vue","webpack://app/./Scripts/Infrastructure/GoogleMapsLocator.ts","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPointMap/DealerPointMap.ts","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPointMap/DealerPointMap.vue","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPointMap/DealerPointMap.vue?9359","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPoint/DealerPointSelector.vue?9511","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPoint/DealerPointSelector.ts","webpack://app/./Areas/DealerSite/Scripts/Components/DealerPoint/DealerPointSelector.vue","webpack://app/./Areas/DealerSite/Scripts/Components/InfoRequest/InfoRequest.vue?fb26","webpack://app/./Areas/DealerSite/Scripts/Components/InfoRequest/InfoRequest.ts","webpack://app/./Areas/DealerSite/Scripts/Components/InfoRequest/InfoRequest.vue","webpack://app/./Areas/DealerSite/Scripts/Components/InfoRequest/InfoRequestCta.vue?1dfd","webpack://app/./Areas/DealerSite/Scripts/Components/InfoRequest/InfoRequestCta.ts","webpack://app/./Areas/DealerSite/Scripts/Components/InfoRequest/InfoRequestCta.vue","webpack://app/./node_modules/@easepick/datetime/dist/index.esm.js","webpack://app/./node_modules/@easepick/core/dist/index.esm.js","webpack://app/./node_modules/@easepick/base-plugin/dist/index.esm.js","webpack://app/./node_modules/@easepick/range-plugin/dist/index.esm.js","webpack://app/./node_modules/@easepick/lock-plugin/dist/index.esm.js","webpack://app/./Areas/DealerSite/Scripts/Components/Rental/RentalBooking.ts","webpack://app/./Areas/DealerSite/Scripts/Components/Rental/RentalBooking.vue","webpack://app/./Areas/DealerSite/Scripts/Components/Rental/RentalBooking.vue?8ff3","webpack://app/./Areas/DealerSite/Scripts/Components/ShowCaseList/ShowCaseList.ts","webpack://app/./Areas/DealerSite/Scripts/Components/ShowCaseList/ShowCaseList.vue","webpack://app/./Areas/DealerSite/Scripts/Components/ShowCaseList/ShowCaseList.vue?7dc9","webpack://app/./Areas/DealerSite/Scripts/Components/Toast/Toast.ts","webpack://app/./Areas/DealerSite/Scripts/Components/Toast/Toast.vue","webpack://app/./Areas/DealerSite/Scripts/Components/Toast/Toast.vue?a90e","webpack://app/./Areas/DealerSite/Scripts/Components/Whatsapp/Whatsapp.ts","webpack://app/./Areas/DealerSite/Scripts/Components/Whatsapp/Whatsapp.vue","webpack://app/./Areas/DealerSite/Scripts/Components/Whatsapp/Whatsapp.vue?61b5","webpack://app/./Areas/DealerSite/Scripts/Components/BikeAppraisal/BikeAppraisalRequest.vue?0907","webpack://app/./Areas/DealerSite/Scripts/Components/BikeAppraisal/BikeAppraisalRequest.ts","webpack://app/./Areas/DealerSite/Scripts/Components/BikeAppraisal/BikeAppraisalRequest.vue","webpack://app/./Areas/DealerSite/Scripts/Components/BikeAppraisal/Uploader.vue?4ace","webpack://app/./Scripts/Common/MediaHelper.ts","webpack://app/./Areas/DealerSite/Scripts/Components/BikeAppraisal/Uploader.ts","webpack://app/./Areas/DealerSite/Scripts/Components/BikeAppraisal/Uploader.vue","webpack://app/./Areas/DealerSite/Scripts/Directives/ExpMenu/ExpMenu.ts","webpack://app/./Areas/DealerSite/Scripts/Directives/ExpMenu/ExpMenuLink.ts","webpack://app/./Scripts/Directives/CloseJobProfileForm/CloseJobProfileForm.ts","webpack://app/./Areas/DealerSite/Scripts/Config/AppConfig.ts","webpack://app/external var \"VueRouter\"","webpack://app/./Areas/DealerSite/Scripts/Config/RouteConfig.ts","webpack://app/external var \"Vuex\"","webpack://app/./Areas/DealerSite/Scripts/Stores/DealerStore.ts","webpack://app/./Areas/DealerSite/Scripts/Stores/OpeningTimeStore.ts","webpack://app/./Areas/DealerSite/Scripts/Config/StoreConfig.ts","webpack://app/./Scripts/Infrastructure/LegacyFormHelper.ts","webpack://app/./Areas/DealerSite/Scripts/Pages/LandingPage.ts","webpack://app/./Areas/DealerSite/Scripts/Landing.ts","webpack://app/./Areas/DealerSite/Scripts/Pages/BasePage.ts"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.noUiSlider = {}));\n}(this, (function (exports) { 'use strict';\n\n exports.PipsMode = void 0;\n (function (PipsMode) {\n PipsMode[\"Range\"] = \"range\";\n PipsMode[\"Steps\"] = \"steps\";\n PipsMode[\"Positions\"] = \"positions\";\n PipsMode[\"Count\"] = \"count\";\n PipsMode[\"Values\"] = \"values\";\n })(exports.PipsMode || (exports.PipsMode = {}));\n exports.PipsType = void 0;\n (function (PipsType) {\n PipsType[PipsType[\"None\"] = -1] = \"None\";\n PipsType[PipsType[\"NoValue\"] = 0] = \"NoValue\";\n PipsType[PipsType[\"LargeValue\"] = 1] = \"LargeValue\";\n PipsType[PipsType[\"SmallValue\"] = 2] = \"SmallValue\";\n })(exports.PipsType || (exports.PipsType = {}));\n //region Helper Methods\n function isValidFormatter(entry) {\n return isValidPartialFormatter(entry) && typeof entry.from === \"function\";\n }\n function isValidPartialFormatter(entry) {\n // partial formatters only need a to function and not a from function\n return typeof entry === \"object\" && typeof entry.to === \"function\";\n }\n function removeElement(el) {\n el.parentElement.removeChild(el);\n }\n function isSet(value) {\n return value !== null && value !== undefined;\n }\n // Bindable version\n function preventDefault(e) {\n e.preventDefault();\n }\n // Removes duplicates from an array.\n function unique(array) {\n return array.filter(function (a) {\n return !this[a] ? (this[a] = true) : false;\n }, {});\n }\n // Round a value to the closest 'to'.\n function closest(value, to) {\n return Math.round(value / to) * to;\n }\n // Current position of an element relative to the document.\n function offset(elem, orientation) {\n var rect = elem.getBoundingClientRect();\n var doc = elem.ownerDocument;\n var docElem = doc.documentElement;\n var pageOffset = getPageOffset(doc);\n // getBoundingClientRect contains left scroll in Chrome on Android.\n // I haven't found a feature detection that proves this. Worst case\n // scenario on mis-match: the 'tap' feature on horizontal sliders breaks.\n if (/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)) {\n pageOffset.x = 0;\n }\n return orientation ? rect.top + pageOffset.y - docElem.clientTop : rect.left + pageOffset.x - docElem.clientLeft;\n }\n // Checks whether a value is numerical.\n function isNumeric(a) {\n return typeof a === \"number\" && !isNaN(a) && isFinite(a);\n }\n // Sets a class and removes it after [duration] ms.\n function addClassFor(element, className, duration) {\n if (duration > 0) {\n addClass(element, className);\n setTimeout(function () {\n removeClass(element, className);\n }, duration);\n }\n }\n // Limits a value to 0 - 100\n function limit(a) {\n return Math.max(Math.min(a, 100), 0);\n }\n // Wraps a variable as an array, if it isn't one yet.\n // Note that an input array is returned by reference!\n function asArray(a) {\n return Array.isArray(a) ? a : [a];\n }\n // Counts decimals\n function countDecimals(numStr) {\n numStr = String(numStr);\n var pieces = numStr.split(\".\");\n return pieces.length > 1 ? pieces[1].length : 0;\n }\n // http://youmightnotneedjquery.com/#add_class\n function addClass(el, className) {\n if (el.classList && !/\\s/.test(className)) {\n el.classList.add(className);\n }\n else {\n el.className += \" \" + className;\n }\n }\n // http://youmightnotneedjquery.com/#remove_class\n function removeClass(el, className) {\n if (el.classList && !/\\s/.test(className)) {\n el.classList.remove(className);\n }\n else {\n el.className = el.className.replace(new RegExp(\"(^|\\\\b)\" + className.split(\" \").join(\"|\") + \"(\\\\b|$)\", \"gi\"), \" \");\n }\n }\n // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/\n function hasClass(el, className) {\n return el.classList ? el.classList.contains(className) : new RegExp(\"\\\\b\" + className + \"\\\\b\").test(el.className);\n }\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes\n function getPageOffset(doc) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (doc.compatMode || \"\") === \"CSS1Compat\";\n var x = supportPageOffset\n ? window.pageXOffset\n : isCSS1Compat\n ? doc.documentElement.scrollLeft\n : doc.body.scrollLeft;\n var y = supportPageOffset\n ? window.pageYOffset\n : isCSS1Compat\n ? doc.documentElement.scrollTop\n : doc.body.scrollTop;\n return {\n x: x,\n y: y\n };\n }\n // we provide a function to compute constants instead\n // of accessing window.* as soon as the module needs it\n // so that we do not compute anything if not needed\n function getActions() {\n // Determine the events to bind. IE11 implements pointerEvents without\n // a prefix, which breaks compatibility with the IE10 implementation.\n return window.navigator.pointerEnabled\n ? {\n start: \"pointerdown\",\n move: \"pointermove\",\n end: \"pointerup\"\n }\n : window.navigator.msPointerEnabled\n ? {\n start: \"MSPointerDown\",\n move: \"MSPointerMove\",\n end: \"MSPointerUp\"\n }\n : {\n start: \"mousedown touchstart\",\n move: \"mousemove touchmove\",\n end: \"mouseup touchend\"\n };\n }\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n // Issue #785\n function getSupportsPassive() {\n var supportsPassive = false;\n /* eslint-disable */\n try {\n var opts = Object.defineProperty({}, \"passive\", {\n get: function () {\n supportsPassive = true;\n }\n });\n // @ts-ignore\n window.addEventListener(\"test\", null, opts);\n }\n catch (e) { }\n /* eslint-enable */\n return supportsPassive;\n }\n function getSupportsTouchActionNone() {\n return window.CSS && CSS.supports && CSS.supports(\"touch-action\", \"none\");\n }\n //endregion\n //region Range Calculation\n // Determine the size of a sub-range in relation to a full range.\n function subRangeRatio(pa, pb) {\n return 100 / (pb - pa);\n }\n // (percentage) How many percent is this value of this range?\n function fromPercentage(range, value, startRange) {\n return (value * 100) / (range[startRange + 1] - range[startRange]);\n }\n // (percentage) Where is this value on this range?\n function toPercentage(range, value) {\n return fromPercentage(range, range[0] < 0 ? value + Math.abs(range[0]) : value - range[0], 0);\n }\n // (value) How much is this percentage on this range?\n function isPercentage(range, value) {\n return (value * (range[1] - range[0])) / 100 + range[0];\n }\n function getJ(value, arr) {\n var j = 1;\n while (value >= arr[j]) {\n j += 1;\n }\n return j;\n }\n // (percentage) Input a value, find where, on a scale of 0-100, it applies.\n function toStepping(xVal, xPct, value) {\n if (value >= xVal.slice(-1)[0]) {\n return 100;\n }\n var j = getJ(value, xVal);\n var va = xVal[j - 1];\n var vb = xVal[j];\n var pa = xPct[j - 1];\n var pb = xPct[j];\n return pa + toPercentage([va, vb], value) / subRangeRatio(pa, pb);\n }\n // (value) Input a percentage, find where it is on the specified range.\n function fromStepping(xVal, xPct, value) {\n // There is no range group that fits 100\n if (value >= 100) {\n return xVal.slice(-1)[0];\n }\n var j = getJ(value, xPct);\n var va = xVal[j - 1];\n var vb = xVal[j];\n var pa = xPct[j - 1];\n var pb = xPct[j];\n return isPercentage([va, vb], (value - pa) * subRangeRatio(pa, pb));\n }\n // (percentage) Get the step that applies at a certain value.\n function getStep(xPct, xSteps, snap, value) {\n if (value === 100) {\n return value;\n }\n var j = getJ(value, xPct);\n var a = xPct[j - 1];\n var b = xPct[j];\n // If 'snap' is set, steps are used as fixed points on the slider.\n if (snap) {\n // Find the closest position, a or b.\n if (value - a > (b - a) / 2) {\n return b;\n }\n return a;\n }\n if (!xSteps[j - 1]) {\n return value;\n }\n return xPct[j - 1] + closest(value - xPct[j - 1], xSteps[j - 1]);\n }\n //endregion\n //region Spectrum\n var Spectrum = /** @class */ (function () {\n function Spectrum(entry, snap, singleStep) {\n this.xPct = [];\n this.xVal = [];\n this.xSteps = [];\n this.xNumSteps = [];\n this.xHighestCompleteStep = [];\n this.xSteps = [singleStep || false];\n this.xNumSteps = [false];\n this.snap = snap;\n var index;\n var ordered = [];\n // Map the object keys to an array.\n Object.keys(entry).forEach(function (index) {\n ordered.push([asArray(entry[index]), index]);\n });\n // Sort all entries by value (numeric sort).\n ordered.sort(function (a, b) {\n return a[0][0] - b[0][0];\n });\n // Convert all entries to subranges.\n for (index = 0; index < ordered.length; index++) {\n this.handleEntryPoint(ordered[index][1], ordered[index][0]);\n }\n // Store the actual step values.\n // xSteps is sorted in the same order as xPct and xVal.\n this.xNumSteps = this.xSteps.slice(0);\n // Convert all numeric steps to the percentage of the subrange they represent.\n for (index = 0; index < this.xNumSteps.length; index++) {\n this.handleStepPoint(index, this.xNumSteps[index]);\n }\n }\n Spectrum.prototype.getDistance = function (value) {\n var distances = [];\n for (var index = 0; index < this.xNumSteps.length - 1; index++) {\n distances[index] = fromPercentage(this.xVal, value, index);\n }\n return distances;\n };\n // Calculate the percentual distance over the whole scale of ranges.\n // direction: 0 = backwards / 1 = forwards\n Spectrum.prototype.getAbsoluteDistance = function (value, distances, direction) {\n var xPct_index = 0;\n // Calculate range where to start calculation\n if (value < this.xPct[this.xPct.length - 1]) {\n while (value > this.xPct[xPct_index + 1]) {\n xPct_index++;\n }\n }\n else if (value === this.xPct[this.xPct.length - 1]) {\n xPct_index = this.xPct.length - 2;\n }\n // If looking backwards and the value is exactly at a range separator then look one range further\n if (!direction && value === this.xPct[xPct_index + 1]) {\n xPct_index++;\n }\n if (distances === null) {\n distances = [];\n }\n var start_factor;\n var rest_factor = 1;\n var rest_rel_distance = distances[xPct_index];\n var range_pct = 0;\n var rel_range_distance = 0;\n var abs_distance_counter = 0;\n var range_counter = 0;\n // Calculate what part of the start range the value is\n if (direction) {\n start_factor = (value - this.xPct[xPct_index]) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]);\n }\n else {\n start_factor = (this.xPct[xPct_index + 1] - value) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]);\n }\n // Do until the complete distance across ranges is calculated\n while (rest_rel_distance > 0) {\n // Calculate the percentage of total range\n range_pct = this.xPct[xPct_index + 1 + range_counter] - this.xPct[xPct_index + range_counter];\n // Detect if the margin, padding or limit is larger then the current range and calculate\n if (distances[xPct_index + range_counter] * rest_factor + 100 - start_factor * 100 > 100) {\n // If larger then take the percentual distance of the whole range\n rel_range_distance = range_pct * start_factor;\n // Rest factor of relative percentual distance still to be calculated\n rest_factor = (rest_rel_distance - 100 * start_factor) / distances[xPct_index + range_counter];\n // Set start factor to 1 as for next range it does not apply.\n start_factor = 1;\n }\n else {\n // If smaller or equal then take the percentual distance of the calculate percentual part of that range\n rel_range_distance = ((distances[xPct_index + range_counter] * range_pct) / 100) * rest_factor;\n // No rest left as the rest fits in current range\n rest_factor = 0;\n }\n if (direction) {\n abs_distance_counter = abs_distance_counter - rel_range_distance;\n // Limit range to first range when distance becomes outside of minimum range\n if (this.xPct.length + range_counter >= 1) {\n range_counter--;\n }\n }\n else {\n abs_distance_counter = abs_distance_counter + rel_range_distance;\n // Limit range to last range when distance becomes outside of maximum range\n if (this.xPct.length - range_counter >= 1) {\n range_counter++;\n }\n }\n // Rest of relative percentual distance still to be calculated\n rest_rel_distance = distances[xPct_index + range_counter] * rest_factor;\n }\n return value + abs_distance_counter;\n };\n Spectrum.prototype.toStepping = function (value) {\n value = toStepping(this.xVal, this.xPct, value);\n return value;\n };\n Spectrum.prototype.fromStepping = function (value) {\n return fromStepping(this.xVal, this.xPct, value);\n };\n Spectrum.prototype.getStep = function (value) {\n value = getStep(this.xPct, this.xSteps, this.snap, value);\n return value;\n };\n Spectrum.prototype.getDefaultStep = function (value, isDown, size) {\n var j = getJ(value, this.xPct);\n // When at the top or stepping down, look at the previous sub-range\n if (value === 100 || (isDown && value === this.xPct[j - 1])) {\n j = Math.max(j - 1, 1);\n }\n return (this.xVal[j] - this.xVal[j - 1]) / size;\n };\n Spectrum.prototype.getNearbySteps = function (value) {\n var j = getJ(value, this.xPct);\n return {\n stepBefore: {\n startValue: this.xVal[j - 2],\n step: this.xNumSteps[j - 2],\n highestStep: this.xHighestCompleteStep[j - 2]\n },\n thisStep: {\n startValue: this.xVal[j - 1],\n step: this.xNumSteps[j - 1],\n highestStep: this.xHighestCompleteStep[j - 1]\n },\n stepAfter: {\n startValue: this.xVal[j],\n step: this.xNumSteps[j],\n highestStep: this.xHighestCompleteStep[j]\n }\n };\n };\n Spectrum.prototype.countStepDecimals = function () {\n var stepDecimals = this.xNumSteps.map(countDecimals);\n return Math.max.apply(null, stepDecimals);\n };\n Spectrum.prototype.hasNoSize = function () {\n return this.xVal[0] === this.xVal[this.xVal.length - 1];\n };\n // Outside testing\n Spectrum.prototype.convert = function (value) {\n return this.getStep(this.toStepping(value));\n };\n Spectrum.prototype.handleEntryPoint = function (index, value) {\n var percentage;\n // Covert min/max syntax to 0 and 100.\n if (index === \"min\") {\n percentage = 0;\n }\n else if (index === \"max\") {\n percentage = 100;\n }\n else {\n percentage = parseFloat(index);\n }\n // Check for correct input.\n if (!isNumeric(percentage) || !isNumeric(value[0])) {\n throw new Error(\"noUiSlider: 'range' value isn't numeric.\");\n }\n // Store values.\n this.xPct.push(percentage);\n this.xVal.push(value[0]);\n var value1 = Number(value[1]);\n // NaN will evaluate to false too, but to keep\n // logging clear, set step explicitly. Make sure\n // not to override the 'step' setting with false.\n if (!percentage) {\n if (!isNaN(value1)) {\n this.xSteps[0] = value1;\n }\n }\n else {\n this.xSteps.push(isNaN(value1) ? false : value1);\n }\n this.xHighestCompleteStep.push(0);\n };\n Spectrum.prototype.handleStepPoint = function (i, n) {\n // Ignore 'false' stepping.\n if (!n) {\n return;\n }\n // Step over zero-length ranges (#948);\n if (this.xVal[i] === this.xVal[i + 1]) {\n this.xSteps[i] = this.xHighestCompleteStep[i] = this.xVal[i];\n return;\n }\n // Factor to range ratio\n this.xSteps[i] =\n fromPercentage([this.xVal[i], this.xVal[i + 1]], n, 0) / subRangeRatio(this.xPct[i], this.xPct[i + 1]);\n var totalSteps = (this.xVal[i + 1] - this.xVal[i]) / this.xNumSteps[i];\n var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1);\n var step = this.xVal[i] + this.xNumSteps[i] * highestStep;\n this.xHighestCompleteStep[i] = step;\n };\n return Spectrum;\n }());\n //endregion\n //region Options\n /*\tEvery input option is tested and parsed. This will prevent\n endless validation in internal methods. These tests are\n structured with an item for every option available. An\n option can be marked as required by setting the 'r' flag.\n The testing function is provided with three arguments:\n - The provided value for the option;\n - A reference to the options object;\n - The name for the option;\n\n The testing function returns false when an error is detected,\n or true when everything is OK. It can also modify the option\n object, to make sure all values can be correctly looped elsewhere. */\n //region Defaults\n var defaultFormatter = {\n to: function (value) {\n return value === undefined ? \"\" : value.toFixed(2);\n },\n from: Number\n };\n var cssClasses = {\n target: \"target\",\n base: \"base\",\n origin: \"origin\",\n handle: \"handle\",\n handleLower: \"handle-lower\",\n handleUpper: \"handle-upper\",\n touchArea: \"touch-area\",\n horizontal: \"horizontal\",\n vertical: \"vertical\",\n background: \"background\",\n connect: \"connect\",\n connects: \"connects\",\n ltr: \"ltr\",\n rtl: \"rtl\",\n textDirectionLtr: \"txt-dir-ltr\",\n textDirectionRtl: \"txt-dir-rtl\",\n draggable: \"draggable\",\n drag: \"state-drag\",\n tap: \"state-tap\",\n active: \"active\",\n tooltip: \"tooltip\",\n pips: \"pips\",\n pipsHorizontal: \"pips-horizontal\",\n pipsVertical: \"pips-vertical\",\n marker: \"marker\",\n markerHorizontal: \"marker-horizontal\",\n markerVertical: \"marker-vertical\",\n markerNormal: \"marker-normal\",\n markerLarge: \"marker-large\",\n markerSub: \"marker-sub\",\n value: \"value\",\n valueHorizontal: \"value-horizontal\",\n valueVertical: \"value-vertical\",\n valueNormal: \"value-normal\",\n valueLarge: \"value-large\",\n valueSub: \"value-sub\"\n };\n // Namespaces of internal event listeners\n var INTERNAL_EVENT_NS = {\n tooltips: \".__tooltips\",\n aria: \".__aria\"\n };\n //endregion\n function testStep(parsed, entry) {\n if (!isNumeric(entry)) {\n throw new Error(\"noUiSlider: 'step' is not numeric.\");\n }\n // The step option can still be used to set stepping\n // for linear sliders. Overwritten if set in 'range'.\n parsed.singleStep = entry;\n }\n function testKeyboardPageMultiplier(parsed, entry) {\n if (!isNumeric(entry)) {\n throw new Error(\"noUiSlider: 'keyboardPageMultiplier' is not numeric.\");\n }\n parsed.keyboardPageMultiplier = entry;\n }\n function testKeyboardMultiplier(parsed, entry) {\n if (!isNumeric(entry)) {\n throw new Error(\"noUiSlider: 'keyboardMultiplier' is not numeric.\");\n }\n parsed.keyboardMultiplier = entry;\n }\n function testKeyboardDefaultStep(parsed, entry) {\n if (!isNumeric(entry)) {\n throw new Error(\"noUiSlider: 'keyboardDefaultStep' is not numeric.\");\n }\n parsed.keyboardDefaultStep = entry;\n }\n function testRange(parsed, entry) {\n // Filter incorrect input.\n if (typeof entry !== \"object\" || Array.isArray(entry)) {\n throw new Error(\"noUiSlider: 'range' is not an object.\");\n }\n // Catch missing start or end.\n if (entry.min === undefined || entry.max === undefined) {\n throw new Error(\"noUiSlider: Missing 'min' or 'max' in 'range'.\");\n }\n parsed.spectrum = new Spectrum(entry, parsed.snap || false, parsed.singleStep);\n }\n function testStart(parsed, entry) {\n entry = asArray(entry);\n // Validate input. Values aren't tested, as the public .val method\n // will always provide a valid location.\n if (!Array.isArray(entry) || !entry.length) {\n throw new Error(\"noUiSlider: 'start' option is incorrect.\");\n }\n // Store the number of handles.\n parsed.handles = entry.length;\n // When the slider is initialized, the .val method will\n // be called with the start options.\n parsed.start = entry;\n }\n function testSnap(parsed, entry) {\n if (typeof entry !== \"boolean\") {\n throw new Error(\"noUiSlider: 'snap' option must be a boolean.\");\n }\n // Enforce 100% stepping within subranges.\n parsed.snap = entry;\n }\n function testAnimate(parsed, entry) {\n if (typeof entry !== \"boolean\") {\n throw new Error(\"noUiSlider: 'animate' option must be a boolean.\");\n }\n // Enforce 100% stepping within subranges.\n parsed.animate = entry;\n }\n function testAnimationDuration(parsed, entry) {\n if (typeof entry !== \"number\") {\n throw new Error(\"noUiSlider: 'animationDuration' option must be a number.\");\n }\n parsed.animationDuration = entry;\n }\n function testConnect(parsed, entry) {\n var connect = [false];\n var i;\n // Map legacy options\n if (entry === \"lower\") {\n entry = [true, false];\n }\n else if (entry === \"upper\") {\n entry = [false, true];\n }\n // Handle boolean options\n if (entry === true || entry === false) {\n for (i = 1; i < parsed.handles; i++) {\n connect.push(entry);\n }\n connect.push(false);\n }\n // Reject invalid input\n else if (!Array.isArray(entry) || !entry.length || entry.length !== parsed.handles + 1) {\n throw new Error(\"noUiSlider: 'connect' option doesn't match handle count.\");\n }\n else {\n connect = entry;\n }\n parsed.connect = connect;\n }\n function testOrientation(parsed, entry) {\n // Set orientation to an a numerical value for easy\n // array selection.\n switch (entry) {\n case \"horizontal\":\n parsed.ort = 0;\n break;\n case \"vertical\":\n parsed.ort = 1;\n break;\n default:\n throw new Error(\"noUiSlider: 'orientation' option is invalid.\");\n }\n }\n function testMargin(parsed, entry) {\n if (!isNumeric(entry)) {\n throw new Error(\"noUiSlider: 'margin' option must be numeric.\");\n }\n // Issue #582\n if (entry === 0) {\n return;\n }\n parsed.margin = parsed.spectrum.getDistance(entry);\n }\n function testLimit(parsed, entry) {\n if (!isNumeric(entry)) {\n throw new Error(\"noUiSlider: 'limit' option must be numeric.\");\n }\n parsed.limit = parsed.spectrum.getDistance(entry);\n if (!parsed.limit || parsed.handles < 2) {\n throw new Error(\"noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.\");\n }\n }\n function testPadding(parsed, entry) {\n var index;\n if (!isNumeric(entry) && !Array.isArray(entry)) {\n throw new Error(\"noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.\");\n }\n if (Array.isArray(entry) && !(entry.length === 2 || isNumeric(entry[0]) || isNumeric(entry[1]))) {\n throw new Error(\"noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.\");\n }\n if (entry === 0) {\n return;\n }\n if (!Array.isArray(entry)) {\n entry = [entry, entry];\n }\n // 'getDistance' returns false for invalid values.\n parsed.padding = [parsed.spectrum.getDistance(entry[0]), parsed.spectrum.getDistance(entry[1])];\n for (index = 0; index < parsed.spectrum.xNumSteps.length - 1; index++) {\n // last \"range\" can't contain step size as it is purely an endpoint.\n if (parsed.padding[0][index] < 0 || parsed.padding[1][index] < 0) {\n throw new Error(\"noUiSlider: 'padding' option must be a positive number(s).\");\n }\n }\n var totalPadding = entry[0] + entry[1];\n var firstValue = parsed.spectrum.xVal[0];\n var lastValue = parsed.spectrum.xVal[parsed.spectrum.xVal.length - 1];\n if (totalPadding / (lastValue - firstValue) > 1) {\n throw new Error(\"noUiSlider: 'padding' option must not exceed 100% of the range.\");\n }\n }\n function testDirection(parsed, entry) {\n // Set direction as a numerical value for easy parsing.\n // Invert connection for RTL sliders, so that the proper\n // handles get the connect/background classes.\n switch (entry) {\n case \"ltr\":\n parsed.dir = 0;\n break;\n case \"rtl\":\n parsed.dir = 1;\n break;\n default:\n throw new Error(\"noUiSlider: 'direction' option was not recognized.\");\n }\n }\n function testBehaviour(parsed, entry) {\n // Make sure the input is a string.\n if (typeof entry !== \"string\") {\n throw new Error(\"noUiSlider: 'behaviour' must be a string containing options.\");\n }\n // Check if the string contains any keywords.\n // None are required.\n var tap = entry.indexOf(\"tap\") >= 0;\n var drag = entry.indexOf(\"drag\") >= 0;\n var fixed = entry.indexOf(\"fixed\") >= 0;\n var snap = entry.indexOf(\"snap\") >= 0;\n var hover = entry.indexOf(\"hover\") >= 0;\n var unconstrained = entry.indexOf(\"unconstrained\") >= 0;\n var dragAll = entry.indexOf(\"drag-all\") >= 0;\n if (fixed) {\n if (parsed.handles !== 2) {\n throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");\n }\n // Use margin to enforce fixed state\n testMargin(parsed, parsed.start[1] - parsed.start[0]);\n }\n if (unconstrained && (parsed.margin || parsed.limit)) {\n throw new Error(\"noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit\");\n }\n parsed.events = {\n tap: tap || snap,\n drag: drag,\n dragAll: dragAll,\n fixed: fixed,\n snap: snap,\n hover: hover,\n unconstrained: unconstrained\n };\n }\n function testTooltips(parsed, entry) {\n if (entry === false) {\n return;\n }\n if (entry === true || isValidPartialFormatter(entry)) {\n parsed.tooltips = [];\n for (var i = 0; i < parsed.handles; i++) {\n parsed.tooltips.push(entry);\n }\n }\n else {\n entry = asArray(entry);\n if (entry.length !== parsed.handles) {\n throw new Error(\"noUiSlider: must pass a formatter for all handles.\");\n }\n entry.forEach(function (formatter) {\n if (typeof formatter !== \"boolean\" && !isValidPartialFormatter(formatter)) {\n throw new Error(\"noUiSlider: 'tooltips' must be passed a formatter or 'false'.\");\n }\n });\n parsed.tooltips = entry;\n }\n }\n function testHandleAttributes(parsed, entry) {\n if (entry.length !== parsed.handles) {\n throw new Error(\"noUiSlider: must pass a attributes for all handles.\");\n }\n parsed.handleAttributes = entry;\n }\n function testAriaFormat(parsed, entry) {\n if (!isValidPartialFormatter(entry)) {\n throw new Error(\"noUiSlider: 'ariaFormat' requires 'to' method.\");\n }\n parsed.ariaFormat = entry;\n }\n function testFormat(parsed, entry) {\n if (!isValidFormatter(entry)) {\n throw new Error(\"noUiSlider: 'format' requires 'to' and 'from' methods.\");\n }\n parsed.format = entry;\n }\n function testKeyboardSupport(parsed, entry) {\n if (typeof entry !== \"boolean\") {\n throw new Error(\"noUiSlider: 'keyboardSupport' option must be a boolean.\");\n }\n parsed.keyboardSupport = entry;\n }\n function testDocumentElement(parsed, entry) {\n // This is an advanced option. Passed values are used without validation.\n parsed.documentElement = entry;\n }\n function testCssPrefix(parsed, entry) {\n if (typeof entry !== \"string\" && entry !== false) {\n throw new Error(\"noUiSlider: 'cssPrefix' must be a string or `false`.\");\n }\n parsed.cssPrefix = entry;\n }\n function testCssClasses(parsed, entry) {\n if (typeof entry !== \"object\") {\n throw new Error(\"noUiSlider: 'cssClasses' must be an object.\");\n }\n if (typeof parsed.cssPrefix === \"string\") {\n parsed.cssClasses = {};\n Object.keys(entry).forEach(function (key) {\n parsed.cssClasses[key] = parsed.cssPrefix + entry[key];\n });\n }\n else {\n parsed.cssClasses = entry;\n }\n }\n // Test all developer settings and parse to assumption-safe values.\n function testOptions(options) {\n // To prove a fix for #537, freeze options here.\n // If the object is modified, an error will be thrown.\n // Object.freeze(options);\n var parsed = {\n margin: null,\n limit: null,\n padding: null,\n animate: true,\n animationDuration: 300,\n ariaFormat: defaultFormatter,\n format: defaultFormatter\n };\n // Tests are executed in the order they are presented here.\n var tests = {\n step: { r: false, t: testStep },\n keyboardPageMultiplier: { r: false, t: testKeyboardPageMultiplier },\n keyboardMultiplier: { r: false, t: testKeyboardMultiplier },\n keyboardDefaultStep: { r: false, t: testKeyboardDefaultStep },\n start: { r: true, t: testStart },\n connect: { r: true, t: testConnect },\n direction: { r: true, t: testDirection },\n snap: { r: false, t: testSnap },\n animate: { r: false, t: testAnimate },\n animationDuration: { r: false, t: testAnimationDuration },\n range: { r: true, t: testRange },\n orientation: { r: false, t: testOrientation },\n margin: { r: false, t: testMargin },\n limit: { r: false, t: testLimit },\n padding: { r: false, t: testPadding },\n behaviour: { r: true, t: testBehaviour },\n ariaFormat: { r: false, t: testAriaFormat },\n format: { r: false, t: testFormat },\n tooltips: { r: false, t: testTooltips },\n keyboardSupport: { r: true, t: testKeyboardSupport },\n documentElement: { r: false, t: testDocumentElement },\n cssPrefix: { r: true, t: testCssPrefix },\n cssClasses: { r: true, t: testCssClasses },\n handleAttributes: { r: false, t: testHandleAttributes }\n };\n var defaults = {\n connect: false,\n direction: \"ltr\",\n behaviour: \"tap\",\n orientation: \"horizontal\",\n keyboardSupport: true,\n cssPrefix: \"noUi-\",\n cssClasses: cssClasses,\n keyboardPageMultiplier: 5,\n keyboardMultiplier: 1,\n keyboardDefaultStep: 10\n };\n // AriaFormat defaults to regular format, if any.\n if (options.format && !options.ariaFormat) {\n options.ariaFormat = options.format;\n }\n // Run all options through a testing mechanism to ensure correct\n // input. It should be noted that options might get modified to\n // be handled properly. E.g. wrapping integers in arrays.\n Object.keys(tests).forEach(function (name) {\n // If the option isn't set, but it is required, throw an error.\n if (!isSet(options[name]) && defaults[name] === undefined) {\n if (tests[name].r) {\n throw new Error(\"noUiSlider: '\" + name + \"' is required.\");\n }\n return;\n }\n tests[name].t(parsed, !isSet(options[name]) ? defaults[name] : options[name]);\n });\n // Forward pips options\n parsed.pips = options.pips;\n // All recent browsers accept unprefixed transform.\n // We need -ms- for IE9 and -webkit- for older Android;\n // Assume use of -webkit- if unprefixed and -ms- are not supported.\n // https://caniuse.com/#feat=transforms2d\n var d = document.createElement(\"div\");\n var msPrefix = d.style.msTransform !== undefined;\n var noPrefix = d.style.transform !== undefined;\n parsed.transformRule = noPrefix ? \"transform\" : msPrefix ? \"msTransform\" : \"webkitTransform\";\n // Pips don't move, so we can place them using left/top.\n var styles = [\n [\"left\", \"top\"],\n [\"right\", \"bottom\"]\n ];\n parsed.style = styles[parsed.dir][parsed.ort];\n return parsed;\n }\n //endregion\n function scope(target, options, originalOptions) {\n var actions = getActions();\n var supportsTouchActionNone = getSupportsTouchActionNone();\n var supportsPassive = supportsTouchActionNone && getSupportsPassive();\n // All variables local to 'scope' are prefixed with 'scope_'\n // Slider DOM Nodes\n var scope_Target = target;\n var scope_Base;\n var scope_Handles;\n var scope_Connects;\n var scope_Pips;\n var scope_Tooltips;\n // Slider state values\n var scope_Spectrum = options.spectrum;\n var scope_Values = [];\n var scope_Locations = [];\n var scope_HandleNumbers = [];\n var scope_ActiveHandlesCount = 0;\n var scope_Events = {};\n // Document Nodes\n var scope_Document = target.ownerDocument;\n var scope_DocumentElement = options.documentElement || scope_Document.documentElement;\n var scope_Body = scope_Document.body;\n // For horizontal sliders in standard ltr documents,\n // make .noUi-origin overflow to the left so the document doesn't scroll.\n var scope_DirOffset = scope_Document.dir === \"rtl\" || options.ort === 1 ? 0 : 100;\n // Creates a node, adds it to target, returns the new node.\n function addNodeTo(addTarget, className) {\n var div = scope_Document.createElement(\"div\");\n if (className) {\n addClass(div, className);\n }\n addTarget.appendChild(div);\n return div;\n }\n // Append a origin to the base\n function addOrigin(base, handleNumber) {\n var origin = addNodeTo(base, options.cssClasses.origin);\n var handle = addNodeTo(origin, options.cssClasses.handle);\n addNodeTo(handle, options.cssClasses.touchArea);\n handle.setAttribute(\"data-handle\", String(handleNumber));\n if (options.keyboardSupport) {\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex\n // 0 = focusable and reachable\n handle.setAttribute(\"tabindex\", \"0\");\n handle.addEventListener(\"keydown\", function (event) {\n return eventKeydown(event, handleNumber);\n });\n }\n if (options.handleAttributes !== undefined) {\n var attributes_1 = options.handleAttributes[handleNumber];\n Object.keys(attributes_1).forEach(function (attribute) {\n handle.setAttribute(attribute, attributes_1[attribute]);\n });\n }\n handle.setAttribute(\"role\", \"slider\");\n handle.setAttribute(\"aria-orientation\", options.ort ? \"vertical\" : \"horizontal\");\n if (handleNumber === 0) {\n addClass(handle, options.cssClasses.handleLower);\n }\n else if (handleNumber === options.handles - 1) {\n addClass(handle, options.cssClasses.handleUpper);\n }\n return origin;\n }\n // Insert nodes for connect elements\n function addConnect(base, add) {\n if (!add) {\n return false;\n }\n return addNodeTo(base, options.cssClasses.connect);\n }\n // Add handles to the slider base.\n function addElements(connectOptions, base) {\n var connectBase = addNodeTo(base, options.cssClasses.connects);\n scope_Handles = [];\n scope_Connects = [];\n scope_Connects.push(addConnect(connectBase, connectOptions[0]));\n // [::::O====O====O====]\n // connectOptions = [0, 1, 1, 1]\n for (var i = 0; i < options.handles; i++) {\n // Keep a list of all added handles.\n scope_Handles.push(addOrigin(base, i));\n scope_HandleNumbers[i] = i;\n scope_Connects.push(addConnect(connectBase, connectOptions[i + 1]));\n }\n }\n // Initialize a single slider.\n function addSlider(addTarget) {\n // Apply classes and data to the target.\n addClass(addTarget, options.cssClasses.target);\n if (options.dir === 0) {\n addClass(addTarget, options.cssClasses.ltr);\n }\n else {\n addClass(addTarget, options.cssClasses.rtl);\n }\n if (options.ort === 0) {\n addClass(addTarget, options.cssClasses.horizontal);\n }\n else {\n addClass(addTarget, options.cssClasses.vertical);\n }\n var textDirection = getComputedStyle(addTarget).direction;\n if (textDirection === \"rtl\") {\n addClass(addTarget, options.cssClasses.textDirectionRtl);\n }\n else {\n addClass(addTarget, options.cssClasses.textDirectionLtr);\n }\n return addNodeTo(addTarget, options.cssClasses.base);\n }\n function addTooltip(handle, handleNumber) {\n if (!options.tooltips || !options.tooltips[handleNumber]) {\n return false;\n }\n return addNodeTo(handle.firstChild, options.cssClasses.tooltip);\n }\n function isSliderDisabled() {\n return scope_Target.hasAttribute(\"disabled\");\n }\n // Disable the slider dragging if any handle is disabled\n function isHandleDisabled(handleNumber) {\n var handleOrigin = scope_Handles[handleNumber];\n return handleOrigin.hasAttribute(\"disabled\");\n }\n function removeTooltips() {\n if (scope_Tooltips) {\n removeEvent(\"update\" + INTERNAL_EVENT_NS.tooltips);\n scope_Tooltips.forEach(function (tooltip) {\n if (tooltip) {\n removeElement(tooltip);\n }\n });\n scope_Tooltips = null;\n }\n }\n // The tooltips option is a shorthand for using the 'update' event.\n function tooltips() {\n removeTooltips();\n // Tooltips are added with options.tooltips in original order.\n scope_Tooltips = scope_Handles.map(addTooltip);\n bindEvent(\"update\" + INTERNAL_EVENT_NS.tooltips, function (values, handleNumber, unencoded) {\n if (!scope_Tooltips || !options.tooltips) {\n return;\n }\n if (scope_Tooltips[handleNumber] === false) {\n return;\n }\n var formattedValue = values[handleNumber];\n if (options.tooltips[handleNumber] !== true) {\n formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]);\n }\n scope_Tooltips[handleNumber].innerHTML = formattedValue;\n });\n }\n function aria() {\n removeEvent(\"update\" + INTERNAL_EVENT_NS.aria);\n bindEvent(\"update\" + INTERNAL_EVENT_NS.aria, function (values, handleNumber, unencoded, tap, positions) {\n // Update Aria Values for all handles, as a change in one changes min and max values for the next.\n scope_HandleNumbers.forEach(function (index) {\n var handle = scope_Handles[index];\n var min = checkHandlePosition(scope_Locations, index, 0, true, true, true);\n var max = checkHandlePosition(scope_Locations, index, 100, true, true, true);\n var now = positions[index];\n // Formatted value for display\n var text = String(options.ariaFormat.to(unencoded[index]));\n // Map to slider range values\n min = scope_Spectrum.fromStepping(min).toFixed(1);\n max = scope_Spectrum.fromStepping(max).toFixed(1);\n now = scope_Spectrum.fromStepping(now).toFixed(1);\n handle.children[0].setAttribute(\"aria-valuemin\", min);\n handle.children[0].setAttribute(\"aria-valuemax\", max);\n handle.children[0].setAttribute(\"aria-valuenow\", now);\n handle.children[0].setAttribute(\"aria-valuetext\", text);\n });\n });\n }\n function getGroup(pips) {\n // Use the range.\n if (pips.mode === exports.PipsMode.Range || pips.mode === exports.PipsMode.Steps) {\n return scope_Spectrum.xVal;\n }\n if (pips.mode === exports.PipsMode.Count) {\n if (pips.values < 2) {\n throw new Error(\"noUiSlider: 'values' (>= 2) required for mode 'count'.\");\n }\n // Divide 0 - 100 in 'count' parts.\n var interval = pips.values - 1;\n var spread = 100 / interval;\n var values = [];\n // List these parts and have them handled as 'positions'.\n while (interval--) {\n values[interval] = interval * spread;\n }\n values.push(100);\n return mapToRange(values, pips.stepped);\n }\n if (pips.mode === exports.PipsMode.Positions) {\n // Map all percentages to on-range values.\n return mapToRange(pips.values, pips.stepped);\n }\n if (pips.mode === exports.PipsMode.Values) {\n // If the value must be stepped, it needs to be converted to a percentage first.\n if (pips.stepped) {\n return pips.values.map(function (value) {\n // Convert to percentage, apply step, return to value.\n return scope_Spectrum.fromStepping(scope_Spectrum.getStep(scope_Spectrum.toStepping(value)));\n });\n }\n // Otherwise, we can simply use the values.\n return pips.values;\n }\n return []; // pips.mode = never\n }\n function mapToRange(values, stepped) {\n return values.map(function (value) {\n return scope_Spectrum.fromStepping(stepped ? scope_Spectrum.getStep(value) : value);\n });\n }\n function generateSpread(pips) {\n function safeIncrement(value, increment) {\n // Avoid floating point variance by dropping the smallest decimal places.\n return Number((value + increment).toFixed(7));\n }\n var group = getGroup(pips);\n var indexes = {};\n var firstInRange = scope_Spectrum.xVal[0];\n var lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length - 1];\n var ignoreFirst = false;\n var ignoreLast = false;\n var prevPct = 0;\n // Create a copy of the group, sort it and filter away all duplicates.\n group = unique(group.slice().sort(function (a, b) {\n return a - b;\n }));\n // Make sure the range starts with the first element.\n if (group[0] !== firstInRange) {\n group.unshift(firstInRange);\n ignoreFirst = true;\n }\n // Likewise for the last one.\n if (group[group.length - 1] !== lastInRange) {\n group.push(lastInRange);\n ignoreLast = true;\n }\n group.forEach(function (current, index) {\n // Get the current step and the lower + upper positions.\n var step;\n var i;\n var q;\n var low = current;\n var high = group[index + 1];\n var newPct;\n var pctDifference;\n var pctPos;\n var type;\n var steps;\n var realSteps;\n var stepSize;\n var isSteps = pips.mode === exports.PipsMode.Steps;\n // When using 'steps' mode, use the provided steps.\n // Otherwise, we'll step on to the next subrange.\n if (isSteps) {\n step = scope_Spectrum.xNumSteps[index];\n }\n // Default to a 'full' step.\n if (!step) {\n step = high - low;\n }\n // If high is undefined we are at the last subrange. Make sure it iterates once (#1088)\n if (high === undefined) {\n high = low;\n }\n // Make sure step isn't 0, which would cause an infinite loop (#654)\n step = Math.max(step, 0.0000001);\n // Find all steps in the subrange.\n for (i = low; i <= high; i = safeIncrement(i, step)) {\n // Get the percentage value for the current step,\n // calculate the size for the subrange.\n newPct = scope_Spectrum.toStepping(i);\n pctDifference = newPct - prevPct;\n steps = pctDifference / (pips.density || 1);\n realSteps = Math.round(steps);\n // This ratio represents the amount of percentage-space a point indicates.\n // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-divided.\n // Round the percentage offset to an even number, then divide by two\n // to spread the offset on both sides of the range.\n stepSize = pctDifference / realSteps;\n // Divide all points evenly, adding the correct number to this subrange.\n // Run up to <= so that 100% gets a point, event if ignoreLast is set.\n for (q = 1; q <= realSteps; q += 1) {\n // The ratio between the rounded value and the actual size might be ~1% off.\n // Correct the percentage offset by the number of points\n // per subrange. density = 1 will result in 100 points on the\n // full range, 2 for 50, 4 for 25, etc.\n pctPos = prevPct + q * stepSize;\n indexes[pctPos.toFixed(5)] = [scope_Spectrum.fromStepping(pctPos), 0];\n }\n // Determine the point type.\n type = group.indexOf(i) > -1 ? exports.PipsType.LargeValue : isSteps ? exports.PipsType.SmallValue : exports.PipsType.NoValue;\n // Enforce the 'ignoreFirst' option by overwriting the type for 0.\n if (!index && ignoreFirst && i !== high) {\n type = 0;\n }\n if (!(i === high && ignoreLast)) {\n // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value.\n indexes[newPct.toFixed(5)] = [i, type];\n }\n // Update the percentage count.\n prevPct = newPct;\n }\n });\n return indexes;\n }\n function addMarking(spread, filterFunc, formatter) {\n var _a, _b;\n var element = scope_Document.createElement(\"div\");\n var valueSizeClasses = (_a = {},\n _a[exports.PipsType.None] = \"\",\n _a[exports.PipsType.NoValue] = options.cssClasses.valueNormal,\n _a[exports.PipsType.LargeValue] = options.cssClasses.valueLarge,\n _a[exports.PipsType.SmallValue] = options.cssClasses.valueSub,\n _a);\n var markerSizeClasses = (_b = {},\n _b[exports.PipsType.None] = \"\",\n _b[exports.PipsType.NoValue] = options.cssClasses.markerNormal,\n _b[exports.PipsType.LargeValue] = options.cssClasses.markerLarge,\n _b[exports.PipsType.SmallValue] = options.cssClasses.markerSub,\n _b);\n var valueOrientationClasses = [options.cssClasses.valueHorizontal, options.cssClasses.valueVertical];\n var markerOrientationClasses = [options.cssClasses.markerHorizontal, options.cssClasses.markerVertical];\n addClass(element, options.cssClasses.pips);\n addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical);\n function getClasses(type, source) {\n var a = source === options.cssClasses.value;\n var orientationClasses = a ? valueOrientationClasses : markerOrientationClasses;\n var sizeClasses = a ? valueSizeClasses : markerSizeClasses;\n return source + \" \" + orientationClasses[options.ort] + \" \" + sizeClasses[type];\n }\n function addSpread(offset, value, type) {\n // Apply the filter function, if it is set.\n type = filterFunc ? filterFunc(value, type) : type;\n if (type === exports.PipsType.None) {\n return;\n }\n // Add a marker for every point\n var node = addNodeTo(element, false);\n node.className = getClasses(type, options.cssClasses.marker);\n node.style[options.style] = offset + \"%\";\n // Values are only appended for points marked '1' or '2'.\n if (type > exports.PipsType.NoValue) {\n node = addNodeTo(element, false);\n node.className = getClasses(type, options.cssClasses.value);\n node.setAttribute(\"data-value\", String(value));\n node.style[options.style] = offset + \"%\";\n node.innerHTML = String(formatter.to(value));\n }\n }\n // Append all points.\n Object.keys(spread).forEach(function (offset) {\n addSpread(offset, spread[offset][0], spread[offset][1]);\n });\n return element;\n }\n function removePips() {\n if (scope_Pips) {\n removeElement(scope_Pips);\n scope_Pips = null;\n }\n }\n function pips(pips) {\n // Fix #669\n removePips();\n var spread = generateSpread(pips);\n var filter = pips.filter;\n var format = pips.format || {\n to: function (value) {\n return String(Math.round(value));\n }\n };\n scope_Pips = scope_Target.appendChild(addMarking(spread, filter, format));\n return scope_Pips;\n }\n // Shorthand for base dimensions.\n function baseSize() {\n var rect = scope_Base.getBoundingClientRect();\n var alt = (\"offset\" + [\"Width\", \"Height\"][options.ort]);\n return options.ort === 0 ? rect.width || scope_Base[alt] : rect.height || scope_Base[alt];\n }\n // Handler for attaching events trough a proxy.\n function attachEvent(events, element, callback, data) {\n // This function can be used to 'filter' events to the slider.\n // element is a node, not a nodeList\n var method = function (event) {\n var e = fixEvent(event, data.pageOffset, data.target || element);\n // fixEvent returns false if this event has a different target\n // when handling (multi-) touch events;\n if (!e) {\n return false;\n }\n // doNotReject is passed by all end events to make sure released touches\n // are not rejected, leaving the slider \"stuck\" to the cursor;\n if (isSliderDisabled() && !data.doNotReject) {\n return false;\n }\n // Stop if an active 'tap' transition is taking place.\n if (hasClass(scope_Target, options.cssClasses.tap) && !data.doNotReject) {\n return false;\n }\n // Ignore right or middle clicks on start #454\n if (events === actions.start && e.buttons !== undefined && e.buttons > 1) {\n return false;\n }\n // Ignore right or middle clicks on start #454\n if (data.hover && e.buttons) {\n return false;\n }\n // 'supportsPassive' is only true if a browser also supports touch-action: none in CSS.\n // iOS safari does not, so it doesn't get to benefit from passive scrolling. iOS does support\n // touch-action: manipulation, but that allows panning, which breaks\n // sliders after zooming/on non-responsive pages.\n // See: https://bugs.webkit.org/show_bug.cgi?id=133112\n if (!supportsPassive) {\n e.preventDefault();\n }\n e.calcPoint = e.points[options.ort];\n // Call the event handler with the event [ and additional data ].\n callback(e, data);\n return;\n };\n var methods = [];\n // Bind a closure on the target for every event type.\n events.split(\" \").forEach(function (eventName) {\n element.addEventListener(eventName, method, supportsPassive ? { passive: true } : false);\n methods.push([eventName, method]);\n });\n return methods;\n }\n // Provide a clean event with standardized offset values.\n function fixEvent(e, pageOffset, eventTarget) {\n // Filter the event to register the type, which can be\n // touch, mouse or pointer. Offset changes need to be\n // made on an event specific basis.\n var touch = e.type.indexOf(\"touch\") === 0;\n var mouse = e.type.indexOf(\"mouse\") === 0;\n var pointer = e.type.indexOf(\"pointer\") === 0;\n var x = 0;\n var y = 0;\n // IE10 implemented pointer events with a prefix;\n if (e.type.indexOf(\"MSPointer\") === 0) {\n pointer = true;\n }\n // Erroneous events seem to be passed in occasionally on iOS/iPadOS after user finishes interacting with\n // the slider. They appear to be of type MouseEvent, yet they don't have usual properties set. Ignore\n // events that have no touches or buttons associated with them. (#1057, #1079, #1095)\n if (e.type === \"mousedown\" && !e.buttons && !e.touches) {\n return false;\n }\n // The only thing one handle should be concerned about is the touches that originated on top of it.\n if (touch) {\n // Returns true if a touch originated on the target.\n var isTouchOnTarget = function (checkTouch) {\n var target = checkTouch.target;\n return (target === eventTarget ||\n eventTarget.contains(target) ||\n (e.composed && e.composedPath().shift() === eventTarget));\n };\n // In the case of touchstart events, we need to make sure there is still no more than one\n // touch on the target so we look amongst all touches.\n if (e.type === \"touchstart\") {\n var targetTouches = Array.prototype.filter.call(e.touches, isTouchOnTarget);\n // Do not support more than one touch per handle.\n if (targetTouches.length > 1) {\n return false;\n }\n x = targetTouches[0].pageX;\n y = targetTouches[0].pageY;\n }\n else {\n // In the other cases, find on changedTouches is enough.\n var targetTouch = Array.prototype.find.call(e.changedTouches, isTouchOnTarget);\n // Cancel if the target touch has not moved.\n if (!targetTouch) {\n return false;\n }\n x = targetTouch.pageX;\n y = targetTouch.pageY;\n }\n }\n pageOffset = pageOffset || getPageOffset(scope_Document);\n if (mouse || pointer) {\n x = e.clientX + pageOffset.x;\n y = e.clientY + pageOffset.y;\n }\n e.pageOffset = pageOffset;\n e.points = [x, y];\n e.cursor = mouse || pointer; // Fix #435\n return e;\n }\n // Translate a coordinate in the document to a percentage on the slider\n function calcPointToPercentage(calcPoint) {\n var location = calcPoint - offset(scope_Base, options.ort);\n var proposal = (location * 100) / baseSize();\n // Clamp proposal between 0% and 100%\n // Out-of-bound coordinates may occur when .noUi-base pseudo-elements\n // are used (e.g. contained handles feature)\n proposal = limit(proposal);\n return options.dir ? 100 - proposal : proposal;\n }\n // Find handle closest to a certain percentage on the slider\n function getClosestHandle(clickedPosition) {\n var smallestDifference = 100;\n var handleNumber = false;\n scope_Handles.forEach(function (handle, index) {\n // Disabled handles are ignored\n if (isHandleDisabled(index)) {\n return;\n }\n var handlePosition = scope_Locations[index];\n var differenceWithThisHandle = Math.abs(handlePosition - clickedPosition);\n // Initial state\n var clickAtEdge = differenceWithThisHandle === 100 && smallestDifference === 100;\n // Difference with this handle is smaller than the previously checked handle\n var isCloser = differenceWithThisHandle < smallestDifference;\n var isCloserAfter = differenceWithThisHandle <= smallestDifference && clickedPosition > handlePosition;\n if (isCloser || isCloserAfter || clickAtEdge) {\n handleNumber = index;\n smallestDifference = differenceWithThisHandle;\n }\n });\n return handleNumber;\n }\n // Fire 'end' when a mouse or pen leaves the document.\n function documentLeave(event, data) {\n if (event.type === \"mouseout\" &&\n event.target.nodeName === \"HTML\" &&\n event.relatedTarget === null) {\n eventEnd(event, data);\n }\n }\n // Handle movement on document for handle and range drag.\n function eventMove(event, data) {\n // Fix #498\n // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty).\n // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero\n // IE9 has .buttons and .which zero on mousemove.\n // Firefox breaks the spec MDN defines.\n if (navigator.appVersion.indexOf(\"MSIE 9\") === -1 && event.buttons === 0 && data.buttonsProperty !== 0) {\n return eventEnd(event, data);\n }\n // Check if we are moving up or down\n var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint);\n // Convert the movement into a percentage of the slider width/height\n var proposal = (movement * 100) / data.baseSize;\n moveHandles(movement > 0, proposal, data.locations, data.handleNumbers, data.connect);\n }\n // Unbind move events on document, call callbacks.\n function eventEnd(event, data) {\n // The handle is no longer active, so remove the class.\n if (data.handle) {\n removeClass(data.handle, options.cssClasses.active);\n scope_ActiveHandlesCount -= 1;\n }\n // Unbind the move and end events, which are added on 'start'.\n data.listeners.forEach(function (c) {\n scope_DocumentElement.removeEventListener(c[0], c[1]);\n });\n if (scope_ActiveHandlesCount === 0) {\n // Remove dragging class.\n removeClass(scope_Target, options.cssClasses.drag);\n setZindex();\n // Remove cursor styles and text-selection events bound to the body.\n if (event.cursor) {\n scope_Body.style.cursor = \"\";\n scope_Body.removeEventListener(\"selectstart\", preventDefault);\n }\n }\n data.handleNumbers.forEach(function (handleNumber) {\n fireEvent(\"change\", handleNumber);\n fireEvent(\"set\", handleNumber);\n fireEvent(\"end\", handleNumber);\n });\n }\n // Bind move events on document.\n function eventStart(event, data) {\n // Ignore event if any handle is disabled\n if (data.handleNumbers.some(isHandleDisabled)) {\n return;\n }\n var handle;\n if (data.handleNumbers.length === 1) {\n var handleOrigin = scope_Handles[data.handleNumbers[0]];\n handle = handleOrigin.children[0];\n scope_ActiveHandlesCount += 1;\n // Mark the handle as 'active' so it can be styled.\n addClass(handle, options.cssClasses.active);\n }\n // A drag should never propagate up to the 'tap' event.\n event.stopPropagation();\n // Record the event listeners.\n var listeners = [];\n // Attach the move and end events.\n var moveEvent = attachEvent(actions.move, scope_DocumentElement, eventMove, {\n // The event target has changed so we need to propagate the original one so that we keep\n // relying on it to extract target touches.\n target: event.target,\n handle: handle,\n connect: data.connect,\n listeners: listeners,\n startCalcPoint: event.calcPoint,\n baseSize: baseSize(),\n pageOffset: event.pageOffset,\n handleNumbers: data.handleNumbers,\n buttonsProperty: event.buttons,\n locations: scope_Locations.slice()\n });\n var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, {\n target: event.target,\n handle: handle,\n listeners: listeners,\n doNotReject: true,\n handleNumbers: data.handleNumbers\n });\n var outEvent = attachEvent(\"mouseout\", scope_DocumentElement, documentLeave, {\n target: event.target,\n handle: handle,\n listeners: listeners,\n doNotReject: true,\n handleNumbers: data.handleNumbers\n });\n // We want to make sure we pushed the listeners in the listener list rather than creating\n // a new one as it has already been passed to the event handlers.\n listeners.push.apply(listeners, moveEvent.concat(endEvent, outEvent));\n // Text selection isn't an issue on touch devices,\n // so adding cursor styles can be skipped.\n if (event.cursor) {\n // Prevent the 'I' cursor and extend the range-drag cursor.\n scope_Body.style.cursor = getComputedStyle(event.target).cursor;\n // Mark the target with a dragging state.\n if (scope_Handles.length > 1) {\n addClass(scope_Target, options.cssClasses.drag);\n }\n // Prevent text selection when dragging the handles.\n // In noUiSlider <= 9.2.0, this was handled by calling preventDefault on mouse/touch start/move,\n // which is scroll blocking. The selectstart event is supported by FireFox starting from version 52,\n // meaning the only holdout is iOS Safari. This doesn't matter: text selection isn't triggered there.\n // The 'cursor' flag is false.\n // See: http://caniuse.com/#search=selectstart\n scope_Body.addEventListener(\"selectstart\", preventDefault, false);\n }\n data.handleNumbers.forEach(function (handleNumber) {\n fireEvent(\"start\", handleNumber);\n });\n }\n // Move closest handle to tapped location.\n function eventTap(event) {\n // The tap event shouldn't propagate up\n event.stopPropagation();\n var proposal = calcPointToPercentage(event.calcPoint);\n var handleNumber = getClosestHandle(proposal);\n // Tackle the case that all handles are 'disabled'.\n if (handleNumber === false) {\n return;\n }\n // Flag the slider as it is now in a transitional state.\n // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that.\n if (!options.events.snap) {\n addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration);\n }\n setHandle(handleNumber, proposal, true, true);\n setZindex();\n fireEvent(\"slide\", handleNumber, true);\n fireEvent(\"update\", handleNumber, true);\n if (!options.events.snap) {\n fireEvent(\"change\", handleNumber, true);\n fireEvent(\"set\", handleNumber, true);\n }\n else {\n eventStart(event, { handleNumbers: [handleNumber] });\n }\n }\n // Fires a 'hover' event for a hovered mouse/pen position.\n function eventHover(event) {\n var proposal = calcPointToPercentage(event.calcPoint);\n var to = scope_Spectrum.getStep(proposal);\n var value = scope_Spectrum.fromStepping(to);\n Object.keys(scope_Events).forEach(function (targetEvent) {\n if (\"hover\" === targetEvent.split(\".\")[0]) {\n scope_Events[targetEvent].forEach(function (callback) {\n callback.call(scope_Self, value);\n });\n }\n });\n }\n // Handles keydown on focused handles\n // Don't move the document when pressing arrow keys on focused handles\n function eventKeydown(event, handleNumber) {\n if (isSliderDisabled() || isHandleDisabled(handleNumber)) {\n return false;\n }\n var horizontalKeys = [\"Left\", \"Right\"];\n var verticalKeys = [\"Down\", \"Up\"];\n var largeStepKeys = [\"PageDown\", \"PageUp\"];\n var edgeKeys = [\"Home\", \"End\"];\n if (options.dir && !options.ort) {\n // On an right-to-left slider, the left and right keys act inverted\n horizontalKeys.reverse();\n }\n else if (options.ort && !options.dir) {\n // On a top-to-bottom slider, the up and down keys act inverted\n verticalKeys.reverse();\n largeStepKeys.reverse();\n }\n // Strip \"Arrow\" for IE compatibility. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key\n var key = event.key.replace(\"Arrow\", \"\");\n var isLargeDown = key === largeStepKeys[0];\n var isLargeUp = key === largeStepKeys[1];\n var isDown = key === verticalKeys[0] || key === horizontalKeys[0] || isLargeDown;\n var isUp = key === verticalKeys[1] || key === horizontalKeys[1] || isLargeUp;\n var isMin = key === edgeKeys[0];\n var isMax = key === edgeKeys[1];\n if (!isDown && !isUp && !isMin && !isMax) {\n return true;\n }\n event.preventDefault();\n var to;\n if (isUp || isDown) {\n var direction = isDown ? 0 : 1;\n var steps = getNextStepsForHandle(handleNumber);\n var step = steps[direction];\n // At the edge of a slider, do nothing\n if (step === null) {\n return false;\n }\n // No step set, use the default of 10% of the sub-range\n if (step === false) {\n step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, options.keyboardDefaultStep);\n }\n if (isLargeUp || isLargeDown) {\n step *= options.keyboardPageMultiplier;\n }\n else {\n step *= options.keyboardMultiplier;\n }\n // Step over zero-length ranges (#948);\n step = Math.max(step, 0.0000001);\n // Decrement for down steps\n step = (isDown ? -1 : 1) * step;\n to = scope_Values[handleNumber] + step;\n }\n else if (isMax) {\n // End key\n to = options.spectrum.xVal[options.spectrum.xVal.length - 1];\n }\n else {\n // Home key\n to = options.spectrum.xVal[0];\n }\n setHandle(handleNumber, scope_Spectrum.toStepping(to), true, true);\n fireEvent(\"slide\", handleNumber);\n fireEvent(\"update\", handleNumber);\n fireEvent(\"change\", handleNumber);\n fireEvent(\"set\", handleNumber);\n return false;\n }\n // Attach events to several slider parts.\n function bindSliderEvents(behaviour) {\n // Attach the standard drag event to the handles.\n if (!behaviour.fixed) {\n scope_Handles.forEach(function (handle, index) {\n // These events are only bound to the visual handle\n // element, not the 'real' origin element.\n attachEvent(actions.start, handle.children[0], eventStart, {\n handleNumbers: [index]\n });\n });\n }\n // Attach the tap event to the slider base.\n if (behaviour.tap) {\n attachEvent(actions.start, scope_Base, eventTap, {});\n }\n // Fire hover events\n if (behaviour.hover) {\n attachEvent(actions.move, scope_Base, eventHover, {\n hover: true\n });\n }\n // Make the range draggable.\n if (behaviour.drag) {\n scope_Connects.forEach(function (connect, index) {\n if (connect === false || index === 0 || index === scope_Connects.length - 1) {\n return;\n }\n var handleBefore = scope_Handles[index - 1];\n var handleAfter = scope_Handles[index];\n var eventHolders = [connect];\n var handlesToDrag = [handleBefore, handleAfter];\n var handleNumbersToDrag = [index - 1, index];\n addClass(connect, options.cssClasses.draggable);\n // When the range is fixed, the entire range can\n // be dragged by the handles. The handle in the first\n // origin will propagate the start event upward,\n // but it needs to be bound manually on the other.\n if (behaviour.fixed) {\n eventHolders.push(handleBefore.children[0]);\n eventHolders.push(handleAfter.children[0]);\n }\n if (behaviour.dragAll) {\n handlesToDrag = scope_Handles;\n handleNumbersToDrag = scope_HandleNumbers;\n }\n eventHolders.forEach(function (eventHolder) {\n attachEvent(actions.start, eventHolder, eventStart, {\n handles: handlesToDrag,\n handleNumbers: handleNumbersToDrag,\n connect: connect\n });\n });\n });\n }\n }\n // Attach an event to this slider, possibly including a namespace\n function bindEvent(namespacedEvent, callback) {\n scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || [];\n scope_Events[namespacedEvent].push(callback);\n // If the event bound is 'update,' fire it immediately for all handles.\n if (namespacedEvent.split(\".\")[0] === \"update\") {\n scope_Handles.forEach(function (a, index) {\n fireEvent(\"update\", index);\n });\n }\n }\n function isInternalNamespace(namespace) {\n return namespace === INTERNAL_EVENT_NS.aria || namespace === INTERNAL_EVENT_NS.tooltips;\n }\n // Undo attachment of event\n function removeEvent(namespacedEvent) {\n var event = namespacedEvent && namespacedEvent.split(\".\")[0];\n var namespace = event ? namespacedEvent.substring(event.length) : namespacedEvent;\n Object.keys(scope_Events).forEach(function (bind) {\n var tEvent = bind.split(\".\")[0];\n var tNamespace = bind.substring(tEvent.length);\n if ((!event || event === tEvent) && (!namespace || namespace === tNamespace)) {\n // only delete protected internal event if intentional\n if (!isInternalNamespace(tNamespace) || namespace === tNamespace) {\n delete scope_Events[bind];\n }\n }\n });\n }\n // External event handling\n function fireEvent(eventName, handleNumber, tap) {\n Object.keys(scope_Events).forEach(function (targetEvent) {\n var eventType = targetEvent.split(\".\")[0];\n if (eventName === eventType) {\n scope_Events[targetEvent].forEach(function (callback) {\n callback.call(\n // Use the slider public API as the scope ('this')\n scope_Self, \n // Return values as array, so arg_1[arg_2] is always valid.\n scope_Values.map(options.format.to), \n // Handle index, 0 or 1\n handleNumber, \n // Un-formatted slider values\n scope_Values.slice(), \n // Event is fired by tap, true or false\n tap || false, \n // Left offset of the handle, in relation to the slider\n scope_Locations.slice(), \n // add the slider public API to an accessible parameter when this is unavailable\n scope_Self);\n });\n }\n });\n }\n // Split out the handle positioning logic so the Move event can use it, too\n function checkHandlePosition(reference, handleNumber, to, lookBackward, lookForward, getValue) {\n var distance;\n // For sliders with multiple handles, limit movement to the other handle.\n // Apply the margin option by adding it to the handle positions.\n if (scope_Handles.length > 1 && !options.events.unconstrained) {\n if (lookBackward && handleNumber > 0) {\n distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.margin, false);\n to = Math.max(to, distance);\n }\n if (lookForward && handleNumber < scope_Handles.length - 1) {\n distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.margin, true);\n to = Math.min(to, distance);\n }\n }\n // The limit option has the opposite effect, limiting handles to a\n // maximum distance from another. Limit must be > 0, as otherwise\n // handles would be unmovable.\n if (scope_Handles.length > 1 && options.limit) {\n if (lookBackward && handleNumber > 0) {\n distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.limit, false);\n to = Math.min(to, distance);\n }\n if (lookForward && handleNumber < scope_Handles.length - 1) {\n distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.limit, true);\n to = Math.max(to, distance);\n }\n }\n // The padding option keeps the handles a certain distance from the\n // edges of the slider. Padding must be > 0.\n if (options.padding) {\n if (handleNumber === 0) {\n distance = scope_Spectrum.getAbsoluteDistance(0, options.padding[0], false);\n to = Math.max(to, distance);\n }\n if (handleNumber === scope_Handles.length - 1) {\n distance = scope_Spectrum.getAbsoluteDistance(100, options.padding[1], true);\n to = Math.min(to, distance);\n }\n }\n to = scope_Spectrum.getStep(to);\n // Limit percentage to the 0 - 100 range\n to = limit(to);\n // Return false if handle can't move\n if (to === reference[handleNumber] && !getValue) {\n return false;\n }\n return to;\n }\n // Uses slider orientation to create CSS rules. a = base value;\n function inRuleOrder(v, a) {\n var o = options.ort;\n return (o ? a : v) + \", \" + (o ? v : a);\n }\n // Moves handle(s) by a percentage\n // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...])\n function moveHandles(upward, proposal, locations, handleNumbers, connect) {\n var proposals = locations.slice();\n // Store first handle now, so we still have it in case handleNumbers is reversed\n var firstHandle = handleNumbers[0];\n var b = [!upward, upward];\n var f = [upward, !upward];\n // Copy handleNumbers so we don't change the dataset\n handleNumbers = handleNumbers.slice();\n // Check to see which handle is 'leading'.\n // If that one can't move the second can't either.\n if (upward) {\n handleNumbers.reverse();\n }\n // Step 1: get the maximum percentage that any of the handles can move\n if (handleNumbers.length > 1) {\n handleNumbers.forEach(function (handleNumber, o) {\n var to = checkHandlePosition(proposals, handleNumber, proposals[handleNumber] + proposal, b[o], f[o], false);\n // Stop if one of the handles can't move.\n if (to === false) {\n proposal = 0;\n }\n else {\n proposal = to - proposals[handleNumber];\n proposals[handleNumber] = to;\n }\n });\n }\n // If using one handle, check backward AND forward\n else {\n b = f = [true];\n }\n var state = false;\n // Step 2: Try to set the handles with the found percentage\n handleNumbers.forEach(function (handleNumber, o) {\n state = setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o]) || state;\n });\n // Step 3: If a handle moved, fire events\n if (state) {\n handleNumbers.forEach(function (handleNumber) {\n fireEvent(\"update\", handleNumber);\n fireEvent(\"slide\", handleNumber);\n });\n // If target is a connect, then fire drag event\n if (connect != undefined) {\n fireEvent(\"drag\", firstHandle);\n }\n }\n }\n // Takes a base value and an offset. This offset is used for the connect bar size.\n // In the initial design for this feature, the origin element was 1% wide.\n // Unfortunately, a rounding bug in Chrome makes it impossible to implement this feature\n // in this manner: https://bugs.chromium.org/p/chromium/issues/detail?id=798223\n function transformDirection(a, b) {\n return options.dir ? 100 - a - b : a;\n }\n // Updates scope_Locations and scope_Values, updates visual state\n function updateHandlePosition(handleNumber, to) {\n // Update locations.\n scope_Locations[handleNumber] = to;\n // Convert the value to the slider stepping/range.\n scope_Values[handleNumber] = scope_Spectrum.fromStepping(to);\n var translation = transformDirection(to, 0) - scope_DirOffset;\n var translateRule = \"translate(\" + inRuleOrder(translation + \"%\", \"0\") + \")\";\n scope_Handles[handleNumber].style[options.transformRule] = translateRule;\n updateConnect(handleNumber);\n updateConnect(handleNumber + 1);\n }\n // Handles before the slider middle are stacked later = higher,\n // Handles after the middle later is lower\n // [[7] [8] .......... | .......... [5] [4]\n function setZindex() {\n scope_HandleNumbers.forEach(function (handleNumber) {\n var dir = scope_Locations[handleNumber] > 50 ? -1 : 1;\n var zIndex = 3 + (scope_Handles.length + dir * handleNumber);\n scope_Handles[handleNumber].style.zIndex = String(zIndex);\n });\n }\n // Test suggested values and apply margin, step.\n // if exactInput is true, don't run checkHandlePosition, then the handle can be placed in between steps (#436)\n function setHandle(handleNumber, to, lookBackward, lookForward, exactInput) {\n if (!exactInput) {\n to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward, false);\n }\n if (to === false) {\n return false;\n }\n updateHandlePosition(handleNumber, to);\n return true;\n }\n // Updates style attribute for connect nodes\n function updateConnect(index) {\n // Skip connects set to false\n if (!scope_Connects[index]) {\n return;\n }\n var l = 0;\n var h = 100;\n if (index !== 0) {\n l = scope_Locations[index - 1];\n }\n if (index !== scope_Connects.length - 1) {\n h = scope_Locations[index];\n }\n // We use two rules:\n // 'translate' to change the left/top offset;\n // 'scale' to change the width of the element;\n // As the element has a width of 100%, a translation of 100% is equal to 100% of the parent (.noUi-base)\n var connectWidth = h - l;\n var translateRule = \"translate(\" + inRuleOrder(transformDirection(l, connectWidth) + \"%\", \"0\") + \")\";\n var scaleRule = \"scale(\" + inRuleOrder(connectWidth / 100, \"1\") + \")\";\n scope_Connects[index].style[options.transformRule] =\n translateRule + \" \" + scaleRule;\n }\n // Parses value passed to .set method. Returns current value if not parse-able.\n function resolveToValue(to, handleNumber) {\n // Setting with null indicates an 'ignore'.\n // Inputting 'false' is invalid.\n if (to === null || to === false || to === undefined) {\n return scope_Locations[handleNumber];\n }\n // If a formatted number was passed, attempt to decode it.\n if (typeof to === \"number\") {\n to = String(to);\n }\n to = options.format.from(to);\n if (to !== false) {\n to = scope_Spectrum.toStepping(to);\n }\n // If parsing the number failed, use the current value.\n if (to === false || isNaN(to)) {\n return scope_Locations[handleNumber];\n }\n return to;\n }\n // Set the slider value.\n function valueSet(input, fireSetEvent, exactInput) {\n var values = asArray(input);\n var isInit = scope_Locations[0] === undefined;\n // Event fires by default\n fireSetEvent = fireSetEvent === undefined ? true : fireSetEvent;\n // Animation is optional.\n // Make sure the initial values were set before using animated placement.\n if (options.animate && !isInit) {\n addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration);\n }\n // First pass, without lookAhead but with lookBackward. Values are set from left to right.\n scope_HandleNumbers.forEach(function (handleNumber) {\n setHandle(handleNumber, resolveToValue(values[handleNumber], handleNumber), true, false, exactInput);\n });\n var i = scope_HandleNumbers.length === 1 ? 0 : 1;\n // Spread handles evenly across the slider if the range has no size (min=max)\n if (isInit && scope_Spectrum.hasNoSize()) {\n exactInput = true;\n scope_Locations[0] = 0;\n if (scope_HandleNumbers.length > 1) {\n var space_1 = 100 / (scope_HandleNumbers.length - 1);\n scope_HandleNumbers.forEach(function (handleNumber) {\n scope_Locations[handleNumber] = handleNumber * space_1;\n });\n }\n }\n // Secondary passes. Now that all base values are set, apply constraints.\n // Iterate all handles to ensure constraints are applied for the entire slider (Issue #1009)\n for (; i < scope_HandleNumbers.length; ++i) {\n scope_HandleNumbers.forEach(function (handleNumber) {\n setHandle(handleNumber, scope_Locations[handleNumber], true, true, exactInput);\n });\n }\n setZindex();\n scope_HandleNumbers.forEach(function (handleNumber) {\n fireEvent(\"update\", handleNumber);\n // Fire the event only for handles that received a new value, as per #579\n if (values[handleNumber] !== null && fireSetEvent) {\n fireEvent(\"set\", handleNumber);\n }\n });\n }\n // Reset slider to initial values\n function valueReset(fireSetEvent) {\n valueSet(options.start, fireSetEvent);\n }\n // Set value for a single handle\n function valueSetHandle(handleNumber, value, fireSetEvent, exactInput) {\n // Ensure numeric input\n handleNumber = Number(handleNumber);\n if (!(handleNumber >= 0 && handleNumber < scope_HandleNumbers.length)) {\n throw new Error(\"noUiSlider: invalid handle number, got: \" + handleNumber);\n }\n // Look both backward and forward, since we don't want this handle to \"push\" other handles (#960);\n // The exactInput argument can be used to ignore slider stepping (#436)\n setHandle(handleNumber, resolveToValue(value, handleNumber), true, true, exactInput);\n fireEvent(\"update\", handleNumber);\n if (fireSetEvent) {\n fireEvent(\"set\", handleNumber);\n }\n }\n // Get the slider value.\n function valueGet(unencoded) {\n if (unencoded === void 0) { unencoded = false; }\n if (unencoded) {\n // return a copy of the raw values\n return scope_Values.length === 1 ? scope_Values[0] : scope_Values.slice(0);\n }\n var values = scope_Values.map(options.format.to);\n // If only one handle is used, return a single value.\n if (values.length === 1) {\n return values[0];\n }\n return values;\n }\n // Removes classes from the root and empties it.\n function destroy() {\n // remove protected internal listeners\n removeEvent(INTERNAL_EVENT_NS.aria);\n removeEvent(INTERNAL_EVENT_NS.tooltips);\n Object.keys(options.cssClasses).forEach(function (key) {\n removeClass(scope_Target, options.cssClasses[key]);\n });\n while (scope_Target.firstChild) {\n scope_Target.removeChild(scope_Target.firstChild);\n }\n delete scope_Target.noUiSlider;\n }\n function getNextStepsForHandle(handleNumber) {\n var location = scope_Locations[handleNumber];\n var nearbySteps = scope_Spectrum.getNearbySteps(location);\n var value = scope_Values[handleNumber];\n var increment = nearbySteps.thisStep.step;\n var decrement = null;\n // If snapped, directly use defined step value\n if (options.snap) {\n return [\n value - nearbySteps.stepBefore.startValue || null,\n nearbySteps.stepAfter.startValue - value || null\n ];\n }\n // If the next value in this step moves into the next step,\n // the increment is the start of the next step - the current value\n if (increment !== false) {\n if (value + increment > nearbySteps.stepAfter.startValue) {\n increment = nearbySteps.stepAfter.startValue - value;\n }\n }\n // If the value is beyond the starting point\n if (value > nearbySteps.thisStep.startValue) {\n decrement = nearbySteps.thisStep.step;\n }\n else if (nearbySteps.stepBefore.step === false) {\n decrement = false;\n }\n // If a handle is at the start of a step, it always steps back into the previous step first\n else {\n decrement = value - nearbySteps.stepBefore.highestStep;\n }\n // Now, if at the slider edges, there is no in/decrement\n if (location === 100) {\n increment = null;\n }\n else if (location === 0) {\n decrement = null;\n }\n // As per #391, the comparison for the decrement step can have some rounding issues.\n var stepDecimals = scope_Spectrum.countStepDecimals();\n // Round per #391\n if (increment !== null && increment !== false) {\n increment = Number(increment.toFixed(stepDecimals));\n }\n if (decrement !== null && decrement !== false) {\n decrement = Number(decrement.toFixed(stepDecimals));\n }\n return [decrement, increment];\n }\n // Get the current step size for the slider.\n function getNextSteps() {\n return scope_HandleNumbers.map(getNextStepsForHandle);\n }\n // Updatable: margin, limit, padding, step, range, animate, snap\n function updateOptions(optionsToUpdate, fireSetEvent) {\n // Spectrum is created using the range, snap, direction and step options.\n // 'snap' and 'step' can be updated.\n // If 'snap' and 'step' are not passed, they should remain unchanged.\n var v = valueGet();\n var updateAble = [\n \"margin\",\n \"limit\",\n \"padding\",\n \"range\",\n \"animate\",\n \"snap\",\n \"step\",\n \"format\",\n \"pips\",\n \"tooltips\"\n ];\n // Only change options that we're actually passed to update.\n updateAble.forEach(function (name) {\n // Check for undefined. null removes the value.\n if (optionsToUpdate[name] !== undefined) {\n originalOptions[name] = optionsToUpdate[name];\n }\n });\n var newOptions = testOptions(originalOptions);\n // Load new options into the slider state\n updateAble.forEach(function (name) {\n if (optionsToUpdate[name] !== undefined) {\n options[name] = newOptions[name];\n }\n });\n scope_Spectrum = newOptions.spectrum;\n // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677)\n options.margin = newOptions.margin;\n options.limit = newOptions.limit;\n options.padding = newOptions.padding;\n // Update pips, removes existing.\n if (options.pips) {\n pips(options.pips);\n }\n else {\n removePips();\n }\n // Update tooltips, removes existing.\n if (options.tooltips) {\n tooltips();\n }\n else {\n removeTooltips();\n }\n // Invalidate the current positioning so valueSet forces an update.\n scope_Locations = [];\n valueSet(isSet(optionsToUpdate.start) ? optionsToUpdate.start : v, fireSetEvent);\n }\n // Initialization steps\n function setupSlider() {\n // Create the base element, initialize HTML and set classes.\n // Add handles and connect elements.\n scope_Base = addSlider(scope_Target);\n addElements(options.connect, scope_Base);\n // Attach user events.\n bindSliderEvents(options.events);\n // Use the public value method to set the start values.\n valueSet(options.start);\n if (options.pips) {\n pips(options.pips);\n }\n if (options.tooltips) {\n tooltips();\n }\n aria();\n }\n setupSlider();\n var scope_Self = {\n destroy: destroy,\n steps: getNextSteps,\n on: bindEvent,\n off: removeEvent,\n get: valueGet,\n set: valueSet,\n setHandle: valueSetHandle,\n reset: valueReset,\n // Exposed for unit testing, don't use this in your application.\n __moveHandles: function (upward, proposal, handleNumbers) {\n moveHandles(upward, proposal, scope_Locations, handleNumbers);\n },\n options: originalOptions,\n updateOptions: updateOptions,\n target: scope_Target,\n removePips: removePips,\n removeTooltips: removeTooltips,\n getPositions: function () {\n return scope_Locations.slice();\n },\n getTooltips: function () {\n return scope_Tooltips;\n },\n getOrigins: function () {\n return scope_Handles;\n },\n pips: pips // Issue #594\n };\n return scope_Self;\n }\n // Run the standard initializer\n function initialize(target, originalOptions) {\n if (!target || !target.nodeName) {\n throw new Error(\"noUiSlider: create requires a single element, got: \" + target);\n }\n // Throw an error if the slider was already initialized.\n if (target.noUiSlider) {\n throw new Error(\"noUiSlider: Slider was already initialized.\");\n }\n // Test the options and create the slider environment;\n var options = testOptions(originalOptions);\n var api = scope(target, options, originalOptions);\n target.noUiSlider = api;\n return api;\n }\n var nouislider = {\n // Exposed for unit testing, don't use this in your application.\n __spectrum: Spectrum,\n // A reference to the default classes, allows global changes.\n // Use the cssClasses option for changes to one slider.\n cssClasses: cssClasses,\n create: initialize\n };\n\n exports.create = initialize;\n exports.cssClasses = cssClasses;\n exports['default'] = nouislider;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","/*\n* MIT Licensed\n* http://www.23developer.com/opensource\n* http://github.com/23/resumable.js\n* Steffen Tiedemann Christensen, steffen@23company.com\n*/\n\n(function(){\n\"use strict\";\n\n var Resumable = function(opts){\n if ( !(this instanceof Resumable) ) {\n return new Resumable(opts);\n }\n this.version = 1.0;\n // SUPPORTED BY BROWSER?\n // Check if these features are support by the browser:\n // - File object type\n // - Blob object type\n // - FileList object type\n // - slicing files\n this.support = (\n (typeof(File)!=='undefined')\n &&\n (typeof(Blob)!=='undefined')\n &&\n (typeof(FileList)!=='undefined')\n &&\n (!!Blob.prototype.webkitSlice||!!Blob.prototype.mozSlice||!!Blob.prototype.slice||false)\n );\n if(!this.support) return(false);\n\n\n // PROPERTIES\n var $ = this;\n $.files = [];\n $.defaults = {\n chunkSize:1*1024*1024,\n forceChunkSize:false,\n simultaneousUploads:3,\n fileParameterName:'file',\n chunkNumberParameterName: 'resumableChunkNumber',\n chunkSizeParameterName: 'resumableChunkSize',\n currentChunkSizeParameterName: 'resumableCurrentChunkSize',\n totalSizeParameterName: 'resumableTotalSize',\n typeParameterName: 'resumableType',\n identifierParameterName: 'resumableIdentifier',\n fileNameParameterName: 'resumableFilename',\n relativePathParameterName: 'resumableRelativePath',\n totalChunksParameterName: 'resumableTotalChunks',\n throttleProgressCallbacks: 0.5,\n query:{},\n headers:{},\n preprocess:null,\n method:'multipart',\n uploadMethod: 'POST',\n testMethod: 'GET',\n prioritizeFirstAndLastChunk:false,\n target:'/',\n testTarget: null,\n parameterNamespace:'',\n testChunks:true,\n generateUniqueIdentifier:null,\n getTarget:null,\n maxChunkRetries:100,\n chunkRetryInterval:undefined,\n permanentErrors:[400, 404, 415, 500, 501],\n maxFiles:undefined,\n withCredentials:false,\n xhrTimeout:0,\n clearInput:true,\n chunkFormat:'blob',\n setChunkTypeFromFile:false,\n maxFilesErrorCallback:function (files, errorCount) {\n var maxFiles = $.getOpt('maxFiles');\n alert('Please upload no more than ' + maxFiles + ' file' + (maxFiles === 1 ? '' : 's') + ' at a time.');\n },\n minFileSize:1,\n minFileSizeErrorCallback:function(file, errorCount) {\n alert(file.fileName||file.name +' is too small, please upload files larger than ' + $h.formatSize($.getOpt('minFileSize')) + '.');\n },\n maxFileSize:undefined,\n maxFileSizeErrorCallback:function(file, errorCount) {\n alert(file.fileName||file.name +' is too large, please upload files less than ' + $h.formatSize($.getOpt('maxFileSize')) + '.');\n },\n fileType: [],\n fileTypeErrorCallback: function(file, errorCount) {\n alert(file.fileName||file.name +' has type not allowed, please upload files of type ' + $.getOpt('fileType') + '.');\n }\n };\n $.opts = opts||{};\n $.getOpt = function(o) {\n var $opt = this;\n // Get multiple option if passed an array\n if(o instanceof Array) {\n var options = {};\n $h.each(o, function(option){\n options[option] = $opt.getOpt(option);\n });\n return options;\n }\n // Otherwise, just return a simple option\n if ($opt instanceof ResumableChunk) {\n if (typeof $opt.opts[o] !== 'undefined') { return $opt.opts[o]; }\n else { $opt = $opt.fileObj; }\n }\n if ($opt instanceof ResumableFile) {\n if (typeof $opt.opts[o] !== 'undefined') { return $opt.opts[o]; }\n else { $opt = $opt.resumableObj; }\n }\n if ($opt instanceof Resumable) {\n if (typeof $opt.opts[o] !== 'undefined') { return $opt.opts[o]; }\n else { return $opt.defaults[o]; }\n }\n };\n\n // EVENTS\n // catchAll(event, ...)\n // fileSuccess(file), fileProgress(file), fileAdded(file, event), filesAdded(files, filesSkipped), fileRetry(file),\n // fileError(file, message), complete(), progress(), error(message, file), pause()\n $.events = [];\n $.on = function(event,callback){\n $.events.push(event.toLowerCase(), callback);\n };\n $.fire = function(){\n // `arguments` is an object, not array, in FF, so:\n var args = [];\n for (var i=0; i 0){\n var fileTypeFound = false;\n for(var index in o.fileType){\n var extension = '.' + o.fileType[index];\n\t\t\tif(fileName.toLowerCase().indexOf(extension.toLowerCase(), fileName.length - extension.length) !== -1){\n fileTypeFound = true;\n break;\n }\n }\n if (!fileTypeFound) {\n o.fileTypeErrorCallback(file, errorCount++);\n return false;\n }\n }\n\n if (typeof(o.minFileSize)!=='undefined' && file.sizeo.maxFileSize) {\n o.maxFileSizeErrorCallback(file, errorCount++);\n return false;\n }\n\n function addFile(uniqueIdentifier){\n if (!$.getFromUniqueIdentifier(uniqueIdentifier)) {(function(){\n file.uniqueIdentifier = uniqueIdentifier;\n var f = new ResumableFile($, file, uniqueIdentifier);\n $.files.push(f);\n files.push(f);\n f.container = (typeof event != 'undefined' ? event.srcElement : null);\n window.setTimeout(function(){\n $.fire('fileAdded', f, event)\n },0);\n })()} else {\n filesSkipped.push(file);\n };\n decreaseReamining();\n }\n // directories have size == 0\n var uniqueIdentifier = $h.generateUniqueIdentifier(file, event);\n if(uniqueIdentifier && typeof uniqueIdentifier.then === 'function'){\n // Promise or Promise-like object provided as unique identifier\n uniqueIdentifier\n .then(\n function(uniqueIdentifier){\n // unique identifier generation succeeded\n addFile(uniqueIdentifier);\n },\n function(){\n // unique identifier generation failed\n // skip further processing, only decrease file count\n decreaseReamining();\n }\n );\n }else{\n // non-Promise provided as unique identifier, process synchronously\n addFile(uniqueIdentifier);\n }\n });\n };\n\n // INTERNAL OBJECT TYPES\n function ResumableFile(resumableObj, file, uniqueIdentifier){\n var $ = this;\n $.opts = {};\n $.getOpt = resumableObj.getOpt;\n $._prevProgress = 0;\n $.resumableObj = resumableObj;\n $.file = file;\n $.fileName = file.fileName||file.name; // Some confusion in different versions of Firefox\n $.size = file.size;\n $.relativePath = file.relativePath || file.webkitRelativePath || $.fileName;\n $.uniqueIdentifier = uniqueIdentifier;\n $._pause = false;\n $.container = '';\n var _error = uniqueIdentifier !== undefined;\n\n // Callback when something happens within the chunk\n var chunkEvent = function(event, message){\n // event can be 'progress', 'success', 'error' or 'retry'\n switch(event){\n case 'progress':\n $.resumableObj.fire('fileProgress', $, message);\n break;\n case 'error':\n $.abort();\n _error = true;\n $.chunks = [];\n $.resumableObj.fire('fileError', $, message);\n break;\n case 'success':\n if(_error) return;\n $.resumableObj.fire('fileProgress', $); // it's at least progress\n if($.isComplete()) {\n $.resumableObj.fire('fileSuccess', $, message);\n }\n break;\n case 'retry':\n $.resumableObj.fire('fileRetry', $);\n break;\n }\n };\n\n // Main code to set up a file object with chunks,\n // packaged to be able to handle retries if needed.\n $.chunks = [];\n $.abort = function(){\n // Stop current uploads\n var abortCount = 0;\n $h.each($.chunks, function(c){\n if(c.status()=='uploading') {\n c.abort();\n abortCount++;\n }\n });\n if(abortCount>0) $.resumableObj.fire('fileProgress', $);\n };\n $.cancel = function(){\n // Reset this file to be void\n var _chunks = $.chunks;\n $.chunks = [];\n // Stop current uploads\n $h.each(_chunks, function(c){\n if(c.status()=='uploading') {\n c.abort();\n $.resumableObj.uploadNextChunk();\n }\n });\n $.resumableObj.removeFile($);\n $.resumableObj.fire('fileProgress', $);\n };\n $.retry = function(){\n $.bootstrap();\n var firedRetry = false;\n $.resumableObj.on('chunkingComplete', function(){\n if(!firedRetry) $.resumableObj.upload();\n firedRetry = true;\n });\n };\n $.bootstrap = function(){\n $.abort();\n _error = false;\n // Rebuild stack of chunks from file\n $.chunks = [];\n $._prevProgress = 0;\n var round = $.getOpt('forceChunkSize') ? Math.ceil : Math.floor;\n var maxOffset = Math.max(round($.file.size/$.getOpt('chunkSize')),1);\n for (var offset=0; offset0.99999 ? 1 : ret));\n ret = Math.max($._prevProgress, ret); // We don't want to lose percentages when an upload is paused\n $._prevProgress = ret;\n return(ret);\n };\n $.isUploading = function(){\n var uploading = false;\n $h.each($.chunks, function(chunk){\n if(chunk.status()=='uploading') {\n uploading = true;\n return(false);\n }\n });\n return(uploading);\n };\n $.isComplete = function(){\n var outstanding = false;\n $h.each($.chunks, function(chunk){\n var status = chunk.status();\n if(status=='pending' || status=='uploading' || chunk.preprocessState === 1) {\n outstanding = true;\n return(false);\n }\n });\n return(!outstanding);\n };\n $.pause = function(pause){\n if(typeof(pause)==='undefined'){\n $._pause = ($._pause ? false : true);\n }else{\n $._pause = pause;\n }\n };\n $.isPaused = function() {\n return $._pause;\n };\n\n\n // Bootstrap and return\n $.resumableObj.fire('chunkingStart', $);\n $.bootstrap();\n return(this);\n }\n\n\n function ResumableChunk(resumableObj, fileObj, offset, callback){\n var $ = this;\n $.opts = {};\n $.getOpt = resumableObj.getOpt;\n $.resumableObj = resumableObj;\n $.fileObj = fileObj;\n $.fileObjSize = fileObj.size;\n $.fileObjType = fileObj.file.type;\n $.offset = offset;\n $.callback = callback;\n $.lastProgressCallback = (new Date);\n $.tested = false;\n $.retries = 0;\n $.pendingRetry = false;\n $.preprocessState = 0; // 0 = unprocessed, 1 = processing, 2 = finished\n\n // Computed properties\n var chunkSize = $.getOpt('chunkSize');\n $.loaded = 0;\n $.startByte = $.offset*chunkSize;\n $.endByte = Math.min($.fileObjSize, ($.offset+1)*chunkSize);\n if ($.fileObjSize-$.endByte < chunkSize && !$.getOpt('forceChunkSize')) {\n // The last chunk will be bigger than the chunk size, but less than 2*chunkSize\n $.endByte = $.fileObjSize;\n }\n $.xhr = null;\n\n // test() makes a GET request without any data to see if the chunk has already been uploaded in a previous session\n $.test = function(){\n // Set up request and listen for event\n $.xhr = new XMLHttpRequest();\n\n var testHandler = function(e){\n $.tested = true;\n var status = $.status();\n if(status=='success') {\n $.callback(status, $.message());\n $.resumableObj.uploadNextChunk();\n } else {\n $.send();\n }\n };\n $.xhr.addEventListener('load', testHandler, false);\n $.xhr.addEventListener('error', testHandler, false);\n $.xhr.addEventListener('timeout', testHandler, false);\n\n // Add data from the query options\n var params = [];\n var parameterNamespace = $.getOpt('parameterNamespace');\n var customQuery = $.getOpt('query');\n if(typeof customQuery == 'function') customQuery = customQuery($.fileObj, $);\n $h.each(customQuery, function(k,v){\n params.push([encodeURIComponent(parameterNamespace+k), encodeURIComponent(v)].join('='));\n });\n // Add extra data to identify chunk\n params = params.concat(\n [\n // define key/value pairs for additional parameters\n ['chunkNumberParameterName', $.offset + 1],\n ['chunkSizeParameterName', $.getOpt('chunkSize')],\n ['currentChunkSizeParameterName', $.endByte - $.startByte],\n ['totalSizeParameterName', $.fileObjSize],\n ['typeParameterName', $.fileObjType],\n ['identifierParameterName', $.fileObj.uniqueIdentifier],\n ['fileNameParameterName', $.fileObj.fileName],\n ['relativePathParameterName', $.fileObj.relativePath],\n ['totalChunksParameterName', $.fileObj.chunks.length]\n ].filter(function(pair){\n // include items that resolve to truthy values\n // i.e. exclude false, null, undefined and empty strings\n return $.getOpt(pair[0]);\n })\n .map(function(pair){\n // map each key/value pair to its final form\n return [\n parameterNamespace + $.getOpt(pair[0]),\n encodeURIComponent(pair[1])\n ].join('=');\n })\n );\n // Append the relevant chunk and send it\n $.xhr.open($.getOpt('testMethod'), $h.getTarget('test', params));\n $.xhr.timeout = $.getOpt('xhrTimeout');\n $.xhr.withCredentials = $.getOpt('withCredentials');\n // Add data from header options\n var customHeaders = $.getOpt('headers');\n if(typeof customHeaders === 'function') {\n customHeaders = customHeaders($.fileObj, $);\n }\n $h.each(customHeaders, function(k,v) {\n $.xhr.setRequestHeader(k, v);\n });\n $.xhr.send(null);\n };\n\n $.preprocessFinished = function(){\n $.preprocessState = 2;\n $.send();\n };\n\n // send() uploads the actual data in a POST call\n $.send = function(){\n var preprocess = $.getOpt('preprocess');\n if(typeof preprocess === 'function') {\n switch($.preprocessState) {\n case 0: $.preprocessState = 1; preprocess($); return;\n case 1: return;\n case 2: break;\n }\n }\n if($.getOpt('testChunks') && !$.tested) {\n $.test();\n return;\n }\n\n // Set up request and listen for event\n $.xhr = new XMLHttpRequest();\n\n // Progress\n $.xhr.upload.addEventListener('progress', function(e){\n if( (new Date) - $.lastProgressCallback > $.getOpt('throttleProgressCallbacks') * 1000 ) {\n $.callback('progress');\n $.lastProgressCallback = (new Date);\n }\n $.loaded=e.loaded||0;\n }, false);\n $.loaded = 0;\n $.pendingRetry = false;\n $.callback('progress');\n\n // Done (either done, failed or retry)\n var doneHandler = function(e){\n var status = $.status();\n if(status=='success'||status=='error') {\n $.callback(status, $.message());\n $.resumableObj.uploadNextChunk();\n } else {\n $.callback('retry', $.message());\n $.abort();\n $.retries++;\n var retryInterval = $.getOpt('chunkRetryInterval');\n if(retryInterval !== undefined) {\n $.pendingRetry = true;\n setTimeout($.send, retryInterval);\n } else {\n $.send();\n }\n }\n };\n $.xhr.addEventListener('load', doneHandler, false);\n $.xhr.addEventListener('error', doneHandler, false);\n $.xhr.addEventListener('timeout', doneHandler, false);\n\n // Set up the basic query data from Resumable\n var query = [\n ['chunkNumberParameterName', $.offset + 1],\n ['chunkSizeParameterName', $.getOpt('chunkSize')],\n ['currentChunkSizeParameterName', $.endByte - $.startByte],\n ['totalSizeParameterName', $.fileObjSize],\n ['typeParameterName', $.fileObjType],\n ['identifierParameterName', $.fileObj.uniqueIdentifier],\n ['fileNameParameterName', $.fileObj.fileName],\n ['relativePathParameterName', $.fileObj.relativePath],\n ['totalChunksParameterName', $.fileObj.chunks.length],\n ].filter(function(pair){\n // include items that resolve to truthy values\n // i.e. exclude false, null, undefined and empty strings\n return $.getOpt(pair[0]);\n })\n .reduce(function(query, pair){\n // assign query key/value\n query[$.getOpt(pair[0])] = pair[1];\n return query;\n }, {});\n // Mix in custom data\n var customQuery = $.getOpt('query');\n if(typeof customQuery == 'function') customQuery = customQuery($.fileObj, $);\n $h.each(customQuery, function(k,v){\n query[k] = v;\n });\n\n var func = ($.fileObj.file.slice ? 'slice' : ($.fileObj.file.mozSlice ? 'mozSlice' : ($.fileObj.file.webkitSlice ? 'webkitSlice' : 'slice')));\n var bytes = $.fileObj.file[func]($.startByte, $.endByte, $.getOpt('setChunkTypeFromFile') ? $.fileObj.file.type : \"\");\n var data = null;\n var params = [];\n\n var parameterNamespace = $.getOpt('parameterNamespace');\n if ($.getOpt('method') === 'octet') {\n // Add data from the query options\n data = bytes;\n $h.each(query, function (k, v) {\n params.push([encodeURIComponent(parameterNamespace + k), encodeURIComponent(v)].join('='));\n });\n } else {\n // Add data from the query options\n data = new FormData();\n $h.each(query, function (k, v) {\n data.append(parameterNamespace + k, v);\n params.push([encodeURIComponent(parameterNamespace + k), encodeURIComponent(v)].join('='));\n });\n if ($.getOpt('chunkFormat') == 'blob') {\n data.append(parameterNamespace + $.getOpt('fileParameterName'), bytes, $.fileObj.fileName);\n }\n else if ($.getOpt('chunkFormat') == 'base64') {\n var fr = new FileReader();\n fr.onload = function (e) {\n data.append(parameterNamespace + $.getOpt('fileParameterName'), fr.result);\n $.xhr.send(data);\n }\n fr.readAsDataURL(bytes);\n }\n }\n\n var target = $h.getTarget('upload', params);\n var method = $.getOpt('uploadMethod');\n\n $.xhr.open(method, target);\n if ($.getOpt('method') === 'octet') {\n $.xhr.setRequestHeader('Content-Type', 'application/octet-stream');\n }\n $.xhr.timeout = $.getOpt('xhrTimeout');\n $.xhr.withCredentials = $.getOpt('withCredentials');\n // Add data from header options\n var customHeaders = $.getOpt('headers');\n if(typeof customHeaders === 'function') {\n customHeaders = customHeaders($.fileObj, $);\n }\n\n $h.each(customHeaders, function(k,v) {\n $.xhr.setRequestHeader(k, v);\n });\n\n if ($.getOpt('chunkFormat') == 'blob') {\n $.xhr.send(data);\n }\n };\n $.abort = function(){\n // Abort and reset\n if($.xhr) $.xhr.abort();\n $.xhr = null;\n };\n $.status = function(){\n // Returns: 'pending', 'uploading', 'success', 'error'\n if($.pendingRetry) {\n // if pending retry then that's effectively the same as actively uploading,\n // there might just be a slight delay before the retry starts\n return('uploading');\n } else if(!$.xhr) {\n return('pending');\n } else if($.xhr.readyState<4) {\n // Status is really 'OPENED', 'HEADERS_RECEIVED' or 'LOADING' - meaning that stuff is happening\n return('uploading');\n } else {\n if($.xhr.status == 200 || $.xhr.status == 201) {\n // HTTP 200, 201 (created)\n return('success');\n } else if($h.contains($.getOpt('permanentErrors'), $.xhr.status) || $.retries >= $.getOpt('maxChunkRetries')) {\n // HTTP 415/500/501, permanent error\n return('error');\n } else {\n // this should never happen, but we'll reset and queue a retry\n // a likely case for this would be 503 service unavailable\n $.abort();\n return('pending');\n }\n }\n };\n $.message = function(){\n return($.xhr ? $.xhr.responseText : '');\n };\n $.progress = function(relative){\n if(typeof(relative)==='undefined') relative = false;\n var factor = (relative ? ($.endByte-$.startByte)/$.fileObjSize : 1);\n if($.pendingRetry) return(0);\n if(!$.xhr || !$.xhr.status) factor*=.95;\n var s = $.status();\n switch(s){\n case 'success':\n case 'error':\n return(1*factor);\n case 'pending':\n return(0*factor);\n default:\n return($.loaded/($.endByte-$.startByte)*factor);\n }\n };\n return(this);\n }\n\n // QUEUE\n $.uploadNextChunk = function(){\n var found = false;\n\n // In some cases (such as videos) it's really handy to upload the first\n // and last chunk of a file quickly; this let's the server check the file's\n // metadata and determine if there's even a point in continuing.\n if ($.getOpt('prioritizeFirstAndLastChunk')) {\n $h.each($.files, function(file){\n if(file.chunks.length && file.chunks[0].status()=='pending' && file.chunks[0].preprocessState === 0) {\n file.chunks[0].send();\n found = true;\n return(false);\n }\n if(file.chunks.length>1 && file.chunks[file.chunks.length-1].status()=='pending' && file.chunks[file.chunks.length-1].preprocessState === 0) {\n file.chunks[file.chunks.length-1].send();\n found = true;\n return(false);\n }\n });\n if(found) return(true);\n }\n\n // Now, simply look for the next, best thing to upload\n $h.each($.files, function(file){\n if(file.isPaused()===false){\n $h.each(file.chunks, function(chunk){\n if(chunk.status()=='pending' && chunk.preprocessState === 0) {\n chunk.send();\n found = true;\n return(false);\n }\n });\n }\n if(found) return(false);\n });\n if(found) return(true);\n\n // The are no more outstanding chunks to upload, check is everything is done\n var outstanding = false;\n $h.each($.files, function(file){\n if(!file.isComplete()) {\n outstanding = true;\n return(false);\n }\n });\n if(!outstanding) {\n // All chunks have been uploaded, complete\n $.fire('complete');\n }\n return(false);\n };\n\n\n // PUBLIC METHODS FOR RESUMABLE.JS\n $.assignBrowse = function(domNodes, isDirectory){\n if(typeof(domNodes.length)=='undefined') domNodes = [domNodes];\n\n $h.each(domNodes, function(domNode) {\n var input;\n if(domNode.tagName==='INPUT' && domNode.type==='file'){\n input = domNode;\n } else {\n input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.style.display = 'none';\n domNode.addEventListener('click', function(){\n input.style.opacity = 0;\n input.style.display='block';\n input.focus();\n input.click();\n input.style.display='none';\n }, false);\n domNode.appendChild(input);\n }\n var maxFiles = $.getOpt('maxFiles');\n if (typeof(maxFiles)==='undefined'||maxFiles!=1){\n input.setAttribute('multiple', 'multiple');\n } else {\n input.removeAttribute('multiple');\n }\n if(isDirectory){\n input.setAttribute('webkitdirectory', 'webkitdirectory');\n } else {\n input.removeAttribute('webkitdirectory');\n }\n var fileTypes = $.getOpt('fileType');\n if (typeof (fileTypes) !== 'undefined' && fileTypes.length >= 1) {\n input.setAttribute('accept', fileTypes.map(function (e) { return '.' + e }).join(','));\n }\n else {\n input.removeAttribute('accept');\n }\n // When new files are added, simply append them to the overall list\n input.addEventListener('change', function(e){\n appendFilesFromFileList(e.target.files,e);\n var clearInput = $.getOpt('clearInput');\n if (clearInput) {\n e.target.value = '';\n }\n }, false);\n });\n };\n $.assignDrop = function(domNodes){\n if(typeof(domNodes.length)=='undefined') domNodes = [domNodes];\n\n $h.each(domNodes, function(domNode) {\n domNode.addEventListener('dragover', preventDefault, false);\n domNode.addEventListener('dragenter', preventDefault, false);\n domNode.addEventListener('drop', onDrop, false);\n });\n };\n $.unAssignDrop = function(domNodes) {\n if (typeof(domNodes.length) == 'undefined') domNodes = [domNodes];\n\n $h.each(domNodes, function(domNode) {\n domNode.removeEventListener('dragover', preventDefault);\n domNode.removeEventListener('dragenter', preventDefault);\n domNode.removeEventListener('drop', onDrop);\n });\n };\n $.isUploading = function(){\n var uploading = false;\n $h.each($.files, function(file){\n if (file.isUploading()) {\n uploading = true;\n return(false);\n }\n });\n return(uploading);\n };\n $.upload = function(){\n // Make sure we don't start too many uploads at once\n if($.isUploading()) return;\n // Kick off the queue\n $.fire('uploadStart');\n for (var num=1; num<=$.getOpt('simultaneousUploads'); num++) {\n $.uploadNextChunk();\n }\n };\n $.pause = function(){\n // Resume all chunks currently being uploaded\n $h.each($.files, function(file){\n file.abort();\n });\n $.fire('pause');\n };\n $.cancel = function(){\n $.fire('beforeCancel');\n for(var i = $.files.length - 1; i >= 0; i--) {\n $.files[i].cancel();\n }\n $.fire('cancel');\n };\n $.progress = function(){\n var totalDone = 0;\n var totalSize = 0;\n // Resume all chunks currently being uploaded\n $h.each($.files, function(file){\n totalDone += file.progress()*file.size;\n totalSize += file.size;\n });\n return(totalSize>0 ? totalDone/totalSize : 0);\n };\n $.addFile = function(file, event){\n appendFilesFromFileList([file], event);\n };\n $.addFiles = function(files, event){\n appendFilesFromFileList(files, event);\n };\n $.removeFile = function(file){\n for(var i = $.files.length - 1; i >= 0; i--) {\n if($.files[i] === file) {\n $.files.splice(i, 1);\n }\n }\n };\n $.getFromUniqueIdentifier = function(uniqueIdentifier){\n var ret = false;\n $h.each($.files, function(f){\n if(f.uniqueIdentifier==uniqueIdentifier) ret = f;\n });\n return(ret);\n };\n $.getSize = function(){\n var totalSize = 0;\n $h.each($.files, function(file){\n totalSize += file.size;\n });\n return(totalSize);\n };\n $.handleDropEvent = function (e) {\n onDrop(e);\n };\n $.handleChangeEvent = function (e) {\n appendFilesFromFileList(e.target.files, e);\n e.target.value = '';\n };\n $.updateQuery = function(query){\n $.opts.query = query;\n };\n\n return(this);\n };\n\n\n // Node.js-style export for Node and Component\n if (typeof module != 'undefined') {\n module.exports = Resumable;\n } else if (typeof define === \"function\" && define.amd) {\n // AMD/requirejs: Define the module\n define(function(){\n return Resumable;\n });\n } else {\n // Browser: Expose to window\n window.Resumable = Resumable;\n }\n\n})();\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = Vue;","const __WEBPACK_NAMESPACE_OBJECT__ = Axios;","/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function (key) {\n forwardMetadata(to, from, key);\n });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function (metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\n\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function' ? target : target.constructor;\n\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n\n if (typeof index !== 'number') {\n index = undefined;\n }\n\n Ctor.__decorators__.push(function (options) {\n return factory(options, key, index);\n });\n };\n}\nfunction mixins() {\n for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n Ctors[_key] = arguments[_key];\n }\n\n return Vue.extend({\n mixins: Ctors\n });\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n\n return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n // override _init to prevent to init as Vue instance\n var originalInit = Component.prototype._init;\n\n Component.prototype._init = function () {\n var _this = this;\n\n // proxy to actual vm\n var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n\n keys.forEach(function (key) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return vm[key];\n },\n set: function set(value) {\n vm[key] = value;\n },\n configurable: true\n });\n });\n }; // should be acquired class property values\n\n\n var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n Component.prototype._init = originalInit; // create plain data object\n\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' + 'when class property is used.');\n }\n }\n\n return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n } // hooks\n\n\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n if (descriptor.value !== void 0) {\n // methods\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n // typescript decorated data\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component);\n }\n }); // decorate options\n\n var decorators = Component.__decorators__;\n\n if (decorators) {\n decorators.forEach(function (fn) {\n return fn(options);\n });\n delete Component.__decorators__;\n } // find super\n\n\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component);\n }\n\n return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n // Skip the properties that should not be overwritten\n if (shouldIgnore[key]) {\n return;\n } // Some browsers does not allow reconfigure built-in properties\n\n\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n // the sub class properties may be inherited properties from the super class in TypeScript.\n // We need to exclude such properties to prevent to overwrite\n // the component options object which stored on the extended constructor (See #192).\n // If the value is a referenced value (object or function),\n // we can check equality of them and exclude it if they have the same reference.\n // If it is a primitive value, it will be forwarded for safety.\n\n if (!hasProto) {\n // Only `cid` is explicitly exluded from property forwarding\n // because we cannot detect whether it is a inherited property or not\n // on the no `__proto__` environment even though the property is reserved.\n if (key === 'cid') {\n return;\n }\n\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n } // Warn if the users manually declare reserved properties\n\n\n if (process.env.NODE_ENV !== 'production' && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\".concat(key, \"' declared on class '\").concat(Original.name, \"' \") + 'conflicts with reserved property name of Vue internal. ' + 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\nexport default Component;\nexport { createDecorator, mixins };\n","export default class CookieHelper {\r\n public static getCookiePolicy() {\r\n return this.getCookie(\"ckp\");\r\n }\r\n\r\n public static isCookiePolicy() {\r\n return this.getCookie(\"ckp\");\r\n }\r\n\r\n public static setCookiePolicyType(type) {\r\n var cookie = this.getCookie(\"ckp\"),\r\n values = [];\r\n\r\n if (!cookie) {\r\n values.push(\"tech\");\r\n values.push(type);\r\n } else {\r\n values = cookie.split(\"|\");\r\n if (values.indexOf(type) === -1) {\r\n values.push(type);\r\n }\r\n }\r\n\r\n this.setCookie(\"ckp\", values.join(\"|\"), 365);\r\n }\r\n\r\n public static removeCookiePolicyType(type) {\r\n var cookie = this.getCookie(\"ckp\");\r\n if (cookie) {\r\n var values = cookie.split(\"|\");\r\n var index = values.indexOf(type);\r\n if (index !== -1) {\r\n values.splice(index, 1);\r\n }\r\n\r\n this.setCookie(\"ckp\", values.join(\"|\"), 365);\r\n }\r\n }\r\n\r\n public static setCookiePolicyAll() {\r\n var values = [\"tech\", \"stat\", \"profile\"];\r\n this.setCookie(\"ckp\", values.join(\"|\"), 365);\r\n }\r\n\r\n public static removeCookiePolicyAll() {\r\n var values = [\"tech\"];\r\n this.setCookie(\"ckp\", values.join(\"|\"), 365);\r\n }\r\n\r\n public static getCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(\";\");\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\r\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\r\n }\r\n return null;\r\n }\r\n\r\n public static setCookie(name, value, days) {\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\r\n }\r\n\r\n public static deleteCookie(name) {\r\n document.cookie = name + '=; Max-Age=-99999999;';\r\n }\r\n}","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\n\r\nimport CookieHelper from \"@Scripts/Infrastructure/CookieHelper\";\r\n\r\n@Component({ name: \"CookieToast\" })\r\nexport default class CookieToast extends Vue {\r\n public isCookieToast: boolean = false;\r\n public isShow: boolean = false;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n public async created() {\r\n if (!CookieHelper.isCookiePolicy()) {\r\n this.isCookieToast = true;\r\n }\r\n }\r\n\r\n public readCookieToastShow() {\r\n return this.isShow;\r\n }\r\n\r\n public readCookieToast() {\r\n this.isShow = !this.isShow;\r\n }\r\n\r\n public setCookieToast() {\r\n CookieHelper.setCookiePolicyAll();\r\n this.isCookieToast = false;\r\n window.location.reload();\r\n }\r\n\r\n public setOnlyTech() {\r\n CookieHelper.removeCookiePolicyAll();\r\n this.isCookieToast = false;\r\n window.location.reload();\r\n }\r\n};","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./CookieToast.vue?vue&type=template&id=44dac0fb\"\nimport script from \"./CookieToast?vue&type=script&lang=ts&external\"\nexport * from \"./CookieToast?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isCookieToast)?_c('div',{class:[{ 'show': _vm.readCookieToastShow() }, 'cookie-toast']},[_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"description\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Diamo valore alla tua privacy\")]),_vm._v(\" \"),_c('div',{staticClass:\"message\"},[_vm._m(0),_vm._v(\" \"),_vm._m(1),_vm._v(\" \"),_c('p',[_vm._v(\"Nel sito yamaha-motor.eu, in tutte le sue versioni locali, Yamaha Motor Europe N.V., le sue filiali e le società affiliate utilizzano i cookie e altre tecniche simili, come il linguaggio Javascript e i Web beacon. Utilizziamo cookie funzionali per consentire al sito\\n Web di funzionare correttamente e per fornirvi alcune funzionalità di base, come la memorizzazione delle credenziali di accesso e le preferenze per la lingua. Inoltre, utilizziamo cookie analitici per generare statistiche su di voi, rispettose della privacy e conformi alle linee guida delle\\n autorità in materia di protezione dei dati, al fine di comprendere come i visitatori usano il sito Web e di migliorare prodotti, servizi, sito e attività di marketing. \"),_c('button',{staticClass:\"more\",on:{\"click\":function($event){return _vm.readCookieToast()}}},[_vm._v(\"Mostra di più\")])]),_vm._v(\" \"),_c('div',{staticClass:\"full\"},[_c('p',[_vm._v(\"Se fornite il vostro consenso, tramite il pulsante giallo in basso, utilizzeremo anche i cookie pubblicitari/di tracciamento e i cookie di social media:\")]),_vm._v(\" \"),_vm._m(2),_vm._v(\" \"),_vm._m(3),_vm._v(\" \"),_c('p',[_c('button',{staticClass:\"less\",on:{\"click\":function($event){return _vm.readCookieToast()}}},[_vm._v(\"Mostra meno\")])])])])]),_vm._v(\" \"),_c('div',{staticClass:\"action\"},[_c('button',{staticClass:\"button\",on:{\"click\":function($event){return _vm.setCookieToast()}}},[_vm._v(\"Accetta tutti i cookie\")]),_vm._v(\" \"),_c('button',{staticClass:\"button border\",on:{\"click\":function($event){return _vm.setOnlyTech()}}},[_vm._v(\"Rifiuta i cookie non essenziali\")])])])]):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('p',[_c('strong',[_vm._v(\"Utilizziamo i cookie per poter capire i visitatori del nostro sito Web in modo da poter migliorare il sito, i prodotti, i servizi e le attività di marketing.\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('p',[_c('strong',[_vm._v(\"Cookie nel sito Yamaha Motor\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ul',[_c('li',[_vm._v(\"I cookie pubblicitari/di tracciamento consentono di visualizzare gli annunci pubblicitari dei nostri servizi e prodotti personalizzati per voi, direttamente sul nostro sito Web o sul sito di terze parti, ad esempio sulle piattaforme social (Facebook), in base al vostro comportamento di navigazione sul nostro sito Web, a seconda dei prodotti e dei servizi visualizzati, degli articoli aggiunti al carrello e acquistati, nonché ai siti Web di terze parti e ai vostri interessi.\")]),_vm._v(\" \"),_c('li',[_vm._v(\"I cookie dei social media permettono di guardare video sul nostro sito Web (ad esempio tramite YouTube) e di condividere facilmente contenuti del nostro sito, su un social media come Facebook. Si tratta di cookie di fornitori terzi di piattaforme social che consentono a questi fornitori social di tracciare il vostro comportamento di navigazione su Internet e di utilizzarlo per i propri scopi.\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('p',[_vm._v(\"Se desiderate ricevere tutte le funzionalità del nostro sito, visualizzare le offerte e gli annunci pubblicitari relativi ai vostri interessi, vi invitiamo ad accettare i cookie pubblicitari/di tracciamento e i cookie dei social media, facendo clic sul pulsante di conferma. Se decidete di non accettare questi cookie o desiderate accettare solo una categoria specifica di cookie (per esempio solo i cookie dei social media), sarà necessario fare clic sul pulsante in basso \\\"personalizza le impostazioni dei cookie\\\". Potete inoltre modificare le vostre impostazioni e ritirare il consenso in qualsiasi momento mediante la nostra \"),_c('a',{attrs:{\"href\":\"https://www.yamaha-motor.eu/it/it/cookie-settings/\",\"target\":\"_blank\"}},[_vm._v(\"Informativa sui cookie\")]),_vm._v(\". Leggete la seguente informativa sui cookie per saperne di più sul loro utilizzo e sulle modalità con cui vengono impiegati.\")])\n}]\n\nexport { render, staticRenderFns }","import Axios from \"axios\";\r\n\r\nexport default class Localizer {\r\n static cultureResources: Map = new Map();\r\n static defaultCulture: string = null;\r\n\r\n static async init(configuration: LocalizerConfiguration) {\r\n this.defaultCulture = configuration.defaultCulture;\r\n\r\n configuration.resourceCultures = configuration.resourceCultures ?? [configuration.defaultCulture];\r\n\r\n for (const resourceCulture of configuration.resourceCultures) {\r\n this.cultureResources.set(resourceCulture, (await Axios.get(\"/localization/resource/getresources\", { params: { culture: resourceCulture, contexts: configuration.resourceContexts.join(\",\") } })).data);\r\n }\r\n }\r\n\r\n static get(name: string, ...values: any[]): string {\r\n return this.getByCulture(name, this.defaultCulture, values);\r\n }\r\n\r\n static getByCulture(name: string, culture: string, ...values: any[]): string {\r\n let placeHolder: string = name.split(\".\").pop();\r\n\r\n let resources: any = this.cultureResources.get(culture);\r\n\r\n if (!resources) {\r\n // Culture not found\r\n return placeHolder;\r\n }\r\n\r\n if (resources[name] === undefined) {\r\n // Resource not found\r\n this.trackMissingResource(name, window.location.href);\r\n return placeHolder;\r\n }\r\n\r\n if (resources[name] === null || resources[name] === '') {\r\n // Resource null or empty\r\n return placeHolder;\r\n }\r\n\r\n let resource: string = resources[name];\r\n\r\n for (var i = 0; i < values.length; i++) {\r\n resource = resource.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), values[i]);\r\n }\r\n\r\n return resource;\r\n }\r\n\r\n static trackMissingResource(name: string, url: string) {\r\n Axios.post(\"/localization/resource/trackmissingresource\", { name: name, url: url });\r\n }\r\n}\r\n\r\nexport interface LocalizerConfiguration {\r\n defaultCulture: string;\r\n resourceContexts: string[];\r\n resourceCultures?: string[];\r\n}","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Localizer from \"@Scripts/Common/Localizer\";\r\n\r\n@Component({ name: \"PrivacyPolicy\" })\r\nexport default class PrivacyPolicy extends Vue {\r\n public localizer: any = Localizer;\r\n public isLoading: boolean = false;\r\n\r\n public isProfiling: boolean = false;\r\n public isMarketing: boolean = false;\r\n\r\n public marketingChannels: any[] = [];\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n public selectProfiling()\r\n {\r\n this.$emit(\"profiling\", this.isProfiling);\r\n\r\n // Legacy forms\r\n document.dispatchEvent(new CustomEvent(\"privacy\", { bubbles: true, detail: { type: \"profiling\", isProfiling: this.isProfiling } }));\r\n }\r\n\r\n public selectMarketing()\r\n {\r\n this.$emit(\"marketing\", this.isMarketing);\r\n\r\n // Legacy forms\r\n document.dispatchEvent(new CustomEvent(\"privacy\", { bubbles: true, detail: { type: \"marketing\", isMarketing: this.isMarketing } }));\r\n }\r\n\r\n public selectMarketingChannels()\r\n {\r\n this.$emit(\"marketingChannels\", this.marketingChannels);\r\n\r\n // Legacy forms\r\n document.dispatchEvent(new CustomEvent(\"privacy\", { bubbles: true, detail: { type: \"marketingChannels\", marketingChannels: this.marketingChannels } }));\r\n }\r\n};","import { render, staticRenderFns } from \"./PrivacyPolicy.vue?vue&type=template&id=7769b6df\"\nimport script from \"./PrivacyPolicy?vue&type=script&lang=ts&external\"\nexport * from \"./PrivacyPolicy?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"component-privacy-policy\"},[_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyTitle')))]),_vm._v(\" \"),_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyLabel'))+\" \"),_c('a',{attrs:{\"href\":\"https://www.yamaha-motor.eu/it/it/privacy-policy/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyLink')))])])]),_vm._v(\" \"),_c('fieldset',[_c('div',{staticClass:\"chk\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isProfiling),expression:\"isProfiling\"}],attrs:{\"type\":\"checkbox\",\"name\":\"IsProfiling\",\"id\":\"IsProfiling\"},domProps:{\"checked\":Array.isArray(_vm.isProfiling)?_vm._i(_vm.isProfiling,null)>-1:(_vm.isProfiling)},on:{\"change\":[function($event){var $$a=_vm.isProfiling,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isProfiling=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isProfiling=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isProfiling=$$c}},function($event){return _vm.selectProfiling()}]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsProfiling\"}},[_c('span',[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.ProfilingLabel')))]),_vm._v(\" \"+_vm._s(_vm.localizer.get('PrivacyPolicy.Common.Optional')))])]),_vm._v(\" \"),_c('div',{staticClass:\"chk-note\"},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.ProfilingNote')))])]),_vm._v(\" \"),_c('fieldset',[_c('div',{staticClass:\"chk\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isMarketing),expression:\"isMarketing\"}],attrs:{\"type\":\"checkbox\",\"name\":\"IsMarketing\",\"id\":\"IsMarketing\"},domProps:{\"checked\":Array.isArray(_vm.isMarketing)?_vm._i(_vm.isMarketing,null)>-1:(_vm.isMarketing)},on:{\"change\":[function($event){var $$a=_vm.isMarketing,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isMarketing=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isMarketing=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isMarketing=$$c}},function($event){return _vm.selectMarketing()}]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsMarketing\"}},[_c('span',[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.MarketingLabel')))]),_vm._v(\" \"+_vm._s(_vm.localizer.get('PrivacyPolicy.Common.Optional')))])]),_vm._v(\" \"),_c('div',{staticClass:\"chk-note\"},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.MarketingNote')))])]),_vm._v(\" \"),(_vm.isMarketing)?_c('fieldset',{staticClass:\"marketing\"},[_c('div',[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.MarketingChannelLabel')))]),_vm._v(\" \"),_c('div',{staticClass:\"chk\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.marketingChannels),expression:\"marketingChannels\"}],attrs:{\"type\":\"checkbox\",\"name\":\"IsMarketingEmail\",\"id\":\"IsMarketingEmail\",\"value\":\"Email\"},domProps:{\"checked\":Array.isArray(_vm.marketingChannels)?_vm._i(_vm.marketingChannels,\"Email\")>-1:(_vm.marketingChannels)},on:{\"change\":[function($event){var $$a=_vm.marketingChannels,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"Email\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.marketingChannels=$$a.concat([$$v]))}else{$$i>-1&&(_vm.marketingChannels=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.marketingChannels=$$c}},function($event){return _vm.selectMarketingChannels()}]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsMarketingEmail\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.MarketingChannelEmail')))])]),_vm._v(\" \"),_c('div',{staticClass:\"chk\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.marketingChannels),expression:\"marketingChannels\"}],attrs:{\"type\":\"checkbox\",\"name\":\"IsMarketingPhone\",\"id\":\"IsMarketingPhone\",\"value\":\"Phone\"},domProps:{\"checked\":Array.isArray(_vm.marketingChannels)?_vm._i(_vm.marketingChannels,\"Phone\")>-1:(_vm.marketingChannels)},on:{\"change\":[function($event){var $$a=_vm.marketingChannels,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"Phone\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.marketingChannels=$$a.concat([$$v]))}else{$$i>-1&&(_vm.marketingChannels=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.marketingChannels=$$c}},function($event){return _vm.selectMarketingChannels()}]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsMarketingPhone\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.MarketingChannelPhone')))])]),_vm._v(\" \"),_c('div',{staticClass:\"chk\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.marketingChannels),expression:\"marketingChannels\"}],attrs:{\"type\":\"checkbox\",\"name\":\"IsMarketingMail\",\"id\":\"IsMarketingMail\",\"value\":\"Mail\"},domProps:{\"checked\":Array.isArray(_vm.marketingChannels)?_vm._i(_vm.marketingChannels,\"Mail\")>-1:(_vm.marketingChannels)},on:{\"change\":[function($event){var $$a=_vm.marketingChannels,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"Mail\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.marketingChannels=$$a.concat([$$v]))}else{$$i>-1&&(_vm.marketingChannels=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.marketingChannels=$$c}},function($event){return _vm.selectMarketingChannels()}]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsMarketingMail\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.MarketingChannelMail')))])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"bottom\"},[_c('div',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyMyYamaha'))+\" \"),_c('a',{attrs:{\"href\":\"https://my.yamaha-motor.eu/s/my-profile?tabset-b5bd8=3\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyMyYamahaLink')))])]),_vm._v(\" \"),_c('div',{staticClass:\"desc mrg\",attrs:{\"data-mrgt\":\"5\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyBottomLabel'))),_c('a',{attrs:{\"href\":\"https://www.yamaha-motor.eu/it/it/privacy-policy/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.localizer.get('PrivacyPolicy.Common.PrivacyPolicyLink')))])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nexport function applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) &&\n typeof options !== 'function' &&\n !options.hasOwnProperty('type') &&\n typeof options.type === 'undefined') {\n var type = Reflect.getMetadata('design:type', target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\n","import { createDecorator } from 'vue-class-component';\nimport { applyMetadata } from '../helpers/metadata';\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n","import { createDecorator } from 'vue-class-component';\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n }\n else if (typeof watch[path] === 'undefined') {\n watch[path] = [];\n }\n watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n });\n}\n","import Vue from \"vue\";\r\n\r\nexport default class FormHelper {\r\n static initRuntimeProperties(controls: any[], parentControl: any = null) {\r\n // Init runtime properties\r\n for (let control of controls) {\r\n Vue.set(control, \"fullName\", parentControl ? parentControl.fullName + \".\" + control.name : control.name);\r\n Vue.set(control, \"dataSourceParameters\", []);\r\n Vue.set(control, \"isEditing\", false);\r\n Vue.set(control, \"validationErrors\", []);\r\n Vue.set(control, \"additionalValues\", []);\r\n }\r\n }\r\n\r\n public static getValidationErrors(validationState: any): any[] {\r\n let validationErrors: any[] = [];\r\n\r\n for (var propertyName in validationState) {\r\n if (validationState.hasOwnProperty(propertyName)) {\r\n for (let message of validationState[propertyName]) {\r\n validationErrors.push({ name: propertyName, message: message });\r\n }\r\n }\r\n }\r\n\r\n return validationErrors;\r\n }\r\n\r\n public static isControlValidationError(controlName: string, validationErrors: any[]): boolean {\r\n return validationErrors.some(x => x.name === controlName);\r\n }\r\n\r\n public static getRequestVerificationToken(): string {\r\n return (document.getElementsByName(\"__RequestVerificationToken\")[0]).value;\r\n }\r\n\r\n public static showPassword(inputId: string) {\r\n let input: HTMLElement = document.querySelector(\"#\" + inputId);\r\n input.setAttribute(\"type\", input.getAttribute(\"type\") === \"password\" ? \"text\" : \"password\");\r\n }\r\n\r\n static setFocus(contextElement: HTMLElement) {\r\n // Set focus on first input element\r\n let firstInput: HTMLElement = contextElement.querySelector(\"input\");\r\n if (firstInput) {\r\n firstInput.focus();\r\n }\r\n }\r\n\r\n static removeFocus() {\r\n // Remove document focus\r\n if (document.activeElement instanceof HTMLElement) {\r\n document.activeElement.blur();\r\n }\r\n }\r\n}","export default class GTagHelper {\r\n public static setConfig(targetId: string, configInfo: any = null) {\r\n if ((window).gtag) {\r\n (window).gtag(\"config\", targetId, configInfo);\r\n }\r\n }\r\n\r\n // Get values from gtag (including values set with the set command)\r\n public static getValue(target: string, fieldName: string) {\r\n if ((window).gtag) {\r\n (window).gtag(\"get\", target, fieldName, (field: any) => { return field });\r\n }\r\n }\r\n\r\n // Set values that persist across all the subsequent gtag() calls on the page\r\n public static setValue(valuePair: any) {\r\n if ((window).gtag) {\r\n (window).gtag(\"set\", valuePair);\r\n }\r\n }\r\n\r\n public static sendEvent(name: string, category: string, label?: string, value?: number) {\r\n let parameters: any = { category: category };\r\n\r\n if (label) {\r\n parameters.label = label;\r\n }\r\n\r\n if (value) {\r\n parameters.value = value;\r\n }\r\n\r\n if ((window).gtag) {\r\n (window).gtag(\"event\", name, parameters);\r\n }\r\n }\r\n\r\n public static sendCustomEvent(name: string, parameters: any = null) {\r\n if ((window).gtag) {\r\n (window).gtag(\"event\", name, parameters);\r\n }\r\n }\r\n}","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport Axios from \"axios\";\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\n@Component({ name: \"JobProfileSubmit\" })\r\nexport default class JobProfileSubmit extends Vue {\r\n public isLoadingForm: boolean = false;\r\n public isSuccess: boolean = false;\r\n public formData: any = { province: null, dealerPointCode: null, workingArea: null };\r\n public fileName: string = null;\r\n public zones: any = [];\r\n public dealerJobOfferWorkingAreas: any = [];\r\n public dealerJobOfferOfferTypes: any = [];\r\n public dealer: any = {};\r\n public dealerPoints: any[] = [];\r\n public validationErrors: any[] = [];\r\n public dealerPoint: any = {};\r\n public jobOfferDetail: any = {};\r\n\r\n @Prop() readonly recaptchaSiteKey: string;\r\n @Prop() readonly offerIdMaster: string;\r\n @Prop() readonly dealerCode: string;\r\n @Prop() readonly dealerPointCode: string;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n public async created() {\r\n await Promise.all([this.getData(), this.getDealerJobOfferFormList()]);\r\n this.setRecaptcha();\r\n\r\n if (this.$route.name === \"JobProfileSubmit\" || this.$route.name === \"JobFreeProfileSubmit\") {\r\n document.body.classList.add(\"overflow\");\r\n }\r\n }\r\n\r\n public mounted() {\r\n this.$nextTick(x => {\r\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\r\n anchor.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n\r\n const targetElement = document.querySelector(\"#SectionSpontaneousChanting\");\r\n const offset = 200; // Imposta l'offset\r\n\r\n window.scrollTo({\r\n top: targetElement.offsetTop - offset,\r\n behavior: 'smooth'\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n public async getData() {\r\n this.formData.offerIdMaster = this.offerIdMaster;\r\n this.formData.dealerPointCode = this.dealerPointCode;\r\n\r\n if (this.$route.name === \"JobProfileSubmit\" || this.offerIdMaster) {\r\n const response = (await Axios.post(this.routes.WorkWithUs_GetJobOfferData, { offerIdMaster: this.offerIdMaster })).data;\r\n this.dealer = response.dealer;\r\n this.dealerPoint = response.dealerPoint;\r\n this.jobOfferDetail = response.dealerJobOffer;\r\n\r\n this.formData.offerIdMaster = this.jobOfferDetail.idMaster;\r\n this.formData.dealerPointCode = this.jobOfferDetail.dealerPointCode;\r\n } else if (this.$route.name === \"JobFreeProfileSubmit\") {\r\n const response = (await Axios.post(this.routes.Profile_GetZones)).data;\r\n this.zones = response;\r\n } else if (!this.dealerPointCode) {\r\n const result = (await Axios.post(this.routes.Dealer_GetDealerPointsByDealerCode, { dealerCode: this.dealerCode })).data;\r\n this.dealerPoints = result;\r\n\r\n if (this.dealerPoints.length === 1) {\r\n this.formData.dealerPointCode = this.dealerPoints[0].code;\r\n }\r\n }\r\n\r\n this.formData.dealerPointCode = !this.formData.dealerPointCode ? null : this.formData.dealerPointCode;\r\n }\r\n\r\n public async getDealerPoints() {\r\n this.formData.dealerPointCode = null;\r\n this.dealerPoints = [];\r\n if (this.formData.province) {\r\n const response = (await Axios.post(this.routes.Dealer_GetDealerPointsByProvince, this.formData)).data;\r\n this.dealerPoints = response.dealerPoints;\r\n }\r\n }\r\n\r\n public async getDealerJobOfferFormList() {\r\n const response = (await Axios.post(this.routes.WorkWithUs_GetDealerJobOfferFormList)).data;\r\n this.dealerJobOfferWorkingAreas = response.dealerJobOfferWorkingAreas;\r\n this.dealerJobOfferOfferTypes = response.dealerJobOfferOfferTypes;\r\n }\r\n\r\n public setRecaptcha() {\r\n let recaptchaScript = document.createElement(\"script\");\r\n recaptchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js\");\r\n document.head.appendChild(recaptchaScript);\r\n }\r\n\r\n public setRegistrationFileName() {\r\n let curriculumVitae = (this).$refs.curriculumVitae;\r\n\r\n this.fileName = null;\r\n\r\n if (curriculumVitae.files.length !== 0 && curriculumVitae.files[0].name) {\r\n this.fileName = curriculumVitae.files[0].name;\r\n }\r\n }\r\n\r\n public async submitForm() {\r\n FormHelper.removeFocus();\r\n this.validationErrors = [];\r\n this.isLoadingForm = true;\r\n\r\n let multipartData = new FormData();\r\n multipartData.append(\"curriculumVitae\", (this).$refs.curriculumVitae.files[0]);\r\n\r\n for (const key in this.formData) {\r\n if (Object.prototype.hasOwnProperty.call(this.formData, key)) {\r\n if (this.formData[key]) {\r\n multipartData.append(key, this.formData[key]);\r\n }\r\n }\r\n }\r\n\r\n try {\r\n await Axios.post(this.routes.WorkWithUs_JobProfileSubmit, multipartData, { headers: { \"RecaptchaVerificationToken\": (window).grecaptcha.getResponse(), \"Content-Type\": \"multipart/form-data\" } });\r\n\r\n this.isSuccess = true;\r\n\r\n GTagHelper.sendEvent(\"form_submit\", \"work_with_us\");\r\n\r\n if (!this.$route.name) {\r\n const targetElement = document.querySelector(\"#SectionSpontaneousChanting\");\r\n const offset = 100; // Imposta l'offset\r\n\r\n window.scrollTo({\r\n top: targetElement.offsetTop - offset,\r\n behavior: 'smooth'\r\n });\r\n }\r\n } catch (error) {\r\n if (error.response && error.response.status === 400) {\r\n this.validationErrors = FormHelper.getValidationErrors(error.response.data);\r\n }\r\n\r\n (window).grecaptcha.reset();\r\n }\r\n\r\n this.isLoadingForm = false;\r\n }\r\n\r\n public profiling(profiling: boolean) {\r\n this.formData.isProfiling = profiling;\r\n }\r\n\r\n public marketing(marketing: boolean) {\r\n this.formData.isMarketing = marketing;\r\n }\r\n\r\n public marketingChannels(marketingChannels: any) {\r\n this.formData.marketingChannels = marketingChannels;\r\n }\r\n\r\n public closeJobProfileSubmit() {\r\n if (this.$route.name === \"JobProfileSubmit\" || this.$route.name === \"JobFreeProfileSubmit\") {\r\n document.body.classList.remove(\"overflow\");\r\n }\r\n\r\n if (this.$route.name === \"JobProfileSubmit\") {\r\n this.$router.push({ name: \"JobOfferDetail\", params: { offerIdMaster: this.offerIdMaster } }).catch(() => { });\r\n } else if (this.$route.name === \"JobFreeProfileSubmit\") {\r\n this.$router.push({ name: \"WorkWithUsLocator\" }).catch(() => { });\r\n }\r\n }\r\n\r\n public isValidationError(controlName: string): boolean {\r\n return FormHelper.isControlValidationError(controlName, this.validationErrors);\r\n }\r\n}","import { render, staticRenderFns } from \"./JobProfileSubmit.vue?vue&type=template&id=471a4cd9\"\nimport script from \"./JobProfileSubmit?vue&type=script&lang=ts&external\"\nexport * from \"./JobProfileSubmit?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:[{ 'apply-spontaneously': !_vm.jobOfferDetail.workingArea && !_vm.dealerPoint?.name }, 'wrap-inforequest']},[_c('div',{staticClass:\"app-inforequest\"},[_c('div',{staticClass:\"close icon fastic-close\",on:{\"click\":function($event){return _vm.closeJobProfileSubmit()}}}),_vm._v(\" \"),_c('div',{staticClass:\"info-request scroll\"},[(!_vm.isSuccess)?[_c('div',{staticClass:\"head\",attrs:{\"data-mrgb\":\"15\"}},[(_vm.jobOfferDetail.workingArea && _vm.dealerPoint?.name)?_c('div',{staticClass:\"main-title maintitle s32\",attrs:{\"role\":\"heading\"}},[_vm._v(\"Candidati come \"+_vm._s(_vm.dealerJobOfferWorkingAreas.find(x => x.value === _vm.jobOfferDetail.workingArea)?.title)+\" presso \"+_vm._s(_vm.dealerPoint.name))]):_c('div',{staticClass:\"main-title maintitle s32\",attrs:{\"role\":\"heading\"}},[_vm._v(\"Candidati spontaneamente\")])]),_vm._v(\" \"),_c('div',{staticClass:\"form\"},[_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[(this.$route.name === 'JobFreeProfileSubmit')?_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"Zone\"}},[_vm._v(\"Provincia\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.province),expression:\"formData.province\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Zone') }, 'dropdown'],attrs:{\"id\":\"Zone\",\"name\":\"Zone\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"province\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.getDealerPoints()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.zones),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.title))])})],2)])]):_vm._e(),_vm._v(\" \"),((!_vm.dealerPointCode && _vm.dealerPoints.length > 1) || this.$route.name === 'JobFreeProfileSubmit')?_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"DealerPointCode\"}},[_vm._v(\"Punto vendita\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.dealerPointCode),expression:\"formData.dealerPointCode\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('DealerPointCode') }, 'dropdown'],attrs:{\"id\":\"DealerPointCode\",\"name\":\"DealerPointCode\",\"disabled\":this.$route.name === 'JobFreeProfileSubmit' && !_vm.formData.province},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"dealerPointCode\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.dealerPoints),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.code}},[_vm._v(_vm._s(item.company)+\" - \"+_vm._s(item.location))])})],2)])]):_vm._e(),_vm._v(\" \"),(!_vm.offerIdMaster)?_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"WorkingArea\"}},[_vm._v(\"Area lavorativa\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.workingArea),expression:\"formData.workingArea\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('WorkingArea') }, 'dropdown'],attrs:{\"id\":\"WorkingArea\",\"name\":\"WorkingArea\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"workingArea\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.dealerJobOfferWorkingAreas),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.title))])})],2)])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Name\"}},[_vm._v(\"Nome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.name),expression:\"formData.name\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Name') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Nome\",\"id\":\"Name\",\"name\":\"Name\"},domProps:{\"value\":(_vm.formData.name)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"name\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Surname\"}},[_vm._v(\"Cognome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.surname),expression:\"formData.surname\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Surname') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Cognome\",\"id\":\"Surname\",\"name\":\"Surname\"},domProps:{\"value\":(_vm.formData.surname)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"surname\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Phone\"}},[_vm._v(\"Telefono\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.phone),expression:\"formData.phone\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Phone') }, 'textbox'],attrs:{\"type\":\"tel\",\"aria-label\":\"Telefono\",\"id\":\"Phone\",\"name\":\"Phone\",\"placeholder\":\"+39...\"},domProps:{\"value\":(_vm.formData.phone)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"phone\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Email\"}},[_vm._v(\"Email\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.email),expression:\"formData.email\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Email') }, 'textbox'],attrs:{\"type\":\"email\",\"aria-label\":\"Email\",\"id\":\"Email\",\"name\":\"Email\",\"placeholder\":\"nome@dominio.it\"},domProps:{\"value\":(_vm.formData.email)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"email\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"data-gap\":\"20\",\"disabled\":_vm.isLoadingForm}},[[_c('div',{staticClass:\"item\"},[_c('div',{class:[{ 'error': _vm.isValidationError('InputFile'), 'readonly': _vm.fileName && !_vm.isValidationError('InputFile') }, 'item fileupload']},[_c('label',{staticClass:\"container\",attrs:{\"for\":\"InputFile\"}},[(_vm.fileName)?_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.fileName))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[(_vm.fileName)?_c('div',{staticClass:\"button secondary\",attrs:{\"data-icon\":\"\",\"data-pill\":\"\",\"data-border\":\"\"}},[_vm._v(\"Cambia PDF \"),_c('span',{staticClass:\"icon fastic-upload\"})]):_c('div',{staticClass:\"button secondary\",attrs:{\"data-icon\":\"\",\"data-pill\":\"\",\"data-border\":\"\"}},[_vm._v(\"Carica il tuo CV in PDF \"),_c('span',{staticClass:\"icon fastic-upload\"})])])]),_vm._v(\" \"),_c('input',{ref:\"curriculumVitae\",attrs:{\"type\":\"file\",\"name\":\"InputFile\",\"id\":\"InputFile\",\"accept\":\".pdf\"},on:{\"change\":function($event){return _vm.setRegistrationFileName()}}})])])]],2),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"data-gap\":\"20\",\"disabled\":_vm.isLoadingForm}},[[_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\",\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Message\"}},[_vm._v(\"Presentati e raccontaci perché ti piacerebbe lavorare con noi\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.message),expression:\"formData.message\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Message') }, 'textarea'],attrs:{\"rows\":\"4\",\"cols\":\"20\",\"maxlength\":\"500\",\"aria-label\":\"Messaggio di presentazione\",\"id\":\"Message\",\"name\":\"Message\"},domProps:{\"value\":(_vm.formData.message)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"message\", $event.target.value)}}})])])]],2),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"data-gap\":\"20\",\"disabled\":_vm.isLoadingForm,\"data-privacy\":\"\"}},[_c('app-privacypolicy',{on:{\"profiling\":_vm.profiling,\"marketing\":_vm.marketing,\"marketingChannels\":_vm.marketingChannels}}),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"g-recaptcha\",attrs:{\"id\":\"RecaptchaJobProfile\",\"data-sitekey\":_vm.recaptchaSiteKey}})]),_vm._v(\" \"),(_vm.validationErrors.length !== 0)?_c('div',{staticClass:\"validation-summary-errors\"},[_c('ul',_vm._l((_vm.validationErrors),function(validationError,index){return _c('li',{key:index},[_vm._v(_vm._s(validationError.message))])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"cta\"},[(!_vm.isLoadingForm)?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.submitForm()}}},[_vm._v(\"Candidati ora\")]):_c('div',{staticClass:\"button\",attrs:{\"data-width\":\"300\",\"data-disabled\":\"\"}},[_vm._m(0)])])])],1)])]:_c('div',{staticClass:\"success\"},[_c('div',{staticClass:\"main-title maintitle s32\"},[_vm._v(\"Grazie per esserti candidato\")]),_vm._v(\" \"),_c('div',{staticClass:\"main-abstract maintitle s20\",attrs:{\"data-mrgb\":\"30\"}},[_vm._v(\"Abbiamo ricevuto il tuo profilo e il nostro team di selezione lo esaminerà con attenzione\")]),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[(this.$route.name === 'JobFreeProfileSubmit')?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.closeJobProfileSubmit()}}},[_vm._v(\"Torna alla mappa\")]):_vm._e(),_vm._v(\" \"),(this.$route.name === 'JobProfileSubmit')?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.closeJobProfileSubmit()}}},[_vm._v(\"Torna al dettaglio\")]):_vm._e()])])],2),_vm._v(\" \"),_vm._m(1)])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"loader-box\",attrs:{\"data-type\":\"button\"}},[_c('div',{staticClass:\"loader\",attrs:{\"data-color\":\"white\"}})])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"box-image\"},[_c('img',{staticClass:\"image delersite\",attrs:{\"src\":\"/areas/dealersite/images/personas-contact.png\",\"width\":\"462\",\"height\":\"721\",\"alt\":\"Lavora con noi\"}}),_vm._v(\" \"),_c('img',{staticClass:\"image locator\",attrs:{\"src\":\"/images/personas-job.png\",\"width\":\"462\",\"height\":\"721\",\"alt\":\"Lavora con noi\"}})])\n}]\n\nexport { render, staticRenderFns }","export default class DataHelper {\r\n static convertToString(value: any, dataType: string, configuration?: DataHelperConfiguration): string {\r\n let stringValue = null;\r\n\r\n switch (dataType) {\r\n case \"Boolean\":\r\n stringValue = value === true ? \"True\" : null;\r\n break;\r\n case \"Integer\":\r\n stringValue = this.convertNumberToString(value, configuration, false);\r\n break;\r\n case \"Decimal\":\r\n stringValue = this.convertNumberToString(value, configuration);\r\n break;\r\n case \"Date\":\r\n stringValue = this.convertDateToString(value, configuration, false, false);\r\n break;\r\n case \"DateTime\":\r\n stringValue = this.convertDateToString(value, configuration, true, false);\r\n break;\r\n case \"DateTimeOffset\":\r\n stringValue = this.convertDateToString(value, configuration);\r\n break;\r\n case \"String\":\r\n if (value !== null && value !== \"\") {\r\n stringValue = String(value);\r\n }\r\n break;\r\n case \"Structured\":\r\n if (value !== null && value !== \"\") {\r\n stringValue = JSON.stringify(value, (key, value) => value === null ? undefined : value, \"\\t\");\r\n }\r\n break;\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n static convertToNative(value: string, dataType: string, configuration?: DataHelperConfiguration): any {\r\n let nativeValue = null;\r\n\r\n switch (dataType) {\r\n case \"Boolean\":\r\n nativeValue = value === \"True\" ? true : false;\r\n break;\r\n case \"Integer\":\r\n nativeValue = this.convertStringToNumber(value, configuration);\r\n break;\r\n case \"Decimal\":\r\n nativeValue = this.convertStringToNumber(value, configuration);\r\n break;\r\n case \"Date\":\r\n nativeValue = this.convertStringToDate(value, configuration);\r\n break;\r\n case \"DateTime\":\r\n nativeValue = this.convertStringToDate(value, configuration);\r\n break;\r\n case \"DateTimeOffset\":\r\n nativeValue = this.convertStringToDate(value, configuration);\r\n break;\r\n case \"String\":\r\n if (value !== null && value !== \"\") {\r\n nativeValue = value;\r\n }\r\n break;\r\n case \"Structured\":\r\n if (value !== null && value !== \"\") {\r\n nativeValue = JSON.parse(value);\r\n }\r\n break;\r\n }\r\n\r\n return nativeValue;\r\n }\r\n\r\n static isNumeric(value: any): boolean {\r\n return !isNaN(value - parseFloat(value));\r\n }\r\n\r\n static convertStringToNumber(value: string, configuration?: DataHelperConfiguration): number {\r\n let config = this.initConfiguration(configuration);\r\n\r\n let nativeValue: any = null;\r\n\r\n if (value !== null && value !== \"\") {\r\n let formattedValue = value;\r\n\r\n if (config.thousandsSeparator) {\r\n formattedValue = formattedValue.replace(new RegExp(\"\\\\\" + config.thousandsSeparator, \"g\"), \"\")\r\n }\r\n\r\n formattedValue = formattedValue.replace(config.decimalSeparator, \".\");\r\n\r\n if (this.isNumeric(formattedValue)) {\r\n nativeValue = parseFloat(formattedValue);\r\n } else {\r\n nativeValue = value;\r\n }\r\n }\r\n\r\n return nativeValue;\r\n }\r\n\r\n static convertNumberToString(value: number, configuration?: DataHelperConfiguration, isDecimalPart: boolean = true) {\r\n let config = this.initConfiguration(configuration);\r\n\r\n let stringValue: string = null;\r\n\r\n if (value != null) {\r\n if (this.isNumeric(value)) {\r\n stringValue = String(value).replace(/,/g, \"\");\r\n\r\n // format integer and decimal parts\r\n let valueParts: string[] = stringValue.split(\".\");\r\n let integerPart: string = valueParts[0];\r\n let decimalPart: string = \"\";\r\n if (valueParts.length > 1) {\r\n decimalPart = valueParts[1];\r\n }\r\n\r\n // Set thousands separator\r\n if (integerPart.length > 3 && integerPart.substring(0, integerPart.length - 3) !== \"-\") {\r\n integerPart = integerPart.substring(0, integerPart.length - 3) + config.thousandsSeparator + integerPart.substring(integerPart.length - 3);\r\n }\r\n\r\n // Set millions separator\r\n if (integerPart.length > 7 && integerPart.substring(0, integerPart.length - 7) !== \"-\") {\r\n integerPart = integerPart.substring(0, integerPart.length - 7) + config.thousandsSeparator + integerPart.substring(integerPart.length - 7);\r\n }\r\n\r\n stringValue = integerPart;\r\n if (config.decimalCount !== 0 && isDecimalPart) {\r\n stringValue += config.decimalSeparator + decimalPart.padEnd(config.decimalCount, \"0\");\r\n }\r\n } else {\r\n stringValue = String(value);\r\n }\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n static convertStringToDate(value: string, configuration?: DataHelperConfiguration): string {\r\n let config = this.initConfiguration(configuration);\r\n\r\n let nativeValue: string = null;\r\n\r\n if (value != null && value != \"\") {\r\n let dateTimeParts = null;\r\n\r\n switch (config.dateFormat) {\r\n case \"DayFirst\":\r\n dateTimeParts = this.getDayFirstDateTimeParts(value);\r\n break;\r\n case \"MonthFirst\":\r\n dateTimeParts = this.getMonthFirstDateTimeParts(value);\r\n break;\r\n default:\r\n case \"ISO\":\r\n dateTimeParts = this.getISODateTimeParts(value);\r\n break;\r\n }\r\n\r\n if (dateTimeParts) {\r\n nativeValue = dateTimeParts.year + \"-\" + dateTimeParts.month + \"-\" + dateTimeParts.day + \"T\" + dateTimeParts.hour + \":\" + dateTimeParts.minutes + \":\" + dateTimeParts.seconds;\r\n\r\n if (dateTimeParts.offset) {\r\n nativeValue += dateTimeParts.offset;\r\n }\r\n }\r\n }\r\n\r\n return nativeValue;\r\n }\r\n\r\n static convertDateToString(value: string, configuration?: DataHelperConfiguration, isTimePart: boolean = true, isOffsetPart: boolean = true): string {\r\n let config = this.initConfiguration(configuration);\r\n\r\n let stringValue: string = null;\r\n\r\n let dateTimeParts = this.getISODateTimeParts(value);\r\n if (dateTimeParts) {\r\n switch (config.dateFormat) {\r\n case \"DayFirst\":\r\n stringValue = dateTimeParts.day + \"/\" + dateTimeParts.month + \"/\" + dateTimeParts.year;\r\n\r\n if (isTimePart) {\r\n stringValue += \" \" + dateTimeParts.hour + \":\" + dateTimeParts.minutes;\r\n }\r\n\r\n if (isOffsetPart) {\r\n stringValue += \" \" + dateTimeParts.offset;\r\n }\r\n break;\r\n case \"MonthFirst\":\r\n stringValue = dateTimeParts.month + \"/\" + dateTimeParts.day + \"/\" + dateTimeParts.year;\r\n\r\n if (isTimePart) {\r\n stringValue += \" \" + dateTimeParts.hour + \":\" + dateTimeParts.minutes;\r\n }\r\n\r\n if (isOffsetPart) {\r\n stringValue += \" \" + dateTimeParts.offset;\r\n }\r\n break;\r\n case \"ISO\":\r\n default:\r\n stringValue = dateTimeParts.year + \"-\" + dateTimeParts.month + \"-\" + dateTimeParts.day;\r\n\r\n if (isTimePart) {\r\n stringValue += \"T\" + dateTimeParts.hour + \":\" + dateTimeParts.minutes + \":\" + dateTimeParts.seconds;\r\n }\r\n\r\n if (isOffsetPart && dateTimeParts.offset) {\r\n stringValue += dateTimeParts.offset;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n static getDatePart(value: string): string {\r\n let stringValue: string = null;\r\n\r\n let dateTimeParts = this.getISODateTimeParts(value);\r\n if (dateTimeParts) {\r\n stringValue = dateTimeParts.year + \"-\" + dateTimeParts.month + \"-\" + dateTimeParts.day;\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n static getTimePart(value: string): string {\r\n let stringValue: string = null;\r\n\r\n let dateTimeParts = this.getISODateTimeParts(value);\r\n if (dateTimeParts) {\r\n stringValue = dateTimeParts.hour + \":\" + dateTimeParts.minutes;\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n static getOffsetPart(value: string): string {\r\n let stringValue: string = null;\r\n\r\n let dateTimeParts = this.getISODateTimeParts(value);\r\n if (dateTimeParts) {\r\n stringValue = dateTimeParts.offset;\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n static getISODateTimeParts(value: string): any {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n if (!this.isValidDateTime(value)) {\r\n return null;\r\n }\r\n\r\n let [datePart, timePart] = value.split(\"T\");\r\n let [year, month, day] = datePart.match(/\\d+/g);\r\n let [time, offset] = timePart ? timePart.split(/(?=[+-])/) : [\"00:00:00\", null];\r\n\r\n let hour = timePart ? timePart.split(\":\")[0] : null;\r\n let minutes = timePart ? timePart.split(\":\")[1] : null;\r\n let seconds = timePart ? timePart.split(\":\")[2] : null;\r\n\r\n if (seconds) {\r\n if (seconds.includes(\"+\")) {\r\n seconds = seconds.split(\"+\")[0];\r\n } else if (seconds.includes(\"-\")) {\r\n seconds = seconds.split(\"-\")[0];\r\n }\r\n }\r\n\r\n return { datePart: datePart, timePart: timePart, year: year, month: month, day: day, hour: hour ?? \"00\", minutes: minutes ?? \"00\", seconds: seconds ?? \"00\", offset: offset ?? null };\r\n }\r\n\r\n static getDayFirstDateTimeParts(value: string): any {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n let [datePart, timePart, offset] = value.split(\" \");\r\n let [day, month, year] = datePart.match(/\\d+/g);\r\n\r\n let hour = timePart ? timePart.split(\":\")[0] : null;\r\n let minutes = timePart ? timePart.split(\":\")[1] : null;\r\n let seconds = timePart ? timePart.split(\":\")[2] : null;\r\n\r\n return { datePart: datePart, timePart: timePart, year: year, month: month, day: day, hour: hour ?? \"00\", minutes: minutes ?? \"00\", seconds: seconds ?? \"00\", offset: offset ?? null };\r\n }\r\n\r\n static getMonthFirstDateTimeParts(value: string): any {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n let [datePart, timePart, offset] = value.split(\" \");\r\n let [month, day, year] = datePart.match(/\\d+/g);\r\n\r\n let hour = timePart ? timePart.split(\":\")[0] : null;\r\n let minutes = timePart ? timePart.split(\":\")[1] : null;\r\n let seconds = timePart ? timePart.split(\":\")[2] : null;\r\n\r\n return { datePart: datePart, timePart: timePart, year: year, month: month, day: day, hour: hour ?? \"00\", minutes: minutes ?? \"00\", seconds: seconds ?? \"00\", offset: offset ?? null };\r\n }\r\n\r\n static isValidDateTime(value: any): boolean {\r\n // Reference: https://www.delftstack.com/howto/javascript/javascript-validate-date/\r\n let isValidDate = Date.parse(value);\r\n return !isNaN(isValidDate);\r\n }\r\n\r\n static getLocalOffset(): string {\r\n let local = new Date();\r\n let tzo = -local.getTimezoneOffset();\r\n let dif = tzo >= 0 ? \"+\" : \"-\";\r\n return (dif + String(tzo / 60).padStart(2, \"0\") + \":\" + String(tzo % 60).padStart(2, \"0\"));\r\n }\r\n\r\n static initConfiguration(configuration: DataHelperConfiguration) {\r\n let culture = configuration?.culture ?? \"default\";\r\n\r\n let config = this.getConfigurationByCulture(culture);\r\n\r\n if (configuration?.decimalSeparator != null && configuration?.decimalSeparator != undefined) {\r\n config.decimalSeparator = configuration.decimalSeparator;\r\n }\r\n\r\n if (configuration?.decimalCount) {\r\n config.decimalCount = configuration.decimalCount;\r\n }\r\n\r\n if (configuration?.thousandsSeparator != null && configuration?.thousandsSeparator != undefined) {\r\n config.thousandsSeparator = configuration.thousandsSeparator;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n static getConfigurationByCulture(culture: string): any {\r\n switch (culture) {\r\n case \"en-GB\":\r\n case \"it-IT\":\r\n case \"cs-CZ\":\r\n case \"da-DK\":\r\n case \"de-DE\":\r\n case \"el-GR\":\r\n case \"es-ES\":\r\n case \"fi-FI\":\r\n case \"fr-FR\":\r\n case \"hu-HU\":\r\n case \"ja-JP\":\r\n case \"ko-KR\":\r\n case \"ms-MY\":\r\n case \"pl-PL\":\r\n case \"ro-RO\":\r\n case \"ru-RU\":\r\n case \"sk-SK\":\r\n case \"sv-SE\":\r\n case \"th-TH\":\r\n case \"tr-TR\":\r\n case \"zh-CN\":\r\n return {\r\n culture: culture,\r\n decimalSeparator: \",\",\r\n decimalCount: 2,\r\n thousandsSeparator: \".\",\r\n dateFormat: \"DayFirst\"\r\n }\r\n case \"en-US\":\r\n return {\r\n culture: culture,\r\n decimalSeparator: \".\",\r\n decimalCount: 2,\r\n thousandsSeparator: \",\",\r\n dateFormat: \"MonthFirst\"\r\n }\r\n case \"default\":\r\n default:\r\n return {\r\n culture: \"default\",\r\n decimalSeparator: \".\",\r\n decimalCount: 2,\r\n thousandsSeparator: \"\",\r\n dateFormat: \"ISO\"\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport interface DataHelperConfiguration {\r\n culture?: string;\r\n decimalSeparator?: string;\r\n decimalCount?: number;\r\n thousandsSeparator?: string;\r\n dateFormat?: string;\r\n}","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport Axios from \"axios\";\r\nimport DataHelper, { DataHelperConfiguration } from \"@Scripts/Common/DataHelper\";\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\n\r\n@Component({ name: \"MaintenancePackageEstimateRequest\" })\r\nexport default class MaintenancePackageEstimateRequest extends Vue {\r\n public dataConfiguration: DataHelperConfiguration = { culture: \"it-IT\" };\r\n public isLoading: boolean = true;\r\n public isLoadingForm: boolean = false;\r\n public isSuccess: boolean = false;\r\n public formData: any = { model: null, durationYears: null, durationKm: null, zone: null, dealerPointCode: null, isProfiling: false, isMarketing: false, marketingChannels: [] };\r\n public models: any[] = [];\r\n public packages: any[] = [];\r\n public durationKms: any[] = [];\r\n public packageDetail: any = null;\r\n public zones: any[] = [];\r\n public dealerPoints: any[] = [];\r\n public formDealerPoints: any[] = [];\r\n public validationErrors: any[] = [];\r\n\r\n @Prop() readonly recaptchaSiteKey: string;\r\n @Prop() readonly dealerCode: string;\r\n @Prop() readonly isDealerSite: boolean;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n get selectedDealerPointCode() {\r\n return this.$store.getters[\"dealerStore/selectedDealerPointCode\"];\r\n }\r\n\r\n public async created() {\r\n this.setRecaptcha();\r\n\r\n await this.getData();\r\n }\r\n\r\n public setRecaptcha() {\r\n let recaptchaScript = document.createElement(\"script\");\r\n recaptchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js?render=explicit\");\r\n document.head.appendChild(recaptchaScript);\r\n }\r\n\r\n public async getData() {\r\n this.isLoading = true;\r\n\r\n const response = (await Axios.post(this.routes.MaintenancePackage_EstimateRequest_GetData)).data;\r\n this.models = response.models;\r\n this.isLoading = false;\r\n }\r\n\r\n public async changeModel() {\r\n this.formData.durationYears = null;\r\n this.formData.durationKm = null;\r\n\r\n const response = (await Axios.post(this.routes.MaintenancePackage_EstimateRequest_GetPackages, this.formData)).data;\r\n this.packages = response.packages;\r\n }\r\n\r\n public changeDurationYears() {\r\n this.durationKms = this.packages.filter(x => x.durationYears === this.formData.durationYears)[0].durationKm;\r\n this.formData.durationKm = null;\r\n }\r\n\r\n public async calculateEstimate() {\r\n FormHelper.removeFocus();\r\n this.validationErrors = [];\r\n this.isLoadingForm = true;\r\n this.formData.dealerCode = this.dealerCode != null ? this.dealerCode : null;\r\n\r\n try {\r\n const response = (await Axios.post(this.routes.MaintenancePackage_EstimateRequest_GetPackageData, this.formData)).data;\r\n this.packageDetail = response.package;\r\n this.zones = response.zones;\r\n this.dealerPoints = response.dealerPoints;\r\n\r\n if (this.dealerCode != null) {\r\n this.formDealerPoints = this.dealerPoints;\r\n }\r\n\r\n if (this.dealerPoints.length === 1) {\r\n this.formData.dealerPointCode = this.dealerPoints[0].code;\r\n } else if (this.isDealerSite) {\r\n this.formData.dealerPointCode = this.selectedDealerPointCode;\r\n }\r\n\r\n this.$nextTick(function () {\r\n (window).grecaptcha.render(document.getElementById(\"RecaptchaEstimate\"), { \"sitekey\": this.recaptchaSiteKey });\r\n });\r\n\r\n document.querySelector(\"#EstimateDescription\").classList.add(\"hden\");\r\n } catch (error) {\r\n if (error.response && error.response.status === 400) {\r\n this.validationErrors = FormHelper.getValidationErrors(error.response.data);\r\n }\r\n }\r\n\r\n this.isLoadingForm = false;\r\n\r\n document.querySelector(\".app-page\").scrollIntoView();\r\n }\r\n\r\n public async changeSelectedZone() {\r\n this.formData.dealerPointCode = null;\r\n this.formDealerPoints = [];\r\n\r\n if (this.formData.zone) {\r\n this.formDealerPoints = this.dealerPoints.filter(x => x.province === this.formData.zone);\r\n }\r\n }\r\n\r\n public async submitForm() {\r\n FormHelper.removeFocus();\r\n this.validationErrors = [];\r\n this.isLoadingForm = true;\r\n\r\n this.formData.origin = this.isDealerSite ? \"DealerSite\" : \"YMITSite\";\r\n\r\n try {\r\n await Axios.post(this.routes.MaintenancePackage_EstimateRequest_Save, this.formData, { headers: { \"RecaptchaVerificationToken\": (window).grecaptcha.getResponse() } });\r\n this.isSuccess = true\r\n } catch (error) {\r\n if (error.response && error.response.status === 400) {\r\n this.validationErrors = FormHelper.getValidationErrors(error.response.data);\r\n }\r\n\r\n (window).grecaptcha.reset();\r\n }\r\n\r\n this.isLoadingForm = false;\r\n }\r\n\r\n public reload() {\r\n location.reload();\r\n }\r\n\r\n public profiling(profiling: boolean) {\r\n this.formData.isProfiling = profiling;\r\n }\r\n\r\n public marketing(marketing: boolean) {\r\n this.formData.isMarketing = marketing;\r\n }\r\n\r\n public marketingChannels(marketingChannels: any) {\r\n this.formData.marketingChannels = marketingChannels;\r\n }\r\n\r\n public isValidationError(controlName: string): boolean {\r\n return FormHelper.isControlValidationError(controlName, this.validationErrors);\r\n }\r\n\r\n public formatNumber(data: number): string {\r\n return DataHelper.convertNumberToString(data, this.dataConfiguration, false);\r\n }\r\n\r\n public formatPrice(price: number): string {\r\n let configuration = this.dataConfiguration;\r\n configuration.decimalCount = 2;\r\n return DataHelper.convertToString(price, \"Decimal\", configuration);\r\n }\r\n};","import { render, staticRenderFns } from \"./MaintenancePackageEstimateRequest.vue?vue&type=template&id=a951c560\"\nimport script from \"./MaintenancePackageEstimateRequest?vue&type=script&lang=ts&external\"\nexport * from \"./MaintenancePackageEstimateRequest?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.isLoading)?_c('div',{staticClass:\"content\"},[(!_vm.packageDetail)?_c('div',{staticClass:\"form\"},[_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('div',{staticClass:\"main-abstract maintitle s22 uppercase\"},[_vm._v(\"Per quale veicolo vorresti attivare il pacchetto manutenzione?\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"control w470\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.model),expression:\"formData.model\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Model') }, 'dropdown'],attrs:{\"aria-label\":\"Modello\",\"id\":\"Model\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"model\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.changeModel()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.models),function(item,index){return _c('option',{key:index,domProps:{\"value\":item}},[_vm._v(_vm._s(item))])})],2)])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('div',{staticClass:\"main-abstract maintitle s22 uppercase\"},[_vm._v(\"Quanti km percorri e in quanto tempo?\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"DurationYears\"}},[_vm._v(\"Tempo\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.durationYears),expression:\"formData.durationYears\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('DurationYears') }, 'dropdown'],attrs:{\"aria-label\":\"Durata anni\",\"id\":\"DurationYears\",\"data-width\":\"260\",\"disabled\":!_vm.formData.model},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"durationYears\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.changeDurationYears()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.packages),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.durationYears}},[_vm._v(_vm._s(item.durationTitleYears))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"DurationKm\"}},[_vm._v(\"Km previsti\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.durationKm),expression:\"formData.durationKm\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('DurationKm') }, 'dropdown'],attrs:{\"aria-label\":\"Durata km\",\"id\":\"DurationKm\",\"data-width\":\"260\",\"disabled\":!_vm.formData.durationYears},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"durationKm\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.durationKms),function(item,index){return _c('option',{key:index,domProps:{\"value\":item}},[_vm._v(_vm._s(_vm.formatNumber(item)))])})],2)])])]),_vm._v(\" \"),(_vm.validationErrors.length !== 0)?_c('div',{staticClass:\"validation-errors validation-summary-errors\"},[_c('ul',_vm._l((_vm.validationErrors),function(validationError,index){return _c('li',{key:index},[_vm._v(_vm._s(validationError.message))])}),0)]):_vm._e(),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"cta\"},[_c('button',{staticClass:\"button\",on:{\"click\":function($event){return _vm.calculateEstimate()}}},[_vm._v(\"Calcola ora il tuo preventivo\")])])])])]):(!_vm.isSuccess)?_c('div',{staticClass:\"form\"},[_c('div',{staticClass:\"main-abstract maintitle s22 uppercase mrg\",attrs:{\"data-mrgb\":\"10\"}},[_vm._v(_vm._s(_vm.packageDetail.model)+\": manutenzione a soli \"+_vm._s(_vm.formatPrice(_vm.packageDetail.maintenancePackagePrice))+\" Euro per \"+_vm._s(_vm.packageDetail.durationTitleYears)+\"/\"+_vm._s(_vm.formatNumber(_vm.packageDetail.durationKm))+\" Km.\")]),_vm._v(\" \"),_c('div',{staticClass:\"main-abstract small maintitle s18 mrg\",attrs:{\"data-mrgb\":\"10\"}},[_vm._v(\"Cosa comprende?\")]),_vm._v(\" \"),_c('div',{staticClass:\"estimate-request-tabel mrg\",attrs:{\"data-mrgb\":\"30\"}},[(_vm.packageDetail.kmServices !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.kmServices))])]),_vm._v(\" \"),_vm._m(0)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.annualServices !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.annualServices))])]),_vm._v(\" \"),_vm._m(1)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.frontBrakePads !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.frontBrakePads))])]),_vm._v(\" \"),_vm._m(2)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.rearBrakePads !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.rearBrakePads))])]),_vm._v(\" \"),_vm._m(3)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.brakeFluid !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.brakeFluid))])]),_vm._v(\" \"),_vm._m(4)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.coolant !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.coolant))])]),_vm._v(\" \"),_vm._m(5)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.frontTire !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.frontTire))])]),_vm._v(\" \"),_vm._m(6)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.rearTire !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.rearTire))])]),_vm._v(\" \"),_vm._m(7)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.rollers !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.rollers))])]),_vm._v(\" \"),_vm._m(8)]):_vm._e(),_vm._v(\" \"),(_vm.packageDetail.oilService !== 0)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"left\"},[_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.packageDetail.oilService))])]),_vm._v(\" \"),_vm._m(9)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"card total\"},[_c('div',{staticClass:\"left\"},[_vm._v(\"\\n \"+_vm._s(_vm.formatPrice(_vm.packageDetail.maintenancePackagePrice))+\" Euro per \"+_vm._s(_vm.packageDetail.durationTitleYears)+\"/\"+_vm._s(_vm.formatNumber(_vm.packageDetail.durationKm))+\" Km\\n \")])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('div',{staticClass:\"main-abstract maintitle s22 uppercase\"},[_vm._v(\"Lasciaci i tuoi dati per ricontattarti\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Name\"}},[_vm._v(\"Nome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.name),expression:\"formData.name\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Name') }, 'textbox'],attrs:{\"type\":\"text\",\"id\":\"Name\",\"data-width\":\"260\"},domProps:{\"value\":(_vm.formData.name)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"name\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Surname\"}},[_vm._v(\"Cognome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.surname),expression:\"formData.surname\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Surname') }, 'textbox'],attrs:{\"type\":\"text\",\"id\":\"Surname\",\"data-width\":\"260\"},domProps:{\"value\":(_vm.formData.surname)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"surname\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Phone\"}},[_vm._v(\"Telefono\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.phone),expression:\"formData.phone\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Phone') }, 'textbox'],attrs:{\"type\":\"tel\",\"id\":\"Phone\",\"data-width\":\"260\",\"placeholder\":\"+39...\"},domProps:{\"value\":(_vm.formData.phone)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"phone\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Email\"}},[_vm._v(\"Email\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.email),expression:\"formData.email\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Email') }, 'textbox'],attrs:{\"type\":\"email\",\"id\":\"Email\",\"data-width\":\"260\",\"placeholder\":\"name@domain.com\"},domProps:{\"value\":(_vm.formData.email)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"email\", $event.target.value)}}})])])]),_vm._v(\" \"),(_vm.dealerPoints.length !== 1)?_c('fieldset',{staticClass:\"fieldset mrg\",attrs:{\"disabled\":_vm.isLoadingForm,\"data-mrgb\":\"30\"}},[_c('div',{staticClass:\"main-abstract maintitle s22 uppercase\"},[_vm._v(\"Da chi vorresti essere ricontattato?\")]),_vm._v(\" \"),(!_vm.dealerCode)?_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Zone\"}},[_vm._v(\"Provincia\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.zone),expression:\"formData.zone\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Zone') }, 'dropdown'],attrs:{\"aria-label\":\"Provincia\",\"id\":\"Zone\",\"data-width\":\"260\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"zone\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.changeSelectedZone()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.zones),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.title))])})],2)])]):_vm._e(),_vm._v(\" \"),(_vm.dealerPoints.length > 1)?_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"DealerPointCode\"}},[_vm._v(\"Punto vendita\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.dealerPointCode),expression:\"formData.dealerPointCode\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('DealerPointCode') }, 'dropdown'],attrs:{\"aria-label\":\"Punto vendita\",\"id\":\"DealerPointCode\",\"data-width\":\"260\",\"disabled\":_vm.formDealerPoints.length === 0},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"dealerPointCode\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.formDealerPoints),function(dealerPoint,index){return _c('option',{key:index,domProps:{\"value\":dealerPoint.code}},[_vm._v(_vm._s(dealerPoint.company)+\" \"+_vm._s(dealerPoint.name))])})],2)])]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('app-privacypolicy',{on:{\"profiling\":_vm.profiling,\"marketing\":_vm.marketing,\"marketingChannels\":_vm.marketingChannels}}),_vm._v(\" \"),_vm._m(10),_vm._v(\" \"),(_vm.validationErrors.length !== 0)?_c('div',{staticClass:\"validation-errors validation-summary-errors\"},[_c('ul',_vm._l((_vm.validationErrors),function(validationError,index){return _c('li',{key:index},[_vm._v(_vm._s(validationError.message))])}),0)]):_vm._e(),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset mrg\",attrs:{\"disabled\":_vm.isLoadingForm,\"data-buttons\":\"\",\"data-flex\":\"\",\"data-mrgt\":\"30\"}},[_c('div',{staticClass:\"item cta\"},[_c('button',{staticClass:\"button\",on:{\"click\":function($event){return _vm.submitForm()}}},[_vm._v(\"Invia la tua richiesta\")])]),_vm._v(\" \"),_c('span',[_vm._v(\"oppure\")]),_vm._v(\" \"),_c('button',{staticClass:\"link-url\",on:{\"click\":function($event){return _vm.reload()}}},[_vm._v(\"fai un nuovo preventivo\")])])],1):(_vm.isSuccess)?_c('div',[_vm._m(11),_vm._v(\" \"),_c('div',{staticClass:\"cta mrg\",attrs:{\"data-mrgt\":\"30\"}},[_c('button',{staticClass:\"button\",on:{\"click\":function($event){return _vm.reload()}}},[_vm._v(\"Vuoi fare un nuovo preventivo?\")])])]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Tagliandi chilometrici\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Tagliandi annuali\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Pastiglie freno ant.\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Pastiglie freno post.\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Cambio olio freni\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Cambio liquido refrigerante\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Pneumatico ant.\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Pneumatico post.\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Rulli e tasselli\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"right\"},[_c('div',{staticClass:\"content\"},[_vm._v(\"Tagliandi olio\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\",attrs:{\"data-type\":\"recaptcha\"}},[_c('div',{staticClass:\"g-recaptcha\",attrs:{\"id\":\"RecaptchaEstimate\"}})])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"main-abstract maintitle s22 uppercase\"},[_vm._v(\"Grazie per averci contattato!\"),_c('br'),_vm._v(\"Verrai ricontattato il prima possibile.\")])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('article',{staticClass:\"app-list\",attrs:{\"data-aside\":\"\"}},[_c('aside',{staticClass:\"aside\",attrs:{\"id\":\"Aside\"}},[_c('div',{staticClass:\"scrim close-filter\"}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"filter scrollbar\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isRendered),expression:\"isRendered\"}],staticClass:\"form\"},[_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Brand\",\"data-small\":\"\"}},[_vm._v(\"Marca\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterData.brand),expression:\"filterData.brand\"}],staticClass:\"dropdown\",attrs:{\"id\":\"Brand\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.filterData, \"brand\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.getModel(true)}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.brands),function(brand,index){return _c('option',{key:index,domProps:{\"value\":brand.value}},[_vm._v(_vm._s(brand.title))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Model\",\"data-small\":\"\"}},[_vm._v(\"Modello\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterData.model),expression:\"filterData.model\"}],staticClass:\"dropdown\",attrs:{\"id\":\"Model\",\"disabled\":!_vm.isBrandSelected},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.filterData, \"model\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.setSearch()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.models),function(model,index){return _c('option',{key:index,domProps:{\"value\":model.value}},[_vm._v(_vm._s(model.title))])})],2)])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"data-small\":\"\"}},[_vm._v(\"Prezzo\")]),_vm._v(\" \"),_c('div',{staticClass:\"control range\"},[_c('div',{ref:\"priceSlider\",attrs:{\"id\":\"priceSlider\"}}),_vm._v(\" \"),_c('div',{staticClass:\"min-max\"},[_c('span',[_vm._v(\"€ \"+_vm._s(_vm.formatNumber(_vm.priceSlider.startMin)))]),_vm._v(\" \"),_c('span',[_vm._v(\"€ \"+_vm._s(_vm.formatNumber(_vm.priceSlider.startMax)))])])])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"data-small\":\"\"}},[_vm._v(\"Chilometri\")]),_vm._v(\" \"),_c('div',{staticClass:\"control range\"},[_c('div',{ref:\"mileageSlider\",attrs:{\"id\":\"mileageSlider\"}}),_vm._v(\" \"),_c('div',{staticClass:\"min-max\"},[_c('span',[_vm._v(\"km \"+_vm._s(_vm.formatNumber(_vm.mileageSlider.startMin)))]),_vm._v(\" \"),_c('span',[_vm._v(\"km \"+_vm._s(_vm.formatNumber(_vm.mileageSlider.startMax)))])])])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"data-small\":\"\"}},[_vm._v(\"Anno\")]),_vm._v(\" \"),_c('div',{staticClass:\"control range\"},[_c('div',{ref:\"yearSlider\",attrs:{\"id\":\"yearSlider\"}}),_vm._v(\" \"),_c('div',{staticClass:\"min-max\"},[_c('span',[_vm._v(_vm._s(_vm.yearSlider.startMin))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.yearSlider.startMax))])])])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"data-small\":\"\"}},[_vm._v(\"Cilindrata\")]),_vm._v(\" \"),_c('div',{staticClass:\"control range\"},[_c('div',{ref:\"displacementSlider\",attrs:{\"id\":\"displacementSlider\"}}),_vm._v(\" \"),_c('div',{staticClass:\"min-max\"},[_c('span',[_vm._v(\"cc \"+_vm._s(_vm.formatNumber(_vm.displacementSlider.startMin)))]),_vm._v(\" \"),_c('span',[_vm._v(\"cc \"+_vm._s(_vm.formatNumber(_vm.displacementSlider.startMax)))])])])])])])])]),_vm._v(\" \"),(!_vm.isLoading)?_c('section',{staticClass:\"content\"},[(_vm.listData.classifieds.length >= 1)?_c('div',{staticClass:\"product-list\"},_vm._l((_vm.listData.classifieds),function(classifiedItem,index){return _c('a',{key:index,staticClass:\"item\",attrs:{\"href\":classifiedItem.detailUrl,\"data-type\":\"used\"}},[_c('div',{staticClass:\"box-image\"},[_c('div',{staticClass:\"content\"},[_c('img',{staticClass:\"image product-element\",attrs:{\"src\":classifiedItem.previewImageUrl,\"width\":\"305\",\"height\":\"229\",\"alt\":classifiedItem.classified.brand + ' ' + classifiedItem.classified.model}})])]),_vm._v(\" \"),_c('div',{staticClass:\"info\",attrs:{\"data-logo\":\"\"}},[_c('div',{staticClass:\"price\"},[_vm._v(\"\\n Euro \"+_vm._s(_vm.formatNumber(classifiedItem.classified.price))+\"\\n \"),(classifiedItem.classified.selectedOccasionType == 'Plus')?_c('img',{staticClass:\"image\",attrs:{\"src\":\"/areas/dealersite/images/logo-you-selected-plus.svg\",\"width\":\"181\",\"height\":\"27\",\"alt\":\"Yamaha YOU Selected Plus\"}}):_vm._e()]),_vm._v(\" \"),_c('h2',{staticClass:\"name\"},[_vm._v(_vm._s(classifiedItem.classified.brand)+\" \"+_vm._s(classifiedItem.classified.model)+\" \"),(classifiedItem.classified.version !== '-')?_c('span',[_vm._v(_vm._s(classifiedItem.classified.version))]):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"data\"},[_c('div',{staticClass:\"item\"},[_vm._v(\"km \"+_vm._s(_vm.formatNumber(classifiedItem.classified.mileage)))]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(classifiedItem.classified.year))])])])}),0):_c('div',{staticClass:\"no-item\"},[_vm._v(\"Siamo spiacenti, ma non ci sono annunci disponibili.\"),_c('br')]),_vm._v(\" \"),(_vm.listData.pageCount > 1)?_c('div',{staticClass:\"pagination\"},_vm._l((_vm.listData.pageCount),function(index){return _c('div',{key:index,staticClass:\"cta\"},[_c('a',{staticClass:\"button\",attrs:{\"data-selected\":(_vm.listData.pageIndex+1) == index ? 'true' : '',\"data-border\":\"\",\"data-type\":\"count\"},on:{\"click\":function($event){return _vm.goTopage(index)}}},[_vm._v(_vm._s(index))])])}),0):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"close hden\"},[_c('span',{staticClass:\"icon xt-close close-filter\"})])\n}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Axios from \"axios\";\r\nimport noUiSlider from \"noUiSlider\";\r\n\r\n@Component({ name: \"ClassifiedPTWList\" })\r\nexport default class ClassifiedPTWList extends Vue {\r\n public listData: any = {};\r\n public brands: any[] = [];\r\n public models: any[] = [];\r\n public bikeTypes: any[] = [];\r\n public filterData: any = {\r\n brand: null,\r\n model: null,\r\n checkedBikeTypes: []\r\n };\r\n public isBrandSelected: boolean = false;\r\n public priceSlider: any = { startMin: 0, startMax: 0, min: 0, max: 0, step: 1 };\r\n public mileageSlider: any = { startMin: 0, startMax: 0, min: 0, max: 0, step: 1 };\r\n public yearSlider: any = { startMin: 0, startMax: 0, min: 0, max: 0, step: 1 };\r\n public displacementSlider: any = { startMin: 0, startMax: 0, min: 0, max: 0, step: 1 };\r\n public isRendered: boolean = false;\r\n public isLoading: boolean = false;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n public async created() {\r\n await Promise.all([this.getSearchData(), this.getListData()]);\r\n }\r\n\r\n public async getSearchData() {\r\n this.isRendered = false;\r\n const result = (await Axios.get(this.routes.DealerSite_ClassifiedPTW_GetSearchData)).data;\r\n\r\n this.brands = result.dealerSiteClassifiedPTWSearchData.brands;\r\n this.bikeTypes = result.dealerSiteClassifiedPTWSearchData.bikeTypes;\r\n\r\n this.priceSlider.min = result.dealerSiteClassifiedPTWSearchData.minPrice;\r\n this.priceSlider.max = result.dealerSiteClassifiedPTWSearchData.maxPrice;\r\n\r\n this.mileageSlider.min = result.dealerSiteClassifiedPTWSearchData.minMileage;\r\n this.mileageSlider.max = result.dealerSiteClassifiedPTWSearchData.maxMileage;\r\n\r\n this.yearSlider.min = result.dealerSiteClassifiedPTWSearchData.minYear;\r\n this.yearSlider.max = result.dealerSiteClassifiedPTWSearchData.maxYear;\r\n\r\n this.displacementSlider.min = result.dealerSiteClassifiedPTWSearchData.minDisplacement;\r\n this.displacementSlider.max = result.dealerSiteClassifiedPTWSearchData.maxDisplacement;\r\n\r\n this.getRouteQuery();\r\n\r\n this.setRange(this.$refs.priceSlider, this.priceSlider);\r\n this.setRange(this.$refs.mileageSlider, this.mileageSlider);\r\n this.setRange(this.$refs.yearSlider, this.yearSlider);\r\n this.setRange(this.$refs.displacementSlider, this.displacementSlider);\r\n this.isRendered = true;\r\n }\r\n\r\n public async getListData() {\r\n this.isLoading = true;\r\n const result = (await Axios.post(this.routes.DealerSite_ClassifiedPTW_GetListData, this.filterData)).data;\r\n\r\n this.listData = result;\r\n this.isLoading = false;\r\n }\r\n\r\n public getRouteQuery() {\r\n // Price\r\n this.priceSlider.startMin = this.priceSlider.min;\r\n this.priceSlider.startMax = this.priceSlider.max;\r\n\r\n // Mileage\r\n this.mileageSlider.startMin = this.mileageSlider.min;\r\n this.mileageSlider.startMax = this.mileageSlider.max;\r\n\r\n // Year\r\n this.yearSlider.startMin = this.yearSlider.min;\r\n this.yearSlider.startMax = this.yearSlider.max;\r\n\r\n // Displacement\r\n this.displacementSlider.startMin = this.displacementSlider.min;\r\n this.displacementSlider.startMax = this.displacementSlider.max;\r\n }\r\n\r\n public async getModel(refresh: boolean) {\r\n let brandId = this.filterData.brand;\r\n if (brandId) {\r\n let result = (await Axios.post(this.routes.DealerSite_ClassifiedPTW_GetInfoBikeModels, { brand: brandId })).data;\r\n\r\n this.models = result.models;\r\n\r\n if (this.$route.query.model) {\r\n this.filterData.model = this.$route.query.model;\r\n }\r\n\r\n this.isBrandSelected = true;\r\n } else {\r\n this.models = [];\r\n this.filterData.model = null;\r\n\r\n this.isBrandSelected = false;\r\n }\r\n\r\n if (refresh) {\r\n this.filterData.model = null;\r\n this.setSearch();\r\n }\r\n }\r\n\r\n public setRange(refs: any, slider: any) {\r\n let refSlider: any = refs;\r\n\r\n noUiSlider.create(refSlider, {\r\n start: [slider.startMin, slider.startMax],\r\n step: slider.step,\r\n connect: true,\r\n range: {\r\n 'min': slider.min,\r\n 'max': slider.max\r\n }\r\n });\r\n\r\n refSlider.noUiSlider.on('set', (values, handle) => {\r\n let oldSiderMax = slider.startMax;\r\n let oldSiderMin = slider.startMin;\r\n\r\n this[handle ? (slider.startMax = parseInt(values[handle])) : (slider.startMin = parseInt(values[handle]))];\r\n\r\n if (oldSiderMax != slider.startMax || oldSiderMin != slider.startMin) {\r\n this.setSearch();\r\n }\r\n });\r\n }\r\n\r\n public async setSearch() {\r\n this.filterData.minPrice = this.priceSlider.startMin;\r\n this.filterData.maxPrice = this.priceSlider.startMax;\r\n this.filterData.minMileage = this.mileageSlider.startMin;\r\n this.filterData.maxMileage = this.mileageSlider.startMax;\r\n this.filterData.minYear = this.yearSlider.startMin;\r\n this.filterData.maxYear = this.yearSlider.startMax;\r\n this.filterData.minDisplacement = this.displacementSlider.startMin;\r\n this.filterData.maxDisplacement = this.displacementSlider.startMax;\r\n this.filterData.page = 0;\r\n\r\n await this.getListData();\r\n }\r\n\r\n public async goTopage(index: number) {\r\n this.filterData.page = index - 1;\r\n await this.getListData();\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n\r\n public formatNumber(x: number) {\r\n return new Intl.NumberFormat('it-IT').format(x);\r\n }\r\n}","import { render, staticRenderFns } from \"./ClassifiedPTWList.vue?vue&type=template&id=cfe759a4\"\nimport script from \"./ClassifiedPTWList?vue&type=script&lang=ts&external\"\nexport * from \"./ClassifiedPTWList?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.dealerData)?_c('div',{staticClass:\"pos-info\",attrs:{\"data-full\":_vm.dealerData.dealerPoints.length > 3}},[_c('div',{staticClass:\"header\"},[(!_vm.isLogoActive)?_c('div',{staticClass:\"main-title white\"},[_vm._v(_vm._s(_vm.dealerData.site.title))]):[_c('div',{staticClass:\"logo\"},[_c('img',{staticClass:\"image dealer-point-image\",attrs:{\"src\":\"/images/logo-white.svg\",\"width\":\"100\",\"height\":\"35\",\"alt\":\"Yamaha-Motor\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('div',{staticClass:\"main-abstract white\"},[_vm._v(_vm._s(_vm.dealerData.site.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"social-link\"},[(_vm.dealerData.site.facebookUrl)?_c('a',{staticClass:\"link\",attrs:{\"href\":_vm.dealerData.site.facebookUrl,\"aria-label\":\"Facebook\",\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventSocial('facebook')}}},[_vm._m(0)]):_vm._e(),_vm._v(\" \"),(_vm.dealerData.site.instagramUrl)?_c('a',{staticClass:\"link\",attrs:{\"href\":_vm.dealerData.site.instagramUrl,\"aria-label\":\"Instagram\",\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventSocial('instagram')}}},[_vm._m(1)]):_vm._e(),_vm._v(\" \"),(_vm.dealerData.site.tikTokUrl)?_c('a',{staticClass:\"link\",attrs:{\"href\":_vm.dealerData.site.tikTokUrl,\"aria-label\":\"TikTokUrl\",\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventSocial('tiktok')}}},[_vm._m(2)]):_vm._e(),_vm._v(\" \"),(_vm.dealerData.site.youTubeUrl)?_c('a',{staticClass:\"link\",attrs:{\"href\":_vm.dealerData.site.youTubeUrl,\"aria-label\":\"YouTube\",\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventSocial('youtube')}}},[_vm._m(3)]):_vm._e(),_vm._v(\" \"),(_vm.dealerData.site.linkedInUrl)?_c('a',{staticClass:\"link\",attrs:{\"href\":_vm.dealerData.site.linkedInUrl,\"aria-label\":\"Linkedin\",\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventSocial('linkedin')}}},[_vm._m(4)]):_vm._e()])]],2),_vm._v(\" \"),_c('div',{staticClass:\"tab\"},[_c('div',{class:[{ 'scrollbar': _vm.dealerData.dealerPoints.length > 3 }, 'list-item']},[_vm._l((_vm.dealerData.dealerPoints),function(dealerPoint){return [_c('button',{class:[{ 'active': _vm.setDealerPointClass(dealerPoint.code) }, 'item'],on:{\"click\":function($event){return _vm.setDealerPoint(dealerPoint.code)}}},[_vm._v(_vm._s(dealerPoint.name))])]})],2)]),_vm._v(\" \"),_vm._l((_vm.dealerData.dealerPoints),function(dealerPoint,index){return _c('div',{key:index,staticClass:\"detail\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(dealerPoint.code === _vm.selectedDealerPointCode),expression:\"dealerPoint.code === selectedDealerPointCode\"}],staticClass:\"info\"},[_c('div',{staticClass:\"data\"},[_c('div',{staticClass:\"item main-info\"},[(_vm.openingTimes)?_c('div',{staticClass:\"item status\",attrs:{\"data-status\":_vm.openingTimes.currentStatus}},[_vm._v(_vm._s(_vm.openingTimes.label))]):_vm._e(),_vm._v(\" \"),(!dealerPoint.isWorkshopDislocated)?_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(dealerPoint.address)),_c('br'),_vm._v(_vm._s(dealerPoint.postCode)+\" \"+_vm._s(dealerPoint.location)+\" (\"+_vm._s(dealerPoint.province)+\")\")]):_vm._e(),_vm._v(\" \"),(!dealerPoint.isWorkshopDislocated)?_c('div',{staticClass:\"item\"},[_c('a',{staticClass:\"link\",attrs:{\"href\":'https://www.google.it/maps/dir//' + dealerPoint.latitude + ',' + dealerPoint.longitude + '/@' + dealerPoint.latitude + ',' + dealerPoint.longitude + ',17z',\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventDir()}}},[_c('span',{staticClass:\"icon xt-pin\"}),_vm._v(\" \"),_c('span',{staticClass:\"label\"},[_vm._v(\"Indicazioni stradali\")])])]):_vm._e(),_vm._v(\" \"),(dealerPoint.whatsappPhone)?_c('div',{staticClass:\"item\"},[_c('a',{staticClass:\"link\",attrs:{\"href\":'https://wa.me/' + dealerPoint.whatsappPhone,\"aria-label\":\"WhatsApp\",\"rel\":\"noreferrer\",\"target\":\"_blank\"}},[_c('span',{staticClass:\"icon xt-whatsapp\"}),_vm._v(\" \"),_c('span',{staticClass:\"label\",on:{\"click\":function($event){return _vm.setGaEventWhatsapp()}}},[_vm._v(\"Invia un messaggio\")])])]):_vm._e(),_vm._v(\" \"),(dealerPoint.googleRating && dealerPoint.googlePlaceId)?_c('a',{staticClass:\"item review\",attrs:{\"href\":'https://search.google.com/local/reviews?placeid=' + dealerPoint.googlePlaceId,\"aria-label\":\"Recensioni Google\",\"target\":\"_blank\"}},[_c('div',{staticClass:\"rate\"},[_c('div',{staticClass:\"point\"},[_vm._v(_vm._s(_vm.formatRating(dealerPoint.googleRating)))]),_vm._v(\" \"),_c('a',{staticClass:\"label\"},[_vm._v(\"Recensioni Google\")])]),_vm._v(\" \"),_c('div',{staticClass:\"stars\"},[_vm._m(5,true),_vm._v(\" \"),_c('span',{staticClass:\"list-item yellow\",attrs:{\"data-point\":_vm.setRatingStars(dealerPoint.googleRating)}},[_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"})])])]):_vm._e(),_vm._v(\" \"),_c('app-inforequestcta',{attrs:{\"recaptchaSiteKey\":_vm.recaptchaSiteKey,\"page\":\"pos\",\"dealerPointCode\":dealerPoint.code}})],1),_vm._v(\" \"),(_vm.openingTimes)?_c('div',{staticClass:\"item timetables\",attrs:{\"data-address\":dealerPoint.isWorkshopDislocated}},[(_vm.openingTimes.showroomOpeningTimes.length >= 1)?_c('div',{staticClass:\"group\"},[_c('div',{staticClass:\"titlephone\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Punto vendita\")]),_vm._v(\" \"),(dealerPoint.phone)?_c('div',{staticClass:\"phone\"},[_c('a',{staticClass:\"link\",attrs:{\"href\":'tel:' + dealerPoint.phone}},[_c('span',{staticClass:\"icon xt-phone\"}),_vm._v(\" \"),_c('span',{staticClass:\"label\",on:{\"click\":function($event){return _vm.setGaEventPhone()}}},[_vm._v(_vm._s(dealerPoint.phone))])])]):_vm._e()]),_vm._v(\" \"),(dealerPoint.isWorkshopDislocated)?_c('a',{staticClass:\"address link\",attrs:{\"href\":'https://www.google.it/maps/dir//' + dealerPoint.latitude + ',' + dealerPoint.longitude + '/@' + dealerPoint.latitude + ',' + dealerPoint.longitude + ',17z',\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventDir()}}},[_vm._v(\"\\n \"+_vm._s(dealerPoint.address)+\" - \"+_vm._s(dealerPoint.postCode)+\" \"+_vm._s(dealerPoint.location)+\" (\"+_vm._s(dealerPoint.province)+\")\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.openingTimes.showroomOpeningTimes),function(openingTime,index){return _c('div',{key:index,staticClass:\"time\"},[_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(openingTime.label))]),_vm._v(\" \"),(openingTime.morningOpeningTime)?_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(openingTime.morningOpeningTime)+\" - \"+_vm._s(openingTime.morningClosingTime))]):_vm._e(),_vm._v(\" \"),(openingTime.eveningOpeningTime)?_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(openingTime.eveningOpeningTime)+\" - \"+_vm._s(openingTime.eveningClosingTime))]):_vm._e(),_vm._v(\" \"),(!openingTime.morningOpeningTime && !openingTime.eveningOpeningTime)?_c('div',{staticClass:\"item\"},[_vm._v(\"Chiuso\")]):_vm._e()])})],2):_vm._e(),_vm._v(\" \"),(_vm.openingTimes.workshopOpeningTimes.length >= 1 && !dealerPoint.isWorkshopDisabled)?_c('div',{staticClass:\"group\"},[_c('div',{staticClass:\"titlephone\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Officina\")]),_vm._v(\" \"),(dealerPoint.workshopPhone)?_c('div',{staticClass:\"phone\"},[_c('a',{staticClass:\"link\",attrs:{\"href\":'tel:' + dealerPoint.workshopPhone}},[_c('span',{staticClass:\"icon xt-phone\"}),_vm._v(\" \"),_c('span',{staticClass:\"label\",on:{\"click\":function($event){return _vm.setGaEventPhone()}}},[_vm._v(_vm._s(dealerPoint.workshopPhone))])])]):_vm._e()]),_vm._v(\" \"),(dealerPoint.isWorkshopDislocated)?_c('a',{staticClass:\"address link\",attrs:{\"href\":'https://www.google.com/maps?q=' + dealerPoint.workshopAddress + '+' + dealerPoint.workshopLocation + '+' + dealerPoint.workshopPostCode + '+(' + dealerPoint.province + ')',\"target\":\"_blank\",\"rel\":\"noreferrer\"},on:{\"click\":function($event){return _vm.setGaEventDir()}}},[_vm._v(\"\\n \"+_vm._s(dealerPoint.workshopAddress)+\" - \"+_vm._s(dealerPoint.workshopPostCode)+\" \"+_vm._s(dealerPoint.workshopLocation)+\" (\"+_vm._s(dealerPoint.province)+\")\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.openingTimes.workshopOpeningTimes),function(openingTime,index){return _c('div',{key:index,staticClass:\"time\"},[_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(openingTime.label))]),_vm._v(\" \"),(openingTime.morningOpeningTime)?_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(openingTime.morningOpeningTime)+\" - \"+_vm._s(openingTime.morningClosingTime))]):_vm._e(),_vm._v(\" \"),(openingTime.eveningOpeningTime)?_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(openingTime.eveningOpeningTime)+\" - \"+_vm._s(openingTime.eveningClosingTime))]):_vm._e(),_vm._v(\" \"),(!openingTime.morningOpeningTime && !openingTime.eveningOpeningTime)?_c('div',{staticClass:\"item\"},[_vm._v(\"Chiuso\")]):_vm._e()])})],2):_vm._e()]):_vm._e()])]),_vm._v(\" \"),(dealerPoint.code === _vm.selectedDealerPointCode)?_c('div',{staticClass:\"box-image\"},[_c('div',{staticClass:\"content\"},[(dealerPoint.imageCode)?_c('picture',[_c('source',{attrs:{\"media\":\"(max-width:1024px)\",\"srcset\":'/media/dealerpoint/images/2000-1500-Crop/' + dealerPoint.imageCode}}),_vm._v(\" \"),_c('img',{staticClass:\"image dealer-point-image\",attrs:{\"src\":'/media/dealerpoint/images/563-422-Crop/' + dealerPoint.imageCode,\"width\":\"563\",\"height\":\"422\",\"alt\":dealerPoint.name}})]):(_vm.dealerData.dealer.isMarine && !_vm.dealerData.dealer.isPTW )?_c('picture',[_c('source',{attrs:{\"media\":\"(max-width:1024px)\",\"srcset\":\"/areas/dealersite/images/dealer-point-marine-default@2x.jpg\"}}),_vm._v(\" \"),_c('img',{staticClass:\"image dealer-point-image\",attrs:{\"src\":\"/areas/dealersite/images/dealer-point-marine-default.jpg\",\"width\":\"563\",\"height\":\"422\",\"alt\":dealerPoint.name}})]):_c('picture',[_c('source',{attrs:{\"media\":\"(max-width:1024px)\",\"srcset\":\"/areas/dealersite/images/dealer-point-default@2x.jpg\"}}),_vm._v(\" \"),_c('img',{staticClass:\"image dealer-point-image\",attrs:{\"src\":\"/areas/dealersite/images/dealer-point-default.jpg\",\"width\":\"563\",\"height\":\"422\",\"alt\":dealerPoint.name}})])])]):_vm._e()])})],2):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"icon xt-circle-facebook\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"Facebook\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"icon xt-circle-instagram\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"Instagram\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"icon xt-circle-tiktok\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"TikTok\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"icon xt-circle-youtube\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"YouTube\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"icon xt-circle-linkedin\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"Linkedin\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"list-item full\"},[_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"}),_vm._v(\" \"),_c('span',{staticClass:\"icon xt-star\"})])\n}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\nimport DataHelper, { DataHelperConfiguration } from \"@Scripts/Common/DataHelper\";\r\n\r\n@Component({ name: \"DealerPointCard\" })\r\nexport default class DealerPointCard extends Vue {\r\n public dataHelperConfiguration: DataHelperConfiguration = { culture: \"it-IT\", decimalSeparator: \".\", decimalCount: 1 };\r\n\r\n @Prop() readonly isLogoActive: boolean;\r\n @Prop() readonly recaptchaSiteKey: string;\r\n \r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n get selectedDealerPointCode() {\r\n return this.$store.getters[\"dealerStore/selectedDealerPointCode\"];\r\n }\r\n\r\n get dealerData() {\r\n return this.$store.getters[\"dealerStore/dealerData\"];\r\n }\r\n\r\n get openingTimes() {\r\n return this.$store.getters[\"openingTimeStore/openingTimes\"];\r\n }\r\n\r\n public setDealerPoint(dealerPointCode: string) {\r\n this.$store.commit(\"dealerStore/setDealerPointCode\", dealerPointCode);\r\n\r\n window.localStorage.setItem(\"DealerPointCode\", dealerPointCode);\r\n\r\n this.$store.dispatch(\"openingTimeStore/getOpeningTimes\", dealerPointCode);\r\n }\r\n\r\n public setDealerPointClass(dealerPointCode: string): boolean {\r\n return dealerPointCode === this.selectedDealerPointCode;\r\n }\r\n\r\n public setRatingStars(rating: number): number {\r\n let result = rating % 1;\r\n\r\n if (result >= 0.3 && result <= 0.7) {\r\n return (rating - result) + 0.5;\r\n } else if (result < 0.3) {\r\n return rating - result;\r\n } else if (result > 0.7) {\r\n return (rating - result) + 1;\r\n }\r\n\r\n return rating;\r\n }\r\n\r\n public setGaEventPhone() {\r\n GTagHelper.sendEvent(\"click\", \"phone\");\r\n }\r\n \r\n public setGaEventWhatsapp() {\r\n GTagHelper.sendEvent(\"click\", \"whatsapp\");\r\n }\r\n \r\n public setGaEventDir() {\r\n GTagHelper.sendEvent(\"click\", \"direction\");\r\n }\r\n \r\n public setGaEventSocial(social: string) {\r\n GTagHelper.sendEvent(\"click\", \"social\", social);\r\n }\r\n\r\n public formatRating(data: number) {\r\n return DataHelper.convertNumberToString(data, this.dataHelperConfiguration, true);\r\n }\r\n\r\n}","import { render, staticRenderFns } from \"./DealerPointCard.vue?vue&type=template&id=4eb294bc\"\nimport script from \"./DealerPointCard?vue&type=script&lang=ts&external\"\nexport * from \"./DealerPointCard?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class GoogleMapsLocator {\r\n public map = null;\r\n public geocoder;\r\n\r\n private defaultLatitude = 43.561486; // Center map\r\n private defaultLongitude = 12.062988;\r\n private defaultMarkerIconName = \"marker.svg\";\r\n private defaultUserMarkerIconName = \"marker-user.svg\";\r\n private mapOptions = {\r\n center: null,\r\n zoom: 0,\r\n minZoom: 7,\r\n maxZoom: 11,\r\n defaultZoom: 7,\r\n locationZoom: 10,\r\n zoomControl: false,\r\n panControl: false,\r\n scrollwheel: false,\r\n mapTypeControl: false,\r\n keyboardShortcuts: false,\r\n streetViewControl: false,\r\n disableDoubleClickZoom: false,\r\n options: {\r\n gestureHandling: 'none'\r\n }\r\n };\r\n\r\n private mapStyles = [{\r\n featureType: \"all\",\r\n elementType: \"all\",\r\n stylers: [{\r\n saturation: -50\r\n }]\r\n }];\r\n\r\n private locatorOptions = {\r\n enableHighAccuracy: true,\r\n timeout: 5000,\r\n maximumAge: 0\r\n };\r\n\r\n private userMarker;\r\n private markerInfoWindow = null;\r\n\r\n public init(zoomOnUserLocation: boolean = true) {\r\n let self = this;\r\n\r\n this.geocoder = new (window).google.maps.Geocoder();\r\n\r\n this.mapOptions.center = new (window).google.maps.LatLng(this.defaultLatitude, this.defaultLongitude);\r\n\r\n this.map = new (window).google.maps.Map(document.getElementById(\"GoogleMap\"), this.mapOptions);\r\n this.map.mapTypes.set(\"styles\", new (window).google.maps.StyledMapType(this.mapStyles, { name: \"Styles\" }));\r\n this.map.setMapTypeId(\"styles\");\r\n\r\n // Acquiring user location\r\n navigator.geolocation.getCurrentPosition(function (success) {\r\n let latLng = new (window).google.maps.LatLng(success.coords.latitude, success.coords.longitude);\r\n self.setUserMarker(latLng);\r\n\r\n if (zoomOnUserLocation) {\r\n self.centerMap(latLng);\r\n }\r\n\r\n }, function (error) {\r\n let latLng = new (window).google.maps.LatLng(self.defaultLatitude, self.defaultLongitude);\r\n if (zoomOnUserLocation) {\r\n self.centerMap(latLng);\r\n }\r\n\r\n }, this.locatorOptions);\r\n }\r\n\r\n public onLoad(callback) {\r\n (window).google.maps.event.addDomListener(this.map, \"tilesloaded\", callback);\r\n }\r\n\r\n public centerMap(location) {\r\n this.map.setCenter(location);\r\n this.map.setZoom(this.map.locationZoom);\r\n }\r\n\r\n public fitBounds(bounds) {\r\n this.map.fitBounds(bounds);\r\n }\r\n\r\n public centerToUserLocation() {\r\n if (this.userMarker) {\r\n this.centerMap(this.userMarker.position);\r\n this.setUserMarker(this.userMarker.position);\r\n } else {\r\n this.centerMap(new (window).google.maps.LatLng(this.defaultLatitude, this.defaultLongitude));\r\n }\r\n }\r\n\r\n public centerToDefaultLocation() {\r\n this.centerMap(new (window).google.maps.LatLng(this.defaultLatitude, this.defaultLongitude));\r\n }\r\n\r\n public newMarker(latlng, icon, identifier) {\r\n var marker = new (window).google.maps.Marker({\r\n identifier: identifier,\r\n clickable: false,\r\n position: latlng,\r\n map: this.map,\r\n icon: new (window).google.maps.MarkerImage(\"/images/\" + (icon ? icon : this.defaultMarkerIconName), null, null, null, new (window).google.maps.Size(22, 30))\r\n });\r\n\r\n // (window).google.maps.event.addListener(marker, \"click\", function () {\r\n // if (self.markerInfoWindow) {\r\n // self.markerInfoWindow.close();\r\n // }\r\n // self.markerInfoWindow = new (window).google.maps.InfoWindow();\r\n // self.markerInfoWindow.open(self.map, marker);\r\n // });\r\n\r\n // (window).google.maps.event.addListener(this.map, \"click\", function () {\r\n // if (self.markerInfoWindow) {\r\n // self.markerInfoWindow.close();\r\n // }\r\n // });\r\n\r\n return marker;\r\n }\r\n\r\n public setUserMarker(latlng) {\r\n let marker = new (window).google.maps.Marker({\r\n position: latlng,\r\n map: this.map,\r\n icon: new (window).google.maps.MarkerImage(\"/images/\" + this.defaultUserMarkerIconName, null, null, null, new (window).google.maps.Size(30, 30))\r\n });\r\n\r\n if (this.userMarker) {\r\n this.userMarker.setMap(null);\r\n }\r\n\r\n this.userMarker = new (window).google.maps.Marker(marker);\r\n }\r\n\r\n public getUserPosition() {\r\n if (this.userMarker) {\r\n return this.userMarker.position;\r\n }\r\n }\r\n\r\n public getDistance(p1, p2) {\r\n let dist = (window).google.maps.geometry.spherical.computeDistanceBetween(p1, p2);\r\n return parseFloat((dist * 0.001).toFixed(2));\r\n }\r\n\r\n public openMarkerInfoWindow(marker, contents) {\r\n if (this.markerInfoWindow) {\r\n this.markerInfoWindow.close();\r\n this.markerInfoWindow = null;\r\n }\r\n\r\n this.markerInfoWindow = new (window).google.maps.InfoWindow();\r\n this.markerInfoWindow.setContent(contents);\r\n this.markerInfoWindow.open(this.map, marker);\r\n }\r\n\r\n public closeMarkerInfoWindow() {\r\n if (this.markerInfoWindow) {\r\n this.markerInfoWindow.close();\r\n }\r\n }\r\n}","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Axios from \"axios\";\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\nimport GoogleMapsLocator from \"@Scripts/Infrastructure/GoogleMapsLocator\";\r\n\r\n@Component({ name: \"DealerPointMap\" })\r\nexport default class DealerPointMap extends Vue {\r\n private googleMapsLocator = new GoogleMapsLocator();\r\n private locatorData: any = {};\r\n private markers: any[] = [];\r\n private bounds: any = new (window).google.maps.LatLngBounds();\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n private async created() {\r\n this.getData();\r\n }\r\n\r\n private mounted() {\r\n this.googleMapsLocator.init(false);\r\n }\r\n\r\n private async getData() {\r\n let response = (await Axios.post(this.routes.DealerSite_Support_GetLocatorData, null, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken() } })).data;\r\n this.locatorData.dealerPoints = response.dealerPoints;\r\n this.setMarkers();\r\n }\r\n\r\n private setMarkers() {\r\n this.markers = [];\r\n this.bounds = new (window).google.maps.LatLngBounds();\r\n\r\n if (this.locatorData.dealerPoints && this.locatorData.dealerPoints.length !== 0) {\r\n for (let dealerPoint of this.locatorData.dealerPoints) {\r\n let markerTemplate = document.getElementById(\"MarkerTemplate\");\r\n let markerTitle = document.getElementById(\"MarkerTitle\");\r\n let markerDescription = document.getElementById(\"MarkerDescription\");\r\n let markerStreet: any = document.getElementById(\"MarkerStreet\");\r\n\r\n markerTitle.innerHTML = null;\r\n markerDescription.innerHTML = null;\r\n\r\n markerTitle.innerHTML = dealerPoint.name;\r\n markerDescription.innerHTML = dealerPoint.address + \"
\" + dealerPoint.postCode + \" \" + dealerPoint.location + \" (\" + dealerPoint.province + \")\";\r\n\r\n let coordinate = dealerPoint.latitude + \",\" + dealerPoint.longitude;\r\n markerStreet.href = \"https://www.google.it/maps/dir//\" + coordinate + \"/@\" + coordinate + \",17z\";\r\n\r\n let dealerPointPosition = new (window).google.maps.LatLng(dealerPoint.latitude, dealerPoint.longitude);\r\n\r\n this.markers.push(this.googleMapsLocator.newMarker(dealerPointPosition, \"marker.svg\", dealerPoint.idMaster));\r\n\r\n this.bounds.extend(new (window).google.maps.LatLng(dealerPoint.latitude, dealerPoint.longitude), \"marker.svg\", dealerPoint.idMaster);\r\n }\r\n\r\n this.googleMapsLocator.fitBounds(this.bounds);\r\n } else {\r\n this.locatorData.filters.topRightLatitude = null;\r\n this.locatorData.filters.topRightLongitude = null;\r\n this.locatorData.filters.bottomLeftLatitude = null;\r\n this.locatorData.filters.bottomLeftLongitude = null;\r\n\r\n this.getData();\r\n }\r\n }\r\n}","import { render, staticRenderFns } from \"./DealerPointMap.vue?vue&type=template&id=74a357f4\"\nimport script from \"./DealerPointMap?vue&type=script&lang=ts&external\"\nexport * from \"./DealerPointMap?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"map\"},[_c('div',{staticClass:\"google-maps\",attrs:{\"id\":\"GoogleMap\"}}),_vm._v(\" \"),_c('div',{staticClass:\"google-maps-marker hden\",attrs:{\"id\":\"MarkerTemplate\"}},[_c('address',{staticClass:\"infowindow-contents info-dealer\"},[_c('div',{staticClass:\"name\",attrs:{\"id\":\"MarkerTitle\"}}),_vm._v(\" \"),_c('div',{staticClass:\"address\",attrs:{\"id\":\"MarkerDescription\"}}),_vm._v(\" \"),_c('a',{staticClass:\"link\",attrs:{\"id\":\"MarkerStreet\",\"href\":\"https://www.google.it/maps/dir//\",\"target\":\"_blank\",\"rel\":\"noreferrer\"}},[_c('span',{staticClass:\"label\"},[_vm._v(\"Indicazioni stradali\")])])])])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.dealerData && _vm.selectedDealerPointCode)?_c('div',{staticClass:\"list-item\"},[_c('div',{directives:[{name:\"exp-menu\",rawName:\"v-exp-menu\"}],staticClass:\"item\"},[_c('button',{class:[{ 'cur-cm': _vm.dealerData.dealerPoints.length === 1 }, 'pos ac-button']},[(_vm.openingTimes)?_c('span',{staticClass:\"status\",attrs:{\"data-status\":_vm.openingTimes.currentStatus}},[_vm._v(_vm._s(_vm.openingTimes.label))]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"location\"},[_vm._v(_vm._s(_vm.dealerData.dealerPoints.find(dealerPoint => dealerPoint.code == _vm.selectedDealerPointCode).name))]),_vm._v(\" \"),(_vm.dealerData.dealerPoints.length > 1)?_c('span',{staticClass:\"icon xt-angle-down\"}):_vm._e()]),_vm._v(\" \"),(_vm.dealerData.dealerPoints.length > 1)?_c('div',{staticClass:\"list-item ac-list\"},_vm._l((_vm.dealerData.dealerPoints),function(dealerPoint,index){return _c('button',{directives:[{name:\"exp-menu-link\",rawName:\"v-exp-menu-link\"}],key:index,staticClass:\"item pos\",on:{\"click\":function($event){return _vm.setDealerPoint(dealerPoint.code, dealerPoint.name)}}},[_c('span',{staticClass:\"location\"},[_vm._v(_vm._s(dealerPoint.name))])])}),0):_vm._e()])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Watch } from \"vue-property-decorator\";\r\n\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\n@Component({ name: \"DealerPointSelector\" })\r\nexport default class DealerPointSelector extends Vue {\r\n get selectedDealerPointCode() {\r\n return this.$store.getters[\"dealerStore/selectedDealerPointCode\"];\r\n }\r\n\r\n get dealerData() {\r\n return this.$store.getters[\"dealerStore/dealerData\"];\r\n }\r\n\r\n get openingTimes() {\r\n return this.$store.getters[\"openingTimeStore/openingTimes\"];\r\n }\r\n\r\n @Watch(\"selectedDealerPointCode\") onDealerPointChanged() {\r\n this.$store.dispatch(\"openingTimeStore/getOpeningTimes\", this.selectedDealerPointCode);\r\n }\r\n\r\n public setDealerPoint(dealerPointCode: string, dealerPointName: string) {\r\n this.$store.commit(\"dealerStore/setDealerPointCode\", dealerPointCode);\r\n\r\n window.localStorage.setItem(\"DealerPointCode\", dealerPointCode);\r\n\r\n this.$store.dispatch(\"openingTimeStore/getOpeningTimes\", dealerPointCode);\r\n\r\n GTagHelper.sendEvent(\"click\", \"change_pos\", dealerPointName);\r\n }\r\n}","import { render, staticRenderFns } from \"./DealerPointSelector.vue?vue&type=template&id=98718bf2\"\nimport script from \"./DealerPointSelector?vue&type=script&lang=ts&external\"\nexport * from \"./DealerPointSelector?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"info-request\"},[(!_vm.isSuccess)?[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"form\"},[_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.customerRequestType),expression:\"formData.customerRequestType\"}],class:[{ 'input-validation-error': _vm.isValidationError('CustomerRequestType') }, 'dropdown'],attrs:{\"aria-label\":\"Motivo richiesta\",\"id\":\"CustomerRequestType\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"customerRequestType\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.customerRequestTypes),function(type,index){return _c('option',{key:index,domProps:{\"value\":type.value}},[_vm._v(_vm._s(type.title))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\",\"data-required\":\"\"}},[_c('div',{staticClass:\"control\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.message),expression:\"formData.message\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Message') }, 'textarea'],attrs:{\"aria-label\":\"Messaggio\",\"cols\":\"15\",\"type\":\"text\",\"id\":\"Message\",\"rows\":\"3\",\"placeholder\":_vm.formData.customerRequestType !== 'TechnicalAssistance' ? 'Descrivi la tua richiesta...' : 'Scrivici come ti possiamo aiutare, ti contatteremo il prima possibile'},domProps:{\"value\":(_vm.formData.message)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"message\", $event.target.value)}}})])]),_vm._v(\" \"),(_vm.isDealerPoints)?_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"DealerPointCode\"}},[_vm._v(\"Punto vendita\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.dealerPointCode),expression:\"formData.dealerPointCode\"}],class:[{ 'input-validation-error': _vm.isValidationError('DealerPointCode') }, 'dropdown'],attrs:{\"aria-label\":\"Punto vendita\",\"id\":\"DealerPointCode\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"dealerPointCode\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.setDealerPoint(_vm.formData.dealerPointCode)}]}},_vm._l((_vm.dealerPoints),function(dealerPoint,index){return _c('option',{key:index,domProps:{\"value\":dealerPoint.value}},[_vm._v(_vm._s(dealerPoint.title))])}),0)])]):_vm._e()]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"main-abstract\"},[_vm._v(\"Lasciaci i tuoi dati per ricontattarti\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"NameSurname\"}},[_vm._v(\"Nome e cognome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.nameSurname),expression:\"formData.nameSurname\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('NameSurname') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Nome e cognome\",\"id\":\"NameSurname\"},domProps:{\"value\":(_vm.formData.nameSurname)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"nameSurname\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Phone\"}},[_vm._v(\"Telefono\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.phone),expression:\"formData.phone\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Phone') }, 'textbox'],attrs:{\"type\":\"tel\",\"aria-label\":\"Telefono\",\"id\":\"Phone\",\"placeholder\":\"+39...\"},domProps:{\"value\":(_vm.formData.phone)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"phone\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Email\"}},[_vm._v(\"Email\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.email),expression:\"formData.email\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Email') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Email\",\"id\":\"Email\",\"placeholder\":\"nome@dominio.it\"},domProps:{\"value\":(_vm.formData.email)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"email\", $event.target.value)}}})])]),_vm._v(\" \"),(_vm.formData.customerRequestType === 'TechnicalAssistance')?_c('div',{staticClass:\"item\",attrs:{\"data-required\":\"\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Model\"}},[_vm._v(\"Modello\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.model),expression:\"formData.model\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Model') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Modello\",\"id\":\"Model\"},domProps:{\"value\":(_vm.formData.model)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"model\", $event.target.value)}}})])]):_vm._e()]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('app-privacypolicy',{on:{\"profiling\":_vm.profiling,\"marketing\":_vm.marketing,\"marketingChannels\":_vm.marketingChannels}}),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"g-recaptcha\",attrs:{\"data-sitekey\":_vm.recaptchaSiteKey}})]),_vm._v(\" \"),(_vm.validationErrors.length !== 0)?_c('div',{staticClass:\"validation-summary-errors\"},[_c('ul',_vm._l((_vm.validationErrors),function(validationError,index){return _c('li',{key:index},[_vm._v(_vm._s(validationError.message))])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"cta\"},[(!_vm.isLoading)?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.submitForm()}}},[_vm._v(\"Invia la richiesta\")]):_c('div',{staticClass:\"button\",attrs:{\"data-width\":\"300\",\"data-disabled\":\"\"}},[_vm._m(1)])])])],1)])]:[_c('div',{staticClass:\"success\"},[_c('div',{staticClass:\"main-title\"},[_vm._v(\"Grazie per averci contattato\")]),_vm._v(\" \"),_c('div',{staticClass:\"main-abstract\",attrs:{\"data-mrgb\":\"30\"}},[_vm._v(\"Abbiamo ricevuto la tua richiesta e ti contatteremo il prima possibile\")]),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.routes.DealerSite_Home_Home}},[_vm._v(\"Torna alla homepage\")])])])]],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"head\",attrs:{\"data-mrgb\":\"15\"}},[_c('h1',{staticClass:\"main-title\",attrs:{\"role\":\"heading\"}},[_vm._v(\"Come possiamo aiutarti?\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"loader-box\",attrs:{\"data-type\":\"button\"}},[_c('div',{staticClass:\"loader\"})])\n}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Axios from \"axios\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\n@Component({ name: \"InfoRequest\" })\r\nexport default class InfoRequest extends Vue {\r\n public isLoading: boolean = false;\r\n public isSuccess: boolean = false;\r\n public privacyPolicy: string = null;\r\n public isPrivacyPolicyShow: boolean = false;\r\n public formData: any = {\r\n customerRequestType: null,\r\n dealerPointCode: null,\r\n selectedOccasionType: null,\r\n isProfiling: false,\r\n isMarketing: false,\r\n marketingChannels: []\r\n };\r\n public validationErrors: any[] = [];\r\n public customerRequestTypes: any[] = [];\r\n public dealerPoints: any[] = [];\r\n public selectedOccasionTypes: any[] = [];\r\n public isDealerPoints: boolean = false;\r\n public requestType: string = \"Info\";\r\n\r\n @Prop() readonly recaptchaSiteKey: string;\r\n @Prop() readonly originPath: string;\r\n @Prop() readonly type: string;\r\n @Prop() readonly product: string;\r\n @Prop() readonly dealerPointCode: string;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n get selectedDealerPointCode() {\r\n return this.$store.getters[\"dealerStore/selectedDealerPointCode\"];\r\n }\r\n\r\n get dealerData() {\r\n return this.$store.getters[\"dealerStore/dealerData\"];\r\n }\r\n\r\n public setDealerPoint(dealerPointCode: string) {\r\n this.$store.commit(\"dealerStore/setDealerPointCode\", dealerPointCode);\r\n }\r\n\r\n public async created() {\r\n let data = (await Axios.post(this.routes.DealerSite_Support_GetInfoRequestData, null, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken() } })).data;\r\n this.customerRequestTypes = data.customerRequestTypes;\r\n this.selectedOccasionTypes = data.selectedOccasionTypes;\r\n this.dealerPoints = data.dealerPoints;\r\n\r\n if (this.dealerPoints.length > 1) {\r\n this.isDealerPoints = true;\r\n } else {\r\n this.formData.dealerPointCode = data.dealerPoints[0]?.value;\r\n }\r\n\r\n if (this.selectedDealerPointCode) {\r\n this.formData.dealerPointCode = this.dealerPoints.find(x => x.value == this.selectedDealerPointCode)?.value;\r\n }\r\n\r\n if (this.type) {\r\n this.formData.customerRequestType = this.type;\r\n\r\n if (this.type === \"Information\" && this.product) {\r\n this.formData.message = \"Buongiorno, vorrei avere maggiori informazioni su \" + this.product + \", grazie.\";\r\n }\r\n }\r\n\r\n this.setRecaptcha();\r\n }\r\n\r\n public setRecaptcha() {\r\n let recaptchaScript = document.createElement(\"script\");\r\n recaptchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js\");\r\n document.head.appendChild(recaptchaScript);\r\n }\r\n\r\n public profiling(profiling: boolean) {\r\n this.formData.isProfiling = profiling;\r\n }\r\n\r\n public marketing(marketing: boolean) {\r\n this.formData.isMarketing = marketing;\r\n }\r\n\r\n public marketingChannels(marketingChannels: any) {\r\n this.formData.marketingChannels = marketingChannels;\r\n }\r\n\r\n public async submitForm() {\r\n this.validationErrors = [];\r\n\r\n this.isLoading = true;\r\n\r\n try {\r\n this.formData.originPath = this.originPath;\r\n await Axios.post(this.routes.DealerSite_Support_InfoRequest, this.formData, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken(), \"RecaptchaVerificationToken\": (window).grecaptcha.getResponse() } });\r\n\r\n this.isSuccess = true;\r\n\r\n switch (this.formData.customerRequestType) {\r\n case \"TechnicalAssistance\":\r\n GTagHelper.sendEvent(\"form_submit\", \"tech_assistance\");\r\n break;\r\n case \"Information\":\r\n GTagHelper.sendEvent(\"form_submit\", \"info_request\", \"information\");\r\n break;\r\n case \"Estimate\":\r\n GTagHelper.sendEvent(\"form_submit\", \"info_request\", \"estimate\");\r\n break;\r\n case \"Appointment\":\r\n GTagHelper.sendEvent(\"form_submit\", \"info_request\", \"appointment\");\r\n break;\r\n }\r\n\r\n window.scrollTo(0, 0);\r\n } catch (error) {\r\n if (error.response && error.response.status === 400) {\r\n this.validationErrors = FormHelper.getValidationErrors(error.response.data);\r\n }\r\n\r\n (window).grecaptcha.reset();\r\n }\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n public isValidationError(controlName: string): boolean {\r\n return FormHelper.isControlValidationError(controlName, this.validationErrors);\r\n }\r\n\r\n public closeDialog() {\r\n this.$emit(\"closeDialog\");\r\n }\r\n}","import { render, staticRenderFns } from \"./InfoRequest.vue?vue&type=template&id=4e596918\"\nimport script from \"./InfoRequest?vue&type=script&lang=ts&external\"\nexport * from \"./InfoRequest?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"box-inforequest\"},[_c('div',{staticClass:\"action\"},[_c('div',{staticClass:\"cta\"},[_c('a',{staticClass:\"button ga-event\",attrs:{\"href\":_vm.routes.DealerSite_Support_Contact,\"data-gacategory\":\"InfoRequest\",\"data-gaaction\":\"InfoRequest\"},on:{\"click\":function($event){return _vm.setAnalytics()}}},[_vm._v(_vm._s(_vm.callToAction))])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\n@Component({ name: \"InfoRequestCta\" })\r\nexport default class InfoRequestCta extends Vue {\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n private callToAction: string = \"Contattaci ora\";\r\n\r\n @Prop() readonly page: string;\r\n\r\n public created() {\r\n if (this.page == \"classifiedPTW\") {\r\n this.callToAction = \"Richiedi informazioni\";\r\n } else if (this.page == \"showcase\") {\r\n this.callToAction = \"Richiedi informazioni\";\r\n }\r\n }\r\n\r\n public setAnalytics() {\r\n GTagHelper.sendEvent(\"click\", \"info_request\");\r\n }\r\n}\r\n","import { render, staticRenderFns } from \"./InfoRequestCta.vue?vue&type=template&id=6acf8a3c\"\nimport script from \"./InfoRequestCta?vue&type=script&lang=ts&external\"\nexport * from \"./InfoRequestCta?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","class t extends Date{static parseDateTime(e,s=\"YYYY-MM-DD\",n=\"en-US\"){if(!e)return new Date((new Date).setHours(0,0,0,0));if(e instanceof t)return e.toJSDate();if(e instanceof Date)return e;if(/^-?\\d{10,}$/.test(String(e)))return new Date(Number(e));if(\"string\"==typeof e){const r=[];let a=null;for(;null!=(a=t.regex.exec(s));)\"\\\\\"!==a[1]&&r.push(a);if(r.length){const s={year:null,month:null,shortMonth:null,longMonth:null,day:null,hour:0,minute:0,second:0,ampm:null,value:\"\"};r[0].index>0&&(s.value+=\".*?\");for(const[e,a]of Object.entries(r)){const r=Number(e),{group:i,pattern:h}=t.formatPatterns(a[0],n);s[i]=r+1,s.value+=h,s.value+=\".*?\"}const a=new RegExp(`^${s.value}$`);if(a.test(e)){const r=a.exec(e),i=Number(r[s.year]);let h=null;s.month?h=Number(r[s.month])-1:s.shortMonth?h=t.shortMonths(n).indexOf(r[s.shortMonth]):s.longMonth&&(h=t.longMonths(n).indexOf(r[s.longMonth]));const g=Number(r[s.day])||1,o=Number(r[s.hour]);let u=Number.isNaN(o)?0:o;const c=Number(r[s.minute]),l=Number.isNaN(c)?0:c,m=Number(r[s.second]),d=Number.isNaN(m)?0:m,M=r[s.ampm];return M&&\"PM\"===M&&(u+=12,24===u&&(u=0)),new Date(i,h,g,u,l,d,0)}}}return new Date((new Date).setHours(0,0,0,0))}static regex=/(\\\\)?(Y{2,4}|M{1,4}|D{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|A|a)/g;static MONTH_JS=[0,1,2,3,4,5,6,7,8,9,10,11];static shortMonths(e){return t.MONTH_JS.map((t=>new Date(2019,t).toLocaleString(e,{month:\"short\"})))}static longMonths(e){return t.MONTH_JS.map((t=>new Date(2019,t).toLocaleString(e,{month:\"long\"})))}static formatPatterns(e,s){switch(e){case\"YY\":case\"YYYY\":return{group:\"year\",pattern:`(\\\\d{${e.length}})`};case\"M\":return{group:\"month\",pattern:\"(\\\\d{1,2})\"};case\"MM\":return{group:\"month\",pattern:\"(\\\\d{2})\"};case\"MMM\":return{group:\"shortMonth\",pattern:`(${t.shortMonths(s).join(\"|\")})`};case\"MMMM\":return{group:\"longMonth\",pattern:`(${t.longMonths(s).join(\"|\")})`};case\"D\":return{group:\"day\",pattern:\"(\\\\d{1,2})\"};case\"DD\":return{group:\"day\",pattern:\"(\\\\d{2})\"};case\"h\":case\"H\":return{group:\"hour\",pattern:\"(\\\\d{1,2})\"};case\"hh\":case\"HH\":return{group:\"hour\",pattern:\"(\\\\d{2})\"};case\"m\":return{group:\"minute\",pattern:\"(\\\\d{1,2})\"};case\"mm\":return{group:\"minute\",pattern:\"(\\\\d{2})\"};case\"s\":return{group:\"second\",pattern:\"(\\\\d{1,2})\"};case\"ss\":return{group:\"second\",pattern:\"(\\\\d{2})\"};case\"a\":case\"A\":return{group:\"ampm\",pattern:\"(AM|PM|am|pm)\"}}}lang;constructor(e=null,s=\"YYYY-MM-DD\",n=\"en-US\"){super(t.parseDateTime(e,s,n)),this.lang=n}getWeek(t){const e=new Date(this.midnight_ts(this)),s=(this.getDay()+(7-t))%7;e.setDate(e.getDate()-s);const n=e.getTime();return e.setMonth(0,1),e.getDay()!==t&&e.setMonth(0,1+(4-e.getDay()+7)%7),1+Math.ceil((n-e.getTime())/6048e5)}clone(){return new t(this)}toJSDate(){return new Date(this)}inArray(t,e=\"[]\"){return t.some((t=>t instanceof Array?this.isBetween(t[0],t[1],e):this.isSame(t,\"day\")))}isBetween(t,e,s=\"()\"){switch(s){default:case\"()\":return this.midnight_ts(this)>this.midnight_ts(t)&&this.midnight_ts(this)=this.midnight_ts(t)&&this.midnight_ts(this)this.midnight_ts(t)&&this.midnight_ts(this)<=this.midnight_ts(e);case\"[]\":return this.midnight_ts()>=this.midnight_ts(t)&&this.midnight_ts()<=this.midnight_ts(e)}}isBefore(t,e=\"days\"){switch(e){case\"day\":case\"days\":return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()>new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime();case\"month\":case\"months\":return new Date(t.getFullYear(),t.getMonth(),1).getTime()>new Date(this.getFullYear(),this.getMonth(),1).getTime();case\"year\":case\"years\":return t.getFullYear()>this.getFullYear()}throw new Error(\"isBefore: Invalid unit!\")}isSameOrBefore(t,e=\"days\"){switch(e){case\"day\":case\"days\":return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()>=new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime();case\"month\":case\"months\":return new Date(t.getFullYear(),t.getMonth(),1).getTime()>=new Date(this.getFullYear(),this.getMonth(),1).getTime()}throw new Error(\"isSameOrBefore: Invalid unit!\")}isAfter(t,e=\"days\"){switch(e){case\"day\":case\"days\":return new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime()>new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime();case\"month\":case\"months\":return new Date(this.getFullYear(),this.getMonth(),1).getTime()>new Date(t.getFullYear(),t.getMonth(),1).getTime();case\"year\":case\"years\":return this.getFullYear()>t.getFullYear()}throw new Error(\"isAfter: Invalid unit!\")}isSameOrAfter(t,e=\"days\"){switch(e){case\"day\":case\"days\":return new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime()>=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime();case\"month\":case\"months\":return new Date(this.getFullYear(),this.getMonth(),1).getTime()>=new Date(t.getFullYear(),t.getMonth(),1).getTime()}throw new Error(\"isSameOrAfter: Invalid unit!\")}isSame(t,e=\"days\"){switch(e){case\"day\":case\"days\":return new Date(this.getFullYear(),this.getMonth(),this.getDate()).getTime()===new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime();case\"month\":case\"months\":return new Date(this.getFullYear(),this.getMonth(),1).getTime()===new Date(t.getFullYear(),t.getMonth(),1).getTime()}throw new Error(\"isSame: Invalid unit!\")}add(t,e=\"days\"){switch(e){case\"day\":case\"days\":this.setDate(this.getDate()+t);break;case\"month\":case\"months\":this.setMonth(this.getMonth()+t)}return this}subtract(t,e=\"days\"){switch(e){case\"day\":case\"days\":this.setDate(this.getDate()-t);break;case\"month\":case\"months\":this.setMonth(this.getMonth()-t)}return this}diff(t,e=\"days\"){switch(e){default:case\"day\":case\"days\":return Math.round((this.midnight_ts()-this.midnight_ts(t))/864e5);case\"month\":case\"months\":let e=12*(t.getFullYear()-this.getFullYear());return e-=t.getMonth(),e+=this.getMonth(),e}}format(e,s=\"en-US\"){let n=\"\";const r=[];let a=null;for(;null!=(a=t.regex.exec(e));)\"\\\\\"!==a[1]&&r.push(a);if(r.length){r[0].index>0&&(n+=e.substring(0,r[0].index));for(const[t,a]of Object.entries(r)){const i=Number(t);n+=this.formatTokens(a[0],s),r[i+1]&&(n+=e.substring(a.index+a[0].length,r[i+1].index)),i===r.length-1&&(n+=e.substring(a.index+a[0].length))}}return n.replace(/\\\\/g,\"\")}midnight_ts(t){return t?new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0).getTime():new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0).getTime()}formatTokens(e,s){switch(e){case\"YY\":return String(this.getFullYear()).slice(-2);case\"YYYY\":return String(this.getFullYear());case\"M\":return String(this.getMonth()+1);case\"MM\":return`0${this.getMonth()+1}`.slice(-2);case\"MMM\":return t.shortMonths(s)[this.getMonth()];case\"MMMM\":return t.longMonths(s)[this.getMonth()];case\"D\":return String(this.getDate());case\"DD\":return`0${this.getDate()}`.slice(-2);case\"H\":return String(this.getHours());case\"HH\":return`0${this.getHours()}`.slice(-2);case\"h\":return String(this.getHours()%12||12);case\"hh\":return`0${this.getHours()%12||12}`.slice(-2);case\"m\":return String(this.getMinutes());case\"mm\":return`0${this.getMinutes()}`.slice(-2);case\"s\":return String(this.getSeconds());case\"ss\":return`0${this.getSeconds()}`.slice(-2);case\"a\":return this.getHours()<12||24===this.getHours()?\"am\":\"pm\";case\"A\":return this.getHours()<12||24===this.getHours()?\"AM\":\"PM\";default:return\"\"}}}export{t as DateTime};\n","import{DateTime as e}from\"@easepick/datetime\";class t{picker;constructor(e){this.picker=e}render(t,i){t||(t=new e),t.setDate(1),t.setHours(0,0,0,0),\"function\"==typeof this[`get${i}View`]&&this[`get${i}View`](t)}getContainerView(e){this.picker.ui.container.innerHTML=\"\",this.picker.options.header&&this.picker.trigger(\"render\",{date:e.clone(),view:\"Header\"}),this.picker.trigger(\"render\",{date:e.clone(),view:\"Main\"}),this.picker.options.autoApply||this.picker.trigger(\"render\",{date:e.clone(),view:\"Footer\"})}getHeaderView(e){const t=document.createElement(\"header\");this.picker.options.header instanceof HTMLElement&&t.appendChild(this.picker.options.header),\"string\"==typeof this.picker.options.header&&(t.innerHTML=this.picker.options.header),this.picker.ui.container.appendChild(t),this.picker.trigger(\"view\",{target:t,date:e.clone(),view:\"Header\"})}getMainView(e){const t=document.createElement(\"main\");this.picker.ui.container.appendChild(t);const i=document.createElement(\"div\");i.className=`calendars grid-${this.picker.options.grid}`;for(let t=0;t${e.toLocaleString(this.picker.options.lang,{month:\"long\"})} ${e.format(\"YYYY\")}`,t.appendChild(i);const n=document.createElement(\"button\");n.className=\"previous-button unit\",n.innerHTML=this.picker.options.locale.previousMonth,t.appendChild(n);const s=document.createElement(\"button\");return s.className=\"next-button unit\",s.innerHTML=this.picker.options.locale.nextMonth,t.appendChild(s),t}getCalendarDayNamesView(){const e=document.createElement(\"div\");e.className=\"daynames-row\";for(let t=1;t<=7;t++){const i=3+this.picker.options.firstDay+t,n=document.createElement(\"div\");n.className=\"dayname\",n.innerHTML=new Date(1970,0,i,12,0,0,0).toLocaleString(this.picker.options.lang,{weekday:\"short\"}),n.title=new Date(1970,0,i,12,0,0,0).toLocaleString(this.picker.options.lang,{weekday:\"long\"}),e.appendChild(n),this.picker.trigger(\"view\",{dayIdx:i,view:\"CalendarDayName\",target:n})}return e}getCalendarDaysView(e){const t=document.createElement(\"div\");t.className=\"days-grid\";const i=this.calcOffsetDays(e,this.picker.options.firstDay),n=32-new Date(e.getFullYear(),e.getMonth(),32).getDate();for(let e=0;e{\"function\"==typeof t?e.push(new t):\"string\"==typeof t&&\"undefined\"!=typeof easepick&&Object.prototype.hasOwnProperty.call(easepick,t)?e.push(new easepick[t]):console.warn(`easepick: ${t} not found.`)})),e.sort(((e,t)=>e.priority>t.priority?-1:e.priorityt.dependencies.length?1:e.dependencies.length{e.attach(this.picker),this.instances[e.getName()]=e}))}getInstance(e){return this.instances[e]}addInstance(e){if(Object.prototype.hasOwnProperty.call(this.instances,e))console.warn(`easepick: ${e} already added.`);else{if(\"undefined\"!=typeof easepick&&Object.prototype.hasOwnProperty.call(easepick,e)){const t=new easepick[e];return t.attach(this.picker),this.instances[t.getName()]=t,t}if(\"undefined\"!==this.getPluginFn(e)){const t=new(this.getPluginFn(e));return t.attach(this.picker),this.instances[t.getName()]=t,t}console.warn(`easepick: ${e} not found.`)}return null}removeInstance(e){return e in this.instances&&this.instances[e].detach(),delete this.instances[e]}reloadInstance(e){return this.removeInstance(e),this.addInstance(e)}getPluginFn(e){return[...this.picker.options.plugins].filter((t=>\"function\"==typeof t&&(new t).getName()===e)).shift()}}class n{Calendar=new t(this);PluginManager=new i(this);calendars=[];datePicked=[];cssLoaded=0;binds={hidePicker:this.hidePicker.bind(this),show:this.show.bind(this)};options={doc:document,css:[],element:null,firstDay:1,grid:1,calendars:1,lang:\"en-US\",date:null,format:\"YYYY-MM-DD\",readonly:!0,autoApply:!0,header:!1,inline:!1,scrollToDate:!0,locale:{nextMonth:'',previousMonth:'',cancel:\"Cancel\",apply:\"Apply\"},documentClick:this.binds.hidePicker,plugins:[]};ui={container:null,shadowRoot:null,wrapper:null};version=\"1.2.1\";constructor(e){const t={...this.options.locale,...e.locale};this.options={...this.options,...e},this.options.locale=t,this.handleOptions(),this.ui.wrapper=document.createElement(\"span\"),this.ui.wrapper.style.display=\"none\",this.ui.wrapper.style.position=\"absolute\",this.ui.wrapper.style.pointerEvents=\"none\",this.ui.wrapper.className=\"easepick-wrapper\",this.ui.wrapper.attachShadow({mode:\"open\"}),this.ui.shadowRoot=this.ui.wrapper.shadowRoot,this.ui.container=document.createElement(\"div\"),this.ui.container.className=\"container\",this.options.zIndex&&(this.ui.container.style.zIndex=String(this.options.zIndex)),this.options.inline&&(this.ui.wrapper.style.position=\"relative\",this.ui.container.classList.add(\"inline\")),this.ui.shadowRoot.appendChild(this.ui.container),this.options.element.after(this.ui.wrapper),this.handleCSS(),this.options.element.addEventListener(\"click\",this.binds.show),this.on(\"view\",this.onView.bind(this)),this.on(\"render\",this.onRender.bind(this)),this.PluginManager.initialize(),this.parseValues(),\"function\"==typeof this.options.setup&&this.options.setup(this),this.on(\"click\",this.onClick.bind(this));const i=this.options.scrollToDate?this.getDate():null;this.renderAll(i)}on(e,t,i={}){this.ui.container.addEventListener(e,t,i)}off(e,t,i={}){this.ui.container.removeEventListener(e,t,i)}trigger(e,t={}){return this.ui.container.dispatchEvent(new CustomEvent(e,{detail:t}))}destroy(){this.options.element.removeEventListener(\"click\",this.binds.show),\"function\"==typeof this.options.documentClick&&document.removeEventListener(\"click\",this.options.documentClick,!0),Object.keys(this.PluginManager.instances).forEach((e=>{this.PluginManager.removeInstance(e)})),this.ui.wrapper.remove()}onRender(e){const{view:t,date:i}=e.detail;this.Calendar.render(i,t)}onView(e){const{view:t,target:i}=e.detail;if(\"Footer\"===t&&this.datePicked.length){i.querySelector(\".apply-button\").disabled=!1}}onClickHeaderButton(e){this.isCalendarHeaderButton(e)&&(e.classList.contains(\"next-button\")?this.calendars[0].add(1,\"month\"):this.calendars[0].subtract(1,\"month\"),this.renderAll(this.calendars[0]))}onClickCalendarDay(t){if(this.isCalendarDay(t)){const i=new e(t.dataset.time);this.options.autoApply?(this.setDate(i),this.trigger(\"select\",{date:this.getDate()}),this.hide()):(this.datePicked[0]=i,this.trigger(\"preselect\",{date:this.getDate()}),this.renderAll())}}onClickApplyButton(e){if(this.isApplyButton(e)){if(this.datePicked[0]instanceof Date){const e=this.datePicked[0].clone();this.setDate(e)}this.hide(),this.trigger(\"select\",{date:this.getDate()})}}onClickCancelButton(e){this.isCancelButton(e)&&this.hide()}onClick(e){const t=e.target;if(t instanceof HTMLElement){const e=t.closest(\".unit\");if(!(e instanceof HTMLElement))return;this.onClickHeaderButton(e),this.onClickCalendarDay(e),this.onClickApplyButton(e),this.onClickCancelButton(e)}}isShown(){return this.ui.container.classList.contains(\"inline\")||this.ui.container.classList.contains(\"show\")}show(e){if(this.isShown())return;const t=e&&\"target\"in e?e.target:this.options.element,{top:i,left:n}=this.adjustPosition(t);this.ui.container.style.top=`${i}px`,this.ui.container.style.left=`${n}px`,this.ui.container.classList.add(\"show\"),this.trigger(\"show\",{target:t})}hide(){this.ui.container.classList.remove(\"show\"),this.datePicked.length=0,this.renderAll(),this.trigger(\"hide\")}setDate(t){const i=new e(t,this.options.format);this.options.date=i.clone(),this.updateValues(),this.calendars.length&&this.renderAll()}getDate(){return this.options.date instanceof e?this.options.date.clone():null}parseValues(){this.options.date?this.setDate(this.options.date):this.options.element instanceof HTMLInputElement&&this.options.element.value.length&&this.setDate(this.options.element.value),this.options.date instanceof Date||(this.options.date=null)}updateValues(){const e=this.getDate(),t=e instanceof Date?e.format(this.options.format,this.options.lang):\"\",i=this.options.element;i instanceof HTMLInputElement?i.value=t:i instanceof HTMLElement&&(i.innerText=t)}hidePicker(e){let t=e.target,i=null;t.shadowRoot&&(t=e.composedPath()[0],i=t.getRootNode().host),this.isShown()&&i!==this.ui.wrapper&&t!==this.options.element&&this.hide()}renderAll(e){this.trigger(\"render\",{view:\"Container\",date:(e||this.calendars[0]).clone()})}isCalendarHeaderButton(e){return[\"previous-button\",\"next-button\"].some((t=>e.classList.contains(t)))}isCalendarDay(e){return e.classList.contains(\"day\")}isApplyButton(e){return e.classList.contains(\"apply-button\")}isCancelButton(e){return e.classList.contains(\"cancel-button\")}gotoDate(t){const i=new e(t,this.options.format);i.setDate(1),this.calendars[0]=i.clone(),this.renderAll()}clear(){this.options.date=null,this.datePicked.length=0,this.updateValues(),this.renderAll(),this.trigger(\"clear\")}handleOptions(){this.options.element instanceof HTMLElement||(this.options.element=this.options.doc.querySelector(this.options.element)),\"function\"==typeof this.options.documentClick&&document.addEventListener(\"click\",this.options.documentClick,!0),this.options.element instanceof HTMLInputElement&&(this.options.element.readOnly=this.options.readonly),this.options.date?this.calendars[0]=new e(this.options.date,this.options.format):this.calendars[0]=new e}handleCSS(){if(Array.isArray(this.options.css))this.options.css.forEach((e=>{const t=document.createElement(\"link\");t.href=e,t.rel=\"stylesheet\";const i=()=>{this.cssLoaded++,this.cssLoaded===this.options.css.length&&(this.ui.wrapper.style.display=\"\")};t.addEventListener(\"load\",i),t.addEventListener(\"error\",i),this.ui.shadowRoot.append(t)}));else if(\"string\"==typeof this.options.css){const e=document.createElement(\"style\"),t=document.createTextNode(this.options.css);e.appendChild(t),this.ui.shadowRoot.append(e),this.ui.wrapper.style.display=\"\"}else\"function\"==typeof this.options.css&&(this.options.css.call(this,this),this.ui.wrapper.style.display=\"\")}adjustPosition(e){const t=e.getBoundingClientRect(),i=this.ui.wrapper.getBoundingClientRect();this.ui.container.classList.add(\"calc\");const n=this.ui.container.getBoundingClientRect();this.ui.container.classList.remove(\"calc\");let s=t.bottom-i.bottom,a=t.left-i.left;return\"undefined\"!=typeof window&&(window.innerHeight=0&&(s=t.top-i.top-n.height),window.innerWidth=0&&(a=t.right-i.right-n.width)),{left:a,top:s}}}var s=Object.freeze({__proto__:null,Core:n,create:n});export{n as Core,n as create,s as easepick};\n","class e{picker;options;priority=0;dependencies=[];attach(e){const t=this.getName(),s={...this.options};this.options={...this.options,...e.options[t]||{}};for(const i of Object.keys(s))if(null!==s[i]&&\"object\"==typeof s[i]&&Object.keys(s[i]).length&&t in e.options&&i in e.options[t]){const n={...e.options[t][i]};null!==n&&\"object\"==typeof n&&Object.keys(n).length&&Object.keys(n).every((e=>Object.keys(s[i]).includes(e)))&&(this.options[i]={...s[i],...n})}if(this.picker=e,this.dependenciesNotFound()){const e=this.dependencies.filter((e=>!this.pluginsAsStringArray().includes(e)));return void console.warn(`${this.getName()}: required dependencies (${e.join(\", \")}).`)}const i=this.camelCaseToKebab(this.getName());this.picker.ui.container.classList.add(i),this.onAttach()}detach(){const e=this.camelCaseToKebab(this.getName());this.picker.ui.container.classList.remove(e),\"function\"==typeof this.onDetach&&this.onDetach()}dependenciesNotFound(){return this.dependencies.length&&!this.dependencies.every((e=>this.pluginsAsStringArray().includes(e)))}pluginsAsStringArray(){return this.picker.options.plugins.map((e=>\"function\"==typeof e?(new e).getName():e))}camelCaseToKebab(e){return e.replace(/([a-zA-Z])(?=[A-Z])/g,\"$1-\").toLowerCase()}}export{e as BasePlugin};\n","import{DateTime as t}from\"@easepick/datetime\";import{BasePlugin as e}from\"@easepick/base-plugin\";class i extends e{tooltipElement;triggerElement;binds={setStartDate:this.setStartDate.bind(this),setEndDate:this.setEndDate.bind(this),setDateRange:this.setDateRange.bind(this),getStartDate:this.getStartDate.bind(this),getEndDate:this.getEndDate.bind(this),onView:this.onView.bind(this),onShow:this.onShow.bind(this),onMouseEnter:this.onMouseEnter.bind(this),onMouseLeave:this.onMouseLeave.bind(this),onClickCalendarDay:this.onClickCalendarDay.bind(this),onClickApplyButton:this.onClickApplyButton.bind(this),parseValues:this.parseValues.bind(this),updateValues:this.updateValues.bind(this),clear:this.clear.bind(this)};options={elementEnd:null,startDate:null,endDate:null,repick:!1,strict:!0,delimiter:\" - \",tooltip:!0,tooltipNumber:t=>t,locale:{zero:\"\",one:\"day\",two:\"\",few:\"\",many:\"\",other:\"days\"},documentClick:this.hidePicker.bind(this)};getName(){return\"RangePlugin\"}onAttach(){this.binds._setStartDate=this.picker.setStartDate,this.binds._setEndDate=this.picker.setEndDate,this.binds._setDateRange=this.picker.setDateRange,this.binds._getStartDate=this.picker.getStartDate,this.binds._getEndDate=this.picker.getEndDate,this.binds._parseValues=this.picker.parseValues,this.binds._updateValues=this.picker.updateValues,this.binds._clear=this.picker.clear,this.binds._onClickCalendarDay=this.picker.onClickCalendarDay,this.binds._onClickApplyButton=this.picker.onClickApplyButton,Object.defineProperties(this.picker,{setStartDate:{configurable:!0,value:this.binds.setStartDate},setEndDate:{configurable:!0,value:this.binds.setEndDate},setDateRange:{configurable:!0,value:this.binds.setDateRange},getStartDate:{configurable:!0,value:this.binds.getStartDate},getEndDate:{configurable:!0,value:this.binds.getEndDate},parseValues:{configurable:!0,value:this.binds.parseValues},updateValues:{configurable:!0,value:this.binds.updateValues},clear:{configurable:!0,value:this.binds.clear},onClickCalendarDay:{configurable:!0,value:this.binds.onClickCalendarDay},onClickApplyButton:{configurable:!0,value:this.binds.onClickApplyButton}}),this.options.elementEnd&&(this.options.elementEnd instanceof HTMLElement||(this.options.elementEnd=this.picker.options.doc.querySelector(this.options.elementEnd)),this.options.elementEnd instanceof HTMLInputElement&&(this.options.elementEnd.readOnly=this.picker.options.readonly),\"function\"==typeof this.picker.options.documentClick&&(document.removeEventListener(\"click\",this.picker.options.documentClick,!0),\"function\"==typeof this.options.documentClick&&document.addEventListener(\"click\",this.options.documentClick,!0)),this.options.elementEnd.addEventListener(\"click\",this.picker.show.bind(this.picker))),this.options.repick=this.options.repick&&this.options.elementEnd instanceof HTMLElement,this.picker.options.date=null,this.picker.on(\"view\",this.binds.onView),this.picker.on(\"show\",this.binds.onShow),this.picker.on(\"mouseenter\",this.binds.onMouseEnter,!0),this.picker.on(\"mouseleave\",this.binds.onMouseLeave,!0),this.checkIntlPluralLocales()}onDetach(){Object.defineProperties(this.picker,{setStartDate:{configurable:!0,value:this.binds._setStartDate},setEndDate:{configurable:!0,value:this.binds._setEndDate},setDateRange:{configurable:!0,value:this.binds._setDateRange},getStartDate:{configurable:!0,value:this.binds._getStartDate},getEndDate:{configurable:!0,value:this.binds._getEndDate},parseValues:{configurable:!0,value:this.binds._parseValues},updateValues:{configurable:!0,value:this.binds._updateValues},clear:{configurable:!0,value:this.binds._clear},onClickCalendarDay:{configurable:!0,value:this.binds._onClickCalendarDay},onClickApplyButton:{configurable:!0,value:this.binds._onClickApplyButton}}),this.picker.off(\"view\",this.binds.onView),this.picker.off(\"show\",this.binds.onShow),this.picker.off(\"mouseenter\",this.binds.onMouseEnter,!0),this.picker.off(\"mouseleave\",this.binds.onMouseLeave,!0)}parseValues(){if(this.options.startDate||this.options.endDate)this.options.strict?this.options.startDate&&this.options.endDate?this.setDateRange(this.options.startDate,this.options.endDate):(this.options.startDate=null,this.options.endDate=null):(this.options.startDate&&this.setStartDate(this.options.startDate),this.options.endDate&&this.setEndDate(this.options.endDate));else if(this.options.elementEnd)this.options.strict?this.picker.options.element instanceof HTMLInputElement&&this.picker.options.element.value.length&&this.options.elementEnd instanceof HTMLInputElement&&this.options.elementEnd.value.length&&this.setDateRange(this.picker.options.element.value,this.options.elementEnd.value):(this.picker.options.element instanceof HTMLInputElement&&this.picker.options.element.value.length&&this.setStartDate(this.picker.options.element.value),this.options.elementEnd instanceof HTMLInputElement&&this.options.elementEnd.value.length&&this.setEndDate(this.options.elementEnd.value));else if(this.picker.options.element instanceof HTMLInputElement&&this.picker.options.element.value.length){const[t,e]=this.picker.options.element.value.split(this.options.delimiter);this.options.strict?t&&e&&this.setDateRange(t,e):(t&&this.setStartDate(t),e&&this.setEndDate(e))}}updateValues(){const t=this.picker.options.element,e=this.options.elementEnd,i=this.picker.getStartDate(),s=this.picker.getEndDate(),n=i instanceof Date?i.format(this.picker.options.format,this.picker.options.lang):\"\",a=s instanceof Date?s.format(this.picker.options.format,this.picker.options.lang):\"\";if(e)t instanceof HTMLInputElement?t.value=n:t instanceof HTMLElement&&(t.innerText=n),e instanceof HTMLInputElement?e.value=a:e instanceof HTMLElement&&(e.innerText=a);else{const e=`${n}${n||a?this.options.delimiter:\"\"}${a}`;t instanceof HTMLInputElement?t.value=e:t instanceof HTMLElement&&(t.innerText=e)}}clear(){this.options.startDate=null,this.options.endDate=null,this.picker.datePicked.length=0,this.updateValues(),this.picker.renderAll(),this.picker.trigger(\"clear\")}onShow(t){const{target:e}=t.detail;this.triggerElement=e,this.picker.options.scrollToDate&&this.getStartDate()instanceof Date&&this.picker.gotoDate(this.getStartDate()),this.initializeRepick()}onView(e){const{view:i,target:s}=e.detail;if(\"Main\"===i&&(this.tooltipElement=document.createElement(\"span\"),this.tooltipElement.className=\"range-plugin-tooltip\",s.appendChild(this.tooltipElement)),\"CalendarDay\"===i){const e=new t(s.dataset.time),i=this.picker.datePicked,n=i.length?this.picker.datePicked[0]:this.getStartDate(),a=i.length?this.picker.datePicked[1]:this.getEndDate();n&&n.isSame(e,\"day\")&&s.classList.add(\"start\"),n&&a&&(a.isSame(e,\"day\")&&s.classList.add(\"end\"),e.isBetween(n,a)&&s.classList.add(\"in-range\"))}if(\"Footer\"===i){const t=1===this.picker.datePicked.length&&!this.options.strict||2===this.picker.datePicked.length;s.querySelector(\".apply-button\").disabled=!t}}hidePicker(t){let e=t.target,i=null;e.shadowRoot&&(e=t.composedPath()[0],i=e.getRootNode().host),this.picker.isShown()&&i!==this.picker.ui.wrapper&&e!==this.picker.options.element&&e!==this.options.elementEnd&&this.picker.hide()}setStartDate(e){const i=new t(e,this.picker.options.format);this.options.startDate=i?i.clone():null,this.updateValues(),this.picker.renderAll()}setEndDate(e){const i=new t(e,this.picker.options.format);this.options.endDate=i?i.clone():null,this.updateValues(),this.picker.renderAll()}setDateRange(e,i){const s=new t(e,this.picker.options.format),n=new t(i,this.picker.options.format);this.options.startDate=s?s.clone():null,this.options.endDate=n?n.clone():null,this.updateValues(),this.picker.renderAll()}getStartDate(){return this.options.startDate instanceof Date?this.options.startDate.clone():null}getEndDate(){return this.options.endDate instanceof Date?this.options.endDate.clone():null}onMouseEnter(e){const i=e.target;if(i instanceof HTMLElement){this.isContainer(i)&&this.initializeRepick();const e=i.closest(\".unit\");if(!(e instanceof HTMLElement))return;if(this.picker.isCalendarDay(e)){if(1!==this.picker.datePicked.length)return;let i=this.picker.datePicked[0].clone(),s=new t(e.dataset.time),n=!1;if(i.isAfter(s,\"day\")){const t=i.clone();i=s.clone(),s=t.clone(),n=!0}if([...this.picker.ui.container.querySelectorAll(\".day\")].forEach((a=>{const o=new t(a.dataset.time),l=this.picker.Calendar.getCalendarDayView(o);o.isBetween(i,s)&&l.classList.add(\"in-range\"),o.isSame(this.picker.datePicked[0],\"day\")&&(l.classList.add(\"start\"),l.classList.toggle(\"flipped\",n)),a===e&&(l.classList.add(\"end\"),l.classList.toggle(\"flipped\",n)),a.className=l.className})),this.options.tooltip){const t=this.options.tooltipNumber(s.diff(i,\"day\")+1);if(t>0){const i=new Intl.PluralRules(this.picker.options.lang).select(t),s=`${t} ${this.options.locale[i]}`;this.showTooltip(e,s)}else this.hideTooltip()}}}}onMouseLeave(t){if(this.isContainer(t.target)&&this.options.repick){const t=this.getStartDate(),e=this.getEndDate();t&&e&&(this.picker.datePicked.length=0,this.picker.renderAll())}}onClickCalendarDay(e){if(this.picker.isCalendarDay(e)){2===this.picker.datePicked.length&&(this.picker.datePicked.length=0);const i=new t(e.dataset.time);if(this.picker.datePicked[this.picker.datePicked.length]=i,2===this.picker.datePicked.length&&this.picker.datePicked[0].isAfter(this.picker.datePicked[1])){const t=this.picker.datePicked[1].clone();this.picker.datePicked[1]=this.picker.datePicked[0].clone(),this.picker.datePicked[0]=t.clone()}1!==this.picker.datePicked.length&&this.picker.options.autoApply||this.picker.trigger(\"preselect\",{start:this.picker.datePicked[0]instanceof Date?this.picker.datePicked[0].clone():null,end:this.picker.datePicked[1]instanceof Date?this.picker.datePicked[1].clone():null}),1===this.picker.datePicked.length&&(!this.options.strict&&this.picker.options.autoApply&&(this.picker.options.element===this.triggerElement&&this.setStartDate(this.picker.datePicked[0]),this.options.elementEnd===this.triggerElement&&this.setEndDate(this.picker.datePicked[0]),this.picker.trigger(\"select\",{start:this.picker.getStartDate(),end:this.picker.getEndDate()})),this.picker.renderAll()),2===this.picker.datePicked.length&&(this.picker.options.autoApply?(this.setDateRange(this.picker.datePicked[0],this.picker.datePicked[1]),this.picker.trigger(\"select\",{start:this.picker.getStartDate(),end:this.picker.getEndDate()}),this.picker.hide()):(this.hideTooltip(),this.picker.renderAll()))}}onClickApplyButton(t){this.picker.isApplyButton(t)&&(1!==this.picker.datePicked.length||this.options.strict||(this.picker.options.element===this.triggerElement&&(this.options.endDate=null,this.setStartDate(this.picker.datePicked[0])),this.options.elementEnd===this.triggerElement&&(this.options.startDate=null,this.setEndDate(this.picker.datePicked[0]))),2===this.picker.datePicked.length&&this.setDateRange(this.picker.datePicked[0],this.picker.datePicked[1]),this.picker.trigger(\"select\",{start:this.picker.getStartDate(),end:this.picker.getEndDate()}),this.picker.hide())}showTooltip(t,e){this.tooltipElement.style.visibility=\"visible\",this.tooltipElement.innerHTML=e;const i=this.picker.ui.container.getBoundingClientRect(),s=this.tooltipElement.getBoundingClientRect(),n=t.getBoundingClientRect();let a=n.top,o=n.left;a-=i.top,o-=i.left,a-=s.height,o-=s.width/2,o+=n.width/2,this.tooltipElement.style.top=`${a}px`,this.tooltipElement.style.left=`${o}px`}hideTooltip(){this.tooltipElement.style.visibility=\"hidden\"}checkIntlPluralLocales(){if(!this.options.tooltip)return;const t=[...new Set([new Intl.PluralRules(this.picker.options.lang).select(0),new Intl.PluralRules(this.picker.options.lang).select(1),new Intl.PluralRules(this.picker.options.lang).select(2),new Intl.PluralRules(this.picker.options.lang).select(6),new Intl.PluralRules(this.picker.options.lang).select(18)])],e=Object.keys(this.options.locale);t.every((t=>e.includes(t)))||console.warn(`${this.getName()}: provide locales (${t.join(\", \")}) for correct tooltip text.`)}initializeRepick(){if(!this.options.repick)return;const t=this.getStartDate(),e=this.getEndDate();e&&this.triggerElement===this.picker.options.element&&(this.picker.datePicked[0]=e),t&&this.triggerElement===this.options.elementEnd&&(this.picker.datePicked[0]=t)}isContainer(t){return t===this.picker.ui.container}}export{i as RangePlugin};\n","import{DateTime as t}from\"@easepick/datetime\";import{BasePlugin as i}from\"@easepick/base-plugin\";class s extends i{priority=1;binds={onView:this.onView.bind(this)};options={minDate:null,maxDate:null,minDays:null,maxDays:null,selectForward:null,selectBackward:null,presets:!0,inseparable:!1,filter:null};getName(){return\"LockPlugin\"}onAttach(){if(this.options.minDate&&(this.options.minDate=new t(this.options.minDate,this.picker.options.format,this.picker.options.lang)),this.options.maxDate&&(this.options.maxDate=new t(this.options.maxDate,this.picker.options.format,this.picker.options.lang),this.options.maxDate instanceof t&&this.picker.options.calendars>1&&this.picker.calendars[0].isSame(this.options.maxDate,\"month\"))){const t=this.picker.calendars[0].clone().subtract(1,\"month\");this.picker.gotoDate(t)}if((this.options.minDays||this.options.maxDays||this.options.selectForward||this.options.selectBackward)&&!this.picker.options.plugins.includes(\"RangePlugin\")){const t=[\"minDays\",\"maxDays\",\"selectForward\",\"selectBackward\"];console.warn(`${this.getName()}: options ${t.join(\", \")} required RangePlugin.`)}this.picker.on(\"view\",this.binds.onView)}onDetach(){this.picker.off(\"view\",this.binds.onView)}onView(i){const{view:s,target:e,date:a}=i.detail;if(\"CalendarHeader\"===s&&(this.options.minDate instanceof t&&a.isSameOrBefore(this.options.minDate,\"month\")&&e.classList.add(\"no-previous-month\"),this.options.maxDate instanceof t&&a.isSameOrAfter(this.options.maxDate,\"month\")&&e.classList.add(\"no-next-month\")),\"CalendarDay\"===s){const t=this.picker.datePicked.length?this.picker.datePicked[0]:null;if(this.testFilter(a))return void e.classList.add(\"locked\");if(this.options.inseparable){if(this.options.minDays){const t=a.clone().subtract(this.options.minDays-1,\"day\"),i=a.clone().add(this.options.minDays-1,\"day\");let s=!1,o=!1;for(;t.isBefore(a,\"day\");){if(this.testFilter(t)){s=!0;break}t.add(1,\"day\")}for(;i.isAfter(a,\"day\");){if(this.testFilter(i)){o=!0;break}i.subtract(1,\"day\")}s&&o&&e.classList.add(\"not-available\")}this.rangeIsNotAvailable(a,t)&&e.classList.add(\"not-available\")}this.dateIsNotAvailable(a,t)&&e.classList.add(\"not-available\")}if(this.options.presets&&\"PresetPluginButton\"===s){const i=new t(Number(e.dataset.start)),s=new t(Number(e.dataset.end)),a=s.diff(i,\"day\"),o=this.options.minDays&&athis.options.maxDays;(o||n||this.lockMinDate(i)||this.lockMaxDate(i)||this.lockMinDate(s)||this.lockMaxDate(s)||this.rangeIsNotAvailable(i,s))&&e.setAttribute(\"disabled\",\"disabled\")}}dateIsNotAvailable(t,i){return this.lockMinDate(t)||this.lockMaxDate(t)||this.lockMinDays(t,i)||this.lockMaxDays(t,i)||this.lockSelectForward(t)||this.lockSelectBackward(t)}rangeIsNotAvailable(t,i){if(!t||!i)return!1;const s=(t.isSameOrBefore(i,\"day\")?t:i).clone(),e=(i.isSameOrAfter(t,\"day\")?i:t).clone();for(;s.isSameOrBefore(e,\"day\");){if(this.testFilter(s))return!0;s.add(1,\"day\")}return!1}lockMinDate(i){return this.options.minDate instanceof t&&i.isBefore(this.options.minDate,\"day\")}lockMaxDate(i){return this.options.maxDate instanceof t&&i.isAfter(this.options.maxDate,\"day\")}lockMinDays(t,i){if(this.options.minDays&&i){const s=i.clone().subtract(this.options.minDays-1,\"day\"),e=i.clone().add(this.options.minDays-1,\"day\");return t.isBetween(s,e)}return!1}lockMaxDays(t,i){if(this.options.maxDays&&i){const s=i.clone().subtract(this.options.maxDays,\"day\"),e=i.clone().add(this.options.maxDays,\"day\");return!t.isBetween(s,e)}return!1}lockSelectForward(t){if(1===this.picker.datePicked.length&&this.options.selectForward){const i=this.picker.datePicked[0].clone();return t.isBefore(i,\"day\")}return!1}lockSelectBackward(t){if(1===this.picker.datePicked.length&&this.options.selectBackward){const i=this.picker.datePicked[0].clone();return t.isAfter(i,\"day\")}return!1}testFilter(t){return\"function\"==typeof this.options.filter&&this.options.filter(t,this.picker.datePicked)}}export{s as LockPlugin};\n","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Prop, Watch } from \"vue-property-decorator\";\r\nimport Axios from \"axios\";\r\nimport { easepick } from '@easepick/core';\r\nimport { RangePlugin } from '@easepick/range-plugin';\r\nimport { LockPlugin } from '@easepick/lock-plugin';\r\nimport DataHelper, { DataHelperConfiguration } from \"@Scripts/Common/DataHelper\";\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\n@Component({ name: \"RentalBooking\" })\r\nexport default class RentalBooking extends Vue {\r\n public dataConfiguration: DataHelperConfiguration = { culture: \"it-IT\" };\r\n public isLoading: boolean = true;\r\n public isSuccess: boolean = false;\r\n public isTermsOfServiceShown: boolean = false;\r\n public isPriceDetailShown: boolean = false;\r\n\r\n public validationErrors: any[] = [];\r\n\r\n public dealer: any = null;\r\n public dealerPoints: any[] = [];\r\n public dealerPoint: any = null;\r\n public rentalBikeModels: any[] = [];\r\n public accessoryTypes: any[] = [];\r\n public accessories: any[] = [];\r\n public termsOfService: string = null;\r\n\r\n public selectedModelName: string = null;\r\n public selectedAccessories: any[] = [];\r\n\r\n public bikePrice: number = null;\r\n public accessoriesPrice: number = null;\r\n public rentalPrice: number = null;\r\n public daysCount: number = null;\r\n\r\n public booking: any = {};\r\n\r\n @Prop() readonly recaptchaSiteKey: string;\r\n @Prop() readonly dealercode: string;\r\n\r\n @Watch(\"selectedDealerPointCode\") async onDealerPointChanged() {\r\n this.isLoading = true;\r\n\r\n await this.getData();\r\n this.setRecaptcha();\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n get selectedDealerPointCode() {\r\n return this.$store.getters[\"dealerStore/selectedDealerPointCode\"];\r\n }\r\n\r\n set selectedDealerPointCode(newValue: string) {\r\n this.$store.commit(\"dealerStore/setDealerPointCode\", newValue);\r\n }\r\n\r\n public setRecaptcha() {\r\n let recaptchaScript = document.createElement(\"script\");\r\n recaptchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js\");\r\n document.head.appendChild(recaptchaScript);\r\n }\r\n\r\n public async getData() {\r\n let rentalData = (await Axios.post(this.routes.DealerSite_Rental_GetData, { dealerCode: this.dealercode, dealerPointCode: this.selectedDealerPointCode }, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken() } })).data;\r\n\r\n this.dealer = rentalData.dealer;\r\n this.dealerPoints = rentalData.dealerPoints;\r\n this.rentalBikeModels = rentalData.rentalBikeModels;\r\n this.accessories = rentalData.accessories;\r\n this.accessoryTypes = rentalData.accessoryTypes;\r\n this.termsOfService = rentalData.termsOfService.text;\r\n\r\n this.dealerPoint = this.dealerPoints.find(x => x[\"code\"] === this.selectedDealerPointCode);\r\n\r\n if (!this.dealerPoint) {\r\n this.selectedDealerPointCode = this.dealerPoints[0].code;\r\n this.dealerPoint = this.dealerPoints[0];\r\n }\r\n }\r\n\r\n public selectModel(model: string) {\r\n if (this.selectedModelName === model) {\r\n this.selectedModelName = null;\r\n } else {\r\n this.selectedModelName = model;\r\n this.loadDatePicker();\r\n this.getRentalPrice();\r\n }\r\n }\r\n\r\n public async getRentalPrice() {\r\n if (this.booking.dateStart && this.booking.dateEnd && this.selectedModelName) {\r\n let priceData = (await Axios.post(this.routes.DealerSite_Rental_GetPrice, { dateStart: this.booking.dateStart, dateEnd: this.booking.dateEnd, modelName: this.selectedModelName, dealerPointCode: this.dealerPoint.code, accessories: this.selectedAccessories }, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken() } })).data;\r\n this.bikePrice = priceData.bikePrice;\r\n this.accessoriesPrice = priceData.accessoriesPrice;\r\n this.rentalPrice = priceData.totalPrice;\r\n this.daysCount = priceData.dayNumber;\r\n }\r\n }\r\n\r\n public async submitBooking(intent: string) {\r\n this.validationErrors = [];\r\n\r\n this.booking.intent = intent;\r\n this.booking.modelName = this.selectedModelName;\r\n this.booking.dealerPointCode = this.selectedDealerPointCode;\r\n\r\n try {\r\n await Axios.post(this.routes.DealerSite_Rental_BookingSubmit, this.booking, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken(), \"RecaptchaVerificationToken\": (window).grecaptcha.getResponse() } });\r\n\r\n this.isSuccess = true;\r\n GTagHelper.sendEvent(\"form_submit\", \"rent_booking\", this.dealerPoint.company);\r\n } catch (error) {\r\n if (error.response && error.response.status === 400) {\r\n this.validationErrors = FormHelper.getValidationErrors(error.response.data);\r\n }\r\n\r\n (window).grecaptcha.reset();\r\n }\r\n }\r\n\r\n public async loadDatePicker() {\r\n let self = this;\r\n\r\n let lockedDays = (await Axios.post(this.routes.DealerSite_Rental_GetLockedDays, { dealerCode: this.dealerPoint.dealerCode, dealerPointCode: this.dealerPoint.code, modelName: this.selectedModelName }, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken() } })).data.lockedDays;\r\n\r\n const picker = new easepick.create({\r\n element: document.getElementById(\"Datepicker\"),\r\n css: [\r\n 'https://cdn.jsdelivr.net/npm/@easepick/core@1.2.1/dist/index.css',\r\n 'https://cdn.jsdelivr.net/npm/@easepick/range-plugin@1.2.1/dist/index.css',\r\n 'https://cdn.jsdelivr.net/npm/@easepick/lock-plugin@1.2.1/dist/index.css',\r\n '/styles/easepick.css',\r\n ],\r\n format: \"DD\\/MM\\/YYYY\",\r\n plugins: [LockPlugin, RangePlugin],\r\n LockPlugin: {\r\n minDate: Date.now(),\r\n inseparable: true,\r\n filter(date: any) {\r\n let formatdate = date.format('YYYY-MM-DD');\r\n return lockedDays.includes(formatdate);\r\n }\r\n },\r\n RangePlugin: {\r\n tooltip: false\r\n }\r\n });\r\n\r\n picker.on(\"select\", async () => {\r\n self.booking.dateStart = picker.getStartDate().format(\"YYYY-MM-DD\");\r\n self.booking.dateEnd = picker.getEndDate().format(\"YYYY-MM-DD\");\r\n\r\n this.getRentalPrice();\r\n });\r\n }\r\n\r\n public showTermsOfService() {\r\n this.isTermsOfServiceShown = !this.isTermsOfServiceShown;\r\n }\r\n\r\n public showPriceDetail() {\r\n this.isPriceDetailShown = !this.isPriceDetailShown;\r\n }\r\n\r\n public showContract() {\r\n this.validationErrors = [];\r\n\r\n if (!this.dealerPoint) {\r\n this.validationErrors.push({ message: \"Anteprima contratto non disponibile al momento\" });\r\n return;\r\n }\r\n\r\n if (!this.selectedModelName) {\r\n this.validationErrors.push({ message: \"Selezione il modello che ti interessa\" });\r\n return;\r\n }\r\n\r\n if (!this.booking.dateStart) {\r\n this.validationErrors.push({ message: \"Seleziona il periodo di noleggio\" });\r\n return;\r\n }\r\n\r\n if (!this.booking.dateEnd) {\r\n this.validationErrors.push({ message: \"Seleziona il periodo di noleggio\" });\r\n return;\r\n }\r\n\r\n if (!this.rentalPrice) {\r\n this.validationErrors.push({ message: \"Anteprima contratto non disponibile al momento\" });\r\n return;\r\n }\r\n\r\n let url = \"/noleggio/contratto/\" + this.dealerPoint.dealerCode + \"/\" + this.dealerPoint.code + \"/\" + this.selectedModelName + \"?dateStart=\" + this.booking.dateStart + \"&dateEnd=\" + this.booking.dateEnd + \"&price=\" + this.rentalPrice;\r\n window.open(url, \"_blank\");\r\n\r\n this.validationErrors = [];\r\n }\r\n\r\n public formatNumber(data: number) {\r\n return DataHelper.convertNumberToString(data, this.dataConfiguration, true);\r\n }\r\n}","import { render, staticRenderFns } from \"./RentalBooking.vue?vue&type=template&id=7d807e25\"\nimport script from \"./RentalBooking?vue&type=script&lang=ts&external\"\nexport * from \"./RentalBooking?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"info-request\",attrs:{\"data-rent\":\"\"}},[(!_vm.isSuccess)?[(!_vm.isLoading)?_c('div',{staticClass:\"form\",attrs:{\"data-type\":\"rent\"}},[_c('fieldset',{staticClass:\"fieldset\"},[(_vm.dealerPoints.length > 1)?_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"DealerPoint\"}},[_vm._v(\"Punto vendita\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.selectedDealerPointCode),expression:\"selectedDealerPointCode\",modifiers:{\"lazy\":true}}],staticClass:\"dropdown\",attrs:{\"id\":\"DealerPoint\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedDealerPointCode=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.dealerPoints),function(dealerPoint,index){return _c('option',{key:index,domProps:{\"value\":dealerPoint.code}},[_vm._v(_vm._s(dealerPoint.name))])}),0)])]):_vm._e()]),_vm._v(\" \"),(_vm.rentalBikeModels && _vm.rentalBikeModels.length !== 0)?[_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"bike-model\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"list-item\"},_vm._l((_vm.rentalBikeModels),function(bikeModel,index){return _c('button',{key:index,staticClass:\"item\",class:{ 'selected' : bikeModel.name === _vm.selectedModelName },on:{\"click\":function($event){return _vm.selectModel(bikeModel.name)}}},[_c('img',{attrs:{\"src\":'/media/rentalbikemodel/images/77-58-fix/' + bikeModel.fileCode,\"alt\":bikeModel.name,\"width\":\"77\",\"height\":\"43\"}}),_vm._v(\" \"),_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(bikeModel.name))])])}),0)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Datepicker\"}},[_vm._v(\"Periodo\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{staticClass:\"textbox\",attrs:{\"aria-label\":\"Periodo\",\"type\":\"text\",\"name\":\"Datepicker\",\"id\":\"Datepicker\",\"disabled\":!_vm.selectedModelName,\"data-type\":\"date\",\"autocomplete\":\"off\",\"placeholder\":\"Seleziona...\"}})])]),_vm._v(\" \"),(_vm.accessories && _vm.accessoryTypes)?_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox-list\",attrs:{\"data-row\":\"\"}},_vm._l((_vm.accessories),function(accessory,index){return _c('div',{key:index,staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedAccessories),expression:\"selectedAccessories\"}],attrs:{\"aria-label\":\"Periodo\",\"type\":\"checkbox\",\"name\":\"Accessories\",\"id\":'accessory' + accessory.type},domProps:{\"value\":accessory.type,\"checked\":Array.isArray(_vm.selectedAccessories)?_vm._i(_vm.selectedAccessories,accessory.type)>-1:(_vm.selectedAccessories)},on:{\"change\":[function($event){var $$a=_vm.selectedAccessories,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=accessory.type,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selectedAccessories=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selectedAccessories=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selectedAccessories=$$c}},function($event){return _vm.getRentalPrice()}]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":'accessory' + accessory.type}},[_vm._v(_vm._s(_vm.accessoryTypes.find(x => x.value === accessory.type).title)+\" \"),_c('span',{staticClass:\"value\"},[_vm._v(\"(\"),_c('span',{domProps:{\"innerHTML\":_vm._s('€')}}),_vm._v(\" \"+_vm._s(_vm.formatNumber(accessory.dailyPrice))+\" al giorno)\")])])])}),0)]):_vm._e()]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"title mrg\",attrs:{\"data-mrgb\":\"10\"}},[_vm._v(\"Indica l'orario di ritiro e riconsegna del veicolo\")]),_vm._v(\" \"),_c('div',{staticClass:\"pickup-drop\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.booking.timePickUp),expression:\"booking.timePickUp\",modifiers:{\"lazy\":true}}],staticClass:\"textbox\",attrs:{\"type\":\"time\",\"name\":\"TimePickUp\",\"id\":\"TimePickUp\",\"data-type\":\"time\"},domProps:{\"value\":(_vm.booking.timePickUp)},on:{\"change\":[function($event){return _vm.$set(_vm.booking, \"timePickUp\", $event.target.value)},function($event){return _vm.getRentalPrice()}]}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.booking.timeReturn),expression:\"booking.timeReturn\",modifiers:{\"lazy\":true}}],staticClass:\"textbox\",attrs:{\"type\":\"time\",\"name\":\"TimeReturn\",\"id\":\"TimeReturn\",\"data-type\":\"time\"},domProps:{\"value\":(_vm.booking.timeReturn)},on:{\"change\":[function($event){return _vm.$set(_vm.booking, \"timeReturn\", $event.target.value)},function($event){return _vm.getRentalPrice()}]}})]),_vm._v(\" \"),_vm._m(0)]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Name\"}},[_vm._v(\"Nome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.booking.name),expression:\"booking.name\",modifiers:{\"lazy\":true}}],staticClass:\"textbox\",attrs:{\"aria-label\":\"Nome\",\"type\":\"text\",\"name\":\"Name\",\"id\":\"Name\"},domProps:{\"value\":(_vm.booking.name)},on:{\"change\":function($event){return _vm.$set(_vm.booking, \"name\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Surname\"}},[_vm._v(\"Cognome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.booking.surname),expression:\"booking.surname\",modifiers:{\"lazy\":true}}],staticClass:\"textbox\",attrs:{\"aria-label\":\"Cognome\",\"type\":\"text\",\"name\":\"Surname\",\"id\":\"Surname\"},domProps:{\"value\":(_vm.booking.surname)},on:{\"change\":function($event){return _vm.$set(_vm.booking, \"surname\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Email\"}},[_vm._v(\"Email\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.booking.email),expression:\"booking.email\",modifiers:{\"lazy\":true}}],staticClass:\"textbox\",attrs:{\"aria-label\":\"Email\",\"type\":\"text\",\"name\":\"Email\",\"id\":\"Email\"},domProps:{\"value\":(_vm.booking.email)},on:{\"change\":function($event){return _vm.$set(_vm.booking, \"email\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Phone\"}},[_vm._v(\"Telefono\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.booking.phone),expression:\"booking.phone\",modifiers:{\"lazy\":true}}],staticClass:\"textbox\",attrs:{\"aria-label\":\"Telefono\",\"type\":\"text\",\"name\":\"Phone\",\"id\":\"Phone\"},domProps:{\"value\":(_vm.booking.phone)},on:{\"change\":function($event){return _vm.$set(_vm.booking, \"phone\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.booking.isTermsOfService),expression:\"booking.isTermsOfService\"}],attrs:{\"aria-label\":\"Accetto termini di servizio\",\"type\":\"checkbox\",\"name\":\"IsTermsOfService\",\"id\":\"IsTermsOfService\"},domProps:{\"checked\":Array.isArray(_vm.booking.isTermsOfService)?_vm._i(_vm.booking.isTermsOfService,null)>-1:(_vm.booking.isTermsOfService)},on:{\"change\":function($event){var $$a=_vm.booking.isTermsOfService,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.booking, \"isTermsOfService\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.booking, \"isTermsOfService\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.booking, \"isTermsOfService\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsTermsOfService\"}},[_vm._v(\"Accetto e confermo di aver letto i\")]),_vm._v(\" \"),_c('button',{staticClass:\"link\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showTermsOfService()}}},[_vm._v(\"termini di servizio\")])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isTermsOfServiceShown),expression:\"isTermsOfServiceShown\"}],staticClass:\"policy-box\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.termsOfService)}})]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.booking.isPrivacyA),expression:\"booking.isPrivacyA\"}],attrs:{\"aria-label\":\"Accetto Privacy policy\",\"type\":\"checkbox\",\"name\":\"IsPrivacyA\",\"id\":\"IsPrivacyA\"},domProps:{\"checked\":Array.isArray(_vm.booking.isPrivacyA)?_vm._i(_vm.booking.isPrivacyA,null)>-1:(_vm.booking.isPrivacyA)},on:{\"change\":function($event){var $$a=_vm.booking.isPrivacyA,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.booking, \"isPrivacyA\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.booking, \"isPrivacyA\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.booking, \"isPrivacyA\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsPrivacyA\"}},[_vm._v(\"Dichiaro di aver preso visione dell'\")]),_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.yamaha-motor.eu/it/it/privacy-policy/\",\"target\":\"_blank\"}},[_vm._v(\"informativa privacy\")])])]),_vm._v(\" \"),(_vm.booking.isPrivacyA)?[_c('div',{staticClass:\"item\"},[_vm._v(\"Ai sensi e per gli effetti degli articoli 6 e 13 del REGOLAMENTO UE 679/2016 (GDPR):\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.booking.isPrivacyB),expression:\"booking.isPrivacyB\"}],attrs:{\"aria-label\":\"Esprimo il consenso al trattamento dati per le finalità descritte al punto b\",\"type\":\"checkbox\",\"name\":\"IsPrivacyB\",\"id\":\"IsPrivacyB\"},domProps:{\"checked\":Array.isArray(_vm.booking.isPrivacyB)?_vm._i(_vm.booking.isPrivacyB,null)>-1:(_vm.booking.isPrivacyB)},on:{\"change\":function($event){var $$a=_vm.booking.isPrivacyB,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.booking, \"isPrivacyB\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.booking, \"isPrivacyB\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.booking, \"isPrivacyB\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsPrivacyB\",\"data-align\":\"top\"}},[_vm._v(\"b) esprimo il consenso al trattamento dati per le finalità descritte al punto b) dell'informativa sopra riportata (marketing diretto tramite mezzi automatizzati via e-mail)\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.booking.isPrivacyC),expression:\"booking.isPrivacyC\"}],attrs:{\"aria-label\":\"Esprimo il consenso al trattamento dati per le finalità descritte al punto c\",\"type\":\"checkbox\",\"name\":\"IsPrivacyC\",\"id\":\"IsPrivacyC\"},domProps:{\"checked\":Array.isArray(_vm.booking.isPrivacyC)?_vm._i(_vm.booking.isPrivacyC,null)>-1:(_vm.booking.isPrivacyC)},on:{\"change\":function($event){var $$a=_vm.booking.isPrivacyC,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.booking, \"isPrivacyC\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.booking, \"isPrivacyC\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.booking, \"isPrivacyC\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsPrivacyC\",\"data-align\":\"top\"}},[_vm._v(\"c) esprimo il consenso al trattamento dati per le finalità descritte al punto c) dell'informativa sopra riportata (marketing diretto tramite mezzi automatizzati SMS e tramite mezzi tradizionali quali telefonate e posta cartacea)\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.booking.isPrivacyD),expression:\"booking.isPrivacyD\"}],attrs:{\"aria-label\":\"Esprimo il consenso al trattamento dati per le finalità descritte al punto d\",\"type\":\"checkbox\",\"name\":\"IsPrivacyD\",\"id\":\"IsPrivacyD\"},domProps:{\"checked\":Array.isArray(_vm.booking.isPrivacyD)?_vm._i(_vm.booking.isPrivacyD,null)>-1:(_vm.booking.isPrivacyD)},on:{\"change\":function($event){var $$a=_vm.booking.isPrivacyD,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.booking, \"isPrivacyD\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.booking, \"isPrivacyD\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.booking, \"isPrivacyD\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsPrivacyD\",\"data-align\":\"top\"}},[_vm._v(\"d) esprimo il consenso al trattamento dati per le finalità descritte al punto d) dell'informativa sopra riportata (per consentire di inviare comunicazioni che potrebbero essere di suo interesse e per un servizio sempre più personalizzato)\")])])])]:_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('button',{staticClass:\"contract cur-p\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.showContract()}}},[_vm._v(\"Visualizza un'anteprima del contratto\")])])],2),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"g-recaptcha\",attrs:{\"data-sitekey\":_vm.recaptchaSiteKey}})])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[(_vm.rentalPrice)?_c('div',{staticClass:\"rent-from\",attrs:{\"data-size\":\"big\"}},[_vm._v(\"\\n La tua \"),_c('strong',[_vm._v(_vm._s(_vm.selectedModelName))]),_vm._v(\" per \"),_c('strong',[_vm._v(_vm._s(_vm.daysCount)+\" \"+_vm._s(_vm.daysCount === 1 ? 'giorno' : 'giorni')+\" \")]),_vm._v(\" a \"),_c('strong',[_vm._v(\"soli \"),_c('span',{staticClass:\"uline cur-p\",on:{\"click\":function($event){return _vm.showPriceDetail()}}},[_c('span',{domProps:{\"innerHTML\":_vm._s('€')}}),_vm._v(\" \"+_vm._s(_vm.formatNumber(_vm.rentalPrice)))])])]):_vm._e(),_vm._v(\" \"),(_vm.isPriceDetailShown)?_c('div',{staticClass:\"rent-from\"},[_vm._v(\"\\n \"+_vm._s(_vm.selectedModelName)+\" per \"+_vm._s(_vm.daysCount)+\" \"+_vm._s(_vm.daysCount === 1 ? 'giorno' : 'giorni')+\": \"),_c('span',{domProps:{\"innerHTML\":_vm._s('€')}}),_vm._v(\" \"+_vm._s(_vm.formatNumber(_vm.bikePrice))+\" \"),_c('br'),_vm._v(\" \"),_c('span',[_vm._v(\"Accessori: \"),_c('span',{domProps:{\"innerHTML\":_vm._s('€')}}),_vm._v(\" \"+_vm._s(_vm.formatNumber(_vm.accessoriesPrice)))])]):_vm._e(),_vm._v(\" \"),(_vm.rentalPrice)?_c('div',{staticClass:\"rent-from\"},[_c('em',[_vm._v(\"Il concessionario richiederà un deposito cauzionario in loco prima della consegna del veicolo.\")])]):_vm._e(),_vm._v(\" \"),(_vm.dealer.payPalEmail)?_c('div',{staticClass:\"item\",attrs:{\"data-buttons\":\"\"}},[_c('div',{staticClass:\"cta\"},[(!_vm.isLoading)?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.submitBooking('Payment')}}},[_vm._v(\"Acquista il tuo noleggio\")]):_c('div',{staticClass:\"button\",attrs:{\"data-width\":\"300\",\"data-disabled\":\"\"}},[_vm._m(1)])]),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[_c('span',{staticClass:\"mrg\",attrs:{\"data-mrgl\":\"10\"}},[_vm._v(\"oppure \"),_c('strong',{staticClass:\"cur-p uline\",on:{\"click\":function($event){return _vm.submitBooking('Booking')}}},[_vm._v(\"richiedilo al concessionario\")])])])]):_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"cta\"},[(!_vm.isLoading)?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.submitBooking('Booking')}}},[_vm._v(\"Prenota ora\")]):_c('div',{staticClass:\"button\",attrs:{\"data-width\":\"300\",\"data-disabled\":\"\"}},[_vm._m(2)])])]),_vm._v(\" \"),(_vm.validationErrors.length !== 0)?_c('div',{staticClass:\"validation-summary-errors\"},[_c('ul',_vm._l((_vm.validationErrors),function(error,index){return _c('li',{key:index},[_vm._v(_vm._s(error.message))])}),0)]):_vm._e()])]:[_c('div',{staticClass:\"no-rent\"},[_vm._v(\"\\n Ci dispiace ma in questo punto vendita al momento non ci sono veicoli noleggiabili.\\n \"),(_vm.dealerPoints.length > 1)?[_c('br'),_vm._v(\"Prova a selezionare un altro punto vendita.\")]:_vm._e()],2)]],2):_c('div',{staticClass:\"loader-box\"},[_c('div',{staticClass:\"loader\"})])]:[_c('div',{staticClass:\"success\"},[_c('div',{staticClass:\"main-title\"},[_vm._v(\"Fantastico! Hai prenotato la tua \"+_vm._s(_vm.selectedModelName)+\" per \"+_vm._s(_vm.daysCount)+\" giorni\")]),_vm._v(\" \"),_c('div',{staticClass:\"main-abstract\",attrs:{\"data-mrgb\":\"10\"}},[_vm._v(\"Verrai presto contattato dalla concessionaria per la definizione dei dettagli\")]),_vm._v(\" \"),_c('div',{attrs:{\"data-mrgb\":\"30\"}},[_vm._v(\"Controlla la tua mail per verificare la conferma di prenotazione\")]),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.routes.DealerSite_Home_Home}},[_vm._v(\"Torna alla homepage\")])])])]],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"disclaimer\"},[_vm._v(\"In caso di ritiro dopo le 17:30 e/o di riconsegna prima delle 10:00 \"),_c('br'),_vm._v(\"il giorno non verrà conteggiato nel costo totale del noleggio\")])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"loader-box\",attrs:{\"data-type\":\"button\"}},[_c('div',{staticClass:\"loader\"})])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"loader-box\",attrs:{\"data-type\":\"button\"}},[_c('div',{staticClass:\"loader\"})])\n}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Axios from \"axios\";\r\nimport noUiSlider from \"noUiSlider\";\r\n\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\n\r\n@Component({ name: \"ShowCaseList\" })\r\nexport default class ShowCaseList extends Vue {\r\n public productItems: any[] = [];\r\n public pageIndex: number = null;\r\n public pageCount: number = null;\r\n public filter: any = {};\r\n public categories: any[] = [];\r\n public filterData: any = { category: null };\r\n public priceSlider: any = { startMin: 0, startMax: 0, min: 0, max: 0, step: 1 };\r\n public isRendered: boolean = false;\r\n public isLoading: boolean = false;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n public async created() {\r\n await this.getListData();\r\n\r\n if (this.productItems.length > 0) {\r\n await this.getSearchData();\r\n }\r\n }\r\n\r\n public async getSearchData() {\r\n this.isRendered = false;\r\n const result = (await Axios.get(this.routes.DealerSite_Showcase_GetSearchData)).data;\r\n\r\n this.categories = result.productCategories;\r\n\r\n this.priceSlider.min = result.minPrice;\r\n this.priceSlider.max = result.maxPrice;\r\n\r\n this.getRouteQuery();\r\n\r\n this.setRange(this.$refs.priceSlider, this.priceSlider);\r\n this.isRendered = true;\r\n }\r\n\r\n public async getListData() {\r\n this.isLoading = true;\r\n\r\n const result = (await Axios.post(this.routes.DealerSite_Showcase_GetListData, this.filterData, { headers: { \"RequestVerificationToken\": FormHelper.getRequestVerificationToken() } })).data;\r\n\r\n this.productItems = result.showcaseProductItems;\r\n this.pageIndex = result.pageIndex;\r\n this.pageCount = result.pageCount;\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n public getRouteQuery() {\r\n this.priceSlider.startMin = this.priceSlider.min;\r\n this.priceSlider.startMax = this.priceSlider.max;\r\n }\r\n\r\n public setRange(refs: any, slider: any) {\r\n let refSlider: any = refs;\r\n\r\n noUiSlider.create(refSlider, {\r\n start: [slider.startMin, slider.startMax],\r\n step: slider.step,\r\n connect: true,\r\n range: {\r\n 'min': slider.min,\r\n 'max': slider.max\r\n }\r\n });\r\n\r\n refSlider.noUiSlider.on('set', (values, handle) => {\r\n let oldSiderMax = slider.startMax;\r\n let oldSiderMin = slider.startMin;\r\n\r\n this[handle ? (slider.startMax = parseInt(values[handle])) : (slider.startMin = parseInt(values[handle]))];\r\n\r\n if (oldSiderMax != slider.startMax || oldSiderMin != slider.startMin) {\r\n this.setSearch();\r\n }\r\n });\r\n }\r\n\r\n public async setSearch() {\r\n this.filterData.minPrice = this.priceSlider.startMin;\r\n this.filterData.maxPrice = this.priceSlider.startMax;\r\n this.filterData.page = 0;\r\n\r\n await this.getListData();\r\n }\r\n\r\n public async goTopage(index: number) {\r\n this.filterData.page = index - 1;\r\n await this.getListData();\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n\r\n public formatNumber(x: number) {\r\n return new Intl.NumberFormat('it-IT', { style: 'decimal', minimumFractionDigits: 2 }).format(x);\r\n }\r\n}","import { render, staticRenderFns } from \"./ShowCaseList.vue?vue&type=template&id=f185b770\"\nimport script from \"./ShowCaseList?vue&type=script&lang=ts&external\"\nexport * from \"./ShowCaseList?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('article',{staticClass:\"app-list\",attrs:{\"data-aside\":\"\"}},[_c('aside',{staticClass:\"aside\",attrs:{\"id\":\"Aside\"}},[_c('div',{staticClass:\"scrim close-filter\"}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"filter scrollbar\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isRendered),expression:\"isRendered\"}],staticClass:\"form\"},[_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('div',{staticClass:\"control\",attrs:{\"data-type\":\"searchbar\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterData.searchText),expression:\"filterData.searchText\"}],staticClass:\"textbox\",attrs:{\"type\":\"text\",\"id\":\"searchText\",\"placeholder\":\"Cerca...\"},domProps:{\"value\":(_vm.filterData.searchText)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();$event.stopPropagation();return _vm.setSearch()},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.filterData, \"searchText\", $event.target.value)}}}),_vm._v(\" \"),_c('button',{staticClass:\"button\",attrs:{\"aria-label\":\"Cerca\"},on:{\"click\":function($event){return _vm.setSearch()}}},[_c('span',{staticClass:\"icon xt-search\",attrs:{\"role\":\"presentation\"}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Brand\",\"data-small\":\"\"}},[_vm._v(\"Categoria\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterData.category),expression:\"filterData.category\"}],staticClass:\"dropdown\",attrs:{\"id\":\"Brand\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.filterData, \"category\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.setSearch()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"Seleziona...\")]),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('option',{key:index,domProps:{\"value\":category.value}},[_vm._v(_vm._s(category.title))])})],2)])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('div',{staticClass:\"item\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"data-small\":\"\"}},[_vm._v(\"Prezzo\")]),_vm._v(\" \"),_c('div',{staticClass:\"control range\"},[_c('div',{ref:\"priceSlider\",attrs:{\"id\":\"priceSlider\"}}),_vm._v(\" \"),_c('div',{staticClass:\"min-max\"},[_c('span',[_vm._v(\"€ \"+_vm._s(_vm.formatNumber(_vm.priceSlider.startMin)))]),_vm._v(\" \"),_c('span',[_vm._v(\"€ \"+_vm._s(_vm.formatNumber(_vm.priceSlider.startMax)))])])])])])])])]),_vm._v(\" \"),(!_vm.isLoading)?_c('section',{staticClass:\"content\"},[(_vm.productItems.length >= 1)?_c('div',{staticClass:\"product-list\",attrs:{\"data-showcase\":\"\"}},_vm._l((_vm.productItems),function(productItem,index){return _c('a',{key:index,staticClass:\"item\",attrs:{\"href\":productItem.showcaseProduct.detailUrl}},[_c('div',{staticClass:\"box-image\"},[_c('div',{staticClass:\"content\"},[(productItem.showcaseProduct.status == 'AvailableSoon')?_c('div',{staticClass:\"available\"},[_vm._v(\"Disponibile a breve\")]):_vm._e(),_vm._v(\" \"),_c('img',{staticClass:\"image product-element\",attrs:{\"src\":productItem.previewImageUrl,\"width\":\"305\",\"height\":\"349\",\"alt\":productItem.showcaseProduct.title}})])]),_vm._v(\" \"),_c('div',{staticClass:\"info\"},[_c('div',{staticClass:\"price\",attrs:{\"data-status\":\"\"}},[_vm._v(\"Euro \"+_vm._s(_vm.formatNumber(productItem.showcaseProduct.price)))]),_vm._v(\" \"),_c('h2',{staticClass:\"name\"},[_vm._v(_vm._s(productItem.showcaseProduct.title))])])])}),0):_c('div',{staticClass:\"no-item\"},[_vm._v(\"Siamo spiacenti, ma non ci sono prodotti disponibili.\")]),_vm._v(\" \"),(_vm.pageCount > 1)?_c('div',{staticClass:\"pagination\"},_vm._l((_vm.pageCount),function(index){return _c('div',{key:index,staticClass:\"cta\"},[_c('a',{staticClass:\"button\",attrs:{\"data-selected\":(_vm.pageIndex + 1) == index ? 'true' : '',\"data-border\":\"\",\"data-type\":\"count\"},on:{\"click\":function($event){return _vm.goTopage(index)}}},[_vm._v(_vm._s(index))])])}),0):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"close hden\"},[_c('span',{staticClass:\"icon xt-close close-filter\"})])\n}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Axios from \"axios\";\r\n\r\n@Component({ name: \"Toast\" })\r\nexport default class Toast extends Vue {\r\n private toast: any = {};\r\n private isToast: boolean = false;\r\n private isLink: boolean = false;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n private async created() {\r\n let response = await Axios.get(this.routes.DealerSite_GetToast);\r\n this.toast = response.data.toast;\r\n\r\n if (this.toast) {\r\n this.toast.hasOwnProperty('type') ? this.isToast = true : this.isToast = false;\r\n\r\n document.querySelector(\"#Content\").classList.add(\"active-toast\");\r\n document.querySelector(\"#Header\").classList.add(\"active-toast\");\r\n\r\n this.toast.linkUrl === \"\" ? this.isLink = false : this.isLink = true;\r\n\r\n let app = document.getElementById(\"app\");\r\n if (app) {\r\n app.classList.add(\"tst\");\r\n }\r\n }\r\n }\r\n}","import { render, staticRenderFns } from \"./Toast.vue?vue&type=template&id=0b0c0dde\"\nimport script from \"./Toast?vue&type=script&lang=ts&external\"\nexport * from \"./Toast?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isToast)?_c('div',{staticClass:\"toast\",attrs:{\"data-type\":_vm.toast.type}},[(_vm.isLink)?[_c('a',{staticClass:\"content\",attrs:{\"href\":_vm.toast.linkUrl,\"target\":_vm.toast.linkTarget}},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.toast.title)),(!_vm.toast.description)?_c('span',{staticClass:\"icon xt-angle-right\",attrs:{\"role\":\"presentation\"}}):_vm._e()]),_vm._v(\" \"),(_vm.toast.description)?_c('span',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.toast.description)),_c('span',{staticClass:\"icon xt-angle-right\",attrs:{\"role\":\"presentation\"}})]):_vm._e()])]:[_c('div',{staticClass:\"content\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.toast.title))]),_vm._v(\" \"),(_vm.toast.description)?_c('span',{staticClass:\"desc\"},[_vm._v(_vm._s(_vm.toast.description))]):_vm._e()])]],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\n@Component({ name: \"Whatsapp\" })\r\nexport default class Whatsapp extends Vue {\r\n public showPopup: boolean = false;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n get dealerData() {\r\n return this.$store.getters[\"dealerStore/dealerData\"];\r\n }\r\n\r\n public mounted() {\r\n const outsideClickListener = (event: any) => {\r\n let whatsApp = document.getElementById(\"WhatsApp\");\r\n if (whatsApp && !whatsApp.contains(event.target)) {\r\n this.showPopup = false;\r\n }\r\n }\r\n\r\n document.addEventListener(\"click\", outsideClickListener);\r\n }\r\n\r\n public setWhatsappPopUp() {\r\n if (!this.showPopup) {\r\n this.setWhatsappGaEvent();\r\n }\r\n\r\n let dealerPoints = this.dealerData.dealerPoints.filter((x: any) => x.whatsappPhone);\r\n if (dealerPoints.length === 1) {\r\n window.open(\"https://wa.me/\" + this.dealerData.dealerPoints[0].whatsappPhone, \"_blank\");\r\n } else {\r\n this.showPopup = !this.showPopup;\r\n }\r\n }\r\n\r\n public setWhatsappGaEvent() {\r\n GTagHelper.sendEvent(\"click\", \"whatsapp\", \"baloon\");\r\n }\r\n}","import { render, staticRenderFns } from \"./Whatsapp.vue?vue&type=template&id=c84c29be\"\nimport script from \"./Whatsapp?vue&type=script&lang=ts&external\"\nexport * from \"./Whatsapp?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.dealerData && _vm.dealerData.dealerPoints.find(x => x.whatsappPhone))?_c('div',{staticClass:\"whatsapp\",attrs:{\"id\":\"WhatsApp\"},on:{\"click\":function($event){return _vm.setWhatsappPopUp()}}},[_vm._m(0),_vm._v(\" \"),(_vm.showPopup)?_c('div',{staticClass:\"exp\"},_vm._l((_vm.dealerData.dealerPoints),function(dealerPoint,index){return _c('a',{key:index,staticClass:\"item ga-event\",attrs:{\"href\":'https://wa.me/' + dealerPoint.whatsappPhone,\"aria-label\":\"WhatsApp\",\"rel\":\"noreferrer\",\"target\":\"_blank\",\"data-gacategory\":\"Whatsapp\",\"data-gaaction\":\"Chat_Click\"}},[_vm._v(_vm._s(dealerPoint.name))])}),0):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('button',{staticClass:\"button\",attrs:{\"aria-label\":\"Whatsapp\"}},[_c('span',{staticClass:\"icon xt-whatsapp\"},[_c('span',{staticClass:\"label\"},[_vm._v(\"WhatsApp\")])])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[(!_vm.isLoading && !_vm.isSuccess)?[_vm._m(0),_vm._v(\" \"),_vm._m(1)]:_vm._e(),_vm._v(\" \"),_c('article',{staticClass:\"app-list\"},[_c('section',[(!_vm.isLoading && !_vm.isSuccess)?_c('div',{staticClass:\"form\"},[_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Modello moto\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"BikeType\"}},[_vm._v(\"Tipologia\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.bikeType),expression:\"formData.bikeType\"}],class:[{ 'input-validation-error': _vm.isValidationError('BikeType') }, 'dropdown'],attrs:{\"id\":\"BikeType\",\"name\":\"BikeType\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"bikeType\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.bikeTypes),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.title))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"InfoBikeBrandId\"}},[_vm._v(\"Marca\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.infoBikeBrandId),expression:\"formData.infoBikeBrandId\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('InfoBikeBrandId') }, 'dropdown'],attrs:{\"id\":\"InfoBikeBrandId\",\"name\":\"InfoBikeBrandId\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"infoBikeBrandId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.getModels()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.brands),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.brandId}},[_vm._v(_vm._s(item.brandDescription))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"InfoBikeModelId\"}},[_vm._v(\"Modello\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.infoBikeModelId),expression:\"formData.infoBikeModelId\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('InfoBikeModelId') }, 'dropdown'],attrs:{\"id\":\"InfoBikeModelId\",\"name\":\"InfoBikeModelId\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"infoBikeModelId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.getTrimLevels()}]}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.models),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.modelId}},[_vm._v(_vm._s(item.modelDescription))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"InfoBikeTrimLevelId\"}},[_vm._v(\"Allestimento\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.infoBikeTrimLevelId),expression:\"formData.infoBikeTrimLevelId\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('InfoBikeTrimLevelId') }, 'dropdown'],attrs:{\"id\":\"InfoBikeTrimLevelId\",\"name\":\"InfoBikeTrimLevelId\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"infoBikeTrimLevelId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.trimLevels),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.trimLevelId}},[_vm._v(_vm._s(item.trimLevelDescription !== '' ? item.trimLevelDescription : '-'))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Displacement\"}},[_vm._v(\"Cilindrata\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.displacement),expression:\"formData.displacement\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Displacement') }, 'textbox'],attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Cilindrata\",\"id\":\"Displacement\",\"name\":\"Displacement\"},domProps:{\"value\":(_vm.formData.displacement)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"displacement\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Color\"}},[_vm._v(\"Colore\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.color),expression:\"formData.color\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Color') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Colore\",\"id\":\"Color\",\"name\":\"Color\"},domProps:{\"value\":(_vm.formData.color)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"color\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Mileage\"}},[_vm._v(\"Chilometri\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.mileage),expression:\"formData.mileage\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Mileage') }, 'textbox'],attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Chilometri\",\"id\":\"Mileage\",\"name\":\"Mileage\"},domProps:{\"value\":(_vm.formData.mileage)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"mileage\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"DesiredPrice\"}},[_vm._v(\"Prezzo desiderato\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.desiredPrice),expression:\"formData.desiredPrice\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('DesiredPrice') }, 'textbox'],attrs:{\"type\":\"number\",\"min\":\"0\",\"aria-label\":\"Prezzo desiderato\",\"id\":\"DesiredPrice\",\"name\":\"DesiredPrice\"},domProps:{\"value\":(_vm.formData.desiredPrice)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"desiredPrice\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"EmissionStandard\"}},[_vm._v(\"Classe Euro\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.emissionStandard),expression:\"formData.emissionStandard\"}],class:[{ 'input-validation-error': _vm.isValidationError('EmissionStandard') }, 'dropdown'],attrs:{\"id\":\"EmissionStandard\",\"name\":\"EmissionStandard\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"emissionStandard\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.emissionStandards),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.title))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"checkbox-list\",attrs:{\"data-flex\":\"\"}},[_c('div',{class:[{ 'input-validation-error': _vm.isValidationError('IsABS') }, 'checkbox']},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.isABS),expression:\"formData.isABS\",modifiers:{\"lazy\":true}}],attrs:{\"type\":\"checkbox\",\"id\":\"IsABS\",\"name\":\"IsABS\"},domProps:{\"checked\":Array.isArray(_vm.formData.isABS)?_vm._i(_vm.formData.isABS,null)>-1:(_vm.formData.isABS)},on:{\"change\":function($event){var $$a=_vm.formData.isABS,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.formData, \"isABS\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.formData, \"isABS\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.formData, \"isABS\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsABS\"}},[_vm._v(\"Veicolo dotato di ABS\")])]),_vm._v(\" \"),_c('div',{class:[{ 'input-validation-error': _vm.isValidationError('IsDepowered') }, 'checkbox']},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.isDepowered),expression:\"formData.isDepowered\",modifiers:{\"lazy\":true}}],attrs:{\"type\":\"checkbox\",\"id\":\"IsDepowered\",\"name\":\"IsDepowered\"},domProps:{\"checked\":Array.isArray(_vm.formData.isDepowered)?_vm._i(_vm.formData.isDepowered,null)>-1:(_vm.formData.isDepowered)},on:{\"change\":function($event){var $$a=_vm.formData.isDepowered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.formData, \"isDepowered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.formData, \"isDepowered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.formData, \"isDepowered\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsDepowered\"}},[_vm._v(\"Veicolo depotenziato\")])])])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Immatricolazione\")]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{class:[{ 'input-validation-error': _vm.isValidationError('IsRegistered') }, 'checkbox']},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.isRegistered),expression:\"formData.isRegistered\",modifiers:{\"lazy\":true}}],attrs:{\"type\":\"checkbox\",\"id\":\"IsRegistered\",\"name\":\"IsRegistered\"},domProps:{\"checked\":Array.isArray(_vm.formData.isRegistered)?_vm._i(_vm.formData.isRegistered,null)>-1:(_vm.formData.isRegistered)},on:{\"change\":function($event){var $$a=_vm.formData.isRegistered,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.formData, \"isRegistered\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.formData, \"isRegistered\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.formData, \"isRegistered\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"IsRegistered\"}},[_vm._v(\"Veicolo immatricolato\")])])]),_vm._v(\" \"),(_vm.formData.isRegistered)?_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"Plate\"}},[_vm._v(\"Targa\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.plate),expression:\"formData.plate\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('Plate') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Targa\",\"id\":\"Plate\",\"name\":\"Plate\"},domProps:{\"value\":(_vm.formData.plate)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"plate\", $event.target.value)}}})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"VIN\"}},[_vm._v(\"Telaio\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.vin),expression:\"formData.vin\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('VIN') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Telaio\",\"id\":\"VIN\",\"name\":\"VIN\"},domProps:{\"value\":(_vm.formData.vin)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"vin\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"OwnersCount\"}},[_vm._v(\"N. proprietari\")]),_vm._v(\" \"),_c('div',{staticClass:\"control w140\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.ownersCount),expression:\"formData.ownersCount\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('OwnersCount') }, 'textbox'],attrs:{\"type\":\"number\",\"min\":\"0\",\"max\":\"99\",\"aria-label\":\"Numero di proprietari\",\"id\":\"OwnersCount\",\"name\":\"OwnersCount\"},domProps:{\"value\":(_vm.formData.ownersCount)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"ownersCount\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"group\"},[_c('div',{staticClass:\"item w140\",attrs:{\"data-label\":\"top\"}},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"Month\"}},[_vm._v(\"Mese\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.month),expression:\"formData.month\"}],class:[{ 'input-validation-error': _vm.isValidationError('Month') }, 'dropdown'],attrs:{\"id\":\"Month\",\"name\":\"Month\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"month\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.months),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.value}},[_vm._v(_vm._s(item.title))])})],2)])]),_vm._v(\" \"),_c('div',{staticClass:\"item w140\",attrs:{\"data-label\":\"top\"}},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"Year\"}},[_vm._v(\"Anno\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.year),expression:\"formData.year\"}],class:[{ 'input-validation-error': _vm.isValidationError('Year') }, 'dropdown'],attrs:{\"id\":\"Year\",\"name\":\"Year\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"year\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.years),function(item,index){return _c('option',{key:index,domProps:{\"value\":item}},[_vm._v(_vm._s(item))])})],2)])])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Condizione pneumatici\")]),_vm._v(\" \"),_c('div',{staticClass:\"group\"},[_c('div',{staticClass:\"item w140\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"FrontTireThread\"}},[_vm._v(\"Anteriore\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\",attrs:{\"data-unit\":\"\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.frontTireThread),expression:\"formData.frontTireThread\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('FrontTireThread') }, 'textbox'],attrs:{\"type\":\"number\",\"min\":\"0\",\"max\":\"100\",\"aria-label\":\"Pneumatico anteriore\",\"id\":\"FrontTireThread\",\"name\":\"FrontTireThread\"},domProps:{\"value\":(_vm.formData.frontTireThread)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"frontTireThread\", $event.target.value)}}}),_vm._v(\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(\"%\")])])]),_vm._v(\" \"),_c('div',{staticClass:\"item w140\",attrs:{\"data-label\":\"top\"}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"RearTireThread\"}},[_vm._v(\"Posteriore\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\",attrs:{\"data-unit\":\"\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.rearTireThread),expression:\"formData.rearTireThread\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('RearTireThread') }, 'textbox'],attrs:{\"type\":\"number\",\"min\":\"0\",\"max\":\"100\",\"aria-label\":\"Pneumatico posteriore\",\"id\":\"RearTireThread\",\"name\":\"RearTireThread\"},domProps:{\"value\":(_vm.formData.rearTireThread)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"rearTireThread\", $event.target.value)}}}),_vm._v(\" \"),_c('span',{staticClass:\"unit\"},[_vm._v(\"%\")])])])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\"},[_c('ds-uploader',{ref:\"childComponentRef\",attrs:{\"uploadUrl\":_vm.routes.DealerSite_BikeAppraisal_UploadDocument,\"uploadHeaders\":_vm.uploadHeaders,\"uploadParameters\":_vm.uploadParameters,\"minFileCount\":_vm.minFileCount,\"maxFileCount\":_vm.maxFileCount,\"maxFileSize\":_vm.maxFileSize,\"allowedFileExtensions\":_vm.allowedFileExtensions},on:{\"cancel\":_vm.cancel,\"fileAdded\":_vm.fileAdded,\"uploadCompleted\":_vm.documentsUploadCompleted,\"uploadedfiles\":_vm.updatedUploadedFiles,\"error\":_vm.documentsUploadError}})],1),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm}},[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Lasciaci i tuoi dati per ricontattarti\")]),_vm._v(\" \"),(_vm.dealerPoints.length !== 1)?_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"label\",attrs:{\"for\":\"DealerPointCode\"}},[_vm._v(\"Punto vendita\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.dealerPointCode),expression:\"formData.dealerPointCode\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('DealerPointCode') }, 'dropdown'],attrs:{\"id\":\"DealerPointCode\",\"name\":\"DealerPointCode\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.formData, \"dealerPointCode\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"...\")]),_vm._v(\" \"),_vm._l((_vm.dealerPoints),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.code}},[_vm._v(_vm._s(item.company)+\" - \"+_vm._s(item.location))])})],2)])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"UserName\"}},[_vm._v(\"Nome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.userName),expression:\"formData.userName\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('UserName') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Nome\",\"id\":\"UserName\",\"name\":\"UserName\"},domProps:{\"value\":(_vm.formData.userName)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"userName\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"UserSurname\"}},[_vm._v(\"Cognome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.userSurname),expression:\"formData.userSurname\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('UserSurname') }, 'textbox'],attrs:{\"type\":\"text\",\"aria-label\":\"Cognome\",\"id\":\"UserSurname\",\"name\":\"UserSurname\"},domProps:{\"value\":(_vm.formData.userSurname)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"userSurname\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"UserPhone\"}},[_vm._v(\"Telefono\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.userPhone),expression:\"formData.userPhone\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('UserPhone') }, 'textbox'],attrs:{\"type\":\"tel\",\"aria-label\":\"Telefono\",\"id\":\"UserPhone\",\"name\":\"UserPhone\",\"placeholder\":\"+39...\"},domProps:{\"value\":(_vm.formData.userPhone)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"userPhone\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"UserEmail\"}},[_vm._v(\"Email\")]),_vm._v(\" \"),_c('div',{staticClass:\"control\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.formData.userEmail),expression:\"formData.userEmail\",modifiers:{\"lazy\":true}}],class:[{ 'input-validation-error': _vm.isValidationError('UserEmail') }, 'textbox'],attrs:{\"type\":\"email\",\"aria-label\":\"Email\",\"id\":\"UserEmail\",\"name\":\"UserEmail\",\"placeholder\":\"nome@dominio.it\"},domProps:{\"value\":(_vm.formData.userEmail)},on:{\"change\":function($event){return _vm.$set(_vm.formData, \"userEmail\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('fieldset',{staticClass:\"fieldset\",attrs:{\"disabled\":_vm.isLoadingForm,\"data-privacy\":\"\"}},[_c('app-privacypolicy',{on:{\"profiling\":_vm.profiling,\"marketing\":_vm.marketing,\"marketingChannels\":_vm.marketingChannels}}),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"g-recaptcha\",attrs:{\"data-sitekey\":_vm.recaptchaSiteKey}})]),_vm._v(\" \"),(_vm.validationErrors.length !== 0)?_c('div',{staticClass:\"validation-summary-errors\"},[_c('ul',_vm._l((_vm.validationErrors),function(validationError,index){return _c('li',{key:index},[_vm._v(_vm._s(validationError.message))])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"item\"},[_c('div',{staticClass:\"cta\"},[(!_vm.isLoadingForm)?_c('button',{staticClass:\"button\",attrs:{\"data-width\":\"300\"},on:{\"click\":function($event){return _vm.checkImages()}}},[_vm._v(\"Invia\")]):_c('div',{staticClass:\"button\",attrs:{\"data-width\":\"300\",\"data-disabled\":\"\"}},[_vm._m(2)])])])],1)]):(!_vm.isLoading && _vm.isSuccess)?_c('div',{staticClass:\"success\"},[_c('div',{staticClass:\"main-title\"},[_vm._v(\"Grazie per averci inviato il tuo usato\")]),_vm._v(\" \"),_c('div',{staticClass:\"main-abstract\",attrs:{\"data-mrgb\":\"30\",\"data-mrgt\":\"10\"}},[_vm._v(\"I nostri esperti analizzeranno attentamente ogni dettaglio per fornirti una valutazione accurata basata sulle informazioni inviate.\")]),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[_c('a',{staticClass:\"button\",attrs:{\"href\":_vm.routes.DealerSite_BikeAppraisal_Appraisal}},[_vm._v(\"Valuta un altro veicolo\")])])]):_vm._e()])])],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header\",attrs:{\"data-logo\":\"\"}},[_c('h1',{staticClass:\"main-title\",attrs:{\"role\":\"heading\"}},[_vm._v(\"Valuta il tuo usato\")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"editor\"},[_vm._v(\"\\n Vuoi sapere quanto vale la tua moto? In questa sezione puoi ottenere una stima precisa del valore del tuo usato.\"),_c('br'),_vm._v(\"\\n Compila il modulo con tutte le informazioni necessarie (marca, modello, tipo, anno e altre caratteristiche), e carica alcune foto recenti della tua moto. I nostri esperti analizzeranno attentamente ogni dettaglio per fornirti una valutazione accurata basata sulle condizioni reali e sulle caratteristiche specifiche del veicolo.\"),_c('br')])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"loader-box\",attrs:{\"data-type\":\"button\"}},[_c('div',{staticClass:\"loader\",attrs:{\"data-color\":\"white\"}})])\n}]\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport Axios from \"axios\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport FormHelper from \"@Scripts/Common/FormHelper\";\r\n\r\n@Component({ name: \"BikeAppraisalRequest\" })\r\nexport default class BikeAppraisalRequest extends Vue {\r\n public isLoading: boolean = true;\r\n public isLoadingForm: boolean = false;\r\n public isSuccess: boolean = false;\r\n public formData: any = {\r\n month: null,\r\n year: null,\r\n infoBikeBrandId: \"000015\",\r\n infoBikeModelId: null,\r\n infoBikeTrimLevelId: null,\r\n infoBikeTrimLevelProgressive: null,\r\n emissionStandard: null,\r\n bikeType: null,\r\n isABS: true,\r\n isRegistered: true,\r\n dealerPoint: null,\r\n uploadedFiles: []\r\n };\r\n public validationErrors: any[] = [];\r\n\r\n public dealerPoints: any[] = [];\r\n public months: any[] = [];\r\n public years: number[] = [];\r\n public brands: any[] = [];\r\n public models: any[] = [];\r\n public trimLevels: any[] = [];\r\n public emissionStandards: any[] = [];\r\n public bikeTypes: any[] = [];\r\n\r\n public isUploadPending: boolean = false;\r\n public uploadHeaders = { RequestVerificationToken: FormHelper.getRequestVerificationToken() };\r\n public uploadParameters = { fullName: \"DocumentUpload\" };\r\n public minFileCount: number = 0;\r\n public maxFileCount: number = 0;\r\n public maxFileSize: number = 0;\r\n public allowedFileExtensions: string[] = [];\r\n\r\n @Prop() readonly recaptchaSiteKey: string;\r\n\r\n get routes() {\r\n return (window).App.routes;\r\n }\r\n\r\n get selectedDealerPointCode() {\r\n return this.$store.getters[\"dealerStore/selectedDealerPointCode\"];\r\n }\r\n\r\n public async created() {\r\n await this.getData();\r\n await this.getModels();\r\n\r\n this.setRecaptcha();\r\n }\r\n\r\n public setRecaptcha() {\r\n let recaptchaScript = document.createElement(\"script\");\r\n recaptchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js\");\r\n document.head.appendChild(recaptchaScript);\r\n }\r\n\r\n public async getData() {\r\n this.isLoading = true;\r\n\r\n const response = (await Axios.post(this.routes.DealerSite_BikeAppraisal_GetData)).data;\r\n this.months = response.months;\r\n this.years = response.years;\r\n this.brands = response.brands;\r\n this.emissionStandards = response.emissionStandards;\r\n this.bikeTypes = response.bikeTypes;\r\n this.dealerPoints = response.dealerPoints;\r\n this.minFileCount = response.minFileCount;\r\n this.maxFileCount = response.maxFileCount;\r\n this.maxFileSize = response.maxFileSize;\r\n this.allowedFileExtensions = response.allowedFileExtensions;\r\n\r\n this.formData.dealerPointCode = this.selectedDealerPointCode;\r\n\r\n this.isLoading = false;\r\n }\r\n\r\n public async getModels() {\r\n this.models = [];\r\n this.trimLevels = [];\r\n\r\n this.formData.infoBikeModelId = null;\r\n this.formData.infoBikeTrimLevelId = null;\r\n this.formData.infoBikeTrimLevelProgressive = null;\r\n\r\n const response = (await Axios.post(this.routes.DealerSite_BikeAppraisal_GetInfoBikeModels, { brandId: this.formData.infoBikeBrandId })).data;\r\n this.models = response;\r\n }\r\n\r\n public async getTrimLevels() {\r\n this.trimLevels = [];\r\n\r\n this.formData.infoBikeTrimLevelId = null;\r\n this.formData.infoBikeTrimLevelProgressive = null;\r\n\r\n const response = (await Axios.post(this.routes.DealerSite_BikeAppraisal_GetInfoBikeTrimLevels, { brandId: this.formData.infoBikeBrandId, modelId: this.formData.infoBikeModelId })).data;\r\n this.trimLevels = response;\r\n\r\n if (this.trimLevels.length === 1) {\r\n this.formData.trimLevel = this.trimLevels[0].trimLevelDescription;\r\n this.formData.infoBikeTrimLevelId = this.trimLevels[0].trimLevelId;\r\n }\r\n }\r\n\r\n public async checkImages() {\r\n FormHelper.removeFocus();\r\n this.validationErrors = [];\r\n this.isLoadingForm = true;\r\n (this.$refs.childComponentRef).upload();\r\n }\r\n\r\n public async submitForm() {\r\n this.formData.brand = this.brands.find(x => x.brandId == this.formData.infoBikeBrandId).brandDescription;\r\n this.formData.model = this.models.find(x => x.brandId == this.formData.infoBikeBrandId && x.modelId == this.formData.infoBikeModelId)?.modelDescription;\r\n this.formData.trimLevel = this.trimLevels.find(x => x.brandId == this.formData.infoBikeBrandId && x.modelId == this.formData.infoBikeModelId && x.trimLevelId == this.formData.infoBikeTrimLevelId)?.trimLevelDescription;\r\n\r\n try {\r\n await Axios.post(this.routes.DealerSite_BikeAppraisal_Submit, this.formData, { headers: { \"RecaptchaVerificationToken\": (window).grecaptcha.getResponse() } });\r\n this.isSuccess = true;\r\n window.scrollTo(0, 0);\r\n } catch (error) {\r\n if (error.response && error.response.status === 400) {\r\n this.validationErrors = FormHelper.getValidationErrors(error.response.data);\r\n }\r\n\r\n (window).grecaptcha.reset();\r\n }\r\n\r\n this.isLoadingForm = false;\r\n }\r\n\r\n public fileAdded() {\r\n this.isUploadPending = true;\r\n }\r\n\r\n public cancel() {\r\n this.formData.uploadedFiles = [];\r\n }\r\n\r\n public updatedUploadedFiles(files: any[]) {\r\n this.formData.uploadedFiles = files;\r\n }\r\n\r\n public async documentsUploadCompleted(files: any[]) {\r\n if (files.length < this.minFileCount) {\r\n this.validationErrors.push({ name: \"Files\", message: \"Devi caricare almeno \" + this.minFileCount + \" foto del veicolo!\" });\r\n this.isLoadingForm = false;\r\n return;\r\n } else if (files.length > this.maxFileCount) {\r\n this.validationErrors.push({ name: \"Files\", message: \"Puoi caricare al massimo \" + this.maxFileCount + \" foto del veicolo!\" });\r\n this.isLoadingForm = false;\r\n return;\r\n }\r\n\r\n this.formData.uploadedFiles = files;\r\n this.isUploadPending = false;\r\n\r\n await this.submitForm();\r\n }\r\n\r\n public documentsUploadError(uploadingErrors: any) {\r\n this.validationErrors = uploadingErrors;\r\n this.isLoadingForm = false;\r\n }\r\n\r\n public profiling(profiling: boolean) {\r\n this.formData.isProfiling = profiling;\r\n }\r\n\r\n public marketing(marketing: boolean) {\r\n this.formData.isMarketing = marketing;\r\n }\r\n\r\n public marketingChannels(marketingChannels: any) {\r\n this.formData.marketingChannels = marketingChannels;\r\n }\r\n\r\n public isValidationError(controlName: string): boolean {\r\n return FormHelper.isControlValidationError(controlName, this.validationErrors);\r\n }\r\n}","import { render, staticRenderFns } from \"./BikeAppraisalRequest.vue?vue&type=template&id=19e5bfd7\"\nimport script from \"./BikeAppraisalRequest?vue&type=script&lang=ts&external\"\nexport * from \"./BikeAppraisalRequest?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Carica le foto della moto\")]),_vm._v(\" \"),(_vm.isUploadSupported)?_c('div',{staticClass:\"uploader\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mode != 'Uploading'),expression:\"mode != 'Uploading'\"}],staticClass:\"file-selector\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"cta\"},[_c('button',{ref:\"browse\",staticClass:\"button\",attrs:{\"data-pill\":\"\",\"data-border\":\"\",\"data-icon\":\"\"}},[_c('span',{staticClass:\"label\"},[_vm._v(\"Seleziona file\")]),_vm._v(\" \"),_c('span',{staticClass:\"icon fastic-plus s14\"})])]),_vm._v(\" \"),_c('div',{ref:\"dropTarget\",staticClass:\"droptarget\",on:{\"dragenter\":function($event){return _vm.dragTargetEnter($event)},\"dragleave\":function($event){return _vm.dragTargetLeave($event)},\"drop\":function($event){return _vm.dropOnTarget($event)}}},[_c('div',{staticClass:\"main-title\"},[_vm._v(\"Rilascia le immagini qui\")]),_vm._v(\" \"),_c('div',[_vm._v(\"Carica i tuoi file ovunque in questa finestra\")])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mode === 'Uploading'),expression:\"mode === 'Uploading'\"}],staticClass:\"box-progress\"},[(_vm.progressStatus)?[_c('progress',{staticClass:\"progressbar\",attrs:{\"max\":_vm.progressStatus.totalSize},domProps:{\"value\":_vm.progressStatus.loadedSize}}),_vm._v(\" \"),_c('div',{staticClass:\"progress\"},[_vm._v(_vm._s(_vm.bytesToString(_vm.progressStatus.loadedSize))+\" / \"+_vm._s(_vm.bytesToString(_vm.progressStatus.totalSize))+\" (\"+_vm._s(_vm.progressStatus.percentage)+\"%)\")])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"preview\",attrs:{\"id\":\"previewContainer\"}})]):_c('div',{staticClass:\"validation-summary-errors\"},[_vm._m(1)])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"legend\",attrs:{\"data-xsmall\":\"\",\"data-black\":\"\",\"data-uppercase\":\"false\"}},[_vm._v(\"Rilascia le immagini qui\")]),_vm._v(\" \"),_c('div',{staticClass:\"note\"},[_vm._v(\"\\n Ti invitiamo a caricare tra 5 e 10 foto della tua moto, includendo una foto per ogni lato e almeno una della strumentazione.\"),_c('br'),_vm._v(\"\\n Se sono presenti difetti o graffi, aggiungi immagini dettagliate per consentirci una valutazione ancora più accurata.\\n \")])])\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('ul',[_c('li',[_vm._v(\"Funzionalità non supportata\")])])\n}]\n\nexport { render, staticRenderFns }","export default class MediaHelper {\r\n static bytesToString(bytes: number) {\r\n var thresh = 1024;\r\n if (bytes < thresh) return bytes + \" B\";\r\n var units = [\"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\r\n var u = -1;\r\n\r\n do {\r\n bytes /= thresh;\r\n ++u;\r\n } while (bytes >= thresh);\r\n\r\n return bytes.toFixed(1) + \" \" + units[u];\r\n }\r\n}","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { Prop } from \"vue-property-decorator\";\r\nimport Resumable from \"resumablejs\";\r\nimport MediaHelper from \"@Scripts/Common/MediaHelper\";\r\nimport Localizer from \"@Scripts/Common/Localizer\";\r\n\r\n@Component({ name: \"Uploader\" })\r\nexport default class Uploader extends Vue {\r\n // Reference: https://www.npmjs.com/package/resumablejs\r\n public localizer: any = Localizer;\r\n public resumable: any = null;\r\n public mode: string = null;\r\n public isUploadSupported: boolean = true;\r\n public progressStatus: any = null;\r\n public selectedFiles: any[] = [];\r\n public uploadedFiles: any[] = [];\r\n public uploadingErrors: any[] = [];\r\n\r\n @Prop() readonly uploadUrl: string\r\n @Prop() readonly uploadHeaders: any\r\n @Prop() readonly uploadParameters: any\r\n @Prop() readonly minFileCount: number\r\n @Prop() readonly maxFileCount: number\r\n @Prop() readonly maxFileSize: number\r\n @Prop() readonly allowedFileExtensions: string[]\r\n\r\n public mounted() {\r\n this.$nextTick(() => {\r\n this.initResumable();\r\n this.setReadyMode();\r\n });\r\n }\r\n\r\n public initResumable() {\r\n const vue = this;\r\n const previewContainer = document.getElementById('previewContainer');\r\n\r\n this.resumable = new Resumable({\r\n target: this.uploadUrl,\r\n headers: this.uploadHeaders,\r\n query: this.uploadParameters,\r\n testChunks: false,\r\n simultaneousUploads: 1,\r\n chunkSize: 1 * 1024 * 1024,\r\n maxFiles: this.maxFileCount,\r\n chunkNumberParameterName: \"chunkNumber\",\r\n totalChunksParameterName: \"chunkCount\",\r\n chunkSizeParameterName: \"chunkSize\",\r\n totalSizeParameterName: \"fileSize\",\r\n fileNameParameterName: \"fileName\",\r\n fileType: this.allowedFileExtensions\r\n });\r\n\r\n if (this.resumable.support) {\r\n this.resumable.assignBrowse(this.$refs.browse);\r\n this.resumable.assignDrop(this.$refs.dropTarget);\r\n\r\n this.resumable.on(\"progress\", function () {\r\n vue.progressStatus.loadedSize = vue.resumable.progress() * vue.resumable.getSize();\r\n vue.progressStatus.totalSize = vue.resumable.getSize();\r\n vue.progressStatus.percentage = Math.round(vue.progressStatus.loadedSize / vue.progressStatus.totalSize * 100);\r\n vue.$emit(\"progress\", vue.progressStatus);\r\n });\r\n\r\n this.resumable.on(\"complete\", function (file, message) {\r\n if (vue.uploadingErrors.length === 0) {\r\n vue.$emit(\"uploadCompleted\", vue.uploadedFiles);\r\n vue.resumable.files = [];\r\n vue.setReadyMode();\r\n vue.setFileUploadedMode();\r\n } else {\r\n vue.resumable.cancel();\r\n vue.$emit(\"error\", vue.uploadingErrors);\r\n vue.cancelUpload();\r\n }\r\n });\r\n\r\n this.resumable.on(\"fileAdded\", function (file, event) {\r\n vue.uploadingErrors = [];\r\n\r\n // Verifica la dimensione del file\r\n if (file.size > vue.maxFileSize) {\r\n alert(`Il file ${file.file.name} non è stato caricato perché supera la dimensione massima consentita di ${vue.maxFileSize / (1024 * 1024)} MB.`);\r\n vue.resumable.removeFile(file); // Rimuove il file dalla lista di Resumable\r\n return;\r\n }\r\n\r\n vue.setFileSelectedMode();\r\n vue.updateSelectedFiles();\r\n vue.$emit(\"fileAdded\", { fileName: file.fileName, uniqueIdentifier: file.uniqueIdentifier });\r\n\r\n if (vue.maxFileCount === 1) {\r\n // Auto upload file\r\n this.upload();\r\n }\r\n\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n if (e.target) {\r\n // Crea il div contenitore\r\n const container = document.createElement('div');\r\n container.id = vue.setValidId(file.fileName);\r\n container.classList.add('image');\r\n\r\n // Crea il bottone con la \"X\"\r\n const button = document.createElement('button');\r\n button.classList.add('close-button');\r\n\r\n // Crea il bottone con la \"X\"\r\n const span = document.createElement('span');\r\n span.classList.add('fastic-close');\r\n\r\n const img = document.createElement('img');\r\n img.src = e.target.result as string;\r\n img.classList.add('preview-image');\r\n\r\n // Aggiungi l'immagine e il bottone al contenitore\r\n container.appendChild(img);\r\n button.appendChild(span);\r\n container.appendChild(button);\r\n\r\n // Aggiungi un event listener per il click sul bottone\r\n button.addEventListener('click', () => {\r\n vue.removeFile(file);\r\n vue.removeUploadedFile(file);\r\n container.remove();\r\n });\r\n\r\n // Aggiungi il contenitore al previewContainer\r\n previewContainer.appendChild(container);\r\n }\r\n };\r\n reader.readAsDataURL(file.file);\r\n });\r\n\r\n this.resumable.on(\"fileProgress\", function (file) {\r\n if (!vue.resumable.opts.query.fileId) {\r\n if (file.chunks.length !== 0) {\r\n vue.resumable.opts.query.fileId = file.chunks[0].message();\r\n }\r\n }\r\n });\r\n\r\n this.resumable.on(\"fileSuccess\", function (file, message) {\r\n let uploadedFile = { fileId: vue.resumable.opts.query.fileId, fileName: file.fileName };\r\n vue.uploadedFiles.push(uploadedFile);\r\n\r\n vue.resumable.opts.query.fileId = null;\r\n });\r\n\r\n this.resumable.on(\"fileError\", function (file, message) {\r\n let validationState = JSON.parse(message);\r\n if (validationState) {\r\n // Set validation errors\r\n for (var propertyName in validationState) {\r\n if (validationState.hasOwnProperty(propertyName)) {\r\n for (let message of validationState[propertyName]) {\r\n vue.uploadingErrors.push({ message: file.fileName + ': ' + message });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n public setReadyMode() {\r\n this.mode = \"Ready\";\r\n this.uploadParameters.fileId = null;\r\n this.isUploadSupported = this.resumable.support;\r\n this.progressStatus = { loadedSize: 0, totalSize: 0, percentage: 0 };\r\n this.selectedFiles = [];\r\n this.updateSelectedFiles();\r\n }\r\n\r\n public setFileSelectedMode() {\r\n this.mode = \"FileSelected\";\r\n }\r\n\r\n public setUploadingMode() {\r\n this.mode = \"Uploading\";\r\n }\r\n\r\n public setFileUploadedMode() {\r\n this.mode = \"FileUploaded\";\r\n }\r\n\r\n public upload() {\r\n this.setUploadingMode();\r\n this.resumable.upload();\r\n }\r\n\r\n public cancelUpload() {\r\n this.resumable.cancel();\r\n this.uploadedFiles = [];\r\n this.setReadyMode();\r\n this.$emit(\"cancel\");\r\n }\r\n\r\n public removeFile(selectedFile: any) {\r\n let files = this.resumable.files.filter(x => x.uniqueIdentifier === selectedFile.uniqueIdentifier);\r\n if (files.length !== 0) {\r\n let file = files[0];\r\n this.resumable.removeFile(file);\r\n this.updateSelectedFiles();\r\n\r\n if (this.selectedFiles.length === 0) {\r\n this.setReadyMode();\r\n }\r\n\r\n document.querySelectorAll(\"#\" + this.setValidId(selectedFile.fileName)).forEach(x => x.remove());\r\n }\r\n }\r\n\r\n public removeUploadedFile(file: any) {\r\n this.uploadedFiles = this.uploadedFiles.filter(x => x.fileName !== file.fileName);\r\n\r\n document.querySelectorAll(\"#\" + this.setValidId(file.fileName)).forEach(x => x.remove());\r\n this.$emit(\"uploadedfiles\", this.uploadedFiles);\r\n }\r\n\r\n public updateSelectedFiles() {\r\n this.selectedFiles = [];\r\n for (let file of this.resumable.files) {\r\n this.selectedFiles.push({ fileName: file.fileName, uniqueIdentifier: file.uniqueIdentifier });\r\n }\r\n }\r\n\r\n public dragTargetEnter(e: any) {\r\n e.target.className = \"droptarget active\";\r\n }\r\n\r\n public dragTargetLeave(e: any) {\r\n e.target.className = \"droptarget\";\r\n }\r\n\r\n public dropOnTarget(e: any) {\r\n e.target.className = \"droptarget\";\r\n }\r\n\r\n public bytesToString(bytes: number) {\r\n return MediaHelper.bytesToString(bytes);\r\n }\r\n\r\n private setValidId(input: string): string {\r\n // Rimuovi tutti i caratteri non validi\r\n let cleaned = input.trim().toLowerCase().replace(/[^a-z0-9-_]/g, '');\r\n\r\n // Assicurati che inizi con una lettera, se no aggiungi un prefisso\r\n if (!/^[a-z]/.test(cleaned)) {\r\n cleaned = 'id_' + cleaned;\r\n }\r\n\r\n return cleaned;\r\n }\r\n};","import { render, staticRenderFns } from \"./Uploader.vue?vue&type=template&id=208b4e40\"\nimport script from \"./Uploader?vue&type=script&lang=ts&external\"\nexport * from \"./Uploader?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { DirectiveOptions } from \"vue\";\r\n\r\nconst directive: DirectiveOptions = {\r\n inserted(el, node) {\r\n let acButton = el.getElementsByClassName(\"ac-button\");\r\n for (const item of acButton) {\r\n if (item) {\r\n item.addEventListener(\"click\", () => {\r\n let menu = el.getElementsByClassName(\"ac-list\");\r\n for (const menuItem of menu) {\r\n if (menuItem) {\r\n if (menuItem.classList.contains(\"show\")) {\r\n menuItem.classList.remove(\"show\");\r\n item.classList.remove(\"active\");\r\n } else {\r\n menuItem.classList.add(\"show\");\r\n item.classList.add(\"active\");\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n hideOnClickOutside(el);\r\n\r\n function hideOnClickOutside(element) {\r\n const outsideClickListener = event => {\r\n if (!element.contains(event.target)) {\r\n if (isVisible(element)) {\r\n let menu = element.getElementsByClassName(\"ac-list\");\r\n for (const menuItem of menu) {\r\n if (menuItem) {\r\n menuItem.classList.remove(\"show\");\r\n }\r\n }\r\n for (const acButtonItem of acButton) {\r\n if (acButtonItem) {\r\n acButtonItem.classList.remove(\"active\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n document.addEventListener(\"click\", outsideClickListener);\r\n }\r\n\r\n const isVisible = elem => !!elem && !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\r\n }\r\n};\r\n\r\nexport default directive;","import { DirectiveOptions } from \"vue\"\r\n\r\nconst directive: DirectiveOptions = {\r\n inserted(el, node) {\r\n el.addEventListener(\"click\", () => {\r\n let menu = el.closest(\".ac-list\");\r\n if (menu) {\r\n menu.classList.remove(\"show\");\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport default directive;","import { ObjectDirective } from \"vue\"\r\n\r\nconst directive: ObjectDirective = {\r\n inserted(el, binding, vnode) {\r\n el.clickOutsideEvent = function (event) {\r\n // Check if the element or one of its children was clicked\r\n if (el === event.target || el.contains(event.target)) {\r\n // If the element or one of its children was clicked, do nothing\r\n return;\r\n }\r\n // Otherwise, execute the binding\r\n vnode.context[binding.expression](event);\r\n };\r\n document.body.addEventListener('click', el.clickOutsideEvent);\r\n },\r\n unbind(el) {\r\n document.body.removeEventListener('click', el.clickOutsideEvent);\r\n }\r\n};\r\n\r\nexport default directive;","import Vue from \"vue\";\r\n\r\n// Components\r\nimport CookieToast from \"@Scripts/Components/CookieToast/CookieToast.vue\";\r\nimport PrivacyPolicy from \"@Scripts/Components/PrivacyPolicy/PrivacyPolicy.vue\";\r\nimport JobProfileSubmit from \"@Scripts/Components/WorkWithUs/JobProfileSubmit.vue\";\r\nimport FullPackageEstimateRequest from \"@Scripts/Components/MaintenancePackage/MaintenancePackageEstimateRequest.vue\";\r\n\r\nimport ClassifiedPTWList from \"@DealerSite/Scripts/Components/ClassifiedPTWList/ClassifiedPTWList.vue\";\r\nimport DealerPointCard from \"@DealerSite/Scripts/Components/DealerPoint/DealerPointCard.vue\";\r\nimport DealerPointMap from \"@DealerSite/Scripts/Components/DealerPointMap/DealerPointMap.vue\";\r\nimport DealerPointSelector from \"@DealerSite/Scripts/Components/DealerPoint/DealerPointSelector.vue\";\r\nimport InfoRequest from \"@DealerSite/Scripts/Components/InfoRequest/InfoRequest.vue\";\r\nimport InfoRequestCta from \"@DealerSite/Scripts/Components/InfoRequest/InfoRequestCta.vue\";\r\nimport RentalBooking from \"@DealerSite/Scripts/Components/Rental/RentalBooking.vue\"\r\nimport ShowcaseList from \"@DealerSite/Scripts/Components/ShowCaseList/ShowCaseList.vue\";\r\nimport Toast from \"@DealerSite/Scripts/Components/Toast/Toast.vue\";\r\nimport Whatsapp from \"@DealerSite/Scripts/Components/Whatsapp/Whatsapp.vue\";\r\n\r\nimport BikeAppraisalRequest from \"@DealerSite/Scripts/Components/BikeAppraisal/BikeAppraisalRequest.vue\";\r\nimport Uploader from \"@DealerSite/Scripts/Components/BikeAppraisal/Uploader.vue\";\r\n\r\n// Directives\r\nimport ExpMenu from \"@DealerSite/Scripts/Directives/ExpMenu/ExpMenu\";\r\nimport ExpMenuLink from \"@DealerSite/Scripts/Directives/ExpMenu/ExpMenuLink\";\r\nimport CloseJobProfileForm from \"@Scripts/Directives/CloseJobProfileForm/CloseJobProfileForm\";\r\n\r\nexport default class AppConfig {\r\n public static AddComponents() {\r\n Vue.component(\"app-cookietoast\", CookieToast);\r\n Vue.component(\"app-privacypolicy\", PrivacyPolicy);\r\n Vue.component(\"app-jobprofilesubmit\", JobProfileSubmit);\r\n Vue.component(\"app-fullpackageestimaterequest\", FullPackageEstimateRequest);\r\n\r\n Vue.component(\"app-classifiedptwlist\", ClassifiedPTWList);\r\n Vue.component(\"app-dealerpointcard\", DealerPointCard);\r\n Vue.component(\"app-dealerpointmap\", DealerPointMap);\r\n Vue.component(\"app-dealerpointselector\", DealerPointSelector);\r\n Vue.component(\"app-inforequest\", InfoRequest);\r\n Vue.component(\"app-inforequestcta\", InfoRequestCta);\r\n Vue.component(\"app-rentalbooking\", RentalBooking);\r\n Vue.component(\"app-showcaselist\", ShowcaseList);\r\n Vue.component(\"app-toast\", Toast);\r\n Vue.component(\"app-whatsapp\", Whatsapp);\r\n\r\n Vue.component(\"ds-bikeappraisalrequest\", BikeAppraisalRequest);\r\n Vue.component(\"ds-uploader\", Uploader);\r\n }\r\n\r\n public static AddDirectives() {\r\n Vue.directive(\"exp-menu\", ExpMenu);\r\n Vue.directive(\"exp-menu-link\", ExpMenuLink);\r\n Vue.directive(\"close-jobprofileform\", CloseJobProfileForm);\r\n }\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = VueRouter;","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\n\r\nVue.use(VueRouter);\r\n\r\nexport const router = new VueRouter({\r\n mode: \"history\",\r\n routes: [\r\n ]\r\n});","const __WEBPACK_NAMESPACE_OBJECT__ = Vuex;","import Axios from \"axios\";\r\n\r\nconst state = {\r\n selectedDealerPointCode: null,\r\n dealerData: null\r\n};\r\n\r\nconst getters = {\r\n selectedDealerPointCode: state => { return state.selectedDealerPointCode },\r\n dealerData: state => state.dealerData\r\n};\r\n\r\nconst mutations = {\r\n setDealerPointCode: (state, data) => { state.selectedDealerPointCode = data },\r\n setDealerData: (state, data) => { state.dealerData = data }\r\n};\r\n\r\nconst actions = {\r\n getDealerData: async (context, data) => {\r\n let dealerData = (await Axios.get((window).App.routes.DealerSite_Structure_GetDealerData)).data;\r\n context.commit(\"setDealerData\", dealerData);\r\n\r\n let selectedDealerPoint = dealerData.dealerPoints.find(x => x.code === window.localStorage.getItem(\"DealerPointCode\"));\r\n context.commit(\"setDealerPointCode\", selectedDealerPoint ? selectedDealerPoint.code : dealerData.dealerPoints[0]?.code);\r\n }\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions\r\n};","import Axios from \"axios\";\r\n\r\nconst state = {\r\n openingTimes: null\r\n};\r\n\r\nconst getters = {\r\n openingTimes: state => state.openingTimes\r\n};\r\n\r\nconst mutations = {\r\n openingTimes: (state, data) => { state.openingTimes = data }\r\n};\r\n\r\nconst actions = {\r\n getOpeningTimes: async (context, data) => {\r\n let openingTimes = (await Axios.get((window).App.routes.DealerSite_Structure_GetOpeningTimes + \"?dealerPointCode=\" + data)).data;\r\n context.commit(\"openingTimes\", openingTimes);\r\n }\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions\r\n};","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nimport DealerStore from \"@DealerSite/Scripts/Stores/DealerStore\";\r\nimport OpeningTimeStore from \"@DealerSite/Scripts/Stores/OpeningTimeStore\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport const store = new Vuex.Store({});\r\n\r\nstore.registerModule(\"dealerStore\", DealerStore);\r\nstore.registerModule(\"openingTimeStore\", OpeningTimeStore);","export default class FormHelper {\r\n public static getValidationErrors(validationState: any): any[] {\r\n let validationErrors: any[] = [];\r\n\r\n for (var propertyName in validationState) {\r\n if (validationState.hasOwnProperty(propertyName)) {\r\n for (let message of validationState[propertyName]) {\r\n validationErrors.push({ name: propertyName, message: message });\r\n }\r\n }\r\n }\r\n\r\n return validationErrors;\r\n }\r\n\r\n public static isControlValidationError(controlName: string, validationErrors: any[]): boolean {\r\n return validationErrors.filter(x => x.name === controlName).length > 0;\r\n }\r\n\r\n public static getRequestVerificationToken(): string {\r\n return (document.getElementsByName(\"__RequestVerificationToken\")[0]).value;\r\n }\r\n\r\n public static showPassword(inputId: string) {\r\n let input: HTMLElement = document.querySelector(\"#\" + inputId);\r\n input.setAttribute(\"type\", input.getAttribute(\"type\") === \"password\" ? \"text\" : \"password\");\r\n }\r\n\r\n static setFocus(contextElement: HTMLElement) {\r\n // Set focus on first input element\r\n let firstInput = contextElement.querySelector(\"input\");\r\n if (firstInput) {\r\n firstInput.focus();\r\n }\r\n }\r\n\r\n static removeFocus() {\r\n // Remove document focus\r\n if (document.activeElement instanceof HTMLElement) {\r\n document.activeElement.blur();\r\n }\r\n }\r\n\r\n // Legacy\r\n public static setValidation($context, validationState: any) {\r\n $context = $context || $(\"body\");\r\n var $validationSummary = $(\"[data-valmsg-summary]\", $context);\r\n $validationSummary.addClass(\"validation-errors\").removeClass(\"validation-valid\");\r\n var ul = $(\"ul\", $validationSummary).empty();\r\n\r\n let validationErrors = this.getValidationErrors(validationState);\r\n\r\n for (const validationError of validationErrors) {\r\n ul.append(\"
  • \" + validationError.message + \"
  • \");\r\n\r\n $context.find(\"*[data-valmsg-for='\" + validationError.name + \"'],*[data-valmsg-for='\" + validationError.name + \"']\").html(validationError.message).addClass(\"field-validation-error\");\r\n $context.find(\"*[name='\" + validationError.name + \"'],*[name='\" + validationError.name + \"']\").addClass(\"input-validation-error-legacy\");\r\n }\r\n }\r\n\r\n // Legacy\r\n public static resetValidation($context) {\r\n $context = $context || $(\"body\");\r\n var $validationSummary = $(\"[data-valmsg-summary]\", $context);\r\n $validationSummary.addClass(\"validation-errors\").removeClass(\"validation-errors\");\r\n var ul = $(\"ul\", $validationSummary).empty();\r\n $(\".field-validation-error\", $context).addClass(\"field-validation-valid\").removeClass(\"field-validation-error\").empty();\r\n $(\".input-validation-error-legacy\", $context).addClass('input-validation-valid').removeClass(\"input-validation-error-legacy\");\r\n };\r\n\r\n // Legacy\r\n public static disableControls($context) {\r\n $context = $context || $(\"body\");\r\n var $disableOnSubmit = $(\".disable-on-submit\", $context);\r\n $disableOnSubmit.attr(\"disabled\", \"disabled\");\r\n }\r\n\r\n // Legacy\r\n public static enableControls($context) {\r\n var $context = $context || $(\"body\");\r\n var $disableOnSubmit = $(\".disable-on-submit\", $context);\r\n $disableOnSubmit.removeAttr(\"disabled\");\r\n }\r\n}","import Vue from \"vue\";\r\nimport AppConfig from \"@DealerSite/Scripts/Config/AppConfig\";\r\nimport { router } from \"@DealerSite/Scripts/Config/RouteConfig\";\r\nimport { store } from \"@DealerSite/Scripts/Config/StoreConfig\";\r\nimport Localizer from \"@Scripts/Common/Localizer\";\r\nimport LegacyFormHelper from \"@Scripts/Infrastructure/LegacyFormHelper\";\r\nimport CookieHelper from \"@Scripts/Infrastructure/CookieHelper\";\r\n\r\nexport default class LandingPage {\r\n private static isProfiling: boolean = false;\r\n private static isMarketing: boolean = false;\r\n private static marketingChannels: any[] = [];\r\n\r\n public static async init() {\r\n await Localizer.init({\r\n defaultCulture: (window).App.culture,\r\n resourceContexts: [\"App\", \"PrivacyPolicy\"]\r\n });\r\n\r\n AppConfig.AddComponents();\r\n AppConfig.AddDirectives();\r\n\r\n let vm = new Vue({\r\n el: \"#app\",\r\n router,\r\n store,\r\n created() {\r\n this.$store.dispatch(\"dealerStore/getDealerData\");\r\n }\r\n });\r\n\r\n (window).App.instances.vm = vm;\r\n\r\n let recaptchaScript = document.createElement(\"script\");\r\n recaptchaScript.setAttribute(\"src\", \"https://www.google.com/recaptcha/api.js\");\r\n document.head.appendChild(recaptchaScript);\r\n\r\n this.setCkp();\r\n this.setCarosel();\r\n this.setForm();\r\n\r\n let self = this;\r\n\r\n document.addEventListener(\"privacy\", function (event: any) {\r\n switch (event.detail?.type) {\r\n case \"profiling\":\r\n self.isProfiling = event.detail.isProfiling;\r\n break;\r\n case \"marketing\":\r\n self.isMarketing = event.detail.isMarketing;\r\n break;\r\n case \"marketingChannels\":\r\n self.marketingChannels = event.detail.marketingChannels;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private static setCkp() {\r\n var cookie = CookieHelper.getCookiePolicy();\r\n if (!cookie) {\r\n let app = document.getElementById(\"app\");\r\n if (app) {\r\n app.classList.add(\"ckp\");\r\n }\r\n }\r\n }\r\n\r\n private static setCarosel() {\r\n let isLoop = (window).App.bag.isSwiperLoop;\r\n\r\n const visuals = new (window).Swiper(\".wrapper-visual\", {\r\n modules: [(window).Autoplay, (window).Lazy],\r\n loop: isLoop,\r\n spaceBetween: 20,\r\n slidesPerView: \"auto\",\r\n watchSlidesProgress: true,\r\n autoplay: {\r\n delay: 5000\r\n },\r\n preloadImages: false,\r\n lazy: {\r\n loadPrevNext: true\r\n }\r\n });\r\n }\r\n\r\n private static setForm() {\r\n let vm = this;\r\n let $form = $(\"#FormInfoRequest\");\r\n\r\n $(\".linkpolicy\").on(\"click\", function () {\r\n $(\".policy\").stop().slideToggle();\r\n });\r\n\r\n ($form).ajaxForm({\r\n iframe: false,\r\n beforeSubmit: function (formData, jqForm, options) {\r\n LegacyFormHelper.disableControls($form);\r\n LegacyFormHelper.resetValidation($form);\r\n\r\n this.headers = { \"RecaptchaVerificationToken\": (window).grecaptcha.getResponse() };\r\n\r\n if (formData.findIndex(x => x.name === \"IsProfiling\") !== -1) {\r\n formData.splice(formData.findIndex(x => x.name === \"IsProfiling\"), 1);\r\n }\r\n if (formData.findIndex(x => x.name === \"IsMarketing\") !== -1) {\r\n formData.splice(formData.findIndex(x => x.name === \"IsMarketing\"), 1);\r\n }\r\n if (formData.findIndex(x => x.name === \"IsMarketingEmail\") !== -1) {\r\n formData.splice(formData.findIndex(x => x.name === \"IsMarketingEmail\"), 1);\r\n }\r\n if (formData.findIndex(x => x.name === \"IsMarketingPhone\") !== -1) {\r\n formData.splice(formData.findIndex(x => x.name === \"IsMarketingPhone\"), 1);\r\n }\r\n if (formData.findIndex(x => x.name === \"IsMarketingMail\") !== -1) {\r\n formData.splice(formData.findIndex(x => x.name === \"IsMarketingMail\"), 1);\r\n }\r\n\r\n formData.push({ name: \"IsProfiling\", value: vm.isProfiling, type: \"checkbox\", required: false });\r\n formData.push({ name: \"IsMarketing\", value: vm.isMarketing, type: \"checkbox\", required: false });\r\n formData.push({ name: \"MarketingChannels\", value: vm.marketingChannels, type: \"checkbox\", required: false });\r\n },\r\n success: function (data) {\r\n LegacyFormHelper.resetValidation($form);\r\n\r\n $(\".page-content[data-type=\\\"form\\\"]\").hide();\r\n $(\".page-content[data-type=\\\"success\\\"]\").show();\r\n },\r\n error: function (xhr, textStatus, errorThrown) {\r\n LegacyFormHelper.enableControls($form);\r\n LegacyFormHelper.setValidation($form, xhr.responseJSON);\r\n (window).grecaptcha.reset();\r\n }\r\n });\r\n }\r\n}","import \"@DealerSite/Styles/LandingPage.less\"\r\n\r\nimport BasePage from \"@DealerSite/Scripts/Pages/BasePage\";\r\nimport LandingPage from \"@DealerSite/Scripts/Pages/LandingPage\";\r\n\r\nlet App: any = {\r\n instances: {},\r\n pages: {},\r\n routes: {},\r\n viewModels: {},\r\n resources: {}\r\n};\r\n\r\nApp.pages.BasePage = BasePage;\r\nApp.pages.LandingPage = LandingPage;\r\n\r\n(window).App = App;","import Vue from \"vue\";\r\nimport Axios from \"axios\";\r\nimport AppConfig from \"@DealerSite/Scripts/Config/AppConfig\";\r\nimport { router } from \"@DealerSite/Scripts/Config/RouteConfig\";\r\nimport { store } from \"@DealerSite/Scripts/Config/StoreConfig\";\r\nimport Localizer from \"@Scripts/Common/Localizer\";\r\nimport GTagHelper from \"@Scripts/Infrastructure/GTagHelper\";\r\n\r\nexport default class BasePage {\r\n public static async init() {\r\n await Localizer.init({\r\n defaultCulture: (window).App.culture,\r\n resourceContexts: [\"App\", \"PrivacyPolicy\"]\r\n });\r\n\r\n this.initRequestVerificationToken();\r\n\r\n AppConfig.AddComponents();\r\n AppConfig.AddDirectives();\r\n\r\n let vm = new Vue({\r\n el: \"#app\",\r\n router,\r\n store,\r\n created() {\r\n this.$store.dispatch(\"dealerStore/getDealerData\");\r\n }\r\n });\r\n\r\n (window).App.instances.vm = vm;\r\n\r\n this.setAnalytics();\r\n this.checkDataTypeMenu();\r\n this.resposiveHeader();\r\n this.showFilter();\r\n this.setHeader();\r\n }\r\n\r\n private static initRequestVerificationToken() {\r\n var antiforgerytoken = (document.getElementsByName(\"__RequestVerificationToken\")[0]).value;\r\n if (antiforgerytoken) {\r\n Axios.defaults.headers.common[\"RequestVerificationToken\"] = antiforgerytoken;\r\n }\r\n }\r\n\r\n public static setAnalytics() {\r\n if ((window).gascrolldepth) {\r\n (window).gascrolldepth.init({\r\n userTiming: false,\r\n pixelDepth: false,\r\n nonInteraction: false\r\n });\r\n }\r\n\r\n let dataGaeventLinkTrue = document.querySelectorAll(\".ga-event\");\r\n for (const item of dataGaeventLinkTrue) {\r\n if (item) {\r\n item.addEventListener(\"click\", function (event) {\r\n switch (this.getAttribute(\"data-gacategory\")) {\r\n case \"HeaderMenu\":\r\n if (this.getAttribute(\"data-gaaction\") === \"TestRide_Click\") {\r\n GTagHelper.sendEvent(\"click\", \"test-ride\");\r\n } else if (this.getAttribute(\"data-gaaction\").startsWith(\"Catalogue_\")) {\r\n let category = this.getAttribute(\"data-gaaction\").split('_')[1].toLowerCase();\r\n let type = this.getAttribute(\"data-gaaction\").split('_')[2].toLowerCase();\r\n GTagHelper.sendEvent(\"click\", \"catalogue\", category + \"_\" + type);\r\n }\r\n break;\r\n case \"TopMenu\":\r\n if (this.getAttribute(\"data-gaaction\") === \"MyYamaha_Click\") {\r\n GTagHelper.sendEvent(\"click\", \"my_yamaha\");\r\n }\r\n break;\r\n case \"Home\":\r\n if (this.getAttribute(\"data-gaaction\") === \"UsedHighlight_Click\") {\r\n GTagHelper.sendEvent(\"click\", \"highlight_used\");\r\n }\r\n if (this.getAttribute(\"data-gaaction\") === \"ContentHighlight_Click\") {\r\n GTagHelper.sendEvent(\"click\", \"highlight_content\");\r\n }\r\n if (this.getAttribute(\"data-gaaction\") === \"ShopHighlight_Click\") {\r\n GTagHelper.sendEvent(\"click\", \"highlight_shop\");\r\n }\r\n if (this.getAttribute(\"data-gaaction\") === \"ContentPromotions_Click\") {\r\n GTagHelper.sendEvent(\"click\", \"highlight_promotion\");\r\n }\r\n break;\r\n case \"WhereWeAre\":\r\n if (this.getAttribute(\"data-gaaction\") === \"Phone\") {\r\n GTagHelper.sendEvent(\"click\", \"phone\");\r\n }\r\n if (this.getAttribute(\"data-gaaction\") === \"WhatsApp\") {\r\n GTagHelper.sendEvent(\"click\", \"whatsapp\");\r\n }\r\n if (this.getAttribute(\"data-gaaction\") === \"Direction\") {\r\n GTagHelper.sendEvent(\"click\", \"direction\");\r\n }\r\n break;\r\n case \"InfoRequest\":\r\n if (this.getAttribute(\"data-gaaction\") === \"InfoRequest\") {\r\n GTagHelper.sendEvent(\"click\", \"info_request\");\r\n }\r\n break;\r\n }\r\n }, false);\r\n }\r\n }\r\n\r\n let dataGaeventEditorTrue = document.querySelectorAll(\".editor a\");\r\n for (const item of dataGaeventEditorTrue) {\r\n if (item) {\r\n item.addEventListener(\"click\", function (event) {\r\n GTagHelper.sendEvent(\"click\", \"link\", this.getAttribute(\"href\"));\r\n }, false);\r\n }\r\n }\r\n }\r\n\r\n private static setHeader() {\r\n let header = document.getElementById(\"Header\"),\r\n app = document.getElementById(\"app\");\r\n\r\n if (header) {\r\n window.addEventListener(\"scroll\", function () {\r\n if (window.scrollY > 0) {\r\n header.setAttribute(\"data-minify\", \"\");\r\n app.setAttribute(\"data-minify\", \"\");\r\n } else {\r\n header.removeAttribute(\"data-minify\");\r\n app.removeAttribute(\"data-minify\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n private static showFilter() {\r\n let shoWFilter = document.getElementById(\"ShoWFilter\"),\r\n aside = document.getElementById(\"Aside\"),\r\n closeFilter = document.querySelectorAll(\".close-filter\");\r\n\r\n if (shoWFilter) {\r\n shoWFilter.addEventListener(\"click\", function () {\r\n aside.classList.add(\"show\");\r\n });\r\n\r\n for (const item of closeFilter) {\r\n if (item) {\r\n item.addEventListener(\"click\", function (event) {\r\n aside.classList.remove(\"show\");\r\n }, false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private static checkDataTypeMenu() {\r\n const category = (window).App.bag.Category;\r\n\r\n let categoryPage = document.querySelector(\"[data-type=\" + category + \"]\");\r\n if (categoryPage != null) {\r\n categoryPage.classList.add(\"selected\");\r\n }\r\n }\r\n\r\n private static resposiveHeader() {\r\n let wrapMenu = document.getElementById(\"WrapMenu\"),\r\n header = document.getElementById(\"Header\"),\r\n app = document.getElementById(\"app\"),\r\n closeMenu = document.querySelectorAll(\".close-menu\"),\r\n itemsMenu = document.querySelectorAll(\".nav > .item\"),\r\n wrapMenuSupportLink = document.querySelectorAll(\"[data-type] > .link[data-sub]\"),\r\n wrapMenuSupportBack = document.querySelectorAll(\"[data-type] > .submenu > .back\");\r\n\r\n if (wrapMenu) {\r\n wrapMenu.addEventListener(\"click\", function () {\r\n header.classList.add(\"show\");\r\n app.classList.add(\"overflow\");\r\n });\r\n\r\n for (const item of closeMenu) {\r\n if (item) {\r\n item.addEventListener(\"click\", function (event) {\r\n header.classList.remove(\"show\");\r\n header.classList.remove(\"submenu-show\");\r\n app.classList.remove(\"overflow\");\r\n\r\n for (const items of itemsMenu) {\r\n items.classList.remove(\"active\");\r\n }\r\n }, false);\r\n }\r\n }\r\n }\r\n\r\n document.addEventListener(\"click\", e => {\r\n let dataType = e.target;\r\n let parentElement = dataType.parentElement;\r\n if (parentElement != null) {\r\n if (parentElement.dataset.type == null || parentElement.dataset.type == undefined) {\r\n document.querySelectorAll(\"[data-type]\").forEach(doc => doc.classList.remove(\"active\"));\r\n header.classList.remove(\"submenu-show\");\r\n }\r\n };\r\n });\r\n\r\n for (const wrapMenuLink of wrapMenuSupportLink) {\r\n wrapMenuLink.addEventListener(\"click\", e => {\r\n let dataType = e.target;\r\n let parentElement = dataType.parentElement;\r\n document.querySelectorAll(\":not([data-type=\" + parentElement.dataset.type + \"])\").forEach(doc => doc.classList.remove(\"active\"));\r\n document.querySelector(\"[data-type=\" + parentElement.dataset.type + \"]\").classList.toggle(\"active\");\r\n header.classList.toggle(\"submenu-show\");\r\n });\r\n }\r\n\r\n for (const wrapMenuBack of wrapMenuSupportBack) {\r\n wrapMenuBack.addEventListener(\"click\", e => {\r\n document.querySelectorAll(\"[data-type]\").forEach(doc => doc.classList.remove(\"active\"));\r\n header.classList.remove(\"submenu-show\");\r\n });\r\n }\r\n }\r\n}"],"names":["exports","isValidPartialFormatter","entry","to","removeElement","el","parentElement","removeChild","isSet","value","preventDefault","e","isNumeric","a","isNaN","isFinite","addClassFor","element","className","duration","addClass","setTimeout","removeClass","limit","Math","max","min","asArray","Array","isArray","countDecimals","numStr","pieces","String","split","length","classList","test","add","remove","replace","RegExp","join","getPageOffset","doc","supportPageOffset","undefined","window","pageXOffset","isCSS1Compat","compatMode","x","documentElement","scrollLeft","body","y","pageYOffset","scrollTop","subRangeRatio","pa","pb","fromPercentage","range","startRange","getJ","arr","j","toStepping","xVal","xPct","slice","va","vb","abs","toPercentage","getStep","xSteps","snap","b","round","closest","PipsType","PipsMode","Spectrum","singleStep","index","this","xNumSteps","xHighestCompleteStep","ordered","Object","keys","forEach","push","sort","handleEntryPoint","handleStepPoint","prototype","getDistance","distances","getAbsoluteDistance","direction","start_factor","xPct_index","rest_factor","rest_rel_distance","range_pct","rel_range_distance","abs_distance_counter","range_counter","fromStepping","isPercentage","getDefaultStep","isDown","size","getNearbySteps","stepBefore","startValue","step","highestStep","thisStep","stepAfter","countStepDecimals","stepDecimals","map","apply","hasNoSize","convert","percentage","parseFloat","Error","value1","Number","i","n","totalSteps","ceil","toFixed","defaultFormatter","from","cssClasses","target","base","origin","handle","handleLower","handleUpper","touchArea","horizontal","vertical","background","connect","connects","ltr","rtl","textDirectionLtr","textDirectionRtl","draggable","drag","tap","active","tooltip","pips","pipsHorizontal","pipsVertical","marker","markerHorizontal","markerVertical","markerNormal","markerLarge","markerSub","valueHorizontal","valueVertical","valueNormal","valueLarge","valueSub","INTERNAL_EVENT_NS","tooltips","aria","testStep","parsed","testKeyboardPageMultiplier","keyboardPageMultiplier","testKeyboardMultiplier","keyboardMultiplier","testKeyboardDefaultStep","keyboardDefaultStep","testRange","spectrum","testStart","handles","start","testSnap","testAnimate","animate","testAnimationDuration","animationDuration","testConnect","testOrientation","ort","testMargin","margin","testLimit","testPadding","padding","totalPadding","firstValue","testDirection","dir","testBehaviour","indexOf","fixed","hover","unconstrained","dragAll","events","testTooltips","formatter","testHandleAttributes","handleAttributes","testAriaFormat","ariaFormat","testFormat","isValidFormatter","format","testKeyboardSupport","keyboardSupport","testDocumentElement","testCssPrefix","cssPrefix","testCssClasses","key","testOptions","options","tests","r","t","orientation","behaviour","defaults","name","d","document","createElement","msPrefix","style","msTransform","noPrefix","transform","transformRule","scope","originalOptions","scope_Base","scope_Handles","scope_Connects","scope_Pips","scope_Tooltips","addTarget","actions","navigator","pointerEnabled","move","end","msPointerEnabled","supportsPassive","CSS","supports","opts","defineProperty","get","addEventListener","getSupportsPassive","scope_Target","scope_Spectrum","scope_Values","scope_Locations","scope_HandleNumbers","scope_ActiveHandlesCount","scope_Events","scope_Document","ownerDocument","scope_DocumentElement","scope_Body","scope_DirOffset","addNodeTo","div","appendChild","addOrigin","handleNumber","setAttribute","event","isSliderDisabled","isHandleDisabled","horizontalKeys","verticalKeys","largeStepKeys","edgeKeys","reverse","isLargeDown","isLargeUp","isUp","isMin","isMax","getNextStepsForHandle","setHandle","fireEvent","eventKeydown","attributes_1","attribute","addConnect","addTooltip","firstChild","hasAttribute","removeTooltips","removeEvent","bindEvent","values","unencoded","formattedValue","innerHTML","mapToRange","stepped","generateSpread","array","group","mode","Range","Steps","Count","interval","spread","Positions","Values","getGroup","indexes","firstInRange","lastInRange","ignoreFirst","ignoreLast","prevPct","filter","unshift","current","q","newPct","pctDifference","pctPos","type","steps","realSteps","stepSize","low","high","isSteps","density","LargeValue","SmallValue","NoValue","addMarking","filterFunc","_a","_b","valueSizeClasses","None","markerSizeClasses","valueOrientationClasses","markerOrientationClasses","getClasses","source","sizeClasses","offset","node","addSpread","removePips","baseSize","rect","getBoundingClientRect","alt","width","height","attachEvent","callback","data","method","pageOffset","eventTarget","touch","mouse","pointer","buttons","touches","isTouchOnTarget","checkTouch","contains","composed","composedPath","shift","targetTouches","call","pageX","pageY","targetTouch","find","changedTouches","clientX","clientY","points","cursor","fixEvent","doNotReject","calcPoint","methods","eventName","passive","calcPointToPercentage","elem","docElem","proposal","userAgent","top","clientTop","left","clientLeft","documentLeave","nodeName","relatedTarget","eventEnd","eventMove","appVersion","buttonsProperty","movement","startCalcPoint","moveHandles","locations","handleNumbers","listeners","c","removeEventListener","setZindex","eventStart","some","children","stopPropagation","moveEvent","endEvent","outEvent","concat","getComputedStyle","eventTap","clickedPosition","smallestDifference","handlePosition","differenceWithThisHandle","getClosestHandle","eventHover","targetEvent","scope_Self","namespacedEvent","namespace","substring","bind","tEvent","tNamespace","isInternalNamespace","eventType","checkHandlePosition","reference","lookBackward","lookForward","getValue","distance","inRuleOrder","v","o","upward","proposals","firstHandle","f","state","transformDirection","zIndex","exactInput","translateRule","updateConnect","updateHandlePosition","l","h","connectWidth","scaleRule","resolveToValue","valueSet","input","fireSetEvent","isInit","space_1","valueGet","location","nearbySteps","increment","decrement","connectOptions","connectBase","addElements","handleBefore","handleAfter","eventHolders","handlesToDrag","handleNumbersToDrag","eventHolder","positions","now","text","destroy","noUiSlider","on","off","set","reset","__moveHandles","updateOptions","optionsToUpdate","updateAble","newOptions","getPositions","getTooltips","getOrigins","initialize","api","nouislider","__spectrum","create","factory","Resumable","version","support","Blob","webkitSlice","mozSlice","$","files","chunkSize","forceChunkSize","simultaneousUploads","fileParameterName","chunkNumberParameterName","chunkSizeParameterName","currentChunkSizeParameterName","totalSizeParameterName","typeParameterName","identifierParameterName","fileNameParameterName","relativePathParameterName","totalChunksParameterName","throttleProgressCallbacks","query","headers","preprocess","uploadMethod","testMethod","prioritizeFirstAndLastChunk","testTarget","parameterNamespace","testChunks","generateUniqueIdentifier","getTarget","maxChunkRetries","chunkRetryInterval","permanentErrors","maxFiles","withCredentials","xhrTimeout","clearInput","chunkFormat","setChunkTypeFromFile","maxFilesErrorCallback","errorCount","getOpt","alert","minFileSize","minFileSizeErrorCallback","file","fileName","$h","formatSize","maxFileSize","maxFileSizeErrorCallback","fileType","fileTypeErrorCallback","$opt","each","option","ResumableChunk","fileObj","ResumableFile","resumableObj","toLowerCase","fire","args","arguments","stopEvent","custom","relativePath","webkitRelativePath","result","request","params","separator","onDrop","dataTransfer","items","loadFiles","processItem","item","path","cb","isFile","isDirectory","File","webkitGetAsEntry","directory","createReader","readEntries","entries","processCallbacks","processDirectory","getAsFile","appendFilesFromFileList","fileList","removeFile","filesSkipped","remaining","decreaseReamining","fileTypeFound","extension","addFile","uniqueIdentifier","getFromUniqueIdentifier","container","srcElement","then","_prevProgress","_pause","_error","chunkEvent","message","abort","chunks","isComplete","abortCount","status","cancel","_chunks","uploadNextChunk","retry","bootstrap","firedRetry","upload","floor","maxOffset","progress","ret","error","isUploading","uploading","chunk","outstanding","preprocessState","pause","isPaused","fileObjSize","fileObjType","lastProgressCallback","Date","tested","retries","pendingRetry","loaded","startByte","endByte","xhr","XMLHttpRequest","testHandler","send","customQuery","k","encodeURIComponent","pair","open","timeout","customHeaders","setRequestHeader","preprocessFinished","doneHandler","retryInterval","reduce","func","bytes","FormData","append","fr","FileReader","onload","readAsDataURL","readyState","responseText","relative","factor","found","assignBrowse","domNodes","domNode","tagName","display","opacity","focus","click","removeAttribute","fileTypes","assignDrop","unAssignDrop","num","totalDone","totalSize","addFiles","splice","getSize","handleDropEvent","handleChangeEvent","updateQuery","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","enumerable","obj","prop","hasOwnProperty","Vue","Axios","_typeof","Symbol","iterator","constructor","forwardMetadata","propertyKey","Reflect","getOwnMetadataKeys","metaKey","metadata","getOwnMetadata","defineMetadata","hasProto","__proto__","Ctor","__decorators__","$internalHooks","componentFactory","Component","_componentTag","proto","getOwnPropertyNames","descriptor","getOwnPropertyDescriptor","mixins","configurable","writable","_defineProperty","computed","vm","originalInit","_init","_this","$options","props","plainData","collectDataFromConstructor","decorators","fn","superProto","getPrototypeOf","Super","Extended","extend","Original","shouldIgnore","extendedDescriptor","superDescriptor","forwardStaticMembers","callee","caller","registerHooks","arr2","_arrayWithoutHoles","iter","toString","_iterableToArray","TypeError","_nonIterableSpread","CookieHelper","getCookiePolicy","getCookie","isCookiePolicy","setCookiePolicyType","cookie","setCookie","removeCookiePolicyType","setCookiePolicyAll","removeCookiePolicyAll","nameEQ","ca","charAt","days","expires","date","setTime","getTime","toUTCString","deleteCookie","CookieToast","isCookieToast","isShow","routes","App","created","readCookieToastShow","readCookieToast","setCookieToast","reload","setOnlyTech","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","_vm","_c","_self","_setupProxy","class","staticClass","_v","_m","$event","_e","attrs","Localizer","init","configuration","defaultCulture","resourceCultures","resourceCulture","cultureResources","culture","contexts","resourceContexts","getByCulture","placeHolder","pop","resources","trackMissingResource","href","resource","url","Map","PrivacyPolicy","localizer","isLoading","isProfiling","isMarketing","marketingChannels","selectProfiling","$emit","dispatchEvent","CustomEvent","bubbles","detail","selectMarketing","selectMarketingChannels","_s","directives","rawName","expression","domProps","_i","$$a","$$el","$$c","checked","$$i","$$v","reflectMetadataIsSupported","getMetadata","Prop","componentOptions","Watch","deep","immediate","handler","watch","FormHelper","initRuntimeProperties","controls","parentControl","control","fullName","getValidationErrors","validationState","validationErrors","propertyName","isControlValidationError","controlName","getRequestVerificationToken","getElementsByName","showPassword","inputId","querySelector","getAttribute","setFocus","contextElement","firstInput","removeFocus","activeElement","HTMLElement","blur","GTagHelper","setConfig","targetId","configInfo","gtag","fieldName","field","setValue","valuePair","sendEvent","category","label","parameters","sendCustomEvent","JobProfileSubmit","isLoadingForm","isSuccess","formData","province","dealerPointCode","workingArea","zones","dealerJobOfferWorkingAreas","dealerJobOfferOfferTypes","dealer","dealerPoints","dealerPoint","jobOfferDetail","Promise","all","getData","getDealerJobOfferFormList","setRecaptcha","$route","mounted","$nextTick","querySelectorAll","anchor","targetElement","scrollTo","offsetTop","behavior","offerIdMaster","response","WorkWithUs_GetJobOfferData","dealerJobOffer","idMaster","Profile_GetZones","Dealer_GetDealerPointsByDealerCode","dealerCode","code","getDealerPoints","Dealer_GetDealerPointsByProvince","WorkWithUs_GetDealerJobOfferFormList","recaptchaScript","head","setRegistrationFileName","curriculumVitae","$refs","submitForm","multipartData","WorkWithUs_JobProfileSubmit","grecaptcha","getResponse","profiling","marketing","closeJobProfileSubmit","$router","catch","isValidationError","title","modifiers","$$selectedVal","selected","_value","$set","multiple","_l","company","ref","recaptchaSiteKey","validationError","DataHelper","convertToString","dataType","stringValue","convertNumberToString","convertDateToString","JSON","stringify","convertToNative","nativeValue","convertStringToNumber","convertStringToDate","parse","config","initConfiguration","thousandsSeparator","decimalSeparator","isDecimalPart","valueParts","integerPart","decimalPart","decimalCount","padEnd","dateTimeParts","dateFormat","getDayFirstDateTimeParts","getMonthFirstDateTimeParts","getISODateTimeParts","year","month","day","hour","minutes","seconds","isTimePart","isOffsetPart","getDatePart","getTimePart","getOffsetPart","isValidDateTime","datePart","timePart","match","time","includes","isValidDate","getLocalOffset","tzo","getTimezoneOffset","padStart","getConfigurationByCulture","MaintenancePackageEstimateRequest","dataConfiguration","model","durationYears","durationKm","zone","models","packages","durationKms","packageDetail","formDealerPoints","selectedDealerPointCode","$store","getters","MaintenancePackage_EstimateRequest_GetData","changeModel","MaintenancePackage_EstimateRequest_GetPackages","changeDurationYears","calculateEstimate","MaintenancePackage_EstimateRequest_GetPackageData","package","isDealerSite","getElementById","scrollIntoView","changeSelectedZone","MaintenancePackage_EstimateRequest_Save","formatNumber","formatPrice","price","maintenancePackagePrice","durationTitleYears","kmServices","annualServices","frontBrakePads","rearBrakePads","brakeFluid","coolant","frontTire","rearTire","rollers","oilService","ClassifiedPTWList","listData","brands","bikeTypes","filterData","brand","checkedBikeTypes","isBrandSelected","priceSlider","startMin","startMax","mileageSlider","yearSlider","displacementSlider","isRendered","getSearchData","getListData","DealerSite_ClassifiedPTW_GetSearchData","dealerSiteClassifiedPTWSearchData","minPrice","maxPrice","minMileage","maxMileage","minYear","maxYear","minDisplacement","maxDisplacement","getRouteQuery","setRange","DealerSite_ClassifiedPTW_GetListData","getModel","refresh","brandId","DealerSite_ClassifiedPTW_GetInfoBikeModels","setSearch","refs","slider","refSlider","oldSiderMax","oldSiderMin","parseInt","page","goTopage","Intl","NumberFormat","classifieds","classifiedItem","detailUrl","previewImageUrl","classified","selectedOccasionType","mileage","pageCount","pageIndex","DealerPointCard","dataHelperConfiguration","dealerData","openingTimes","setDealerPoint","commit","localStorage","setItem","dispatch","setDealerPointClass","setRatingStars","rating","setGaEventPhone","setGaEventWhatsapp","setGaEventDir","setGaEventSocial","social","formatRating","isLogoActive","site","facebookUrl","instagramUrl","tikTokUrl","youTubeUrl","linkedInUrl","currentStatus","isWorkshopDislocated","address","postCode","latitude","longitude","whatsappPhone","googleRating","googlePlaceId","showroomOpeningTimes","phone","openingTime","morningOpeningTime","morningClosingTime","eveningOpeningTime","eveningClosingTime","workshopOpeningTimes","isWorkshopDisabled","workshopPhone","workshopAddress","workshopLocation","workshopPostCode","imageCode","isMarine","isPTW","GoogleMapsLocator","defaultLatitude","defaultLongitude","defaultMarkerIconName","defaultUserMarkerIconName","mapOptions","center","zoom","minZoom","maxZoom","defaultZoom","locationZoom","zoomControl","panControl","scrollwheel","mapTypeControl","keyboardShortcuts","streetViewControl","disableDoubleClickZoom","gestureHandling","mapStyles","featureType","elementType","stylers","saturation","locatorOptions","enableHighAccuracy","maximumAge","markerInfoWindow","zoomOnUserLocation","self","geocoder","google","maps","Geocoder","LatLng","mapTypes","StyledMapType","setMapTypeId","geolocation","getCurrentPosition","success","latLng","coords","setUserMarker","centerMap","onLoad","addDomListener","setCenter","setZoom","fitBounds","bounds","centerToUserLocation","userMarker","position","centerToDefaultLocation","newMarker","latlng","icon","identifier","Marker","clickable","MarkerImage","Size","setMap","getUserPosition","p1","p2","dist","geometry","spherical","computeDistanceBetween","openMarkerInfoWindow","contents","close","InfoWindow","setContent","closeMarkerInfoWindow","DealerPointMap","googleMapsLocator","locatorData","markers","LatLngBounds","DealerSite_Support_GetLocatorData","setMarkers","markerTitle","markerDescription","markerStreet","coordinate","dealerPointPosition","filters","topRightLatitude","topRightLongitude","bottomLeftLatitude","bottomLeftLongitude","DealerPointSelector","onDealerPointChanged","dealerPointName","InfoRequest","privacyPolicy","isPrivacyPolicyShow","customerRequestType","customerRequestTypes","selectedOccasionTypes","isDealerPoints","requestType","DealerSite_Support_GetInfoRequestData","product","originPath","DealerSite_Support_InfoRequest","closeDialog","DealerSite_Home_Home","InfoRequestCta","callToAction","setAnalytics","DealerSite_Support_Contact","parseDateTime","s","setHours","toJSDate","regex","exec","shortMonth","longMonth","minute","second","ampm","pattern","formatPatterns","shortMonths","longMonths","g","u","m","M","static","MONTH_JS","toLocaleString","lang","super","getWeek","midnight_ts","getDay","setDate","getDate","setMonth","clone","inArray","isBetween","isSame","isBefore","getFullYear","getMonth","isSameOrBefore","isAfter","isSameOrAfter","subtract","diff","formatTokens","getHours","getMinutes","getSeconds","picker","getContainerView","ui","header","trigger","view","autoApply","getHeaderView","getMainView","grid","calendars","getCalendarHeaderView","getCalendarDayNamesView","getCalendarDaysView","getCalendarFooterView","getFooterView","locale","disabled","previousMonth","nextMonth","firstDay","weekday","dayIdx","calcOffsetDays","getCalendarDayView","dataset","datePicked","instances","plugins","easepick","console","warn","priority","dependencies","attach","getName","getInstance","addInstance","getPluginFn","removeInstance","detach","reloadInstance","Calendar","PluginManager","cssLoaded","binds","hidePicker","show","css","readonly","inline","scrollToDate","documentClick","wrapper","handleOptions","pointerEvents","attachShadow","after","handleCSS","onView","onRender","parseValues","setup","onClick","renderAll","onClickHeaderButton","isCalendarHeaderButton","onClickCalendarDay","isCalendarDay","hide","onClickApplyButton","isApplyButton","onClickCancelButton","isCancelButton","isShown","adjustPosition","updateValues","HTMLInputElement","innerText","getRootNode","host","gotoDate","clear","readOnly","rel","createTextNode","bottom","innerHeight","innerWidth","right","freeze","Core","every","dependenciesNotFound","pluginsAsStringArray","camelCaseToKebab","onAttach","onDetach","tooltipElement","triggerElement","setStartDate","setEndDate","setDateRange","getStartDate","getEndDate","onShow","onMouseEnter","onMouseLeave","elementEnd","startDate","endDate","repick","strict","delimiter","tooltipNumber","zero","one","two","few","many","other","_setStartDate","_setEndDate","_setDateRange","_getStartDate","_getEndDate","_parseValues","_updateValues","_clear","_onClickCalendarDay","_onClickApplyButton","defineProperties","checkIntlPluralLocales","initializeRepick","isContainer","toggle","PluralRules","select","showTooltip","hideTooltip","visibility","Set","minDate","maxDate","minDays","maxDays","selectForward","selectBackward","presets","inseparable","testFilter","rangeIsNotAvailable","dateIsNotAvailable","lockMinDate","lockMaxDate","lockMinDays","lockMaxDays","lockSelectForward","lockSelectBackward","RentalBooking","isTermsOfServiceShown","isPriceDetailShown","rentalBikeModels","accessoryTypes","accessories","termsOfService","selectedModelName","selectedAccessories","bikePrice","accessoriesPrice","rentalPrice","daysCount","booking","newValue","rentalData","DealerSite_Rental_GetData","dealercode","selectModel","loadDatePicker","getRentalPrice","dateStart","dateEnd","priceData","DealerSite_Rental_GetPrice","modelName","totalPrice","dayNumber","submitBooking","intent","DealerSite_Rental_BookingSubmit","lockedDays","DealerSite_Rental_GetLockedDays","LockPlugin","formatdate","RangePlugin","async","showTermsOfService","showPriceDetail","showContract","bikeModel","fileCode","accessory","dailyPrice","isTermsOfService","isPrivacyA","isPrivacyB","isPrivacyC","isPrivacyD","ShowCaseList","productItems","categories","DealerSite_Showcase_GetSearchData","productCategories","DealerSite_Showcase_GetListData","showcaseProductItems","minimumFractionDigits","_k","keyCode","composing","productItem","showcaseProduct","Toast","toast","isToast","isLink","DealerSite_GetToast","linkUrl","app","linkTarget","description","Whatsapp","showPopup","whatsApp","setWhatsappPopUp","setWhatsappGaEvent","BikeAppraisalRequest","infoBikeBrandId","infoBikeModelId","infoBikeTrimLevelId","infoBikeTrimLevelProgressive","emissionStandard","bikeType","isABS","isRegistered","uploadedFiles","months","years","trimLevels","emissionStandards","isUploadPending","uploadHeaders","RequestVerificationToken","uploadParameters","minFileCount","maxFileCount","allowedFileExtensions","getModels","DealerSite_BikeAppraisal_GetData","DealerSite_BikeAppraisal_GetInfoBikeModels","getTrimLevels","DealerSite_BikeAppraisal_GetInfoBikeTrimLevels","modelId","trimLevel","trimLevelDescription","trimLevelId","checkImages","childComponentRef","brandDescription","modelDescription","DealerSite_BikeAppraisal_Submit","fileAdded","updatedUploadedFiles","documentsUploadCompleted","documentsUploadError","uploadingErrors","DealerSite_BikeAppraisal_Appraisal","isDepowered","DealerSite_BikeAppraisal_UploadDocument","MediaHelper","bytesToString","thresh","Uploader","resumable","isUploadSupported","progressStatus","selectedFiles","initResumable","setReadyMode","vue","previewContainer","uploadUrl","browse","dropTarget","loadedSize","setFileUploadedMode","cancelUpload","setFileSelectedMode","updateSelectedFiles","reader","id","setValidId","button","span","img","src","removeUploadedFile","fileId","uploadedFile","setUploadingMode","selectedFile","dragTargetEnter","dragTargetLeave","dropOnTarget","cleaned","trim","inserted","acButton","getElementsByClassName","menu","menuItem","isVisible","acButtonItem","offsetWidth","offsetHeight","getClientRects","binding","vnode","clickOutsideEvent","unbind","AppConfig","AddComponents","AddDirectives","ExpMenu","ExpMenuLink","CloseJobProfileForm","VueRouter","router","Vuex","namespaced","mutations","setDealerPointCode","setDealerData","getDealerData","DealerSite_Structure_GetDealerData","selectedDealerPoint","getItem","getOpeningTimes","DealerSite_Structure_GetOpeningTimes","store","registerModule","DealerStore","OpeningTimeStore","setValidation","$context","$validationSummary","ul","empty","html","resetValidation","disableControls","attr","enableControls","removeAttr","LandingPage","setCkp","setCarosel","setForm","isLoop","bag","isSwiperLoop","Swiper","modules","Autoplay","Lazy","loop","spaceBetween","slidesPerView","watchSlidesProgress","autoplay","delay","preloadImages","lazy","loadPrevNext","$form","stop","slideToggle","ajaxForm","iframe","beforeSubmit","jqForm","findIndex","required","textStatus","errorThrown","responseJSON","pages","viewModels","BasePage","initRequestVerificationToken","checkDataTypeMenu","resposiveHeader","showFilter","setHeader","antiforgerytoken","common","gascrolldepth","userTiming","pixelDepth","nonInteraction","dataGaeventLinkTrue","startsWith","dataGaeventEditorTrue","scrollY","shoWFilter","aside","closeFilter","Category","categoryPage","wrapMenu","closeMenu","itemsMenu","wrapMenuSupportLink","wrapMenuSupportBack","wrapMenuLink","wrapMenuBack"],"sourceRoot":""}