{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Scripts/App/Helpers/UserInfoHelper.ts","webpack:///./Scripts/App/IndexOfUrls.ts","webpack:///./Scripts/App/Navigation/Urls/Base.ts","webpack:///./Scripts/App/Navigation/Urls/DashboardUrls.ts","webpack:///./Scripts/App/Navigation/Urls/HomeUrls.ts","webpack:///./Scripts/App/Navigation/Urls/LoginUrls.ts","webpack:///./Scripts/App/Navigation/Urls/RegistrationUrls.ts","webpack:///./Scripts/App/Navigation/Urls/SupplyUrls.ts","webpack:///./Scripts/App/Services/General/LocalStorageService.ts","webpack:///./Scripts/Utility/Actions/CommonExceptions.ts","webpack:///./Scripts/Utility/Actions/NavigationActions.ts","webpack:///./Scripts/Utility/Actions/WorkflowActions.ts","webpack:///./Scripts/Utility/Actions/WorkflowReducer.ts","webpack:///./Scripts/Utility/Enums/AjaxEnums.ts","webpack:///./Scripts/Utility/Enums/ButtonEnums.ts","webpack:///./Scripts/Utility/Enums/CalloutEnums.ts","webpack:///./Scripts/Utility/Enums/DaysOfWeek.ts","webpack:///./Scripts/Utility/Enums/DownloadTypeEnums.ts","webpack:///./Scripts/Utility/Enums/LayoutEnums.ts","webpack:///./Scripts/Utility/Enums/NavigationEnums.ts","webpack:///./Scripts/Utility/Enums/NotesEnum.ts","webpack:///./Scripts/Utility/Enums/PanelSize.ts","webpack:///./Scripts/Utility/Enums/RouteViewType.ts","webpack:///./Scripts/Utility/Enums/StatusIndicator.ts","webpack:///./Scripts/Utility/Enums/TextAlignmentModule.ts","webpack:///./Scripts/Utility/Enums/TimeOfDayCategory.ts","webpack:///./Scripts/Utility/Helpers/AjaxHelper.ts","webpack:///./Scripts/Utility/Helpers/AnimationHelper.ts","webpack:///./Scripts/Utility/Helpers/ArrayHelper.ts","webpack:///./Scripts/Utility/Helpers/AuthenticationHelper.ts","webpack:///./Scripts/Utility/Helpers/ButtonHelper.ts","webpack:///./Scripts/Utility/Helpers/CollectionHelper.ts","webpack:///./Scripts/Utility/Helpers/CultureHelper.ts","webpack:///./Scripts/Utility/Helpers/DateHelper.ts","webpack:///./Scripts/Utility/Helpers/DebugHelper.ts","webpack:///./Scripts/Utility/Helpers/DictionaryHelper.ts","webpack:///./Scripts/Utility/Helpers/ExceptionHelper.ts","webpack:///./Scripts/Utility/Helpers/FormControlHelper.ts","webpack:///./Scripts/Utility/Helpers/FormHelper.ts","webpack:///./Scripts/Utility/Helpers/GridRowHelper.tsx","webpack:///./Scripts/Utility/Helpers/HtmlHelper.ts","webpack:///./Scripts/Utility/Helpers/ItemOptionHelper.ts","webpack:///./Scripts/Utility/Helpers/KeyboardEventHelper.ts","webpack:///./Scripts/Utility/Helpers/LayoutHelper.ts","webpack:///./Scripts/Utility/Helpers/LocalStorageHelper.ts","webpack:///./Scripts/Utility/Helpers/ModelHelper.ts","webpack:///./Scripts/Utility/Helpers/NumberHelper.ts","webpack:///./Scripts/Utility/Helpers/ObjectHelper.ts","webpack:///./Scripts/Utility/Helpers/PaginationHelper.ts","webpack:///./Scripts/Utility/Helpers/ReactHelper.ts","webpack:///./Scripts/Utility/Helpers/ReduxHelper.ts","webpack:///./Scripts/Utility/Helpers/ReturnUrlModule.ts","webpack:///./Scripts/Utility/Helpers/RouterHelper.ts","webpack:///./Scripts/Utility/Helpers/SelectHelper.ts","webpack:///./Scripts/Utility/Helpers/StringHelper.ts","webpack:///./Scripts/Utility/Helpers/StyleHelper.ts","webpack:///./Scripts/Utility/Helpers/TimeOfDayHelper.tsx","webpack:///./Scripts/Utility/Helpers/TranslationHelper.ts","webpack:///./Scripts/Utility/IndexOfActions.ts","webpack:///./Scripts/Utility/IndexOfEnums.ts","webpack:///./Scripts/Utility/IndexOfHelpers.ts","webpack:///./Scripts/Utility/IndexOfModels.ts","webpack:///./Scripts/Utility/IndexOfServices.ts","webpack:///./Scripts/Utility/Models/ConvertCompare/BooleanConverter.ts","webpack:///./Scripts/Utility/Models/ConvertCompare/CurrencyConverter.ts","webpack:///./Scripts/Utility/Models/ConvertCompare/DateComparer.ts","webpack:///./Scripts/Utility/Models/ConvertCompare/DateConverter.ts","webpack:///./Scripts/Utility/Models/ConvertCompare/ModelUpdater.ts","webpack:///./Scripts/Utility/Models/ConvertCompare/NumericConverter.ts","webpack:///./Scripts/Utility/Models/Filtering/GridFilterContext.ts","webpack:///./Scripts/Utility/Models/Logging/ConsoleLogger.ts","webpack:///./Scripts/Utility/Models/Navigation/NavigationClasses.ts","webpack:///./Scripts/Utility/Services/ControlService.ts","webpack:///./Scripts/Utility/Services/ModalService.ts","webpack:///./Scripts/Utility/Services/NotificationService.tsx","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAiB,4BAA4B;AAC7C;AACA;AACA,0BAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA,cAAM;AACN;AACA;AACA,cAAM;AACN;AACA;AACA;AACA,eAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAA6B;AAC7B,qCAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAAqB,gBAAgB;AACrC;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,6BAAqB,gBAAgB;AACrC;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,aAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,aAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0BAAkB,8BAA8B;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA,eAAO;AACP;AACA;AACA;AACA;AACA,YAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAAoB,2BAA2B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAAmB,cAAc;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAgB,KAAK;AACrB;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA,wBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAe,4BAA4B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAiB,uCAAuC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAiB,uCAAuC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAiB,sBAAsB;AACvC;AACA;AACA;AACA,gBAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,kBAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,eAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA,gBAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,8CAAsC,uBAAuB;;AAE7D;AACA;AACA;AACA;AACA,wBAAgB,uBAAuB;AACvC;;;AAGA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACx1BA,yJAA+E;AAE9E,MAAc,CAAC,WAAW,GAAG,yCAAmB,CAAC,WAAW,CAAC;AAC7D,MAAc,CAAC,UAAU,GAAG,yCAAmB,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;ACH1D,mIAAgE;AAChE,oHAAsD;AACtD,uHAAwD;A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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E","file":"scripts/js/user.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n \tfunction hotDisposeChunk(chunkId) {\n \t\tdelete installedChunks[chunkId];\n \t}\n \tvar parentHotUpdateCallback = window[\"webpackHotUpdate\"];\n \twindow[\"webpackHotUpdate\"] = // eslint-disable-next-line no-unused-vars\n \tfunction webpackHotUpdateCallback(chunkId, moreModules) {\n \t\thotAddUpdateChunk(chunkId, moreModules);\n \t\tif (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);\n \t} ;\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotDownloadUpdateChunk(chunkId) {\n \t\tvar script = document.createElement(\"script\");\n \t\tscript.charset = \"utf-8\";\n \t\tscript.src = __webpack_require__.p + \"hot/hot-update.js\";\n \t\tif (null) script.crossOrigin = null;\n \t\tdocument.head.appendChild(script);\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotDownloadManifest(requestTimeout) {\n \t\trequestTimeout = requestTimeout || 10000;\n \t\treturn new Promise(function(resolve, reject) {\n \t\t\tif (typeof XMLHttpRequest === \"undefined\") {\n \t\t\t\treturn reject(new Error(\"No browser support\"));\n \t\t\t}\n \t\t\ttry {\n \t\t\t\tvar request = new XMLHttpRequest();\n \t\t\t\tvar requestPath = __webpack_require__.p + \"hot/hot-update.json\";\n \t\t\t\trequest.open(\"GET\", requestPath, true);\n \t\t\t\trequest.timeout = requestTimeout;\n \t\t\t\trequest.send(null);\n \t\t\t} catch (err) {\n \t\t\t\treturn reject(err);\n \t\t\t}\n \t\t\trequest.onreadystatechange = function() {\n \t\t\t\tif (request.readyState !== 4) return;\n \t\t\t\tif (request.status === 0) {\n \t\t\t\t\t// timeout\n \t\t\t\t\treject(\n \t\t\t\t\t\tnew Error(\"Manifest request to \" + requestPath + \" timed out.\")\n \t\t\t\t\t);\n \t\t\t\t} else if (request.status === 404) {\n \t\t\t\t\t// no update available\n \t\t\t\t\tresolve();\n \t\t\t\t} else if (request.status !== 200 && request.status !== 304) {\n \t\t\t\t\t// other failure\n \t\t\t\t\treject(new Error(\"Manifest request to \" + requestPath + \" failed.\"));\n \t\t\t\t} else {\n \t\t\t\t\t// success\n \t\t\t\t\ttry {\n \t\t\t\t\t\tvar update = JSON.parse(request.responseText);\n \t\t\t\t\t} catch (e) {\n \t\t\t\t\t\treject(e);\n \t\t\t\t\t\treturn;\n \t\t\t\t\t}\n \t\t\t\t\tresolve(update);\n \t\t\t\t}\n \t\t\t};\n \t\t});\n \t}\n\n \tvar hotApplyOnUpdate = true;\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentHash = \"4ff58c350f7c83ba525d\";\n \tvar hotRequestTimeout = 10000;\n \tvar hotCurrentModuleData = {};\n \tvar hotCurrentChildModule;\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentParents = [];\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentParentsTemp = [];\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotCreateRequire(moduleId) {\n \t\tvar me = installedModules[moduleId];\n \t\tif (!me) return __webpack_require__;\n \t\tvar fn = function(request) {\n \t\t\tif (me.hot.active) {\n \t\t\t\tif (installedModules[request]) {\n \t\t\t\t\tif (installedModules[request].parents.indexOf(moduleId) === -1) {\n \t\t\t\t\t\tinstalledModules[request].parents.push(moduleId);\n \t\t\t\t\t}\n \t\t\t\t} else {\n \t\t\t\t\thotCurrentParents = [moduleId];\n \t\t\t\t\thotCurrentChildModule = request;\n \t\t\t\t}\n \t\t\t\tif (me.children.indexOf(request) === -1) {\n \t\t\t\t\tme.children.push(request);\n \t\t\t\t}\n \t\t\t} else {\n \t\t\t\tconsole.warn(\n \t\t\t\t\t\"[HMR] unexpected require(\" +\n \t\t\t\t\t\trequest +\n \t\t\t\t\t\t\") from disposed module \" +\n \t\t\t\t\t\tmoduleId\n \t\t\t\t);\n \t\t\t\thotCurrentParents = [];\n \t\t\t}\n \t\t\treturn __webpack_require__(request);\n \t\t};\n \t\tvar ObjectFactory = function ObjectFactory(name) {\n \t\t\treturn {\n \t\t\t\tconfigurable: true,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: function() {\n \t\t\t\t\treturn __webpack_require__[name];\n \t\t\t\t},\n \t\t\t\tset: function(value) {\n \t\t\t\t\t__webpack_require__[name] = value;\n \t\t\t\t}\n \t\t\t};\n \t\t};\n \t\tfor (var name in __webpack_require__) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(__webpack_require__, name) &&\n \t\t\t\tname !== \"e\" &&\n \t\t\t\tname !== \"t\"\n \t\t\t) {\n \t\t\t\tObject.defineProperty(fn, name, ObjectFactory(name));\n \t\t\t}\n \t\t}\n \t\tfn.e = function(chunkId) {\n \t\t\tif (hotStatus === \"ready\") hotSetStatus(\"prepare\");\n \t\t\thotChunksLoading++;\n \t\t\treturn __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {\n \t\t\t\tfinishChunkLoading();\n \t\t\t\tthrow err;\n \t\t\t});\n\n \t\t\tfunction finishChunkLoading() {\n \t\t\t\thotChunksLoading--;\n \t\t\t\tif (hotStatus === \"prepare\") {\n \t\t\t\t\tif (!hotWaitingFilesMap[chunkId]) {\n \t\t\t\t\t\thotEnsureUpdateChunk(chunkId);\n \t\t\t\t\t}\n \t\t\t\t\tif (hotChunksLoading === 0 && hotWaitingFiles === 0) {\n \t\t\t\t\t\thotUpdateDownloaded();\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t};\n \t\tfn.t = function(value, mode) {\n \t\t\tif (mode & 1) value = fn(value);\n \t\t\treturn __webpack_require__.t(value, mode & ~1);\n \t\t};\n \t\treturn fn;\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotCreateModule(moduleId) {\n \t\tvar hot = {\n \t\t\t// private stuff\n \t\t\t_acceptedDependencies: {},\n \t\t\t_declinedDependencies: {},\n \t\t\t_selfAccepted: false,\n \t\t\t_selfDeclined: false,\n \t\t\t_disposeHandlers: [],\n \t\t\t_main: hotCurrentChildModule !== moduleId,\n\n \t\t\t// Module API\n \t\t\tactive: true,\n \t\t\taccept: function(dep, callback) {\n \t\t\t\tif (dep === undefined) hot._selfAccepted = true;\n \t\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n \t\t\t\telse if (typeof dep === \"object\")\n \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n \t\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function() {};\n \t\t\t\telse hot._acceptedDependencies[dep] = callback || function() {};\n \t\t\t},\n \t\t\tdecline: function(dep) {\n \t\t\t\tif (dep === undefined) hot._selfDeclined = true;\n \t\t\t\telse if (typeof dep === \"object\")\n \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n \t\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n \t\t\t\telse hot._declinedDependencies[dep] = true;\n \t\t\t},\n \t\t\tdispose: function(callback) {\n \t\t\t\thot._disposeHandlers.push(callback);\n \t\t\t},\n \t\t\taddDisposeHandler: function(callback) {\n \t\t\t\thot._disposeHandlers.push(callback);\n \t\t\t},\n \t\t\tremoveDisposeHandler: function(callback) {\n \t\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n \t\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n \t\t\t},\n\n \t\t\t// Management API\n \t\t\tcheck: hotCheck,\n \t\t\tapply: hotApply,\n \t\t\tstatus: function(l) {\n \t\t\t\tif (!l) return hotStatus;\n \t\t\t\thotStatusHandlers.push(l);\n \t\t\t},\n \t\t\taddStatusHandler: function(l) {\n \t\t\t\thotStatusHandlers.push(l);\n \t\t\t},\n \t\t\tremoveStatusHandler: function(l) {\n \t\t\t\tvar idx = hotStatusHandlers.indexOf(l);\n \t\t\t\tif (idx >= 0) hotStatusHandlers.splice(idx, 1);\n \t\t\t},\n\n \t\t\t//inherit from previous dispose call\n \t\t\tdata: hotCurrentModuleData[moduleId]\n \t\t};\n \t\thotCurrentChildModule = undefined;\n \t\treturn hot;\n \t}\n\n \tvar hotStatusHandlers = [];\n \tvar hotStatus = \"idle\";\n\n \tfunction hotSetStatus(newStatus) {\n \t\thotStatus = newStatus;\n \t\tfor (var i = 0; i < hotStatusHandlers.length; i++)\n \t\t\thotStatusHandlers[i].call(null, newStatus);\n \t}\n\n \t// while downloading\n \tvar hotWaitingFiles = 0;\n \tvar hotChunksLoading = 0;\n \tvar hotWaitingFilesMap = {};\n \tvar hotRequestedFilesMap = {};\n \tvar hotAvailableFilesMap = {};\n \tvar hotDeferred;\n\n \t// The update info\n \tvar hotUpdate, hotUpdateNewHash;\n\n \tfunction toModuleId(id) {\n \t\tvar isNumber = +id + \"\" === id;\n \t\treturn isNumber ? +id : id;\n \t}\n\n \tfunction hotCheck(apply) {\n \t\tif (hotStatus !== \"idle\") {\n \t\t\tthrow new Error(\"check() is only allowed in idle status\");\n \t\t}\n \t\thotApplyOnUpdate = apply;\n \t\thotSetStatus(\"check\");\n \t\treturn hotDownloadManifest(hotRequestTimeout).then(function(update) {\n \t\t\tif (!update) {\n \t\t\t\thotSetStatus(\"idle\");\n \t\t\t\treturn null;\n \t\t\t}\n \t\t\thotRequestedFilesMap = {};\n \t\t\thotWaitingFilesMap = {};\n \t\t\thotAvailableFilesMap = update.c;\n \t\t\thotUpdateNewHash = update.h;\n\n \t\t\thotSetStatus(\"prepare\");\n \t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\thotDeferred = {\n \t\t\t\t\tresolve: resolve,\n \t\t\t\t\treject: reject\n \t\t\t\t};\n \t\t\t});\n \t\t\thotUpdate = {};\n \t\t\tfor(var chunkId in installedChunks)\n \t\t\t// eslint-disable-next-line no-lone-blocks\n \t\t\t{\n \t\t\t\t/*globals chunkId */\n \t\t\t\thotEnsureUpdateChunk(chunkId);\n \t\t\t}\n \t\t\tif (\n \t\t\t\thotStatus === \"prepare\" &&\n \t\t\t\thotChunksLoading === 0 &&\n \t\t\t\thotWaitingFiles === 0\n \t\t\t) {\n \t\t\t\thotUpdateDownloaded();\n \t\t\t}\n \t\t\treturn promise;\n \t\t});\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotAddUpdateChunk(chunkId, moreModules) {\n \t\tif (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])\n \t\t\treturn;\n \t\thotRequestedFilesMap[chunkId] = false;\n \t\tfor (var moduleId in moreModules) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\thotUpdate[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif (--hotWaitingFiles === 0 && hotChunksLoading === 0) {\n \t\t\thotUpdateDownloaded();\n \t\t}\n \t}\n\n \tfunction hotEnsureUpdateChunk(chunkId) {\n \t\tif (!hotAvailableFilesMap[chunkId]) {\n \t\t\thotWaitingFilesMap[chunkId] = true;\n \t\t} else {\n \t\t\thotRequestedFilesMap[chunkId] = true;\n \t\t\thotWaitingFiles++;\n \t\t\thotDownloadUpdateChunk(chunkId);\n \t\t}\n \t}\n\n \tfunction hotUpdateDownloaded() {\n \t\thotSetStatus(\"ready\");\n \t\tvar deferred = hotDeferred;\n \t\thotDeferred = null;\n \t\tif (!deferred) return;\n \t\tif (hotApplyOnUpdate) {\n \t\t\t// Wrap deferred object in Promise to mark it as a well-handled Promise to\n \t\t\t// avoid triggering uncaught exception warning in Chrome.\n \t\t\t// See https://bugs.chromium.org/p/chromium/issues/detail?id=465666\n \t\t\tPromise.resolve()\n \t\t\t\t.then(function() {\n \t\t\t\t\treturn hotApply(hotApplyOnUpdate);\n \t\t\t\t})\n \t\t\t\t.then(\n \t\t\t\t\tfunction(result) {\n \t\t\t\t\t\tdeferred.resolve(result);\n \t\t\t\t\t},\n \t\t\t\t\tfunction(err) {\n \t\t\t\t\t\tdeferred.reject(err);\n \t\t\t\t\t}\n \t\t\t\t);\n \t\t} else {\n \t\t\tvar outdatedModules = [];\n \t\t\tfor (var id in hotUpdate) {\n \t\t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n \t\t\t\t\toutdatedModules.push(toModuleId(id));\n \t\t\t\t}\n \t\t\t}\n \t\t\tdeferred.resolve(outdatedModules);\n \t\t}\n \t}\n\n \tfunction hotApply(options) {\n \t\tif (hotStatus !== \"ready\")\n \t\t\tthrow new Error(\"apply() is only allowed in ready status\");\n \t\toptions = options || {};\n\n \t\tvar cb;\n \t\tvar i;\n \t\tvar j;\n \t\tvar module;\n \t\tvar moduleId;\n\n \t\tfunction getAffectedStuff(updateModuleId) {\n \t\t\tvar outdatedModules = [updateModuleId];\n \t\t\tvar outdatedDependencies = {};\n\n \t\t\tvar queue = outdatedModules.slice().map(function(id) {\n \t\t\t\treturn {\n \t\t\t\t\tchain: [id],\n \t\t\t\t\tid: id\n \t\t\t\t};\n \t\t\t});\n \t\t\twhile (queue.length > 0) {\n \t\t\t\tvar queueItem = queue.pop();\n \t\t\t\tvar moduleId = queueItem.id;\n \t\t\t\tvar chain = queueItem.chain;\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (!module || module.hot._selfAccepted) continue;\n \t\t\t\tif (module.hot._selfDeclined) {\n \t\t\t\t\treturn {\n \t\t\t\t\t\ttype: \"self-declined\",\n \t\t\t\t\t\tchain: chain,\n \t\t\t\t\t\tmoduleId: moduleId\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\tif (module.hot._main) {\n \t\t\t\t\treturn {\n \t\t\t\t\t\ttype: \"unaccepted\",\n \t\t\t\t\t\tchain: chain,\n \t\t\t\t\t\tmoduleId: moduleId\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n \t\t\t\t\tvar parentId = module.parents[i];\n \t\t\t\t\tvar parent = installedModules[parentId];\n \t\t\t\t\tif (!parent) continue;\n \t\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n \t\t\t\t\t\treturn {\n \t\t\t\t\t\t\ttype: \"declined\",\n \t\t\t\t\t\t\tchain: chain.concat([parentId]),\n \t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\tparentId: parentId\n \t\t\t\t\t\t};\n \t\t\t\t\t}\n \t\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n \t\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n \t\t\t\t\t\tif (!outdatedDependencies[parentId])\n \t\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n \t\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n \t\t\t\t\t\tcontinue;\n \t\t\t\t\t}\n \t\t\t\t\tdelete outdatedDependencies[parentId];\n \t\t\t\t\toutdatedModules.push(parentId);\n \t\t\t\t\tqueue.push({\n \t\t\t\t\t\tchain: chain.concat([parentId]),\n \t\t\t\t\t\tid: parentId\n \t\t\t\t\t});\n \t\t\t\t}\n \t\t\t}\n\n \t\t\treturn {\n \t\t\t\ttype: \"accepted\",\n \t\t\t\tmoduleId: updateModuleId,\n \t\t\t\toutdatedModules: outdatedModules,\n \t\t\t\toutdatedDependencies: outdatedDependencies\n \t\t\t};\n \t\t}\n\n \t\tfunction addAllToSet(a, b) {\n \t\t\tfor (var i = 0; i < b.length; i++) {\n \t\t\t\tvar item = b[i];\n \t\t\t\tif (a.indexOf(item) === -1) a.push(item);\n \t\t\t}\n \t\t}\n\n \t\t// at begin all updates modules are outdated\n \t\t// the \"outdated\" status can propagate to parents if they don't accept the children\n \t\tvar outdatedDependencies = {};\n \t\tvar outdatedModules = [];\n \t\tvar appliedUpdate = {};\n\n \t\tvar warnUnexpectedRequire = function warnUnexpectedRequire() {\n \t\t\tconsole.warn(\n \t\t\t\t\"[HMR] unexpected require(\" + result.moduleId + \") to disposed module\"\n \t\t\t);\n \t\t};\n\n \t\tfor (var id in hotUpdate) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n \t\t\t\tmoduleId = toModuleId(id);\n \t\t\t\t/** @type {TODO} */\n \t\t\t\tvar result;\n \t\t\t\tif (hotUpdate[id]) {\n \t\t\t\t\tresult = getAffectedStuff(moduleId);\n \t\t\t\t} else {\n \t\t\t\t\tresult = {\n \t\t\t\t\t\ttype: \"disposed\",\n \t\t\t\t\t\tmoduleId: id\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\t/** @type {Error|false} */\n \t\t\t\tvar abortError = false;\n \t\t\t\tvar doApply = false;\n \t\t\t\tvar doDispose = false;\n \t\t\t\tvar chainInfo = \"\";\n \t\t\t\tif (result.chain) {\n \t\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n \t\t\t\t}\n \t\t\t\tswitch (result.type) {\n \t\t\t\t\tcase \"self-declined\":\n \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n \t\t\t\t\t\tif (!options.ignoreDeclined)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n \t\t\t\t\t\t\t\t\tresult.moduleId +\n \t\t\t\t\t\t\t\t\tchainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"declined\":\n \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n \t\t\t\t\t\tif (!options.ignoreDeclined)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n \t\t\t\t\t\t\t\t\tresult.moduleId +\n \t\t\t\t\t\t\t\t\t\" in \" +\n \t\t\t\t\t\t\t\t\tresult.parentId +\n \t\t\t\t\t\t\t\t\tchainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"unaccepted\":\n \t\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n \t\t\t\t\t\tif (!options.ignoreUnaccepted)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"accepted\":\n \t\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n \t\t\t\t\t\tdoApply = true;\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"disposed\":\n \t\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n \t\t\t\t\t\tdoDispose = true;\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tdefault:\n \t\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n \t\t\t\t}\n \t\t\t\tif (abortError) {\n \t\t\t\t\thotSetStatus(\"abort\");\n \t\t\t\t\treturn Promise.reject(abortError);\n \t\t\t\t}\n \t\t\t\tif (doApply) {\n \t\t\t\t\tappliedUpdate[moduleId] = hotUpdate[moduleId];\n \t\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n \t\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n \t\t\t\t\t\tif (\n \t\t\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n \t\t\t\t\t\t\t\tresult.outdatedDependencies,\n \t\t\t\t\t\t\t\tmoduleId\n \t\t\t\t\t\t\t)\n \t\t\t\t\t\t) {\n \t\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n \t\t\t\t\t\t\taddAllToSet(\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n \t\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t\tif (doDispose) {\n \t\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n \t\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Store self accepted outdated modules to require them later by the module system\n \t\tvar outdatedSelfAcceptedModules = [];\n \t\tfor (i = 0; i < outdatedModules.length; i++) {\n \t\t\tmoduleId = outdatedModules[i];\n \t\t\tif (\n \t\t\t\tinstalledModules[moduleId] &&\n \t\t\t\tinstalledModules[moduleId].hot._selfAccepted\n \t\t\t)\n \t\t\t\toutdatedSelfAcceptedModules.push({\n \t\t\t\t\tmodule: moduleId,\n \t\t\t\t\terrorHandler: installedModules[moduleId].hot._selfAccepted\n \t\t\t\t});\n \t\t}\n\n \t\t// Now in \"dispose\" phase\n \t\thotSetStatus(\"dispose\");\n \t\tObject.keys(hotAvailableFilesMap).forEach(function(chunkId) {\n \t\t\tif (hotAvailableFilesMap[chunkId] === false) {\n \t\t\t\thotDisposeChunk(chunkId);\n \t\t\t}\n \t\t});\n\n \t\tvar idx;\n \t\tvar queue = outdatedModules.slice();\n \t\twhile (queue.length > 0) {\n \t\t\tmoduleId = queue.pop();\n \t\t\tmodule = installedModules[moduleId];\n \t\t\tif (!module) continue;\n\n \t\t\tvar data = {};\n\n \t\t\t// Call dispose handlers\n \t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n \t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n \t\t\t\tcb = disposeHandlers[j];\n \t\t\t\tcb(data);\n \t\t\t}\n \t\t\thotCurrentModuleData[moduleId] = data;\n\n \t\t\t// disable module (this disables requires from this module)\n \t\t\tmodule.hot.active = false;\n\n \t\t\t// remove module from cache\n \t\t\tdelete installedModules[moduleId];\n\n \t\t\t// when disposing there is no need to call dispose handler\n \t\t\tdelete outdatedDependencies[moduleId];\n\n \t\t\t// remove \"parents\" references from all children\n \t\t\tfor (j = 0; j < module.children.length; j++) {\n \t\t\t\tvar child = installedModules[module.children[j]];\n \t\t\t\tif (!child) continue;\n \t\t\t\tidx = child.parents.indexOf(moduleId);\n \t\t\t\tif (idx >= 0) {\n \t\t\t\t\tchild.parents.splice(idx, 1);\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// remove outdated dependency from module children\n \t\tvar dependency;\n \t\tvar moduleOutdatedDependencies;\n \t\tfor (moduleId in outdatedDependencies) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n \t\t\t) {\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (module) {\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n \t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n \t\t\t\t\t\tidx = module.children.indexOf(dependency);\n \t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Not in \"apply\" phase\n \t\thotSetStatus(\"apply\");\n\n \t\thotCurrentHash = hotUpdateNewHash;\n\n \t\t// insert new code\n \t\tfor (moduleId in appliedUpdate) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {\n \t\t\t\tmodules[moduleId] = appliedUpdate[moduleId];\n \t\t\t}\n \t\t}\n\n \t\t// call accept handlers\n \t\tvar error = null;\n \t\tfor (moduleId in outdatedDependencies) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n \t\t\t) {\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (module) {\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n \t\t\t\t\tvar callbacks = [];\n \t\t\t\t\tfor (i = 0; i < moduleOutdatedDependencies.length; i++) {\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[i];\n \t\t\t\t\t\tcb = module.hot._acceptedDependencies[dependency];\n \t\t\t\t\t\tif (cb) {\n \t\t\t\t\t\t\tif (callbacks.indexOf(cb) !== -1) continue;\n \t\t\t\t\t\t\tcallbacks.push(cb);\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t\tfor (i = 0; i < callbacks.length; i++) {\n \t\t\t\t\t\tcb = callbacks[i];\n \t\t\t\t\t\ttry {\n \t\t\t\t\t\t\tcb(moduleOutdatedDependencies);\n \t\t\t\t\t\t} catch (err) {\n \t\t\t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n \t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\t\t\tdependencyId: moduleOutdatedDependencies[i],\n \t\t\t\t\t\t\t\t\terror: err\n \t\t\t\t\t\t\t\t});\n \t\t\t\t\t\t\t}\n \t\t\t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t\t\t}\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Load self accepted modules\n \t\tfor (i = 0; i < outdatedSelfAcceptedModules.length; i++) {\n \t\t\tvar item = outdatedSelfAcceptedModules[i];\n \t\t\tmoduleId = item.module;\n \t\t\thotCurrentParents = [moduleId];\n \t\t\ttry {\n \t\t\t\t__webpack_require__(moduleId);\n \t\t\t} catch (err) {\n \t\t\t\tif (typeof item.errorHandler === \"function\") {\n \t\t\t\t\ttry {\n \t\t\t\t\t\titem.errorHandler(err);\n \t\t\t\t\t} catch (err2) {\n \t\t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n \t\t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\t\terror: err2,\n \t\t\t\t\t\t\t\toriginalError: err\n \t\t\t\t\t\t\t});\n \t\t\t\t\t\t}\n \t\t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\t\tif (!error) error = err2;\n \t\t\t\t\t\t}\n \t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t}\n \t\t\t\t} else {\n \t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\ttype: \"self-accept-errored\",\n \t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\terror: err\n \t\t\t\t\t\t});\n \t\t\t\t\t}\n \t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// handle errors in accept handlers and self accepted module load\n \t\tif (error) {\n \t\t\thotSetStatus(\"fail\");\n \t\t\treturn Promise.reject(error);\n \t\t}\n\n \t\thotSetStatus(\"idle\");\n \t\treturn new Promise(function(resolve) {\n \t\t\tresolve(outdatedModules);\n \t\t});\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"user\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {},\n \t\t\thot: hotCreateModule(moduleId),\n \t\t\tparents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),\n \t\t\tchildren: []\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// __webpack_hash__\n \t__webpack_require__.h = function() { return hotCurrentHash; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([4,\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { LocalStorageService } from 'App/Services/General/LocalStorageService';\r\n\r\n(window as any).getUserInfo = LocalStorageService.getUserInfo;\r\n(window as any).logUserOut = LocalStorageService.clearAll;\r\n","import { DashboardUrls } from './Navigation/Urls/DashboardUrls';\r\nimport { HomeUrls } from './Navigation/Urls/HomeUrls';\r\nimport { LoginUrls } from './Navigation/Urls/LoginUrls';\r\nimport { RegistrationUrls } from './Navigation/Urls/RegistrationUrls';\r\nimport { SupplyRequestUrls } from './Navigation/Urls/SupplyUrls';\r\n\r\nconst appUrls = {\r\n DashboardUrls,\r\n HomeUrls,\r\n LoginUrls,\r\n RegistrationUrls,\r\n SupplyRequestUrls\r\n};\r\n\r\nexport {\r\n appUrls as AppUrls\r\n};\r\n","// Utility References\r\nimport { IBreadcrumbLink } from 'Utility/IndexOfInterfaces';\r\n\r\nconst addOptionalIdToUrl = (url: string, optionalId?: number) => {\r\n\r\n if (optionalId) {\r\n url = url + `/${optionalId}`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nconst internal = {\r\n HomeBreadcrumb: [{ label: 'Home', route: '/' }] as IBreadcrumbLink[]\r\n};\r\n\r\nconst pageTypes = {\r\n cancellation: 'Cancellation',\r\n delete: 'Delete',\r\n details: 'Details',\r\n edit: 'Edit',\r\n list: 'List',\r\n lookup: 'Lookup',\r\n new: 'New',\r\n remove: 'Remove'\r\n};\r\n\r\nexport {\r\n addOptionalIdToUrl as AddOptionalIdToUrl,\r\n internal as Internal,\r\n pageTypes as PageTypes\r\n};\r\n","// Base References\r\nimport { Internal, PageTypes } from './Base';\r\n\r\nconst area = '/Dashboard';\r\n\r\nconst urls = {\r\n\r\n //Common\r\n account: `${area}/Account`,\r\n provisional: `${area}/Provisional`,\r\n\r\n //Insurer\r\n area: `${area}`,\r\n declined: `${area}/Declined`,\r\n pending: `${area}/Pending`,\r\n running: `${area}/Running`,\r\n sourced: `${area}/Sourced`,\r\n archived: `${area}/Archived`,\r\n\r\n //Dealer\r\n bidding: `${area}/Bidding`,\r\n lost: `${area}/Lost`,\r\n won: `${area}/Won`,\r\n\r\n //Supply Listings\r\n listingDetails: (id?: number | string) => {\r\n\r\n const url = `${area}/listing/details`;\r\n\r\n if (id) {\r\n return `${url}/${id}`;\r\n }\r\n\r\n return url;\r\n },\r\n\r\n //Supply Requests\r\n supplyRequestDetails: (id?: number | string) => {\r\n\r\n const url = `${area}/supply/details`;\r\n\r\n if (id) {\r\n return `${url}/${id}`;\r\n }\r\n\r\n return url;\r\n }\r\n};\r\n\r\nexport {\r\n urls as DashboardUrls\r\n};\r\n","// Base References\r\nimport { Internal, PageTypes } from './Base';\r\n\r\nconst area = '/';\r\n\r\nconst urls = {\r\n area,\r\n welcome: `${area}/welcome`\r\n};\r\n\r\nexport {\r\n urls as HomeUrls\r\n};\r\n","// Base References\r\nimport { Internal, PageTypes } from './Base';\r\n\r\nconst area = '/Login';\r\n\r\nconst urls = {\r\n area,\r\n changePassword: `${area}/ChangePassword`,\r\n forgottenPassword: `${area}/ForgottenPassword`,\r\n resetPassword: `${area}/ResetPassword`,\r\n impersonate: `${area}/Impersonate`,\r\n welcome: `${area}/welcome`\r\n};\r\n\r\nexport {\r\n urls as LoginUrls\r\n};\r\n","// Base References\r\nimport { Internal, PageTypes } from './Base';\r\n\r\nconst area = '/Register';\r\n\r\nconst urls = {\r\n area,\r\n success: `${area}/success`\r\n};\r\n\r\nexport {\r\n urls as RegistrationUrls\r\n};\r\n","// Base References\r\nimport { Internal, PageTypes } from './Base';\r\n\r\nconst area = '/Supply';\r\n\r\nconst urls = {\r\n area,\r\n details: (id?: number | string) => {\r\n\r\n const url = `${area}/${PageTypes.details}`;\r\n\r\n if (id) {\r\n return `${url}/${id}`;\r\n }\r\n\r\n return url;\r\n },\r\n listingDetails: (id?: number | string) => {\r\n\r\n const url = `${area}/listings/${PageTypes.details}`;\r\n\r\n if (id) {\r\n return `${url}/${id}`;\r\n }\r\n\r\n return url;\r\n },\r\n listings: `${area}/listings`,\r\n request: `${area}/request`,\r\n success: `${area}/success`\r\n};\r\n\r\nexport {\r\n urls as SupplyRequestUrls\r\n};\r\n","// Utility References\r\nimport { DateHelper, LocalStorageHelper } from '../../../Utility/IndexOfHelpers';\r\n\r\n// App References\r\nimport { IApiAccessToken, IApiUserInfo } from 'App/IndexOfInterfaces';\r\n\r\nexport interface IApplicationConfig {\r\n apiUrl: string;\r\n}\r\n\r\n// ReSharper restore InconsistentNaming\r\n\r\nconst clearAll = (): void => {\r\n LocalStorageHelper.clearStorage();\r\n sessionStorage.clear();\r\n};\r\n\r\n// Application Config\r\n\r\nconst getApplicationConfig = (): IApplicationConfig => {\r\n return LocalStorageHelper.retrieveObject('app.config') as IApplicationConfig;\r\n};\r\n\r\nconst setApplicationConfig = (value: IApplicationConfig) => {\r\n LocalStorageHelper.storeObject('app.config', value);\r\n};\r\n\r\n// User Info\r\n\r\nconst clearUserInfo = (): void => {\r\n LocalStorageHelper.storeObject('user.info', null);\r\n};\r\n\r\nconst isInRole = (roleName: string): boolean => {\r\n\r\n const userInfo = getUserInfo();\r\n return userInfo !== null && userInfo.roles.map(x => x.name).includes(roleName);\r\n};\r\n\r\nconst getUserInfo = (): IApiUserInfo => {\r\n\r\n return LocalStorageHelper.retrieveObject('user.info') as IApiUserInfo;\r\n};\r\n\r\nconst setUserInfo = (value: IApiUserInfo): void => {\r\n LocalStorageHelper.storeObject('user.info', value);\r\n};\r\n\r\nconst clearAccessToken = (): void => {\r\n LocalStorageHelper.storeObject('user.accessToken', null);\r\n};\r\n\r\nconst getAccessToken = (): IApiAccessToken => {\r\n\r\n const token = LocalStorageHelper.retrieveObject('user.accessToken') as IApiAccessToken;\r\n\r\n if (token) {\r\n // Convert to proper date\r\n token.tokenExpiry = new Date(token.tokenExpiry);\r\n }\r\n\r\n return token;\r\n};\r\n\r\nconst setAccessToken = (token: IApiAccessToken): void => {\r\n\r\n token.tokenExpiry = new Date(token.tokenExpiry);\r\n\r\n LocalStorageHelper.storeObject('user.accessToken', token);\r\n};\r\n\r\n// Export\r\n\r\nconst localStorageService = {\r\n clearAll,\r\n isInRole,\r\n getApplicationConfig,\r\n setApplicationConfig,\r\n clearUserInfo,\r\n getUserInfo,\r\n setUserInfo,\r\n clearAccessToken,\r\n getAccessToken,\r\n setAccessToken\r\n};\r\n\r\nexport { localStorageService as LocalStorageService };\r\n","const commonExceptions = {\r\n area: 'Common',\r\n concurrencyFailure: 'ConcurrencyFailure',\r\n notFound: 'NotFound'\r\n};\r\n\r\nexport {\r\n commonExceptions as CommonExceptions\r\n};\r\n","// Local References\r\nimport { INotificationInfo } from '../IndexOfInterfaces';\r\nimport { Notification } from '../IndexOfServices';\r\n\r\n// Urls\r\nimport { AppUrls } from 'App/IndexOfUrls';\r\n\r\nconst redirectPageWithoutNotification = (destination: string, delay: number = 2000) => {\r\n\r\n window.setTimeout(() => {\r\n\r\n // Hashhistory seems bugged in our version. Going to use window.location.href for now, until we are in a place to update our 3rd party libraries\r\n //hashHistory.push(destination);\r\n\r\n const location = window.location.origin + window.location.pathname;\r\n const hash = destination.indexOf('/') === 0 ? '#' : '#/';\r\n\r\n window.location.href = `${location}${hash}${destination}`;\r\n\r\n }, delay);\r\n};\r\n\r\nconst hardRedirectPageWithoutNotification = (destination: string, delay: number = 2000) => {\r\n\r\n window.setTimeout(() => {\r\n window.location.href = destination;\r\n }, delay);\r\n};\r\n\r\nconst openPageInNewTab = (destination: string) => {\r\n\r\n Object.assign(document.createElement('a'), { target: '_blank', href: destination}).click();\r\n};\r\n\r\nconst redirectPage = (destination: string, notificationInfo: INotificationInfo) => {\r\n\r\n if (notificationInfo) {\r\n\r\n if (!notificationInfo.message) {\r\n notificationInfo.message = 'Redirecting';\r\n }\r\n\r\n Notification.info.info(notificationInfo.message, notificationInfo.title);\r\n }\r\n\r\n redirectPageWithoutNotification(destination);\r\n};\r\n\r\nconst redirectPageAfterDelay = (destination: string,\r\n notificationInfo: INotificationInfo,\r\n delay: number = 1000) => {\r\n\r\n window.setTimeout(() => {\r\n redirectPage(destination, notificationInfo);\r\n }, delay);\r\n};\r\n\r\nconst signInRedirect = (branchId: number, roleId: number, notificationInfo: INotificationInfo) => {\r\n\r\n if (notificationInfo) {\r\n\r\n if (!notificationInfo.message) {\r\n notificationInfo.message = 'Redirecting';\r\n }\r\n\r\n Notification.info.info(notificationInfo.message, notificationInfo.title);\r\n }\r\n\r\n hardRedirectPageWithoutNotification(`/${branchId}/${roleId}/#${AppUrls.HomeUrls.area}`);\r\n};\r\n\r\nconst signOutRedirect = (destination: string, delay: number = 2000) => {\r\n\r\n hardRedirectPageWithoutNotification(destination, delay);\r\n};\r\n\r\nexport {\r\n hardRedirectPageWithoutNotification as HardRedirectPageWithoutNotification,\r\n redirectPage as RedirectPage,\r\n redirectPageAfterDelay as RedirectPageAfterDelay,\r\n redirectPageWithoutNotification as RedirectPageWithoutNotification,\r\n signInRedirect as SignInRedirect,\r\n signOutRedirect as SignOutRedirect\r\n};\r\n","// 3rd Party References\r\nimport { createAction } from 'redux-actions';\r\n\r\n// Utility References\r\nimport { Handler } from '../IndexOfActions';\r\n\r\n// ReSharper disable InconsistentNaming\r\n\r\nexport const WorkflowActionTypes = {\r\n EXTEND: 'EXTEND',\r\n NEXT: 'NEXT',\r\n PREV: 'PREV',\r\n RESET: 'RESET',\r\n ROLLBACK: 'ROLLBACK'\r\n};\r\n\r\n// ReSharper restore InconsistentNaming\r\n\r\nexport interface IWorkflowActions {\r\n extend: Handler.StringArray;\r\n next: Handler.Action;\r\n prev: Handler.Action;\r\n rollback: Handler.StringValue;\r\n}\r\n\r\nclass WorkflowActions implements IWorkflowActions {\r\n\r\n public extend: Handler.StringArray = createAction(\r\n WorkflowActionTypes.EXTEND, (newStages: string[]) => newStages\r\n );\r\n\r\n public next: Handler.Action = createAction(\r\n WorkflowActionTypes.NEXT\r\n );\r\n\r\n public prev: Handler.Action = createAction(\r\n WorkflowActionTypes.PREV\r\n );\r\n\r\n public rollback: Handler.StringValue = createAction(\r\n WorkflowActionTypes.ROLLBACK, (targetStageName: string) => targetStageName\r\n );\r\n}\r\n\r\nconst workflowActionsDispatcherFactory = (dispatch: Handler.AnyForDispatch): IWorkflowActions => {\r\n\r\n const actions = new WorkflowActions();\r\n\r\n return {\r\n extend: (newStages: string[]) => {\r\n dispatch(actions.extend(newStages));\r\n },\r\n next: () => {\r\n dispatch(actions.next());\r\n },\r\n prev: () => {\r\n dispatch(actions.prev());\r\n },\r\n rollback: (targetStageName: string) => {\r\n dispatch(actions.rollback(targetStageName));\r\n }\r\n };\r\n};\r\n\r\nexport { workflowActionsDispatcherFactory as WorkflowActionsDispatcherFactory };\r\n","// 3rd Party References\r\nimport { Action, handleActions } from 'redux-actions';\r\n\r\n// Utility References\r\nimport { ObjectHelper } from '../IndexOfHelpers';\r\n//import { } from '../IndexOfInterfaces';\r\nimport { Notification } from '../IndexOfServices';\r\n\r\n// Local References\r\nimport { IWorkflowActions, WorkflowActionTypes } from './WorkflowActions';\r\n\r\nexport interface IWorkflowStage {\r\n branchSource: string;\r\n stageName: string;\r\n}\r\n\r\nexport interface IWorkflowState {\r\n currentStageIndex: number;\r\n stages: IWorkflowStage[];\r\n}\r\n\r\nconst initialState: IWorkflowState = {\r\n currentStageIndex: 0,\r\n stages: []\r\n};\r\n\r\n// Internal Helper Methods\r\n\r\nconst internalGetCurrentStageName = (workflowState: IWorkflowState): string => {\r\n\r\n if (workflowState.stages.length > 0) {\r\n return workflowState.stages[workflowState.currentStageIndex].stageName;\r\n }\r\n\r\n return '';\r\n};\r\n\r\n// Helper\r\n// TODOxUI: Make workflowActions param not optional.\r\nconst workflowHelper = (workflowState: IWorkflowState, workflowActions?: IWorkflowActions) => {\r\n\r\n const getCurrentStageName = (): string => {\r\n return internalGetCurrentStageName(workflowState);\r\n };\r\n\r\n const isCurrentStage = (stageName: string): boolean => {\r\n return getCurrentStageName() === stageName;\r\n };\r\n\r\n const isPriorStage = (stageName: string): boolean => {\r\n\r\n const filteredStages = workflowState.stages.filter(x => x.stageName === stageName);\r\n\r\n if (filteredStages.length === 0) {\r\n return false;\r\n }\r\n\r\n const stageToCheck = filteredStages[0];\r\n const indexOfStageToCheck = workflowState.stages.indexOf(stageToCheck);\r\n\r\n return indexOfStageToCheck < workflowState.currentStageIndex;\r\n };\r\n\r\n const onStage = (stageName: string) => {\r\n\r\n const advanceWhen = (testCondition: boolean): void => {\r\n\r\n if (workflowActions !== null && isCurrentStage(stageName) && testCondition) {\r\n workflowActions.next();\r\n }\r\n };\r\n\r\n return {\r\n advanceWhen\r\n };\r\n };\r\n\r\n return {\r\n getCurrentStageName,\r\n isCurrentStage,\r\n isPriorStage,\r\n onStage\r\n };\r\n};\r\n\r\nexport { workflowHelper as WorkflowHelper };\r\n\r\n// Reducer Helper Methods\r\n\r\nconst moveBackward = (workflowState: IWorkflowState): IWorkflowState => {\r\n\r\n if (workflowState.currentStageIndex === 0) {\r\n\r\n Notification.error.unhandledException('Attempted move back before Workflow start');\r\n return workflowState;\r\n }\r\n\r\n const previousStageIndex = workflowState.currentStageIndex - 1;\r\n const previousStageName = workflowState.stages[previousStageIndex].stageName;\r\n\r\n const indexOfConditionalStagesToTrim: number = (() => {\r\n\r\n const conditionalStagesToTrim = workflowState.stages.filter(x => x.branchSource === previousStageName);\r\n\r\n const hasConditionalStagesToTrim = conditionalStagesToTrim.length > 0;\r\n\r\n return hasConditionalStagesToTrim ? workflowState.stages.indexOf(conditionalStagesToTrim[0]) : null;\r\n\r\n })();\r\n\r\n const updatedStages: IWorkflowStage[] = (() => {\r\n\r\n if (indexOfConditionalStagesToTrim === null) {\r\n\r\n return workflowState.stages;\r\n\r\n } else {\r\n\r\n const originalStagesClone = workflowState.stages.slice();\r\n\r\n // Trims Conditional Stages From Stack\r\n originalStagesClone.splice(indexOfConditionalStagesToTrim);\r\n\r\n return originalStagesClone;\r\n }\r\n\r\n })();\r\n\r\n return { currentStageIndex: previousStageIndex, stages: updatedStages };\r\n};\r\n\r\n// Reducer\r\n\r\nconst workflowReducer = handleActions({\r\n [WorkflowActionTypes.RESET]: (): IWorkflowState => {\r\n return initialState;\r\n },\r\n [WorkflowActionTypes.EXTEND]: (state: IWorkflowState, action: Action): IWorkflowState => {\r\n\r\n const stageNames = action.payload as string[];\r\n\r\n let branchSource: string;\r\n\r\n if (state.stages.length === 0) {\r\n branchSource = 'WORKFLOW_START';\r\n } else {\r\n branchSource = internalGetCurrentStageName(state);\r\n }\r\n\r\n const additionalStages = stageNames.map(\r\n (stageName: string) => ({ branchSource, stageName })\r\n );\r\n\r\n const allStages = state.stages.concat(...additionalStages);\r\n\r\n return ObjectHelper.merge(state, { stages: allStages });\r\n },\r\n [WorkflowActionTypes.NEXT]: (state: IWorkflowState/*, action: Action*/): IWorkflowState => {\r\n\r\n if (state.currentStageIndex === state.stages.length - 1) {\r\n Notification.error.unhandledException('Attempted move beyond Workflow end');\r\n return state;\r\n }\r\n\r\n return ObjectHelper.merge(state, { currentStageIndex: state.currentStageIndex + 1 });\r\n },\r\n [WorkflowActionTypes.PREV]: (state: IWorkflowState/*, action: Action*/): IWorkflowState => {\r\n return moveBackward(state);\r\n },\r\n [WorkflowActionTypes.ROLLBACK]: (state: IWorkflowState, action: Action): IWorkflowState => {\r\n\r\n const stageName = action.payload as string;\r\n let stateCopy = ObjectHelper.deepClone(state);\r\n\r\n while (internalGetCurrentStageName(stateCopy) !== stageName) {\r\n stateCopy = moveBackward(stateCopy);\r\n }\r\n\r\n return stateCopy;\r\n }\r\n}, initialState);\r\n\r\nexport { workflowReducer as WorkflowReducer };\r\n"," export enum AjaxInfoRequestStatus {\r\n NoRequestSent = 0,\r\n AwaitingReturn,\r\n CompletedWithResults,\r\n CompletedNoResults,\r\n Errored,\r\n OtherUnknown\r\n}\r\n\r\n export enum AjaxInfoStatusCodes {\r\n HttpContinue = 100,\r\n HttpSwitchingProtocols = 101,\r\n HttpOk = 200,\r\n HttpCreated = 201,\r\n HttpAccepted = 202,\r\n HttpNonAuthoritativeInformation = 203,\r\n HttpNoContent = 204,\r\n HttpResetContent = 205,\r\n HttpPartialContent = 206,\r\n HttpMultipleChoices = 300,\r\n HttpAmbiguous = 300,\r\n HttpMovedPermanently = 301,\r\n HttpMoved = 301,\r\n HttpFound = 302,\r\n HttpRedirect = 302,\r\n HttpSeeOther = 303,\r\n HttpRedirectMethod = 303,\r\n HttpNotModified = 304,\r\n HttpUseProxy = 305,\r\n HttpUnused = 306,\r\n HttpTemporaryRedirect = 307,\r\n HttpRedirectKeepVerb = 307,\r\n HttpBadRequest = 400,\r\n HttpUnauthorized = 401,\r\n HttpPaymentRequired = 402,\r\n HttpForbidden = 403,\r\n HttpNotFound = 404,\r\n HttpMethodNotAllowed = 405,\r\n HttpNotAcceptable = 406,\r\n HttpProxyAuthenticationRequired = 407,\r\n HttpRequestTimeout = 408,\r\n HttpConflict = 409,\r\n HttpGone = 410,\r\n HttpLengthRequired = 411,\r\n HttpPreconditionFailed = 412,\r\n HttpRequestEntityTooLarge = 413,\r\n HttpRequestUriTooLong = 414,\r\n HttpUnsupportedMediaType = 415,\r\n HttpRequestedRangeNotSatisfiable = 416,\r\n HttpExpectationFailed = 417,\r\n HttpUnprocessableEntity = 422,\r\n HttpUpgradeRequired = 426,\r\n HttpInternalServerError = 500,\r\n HttpNotImplemented = 501,\r\n HttpBadGateway = 502,\r\n HttpServiceUnavailable = 503,\r\n HttpGatewayTimeout = 504,\r\n HttpHttpVersionNotSupported = 505\r\n}\r\n","export enum ButtonSize {\r\n Xs = 1,\r\n Sm,\r\n Md,\r\n Lg,\r\n Xl\r\n}\r\n\r\nexport enum ButtonStyle {\r\n Danger = 1,\r\n DangerOutline,\r\n Dark,\r\n DarkOutline,\r\n Default,\r\n Info,\r\n InfoOutline,\r\n Light,\r\n LightOutline,\r\n Link,\r\n Primary,\r\n PrimaryOutline,\r\n Secondary,\r\n SecondaryOutline,\r\n Success,\r\n SuccessOutline,\r\n Warning,\r\n WarningOutline\r\n}\r\n\r\nexport enum ButtonTargetType {\r\n Default = 1,\r\n Modal,\r\n NewTab,\r\n Redirect\r\n}\r\n","export enum CalloutStyle {\r\n Danger = 1,\r\n Dark,\r\n Info,\r\n Light,\r\n Muted,\r\n Primary,\r\n Secondary,\r\n Success,\r\n Warning,\r\n White\r\n}\r\n"," export enum DaysOfWeek {\r\n Sunday = 0,\r\n Monday,\r\n Tuesday,\r\n Wednesday,\r\n Thursday,\r\n Friday,\r\n Saturday\r\n}\r\n"," export enum DownloadType {\r\n Excel,\r\n PDF\r\n}\r\n","\r\nexport enum GridColumnType {\r\n Any = 0,\r\n Action,\r\n Boolean,\r\n Currency,\r\n Number,\r\n String\r\n}\r\n\r\nexport enum GridColumnWidth {\r\n NotSet = 0,\r\n BetweenMediumAndLong,\r\n BetweenShortAndMedium,\r\n BetweenTinyAndShort,\r\n Date,\r\n DateAndTime,\r\n Day,\r\n ExtraLong,\r\n FixedBetweenMediumAndLong,\r\n Long,\r\n Medium,\r\n Short,\r\n Time,\r\n Tiny,\r\n YesNo\r\n}\r\n"," export enum LinearNavigation {\r\n Prev,\r\n Next\r\n}\r\n","export enum NoteType {\r\n Plain = 1,\r\n Highlight,\r\n Important\r\n}\r\n","export enum PanelSize {\r\n Normal = 0,\r\n Narrow\r\n}\r\n","export enum RouteViewType {\r\n New = 1,\r\n Details,\r\n Edit,\r\n Delete,\r\n Manage,\r\n Summary\r\n}\r\n","export enum StatusIndicator {\r\n NotApplicable = 0,\r\n Danger = 1,\r\n Warning = 2,\r\n Success = 3,\r\n Info = 4\r\n}\r\n","\r\nexport enum Horizontal {\r\n Left = 1,\r\n Center,\r\n Right,\r\n Justify,\r\n NoWrap\r\n}\r\n\r\nexport const appendToCssClass = (alignment: Horizontal, originalClass?: string): string => {\r\n\r\n const alignmentClassName = (() => {\r\n\r\n switch (alignment) {\r\n case Horizontal.Left:\r\n return 'text-left';\r\n case Horizontal.Center:\r\n return 'text-center';\r\n case Horizontal.Right:\r\n return 'text-right';\r\n case Horizontal.Justify:\r\n return 'text-justify';\r\n case Horizontal.NoWrap:\r\n return 'text-nowrap';\r\n default:\r\n return ''; // Wat u talkin bout willis? Seriously I would like to know. I find your conversations truly fascinating.\r\n }\r\n })();\r\n\r\n return !originalClass ? alignmentClassName : originalClass + ' ' + alignmentClassName;\r\n};\r\n","\r\nexport enum TimeOfDayCategory {\r\n AllDay = 1,\r\n AM = 10,\r\n PM = 20,\r\n Time = 50\r\n}\r\n","// 3rd Party References\r\nimport 'whatwg-fetch';\r\n\r\n// Utility References\r\nimport { AjaxInfoStatusCodes } from 'Utility/IndexOfEnums';\r\nimport { ExceptionHelper } from 'Utility/IndexOfHelpers';\r\nimport { IAjaxInfo, IApiCall, IApiCallWithPayload } from 'Utility/IndexOfInterfaces';\r\nimport { ConsoleLogger } from 'Utility/IndexOfModels';\r\nimport { Notification } from 'Utility/IndexOfServices';\r\n\r\nconst parseResponse = (clearLocalStorage: () => void) => (response: Response) => {\r\n\r\n return new Promise((resolve) => {\r\n\r\n if (response.status === AjaxInfoStatusCodes.HttpNoContent || response.status === AjaxInfoStatusCodes.HttpUnauthorized) {\r\n\r\n resolve({\r\n json: null,\r\n ok: response.ok,\r\n status: response.status\r\n });\r\n\r\n if (response.status === AjaxInfoStatusCodes.HttpUnauthorized) {\r\n clearLocalStorage();\r\n }\r\n\r\n return;\r\n }\r\n\r\n response.text()\r\n .then((text) => {\r\n\r\n let json: any = null;\r\n\r\n try {\r\n json = JSON.parse(text);\r\n } catch (e) {\r\n json = text;\r\n }\r\n\r\n resolve({\r\n json,\r\n ok: response.ok,\r\n status: response.status\r\n });\r\n });\r\n });\r\n};\r\n\r\nexport interface IApiProgressFunctions {\r\n incrementProgress: Function;\r\n decrementProgress: Function;\r\n}\r\n\r\ntype OnFailure = (data: any) => void;\r\n\r\nexport interface IApi {\r\n call: (api: IApiCall, onSuccess: (model: TResponse) => void, onFailure: OnFailure) => void;\r\n callWithPayload: (api: IApiCallWithPayload, payload: TRequest, onSuccess: (model: TResponse) => void, onFailure: OnFailure, isFormData?: boolean) => void;\r\n}\r\n\r\ntype authenticationCallback = (func: (bearerToken: string) => void) => void;\r\n\r\nconst api = (authenticateWithBearerTokenCallback: authenticationCallback, clearLocalStorage: () => void, apiFunctions?: IApiProgressFunctions): IApi => {\r\n\r\n const raiseError = () => {\r\n Notification.error.clickToDismiss('There was a server error. This could mean that the API is down, or there is a critical error within. Please contact your support team.', 'Server Error');\r\n };\r\n\r\n const getRequestHeaders = (method: string, bearerToken: string, isFormData?: boolean) => {\r\n const options: RequestInit = {\r\n method,\r\n mode: 'cors',\r\n headers: {\r\n Accept: 'application/json, text/plain, */*',\r\n Culture: (window as any).currentCulture || null\r\n },\r\n keepalive: false\r\n };\r\n\r\n if (bearerToken) {\r\n options.credentials = 'include';\r\n\r\n const authHeaders = { Authorization: `Bearer ${bearerToken}` };\r\n\r\n options.headers = { ...options.headers, ...authHeaders };\r\n }\r\n\r\n if (!isFormData) {\r\n options.headers = { ...options.headers, ...{ 'Content-Type': 'application/json' } };\r\n }\r\n\r\n return options;\r\n };\r\n\r\n return {\r\n call: (api: IApiCall, onSuccess: (model: TResponse) => void, onFailure: OnFailure): void => {\r\n\r\n if (apiFunctions) {\r\n apiFunctions.incrementProgress();\r\n }\r\n\r\n const httpFetch = (bearerToken: string) => {\r\n\r\n const options = getRequestHeaders(api.method, bearerToken);\r\n\r\n fetch(api.url, options)\r\n .then(parseResponse(clearLocalStorage))\r\n .then((response: any) => {\r\n\r\n if (apiFunctions) {\r\n apiFunctions.decrementProgress();\r\n }\r\n\r\n if (response.ok) {\r\n const returnedData = response.json as TResponse;\r\n\r\n onSuccess(returnedData);\r\n\r\n return;\r\n }\r\n\r\n const returnedData = response.json as IAjaxInfo;\r\n\r\n const exceptionReport = ExceptionHelper.getExceptionReport(returnedData);\r\n\r\n const consoleLogger = new ConsoleLogger();\r\n consoleLogger.logExceptionReport(exceptionReport, returnedData);\r\n\r\n onFailure({ dataReturned: returnedData, exceptionReport, statusCode: response.status });\r\n\r\n return;\r\n })\r\n .catch((error) => {\r\n\r\n if (apiFunctions) {\r\n apiFunctions.decrementProgress();\r\n }\r\n\r\n raiseError();\r\n\r\n /* tslint:disable:no-console */\r\n console.log('error: ', error);\r\n /* tslint:enable:no-console */\r\n });\r\n };\r\n\r\n if (!api.withoutAuth) {\r\n authenticateWithBearerTokenCallback((bearerToken: string) => {\r\n httpFetch(bearerToken);\r\n });\r\n } else {\r\n httpFetch('');\r\n }\r\n },\r\n callWithPayload: (api: IApiCallWithPayload, payload: TRequest, onSuccess: (model: TResponse) => void, onFailure: OnFailure, isFormData?: boolean): void => {\r\n\r\n const body = !isFormData\r\n ? payload && JSON.stringify(payload)\r\n : (payload as any) as FormData;\r\n\r\n if (apiFunctions) {\r\n apiFunctions.incrementProgress();\r\n }\r\n\r\n const httpFetch = (bearerToken: string) => {\r\n\r\n const options = getRequestHeaders(api.method, bearerToken, isFormData);\r\n options.body = body;\r\n\r\n fetch(api.url, options)\r\n .then(parseResponse(clearLocalStorage))\r\n .then((response: any) => {\r\n\r\n if (apiFunctions) {\r\n apiFunctions.decrementProgress();\r\n }\r\n\r\n if (response.ok) {\r\n const returnedData = response.json as TResponse;\r\n onSuccess(returnedData);\r\n\r\n return;\r\n }\r\n\r\n const returnedData = response.json as IAjaxInfo;\r\n\r\n const exceptionReport = ExceptionHelper.getExceptionReport(returnedData);\r\n\r\n const consoleLogger = new ConsoleLogger();\r\n consoleLogger.logExceptionReport(exceptionReport, returnedData);\r\n\r\n onFailure({ dataReturned: returnedData, exceptionReport, statusCode: response.status });\r\n\r\n return;\r\n })\r\n .catch((error) => {\r\n\r\n if (apiFunctions) {\r\n apiFunctions.decrementProgress();\r\n }\r\n\r\n raiseError();\r\n\r\n /* tslint:disable:no-console */\r\n console.log('error: ', error);\r\n /* tslint:enable:no-console */\r\n });\r\n };\r\n\r\n if (!api.withoutAuth) {\r\n authenticateWithBearerTokenCallback((bearerToken: string) => {\r\n httpFetch(bearerToken);\r\n });\r\n } else {\r\n httpFetch('');\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport { api as Api };\r\n","\r\nexport function setFocus(element: HTMLElement, scroll?: number): void {\r\n\r\n element.focus();\r\n\r\n if (element instanceof HTMLInputElement) {\r\n (element as HTMLInputElement).select();\r\n }\r\n\r\n let proportionalScroll = 0.2;\r\n\r\n if (scroll) {\r\n proportionalScroll = scroll;\r\n }\r\n\r\n setTimeout(() => {\r\n\r\n const elementRect = element.getBoundingClientRect();\r\n const absoluteElementTop = elementRect.top + window.pageYOffset;\r\n const top = absoluteElementTop - (window.innerHeight * proportionalScroll);\r\n\r\n window.scrollTo(0, top);\r\n\r\n }, 300);\r\n}\r\n","import { IGenericDictionary } from 'Utility/IndexOfInterfaces';\r\n\r\nexport function isUndefinedNullOrEmpty(value: any[]): boolean {\r\n\r\n return value === undefined || value === null || value.length === 0;\r\n}\r\n\r\nconst numberArrayHelper = (array?: number[]) => {\r\n\r\n const checkAllValuesUnique = (): boolean => {\r\n\r\n const uniqueSet = keepUniqueValuesOnly();\r\n\r\n return uniqueSet.length === array.length;\r\n };\r\n\r\n const keepUniqueValuesOnly = (): number[] => {\r\n\r\n const seen: IGenericDictionary = {};\r\n\r\n return array.filter(item => seen.hasOwnProperty(item.toString()) ? false : (seen[item.toString()] = true));\r\n };\r\n\r\n const sortHighToLow = (a: number, b: number): number => {\r\n\r\n if (a > b) {\r\n return 1;\r\n }\r\n\r\n if (a < b) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n return {\r\n checkAllValuesUnique,\r\n keepUniqueValuesOnly,\r\n sortHighToLow\r\n };\r\n};\r\n\r\nconst stringArrayHelper = (array: string[]) => {\r\n\r\n const keepUniqueValuesOnly = (): string[] => {\r\n\r\n const seen: IGenericDictionary = {};\r\n\r\n return array.filter(item => seen.hasOwnProperty(item) ? false : (seen[item] = true));\r\n };\r\n\r\n const checkAllValuesUnique = (): boolean => {\r\n\r\n const uniqueSet = keepUniqueValuesOnly();\r\n\r\n return uniqueSet.length === array.length;\r\n };\r\n\r\n return {\r\n checkAllValuesUnique,\r\n keepUniqueValuesOnly\r\n };\r\n};\r\n\r\nexport {\r\n numberArrayHelper as NumberArrayHelper,\r\n stringArrayHelper as StringArrayHelper\r\n};\r\n","\r\n// Utility References\r\nimport { RouterHelper } from '../IndexOfHelpers';\r\nimport { JsonWebTokens } from '../IndexOfInterfaces';\r\n\r\nconst jsonWebTokenHelper = () => {\r\n\r\n const queryParameterNames = {\r\n idToken: 'id_token'\r\n };\r\n\r\n const extractTokenFromCurrentUrl = (): JsonWebTokens.IToken => {\r\n\r\n const tokenAsString = RouterHelper.getQueryParameterValue(queryParameterNames.idToken).asString();\r\n\r\n if (!tokenAsString) {\r\n return null;\r\n }\r\n\r\n const [rawHeader, rawPayload, unprocessedSignature ] = tokenAsString.split('.');\r\n\r\n if (!rawHeader || !rawPayload || !unprocessedSignature) {\r\n return null;\r\n }\r\n\r\n return {\r\n header: JSON.parse(atob(rawHeader)),\r\n payload: JSON.parse(atob(rawPayload)),\r\n signature: {\r\n unprocessed: unprocessedSignature\r\n }\r\n };\r\n };\r\n\r\n return {\r\n extractTokenFromCurrentUrl\r\n };\r\n};\r\n\r\nexport { jsonWebTokenHelper as JsonWebTokenHelper };\r\n","// 3rd Party References\r\nimport * as classNames from 'classnames';\r\n\r\n// Utility References\r\n//import { } from '../IndexOfComponents';\r\nimport { IAddButtonProps } from 'Utility/IndexOfComponents';\r\nimport { ButtonSize, ButtonStyle } from '../IndexOfEnums';\r\nimport { ObjectHelper, StringHelper, TranslationHelper } from '../IndexOfHelpers';\r\nimport { IButtonOptions, IGenericQueryActions } from '../IndexOfInterfaces';\r\nimport { IControlService, IModalService } from '../IndexOfServices';\r\n\r\ninterface IClassDictionary {\r\n [id: string]: boolean | undefined | null;\r\n}\r\n\r\ninterface IClassArray extends Array { }\r\n\r\ntype ClassValue = string | number | IClassDictionary | IClassArray | undefined | null | false;\r\n\r\nexport function getButtonClasses(defaultButtonOptions: IButtonOptions, extendedButtonOptions?: IButtonOptions, buttonBaseClassOverride?: string): string {\r\n\r\n const defaultButtonOptionsClassObj = getButtonClassObject(defaultButtonOptions, buttonBaseClassOverride);\r\n\r\n if (!extendedButtonOptions) {\r\n\r\n // TODOxUI: This does not seem correct with latest version of classnames\r\n return classNames(defaultButtonOptionsClassObj);\r\n }\r\n\r\n const combinedButtonOptions: IButtonOptions = ObjectHelper.merge(defaultButtonOptions, extendedButtonOptions);\r\n const combinedButtonOptionsClassObj = getButtonClassObject(combinedButtonOptions, buttonBaseClassOverride);\r\n\r\n // TODOxUI: This does not seem correct with latest version of classnames\r\n return classNames(combinedButtonOptionsClassObj);\r\n}\r\n\r\nfunction getButtonClassObject(buttonOptions: IButtonOptions, buttonBaseClassOverride?: string): IClassArray {\r\n\r\n const buttonBaseClass = buttonBaseClassOverride || 'btn';\r\n\r\n return [\r\n { [`${buttonBaseClass}`]: true },\r\n { hidden: buttonOptions.isHidden },\r\n { 'float-left': buttonOptions.alignLeft },\r\n { 'float-right': buttonOptions.alignRight },\r\n { 'btn-block': buttonOptions.buttonBlock },\r\n { [`${getButtonSize(buttonOptions.buttonSize)}`]: !!buttonOptions.buttonSize },\r\n { [`${getButtonStyle(buttonOptions.buttonStyle)}`]: !!buttonOptions.buttonStyle },\r\n { [`${buttonOptions.appendedClassName}`]: !!buttonOptions.appendedClassName }\r\n ];\r\n}\r\n\r\nexport function getButtonIsDisabledState(isDisabled: boolean, buttonOptions: IButtonOptions): boolean {\r\n\r\n return isDisabled || (!!buttonOptions && !!buttonOptions.controlService && buttonOptions.controlService.isControlLocked());\r\n}\r\n\r\nlet hasBeenClicked = false;\r\nconst buttonError = new Audio('/content/sounds/click-error.mp3');\r\n\r\nexport function getButtonOnClickHandler(onClick: (controlService?: IControlService) => void, buttonOptions: IButtonOptions) {\r\n\r\n return () => {\r\n\r\n if (!hasBeenClicked) {\r\n\r\n if (!!buttonOptions && !!buttonOptions.controlService) {\r\n\r\n onClick(buttonOptions.controlService);\r\n\r\n } else {\r\n\r\n onClick();\r\n\r\n }\r\n } else {\r\n buttonError.play();\r\n }\r\n\r\n hasBeenClicked = true;\r\n\r\n setTimeout(() => {\r\n hasBeenClicked = false;\r\n },\r\n 500);\r\n };\r\n}\r\n\r\nexport function getButtonTitle(buttonOptions: IButtonOptions): string {\r\n\r\n if (!buttonOptions || StringHelper.isUndefinedNullOrEmpty(buttonOptions.title)) {\r\n return null;\r\n }\r\n\r\n return TranslationHelper.translate(buttonOptions.title);\r\n}\r\n\r\nexport function getButtonText(defaultButtonOptions: IButtonOptions, extendedButtonOptions?: IButtonOptions): string {\r\n\r\n const textToUse = extendedButtonOptions && (extendedButtonOptions.buttonText !== null && extendedButtonOptions.buttonText !== undefined)\r\n ? extendedButtonOptions.buttonText\r\n : defaultButtonOptions.buttonText;\r\n\r\n return TranslationHelper.translate(textToUse);\r\n}\r\n\r\nexport function getButtonSize(buttonSize: ButtonSize): string {\r\n let buttonSizeStyle: string;\r\n\r\n const buttonSizeConstants = {\r\n Lg: 'btn-lg',\r\n Md: 'btn-md',\r\n Sm: 'btn-sm',\r\n Xl: 'btn-xl',\r\n Xs: 'btn-xs'\r\n };\r\n\r\n switch (buttonSize) {\r\n case ButtonSize.Lg:\r\n buttonSizeStyle = buttonSizeConstants.Lg;\r\n break;\r\n case ButtonSize.Md:\r\n buttonSizeStyle = buttonSizeConstants.Md;\r\n break;\r\n case ButtonSize.Sm:\r\n buttonSizeStyle = buttonSizeConstants.Sm;\r\n break;\r\n case ButtonSize.Xl:\r\n buttonSizeStyle = buttonSizeConstants.Xl;\r\n break;\r\n case ButtonSize.Xs:\r\n buttonSizeStyle = buttonSizeConstants.Xs;\r\n break;\r\n default:\r\n buttonSizeStyle = '';\r\n break;\r\n }\r\n\r\n return buttonSizeStyle;\r\n}\r\n\r\nexport function getButtonStyle(buttonStyle: ButtonStyle): string {\r\n\r\n let buttonSizeStyle: string;\r\n\r\n const buttonStyleConstants = {\r\n Danger: 'btn-danger',\r\n DangerOutline: 'btn-outline-danger',\r\n Dark: 'btn-dark',\r\n DarkOutline: 'btn-outline-dark',\r\n Default: 'btn-default',\r\n Info: 'btn-info',\r\n InfoOutline: 'btn-outline-info',\r\n Light: 'btn-light',\r\n LightOutline: 'btn-outline-light',\r\n Link: 'btn-link',\r\n Primary: 'btn-primary',\r\n PrimaryOutline: 'btn-outline-primary',\r\n Secondary: 'btn-secondary',\r\n SecondaryOutline: 'btn-outline-secondary',\r\n Success: 'btn-success',\r\n SuccessOutline: 'btn-outline-success',\r\n Warning: 'btn-warning',\r\n WarningOutline: 'btn-outline-warning'\r\n };\r\n\r\n switch (buttonStyle) {\r\n case ButtonStyle.Danger:\r\n buttonSizeStyle = buttonStyleConstants.Danger;\r\n break;\r\n case ButtonStyle.DangerOutline:\r\n buttonSizeStyle = buttonStyleConstants.DangerOutline;\r\n break;\r\n case ButtonStyle.Dark:\r\n buttonSizeStyle = buttonStyleConstants.Dark;\r\n break;\r\n case ButtonStyle.DarkOutline:\r\n buttonSizeStyle = buttonStyleConstants.DarkOutline;\r\n break;\r\n case ButtonStyle.Default:\r\n buttonSizeStyle = buttonStyleConstants.Default;\r\n break;\r\n case ButtonStyle.Info:\r\n buttonSizeStyle = buttonStyleConstants.Info;\r\n break;\r\n case ButtonStyle.InfoOutline:\r\n buttonSizeStyle = buttonStyleConstants.InfoOutline;\r\n break;\r\n case ButtonStyle.Link:\r\n buttonSizeStyle = buttonStyleConstants.Link;\r\n break;\r\n case ButtonStyle.Light:\r\n buttonSizeStyle = buttonStyleConstants.Light;\r\n break;\r\n case ButtonStyle.LightOutline:\r\n buttonSizeStyle = buttonStyleConstants.LightOutline;\r\n break;\r\n case ButtonStyle.Primary:\r\n buttonSizeStyle = buttonStyleConstants.Primary;\r\n break;\r\n case ButtonStyle.PrimaryOutline:\r\n buttonSizeStyle = buttonStyleConstants.PrimaryOutline;\r\n break;\r\n case ButtonStyle.Secondary:\r\n buttonSizeStyle = buttonStyleConstants.Secondary;\r\n break;\r\n case ButtonStyle.SecondaryOutline:\r\n buttonSizeStyle = buttonStyleConstants.SecondaryOutline;\r\n break;\r\n case ButtonStyle.Success:\r\n buttonSizeStyle = buttonStyleConstants.Success;\r\n break;\r\n case ButtonStyle.SuccessOutline:\r\n buttonSizeStyle = buttonStyleConstants.SuccessOutline;\r\n break;\r\n case ButtonStyle.Warning:\r\n buttonSizeStyle = buttonStyleConstants.Warning;\r\n break;\r\n case ButtonStyle.WarningOutline:\r\n buttonSizeStyle = buttonStyleConstants.WarningOutline;\r\n break;\r\n default:\r\n buttonSizeStyle = '';\r\n break;\r\n }\r\n\r\n return buttonSizeStyle;\r\n}\r\n\r\nexport function openUpsertModal(modalService: IModalService, appActions: IGenericQueryActions<{}, {}, {}, {}>, buttonOptions: IButtonOptions, hasPermission: boolean): IAddButtonProps {\r\n return {\r\n buttonOptions,\r\n isDisabled: !hasPermission,\r\n onClick: () => {\r\n appActions.getTemplateAsync();\r\n modalService.toggleModal();\r\n }\r\n };\r\n}\r\n"," import { IApiSearchViewModel } from '../IndexOfInterfaces';\r\n\r\n export function hasNoRecords(collection: IApiSearchViewModel) {\r\n\r\n return collection === null ||\r\n collection === undefined ||\r\n collection.results === null ||\r\n collection.results === undefined ||\r\n collection.results.length === 0;\r\n}\r\n\r\n export function hasRecords(collection: IApiSearchViewModel) {\r\n\r\n return !hasNoRecords(collection);\r\n}\r\n","import * as moment from 'moment-timezone';\r\n\r\nimport { IApiCultureOptions } from '../IndexOfInterfaces';\r\n\r\nexport function getCultureInfo(): IApiCultureOptions {\r\n\r\n const d = new Date();\r\n const timeZoneOffset = d.getTimezoneOffset() * -1;\r\n const ianaTimeZone = moment.tz.guess();\r\n\r\n // TODOxTJ: Line up with user's selected culture\r\n return {\r\n culture: navigator.language,\r\n ianaTimeZone,\r\n timeZoneOffset\r\n };\r\n}\r\n\r\nexport function getCultureCurrencySymbol(): string {\r\n //TODOxUI: Need to get currency symbol for culture\r\n return '$';\r\n}\r\n","import * as moment from 'moment-timezone';\r\n\r\n// Utility References\r\nimport { isUndefinedOrNull } from './ObjectHelper';\r\n\r\n//TODOxUI: Allow for culture settings with date formats.\r\n\r\nexport function isDefaultDotNetDateValue(date: Date){\r\n const year = moment(date).year();\r\n\r\n //.NET default date will be year 0001, which will be either 0 or 1 depending on user timezone\r\n return year === 0 || year === 1;\r\n}\r\n\r\nexport function now(): Date {\r\n\r\n return moment().toDate();\r\n}\r\n\r\nexport function today(): Date {\r\n\r\n const todayDate = moment().startOf('day');\r\n return todayDate.toDate();\r\n}\r\n\r\nexport function todayAddDays(days: number): Date {\r\n\r\n const date = moment().startOf('day').add('days', days);\r\n return date.toDate();\r\n}\r\n\r\nexport function todayAddMonths(months: number): Date {\r\n\r\n const date = moment().startOf('day').add('months', months);\r\n return date.toDate();\r\n}\r\n\r\nexport function toUtc(date: Date): Date {\r\n\r\n if (isUndefinedOrNull(date)){\r\n return null;\r\n }\r\n\r\n const utcTime = moment(date).utc();\r\n return utcTime.toDate();\r\n}\r\n\r\nexport function standardMomentDateFormatPattern(): string {\r\n return 'DD/MM/YYYY';\r\n}\r\n\r\nexport function standardMomentDateTimeFormatPattern(): string {\r\n return 'DD/MM/YYYY HH:mm';\r\n}\r\n\r\nexport function standardNativeDateFormatPattern(): string {\r\n return 'dd/MM/yyyy';\r\n}\r\n\r\nexport function standardNativeDateTimeFormatPattern(): string {\r\n return 'dd/MM/yyyy HH:mm';\r\n}\r\n\r\nexport function standardTimeFormatPattern(): string {\r\n return 'HH:mm';\r\n}\r\n\r\nexport function todayAsIsoFormatDisplay(): string {\r\n\r\n return moment().format('YYYY-MM-DD');\r\n}\r\n\r\nexport function yesterday(): Date {\r\n\r\n return moment().subtract(1, 'days').toDate();\r\n}\r\n\r\nexport function toMoment(date: Date): moment.Moment {\r\n\r\n return moment(date);\r\n}\r\n\r\nexport function addSeconds(date: Date, seconds: number): Date {\r\n return new Date(date.getTime() + (seconds * 1000));\r\n}\r\n\r\nexport function formatDate(date: Date, dateFormat?: string) {\r\n\r\n if (isUndefinedOrNull(date)) {\r\n return null;\r\n }\r\n\r\n const format = dateFormat || standardMomentDateTimeFormatPattern();\r\n\r\n return moment(date).format(format);\r\n}\r\n"," import { IEnvironmentInfo } from '../IndexOfInterfaces';\r\n\r\n export enum DebugMode {\r\n NotInDebugMode = 0,\r\n DebugWithFakedData,\r\n DebugWithEmptyData\r\n}\r\n\r\n export enum EnvironmentType {\r\n Development = 1,\r\n Test,\r\n UAT,\r\n Live\r\n}\r\n\r\n export function getCurrentDebugMode(location: Location): DebugMode {\r\n\r\n const href = location.href;\r\n const rightmostChunk = href.substr(href.length - 5);\r\n\r\n switch (rightmostChunk) {\r\n case 'FAKED':\r\n return DebugMode.DebugWithFakedData;\r\n case 'EMPTY':\r\n return DebugMode.DebugWithEmptyData;\r\n default:\r\n return DebugMode.NotInDebugMode;\r\n }\r\n}\r\n\r\n function getEnvironmentType(): EnvironmentType {\r\n\r\n const urlPatterns = [\r\n { environment: EnvironmentType.Development, pattern: '^localhost.*$' },\r\n { environment: EnvironmentType.Test, pattern: '^bossk-web.*$' },\r\n { environment: EnvironmentType.UAT, pattern: '^bossk-uat.*$' }\r\n ];\r\n\r\n let environment: EnvironmentType = EnvironmentType.Live;\r\n\r\n for (const i in urlPatterns) {\r\n if (urlPatterns.hasOwnProperty(i)) {\r\n if (new RegExp(urlPatterns[i].pattern, 'i').test(location.host)) {\r\n environment = urlPatterns[i].environment;\r\n }\r\n }\r\n }\r\n\r\n return environment;\r\n}\r\n\r\n export function getEnvironmentInfo(): IEnvironmentInfo {\r\n\r\n const isDevEnvironment = getEnvironmentType() === EnvironmentType.Development;\r\n const isNotDevEnvironment = !isDevEnvironment;\r\n\r\n return {\r\n isDevEnvironment,\r\n isNotDevEnvironment\r\n };\r\n}\r\n\r\n export function inDebugWithEmptyDataMode(location: Location): boolean {\r\n const debugMode = getCurrentDebugMode(location);\r\n return debugMode === DebugMode.DebugWithEmptyData;\r\n}\r\n\r\n export function isDebugUrl(location: Location): boolean {\r\n const notInDebugMode = getCurrentDebugMode(location) === DebugMode.NotInDebugMode;\r\n return !notInDebugMode;\r\n}\r\n","\r\n// Utility References\r\nimport { INumberKeyedDictionary } from '../IndexOfInterfaces';\r\nimport { Notification } from '../IndexOfServices';\r\n\r\ntype Entry = [number, TValue];\r\n\r\nexport interface INumberKeyedDictionaryHelper {\r\n checkHasOrderedMatchForKeys: (keysToCheck: number[]) => (void);\r\n checkHasUnorderedMatchForKeys: (keysToCheck: number[]) => boolean;\r\n clone: () => INumberKeyedDictionary;\r\n getEntries: () => Entry[];\r\n getEntryCount: () => number;\r\n getKeys: () => number[];\r\n getValues: () => TValue[];\r\n map: (action: (key: number, value: TValue, index?: number) => TResult) => TResult[];\r\n}\r\n\r\nexport const numberKeyedDictionaryHelper = (numberKeyedDictionary: INumberKeyedDictionary): INumberKeyedDictionaryHelper => {\r\n\r\n (() => {\r\n\r\n if (!numberKeyedDictionary) {\r\n Notification.error.throw('Utility Code - NumberKeyedDictionaryHelper', 'Creation', 'Argument Null Exception: numberKeyedDictionary');\r\n }\r\n\r\n })();\r\n\r\n const map = (action: (key: number, value: TValue, index?: number) => TResult): TResult[] => {\r\n\r\n const results: TResult[] = [];\r\n let index = 0;\r\n\r\n for (const keyAsString in numberKeyedDictionary) {\r\n\r\n if (numberKeyedDictionary.hasOwnProperty(keyAsString)) {\r\n\r\n const value = numberKeyedDictionary[keyAsString];\r\n\r\n const key = parseInt(keyAsString, 10);\r\n index = index + 1;\r\n\r\n const result = action(key, value, index);\r\n results.push(result);\r\n }\r\n }\r\n\r\n return results;\r\n };\r\n\r\n const clone = (): INumberKeyedDictionary => {\r\n\r\n const cloneDict: INumberKeyedDictionary = {};\r\n\r\n map((key: number, value: TValue) => [key, value] as Entry)\r\n .forEach(([key, value]) => cloneDict[key] = value);\r\n\r\n return cloneDict;\r\n };\r\n\r\n const getKeys = (): number[] => {\r\n\r\n const keys: number[] = [];\r\n\r\n for (const keyAsString in numberKeyedDictionary) {\r\n\r\n if (numberKeyedDictionary.hasOwnProperty(keyAsString)) {\r\n keys.push(parseInt(keyAsString, 10));\r\n }\r\n }\r\n\r\n return keys;\r\n };\r\n\r\n const getEntries = (): Entry[] => {\r\n\r\n const entries: Entry[] = [];\r\n\r\n for (const keyAsString in numberKeyedDictionary) {\r\n\r\n if (numberKeyedDictionary.hasOwnProperty(keyAsString)) {\r\n\r\n const value = numberKeyedDictionary[keyAsString];\r\n const key = parseInt(keyAsString, 10);\r\n\r\n entries.push([key, value]);\r\n }\r\n }\r\n\r\n return entries;\r\n };\r\n\r\n const getEntryCount = (): number => {\r\n\r\n return getKeys().length;\r\n };\r\n\r\n const getValues = (): TValue[] => {\r\n\r\n const values: TValue[] = [];\r\n\r\n for (const keyAsString in numberKeyedDictionary) {\r\n\r\n if (numberKeyedDictionary.hasOwnProperty(keyAsString)) {\r\n\r\n const value = numberKeyedDictionary[keyAsString];\r\n values.push(value);\r\n }\r\n }\r\n\r\n return values;\r\n };\r\n\r\n const internalCheckHasMatchForKeys = (keysToCheck: number[], matchPredicate: (value: number, index?: number) => boolean) => {\r\n\r\n const hasCountMatch = getEntryCount() === keysToCheck.length;\r\n\r\n if (hasCountMatch === false) {\r\n\r\n return false;\r\n }\r\n\r\n const hasNoMatchForKeys = getKeys().some(matchPredicate);\r\n\r\n return (hasNoMatchForKeys === false);\r\n };\r\n\r\n const checkHasOrderedMatchForKeys = (keysToCheck: number[]): boolean => {\r\n\r\n const matchPredicate = (dictKey: number, index: number) => keysToCheck[index] !== dictKey;\r\n return internalCheckHasMatchForKeys(keysToCheck, matchPredicate);\r\n };\r\n\r\n const checkHasUnorderedMatchForKeys = (keysToCheck: number[]): boolean => {\r\n\r\n const matchPredicate = (dictKey: number) => keysToCheck.indexOf(dictKey) === -1;\r\n return internalCheckHasMatchForKeys(keysToCheck, matchPredicate);\r\n };\r\n\r\n return {\r\n checkHasOrderedMatchForKeys,\r\n checkHasUnorderedMatchForKeys,\r\n clone,\r\n getEntries,\r\n getEntryCount,\r\n getKeys,\r\n getValues,\r\n map\r\n };\r\n};\r\n\r\nexport {\r\n numberKeyedDictionaryHelper as NumberKeyedDictionaryHelper\r\n};\r\n\r\n/*\r\n(() => {\r\n\r\n // NumberKeyedDictionaryHelper Tests\r\n\r\n interface ITestItem {\r\n thing: string;\r\n thing2: number;\r\n }\r\n\r\n const testDictionary: INumberKeyedDictionary = [];\r\n testDictionary[101] = { thing: 'A101', thing2: 9101 };\r\n testDictionary[102] = { thing: 'A102', thing2: 9102 };\r\n\r\n const testHelper = numberKeyedDictionaryHelper(testDictionary);\r\n\r\n const keys = testHelper.getKeys();\r\n const entries = testHelper.getEntries();\r\n const beTruez = testHelper.checkHasOrderedMatchForKeys([101, 102]);\r\n const beTruezz = testHelper.checkHasUnorderedMatchForKeys([102, 101]);\r\n const beFalz = testHelper.checkHasOrderedMatchForKeys([102, 101]);\r\n const beFalzz = testHelper.checkHasUnorderedMatchForKeys([103, 101]);\r\n\r\n})();\r\n*/\r\n","// Local References\r\nimport { CommonExceptions } from '../IndexOfActions';\r\nimport { TranslationHelper } from '../IndexOfHelpers';\r\nimport { IAjaxInfo, IApiException, IApiExceptionGroup, IExceptionReport, ISimpleExceptionReport } from '../IndexOfInterfaces';\r\nimport { Notification } from '../IndexOfServices';\r\n\r\nexport function getExceptionReport(response: IAjaxInfo): IExceptionReport | ISimpleExceptionReport {\r\n\r\n const fullExceptionReport: IExceptionReport = (response as any) as IExceptionReport;\r\n\r\n return fullExceptionReport;\r\n}\r\n\r\nfunction getStandardNotifications(ajaxInfo: IAjaxInfo, notificationsTitle: string): void {\r\n\r\n const reason = ajaxInfo.exceptionReport && ajaxInfo.exceptionReport.reason || null;\r\n\r\n switch (reason) {\r\n case CommonExceptions.concurrencyFailure:\r\n Notification.error.clickToDismiss('Another user has also edited this data. Please reload the page and try again.', notificationsTitle);\r\n return;\r\n case CommonExceptions.notFound:\r\n Notification.error.notFound('No matching records', notificationsTitle);\r\n return;\r\n default:\r\n Notification.error.unhandledException('There was an unhandled exception. Please contact support.', notificationsTitle);\r\n return;\r\n }\r\n}\r\n\r\nexport function exceptionGroupsNotifier(ajaxInfo: IAjaxInfo, exceptionGroups: IApiExceptionGroup[], notificationsTitle: string): void {\r\n\r\n const exceptionArea = (ajaxInfo.exceptionReport && ajaxInfo.exceptionReport.area || null);\r\n const matchedExceptionGroups = exceptionGroups.filter(exceptionGroup => exceptionGroup.area === exceptionArea);\r\n\r\n if (matchedExceptionGroups.length > 0) {\r\n\r\n const apiException = matchedExceptionGroups[0].exceptions[ajaxInfo.exceptionReport.reason];\r\n\r\n if (apiException !== undefined && apiException !== null) {\r\n\r\n apiException.raise(ajaxInfo, notificationsTitle);\r\n return;\r\n }\r\n }\r\n\r\n getStandardNotifications(ajaxInfo, notificationsTitle);\r\n}\r\n\r\nconst defaultMessageFormatter = (exceptionReport: IExceptionReport, message: string): string => {\r\n\r\n let finalMessage = message;\r\n\r\n if (exceptionReport && exceptionReport.modelStateErrors) {\r\n\r\n const errorFields: string[] = [];\r\n\r\n for (const key in exceptionReport.modelStateErrors) {\r\n\r\n if (!exceptionReport.modelStateErrors.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n\r\n const errors: string[] = exceptionReport.modelStateErrors[key];\r\n\r\n errors.forEach((internalError: string) => {\r\n errorFields.push(TranslationHelper.translate(internalError));\r\n });\r\n }\r\n\r\n if (errorFields.length > 0) {\r\n\r\n const errorListItems = errorFields.map((error) => `
  • ${ error }
  • `).join('');\r\n finalMessage = `
    ${ message }
      ${ errorListItems }
    `;\r\n }\r\n }\r\n\r\n return finalMessage;\r\n};\r\n\r\ntype HandlerForNotifications = (message: string, heading: string) => void;\r\ntype CustomMessageFormatter = (exceptionReport: IExceptionReport, message?: string) => string;\r\nconst apiException = (message: string, notification: HandlerForNotifications, customMessageFormatter?: CustomMessageFormatter): IApiException => {\r\n\r\n return {\r\n raise: (ajaxInfo: IAjaxInfo, heading: string) => {\r\n\r\n const exceptionReport = ajaxInfo.exceptionReport;\r\n\r\n const finalMessage = !!customMessageFormatter\r\n ? customMessageFormatter(exceptionReport, message)\r\n : defaultMessageFormatter(exceptionReport, message);\r\n\r\n notification(finalMessage, heading);\r\n }\r\n };\r\n};\r\n\r\nexport {\r\n apiException as ApiException,\r\n CustomMessageFormatter\r\n};\r\n","// Utility References\r\nimport { Handler } from 'Utility/IndexOfActions';\r\nimport {\r\n IFormGroupRowWrapperProps,\r\n IFormGroupWrapperProps,\r\n ISimpleNumericInputProps,\r\n ISimpleSelectNumericProps,\r\n ISimpleStringInputProps,\r\n ISimpleTelephoneInputProps\r\n} from 'Utility/IndexOfComponents';\r\nimport { ObjectHelper, TranslationHelper } from 'Utility/IndexOfHelpers';\r\nimport { IApiItemOptionViewModel, IContentWidths } from 'Utility/IndexOfInterfaces';\r\nimport { IModelUpdater } from 'Utility/IndexOfModels';\r\n\r\n// Interface References\r\nimport { IModelState } from '../Interfaces/PageUIInterfaces';\r\n\r\nconst getContentWidths = (children: string, error: string, formGroup: string, label: string): IContentWidths => {\r\n\r\n return { children, error, formGroup, label };\r\n};\r\n\r\n/**\r\n * Gets IFormGroupWrapperProps\r\n * @param contentWidths\r\n * @param modelState\r\n * @param displayName\r\n * @param propertyName\r\n * @param isRequired\r\n * @param isHidden\r\n */\r\nconst getFormGroupWrapperProps = (contentWidths: IContentWidths, modelState: IModelState, displayName: string, propertyName: string, isRequired?: boolean, isHidden?: boolean): IFormGroupWrapperProps => {\r\n\r\n const translatedDisplayName = TranslationHelper.translate(displayName);\r\n\r\n const formGroupWrapperProps: IFormGroupWrapperProps = {\r\n contentWidths,\r\n displayName: translatedDisplayName,\r\n isHidden,\r\n isRequired,\r\n modelState,\r\n propertyName\r\n };\r\n\r\n return formGroupWrapperProps;\r\n};\r\n\r\n/**\r\n * Gets IFormGroupRowWrapperProps\r\n * @param contentWidths\r\n * @param modelState\r\n * @param displayName\r\n * @param propertyName\r\n * @param isRequired\r\n * @param isHidden\r\n */\r\nconst getFormGroupRowWrapperProps = (contentWidths: IContentWidths, modelState: IModelState, displayName: string, propertyName: string, isRequired?: boolean, isHidden?: boolean): IFormGroupRowWrapperProps => {\r\n\r\n const translatedDisplayName = TranslationHelper.translate(displayName);\r\n\r\n const formGroupWrapperProps: IFormGroupRowWrapperProps = {\r\n contentWidths,\r\n displayName: translatedDisplayName,\r\n isHidden,\r\n isRequired,\r\n modelState,\r\n propertyName\r\n };\r\n\r\n return formGroupWrapperProps;\r\n};\r\n\r\ntype UpdateFunc = (model: T, value: boolean | Date | number | string | string[], properyName: string, namespace?: string) => T;\r\n\r\n/**\r\n * Generic Model Update function using propertName and namespace to set a model's property value\r\n * @param removeEntryCallback\r\n */\r\nconst updateModel = (removeEntryCallback?: Handler.Action1) => (model: TViewModel, value: boolean | Date | number | string | string[], propertyName: string, namespace?: string): TViewModel => {\r\n\r\n const property = namespace ? model[namespace] : model;\r\n\r\n if (removeEntryCallback) {\r\n removeEntryCallback(propertyName);\r\n }\r\n\r\n property[propertyName] = value;\r\n\r\n return model;\r\n};\r\n\r\n/**\r\n * Gets readonly ISimpleStringInputProps to be used with basic functionality\r\n * @param value\r\n */\r\nconst getReadonlyStringInputProps = (value: number | string): ISimpleStringInputProps => {\r\n\r\n let valueAsString = '';\r\n\r\n if (!ObjectHelper.isUndefinedOrNull(value)) {\r\n valueAsString = value.toString();\r\n }\r\n\r\n return {\r\n isDisabled: true,\r\n onChangeCallback: null,\r\n value: valueAsString\r\n };\r\n};\r\n\r\n/**\r\n * Gets generic ISimpleNumericInputProps to be used with basic functionality\r\n * @param propertyName\r\n * @param value\r\n * @param modelUpdater\r\n * @param updateModelFunc\r\n * @param namespace\r\n */\r\nconst getSimpleNumericInputProps = (propertyName: string, value: number, modelUpdater: IModelUpdater, updateModelFunc: UpdateFunc, namespace?: string): ISimpleNumericInputProps => {\r\n return {\r\n onChangeCallback: modelUpdater.for((value, model) => {\r\n return updateModelFunc(model, value, propertyName, namespace);\r\n }),\r\n propertyName,\r\n value\r\n };\r\n};\r\n\r\n/**\r\n * Gets generic ISimpleNumericInputProps to be used with basic functionality\r\n * @param propertyName\r\n * @param value\r\n * @param modelUpdater\r\n * @param updateModelFunc\r\n * @param namespace\r\n */\r\nconst getSimpleSelectNumericInputProps = (propertyName: string, value: number, modelUpdater: IModelUpdater, updateModelFunc: UpdateFunc, items: IApiItemOptionViewModel[], namespace?: string): ISimpleSelectNumericProps => {\r\n return {\r\n items,\r\n onChangeCallback: modelUpdater.for((value, model) => {\r\n return updateModelFunc(model, value, propertyName, namespace);\r\n }),\r\n propertyName,\r\n value\r\n };\r\n};\r\n\r\n/**\r\n * Gets generic ISimpleStringInputProps to be used with basic functionality\r\n * @param propertyName\r\n * @param value\r\n * @param modelUpdater\r\n * @param updateModelFunc\r\n * @param maxLength\r\n * @param namespace\r\n */\r\nconst getSimpleStringInputProps = (propertyName: string, value: string, modelUpdater: IModelUpdater, updateModelFunc: UpdateFunc, maxLength: number = 100, namespace?: string): ISimpleStringInputProps => {\r\n return {\r\n maxLength,\r\n onChangeCallback: modelUpdater.for((value, model) => {\r\n return updateModelFunc(model, value, propertyName, namespace);\r\n }),\r\n propertyName,\r\n value\r\n };\r\n};\r\n\r\n/**\r\n * Gets generic ISimpleTelephoneInputProps to be used with basic functionality\r\n * @param propertyName\r\n * @param value\r\n * @param modelUpdater\r\n * @param updateModelFunc\r\n * @param maxLength\r\n * @param namespace\r\n */\r\nconst getSimpleTelephoneInputProps = (propertyName: string, value: string, modelUpdater: IModelUpdater, updateModelFunc: UpdateFunc, maxLength: number = 100, namespace?: string): ISimpleTelephoneInputProps => {\r\n return {\r\n onChangeCallback: modelUpdater.for((value, model) => {\r\n return updateModelFunc(model, value, propertyName, namespace);\r\n }),\r\n propertyName,\r\n value\r\n };\r\n};\r\n\r\nexport {\r\n getContentWidths,\r\n getFormGroupWrapperProps,\r\n getReadonlyStringInputProps,\r\n getSimpleNumericInputProps,\r\n getSimpleSelectNumericInputProps,\r\n getSimpleStringInputProps,\r\n getSimpleTelephoneInputProps,\r\n updateModel\r\n};\r\n","// 3rd Party References\r\nimport * as React from 'react';\r\n\r\n// Utility Reference\r\nimport { Handler } from 'Utility/IndexOfActions';\r\nimport { NumberHelper, ObjectHelper, StringHelper } from 'Utility/IndexOfHelpers';\r\nimport { IRequiredField } from 'Utility/IndexOfInterfaces';\r\n\r\n/**\r\n * Helper method to convert an object to FormData.\r\n */\r\nconst objectToFormData = (obj: any, fd: FormData = null): FormData => {\r\n\r\n const formData = fd || new FormData();\r\n\r\n const appendFormData = (data: any, root: string) => {\r\n\r\n root = root || '';\r\n\r\n if (data instanceof File) {\r\n\r\n formData.append(root, data);\r\n\r\n } else if (Array.isArray(data)) {\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n\r\n appendFormData(data[i], root + '[' + i + ']');\r\n }\r\n\r\n } else if (typeof data === 'object' && data) {\r\n\r\n for (const property in data) {\r\n\r\n if (data.hasOwnProperty(property)) {\r\n\r\n if (root === '') {\r\n\r\n appendFormData(data[property], property);\r\n\r\n } else {\r\n\r\n appendFormData(data[property], root + '.' + property);\r\n\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n\r\n if (data !== null && typeof data !== 'undefined') {\r\n\r\n formData.append(root, data);\r\n }\r\n\r\n }\r\n };\r\n\r\n appendFormData(obj, '');\r\n\r\n return formData;\r\n};\r\n\r\nconst preventFormSubmit = (event: React.FormEvent): void => {\r\n event.preventDefault();\r\n};\r\n\r\nconst areRequiredPropertiesValid = (clearAction: Handler.Action, addErrorAction: Handler.Action2, fieldsForValidation: IRequiredField[]): boolean => {\r\n\r\n clearAction();\r\n\r\n if (ObjectHelper.isUndefinedOrNull(fieldsForValidation) && fieldsForValidation.length === 0) {\r\n return true;\r\n }\r\n\r\n const validations = [\r\n ...fieldsForValidation.map((field) => {\r\n return isRequiredPropertyValid(addErrorAction, field.propertyName, field.value, field.errorMessage, field.validate || validateRequired);\r\n })\r\n ];\r\n\r\n return validations.every(x => x);\r\n};\r\n\r\nconst isRequiredPropertyValid = (addErrorAction: Handler.Action2, propertyName: string, value: string | number | Object, errorMessage: string, validate: (value: string | number | Object) => boolean): boolean => {\r\n\r\n const result = validate(value);\r\n\r\n if (!result) {\r\n addErrorAction(propertyName, errorMessage);\r\n }\r\n\r\n return result;\r\n};\r\n\r\nconst validateRequired = (value: string | number | Object): boolean => {\r\n let result = true;\r\n\r\n switch (typeof value) {\r\n case 'string':\r\n result = !StringHelper.isUndefinedNullOrEmpty(value as string);\r\n break;\r\n case 'number':\r\n result = !NumberHelper.isUndefinedNullOrZero(value as number);\r\n break;\r\n case 'object':\r\n result = Array.isArray(value) ? value.length > 0 : !ObjectHelper.isUndefinedOrNull(value as Object);\r\n break;\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport {\r\n areRequiredPropertiesValid,\r\n isRequiredPropertyValid,\r\n objectToFormData,\r\n preventFormSubmit\r\n};\r\n","// Utility References\r\nimport { StatusIndicator } from 'Utility/IndexOfEnums';\r\n\r\nexport function getBackgroundStateStyle(statusIndicator: number): string {\r\n\r\n let gridDataRow = 'grid-data-row';\r\n\r\n if (statusIndicator === StatusIndicator.Danger) {\r\n gridDataRow = `${gridDataRow} danger`;\r\n }\r\n\r\n if (statusIndicator === StatusIndicator.Warning) {\r\n gridDataRow = `${gridDataRow} warning`;\r\n }\r\n\r\n if (statusIndicator === StatusIndicator.Success) {\r\n gridDataRow = `${gridDataRow} success`;\r\n }\r\n\r\n return gridDataRow;\r\n}\r\n"," import { IApiItemOptionViewModel } from '../IndexOfInterfaces';\r\n\r\n export function getSelectedOptionItem(selectElement: HTMLSelectElement): IApiItemOptionViewModel {\r\n\r\n const value = selectElement.value;\r\n const text = ((selectElement.options as HTMLCollection)[selectElement.selectedIndex] as HTMLOptionElement).text;\r\n\r\n return { text, value };\r\n}\r\n\r\n export const getHtmlInputTypes = () => {\r\n\r\n return {\r\n email: 'email',\r\n tel: 'tel',\r\n url: 'url'\r\n };\r\n};\r\n"," import { IApiItemOptionViewModel } from '../IndexOfInterfaces';\r\n import { Notification } from '../IndexOfServices';\r\n\r\n// Direct References\r\n import { StringArrayHelper } from './ArrayHelper';\r\n\r\n const itemOptionHelper = (itemOptions: IApiItemOptionViewModel[]) => {\r\n\r\n (() => {\r\n\r\n if (!itemOptions) {\r\n Notification.error.throw('Utility Code - ItemOptionHelper', 'Creation', 'Argument Null Exception: items');\r\n }\r\n\r\n })();\r\n\r\n const assertAllItemsUnique = (): void => {\r\n\r\n const allValuesUnique = StringArrayHelper(itemOptions.map(x => x.value)).checkAllValuesUnique();\r\n\r\n if (!allValuesUnique) {\r\n Notification.error.throw('Utility Code - ItemOptionHelper',\r\n 'Check All Options Unique',\r\n `Duplicate Value Found in ItemOptions - 1st item ${itemOptions[0].text}`);\r\n }\r\n\r\n //TODOxUI: We should re-enable this once our data structures/validations prohibit duplicate items.\r\n //There should be no scenarios where a user has to select from a list containing repeated values.\r\n //To avoid this, concat more values to select text: e.g. Main Street - Edinburgh, Main Street - Glasgow\r\n /*const allTextUnique = StringArrayHelper(itemOptions.map(x => x.text)).checkAllValuesUnique();\r\n\r\n if (!allTextUnique) {\r\n Notification.error.throw('Utility Code - ItemOptionHelper',\r\n 'Check All Options Unique',\r\n `Duplicate Text Found in ItemOptions - 1st item ${itemOptions[0].text}`);\r\n }*/\r\n };\r\n\r\n const setOptionValuesFromOptionText = (): IApiItemOptionViewModel[] => {\r\n\r\n itemOptions.forEach((option: IApiItemOptionViewModel) => {\r\n\r\n option.value = option.text;\r\n });\r\n\r\n return itemOptions;\r\n };\r\n\r\n return {\r\n assertAllItemsUnique,\r\n setOptionValuesFromOptionText\r\n };\r\n};\r\n\r\n export {\r\n itemOptionHelper as ItemOptionHelper\r\n};\r\n","// 3rd Party References\r\nimport * as React from 'react';\r\n\r\n// Internal Functions\r\ninterface INumberRange {\r\n start: number;\r\n end: number;\r\n}\r\n\r\n// Codes from http://www.asciitable.com/ HTML column\r\nconst keyCodeInfo = {\r\n alphaLowerCaseRange: {\r\n start: 97,\r\n end: 122\r\n },\r\n alphaUpperCaseRange: {\r\n start: 65,\r\n end: 90\r\n },\r\n enterKey: 13,\r\n lowerCaseLetterEKey: 101,\r\n negativeKey: 45,\r\n numberKeyRange: {\r\n start: 48,\r\n end: 57\r\n },\r\n periodKey: 46,\r\n plusKey: 43,\r\n spaceKey: 32,\r\n upperCaseLetterEKey: 69\r\n};\r\n\r\nconst keyCodeChecker = (event: React.KeyboardEvent) => {\r\n\r\n const actualKeyCode = event.keyCode || event.charCode;\r\n\r\n const isInRange = (numberRange: INumberRange): boolean => {\r\n return actualKeyCode >= numberRange.start && actualKeyCode <= numberRange.end;\r\n };\r\n\r\n return {\r\n isInRange,\r\n isInRanges: (numberRanges: INumberRange[]): boolean => {\r\n return numberRanges.some((numberRange: INumberRange) => isInRange(numberRange));\r\n },\r\n isMatch: (expectedKeyCode: number): boolean => {\r\n return actualKeyCode === expectedKeyCode;\r\n }\r\n };\r\n};\r\n\r\n// Exported Functions\r\n\r\nexport function delayCallback(): (callback: () => void, ms: number) => void {\r\n\r\n // This is required, resharper doesn't seem to see the usage\r\n // ReSharper disable once UnusedLocals\r\n const timer: number = 0;\r\n\r\n return (callback: () => void , ms: number) => {\r\n\r\n clearTimeout(this.timer);\r\n\r\n this.timer = setTimeout(callback, ms);\r\n };\r\n}\r\n\r\nexport function isAlphanumericEditingKey(event: React.KeyboardEvent): boolean {\r\n\r\n return isAlphaKeyPress(event) || isNumericKeyPress(event) || isEnterKeyPress(event);\r\n}\r\n\r\nexport function isAlphaKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isInRanges([keyCodeInfo.alphaUpperCaseRange, keyCodeInfo.alphaLowerCaseRange]);\r\n}\r\n\r\nexport function isEnterKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isMatch(keyCodeInfo.enterKey);\r\n}\r\n\r\nexport function isNumericKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isInRange(keyCodeInfo.numberKeyRange);\r\n}\r\n\r\nexport function isNumericOrEnterKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isInRange(keyCodeInfo.numberKeyRange) || keyCodeChecker(event).isMatch(keyCodeInfo.enterKey);\r\n}\r\n\r\nexport function isSpaceKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isMatch(keyCodeInfo.spaceKey);\r\n}\r\n\r\nexport function isPeriodKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isMatch(keyCodeInfo.periodKey);\r\n}\r\n\r\nexport function isNegativeKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isMatch(keyCodeInfo.negativeKey);\r\n}\r\n\r\nexport function isPlusKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n return keyCodeChecker(event).isMatch(keyCodeInfo.plusKey);\r\n}\r\n\r\nexport function isLetterEKeyPress(event: React.KeyboardEvent): boolean {\r\n\r\n const checker = keyCodeChecker(event);\r\n\r\n return checker.isMatch(keyCodeInfo.lowerCaseLetterEKey) || checker.isMatch(keyCodeInfo.upperCaseLetterEKey);\r\n}\r\n\r\n// Model Specific Functions Below\r\n//TODOxUI: Move this to SimpleVRMInput when it is the only one remaining.\r\n\r\n/**\r\n * Handles the rules for allowed chars in registration number input\r\n * @param event Event from a KeyPress event.\r\n */\r\nexport function isRegNumberInputAllowedKey(event: React.KeyboardEvent): boolean {\r\n\r\n return isAlphanumericEditingKey(event);\r\n}\r\n","// Utility References\r\nimport { GridColumnType, GridColumnWidth } from '../IndexOfEnums';\r\nimport { IGridColumnNameSet, IStyleWidth } from '../IndexOfInterfaces';\r\n\r\nexport function getColumnTypeClass(gridColumnType: GridColumnType): string {\r\n\r\n if (!gridColumnType) {\r\n return '';\r\n }\r\n\r\n switch (gridColumnType) {\r\n //case GridColumnType.Any: // TODOxUI: Try to get this back in as it errors\r\n case GridColumnType.Action:\r\n return 'action';\r\n case GridColumnType.Boolean:\r\n case GridColumnType.String:\r\n default:\r\n return '';\r\n case GridColumnType.Currency:\r\n return 'currency';\r\n case GridColumnType.Number:\r\n return 'numeric';\r\n }\r\n}\r\n\r\nexport function getColumnStyleWidthFromSet(gridColumnNameSet: IGridColumnNameSet): IStyleWidth {\r\n\r\n if (!gridColumnNameSet || !gridColumnNameSet.columnWidth) {\r\n return null;\r\n }\r\n\r\n return getColumnStyleWidth(gridColumnNameSet.columnWidth);\r\n}\r\n\r\nexport function getColumnStyleWidth(gridColumnWidth: GridColumnWidth): IStyleWidth {\r\n\r\n switch (gridColumnWidth) {\r\n\r\n case GridColumnWidth.NotSet:\r\n case GridColumnWidth.Tiny:\r\n return { minWidth: '55px' };\r\n case GridColumnWidth.BetweenTinyAndShort:\r\n return { minWidth: '80px' };\r\n case GridColumnWidth.Time:\r\n case GridColumnWidth.YesNo:\r\n case GridColumnWidth.Short:\r\n return { minWidth: '110px' };\r\n case GridColumnWidth.BetweenShortAndMedium:\r\n return { minWidth: '130px' };\r\n case GridColumnWidth.Day:\r\n case GridColumnWidth.Date:\r\n return { minWidth: '140px' };\r\n case GridColumnWidth.DateAndTime:\r\n case GridColumnWidth.Medium:\r\n return { minWidth: '160px' };\r\n case GridColumnWidth.BetweenMediumAndLong:\r\n return { minWidth: '190px' };\r\n case GridColumnWidth.Long:\r\n return { minWidth: '220px' };\r\n case GridColumnWidth.ExtraLong:\r\n return { minWidth: '260px' };\r\n case GridColumnWidth.FixedBetweenMediumAndLong:\r\n return { minWidth: '190px', width: '200px' };\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nexport function sortIconPositionedRight(gridColumnType: GridColumnType): boolean {\r\n\r\n if (!gridColumnType) {\r\n return true;\r\n }\r\n\r\n switch (gridColumnType) {\r\n //case GridColumnType.Any: // TODOxUI: Try to get this back in as it errors\r\n case GridColumnType.Boolean:\r\n case GridColumnType.String:\r\n default:\r\n return true;\r\n case GridColumnType.Currency:\r\n return false;\r\n case GridColumnType.Number:\r\n return false;\r\n }\r\n}\r\n\r\nexport function toggleSiteCompression(hasSiteCompression: boolean, isToggleOn: boolean): void {\r\n\r\n if (hasSiteCompression) {\r\n\r\n const siteCompressionClassName = 'site-compression';\r\n\r\n if (isToggleOn) {\r\n\r\n document.body.classList.add(siteCompressionClassName);\r\n } else {\r\n\r\n document.body.classList.remove(siteCompressionClassName);\r\n }\r\n }\r\n}\r\n","const clearStorage = (): void => {\r\n\r\n localStorage.clear();\r\n};\r\n\r\nconst removeItem = (key: string): void => {\r\n\r\n localStorage.removeItem(key);\r\n};\r\n\r\nconst retrieveNumber = (key: string): number => {\r\n\r\n const value = retrieveString(key);\r\n return value && parseInt(value, 10);\r\n};\r\n\r\nconst retrieveObject = (key: string): any => {\r\n\r\n const value = retrieveString(key);\r\n return value && JSON.parse(value);\r\n};\r\n\r\nconst retrieveString = (key: string, valueIfNull?: string): string => {\r\n\r\n const result = localStorage.getItem(key);\r\n return result || valueIfNull || null;\r\n};\r\n\r\nconst storeNumber = (key: string, value: number): void => {\r\n\r\n storeString(key, value.toString());\r\n};\r\n\r\nconst storeObject = (key: string, value: any): void => {\r\n\r\n storeString(key, JSON.stringify(value));\r\n};\r\n\r\nconst storeString = (key: string, value: string): void => {\r\n\r\n localStorage.setItem(key, value);\r\n};\r\n\r\nconst localStorageHelper = {\r\n clearStorage,\r\n removeItem,\r\n retrieveNumber,\r\n retrieveObject,\r\n retrieveString,\r\n storeNumber,\r\n storeObject,\r\n storeString\r\n};\r\n\r\nexport { localStorageHelper as LocalStorageHelper };\r\n","export const modelConstants = {\r\n vinLength: 17\r\n};\r\n\r\nexport function isValidVin(value: string) {\r\n\r\n return value.length === modelConstants.vinLength;\r\n}\r\n","// Utility References\r\nimport { ObjectHelper } from 'Utility/IndexOfHelpers';\r\n\r\nexport function valueIsUndefinedOrNullOrNan(value: number) {\r\n\r\n return value === undefined || value === null || isNaN(value);\r\n}\r\n\r\nexport const isUndefinedNullOrZero = (value: number): boolean => {\r\n\r\n return value === undefined || value == null || value === 0;\r\n};\r\n\r\nexport function roundTo(numberToRound: number, decimalPlaces: number): number {\r\n\r\n if (valueIsUndefinedOrNullOrNan(numberToRound)) {\r\n return null;\r\n }\r\n\r\n const multiplier = Math.pow(10, decimalPlaces);\r\n\r\n return Math.round(numberToRound * multiplier) / multiplier;\r\n}\r\n\r\nexport function toMoneyDisplay(value: number, decimalPlaces?: number): string {\r\n\r\n if (value === 0) {\r\n return '0';\r\n }\r\n\r\n return value !== undefined && value !== null ? (roundTo(value, decimalPlaces || 2)).toFixed(decimalPlaces || 2) : '';\r\n}\r\n\r\nexport function adjustForNegatives(allowNegatives: boolean, value: number): number {\r\n\r\n if (value === undefined || value === null) {\r\n return null;\r\n }\r\n\r\n const shouldInvertNegativeValue = !allowNegatives && value < 0;\r\n\r\n if (shouldInvertNegativeValue) {\r\n return value * -1;\r\n }\r\n\r\n return value;\r\n}\r\n\r\nexport function calculateTaxAmount(amount: number, rate: number) {\r\n return parseFloat((amount * (rate / 100)).toFixed(2));\r\n}\r\n\r\nexport function isInt(value: number) {\r\n\r\n return (typeof value === 'number' && (value % 1) === 0);\r\n}\r\n\r\nexport const maxInt16 = (): number => {\r\n return 32767;\r\n};\r\n\r\nexport const maxInt32 = (): number => {\r\n return 2147483647;\r\n};\r\n\r\nexport const maxMoney = (): number => {\r\n return 922337203685477.5807 ;\r\n};\r\n\r\nexport function percentageDifference(comparison: number, total: number, decimalPlaces?: number) {\r\n\r\n if (comparison === undefined || comparison === null || total === undefined || total === null) {\r\n return null;\r\n }\r\n\r\n let result = (100 - ((comparison / total) * 100)) * -1;\r\n\r\n if (decimalPlaces) {\r\n result = this.roundTo(result, decimalPlaces);\r\n }\r\n\r\n if (comparison > total) {\r\n return `+${result}`;\r\n }\r\n\r\n return result;\r\n}\r\n","// Direct Reference\r\nimport * as StringHelper from './StringHelper';\r\n\r\n/**\r\n * Uses JSON or JQuery to convert object to string then back to object for deep cloning objects.\r\n * @param obj Object to be cloned\r\n */\r\nexport function deepClone(obj: TModel): TModel {\r\n\r\n if (obj === undefined || obj === null) {\r\n return null;\r\n }\r\n\r\n const functionFound = containsFunctionProperty(obj);\r\n\r\n if (functionFound) {\r\n return merge({} as TModel, obj);\r\n }\r\n\r\n return JSON.parse(JSON.stringify(obj));\r\n}\r\n\r\nconst containsFunctionProperty = (obj: any): boolean => {\r\n\r\n for (const propName in obj) {\r\n\r\n if (obj.hasOwnProperty(propName)) {\r\n\r\n const property = obj[propName];\r\n\r\n if (typeof property === 'function') {\r\n\r\n return true;\r\n\r\n } else if (typeof property === 'object') {\r\n\r\n if (containsFunctionProperty(property)) {\r\n\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\n// TODOxUI: Get rid of this dirty little hack to fool R#\r\nconst assign = (Object as any).assign;\r\n\r\n/**\r\n * Uses deepClone for merging objects.\r\n * @param targetObj Target Object to be updated\r\n * @param sourceObject Source Object with values to be applied\r\n */\r\nexport function merge(targetObject: TModel, sourceObject: TModelOrBase): TModel {\r\n\r\n const isTargetMissing = targetObject === undefined || targetObject === null;\r\n const isSourceMissing = sourceObject === undefined || sourceObject === null;\r\n\r\n const getTargetObjectClone = () => deepClone(targetObject);\r\n const getSourceObjectClone = () => deepClone(sourceObject);\r\n\r\n if (isTargetMissing && isSourceMissing) {\r\n\r\n return null;\r\n\r\n } else if (isTargetMissing) {\r\n\r\n return assign({}, getSourceObjectClone()) as TModel;\r\n\r\n } else if (isSourceMissing) {\r\n\r\n return assign({}, getTargetObjectClone());\r\n\r\n } else {\r\n\r\n return assign({}, getTargetObjectClone(), getSourceObjectClone());\r\n }\r\n}\r\n\r\nexport function keysToLabels(obj: Object): string[] {\r\n\r\n return Object.keys(obj).map((key) => {\r\n return StringHelper.toTitleCase(key);\r\n });\r\n}\r\n\r\n/**\r\n * Gets property values from a property using bracket notation\r\n * @param obj\r\n * @param prop\r\n */\r\nexport function fetchFromObject(obj: any, prop: string): string {\r\n\r\n if (typeof (obj) === 'undefined') {\r\n return '';\r\n }\r\n\r\n const index = prop.indexOf('.');\r\n\r\n if (index > -1) {\r\n return fetchFromObject(obj[prop.substring(0, index)], prop.substr(index + 1));\r\n }\r\n\r\n return obj[prop];\r\n}\r\n\r\n/**\r\n * Sets property values to a property using bracket notation\r\n * @param obj\r\n * @param prop\r\n * @param value\r\n */\r\nexport function setToObject(obj: any, prop: string, value: any): void {\r\n\r\n if (typeof (obj) === 'undefined') {\r\n return;\r\n }\r\n\r\n const index = prop.indexOf('.');\r\n\r\n if (index > -1) {\r\n\r\n if (!obj[prop.substring(0, index)]) {\r\n obj[prop.substring(0, index)] = {};\r\n }\r\n\r\n setToObject(obj[prop.substring(0, index)], prop.substr(index + 1), value);\r\n return;\r\n }\r\n\r\n obj[prop] = value;\r\n}\r\n\r\n/**\r\n * Gets the property name from an objects property\r\n * @param propertyFunction\r\n */\r\nexport function getPropertyName(propertyFunction: any): string {\r\n return /\\.([^\\.;]+);?\\s*\\}$/.exec(propertyFunction.toString())[1];\r\n}\r\n\r\nexport function isUndefinedOrNull(value: any): boolean {\r\n\r\n return value === undefined || value === null;\r\n}\r\n","// Utility References\r\nimport { IApiPaginationOptions } from '../IndexOfInterfaces';\r\n\r\nconst getPaginationOptionForSinglePageView = (): IApiPaginationOptions => {\r\n\r\n return {\r\n maxVisiblePageButtons: 1,\r\n pageNumber: 1,\r\n pageSize: 9999\r\n };\r\n};\r\n\r\nconst paginationHelper = {\r\n getPaginationOptionForSinglePageView\r\n};\r\n\r\nexport { paginationHelper as PaginationHelper };\r\n","// 3rd Party References\r\nimport * as React from 'react';\r\n\r\n// Utility References\r\nimport { Handler } from '../IndexOfActions';\r\nimport { IDictionary } from '../IndexOfInterfaces';\r\n\r\n/**\r\n * Shim to allow adding Aria or Data Attributes to React Prop Objects.\r\n * @param htmlPropObj React HTML Prop Object to be updated\r\n */\r\nconst setAttribute = (htmlPropObj: React.HTMLProps) => {\r\n\r\n const internalSetAttribute = (attributeName: string, attributeValue: string): React.HTMLProps => {\r\n\r\n ((htmlPropObj as Handler.AnyForInterop) as IDictionary)[attributeName] = attributeValue;\r\n return htmlPropObj;\r\n };\r\n\r\n return {\r\n /**\r\n * Add Aria Attributes.\r\n * @param name attribute name\r\n * @param value attribute value\r\n */\r\n aria: (name: string, value: string): React.HTMLProps => internalSetAttribute(name, value),\r\n /**\r\n * Add Data Attributes.\r\n * @param name attribute name\r\n * @param value attribute value\r\n */\r\n data: (name: string, value: string): React.HTMLProps => internalSetAttribute(name, value)\r\n };\r\n};\r\n\r\nconst reactHelper = {\r\n setAttribute\r\n};\r\n\r\nexport { reactHelper as ReactHelper };\r\n"," import { Action } from 'redux-actions';\r\n\r\n// Utility References\r\n import * as ObjectHelper from './ObjectHelper';\r\n\r\n const actionWrapper = (state: TState, action: Action, func: (newState: TState, action: Action) => void) => {\r\n\r\n const newState = ObjectHelper.deepClone(state);\r\n func(newState, action);\r\n return newState;\r\n};\r\n\r\n const reduxHelper = {\r\n actionWrapper\r\n};\r\n\r\n export {\r\n reduxHelper as ReduxHelper\r\n};\r\n","// Utility References\r\n//import { } from '../IndexOfHelpers';\r\nimport { Routing } from '../IndexOfInterfaces';\r\n\r\nconst returnDelimiter = '<';\r\n\r\nexport const routePattern = '(/:returnRequired/)*';\r\n\r\nexport const addToUrl = (url: string, returnUrl: string): string => {\r\n\r\n if (returnUrl) {\r\n\r\n return `${url}/${returnDelimiter}${returnUrl}`;\r\n\r\n } else {\r\n\r\n return url;\r\n }\r\n};\r\n\r\nexport const extractParam = (params: Routing.IBaseParamProps, routeParams: Routing.IBaseRouteParamProps): string => {\r\n\r\n return !!params.splat && routeParams.returnRequired === returnDelimiter ? params.splat : null;\r\n};\r\n","// 3rd Party References\r\nimport { Route } from 'react-router-dom';\r\n\r\n// Utility References\r\n//import { } from '../IndexOfInterfaces';\r\n\r\nexport const correctLocalUrls = (href: string): string => {\r\n\r\n return href.indexOf('#') > -1 ? href : `#/${href}`;\r\n};\r\n\r\nconst getQueryString = () => {\r\n\r\n const href = window.location.href;\r\n\r\n if (!href) {\r\n return null;\r\n }\r\n\r\n const urlParts = href.split('#');\r\n\r\n if (!urlParts || urlParts.length < 2) {\r\n return null;\r\n }\r\n\r\n return urlParts[1];\r\n};\r\n\r\nconst getQueryParametersAsKeyValuePairs = () => {\r\n\r\n return getQueryString()\r\n .split('&')\r\n .map(parameterToken => {\r\n\r\n const [key, value] = parameterToken.split('=');\r\n return { key, value };\r\n });\r\n};\r\n\r\nexport const getQueryParameterValue = (parameterName: string) => {\r\n\r\n const internalGetQueryParameterValue = (): string => {\r\n\r\n const matchedParameterKeyValuePairs = getQueryParametersAsKeyValuePairs()\r\n .filter(keyValuePair => keyValuePair.key === parameterName);\r\n\r\n if (matchedParameterKeyValuePairs.length !== 1) {\r\n return null;\r\n }\r\n\r\n return matchedParameterKeyValuePairs[0].value;\r\n };\r\n\r\n return {\r\n asNumber: (): number => {\r\n\r\n const value = internalGetQueryParameterValue();\r\n\r\n if (value === null) {\r\n return null;\r\n }\r\n\r\n const valueAsNumber = parseInt(value, 10);\r\n\r\n return isNaN(valueAsNumber) ? null : valueAsNumber;\r\n },\r\n asString: internalGetQueryParameterValue\r\n };\r\n};\r\n","import { IApiItemOptionViewModel } from 'Utility/IndexOfInterfaces';\r\nimport { maxInt16 } from './NumberHelper';\r\n\r\nexport const notApplicableValue = maxInt16();\r\n\r\nexport function addNotApplicable(toolCollection: IApiItemOptionViewModel[]): void {\r\n\r\n if (toolCollection.filter(x => x.value === maxInt16().toString()).length === 0) {\r\n toolCollection.push({\r\n text: 'N/A',\r\n value: maxInt16().toString()\r\n });\r\n }\r\n}\r\n","//e.g. Converts 'My Text Input' to 'myTextInput'\r\nexport function toCamelCase(value: string): string {\r\n\r\n const pascalCased = toPascalCase(value);\r\n return pascalCased[0].toLowerCase() + pascalCased.slice(1);\r\n}\r\n\r\n//e.g. Converts 'My Text Input' to 'my-text-input'\r\nexport function toHyphenDelimitedIdentifier(value: string): string {\r\n\r\n const matchesAgainstFormat = value.match(/^[a-z-]+$/);\r\n const alreadyInFormat = !!matchesAgainstFormat;\r\n\r\n if (alreadyInFormat) {\r\n return value;\r\n }\r\n\r\n const pascalCased = toPascalCase(value);\r\n const titleCased = toTitleCase(pascalCased);\r\n return titleCased.replace(/\\s+/g, '-').toLowerCase();\r\n}\r\n\r\n//e.g. Converts 'myTextInput' to 'MyTextInput'\r\nexport function toPascalCase(value: string): string {\r\n\r\n return value.replace(/\\w+/g, w => (w[0].toUpperCase() + w.slice(1)))\r\n .replace(/\\s+/g, '')\r\n .replace(/-+/g, '')\r\n .replace(/(Id(?![a-z]))/g, 'ID'); // Matches [MyId | Id | MyIdWord] but not [MyIdentification]\r\n}\r\n\r\n//e.g. Converts 'myTextInput' to 'My text input'\r\nexport function toSentenceCase(value: string): string {\r\n\r\n const lowerCased = toTitleCase(value).toLowerCase();\r\n return lowerCased[0].toUpperCase() + lowerCased.slice(1);\r\n}\r\n\r\n//e.g. Converts 'myTextInput' to 'My Text Input'\r\nexport function toTitleCase(value: string): string {\r\n\r\n return toPascalCase(value)\r\n .replace(/(ID)/g, '@id@')\r\n .replace(/([A-Z])/g, ' $1')\r\n .replace(/(@id@)/g, ' ID')\r\n .trim();\r\n}\r\n\r\n//e.g. Converts 'myTextInputId' to 'My Text Input'\r\nexport function toLabelFormat(value: string): string {\r\n\r\n const titleCasedValue = toTitleCase(value);\r\n const endsWithId = titleCasedValue.slice(-3) === ' ID';\r\n\r\n if (endsWithId) {\r\n return titleCasedValue.slice(0, -3);\r\n }\r\n\r\n return titleCasedValue;\r\n}\r\n\r\nexport function hasSpecialChars(stringToTest: string): boolean {\r\n\r\n //TODOxUI We need to be clearer on what exactly are \"special chars\"\r\n const specialCharsRegex: RegExp = new RegExp('[!@#\\$%\\^\\£&*\\)\\(+=._-]');\r\n return specialCharsRegex.test(stringToTest);\r\n}\r\n\r\nexport function hasWhiteSpace(stringToTest: string): boolean {\r\n\r\n return (stringToTest.indexOf(' ') > -1);\r\n}\r\n\r\nexport function newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\nexport function isUndefinedNullOrEmpty(stringToTest: string): boolean {\r\n return stringToTest === undefined || stringToTest === null || stringToTest === '';\r\n}\r\n\r\nexport const emailRegExPattern = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n\r\nexport function isValidEmailAddress(stringToTest: string): boolean {\r\n\r\n return stringToTest.match(emailRegExPattern) !== null || stringToTest.match(emailRegExPattern) && stringToTest.match(emailRegExPattern).length > 0;\r\n}\r\n\r\nexport function pluralize(count: number, noun: string, suffix: string = 's'): string {\r\n return `${noun}${count !== 1 ? suffix : ''}`;\r\n}\r\n\r\nexport function isMatch(stringOne: string, stringTwo: string, caseSensitive: boolean = false) {\r\n if (!caseSensitive) {\r\n stringOne = stringOne.toLowerCase();\r\n stringTwo = stringTwo.toLowerCase();\r\n }\r\n\r\n return stringOne === stringTwo;\r\n}\r\n\r\nexport function isRegexMatch(value: string, pattern: string): boolean {\r\n\r\n return value.match(pattern) !== null || value.match(pattern) && value.match(pattern).length > 0;\r\n}\r\n\r\nexport function padLeft(sourceString, targetLength, padString) {\r\n\r\n if (isUndefinedNullOrEmpty(sourceString)) {\r\n return sourceString;\r\n }\r\n\r\n targetLength = targetLength >> 0;\r\n padString = isUndefinedNullOrEmpty(padString) ? '' : padString;\r\n\r\n if (sourceString.length >= targetLength) {\r\n return sourceString;\r\n }\r\n\r\n targetLength = targetLength - sourceString.length;\r\n\r\n if (targetLength > padString.length) {\r\n padString += padString.repeat(targetLength / padString.length);\r\n }\r\n\r\n return padString.slice(0, targetLength) + sourceString;\r\n}\r\n\r\nexport function isInRange(value: string, min: number, max: number): boolean {\r\n\r\n return value.length >= min && value.length <= max;\r\n}\r\n","\r\nexport function getIconForSpinner(processing: boolean): string {\r\n\r\n let className = 'fa fa-plus';\r\n\r\n if (processing) {\r\n className = 'fa fa-refresh spinning';\r\n }\r\n\r\n return className;\r\n}\r\n\r\nconst kioskViewMode = {\r\n activate: () => {\r\n document.getElementById('header').style.display = 'none';\r\n },\r\n deactivate: () => {\r\n document.getElementById('header').style.display = 'block';\r\n }\r\n};\r\n\r\nexport { kioskViewMode as KioskViewMode };\r\n","// 3rd Party\r\nimport * as React from 'react';\r\n\r\n// Utility References\r\n//import { } from 'Utility/IndexOfComponents';\r\nimport { TimeOfDayCategory } from 'Utility/IndexOfEnums';\r\nimport { IApiItemOptionViewModel } from 'Utility/IndexOfInterfaces';\r\nimport { DateConverter } from 'Utility/IndexOfModels';\r\n\r\n// App References\r\n//import { } from 'App/IndexOfInterfaces';\r\n//import { } from 'App/IndexOfModels';\r\n\r\n// Private Functions\r\n\r\nconst enumRequiresTimeValue = (timeOfDayId: number): boolean => {\r\n return timeOfDayId === TimeOfDayCategory.Time;\r\n};\r\n\r\nconst getTimePeriod = (timePeriods: IApiItemOptionViewModel[], selectedId: number) => {\r\n return timePeriods.filter(x => x.value === selectedId.toString())[0];\r\n};\r\n\r\n// Public Functions\r\n\r\nconst optionRequiresTimeValue = (timePeriods: IApiItemOptionViewModel[], selectedTimeOfDayId: number): boolean => {\r\n\r\n if (selectedTimeOfDayId) {\r\n\r\n const timePeriod = getTimePeriod(timePeriods, selectedTimeOfDayId);\r\n const timeOfDayId = parseInt(timePeriod.value, 10);\r\n return enumRequiresTimeValue(timeOfDayId);\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst removeFromOptions = (timePeriods: IApiItemOptionViewModel[], timePeriodToExclude: TimeOfDayCategory): IApiItemOptionViewModel[] => {\r\n return timePeriods.filter(i => i.value !== timePeriodToExclude.toString());\r\n};\r\n\r\nconst convertOptionToText = (timePeriods: IApiItemOptionViewModel[], selectedTimeOfDayId: number, timeValue?: Date): string => {\r\n\r\n const timePeriod = getTimePeriod(timePeriods, selectedTimeOfDayId);\r\n\r\n const justText = !timeValue || !optionRequiresTimeValue(timePeriods, selectedTimeOfDayId);\r\n\r\n if (justText) {\r\n return timePeriod.text;\r\n }\r\n\r\n return DateConverter(timeValue).to24HrTimeDisplay();\r\n};\r\n\r\nconst timeOfDayHelper = {\r\n convertOptionToText,\r\n optionRequiresTimeValue,\r\n removeFromOptions\r\n};\r\n\r\nexport { timeOfDayHelper as TimeOfDayHelper };\r\n","// Utility References\r\nimport * as ObjectHelper from './ObjectHelper';\r\nimport * as StringHelper from './StringHelper';\r\n\r\ninterface ILanguageArray {\r\n keyLanguage: string;\r\n translationList: [{ key: string; value: string; }];\r\n}\r\n\r\nclass TranslationFunctions {\r\n\r\n static getTrans = (reqKey: string, keyLanguage: string): string => {\r\n\r\n let result = reqKey;\r\n\r\n if (StringHelper.isUndefinedNullOrEmpty(reqKey)) {\r\n return result;\r\n }\r\n\r\n if (StringHelper.isUndefinedNullOrEmpty(keyLanguage)) {\r\n keyLanguage = 'en-GB';\r\n }\r\n\r\n const languageArray = ((window as any).languageArray as ILanguageArray[]);\r\n\r\n if (ObjectHelper.isUndefinedOrNull(languageArray)) {\r\n return result;\r\n }\r\n\r\n const translatedKeys = languageArray.find(x => x.keyLanguage === keyLanguage);\r\n\r\n if (ObjectHelper.isUndefinedOrNull(translatedKeys) || ObjectHelper.isUndefinedOrNull(translatedKeys.translationList)) {\r\n return result;\r\n }\r\n\r\n const translatedMatch = translatedKeys.translationList && translatedKeys.translationList.find(x => x.key === reqKey);\r\n\r\n if (translatedMatch) {\r\n result = translatedMatch.value;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nconst translate = (key: string, defaultValue?: string): string => {\r\n\r\n const keyLanguage = (window as any).currentCulture;\r\n const translatedValue = TranslationFunctions.getTrans(key, keyLanguage);\r\n\r\n return translatedValue ? translatedValue : (defaultValue ? defaultValue : key);\r\n};\r\n\r\nconst dictionary = {\r\n Address: translate('Address'),\r\n Amount: translate('Amount'),\r\n Any: translate('Any'),\r\n Authorised: translate('Authorized'),\r\n BillTo: translate('Bill To'),\r\n Charge: translate('Charge'),\r\n Day: translate('day'),\r\n Download: translate('Download'),\r\n Email: translate('Email'),\r\n GstHst: translate('GST/HST'),\r\n Item: translate('Item'),\r\n Name: translate('Name'),\r\n NoAddress: translate('No Address'),\r\n NoData: translate('No Data'),\r\n NoOptionsAvailable: translate('No Options Available'),\r\n Notes: translate('Notes'),\r\n PleaseReselect: translate('Please reselect.'),\r\n PleaseSelect: translate('Please select'),\r\n PostalCode: translate('Postal Code'),\r\n Price: translate('Price'),\r\n Property: translate('Property'),\r\n Qst: translate('QST'),\r\n Qty: translate('Qty'),\r\n SelectAll: translate('Select all'),\r\n SubTotal: translate('Sub Total'),\r\n TaxAmount: translate('Tax Amount'),\r\n Telephone: translate('Telephone'),\r\n TotalAmount: translate('Total Amount'),\r\n Unauthorised: translate('Unauthorized'),\r\n ValueIsNowInvalid: translate('Value is not invalid.')\r\n};\r\n\r\nexport {\r\n dictionary as CommonDictionary,\r\n translate\r\n};\r\n"," import * as ActionHandlers from './Actions/ActionHandlers';\r\n export * from './Actions/CommonExceptions';\r\n\r\n import * as NavigationActions from './Actions/NavigationActions';\r\n\r\n export * from './Actions/WorkflowActions';\r\n export * from './Actions/WorkflowReducer';\r\n\r\n export {\r\n ActionHandlers as Handler,\r\n NavigationActions\r\n};\r\n","export * from './Enums/AjaxEnums';\r\nexport * from './Enums/ButtonEnums';\r\nexport * from './Enums/CalloutEnums';\r\nexport * from './Enums/DaysOfWeek';\r\nexport * from './Enums/DownloadTypeEnums';\r\nexport * from './Enums/LayoutEnums';\r\nexport * from './Enums/NavigationEnums';\r\nexport * from './Enums/NotesEnum';\r\nexport * from './Enums/PanelSize';\r\nexport * from './Enums/RouteViewType';\r\nexport * from './Enums/StatusIndicator';\r\nexport * from './Enums/TimeOfDayCategory';\r\n\r\nimport * as TextAlignment from './Enums/TextAlignmentModule';\r\nexport { TextAlignment };\r\n","// ReSharper disable InconsistentNaming\r\nimport * as AnimationHelper from './Helpers/AnimationHelper';\r\nimport * as ArrayHelper from './Helpers/ArrayHelper';\r\nexport * from './Helpers/AuthenticationHelper';\r\nimport * as AjaxHelper from './Helpers/AjaxHelper';\r\nimport * as ButtonHelper from './Helpers/ButtonHelper';\r\nimport * as CollectionHelper from './Helpers/CollectionHelper';\r\nimport * as CultureHelper from './Helpers/CultureHelper';\r\nimport * as DateHelper from './Helpers/DateHelper';\r\nimport * as DebugHelper from './Helpers/DebugHelper';\r\nexport * from './Helpers/DictionaryHelper';\r\nimport * as ExceptionHelper from './Helpers/ExceptionHelper';\r\nimport * as FormControlHelper from './Helpers/FormControlHelper';\r\nimport * as FormHelper from './Helpers/FormHelper';\r\nimport * as GridRowHelper from './Helpers/GridRowHelper';\r\nimport * as HTMLHelper from './Helpers/HtmlHelper';\r\nexport * from './Helpers/ItemOptionHelper';\r\nimport * as KeyboardEventHelper from './Helpers/KeyboardEventHelper';\r\nimport * as LayoutHelper from './Helpers/LayoutHelper';\r\nexport * from './Helpers/LocalStorageHelper';\r\nimport * as ModelHelper from './Helpers/ModelHelper';\r\nimport * as NumberHelper from './Helpers/NumberHelper';\r\nimport * as ObjectHelper from './Helpers/ObjectHelper';\r\nexport * from './Helpers/PaginationHelper';\r\nexport * from './Helpers/ReactHelper';\r\nimport * as ReduxHelper from './Helpers/ReduxHelper';\r\nexport * from './Helpers/TimeOfDayHelper';\r\nimport * as ReturnUrl from './Helpers/ReturnUrlModule';\r\nimport * as RouterHelper from './Helpers/RouterHelper';\r\nimport * as SelectHelper from './Helpers/SelectHelper';\r\nimport * as StringHelper from './Helpers/StringHelper';\r\nimport * as StyleHelper from './Helpers/StyleHelper';\r\nimport * as TranslationHelper from './Helpers/TranslationHelper';\r\nimport { CommonDictionary } from './Helpers/TranslationHelper';\r\n\r\nexport {\r\n AjaxHelper,\r\n AnimationHelper,\r\n ArrayHelper,\r\n ButtonHelper,\r\n CollectionHelper,\r\n CommonDictionary,\r\n CultureHelper,\r\n DateHelper,\r\n DebugHelper,\r\n ExceptionHelper,\r\n FormControlHelper,\r\n FormHelper,\r\n GridRowHelper,\r\n HTMLHelper,\r\n KeyboardEventHelper,\r\n LayoutHelper,\r\n ModelHelper,\r\n NumberHelper,\r\n ObjectHelper,\r\n ReduxHelper,\r\n ReturnUrl,\r\n RouterHelper,\r\n SelectHelper,\r\n StringHelper,\r\n StyleHelper,\r\n TranslationHelper\r\n};\r\n\r\n// ReSharper restore InconsistentNaming\r\n","// Conversion & Comparison Models\r\n\r\nimport { BooleanConverter, IBooleanConverter } from './Models/ConvertCompare/BooleanConverter';\r\nimport { CurrencyConverter, ICurrencyConverter } from './Models/ConvertCompare/CurrencyConverter';\r\nimport { DateComparer, IDateComparer } from './Models/ConvertCompare/DateComparer';\r\nexport * from './Models/ConvertCompare/DateConverter';\r\nimport { IModelUpdater, ModelUpdater } from './Models/ConvertCompare/ModelUpdater';\r\nimport { INumericConverter, NumericConverter } from './Models/ConvertCompare/NumericConverter';\r\n\r\nexport {\r\n BooleanConverter,\r\n CurrencyConverter,\r\n DateComparer,\r\n ModelUpdater,\r\n NumericConverter\r\n};\r\n\r\nexport {\r\n IBooleanConverter,\r\n ICurrencyConverter,\r\n IDateComparer,\r\n IModelUpdater,\r\n INumericConverter,\r\n};\r\n\r\n// Filter Models\r\n\r\nimport { GridFilterContext, IGridFilterContext } from './Models/Filtering/GridFilterContext';\r\n\r\nexport {\r\n GridFilterContext\r\n};\r\n\r\nexport {\r\n IGridFilterContext\r\n};\r\n\r\n// Logging Models\r\n\r\nimport ConsoleLogger, { ILogger } from './Models/Logging/ConsoleLogger';\r\n\r\nexport {\r\n ConsoleLogger\r\n};\r\n\r\nexport {\r\n ILogger\r\n};\r\n\r\n// Navigation models\r\n\r\nexport * from './Models/Navigation/NavigationClasses';\r\n\r\n//// Validation Models\r\n\r\n//import { FormValidationContext, ISectionValidationContext } from './Models/Validation/FormValidationContext';\r\n\r\n//export {\r\n// FormValidationContext\r\n//}\r\n\r\n//export {\r\n// ISectionValidationContext\r\n//}\r\n","\r\nimport ControlService, { IControlService } from './Services/ControlService';\r\nimport ModalService, { IModalService } from './Services/ModalService';\r\nimport * as Notification from './Services/NotificationService';\r\n\r\nexport {\r\n ControlService,\r\n Notification,\r\n ModalService\r\n};\r\n\r\nexport {\r\n IControlService,\r\n IModalService\r\n};\r\n","// Utility References\r\nimport { TranslationHelper } from '../../IndexOfHelpers';\r\n\r\nexport interface IBooleanConverter {\r\n toTrueFalseDisplay(): string;\r\n toYesNoDisplay(): string;\r\n}\r\n\r\nconst booleanConverter = (value: boolean): IBooleanConverter => {\r\n\r\n return {\r\n toTrueFalseDisplay: (): string => {\r\n\r\n const processedText = value ? 'True' : 'False';\r\n return TranslationHelper.translate(processedText);\r\n },\r\n toYesNoDisplay: (): string => {\r\n\r\n const processedText = value ? 'Yes' : 'No';\r\n return TranslationHelper.translate(processedText);\r\n }\r\n };\r\n};\r\n\r\nexport { booleanConverter as BooleanConverter };\r\n","\r\n// Utility References\r\nimport { CultureHelper } from '../../IndexOfHelpers';\r\nimport { NumericConverter } from '../../IndexOfModels';\r\n\r\nexport interface ICurrencyConverter {\r\n toStandardCurrencyDisplay(): string;\r\n toCurrencyNoneFractionalDisplay(): string;\r\n}\r\n\r\nconst currencyConverter = (value: number, displayOnFail?: string): ICurrencyConverter => {\r\n\r\n if (displayOnFail === undefined || displayOnFail === null) {\r\n displayOnFail = '0';\r\n }\r\n\r\n return {\r\n toStandardCurrencyDisplay: (): string => {\r\n\r\n return CultureHelper.getCultureCurrencySymbol() + NumericConverter(value, displayOnFail).toStandardDisplay();\r\n },\r\n toCurrencyNoneFractionalDisplay: (): string => {\r\n\r\n return CultureHelper.getCultureCurrencySymbol() + NumericConverter(value, displayOnFail).toNoneFractionalDisplay();\r\n }\r\n };\r\n};\r\n\r\nexport { currencyConverter as CurrencyConverter };\r\n"," import * as moment from 'moment-timezone';\r\n\r\n// Local References\r\n import { DateConverter } from '../../IndexOfModels';\r\n import { Notification } from '../../IndexOfServices';\r\n\r\n//TODOxUI: Allow for culture settings with date formats.\r\n\r\n export interface IDateComparer {\r\n difference(targetDate: Date | moment.Moment | string): number;\r\n isAfter(targetDate: Date | moment.Moment | string): boolean;\r\n isBefore(targetDate: Date | moment.Moment | string): boolean;\r\n isSameAs(targetDate: Date | moment.Moment | string): boolean;\r\n isAfterToday(): boolean;\r\n isBeforeToday(): boolean;\r\n isToday(): boolean;\r\n}\r\n\r\n const dateComparer = (sourceDate: Date | moment.Moment | string): IDateComparer => {\r\n\r\n const dateToMoment = (targetDate: Date | moment.Moment | string): moment.Moment => {\r\n return DateConverter(targetDate).toMomentDate();\r\n };\r\n\r\n const sourceDateAsMoment = dateToMoment(sourceDate);\r\n\r\n if (!sourceDateAsMoment || !sourceDateAsMoment.isValid()) {\r\n\r\n Notification.error.throw('Utility Date Comparer', 'Compare Dates', 'Invalid Source Date for comparison');\r\n }\r\n\r\n const assertValid = (targetDateAsMoment: moment.Moment): void => {\r\n\r\n if (!targetDateAsMoment || !targetDateAsMoment.isValid()) {\r\n Notification.error.throw('Utility Date Comparer', 'Compare Dates', 'Invalid Target Date for comparison');\r\n }\r\n };\r\n\r\n return {\r\n difference: (targetDate: Date | moment.Moment | string): number => {\r\n const targetDateAsMoment = dateToMoment(targetDate);\r\n assertValid(targetDateAsMoment);\r\n\r\n return sourceDateAsMoment.diff(targetDate, 'days');\r\n },\r\n isAfter: (targetDate: Date | moment.Moment | string): boolean => {\r\n\r\n const targetDateAsMoment = dateToMoment(targetDate);\r\n assertValid(targetDateAsMoment);\r\n\r\n return sourceDateAsMoment.isAfter(targetDateAsMoment);\r\n },\r\n isBefore: (targetDate: Date | moment.Moment | string): boolean => {\r\n\r\n const targetDateAsMoment = dateToMoment(targetDate);\r\n assertValid(targetDateAsMoment);\r\n\r\n return sourceDateAsMoment.isBefore(targetDateAsMoment);\r\n },\r\n isSameAs: (targetDate: Date | moment.Moment | string): boolean => {\r\n\r\n const targetDateAsMoment = dateToMoment(targetDate);\r\n assertValid(targetDateAsMoment);\r\n\r\n return sourceDateAsMoment.isSame(targetDateAsMoment);\r\n },\r\n isAfterToday: (): boolean => {\r\n\r\n return sourceDateAsMoment.isAfter(moment());\r\n },\r\n isBeforeToday: (): boolean => {\r\n\r\n return sourceDateAsMoment.isBefore(moment());\r\n },\r\n isToday: (): boolean => {\r\n\r\n return sourceDateAsMoment.isSame(moment());\r\n }\r\n };\r\n};\r\n\r\n export { dateComparer as DateComparer };\r\n"," import * as moment from 'moment-timezone';\r\n\r\n//TODOxUI: Allow for culture settings with date formats.\r\n\r\n export interface IDateConverter {\r\n toDayOfWeekDisplay(): string;\r\n toExtendedDateAnd24HrTimeDisplay(): string;\r\n toIsoFormatDisplay(): string;\r\n toLongDateAnd24HrTimeDisplay(): string;\r\n toJsDate(): Date;\r\n toMomentDate(): moment.Moment;\r\n toMonthNameDisplay(): string;\r\n toShortMonthYearDisplay(): string;\r\n toStandardDateDisplay(): string;\r\n toStandardDateAnd12HrTimeDisplay(): string;\r\n toStandardDateAnd24HrTimeDisplay(): string;\r\n to12HrTimeDisplay(): string;\r\n to24HrTimeDisplay(): string;\r\n}\r\n\r\n const dateConverter = (date: Date | moment.Moment | string, displayOnFail?: string, useUtc?: boolean): IDateConverter => {\r\n\r\n const dateToMoment = (targetDate: Date | moment.Moment | string): moment.Moment => {\r\n\r\n if (targetDate instanceof Date) {\r\n return moment(targetDate);\r\n }\r\n\r\n if (typeof targetDate === 'string') {\r\n return moment(targetDate);\r\n }\r\n\r\n return targetDate as moment.Moment;\r\n };\r\n\r\n const dateAsMoment = useUtc ? dateToMoment(date).utc() : dateToMoment(date);\r\n\r\n const dateIsInvalid = !dateAsMoment || !dateAsMoment.isValid();\r\n const displayOnFailValue = displayOnFail || '';\r\n\r\n return {\r\n to12HrTimeDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('hh:mm a');\r\n },\r\n to24HrTimeDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('HH:mm');\r\n },\r\n toDayOfWeekDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('dddd');\r\n },\r\n toExtendedDateAnd24HrTimeDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('dddd Mo MMMM YYYY HH:mm:ss z');\r\n },\r\n toIsoFormatDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('YYYY-MM-DD');\r\n },\r\n toJsDate: (): Date => {\r\n\r\n if (dateIsInvalid) {\r\n return null;\r\n }\r\n\r\n return dateAsMoment.toDate();\r\n },\r\n toLongDateAnd24HrTimeDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('MM/DD/YYYY dddd HH:mm');\r\n },\r\n toMomentDate: (): moment.Moment => {\r\n\r\n if (dateIsInvalid) {\r\n return null;\r\n }\r\n\r\n return dateAsMoment;\r\n },\r\n toMonthNameDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('MMMM');\r\n },\r\n toShortMonthYearDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('MMM YYYY');\r\n },\r\n toStandardDateAnd12HrTimeDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('MM/DD/YYYY hh:mm a');\r\n },\r\n toStandardDateAnd24HrTimeDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('MM/DD/YYYY HH:mm');\r\n },\r\n toStandardDateDisplay: (): string => {\r\n\r\n if (dateIsInvalid) {\r\n return displayOnFailValue;\r\n }\r\n\r\n return dateAsMoment.format('MM/DD/YYYY');\r\n }\r\n };\r\n};\r\n\r\n export interface IDateJoiner {\r\n resetDatePart(): Date;\r\n resetTimePart(): Date;\r\n setDatePart(dateOnlyDate: Date): Date;\r\n setTimePart(timeOnlyDate: Date): Date;\r\n}\r\n\r\n const dateJoiner = (originalDate: Date): IDateJoiner => {\r\n\r\n const dateCleaner = (date: Date): Date => {\r\n\r\n return moment(date).isValid() ? date : moment('0', 'S').toDate();\r\n };\r\n\r\n const cleanedOriginal = dateCleaner(originalDate);\r\n\r\n const setDatePart = (dateOnlyDate: Date): Date => {\r\n const cleanedDate = dateCleaner(dateOnlyDate);\r\n\r\n const year = moment(cleanedDate).year();\r\n const month = moment(cleanedDate).month();\r\n const date = moment(cleanedDate).date();\r\n\r\n const dateAsMoment = moment(cleanedOriginal).year(year).month(month).date(date);\r\n return dateAsMoment.toDate();\r\n };\r\n\r\n const setTimePart = (timeOnlyDate: Date): Date => {\r\n const cleanedTime = dateCleaner(timeOnlyDate);\r\n\r\n const hours = moment(cleanedTime).hours();\r\n const minutes = moment(cleanedTime).minutes();\r\n const milliseconds = moment(cleanedTime).milliseconds();\r\n\r\n const dateAsMoment = moment(cleanedOriginal).hours(hours).minutes(minutes).milliseconds(milliseconds);\r\n return dateAsMoment.toDate();\r\n };\r\n\r\n return {\r\n resetDatePart: (): Date => {\r\n return setDatePart(null);\r\n },\r\n resetTimePart: (): Date => {\r\n return setTimePart(null);\r\n },\r\n setDatePart,\r\n setTimePart\r\n };\r\n};\r\n\r\n export {\r\n dateConverter as DateConverter,\r\n dateJoiner as DateJoiner\r\n};\r\n","// Utility References\r\nimport { IPageActions } from 'App/IndexOfModels';\r\nimport { ObjectHelper } from 'Utility/IndexOfHelpers';\r\n\r\ntype AfterModelUpdateAction = (model: TModel) => void;\r\ntype ModelUpdateAction = (updatedModel: TModel, propertyName?: string) => void;\r\ntype PropertyUpdateFunc = (value: TValue, model: TModel) => TModel;\r\n\r\nexport interface IModelUpdater {\r\n for: (propertyUpdateFunc: PropertyUpdateFunc, afterModelUpdateAction?: AfterModelUpdateAction) => (value: TValue, propertyName?: string) => void;\r\n}\r\n\r\nconst modelUpdaterFactory = (sourceModel: TModel, modelUpdateAction: ModelUpdateAction, modelStateActions?: IPageActions): IModelUpdater => {\r\n\r\n const model = ObjectHelper.deepClone(sourceModel);\r\n\r\n return {\r\n for: (propertyUpdateFunc: PropertyUpdateFunc, afterModelUpdateAction?: AfterModelUpdateAction) => (value: TValue, propertyName?: string): void => {\r\n\r\n const updatedModel = propertyUpdateFunc(value, model);\r\n modelUpdateAction(updatedModel, propertyName);\r\n\r\n if (value !== null && value !== undefined && modelStateActions && propertyName) {\r\n modelStateActions.removeEntry(propertyName);\r\n }\r\n\r\n if (afterModelUpdateAction) {\r\n afterModelUpdateAction(updatedModel);\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport { modelUpdaterFactory as ModelUpdater };\r\n","\r\n//TODOxUI: Allow for culture settings with currency formats.\r\n\r\nexport interface INumericConverter {\r\n toStandardDisplay(): string;\r\n toNoneFractionalDisplay(): string;\r\n toOriginalDisplay(): string;\r\n}\r\n\r\nconst numericConverter = (value: number, displayOnFail?: string): INumericConverter => {\r\n\r\n const valueIsUndefinedOrNull = value === undefined || value === null;\r\n const displayOnFailValue = displayOnFail || '';\r\n\r\n return {\r\n toStandardDisplay: (): string => {\r\n\r\n if (valueIsUndefinedOrNull) { return displayOnFailValue; }\r\n return value.toLocaleString(navigator.language, { minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n },\r\n toNoneFractionalDisplay: (): string => {\r\n\r\n if (valueIsUndefinedOrNull) { return displayOnFailValue; }\r\n return value.toLocaleString(navigator.language, { minimumFractionDigits: 0 });\r\n },\r\n toOriginalDisplay: (): string => {\r\n if (valueIsUndefinedOrNull) { return displayOnFailValue; }\r\n return value.toString();\r\n }\r\n };\r\n};\r\n\r\nexport { numericConverter as NumericConverter };\r\n","// Interface References\r\nimport { ObjectHelper } from '../../IndexOfHelpers';\r\nimport { IApiFilterBase, IApiPaginationOptions, IApiSortOptions } from '../../IndexOfInterfaces';\r\n\r\ntype CollectionUpdateFunc = (options: TFilterOptions) => void;\r\ntype FilterUpdateFunc = (filter: TFilter, value: TValue) => void;\r\n\r\nexport interface IGridFilterContext {\r\n filterHandler: (filterUpdateFunc: FilterUpdateFunc) => (filterValue: any) => void;\r\n paginationHandler: (newPaginationOptions: IApiPaginationOptions) => void;\r\n sortHandler(newSortOptions: IApiSortOptions): void;\r\n}\r\n\r\nconst gridFilterContext = (collectionUpdateFunc: CollectionUpdateFunc, options: TFilterOptions): IGridFilterContext => {\r\n\r\n return {\r\n filterHandler: (filterUpdateFunc: FilterUpdateFunc) => (filterValue: any): void => {\r\n\r\n const newOptions = ObjectHelper.merge({} as TFilterOptions, options);\r\n newOptions.paginationOptions.pageNumber = 1;\r\n\r\n filterUpdateFunc((newOptions as any).filterOptions, filterValue);\r\n\r\n collectionUpdateFunc(newOptions);\r\n },\r\n paginationHandler: (newPaginationOptions: IApiPaginationOptions): void => {\r\n\r\n const newOptions = ObjectHelper.merge({} as TFilterOptions, options);\r\n newOptions.paginationOptions = newPaginationOptions;\r\n\r\n collectionUpdateFunc(newOptions);\r\n },\r\n sortHandler: (newSortOptions: IApiSortOptions): void => {\r\n\r\n const newOptions = ObjectHelper.merge({} as TFilterOptions, options);\r\n\r\n if (newOptions.paginationOptions) {\r\n newOptions.paginationOptions.pageNumber = 1;\r\n }\r\n\r\n newOptions.sortOptions = newSortOptions;\r\n\r\n collectionUpdateFunc(newOptions);\r\n }\r\n };\r\n};\r\n\r\nexport { gridFilterContext as GridFilterContext };\r\n","// Local References\r\nimport { IAjaxInfo, IExceptionReport, ISimpleExceptionReport } from '../../IndexOfInterfaces';\r\n\r\nexport interface ILogger {\r\n logAjaxInfoException: (ajaxInfo: IAjaxInfo) => void;\r\n logExceptionReport: (exceptionReport: IExceptionReport, jqxhr: any) => void;\r\n}\r\n\r\n/* tslint:disable:no-console */\r\nexport default class ConsoleLogger implements ILogger {\r\n\r\n public logAjaxInfoException = (ajaxInfo: IAjaxInfo): void => {\r\n\r\n if (ajaxInfo != null) {\r\n console.log('Unhandled error', ajaxInfo);\r\n }\r\n }\r\n\r\n public logExceptionReport = (exceptionReport: IExceptionReport | ISimpleExceptionReport, jqxhr: any): void => {\r\n\r\n if (exceptionReport != null) {\r\n console.log('Communication error - Exception Report: ', exceptionReport);\r\n }\r\n else if (jqxhr && jqxhr.responseText) {\r\n console.log('Communication error - Response Text: ', jqxhr.responseText);\r\n }\r\n else{\r\n console.log('General Error: Please contact system administrator');\r\n }\r\n }\r\n}\r\n","\r\nimport { IMenuGroup, IMenuHeader, IMenuItem } from '../../IndexOfInterfaces';\r\n\r\nexport class MenuGroup implements IMenuGroup {\r\n\r\n constructor(public groupName: string, public to: string, public menuItems: (IMenuItem | IMenuHeader)[]) {\r\n this.groupName = groupName;\r\n this.to = to;\r\n this.menuItems = menuItems;\r\n }\r\n}\r\n\r\nexport class MenuItem implements IMenuItem {\r\n\r\n constructor(public name: string, public to: string, public openInNewWindow: boolean, public isTopLevel: boolean) {\r\n this.isTopLevel = isTopLevel;\r\n this.name = name;\r\n this.openInNewWindow = openInNewWindow;\r\n this.to = to;\r\n }\r\n}\r\n\r\nexport class MenuHeader implements IMenuHeader {\r\n\r\n public name: string;\r\n\r\n constructor(name: string) {\r\n this.name = name;\r\n }\r\n}\r\n","// Utility References\r\nimport { Handler/*, PageUIActions*/ } from '../IndexOfActions';\r\n//import { } from '../IndexOfComponents';\r\n//import { } from '../IndexOfEnums';\r\n//import { } from '../IndexOfHelpers';\r\nimport { IUtilityPageState } from '../IndexOfInterfaces';\r\n//import { } from '../IndexOfModels';\r\n//import { } from '../IndexOfServices';\r\n\r\nexport interface IControlService {\r\n isControlLocked: () => boolean;\r\n toggleLock: Handler.Action;\r\n}\r\n\r\nexport default class ControlService implements IControlService {\r\n\r\n private controlName: string;\r\n\r\n constructor(public dispatch: Handler.AnyForDispatch, public pageState: IUtilityPageState, controlName: string) {\r\n this.controlName = controlName;\r\n }\r\n\r\n public isControlLocked = (): boolean => {\r\n\r\n return (this.pageState.lockedControls && this.pageState.lockedControls[this.controlName] ? true : false);\r\n }\r\n\r\n public toggleLock = (): void => {\r\n\r\n //this.dispatch(PageUIActions.toggleControlLock(this.controlName));\r\n }\r\n}\r\n","// Utility References\r\nimport { Handler } from 'Utility/IndexOfActions';\r\nimport { IGenericDictionary } from 'Utility/IndexOfInterfaces';\r\nimport { Notification } from 'Utility/IndexOfServices';\r\n\r\nexport interface IModalService {\r\n toggleModal: () => void;\r\n isModalOpen: () => boolean;\r\n}\r\n\r\nexport default class ModalService implements IModalService {\r\n\r\n private modalName: string;\r\n\r\n constructor(public dispatch: Handler.AnyForDispatch, public toggleModalFunc: (modalName: string) => void, public pageModals: IGenericDictionary, modalName?: string) {\r\n this.modalName = modalName;\r\n }\r\n\r\n public toggleModal = (): void => {\r\n\r\n if (this.assertModalNameValid()) {\r\n this.dispatch(this.toggleModalFunc(this.modalName));\r\n }\r\n }\r\n\r\n public isModalOpen = (): boolean => {\r\n\r\n if (this.assertModalNameValid()) {\r\n return (this.pageModals && this.pageModals[this.modalName] ? true : false);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private assertModalNameValid = (): boolean => {\r\n\r\n if (this.modalName) {\r\n return true;\r\n }\r\n\r\n Notification.error.unhandledException('Modal Name Not Set', 'Modal Failure');\r\n return false;\r\n }\r\n}\r\n","// https://github.com/diegoddox/react-redux-toastr\r\nimport * as React from 'react';\r\nimport { toastr } from 'react-redux-toastr';\r\n\r\nimport { TranslationHelper } from 'Utility/IndexOfHelpers';\r\n\r\nclass HelperComponent extends React.Component<{}, {}>{\r\n\r\n render(){\r\n return (\r\n
    \r\n {this.props.children}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst topFullWidthSetting = {};\r\n\r\nfunction toastrCaller(toastrDisplayMethod: Function, message: string, heading?: string, content?: JSX.Element, toastrOptions?: any /*BasicToastrOptions*/): void {\r\n\r\n const translatedMessage = TranslationHelper.translate(message, message);\r\n const translatedHeading = (heading) ? TranslationHelper.translate(heading) : '';\r\n\r\n if (content && toastrOptions) {\r\n toastrOptions.component = ({content}) as any;\r\n } else {\r\n toastrOptions.component = null;\r\n }\r\n\r\n toastrDisplayMethod(translatedHeading, translatedMessage, toastrOptions);\r\n}\r\n\r\nconst clickToDismissHelper = (() => {\r\n\r\n const messageContent = (message: string): JSX.Element => {\r\n\r\n return (\r\n {message}\r\n );\r\n };\r\n\r\n const options: any = {\r\n attention: true,\r\n showCloseButton: true,\r\n timeOut: 0\r\n };\r\n\r\n return {\r\n contentForError: messageContent,\r\n contentForInfo: messageContent,\r\n contentForSuccess: messageContent,\r\n contentForWarning: messageContent,\r\n options\r\n };\r\n})();\r\n\r\nexport const download = {\r\n open: (downloadUrl: string, message?: string, heading?: string) => {\r\n\r\n const defaultMessage = message || 'Download Saving.';\r\n const defaultHeading = heading || 'Download Ready';\r\n\r\n toastrCaller(toastr.info, defaultMessage, defaultHeading, null, topFullWidthSetting);\r\n\r\n // open on a timeout so user has a chance to see Toast Notification.\r\n window.setTimeout(() => {\r\n window.open(downloadUrl);\r\n }, 2000);\r\n },\r\n ready: (downloadUrl: string, message?: string, heading?: string) => {\r\n\r\n const defaultMessage = {TranslationHelper.translate('Click to Download')};\r\n\r\n const defaultHeading: string = heading || 'Download Ready';\r\n\r\n // TODOxUI: Validate if message is set.\r\n const messageContent = (\r\n {message}

    {defaultMessage}
    \r\n );\r\n\r\n toastrCaller(toastr.info, '', defaultHeading, messageContent, clickToDismissHelper.options);\r\n }\r\n};\r\n\r\nexport const info = {\r\n importantInfo: (message: string, heading: string) => {\r\n\r\n const content = clickToDismissHelper.contentForInfo(message);\r\n toastrCaller(toastr.info, '', heading, content, clickToDismissHelper.options);\r\n },\r\n info: (message: string, heading?: string) => {\r\n toastrCaller(toastr.info, message, heading, null, topFullWidthSetting);\r\n },\r\n warning: (message: string = 'Warning', heading?: string) => {\r\n\r\n toastrCaller(toastr.warning, message, heading, null, topFullWidthSetting);\r\n }\r\n};\r\n\r\nexport const error = {\r\n alreadyExists: (message: string = 'Record already exists.', heading?: string) => {\r\n\r\n toastrCaller(toastr.warning, message, heading, null, topFullWidthSetting);\r\n },\r\n clickToDismiss: (message: string, heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForError(message);\r\n toastrCaller(toastr.error, '', heading, content, clickToDismissHelper.options);\r\n },\r\n concurrencyError: (message: string, heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForError(message);\r\n toastrCaller(toastr.error, '', heading, content, clickToDismissHelper.options);\r\n },\r\n connectionError: (message: string = 'Connection Error.

    Please try again in 5 mins.

    Contact General Manager if failure continues.', heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForError(message);\r\n toastrCaller(toastr.error, '', heading, content, clickToDismissHelper.options);\r\n },\r\n failedToLoad: (message: string = 'Unable to load data. Please try again.', heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForError(message);\r\n toastrCaller(toastr.error, '', heading, content, clickToDismissHelper.options);\r\n },\r\n handledException: (message: string, heading: string) => {\r\n\r\n const content =
    ;\r\n toastrCaller(toastr.warning, '', heading, content, topFullWidthSetting);\r\n },\r\n missingData: (message: string = 'Please complete all required fields.', heading?: string) => {\r\n\r\n toastrCaller(toastr.warning, message, heading, null, topFullWidthSetting);\r\n },\r\n notFound: (message: string = 'No matching records', heading?: string) => {\r\n\r\n toastrCaller(toastr.warning, message, heading, null, topFullWidthSetting);\r\n },\r\n throw: (areaName: string, attemptedAction: string, errorDescription: string): void /* return type 'never' in TS2.0 */ => {\r\n\r\n const errorText = `Client Error - ${areaName} - ${attemptedAction} - ${errorDescription}`;\r\n\r\n const content = clickToDismissHelper.contentForError(errorDescription);\r\n toastrCaller(toastr.error, '', areaName, content, clickToDismissHelper.options);\r\n\r\n //TODOxUI: Implement Client Side \"logging\" here.\r\n /* tslint:disable:no-console */\r\n console.log(`Error: ${errorText}`);\r\n /* tslint:enable:no-console */\r\n\r\n throw Error(errorText);\r\n },\r\n uiException: (message: string) => {\r\n toastrCaller(toastr.error, message, 'UI Exception', null, topFullWidthSetting);\r\n },\r\n unableToSave: (message: string = 'Unable to save record.', heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForError(message);\r\n toastrCaller(toastr.error, '', heading, content, clickToDismissHelper.options);\r\n },\r\n unhandledException: (message: string = 'There was an unhandled server exception. Please contact support.', heading?: string) => {\r\n\r\n toastrCaller(toastr.error, message, heading, null, topFullWidthSetting);\r\n }\r\n};\r\n\r\nexport const success = {\r\n authenticated: (message: string = 'Successfully loggedin to MVR website', heading?: string) => {\r\n\r\n toastrCaller(toastr.success, message, heading, null, topFullWidthSetting);\r\n },\r\n importantRecordUpdated: (message: string = 'Successfully updated record', heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForSuccess(message);\r\n toastrCaller(toastr.success, '', heading, content, topFullWidthSetting);\r\n },\r\n recordCreated: (message: string = 'Successfully saved record', heading?: string) => {\r\n\r\n toastrCaller(toastr.success, message, heading, null, topFullWidthSetting);\r\n },\r\n recordLoaded: (message: string = 'Successfully loaded record', heading?: string) => {\r\n\r\n toastrCaller(toastr.success, message, heading, null, topFullWidthSetting);\r\n },\r\n recordUpdated: (message: string = 'Successfully updated record', heading?: string) => {\r\n\r\n toastrCaller(toastr.success, message, heading, null, topFullWidthSetting);\r\n }\r\n};\r\n\r\nexport const warning = {\r\n clickToDismiss: (message: string, heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForWarning(message);\r\n toastrCaller(toastr.warning, '', heading, content, clickToDismissHelper.options);\r\n },\r\n customMessage: (message: string, heading?: string) => {\r\n\r\n toastrCaller(toastr.warning, message, heading, null, topFullWidthSetting);\r\n },\r\n importantPartialRecordUpdated: (message: string = 'Partially updated record', heading?: string) => {\r\n\r\n const content = clickToDismissHelper.contentForWarning(message);\r\n toastrCaller(toastr.warning, '', heading, content, topFullWidthSetting);\r\n },\r\n invalidEntry: (message: string = 'Invalid value entered.', heading: string = 'Invalid Entry') => {\r\n\r\n const content = clickToDismissHelper.contentForWarning(message);\r\n toastrCaller(toastr.warning, '', heading, content, topFullWidthSetting);\r\n }\r\n};\r\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";"],"sourceRoot":""}