{"version":3,"sources":["Assets/common/scripts/GSS.common.js"],"names":["__awaiter","this","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","verb","n","v","op","f","TypeError","g","_","y","t","call","label","ops","pop","trys","length","push","sent","Object","create","Iterator","prototype","Symbol","iterator","GSS","common","absoluteProgressHide","$","document","on","setTimeout","each","parentNode","removeChild","GetUrlParams","url","_urlParams","split","_params","_pairs","forEach","element","pair","addAntiForgeryToken","data","_rvt","val","extendValue","clearField","el","not","prop","clearForm","formId","_form","getElementById","reset","_elements","children","clear","selectpicker","encodeAndParameterize","encodeURIComponent","decodeURIComponent","_field","hasOwnProperty","_param","join","key","isNeededEncoding","_data","_value","undefined","indexOf","toString","append","Array","isArray","grep","item","name","getCurrentComponentName","useParentComponentName","queryParams","URLSearchParams","window","location","search","componentIdString","get","componentId","_component","_componentName","parseInt","pc","Components","getById","getByCodeName","isNotNullOrEmpty","parentComponentName","getAttributeValue","attributeName","_attrEl","_selector","closest","attr","getCookieValue","cookieName","_cookies","cookie","_cookiePair","i","getParameterByName","_url","replace","regex","RegExp","results","exec","getFunction","fullyQualifiedName","_returnValue","_array","_length","getPager","gridId","_pageNumber","_pageSize","gssGetId","_pageNumberName","gssGetAtt","_pageSizeName","pageSize","pageNumber","pageSizeName","pageNumberName","manageInfo","arguments","clientUserDataKey","timeout","_session","_sessionItem","_diffMili","_a","session","getItem","getInfo","Date","getTime","sessionStorage","removeItem","values","manageInfoJwt","getInfoJwt","refreshTokenAsync","sessionIdKey","_this","localStorage","PortalContainer","refreshAccessToken","_componentId","widget","attributeNames","Request","setRequiredData","ajax","type","cache","contentType","headers","_clientData","id","toISOString","token","hasStrengths","upsert","expiration","setItem","addPaginationListeners","callback","_pager","selectAllText","textInputObject","getSelection","removeAllRanges","trigger","parseData","dataToParse","replaceEscape","_parsedData","JSON","parse","convertQueryStringToObject","queryString","_queries","_obj","_temp","constructor","serializeArrayToObject","array","_o","convertArrayToJson","_tmp","convertJsonToArray","json","keys","map","wait","duration","Deferred","df","isDigit","Math","floor","isNaN","isFinite","isBool","getPageName","isJson","isPlainObject","request","dataType","overrideComponentName","Error","_cache","_dataType","returnType","Html","_ajax","requestType","stringify","_requestData","X-AuditingComponentName","Auto","_get","_post","post","test","preCondition","parameterName","ex","preConditionElement","gssElementExists","showHelpText","delay","$this","_val","content","find","html","popover","container","hideToolTip","target","hasAttribute","is","has","getUniqueId","random","substr","addReturnVoidToGridPageNumbers","_attr","addReturnVoidToAllGridPageNumber","_i","attributeDisabled","$element","_attributeDisabled","AuditComponentName","headerValue","pagination","ids","pageSizePostFix","getPageSize","identifierPrefix","getPageNumber","innerText","scrollBar","_element","constructDataAtt","save","scrollTop","restore","_position","default","removeData","tag","attributes","associatedIdAttributeName","clearInput","_relatedId","responseStatus","Fail","Success","Json","Xml","script","modalProgress","Enable","Disable","keepAlive","domId","attrProp","_global","_attrRoot","_attrId","add","_items","getItems","exist","__addItems","update","remove","o","__clearItems","_result","_objString","__getItems","_jsonObject","__getKey","defineProperty","_key","_id","getValueByProp","enumerable","configurable","memoryStorage","getArray","set","_objs","inArray","hiddenFieldId","_roleIds","splice","shortMem","_prop","constructIdAtt","singleDimensionArray","_count","_item","groupFilter","attachEventsToControls","attrId","isFirst","tierSelects","querySelectorAll","tSelect","makeSelection","checked","multiple","getAttribute","tier","parentElement","parent","querySelector","tierChoices","tiers","classList","_currentId","parents","_pageAttr","gssData","_pageId","util","_functions","isSingleSelection","selectToggle","textContent","addEventListener","toggle","contains","stopPropagation","tierEl","removeEventListener","slice","intitialize","args","idProp","_functionItem","actionFunction","itemFunction","goBackFunction","pageIndex","resetFirstTier","_pageIndex","_isMulti","_tier","hasClass","_tier1PageIndex","attachItemHandler","attachSearchHandler","attachLoadMoreHandler","attachPreviousHandler","fn","isMulti","showLoadMore","_cb","noop","_nullMsg","_noResultTextAttr","gssRemoveClass","gssAddClass","_el","_text","text","_search","filterArray","_selectedData","selected","selectedValues","currentId","displaySelectedValues","_initEl","class","insertAfter","detachItemHandler","off","event","keyCode","isSearch","searchText","resetPageIndex","restoreSelection","_searchEl","getPageIndex","IncrementPageIndex","updateById","searchFn","_searchFn","setContent","_resultCount","parseHTML","filter","_showLoadMore","_lastEl","last","getDefaultFunctionData","clearFilters","clearElementIds","_clearId","_ids","itemExist","_defaultTextAttr","getDOMSelectedValues","_textBits","saveDOMSelectedValues","_newPageNumber","_newObj","obj","newObj","_templateText","_defaultText","_tierCount","_tierSelected","trim","_singleTierSelectedCount","getItemText","removeAllSecondTierData","_found","print","Event","subscribe","method","observers","notify","arg","observer","_$el","getValueFromParent","getElementByData","debug","debug_1","_log","style","_ar","navigator","userAgent","clearConsole","console","_commandLineAPI","API","_inspectorCommandLineAPI","consoleSupress","originConsole","suppress","methods","showRequestInfo","disable","raw","showVersion","jquery","jqxhr","ajaxOptions","errorThrown","getResponseHeader","responseText","settings","log","msg","number","ObjectHelper","IsObject","debugStyle","infoStyle","warningStyle","objectStyle","Print","index","_$self","_autoDisableAttributeName","_enableAutoDisable","_disableIntervalAttributeName","_duration","gssAutoDisable","inputTypes","which","shiftKey","_padding","css","String","_newVal","gssToString","gssEncode","encodeURI","gssHashCode","hash","len","_code","charCodeAt","gssSort","_arr","sort","a","b","nameA","Name","toUpperCase","nameB"],"mappings":"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","file":"Assets/common/scripts/GSS.common.min.js","sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!--------------------------------------------------------------------------\n// \n// Copyright (c) The Gallup Organization. All rights reserved.\n// \n//--------------------------------------------------------------------------*/\nvar GSS;\n(function (GSS) {\n var common;\n (function (common) {\n var AuditComponentName;\n (function (AuditComponentName) {\n AuditComponentName.headerValue = \"SBT - Legacy\";\n })(AuditComponentName = common.AuditComponentName || (common.AuditComponentName = {}));\n /**\n * @description Force to close progressing message pop up.\n */\n function absoluteProgressHide() {\n $(document).on('ajaxStop', function () {\n setTimeout(function () {\n if ($('[data-dyn-el]').length > 0) {\n $('[data-dyn-el]').each(function () { this.parentNode.removeChild(this); });\n }\n }, 300);\n });\n }\n common.absoluteProgressHide = absoluteProgressHide;\n function GetUrlParams(url) {\n var _urlParams = url.split('?')[1];\n var _params = _urlParams.split('&');\n var _pairs = {};\n _params.forEach(function (element) {\n var pair = element.split('=');\n _pairs[pair[0]] = pair[1];\n });\n return _pairs;\n }\n common.GetUrlParams = GetUrlParams;\n function addAntiForgeryToken(data) {\n // Adds the ASP.NET MVC antiforgery token to an object.\n // The object that the antiforgery token will be add.\n var _rvt = $('input[name=__RequestVerificationToken]:first').val();\n data = common.extendValue(data, '__RequestVerificationToken', _rvt);\n return data;\n }\n common.addAntiForgeryToken = addAntiForgeryToken;\n function clearField(el) {\n $(el)\n .not(':button, :submit, :reset, :hidden')\n .val('')\n .prop('checked', false)\n .prop('selected', false);\n }\n common.clearField = clearField;\n function clearForm(formId) {\n // Clears the inputs in a form.\n // The id of the form to clear.\n var _form = document.getElementById(formId);\n _form.reset();\n $(':input', '#' + formId)\n .not(':button, :submit, :reset, :hidden')\n .val('')\n .prop('checked', false)\n .prop('selected', false);\n var _elements = $(':input', '#' + formId).children(\".selectpicker\");\n _elements.each(function () {\n $(this).clear();\n });\n $('.selectpicker').selectpicker('refresh');\n return true;\n }\n common.clearForm = clearForm;\n function encodeAndParameterize(data) {\n var _params = [];\n if (typeof (data) != \"object\") {\n _params.push(encodeURIComponent(decodeURIComponent(data)));\n }\n else {\n for (var _field in data) {\n if (data.hasOwnProperty(_field)) {\n var _param = \"\";\n if (typeof (data[_field]) != \"object\") {\n _param += _field + \"=\";\n }\n _param += encodeAndParameterize(data[_field]);\n _params.push(_param);\n }\n }\n }\n return _params.join(\"&\");\n }\n common.encodeAndParameterize = encodeAndParameterize;\n function extendValue(data, key, value, isNeededEncoding) {\n // \n // Extends the incoming object with the key value pair specified. If the data is a string it is appended like a query string.\n // if the data is an object type, the property will be set on the object.\n // \n // The data to extend with the new value.\n // The property name to add to the data.\n // The value for the property.\n var _data = data || '';\n var _value = isNeededEncoding == undefined ? value : isNeededEncoding == true ? encodeURIComponent(value) : value;\n if (typeof _data !== 'object') {\n if (_data.length == 0) {\n _data = key + \"=\" + _value;\n }\n else if (_data.length > 0 && _data.indexOf(key + \"=\") == -1) {\n _data += '&' + key + '=' + _value;\n }\n }\n else if (_data.toString() === '[object FormData]') {\n _data.append(key, value);\n }\n else if (Array.isArray(_data)) {\n _data = $.grep(_data, function (item) { return item != key; });\n _data.push({ name: key, value: _value });\n }\n else {\n if (!_data[key]) {\n _data[key] = _value;\n }\n }\n return _data;\n }\n common.extendValue = extendValue;\n /**\n * @description Gets the current component name based on the component id in the url.\n * If useParentComponentName is true, then returns the parent component if not null or empty, if not returns the current component name.\n */\n function getCurrentComponentName(useParentComponentName) {\n if (useParentComponentName === void 0) { useParentComponentName = false; }\n var queryParams = new URLSearchParams(window.location.search);\n var componentIdString = queryParams.get('gssComponentId');\n var componentId = null;\n var _component = null;\n var _componentName = '';\n if (componentIdString !== null) {\n componentId = parseInt(componentIdString, 10);\n if (componentId !== null) {\n _component = GSS.pc.Components.getById(componentId);\n }\n }\n if (componentId == null) {\n componentIdString = queryParams.get('componentDefinitionCodeName');\n if (componentIdString !== null) {\n _component = GSS.pc.Components.getByCodeName(componentIdString);\n }\n }\n if (_component != null) {\n _componentName = useParentComponentName ? isNotNullOrEmpty(_component.parentComponentName) ? _component.parentComponentName : _component.name : _component.name;\n }\n return _componentName;\n }\n common.getCurrentComponentName = getCurrentComponentName;\n ;\n function getAttributeValue(attributeName, el) {\n // Gets the specified attribute value.\n // The name of the attribute to get the value for.\n // An optional parameter that if defined uses the element to get the closest attribute for.\n // If the element is not defined, just use an attribute selector and grab the first instance.\n var _attrEl = null;\n var _selector = '[' + attributeName + ']';\n if (!el) {\n _attrEl = $(_selector + ':first');\n }\n else {\n _attrEl = $(el).closest(_selector);\n if (!_attrEl || _attrEl.length == 0) {\n _attrEl = $(el).children(_selector + ':first');\n }\n }\n if (_attrEl && _attrEl.length > 0) {\n return _attrEl.attr(attributeName);\n }\n else {\n return null;\n }\n }\n common.getAttributeValue = getAttributeValue;\n function getCookieValue(cookieName) {\n /// Gets the value of the specified cookie, or null if it doesn't exist.\n /// The name of the cookie to get a value for.\n /// ***NOTE: if the cookie is HTTPOnly, this doesn't work\n /// ***ALSO if the cookie is chunked it probably won't work\n var _cookies = document.cookie.split('; ');\n var _cookiePair = null;\n for (var i = _cookies.length - 1; i >= 0; i--) {\n _cookiePair = _cookies[i].split('=');\n if (_cookiePair[0] == cookieName) {\n return _cookiePair[1];\n }\n }\n return null;\n }\n common.getCookieValue = getCookieValue;\n function getParameterByName(name, url) {\n var _url = url == undefined ? location.search : url;\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"), results = regex.exec(_url);\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n }\n common.getParameterByName = getParameterByName;\n function getFunction(fullyQualifiedName) {\n var _returnValue = null;\n var _array = fullyQualifiedName.split('.');\n if (_array.length > 0) {\n var _length = _array.length;\n for (var i = 0; i < _length; ++i) {\n if (i === 0) {\n _returnValue = window[_array[i]];\n }\n else {\n _returnValue = _returnValue[_array[i]];\n }\n }\n }\n return _returnValue;\n }\n common.getFunction = getFunction;\n // this code is used when pagination script is inline\n common.pagination = {\n ids: { pageSizePostFix: '_PageSize' },\n getPageSize: function (identifierPrefix) { return $('#' + identifierPrefix + common.pagination.ids.pageSizePostFix).val(); },\n getPageNumber: function (attributeName) {\n if (attributeName === void 0) { attributeName = null; }\n var _pageNumber;\n if (GSS.common.isNotNullOrEmpty(attributeName)) {\n _pageNumber = $('.pagination li.active')[0] ? +$('.pagination li.active').find('a').attr(attributeName) : 1;\n }\n else {\n _pageNumber = $('.pagination li.active')[0] ? +$('.pagination li.active')[0].innerText : 1;\n }\n return _pageNumber;\n }\n };\n // To retrieve pagination following meta data:\n // page number and its attribute page number name\n // page size and its attribute page size name\n // the id that pagination belongs to\n function getPager(gridId) {\n var _pageNumber = $(this).data('gss-page-num') !== undefined && $(this).data('gss-page-num') !== null ? +$(this).data('gss-page-num') : 1;\n var _pageSize = +$(gridId.gssGetId() + '_PageSize').val();\n var _pageNumberName = 'data-gss-name'.gssGetAtt(gridId + '_PageNumber');\n var _pageSizeName = gridId.gssGetId() + '_PageSize';\n return { pageSize: _pageSize, pageNumber: _pageNumber, pageSizeName: _pageSizeName, pageNumberName: _pageNumberName };\n }\n common.getPager = getPager;\n function manageInfo() {\n return __awaiter(this, arguments, void 0, function (clientUserDataKey, timeout) {\n var _session, _sessionItem, _diffMili;\n if (clientUserDataKey === void 0) { clientUserDataKey = \"__client_user_data\"; }\n if (timeout === void 0) { timeout = 5; }\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _session = new GSS.common.session(true);\n _sessionItem = _session.getItem(clientUserDataKey);\n if (!(_sessionItem === undefined || _sessionItem === null)) return [3 /*break*/, 2];\n return [4 /*yield*/, getInfo(clientUserDataKey)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n _diffMili = new Date().getTime() - new Date(_sessionItem.value).getTime();\n if (!((_diffMili / 1000 / 60) >= timeout)) return [3 /*break*/, 4];\n sessionStorage.removeItem(clientUserDataKey);\n return [4 /*yield*/, getInfo(clientUserDataKey)];\n case 3: return [2 /*return*/, _a.sent()];\n case 4: return [2 /*return*/, _sessionItem.values];\n }\n });\n });\n }\n common.manageInfo = manageInfo;\n // Gets the bearer token from portal, upserts the response into the clientUserDataKey in the session storage\n // Gets the full JWT instead of just the reference token.\n function manageInfoJwt(clientUserDataKey, timeout) {\n if (clientUserDataKey === void 0) { clientUserDataKey = \"__client_user_data_jwt\"; }\n if (timeout === void 0) { timeout = 5; }\n var _session = new GSS.common.session(true);\n var _sessionItem = _session.getItem(clientUserDataKey);\n if (_sessionItem === undefined || _sessionItem === null) {\n return getInfoJwt(clientUserDataKey);\n }\n else {\n var _diffMili = new Date().getTime() - new Date(_sessionItem.value).getTime();\n if ((_diffMili / 1000 / 60) >= timeout) {\n return getInfoJwt(clientUserDataKey);\n }\n else {\n return _sessionItem.values;\n }\n }\n }\n common.manageInfoJwt = manageInfoJwt;\n function refreshTokenAsync() {\n return __awaiter(this, arguments, void 0, function (clientUserDataKey, timeout, sessionIdKey) {\n var _this = this;\n if (clientUserDataKey === void 0) { clientUserDataKey = \"__client_user_data\"; }\n if (timeout === void 0) { timeout = 5; }\n if (sessionIdKey === void 0) { sessionIdKey = \"__id_\"; }\n return __generator(this, function (_a) {\n sessionStorage.removeItem(sessionIdKey);\n window.localStorage.removeItem(\"expiration\");\n GSS.PortalContainer.refreshAccessToken(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, manageInfo(clientUserDataKey, timeout)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n });\n });\n }\n common.refreshTokenAsync = refreshTokenAsync;\n // Makes the API call to get the JWT token from the API endpoint /BearerToken\n function getInfoJwt(clientUserDataKey) {\n var _session = new GSS.common.session(true);\n var _data = {};\n var _componentId = +GSS.common.getAttributeValue(GSS.widget.attributeNames.componentId, '');\n _data = GSS.pc.Request.setRequiredData(_componentId, _data);\n return $.ajax({\n type: \"GET\",\n url: '../_Portal/BearerToken',\n data: _data,\n cache: false,\n contentType: \"application/json\",\n headers: null,\n }).done(function (data) {\n var _clientData = {\n id: clientUserDataKey,\n value: new Date().toISOString(),\n values: { token: data.token, hasStrengths: data.hasStrengths },\n };\n _session.upsert(_clientData);\n return _clientData.values;\n });\n }\n common.getInfoJwt = getInfoJwt;\n function getInfo(clientUserDataKey) {\n var _session = new GSS.common.session(true);\n var _data = {};\n var _componentId = +GSS.common.getAttributeValue(GSS.widget.attributeNames.componentId, '');\n _data = GSS.pc.Request.setRequiredData(_componentId, _data);\n return $.ajax({\n type: \"GET\",\n url: '../_Portal/Token',\n data: _data,\n cache: false,\n contentType: \"application/json\",\n headers: null,\n }).done(function (data) {\n var _clientData = {\n id: clientUserDataKey,\n value: new Date().toISOString(),\n values: { token: data.token },\n };\n _session.upsert(_clientData);\n if (data.expiration) {\n window.localStorage.setItem(\"expiration\", data.expiration);\n }\n return _clientData.values;\n });\n }\n common.getInfo = getInfo;\n // every pagination will need two events for page size and page number: onChange and onClick\n // this function will automatically binds the two events to one callback function\n // this function can not be use as a delegate to an element such as $(document).on(.....)\n // this function will only work as function scope level\n function addPaginationListeners(gridId, callback) {\n var _pager = GSS.common.getPager(gridId);\n var _pageNumberName = _pager.pageNumberName;\n var _pageSizeName = _pager.pageSizeName;\n $(_pageSizeName).on('change', { gridId: gridId }, callback);\n $(_pageNumberName).on('click', { gridId: gridId }, callback);\n }\n common.addPaginationListeners = addPaginationListeners;\n function selectAllText(textInputObject) {\n // Deselects all the text first (to prevent cross browser weirdness)\n if (window.getSelection) {\n window.getSelection().removeAllRanges();\n }\n textInputObject.trigger('select');\n }\n common.selectAllText = selectAllText;\n common.scrollBar = {\n _element: function () { return $(GSS.data.constructDataAtt('data-gss-name', 'divWidget')); },\n save: function () {\n $(common.scrollBar._element).data('lastPosition', $(document).scrollTop());\n },\n restore: function () {\n var _position = $(common.scrollBar._element).data('lastPosition');\n GSS.common.wait(150).done(function () { $(document).scrollTop(_position); });\n },\n default: function () { return $(document).scrollTop(0); },\n clear: function () { $(common.scrollBar._element).removeData('lastPosition'); },\n };\n common.tag = {\n attributes: { associatedIdAttributeName: 'data-associated-id' },\n clearInput: function (el, e) {\n // The current element.\n // The current event.\n var _relatedId = $(el).closest('[data-gss-name=\"tag\"]').attr(common.tag.attributes.associatedIdAttributeName);\n if (_relatedId) {\n common.clearField($('#' + _relatedId));\n }\n return true;\n }\n };\n function parseData(dataToParse, replaceEscape) {\n if (replaceEscape === void 0) { replaceEscape = true; }\n var _parsedData;\n if (replaceEscape)\n _parsedData = JSON.parse('{\"' + dataToParse.replace(/&/g, \"\\\",\\\"\").replace(/=/g, \"\\\":\\\"\").replace(/\\+/g, \" \") + '\"}');\n else\n _parsedData = JSON.parse(dataToParse);\n return _parsedData;\n }\n common.parseData = parseData;\n function convertQueryStringToObject(queryString) {\n var _obj = {}, _queries;\n // Split into key/value pairs\n _queries = queryString.split('&');\n // Convert the array of strings into an object\n for (var i = 0; i < _queries.length; i++) {\n var _temp = _queries[i].split('=');\n if (_temp[1] == '' || _temp[1] == undefined) {\n _obj[_temp[0]] = null;\n }\n else {\n if (_obj[_temp[0]] == null) {\n _obj[_temp[0]] = _temp[1];\n }\n // This else block is made for the question bank filters where each filter can have multiple values\n else {\n if (_obj[_temp[0]] && typeof _obj[_temp[0]] === 'object' && _obj[_temp[0]].constructor === Array) {\n _obj[_temp[0]].push(_temp[1]);\n }\n else {\n _obj[_temp[0]] = [_obj[_temp[0]], _temp[1]];\n }\n }\n }\n }\n return _obj;\n }\n common.convertQueryStringToObject = convertQueryStringToObject;\n function serializeArrayToObject(array) {\n var _o = {};\n $.each(array, function () {\n if (_o[this.name]) {\n if (!_o[this.name].push) {\n _o[this.name] = [_o[this.name]];\n }\n _o[this.name].push(this.value || '');\n }\n else {\n _o[this.name] = this.value || '';\n }\n });\n return _o;\n }\n common.serializeArrayToObject = serializeArrayToObject;\n function convertArrayToJson(array) {\n var _obj = new Object();\n if (typeof array == \"object\") {\n for (var i in array) {\n var _tmp = convertArrayToJson(array[i]);\n _obj[i] = _tmp;\n }\n }\n else {\n _obj = array;\n }\n return _obj;\n }\n common.convertArrayToJson = convertArrayToJson;\n ;\n function convertJsonToArray(json) {\n return Object.keys(json).map(function (i) { return json[i]; });\n }\n common.convertJsonToArray = convertJsonToArray;\n function wait(duration) {\n return $.Deferred(function (df) { setTimeout(df.resolve, duration); });\n }\n common.wait = wait;\n function isDigit(val) {\n if (Math.floor(val) == val && (!isNaN(val) && isFinite(val))) {\n return true;\n }\n return false;\n }\n common.isDigit = isDigit;\n function isBool(data) {\n return typeof (data) == typeof (true);\n }\n common.isBool = isBool;\n function getPageName(key) {\n if (key === void 0) { key = 'p'; }\n return GSS.common.getParameterByName(key);\n }\n common.getPageName = getPageName;\n common.responseStatus = { Fail: \"Error\", Success: \"Success\" };\n common.returnType = { Html: 'html', Json: 'json', Xml: 'xml', script: 'script', Auto: 'auto' };\n common.modalProgress = { Enable: true, Disable: false };\n function isJson(data) {\n return $.isPlainObject(data);\n }\n common.isJson = isJson;\n function request(url, dataType, cache, timeout, contentType, overrideComponentName) {\n var _this = this;\n if (url === undefined) {\n throw new Error(\"url is invalid.\");\n }\n this._url = url;\n this._cache = cache || false;\n this._dataType = dataType || common.returnType.Html;\n this._ajax = function (requestType, data) {\n if (typeof (data) === 'object' && contentType == 'application/json') {\n data = JSON.stringify(data);\n }\n var _requestData = {\n type: requestType,\n url: this._url,\n data: data,\n cache: this._cache,\n timeout: timeout,\n headers: requestType === \"GET\" ? null : { 'X-AuditingComponentName': isNotNullOrEmpty(overrideComponentName) ? overrideComponentName : common.getCurrentComponentName() },\n };\n if (contentType) {\n _requestData['contentType'] = contentType;\n }\n if (this._dataType !== common.returnType.Auto) {\n // return ajax object as Promise object for further process\n _requestData['dataType'] = this._dataType;\n }\n return $.ajax(_requestData);\n };\n var _get = function (data) {\n return _this._ajax(\"GET\", data);\n };\n var _post = function (data) {\n if (data === undefined) {\n void 0;\n }\n return _this._ajax(\"POST\", data);\n };\n return {\n get: _get,\n post: _post\n };\n }\n common.request = request;\n function isNotNullOrEmpty(val) {\n if ((val === 'undefined') || (val == 0) || (typeof val === 'undefined') || val === null) {\n return false;\n }\n return !((/^\\s*$/).test(val));\n }\n common.isNotNullOrEmpty = isNotNullOrEmpty;\n function preCondition(val, parameterName) {\n parameterName = parameterName || \"Current value\";\n if (!GSS.common.isNotNullOrEmpty(val)) {\n if (((/^\\s*$/).test(val))) {\n val = 'NULL';\n }\n try {\n throw new Error(parameterName + \" is \" + val);\n }\n catch (ex) {\n void 0;\n return false;\n }\n }\n }\n common.preCondition = preCondition;\n function preConditionElement(attr) {\n if ($(attr).gssElementExists() === false) {\n try {\n throw new Error(attr + \" is not found\");\n }\n catch (ex) {\n void 0;\n return false;\n }\n }\n }\n common.preConditionElement = preConditionElement;\n function showHelpText(delay) {\n if (delay === void 0) { delay = 600; }\n GSS.common.wait(delay).done(function () {\n $('[data-info-icon=\"popover\"]').each(function () {\n var $this = $(this);\n var _val = $this.attr(\"data-umt-popover\");\n var content = $(this).find('.c-info-icon__content').html();\n $(this).popover({\n container: _val ? $this : 'body',\n trigger: 'hover focus',\n content: content,\n html: true\n });\n });\n });\n }\n common.showHelpText = showHelpText;\n function hideToolTip() {\n $(document).on('keydown', function (e) {\n $(\".popover[role='tooltip']\").each(function () {\n if (e.target.hasAttribute(\"data-umt-popover\")) {\n return;\n }\n //hide any open popovers when the anywhere else in the body is clicked\n if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {\n $(this).popover('hide');\n }\n });\n });\n }\n common.hideToolTip = hideToolTip;\n var session = /** @class */ (function () {\n // set keepAlive = true to keep value/values across pages or components\n // set keepAlive = false, the value/values will only available to the current page or component; it behaves like a hidden field\n // domId: an id of an element\n // attrProp: an attribute property of an element that has id above\n function session(keepAlive, domId, attrProp) {\n this._global = keepAlive || false;\n this._attrRoot = domId || 'wrap'.gssGetId();\n this._attrId = attrProp || '__page_session__';\n }\n session.prototype.add = function (data) {\n var _items = this.getItems();\n if (!this.exist(data)) {\n _items.push(data);\n }\n if (this._global) {\n this.__addItems(JSON.stringify(_items));\n }\n else {\n $(this._attrRoot).data(this._attrId, JSON.stringify(_items));\n }\n };\n session.prototype.update = function (data) {\n if (this.exist(data)) {\n this.remove(data.id);\n this.add(data);\n }\n };\n session.prototype.remove = function (id) {\n var _items = this.getItems();\n _items = $.grep(_items, function (o) { return o.id != id; });\n if (this._global) {\n this.__addItems(JSON.stringify(_items));\n }\n else {\n $(this._attrRoot).data(this._attrId, JSON.stringify(_items));\n }\n };\n session.prototype.upsert = function (data) {\n if (this.exist(data)) {\n this.update(data);\n }\n else {\n this.add(data);\n }\n };\n session.prototype.clear = function () {\n if (this._global) {\n this.__clearItems();\n }\n else {\n $(this._attrRoot).removeData(this._attrId);\n }\n };\n session.prototype.exist = function (data) {\n var _obj = this.getItem(data.id);\n return _obj !== undefined;\n };\n session.prototype.getItem = function (id) {\n var _result;\n var _items = this.getItems();\n if (_items.length > 0) {\n _items.forEach(function (v, i) { if (v.id === id)\n _result = v; });\n }\n return _result;\n };\n session.prototype.getItems = function () {\n var _result = [];\n var _objString;\n if (this._global) {\n _objString = this.__getItems();\n }\n else {\n _objString = $(this._attrRoot).data(this._attrId);\n }\n if (GSS.common.isNotNullOrEmpty(_objString)) {\n var _jsonObject = JSON.parse(_objString);\n if (_jsonObject !== null) {\n _result = GSS.common.convertJsonToArray(_jsonObject);\n }\n }\n return _result;\n };\n session.prototype.__getItems = function () {\n return sessionStorage.getItem(this.__getKey);\n };\n session.prototype.__addItems = function (value) {\n sessionStorage.setItem(this.__getKey, value);\n };\n session.prototype.__clearItems = function () {\n sessionStorage.removeItem(this.__getKey);\n };\n Object.defineProperty(session.prototype, \"__getKey\", {\n get: function () {\n var _key = '__id_';\n var _id = GSS.data.getValueByProp('data-gss-clientid') !== undefined ? (GSS.data.getValueByProp('data-gss-clientid')).toString() : _key;\n if (sessionStorage.getItem(_key) !== undefined) {\n _id = _key;\n }\n return _id;\n },\n enumerable: false,\n configurable: true\n });\n return session;\n }());\n common.session = session;\n var memoryStorage = /** @class */ (function () {\n function memoryStorage(id) {\n this._id = id.gssGetId();\n this._attr = '__in_m_s__' + id;\n }\n memoryStorage.prototype.get = function () {\n if (typeof $(this._id).data(this._attr) !== 'undefined') {\n return $(this._id).data(this._attr).toString();\n }\n else {\n return '';\n }\n };\n memoryStorage.prototype.getArray = function () {\n if (typeof $(this._id).data(this._attr) !== 'undefined') {\n return this.get().split(',');\n }\n else {\n return [];\n }\n };\n memoryStorage.prototype.set = function (v) {\n $(this._id).data(this._attr, v);\n };\n memoryStorage.prototype.add = function (v) {\n var _objs = this.getArray();\n // role id already exist\n if ($.inArray(v, _objs) == -1) {\n _objs.push(v);\n this.set(_objs.toString());\n }\n };\n memoryStorage.prototype.remove = function (v) {\n // not implement\n };\n memoryStorage.prototype.exist = function (v) {\n //not implement\n };\n return memoryStorage;\n }());\n common.memoryStorage = memoryStorage;\n var localStorage = /** @class */ (function () {\n function localStorage(hiddenFieldId) {\n this._id = hiddenFieldId.gssGetId();\n }\n // return a array\n localStorage.prototype.getArray = function () {\n if ($(this._id).length > 0 && $(this._id).val().length > 0) {\n return $(this._id).val().split(',');\n }\n else {\n return [];\n }\n };\n // return a string\n localStorage.prototype.get = function () {\n if ($(this._id).length > 0 && $(this._id).val().length > 0) {\n return $(this._id).val();\n }\n else {\n return '';\n }\n };\n // override existing value\n localStorage.prototype.set = function (v) {\n $(this._id).val(v);\n };\n // only add new value if it doesn't exist\n localStorage.prototype.add = function (v) {\n var _roleIds = this.getArray();\n // role id already exist\n if ($.inArray(v, _roleIds) == -1) {\n _roleIds.push(v);\n $(this._id).val(_roleIds.toString());\n }\n };\n // only remove value if it exists\n localStorage.prototype.remove = function (v) {\n var _roleIds = this.getArray();\n // role id found\n if ($.inArray(v, _roleIds) > -1) {\n _roleIds.splice($.inArray(v, _roleIds), 1);\n $(this._id).val(_roleIds.toString());\n }\n };\n // check if a value exists\n localStorage.prototype.exist = function (v) {\n var _roleIds = this.getArray();\n // role id found\n if ($.inArray(v, _roleIds) > -1) {\n return true;\n }\n return false;\n };\n return localStorage;\n }());\n common.localStorage = localStorage;\n var shortMem = /** @class */ (function () {\n function shortMem(key) {\n this._id = key;\n this._prop = GSS.data.constructIdAtt('wrap');\n }\n shortMem.prototype.get = function () {\n if ($(this._prop).gssElementExists()) {\n if (GSS.common.isNotNullOrEmpty($(this._prop).data(this._id))) {\n var _data = $(this._prop).data(this._id);\n return JSON.stringify(_data);\n }\n }\n return '';\n };\n shortMem.prototype.getArray = function () {\n return JSON.parse(this.get());\n };\n shortMem.prototype.set = function (v) {\n if ($(this._prop).gssElementExists()) {\n $(this._prop).data(this._id, v);\n }\n };\n shortMem.prototype.clear = function () {\n if ($(this._prop).gssElementExists()) {\n $(this._prop).removeData(this._id);\n }\n };\n return shortMem;\n }());\n common.shortMem = shortMem;\n // generate letter and number\n function getUniqueId() {\n return Math.random().toString(36).substr(2, 10);\n }\n common.getUniqueId = getUniqueId;\n // only support one grid at a time. Make sure to call this function after the grid is finish rendering\n function addReturnVoidToGridPageNumbers(gridId) {\n var _attr = '[data-page-number-id=' + gridId + '_PageSize] a';\n $(_attr).each(function () { $(this).prop('href', 'javascript:void(0)'); });\n }\n common.addReturnVoidToGridPageNumbers = addReturnVoidToGridPageNumbers;\n // support either one or more grids and don't have to worry about if the grid is finish rendering\n function addReturnVoidToAllGridPageNumber() {\n var gridId = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n gridId[_i] = arguments[_i];\n }\n $(document).on('ajaxStop', function () {\n gridId.forEach(function (v, i) {\n addReturnVoidToGridPageNumbers(v);\n });\n });\n }\n common.addReturnVoidToAllGridPageNumber = addReturnVoidToAllGridPageNumber;\n var singleDimensionArray;\n (function (singleDimensionArray) {\n function add(array, item) {\n array = array || [];\n if (!GSS.common.singleDimensionArray.exist(array, item)) {\n array.push(item);\n }\n }\n singleDimensionArray.add = add;\n function remove(array, item) {\n array = array || [];\n array = $.grep(array, function (v) { return v !== item; });\n return array;\n }\n singleDimensionArray.remove = remove;\n function exist(array, item) {\n array = array || [];\n if (array === undefined)\n return false;\n var _count = array.length;\n while (_count--) {\n var _item = array[_count];\n if (_item == item) {\n return true;\n }\n }\n return false;\n }\n singleDimensionArray.exist = exist;\n })(singleDimensionArray = common.singleDimensionArray || (common.singleDimensionArray = {}));\n var groupFilter;\n (function (groupFilter) {\n var _functions = [];\n var _selectedData = [];\n var _tier1PageIndex, _tier2PageIndex;\n var _pageIndex = [];\n var _pageId, _pageAttr;\n var _defaultTextAttr = 'data-default-text';\n var _noResultTextAttr = 'data-no-result-text';\n function attachEventsToControls(attrId, isFirst) {\n if (isFirst === void 0) { isFirst = true; }\n var tierSelects = document.querySelectorAll('[data-tier-select]');\n Array.prototype.forEach.call(tierSelects, function (tSelect) {\n var selectToggle = tSelect.querySelector('.c-tier-select__toggle');\n var template = tSelect.getAttribute('data-choice-template') || \" selected\";\n var emptyMsg = tSelect.getAttribute('data-choice-empty') || selectToggle.textContent;\n var category = tSelect.querySelector('.c-tier-select__label');\n if (isFirst) {\n // Open toggle\n selectToggle.addEventListener('click', function (e) {\n tSelect.querySelector('.c-tier-select__selection').classList.toggle('is-open');\n });\n // Close when click outside\n window.addEventListener('click', function (e) {\n if (tSelect.contains(e.target)) {\n e.stopPropagation();\n }\n else {\n tSelect.querySelector('.c-tier-select__selection').classList.remove('is-open');\n }\n });\n }\n var tiers = [];\n var tierChoices = [];\n Array.prototype.forEach.call(tSelect.querySelectorAll('[data-tier]'), function (tierEl) {\n var tier = parseInt(tierEl.getAttribute('data-tier'), 10);\n tiers[tier - 1] = tier;\n });\n Array.prototype.forEach.call(tSelect.querySelectorAll('input[type=checkbox],input[type=radio]'), function (el) {\n el.removeEventListener('change', function (e) {\n });\n });\n Array.prototype.forEach.call(tSelect.querySelectorAll('input[type=checkbox],input[type=radio]'), function (el) {\n el.addEventListener('change', function (e) {\n makeSelection(el);\n });\n });\n function makeSelection(target) {\n var checked = target.checked;\n var multiple = target.getAttribute('type') == 'checkbox';\n var tier = parseInt(target.parentElement.parentElement.getAttribute('data-tier'), 10);\n var parent = tSelect.querySelector('[data-tier=\"' + tier + '\"]');\n if (multiple) {\n tierChoices[tier - 1] = [];\n Array.prototype.forEach.call(parent.querySelectorAll('[data-tier=\"' + tier + '\"] input[type=checkbox]:checked'), function (el) {\n tierChoices[tier - 1].push(el);\n });\n }\n else {\n tierChoices[tier - 1] = target;\n }\n if (checked && tier !== tiers[tiers.length - 1]) {\n parent.classList.add('has-selection');\n parent.classList.remove('is-active');\n }\n else {\n parent.classList.remove('has-selection');\n }\n ;\n if (tier !== tiers[tiers.length - 1]) {\n tSelect.querySelector('[data-tier=\"' + (tier + 1) + '\"]').classList.add('is-active');\n }\n else {\n var _currentId = ($(target).parents(_pageAttr).gssData(_pageId)).toString();\n var _item = util.get(_functions, _currentId);\n if (_item.isSingleSelection) {\n tSelect\n .querySelector('.c-tier-select__selection')\n .classList\n .remove('is-open');\n }\n }\n }\n tSelect.removeEventListener('click', function (e) { });\n // Handle all inside clicks\n tSelect.addEventListener('click', function (e) {\n if (e.target.classList.contains('c-tier-select__back-link')) {\n var tier = parseInt(e.target.parentElement.parentElement.getAttribute('data-tier'), 10);\n var parent = tSelect.querySelector('[data-tier=\"' + tier + '\"]');\n Array.prototype.forEach.call(parent.querySelectorAll('input:checked'), function (el) {\n el.checked = false;\n });\n Array.prototype.forEach.call(tSelect.querySelectorAll('[data-tier=\"' + (tier - 1) + '\"] input:checked'), function (el) {\n el.checked = false;\n });\n tSelect.querySelector('[data-tier=\"' + tier + '\"]').classList.remove('is-active');\n tSelect.querySelector('[data-tier=\"' + (tier - 1) + '\"]').classList.add('is-active');\n tierChoices = tierChoices.slice(0, tier - 2);\n }\n ;\n });\n });\n }\n groupFilter.attachEventsToControls = attachEventsToControls;\n function intitialize() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n GSS.common.groupFilter.attachEventsToControls.call(this);\n if (args.length > 0) {\n args.forEach(function (v, i) {\n _pageId = (v.idProp === undefined || v.idProp === null) ? 'data-gss-group-filter-id' : v.idProp;\n _pageAttr = _pageId.gssGetAtt();\n var _functionItem = {\n id: v.id,\n value: {\n actionFunction: v.actionFunction || null,\n itemFunction: v.itemFunction || null,\n goBackFunction: v.goBackFunction || null,\n id: v.id || null,\n pageSize: v.pageSize || 5,\n pageIndex: 2,\n resetFirstTier: v.resetFirstTier,\n isSingleSelection: v.isSingleSelection || false\n }\n };\n // save each object to a array.\n groupFilter.util.add(_functions, _functionItem);\n // initialize page number for each control and all its tiers\n // currently only support 2 tiers\n _pageIndex.push({ id: v.id, tier: 1, pageNumber: 2 });\n _pageIndex.push({ id: v.id, tier: 2, pageNumber: 2 });\n var _attr = _pageId.gssGetAtt(_functionItem.id);\n var _isMulti = $(_attr).find('[data-tier]').length > 1;\n $(_attr).find('[data-tier]').each(function () {\n var _tier = $(this).data('tier');\n var _active = $(this).hasClass('is-active');\n // bind event to inner items\n if (_tier === 1) {\n _tier1PageIndex = 2;\n attachItemHandler.call(this, _functionItem.value.itemFunction, _tier, _isMulti, _functionItem.value.pageSize, true, _functionItem.value.isSingleSelection);\n }\n attachSearchHandler.call(this, _functionItem.value.actionFunction, _tier, _functionItem.value.pageSize);\n attachLoadMoreHandler.call(this, _functionItem.value.actionFunction, _tier, _functionItem.value.pageSize);\n attachPreviousHandler.call(this, _functionItem.value.goBackFunction, _functionItem.value.actionFunction, _functionItem.value.pageSize, _functionItem.value.resetFirstTier);\n });\n });\n }\n }\n groupFilter.intitialize = intitialize;\n function attachItemHandler(fn, tier, isMulti, pageSize, showLoadMore, isSingleSelection) {\n if (fn === void 0) { fn = null; }\n var _cb = fn !== null ? GSS.common.getFunction(fn) : $.noop;\n var _currentId = ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n var _attr = _pageId.gssGetAtt(_currentId);\n // get message from data attribute\n var _nullMsg = ($(_attr).gssData(_noResultTextAttr)) !== undefined ? ($(_attr).gssData(_noResultTextAttr)).toString() : null;\n // generate id for empty message\n var _id = _currentId + '_emptyMsg';\n if ($(this).children('.c-tier-select__option').length > 0) {\n // always remove empty result message at first time\n $(this).find(_id.gssGetId()).remove();\n //show load more button at first time\n if (showLoadMore) {\n $(this).find('.c-tier-select__more').gssRemoveClass('hidden');\n }\n else {\n $(this).find('.c-tier-select__more').gssAddClass('hidden');\n }\n // bind event to inner items\n $(this).children('.c-tier-select__option').each(function () {\n $(this).on('change', function () {\n var _currentId = ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n var _el = $(this).find('input[type=checkbox],input[type=radio]');\n var _text = _el.next('label').text();\n var _tier = $(this).parents('[data-tier]').data('tier');\n var _search = $(this).parents('[data-tier]').children('.c-tier-select__search').find('input[type=search]');\n var _searchText = _search.val();\n if (_el.is(':checked')) {\n if (isSingleSelection) {\n GSS.common.groupFilter.util.filterArray.clear(_currentId);\n }\n GSS.common.groupFilter.util.filterArray.add({ value: _el.val(), attrId: _currentId, text: _text, tier: _tier });\n }\n else {\n _selectedData = GSS.common.groupFilter.util.filterArray.remove({ value: _el.val(), attrId: _currentId, text: _text, tier: _tier });\n }\n var _data = {\n selected: _el.is(':checked'),\n selectedValues: GSS.common.groupFilter.util.filterArray.get(_currentId),\n tier: tier,\n value: _el.val(),\n currentId: _currentId\n };\n util.displaySelectedValues.call(this);\n _cb.call(this, _data);\n });\n });\n }\n // no items, show empty result message and hide load more button\n else {\n $(this).find('.c-tier-select__more').gssAddClass('hidden');\n var _initEl = $(this).find('div.c-tier-select__search');\n $('

