{"version":3,"file":"site.min.js","sources":["site.js"],"sourcesContent":["// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\r\n// for details on configuring this project to bundle and minify static web assets.\r\n\r\n// Write your JavaScript code.\r\n\r\n// Cookies - For Keeping User Preference\r\n\r\nvar isMobile = false;\r\nvar isTablet = false;\r\n\r\nvar currentWidth = 0;\r\nvar currentHeight = 0;\r\n\r\ncheckIfMobile = function () {\r\n // get browser width\r\n currentWidth = window.innerWidth || document.documentElement.clientWidth;\r\n currentHeight = window.innerHeight || document.documentElement.clientHeight;\r\n\r\n var md = new MobileDetect(navigator.userAgent)\r\n\r\n isMobile = (md.phone() != null);\r\n isTablet = (md.tablet() != null);\r\n\r\n //detect known mobile/tablet usage\r\n //if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/Blackberry/i)) || (navigator.userAgent.match(/Windows Phone/i))) {\r\n // isMobile = true;\r\n //}else if (navigator.userAgent.match(/iPad/i)) {\r\n // isTablet = true;\r\n //}\r\n};\r\n\r\nfunction setCookie(cname, cvalue, exdays) {\r\n\tvar d = new Date();\r\n\td.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n\tvar expires = \"expires=\" + d.toUTCString();\r\n\tdocument.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n}\r\n\r\nfunction getCookie(cname) {\r\n\tvar name = cname + \"=\";\r\n\tvar ca = document.cookie.split(';');\r\n\tfor (var i = 0; i < ca.length; i++) {\r\n\t\tvar c = ca[i];\r\n\t\twhile (c.charAt(0) === ' ') {\r\n\t\t\tc = c.substring(1);\r\n\t\t}\r\n\t\tif (c.indexOf(name) === 0) {\r\n\t\t\treturn c.substring(name.length, c.length);\r\n\t\t}\r\n\t}\r\n\treturn \"\";\r\n}\r\n\r\nfunction setMode(sMode) {\r\n\r\n $(\"body\").removeClass(\"light-mode\")\r\n .removeClass(\"dark-mode\")\r\n .removeClass(\"blue\")\r\n .removeClass(\"purple\");\r\n\r\n $(\"body\").addClass(sMode);\r\n\r\n setCookie(\"site-mode\", sMode, 365);\r\n}\r\n\r\nformatLocalDateTime = function (iUnixTimeStamp, sformat) {\r\n\r\n if (sformat === undefined) {\r\n sformat = \"d/m/y h:m:s\"\r\n }\r\n\r\n return formatLocalTime(iUnixTimeStamp, sformat)\r\n};\r\n\r\nformatLocalTime = function (iUnixTimeStamp, sformat) {\r\n if (sformat === undefined) {\r\n sformat = \"h:m\"\r\n }\r\n if (iUnixTimeStamp == null) {\r\n iUnixTimeStamp = 0;\r\n }\r\n if (iUnixTimeStamp == 0) {\r\n return \"--:--\";\r\n } else {\r\n var d = new Date(iUnixTimeStamp);\r\n\r\n return formatDateTime(d, sformat);\r\n }\r\n};\r\n\r\ndownloadExport = function (obj) {\r\n var $this = $(obj);\r\n\r\n if (!$this.hasClass(\"disabled\")) {\r\n $this.addClass(\"disabled\");\r\n\r\n var sContent = \"
\"\r\n + \"
\"\r\n + \" \"\r\n + \"
\"\r\n + \"

Processing Please Wait

\"\r\n + \"
\";\r\n\r\n loadLocalContent(\"overlay-content\", sContent, true, \"md\", \"Exporting Data\");\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n url: $this.attr(\"href\"),\r\n cache: false,\r\n xhr: function () {\r\n var xhr = new XMLHttpRequest();\r\n xhr.responseType = 'blob'\r\n return xhr;\r\n },\r\n success: function (data, textStatus, xhr) {\r\n //debugger;\r\n $this.removeClass(\"disabled\", false);\r\n\r\n if (textStatus.indexOf(\"error\") > -1) {\r\n loadLocalContent(\"overlay-content\", \"

Error exporting data - please try again.

\", true, \"md\", \"Exporting Data Error\");\r\n } else {\r\n //var blob = new Blob([data], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" });\r\n //var blob = new Blob([data], { type: \"application/octet-stream\" });\r\n var blob = data;\r\n var filename = \"\";\r\n var disposition = xhr.getResponseHeader('Content-Disposition');\r\n\r\n if (disposition && disposition.indexOf('attachment') !== -1) {\r\n var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n var matches = filenameRegex.exec(disposition);\r\n if (matches != null && matches[1]) {\r\n filename = matches[1].replace(/['\"]/g, '');\r\n }\r\n }\r\n\r\n //Check the Browser type and download the File.\r\n var isIE = false || !!document.documentMode;\r\n\r\n if (isIE) {\r\n window.navigator.msSaveBlob(blob, filename);\r\n } else {\r\n var url = window.URL || window.webkitURL;\r\n\r\n try {\r\n link = url.createObjectURL(blob);\r\n } catch (e) {\r\n link = url.createObjectURL(new Blob([data], { type: \"application/octet-stream\" }));\r\n }\r\n\r\n var sDownloadContent = \"
\"\r\n + \"
\"\r\n + \" \"\r\n + \"
\"\r\n + \"

