{"version":3,"sources":["Apfco.js","polyfill.js","HttpPostedFileBase.js","PageHomeEntryForm.js","PageSharedLayoutPrimary.js"],"names":["Apfco","String","prototype","includes","search","start","length","this","indexOf","trim","s","replace","regExp","name","RegExp","forEach","list","fn","scope","i","call","ClassList","element","add","arguments","contains","className","remove","toggle","test","item","split","oldName","newName","Element","Object","defineProperty","get","window","DOMTokenList","root","setTimeoutFunc","setTimeout","noop","Promise","TypeError","_state","_handled","_value","undefined","_deferreds","doResolve","handle","self","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","e","reject","promise","resolve","push","newValue","then","finale","thisArg","apply","_unhandledRejectionFn","len","Handler","done","value","reason","ex","prom","all","arr","args","Array","slice","remaining","res","val","constructor","race","values","setImmediate","err","console","warn","_setImmediateFn","_setUnhandledRejectionFn","module","exports","find","predicate","o","k","kValue","ConvertNodeListToArray","inputNodeList","elementList","node","nodeType","Node","ELEMENT_NODE","UpdateQueryString","key","url","location","href","hash","re","separator","StripQueryStringAndHashFromUrl","Sleep","milliseconds","ReplaceAll","inputString","findString","replaceString","HttpPostedFileBase","targetInputFile","thisObj","elLabelWrapper","parentElement","elLabelSpan","getElementsByTagName","classList","style","lineHeight","offsetHeight","toString","$","on","filename","files","pop","substring","innerHTML","HttpPostedFileBaseList","HttpPostedFileBasesByClass","document","getElementsByClassName","PageHomeEntryForm","target","PageHomeEntryFormList","PageHomeEntryFormsByClass","PageSharedLayoutPrimary","sitePrimaryLayout","each","submit","event","attr","prop","currentForm","click","type","insertBefore","children","first","regexp","contents","filter","nodeValue","replaceWith"],"mappings":"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","file":"site.min.js","sourcesContent":["/// \r\n//Helper namespace containing several utility functions\r\nvar Apfco;\r\n(function (Apfco) {\r\n //Converts values returned by document.getElementsByClassName() - Taken from here: https://stackoverflow.com/questions/12686927/typescript-casting-htmlelement\r\n function ConvertNodeListToArray(inputNodeList) {\r\n var elementList = [];\r\n if (inputNodeList) {\r\n for (var i = 0; i < inputNodeList.length; i++) {\r\n var node = inputNodeList[i];\r\n // Make sure it's really an Element\r\n if (node.nodeType == Node.ELEMENT_NODE) {\r\n elementList.push(node);\r\n }\r\n }\r\n }\r\n return elementList;\r\n }\r\n Apfco.ConvertNodeListToArray = ConvertNodeListToArray;\r\n //Update query string parameters - Taken from here: https://stackoverflow.com/questions/5999118/add-or-update-query-string-parameter\r\n function UpdateQueryString(key, value, url) {\r\n if (!url)\r\n url = window.location.href;\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"), hash;\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 Apfco.UpdateQueryString = UpdateQueryString;\r\n //Example, changes http://localhost:61222/?test=123#NavContent to http://localhost:61222/ - From https://stackoverflow.com/questions/2540969/remove-querystring-from-url\r\n function StripQueryStringAndHashFromUrl(url) {\r\n return url.split(/[?#]/)[0];\r\n }\r\n Apfco.StripQueryStringAndHashFromUrl = StripQueryStringAndHashFromUrl;\r\n //Use in async functions to insert a delay before continuing processing. Example: await Apfco.Sleep(2000);\r\n function Sleep(milliseconds) {\r\n return new Promise(function (resolve) {\r\n setTimeout(resolve, milliseconds);\r\n });\r\n }\r\n Apfco.Sleep = Sleep;\r\n //Replace all instances of a value in a string - native string.replace() only works on first instance\r\n function ReplaceAll(inputString, findString, replaceString) {\r\n var inputStringRegEscaped = inputString.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n return inputString.replace(new RegExp(findString, 'g'), replaceString);\r\n }\r\n Apfco.ReplaceAll = ReplaceAll;\r\n})(Apfco || (Apfco = {}));\r\n//# sourceMappingURL=Apfco.js.map","\r\n//Any polyfills for older browser support can be put here - this is loaded before any other .js files in site.js\r\n\r\n//String.includes - missing from IE10 & IE11 - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes\r\nif (!String.prototype.includes) {\r\n String.prototype.includes = function (search, start) {\r\n 'use strict';\r\n if (typeof start !== 'number') {\r\n start = 0;\r\n }\r\n\r\n if (start + search.length > this.length) {\r\n return false;\r\n } else {\r\n return this.indexOf(search, start) !== -1;\r\n }\r\n };\r\n}\r\n\r\n\r\n//Element.classlist - Missing from IE9 - https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\r\n// Source: https://gist.github.com/k-gun/c2ea7c49edf7b757fe9561ba37cb19ca\r\n; (function () {\r\n // Helpers.\r\n var trim = function (s) {\r\n return (s != null) ? s.replace(/^\\s+|\\s+$/g, '') : '';\r\n },\r\n regExp = function (name) {\r\n return new RegExp('(^|\\\\s+)' + name + '(\\\\s+|$)');\r\n },\r\n forEach = function (list, fn, scope) {\r\n for (var i = 0; i < list.length; i++) {\r\n fn.call(scope, list[i]);\r\n }\r\n };\r\n\r\n // Class list object with basic methods.\r\n function ClassList(element) {\r\n this.element = element;\r\n }\r\n\r\n ClassList.prototype = {\r\n add: function () {\r\n forEach(arguments, function (name) {\r\n if (!this.contains(name)) {\r\n this.element.className = trim(this.element.className + ' ' + name);\r\n }\r\n }, this);\r\n },\r\n remove: function () {\r\n forEach(arguments, function (name) {\r\n this.element.className = trim(this.element.className.replace(regExp(name), ' '));\r\n }, this);\r\n },\r\n toggle: function (name) {\r\n return this.contains(name) ? (this.remove(name), false) : (this.add(name), true);\r\n },\r\n contains: function (name) {\r\n return regExp(name).test(this.element.className);\r\n },\r\n item: function (i) {\r\n return this.element.className.split(/\\s+/)[i] || null;\r\n },\r\n // bonus\r\n replace: function (oldName, newName) {\r\n this.remove(oldName), this.add(newName);\r\n }\r\n };\r\n\r\n // IE8/9, Safari\r\n // Remove this if statements to override native classList.\r\n if (!('classList' in Element.prototype)) {\r\n // Use this if statement to override native classList that does not have for example replace() method.\r\n // See browser compatibility: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList#Browser_compatibility.\r\n // if (!('classList' in Element.prototype) ||\r\n // !('classList' in Element.prototype && Element.prototype.classList.replace)) {\r\n Object.defineProperty(Element.prototype, 'classList', {\r\n get: function () {\r\n return new ClassList(this);\r\n }\r\n });\r\n }\r\n\r\n // For others replace() support.\r\n if (window.DOMTokenList && !DOMTokenList.prototype.replace) {\r\n DOMTokenList.prototype.replace = ClassList.prototype.replace;\r\n }\r\n})();\r\n\r\n\r\n//Promise polyfill - missing in ES5 (IE10, etc.) - from https://github.com/taylorhakes/promise-polyfill/blob/master/promise.js\r\n(function (root) {\r\n\r\n // Store setTimeout reference so promise-polyfill will be unaffected by\r\n // other code modifying setTimeout (like sinon.useFakeTimers())\r\n var setTimeoutFunc = setTimeout;\r\n\r\n function noop() { }\r\n\r\n // Polyfill for Function.prototype.bind\r\n function bind(fn, thisArg) {\r\n return function () {\r\n fn.apply(thisArg, arguments);\r\n };\r\n }\r\n\r\n function Promise(fn) {\r\n if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');\r\n if (typeof fn !== 'function') throw new TypeError('not a function');\r\n this._state = 0;\r\n this._handled = false;\r\n this._value = undefined;\r\n this._deferreds = [];\r\n\r\n doResolve(fn, this);\r\n }\r\n\r\n function handle(self, deferred) {\r\n while (self._state === 3) {\r\n self = self._value;\r\n }\r\n if (self._state === 0) {\r\n self._deferreds.push(deferred);\r\n return;\r\n }\r\n self._handled = true;\r\n Promise._immediateFn(function () {\r\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\r\n if (cb === null) {\r\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\r\n return;\r\n }\r\n var ret;\r\n try {\r\n ret = cb(self._value);\r\n } catch (e) {\r\n reject(deferred.promise, e);\r\n return;\r\n }\r\n resolve(deferred.promise, ret);\r\n });\r\n }\r\n\r\n function resolve(self, newValue) {\r\n try {\r\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\r\n if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');\r\n if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\r\n var then = newValue.then;\r\n if (newValue instanceof Promise) {\r\n self._state = 3;\r\n self._value = newValue;\r\n finale(self);\r\n return;\r\n } else if (typeof then === 'function') {\r\n doResolve(bind(then, newValue), self);\r\n return;\r\n }\r\n }\r\n self._state = 1;\r\n self._value = newValue;\r\n finale(self);\r\n } catch (e) {\r\n reject(self, e);\r\n }\r\n }\r\n\r\n function reject(self, newValue) {\r\n self._state = 2;\r\n self._value = newValue;\r\n finale(self);\r\n }\r\n\r\n function finale(self) {\r\n if (self._state === 2 && self._deferreds.length === 0) {\r\n Promise._immediateFn(function () {\r\n if (!self._handled) {\r\n Promise._unhandledRejectionFn(self._value);\r\n }\r\n });\r\n }\r\n\r\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\r\n handle(self, self._deferreds[i]);\r\n }\r\n self._deferreds = null;\r\n }\r\n\r\n function Handler(onFulfilled, onRejected, promise) {\r\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\r\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\r\n this.promise = promise;\r\n }\r\n\r\n /**\r\n * Take a potentially misbehaving resolver function and make sure\r\n * onFulfilled and onRejected are only called once.\r\n *\r\n * Makes no guarantees about asynchrony.\r\n */\r\n function doResolve(fn, self) {\r\n var done = false;\r\n try {\r\n fn(function (value) {\r\n if (done) return;\r\n done = true;\r\n resolve(self, value);\r\n }, function (reason) {\r\n if (done) return;\r\n done = true;\r\n reject(self, reason);\r\n });\r\n } catch (ex) {\r\n if (done) return;\r\n done = true;\r\n reject(self, ex);\r\n }\r\n }\r\n\r\n Promise.prototype['catch'] = function (onRejected) {\r\n return this.then(null, onRejected);\r\n };\r\n\r\n Promise.prototype.then = function (onFulfilled, onRejected) {\r\n var prom = new (this.constructor)(noop);\r\n\r\n handle(this, new Handler(onFulfilled, onRejected, prom));\r\n return prom;\r\n };\r\n\r\n Promise.all = function (arr) {\r\n var args = Array.prototype.slice.call(arr);\r\n\r\n return new Promise(function (resolve, reject) {\r\n if (args.length === 0) return resolve([]);\r\n var remaining = args.length;\r\n\r\n function res(i, val) {\r\n try {\r\n if (val && (typeof val === 'object' || typeof val === 'function')) {\r\n var then = val.then;\r\n if (typeof then === 'function') {\r\n then.call(val, function (val) {\r\n res(i, val);\r\n }, reject);\r\n return;\r\n }\r\n }\r\n args[i] = val;\r\n if (--remaining === 0) {\r\n resolve(args);\r\n }\r\n } catch (ex) {\r\n reject(ex);\r\n }\r\n }\r\n\r\n for (var i = 0; i < args.length; i++) {\r\n res(i, args[i]);\r\n }\r\n });\r\n };\r\n\r\n Promise.resolve = function (value) {\r\n if (value && typeof value === 'object' && value.constructor === Promise) {\r\n return value;\r\n }\r\n\r\n return new Promise(function (resolve) {\r\n resolve(value);\r\n });\r\n };\r\n\r\n Promise.reject = function (value) {\r\n return new Promise(function (resolve, reject) {\r\n reject(value);\r\n });\r\n };\r\n\r\n Promise.race = function (values) {\r\n return new Promise(function (resolve, reject) {\r\n for (var i = 0, len = values.length; i < len; i++) {\r\n values[i].then(resolve, reject);\r\n }\r\n });\r\n };\r\n\r\n // Use polyfill for setImmediate for performance gains\r\n Promise._immediateFn = (typeof setImmediate === 'function' && function (fn) { setImmediate(fn); }) ||\r\n function (fn) {\r\n setTimeoutFunc(fn, 0);\r\n };\r\n\r\n Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\r\n if (typeof console !== 'undefined' && console) {\r\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\r\n }\r\n };\r\n\r\n /**\r\n * Set the immediate function to execute callbacks\r\n * @param fn {function} Function to execute\r\n * @deprecated\r\n */\r\n Promise._setImmediateFn = function _setImmediateFn(fn) {\r\n Promise._immediateFn = fn;\r\n };\r\n\r\n /**\r\n * Change the function to execute on unhandled rejection\r\n * @param {function} fn Function to execute on unhandled rejection\r\n * @deprecated\r\n */\r\n Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {\r\n Promise._unhandledRejectionFn = fn;\r\n };\r\n\r\n if (typeof module !== 'undefined' && module.exports) {\r\n module.exports = Promise;\r\n } else if (!root.Promise) {\r\n root.Promise = Promise;\r\n }\r\n\r\n})(this);\r\n\r\n\r\n//Array.prototype.find polyfill - missing from IE10 - from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\r\nif (!Array.prototype.find) {\r\n Object.defineProperty(Array.prototype, 'find', {\r\n value: function (predicate) {\r\n // 1. Let O be ? ToObject(this value).\r\n if (this == null) {\r\n throw new TypeError('\"this\" is null or not defined');\r\n }\r\n\r\n var o = Object(this);\r\n\r\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\r\n var len = o.length >>> 0;\r\n\r\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\r\n if (typeof predicate !== 'function') {\r\n throw new TypeError('predicate must be a function');\r\n }\r\n\r\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\r\n var thisArg = arguments[1];\r\n\r\n // 5. Let k be 0.\r\n var k = 0;\r\n\r\n // 6. Repeat, while k < len\r\n while (k < len) {\r\n // a. Let Pk be ! ToString(k).\r\n // b. Let kValue be ? Get(O, Pk).\r\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\r\n // d. If testResult is true, return kValue.\r\n var kValue = o[k];\r\n if (predicate.call(thisArg, kValue, k, o)) {\r\n return kValue;\r\n }\r\n // e. Increase k by 1.\r\n k++;\r\n }\r\n\r\n // 7. Return undefined.\r\n return undefined;\r\n }\r\n });\r\n}","/// \r\n//Used in the HttpPostedFileBase editor template - scripts those inputs to show the name of the selected file\r\nvar HttpPostedFileBase = /** @class */ (function () {\r\n //Methods\r\n function HttpPostedFileBase(targetInputFile) {\r\n var thisObj = this;\r\n //Assign elements\r\n this.targetInputFile = targetInputFile;\r\n this.elLabelWrapper = targetInputFile.parentElement;\r\n this.elLabelSpan = this.elLabelWrapper.getElementsByTagName('span')[0];\r\n //All class to adjust styles\r\n this.elLabelWrapper.classList.add('HttpPostedFileBaseWrapper');\r\n if (this.targetInputFile.classList.contains('input-validation-error')) { //ASP.Net MVC - If a server-side validation error class was found on the