Files
parts_website/static/dist/js/main.bundle.js

2 lines
143 KiB
JavaScript

/*! For license information please see main.bundle.js.LICENSE.txt */
(()=>{"use strict";(()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(t){var r=function(t){if("object"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(r)?r:r+""}var n=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return r=e,n=[{key:"isEmpty",value:function(e){var t=!0;if(null!==e&&"null"!==e&&void 0!==e&&"undefined"!==e)if(null==e.length)t=!1;else if("function"==typeof e)t=!1;else{var r="string"==typeof e;if(r&&(e=e.trim()),e.length>0)if(r)t=!1;else if("string"!=typeof e[0])t=!1;else for(var n=0;n<e.length;n++)if(""!=e[n]){t=!1;break}}return t}},{key:"isValidNumber",value:function(t,r){return!e.isEmpty(t)&&!isNaN(t)&&(!r||parseFloat(t)>0)}},{key:"getDataContentType",value:function(t){var r=null,n="";return e.isEmpty(t)||("string"==typeof t?(r=t,n="application/x-www-form-urlencoded; charset=UTF-8"):(r=JSON.stringify(t),n="application/json; charset=UTF-8")),{Data:r,ContentType:n}}},{key:"arrayContainsItem",value:function(t,r){var n=!1;if(!e.isEmpty(t)&&!e.isEmpty(r))if(t[0]instanceof jQuery){for(var o=0;o<t.length;o++)if(document.querySelectorAll(t[o]).is(r)){n=!0;break}}else if(t[0]instanceof Date){for(var i=0;i<t.length;i++)if(t[i].getTime()===r.getTime()){n=!0;break}}else for(var a=0;a<t.length;a++)if(t[a]==r){n=!0;break}return n}},{key:"dictHasKey",value:function(e,t){return t in e}},{key:"areEqualDicts",value:function(e,t){var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o=0,i=r;o<i.length;o++){var a=i[o];if(e[a]!==t[a])return!1}return!0}},{key:"imageExists",value:function(e,t){var r=new Image;r.onload=function(){t(!0)},r.onerror=function(){t(!1)},r.src=e}},{key:"validateImageUrl",value:function(t,r){e.imageExists(r,(function(e){e&&document.querySelectorAll("#"+t).css({"background-image":"url("+url+")","background-size":"35px 35px"})}))}}],null&&t(r.prototype,null),n&&t(r,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}();function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t,r){return(t=u(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,u(n.key),n)}}function u(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}var l=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,r=[{key:"setElementAttributesValuesCurrentAndPrevious",value:function(t,r){e.setElementAttributeValueCurrent(t,r),e.setElementAttributeValuePrevious(t,r)}},{key:"setElementAttributeValueCurrent",value:function(e,t){e.setAttribute(attrValueCurrent,t)}},{key:"setElementAttributeValuePrevious",value:function(e,t){e.setAttribute(attrValuePrevious,t)}},{key:"setElementValuesCurrentAndPrevious",value:function(t,r){e.setElementValueCurrent(t,r),e.setElementAttributeValuePrevious(t,r)}},{key:"setElementValueCurrent",value:function(t,r){e.setElementAttributeValueCurrent(t,r),"checkbox"===t.type?t.checked=r:"INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName?t.value=r:t.textContent=r}},{key:"setElementValueCurrentIfEmpty",value:function(t,r){n.isEmpty(e.getElementValueCurrent(t))&&e.setElementValueCurrent(t,r)}},{key:"getCellFromElement",value:function(e){return e.closest("td")}},{key:"getRowFromElement",value:function(e){return e.closest("tr")}},{key:"convertForm2JSON",value:function(t){var r={};if(n.isEmpty(t))return console.log("empty form element"),r;var o,i,a,u=t.querySelectorAll("."+flagContainerInput+"."+flagFilter);console.log("containersFilter: "+u);for(var l=0;l<u.length;l++)i=(o=u[l]).querySelector("label").getAttribute("for"),a=o.querySelector("#".concat(i)),r[i]=e.getElementValueCurrent(a);return r}},{key:"loadPageBody",value:function(e){document.querySelector(idPageBody).innerHTML=e}},{key:"getHashPageCurrent",value:function(){return document.body.dataset.page}},{key:"updateAndCheckIsElementDirty",value:function(t){return t.setAttribute(attrValueCurrent,e.getElementValueCurrent(t)),e.isElementDirty(t)}},{key:"isElementDirty",value:function(t){var r=t.getAttribute(attrValuePrevious)!=t.getAttribute(attrValueCurrent);return e.handleDirtyElement(t,r),r}},{key:"handleDirtyElement",value:function(t,r){e.toggleElementHasClassnameFlag(t,r,flagDirty)}},{key:"toggleElementHasClassnameFlag",value:function(e,t,r){t!=e.classList.contains(r)&&(t?e.classList.add(r):e.classList.remove(r))}},{key:"hasDirtyChildrenContainer",value:function(e){return null!=e&&null!=e.querySelector("."+flagDirty)}},{key:"getElementValueCurrent",value:function(e){var t="";return n.isEmpty(e)||(t="checkbox"===e.type?e.checked:"INPUT"===e.tagName||"TEXTAREA"===e.tagName||"SELECT"===e.tagName?e.value:e.textContent),n.isEmpty(t)&&(t=""),t}},{key:"getElementAttributeValueCurrent",value:function(e){return e.getAttribute(attrValueCurrent)}},{key:"getElementAttributeValuePrevious",value:function(e){return e.getAttribute(attrValuePrevious)}},{key:"scrollToElement",value:function(e,t){e.scrollTop(e.scrollTop()+(t.offset().top-e.offset().top))}},{key:"isElementInContainer",value:function(e,t){"function"==typeof jQuery&&(e instanceof jQuery&&(e=e[0]),t instanceof jQuery&&(t=t[0]));var r=e.getBoundingClientRect(),n=t.getBoundingClientRect();return r.top<=n.top&&r.left<=n.left&&n.top+n.height<=r.top+r.height&&n.left+n.width<=r.left+r.width}},{key:"alertError",value:function(e,t){alert(e+"\n"+t)}},{key:"createOptionUnselectedProductVariation",value:function(){return i(i({},flagProductVariationType,i(i(i(i({},flagNameAttrOptionText,[flagName]),flagNameAttrOptionValue,[attrIdProductVariationType]),flagName,"Select Variation Type"),attrIdProductVariationType,0)),flagProductVariation,i(i(i(i({},flagNameAttrOptionText,[flagName]),flagNameAttrOptionValue,[attrIdProductVariation]),flagName,"Select Variation"),attrIdProductVariation,0))}},{key:"createOption",value:function(e){n.isEmpty(e)&&(e={text:"Select",value:0});var t=document.createElement("option");return t.value=e.value,t.textContent=e.text,t.selected=e.selected,t}}],null&&a(t.prototype,null),r&&a(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r}();function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function f(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}var p=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"initialiseEventHandler",value:function(e,t,r){document.querySelectorAll(e).forEach((function(e){e.classList.contains(t)||(e.classList.add(t),r(e))}))}}],null&&s(e.prototype,null),t&&s(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function y(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,h(n.key),n)}}function h(e){var t=function(e){if("object"!=d(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=d(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==d(t)?t:t+""}var v=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"getLocalStorage",value:function(e){return JSON.parse(localStorage.getItem(e))}},{key:"setLocalStorage",value:function(e,t){localStorage.setItem(e,JSON.stringify(t))}}],null&&y(e.prototype,null),t&&y(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function b(){b=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,a=Object.create(i.prototype),u=new D(n||[]);return o(a,"_invoke",{value:j(e,r,u)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var p="suspendedStart",d="suspendedYield",y="executing",h="completed",v={};function m(){}function k(){}function P(){}var S={};c(S,a,(function(){return this}));var C=Object.getPrototypeOf,w=C&&C(C(L([])));w&&w!==r&&n.call(w,a)&&(S=w);var O=P.prototype=m.prototype=Object.create(S);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function T(e,t){function r(o,i,a,u){var l=f(e[o],e,i);if("throw"!==l.type){var c=l.arg,s=c.value;return s&&"object"==g(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,a,u)}),(function(e){r("throw",e,a,u)})):t.resolve(s).then((function(e){c.value=e,a(c)}),(function(e){return r("throw",e,a,u)}))}u(l.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function j(t,r,n){var o=p;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===h){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var l=I(u,n);if(l){if(l===v)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var c=f(t,r,n);if("normal"===c.type){if(o=n.done?h:d,c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=h,n.method="throw",n.arg=c.arg)}}}function I(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,I(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function A(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function F(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function L(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(g(t)+" is not iterable")}return k.prototype=P,o(O,"constructor",{value:P,configurable:!0}),o(P,"constructor",{value:k,configurable:!0}),k.displayName=c(P,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===k||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,P):(e.__proto__=P,c(e,l,"GeneratorFunction")),e.prototype=Object.create(O),e},t.awrap=function(e){return{__await:e}},E(T.prototype),c(T.prototype,u,(function(){return this})),t.AsyncIterator=T,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new T(s(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},E(O),c(O,l,"Generator"),c(O,a,(function(){return this})),c(O,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=L,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(F),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var l=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(l&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),F(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;F(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function m(e,t,r,n,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void r(e)}u.done?t(l):Promise.resolve(l).then(n,o)}function k(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){m(i,n,o,a,u,"next",e)}function u(e){m(i,n,o,a,u,"throw",e)}a(void 0)}))}}function P(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,S(n.key),n)}}function S(e){var t=function(e){if("object"!=g(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==g(t)?t:t+""}var C=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,r=[{key:"getCsrfToken",value:function(){return document.querySelector(idCSRFToken).getAttribute("content")}},{key:"request",value:(g=k(b().mark((function t(r){var n,o,i,a,u,l,c=arguments;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:"GET",o=c.length>2&&void 0!==c[2]?c[2]:null,i=c.length>3&&void 0!==c[3]?c[3]:null,a=e.getUrlFromHash(r,i),u={method:n,headers:{"Content-Type":"application/json","X-CSRFToken":e.getCsrfToken()}},!o||"POST"!==n&&"PUT"!==n&&"PATCH"!==n||(u.body=JSON.stringify(o)),console.log("API request:",n,a,o),t.prev=7,t.next=10,fetch(a,u);case 10:if((l=t.sent).ok){t.next=13;break}throw new Error("HTTP error! status: ".concat(l.status));case 13:return t.next=15,l.json();case 15:return t.abrupt("return",t.sent);case 18:throw t.prev=18,t.t0=t.catch(7),console.error("API request failed:",t.t0),t.t0;case 22:case"end":return t.stop()}}),t,null,[[7,18]])}))),function(e){return g.apply(this,arguments)})},{key:"getUrlFromHash",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;null==t&&(t=hashPageHome),console.log("getUrlFromHash:"),console.log("base url: "+_pathHost+"\nhash: "+t+"\nparams: "+r);var n=e.parameteriseUrl(_pathHost+t,r);return console.log("url: "+n),n}},{key:"parameteriseUrl",value:function(e,t){return t&&(e+="?"+new URLSearchParams(t).toString()),e}},{key:"goToUrl",value:function(e){window.location.href=e}},{key:"goToHash",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=e.getUrlFromHash(t,r);e.goToUrl(n)}},{key:"loginUser",value:(v=k(b().mark((function t(){var r;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r={})[flagCallback]=l.getHashPageCurrent(),t.next=4,e.request(hashPageUserLogin,"POST",r);case 4:return t.abrupt("return",t.sent);case 5:case"end":return t.stop()}}),t)}))),function(){return v.apply(this,arguments)})},{key:"getCategories",value:(h=k(b().mark((function t(){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreProductCategory);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return h.apply(this,arguments)})},{key:"getCategoriesByFilters",value:(y=k(b().mark((function t(r){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreProductCategories,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return y.apply(this,arguments)})},{key:"saveCategories",value:(d=k(b().mark((function t(r,n,o){var i;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(i={})[flagFormFilters]=l.convertForm2JSON(n),i[flagProductCategory]=r,i[flagComment]=o,t.next=6,e.request(hashSaveStoreProductCategory,"POST",i);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return d.apply(this,arguments)})},{key:"getProducts",value:(p=k(b().mark((function t(){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreProduct);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return p.apply(this,arguments)})},{key:"getProductsByFilters",value:(f=k(b().mark((function t(r){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreProducts,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return f.apply(this,arguments)})},{key:"saveProducts",value:(s=k(b().mark((function t(r,n,o){var i;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(i={})[flagFormFilters]=l.convertForm2JSON(n),i[flagProduct]=r,i[flagComment]=o,t.next=6,e.request(hashSaveStoreProduct,"POST",i);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return s.apply(this,arguments)})},{key:"getProductPermutations",value:(c=k(b().mark((function t(){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreProductPermutation);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return c.apply(this,arguments)})},{key:"getProductPermutationsByFilters",value:(u=k(b().mark((function t(r){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreProductPermutations,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return u.apply(this,arguments)})},{key:"saveProductPermutations",value:(a=k(b().mark((function t(r,n,o){var i;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(i={})[flagFormFilters]=l.convertForm2JSON(n),i[flagProductPermutation]=r,i[flagComment]=o,t.next=6,e.request(hashSaveStoreProductPermutation,"POST",i);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return a.apply(this,arguments)})},{key:"getStockItems",value:(i=k(b().mark((function t(){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreStockItem);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return i.apply(this,arguments)})},{key:"getStockItemsByFilters",value:(o=k(b().mark((function t(r){return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreStockItems,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return o.apply(this,arguments)})},{key:"saveStockItems",value:(n=k(b().mark((function t(r,n,o){var i;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(i={})[flagFormFilters]=l.convertForm2JSON(n),i[flagStockItem]=r,i[flagComment]=o,t.next=6,e.request(hashSaveStoreStockItem,"POST",i);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return n.apply(this,arguments)})}],r&&P(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r,n,o,i,a,u,c,s,f,p,d,y,h,v,g}();function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function O(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,E(n.key),n)}}function E(e){var t=function(e){if("object"!=w(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=w(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==w(t)?t:t+""}var T=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"hookup",value:function(e){p.initialiseEventHandler(idOverlayConfirm+" button."+flagCancel,flagInitialised,(function(e){e.addEventListener("click",(function(){document.querySelector(idOverlayConfirm).style.visibility="hidden"}))})),p.initialiseEventHandler(idOverlayConfirm+" button."+flagSubmit,flagInitialised,(function(t){t.addEventListener("click",(function(){var t=document.querySelector(idOverlayConfirm),r=t.querySelector("textarea");t.style.visibility="hidden",e(r.value)}))}))}},{key:"show",value:function(){var e=document.querySelector(idOverlayConfirm);e.classList.remove(flagCollapsed),e.style.visibility="visible"}}],null&&O(e.prototype,null),t&&O(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function j(e){return j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},j(e)}function I(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,A(n.key),n)}}function A(e){var t=function(e){if("object"!=j(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=j(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==j(t)?t:t+""}var F=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw new Error("Router is required");if(console.log("initialising with router: ",t),this.router=t,this.title=titlePageCurrent,this.constructor===e)throw new Error("Cannot instantiate abstract class");if(!this.constructor.hash)throw new Error("Class ".concat(this.constructor.name," must have a static hash attribute."))}return t=e,n=[{key:"isDirtyFilter",value:function(e){var t=l.updateAndCheckIsElementDirty(e);return t&&document.querySelectorAll(idTableMain+" tbody tr").remove(),t}}],(r=[{key:"initialize",value:function(){throw new Error("Method 'initialize()' must be implemented.")}},{key:"sharedInitialize",value:function(){this.logInitialisation(),this.hookupCommonElements()}},{key:"logInitialisation",value:function(){console.log("Initializing "+this.title+" page")}},{key:"hookupCommonElements",value:function(){this.hookupNavigation(),this.hookupImagesLogo()}},{key:"hookupNavigation",value:function(){document.querySelector(idOverlayHamburger).querySelectorAll("div."+flagRow).length,this.hookupEventHandler("click",idButtonHamburger,(function(e,t){var r=document.querySelector(idOverlayHamburger);r.classList.contains(flagCollapsed)?(r.classList.remove(flagCollapsed),r.classList.add(flagExpanded)):(r.classList.remove(flagExpanded),r.classList.add(flagCollapsed))})),this.hookupButtonsNavHome(),this.hookupButtonsNavServices(),this.hookupButtonsNavContact(),this.hookupButtonsNavUserAccount(),this.hookupButtonsNavUserLogout(),this.hookupButtonsNavUserLogin(),this.hookupButtonsNavStoreHome(),this.hookupButtonsNavStoreProductPermutations(),this.hookupButtonsNavStoreStockItems(),this.hookupButtonsNavAdminHome()}},{key:"hookupEventHandler",value:function(e,t,r){p.initialiseEventHandler(t,flagInitialised,(function(t){t.addEventListener(e,(function(e){e.stopPropagation(),r(e,t)}))}))}},{key:"hookupButtonsNavHome",value:function(){this.hookupButtonsNav("."+flagNavHome,hashPageHome)}},{key:"hookupButtonsNav",value:function(e,t){var r=this;this.hookupEventHandler("click",e,(function(e,n){r.router.navigateToHash(t)}))}},{key:"hookupButtonsNavServices",value:function(){this.hookupButtonsNav("."+flagNavServices,hashPageServices)}},{key:"hookupButtonsNavContact",value:function(){this.hookupButtonsNav("."+flagNavContact,hashPageContact)}},{key:"hookupButtonsNavUserAccount",value:function(){this.hookupButtonsNav("."+flagNavUserAccount,hashPageUserAccount)}},{key:"hookupButtonsNavUserLogout",value:function(){this.hookupButtonsNav("."+flagNavUserLogout,hashPageUserLogout)}},{key:"hookupButtonsNavUserLogin",value:function(){var e=this;this.hookupEventHandler("click","."+flagNavUserLogin,(function(t,r){t.stopPropagation(),C.loginUser().then((function(t){t.Success?e.router.navigateToUrl(t[flagCallback],null,!1):l.alertError("Error",t.Message)}))}))}},{key:"hookupButtonsNavStoreHome",value:function(){this.hookupButtonsNav("."+flagNavStoreHome,hashPageStoreHome)}},{key:"hookupButtonsNavStoreProductCategories",value:function(){this.hookupButtonsNav("."+flagNavStoreProductCategories,hashPageStoreProductCategories)}},{key:"hookupButtonsNavStoreProducts",value:function(){this.hookupButtonsNav("."+flagNavStoreProducts,hashPageStoreProducts)}},{key:"hookupButtonsNavStoreProductPermutations",value:function(){this.hookupButtonsNav("."+flagNavStoreProductPermutations,hashPageStoreProductPermutations)}},{key:"hookupButtonsNavStoreProductPrices",value:function(){this.hookupButtonsNav("."+flagNavStoreProductPrices,hashPageStoreProductPrices)}},{key:"hookupButtonsNavStoreProductVariations",value:function(){this.hookupButtonsNav("."+flagNavStoreProductVariations,hashPageStoreProductVariations)}},{key:"hookupButtonsNavStoreStockItems",value:function(){this.hookupButtonsNav("."+flagNavStoreStockItems,hashPageStoreStockItems)}},{key:"hookupButtonsNavAdminHome",value:function(){this.hookupButtonsNav("."+flagNavAdminHome,hashPageAdminHome)}},{key:"hookupImagesLogo",value:function(){this.hookupButtonsNav("img."+flagImageLogo,hashPageHome)}},{key:"hookupOverlayFromId",value:function(e){p.initialiseEventHandler(e,flagInitialised,(function(e){e.querySelector("button."+flagClose).addEventListener("click",(function(t){t.stopPropagation(),e.css("display","none")}))}))}},{key:"hookupButtonSave",value:function(){var e=this;p.initialiseEventHandler("form."+flagFilter+" button."+flagSave,flagInitialised,(function(t){t.addEventListener("click",(function(t){t.stopPropagation(),console.log("saving page: ",e.title),T.show()}))}))}},{key:"hookupVideos",value:function(){p.initialiseEventHandler("video",flagInitialised,(function(e){e.addEventListener("mouseover",videoPlay(e)),e.addEventListener("mouseout",videoPause(e))}))}},{key:"leave",value:function(){if(console.log("Leaving "+this.title+" page"),this.constructor===e)throw new Error("Must implement leave() method.")}},{key:"setLocalStoragePage",value:function(e){v.setLocalStorage(this.hash,e)}},{key:"getLocalStoragePage",value:function(){return v.getLocalStorage(this.hash)}},{key:"toggleShowButtonsSaveCancel",value:function(e){var t=document.querySelector("form."+flagFilter+" button."+flagSave),r=document.querySelector("form."+flagFilter+" button."+flagCancel);e?(r.classList.remove(flagCollapsed),t.classList.remove(flagCollapsed)):(r.classList.add(flagCollapsed),t.classList.add(flagCollapsed))}}])&&I(t.prototype,r),n&&I(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r,n}();function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function L(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,N(n.key),n)}}function V(e,t,r){return t=q(t),function(e,t){if(t&&("object"==D(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,B()?Reflect.construct(t,r||[],q(e).constructor):t.apply(e,r))}function B(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(B=function(){return!!e})()}function x(){return x="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=q(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},x.apply(null,arguments)}function q(e){return q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},q(e)}function R(e,t){return R=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},R(e,t)}function N(e){var t=function(e){if("object"!=D(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=D(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}var H,M,_,U=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),V(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}(t,e),r=t,n=[{key:"initialize",value:function(){this.sharedInitialize(),this.hookupAdminStore()}},{key:"hookupAdminStore",value:function(){this.hookupButtonsNavStoreProductCategories(),this.hookupButtonsNavStoreProducts(),this.hookupButtonsNavStoreProductPermutations(),this.hookupButtonsNavStoreProductPrices(),this.hookupButtonsNavStoreStockItems(),this.hookupButtonsNavStoreProductVariations(),this.hookupButtonsNavAdminStoreStripeProducts(),this.hookupButtonsNavAdminStoreStripePrices()}},{key:"hookupButtonsNavAdminStoreStripeProducts",value:function(){p.initialiseEventHandler("."+flagNavAdminStoreStripeProducts,flagInitialised,(function(e){e.addEventListener("click",(function(e){this.router.navigateToHash(hashPageAdminStoreStripeProducts)}))}))}},{key:"hookupButtonsNavAdminStoreStripePrices",value:function(){p.initialiseEventHandler("."+flagNavAdminStoreStripePrices,flagInitialised,(function(e){e.addEventListener("click",(function(e){this.router.navigateToHash(hashPageAdminStoreStripePrices)}))}))}},{key:"leave",value:function(){var e,r,n;(e=t,r=this,"function"==typeof(n=x(q(1&3?e.prototype:e),"leave",r))?function(e){return n.apply(r,e)}:n)([])}}],n&&L(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(F);function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function z(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Y(n.key),n)}}function Q(e,t,r){return t=W(t),function(e,t){if(t&&("object"==J(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,G()?Reflect.construct(t,r||[],W(e).constructor):t.apply(e,r))}function G(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(G=function(){return!!e})()}function K(){return K="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=W(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},K.apply(null,arguments)}function W(e){return W=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},W(e)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},X(e,t)}function Y(e){var t=function(e){if("object"!=J(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==J(t)?t:t+""}H=U,M="hash",_=hashPageAdminHome,(M=N(M))in H?Object.defineProperty(H,M,{value:_,enumerable:!0,configurable:!0,writable:!0}):H[M]=_;var $=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Q(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}(t,e),function(e,t){return t&&z(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize(),this.hookupButtonsNavContact()}},{key:"leave",value:function(){!function(e,t,r){var n=K(W(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function ee(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ie(n.key),n)}}function te(e,t,r){return t=ne(t),function(e,t){if(t&&("object"==Z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,re()?Reflect.construct(t,r||[],ne(e).constructor):t.apply(e,r))}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(re=function(){return!!e})()}function ne(e){return ne=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ne(e)}function oe(e,t){return oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},oe(e,t)}function ie(e){var t=function(e){if("object"!=Z(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Z(t)?t:t+""}!function(e,t,r){(t=Y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}($,"hash",hashPageHome);var ae=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),te(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&oe(e,t)}(t,e),function(e,t){return t&&ee(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}}])}(F);function ue(e){return ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ue(e)}function le(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ye(n.key),n)}}function ce(e,t,r){return t=pe(t),function(e,t){if(t&&("object"==ue(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,se()?Reflect.construct(t,r||[],pe(e).constructor):t.apply(e,r))}function se(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(se=function(){return!!e})()}function fe(){return fe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=pe(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},fe.apply(null,arguments)}function pe(e){return pe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},pe(e)}function de(e,t){return de=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},de(e,t)}function ye(e){var t=function(e){if("object"!=ue(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ue(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ue(t)?t:t+""}!function(e,t,r){(t=ie(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(ae,"hash",hashPageContact);var he=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ce(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&de(e,t)}(t,e),function(e,t){return t&&le(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"leave",value:function(){!function(e,t,r){var n=fe(pe(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function ve(e){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ve(e)}function ge(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ce(n.key),n)}}function be(e,t,r){return t=Pe(t),function(e,t){if(t&&("object"==ve(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,me()?Reflect.construct(t,r||[],Pe(e).constructor):t.apply(e,r))}function me(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(me=function(){return!!e})()}function ke(){return ke="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Pe(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},ke.apply(null,arguments)}function Pe(e){return Pe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Pe(e)}function Se(e,t){return Se=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Se(e,t)}function Ce(e){var t=function(e){if("object"!=ve(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ve(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ve(t)?t:t+""}!function(e,t,r){(t=ye(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(he,"hash",hashPageServices);var we=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),be(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Se(e,t)}(t,e),function(e,t){return t&&ge(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"leave",value:function(){!function(e,t,r){var n=ke(Pe(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}function Ee(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,De(n.key),n)}}function Te(e,t,r){return t=Ae(t),function(e,t){if(t&&("object"==Oe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,je()?Reflect.construct(t,r||[],Ae(e).constructor):t.apply(e,r))}function je(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(je=function(){return!!e})()}function Ie(){return Ie="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Ae(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Ie.apply(null,arguments)}function Ae(e){return Ae=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ae(e)}function Fe(e,t){return Fe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Fe(e,t)}function De(e){var t=function(e){if("object"!=Oe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Oe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Oe(t)?t:t+""}!function(e,t,r){(t=Ce(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(we,"hash",hashPageAccessibilityReport);var Le=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Te(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fe(e,t)}(t,e),function(e,t){return t&&Ee(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"leave",value:function(){!function(e,t,r){var n=Ie(Ae(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function Ve(e){return Ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ve(e)}function Be(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Me(n.key),n)}}function xe(e,t,r){return t=Ne(t),function(e,t){if(t&&("object"==Ve(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,qe()?Reflect.construct(t,r||[],Ne(e).constructor):t.apply(e,r))}function qe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(qe=function(){return!!e})()}function Re(){return Re="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Ne(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Re.apply(null,arguments)}function Ne(e){return Ne=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ne(e)}function He(e,t){return He=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},He(e,t)}function Me(e){var t=function(e){if("object"!=Ve(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Ve(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ve(t)?t:t+""}!function(e,t,r){(t=De(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Le,"hash",hashPageAccessibilityStatement);var _e=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),xe(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&He(e,t)}(t,e),function(e,t){return t&&Be(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"leave",value:function(){!function(e,t,r){var n=Re(Ne(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function Ue(e){return Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue(e)}function Je(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Xe(n.key),n)}}function ze(e,t,r){return t=Ke(t),function(e,t){if(t&&("object"==Ue(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Qe()?Reflect.construct(t,r||[],Ke(e).constructor):t.apply(e,r))}function Qe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Qe=function(){return!!e})()}function Ge(){return Ge="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Ke(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Ge.apply(null,arguments)}function Ke(e){return Ke=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ke(e)}function We(e,t){return We=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},We(e,t)}function Xe(e){var t=function(e){if("object"!=Ue(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Ue(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ue(t)?t:t+""}!function(e,t,r){(t=Me(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(_e,"hash",hashPageLicense);var Ye=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ze(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&We(e,t)}(t,e),function(e,t){return t&&Je(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize(),this.hookupStoreCardsInfo(),this.hookupOverlaysStoreBasketInfo(),this.hookupButtonCheckoutSession()}},{key:"hookupStoreCardsInfo",value:function(){document.querySelectorAll(idContainerInfoDelivery).addEventListener("click",(function(e){console.log("delivery modal display method"),document.querySelectorAll(idOverlayInfoDelivery).css("display","block")})),document.querySelectorAll(idContainerInfoBilling).addEventListener("click",(function(e){console.log("billing modal display method"),document.querySelectorAll(idOverlayInfoBilling).css("display","block")}))}},{key:"hookupOverlaysStoreBasketInfo",value:function(){var e,t;e=document.querySelectorAll(idOverlayInfoDelivery),t=e.querySelector("form"),hookupOverlay(e),p.initialiseEventHandler(t,flagInitialised,(function(){t.submit((function(e){t=document.querySelectorAll(t),e.preventDefault(),console.log("delivery submit method"),ajaxData={},ajaxData[keyInfoType]=keyInfoDelivery,ajaxData=convertFormBilling2JSON(ajaxData,idOverlayInfoDelivery),ajaxJSONData("info delivery",mapHashToController(hashStoreBasketInfo),ajaxData,loadInfoAddress,!1)}))})),e=document.querySelectorAll(idOverlayInfoBilling),t=e.querySelector("form"),hookupOverlay(e),p.initialiseEventHandler(t,flagInitialised,(function(){t.submit((function(e){e.preventDefault(),console.log("billing submit method"),ajaxData={},ajaxData[keyInfoType]=keyInfoBilling,ajaxData=convertFormBilling2JSON(ajaxData,idOverlayInfoBilling),ajaxJSONData("info billing",mapHashToController(hashStoreBasketInfo),ajaxData,loadInfoAddress,!1)}))}));var r=[keyNameFull,keyPhoneNumber,keyPostcode,keyAddress1,keyCity,keyCounty];for(var n in r)t.querySelector("#"+r[n]).removeAttr("required")}},{key:"loadInfoAddress",value:function(e){console.log("ajax:"),console.log(e.data);var t=e.data[keyInfoType],r=e.data[t];if(v.setLocalStorage(t,r),t==keyInfoBilling){var n=document.querySelectorAll(idContainerInfoBilling);r[keyInfoIdentical]?n.querySelector("div").innerHTML="Same as delivery address":n.querySelector("div").innerHTML="<strong>"+r[keyNameFull]+"</strong> at <strong>"+r[keyPostcode]+"</strong>",document.querySelectorAll(idOverlayInfoBilling).css("display","none"),document.querySelectorAll(idOverlayInfoBilling).querySelector("form").classList.add(flagSubmitted)}else document.querySelectorAll(idContainerInfoDelivery).querySelector("div").innerHTML="<strong>"+r[keyNameFull]+"</strong> at <strong>"+r[keyPostcode]+"</strong>",document.querySelectorAll(idOverlayInfoDelivery).css("display","none"),document.querySelectorAll(idOverlayInfoDelivery).querySelector("form").classList.add(flagSubmitted)}},{key:"convertFormBilling2JSON",value:function(e,t){var r;r=document.querySelectorAll(t).querySelector("form"),r=document.querySelectorAll(idOverlayInfoDelivery).querySelector("form"),console.log("converting billing form to json\nform ID: "+r.id),e[flagForm]=convertForm2JSON(r);var n=[keyNameFull,keyPhoneNumber,keyPostcode,keyAddress1,keyAddress2,keyCity,keyCounty];for(var o in console.log("ajaxData:"),console.log(e),e[flagForm][keyInfoIdentical]=getElementValueCurrent(r.querySelector("#"+keyInfoIdentical)),n)t==idOverlayInfoBilling&&e[flagForm][keyInfoIdentical]?e[flagForm][n[o]]=getElementValueCurrent((void 0).querySelector("#"+n[o])):e[flagForm][n[o]]=getElementValueCurrent(r.querySelector("#"+n[o]));return console.log("ajaxData:"),console.log(e),e}},{key:"hookupButtonCheckoutSession",value:function(){var e=document.querySelectorAll(idButtonCheckout);e.classList.remove(flagInitialised),p.initialiseEventHandler(idButtonCheckout,flagInitialised,(function(){e.removeEventListener("click"),e.addEventListener("click",(function(e){var t=v.getLocalStorage(keyBasket),r={};r[keyBasket]=t,r=convertFormBilling2JSON(r,idOverlayInfoDelivery),(r=convertFormBilling2JSON(r,idOverlayInfoBilling))[key_code_currency]=getCurrencySelected(),ajaxJSONData("checkout session",mapHashToController(hashPageStoreCheckout),r,handleResponseCheckout,!1)}))}))}},{key:"handleResponseCheckout",value:function(e){window.location.href=e.data[keyUrlCheckout]}},{key:"hookupButtonFormBillingCopy",value:function(){p.initialiseEventHandler(idButtonFormBillingCopy,flagInitialised,(function(){document.querySelectorAll(idButtonFormBillingCopy).addEventListener("click",(function(e){var t=[keyNameFull,keyPhoneNumber,keyPostcode,keyAddress1,keyAddress2,keyCity,keyCounty],r=document.querySelectorAll(idOverlayInfoBilling).querySelector("form"),n=document.querySelectorAll(idOverlayInfoDelivery).querySelector("form");for(var o in t)r.querySelector("#"+t[o]).value=getElementValueCurrent(n.querySelector("#"+t[o]))}))}))}},{key:"leave",value:function(){!function(e,t,r){var n=Ge(Ke(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function $e(e){return $e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$e(e)}function Ze(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,it(n.key),n)}}function et(e,t,r){return t=nt(t),function(e,t){if(t&&("object"==$e(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,tt()?Reflect.construct(t,r||[],nt(e).constructor):t.apply(e,r))}function tt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(tt=function(){return!!e})()}function rt(){return rt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=nt(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},rt.apply(null,arguments)}function nt(e){return nt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},nt(e)}function ot(e,t){return ot=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ot(e,t)}function it(e){var t=function(e){if("object"!=$e(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=$e(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==$e(t)?t:t+""}!function(e,t,r){(t=Xe(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Ye,"hash",hashPageStoreBasket);var at=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),et(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ot(e,t)}(t,e),function(e,t){return t&&Ze(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize(),this.hookupFiltersStore(),this.hookupStoreHome()}},{key:"leave",value:function(){!function(e,t,r){var n=rt(nt(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function ut(e){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ut(e)}function lt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ct(n.key),n)}}function ct(e){var t=function(e){if("object"!=ut(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ut(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ut(t)?t:t+""}!function(e,t,r){(t=it(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(at,"hash",hashPageStoreHome);var st=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return function(e,t,r){return r&&lt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,0,[{key:"getOptionJsonFromObjectJsonAndKeys",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{text:e[t],value:e[r],selected:e[r]==n}}},{key:"getOptionJsonFromObjectJson",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=t[flagNameAttrOptionText],o=t[flagNameAttrOptionValue];return console.log({objectJson:t,keyText:n,keyValue:o}),e.getOptionJsonFromObjectJsonAndKeys(t,n,o,r)}}])}();function ft(e){return ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ft(e)}function pt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,dt(n.key),n)}}function dt(e){var t=function(e){if("object"!=ft(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ft(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ft(t)?t:t+""}var yt=function(){return function(e,t,r){return r&&pt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}),0,[{key:"getListFromDict",value:function(e){var t=[];for(var r in e)t.push(e[r]);return t}}])}();function ht(e){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ht(e)}function vt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,gt(n.key),n)}}function gt(e){var t=function(e){if("object"!=ht(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ht(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ht(t)?t:t+""}var bt=function(){return function(e,t,r){return r&&vt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}),0,[{key:"hookup",value:function(){p.initialiseEventHandler(idOverlayError+" button."+flagCancel,flagInitialised,(function(e){e.addEventListener("click",(function(){document.querySelector(idOverlayError).style.visibility="hidden"}))}))}},{key:"show",value:function(e){var t=document.querySelector(idOverlayError);t.querySelector(idLabelError).innerText=e,t.style.visibility="visible"}}])}();function mt(e){return mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mt(e)}function kt(e,t,r){return(t=St(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,St(n.key),n)}}function St(e){var t=function(e){if("object"!=mt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=mt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==mt(t)?t:t+""}function Ct(e,t,r){return t=Tt(t),function(e,t){if(t&&("object"==mt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,wt()?Reflect.construct(t,r||[],Tt(e).constructor):t.apply(e,r))}function wt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(wt=function(){return!!e})()}function Ot(e,t,r,n){var o=Et(Tt(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Et(){return Et="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Tt(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Et.apply(null,arguments)}function Tt(e){return Tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Tt(e)}function jt(e,t){return jt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},jt(e,t)}var It=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=Ct(this,t,[e])).cursorYInitial=null,r.rowInitial=null,r.placeholder=null,r.dragSrcEl=null,r.dragSrcRow=null,r.hookupTableCellDdls=r.hookupTableCellDdls.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&jt(e,t)}(t,e),function(e,t,r){return t&&Pt(e.prototype,t),r&&Pt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){throw new Error("Must implement initialize() method.")}},{key:"sharedInitialize",value:function(){var e=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]){var o=this.getLocalStoragePage()[flagFormFilters],i=this.getFormFilters(),a=l.convertForm2JSON(i);n.areEqualDicts(o,a)||this.callFilterTableContent(o)}else Ot(t,"sharedInitialize",this,3)([]),this.hookupFilters(),this.hookupButtonsAddSaveCancel(),this.hookupTableMain(),T.hookup((function(){r?e.saveRecordsTableDirtySinglePageApp():e.saveRecordsTableDirty()}))}},{key:"hookupFilters",value:function(){if(this.constructor===t)throw new Error("Subclass of TableBasePage must implement method hookupFilters().")}},{key:"sharedHookupFilters",value:function(){this.hookupButtonApplyFilters()}},{key:"hookupFilterActive",value:function(){this.hookupFilter(flagActive)}},{key:"hookupFilter",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,r){return t.isDirtyFilter(r)},n=idFormFilters+" ."+e;this.hookupEventHandler("change",n,r)}},{key:"hookupFilterIsNotEmpty",value:function(){this.hookupFilter(flagIsNotEmpty)}},{key:"hookupButtonApplyFilters",value:function(){var e=this;this.hookupEventHandler("click",idButtonApplyFilters,(function(t,r){t.stopPropagation(),e.getAndLoadFilteredTableContent()}))}},{key:"getAndLoadFilteredTableContent",value:function(){var e=this.getFormFilters(),t=l.convertForm2JSON(e);this.leave(),this.callFilterTableContent(t).catch((function(e){return console.error("Error:",e)}))}},{key:"getFormFilters",value:function(){return document.querySelector(idFormFilters)}},{key:"callbackLoadTableContent",value:function(e){this.getTableMain().querySelector("tbody").querySelectorAll("tr").forEach((function(e){e.remove()}));var t=e.data[flagRows];!n.isEmpty(t)&&t.every((function(e){return e.hasOwnProperty("display_order")}))&&(t=t.sort((function(e,t){return e.display_order-t.display_order}))),t.forEach(this.loadRowTable.bind(this)),this.hookupTableMain()}},{key:"getTableMain",value:function(){return document.querySelector(idTableMain)}},{key:"loadRowTable",value:function(e){throw new Error("Subclass of TableBasePage must implement method loadRowTable().")}},{key:"getAndLoadFilteredTableContentSinglePageApp",value:function(){var e=this,t=this.getFormFilters(),r=l.convertForm2JSON(t);this.callFilterTableContent(r).then((function(t){console.log("Table data received:",t),e.callbackLoadTableContent(t)})).catch((function(e){return console.error("Error:",e)}))}},{key:"hookupButtonsAddSaveCancel",value:function(){this.hookupButtonAddRowTable(),this.hookupButtonSave(),this.hookupButtonCancel(),this.toggleShowButtonsSaveCancel(!1)}},{key:"saveRecordsTableDirty",value:function(){var e=this,t=this.getTableRecords(!0);if(0!=t.length){var r=this.getFormFilters(),n=l.getElementValueCurrent(document.querySelector(idTextareaConfirm));this.callSaveTableContent(t,r,n).then((function(t){t[flagStatus]==flagSuccess?(console.log("Records saved!"),console.log("Data received:",t),e.getAndLoadFilteredTableContent()):(console.log("error: ",t[flagMessage]),bt.show(t[flagMessage]))})).catch((function(e){return console.error("Error:",e)}))}else bt.show("No records to save")}},{key:"getTableRecords",value:function(){var e,t=this,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.getTableMain(),o=[];return n.querySelectorAll("tbody tr").forEach((function(n){r&&!n.classList.contains(flagDirty)||(e=t.getJsonRow(n),o.push(e))})),o}},{key:"getJsonRow",value:function(e){throw new Error("Subclass of TableBasePage must implement method getJsonRow().")}},{key:"saveRecordsTableDirtySinglePageApp",value:function(){var e=this,t=this.getTableRecords(!0);if(0!=t.length){var r=this.getFormFilters(),n=l.getElementValueCurrent(document.querySelector(idTextareaConfirm));this.callSaveTableContent(t,r,n).then((function(t){t[flagStatus]==flagSuccess?(console.log("Records saved!"),console.log("Data received:",t),e.callbackLoadTableContent(t)):(console.log("error: ",t[flagMessage]),bt.show(t[flagMessage]))})).catch((function(e){return console.error("Error:",e)}))}else bt.show("No records to save")}},{key:"hookupButtonCancel",value:function(){p.initialiseEventHandler(idFormFilters+" button."+flagCancel,flagInitialised,(function(e){e.addEventListener("click",(function(e){e.stopPropagation(),getAndLoadFilteredTableContent()})),e.classList.add(flagCollapsed)}))}},{key:"hookupButtonAddRowTable",value:function(){var e=this;this.hookupEventHandler("click",idFormFilters+" button."+flagAdd,(function(t,r){t.stopPropagation();var n=document.querySelector(idTableMain+" tbody"),o=_rowBlank.cloneNode(!0);o.classList.remove(flagInitialised),o.querySelectorAll("."+flagInitialised).forEach((function(e){e.classList.remove(flagInitialised)})),e.initialiseRowNew(o),n.appendChild(o),e.hookupTableMain()}))}},{key:"initialiseRowNew",value:function(e){if(this.constructor===t)throw new Error("Subclass of TableBasePage must implement method initialiseRowNew().");e.classList.remove(flagRowNew)}},{key:"hookupTableMain",value:function(){var e=this;if(this.constructor===t)throw new Error("Must implement hookupTableMain() method.");p.initialiseEventHandler(idTableMain,flagInitialised,(function(t){e.cacheRowBlank()}))}},{key:"cacheRowBlank",value:function(){var e=idTableMain+" tbody tr."+flagRowNew,t=document.querySelector(e);console.log("row blank temp: ",t),_rowBlank=t.cloneNode(!0),document.querySelectorAll(e).forEach((function(e){e.remove()}))}},{key:"hookupSlidersDisplayOrderTable",value:function(){var e=idTableMain+" tbody tr td."+flagDisplayOrder+" input."+flagSlider+"."+flagDisplayOrder;this.hookupChangeHandlerTableCells(e)}},{key:"hookupChangeHandlerTableCells",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,r){t.handleChangeElementCellTable(e,r)};p.initialiseEventHandler(e,flagInitialised,(function(e){e.addEventListener("change",(function(t){r(t,e)})),t.handleChangeElementCellTable(null,e)}))}},{key:"handleChangeElementCellTable",value:function(e,t){var r=l.getRowFromElement(t),n=l.getCellFromElement(t),o=l.hasDirtyChildrenContainer(r),i=t.classList.contains(flagDirty),a=l.updateAndCheckIsElementDirty(t);if(a!=i){l.handleDirtyElement(n,a);var u=l.hasDirtyChildrenContainer(r);if(u!=o){l.handleDirtyElement(r,u);var c=this.getTableRecords(!0).length>0;this.toggleShowButtonsSaveCancel(c)}}}},{key:"hookupChangeHandlerTableCellsWhenNotCollapsed",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,r){r.classList.contains(flagCollapsed)||t.handleChangeElementCellTable(e,r)};this.hookupEventHandler("change",e,r)}},{key:"hookupTextareasCodeTable",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" tbody tr td."+flagCode+" textarea")}},{key:"hookupTextareasNameTable",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" tbody tr td."+flagName+" textarea")}},{key:"hookupTextareasDescriptionTable",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" tbody tr td."+flagDescription+" textarea")}},{key:"hookupInputsActiveTable",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" tbody tr td."+flagActive+' input[type="checkbox"]')}},{key:"hookupTdsAccessLevel",value:function(){var e=idTableMain+" tbody td."+flagAccessLevel;this.hookupTableCellDdlPreviews(e,yt.getListFromDict(accessLevels))}},{key:"hookupTableCellDdlPreviews",value:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e,t){r.hookupTableCellDdls(e,t)};this.hookupEventHandler("click",e,(function(o,i){r.handleClickTableCellDdlPreview(o,i,t,e,(function(e,t){n(e,t)}))}))}},{key:"hookupTableCellDdls",value:function(e){var t=this;this.hookupEventHandler("change",e,(function(e,r){t.handleChangeTableCellDdl(e,r)}))}},{key:"handleClickTableCellDdlPreview",value:function(e,t,r,n){var o=this,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(e,t){o.hookupTableCellDdls(e,t)};if(!t.querySelector("select")){console.log("click table cell ddl preview");var a=t.cloneNode(!0);t.parentNode.replaceChild(a,t);var u=a.getAttribute(attrValueCurrent);a.innerHTML="";var c,s,f=document.createElement("select");l.setElementValuesCurrentAndPrevious(f,l.getElementAttributeValueCurrent(a)),console.log({optionObjectList:r,cellSelector:n}),r.forEach((function(e){c=st.getOptionJsonFromObjectJson(e,u),s=l.createOption(c),f.appendChild(s)})),a.appendChild(f),i(n+" select")}}},{key:"handleChangeTableCellDdl",value:function(e,t){var r=l.getRowFromElement(t),n=l.getCellFromElement(t);console.log("td: ",n);var o=l.hasDirtyChildrenContainer(r),i=t.classList.contains(flagDirty),a=l.updateAndCheckIsElementDirty(t);if(console.log("isDirtyElement: ",a),console.log("wasDirtyElement: ",i),a!=i){l.handleDirtyElement(n,a);var u=t.options[t.selectedIndex];l.setElementAttributeValueCurrent(n,u.value);var c=l.hasDirtyChildrenContainer(r);if(console.log("isNowDirtyRow: ",c),console.log("wasDirtyRow: ",o),c!=o){l.handleDirtyElement(r,c);var s=this.getTableRecords(!0),f=s.length>0;console.log("dirty records:",s),console.log("existsDirtyRecord:",f),this.toggleShowButtonsSaveCancel(f)}}}},{key:"hookupTableCellDDlPreviewsWhenNotCollapsed",value:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e,t){r.hookupTableCellDdls(e,t)};this.hookupEventHandler("click",e,(function(o,i){var a=i.querySelector("div");a&&!a.classList.contains(flagCollapsed)&&r.handleClickTableCellDdlPreview(o,i,t,e,(function(e,t){n(e,t)}))}))}},{key:"hookupProductPermutationVariationFields",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagProductVariations,(function(t,r){return e.handleClickProductPermutationVariationsPreview(t,r)}))}},{key:"handleClickProductPermutationVariationsPreview",value:function(e,t){var r=this;console.log("click product permutation variations preview"),this.toggleColumnCollapsed(flagProductVariations,!1);var o=this.getElementProductVariations(t),i=document.createElement("table");i.classList.add(flagProductVariations);var a=document.createElement("thead"),u=document.createElement("tr"),l=document.createElement("th");l.textContent="Type";var c=document.createElement("th");c.textContent="Name";var s=document.createElement("button");s.classList.add(flagAdd),s.textContent="+";var f=document.createElement("th");f.appendChild(s),u.appendChild(l),u.appendChild(c),u.appendChild(f),a.appendChild(u),i.appendChild(a);var p=document.createElement("tbody");console.log("variations:",o),n.isEmpty(o)?o=[PageStoreProductPermutations.createOptionUnselectedProductVariation()]:o.forEach((function(e,t){r.addProductPermutationVariationRow(p,e)})),i.appendChild(p);var d=t.parentElement;d.innerHTML="",d.appendChild(i),console.log("tblVariations: ",i);var y=idTableMain+" td."+flagProductVariations+" button."+flagAdd;this.hookupEventHandler("click",y,this.handleClickButtonProductPermutationVariationsAdd);var h=idTableMain+" td."+flagProductVariations+" button."+flagDelete;this.hookupEventHandler("click",h,this.handleClickButtonProductPermutationVariationsDelete)}},{key:"toggleColumnCollapsed",value:function(e,t){this.toggleColumnHasClassnameFlag(e,t,flagCollapsed)}},{key:"getElementProductVariations",value:function(e){var t,r,o,i=e.getAttribute(attrValueCurrent),a=[];return n.isEmpty(i)||(i=i.split(",")).forEach((function(e){2==(t=e.split(":")).length?(console.log("parts: ",t),o=productVariationTypes[t[0].trim()],r=productVariations[t[1].trim()],a.push(kt(kt({},flagProductVariationType,o),flagProductVariation,r))):console.log("error: invalid variation: ",e)})),a}},{key:"addProductPermutationVariationRow",value:function(e,t){var r,n,o,i,a,u,c=Object.keys(productVariations),s=Object.keys(productVariationTypes);console.log("permutationVariation: ",t);var f=t[flagProductVariation],p=t[flagProductVariationType],d=document.createElement("td");d.classList.add(flagProductVariationType),l.setElementAttributesValuesCurrentAndPrevious(d,p[attrIdProductVariationType]);var y=document.createElement("select");y.classList.add(flagProductVariationType),l.setElementAttributesValuesCurrentAndPrevious(y,p[attrIdProductVariationType]),o=l.createOption(null),console.log("optionProductVariationType: ",o),y.appendChild(o),s.forEach((function(e){r=productVariationTypes[e],n=st.getOptionJsonFromObjectJson(r,p[attrIdProductVariationType]),o=l.createOption(n),console.log("optionProductVariationType: ",o),y.appendChild(o)}));var h=document.createElement("td");h.classList.add(flagProductVariation),l.setElementAttributesValuesCurrentAndPrevious(h,f[attrIdProductVariation]);var v=document.createElement("select");v.classList.add(flagProductVariation),l.setElementAttributesValuesCurrentAndPrevious(v,f[attrIdProductVariation]),u=l.createOption(null),console.log("optionProductVariation: ",u),v.appendChild(u),c.forEach((function(e){i=productVariations[e],a=st.getOptionJsonFromObjectJson(i,f[attrIdProductVariation]),u=l.createOption(a),console.log("optionProductVariation: ",u),v.appendChild(u)}));var g=document.createElement("td");g.classList.add(flagDelete);var b=document.createElement("button");b.classList.add(flagDelete),b.textContent="x";var m=document.createElement("tr");d.appendChild(y),m.appendChild(d),h.appendChild(v),m.appendChild(h),g.appendChild(b),m.appendChild(g),e.appendChild(m)}},{key:"handleClickButtonProductPermutationVariationsDelete",value:function(e,t){var r=getRowFromElement(t),n=r.closest("td."+flagProductVariations);r.remove(),this.updateProductPermutationVariations(n)}},{key:"updateProductPermutationVariations",value:function(e){var t=this.getProductPermutationVariationsText(e);e.setAttribute(attrValueCurrent,t),l.isElementDirty(e)}},{key:"getProductPermutationVariationsText",value:function(e){var t,r,n,o,i=e.querySelectorAll("tr"),a="";return i.forEach((function(e,i){t=e.querySelector("td select."+flagProductVariationType),r=e.querySelector("td select."+flagProductVariation),n=t.getAttribute(attrValueCurrent),o=r.getAttribute(attrValueCurrent),a+=n+":"+o+","})),a}},{key:"leave",value:function(){if(this.constructor===t)throw new Error("Must implement leave() method.");Ot(t,"leave",this,3)([]);var e=this.getFormFilters(),r={};r[flagFormFilters]=l.convertForm2JSON(e),this.setLocalStoragePage(r)}},{key:"toggleColumnHasClassnameFlag",value:function(e,t,r){var n=this.getTableMain(),o=n.querySelector("th."+e),i=o.classList.contains(r);if(t!=i){var a=n.querySelectorAll("td."+e);l.toggleElementHasClassnameFlag(o,t,r),a.forEach((function(e){l.toggleElementHasClassnameFlag(e,t,r)}))}}}],[{key:"isDirtyFilter",value:function(e){var t=l.updateAndCheckIsElementDirty(e);if(t){var r=document.querySelector(idTableMain+" tbody");r.querySelectorAll("tr").remove(),r.appendChild(document.createElement('<div>Press "Apply Filters" to refresh the table.</div>'))}return t}},{key:"createOptionUnselectedProductVariation",value:function(){return kt(kt({},flagProductVariationType,kt(kt(kt(kt({},flagNameAttrOptionText,[flagName]),flagNameAttrOptionValue,[attrIdProductVariationType]),flagName,"Select Variation Type"),attrIdProductVariationType,0)),flagProductVariation,kt(kt(kt(kt({},flagNameAttrOptionText,[flagName]),flagNameAttrOptionValue,[attrIdProductVariation]),flagName,"Select Variation"),attrIdProductVariation,0))}}])}(F);function At(e){return At="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},At(e)}function Ft(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Dt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dt(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Lt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Vt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Lt(Object(r),!0).forEach((function(t){Bt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Lt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Bt(e,t,r){return(t=qt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,qt(n.key),n)}}function qt(e){var t=function(e){if("object"!=At(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=At(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==At(t)?t:t+""}var Rt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.page=t}return function(e,t,r){return t&&xt(e.prototype,t),r&&xt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"initialize",value:function(){console.log("hookup store start for ",this.page.hash),this.hookupFilters(),this.hookupLocalStorageStore(),this.hookupBasket(),this.hookupButtonsAddToBasket()}},{key:"hookupFilters",value:function(){this.hookupFilterCurrency(),this.hookupFilterDeliveryRegion(),this.hookupFilterIsIncludedVAT()}},{key:"hookupFilterCurrency",value:function(){for(var e,t,r,n=document.querySelectorAll(idCurrency)[0],o=0;o<n.options.length;o++)t=(r=(e=document.querySelectorAll(n.options[o])).text()).indexOf("-"),e.setAttribute(attrTextExpanded,r),e.setAttribute(attrTextCollapsed,r.substring(0,t-1)),e.classList.add(flagCollapsed);handleSelectCollapse(n),p.initialiseEventHandler(n,flagInitialised,(function(){(n=document.querySelectorAll(n)).addEventListener("focus",(function(){handleSelectExpand(n)})),n.addEventListener("blur",(function(){handleSelectCollapse(n)})),n.addEventListener("change",(function(){var e=n.val();console.log("selected currency: ",e);var t=v.getLocalStorage(keyBasket);t[keyIdCurrency]=e,v.setLocalStorage(keyBasket,t);var r={};r[keyBasket]=t,ajaxJSONData("update currency",mapHashToController(hashPageCurrent),r,loadPageBody,!1)}))}))}},{key:"hookupFilterDeliveryRegion",value:function(){for(var e,t,r,n=document.querySelectorAll(idRegionDelivery)[0],o=0;o<n.options.length;o++)t=(r=(e=document.querySelectorAll(n.options[o])).text()).indexOf("-"),e.setAttribute(attrTextExpanded,r),e.setAttribute(attrTextCollapsed,r.substring(0,t-1)),e.classList.add(flagCollapsed);handleSelectCollapse(n),p.initialiseEventHandler(n,flagInitialised,(function(){(n=document.querySelectorAll(n)).addEventListener("focus",(function(){console.log("dropdown region focused"),handleSelectExpand(n)})),n.addEventListener("blur",(function(){console.log("dropdown region blurred"),handleSelectCollapse(n)})),n.addEventListener("change",(function(){handleSelectCollapse(n);var e=n.val();console.log("selected region: ",e);var t=v.getLocalStorage(keyBasket);t[keyIdRegionDelivery]=e,v.setLocalStorage(keyBasket,t);var r={};r[keyIdRegionDelivery]=e,ajaxJSONData("update region",mapHashToController(hashStoreSetRegion),r,null,!1)}))}))}},{key:"hookupFilterIsIncludedVAT",value:function(){var e=document.querySelectorAll(idFormIsIncludedVAT),t=document.querySelectorAll(e.querySelector('input[type="checkbox"]')[0]);p.initialiseEventHandler(t,flagInitialised,(function(){e=document.querySelectorAll(idFormIsIncludedVAT),t.addEventListener("change",(function(t){ajaxData={},ajaxData[flagForm]=convertForm2JSON(e),console.log("sending data to include VAT controller: "),console.log(ajaxData),ajaxJSONData("set include VAT",mapHashToController(hashStoreSetIsIncludedVAT),ajaxData,(function(){window.location.reload()}),!1)})),console.log("form is included VAT initialised")}))}},{key:"hookupLocalStorage",value:function(){var t=v.getLocalStorage(keyBasket);e.validateBasket(t)||(console.log("locally-stored basket not valid"),t=e.makeNewBasket());var r=e.validateBasket(userBasket)?userBasket:t,n=e.areEqualBaskets(t,r)?r:e.mergeBaskets(t,r);e.areEqualBaskets(t,n)||v.setLocalStorage(keyBasket,n),e.areEqualBaskets(r,n)||API.saveStoreBasket(n),userBasket=n}},{key:"hookupBasket",value:function(){this.toggleShowButtonCheckout(),this.hookupButtonCheckout(),this.hookupBasketItemPlusAndMinusButtons(),this.hookupBasketAddInputs(),this.hookupBasketEditInputs(),this.hookupDeleteBasketItemButtons()}},{key:"toggleShowButtonCheckout",value:function(){console.log("toggling checkout button");var e=document.querySelectorAll(idButtonCheckout),t=document.querySelectorAll(idLabelBasketEmpty);0==userBasket.items.length?(e.style.display="none",t.style.display=""):(e.style.display="",t.style.display="none")}},{key:"hookupButtonCheckout",value:function(){console.log("hooking up checkout button");var e=document.querySelectorAll(idButtonCheckout);p.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(){this.router.navigateToHash(hashPageStoreBasket)}))}))}},{key:"hookupBasketItemPlusAndMinusButtons",value:function(){var e=document.querySelector(idFormBasket);e.querySelectorAll("div.btn-increment["+attrFormType+"="+typeFormBasketAdd+"]").each((function(){var e=this;p.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation();var r=document.querySelectorAll(getFormProductSelector(typeFormBasketAdd,e)).querySelector('input[type="number"]'),n=parseInt(l.getElementValueCurrent(r));isNaN(n)&&(n=1),n+=1,r.val(n)}))}))})),e.querySelectorAll("div.btn-decrement["+attrFormType+"="+typeFormBasketAdd+"]").each((function(){var e=this;p.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation();var r=document.querySelectorAll(getFormProductSelector(typeFormBasketAdd,e)).querySelector('input[type="number"]'),n=parseInt(l.getElementValueCurrent(r));isNaN(n)&&(n=1),n=Math.max(1,n-1),r.val(n)}))}))})),e.querySelectorAll("div.btn-increment["+attrFormType+"="+typeFormBasketEdit+"]").each((function(){var e=this;p.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(t){t.stopPropagation();var r=document.querySelectorAll(getFormProductSelector(typeFormBasketEdit,e)).querySelector('input[type="number"]'),n=parseInt(l.getElementValueCurrent(r));isNaN(n)&&(n=1),n+=1,r.val(n),r.trigger("change")}))}))})),e.querySelectorAll("div.btn-decrement["+attrFormType+"="+typeFormBasketEdit+"]").each((function(){var e=this;p.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(t){t.stopPropagation();var r=document.querySelectorAll(getFormProductSelector(typeFormBasketEdit,e)).querySelector('input[type="number"]'),n=parseInt(l.getElementValueCurrent(r));isNaN(n)&&(n=1),n=Math.max(1,n-1),r.val(n),r.trigger("change")}))}))}))}},{key:"hookupBasketAddForms",value:function(){var e="form["+attrFormType+"="+typeFormBasketAdd+"]";p.initialiseEventHandler(e,flagInitialised,(function(e){var t=e.querySelector('input[type="number"]');t.addEventListener("change",(function(e){var r=parseInt(t.value);(isNaN(r)||r<0)&&(t.value=0)})),e.querySelector("button").addEventListener("click",(function(r){r.preventDefault(),r.stopPropagation();var n={};n[keyIdProductPermutation]=e.getAttribute(attrIdPermutation),n[keyQuantity]=t.value,API.storeAddToBasket(n)}))}))}},{key:"hookupBasketEditForms",value:function(){var e="form["+attrFormType+"="+typeFormBasketEdit+"]";p.initialiseEventHandler(e,flagInitialised,(function(e){var t=e.querySelector('input[type="number"]');t.addEventListener("change",(function(r){var n=parseInt(t.value);if((isNaN(n)||n<0)&&(t.value=0),t.value!=e.getAttribute(attrQuantity)){var o={};o[keyIdProductPermutation]=e.getAttribute(attrIdPermutation),o[keyQuantity]=t.value,API.storeSaveBasket(o)}})),e.querySelector("button").addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),API.storeDeleteBasketItem(e.getAttribute(attrIdPermutation))}))}))}},{key:"loadBasket",value:function(e){userBasket=e.data[keyBasket];var t=document.querySelectorAll(idFormBasket),r=e.data[keyHtmlBlock];t.innerHTML=r,this.hookupBasket()}},{key:"getCurrencySelected",value:function(){var e=document.querySelectorAll(idSelectorCurrency).val();return console.log("selected currency: ",e),e}},{key:"hookupStoreCardsProduct",value:function(){p.initialiseEventHandler(".card.subcard",flagInitialised,(function(e){console.log("initialising product card: ",e),e.addEventListener("click",(function(t){if("submit"!=t.target.id){console.log("product click: "+e.getAttribute(attrIdProduct)),console.log("permutation click: "+e.getAttribute(attrIdPermutation));var r={};r[keyIdProduct]=e.getAttribute(attrIdProduct),r[keyIdPermutation]=e.getAttribute(attrIdPermutation),goToPage(hashPageStoreProduct,r)}})),console.log("click method added for product ID: "+e.getAttribute(attrIdProduct)+", permutation ID: ",e.getAttribute(attrIdPermutation))}))}},{key:"leave",value:function(){}}],[{key:"validateBasket",value:function(e){return n.isEmpty(e)&&n.dictHasKey(e,keyItems)&&n.dictHasKey(e,keyIsIncludedVAT)&&n.dictHasKey(e,keyIdCurrency)&&n.dictHasKey(e,keyIdRegionDelivery)}},{key:"makeNewBasket",value:function(){return Bt(Bt(Bt(Bt({},keyItems,[]),keyIsIncludedVAT,!0),keyIdCurrency,1),keyIdRegionDelivery,1)}},{key:"areEqualBaskets",value:function(e,t){return JSON.stringify(e)===JSON.stringify(t)}},{key:"mergeBaskets",value:function(e,t){var r,n=Vt(Vt({},t),e),o={},i=Ft(t[keyItems]);try{for(i.s();!(r=i.n()).done;){var a=r.value;o[a[keyIdPermutation]]=a.Quantity}}catch(e){i.e(e)}finally{i.f()}var u,l=Ft(e[keyItems]);try{for(l.s();!(u=l.n()).done;){var c=u.value;o[c[keyIdPermutation]]=o[c[keyIdPermutation]]?o[c[keyIdPermutation]]+c.Quantity:c.Quantity}}catch(e){l.e(e)}finally{l.f()}return n[keyItems]=Object.values(o),n}}])}();function Nt(e){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nt(e)}function Ht(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Mt(n.key),n)}}function Mt(e){var t=function(e){if("object"!=Nt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Nt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Nt(t)?t:t+""}function _t(e,t,r){return t=zt(t),function(e,t){if(t&&("object"==Nt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ut()?Reflect.construct(t,r||[],zt(e).constructor):t.apply(e,r))}function Ut(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ut=function(){return!!e})()}function Jt(){return Jt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=zt(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Jt.apply(null,arguments)}function zt(e){return zt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zt(e)}function Qt(e,t){return Qt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Qt(e,t)}var Gt=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),_t(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qt(e,t)}(t,e),function(e,t){return t&&Ht(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){!function(e,t,r){var n=Jt(zt(e.prototype),"initialize",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([]),this.hookupFilters(),this.hookupTable()}},{key:"hookupFilters",value:function(){}},{key:"hookupTable",value:function(){}}])}(Rt);function Kt(e){return Kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kt(e)}function Wt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,nr(n.key),n)}}function Xt(e,t,r){return t=er(t),function(e,t){if(t&&("object"==Kt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Yt()?Reflect.construct(t,r||[],er(e).constructor):t.apply(e,r))}function Yt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Yt=function(){return!!e})()}function $t(e,t,r,n){var o=Zt(er(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Zt(){return Zt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=er(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Zt.apply(null,arguments)}function er(e){return er=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},er(e)}function tr(e,t){return tr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},tr(e,t)}function rr(e,t,r){return(t=nr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nr(e){var t=function(e){if("object"!=Kt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Kt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Kt(t)?t:t+""}var or=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),rr(r=Xt(this,t,[e]),"callFilterTableContent",C.getCategoriesByFilters),rr(r,"callSaveTableContent",C.saveCategories),r.storeMixin=new Gt(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&tr(e,t)}(t,e),function(e,t){return t&&Wt(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterIsNotEmpty(),this.hookupFilterActive()}},{key:"hookupFilterIsNotEmpty",value:function(){this.hookupEventHandler("change",idFormFilters+" ."+flagIsNotEmpty,(function(e,r){t.isDirtyFilter(r)}))}},{key:"loadRowTable",value:function(e){if(null!=e){var t=_rowBlank.cloneNode(!0);t.classList.remove(flagRowNew),t.classList.remove(flagInitialised),t.querySelectorAll("."+flagInitialised).forEach((function(e){e.classList.remove(flagInitialised)})),console.log("applying data row: ",e);var r=t.querySelector("td."+flagDisplayOrder+" ."+flagSlider),n=t.querySelector("td."+flagCode+" textarea"),o=t.querySelector("td."+flagName+" textarea"),i=t.querySelector("td."+flagDescription+" textarea"),a=t.querySelector("td."+flagAccessLevel),u=a.querySelector("div."+flagAccessLevel),c=t.querySelector("td."+flagActive+' input[type="checkbox"]');l.setElementValuesCurrentAndPrevious(r,e[flagDisplayOrder]),l.setElementValuesCurrentAndPrevious(n,e[flagCode]),l.setElementValuesCurrentAndPrevious(o,e[flagName]),l.setElementValuesCurrentAndPrevious(i,e[flagDescription]),a.setAttribute(attrIdAccessLevel,e[attrIdAccessLevel]),a.setAttribute(flagAccessLevelRequired,e[flagAccessLevelRequired]),u.setAttribute(attrIdAccessLevel,e[attrIdAccessLevel]),l.setElementValuesCurrentAndPrevious(u,e[attrIdAccessLevel]),u.textContent=e[flagAccessLevelRequired],l.setElementValuesCurrentAndPrevious(c,e[flagActive]),t.setAttribute(e[flagKeyPrimary],e[e[flagKeyPrimary]]),this.getTableMain().querySelector("tbody").appendChild(t)}}},{key:"getJsonRow",value:function(e){if(null!=e){var t=e.querySelector("td."+flagDisplayOrder+" ."+flagSlider),r=e.querySelector("td."+flagCode+" textarea"),n=e.querySelector("td."+flagName+" textarea"),o=e.querySelector("td."+flagDescription+" textarea"),i=e.querySelector("td."+flagAccessLevel),a=e.querySelector("td."+flagActive+' input[type="checkbox"]'),u={};return u[attrIdProductCategory]=e.getAttribute(attrIdProductCategory),u[flagCode]=l.getElementValueCurrent(r),u[flagName]=l.getElementValueCurrent(n),u[flagDescription]=l.getElementValueCurrent(o),u[attrIdAccessLevel]=l.getElementValueCurrent(i),u[flagActive]=l.getElementValueCurrent(a),u[flagDisplayOrder]=t.getAttribute(attrValueCurrent),u}}},{key:"initialiseRowNew",value:function(e){if(null!=e){var t=document.querySelectorAll("td."+flagDisplayOrder+" input."+flagSlider),r=0;t.forEach((function(e){r=Math.max(r,parseFloat(l.getElementValueCurrent(e)))}));var n=e.querySelector("td."+flagDisplayOrder+" ."+flagSlider);l.setElementValuesCurrentAndPrevious(n,r+1)}}},{key:"hookupTableMain",value:function(){$t(t,"hookupTableMain",this,3)([]),this.hookupSlidersDisplayOrderTable(),this.hookupTextareasCodeTable(),this.hookupTextareasNameTable(),this.hookupTextareasDescriptionTable(),this.hookupTdsAccessLevel(),this.hookupInputsActiveTable()}},{key:"leave",value:function(){$t(t,"leave",this,3)([])}}])}(It);function ir(e){return ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ir(e)}function ar(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,yr(n.key),n)}}function ur(e,t,r){return t=fr(t),function(e,t){if(t&&("object"==ir(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,lr()?Reflect.construct(t,r||[],fr(e).constructor):t.apply(e,r))}function lr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(lr=function(){return!!e})()}function cr(e,t,r,n){var o=sr(fr(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function sr(){return sr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=fr(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},sr.apply(null,arguments)}function fr(e){return fr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},fr(e)}function pr(e,t){return pr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},pr(e,t)}function dr(e,t,r){return(t=yr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function yr(e){var t=function(e){if("object"!=ir(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ir(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ir(t)?t:t+""}rr(or,"hash",hashPageStoreProductCategories);var hr=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),dr(r=ur(this,t,[e]),"callFilterTableContent",C.getProductPermutationsByFilters),dr(r,"callSaveTableContent",C.saveProductPermutations),r.storeMixin=new Gt(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&pr(e,t)}(t,e),function(e,t){return t&&ar(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterProductCategory(),this.hookupFilterProduct(),this.hookupFilterOutOfStock(),this.hookupFilterMinStock(),this.hookupFilterMaxStock()}},{key:"hookupFilterProductCategory",value:function(){this.hookupFilter(flagProductCategory,(function(e,r){t.isDirtyFilter(r),r.classList.contains(flagDirty);var n,o,i=l.getElementValueCurrent(r),a=productCategories[i],u=document.querySelector(idFormFilters+" ."+flagProduct),c=u.getAttribute(attrValuePrevious);u.innerHTML="",o=l.createOption(null),u.appendChild(o),a.forEach((function(e){n=st.getOptionJsonFromObjectJson(e,c),o=l.createOption(n),u.appendChild(o)})),u.dispatchEvent(new Event("change"))}))}},{key:"hookupFilterProduct",value:function(){this.hookupFilter(flagProduct)}},{key:"hookupFilterOutOfStock",value:function(){this.hookupFilter(flagIsOutOfStock)}},{key:"hookupFilterMinStock",value:function(){this.hookupFilter(flagQuantityMin)}},{key:"hookupFilterMaxStock",value:function(){this.hookupFilter(flagQuantityMax)}},{key:"loadRowTable",value:function(e){}},{key:"getJsonRow",value:function(e){if(null!=e){var t=e.querySelector("td."+flagProductCategory),r=e.querySelector("td."+flagProduct),n=e.querySelector("td."+flagProductVariations),o=e.querySelector("td."+flagDescription+" textarea"),i=e.querySelector("td."+flagCostLocal+" input"),a=e.querySelector("td."+flagCurrencyCost),u=e.querySelector("td."+flagProfitLocalMin+" input"),l=e.querySelector("td."+flagLatencyManufactureDays+" input"),c=e.querySelector("td."+flagQuantityStock+" input"),s=e.querySelector("td."+flagQuantityMin+" input"),f=e.querySelector("td."+flagQuantityMax+" input"),p=e.querySelector("td."+flagCountUnitMeasurementPerQuantityStep+" input"),d=e.querySelector("td."+flagUnitMeasurementQuantity),y=e.querySelector("td."+flagIsSubscription+" input"),h=e.querySelector("td."+flagCountUnitMeasurementIntervalRecurrence+" input"),v=e.querySelector("td."+flagUnitMeasurementIntervalRecurrence),g=e.querySelector("td."+flagIdStripeProduct+" input"),b=e.querySelector("td."+flagDoesExpireFasterOnceUnsealed+" input"),m=e.querySelector("td."+flagCountUnitMeasurementIntervalExpirationUnsealed+" input"),k=e.querySelector("td."+flagUnitMeasurementIntervalExpirationUnsealed),P=e.querySelector("td."+flagActive+" input"),S={};return S[attrIdProductPermutation]=e.getAttribute(attrIdProductPermutation),S[attrIdProductCategory]=t.getAttribute(attrValueCurrent),S[attrIdProduct]=r.getAttribute(attrValueCurrent),S[flagProductVariations]=n.getAttribute(attrValueCurrent),S[flagHasVariations]=""!=S[flagProductVariations],S[flagDescription]=o.getAttribute(attrValueCurrent),S[flagCostLocal]=i.getAttribute(attrValueCurrent),S[flagCurrencyCost]=a.getAttribute(attrValueCurrent),S[flagProfitLocalMin]=u.getAttribute(attrValueCurrent),S[flagLatencyManufactureDays]=l.getAttribute(attrValueCurrent),S[flagQuantityStock]=c.getAttribute(attrValueCurrent),S[flagQuantityMin]=s.getAttribute(attrValueCurrent),S[flagQuantityMax]=f.getAttribute(attrValueCurrent),S[flagCountUnitMeasurementPerQuantityStep]=p.getAttribute(attrValueCurrent),S[flagUnitMeasurementQuantity]=d.getAttribute(attrValueCurrent),S[flagIsSubscription]=y.getAttribute(attrValueCurrent),S[flagCountUnitMeasurementIntervalRecurrence]=h.getAttribute(attrValueCurrent),S[flagUnitMeasurementIntervalRecurrence]=v.getAttribute(attrValueCurrent),S[flagIdStripeProduct]=g.getAttribute(attrValueCurrent),S[flagDoesExpireFasterOnceUnsealed]=b.getAttribute(attrValueCurrent),S[flagCountUnitMeasurementIntervalExpirationUnsealed]=m.getAttribute(attrValueCurrent),S[flagUnitMeasurementIntervalExpirationUnsealed]=k.getAttribute(attrValueCurrent),S[flagActive]=P.getAttribute(attrValueCurrent),S}}},{key:"initialiseRowNew",value:function(e){var t=document.querySelector(idFormFilters+" #"+attrIdProductCategory),r=l.getElementValueCurrent(t),o=!(n.isEmpty(r)||"0"==r),i=document.querySelector(idFormFilters+" #"+attrIdProduct),a=l.getElementValueCurrent(i),u=!(n.isEmpty(a)||"0"==a);if(console.log("initialiseRowNew: ",e),console.log({ddlCategoryFilter:t,idProductCategoryFilter:r,hasCategoryFilter:o,ddlProductFilter:i,idProductFilter:a,hasProductFilter:u}),o||u){if(o){var c=e.querySelector("td."+flagProductCategory+" select");l.setElementValuesCurrentAndPrevious(c,r),this.handleChangeProductCategoryDdl(null,c)}if(u){var s=e.querySelector("td."+flagProduct+" select");l.setElementValuesCurrentAndPrevious(s,a)}}}},{key:"hookupTableMain",value:function(){cr(t,"hookupTableMain",this,3)([]),this.hookupProductCategoryFields(),this.hookupProductFields(),this.hookupProductPermutationVariationFields(),this.hookupDescriptionTextareas(),this.hookupCostFields(),this.hookupLatencyManufactureInputs(),this.hookupQuantityFields(),this.hookupSubscriptionFields(),this.hookupIdStripeProductInputs(),this.hookupExpirationFields(),this.hookupActiveCheckboxes()}},{key:"hookupProductCategoryFields",value:function(){var e=this;this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProductCategory,yt.getListFromDict(productCategories),(function(t,r){e.hookupProductCategoryDdls(t,r)}))}},{key:"hookupProductCategoryDdls",value:function(e){var t=this;this.hookupChangeHandlerTableCells(e,(function(e,r){t.handleChangeProductCategoryDdl(e,r)}))}},{key:"handleChangeProductCategoryDdl",value:function(e,t){this.handleChangeTableCellDdl(e,t);var r=l.getElementValueCurrent(t),n=l.getRowFromElement(t);n.querySelector("td."+flagProduct).dispatchEvent(new Event("click"));var o,i,a=n.querySelector("td."+flagProduct+" select");a.innerHTML="",a.appendChild(l.createOption(null)),yt.getListFromDict(products).forEach((function(e){e[attrIdProductCategory]==r&&(o=st.getOptionJsonFromObjectJson(e),i=l.createOption(o),a.appendChild(i))})),this.handleChangeTableCellDdl(e,a)}},{key:"hookupProductFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProduct,yt.getListFromDict(products))}},{key:"handleClickButtonProductPermutationVariationsAdd",value:function(e,r){var n=l.getRowFromElement(r).querySelector("tbody"),o=t.createOptionUnselectedProductVariation();this.addProductPermutationVariationRow(n,o)}},{key:"hookupDescriptionTextareas",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagDescription+" textarea")}},{key:"hookupCostFields",value:function(){this.hookupCurrencyCostFields(),this.hookupCostInputs()}},{key:"hookupCurrencyCostFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagCurrencyCost,yt.getListFromDict(currencies))}},{key:"hookupCostInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostLocal+" input")}},{key:"hookupProfitFields",value:function(){this.hookupProfitInputs()}},{key:"hookupProfitInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagProfitLocalMin+" input")}},{key:"hookupLatencyManufactureInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagLatencyManufactureDays+" input")}},{key:"hookupQuantityFields",value:function(){this.hookupQuantityMinInputs(),this.hookupQuantityMaxInputs(),this.hookupQuantityStockInputs(),this.hookupCountUnitMeasurementPerQuantityStepInputs(),this.hookupUnitMeasurementQuantityFields()}},{key:"hookupQuantityMinInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagQuantityMin+" input")}},{key:"hookupQuantityMaxInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagQuantityMax+" input")}},{key:"hookupQuantityStockInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagQuantityStock+" input")}},{key:"hookupCountUnitMeasurementPerQuantityStepInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCountUnitMeasurementPerQuantityStep+" input")}},{key:"hookupUnitMeasurementQuantityFields",value:function(){console.log("hooking up unit measurement quantity fields"),this.hookupTableCellDdlPreviews(idTableMain+" td."+flagUnitMeasurementQuantity,yt.getListFromDict(unitMeasurements))}},{key:"hookupSubscriptionFields",value:function(){this.hookupIsSubscriptionFields(),this.hookupIntervalRecurrenceFields(),this.hookupCountIntervalRecurrenceInputs()}},{key:"hookupIsSubscriptionFields",value:function(){var e=this;this.hookupChangeHandlerTableCells(idTableMain+" td."+flagIsSubscription+" input",(function(t,r){e.handleChangeElementCellTable(t,r);var n=l.getElementValueCurrent(r),o=l.getRowFromElement(r),i=o.querySelector("td."+flagCountUnitMeasurementIntervalRecurrence+" input"),a=o.querySelector("td."+flagUnitMeasurementIntervalRecurrence+" ."+flagUnitMeasurementIntervalRecurrence);n?(i.classList.remove(flagCollapsed),a.classList.remove(flagCollapsed),a.closest("td").dispatchEvent(new Event("click"))):(i.classList.add(flagCollapsed),a.classList.add(flagCollapsed))}))}},{key:"hookupIntervalRecurrenceFields",value:function(){this.hookupTableCellDDlPreviewsWhenNotCollapsed(idTableMain+" td."+flagUnitMeasurementIntervalRecurrence,yt.getListFromDict(unitMeasurementsTime))}},{key:"hookupCountIntervalRecurrenceInputs",value:function(){this.hookupChangeHandlerTableCellsWhenNotCollapsed("change",idTableMain+" td."+flagCountUnitMeasurementIntervalRecurrence+" input")}},{key:"hookupIdStripeProductInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagIdStripeProduct+" input")}},{key:"hookupExpirationFields",value:function(){this.hookupDoesExpireFasterOnceUnsealedCheckboxes(),this.hookupIntervalExpirationUnsealedFields(),this.hookupCountIntervalExpirationUnsealedInputs()}},{key:"hookupDoesExpireFasterOnceUnsealedCheckboxes",value:function(){var e=this;this.hookupChangeHandlerTableCells(idTableMain+" td."+flagDoesExpireFasterOnceUnsealed+" input",(function(t,r){e.handleChangeElementCellTable(t,r);var n=l.getElementValueCurrent(r),o=l.getRowFromElement(r),i=o.querySelector("td."+flagCountUnitMeasurementIntervalExpirationUnsealed+" input"),a=o.querySelector("td."+flagUnitMeasurementIntervalExpirationUnsealed+" ."+flagUnitMeasurementIntervalExpirationUnsealed);n?(i.classList.remove(flagCollapsed),a.classList.remove(flagCollapsed),a.closest("td").dispatchEvent(new Event("click"))):(i.classList.add(flagCollapsed),a.classList.add(flagCollapsed))}))}},{key:"hookupIntervalExpirationUnsealedFields",value:function(){this.hookupTableCellDDlPreviewsWhenNotCollapsed(idTableMain+" td."+flagUnitMeasurementIntervalExpirationUnsealed,yt.getListFromDict(unitMeasurementsTime))}},{key:"hookupCountIntervalExpirationUnsealedInputs",value:function(){this.hookupChangeHandlerTableCellsWhenNotCollapsed("change",idTableMain+" td."+flagCountUnitMeasurementIntervalExpirationUnsealed+" input")}},{key:"hookupActiveCheckboxes",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagActive+" input")}},{key:"leave",value:function(){cr(t,"leave",this,3)([])}}])}(It);function vr(e){return vr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vr(e)}function gr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Or(n.key),n)}}function br(e,t,r){return t=Sr(t),function(e,t){if(t&&("object"==vr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,mr()?Reflect.construct(t,r||[],Sr(e).constructor):t.apply(e,r))}function mr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(mr=function(){return!!e})()}function kr(e,t,r,n){var o=Pr(Sr(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Pr(){return Pr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Sr(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Pr.apply(null,arguments)}function Sr(e){return Sr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Sr(e)}function Cr(e,t){return Cr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Cr(e,t)}function wr(e,t,r){return(t=Or(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Or(e){var t=function(e){if("object"!=vr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=vr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vr(t)?t:t+""}dr(hr,"hash",hashPageStoreProductPermutations);var Er=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),wr(r=br(this,t,[e]),"callFilterTableContent",C.getProductsByFilters),wr(r,"callSaveTableContent",C.saveProducts),r.storeMixin=new Gt(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cr(e,t)}(t,e),function(e,t){return t&&gr(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterProductCategory(),this.hookupFilterIsNotEmpty(),this.hookupFilterActive()}},{key:"hookupFilterProductCategory",value:function(){this.hookupFilter(flagProductCategory)}},{key:"loadRowTable",value:function(e){}},{key:"getJsonRow",value:function(e){if(null!=e){var t=e.querySelector("td."+flagDisplayOrder+" ."+flagSlider),r=e.querySelector("td."+flagProductCategory),n=e.querySelector("td."+flagName+" textarea"),o=e.querySelector("td."+flagHasVariations+' input[type="checkbox"]'),i=e.querySelector("td."+flagAccessLevel),a=e.querySelector("td."+flagActive+' input[type="checkbox"]'),u={};return u[attrIdProduct]=e.getAttribute(attrIdProduct),u[attrIdProductCategory]=l.getElementAttributeValueCurrent(r),u[flagName]=l.getElementAttributeValueCurrent(n),u[flagHasVariations]=l.getElementAttributeValueCurrent(o),u[attrIdAccessLevel]=l.getElementAttributeValueCurrent(i),u[flagActive]=l.getElementAttributeValueCurrent(a),u[flagDisplayOrder]=l.getElementAttributeValueCurrent(t),u}}},{key:"initialiseRowNew",value:function(e){if(null!=e){var t=document.querySelectorAll("td."+flagDisplayOrder+" input."+flagSlider),r=0;t.forEach((function(e){r=Math.max(r,parseFloat(l.getElementValueCurrent(e)))}));var n=e.querySelector("td."+flagDisplayOrder+" ."+flagSlider);l.setElementValuesCurrentAndPrevious(n,r+1)}}},{key:"hookupTableMain",value:function(){kr(t,"hookupTableMain",this,3)([]),this.hookupSlidersDisplayOrderTable(),this.hookupTdsProductCategory(),this.hookupTextareasNameTable(),this.hookupInputsHasVariationsTable(),this.hookupTdsAccessLevel(),this.hookupInputsActiveTable()}},{key:"hookupTdsProductCategory",value:function(){var e=idTableMain+" tbody td."+flagProductCategory;this.hookupTableCellDdlPreviews(e,yt.getListFromDict(productCategories))}},{key:"hookupInputsHasVariationsTable",value:function(){var e=idTableMain+" tbody td."+flagHasVariations+' input[type="checkbox"]';this.hookupChangeHandlerTableCells(e)}},{key:"leave",value:function(){kr(t,"leave",this,3)([])}}])}(It);function Tr(e){return Tr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tr(e)}function jr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,xr(n.key),n)}}function Ir(e,t,r){return t=Lr(t),function(e,t){if(t&&("object"==Tr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ar()?Reflect.construct(t,r||[],Lr(e).constructor):t.apply(e,r))}function Ar(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ar=function(){return!!e})()}function Fr(e,t,r,n){var o=Dr(Lr(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Dr(){return Dr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Lr(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Dr.apply(null,arguments)}function Lr(e){return Lr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Lr(e)}function Vr(e,t){return Vr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Vr(e,t)}function Br(e,t,r){return(t=xr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xr(e){var t=function(e){if("object"!=Tr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Tr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Tr(t)?t:t+""}wr(Er,"hash",hashPageStoreProducts);var qr=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Br(r=Ir(this,t,[e]),"callFilterTableContent",C.getStockItemsByFilters),Br(r,"callSaveTableContent",C.saveStockItems),r.storeMixin=new Gt(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vr(e,t)}(t,e),function(e,t){return t&&jr(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterProductCategory(),this.hookupFilterProduct(),this.hookupFilterOutOfStock(),this.hookupFilterMinStock(),this.hookupFilterMaxStock()}},{key:"hookupFilterProductCategory",value:function(){this.hookupFilter(flagProductCategory,(function(e,r){t.isDirtyFilter(r),r.classList.contains(flagDirty);var n,o,i=l.getElementValueCurrent(r),a=productCategories[i],u=document.querySelector(idFormFilters+" ."+flagProduct),c=u.getAttribute(attrValuePrevious);u.innerHTML="",o=l.createOption(null),u.appendChild(o),a.forEach((function(e){n=st.getOptionJsonFromObjectJson(e,c),o=l.createOption(n),u.appendChild(o)})),u.dispatchEvent(new Event("change"))}))}},{key:"hookupFilterProduct",value:function(){this.hookupFilter(flagProduct)}},{key:"hookupFilterOutOfStock",value:function(){this.hookupFilter(flagIsOutOfStock)}},{key:"hookupFilterMinStock",value:function(){this.hookupFilter(flagQuantityMin)}},{key:"hookupFilterMaxStock",value:function(){this.hookupFilter(flagQuantityMax)}},{key:"loadRowTable",value:function(e){}},{key:"getJsonRow",value:function(e){if(null!=e){var t=e.querySelector("td."+flagProductCategory),r=e.querySelector("td."+flagProduct),n=e.querySelector("td."+flagProductVariations),o=e.querySelector("td."+flagCurrencyCost),i=e.querySelector("td."+flagCostLocalVatExcl+" input"),a=e.querySelector("td."+flagCostLocalVatIncl+" input"),u=e.querySelector("td."+flagDatePurchased+" input"),c=e.querySelector("td."+flagDateReceived+" input"),s=e.querySelector("td."+flagStorageLocation),f=e.querySelector("td."+flagIsSealed+" input"),p=e.querySelector("td."+flagDateUnsealed+" input"),d=e.querySelector("td."+flagDateExpiration+" input"),y=e.querySelector("td."+flagIsConsumed+" input"),h=e.querySelector("td."+flagDateConsumed+" input"),v=e.querySelector("td."+flagActive+" input"),g={};return g[attrIdStockItem]=e.getAttribute(attrIdStockItem),g[attrIdProductPermutation]=n.getAttribute(attrIdProductPermutation),g[attrIdProductCategory]=l.getElementAttributeValueCurrent(t),g[attrIdProduct]=l.getElementAttributeValueCurrent(r),g[flagProductVariations]=l.getElementAttributeValueCurrent(n),g[flagHasVariations]=""!=g[flagProductVariations],g[flagCurrencyCost]=l.getElementAttributeValueCurrent(o),g[flagCostLocalVatExcl]=l.getElementAttributeValueCurrent(i),g[flagCostLocalVatIncl]=l.getElementAttributeValueCurrent(a),g[flagDatePurchased]=l.getElementAttributeValueCurrent(u),g[flagDateReceived]=l.getElementAttributeValueCurrent(c),g[attrIdStorageLocation]=l.getElementAttributeValueCurrent(s),g[flagIsSealed]=l.getElementAttributeValueCurrent(f),g[flagDateUnsealed]=l.getElementAttributeValueCurrent(p),g[flagDateExpiration]=l.getElementAttributeValueCurrent(d),g[flagIsConsumed]=l.getElementAttributeValueCurrent(y),g[flagDateConsumed]=l.getElementAttributeValueCurrent(h),g[flagActive]=v.getAttribute(attrValueCurrent),g}}},{key:"initialiseRowNew",value:function(e){Fr(t,"initialiseRowNew",this,3)([e]);var r=document.querySelector(idFormFilters+" #"+attrIdProductCategory),o=l.getElementValueCurrent(r),i=!(n.isEmpty(o)||"0"==o),a=document.querySelector(idFormFilters+" #"+attrIdProduct),u=l.getElementValueCurrent(a),c=!(n.isEmpty(u)||"0"==u);if(console.log("initialiseRowNew: ",e),console.log({ddlCategoryFilter:r,idProductCategoryFilter:o,hasCategoryFilter:i,ddlProductFilter:a,idProductFilter:u,hasProductFilter:c}),i||c){if(i){var s=e.querySelector("td."+flagProductCategory+" select");l.setElementValuesCurrentAndPrevious(s,o),this.handleChangeProductCategoryDdl(null,s)}if(c){var f=e.querySelector("td."+flagProduct+" select");l.setElementValuesCurrentAndPrevious(f,u)}}}},{key:"hookupTableMain",value:function(){Fr(t,"hookupTableMain",this,3)([]),this.hookupProductCategoryFields(),this.hookupProductFields(),this.hookupProductPermutationVariationFields(),this.hookupCurrencyCostFields(),this.hookupCostInputs(),this.hookupOrderDateInputs(),this.hookupStorageLocationFields(),this.hookupSealingInputs(),this.hookupExpirationDateInputs(),this.hookupConsumationInputs(),this.hookupActiveCheckboxes()}},{key:"hookupProductCategoryFields",value:function(){var e=this;this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProductCategory,yt.getListFromDict(productCategories),(function(t,r){e.hookupProductCategoryDdls(t,r)}))}},{key:"hookupProductCategoryDdls",value:function(e){var t=this;this.hookupChangeHandlerTableCells(e,(function(e,r){t.handleChangeProductCategoryDdl(e,r)}))}},{key:"handleChangeProductCategoryDdl",value:function(e,t){this.handleChangeTableCellDdl(e,t);var r=l.getElementValueCurrent(t),n=l.getRowFromElement(t);n.querySelector("td."+flagProduct).dispatchEvent(new Event("click"));var o,i,a=n.querySelector("td."+flagProduct+" select");a.innerHTML="",a.appendChild(l.createOption(null)),yt.getListFromDict(products).forEach((function(e){e[attrIdProductCategory]==r&&(o=st.getOptionJsonFromObjectJson(e),i=l.createOption(o),a.appendChild(i))})),this.handleChangeTableCellDdl(e,a)}},{key:"hookupProductFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProduct,yt.getListFromDict(products))}},{key:"handleClickProductPermutationVariationsPreview",value:function(e,r){var n=l.getRowFromElement(r).querySelector("td."+flagProduct),o=l.getElementValueCurrent(n);products[o][flagHasVariations]&&Fr(t,"handleClickProductPermutationVariationsPreview",this,3)([e,r])}},{key:"handleClickButtonProductPermutationVariationsAdd",value:function(e,r){var n=l.getRowFromElement(r).querySelector("tbody"),o=t.createOptionUnselectedProductVariation();this.addProductPermutationVariationRow(n,o)}},{key:"hookupCurrencyCostFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagCurrencyCost,yt.getListFromDict(currencies))}},{key:"hookupCostInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostLocalVatExcl+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostLocalVatIncl+" input")}},{key:"hookupOrderDateInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagDatePurchased+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagDateReceived+" input")}},{key:"hookupStorageLocationFields",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagStorageLocation,(function(t,r){return e.handleClickStorageLocationPreview(t,r)}))}},{key:"handleClickStorageLocationPreview",value:function(e,t){var r=this;this.toggleColumnCollapsed(flagStorageLocation,!1);var n=t.getAttribute(attrIdPlant),o=t.getAttribute(attrIdStorageLocation),i=document.createElement("table");i.classList.add(flagProductVariations);var a=document.createElement("thead"),u=document.createElement("th");u.textContent="Plant";var c=document.createElement("th");c.textContent="Location";var s=document.createElement("tr");s.appendChild(u),s.appendChild(c),a.appendChild(s),i.appendChild(a);var f,p,d,y,h,v,g=document.createElement("tbody"),b=Object.keys(plants),m=(Object.keys(storageLocations),plants[n]),k=storageLocations[o],P=document.createElement("td");P.classList.add(flagPlant),l.setElementAttributesValuesCurrentAndPrevious(P,m[attrIdPlant]);var S=document.createElement("select");S.classList.add(flagPlant),l.setElementAttributesValuesCurrentAndPrevious(S,m[attrIdPlant]),d=l.createOption(null),console.log("optionPlant: ",d),S.appendChild(d),b.forEach((function(e){f=plants[e],p=st.getOptionJsonFromObjectJson(objectJson=f,valueSelected=m[attrIdPlant]),d=l.createOption(p),console.log("optionPlant: ",d),S.appendChild(d)}));var C=document.createElement("td");C.classList.add(flagStorageLocation),l.setElementAttributesValuesCurrentAndPrevious(C,k[attrIdStorageLocation]);var w=document.createElement("select");w.classList.add(flagStorageLocation),l.setElementAttributesValuesCurrentAndPrevious(w,k[attrIdStorageLocation]),v=l.createOption(null),console.log("optionStorageLocation: ",v),w.appendChild(v),StorageLocationKeys.forEach((function(e){y=StorageLocations[e],h=st.getOptionJsonFromObjectJson(objectJson=y,valueSelected=k[attrIdStorageLocation]),v=l.createOption(h),console.log("optionStorageLocation: ",v),w.appendChild(v)}));var O=document.createElement("tr");P.appendChild(S),O.appendChild(P),C.appendChild(w),O.appendChild(C),g.appendChild(O),i.appendChild(g);var E=t.parentElement;E.innerHTML="",E.appendChild(i),console.log("tblStorageLocation: ",i),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagPlant+" select",(function(e,t){r.handleChangeStoragePlantDdl(e,t)})),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagStorageLocation+" select",(function(e,t){r.handleChangeStorageLocationDdl(e,t)}))}},{key:"handleChangeStoragePlantDdl",value:function(e,t){this.handleChangeTableCellDdl(e,t);var r=l.getRowFromElement(t).querySelector("td."+flagStorageLocation+" select");r.innerHTML="",r.appendChild(l.createOption(null));var n,o,i=l.getElementValueCurrent(t);plants[i][flagStorageLocations].forEach((function(e){n=st.getOptionJsonFromObjectJson(e),o=l.createOption(n),r.appendChild(o)})),this.handleChangeTableCellDdl(e,r)}},{key:"handleChangeStorageLocationDdl",value:function(e,t){this.handleChangeTableCellDdl(e,t)}},{key:"hookupSealingInputs",value:function(){this.hookupIsSealedFields(),this.hookupDateUnsealedInputs()}},{key:"hookupIsSealedFields",value:function(){var e=this;this.hookupChangeHandlerTableCells(idTableMain+" td."+flagIsSealed+" input",(function(t,r){e.handleChangeElementCellTable(t,r);var n=l.getElementValueCurrent(r),o=l.getRowFromElement(r).querySelector("td."+flagDateUnsealed+" input");n?o.classList.add(flagCollapsed):o.classList.remove(flagCollapsed)}))}},{key:"hookupDateUnsealedInputs",value:function(){this.hookupChangeHandlerTableCellsWhenNotCollapsed("change",idTableMain+" td."+flagDateUnsealed+" input")}},{key:"hookupExpirationDateInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagDateExpiration+" input")}},{key:"hookupConsumationInputs",value:function(){this.hookupIsConsumedFields(),this.hookupDateConsumedInputs()}},{key:"hookupIsConsumedFields",value:function(){var e=this;this.hookupChangeHandlerTableCells(idTableMain+" td."+flagIsConsumed+" input",(function(t,r){e.handleChangeElementCellTable(t,r);var n=l.getElementValueCurrent(r),o=l.getRowFromElement(r).querySelector("td."+flagDateConsumed+" input");n?o.classList.remove(flagCollapsed):o.classList.add(flagCollapsed)}))}},{key:"hookupDateConsumedInputs",value:function(){this.hookupChangeHandlerTableCellsWhenNotCollapsed("change",idTableMain+" td."+flagDateConsumed+" input")}},{key:"hookupActiveCheckboxes",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagActive+" input")}},{key:"leave",value:function(){Fr(t,"leave",this,3)([])}}])}(It);function Rr(e){return Rr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rr(e)}function Nr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,zr(n.key),n)}}function Hr(e,t,r){return t=Ur(t),function(e,t){if(t&&("object"==Rr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Mr()?Reflect.construct(t,r||[],Ur(e).constructor):t.apply(e,r))}function Mr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Mr=function(){return!!e})()}function _r(){return _r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Ur(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},_r.apply(null,arguments)}function Ur(e){return Ur=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ur(e)}function Jr(e,t){return Jr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Jr(e,t)}function zr(e){var t=function(e){if("object"!=Rr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Rr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Rr(t)?t:t+""}Br(qr,"hash",hashPageStoreStockItems);var Qr=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Hr(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jr(e,t)}(t,e),function(e,t){return t&&Nr(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"leave",value:function(){!function(e,t,r){var n=_r(Ur(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function Gr(e){return Gr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gr(e)}function Kr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,en(n.key),n)}}function Wr(e,t,r){return t=$r(t),function(e,t){if(t&&("object"==Gr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Xr()?Reflect.construct(t,r||[],$r(e).constructor):t.apply(e,r))}function Xr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Xr=function(){return!!e})()}function Yr(){return Yr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=$r(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Yr.apply(null,arguments)}function $r(e){return $r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},$r(e)}function Zr(e,t){return Zr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Zr(e,t)}function en(e){var t=function(e){if("object"!=Gr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Gr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Gr(t)?t:t+""}!function(e,t,r){(t=zr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Qr,"hash",hashPagePrivacyPolicy);var tn=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Wr(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zr(e,t)}(t,e),function(e,t){return t&&Kr(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"leave",value:function(){!function(e,t,r){var n=Yr($r(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(F);function rn(e){return rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rn(e)}function nn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,on(n.key),n)}}function on(e){var t=function(e){if("object"!=rn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=rn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rn(t)?t:t+""}!function(e,t,r){(t=en(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(tn,"hash",hashPageDataRetentionSchedule);var an=function(){return function(e,t,r){return t&&nn(e.prototype,t),r&&nn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.pages={},this.pages[hashPageHome]={name:"PageHome",module:U},this.pages[hashPageContact]={name:"PageContact",module:ae},this.pages[hashPageServices]={name:"PageServices",module:he},this.pages[hashPageAdminHome]={name:"PageAdminHome",module:U},this.pages[hashPageAccessibilityStatement]={name:"PageAccessibilityStatement",module:Le},this.pages[hashPageDataRetentionSchedule]={name:"PageDataRetentionSchedule",module:tn},this.pages[hashPageLicense]={name:"PageLicense",module:_e},this.pages[hashPagePrivacyPolicy]={name:"PagePrivacyPolicy",module:Qr},this.pages[hashPageStoreProductCategories]={name:"PageStoreProductCategories",module:or},this.pages[hashPageStoreProductPermutations]={name:"PageStoreProductPermutations",module:hr},this.pages[hashPageStoreProducts]={name:"PageStoreProducts",module:Er},this.pages[hashPageStoreStockItems]={name:"PageStoreStockItems",module:qr},this.routes={},this.routes[hashPageHome]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageHome,e)},this.routes[hashPageContact]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageContact,e)},this.routes[hashPageServices]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageServices,e)},this.routes[hashPageAdminHome]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageAdminHome,e)},this.routes[hashPageAccessibilityStatement]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageAccessibilityStatement,e)},this.routes[hashPageDataRetentionSchedule]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageDataRetentionSchedule,e)},this.routes[hashPageLicense]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageLicense,e)},this.routes[hashPagePrivacyPolicy]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPagePrivacyPolicy,e)},this.routes[hashPageStoreProductCategories]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreProductCategories,e)},this.routes[hashPageStoreProductPermutations]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreProductPermutations,e)},this.routes[hashPageStoreProducts]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreProducts,e)},this.routes[hashPageStoreStockItems]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreStockItems,e)},this.initialize()}),[{key:"loadPage",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getClassPageFromHash(e);this.currentPage=new n(this),this.currentPage.initialize(r),window.addEventListener("beforeunload",(function(){return t.currentPage.leave()}))}},{key:"getClassPageFromHash",value:function(e){var t=this.pages[e];try{return t.module}catch(t){throw console.log("this.pages: ",this.pages),console.error("Page not found:",e),t}}},{key:"initialize",value:function(){window.addEventListener("popstate",this.handlePopState.bind(this))}},{key:"handlePopState",value:function(e){this.loadPageCurrent()}},{key:"loadPageCurrent",value:function(){var e=l.getHashPageCurrent();this.loadPage(e)}},{key:"navigateToHash",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=C.getUrlFromHash(e,r);history.pushState({data:t,params:r},"",e),C.goToUrl(n,t)}},{key:"navigateToUrl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(!(arguments.length>2&&void 0!==arguments[2])||arguments[2])&&history.pushState(t,"",e),e=C.parameteriseUrl(e,t),C.goToUrl(e)}}],[{key:"loadPageBodyFromResponse",value:function(e){console.log(e.data),l.loadPageBody(e.data)}}])}();function un(e){return un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},un(e)}function ln(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,cn(n.key),n)}}function cn(e){var t=function(e){if("object"!=un(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=un(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==un(t)?t:t+""}new an;var sn,fn=function(){return function(e,t){return t&&ln(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.dom=new l,this.router=new an}),[{key:"initialize",value:function(){this.setupEventListeners(),this.start()}},{key:"setupEventListeners",value:function(){}},{key:"handleGlobalClick",value:function(e){console.log("Global click:",e.target)}},{key:"start",value:function(){this.initPageCurrent()}},{key:"initPageCurrent",value:function(){this.router.loadPageCurrent()}}])}(),pn=new fn;sn=function(){pn.initialize()},"loading"!==document.readyState?sn():document.addEventListener("DOMContentLoaded",sn),window.app=pn})()})();