Export Complete

\"\r\n + \"

If your file doesn't automatically download .

\"\r\n + \"

\";\r\n\r\n loadLocalContent(\"overlay-content\", sDownloadContent, true, \"md\", \"Export Data\");\r\n\r\n var a = $(\"click here\");\r\n a.attr(\"download\", filename);\r\n a.attr(\"href\", link);\r\n\r\n $(\"#download-link\").append(a);\r\n a[0].click();\r\n }\r\n }\r\n },\r\n failure: function (response) {\r\n $this.removeClass(\"disabled\", false);\r\n\r\n if (response.indexOf(\"error\") > -1) {\r\n loadLocalContent(\"overlay-content\", \"

Error exporting data - please try again.

\", true, \"md\", \"Exporting Data Error\");\r\n }\r\n },\r\n error: function (response) {\r\n $this.removeClass(\"disabled\", false);\r\n\r\n if (response.indexOf(\"error\") > -1) {\r\n loadLocalContent(\"overlay-content\", \"

Error exporting data - please try again.

\", true, \"md\", \"Exporting Data Error\");\r\n }\r\n }\r\n });\r\n\r\n return false;\r\n }\r\n};\r\n\r\ngetMyAddressDtls = function (obj) {\r\n var sUrl = sFullBaseURL + \"/api/user/address\";\r\n\r\n $.ajax({\r\n url: sUrl,\r\n type: 'GET',\r\n dataType: \"json\",\r\n success: function (jsonData, textStatus) {\r\n\r\n $(\".houseNo\").val(jsonData.houseNo);\r\n $(\".street\").val(jsonData.street);\r\n $(\".district\").val(jsonData.district);\r\n $(\".city\").val(jsonData.city);\r\n $(\".postcode\").val(jsonData.postcode);\r\n $(\".country\").val(jsonData.country);\r\n\r\n },\r\n error: function (xhr, ajaxOptions, thrownError) {\r\n alert(\"Error \" + xhr.status);\r\n //statusTimer = setTimeout(getSystemStatus, 30000);\r\n }\r\n });\r\n};\r\n\r\ngetNewSiteCode = function (obj) {\r\n\tvar sId = $(obj).data(\"id\");\r\n\tvar sUrl = sFullBaseURL + \"api/site/generate-code/\"; // + sId;\r\n\r\n\t$.ajax({\r\n\t\turl: sUrl,\r\n\t\ttype: 'GET',\r\n\t\t//dataType: \"json\",\r\n\t\tdata: \"id=\" + sId,\r\n\t\tsuccess: function (responseText, textStatus) {\r\n\t\t\t//debugger;\r\n\r\n\t\t\tvar sNewKey = responseText;\r\n\r\n\t\t\t$(\"#site-key-holder .form-control-plaintext\").html(sNewKey);\r\n\t\t\t$(\"#site-key-holder #key\").val(sNewKey);\r\n\t\t},\r\n\t\terror: function (xhr, ajaxOptions, thrownError) {\r\n\t\t\t//debugger;\r\n\t\t\talert(\"Error \" + xhr.status);\r\n\t\t\t//statusTimer = setTimeout(getSystemStatus, 30000);\r\n\t\t}\r\n\t});\r\n};\r\n\r\nbindControls = function ($obj) {\r\n $obj.find('[data-mask]').each(function (idx, obj) {\r\n //$(obj).inputmask()\r\n });\r\n\r\n $obj.find('.wysiwyg').each(function (idx, obj) {\r\n $(obj).summernote({\r\n styleTags: [\r\n 'p',\r\n { title: 'Small Text', tag: 'p', className: 'small-text', value: 'p' },\r\n 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'\r\n ]});\r\n });\r\n\r\n $obj.find('.seachableDDL').each(function (idx, obj) {\r\n $(obj).select2();\r\n });\r\n\r\n\r\n $obj.find('.colourPickerUI').each(function (idx, obj) {\r\n //color picker with addon\r\n $(obj).colorpicker()\r\n\r\n $(obj).find('.input-group-append').on(\"click\", function () {\r\n $(obj).find(\"input\").focus();\r\n });\r\n\r\n\r\n $(obj).on('colorpickerChange', function (event) {\r\n $(obj).find('.fa-square').css('color', event.color.toString());\r\n });\r\n });\r\n\r\n $obj.find('.datePickerUI').each(function (idx, obj) {\r\n $(obj).datetimepicker({\r\n format: 'DD MMM yyyy',\r\n allowInputToggle: true,\r\n keepOpen: false,\r\n debug: true,\r\n buttons: {\r\n showToday: true,\r\n showClear: true,\r\n showClose: true\r\n },\r\n icons: {\r\n time: \"far fa-clock\",\r\n date: \"far fa-calendar-alt\",\r\n up: \"fa fa-arrow-up\",\r\n down: \"fa fa-arrow-down\",\r\n clear: \"far fa-calendar-times\",\r\n close: \"far fa-times-circle\",\r\n today: 'far fa-calendar-check'\r\n }\r\n });\r\n });\r\n\r\n $obj.find('.datetimePickerUI').each(function (idx, obj) {\r\n $(obj).datetimepicker({\r\n format: 'DD MMM yyyy HH:mm',\r\n allowInputToggle: true,\r\n keepOpen: false,\r\n buttons: {\r\n showToday: true,\r\n showClear: true,\r\n showClose: true\r\n },\r\n icons: {\r\n time: \"far fa-clock\",\r\n date: \"far fa-calendar-alt\",\r\n up: \"fa fa-arrow-up\",\r\n down: \"fa fa-arrow-down\",\r\n clear: \"far fa-calendar-times\",\r\n close: \"far fa-times-circle\",\r\n today: 'far fa-calendar-check'\r\n }\r\n });\r\n });\r\n\r\n $obj.find('.timePickerUI').each(function (idx, obj) {\r\n $(obj).datetimepicker({\r\n format: 'HH:mm',\r\n allowInputToggle: true,\r\n keepOpen: false\r\n });\r\n });\r\n\r\n $obj.find(\"input[type=file]\").each(function (idx, obj) {\r\n $(obj).on(\"change\", function () {\r\n var fileName = $(this).val();\r\n\r\n if (fileName !== \"\") {\r\n if (fileName.indexOf(\"\\\\\") > 0) {\r\n aPathParts = fileName.split(\"\\\\\");\r\n\r\n if (aPathParts.length > 0) {\r\n fileName = aPathParts[aPathParts.length - 1];\r\n }\r\n }\r\n } else {\r\n fileName = \"Choose file\";\r\n }\r\n\r\n\r\n $(this).next('.custom-file-label').html(fileName);\r\n });\r\n });\r\n\r\n $obj.find('.pass_show').each(function (idx, obj) {\r\n //debugger;\r\n var $inp = $(this).find(\"input[type=password]\");\r\n\r\n var $showPass = $('
');\r\n\r\n $(obj).prepend($showPass);\r\n\r\n $showPass.on(\"click\", function () {\r\n if ($inp.attr(\"type\") == \"password\") {\r\n $inp.attr(\"type\", \"text\");\r\n $(this).html(\"\");\r\n } else {\r\n $inp.attr(\"type\", \"password\");\r\n $(this).html(\"\");\r\n }\r\n });\r\n });\r\n\r\n $obj.find('input[type=\"password\"][data-toggle=popover]').on('keyup', function () {\r\n //minimum 8 characters\r\n var bad = /(?=.{8,}).*/;\r\n\r\n //Alpha Numeric plus minimum 8\r\n var good = /^(?=\\S*?[a-z])(?=\\S*?[0-9])\\S{8,}$/;\r\n\r\n //Must contain at least one upper case letter, one lower case letter and (one number OR one special char).\r\n var better = /^(?=\\S*?[A-Z])(?=\\S*?[a-z])((?=\\S*?[0-9])|(?=\\S*?[^\\w\\*]))\\S{8,}$/;\r\n\r\n //Must contain at least one upper case letter, one lower case letter and (one number AND one special char).\r\n var best = /^(?=\\S*?[A-Z])(?=\\S*?[a-z])(?=\\S*?[0-9])(?=\\S*?[^\\w\\*])\\S{8,}$/;\r\n\r\n var password = $(this);\r\n var pass = password.val();\r\n var passLabel = $('[for=\"password\"]');\r\n\r\n var stength = 'Weak';\r\n var pclass = 'danger';\r\n\r\n if (best.test(pass) == true) {\r\n stength = 'Very Strong';\r\n pclass = 'success';\r\n } else if (better.test(pass) == true) {\r\n stength = 'Strong (Try adding a number or a symbol or a Uppercase)';\r\n pclass = 'warning';\r\n } else if (good.test(pass) == true) {\r\n stength = 'Almost Strong (At least 1 number, At least 1 symbol, At least 1 Uppercase)';\r\n pclass = 'warning';\r\n } else if (bad.test(pass) == true) {\r\n stength = 'Weak (At least 1 number, At least 1 symbol)';\r\n } else {\r\n stength = 'Very Weak (Must be 8 or more characters, At least 1 number, At least 1 symbol, At least 1 Uppercase)';\r\n }\r\n\r\n var popover = password.attr('data-content', stength).data('bs.popover');\r\n\r\n popover.setContent();\r\n\r\n var $tip = $(popover.tip);\r\n\r\n $tip.removeClass('danger success info warning primary').addClass(pclass);\r\n\r\n });\r\n\r\n $obj.find('input[data-toggle=\"popover\"]').popover({\r\n placement: 'top',\r\n trigger: 'focus'\r\n });\r\n\r\n $obj.find('i[data-toggle=\"popover\"]').popover({\r\n placement: 'left',\r\n trigger: 'hover'\r\n });\r\n}\r\n\r\n$(window).ready(function () {\r\n checkIfMobile();\r\n\r\n\tvar nav_cookie = getCookie(\"setNav\"),\r\n\t\tbody = $(\"body\");\r\n\r\n\tif (nav_cookie === \"full-menu\") {\r\n\t\tbody.removeClass(\"sidebar-collapse\");\r\n\t}\r\n\tif (nav_cookie === \"mini-menu\") {\r\n\t\tbody.addClass(\"sidebar-collapse\");\r\n\t}\r\n\r\n\tvar menutogglers = $(\"a[data-widget='pushmenu']\");\r\n\r\n menutogglers.each(function (idx, obj) {\r\n $(obj).on(\"click\", function () {\r\n if (body.hasClass(\"sidebar-collapse\")) {\r\n setCookie(\"setNav\", \"full-menu\", 1);\r\n //console.log(\"cookie: setNav = \" + nav_cookie);\r\n } else {\r\n setCookie(\"setNav\", \"mini-menu\", 1);\r\n //console.log(\"cookie: setNav = \" + nav_cookie);\r\n }\r\n });\r\n });\r\n\r\n bindControls($(this));\r\n\r\n $(\".alert-dismissible\").each(function (idx, obj) {\r\n var $obj = $(obj);\r\n\r\n if ($obj.data(\"autohide\") === true) {\r\n var iTimout = $obj.data(\"autohidedelay\");\r\n\r\n setTimeout(function () {\r\n $obj.slideUp(500);\r\n }, iTimout);\r\n }\r\n });\r\n});\r\n\r\n\r\nvar tablesFixed = false;\r\n\r\n// WINDOW SCROLL -----------------------------------------------------------------//\r\n$(window).on(\"scroll\", function () {\r\n var height = $(window).scrollTop();\r\n\r\n if (height >= 60) {\r\n if (!tablesFixed) {\r\n if ($(\".sticky-headers:not(.stuck)\").length > 0) {\r\n $(\".sticky-headers:not(.stuck)\").addClass(\"stuck\");\r\n\r\n tablesFixed = true;\r\n }\r\n }\r\n }\r\n\r\n if (height < 59) {\r\n if ($(\".sticky-headers.stuck\").length > 0) {\r\n $(\".sticky-headers.stuck\").removeClass(\"stuck\");\r\n\r\n tablesFixed = false;\r\n }\r\n }\r\n});\r\n\r\n\r\n//if ('serviceWorker' in navigator) {\r\n// window.addEventListener(\"load\", () => {\r\n// navigator.serviceWorker.register(\"/js/ServiceWorker.js\");\r\n// });\r\n//}"],"names":["isMobile","isTablet","currentWidth","currentHeight","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","getCookie","name","ca","split","i","length","c","charAt","substring","indexOf","setMode","sMode","$","removeClass","addClass","checkIfMobile","window","innerWidth","documentElement","clientWidth","innerHeight","clientHeight","md","MobileDetect","navigator","userAgent","phone","tablet","formatLocalDateTime","iUnixTimeStamp","sformat","undefined","formatLocalTime","formatDateTime","downloadExport","obj","$this","hasClass","loadLocalContent","ajax","type","url","attr","cache","xhr","XMLHttpRequest","responseType","success","data","textStatus","blob","filename","disposition","getResponseHeader","matches","exec","replace","documentMode","msSaveBlob","URL","webkitURL","link","createObjectURL","e","Blob","a","append","click","failure","response","error","getMyAddressDtls","sUrl","sFullBaseURL","dataType","jsonData","val","houseNo","street","district","city","postcode","country","ajaxOptions","thrownError","alert","status","getNewSiteCode","sId","responseText","html","sNewKey","bindControls","$obj","find","each","idx","summernote","styleTags","title","tag","className","value","select2","colorpicker","on","focus","event","css","color","toString","datetimepicker","format","allowInputToggle","keepOpen","debug","buttons","showToday","showClear","showClose","icons","time","date","up","down","clear","close","today","fileName","this","aPathParts","next","$inp","$showPass","prepend","password","pass","stength","pclass","test","popover","setContent","tip","placement","trigger","ready","nav_cookie","body","iTimout","setTimeout","slideUp","tablesFixed","height","scrollTop"],"mappings":"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"}