/*! 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;n0)if(r)t=!1;else if("string"!=typeof e[0])t=!1;else for(var n=0;n0)}},{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=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=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=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;r1&&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 at "+r[keyPostcode]+"",document.querySelectorAll(idOverlayInfoBilling).css("display","none"),document.querySelectorAll(idOverlayInfoBilling).querySelector("form").classList.add(flagSubmitted)}else document.querySelectorAll(idContainerInfoDelivery).querySelector("div").innerHTML=""+r[keyNameFull]+" at "+r[keyPostcode]+"",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;r3&&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;r1&&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('
Press "Apply Filters" to refresh the table.
'))}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);r0?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;r0?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;r0&&(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 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;r0&&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