{"version":3,"sources":["Apfco.js","IFormFile.js","ViewHomeEntryForm.js","ViewSharedLayoutPrimary.js"],"names":["Apfco","[object Object]","key","value","url","window","location","href","hash","re","RegExp","test","replace","split","separator","indexOf","milliseconds","Promise","resolve","setTimeout","inputString","findString","replaceString","IFormFile","target","thisObj","this","el","$","elTable","document","getElementById","id","elType","getAttribute","elMaximum","elProgress","change","e","getElementsByTagName","querySelectorAll","length","file","files","data","FormData","append","Action_uploadimage","click","val","css","i","on","event","Action_deleteimage","HTML_updatebutton","prop","token","ajax","xhr","XMLHttpRequest","addClass","upload","addEventListener","evt","lengthComputable","percentComplete","loaded","total","type","GLOBALROOTURL","processData","contentType","success","response","HTML_addimagetotable","removeClass","error","ajaxOptions","thrownError","alert","responseText","tableRow","table","deleteRow","rows","insertRow","outerHTML","HTML_updaterows","cells","innerHTML","trim","get","name","firstChild","toString","off","IFormFileList","elementsByClass","getElementsByClassName","push","item","ViewHomeEntryForm","console","log","sleep","ViewHomeEntryFormList","body","classList","contains","ViewSharedLayoutPrimary","disableFormButtonsOnSubmit","wrapTrademarkSymbolsWithSuperscriptTag","find","each","submit","attr","currentForm","insertBefore","children","first","regexp","contents","filter","nodeType","nodeValue","replaceWith","ViewSharedLayoutPrimaryList"],"mappings":"AAKA,MAAAA,MAEAC,yBAAAC,EAAAC,EAAAC,GACAA,IAAAA,EAAAC,OAAAC,SAAAC,MACA,IACAC,EADAC,EAAA,IAAAC,OAAA,SAAAR,EAAA,kBAAA,MAGA,GAAAO,EAAAE,KAAAP,GACA,OAAA,MAAAD,EACAC,EAAAQ,QAAAH,EAAA,KAAAP,EAAA,IAAAC,EAAA,SAEAK,EAAAJ,EAAAS,MAAA,KACAT,EAAAI,EAAA,GAAAI,QAAAH,EAAA,QAAAG,QAAA,UAAA,SACA,IAAAJ,EAAA,IAAA,OAAAA,EAAA,KACAJ,GAAA,IAAAI,EAAA,IACAJ,GAIA,GAAA,MAAAD,EAAA,CACA,IAAAW,GAAA,IAAAV,EAAAW,QAAA,KAAA,IAAA,IAKA,OAJAP,EAAAJ,EAAAS,MAAA,KACAT,EAAAI,EAAA,GAAAM,EAAAZ,EAAA,IAAAC,OACA,IAAAK,EAAA,IAAA,OAAAA,EAAA,KACAJ,GAAA,IAAAI,EAAA,IACAJ,EAGA,OAAAA,EAIAH,sCAAAG,GACA,OAAAA,EAAAS,MAAA,QAAA,GAGAZ,aAAAe,GACA,OAAA,IAAAC,SAAA,SAAAC,GACAC,WAAAD,EAAAF,MAIAf,kBAAAmB,EAAAC,EAAAC,GACAF,EAAAR,QAAA,8BAAA,QACA,OAAAQ,EAAAR,QAAA,IAAAF,OAAAW,EAAA,KAAAC,ICjDA,MAAAC,UAGAtB,GACAA,QACAA,OACAA,UACAA,WAGAA,YAAAuB,GACA,IAAAC,EAAAC,KAGAA,KAAAC,GAAAC,EAAAJ,GACAE,KAAAG,QAAAC,SAAAC,eAAAP,EAAAQ,GAAA,SACAN,KAAAO,OAAAH,SAAAC,eAAAP,EAAAQ,IAAAE,aAAA,YACAR,KAAAS,UAAAL,SAAAC,eAAAP,EAAAQ,IAAAE,aAAA,WACAR,KAAAU,WAAAN,SAAAC,eAAAP,EAAAQ,GAAA,YAGAJ,EAAAJ,GAAAa,QAAA,SAAAC,GAEA,GADAb,EAAAI,QAAAU,qBAAA,SAAA,GAAAC,iBAAA,eAAAC,OACAhB,EAAAU,UAAA,CACA,IAAAO,EAAAZ,SAAAC,eAAAO,EAAAd,OAAAQ,IAAAW,MAAA,GACAC,EAAA,IAAAC,SACAD,EAAAE,OAAA,QAAAJ,GACAE,EAAAE,OAAA,OAAArB,EAAAQ,QACAR,EAAAsB,mBAAAH,OAEAI,OAAA,WACApB,EAAAF,MAAAuB,IAAA,IACArB,EAAAF,KAAAU,YAAAc,IAAA,QAAA,SAEA,IAAA,IAAAC,EAAA,EAAAA,EAAAvB,EAAA,sBAAAa,OAAAU,IAAA,CACA,IAAAnB,EAAAJ,EAAA,sBAAAuB,GAAAnB,GACAJ,EAAA,IAAAI,GAAAoB,GAAA,SAAA,SAAAC,GACA5B,EAAA6B,mBAAAH,EAAA,EAAAnB,MAGAP,EAAA8B,oBAGAtD,mBAAA2C,GACA,IAAAnB,EAAAC,KACAC,EAAAD,KAAAC,GACAS,EAAAV,KAAAU,WAEAT,EAAA6B,KAAA,YAAA,GAGA,IAAAC,EAAA7B,EAAA,4CAAAqB,MACAL,EAAAE,OAAA,6BAAAW,GAGA7B,EAAA8B,KAAA,CACAC,IAAA,WACA,IAAAA,EAAA,IAAAC,eAcA,OAbAhC,EAAAQ,GAAAyB,SAAA,yBACAF,EAAAG,OAAAC,iBAAA,YAAA,SAAAC,GACA,GAAAA,EAAAC,iBAAA,CACA,IAAAC,EAAAF,EAAAG,OAAAH,EAAAI,MAAA,IAAA,IACAxC,EAAAQ,GAAAc,IAAA,QAAAgB,EAAA,SAEA,GACAP,EAAAI,iBAAA,YAAA,SAAAC,GACA,GAAAA,EAAAC,iBAAA,CACA,IAAAC,EAAAF,EAAAG,OAAAH,EAAAI,MAAA,IACAxC,EAAAQ,GAAAc,IAAA,QAAAgB,EAAA,SAEA,GACAP,GAEAU,KAAA,OACAjE,IAAAkE,cAAA,gCACA1B,KAAAA,EACA2B,aAAA,EACAC,aAAA,EACAC,QAAA,SAAAC,GAEA9B,EAAAE,OAAA,WAAA4B,GACAjD,EAAAkD,qBAAA/B,GACAhB,EAAAQ,GAAAc,IAAA,QAAA,QACA7C,OAAAc,YAAA,WACAS,EAAAQ,GAAAc,IAAA,QAAA,MACAtB,EAAAQ,GAAAwC,YAAA,yBACAjD,EAAA6B,KAAA,YAAA,GACA/B,EAAA8B,sBACA,MAGAsB,MAAA,SAAAlB,EAAAmB,EAAAC,GACAnD,EAAAQ,GAAAc,IAAA,QAAA,QACA7C,OAAAc,YAAA,WACAS,EAAAQ,GAAAc,IAAA,QAAA,MACAtB,EAAAQ,GAAAwC,YAAA,yBACAjD,EAAA6B,KAAA,YAAA,GACAwB,MAAArB,EAAAsB,gBACA,QAKAhF,mBAAAiF,EAAAlD,GACA,IAAAP,EAAAC,KAGAyD,EAAAzD,KAAAG,QAAAU,qBAAA,SAAA,IAGA4C,EAAAC,UAAAF,EAAA,GAGA,IAAAC,EAAAE,KAAA5C,QACA0C,EAAAG,UAAAH,EAAAE,KAAA5C,QACA8C,UAAA,+KAGA9D,EAAA+D,kBAIA,IAAA5C,EAAA,IAAAC,SACAD,EAAAE,OAAA,KAAAd,GAGA,IAAAyB,EAAA7B,EAAA,4CAAAqB,MACAL,EAAAE,OAAA,6BAAAW,GAGA7B,EAAA8B,KAAA,CACAW,KAAA,OACAjE,IAAAkE,cAAA,kCACAE,YAAA,kCACA5B,KAAAA,EACA2B,aAAA,EACAC,aAAA,EACAC,QAAA,WAEAhD,EAAA8B,qBAEAsB,MAAA,SAAAlB,EAAAmB,EAAAC,GAEAC,MAAAD,MAKA9E,qBAAA2C,GACA,IAAAnB,EAAAC,KAGA,IAAAyD,EAAAzD,KAAAG,QAAAU,qBAAA,SAAA,GAGA,KAAA4C,EAAAE,KAAA,GAAAI,MAAA,GAAAC,UAAAC,QACAR,EAAAC,UAAA,IAGAD,EAAAzD,KAAAG,QAAAU,qBAAA,SAAA,IACA+C,UAAAH,EAAAE,KAAA5C,QACA8C,UAAA,oDAAAJ,EAAAE,KAAA5C,OAAA,aAAAG,EAAAgD,IAAA,SAAAC,KAAA,gEAAAjD,EAAAgD,IAAA,YAAA,wDACA,IAAAV,EAAAC,EAAAE,KAAA5C,OACAT,EAAAY,EAAAgD,IAAA,YACAhE,EAAA,IAAAI,GAAAoB,GAAA,SAAA,SAAAC,GACA5B,EAAA6B,mBAAA4B,EAAAlD,MAIA/B,kBACA,IAAAwB,EAAAC,KAGA,IAAAyD,EAAAzD,KAAAG,QAAAU,qBAAA,SAAA,GAGA,IAAA,IAAAY,EAAA,EAAAA,EAAAgC,EAAAE,KAAA5C,OAAAU,IAAA,CAGAgC,EAAAE,KAAAlC,GAAAsC,MAAA,GAAAC,UAAAvC,EAAA,EAGA,IAAAnB,EAAAmD,EAAAE,KAAAlC,GAAAsC,MAAA,GAAAK,WAAA5D,aAAA,MAAA6D,WAGAZ,EAAAE,KAAAlC,GAAAsC,MAAA,GAAAC,UAAA,uDAAA1D,EAAA,6CACAJ,EAAA,IAAAI,GAAAgE,IAAA,SACApE,EAAA,IAAAI,GAAAoB,GAAA,SAAA,SAAAC,GACA5B,EAAA6B,mBAAAH,EAAA,EAAAnB,OAKA/B,oBACA,IAAAwB,EAAAC,KACAD,EAAAI,QAAAU,qBAAA,SAAA,GAAAC,iBAAA,eAAAC,QACAhB,EAAAU,UACAV,EAAAE,GAAA6B,KAAA,YAAA,GAGA/B,EAAAE,GAAA6B,KAAA,YAAA,IAMA,IAAAyC,cAAA,GACArE,GAAA,WACA,IAAAsE,EAAApE,SAAAqE,uBAAA,aACA,IAAA,IAAAhD,EAAA,EAAAA,EAAA+C,EAAAzD,OAAAU,IACA8C,cAAAG,KAAA,IAAA7E,UAAA2E,EAAAG,KAAAlD,QClNA,MAAAmD,kBAGArG,YAAAuB,GACAE,KAAAF,OAAAA,EACA+E,QAAAC,IAAA,kBAAAlC,eACAiC,QAAAC,IAAA,oBAIAvG,kBACAsG,QAAAC,IAAA,sBACAxG,MAAAyG,MAAA,KACAF,QAAAC,IAAA,sBACAxG,MAAAyG,MAAA,KACAF,QAAAC,IAAA,iBAKA,IAAAE,sBAAA,GACA9E,GAAA,WACA,GAAAE,SAAA6E,KAAAC,UAAAC,SAAA,UAAA/E,SAAA6E,KAAAC,UAAAC,SAAA,cAAA,CACA,IAAAX,EAAApE,SAAAqE,uBAAA,eACA,IAAA,IAAAhD,EAAA,EAAAA,EAAA+C,EAAAzD,OAAAU,IACAuD,sBAAAN,KAAA,IAAAE,kBAAAJ,EAAAG,KAAAlD,SCzBA,MAAA2D,wBAGA7G,OAIAA,YAAAuB,GAEAE,KAAAF,OAAAA,EACAE,KAAAqF,6BACArF,KAAAsF,yCACAT,QAAAC,IAAA,6BAGAvG,6BAIA2B,EAAAF,KAAAF,QAAAyF,KAAA,QAAAC,MAAA,WACAtF,EAAAF,MAAAyF,QAAA,SAAA9D,GACAzB,EAAAF,MAAAuF,KAAA,uBAAAC,MAAA,WACAtF,EAAAF,MAAA0F,KAAA,2BACAxF,EAAAF,MAAA8B,KAAA,YAAA,YAKA5B,EAAAF,KAAAF,QAAAyF,KAAA,QAAAC,MAAA,WACA,IAAAG,EAAA3F,KACAE,EAAAF,MAAAuF,KAAA,uBAAAC,MAAA,WACAtF,EAAAF,MAAA0F,KAAA,2BACAxF,EAAAF,MAAAsB,OAAA,SAAAK,GACAzB,EAAA,WAAAwF,KAAA,CACA/C,KAAA,SACAwB,KAAAjE,EAAAF,MAAA0F,KAAA,QACAjH,MAAAyB,EAAAF,MAAAuB,QACAqE,aAAA1F,EAAAyF,GAAAE,WAAAC,kBAOAvH,yCAEA,IAAAwH,EAAA,SACA7F,EAAA,yBAAA8F,WAAAC,QAAA,WACA,OAAA,IAAAjG,KAAAkG,UAAAH,EAAA9G,KAAAe,KAAAmG,cACAC,aAAA,WACA,OAAApG,KAAAmG,UAAAjH,QAAA6G,EAAA,oBAEA7F,EAAA,yBAAA8F,WAAAC,QAAA,WACA,OAAA,IAAAjG,KAAAkG,YACAE,aAAA,WACA,OAAApG,KAAAmG,UAAAjH,QAAA,SAAA,qBAMA,IAAAmH,4BAAA,GACAnG,GAAA,WACA,IAAAsE,EAAApE,SAAAqE,uBAAA,iBACA,IAAA,IAAAhD,EAAA,EAAAA,EAAA+C,EAAAzD,OAAAU,IACA4E,4BAAA3B,KAAA,IAAAU,wBAAAZ,EAAAG,KAAAlD","file":"site.min.js","sourcesContent":["\r\n\r\n//NOTE: The layout should have the constant GLOBALROOTURL defined - Used for transferring data from server-side to client side via APIs\r\n\r\n\r\nclass Apfco {\r\n\r\n static updateQueryString(key, value, url) { //Update query string parameters - Taken from here: https://stackoverflow.com/questions/5999118/add-or-update-query-string-parameter\r\n if (!url) url = window.location.href;\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"),\r\n hash;\r\n\r\n if (re.test(url)) {\r\n if (typeof value !== 'undefined' && value !== null)\r\n return url.replace(re, '$1' + key + \"=\" + value + '$2$3');\r\n else {\r\n hash = url.split('#');\r\n url = hash[0].replace(re, '$1$3').replace(/(&|\\?)$/, '');\r\n if (typeof hash[1] !== 'undefined' && hash[1] !== null)\r\n url += '#' + hash[1];\r\n return url;\r\n }\r\n }\r\n else {\r\n if (typeof value !== 'undefined' && value !== null) {\r\n var separator = url.indexOf('?') !== -1 ? '&' : '?';\r\n hash = url.split('#');\r\n url = hash[0] + separator + key + '=' + value;\r\n if (typeof hash[1] !== 'undefined' && hash[1] !== null)\r\n url += '#' + hash[1];\r\n return url;\r\n }\r\n else\r\n return url;\r\n }\r\n }\r\n\r\n static stripQueryStringAndHashFromUrl(url) { //Example, changes http://localhost:61222/?test=123#NavContent to http://localhost:61222/ - From https://stackoverflow.com/questions/2540969/remove-querystring-from-url\r\n return url.split(/[?#]/)[0];\r\n }\r\n\r\n static sleep(milliseconds) { //Use in async functions to insert a delay before continuing processing. Example: await Apfco.Sleep(2000);\r\n return new Promise(function (resolve) {\r\n setTimeout(resolve, milliseconds);\r\n });\r\n }\r\n\r\n static replaceAll(inputString, findString, replaceString) { //Replace all instances of a value in a string - native string.replace() only works on first instance\r\n let inputStringRegEscaped = inputString.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n return inputString.replace(new RegExp(findString, 'g'), replaceString);\r\n }\r\n\r\n}","class IFormFile {\r\n\r\n //Variables\r\n el;\r\n elTable;\r\n elType;\r\n elMaximum;\r\n elProgress;\r\n\r\n //Methods\r\n constructor(target) {\r\n let thisObj = this;\r\n\r\n //Assign elements\r\n this.el = $(target);\r\n this.elTable = document.getElementById(target.id + \"Table\");\r\n this.elType = document.getElementById(target.id).getAttribute(\"filetype\");\r\n this.elMaximum = document.getElementById(target.id).getAttribute(\"maximum\");\r\n this.elProgress = document.getElementById(target.id + \"Progress\");\r\n\r\n //Assign events\r\n $(target).change(function (e) {\r\n var count = thisObj.elTable.getElementsByTagName('tbody')[0].querySelectorAll('.table-item').length;\r\n if (count < thisObj.elMaximum) {\r\n var file = document.getElementById(e.target.id).files[0];\r\n var data = new FormData();\r\n data.append('image', file);\r\n data.append('type', thisObj.elType);\r\n thisObj.Action_uploadimage(data);\r\n }\r\n }).click(function () {\r\n $(this).val(\"\");\r\n $(this.elProgress).css(\"width\", \"0%\");\r\n });\r\n for (let i = 0; i < $('.customfile-action').length; i++) {\r\n let id = $('.customfile-action')[i].id;\r\n $('#' + id).on('click', function (event) {\r\n thisObj.Action_deleteimage(i + 1, id);\r\n });\r\n }\r\n thisObj.HTML_updatebutton();\r\n }\r\n\r\n Action_uploadimage(data) {\r\n let thisObj = this;\r\n let el = this.el;\r\n let elProgress = this.elProgress;\r\n\r\n el.prop('disabled', true);\r\n\r\n //Append AntiForgeryToken to payload\r\n var token = $('input[name=\"__RequestVerificationToken\"]').val();\r\n data.append('__RequestVerificationToken', token);\r\n\r\n //HTTP request to controller\r\n $.ajax({\r\n xhr: function () {\r\n var xhr = new XMLHttpRequest();\r\n $(elProgress).addClass(\"progress-bar-animated\");\r\n xhr.upload.addEventListener(\"progress\", function (evt) {\r\n if (evt.lengthComputable) {\r\n var percentComplete = (evt.loaded / evt.total * 100) / 1.5;\r\n $(elProgress).css(\"width\", percentComplete + \"%\");\r\n }\r\n }, false);\r\n xhr.addEventListener(\"progress\", function (evt) {\r\n if (evt.lengthComputable) {\r\n var percentComplete = (evt.loaded / evt.total * 100);\r\n $(elProgress).css(\"width\", percentComplete + \"%\");\r\n }\r\n }, false);\r\n return xhr;\r\n },\r\n type: 'POST',\r\n url: GLOBALROOTURL + '/ClientRequest/SaveFileUpload',\r\n data: data,\r\n processData: false,\r\n contentType: false,\r\n success: function (response) {\r\n //Add image to Table\r\n data.append('uniqueid', response);\r\n thisObj.HTML_addimagetotable(data);\r\n $(elProgress).css(\"width\", \"100%\");\r\n window.setTimeout(function () {\r\n $(elProgress).css(\"width\", \"0%\");\r\n $(elProgress).removeClass(\"progress-bar-animated\");\r\n el.prop('disabled', false);\r\n thisObj.HTML_updatebutton();\r\n }, 500);\r\n\r\n },\r\n error: function (xhr, ajaxOptions, thrownError) {\r\n $(elProgress).css(\"width\", \"100%\");\r\n window.setTimeout(function () {\r\n $(elProgress).css(\"width\", \"0%\");\r\n $(elProgress).removeClass(\"progress-bar-animated\");\r\n el.prop('disabled', false);\r\n alert(xhr.responseText);\r\n }, 500);\r\n }\r\n });\r\n }\r\n\r\n Action_deleteimage(tableRow, id) {\r\n let thisObj = this;\r\n\r\n //Fetch the body of the table\r\n let table = this.elTable.getElementsByTagName('tbody')[0];\r\n\r\n //Initially delete the row\r\n table.deleteRow((tableRow - 1));\r\n\r\n //If there are no more rows insert default row\r\n if (table.rows.length === 0) {\r\n var newRow = table.insertRow(table.rows.length);\r\n newRow.outerHTML = '