').attr({ 'id': _id, 'class': 'c-tier-select__label' }).append(_nullMsg).insertAfter(_initEl);\n }\n }\n groupFilter.attachItemHandler = attachItemHandler;\n function detachItemHandler() {\n $(this).children('.c-tier-select__option').each(function () {\n $(this).off('change');\n });\n }\n groupFilter.detachItemHandler = detachItemHandler;\n function attachSearchHandler(fn, tier, pageSize) {\n if (fn === void 0) { fn = null; }\n var _cb = fn !== null ? GSS.common.getFunction(fn) : $.noop;\n var _currentId = ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n $(this).children('.c-tier-select__search').find('input[type=search]').on('keydown', function (event) {\n var _this = this;\n if (event.keyCode == 13) {\n var _data = {\n element: $(this),\n isSearch: true,\n pageNumber: 1,\n pageSize: pageSize,\n searchText: $(this).val(),\n tier: tier,\n currentId: _currentId\n };\n util.resetPageIndex(_currentId, tier);\n $(document).on('ajaxStop', function () {\n restoreSelection.call(_this, _currentId);\n });\n _cb.call(this, _data);\n }\n });\n }\n groupFilter.attachSearchHandler = attachSearchHandler;\n function attachLoadMoreHandler(fn, tier, pageSize) {\n if (fn === void 0) { fn = null; }\n var _cb = fn !== null ? GSS.common.getFunction(fn) : $.noop;\n var _searchEl = $(this).children('.c-tier-select__search').find('input[type=search]');\n $(this).children('.c-tier-select__more').find('a').on('click', function (event) {\n var _currentId = ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n var _obj = util.get(_functions, _currentId);\n var _data = {\n element: $(this),\n isSearch: false,\n pageNumber: util.getPageIndex(_currentId, tier),\n pageSize: pageSize,\n searchText: _searchEl.val(),\n tier: tier,\n currentId: _currentId\n };\n util.IncrementPageIndex(_currentId, tier);\n util.updateById(_functions, _obj, _currentId);\n $(this).closest('.c-tier-select__more').gssAddClass('hidden');\n _cb.call(this, _data);\n });\n }\n groupFilter.attachLoadMoreHandler = attachLoadMoreHandler;\n function attachPreviousHandler(fn, searchFn, pageSize, resetFirstTier) {\n if (fn === void 0) { fn = null; }\n var _searchFn = fn !== null ? GSS.common.getFunction(searchFn) : $.noop;\n var _cb = fn !== null ? GSS.common.getFunction(fn) : $.noop;\n $(this).children('.c-tier-select__back').find('a').on('click', function (event) {\n var _currentId = ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n _selectedData = groupFilter.util.filterArray.clear(_currentId);\n // clear search text box\n $('.c-tier-select__search').find('input[type=search]').each(function () {\n if (resetFirstTier) {\n //clear all search data on all tiers\n $(this).val('');\n }\n else {\n // keep first tier search value\n var _tier = $(this).parents('[data-tier]').data('tier');\n if (_tier > 1) {\n $(this).val('');\n }\n }\n });\n if (resetFirstTier) {\n // reset page number index for tier 1\n util.resetPageIndex(_currentId, 1);\n }\n // reset page number index for tier 2\n util.resetPageIndex(_currentId, 2);\n util.displaySelectedValues.call(this);\n // clear first tier search's value\n if (resetFirstTier) {\n var _data = {\n element: $(this),\n isSearch: true,\n pageNumber: 1,\n pageSize: pageSize,\n searchText: null,\n tier: 1,\n currentId: _currentId\n };\n _searchFn.call(this, _data);\n }\n _cb.call(this);\n });\n }\n groupFilter.attachPreviousHandler = attachPreviousHandler;\n function setContent(result, data) {\n var _resultCount = $($.parseHTML(result)).filter('.c-tier-select__option').length;\n var _currentId = data.currentId || ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n var _attr = _pageId.gssGetAtt(_currentId);\n var _nullMsg = ($(_attr).gssData(_noResultTextAttr)).toString();\n var _showLoadMore = true;\n $(_attr).find('[data-tier]').each(function () {\n // only work on active section\n if ($(this).hasClass('is-active')) {\n var _item = util.get(_functions, _currentId);\n // no more items to show, hide load more button\n if (_resultCount === 0 || _resultCount < _item.pageSize) {\n _showLoadMore = false;\n $(this).find('.c-tier-select__more').gssAddClass('hidden');\n }\n // show load more button\n else {\n _showLoadMore = true;\n $(this).find('.c-tier-select__more').gssRemoveClass('hidden');\n }\n // we want to clear previous results when search for new item\n if (data.isSearch) {\n $(this).find('div.c-tier-select__option').remove();\n }\n // generate id for empty message\n var _id = _currentId + '_emptyMsg';\n // always remove empty result message at first time\n $(this).find(_id.gssGetId()).remove();\n // add empty message, if no results.\n if (_resultCount === 0) {\n var _lastEl = $(this).find('div.c-tier-select__option');\n if (_lastEl.length === 0) {\n var _initEl = $(this).find('div.c-tier-select__search');\n $('

').attr({ 'id': _id, 'class': 'c-tier-select__label' }).append(_nullMsg).insertAfter(_initEl);\n }\n }\n // append results\n else if (result !== null) {\n var _lastEl = $(this).find('div.c-tier-select__option').last();\n if (_lastEl.length > 0) {\n $(result).insertAfter(_lastEl);\n }\n else {\n var _initEl = $(this).find('div.c-tier-select__search');\n $(result).insertAfter(_initEl);\n }\n // detach/reattach events\n GSS.common.groupFilter.detachItemHandler.call(this);\n GSS.common.groupFilter.attachEventsToControls.call(this, _currentId, false);\n GSS.common.groupFilter.attachItemHandler.call(this, _item.itemFunction, $(this).data('tier'), false, _item.pageSize, _showLoadMore, _item.isSingleSelection);\n }\n }\n });\n }\n groupFilter.setContent = setContent;\n function getDefaultFunctionData(attrId, tier) {\n if (tier === void 0) { tier = 1; }\n var _data = {\n isSearch: true,\n pageNumber: 1,\n pageSize: 5,\n searchText: null,\n currentId: attrId,\n tier: tier\n };\n return _data;\n }\n groupFilter.getDefaultFunctionData = getDefaultFunctionData;\n function clearFilters() {\n var clearElementIds = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n clearElementIds[_i] = arguments[_i];\n }\n // clear desired controls\n clearElementIds.forEach(function (v, i) {\n $(\"input:text\").each(function () {\n var _clearId = $(this).prop('id') || $(this).attr('id');\n if (_clearId === v) {\n $(this).val('');\n }\n });\n $(\"input:hidden\").each(function () {\n var _clearId = $(this).prop('id') || $(this).attr('id');\n if (_clearId === v) {\n $(this).val('');\n }\n });\n });\n $('.c-tier-select__option').each(function () {\n var _el = $(this).find('input[type=checkbox],input[type=radio]');\n if (_el.is(':checked')) {\n _el.prop('checked', false);\n }\n });\n // clear data\n _selectedData = [];\n var _ids = _pageId.gssGetAtt();\n $(_ids).each(function () {\n var _currentId = ($(this).gssData(_pageId)).toString();\n _selectedData = groupFilter.util.filterArray.clear(_currentId);\n util.displaySelectedValues.call(this, _selectedData, _currentId);\n });\n // clear search textbox\n $('.c-tier-select__search').find('input[type=search]').each(function () {\n $(this).val('');\n });\n // reset multi tier filter\n $('[data-tier=\"2\"]').each(function () { $(this).gssRemoveClass('is-active'); });\n $('[data-tier=\"1\"]').each(function () { $(this).gssAddClass('is-active'); });\n // reload the first set\n _functions.forEach(function (v, i) {\n if (v.value.actionFunction !== undefined && v.value.actionFunction !== null) {\n var _cb = GSS.common.getFunction(v.value.actionFunction) || $.noop;\n var _data = {\n isSearch: true,\n pageNumber: 1,\n pageSize: v.value.pageSize,\n searchText: '',\n tier: 1,\n currentId: v.id\n };\n _cb.call(this, _data);\n }\n });\n }\n groupFilter.clearFilters = clearFilters;\n function restoreSelection(attrId) {\n var _attr = _pageId.gssGetAtt(attrId);\n $(_attr).find('[data-tier]').each(function () {\n if ($(this).hasClass('is-active')) {\n $(this).find('div.c-tier-select__option').each(function () {\n var _el = $(this).find('input[type=checkbox],input[type=radio]');\n var _text = _el.next('label').text();\n var _value = _el.val();\n _el.prop('checked', util.filterArray.itemExist(_value));\n });\n }\n });\n }\n groupFilter.restoreSelection = restoreSelection;\n var util;\n (function (util) {\n function getDOMSelectedValues(attrId) {\n if ((attrId !== null) && (attrId !== undefined)) {\n var _attr = _pageId.gssGetAtt(attrId);\n var _textBits = $(_attr).data('textBits');\n if ((_textBits !== null) && (_textBits !== undefined)) {\n return _textBits;\n }\n }\n return [];\n }\n util.getDOMSelectedValues = getDOMSelectedValues;\n function saveDOMSelectedValues(attrId, value) {\n if ((attrId !== null) && (attrId !== undefined)) {\n var _attr = _pageId.gssGetAtt(attrId);\n $(_attr).data('textBits', value);\n }\n }\n util.saveDOMSelectedValues = saveDOMSelectedValues;\n function getPageIndex(id, tier) {\n var _pageNumber = -1;\n if (_pageIndex.length > 0) {\n _pageIndex.forEach(function (v, i) {\n if ((v.id === id) && (v.tier === tier)) {\n _pageNumber = v.pageNumber;\n }\n });\n }\n return _pageNumber;\n }\n util.getPageIndex = getPageIndex;\n function IncrementPageIndex(id, tier) {\n var _pageNumber = -1;\n if (_pageIndex.length > 0) {\n _pageIndex.forEach(function (v, i) {\n if ((v.id === id) && (v.tier === tier)) {\n var _newPageNumber = v.pageNumber + 1;\n var _newObj = { id: v.id, tier: v.tier, pageNumber: _newPageNumber };\n _pageIndex.splice(i, 1);\n _pageIndex.push(_newObj);\n _pageNumber = _newPageNumber;\n // cheat the devil to exit for each loop\n tier = -1;\n }\n });\n }\n return _pageNumber;\n }\n util.IncrementPageIndex = IncrementPageIndex;\n function resetPageIndex(id, tier) {\n var _pageNumber = -1;\n if (_pageIndex.length > 0) {\n _pageIndex.forEach(function (v, i) {\n if ((v.id === id) && (v.tier === tier)) {\n var _newPageNumber = 2;\n var _newObj = { id: v.id, tier: v.tier, pageNumber: _newPageNumber };\n _pageIndex.splice(i, 1);\n _pageIndex.push(_newObj);\n _pageNumber = _newPageNumber;\n // cheat the devil to exit for each loop\n tier = -1;\n }\n });\n }\n return _pageNumber;\n }\n util.resetPageIndex = resetPageIndex;\n function exist(array, item) {\n var _count = array.length;\n while (_count--) {\n var _item = array[_count];\n if (_item.id === item.id) {\n return true;\n }\n }\n return false;\n }\n util.exist = exist;\n function add(array, item) {\n if (!GSS.common.groupFilter.util.exist(array, item)) {\n array.push(item);\n }\n }\n util.add = add;\n function get(array, id) {\n var obj = $.grep(array, function (obj) { return obj.id === id; })[0];\n if (obj !== null) {\n return obj.value;\n }\n else\n return null;\n }\n util.get = get;\n function remove(array, id) {\n array = $.grep(array, function (o) { return o.id != id; });\n return array;\n }\n util.remove = remove;\n function updateById(array, newObj, id) {\n util.remove(array, id);\n util.add(array, { id: id, value: newObj });\n }\n util.updateById = updateById;\n function displaySelectedValues(array, attrId) {\n var _currentId = attrId || ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n var _result = array || _selectedData;\n var _array = filterArray.getItems(_currentId);\n var _attrId = _pageId.gssGetAtt(_currentId);\n var _templateText = $(_attrId).data('choice-template');\n var _defaultText = ($(_attrId).gssData(_defaultTextAttr)).toString();\n var _tierCount = $(_attrId).find('[data-tier]').length;\n var _count = _array.length || 0;\n var _tierSelected = _count - 1;\n if (_tierCount > 1) {\n if (_count === 1) {\n _defaultText = _array[0].text;\n }\n else if (_count === 2) {\n _defaultText = _array[0].text + ' > ' + _array[1].text;\n }\n else if (_count > 2) {\n _defaultText = _array[0].text + ' > ' + _tierSelected + ' ' + _templateText.trim();\n }\n }\n else {\n if (_count === 1) {\n _defaultText = _array[0].text;\n }\n else if (_count > 1) {\n var _singleTierSelectedCount = _tierSelected + 1;\n _defaultText = _singleTierSelectedCount + ' ' + _templateText.trim();\n }\n }\n $('.c-tier-select__toggle').each(function () {\n var _id = ($(this).parents(_pageAttr).gssData(_pageId)).toString();\n if (_id === _currentId) {\n $(this).text(_defaultText);\n }\n });\n }\n util.displaySelectedValues = displaySelectedValues;\n var filterArray;\n (function (filterArray) {\n function add(item) {\n if (!GSS.common.groupFilter.util.filterArray.exist(item)) {\n _selectedData.push(item);\n }\n }\n filterArray.add = add;\n function remove(item) {\n var _result = [];\n _selectedData.forEach(function (v, i) {\n // from different filter\n if (v.attrId !== item.attrId) {\n _result.push(v);\n }\n // same filter\n else {\n // different tier\n if (v.tier !== item.tier) {\n _result.push(v);\n }\n else if (v.value !== item.value) {\n _result.push(v);\n }\n }\n });\n return _result;\n }\n filterArray.remove = remove;\n function getItemText(attrId, value) {\n var _text = null;\n _selectedData.forEach(function (v, i) {\n if ((v.attrId === attrId) && (v.value === value)) {\n _text = v.text;\n }\n });\n return _text;\n }\n filterArray.getItemText = getItemText;\n function exist(item) {\n var _count = _selectedData.length;\n while (_count--) {\n var _item = _selectedData[_count];\n if ((_item.attrId == item.attrId) && (_item.value == item.value)) {\n return true;\n }\n }\n return false;\n }\n filterArray.exist = exist;\n function get(attrId) {\n var _array = [];\n _selectedData.forEach(function (v, i) {\n if (v.attrId === attrId) {\n GSS.common.singleDimensionArray.add(_array, v.value);\n }\n });\n return _array;\n }\n filterArray.get = get;\n function removeAllSecondTierData(attrId) {\n var _result = [];\n _selectedData.forEach(function (v, i) {\n // from different filter\n if (v.attrId !== attrId) {\n _result.push(v);\n }\n // same filter\n else {\n if (v.tier === 1) {\n _result.push(v);\n }\n }\n });\n _selectedData = _result;\n return _result;\n }\n filterArray.removeAllSecondTierData = removeAllSecondTierData;\n function getItems(attrId) {\n var _array = [];\n _selectedData.forEach(function (v, i) {\n if (v.attrId === attrId) {\n _array.push(v);\n }\n });\n return _array;\n }\n filterArray.getItems = getItems;\n function clear(attrId) {\n var _result = [];\n _selectedData.forEach(function (v, i) {\n if (v.attrId !== attrId) {\n _result.push(v);\n }\n });\n _selectedData = _result;\n return _result;\n }\n filterArray.clear = clear;\n function itemExist(value) {\n var _found = false;\n _selectedData.forEach(function (v, i) {\n if (v.value === value) {\n _found = true;\n }\n });\n return _found;\n }\n filterArray.itemExist = itemExist;\n function print() {\n void 0;\n }\n filterArray.print = print;\n })(filterArray = util.filterArray || (util.filterArray = {}));\n })(util = groupFilter.util || (groupFilter.util = {}));\n })(groupFilter = common.groupFilter || (common.groupFilter = {}));\n function attributeDisabled($element) {\n var _attributeDisabled = false;\n if (($element !== null) && ($element !== undefined)) {\n _attributeDisabled = $element.is('[disabled=disabled]');\n }\n return _attributeDisabled;\n }\n common.attributeDisabled = attributeDisabled;\n var Event = /** @class */ (function () {\n function Event() {\n var _this = this;\n this.subscribe = function (method) {\n _this.observers.push(method);\n };\n this.notify = function (arg) {\n for (var _i = 0, _a = _this.observers; _i < _a.length; _i++) {\n var observer = _a[_i];\n observer(arg);\n }\n };\n this.observers = [];\n }\n return Event;\n }());\n common.Event = Event;\n })(common = GSS.common || (GSS.common = {}));\n var data;\n (function (data) {\n ///

Save value to existing data attribute.;\n /// Notice: key is a data attribute property must already exist in order to have it works;\n function set(key, value) {\n common.preCondition(value, \"value\");\n common.preCondition(key, \"key\");\n if (common.isJson(value) == false) {\n throw new Error(\"value is not json object\");\n }\n var _$el = $(constructDataAtt(key.prop, key.val));\n _$el.data(constructDataAtt(key.prop, key.val), value);\n }\n data.set = set;\n function get(key) {\n GSS.common.preCondition(key, \"key\");\n var _$el = $(constructDataAtt(key.prop, key.val));\n return _$el.data(constructDataAtt(key.prop, key.val));\n }\n data.get = get;\n // Get the first valid attribute value\n function getValueFromParent($element, prop) {\n var _returnValue;\n if (prop.indexOf('data') !== -1) {\n prop = prop.replace('data-', '');\n }\n $element.parents().each(function () {\n if (typeof $(this).data(prop) !== 'undefined') {\n _returnValue = $(this).data(prop);\n }\n });\n return _returnValue;\n }\n data.getValueFromParent = getValueFromParent;\n function constructDataAtt(prop, val) {\n var _result;\n common.preCondition(prop, \"data attribute property\");\n if (common.isNotNullOrEmpty(val)) {\n _result = \"[\" + prop + \"='\" + val + \"']\";\n }\n else {\n _result = \"[\" + prop + \"]\";\n }\n return _result;\n }\n data.constructDataAtt = constructDataAtt;\n function constructIdAtt(id) {\n var _result;\n common.preCondition(id, \"id for current element\");\n _result = \"[id = \" + id + \"]\";\n return _result;\n }\n data.constructIdAtt = constructIdAtt;\n function getElementByData(prop, val) {\n var _el = constructDataAtt(prop);\n if (prop.indexOf('data') !== -1) {\n prop = prop.replace('data-', '');\n }\n if (!common.isNotNullOrEmpty(val)) {\n return $(_el).filter(function () { return typeof $(this).data(prop) !== 'undefined'; });\n }\n return $(_el).filter(function () { return $(this).data(prop) == val; });\n }\n data.getElementByData = getElementByData;\n function getValueByProp(prop) {\n var _el = constructDataAtt(prop);\n return $(_el).gssData(prop);\n }\n data.getValueByProp = getValueByProp;\n })(data = GSS.data || (GSS.data = {}));\n var responseStatus;\n (function (responseStatus) {\n responseStatus[responseStatus[\"Success\"] = 1] = \"Success\";\n responseStatus[responseStatus[\"Error\"] = 2] = \"Error\";\n responseStatus[responseStatus[\"ClientOutOfSync\"] = 3] = \"ClientOutOfSync\";\n })(responseStatus = GSS.responseStatus || (GSS.responseStatus = {}));\n /// This module is intended for debugging purpose only.;\n var debug;\n (function (debug_1) {\n var debug = true;\n var _style = {\n debugStyle: [, 'color: Blue', 'display: block', 'text-align: left'].join(';'),\n infoStyle: [, 'color: gray', 'display: block', 'text-align: left'].join(';'),\n warningStyle: [, 'color: Coral', 'display: block', 'text-align: left'].join(';'),\n objectStyle: [, 'color: CornflowerBlue', 'display: block', 'text-align: left'].join(';'),\n };\n function _log(data, style) {\n if (data.indexOf(\"&\") != -1) {\n data = data.replace(/\\n|\\r/g, \"\");\n var _ar = data.split(':');\n var _obj = GSS.common.convertQueryStringToObject(_ar[1].trim());\n data = JSON.stringify(_obj, null, '\\t');\n }\n if (debug) {\n if (navigator.userAgent.indexOf(\"Chrome\") != -1) {\n switch (style) {\n case 1:\n void 0;\n break;\n case 2:\n void 0;\n break;\n case 3:\n void 0;\n break;\n default:\n void 0;\n break;\n }\n }\n else {\n switch (style) {\n case 1:\n case 2:\n // showRequestInfo need to set to false to have it print out\n // GSS.debug.showRequestInfo(false);\n void 0;\n break;\n case 3:\n void 0;\n break;\n default:\n void 0;\n break;\n }\n }\n }\n }\n var ObjectHelper = /** @class */ (function () {\n function ObjectHelper(obj) {\n this.obj = obj;\n }\n ObjectHelper.prototype.IsObject = function () {\n var type = typeof this.obj;\n return type === 'function' || type === 'object' && !!this.obj;\n };\n ObjectHelper.prototype.Print = function () {\n var result = \"\";\n if (this.IsObject()) {\n for (var index in this.obj) {\n result += index + ': ' + this.obj[index] + '\\n';\n }\n }\n return result;\n };\n return ObjectHelper;\n }());\n ;\n function clearConsole() {\n /*Remarks: Should use for debugging purpose only. This will will clear annoying build up console.log window's content*/\n if (typeof console._commandLineAPI !== 'undefined') {\n console.API = console._commandLineAPI;\n }\n else if (typeof console._inspectorCommandLineAPI !== 'undefined') {\n console.API = console._inspectorCommandLineAPI;\n }\n else if (typeof console.clear !== 'undefined') {\n console.API = console;\n }\n console.API.clear();\n }\n debug_1.clearConsole = clearConsole;\n function consoleSupress(debug) {\n var originConsole = console;\n var suppress = debug || false;\n if (suppress) {\n //console.info('%c ' + 'console is off', infoStyle);\n var methods = [\"log\", \"debug\", \"warn\", \"info\", \"dir\", \"dirxml\", \"trace\", \"profile\"];\n for (var i = 0; i < methods.length; i++) {\n console[methods[i]] = function () { };\n }\n }\n else {\n console = originConsole;\n }\n }\n debug_1.consoleSupress = consoleSupress;\n function showRequestInfo(disable, raw, showVersion) {\n debug = disable;\n raw = raw || false;\n var originConsole = console;\n if (disable) {\n if (showVersion) {\n _log('Version: ' + $().jquery, 2);\n _log('console.log is off, use console.info or console.warn instead.', 2);\n }\n $(document).on('ajaxStart', function () {\n void 0;\n void 0;\n });\n $(document).on('ajaxStop', function () {\n void 0;\n void 0;\n });\n $(document).on('ajaxError', function (event, jqxhr, ajaxOptions, errorThrown) {\n var contentType = jqxhr.getResponseHeader(\"Content-Type\");\n var responseBody = jqxhr.responseText;\n $('[data-dyn-el]').each(function () { this.parentNode.removeChild(this); });\n try {\n throw new Error(\"ERROR !!!!!!\");\n }\n catch (ex) {\n void 0;\n return false;\n }\n });\n $(document).on('ajaxSend', function (event, jqxhr, settings) {\n if (raw) {\n void 0;\n void 0;\n void 0;\n void 0;\n void 0;\n }\n if (settings.url.indexOf('?') !== -1) {\n var _tmp = settings.url.split('?');\n void 0;\n GSS.debug.log(_tmp[1], 1);\n void 0;\n }\n else {\n GSS.debug.log(settings.url, 1);\n }\n });\n console.log = function () { };\n }\n else {\n console = originConsole;\n }\n }\n debug_1.showRequestInfo = showRequestInfo;\n function log() {\n var arg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arg[_i] = arguments[_i];\n }\n var i;\n var msg = \"\";\n var number = (arg.length > 1) ? arg[arg.length - 1] : 0;\n var style;\n if (GSS.common.isDigit(number)) {\n style = number;\n }\n for (i = 0; i < arg.length; ++i) {\n var obj = new ObjectHelper(arg[i]);\n if (obj.IsObject()) {\n msg = msg + '\\r\\n' + typeof obj + ':\\r\\n' + JSON.stringify(obj, null, '\\t');\n }\n else {\n if (i == arg.length - 1) {\n if (!GSS.common.isDigit(arg[i])) {\n msg = msg + '\\r\\n' + typeof arg[i] + ': ' + arg[i];\n }\n }\n else {\n msg = msg + '\\r\\n' + typeof arg[i] + ': ' + arg[i];\n }\n }\n }\n _log(msg, style);\n }\n debug_1.log = log;\n })(debug = GSS.debug || (GSS.debug = {}));\n})(GSS || (GSS = {}));\n$(document).on('click', function (arg) {\n var _$self = $(arg.target);\n var _autoDisableAttributeName = 'gss-auto-disable';\n var _enableAutoDisable = (function () {\n if (_$self.data(_autoDisableAttributeName) !== undefined) {\n var _data = _$self.data(_autoDisableAttributeName);\n if (GSS.common.isBool(_data)) {\n return _data;\n }\n }\n return false;\n }());\n if (!_enableAutoDisable) {\n return;\n }\n var _disableIntervalAttributeName = 'gss-disable-interval';\n var _duration = (function () {\n if (_$self.data(_disableIntervalAttributeName) !== undefined) {\n var _data = _$self.data(_disableIntervalAttributeName);\n if (GSS.common.isDigit(_data)) {\n return parseInt(_data);\n }\n else {\n return -1;\n }\n }\n }());\n _$self.gssAutoDisable({ duration: _duration, inputTypes: ['button', 'a'] });\n});\n$(document).on('submit', function (arg) {\n var _$self = $(arg.target);\n var _autoDisableAttributeName = 'gss-auto-disable';\n var _enableAutoDisable = (function () {\n if (_$self.data(_autoDisableAttributeName) !== undefined) {\n var _data = _$self.data(_autoDisableAttributeName);\n if (GSS.common.isBool(_data)) {\n return _data;\n }\n }\n return false;\n }());\n if (!_enableAutoDisable) {\n return;\n }\n var _disableIntervalAttributeName = 'gss-disable-interval';\n var _duration = (function () {\n if (_$self.data(_disableIntervalAttributeName) !== undefined) {\n var _data = _$self.data(_disableIntervalAttributeName);\n if (GSS.common.isDigit(_data)) {\n return parseInt(_data);\n }\n else {\n return -1;\n }\n }\n }());\n _$self.gssAutoDisable({ duration: _duration, inputTypes: ['form'] });\n});\n$(document).on(\"keypress\", function (e) {\n var _$el = $(\".__page_name\");\n if (_$el.length) {\n //shift + '+' for show/hide\n if (e.which === 43 && event.shiftKey) {\n _$el.toggle();\n }\n }\n});\n$(document).on('ajaxStop', function () {\n var _padding = $('body').find('padding-right');\n if ((typeof _padding !== 'undefined') && (_padding)) {\n $('body').css('padding-right', 0);\n }\n});\n// following are extend functions\nString.prototype.gssGetId = function () {\n var _newVal = this.replace('#', '').trim();\n return '#' + _newVal;\n};\nString.prototype.gssGetAtt = function (prop) {\n if (GSS.common.isNotNullOrEmpty(prop)) {\n return GSS.data.constructDataAtt(this, prop);\n }\n else {\n return GSS.data.constructDataAtt(this);\n }\n};\nString.prototype.gssToString = function () {\n if (GSS.common.isNotNullOrEmpty(this)) {\n return this.toString();\n }\n return null;\n};\nString.prototype.gssEncode = function () {\n if ((this !== null) && (this !== undefined)) {\n return encodeURI(this);\n }\n};\nString.prototype.gssHashCode = function () {\n var hash = 0, i = 0, len = this.length;\n while (i < len) {\n var _code = this.charCodeAt(i++);\n //ignore space\n if (_code !== 32) {\n hash = ((hash << 5) - hash + _code) << 0;\n }\n }\n return hash;\n};\nArray.prototype.gssSort = function () {\n var _arr = this;\n _arr.sort(function (a, b) {\n var nameA = a.Name.toUpperCase(); // ignore upper and lowercase\n var nameB = b.Name.toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n // names must be equal\n return 0;\n });\n return _arr;\n};\n// set it to false, false when check in\nGSS.debug.showRequestInfo(false, false);\n//# sourceMappingURL=GSS.common.js.map"],"sourceRoot":"/source/"}