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

2 lines
200 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 a=0;a<t.length;a++)if(t[a].getTime()===r.getTime()){n=!0;break}}else for(var i=0;i<t.length;i++)if(t[i]==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,a=r;o<a.length;o++){var i=a[o];if(e[i]!==t[i])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}}],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 a(e,t,r){return(t=l(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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,l(n.key),n)}}function l(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 u=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,t){var r=n.isEmpty(t)?"tr":"tr."+t;return e.closest(r)}},{key:"getClosestParent",value:function(e,t){for(var r=e.parentElement;r;){if(r.matches(t))return r;r=r.parentElement}return null}},{key:"convertForm2JSON",value:function(t){var r={};if(n.isEmpty(t))return r;for(var o,a,i,l=t.querySelectorAll("."+flagContainerInput+"."+flagFilter),u=0;u<l.length;u++)a=(o=l[u]).querySelector("label").getAttribute("for"),i=o.querySelector("#".concat(a)),r[a]=e.getElementValueCurrent(i);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:"hasDirtyChildrenNotDeletedContainer",value:function(e){return null!=e&&null!=e.querySelector("."+flagDirty+":not(."+flagDelete+")")}},{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 n.isEmpty(e)?null:e.getAttribute(attrValueCurrent)}},{key:"getElementAttributeValuePrevious",value:function(e){return n.isEmpty(e)?null: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 a(a({},flagProductVariationType,a(a(a(a({},flagNameAttrOptionText,[flagName]),flagNameAttrOptionValue,[attrIdProductVariationType]),flagName,"Select Variation Type"),attrIdProductVariationType,0)),flagProductVariation,a(a(a(a({},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&&i(t.prototype,null),r&&i(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,d(n.key),n)}}function d(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 f=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 p(e){return p="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},p(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"!=p(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==p(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 m(){m=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",u=a.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 a=t&&t.prototype instanceof b?t:b,i=Object.create(a.prototype),l=new F(n||[]);return o(i,"_invoke",{value:A(e,r,l)}),i}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var f="suspendedStart",p="suspendedYield",y="executing",h="completed",v={};function b(){}function k(){}function C(){}var P={};c(P,i,(function(){return this}));var S=Object.getPrototypeOf,O=S&&S(S(j([])));O&&O!==r&&n.call(O,i)&&(P=O);var E=C.prototype=b.prototype=Object.create(P);function w(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function T(e,t){function r(o,a,i,l){var u=d(e[o],e,a);if("throw"!==u.type){var c=u.arg,s=c.value;return s&&"object"==g(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,i,l)}),(function(e){r("throw",e,i,l)})):t.resolve(s).then((function(e){c.value=e,i(c)}),(function(e){return r("throw",e,i,l)}))}l(u.arg)}var a;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return a=a?a.then(o,o):o()}})}function A(t,r,n){var o=f;return function(a,i){if(o===y)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var l=n.delegate;if(l){var u=I(l,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===f)throw o=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var c=d(t,r,n);if("normal"===c.type){if(o=n.done?h:p,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 a=d(o,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,v;var i=a.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function L(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 V(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function j(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=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 a.next=a}}throw new TypeError(g(t)+" is not iterable")}return k.prototype=C,o(E,"constructor",{value:C,configurable:!0}),o(C,"constructor",{value:k,configurable:!0}),k.displayName=c(C,u,"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,C):(e.__proto__=C,c(e,u,"GeneratorFunction")),e.prototype=Object.create(E),e},t.awrap=function(e){return{__await:e}},w(T.prototype),c(T.prototype,l,(function(){return this})),t.AsyncIterator=T,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new T(s(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},w(E),c(E,u,"Generator"),c(E,i,(function(){return this})),c(E,"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=j,F.prototype={constructor:F,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(V),!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 l.type="throw",l.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.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 a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,v):this.complete(i)},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),V(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;V(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:j(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function b(e,t,r,n,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void r(e)}l.done?t(u):Promise.resolve(u).then(n,o)}function k(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){b(a,n,o,i,l,"next",e)}function l(e){b(a,n,o,i,l,"throw",e)}i(void 0)}))}}function C(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,P(n.key),n)}}function P(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 S=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:(I=k(m().mark((function t(r){var n,o,a,i,l,u,c=arguments;return m().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,a=c.length>3&&void 0!==c[3]?c[3]:null,i=e.getUrlFromHash(r,a),l={method:n,headers:{"Content-Type":"application/json","X-CSRFToken":e.getCsrfToken()}},!o||"POST"!==n&&"PUT"!==n&&"PATCH"!==n||(l.body=JSON.stringify(o)),t.prev=6,t.next=9,fetch(i,l);case 9:if((u=t.sent).ok){t.next=12;break}throw new Error("HTTP error! status: ".concat(u.status));case 12:return t.next=14,u.json();case 14:return t.abrupt("return",t.sent);case 17:throw t.prev=17,t.t0=t.catch(6),console.error("API request failed:",t.t0),t.t0;case 21:case"end":return t.stop()}}),t,null,[[6,17]])}))),function(e){return I.apply(this,arguments)})},{key:"getUrlFromHash",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null==t&&(t=hashPageHome),e.parameteriseUrl(_pathHost+t,r)}},{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:(A=k(m().mark((function t(){var r;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r={})[flagCallback]=u.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 A.apply(this,arguments)})},{key:"getCategories",value:(T=k(m().mark((function t(){return m().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 T.apply(this,arguments)})},{key:"getCategoriesByFilters",value:(w=k(m().mark((function t(r){return m().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 w.apply(this,arguments)})},{key:"saveCategories",value:(E=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagProductCategory]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreProductCategory,"POST",a);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return E.apply(this,arguments)})},{key:"getProducts",value:(O=k(m().mark((function t(){return m().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 O.apply(this,arguments)})},{key:"getProductsByFilters",value:(S=k(m().mark((function t(r){return m().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 S.apply(this,arguments)})},{key:"saveProducts",value:(P=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagProduct]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreProduct,"POST",a);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return P.apply(this,arguments)})},{key:"getProductPermutations",value:(b=k(m().mark((function t(){return m().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 b.apply(this,arguments)})},{key:"getProductPermutationsByFilters",value:(g=k(m().mark((function t(r){return m().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 g.apply(this,arguments)})},{key:"saveProductPermutations",value:(v=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagProductPermutation]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreProductPermutation,"POST",a);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return v.apply(this,arguments)})},{key:"getStockItems",value:(h=k(m().mark((function t(){return m().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 h.apply(this,arguments)})},{key:"getStockItemsByFilters",value:(y=k(m().mark((function t(r){return m().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 y.apply(this,arguments)})},{key:"saveStockItems",value:(p=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagStockItem]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreStockItem,"POST",a);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return p.apply(this,arguments)})},{key:"getSuppliers",value:(f=k(m().mark((function t(){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreSupplier);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return f.apply(this,arguments)})},{key:"getSuppliersByFilters",value:(d=k(m().mark((function t(r){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreSuppliers,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return d.apply(this,arguments)})},{key:"saveSuppliers",value:(s=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagSupplier]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreSupplier,"POST",a);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:"getSupplierPurchaseOrders",value:(c=k(m().mark((function t(){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreSupplierPurchaseOrder);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return c.apply(this,arguments)})},{key:"getSupplierPurchaseOrdersByFilters",value:(l=k(m().mark((function t(r){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreSupplierPurchaseOrders,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return l.apply(this,arguments)})},{key:"saveSupplierPurchaseOrders",value:(i=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagSupplierPurchaseOrder]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreSupplierPurchaseOrder,"POST",a);case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)}))),function(e,t,r){return i.apply(this,arguments)})},{key:"getManufacturingPurchaseOrders",value:(a=k(m().mark((function t(){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.request(hashGetStoreManufacturingPurchaseOrder);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)}))),function(){return a.apply(this,arguments)})},{key:"getManufacturingPurchaseOrdersByFilters",value:(o=k(m().mark((function t(r){return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.goToHash(hashPageStoreManufacturingPurchaseOrders,r);case 1:case"end":return t.stop()}}),t)}))),function(e){return o.apply(this,arguments)})},{key:"saveManufacturingPurchaseOrders",value:(n=k(m().mark((function t(r,n,o){var a;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(a={})[flagFormFilters]=u.convertForm2JSON(n),a[flagManufacturingPurchaseOrder]=r,a[flagComment]=o,t.next=6,e.request(hashSaveStoreManufacturingPurchaseOrder,"POST",a);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&&C(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r,n,o,a,i,l,c,s,d,f,p,y,h,v,g,b,P,S,O,E,w,T,A,I}();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 E(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,w(n.key),n)}}function w(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 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){f.initialiseEventHandler(idOverlayConfirm+" button."+flagCancel,flagInitialised,(function(e){e.addEventListener("click",(function(){document.querySelector(idOverlayConfirm).style.visibility="hidden"}))})),f.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&&E(e.prototype,null),t&&E(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function A(e){return A="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},A(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,L(n.key),n)}}function L(e){var t=function(e){if("object"!=A(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=A(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==A(t)?t:t+""}var V=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(_verbose&&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=u.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(){_verbose&&console.log("Initializing "+this.title+" page")}},{key:"hookupCommonElements",value:function(){this.hookupNavigation(),this.hookupImagesLogo(),this.hookupOverlays()}},{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.hookupButtonsNavStoreManufacturingPurchaseOrders(),this.hookupButtonsNavStoreProductPermutations(),this.hookupButtonsNavStoreStockItems(),this.hookupButtonsNavStoreSuppliers(),this.hookupButtonsNavStoreSupplierPurchaseOrders(),this.hookupButtonsNavAdminHome()}},{key:"hookupEventHandler",value:function(e,t,r){f.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(),S.loginUser().then((function(t){t.Success?e.router.navigateToUrl(t[flagCallback],null,!1):u.alertError("Error",t.Message)}))}))}},{key:"hookupButtonsNavStoreHome",value:function(){this.hookupButtonsNav("."+flagNavStoreHome,hashPageStoreHome)}},{key:"hookupButtonsNavStoreManufacturingPurchaseOrders",value:function(){this.hookupButtonsNav("."+flagNavStoreManufacturingPurchaseOrders,hashPageStoreManufacturingPurchaseOrders)}},{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:"hookupButtonsNavStoreSuppliers",value:function(){this.hookupButtonsNav("."+flagNavStoreSuppliers,hashPageStoreSuppliers)}},{key:"hookupButtonsNavStoreSupplierPurchaseOrders",value:function(){this.hookupButtonsNav("."+flagNavStoreSupplierPurchaseOrders,hashPageStoreSupplierPurchaseOrders)}},{key:"hookupImagesLogo",value:function(){this.hookupButtonsNav("img."+flagImageLogo,hashPageHome)}},{key:"hookupOverlays",value:function(){this.hookupOverlayFromId(idOverlayConfirm),this.hookupOverlayFromId(idOverlayError)}},{key:"hookupOverlayFromId",value:function(e){f.initialiseEventHandler(e,flagInitialised,(function(e){e.querySelector("button."+flagCancel).addEventListener("click",(function(t){t.stopPropagation(),e.style.display="none"}))}))}},{key:"hookupButtonSave",value:function(){var e=this;f.initialiseEventHandler("form."+flagFilter+" button."+flagSave,flagInitialised,(function(t){t.addEventListener("click",(function(t){t.stopPropagation(),_verbose&&console.log("saving page: ",e.title),T.show()}))}))}},{key:"hookupVideos",value:function(){f.initialiseEventHandler("video",flagInitialised,(function(e){e.addEventListener("mouseover",videoPlay(e)),e.addEventListener("mouseout",videoPause(e))}))}},{key:"leave",value:function(){if(_verbose&&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),_verbose&&console.log("showing buttons")):(r.classList.add(flagCollapsed),t.classList.add(flagCollapsed),_verbose&&console.log("hiding buttons"))}}])&&I(t.prototype,r),n&&I(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r,n}();function F(e){return F="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},F(e)}function j(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,B(n.key),n)}}function D(e,t,r){return t=R(t),function(e,t){if(t&&("object"==F(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,x()?Reflect.construct(t,r||[],R(e).constructor):t.apply(e,r))}function x(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(x=function(){return!!e})()}function M(){return M="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}},M.apply(null,arguments)}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}function q(e,t){return q=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},q(e,t)}function B(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=F(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}var N,_,H,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),D(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&&q(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(){f.initialiseEventHandler("."+flagNavAdminStoreStripeProducts,flagInitialised,(function(e){e.addEventListener("click",(function(e){this.router.navigateToHash(hashPageAdminStoreStripeProducts)}))}))}},{key:"hookupButtonsNavAdminStoreStripePrices",value:function(){f.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=M(R(1&3?e.prototype:e),"leave",r))?function(e){return n.apply(r,e)}:n)([])}}],n&&j(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(V);function Q(e){return Q="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},Q(e)}function J(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 z(e,t,r){return t=K(t),function(e,t){if(t&&("object"==Q(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||[],K(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 W(){return W="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=K(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}},W.apply(null,arguments)}function K(e){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},K(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"!=Q(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Q(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Q(t)?t:t+""}N=U,_="hash",H=hashPageAdminHome,(_=B(_))in N?Object.defineProperty(N,_,{value:H,enumerable:!0,configurable:!0,writable:!0}):N[_]=H;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),z(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&&J(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=W(K(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);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,ae(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 ae(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 ie=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()}}])}(V);function le(e){return le="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},le(e)}function ue(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=fe(t),function(e,t){if(t&&("object"==le(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||[],fe(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 de(){return de="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=fe(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}},de.apply(null,arguments)}function fe(e){return fe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},fe(e)}function pe(e,t){return pe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},pe(e,t)}function ye(e){var t=function(e){if("object"!=le(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=le(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==le(t)?t:t+""}!function(e,t,r){(t=ae(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(ie,"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&&pe(e,t)}(t,e),function(e,t){return t&&ue(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=de(fe(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);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,Se(n.key),n)}}function me(e,t,r){return t=Ce(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,be()?Reflect.construct(t,r||[],Ce(e).constructor):t.apply(e,r))}function be(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(be=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=Ce(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 Ce(e){return Ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ce(e)}function Pe(e,t){return Pe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Pe(e,t)}function Se(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 Oe=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),me(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&&Pe(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(Ce(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);function Ee(e){return Ee="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},Ee(e)}function we(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,Fe(n.key),n)}}function Te(e,t,r){return t=Le(t),function(e,t){if(t&&("object"==Ee(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,Ae()?Reflect.construct(t,r||[],Le(e).constructor):t.apply(e,r))}function Ae(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ae=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=Le(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 Le(e){return Le=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Le(e)}function Ve(e,t){return Ve=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ve(e,t)}function Fe(e){var t=function(e){if("object"!=Ee(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Ee(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ee(t)?t:t+""}!function(e,t,r){(t=Se(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Oe,"hash",hashPageAccessibilityReport);var je=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&&Ve(e,t)}(t,e),function(e,t){return t&&we(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(Le(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);function De(e){return De="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},De(e)}function xe(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 Me(e,t,r){return t=Be(t),function(e,t){if(t&&("object"==De(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||[],Be(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 qe(){return qe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Be(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}},qe.apply(null,arguments)}function Be(e){return Be=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Be(e)}function Ne(e,t){return Ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ne(e,t)}function _e(e){var t=function(e){if("object"!=De(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=De(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==De(t)?t:t+""}!function(e,t,r){(t=Fe(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(je,"hash",hashPageAccessibilityStatement);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),Me(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&&Ne(e,t)}(t,e),function(e,t){return t&&xe(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=qe(Be(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);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 Qe(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 Je(e,t,r){return t=We(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,ze()?Reflect.construct(t,r||[],We(e).constructor):t.apply(e,r))}function ze(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ze=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=We(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 We(e){return We=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},We(e)}function Ke(e,t){return Ke=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ke(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=_e(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(He,"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),Je(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&&Ke(e,t)}(t,e),function(e,t){return t&&Qe(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){_verbose&&console.log("delivery modal display method"),document.querySelectorAll(idOverlayInfoDelivery).css("display","block")})),document.querySelectorAll(idContainerInfoBilling).addEventListener("click",(function(e){_verbose&&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),f.initialiseEventHandler(t,flagInitialised,(function(){t.submit((function(e){t=document.querySelectorAll(t),e.preventDefault(),_verbose&&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),f.initialiseEventHandler(t,flagInitialised,(function(){t.submit((function(e){e.preventDefault(),_verbose&&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){_verbose&&(console.log("response:"),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"),e[flagForm]=convertForm2JSON(r);var n=[keyNameFull,keyPhoneNumber,keyPostcode,keyAddress1,keyAddress2,keyCity,keyCounty];for(var o in _verbose&&(console.log("converting billing form to json\nform ID: "+r.id),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 _verbose&&(console.log("ajaxData:"),console.log(e)),e}},{key:"hookupButtonCheckoutSession",value:function(){var e=document.querySelectorAll(idButtonCheckout);e.classList.remove(flagInitialised),f.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(){f.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(We(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);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,at(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 at(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 it=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)([])}}])}(V);function lt(e){return lt="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},lt(e)}function ut(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"!=lt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=lt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==lt(t)?t:t+""}!function(e,t,r){(t=at(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(it,"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&&ut(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 _verbose&&console.log({objectJson:t,keyText:n,keyValue:o}),e.getOptionJsonFromObjectJsonAndKeys(t,n,o,r)}},{key:"getObjectText",value:function(e){return e[e[flagNameAttrOptionText]]}}])}();function dt(e){return dt="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},dt(e)}function ft(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,pt(n.key),n)}}function pt(e){var t=function(e){if("object"!=dt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==dt(t)?t:t+""}var yt=function(){return function(e,t,r){return r&&ft(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 mt=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(){f.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 bt(e){return bt="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},bt(e)}function kt(e,t,r){return(t=Pt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ct(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,Pt(n.key),n)}}function Pt(e){var t=function(e){if("object"!=bt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==bt(t)?t:t+""}function St(e,t,r){return t=Tt(t),function(e,t){if(t&&("object"==bt(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,Ot()?Reflect.construct(t,r||[],Tt(e).constructor):t.apply(e,r))}function Ot(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ot=function(){return!!e})()}function Et(e,t,r,n){var o=wt(Tt(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function wt(){return wt="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}},wt.apply(null,arguments)}function Tt(e){return Tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Tt(e)}function At(e,t){return At=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},At(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=St(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&&At(e,t)}(t,e),function(e,t,r){return t&&Ct(e.prototype,t),r&&Ct(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],a=this.getFormFilters(),i=u.convertForm2JSON(a);n.areEqualDicts(o,i)||this.callFilterTableContent(o)}else Et(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=u.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){t.getTableMain().querySelector("tbody").querySelectorAll("tr").forEach((function(e){e.remove()}));var r=e.data[flagRows];!n.isEmpty(r)&&r.every((function(e){return e.hasOwnProperty("display_order")}))&&(r=r.sort((function(e,t){return e.display_order-t.display_order}))),r.forEach(this.loadRowTable.bind(this)),this.hookupTableMain()}},{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=u.convertForm2JSON(t);this.callFilterTableContent(r).then((function(t){_verbose&&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=u.getElementValueCurrent(document.querySelector(idTextareaConfirm));this.callSaveTableContent(t,r,n).then((function(t){t[flagStatus]==flagSuccess?(_verbose&&(console.log("Records saved!"),console.log("Data received:",t)),e.getAndLoadFilteredTableContent()):(_verbose&&console.log("error: ",t[flagMessage]),mt.show(t[flagMessage]))})).catch((function(e){return console.error("Error:",e)}))}else mt.show("No records to save")}},{key:"getTableRecords",value:function(){var e,t=this,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=[];return document.querySelectorAll(idTableMain+" > tbody > tr").forEach((function(o){r&&!o.classList.contains(flagDirty)||(e=t.getJsonRow(o),n.push(e))})),n}},{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=u.getElementValueCurrent(document.querySelector(idTextareaConfirm));this.callSaveTableContent(t,r,n).then((function(t){t[flagStatus]==flagSuccess?(_verbose&&(console.log("Records saved!"),console.log("Data received:",t)),e.callbackLoadTableContent(t)):(_verbose&&console.log("error: ",t[flagMessage]),mt.show(t[flagMessage]))})).catch((function(e){return console.error("Error:",e)}))}else mt.show("No records to save")}},{key:"hookupButtonCancel",value:function(){f.initialiseEventHandler(idFormFilters+" button."+flagCancel,flagInitialised,(function(e){e.addEventListener("click",(function(e){e.stopPropagation(),this.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)}));var a=document.querySelectorAll(idTableMain+" > tbody > tr").length;o.setAttribute(e.constructor.attrIdRowObject,-1-a),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.");f.initialiseEventHandler(idTableMain,flagInitialised,(function(t){e.cacheRowBlank()}))}},{key:"cacheRowBlank",value:function(){var e=idTableMain+" tbody tr."+flagRowNew,t=document.querySelector(e);_verbose&&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.handleChangeNestedElementCellTable(e,r)};f.initialiseEventHandler(e,flagInitialised,(function(e){e.addEventListener("change",(function(t){r(t,e)})),r(null,e)}))}},{key:"handleChangeNestedElementCellTable",value:function(e,t){var r=this.getAllIsDirtyRowsInParentTree(t),n=t.classList.contains(flagDirty),o=u.updateAndCheckIsElementDirty(t);if(_verbose&&console.log({isDirtyElement:o,wasDirtyElement:n,wasDirtyParentRows:r}),o!=n){var a=u.getCellFromElement(t);u.setElementAttributeValueCurrent(a,u.getElementAttributeValueCurrent(t)),this.toggleShowButtonsSaveCancel(o),this.cascadeChangedIsDirtyNestedElementCellTable(t,o,r)}}},{key:"getAllIsDirtyRowsInParentTree",value:function(e){for(var t,r=[],n=e;n;)n.matches("tr")&&(t=n.classList.contains(flagDirty),r.push(t)),n=n.parentElement;return r}},{key:"cascadeChangedIsDirtyNestedElementCellTable",value:function(e,t,r){if(!n.isEmpty(r)){var o=u.getCellFromElement(e),a=t||u.hasDirtyChildrenNotDeletedContainer(i);u.handleDirtyElement(o,a);var i=u.getRowFromElement(o),l=a||u.hasDirtyChildrenNotDeletedContainer(i),c=r.pop();_verbose&&console.log({isDirtyRow:l,wasDirtyRow:c}),l!=c&&(u.handleDirtyElement(i,l),this.toggleShowButtonsSaveCancel(l),this.cascadeChangedIsDirtyNestedElementCellTable(i.parentElement,l,r))}}},{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.handleChangeNestedElementCellTable(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:"hookupButtonsRowDelete",value:function(e,t){var r=this;this.hookupEventHandler("click",e,(function(n,o){r.handleClickButtonRowDelete(n,o,e,t)}))}},{key:"handleClickButtonRowDelete",value:function(e,t,r,n){u.getRowFromElement(t).classList.add(flagDelete);var o=document.createElement("button");o.classList.add(flagAdd),o.textContent="+",t.replaceWith(o),this.hookupButtonsRowUndelete(r,n)}},{key:"hookupButtonsRowUndelete",value:function(e,t){var r=this;this.hookupEventHandler("click",t,(function(n,o){r.handleClickButtonRowUndelete(n,o,e,t)}))}},{key:"handleClickButtonRowUndelete",value:function(e,t,r,n){u.getRowFromElement(t).classList.add(flagDelete);var o=document.createElement("button");o.classList.add(flagAdd),o.textContent="+",t.replaceWith(o),this.hookupButtonsRowDelete(r,n)}},{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){r.hookupTableCellDdls(e)},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(e,t){r.handleChangeNestedElementCellTable(e,t)};this.hookupEventHandler("click",e,(function(a,i){r.handleClickTableCellDdlPreview(a,i,t,e,(function(e){n(e,(function(e,t){o(e,t)}))}))})),n(e+" select")}},{key:"hookupTableCellDdls",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,r){t.handleChangeNestedElementCellTable(e,r)};this.hookupEventHandler("change",e,(function(e,t){r(e,t)}))}},{key:"handleClickTableCellDdlPreview",value:function(e,t,r,n){var o=this,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(e){o.hookupTableCellDdls(e)};if(!t.querySelector("select")){var i=t.cloneNode(!0);t.parentNode.replaceChild(i,t);var l=u.getElementAttributeValueCurrent(i);i.innerHTML="";var c,s,d=document.createElement("select");u.setElementValuesCurrentAndPrevious(d,l),_verbose&&(console.log("click table cell ddl preview"),console.log({optionObjectList:r,cellSelector:n})),s=u.createOption(null),d.appendChild(s),r.forEach((function(e){c=st.getOptionJsonFromObjectJson(e,l),s=u.createOption(c),d.appendChild(s)})),i.appendChild(d),a(n+" select")}}},{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,a){var i=a.querySelector("div");i&&!i.classList.contains(flagCollapsed)&&r.handleClickTableCellDdlPreview(o,a,t,e,(function(e,t){n(e,t)}))}))}},{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.handleChangeNestedElementCellTable(e,t);var r=u.getElementValueCurrent(t),n=u.getRowFromElement(t);n.querySelector("td."+flagProduct).dispatchEvent(new Event("click"));var o,a,i=n.querySelector("td."+flagProduct+" select");i.innerHTML="",i.appendChild(u.createOption(null)),yt.getListFromDict(products).forEach((function(e){"0"!=r&&e[attrIdProductCategory]!=r||(o=st.getOptionJsonFromObjectJson(e),a=u.createOption(o),i.appendChild(a))})),this.handleChangeNestedElementCellTable(e,i)}},{key:"hookupFieldsProductPermutationVariation",value:function(){this.hookupPreviewsProductPermutationVariation(),this.hookupDdlsProductPermutationVariation(),this.hookupDdlsProductPermutationVariationType(),this.hookupButtonsProductPermutationVariationAddDelete()}},{key:"hookupPreviewsProductPermutationVariation",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,o=t.querySelector("table."+flagProductVariations);if(n.isEmpty(o)){this.toggleColumnCollapsed(flagProductVariations,!1);var a=this.getElementProductVariations(t);(o=document.createElement("table")).classList.add(flagProductVariations);var i=document.createElement("thead"),l=document.createElement("tr"),u=document.createElement("th");u.classList.add(flagProductVariationType),u.textContent="Type";var c=document.createElement("th");c.classList.add(flagProductVariation),c.textContent="Name";var s=document.createElement("button");s.classList.add(flagAdd),s.textContent="+";var d=document.createElement("th");d.classList.add(flagAdd),d.appendChild(s),l.appendChild(u),l.appendChild(c),l.appendChild(d),i.appendChild(l),o.appendChild(i);var f=document.createElement("tbody");n.isEmpty(a)||a.forEach((function(e,t){r.addProductPermutationVariationRow(f,e)})),o.appendChild(f),_verbose&&(console.log("click product permutation variations preview"),console.log("variations:",a),console.log("tblVariations: ",o));var p=t.closest(idTableMain+" tbody tr td."+flagProductVariations);p.innerHTML="",p.appendChild(o),this.hookupFieldsProductPermutationVariation()}}},{key:"toggleColumnCollapsed",value:function(e,t){this.toggleColumnHasClassnameFlag(e,t,flagCollapsed)}},{key:"toggleColumnHeaderCollapsed",value:function(e,t){this.toggleColumnHasClassnameFlag(e,t,flagCollapsed)}},{key:"getElementProductVariations",value:function(e){var t,r,o,a=e.getAttribute(attrValueCurrent),i=[];return n.isEmpty(a)||(a=a.split(",")).forEach((function(e){2==(t=e.split(":")).length?(_verbose&&console.log("parts: ",t),o=productVariationTypes[t[0].trim()],r=productVariations[t[1].trim()],i.push(kt(kt({},flagProductVariationType,o),flagProductVariation,r))):_verbose&&console.log("error: invalid variation: ",e)})),i}},{key:"addProductPermutationVariationRow",value:function(e,t){var r,n,o,a,i,l;_verbose&&console.log("permutationVariation: ",t);var c,s=Object.keys(productVariations),d=Object.keys(productVariationTypes),f=e.querySelectorAll("select."+flagProductVariationType),p=new Set,y=0!=t[attrIdProductVariationType];if(f.forEach((function(e){c=u.getElementValueCurrent(e),p.add(c)})),0!=(d=d.filter((function(e){return!p.has(e)}))).length){y&&(s=s.filter((function(e){return!p.has(productVariations[e][attrIdProductVariationType])})));var h=t[flagProductVariation],v=t[flagProductVariationType],g=document.createElement("td");g.classList.add(flagProductVariationType),u.setElementAttributesValuesCurrentAndPrevious(g,v[attrIdProductVariationType]);var m=document.createElement("select");m.classList.add(flagProductVariationType),u.setElementAttributesValuesCurrentAndPrevious(m,v[attrIdProductVariationType]),o=u.createOption(null),_verbose&&console.log("optionProductVariationType: ",o),m.appendChild(o),d.forEach((function(e){r=productVariationTypes[e],n=st.getOptionJsonFromObjectJson(r,v[attrIdProductVariationType]),o=u.createOption(n),_verbose&&console.log("optionProductVariationType: ",o),m.appendChild(o)}));var b=document.createElement("td");b.classList.add(flagProductVariation),u.setElementAttributesValuesCurrentAndPrevious(b,h[attrIdProductVariation]);var k=document.createElement("select");k.classList.add(flagProductVariation),u.setElementAttributesValuesCurrentAndPrevious(k,h[attrIdProductVariation]),l=u.createOption(null),_verbose&&console.log("optionProductVariation: ",l),k.appendChild(l),s.forEach((function(e){a=productVariations[e],i=st.getOptionJsonFromObjectJson(a,h[attrIdProductVariation]),l=u.createOption(i),_verbose&&console.log("optionProductVariation: ",l),k.appendChild(l)}));var C=document.createElement("td");C.classList.add(flagDelete);var P=document.createElement("button");P.classList.add(flagDelete),P.textContent="x";var S=document.createElement("tr");S.classList.add(flagProductVariation),g.appendChild(m),S.appendChild(g),b.appendChild(k),S.appendChild(b),C.appendChild(P),S.appendChild(C),e.appendChild(S)}}},{key:"hookupDdlsProductPermutationVariation",value:function(){this.hookupTableCellDdls(idTableMain+" td."+flagProductVariations+" td."+flagProductVariation)}},{key:"hookupDdlsProductPermutationVariationType",value:function(){this.hookupTableCellDdls(idTableMain+" td."+flagProductVariations+" td."+flagProductVariationType)}},{key:"hookupButtonsProductPermutationVariationAddDelete",value:function(){var e=this,t=idTableMain+" td."+flagProductVariations+" tr."+flagProductVariation+" button",r=t+"."+flagDelete,n=t+"."+flagAdd;this.hookupButtonsRowDelete(r,n,(function(t,r){e.handleClickButtonRowDelete(t,r),e.updateProductPermutationVariations(r)})),this.hookupButtonsRowUndelete(r,n),this.hookupButtonsProductPermutationVariationAdd()}},{key:"hookupButtonsProductPermutationVariationAdd",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagProductVariations+" button."+flagAdd,(function(t,r){e.handleClickButtonProductPermutationVariationAdd(t,r)}))}},{key:"handleClickButtonProductPermutationVariationAdd",value:function(e,r){var n=r.closest("td."+flagProductVariations).querySelector("tbody"),o=t.createOptionUnselectedProductVariation();this.addProductPermutationVariationRow(n,o),this.hookupFieldsProductPermutationVariation()}},{key:"updateProductPermutationVariations",value:function(e){var t=e.closest("td."+flagProductVariations),r=this.getProductPermutationVariationsText(t);t.setAttribute(attrValueCurrent,r),u.isElementDirty(t)}},{key:"getProductPermutationVariationsText",value:function(e){var t,r,n,o,a=e.querySelectorAll("tr"),i="";return a.forEach((function(e,a){t=e.querySelector("td select."+flagProductVariationType),r=e.querySelector("td select."+flagProductVariation),n=t.getAttribute(attrValueCurrent),o=r.getAttribute(attrValueCurrent),i+=n+":"+o+","})),i}},{key:"hookupCurrencyFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagCurrency,yt.getListFromDict(currencies))}},{key:"leave",value:function(){if(this.constructor===t)throw new Error("Must implement leave() method.");Et(t,"leave",this,3)([]);var e=this.getFormFilters(),r={};r[flagFormFilters]=u.convertForm2JSON(e),this.setLocalStoragePage(r)}},{key:"toggleColumnHasClassnameFlag",value:function(e,r,n){var o=t.getTableMain(),a=o.querySelector("th."+e),i=a.classList.contains(n);r!=i&&(u.toggleElementHasClassnameFlag(a,r,n),o.querySelectorAll("td."+e).forEach((function(e){u.toggleElementHasClassnameFlag(e,r,n)})))}},{key:"toggleColumnHeaderHasClassnameFlag",value:function(e,r,n){var o=t.getTableMain().querySelector("th."+e);u.toggleElementHasClassnameFlag(o,r,n)}}],[{key:"isDirtyFilter",value:function(e){var t=u.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:"getTableMain",value:function(){return document.querySelector(idTableMain)}},{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))}}])}(V);function Lt(e){return Lt="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},Lt(e)}function Vt(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 Ft(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)?Ft(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 a,i=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(l)throw a}}}}function Ft(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 jt(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 Dt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?jt(Object(r),!0).forEach((function(t){xt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function xt(e,t,r){return(t=Rt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Mt(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,Rt(n.key),n)}}function Rt(e){var t=function(e){if("object"!=Lt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Lt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Lt(t)?t:t+""}var qt=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&&Mt(e.prototype,t),r&&Mt(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),f.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();_verbose&&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),f.initialiseEventHandler(n,flagInitialised,(function(){(n=document.querySelectorAll(n)).addEventListener("focus",(function(){_verbose&&console.log("dropdown region focused"),handleSelectExpand(n)})),n.addEventListener("blur",(function(){_verbose&&console.log("dropdown region blurred"),handleSelectCollapse(n)})),n.addEventListener("change",(function(){handleSelectCollapse(n);var e=n.val();_verbose&&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]);f.initialiseEventHandler(t,flagInitialised,(function(){e=document.querySelectorAll(idFormIsIncludedVAT),t.addEventListener("change",(function(t){ajaxData={},ajaxData[flagForm]=convertForm2JSON(e),_verbose&&(console.log("sending data to include VAT controller: "),console.log(ajaxData)),ajaxJSONData("set include VAT",mapHashToController(hashStoreSetIsIncludedVAT),ajaxData,(function(){window.location.reload()}),!1)})),_verbose&&console.log("form is included VAT initialised")}))}},{key:"hookupLocalStorage",value:function(){var t=v.getLocalStorage(keyBasket);e.validateBasket(t)||(_verbose&&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(){_verbose&&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(){_verbose&&console.log("hooking up checkout button");var e=document.querySelectorAll(idButtonCheckout);f.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;f.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(u.getElementValueCurrent(r));isNaN(n)&&(n=1),n+=1,r.val(n)}))}))})),e.querySelectorAll("div.btn-decrement["+attrFormType+"="+typeFormBasketAdd+"]").each((function(){var e=this;f.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(u.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;f.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(t){t.stopPropagation();var r=document.querySelectorAll(getFormProductSelector(typeFormBasketEdit,e)).querySelector('input[type="number"]'),n=parseInt(u.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;f.initialiseEventHandler(e,flagInitialised,(function(){e.addEventListener("click",(function(t){t.stopPropagation();var r=document.querySelectorAll(getFormProductSelector(typeFormBasketEdit,e)).querySelector('input[type="number"]'),n=parseInt(u.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+"]";f.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+"]";f.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 _verbose&&console.log("selected currency: ",e),e}},{key:"hookupStoreCardsProduct",value:function(){f.initialiseEventHandler(".card.subcard",flagInitialised,(function(e){_verbose&&console.log("initialising product card: ",e),e.addEventListener("click",(function(t){if("submit"!=t.target.id){_verbose&&(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)}})),_verbose&&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 xt(xt(xt(xt({},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=Dt(Dt({},t),e),o={},a=Vt(t[keyItems]);try{for(a.s();!(r=a.n()).done;){var i=r.value;o[i[keyIdPermutation]]=i.Quantity}}catch(e){a.e(e)}finally{a.f()}var l,u=Vt(e[keyItems]);try{for(u.s();!(l=u.n()).done;){var c=l.value;o[c[keyIdPermutation]]=o[c[keyIdPermutation]]?o[c[keyIdPermutation]]+c.Quantity:c.Quantity}}catch(e){u.e(e)}finally{u.f()}return n[keyItems]=Object.values(o),n}}])}();function Bt(e){return Bt="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},Bt(e)}function Nt(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,_t(n.key),n)}}function _t(e){var t=function(e){if("object"!=Bt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Bt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Bt(t)?t:t+""}function Ht(e,t,r){return t=Jt(t),function(e,t){if(t&&("object"==Bt(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||[],Jt(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 Qt(){return Qt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Jt(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}},Qt.apply(null,arguments)}function Jt(e){return Jt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Jt(e)}function zt(e,t){return zt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},zt(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),Ht(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&&zt(e,t)}(t,e),function(e,t){return t&&Nt(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){!function(e,t,r){var n=Qt(Jt(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(){}}])}(qt);function Wt(e){return Wt="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},Wt(e)}function Kt(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"==Wt(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"!=Wt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Wt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Wt(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",S.getManufacturingPurchaseOrdersByFilters),rr(r,"callSaveTableContent",S.saveManufacturingPurchaseOrders),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&&Kt(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterActive()}},{key:"loadRowTable",value:function(e){}},{key:"getJsonRow",value:function(e){var t=this;if(null!=e){var r=e.querySelector("td."+flagCurrency),n=e.querySelector("td."+flagCostTotalLocalVatExcl+" input"),o=e.querySelector("td."+flagCostTotalLocalVatIncl+" input"),a=e.querySelector("td."+flagPriceTotalLocalVatExcl+" input"),i=e.querySelector("td."+flagPriceTotalLocalVatIncl+" input"),l=e.querySelectorAll("tr."+flagOrderItems),c=e.querySelector("td."+flagActive+" textarea"),s={};s[attrIdManufacturingPurchaseOrder]=e.getAttribute(attrIdManufacturingPurchaseOrder),s[attrIdCurrency]=u.getElementAttributeValueCurrent(r),s[flagCostTotalLocalVatExcl]=u.getElementAttributeValueCurrent(n),s[flagCostTotalLocalVatIncl]=u.getElementAttributeValueCurrent(o),s[flagPriceTotalLocalVatExcl]=u.getElementAttributeValueCurrent(a),s[flagPriceTotalLocalVatIncl]=u.getElementAttributeValueCurrent(i);var d=[];return null!=l&&l.forEach((function(e){d.push(t.getJsonRowOrderItem(e))})),s[flagOrderItems]=d,s[flagActive]=u.getElementAttributeValueCurrent(c),s}}},{key:"getJsonRowOrderItem",value:function(e){var t=e.querySelector("td."+flagDisplayOrder+" input"),r=e.querySelector("td."+flagProductCategory),n=e.querySelector("td."+flagProduct),o=e.querySelector("td."+flagProductVariations),a=e.querySelector("td."+flagUnitMeasurementQuantity),i=e.querySelector("td."+flagQuantityUsed+" input"),l=e.querySelector("td."+flagQuantityProduced+" input"),c=e.querySelector("td."+flagLatencyManufacture+" input"),s=e.querySelector("td."+flagActive+" input"),d={};return d[attrIdManufacturingPurchaseOrder]=e.getAttribute(attrIdManufacturingPurchaseOrder),d[attrIdManufacturingPurchaseOrderProductLink]=e.getAttribute(attrIdManufacturingPurchaseOrderProductLink),d[flagDisplayOrder]=u.getElementAttributeValueCurrent(t),d[attrIdProductCategory]=u.getElementAttributeValueCurrent(r),d[attrIdProduct]=u.getElementAttributeValueCurrent(n),d[flagProductVariations]=u.getElementAttributeValueCurrent(o),d[attrIdUnitMeasurementQuantity]=u.getElementAttributeValueCurrent(a),d[flagQuantityUsed]=u.getElementAttributeValueCurrent(i),d[flagQuantityProduced]=u.getElementAttributeValueCurrent(l),d[flagLatencyManufacture]=u.getElementAttributeValueCurrent(c),d[flagActive]=u.getElementAttributeValueCurrent(s),d}},{key:"initialiseRowNew",value:function(e){$t(t,"initialiseRowNew",this,3)([e])}},{key:"hookupTableMain",value:function(){$t(t,"hookupTableMain",this,3)([]),this.hookupCurrencyFields(),this.hookupCostAndPriceInputs(),this.hookupOrderItemsFields(),this.hookupInputsActiveTable()}},{key:"hookupCostAndPriceInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostTotalLocalVatExcl+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostTotalLocalVatIncl+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagPriceTotalLocalVatExcl+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagPriceTotalLocalVatIncl+" input")}},{key:"hookupOrderItemsFields",value:function(){this.hookupOrderItemsPreviews(),this.hookupFieldsOrderItemDisplayOrder(),this.hookupFieldsOrderItemProductCategory(),this.hookupFieldsOrderItemProduct(),this.hookupFieldsOrderItemProductVariations(),this.hookupFieldsOrderItemUnitQuantity(),this.hookupFieldsOrderItemQuantityUsed(),this.hookupFieldsOrderItemQuantityProduced(),this.hookupFieldsOrderItemUnitMeasurementLatencyManufacture(),this.hookupFieldsOrderItemLatencyManufacture(),this.hookupFieldsOrderItemActive(),this.hookupFieldsOrderItemAddDelete(),this.hookupButtonsOrderItemAdd()}},{key:"hookupOrderItemsPreviews",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagOrderItems,(function(t,r){r.classList.contains(flagCollapsed)&&e.handleClickOrderItemsPreview(t,r)}))}},{key:"handleClickOrderItemsPreview",value:function(e,t){var r=this;_verbose&&console.log("click order items preview"),this.toggleColumnHeaderCollapsed(flagOrderItems,!1),t.classList.remove(flagCollapsed);var n=u.getRowFromElement(t),o=n.getAttribute(attrIdManufacturingPurchaseOrder),a=o>0?manufacturingPurchaseOrderProductLinks[o]:[],i=document.createElement("table");i.classList.add(flagOrderItems);var l=document.createElement("thead"),c=document.createElement("tr"),s=document.createElement("th");s.classList.add(flagDisplayOrder),s.textContent="Display Order";var d=document.createElement("th");d.classList.add(flagProductCategory),d.textContent="Category";var f=document.createElement("th");f.classList.add(flagProduct),f.textContent="Product";var p=document.createElement("th");p.classList.add(flagProductVariations),p.classList.add(flagCollapsed),p.textContent="Variations";var y=document.createElement("th");y.classList.add(flagUnitMeasurementQuantity),y.textContent="Unit Quantity";var h=document.createElement("th");h.classList.add(flagQuantityUsed),h.textContent="Quantity Used";var v=document.createElement("th");v.classList.add(flagQuantityProduced),v.textContent="Quantity Produced";var g=document.createElement("th");g.classList.add(flagUnitMeasurementLatencyManufacture),g.textContent="Unit Measurement Latency Manufacture";var m=document.createElement("th");m.classList.add(flagLatencyManufacture),m.textContent="Latency Manufacture";var b=document.createElement("th");b.classList.add(flagActive),b.textContent="Active";var k=document.createElement("th");k.classList.add(flagAdd);var C=document.createElement("button");C.classList.add(flagAdd),C.textContent="+",k.appendChild(C),c.appendChild(s),c.appendChild(d),c.appendChild(f),c.appendChild(p),c.appendChild(y),c.appendChild(h),c.appendChild(v),c.appendChild(g),c.appendChild(m),c.appendChild(b),c.appendChild(k),l.appendChild(c),i.appendChild(l);var P=document.createElement("tbody");a.forEach((function(e,t){r.addRowManufacturingPurchaseOrderItem(P,e)})),i.appendChild(P);var S=u.getCellFromElement(t),O=S.cloneNode(!1);O.appendChild(i),n.replaceChild(O,S),_verbose&&console.log("tblOrderItems: ",i),this.hookupOrderItemsFields()}},{key:"addRowManufacturingPurchaseOrderItem",value:function(e,t){_verbose&&console.log("addRowManufacturingPurchaseOrderItem: ",t);var r=document.createElement("td");r.classList.add(flagDisplayOrder);var n=document.createElement("input");n.classList.add(flagDisplayOrder),n.type="number",n.step=1,u.setElementValuesCurrentAndPrevious(n,t[flagDisplayOrder]),r.appendChild(n);var o=document.createElement("td");o.classList.add(flagProductCategory),u.setElementAttributesValuesCurrentAndPrevious(o,t[attrIdProductCategory]);var a=document.createElement("div");a.classList.add(flagProductCategory),a.textContent=t[flagProductCategory],o.appendChild(a);var i=document.createElement("td");i.classList.add(flagProduct),u.setElementAttributesValuesCurrentAndPrevious(i,t[attrIdProductCategory]);var l=document.createElement("div");l.classList.add(flagProduct),l.textContent=t[flagProduct],i.appendChild(l);var c=document.createElement("td");c.classList.add(flagProductVariations),c.classList.add(flagCollapsed),u.setElementAttributesValuesCurrentAndPrevious(c,t[attrIdProductCategory]);var s=document.createElement("div");s.classList.add(flagProductVariations),s.textContent=t[flagProductVariations],c.appendChild(s);var d=document.createElement("td");d.classList.add(flagUnitMeasurementQuantity),u.setElementAttributesValuesCurrentAndPrevious(d,t[attrIdProductCategory]);var f=document.createElement("div");f.classList.add(flagUnitMeasurementQuantity),d.appendChild(f);var p=document.createElement("td");p.classList.add(flagQuantityUsed);var y=document.createElement("input");y.classList.add(flagQuantityUsed),y.type="number",u.setElementAttributesValuesCurrentAndPrevious(y,t[flagQuantityUsed]),p.appendChild(y);var h=document.createElement("td");h.classList.add(flagQuantityProduced);var v=document.createElement("input");v.classList.add(flagQuantityProduced),v.type="number",u.setElementAttributesValuesCurrentAndPrevious(v,t[flagQuantityProduced]),h.appendChild(v);var g=document.createElement("td");g.classList.add(flagUnitMeasurementLatencyManufacture),u.setElementAttributesValuesCurrentAndPrevious(g,t[attrIdUnitMeasurementLatencyManufacture]);var m=document.createElement("div");m.classList.add(flagUnitMeasurementLatencyManufacture),g.appendChild(m);var b=document.createElement("td");b.classList.add(flagLatencyManufacture);var k=document.createElement("input");k.classList.add(flagLatencyManufacture),k.type="number",k.step=1,u.setElementAttributesValuesCurrentAndPrevious(k,t[flagLatencyManufacture]),b.appendChild(k);var C=document.createElement("td");C.classList.add(flagActive);var P=document.createElement("input");P.classList.add(flagActive),P.type="checkbox",u.setElementValuesCurrentAndPrevious(P,t[flagActive]),C.appendChild(P);var S=document.createElement("td");S.classList.add(flagDelete);var O=document.createElement("button");O.classList.add(flagDelete),O.textContent="x",S.appendChild(O);var E=document.createElement("tr");E.classList.add(flagOrderItems),E.setAttribute(attrIdManufacturingPurchaseOrder,t[attrIdManufacturingPurchaseOrder]),E.setAttribute(attrIdManufacturingPurchaseOrderProductLink,t[attrIdManufacturingPurchaseOrderProductLink]),E.appendChild(r),E.appendChild(o),E.appendChild(i),E.appendChild(c),E.appendChild(d),E.appendChild(p),E.appendChild(h),E.appendChild(g),E.appendChild(b),E.appendChild(C),E.appendChild(S),e.appendChild(E)}},{key:"hookupFieldsOrderItemDisplayOrder",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagDisplayOrder+" input")}},{key:"hookupFieldsOrderItemProductCategory",value:function(){var e=this;this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagProductCategory,yt.getListFromDict(productCategories),(function(t){e.hookupProductCategoryDdls(t)}))}},{key:"hookupFieldsOrderItemProduct",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagProduct,yt.getListFromDict(products))}},{key:"hookupFieldsOrderItemProductVariations",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagOrderItems+" td."+flagProductVariations,(function(t,r){return e.handleClickProductPermutationVariationsPreview(t,r)}))}},{key:"hookupFieldsOrderItemUnitQuantity",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagUnitMeasurementQuantity,yt.getListFromDict(unitMeasurements))}},{key:"hookupFieldsOrderItemQuantityUsed",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagQuantityUsed+" input")}},{key:"hookupFieldsOrderItemQuantityProduced",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagQuantityProduced+" input")}},{key:"hookupFieldsOrderItemUnitMeasurementLatencyManufacture",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagUnitMeasurementLatencyManufacture,yt.getListFromDict(unitMeasurementsTime))}},{key:"hookupFieldsOrderItemLatencyManufacture",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagLatencyManufacture+" input")}},{key:"hookupFieldsOrderItemActive",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" input."+flagActive)}},{key:"hookupFieldsOrderItemAddDelete",value:function(){var e=idTableMain+" td."+flagOrderItems+" td."+flagOrderItems+" button",t=e+"."+flagDelete,r=e+"."+flagAdd;this.hookupButtonsRowDelete(t,r),this.hookupButtonsRowUndelete(t,r),this.hookupButtonsOrderItemAdd()}},{key:"hookupButtonsOrderItemAdd",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagOrderItems+" th button."+flagAdd,(function(t,r){var n,o=r.closest(idTableMain+" > tbody > tr"),a=o.getAttribute(attrIdManufacturingPurchaseOrder),i=o.querySelectorAll("td."+flagOrderItems+" td."+flagManufacturingPurchaseOrder).length,l=(rr(rr(rr(rr(rr(rr(rr(rr(rr(rr(n={},attrIdManufacturingPurchaseOrder,a),attrIdManufacturingPurchaseOrderProductLink,-1-i),attrIdProductCategory,0),attrIdProduct,0),flagProductVariations,""),attrIdUnitMeasurementQuantity,0),flagQuantityUsed,""),flagQuantityProduced,""),attrIdUnitMeasurementLatencyManufacture,0),flagLatencyManufacture,""),rr(rr(n,flagDisplayOrder,i+1),flagActive,!0)),u=o.querySelector("td."+flagOrderItems+" table tbody");e.addRowManufacturingPurchaseOrderItem(u,l),e.hookupOrderItemsFields()}))}},{key:"leave",value:function(){$t(t,"leave",this,3)([])}}])}(It);function ar(e){return ar="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},ar(e)}function ir(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 lr(e,t,r){return t=dr(t),function(e,t){if(t&&("object"==ar(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,ur()?Reflect.construct(t,r||[],dr(e).constructor):t.apply(e,r))}function ur(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ur=function(){return!!e})()}function cr(e,t,r,n){var o=sr(dr(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=dr(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 dr(e){return dr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},dr(e)}function fr(e,t){return fr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},fr(e,t)}function pr(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"!=ar(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ar(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ar(t)?t:t+""}rr(or,"hash",hashPageStoreManufacturingPurchaseOrders),rr(or,"attrIdRowObject",attrIdManufacturingPurchaseOrder);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),pr(r=lr(this,t,[e]),"callFilterTableContent",S.getCategoriesByFilters),pr(r,"callSaveTableContent",S.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&&fr(e,t)}(t,e),function(e,t){return t&&ir(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){_verbose&&console.log("applying data row: ",e);var t=_rowBlank.cloneNode(!0);t.classList.remove(flagRowNew),t.classList.remove(flagInitialised),t.querySelectorAll("."+flagInitialised).forEach((function(e){e.classList.remove(flagInitialised)}));var r=t.querySelector("td."+flagDisplayOrder+" ."+flagSlider),n=t.querySelector("td."+flagCode+" textarea"),o=t.querySelector("td."+flagName+" textarea"),a=t.querySelector("td."+flagDescription+" textarea"),i=t.querySelector("td."+flagAccessLevel),l=i.querySelector("div."+flagAccessLevel),c=t.querySelector("td."+flagActive+' input[type="checkbox"]');u.setElementValuesCurrentAndPrevious(r,e[flagDisplayOrder]),u.setElementValuesCurrentAndPrevious(n,e[flagCode]),u.setElementValuesCurrentAndPrevious(o,e[flagName]),u.setElementValuesCurrentAndPrevious(a,e[flagDescription]),i.setAttribute(attrIdAccessLevel,e[attrIdAccessLevel]),i.setAttribute(flagAccessLevelRequired,e[flagAccessLevelRequired]),l.setAttribute(attrIdAccessLevel,e[attrIdAccessLevel]),u.setElementValuesCurrentAndPrevious(l,e[attrIdAccessLevel]),l.textContent=e[flagAccessLevelRequired],u.setElementValuesCurrentAndPrevious(c,e[flagActive]),t.setAttribute(e[flagKeyPrimary],e[e[flagKeyPrimary]]),It.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"),a=e.querySelector("td."+flagAccessLevel),i=e.querySelector("td."+flagActive+' input[type="checkbox"]'),l={};return l[attrIdProductCategory]=e.getAttribute(attrIdProductCategory),l[flagCode]=u.getElementAttributeValueCurrent(r),l[flagName]=u.getElementAttributeValueCurrent(n),l[flagDescription]=u.getElementAttributeValueCurrent(o),l[attrIdAccessLevel]=u.getElementAttributeValueCurrent(a),l[flagActive]=u.getElementAttributeValueCurrent(i),l[flagDisplayOrder]=u.getElementAttributeValueCurrent(t),l}}},{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(u.getElementValueCurrent(e)))}));var n=e.querySelector("td."+flagDisplayOrder+" ."+flagSlider);u.setElementValuesCurrentAndPrevious(n,r+1)}}},{key:"hookupTableMain",value:function(){cr(t,"hookupTableMain",this,3)([]),this.hookupSlidersDisplayOrderTable(),this.hookupTextareasCodeTable(),this.hookupTextareasNameTable(),this.hookupTextareasDescriptionTable(),this.hookupTdsAccessLevel(),this.hookupInputsActiveTable()}},{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,Er(n.key),n)}}function mr(e,t,r){return t=Pr(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,br()?Reflect.construct(t,r||[],Pr(e).constructor):t.apply(e,r))}function br(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(br=function(){return!!e})()}function kr(e,t,r,n){var o=Cr(Pr(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Cr(){return Cr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Pr(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}},Cr.apply(null,arguments)}function Pr(e){return Pr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Pr(e)}function Sr(e,t){return Sr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Sr(e,t)}function Or(e,t,r){return(t=Er(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Er(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+""}pr(hr,"hash",hashPageStoreProductCategories),pr(hr,"attrIdRowObject",attrIdProductCategory);var wr=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),Or(r=mr(this,t,[e]),"callFilterTableContent",S.getProductPermutationsByFilters),Or(r,"callSaveTableContent",S.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&&Sr(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.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,a=u.getElementValueCurrent(r),i=productCategories[a],l=document.querySelector(idFormFilters+" ."+flagProduct),c=l.getAttribute(attrValuePrevious);l.innerHTML="",o=u.createOption(null),l.appendChild(o),i.forEach((function(e){n=st.getOptionJsonFromObjectJson(e,c),o=u.createOption(n),l.appendChild(o)})),l.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){null!=e&&_verbose&&console.log("applying data row: ",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"),a=e.querySelector("td."+flagCostUnitLocalVatExcl+" input"),i=e.querySelector("td."+flagCostUnitLocalVatIncl+" input"),l=e.querySelector("td."+flagCurrencyCost),u=e.querySelector("td."+flagProfitLocalMin+" input"),c=e.querySelector("td."+flagLatencyManufacture+" input"),s=e.querySelector("td."+flagQuantityStock+" input"),d=e.querySelector("td."+flagQuantityMin+" input"),f=e.querySelector("td."+flagQuantityMax+" input"),p=e.querySelector("td."+flagCountUnitMeasurementPerQuantityStep+" input"),y=e.querySelector("td."+flagUnitMeasurementQuantity),h=e.querySelector("td."+flagIsSubscription+" input"),v=e.querySelector("td."+flagCountUnitMeasurementIntervalRecurrence+" input"),g=e.querySelector("td."+flagUnitMeasurementIntervalRecurrence),m=e.querySelector("td."+flagIdStripeProduct+" input"),b=e.querySelector("td."+flagDoesExpireFasterOnceUnsealed+" input"),k=e.querySelector("td."+flagCountUnitMeasurementIntervalExpirationUnsealed+" input"),C=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[flagCostUnitLocalVatExcl]=a.getAttribute(attrValueCurrent),S[flagCostUnitLocalVatIncl]=i.getAttribute(attrValueCurrent),S[flagCurrencyCost]=l.getAttribute(attrValueCurrent),S[flagProfitLocalMin]=u.getAttribute(attrValueCurrent),S[flagLatencyManufacture]=c.getAttribute(attrValueCurrent),S[flagQuantityStock]=s.getAttribute(attrValueCurrent),S[flagQuantityMin]=d.getAttribute(attrValueCurrent),S[flagQuantityMax]=f.getAttribute(attrValueCurrent),S[flagCountUnitMeasurementPerQuantityStep]=p.getAttribute(attrValueCurrent),S[flagUnitMeasurementQuantity]=y.getAttribute(attrValueCurrent),S[flagIsSubscription]=h.getAttribute(attrValueCurrent),S[flagCountUnitMeasurementIntervalRecurrence]=v.getAttribute(attrValueCurrent),S[flagUnitMeasurementIntervalRecurrence]=g.getAttribute(attrValueCurrent),S[flagIdStripeProduct]=m.getAttribute(attrValueCurrent),S[flagDoesExpireFasterOnceUnsealed]=b.getAttribute(attrValueCurrent),S[flagCountUnitMeasurementIntervalExpirationUnsealed]=k.getAttribute(attrValueCurrent),S[flagUnitMeasurementIntervalExpirationUnsealed]=C.getAttribute(attrValueCurrent),S[flagActive]=P.getAttribute(attrValueCurrent),S}}},{key:"initialiseRowNew",value:function(e){var t=document.querySelector(idFormFilters+" #"+attrIdProductCategory),r=u.getElementValueCurrent(t),o=!(n.isEmpty(r)||"0"==r),a=document.querySelector(idFormFilters+" #"+attrIdProduct),i=u.getElementValueCurrent(a),l=!(n.isEmpty(i)||"0"==i);if(_verbose&&(console.log("initialiseRowNew: ",e),console.log({ddlCategoryFilter:t,idProductCategoryFilter:r,hasCategoryFilter:o,ddlProductFilter:a,idProductFilter:i,hasProductFilter:l})),o||l){if(o){var c=e.querySelector("td."+flagProductCategory+" select");u.setElementValuesCurrentAndPrevious(c,r),this.handleChangeProductCategoryDdl(null,c)}if(l){var s=e.querySelector("td."+flagProduct+" select");u.setElementValuesCurrentAndPrevious(s,i)}}}},{key:"hookupTableMain",value:function(){kr(t,"hookupTableMain",this,3)([]),this.hookupFieldsProductCategory(),this.hookupProductFields(),this.hookupFieldsProductPermutationVariation(),this.hookupDescriptionTextareas(),this.hookupCostFields(),this.hookupLatencyManufactureInputs(),this.hookupQuantityFields(),this.hookupSubscriptionFields(),this.hookupIdStripeProductInputs(),this.hookupExpirationFields(),this.hookupActiveCheckboxes()}},{key:"hookupFieldsProductCategory",value:function(){var e=this;this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProductCategory,yt.getListFromDict(productCategories),(function(t){e.hookupProductCategoryDdls(t)}))}},{key:"hookupProductFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProduct,yt.getListFromDict(products))}},{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(){}},{key:"hookupProfitFields",value:function(){this.hookupProfitInputs()}},{key:"hookupProfitInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagProfitLocalMin+" input")}},{key:"hookupLatencyManufactureInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagLatencyManufacture+" 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(){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.handleChangeNestedElementCellTable(t,r);var n=u.getElementValueCurrent(r),o=u.getRowFromElement(r),a=o.querySelector("td."+flagCountUnitMeasurementIntervalRecurrence+" input"),i=o.querySelector("td."+flagUnitMeasurementIntervalRecurrence+" ."+flagUnitMeasurementIntervalRecurrence);n?(a.classList.remove(flagCollapsed),i.classList.remove(flagCollapsed),i.closest("td").dispatchEvent(new Event("click"))):(a.classList.add(flagCollapsed),i.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.handleChangeNestedElementCellTable(t,r);var n=u.getElementValueCurrent(r),o=u.getRowFromElement(r),a=o.querySelector("td."+flagCountUnitMeasurementIntervalExpirationUnsealed+" input"),i=o.querySelector("td."+flagUnitMeasurementIntervalExpirationUnsealed+" ."+flagUnitMeasurementIntervalExpirationUnsealed);n?(a.classList.remove(flagCollapsed),i.classList.remove(flagCollapsed),i.closest("td").dispatchEvent(new Event("click"))):(a.classList.add(flagCollapsed),i.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(){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 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,Mr(n.key),n)}}function Ir(e,t,r){return t=jr(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,Lr()?Reflect.construct(t,r||[],jr(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 Vr(e,t,r,n){var o=Fr(jr(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Fr(){return Fr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=jr(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}},Fr.apply(null,arguments)}function jr(e){return jr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},jr(e)}function Dr(e,t){return Dr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Dr(e,t)}function xr(e,t,r){return(t=Mr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Mr(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+""}Or(wr,"hash",hashPageStoreProductPermutations),Or(wr,"attrIdRowObject",attrIdProductPermutation);var Rr=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),xr(r=Ir(this,t,[e]),"callFilterTableContent",S.getProductsByFilters),xr(r,"callSaveTableContent",S.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&&Dr(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.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"]'),a=e.querySelector("td."+flagAccessLevel),i=e.querySelector("td."+flagActive+' input[type="checkbox"]'),l={};return l[attrIdProduct]=e.getAttribute(attrIdProduct),l[attrIdProductCategory]=u.getElementAttributeValueCurrent(r),l[flagName]=u.getElementAttributeValueCurrent(n),l[flagHasVariations]=u.getElementAttributeValueCurrent(o),l[attrIdAccessLevel]=u.getElementAttributeValueCurrent(a),l[flagActive]=u.getElementAttributeValueCurrent(i),l[flagDisplayOrder]=u.getElementAttributeValueCurrent(t),l}}},{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(u.getElementValueCurrent(e)))}));var n=e.querySelector("td."+flagDisplayOrder+" ."+flagSlider);u.setElementValuesCurrentAndPrevious(n,r+1)}}},{key:"hookupTableMain",value:function(){Vr(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(){Vr(t,"leave",this,3)([])}}])}(It);function qr(e){return qr="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},qr(e)}function Br(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,Gr(n.key),n)}}function Nr(e,t,r){return t=Qr(t),function(e,t){if(t&&("object"==qr(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,_r()?Reflect.construct(t,r||[],Qr(e).constructor):t.apply(e,r))}function _r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_r=function(){return!!e})()}function Hr(e,t,r,n){var o=Ur(Qr(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function Ur(){return Ur="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Qr(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}},Ur.apply(null,arguments)}function Qr(e){return Qr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Qr(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,t,r){return(t=Gr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gr(e){var t=function(e){if("object"!=qr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=qr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==qr(t)?t:t+""}xr(Rr,"hash",hashPageStoreProducts),xr(Rr,"attrIdRowObject",attrIdProduct);var Wr=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),zr(r=Nr(this,t,[e]),"callFilterTableContent",S.getStockItemsByFilters),zr(r,"callSaveTableContent",S.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&&Jr(e,t)}(t,e),function(e,t){return t&&Br(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,a=u.getElementValueCurrent(r),i=productCategories[a],l=document.querySelector(idFormFilters+" ."+flagProduct),c=l.getAttribute(attrValuePrevious);l.innerHTML="",o=u.createOption(null),l.appendChild(o),i.forEach((function(e){n=st.getOptionJsonFromObjectJson(e,c),o=u.createOption(n),l.appendChild(o)})),l.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),a=e.querySelector("td."+flagCostUnitLocalVatExcl+" input"),i=e.querySelector("td."+flagCostUnitLocalVatIncl+" input"),l=e.querySelector("td."+flagDatePurchased+" input"),c=e.querySelector("td."+flagDateReceived+" input"),s=e.querySelector("td."+flagStorageLocation),d=e.querySelector("td."+flagIsSealed+" input"),f=e.querySelector("td."+flagDateUnsealed+" input"),p=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]=u.getElementAttributeValueCurrent(t),g[attrIdProduct]=u.getElementAttributeValueCurrent(r),g[flagProductVariations]=u.getElementAttributeValueCurrent(n),g[flagHasVariations]=""!=g[flagProductVariations],g[flagCurrencyCost]=u.getElementAttributeValueCurrent(o),g[flagCostUnitLocalVatExcl]=u.getElementAttributeValueCurrent(a),g[flagCostUnitLocalVatIncl]=u.getElementAttributeValueCurrent(i),g[flagDatePurchased]=u.getElementAttributeValueCurrent(l),g[flagDateReceived]=u.getElementAttributeValueCurrent(c),g[attrIdStorageLocation]=u.getElementAttributeValueCurrent(s),g[flagIsSealed]=u.getElementAttributeValueCurrent(d),g[flagDateUnsealed]=u.getElementAttributeValueCurrent(f),g[flagDateExpiration]=u.getElementAttributeValueCurrent(p),g[flagIsConsumed]=u.getElementAttributeValueCurrent(y),g[flagDateConsumed]=u.getElementAttributeValueCurrent(h),g[flagActive]=v.getAttribute(attrValueCurrent),g}}},{key:"initialiseRowNew",value:function(e){Hr(t,"initialiseRowNew",this,3)([e]);var r=document.querySelector(idFormFilters+" #"+attrIdProductCategory),o=u.getElementValueCurrent(r),a=!(n.isEmpty(o)||"0"==o),i=document.querySelector(idFormFilters+" #"+attrIdProduct),l=u.getElementValueCurrent(i),c=!(n.isEmpty(l)||"0"==l);if(_verbose&&(console.log("initialiseRowNew: ",e),console.log({ddlCategoryFilter:r,idProductCategoryFilter:o,hasCategoryFilter:a,ddlProductFilter:i,idProductFilter:l,hasProductFilter:c})),a||c){if(a){var s=e.querySelector("td."+flagProductCategory+" select");u.setElementValuesCurrentAndPrevious(s,o),this.handleChangeProductCategoryDdl(null,s)}if(c){var d=e.querySelector("td."+flagProduct+" select");u.setElementValuesCurrentAndPrevious(d,l)}}}},{key:"hookupTableMain",value:function(){Hr(t,"hookupTableMain",this,3)([]),this.hookupProductCategoryFields(),this.hookupProductFields(),this.hookupFieldsProductPermutationVariation(),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:"hookupProductFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagProduct,yt.getListFromDict(products))}},{key:"handleClickProductPermutationVariationsPreview",value:function(e,r){var n=u.getRowFromElement(r).querySelector("td."+flagProduct),o=u.getElementValueCurrent(n);products[o][flagHasVariations]&&Hr(t,"handleClickProductPermutationVariationsPreview",this,3)([e,r])}},{key:"handleClickButtonProductPermutationVariationsAdd",value:function(e,r){var n=u.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."+flagCostUnitLocalVatExcl+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostUnitLocalVatIncl+" 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),a=document.createElement("table");a.classList.add(flagProductVariations);var i=document.createElement("thead"),l=document.createElement("th");l.textContent="Plant";var c=document.createElement("th");c.textContent="Location";var s=document.createElement("tr");s.appendChild(l),s.appendChild(c),i.appendChild(s),a.appendChild(i);var d,f,p,y,h,v,g=document.createElement("tbody"),m=Object.keys(plants),b=(Object.keys(storageLocations),plants[n]),k=storageLocations[o],C=document.createElement("td");C.classList.add(flagPlant),u.setElementAttributesValuesCurrentAndPrevious(C,b[attrIdPlant]);var P=document.createElement("select");P.classList.add(flagPlant),u.setElementAttributesValuesCurrentAndPrevious(P,b[attrIdPlant]),p=u.createOption(null),_verbose&&console.log("optionPlant: ",p),P.appendChild(p),m.forEach((function(e){d=plants[e],f=st.getOptionJsonFromObjectJson(objectJson=d,valueSelected=b[attrIdPlant]),p=u.createOption(f),_verbose&&console.log("optionPlant: ",p),P.appendChild(p)}));var S=document.createElement("td");S.classList.add(flagStorageLocation),u.setElementAttributesValuesCurrentAndPrevious(S,k[attrIdStorageLocation]);var O=document.createElement("select");O.classList.add(flagStorageLocation),u.setElementAttributesValuesCurrentAndPrevious(O,k[attrIdStorageLocation]),v=u.createOption(null),_verbose&&console.log("optionStorageLocation: ",v),O.appendChild(v),StorageLocationKeys.forEach((function(e){y=StorageLocations[e],h=st.getOptionJsonFromObjectJson(objectJson=y,valueSelected=k[attrIdStorageLocation]),v=u.createOption(h),_verbose&&console.log("optionStorageLocation: ",v),O.appendChild(v)}));var E=document.createElement("tr");C.appendChild(P),E.appendChild(C),S.appendChild(O),E.appendChild(S),g.appendChild(E),a.appendChild(g);var w=t.parentElement;w.innerHTML="",w.appendChild(a),_verbose&&console.log("tblStorageLocation: ",a),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.handleChangeNestedElementCellTable(e,t);var r=u.getRowFromElement(t).querySelector("td."+flagStorageLocation+" select");r.innerHTML="",r.appendChild(u.createOption(null));var n,o,a=u.getElementValueCurrent(t);plants[a][flagStorageLocations].forEach((function(e){n=st.getOptionJsonFromObjectJson(e),o=u.createOption(n),r.appendChild(o)})),this.handleChangeNestedElementCellTable(e,r)}},{key:"handleChangeStorageLocationDdl",value:function(e,t){this.handleChangeNestedElementCellTable(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.handleChangeNestedElementCellTable(t,r);var n=u.getElementValueCurrent(r),o=u.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.handleChangeNestedElementCellTable(t,r);var n=u.getElementValueCurrent(r),o=u.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(){Hr(t,"leave",this,3)([])}}])}(It);function Kr(e){return Kr="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},Kr(e)}function Xr(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 Yr(e,t,r){return t=tn(t),function(e,t){if(t&&("object"==Kr(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,$r()?Reflect.construct(t,r||[],tn(e).constructor):t.apply(e,r))}function $r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return($r=function(){return!!e})()}function Zr(e,t,r,n){var o=en(tn(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function en(){return en="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=tn(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}},en.apply(null,arguments)}function tn(e){return tn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tn(e)}function rn(e,t){return rn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},rn(e,t)}function nn(e,t,r){return(t=on(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function on(e){var t=function(e){if("object"!=Kr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Kr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Kr(t)?t:t+""}zr(Wr,"hash",hashPageStoreStockItems),zr(Wr,"attrIdRowObject",attrIdStockItem);var an=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),nn(r=Yr(this,t,[e]),"callFilterTableContent",S.getSuppliersByFilters),nn(r,"callSaveTableContent",S.saveSuppliers),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&&rn(e,t)}(t,e),function(e,t){return t&&Xr(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterActive()}},{key:"loadRowTable",value:function(e){}},{key:"getJsonRow",value:function(e){if(null!=e){var t=e.querySelector("td."+flagNameCompany+" textarea"),r=e.querySelector("td."+flagNameContact+" textarea"),n=e.querySelector("td."+flagDepartmentContact+" textarea"),o=e.querySelector("td."+flagAddress),a=e.querySelector("td."+flagPhoneNumber+" textarea"),i=e.querySelector("td."+flagFax+" textarea"),l=e.querySelector("td."+flagEmail+" textarea"),c=e.querySelector("td."+flagWebsite+" textarea"),s=e.querySelector("td."+flagCurrency),d=e.querySelector("td."+flagActive+' input[type="checkbox"]'),f={};return f[attrIdSupplier]=e.getAttribute(attrIdSupplier),f[flagNameCompany]=u.getElementAttributeValueCurrent(t),f[flagNameContact]=u.getElementAttributeValueCurrent(r),f[flagDepartmentContact]=u.getElementAttributeValueCurrent(n),f[attrIdSupplierAddress]=u.getElementAttributeValueCurrent(o),f[flagSupplierAddress]=this.getSupplierAddressesFromRow(e),f[flagPhoneNumber]=u.getElementAttributeValueCurrent(a),f[flagFax]=u.getElementAttributeValueCurrent(i),f[flagEmail]=u.getElementAttributeValueCurrent(l),f[flagWebsite]=u.getElementAttributeValueCurrent(c),f[attrIdCurrency]=u.getElementAttributeValueCurrent(s),f[flagActive]=u.getElementAttributeValueCurrent(d),f}}},{key:"getSupplierAddressesFromRow",value:function(e){var t,r,n,o,a,i,l,c,s=[];return e.querySelectorAll("td."+flagAddress+" tbody tr").forEach((function(d){r=d.querySelector("td."+flagPostcode+" textarea"),n=d.querySelector("td."+flagAddressLine1+" textarea"),o=d.querySelector("td."+flagAddressLine2+" textarea"),a=d.querySelector("td."+flagCity+" textarea"),i=d.querySelector("td."+flagCounty+" textarea"),l=d.querySelector("td."+flagRegion+" select"),c=d.querySelector("td."+flagActive+" input"),t=nn(nn(nn(nn(nn(nn(nn(nn(nn({},attrIdSupplierAddress,d.getAttribute(attrIdSupplierAddress)),attrIdSupplier,e.getAttribute(attrIdSupplier)),flagPostcode,u.getElementAttributeValueCurrent(r)),flagAddressLine1,u.getElementAttributeValueCurrent(n)),flagAddressLine2,u.getElementAttributeValueCurrent(o)),flagCity,u.getElementAttributeValueCurrent(a)),flagCounty,u.getElementAttributeValueCurrent(i)),attrIdRegion,u.getElementAttributeValueCurrent(l)),flagActive,u.getElementAttributeValueCurrent(c)),s.push(t)})),s}},{key:"initialiseRowNew",value:function(e){Zr(t,"initialiseRowNew",this,3)([e])}},{key:"hookupTableMain",value:function(){Zr(t,"hookupTableMain",this,3)([]),this.hookupNameCompanyInputs(),this.hookupNameContactInputs(),this.hookupDepartmentContactInputs(),this.hookupAddressFields(),this.hookupPhoneNumberInputs(),this.hookupFaxInputs(),this.hookupEmailInputs(),this.hookupWebsiteInputs(),this.hookupCurrencyFields(),this.hookupInputsActiveTable()}},{key:"hookupNameCompanyInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagNameCompany+" textarea")}},{key:"hookupNameContactInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagNameContact+" textarea")}},{key:"hookupDepartmentContactInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagDepartmentContact+" textarea")}},{key:"hookupAddressFields",value:function(){this.hookupAddressPreviews(),this.hookupAddressPostcodeInputs(),this.hookupAddressLine1Inputs(),this.hookupAddressLine2Inputs(),this.hookupAddressCityInputs(),this.hookupAddressCountyInputs(),this.hookupAddressRegionDdls(),this.hookupAddressActiveCheckboxes(),this.hookupAddressDeleteButtons(),this.hookupAddressUndeleteButtons(),this.hookupAddressAddButtons()}},{key:"hookupAddressPreviews",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagAddress,(function(t,r){r.classList.contains(flagCollapsed)&&e.handleClickAddressPreview(t,r)}))}},{key:"handleClickAddressPreview",value:function(e,t){var r=this;_verbose&&console.log("click address preview"),this.toggleColumnHeaderCollapsed(flagAddress,!1),t.classList.remove(flagCollapsed);var n=u.getRowFromElement(t),o=n.getAttribute(attrIdSupplier),a=o>0?supplierAddresses[o]:[],i=document.createElement("table");i.classList.add(flagAddress);var l=document.createElement("thead"),c=document.createElement("tr"),s=document.createElement("th");s.classList.add(flagPostcode),s.textContent="Postcode";var d=document.createElement("th");d.classList.add(flagAddressLine1),d.textContent="Address Line 1";var f=document.createElement("th");f.classList.add(flagAddressLine2),f.textContent="Address Line 2";var p=document.createElement("th");p.classList.add(flagCity),p.textContent="City";var y=document.createElement("th");y.classList.add(flagCounty),y.textContent="County";var h=document.createElement("th");h.classList.add(flagRegion),h.textContent="Region";var v=document.createElement("th");v.classList.add(flagActive),v.textContent="Active";var g=document.createElement("th");g.classList.add(flagAdd);var m=document.createElement("button");m.classList.add(flagAdd),m.textContent="+",g.appendChild(m),c.appendChild(s),c.appendChild(d),c.appendChild(f),c.appendChild(p),c.appendChild(y),c.appendChild(h),c.appendChild(v),c.appendChild(g),l.appendChild(c),i.appendChild(l);var b=document.createElement("tbody"),k=yt.getListFromDict(regions);a.forEach((function(e,t){r.addRowSupplierAddress(b,e,k)})),i.appendChild(b);var C=u.getCellFromElement(t),P=C.cloneNode(!1);P.appendChild(i),n.replaceChild(P,C),_verbose&&console.log("tblAddresses: ",i),this.hookupAddressFields()}},{key:"addRowSupplierAddress",value:function(e,t,r){_verbose&&console.log("addRowSupplierAddress: ",t);var n=document.createElement("td");n.classList.add(flagPostcode);var o=document.createElement("textarea");o.classList.add(flagPostcode),u.setElementValuesCurrentAndPrevious(o,t[flagPostcode]),n.appendChild(o);var a=document.createElement("td");a.classList.add(flagAddressLine1);var i=document.createElement("textarea");i.classList.add(flagAddressLine1),u.setElementValuesCurrentAndPrevious(i,t[flagAddressLine1]),a.appendChild(i);var l=document.createElement("td");l.classList.add(flagAddressLine2);var c=document.createElement("textarea");c.classList.add(flagAddressLine2),u.setElementValuesCurrentAndPrevious(c,t[flagAddressLine2]),l.appendChild(c);var s=document.createElement("td");s.classList.add(flagCity);var d=document.createElement("textarea");d.classList.add(flagCity),u.setElementValuesCurrentAndPrevious(d,t[flagCity]),s.appendChild(d);var f=document.createElement("td");f.classList.add(flagCounty);var p=document.createElement("textarea");p.classList.add(flagCounty),u.setElementValuesCurrentAndPrevious(p,t[flagCounty]),f.appendChild(p);var y=t[flagRegion];y||(y=nn({},attrIdRegion,""));var h=document.createElement("td");h.classList.add(flagRegion),u.setElementAttributesValuesCurrentAndPrevious(h,y[attrIdRegion]);var v,g,m=document.createElement("select");m.classList.add(flagRegion),g=u.createOption(null),m.appendChild(g),r.forEach((function(e){v=st.getOptionJsonFromObjectJson(e),g=u.createOption(v),m.appendChild(g)})),u.setElementValuesCurrentAndPrevious(m,y[attrIdRegion]),h.appendChild(m);var b=document.createElement("td");b.classList.add(flagActive);var k=document.createElement("input");k.classList.add(flagActive),k.type="checkbox",u.setElementValuesCurrentAndPrevious(k,t[flagActive]),b.appendChild(k);var C=document.createElement("td");C.classList.add(flagDelete);var P=document.createElement("button");P.classList.add(flagDelete),P.textContent="x",C.appendChild(P);var S=document.createElement("tr");S.setAttribute(attrIdSupplierAddress,t[attrIdSupplierAddress]),S.setAttribute(attrIdSupplier,t[attrIdSupplier]),S.appendChild(n),S.appendChild(a),S.appendChild(l),S.appendChild(s),S.appendChild(f),S.appendChild(h),S.appendChild(b),S.appendChild(C),e.appendChild(S)}},{key:"hookupAddressPostcodeInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" textarea."+flagPostcode)}},{key:"hookupAddressLine1Inputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" textarea."+flagAddressLine1)}},{key:"hookupAddressLine2Inputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" textarea."+flagAddressLine2)}},{key:"hookupAddressCityInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" textarea."+flagCity)}},{key:"hookupAddressCountyInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" textarea."+flagCounty)}},{key:"hookupAddressRegionDdls",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" select."+flagRegion)}},{key:"hookupAddressActiveCheckboxes",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagAddress+" input."+flagActive,(function(e,t){var r=t.closest("tr"),n=r.getAttribute(attrIdSupplierAddress);u.setElementAttributeValueCurrent(r,n);var o=r.closest(idTableMain+" > tbody > tr").querySelectorAll("td."+flagAddress+" input."+flagActive);t.checked&&o.forEach((function(e){e!=t&&u.setElementValueCurrent(e,!1)}))}))}},{key:"hookupFieldsAddressAddDelete",value:function(){var e=idTableMain+" td."+flagAddress+" button",t=e+"."+flagDelete,r=e+"."+flagAdd;this.hookupButtonsRowDelete(t,r),this.hookupButtonsRowUndelete(t,r)}},{key:"hookupAddressDeleteButtons",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagAddress+" button."+flagDelete,(function(t,r){u.getRowFromElement(r).classList.add(flagDelete);var n=document.createElement("button");n.classList.add(flagAdd),n.textContent="+",r.replaceWith(n),e.hookupAddressUndeleteButtons()}))}},{key:"hookupAddressUndeleteButtons",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagAddress+" td button."+flagAdd,(function(t,r){u.getRowFromElement(r).classList.remove(flagDelete);var n=document.createElement("button");n.classList.add(flagDelete),n.textContent="x",r.replaceWith(n),e.hookupAddressDeleteButtons()}))}},{key:"hookupAddressAddButtons",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagAddress+" th button."+flagAdd,(function(t,r){var n=r.closest(idTableMain+" > tbody > tr"),o=n.getAttribute(attrIdSupplier),a=n.querySelectorAll("td."+flagAddress+" input."+flagActive+":checked").length>0,i=n.querySelectorAll("td."+flagAddress+" td."+flagAddress).length,l=nn(nn(nn(nn(nn(nn(nn(nn(nn({},attrIdSupplier,o),attrIdSupplierAddress,-1-i),flagPostcode,""),flagAddressLine1,""),flagAddressLine2,""),flagCity,""),flagCounty,""),attrIdRegion,""),flagActive,!a),c=n.querySelector("td."+flagAddress+" table tbody");if(e.addRowSupplierAddress(c,l,yt.getListFromDict(regions)),!a){var s=n.querySelector("td."+flagAddress);u.setElementAttributeValueCurrent(s,l[attrIdSupplierAddress])}e.hookupAddressFields()}))}},{key:"hookupPhoneNumberInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagPhoneNumber+" textarea")}},{key:"hookupFaxInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagFax+" textarea")}},{key:"hookupEmailInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagEmail+" textarea")}},{key:"hookupWebsiteInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagWebsite+" textarea")}},{key:"leave",value:function(){Zr(t,"leave",this,3)([])}}])}(It);function ln(e){return ln="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},ln(e)}function un(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"!=ln(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=ln(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ln(t)?t:t+""}nn(an,"hash",hashPageStoreSuppliers),nn(an,"attrIdRowObject",attrIdSupplier);var sn=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&&un(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,0,[{key:"getProductVariationsFromIdCsv",value:function(e){var t=[];if(!e)return t;var r,n=e.split(",");return 0==n.length||n.forEach((function(e){if(2==(r=e.split(":")).length){var n=productVariationTypes[r[0]],o=t[r[1]];n&&o&&t.push([n,o])}})),t}},{key:"getProductVariationsPreviewFromIdCsv",value:function(t){var r=e.getProductVariationsFromIdCsv(t),n="";return 0==r.length||r.forEach((function(e){n.length>0&&(n+="\n"),n+=e[0]+": "+e[1]+", "})),n}}])}();function dn(e){return dn="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},dn(e)}function fn(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,kn(n.key),n)}}function pn(e,t,r){return t=gn(t),function(e,t){if(t&&("object"==dn(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,yn()?Reflect.construct(t,r||[],gn(e).constructor):t.apply(e,r))}function yn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(yn=function(){return!!e})()}function hn(e,t,r,n){var o=vn(gn(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function vn(){return vn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=gn(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}},vn.apply(null,arguments)}function gn(e){return gn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},gn(e)}function mn(e,t){return mn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},mn(e,t)}function bn(e,t,r){return(t=kn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kn(e){var t=function(e){if("object"!=dn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=dn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==dn(t)?t:t+""}var Cn=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),bn(r=pn(this,t,[e]),"callFilterTableContent",S.getSupplierPurchaseOrdersByFilters),bn(r,"callSaveTableContent",S.saveSupplierPurchaseOrders),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&&mn(e,t)}(t,e),function(e,t){return t&&fn(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initialize",value:function(){this.sharedInitialize()}},{key:"hookupFilters",value:function(){this.sharedHookupFilters(),this.hookupFilterActive()}},{key:"loadRowTable",value:function(e){}},{key:"getJsonRow",value:function(e){var t=this;if(null!=e){var r=e.querySelector("td."+flagSupplier),n=e.querySelector("td."+flagCurrency),o=e.querySelector("td."+flagCostTotalLocalVatExcl+" input"),a=e.querySelector("td."+flagCostTotalLocalVatIncl+" input"),i=e.querySelectorAll("tr."+flagOrderItems),l=e.querySelector("td."+flagActive+' input[type="checkbox"]'),c={};c[attrIdSupplierPurchaseOrder]=e.getAttribute(attrIdSupplierPurchaseOrder),c[attrIdSupplier]=u.getElementAttributeValueCurrent(r),c[attrIdCurrency]=u.getElementAttributeValueCurrent(n),c[flagCostTotalLocalVatExcl]=u.getElementAttributeValueCurrent(o),c[flagCostTotalLocalVatIncl]=u.getElementAttributeValueCurrent(a);var s=[];return null!=i&&i.forEach((function(e){s.push(t.getJsonRowOrderItem(e))})),c[flagOrderItems]=s,c[flagActive]=u.getElementAttributeValueCurrent(l),c}}},{key:"getJsonRowOrderItem",value:function(e){var t=e.querySelector("td."+flagDisplayOrder+" input"),r=e.querySelector("td."+flagProductCategory),n=e.querySelector("td."+flagProduct),o=e.querySelector("td."+flagProductVariations),a=e.querySelector("td."+flagUnitMeasurementQuantity),i=e.querySelector("td."+flagQuantityOrdered+" input"),l=e.querySelector("td."+flagQuantityReceived+" input"),c=e.querySelector("td."+flagCostTotalLocalVatExcl+" input"),s=e.querySelector("td."+flagCostTotalLocalVatIncl+" input"),d=e.querySelector("td."+flagLatencyDeliveryDays+" input"),f=e.querySelector("td."+flagActive+" input"),p={};return p[attrIdSupplierPurchaseOrder]=e.getAttribute(attrIdSupplierPurchaseOrder),p[attrIdSupplierPurchaseOrderProductLink]=e.getAttribute(attrIdSupplierPurchaseOrderProductLink),p[flagDisplayOrder]=u.getElementAttributeValueCurrent(t),p[attrIdProductCategory]=u.getElementAttributeValueCurrent(r),p[attrIdProduct]=u.getElementAttributeValueCurrent(n),p[flagProductVariations]=u.getElementAttributeValueCurrent(o),p[attrIdUnitMeasurementQuantity]=u.getElementAttributeValueCurrent(a),p[flagQuantityOrdered]=u.getElementAttributeValueCurrent(i),p[flagQuantityReceived]=u.getElementAttributeValueCurrent(l),p[flagCostTotalLocalVatExcl]=u.getElementAttributeValueCurrent(c),p[flagCostTotalLocalVatIncl]=u.getElementAttributeValueCurrent(s),p[flagLatencyDeliveryDays]=u.getElementAttributeValueCurrent(d),p[flagActive]=u.getElementAttributeValueCurrent(f),p}},{key:"initialiseRowNew",value:function(e){hn(t,"initialiseRowNew",this,3)([e])}},{key:"hookupTableMain",value:function(){hn(t,"hookupTableMain",this,3)([]),this.hookupSupplierFields(),this.hookupCurrencyFields(),this.hookupCostInputs(),this.hookupOrderItemsFields(),this.hookupInputsActiveTable()}},{key:"hookupSupplierFields",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagSupplier,yt.getListFromDict(suppliers))}},{key:"hookupCostInputs",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostTotalLocalVatExcl+" input"),this.hookupChangeHandlerTableCells(idTableMain+" td."+flagCostTotalLocalVatIncl+" input")}},{key:"hookupOrderItemsFields",value:function(){this.hookupOrderItemsPreviews(),this.hookupFieldsOrderItemDisplayOrder(),this.hookupFieldsOrderItemProductCategory(),this.hookupFieldsOrderItemProduct(),this.hookupFieldsProductPermutationVariation(),this.hookupFieldsOrderItemUnitQuantity(),this.hookupFieldsOrderItemQuantityOrdered(),this.hookupFieldsOrderItemQuantityReceived(),this.hookupFieldsOrderItemCostTotalLocalVatExcl(),this.hookupFieldsOrderItemCostTotalLocalVatIncl(),this.hookupFieldsOrderItemLatencyDeliveryDays(),this.hookupFieldsOrderItemActive(),this.hookupFieldsOrderItemAddDelete()}},{key:"hookupOrderItemsPreviews",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagOrderItems,(function(t,r){r.classList.contains(flagCollapsed)&&e.handleClickOrderItemsPreview(t,r)}))}},{key:"handleClickOrderItemsPreview",value:function(e,t){var r=this;_verbose&&console.log("click order items preview"),this.toggleColumnHeaderCollapsed(flagOrderItems,!1),t.classList.remove(flagCollapsed);var n=u.getRowFromElement(t),o=n.getAttribute(attrIdSupplierPurchaseOrder);if(!(null==o||o<1)){var a=supplierPurchaseOrders[o],i=document.createElement("table");i.classList.add(flagOrderItems);var l=document.createElement("thead"),c=document.createElement("tr"),s=document.createElement("th");s.classList.add(flagDisplayOrder),s.textContent="Display Order";var d=document.createElement("th");d.classList.add(flagProductCategory),d.textContent="Category";var f=document.createElement("th");f.classList.add(flagProduct),f.textContent="Product";var p=document.createElement("th");p.classList.add(flagProductVariations),p.classList.add(flagCollapsed),p.textContent="Variations";var y=document.createElement("th");y.classList.add(flagUnitMeasurementQuantity),y.textContent="Unit Quantity";var h=document.createElement("th");h.classList.add(flagQuantityOrdered),h.textContent="Quantity Ordered";var v=document.createElement("th");v.classList.add(flagQuantityReceived),v.textContent="Quantity Received";var g=document.createElement("th");g.classList.add(flagCostTotalLocalVatExcl),g.textContent="Cost Total Local VAT Excl";var m=document.createElement("th");m.classList.add(flagCostTotalLocalVatIncl),m.textContent="Cost Total Local VAT Incl";var b=document.createElement("th");b.classList.add(flagCostUnitLocalVatExcl),b.textContent="Cost Unit Local VAT Excl";var k=document.createElement("th");k.classList.add(flagCostUnitLocalVatIncl),k.textContent="Cost Unit Local VAT Incl";var C=document.createElement("th");C.classList.add(flagLatencyDeliveryDays),C.textContent="Latency Delivery (Days)";var P=document.createElement("th");P.classList.add(flagActive),P.textContent="Active";var S=document.createElement("th");S.classList.add(flagAdd);var O=document.createElement("button");O.classList.add(flagAdd),O.textContent="+",S.appendChild(O),c.appendChild(s),c.appendChild(d),c.appendChild(f),c.appendChild(p),c.appendChild(y),c.appendChild(h),c.appendChild(v),c.appendChild(g),c.appendChild(m),c.appendChild(b),c.appendChild(k),c.appendChild(C),c.appendChild(P),c.appendChild(S),l.appendChild(c),i.appendChild(l);var E=document.createElement("tbody");a[flagOrderItems].forEach((function(e,t){r.addRowSupplierPurchaseOrderItem(E,e)})),i.appendChild(E);var w=u.getCellFromElement(t),T=w.cloneNode(!1);T.appendChild(i),n.replaceChild(T,w),_verbose&&console.log("tblOrderItems: ",i),this.hookupOrderItemsFields()}}},{key:"addRowSupplierPurchaseOrderItem",value:function(e,t){_verbose&&console.log("addRowSupplierPurchaseOrderItem: ",t);var r=document.createElement("td");r.classList.add(flagDisplayOrder);var n=document.createElement("input");n.classList.add(flagDisplayOrder),n.type="number",n.step=1,u.setElementValuesCurrentAndPrevious(n,t[flagDisplayOrder]),r.appendChild(n);var o=document.createElement("td");o.classList.add(flagProductCategory),u.setElementAttributesValuesCurrentAndPrevious(o,t[attrIdProductCategory]);var a=document.createElement("div");a.classList.add(flagProductCategory),u.setElementAttributesValuesCurrentAndPrevious(a,t[attrIdProductCategory]);var i=productCategories[t[attrIdProductCategory]];a.textContent=st.getObjectText(i),o.appendChild(a);var l=document.createElement("td");l.classList.add(flagProduct),u.setElementAttributesValuesCurrentAndPrevious(l,t[attrIdProduct]);var c=document.createElement("div");c.classList.add(flagProduct),u.setElementAttributesValuesCurrentAndPrevious(c,t[attrIdProduct]);var s=products[t[attrIdProduct]];c.textContent=st.getObjectText(s),l.appendChild(c);var d=document.createElement("td");d.classList.add(flagProductVariations),d.classList.add(flagCollapsed),u.setElementAttributesValuesCurrentAndPrevious(d,t[attrIdProductVariation]);var f=document.createElement("div");f.classList.add(flagProductVariations),u.setElementAttributesValuesCurrentAndPrevious(f,t[attrIdProductVariation]);var p=sn.getProductVariationsPreviewFromIdCsv(t[flagProductVariations]);f.textContent=p,d.appendChild(f);var y=document.createElement("td");y.classList.add(flagUnitMeasurementQuantity),u.setElementAttributesValuesCurrentAndPrevious(y,t[attrIdUnitMeasurementQuantity]);var h=document.createElement("div");h.classList.add(flagUnitMeasurementQuantity),u.setElementAttributesValuesCurrentAndPrevious(h,t[attrIdUnitMeasurementQuantity]);var v=unitMeasurements[t[attrIdUnitMeasurementQuantity]];h.textContent=st.getObjectText(v),y.appendChild(h);var g=document.createElement("td");g.classList.add(flagQuantityOrdered);var m=document.createElement("input");m.classList.add(flagQuantityOrdered),m.type="number",u.setElementValuesCurrentAndPrevious(m,t[flagQuantityOrdered]),g.appendChild(m);var b=document.createElement("td");b.classList.add(flagQuantityReceived);var k=document.createElement("input");k.classList.add(flagQuantityReceived),k.type="number",u.setElementValuesCurrentAndPrevious(k,t[flagQuantityReceived]),b.appendChild(k);var C=document.createElement("td");C.classList.add(flagCostTotalLocalVatExcl);var P=document.createElement("input");P.classList.add(flagCostTotalLocalVatExcl),P.type="number",P.step=.01,u.setElementValuesCurrentAndPrevious(P,t[flagCostTotalLocalVatExcl]),C.appendChild(P);var S=document.createElement("td");S.classList.add(flagCostTotalLocalVatIncl);var O=document.createElement("input");O.classList.add(flagCostTotalLocalVatIncl),O.type="number",O.step=.01,u.setElementValuesCurrentAndPrevious(O,t[flagCostTotalLocalVatIncl]),S.appendChild(O);var E=document.createElement("td");E.classList.add(flagCostUnitLocalVatExcl);var w=document.createElement("div");w.classList.add(flagCostUnitLocalVatExcl),u.setElementValuesCurrentAndPrevious(w,t[flagCostUnitLocalVatExcl].toFixed(3)),E.appendChild(w);var T=document.createElement("td");T.classList.add(flagCostUnitLocalVatIncl);var A=document.createElement("div");A.classList.add(flagCostUnitLocalVatIncl),u.setElementValuesCurrentAndPrevious(A,t[flagCostUnitLocalVatIncl].toFixed(3)),T.appendChild(A);var I=document.createElement("td");I.classList.add(flagLatencyDeliveryDays);var L=document.createElement("input");L.classList.add(flagLatencyDeliveryDays),L.type="number",L.step=1,u.setElementValuesCurrentAndPrevious(L,t[flagLatencyDeliveryDays]),I.appendChild(L);var V=document.createElement("td");V.classList.add(flagActive);var F=document.createElement("input");F.classList.add(flagActive),F.type="checkbox",u.setElementValuesCurrentAndPrevious(F,t[flagActive]),V.appendChild(F);var j=document.createElement("td");j.classList.add(flagDelete);var D=document.createElement("button");D.classList.add(flagDelete),D.textContent="x",j.appendChild(D);var x=document.createElement("tr");x.classList.add(flagOrderItems),x.setAttribute(attrIdSupplierPurchaseOrder,t[attrIdSupplierPurchaseOrder]),x.setAttribute(attrIdSupplierPurchaseOrderProductLink,t[attrIdSupplierPurchaseOrderProductLink]),x.appendChild(r),x.appendChild(o),x.appendChild(l),x.appendChild(d),x.appendChild(y),x.appendChild(g),x.appendChild(b),x.appendChild(C),x.appendChild(S),x.appendChild(E),x.appendChild(T),x.appendChild(I),x.appendChild(V),x.appendChild(j),e.appendChild(x)}},{key:"hookupFieldsOrderItemDisplayOrder",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagDisplayOrder+" input")}},{key:"hookupFieldsOrderItemProductCategory",value:function(){var e=this;this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagProductCategory,yt.getListFromDict(productCategories),(function(t){e.hookupProductCategoryDdls(t)}))}},{key:"hookupFieldsOrderItemProduct",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagProduct,yt.getListFromDict(products))}},{key:"hookupDdlsProductPermutationVariation",value:function(){this.hookupTableCellDdls(idTableMain+" td."+flagProductVariations+" td."+flagProductVariation)}},{key:"hookupDdlsProductPermutationVariationType",value:function(){this.hookupTableCellDdls(idTableMain+" td."+flagProductVariations+" td."+flagProductVariationType)}},{key:"hookupFieldsOrderItemUnitQuantity",value:function(){this.hookupTableCellDdlPreviews(idTableMain+" td."+flagOrderItems+" td."+flagUnitMeasurementQuantity,yt.getListFromDict(unitMeasurements))}},{key:"hookupFieldsOrderItemQuantityOrdered",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagQuantityOrdered+" input")}},{key:"hookupFieldsOrderItemQuantityReceived",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagQuantityReceived+" input")}},{key:"hookupFieldsOrderItemCostTotalLocalVatExcl",value:function(){var e=this;this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagCostTotalLocalVatExcl+" input",(function(t,r){e.handleChangeNestedElementCellTable(t,r),e.updateFieldsCostUnitLocalVatExcl(r)}))}},{key:"hookupFieldsOrderItemCostTotalLocalVatIncl",value:function(){var e=this;this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagCostTotalLocalVatIncl+" input",(function(t,r){e.handleChangeNestedElementCellTable(t,r),e.updateFieldsCostUnitLocalVatIncl(r)}))}},{key:"updateFieldsCostUnitLocalVatExcl",value:function(e){var t=e.closest("tr."+flagOrderItems),r=t.querySelector("td."+flagCostTotalLocalVatExcl+" input"),n=u.getElementValueCurrent(r),o=t.querySelector("td."+flagQuantityOrdered+" input"),a=u.getElementValueCurrent(o),i=t.querySelector("td."+flagCostUnitLocalVatExcl+" div"),l=0==a?0:n/a;u.setElementValuesCurrentAndPrevious(i,l.toFixed(3));var c=t.closest(idTableMain+" > tbody > tr"),s=c.querySelector("td."+flagCostTotalLocalVatExcl+" div"),d=c.querySelectorAll("td."+flagOrderItems+" td."+flagCostTotalLocalVatExcl+" input"),f=Array.from(d).reduce((function(e,t){return e+Number(u.getElementValueCurrent(t))}),0);u.setElementValueCurrent(s,f)}},{key:"updateFieldsCostUnitLocalVatIncl",value:function(e){var t=e.closest("tr."+flagOrderItems),r=t.querySelector("td."+flagCostTotalLocalVatIncl+" input"),n=u.getElementValueCurrent(r),o=t.querySelector("td."+flagQuantityOrdered+" input"),a=u.getElementValueCurrent(o),i=t.querySelector("td."+flagCostUnitLocalVatIncl+" div"),l=0==a?0:n/a;u.setElementValuesCurrentAndPrevious(i,l.toFixed(3));var c=t.closest(idTableMain+" > tbody > tr"),s=c.querySelector("td."+flagCostTotalLocalVatIncl+" div"),d=c.querySelectorAll("td."+flagOrderItems+" td."+flagCostTotalLocalVatIncl+" input"),f=Array.from(d).reduce((function(e,t){return e+Number(u.getElementValueCurrent(t))}),0);u.setElementValueCurrent(s,f)}},{key:"hookupFieldsOrderItemLatencyDeliveryDays",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" td."+flagLatencyDeliveryDays+" input")}},{key:"hookupFieldsOrderItemActive",value:function(){this.hookupChangeHandlerTableCells(idTableMain+" td."+flagOrderItems+" input."+flagActive)}},{key:"hookupFieldsOrderItemAddDelete",value:function(){var e=idTableMain+" td."+flagOrderItems+" td."+flagOrderItems+" button",t=e+"."+flagDelete,r=e+"."+flagAdd;this.hookupButtonsRowDelete(t,r),this.hookupButtonsRowUndelete(t,r),this.hookupButtonsOrderItemAdd()}},{key:"hookupButtonsOrderItemAdd",value:function(){var e=this;this.hookupEventHandler("click",idTableMain+" td."+flagOrderItems+" th button."+flagAdd,(function(t,r){var n,o=r.closest(idTableMain+" > tbody > tr"),a=o.getAttribute(attrIdSupplierPurchaseOrder),i=o.querySelectorAll("td."+flagOrderItems+" td."+flagSupplierPurchaseOrder).length,l=(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(n={},attrIdSupplierPurchaseOrder,a),attrIdSupplierPurchaseOrderProductLink,-1-i),attrIdProductCategory,0),attrIdProduct,0),flagProductVariations,""),attrIdUnitMeasurementQuantity,0),flagQuantityOrdered,""),flagQuantityReceived,""),flagCostTotalLocalVatExcl,""),flagCostTotalLocalVatIncl,""),bn(bn(bn(bn(bn(n,flagCostUnitLocalVatExcl,""),flagCostUnitLocalVatIncl,""),flagLatencyDeliveryDays,""),flagDisplayOrder,i+1),flagActive,!0)),u=o.querySelector("td."+flagOrderItems+" table tbody");e.addRowSupplierPurchaseOrderItem(u,l),e.hookupOrderItemsFields()}))}},{key:"leave",value:function(){hn(t,"leave",this,3)([])}}])}(It);function Pn(e){return Pn="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},Pn(e)}function Sn(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,In(n.key),n)}}function On(e,t,r){return t=Tn(t),function(e,t){if(t&&("object"==Pn(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,En()?Reflect.construct(t,r||[],Tn(e).constructor):t.apply(e,r))}function En(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(En=function(){return!!e})()}function wn(){return wn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Tn(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}},wn.apply(null,arguments)}function Tn(e){return Tn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Tn(e)}function An(e,t){return An=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},An(e,t)}function In(e){var t=function(e){if("object"!=Pn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Pn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Pn(t)?t:t+""}bn(Cn,"hash",hashPageStoreSupplierPurchaseOrders),bn(Cn,"attrIdRowObject",attrIdSupplierPurchaseOrder);var Ln=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),On(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&&An(e,t)}(t,e),function(e,t){return t&&Sn(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=wn(Tn(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);function Vn(e){return Vn="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},Vn(e)}function Fn(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,qn(n.key),n)}}function jn(e,t,r){return t=Mn(t),function(e,t){if(t&&("object"==Vn(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,Dn()?Reflect.construct(t,r||[],Mn(e).constructor):t.apply(e,r))}function Dn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Dn=function(){return!!e})()}function xn(){return xn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Mn(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}},xn.apply(null,arguments)}function Mn(e){return Mn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Mn(e)}function Rn(e,t){return Rn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Rn(e,t)}function qn(e){var t=function(e){if("object"!=Vn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Vn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Vn(t)?t:t+""}!function(e,t,r){(t=In(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Ln,"hash",hashPagePrivacyPolicy);var Bn=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),jn(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&&Rn(e,t)}(t,e),function(e,t){return t&&Fn(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=xn(Mn(e.prototype),"leave",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n}(t,0,this)([])}}])}(V);function Nn(e){return Nn="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},Nn(e)}function _n(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,Hn(n.key),n)}}function Hn(e){var t=function(e){if("object"!=Nn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Nn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Nn(t)?t:t+""}!function(e,t,r){(t=qn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(Bn,"hash",hashPageDataRetentionSchedule);var Un=function(){return function(e,t,r){return t&&_n(e.prototype,t),r&&_n(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:ie},this.pages[hashPageServices]={name:"PageServices",module:he},this.pages[hashPageAdminHome]={name:"PageAdminHome",module:U},this.pages[hashPageAccessibilityStatement]={name:"PageAccessibilityStatement",module:je},this.pages[hashPageDataRetentionSchedule]={name:"PageDataRetentionSchedule",module:Bn},this.pages[hashPageLicense]={name:"PageLicense",module:He},this.pages[hashPagePrivacyPolicy]={name:"PagePrivacyPolicy",module:Ln},this.pages[hashPageStoreManufacturingPurchaseOrders]={name:"PageManufacturingPurchaseOrders",module:or},this.pages[hashPageStoreProductCategories]={name:"PageStoreProductCategories",module:hr},this.pages[hashPageStoreProductPermutations]={name:"PageStoreProductPermutations",module:wr},this.pages[hashPageStoreProducts]={name:"PageStoreProducts",module:Rr},this.pages[hashPageStoreStockItems]={name:"PageStoreStockItems",module:Wr},this.pages[hashPageStoreSuppliers]={name:"PageStoreSuppliers",module:an},this.pages[hashPageStoreSupplierPurchaseOrders]={name:"PageSupplierPurchaseOrders",module:Cn},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[hashPageStoreManufacturingPurchaseOrders]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreManufacturingPurchaseOrders,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.routes[hashPageStoreSuppliers]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreSuppliers,e)},this.routes[hashPageStoreSupplierPurchaseOrders]=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t.navigateToHash(hashPageStoreSupplierPurchaseOrders,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 _verbose&&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=u.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=S.getUrlFromHash(e,r);history.pushState({data:t,params:r},"",e),S.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=S.parameteriseUrl(e,t),S.goToUrl(e)}}],[{key:"loadPageBodyFromResponse",value:function(e){u.loadPageBody(e.data)}}])}();function Qn(e){return Qn="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},Qn(e)}function Jn(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,zn(n.key),n)}}function zn(e){var t=function(e){if("object"!=Qn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=Qn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qn(t)?t:t+""}new Un;var Gn,Wn=function(){return function(e,t){return t&&Jn(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 u,this.router=new Un}),[{key:"initialize",value:function(){this.setupEventListeners(),this.start()}},{key:"setupEventListeners",value:function(){}},{key:"handleGlobalClick",value:function(e){}},{key:"start",value:function(){this.initPageCurrent()}},{key:"initPageCurrent",value:function(){this.router.loadPageCurrent()}}])}(),Kn=new Wn;Gn=function(){Kn.initialize()},"loading"!==document.readyState?Gn():document.addEventListener("DOMContentLoaded",Gn),window.app=Kn})()})();