1(()=>{"use strict";let t=window.PluginBaseClass,e="neti-next-easy-coupon-prevent-submit";class i extends t{static #t=this.options={from:0,to:100,errorContainer:".is--nec-value-status.error",buyButton:".btn-buy",decimals:2};constructor(...t){super(...t),this.errorContainer=document.querySelectorAll(this.options.errorContainer),this.buyButton=document.querySelectorAll(this.options.buyButton),this.registerEventListener()}init(){}registerEventListener(){this.el.addEventListener("input",this.onValueChange.bind(this)),this.el.addEventListener("change",this.afterValueChange.bind(this)),this.buyButton.forEach(t=>t.addEventListener("click",this.onBuyBtnClick.bind(this)))}onValueChange(t){let{value:e}=t.target,i=!isNaN(e)&&this.isInputValid(e);this.errorContainer.forEach(t=>t.classList.toggle("d-none",i)),this.buyButton.forEach(t=>this.toggleBuyButton(t,i))}onBuyBtnClick(t){t.target.hasAttribute(e)&&t.preventDefault()}toggleBuyButton(t,i){t.classList.toggle("disabled",!i),t.toggleAttribute("disabled",!i),t.toggleAttribute(e,!i)}isInputValid(t){let{from:e,to:i}=this.options;return t>=e&&t<=i}afterValueChange(t){let{value:e}=t.target;!isNaN(e)&&this.isInputValid(e)&&(t.target.value=this.normalizePrice(e,this.options.decimals))}normalizePrice(t,e){return parseFloat(parseFloat(t).toFixed(e))}}let n=window.PluginBaseClass,s="neti-next-easy-coupon-prevent-submit";class o extends n{static #t=this.options={valueButton:".is--nec-voucher-value",errorContainer:".is--nec-value-status.error",buyButton:".product-detail-buy .buy-widget .btn-buy"};constructor(...t){super(...t),this.valueButton=this.el.querySelectorAll(this.options.valueButton),this.errorContainer=document.querySelectorAll(this.options.errorContainer),this.buyButton=document.querySelectorAll(this.options.buyButton),this.buyButton.forEach(t=>this.toggleBuyButton(t,!1)),this.registerEventListener()}init(){}registerEventListener(){this.valueButton.forEach(t=>t.addEventListener("click",this.onValueButtonClick.bind(this))),this.buyButton.forEach(t=>t.addEventListener("click",this.onBuyBtnClick.bind(this)))}onValueButtonClick(t){let e=!isNaN(parseFloat(t.target.getAttribute("data-rel")));this.setValueButtonActive(!!e&&t.target),this.errorContainer.forEach(t=>t.classList.toggle("d-none",e)),this.buyButton.forEach(t=>this.toggleBuyButton(t,e))}onBuyBtnClick(t){t.target.hasAttribute(s)&&t.preventDefault()}toggleBuyButton(t,e){t.classList.toggle("disabled",!e),t.toggleAttribute("disabled",!e),t.toggleAttribute(s,!e)}setValueButtonActive(t){this.valueButton.forEach(t=>t.classList.remove("active")),!1!==t&&t.classList.add("active")}}let r=window.PluginBaseClass;class a extends r{static #t=this.options={};init(){this.$triggerBtn=this.el.querySelector(".error-details--trigger"),this.$content=this.el.querySelector(".error-details--content"),this.registerEvents()}registerEvents(){this.$triggerBtn.addEventListener("click",this.onShow.bind(this))}onShow(t){t.preventDefault(),this.$triggerBtn.style.display="none",this.$content.style.display="block"}}window.PluginManager.register("NetiNextEasyCouponRangeField",i,"[neti-next-easy-coupon-range-field]"),window.PluginManager.register("NetiNextEasyCouponSelectField",o,"[neti-next-easy-coupon-select-field]"),window.PluginManager.register("NetiNextEasyCouponConditionError",a,"[neti-next-easy-coupon-condition-error], .neti-ec--error-details")})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.