{"version":3,"sources":["Utilities.js"],"names":["Utilities","formToJSON","elements","data","length","i","split","type","value","checked","dataset","filevalue","hasOwnProperty","prop","index","JSONToQuery","obj","str","join","p","documentElement","removeProperty","encodeURIComponent","document","style","pointerEvents","LockUI","mainArea","existingLoader","querySelector","ShowLoader","window","scrollTo","appendChild","loader","Array","from","childNodes","forEach","elm","cloneNode","display","className","HideLoader","prototype","callback","remove","NodeList","results","call","this","find","items","push"],"mappings":"AAAA,IAAMA,UAAY,CACdC,WAAY,SAAAC,GAER,IADMC,IAAIA,EAAK,GACFD,EAAAA,EAASE,SAAe,EAAEC,KAAG,CAChCC,IAAQJ,EAAQA,EAASI,GAAAA,KAAMA,MAAI,KAC5BA,EAAQA,EAAA,GACRJ,EAAQA,EAAQG,GAAAE,KACpBC,EAAGN,EAAYM,GAAKA,MAazB,GAViBH,aAATH,IACZM,EAAAN,EAAAG,GAAAI,SAIA,SAAAF,IAEUH,EAAMF,EAAQG,GAAAK,QAAAC,WAGpB,IAAAL,EAAAF,OAAA,EAEoC,IAAtBE,EAAKM,eAAeC,KACvBC,EAAMD,GAAQ,IAG7B,IAAAC,EAAAR,EAAA,GAAAA,MAAA,KAAA,GACJH,EAAAU,GAAAC,GAAAN,OAEHL,EAAAU,GAAAL,EAGG,OAAUL,GAGNY,YAAA,SAAAC,GACJ,IAAOC,EAAIC,GACd,IAAA,IAAAC,KAAAH,EACSA,EAAAJ,eAAMO,IACHC,EAAAA,KAAAA,mBAAsBC,GAAc,IAACC,mBAASN,EAAAG,KAE1D,OAAAF,EAAAC,KAAA,MAEGK,SAASH,WACTG,SAASH,gBAAgBI,MAAMC,eAAgB,UAClDF,SAAAH,gBAAAI,MAAAH,eAAA,mBAEGK,OAAIC,WAEAC,SAAAA,gBAAyBJ,MAACK,OAAc,cAExCD,SAAAA,gBAAgBJ,MAAAC,cAAA,QAEpBK,WAAA,WAEAC,IAAOC,EAAWT,SAAEM,cAAA,QAMZ,IAFeF,EAAAE,cAAA,sBAEf,CAMRF,OAASM,SAAW,EAACC,GAExBC,MAAAC,KAAAT,EAAAU,YACSC,QAAE,SAAAC,GACOhB,EAAAA,QACFI,EAAAA,MAASE,QAAc,UAMpCM,IAAMC,EAAKT,SAASU,cACP,6BAAOG,WAAA,GACZN,EAAQV,MAAOiB,QAAA,OAEfd,EAAAM,YAAAC,GACFP,EAAAe,UAAA,iDAEbC,WAAA,WAEO,IAACC,EAAUN,SAAUT,cAASgB,QACxBX,EAAMP,EAAMkB,cAAS,sBAG7BD,GACQV,EAAOY,SAGbX,MAAAC,KAAAT,EAAAU,YACJC,QAAA,SAAAC,GAEWA,EAAAf,QACde,EAAAf,MAAAiB,QAAA,QAZDM,SAsBeC,UAAOV,QAAA,SAAAO,GACjB,GAAAP,QAAAW,KAAAC,KAAAL,IAnBLV,MAAMS,UAAUO,KAAO,SAASN,GAC5B,IAAK,IAAIxC,EAAI,EAAGA,EAAI6C,KAAK9C,OAAQC,IAC7B,GAAIwC,EAASK,KAAK7C,IACd,OAAO6C,KAAK7C,GAIpB,OAAO,MAGX8B,MAAMC,KAAOD,MAAMC,MACf,SAASgB,GAGL,IAFA,IAAIJ,EAAU,GAEL3C,EAAI,EAAGA,EAAI+C,EAAMhD,OAAQC,IAC9B2C,EAAQK,KAAKD,EAAM/C,IAGvB,OAAO2C","file":"Utilities.js","sourcesContent":["const Utilities = {\n formToJSON: (elements) => {\n const data = {};\n for (let i = elements.length >>> 0; i--;) {\n const split = elements[i].name.split(\"[\");\n const prop = split[0];\n const type = elements[i].type;\n let value = elements[i].value;\n\n if (type === \"checkbox\") {\n value = elements[i].checked;\n }\n\n if (type === \"file\") {\n value = elements[i].dataset.filevalue;\n }\n\n if (split.length === 2) {\n if (data.hasOwnProperty(prop) === false) {\n data[prop] = {};\n }\n\n const index = split[1].split(\"]\")[0];\n data[prop][index] = value;\n } else {\n data[prop] = value;\n }\n }\n return data;\n },\n JSONToQuery: (obj) => {\n var str = [];\n for (var p in obj)\n if (obj.hasOwnProperty(p)) {\n str.push(encodeURIComponent(p) + \"=\" + encodeURIComponent(obj[p]));\n }\n return str.join(\"&\");\n },\n UnlockUi: () => {\n document.documentElement.style.removeProperty(\"cursor\");\n document.documentElement.style.removeProperty(\"pointer-events\");\n },\n LockUI: () => {\n document.documentElement.style.cursor = \"not-allowed\";\n document.documentElement.style.pointerEvents = \"none\";\n },\n ShowLoader: () => {\n let mainArea = document.querySelector(\"main\");\n\n let existingLoader = mainArea.querySelector(\"[data-page-loader]\");\n\n if (existingLoader) {\n return;\n }\n\n window.scrollTo(0,0);\n\n Array.from(mainArea.childNodes)\n .forEach(elm => {\n if (elm.style) {\n elm.style.display = 'none';\n }\n });\n\n let loader = document.querySelector(\"body > [data-page-loader]\").cloneNode(true);\n loader.style.display = 'flex';\n\n mainArea.appendChild(loader);\n mainArea.className = \"page-bf-loading page-content colour-bg-three\";\n },\n HideLoader: () => {\n let mainArea = document.querySelector(\"main\");\n let loader = mainArea.querySelector(\"[data-page-loader]\");\n\n if (loader) {\n loader.remove();\n }\n\n Array.from(mainArea.childNodes)\n .forEach(elm => {\n if (elm.style) {\n elm.style.display = ''; \n }\n });\n }\n}\n\nNodeList.prototype.forEach = function(callback) {\n [].forEach.call(this, callback);\n};\n\nArray.prototype.find = function(callback) {\n for (var i = 0; i < this.length; i++) {\n if (callback(this[i])) {\n return this[i];\n }\n }\n\n return null;\n}\n\nArray.from = Array.from ||\n function(items) {\n var results = [];\n\n for (var i = 0; i < items.length; i++) {\n results.push(items[i]);\n }\n\n return results;\n }"]}