{"version":3,"file":"8135.d104fe7068f873b6728c.js","mappings":"4KAAA,MAAMA,EAEFC,WAAAA,CAAYC,GACRC,KAAKD,GAAKA,EACVC,KAAKC,SAAW,KAChBD,KAAKE,OAAS,EACdF,KAAKG,OAAS,WAEd,IAAIC,EAASJ,KAAKD,GAAGM,QAAQC,SACzBC,EAASP,KAAKD,GAAGM,QAAQG,cACT,IAAVJ,IAAuBJ,KAAKE,OAASO,WAAWL,SACtC,IAAVG,IAAuBP,KAAKG,OAASM,WAAWF,IAE1DP,KAAKD,GAAGW,iBAAiB,SAAS,KAC9BV,KAAKC,SAAWU,aAAY,KACxBX,KAAKY,aAAa,GACnB,GAAG,IAEVZ,KAAKD,GAAGW,iBAAiB,QAAQ,KAC7BG,cAAcb,KAAKC,UACnBD,KAAKC,SAAW,KAChBD,KAAKc,YAAY,GAEzB,CAEAF,WAAAA,GACI,IAAIG,EAAWf,KAAKD,GAAGiB,MACvBhB,KAAKD,GAAGiB,MAAQP,WAAWM,IAAa,EAAIA,EAASE,WAAWC,QAAQ,WAAY,IAAM,EAC9F,CAEAJ,UAAAA,GACI,IAAIC,EAAWN,WAAWT,KAAKD,GAAGiB,OAC/BD,GAAY,GACRA,EAAWf,KAAKE,SAAQa,EAAWf,KAAKE,QACxCa,EAAWf,KAAKG,SAAQY,EAAWf,KAAKG,QAC3CH,KAAKD,GAAGiB,MAAQD,EAASI,QAAQ,IAEjCnB,KAAKD,GAAGiB,MAAQ,EAExB,EAGG,SAASI,EAAWC,GACvBA,EAASC,SAASC,IAEQ,IAAlBA,EAAKC,UACL,IAAI3B,EAAsB0B,EAC9B,GAER,C","sources":["webpack://National Motor Museum Trust/./wwwroot/app/src/js/text-input-force-numeric.js"],"sourcesContent":["class TextInputForceDecimal {\r\n\r\n constructor(el) {\r\n this.el = el;\r\n this.interval = null;\r\n this.minVal = 0;\r\n this.maxVal = 9999999999;\r\n // get min/max from data attributes\r\n let getMin = this.el.dataset.minValue;\r\n let getMax = this.el.dataset.maxValue;\r\n if(typeof getMin != 'undefined') this.minVal = parseFloat(getMin);\r\n if(typeof getMax != 'undefined') this.maxVal = parseFloat(getMax);\r\n // add listeners\r\n this.el.addEventListener('focus', () => {\r\n this.interval = setInterval(() => {\r\n this.updateValue();\r\n }, 50);\r\n });\r\n this.el.addEventListener('blur', () => {\r\n clearInterval(this.interval);\r\n this.interval = null;\r\n this.finalValue();\r\n });\r\n }\r\n\r\n updateValue() {\r\n let getValue = this.el.value;\r\n this.el.value = parseFloat(getValue) >= 0 ? getValue.toString().replace(/[^0-9.]/g, '') : '';\r\n }\r\n\r\n finalValue() {\r\n let getValue = parseFloat(this.el.value);\r\n if(getValue >= 0) {\r\n if(getValue < this.minVal) getValue = this.minVal;\r\n if(getValue > this.maxVal) getValue = this.maxVal;\r\n this.el.value = getValue.toFixed(2);\r\n } else {\r\n this.el.value = '';\r\n }\r\n }\r\n}\r\n\r\nexport function createFrom(wrappers) {\r\n wrappers.forEach((node) => {\r\n // if node is an element\r\n if (node.nodeType === 1) {\r\n new TextInputForceDecimal(node);\r\n }\r\n });\r\n}"],"names":["TextInputForceDecimal","constructor","el","this","interval","minVal","maxVal","getMin","dataset","minValue","getMax","maxValue","parseFloat","addEventListener","setInterval","updateValue","clearInterval","finalValue","getValue","value","toString","replace","toFixed","createFrom","wrappers","forEach","node","nodeType"],"sourceRoot":""}