{"version":3,"sources":["./node_modules/zone.js/dist/zone.js","./src/assets/configs/app-data.ts","./src/app/store/reducers/app.reducer.ts","./src/app/core/interceptors/token.interceptor.ts","./src/app/core/services/auth.service.ts","./src/app/core/services/utils/resources/resources.service.ts","./src/environments/environment.ts","./src/app/core/services/utils/Date/parser-formatter/ngb-date-global-parser-formatter.ts","./src/app/layout/store/effects/layout.effects.ts","./src/app/store/actions/app.actions.ts","./src/app/core/components/popupmodel.component.html","./src/app/core/components/popupmodel.component.ts","./src/app/core/services/popupmodel.service.ts","./src/app/modules/gfr-events-administration/components/no-events/no-events.component.ts","./src/app/modules/gfr-events-administration/components/no-events/no-events.component.html","./src/app/modules/gfr-events-administration/components/show-all-events/show-all-events.component.html","./src/app/modules/gfr-events-administration/components/show-all-events/show-all-events.component.ts","./src/app/modules/gfr-events-administration/components/events-administration-base/events-administration-base.component.ts","./src/app/modules/gfr-events-administration/components/events-administration-base/events-administration-base.component.html","./src/app/modules/gfr-events-administration/components/schema-browser/schema-browser.component.html","./src/app/modules/gfr-events-administration/components/schema-browser/schema-browser.component.ts","./src/app/modules/gfr-events-administration/gfr-events-administration-routing.module.ts","./src/app/modules/gfr-events-administration/components/registration-page/registration-page.component.ts","./src/app/modules/gfr-events-administration/components/registration-page/registration-page.component.html","./src/app/layout/store/reducers/layout.reducer.ts","./src/app/shared/guards/can-deactivate-guard.service.ts","./src/app/core/services/utils/loader/loader.service.ts","./src/app/core/interceptors/loader.interceptor.ts","./src/app/core/core.module.ts","./src/app/layout/store/actions/layout.actions.ts","./src/app/core/services/layout.service.ts","./src/app/layout/store/selectors/layout.selector.ts","./src/app/layout/components/base-layout/base-layout.component.ts","./src/app/layout/components/base-layout/base-layout.component.html","./src/app/selective-preloading-strategy.service.ts","./src/app/layout/components/main-header/main-header.component.ts","./src/app/layout/components/main-header/main-header.component.html","./src/app/layout/components/canvas/canvas.component.html","./src/app/layout/components/canvas/canvas.component.ts","./src/app/layout/components/canvas-no-header/canvas-no-header.component.ts","./src/app/layout/components/canvas-no-header/canvas-no-header.component.html","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/store/effects/app.effects.ts","./src/app/layout/layout.module.ts","./src/app/shared/extensions.ts","./src/app/app.module.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":["global","performance","mark","name","performanceMeasure","label","checkDuplicate","__symbol__","Error","nativeMicroTaskQueuePromise","Zone","parent","zoneSpec","this","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","Object","defineProperty","get","zone","current","enumerable","configurable","_currentZoneFrame","_currentTask","__load_patch","fn","hasOwnProperty","perfName","_api","prototype","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","__values","o","m","Symbol","iterator","done","api","getOwnPropertyDescriptor","_uncaughtPromiseErrors","e","rejection","console","message","stack","_loop_1","uncaughtPromiseError","shift","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","makeResolver","promise","v","resolvePromise","CURRENT_TASK_TRACE_SYMBOL","wasCalled","obj","onceWrapper","wrappedFunction","TypeError","clearRejectedNoCatch","trace","currentTask","writable","scheduleResolveOrReject","constructor","JSON","stringify","error_1","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","executor","race","values","e_1","_a","res","rej","onResolve","onReject","values_1","values_1_1","e_1_1","return","all","e_2","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","values_2","values_2_1","e_2_1","toStringTag","catch","finally","onFinally","ZONE_AWARE_PROMISE","desc","set","NewNativePromise","symbolThenPatched","Ctor","proto","prop","originalThen","_this","fetch_1","resultPromise","ctor","Promise","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","NULL_ON_PROP_VALUE","isPropertyWritable","propertyDesc","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames","wrapFn","event","eventNameSymbol","result","listener","errorEvent","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","delegateName","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","meta","patched","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","once","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","nativePrependEventListener","eventNameToString","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","checkIsPassive","capture","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","isHandleEvent","falseEventName","trueEventName","symbolCapture","constructorName","targetSource","unshift","existingTask","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","keys","match","exec","evtName","results","foundTasks","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","zoneSymbol$1","_defineProperty","_getOwnPropertyDescriptor","_create","unconfigurablesKey","originalConfigurableFlag","_tryDefineProperty","rewriteDescriptor","isUnconfigurable","isFrozen","descJson","log","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","concat","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","ignoreErrorProperties","Document","Element","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","eventTargetLegacyPatch","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","WTF_ISSUE_555","NO_EVENT_TARGET","split","isWtf","WTF_ISSUE_555_ARRAY","map","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","targets","apiTypes","testString","propertyDescriptorLegacyPatch","document","createElement","onclick","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","unboundKey","property","onproperty","bound","elt","parentElement","patchViaCapturingAllTheEvents","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","WS","EventTarget","x","y","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","registerElementPatch","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","handle","ref","unref","bind","id","eventTargetPatch","EVENT_TARGET","legacyPatch","blockingMethods","s","patchEvent$1","defineProperties","props","customElements","patchCustomElements","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","sendNative","url","aborted","placeholderCallback","XHR_ERROR_BEFORE_SCHEDULED","abortNative","XHR_TASK","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","patchXHR","geolocation","fnNames","name_1","patchPrototype","findPromiseRejectionHandler","PromiseRejectionEvent","evt","reason","factory","APP_CONSTANTS","myAlertGridName","myDocumentsGridName","myWorkGridName","myLinksGridName","versionControlGridname","myNotificationRules","lookupList","CUSTOM_APP_DATA","tiles","linksText","linkRoute","firstLineText","secondLineText","isRightPanelVisible","isRightPanelOpenByDefault","route","rightPanelRoute","isVisible","appAdapter","PermissionStateTracker","permissions","getInitialState","loadPermissionsSuccess","appReducer","permission","addOne","reducer","action","selectAll","headers","Accept","injector","request","auth","getToken","Authorization","has","searchType","clonedRequest","clone","TokenInterceptor","getTokenHeader","token","localStorage","getItem","authReq","pipe","status","AuthService","urls","host","services","DMS","generateOutlookToken","Drawer","indexes","Index","searchLookup","TRPCAdmin","getDrawerList","getWorkFlowList","getTRPCList","getServiceTypeList","getMultipleTrpcData","getInfoTabConfig","getWorkFlowSteps","getScanUsers","getCompletionStep","TRPCRouteUsers4Group","checkRouteNotification","TRPC","searchETaxFolders","searchETaxFolders4Export","getUserRights","getDrawerRights","Firmflow","loadWorkflowRouteUsers","loadWorkflowRouteGroups","loadPicUsers","TaxFolder","getFolder","addFolder","deleteFolder","updateFolder","UserPreferences","getScreenPreferences","getTemplate","saveScreenPrefs","Note","loadNotes","saveFilingNote","addFilingNote","editFilingNote","getTabNoteTypeId","Filing","resetChecklists","getFilings","Route","checkFilings4Route","getNextAssigned","Labels","SearchWorkFlows","ToolBar","Options","Add","Email","mainLabel","Outlook","GoFileRoom","OpenTaxReturn","Export","Manage","ResetCheckLists","ViewControlSheets","Delete","WorkflowLink","RouteLink","WorkflowPage","notes","Toolbar","ReplyWithQuote","routes","searchWorkflows","workflowPage","main","addWorkFlow","taxFolder","columnDefinitions","binding","header","hasFilter","minWidth","width","allowSorting","allowDragging","isReadOnly","visible","filings","maxWidth","dateFormats","range","notesStatuses","responseMessages","0","1","2","3","4","5","workflows","modalText","titleText","bodyText","confirmButtonText","6","closeButtonText","ResourcesService","environment","production","base_api_uri","location","hostname","getBaseApiUrl","environmentName","base_documents_api_uri","base_dashboard_api_uri","strrooturl","base_workflows_api_uri","defaultTimeOutValue","padNumber","isNumber","isNaN","toInteger","parseInt","resources","globalDateFormat","globalTimeFormat","useMeridian","globalDateSep","globalTimeSep","replace","toLowerCase","DateFormatRequest","TimeFormatRequest","getDatePropertyIndex","format","formatIndexes","getDatePropertyValue","formatIndex","date","dateProperty","getDateProperty","parse","dateParts","trim","day","month","year","getRangeFromString","rangeString","fromDate","ConvertUserFormatToSqlString","substring","toDate","getRangeFromDate","getFormattedTime","time","hour","minute","second","NgbDateGlobalParserFormatter","actions$","layoutService","store","loadAllTiles$","AllTilesRequested","getTiles","LayoutEffects","PermissionsActionTypes","LoadPermissions","LoadPermissionsSuccess","activeModal","GenericPopup","isAlert","success","isConfirmed","isConfirmModal","isAlertSuccess","confirm","emit","close","ngOnInit","PopupModalComponent","modalService","navchange","alert","okButtonCaption","modalRef","open","backdropClass","windowClass","componentInstance","cancelButtonCaption","getNavChangeEmitter","PopmodalService","NoEventsComponent","eventsService","router","isListGrid","pageInfo","infoText","infoPageText","goText","pageSize","filteredColumns","filterType","columnDefinitionsByBinding","reduce","item","actions","editRow","msg","info","toolbarConfig","filterButtonHidden","filtersHidden","groupButtonHidden","groupPanelHidden","toggleFilter","toggleGroupPanel","toolbarData","icon","navigate","setBusyLoader","selected","createdBy","description","product","age","Math","round","random","quantity","associatedProduct","associatedChannel","callbackUrl","creationDate","Date","totalItemCount","_view","gridInitialized","initializeHeaders","flexGrid","select","hc","rowHeaders","columns","onPageSizeChanged","size","onPageChanged","page","moveToPage","gridFilter","clear","il","col","grid","getColumn","getColumnFilter","refresh","updateFlexGridRowHeight","height","headHeight","rows","defaultSize","total","columnHeaders","showdivBusyLoader","onFilterChange","filterValue","collectionView","filterChanged","cancel","filter2","setTimeout","fetchData","getAllEvents","subscribe","ShowAllEventsComponent","EventsAdministrationBaseComponent","dataStreamProduct","BehaviorSubject","dataStreamChannel","dataStreamSchema","dataStreamRegistration","isComboboxDisabled","isReadonly","comboboxOptionsProduct","searchable","autoSelect","comboboxOptionsChannel","comboboxOptionsSchema","comboboxOptionsRegistration","selectedRowProduct","selectedRowChannel","selectedRowSchema","selectedRowRegistration","_generateDataProduct","_generateDataChannel","_generateDataSchema","_generateDataRegistration","SchemaBrowserComponent","path","component","children","dataStreamStatus","comboboxOptionsStatus","selectedRowStatus","_generateDataStatus","items","backButtonClick","RegistrationPageComponent","GfrEventsAdministrationRoutingModule","forChild","tileAdapter","LayoutStateRecord","allTilesLoaded","isRightPanelOpen","defaultTabSelection","routedTab","selectedTile","isHeaderVisible","layoutReducer","addAll","isOpen","canDeactivate","CanDeactivateGuard","startLoading","LoaderService","loading","stopLoading","activeRequests","skippUrls","displayLoadingScreen","params","setParams","cid","RegExp","test","finalize","LoaderInterceptor","CoreModule","provide","useClass","multi","LayoutActionTypes","LoadLayouts","layoutState","payload","AllTilesLoaded","TabClick","DefaultTabSelection","ShowRightSideSplitter","IsHeaderMenuVisible","RoutedTab","http","busyLoader","response","alertCount","workCount","newAlertCount","newAlertsCount","newWorkCount","documentCount","documentsCount","LinkCount","linkCount","getAlertTiles","element","allUserPermission","hasFirmFlowAccess","getFirmFlowPermision","getUserAccount","getUserPreference","loader","LayoutService","selectLayoutState","getTilesState","LayoutState","selectAllTiles","tilesState","getSelectedTab","entities","find","selectIsHeaderVisible","selectRoutedTab","headerShowHide","globalUserPrefSettings","myPreferenceResponse","currentFormat","GlobalizationDateFormat","setItem","BaseLayoutComponent","preloadedModules","preload","load","of","SelectivePreloadingStrategyService","service","tileItems","ngAfterViewInit","dispatch","tile","onLinkClick","onTileLinkClick","href","MainHeaderComponent","isLeftOpened","isRightOpened","isTopOpened","isBottomOpened","isRightPaneVisible","isBusyLoader","CanvasComponent","CanvasNoHeaderComponent","loadChildren","GfrMyAlertsModule","GfrMyWorkModule","GfrMyLinksModule","GfrMyDocumentsModule","GfrMyNotificationsModule","GfrTaxSortModule","GfrWorkflowsModule","GfrWorkflowPageModule","GfrNewWorkflowModule","GfrTaxFolderModule","GfrDocumentSearchModule","redirectTo","pathMatch","GfrEventsAdministrationModule","AppRoutingModule","forRoot","enableTracing","preloadingStrategy","idle","keepalive","idleState","timedOut","lastPing","idleInit","timeout","sessionTimeoutVal","responseValue","userAccountDetails","idleSessionTimeoutMinutes","setIdle","setInterrupts","onTimeout","sessionModalIdentifier","top","interval","onPing","reset","watch","queryString","routeParameters","parameters","AppComponent","loadPermission$","switchMap","AppEffects","LayoutModule","forFeature","merge","array","leftOuterJoin","Extensions","AppModule","instrument","bootstrapModule","userName","emailHash","adobeEcid","webpackEmptyAsyncContext","code","module","exports"],"mappings":"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AMuB,OArBiC,IAA5ByZ,SACA/K,EAAKjQ,aAGZiQ,EAAKjQ,aAAegb,EAExB,IACI,OAAOJ,EAAgB7N,EAAKwD,EAAMN,GAEtC,MAAO1O,GACH,IAAI8Z,EAAW,KACf,IACIA,EAAW5N,KAAKC,UAAUuC,GAE9B,MAAO1O,GACH8Z,EAAWpL,EAAK9H,WAEpBkD,QAAQiQ,IAAI,4BAA8B/K,EAAO,sBAAwB8K,EAAW,gBAAkBtO,EAAM,+BAAiCxL,KAoB7J,IAwGIga,EAAmB,CACnB,4BACA,aACA,aACA,eACA,sBACA,cACA,eACA,cACA,eACA,oBACA,4BACA,kBACA,aACA,iBACA,UACA,iBACA,UACA,SACA,QACA,WACA,WACA,WACA,mBACA,UACA,qBACA,SACA,gBACA,oBACA,wBACA,0BAOAC,GAAyB,CAAC,YAAa,gBAAiB,YAAa,oBAAqB,mBA6D1FC,GAAkB,CAAC,QACnBC,GAAqB,CAAC,OAAQ,QAAS,QAAS,OAAQ,SAAU,SAAU,gBAC5EC,GAAoB,CAAC,SAAU,SAAU,SACzCC,GAA2B,CAC3B,YAAa,WAAY,QAAS,QAAS,OAAQ,WAAY,UAAW,UAC1E,oBAEAC,GAAqB,CAAC,gBAAiB,WAAY,QAAS,UAAW,QAAS,UAAW,gBAAiB,SAC5GC,GAAsB,CAAC,QAAS,QAAS,OAAQ,WACjDC,GAAmB,CAAC,QAAS,WAC7BC,GApNgC,CAChC,QACA,kBACA,eACA,qBACA,WACA,cACA,OACA,SACA,UACA,iBACA,SACA,mBACA,oBACA,iBACA,YACA,QACA,QACA,cACA,aACA,WACA,OACA,UACA,YACA,WACA,YACA,WACA,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,O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","file":"main.js","sourcesContent":["/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () {\n return 'Promise';\n },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global[api.symbol('fetch')] = fetch_1;\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar zoneSymbol$1 = Zone.__symbol__;\nvar _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol$1('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = _redefineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({\n globalSources: globalSources,\n zoneSymbolEventNames: zoneSymbolEventNames$1,\n eventNames: eventNames,\n isBrowser: isBrowser,\n isMix: isMix,\n isNode: isNode,\n TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR,\n ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR\n }); };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nfunction propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n}\nfunction canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\n(function (_global) {\n _global['__zone_symbol__legacyPatch'] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent$1(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent$1(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","export const APP_CONSTANTS = {\r\n myAlertGridName: 'My Alerts',\r\n myDocumentsGridName: 'My Documents',\r\n myWorkGridName: 'My Work',\r\n myLinksGridName: 'My Links',\r\n versionControlGridname: 'versionControl',\r\n myNotificationRules: 'Notification Rules',\r\n lookupList: 'Lookup List'\r\n};\r\n\r\n\r\nexport const CUSTOM_APP_DATA = {\r\n tiles: [\r\n {\r\n id: 1,\r\n count: '10',\r\n linksText: 'NOTIFICATION RULES',\r\n linkRoute: '/dashboard/no-header-canvas/my-notifications',\r\n firstLineText: 'My Alerts',\r\n secondLineText: 'New Alert: 1',\r\n isRightPanelVisible: true,\r\n isRightPanelOpenByDefault: true,\r\n route: 'dashboard/my-alerts',\r\n rightPanelRoute: 'dashboard/my-alerts/alert-details',\r\n isVisible: true\r\n },\r\n {\r\n id: 2,\r\n count: '5',\r\n linksText: 'MY WORK',\r\n linkRoute: 'My Work',\r\n firstLineText: 'My Tasks (routed to me)',\r\n secondLineText: 'New Task',\r\n isRightPanelVisible: false,\r\n isRightPanelOpenByDefault: false,\r\n route: 'dashboard/my-work',\r\n rightPanelRoute: '',\r\n isVisible: true\r\n\r\n },\r\n {\r\n id: 3,\r\n count: '6',\r\n linksText: 'SEARCH',\r\n linkRoute: 'My Recent Documents',\r\n firstLineText: 'My Recent Documents',\r\n secondLineText: '',\r\n isRightPanelVisible: false,\r\n isRightPanelOpenByDefault: false,\r\n route: 'dashboard/my-documents',\r\n rightPanelRoute: '',\r\n isVisible: true\r\n },\r\n {\r\n id: 4,\r\n count: '0',\r\n linksText: '',\r\n linkRoute: '',\r\n firstLineText: 'My Links',\r\n secondLineText: '',\r\n isRightPanelVisible: false,\r\n isRightPanelOpenByDefault: false,\r\n route: 'dashboard/my-links',\r\n rightPanelRoute: '',\r\n isVisible: true\r\n }\r\n ]\r\n};\r\n","import { createReducer, on, State, Action } from '@ngrx/store';\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\r\nimport { LoadPermissionsSuccess, LoadPermissions } from '../actions/app.actions';\r\n\r\nexport interface AppState extends EntityState {\r\n loadPermissionsSuccess: boolean;\r\n\r\n}\r\n\r\nexport const appAdapter: EntityAdapter = createEntityAdapter();\r\n\r\n\r\nexport const initialState: AppState = appAdapter.getInitialState({\r\n loadPermissionsSuccess: false\r\n\r\n});\r\n\r\n\r\nexport interface PermissionState {\r\n permissions: AppState;\r\n}\r\n\r\nexport const PermissionStateTracker: PermissionState = {\r\n permissions: initialState\r\n};\r\n\r\nconst appReducer = createReducer(\r\n PermissionStateTracker,\r\n on(LoadPermissionsSuccess, (state, { permission }) => {\r\n return {\r\n ...state,\r\n // permissions: appAdapter.addAll(permission, PermissionStateTracker.permissions),\r\n permissions: appAdapter.addOne(permission, PermissionStateTracker.permissions),\r\n loadPermissionsSuccess: true\r\n\r\n };\r\n }),\r\n\r\n);\r\n\r\nexport function reducer(state: PermissionState | undefined, action: Action) {\r\n return appReducer(state, action);\r\n}\r\n\r\n\r\n\r\n\r\nexport const {\r\n\r\n selectAll,\r\n\r\n} = appAdapter.getSelectors();\r\n\r\n\r\n\r\n\r\nexport const selectAllPermission = selectAll;\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport * as _ from \"lodash\";\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AuthService } from \"../services/auth.service\";\r\nlet headers = new HttpHeaders({\r\n \"Content-Type\": \"application/vnd.api+json\",\r\n Accept: \"*/*\",\r\n});\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(private injector: Injector) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const auth = this.injector.get(AuthService);\r\n if (auth.getToken()) {\r\n headers = new HttpHeaders({\r\n Authorization: auth.getToken(),\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"*\",\r\n Accept: \"application/json, text/plain, */*\",\r\n });\r\n\r\n if (request.headers.has(\"searchType\")) {\r\n headers = new HttpHeaders({\r\n Authorization: auth.getToken(),\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"*\",\r\n Accept: \"application/json, text/plain, */*\",\r\n searchType: request.headers.get(\"searchType\"),\r\n });\r\n }\r\n }\r\n\r\n const clonedRequest = request.clone({\r\n headers: headers,\r\n url: request.url,\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpHeaders,\r\n HttpRequest,\r\n HttpResponse,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport * as _ from \"lodash\";\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor() {}\r\n getTokenHeader(): HttpHeaders {\r\n if (this.getToken()) {\r\n return new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n Authorization: this.getToken(),\r\n Accept: \"application/json,*/*\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"*\",\r\n });\r\n } else {\r\n return new HttpHeaders({\r\n \"Content-Type\": \"application/vnd.api+json\",\r\n Accept: \"*/*\",\r\n });\r\n }\r\n }\r\n getToken() {\r\n const token: string = localStorage.getItem(\"gfrtoken\");\r\n return token ? \"Basic \" + token : null;\r\n // return \"Basic o64DTZqW8FOVnZ5fxBT7sBLldlZQsByblKpMZRYinRFdbdX0c0Y1B2sQ925Wh9Cm\";\r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const contentType = \"application/json\";\r\n let headers = new HttpHeaders({\r\n Authorization: this.getToken(),\r\n \"Content-Type\": contentType,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"*\",\r\n Accept: \"application/json, text/plain, */*\",\r\n });\r\n\r\n if (req.headers.has(\"searchType\")) {\r\n headers = new HttpHeaders({\r\n Authorization: this.getToken(),\r\n \"Content-Type\": contentType,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"*\",\r\n Accept: \"application/json, text/plain, */*\",\r\n searchType: req.headers.get(\"searchType\"),\r\n });\r\n }\r\n\r\n const authReq = req.clone({ headers });\r\n return next.handle(authReq).pipe(\r\n tap(\r\n (event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n console.log(\"recieved response\");\r\n }\r\n },\r\n (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status === 401) {\r\n console.log(\"recieved error\");\r\n }\r\n }\r\n }\r\n )\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResourcesService {\r\n\r\n //#region Public properties\r\n readonly urls: any;\r\n readonly Labels: any;\r\n readonly routes: any;\r\n readonly columnDefinitions: any;\r\n readonly dateFormats: any;\r\n readonly notesStatuses: any;\r\n readonly responseMessages: any;\r\n readonly modalText: any;\r\n\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor() {\r\n //URLs\r\n this.urls = {\r\n host: {\r\n services: {\r\n DMS: {\r\n generateOutlookToken: 'DMS/GenerateOutlookToken'\r\n },\r\n Drawer: {\r\n indexes: \"Drawer/Indexes\"\r\n },\r\n Index: {\r\n searchLookup: 'Index/SearchLookup'\r\n },\r\n TRPCAdmin: {\r\n getDrawerList: \"TRPCAdmin/GetDrawerList\",\r\n getWorkFlowList: 'TRPCAdmin/GetWorkFlowList',\r\n getTRPCList: 'TRPCAdmin/GetTRPCList',\r\n getServiceTypeList: 'TRPCAdmin/GetServiceTypeList',\r\n getMultipleTrpcData: 'TRPCAdmin/GetMultipleTrpcData',\r\n getInfoTabConfig: 'TRPCAdmin/GetInfoTabConfig',\r\n getWorkFlowSteps: 'TRPCAdmin/GetWorkFlowSteps',\r\n getScanUsers: 'TRPCAdmin/GetScanUsers',\r\n getCompletionStep: 'TRPCAdmin/GetCompletionStep',\r\n TRPCRouteUsers4Group: 'TRPCAdmin/TRPCRouteUsers4Group',\r\n checkRouteNotification: 'TRPCAdmin/CheckRouteNotification',\r\n },\r\n TRPC: {\r\n searchETaxFolders: 'TRPC/SearchETaxFolders',\r\n searchETaxFolders4Export: 'TRPC/SearchETaxFolders4Export',\r\n getUserRights: 'TRPC/GetUserRights',\r\n getDrawerRights: 'TRPC/GetDrawerRights'\r\n },\r\n Firmflow: {\r\n loadWorkflowRouteUsers: 'Firmflow/LoadWorkflowRouteUsers',\r\n loadWorkflowRouteGroups: 'Firmflow/LoadWorkflowRouteGroups',\r\n loadPicUsers: {\r\n 'all': 'Firmflow/LoadAllPicUsersForScreen',\r\n 'serviceType': 'Firmflow/LoadPicUsersForScreen'\r\n }\r\n },\r\n TaxFolder: {\r\n indexes: \"TaxFolder/Indexes\",\r\n getFolder: \"TaxFolder/GetFolder\",\r\n addFolder: \"TaxFolder/AddFolder\",\r\n deleteFolder: \"TaxFolder/DeleteFolder\",\r\n updateFolder: \"TaxFolder/UpdateFolder\"\r\n },\r\n UserPreferences: {\r\n getScreenPreferences: \"UserPreferences/GetScreenPreferences\",\r\n getTemplate: \"UserPreferences/GetTemplate\",\r\n saveScreenPrefs: \"UserPreferences/SaveScreenPrefs\"\r\n },\r\n Note: {\r\n loadNotes: \"Note/LoadNotes\",\r\n saveFilingNote: \"Note/SaveFilingNote\",\r\n addFilingNote: \"Note/AddFilingNote\",\r\n editFilingNote: \"Note/EditFilingNote\",\r\n getTabNoteTypeId: \"Note/GetTabNoteTypeId\"\r\n },\r\n Filing: {\r\n resetChecklists: \"Filing/resetChecklists\",\r\n getFilings: \"Filing/GetFilings\"\r\n },\r\n Route: {\r\n checkFilings4Route: \"Route/CheckFilings4Route\",\r\n getNextAssigned: \"Route/GetNextAssigned\",\r\n add: \"Route/Add\"\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.Labels = {\r\n SearchWorkFlows: {\r\n ToolBar: {\r\n Options: {\r\n Add: 'Add',\r\n Route: 'Route',\r\n Email: {\r\n mainLabel: 'Email',\r\n options: {\r\n Outlook: 'Email Workflow(s) using Outlook',\r\n GoFileRoom: 'Email Workflow(s) using GoFileRoom'\r\n }\r\n },\r\n OpenTaxReturn: 'Open Tax Return',\r\n Export: 'Export',\r\n Manage: {\r\n mainLabel: 'Manage',\r\n options: {\r\n ResetCheckLists: 'Reset Checklists',\r\n ViewControlSheets: 'View Control Sheets'\r\n }\r\n },\r\n Delete: 'Delete'\r\n }\r\n },\r\n Email: {\r\n WorkflowLink: 'Click here to retrieve the list of GoFileRoom - FirmFlow Workflow(s) sent to you.',\r\n RouteLink: 'Click here to retrieve the list of GoFileRoom - FirmFlow Workflow(s) assigned to you.'\r\n }\r\n },\r\n WorkflowPage: {\r\n notes: {\r\n Toolbar: {\r\n Add: 'Add',\r\n ReplyWithQuote: 'Reply with Quote',\r\n Delete: 'Delete'\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.routes = {\r\n searchWorkflows: '/searchworkflows',\r\n workflowPage: {\r\n main: '/workflow-page',\r\n notes: '/workflow-page/notes'\r\n },\r\n addWorkFlow: '/addWorkflow',\r\n taxFolder: '/taxFolder'\r\n }\r\n\r\n this.columnDefinitions = {\r\n workflowPage: {\r\n notes: {\r\n 'actions': {\r\n binding: 'actions',\r\n header: 'Actions',\r\n hasFilter: false,\r\n minWidth: 76,\r\n width: 76,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true\r\n },\r\n\r\n 'notes': {\r\n binding: 'notes',\r\n header: 'Note',\r\n hasFilter: false,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*',\r\n minWidth: 400,\r\n\r\n },\r\n\r\n 'notes_updated_date': {\r\n binding: 'notes_updated_date',\r\n header: 'Lastest Note At',\r\n minWidth: 170,\r\n hasFilter: false,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'notes_updated_by': {\r\n binding: 'notes_updated_by',\r\n header: 'Lastest Note By',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'note_type_id': {\r\n binding: 'note_type_id',\r\n header: 'Type',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'status_id': {\r\n binding: 'status_id',\r\n header: 'Status',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: false,\r\n width: '*'\r\n },\r\n\r\n 'status_updated_by': {\r\n binding: 'status_updated_by',\r\n header: 'Lastest Status By',\r\n hasFilter: false,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'status_updated_date': {\r\n binding: 'status_updated_date',\r\n header: 'Lastest Status At',\r\n minWidth: 170,\r\n hasFilter: false,\r\n visible: true,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n }\r\n },\r\n filings:{\r\n 'actions': {\r\n binding: 'actions',\r\n header: 'Actions',\r\n hasFilter: false,\r\n minWidth: 82,\r\n width: 82,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true\r\n },\r\n\r\n 'workflow': {\r\n binding: 'workflow',\r\n header: 'Workflow Name',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*',\r\n minWidth: 220,\r\n\r\n },\r\n\r\n 'extended': {\r\n binding: 'extended',\r\n header: 'Extended',\r\n minWidth: 166,\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'filing_name': {\r\n binding: 'filing_name',\r\n header: 'Description',\r\n hasFilter: true,\r\n minWidth: 300,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'due_date': {\r\n binding: 'due_date',\r\n header: 'Due Date',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*',\r\n minWidth: 140,\r\n maxWidth: 170,\r\n },\r\n\r\n 'assigned_to': {\r\n binding: 'assigned_to',\r\n header: 'Assigned To',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: false,\r\n width: '*',\r\n minWidth: 210\r\n },\r\n\r\n 'current_step': {\r\n binding: 'current_step',\r\n header: 'Step',\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'assigned_date': {\r\n binding: 'assigned_date',\r\n header: 'Routing Date',\r\n minWidth: 140,\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n },\r\n\r\n 'status': {\r\n binding: 'status',\r\n header: 'Status',\r\n minWidth: 210,\r\n hasFilter: true,\r\n visible: true,\r\n allowSorting: true,\r\n allowDragging: false,\r\n isReadOnly: true,\r\n width: '*'\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.dateFormats = {\r\n 'MM/DD/YYYY': /^(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](19|20)\\d\\d$/,\r\n 'MM.DD.YYYY': /^(0[1-9]|1[012])[.](0[1-9]|[12][0-9]|3[01])[.](19|20)\\d\\d$/,\r\n 'MM-DD-YYYY': /^(0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[-](19|20)\\d\\d$/,\r\n 'DD/MM/YYYY': /^(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\\d\\d$/,\r\n 'DD.MM.YYYY': /^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\\d\\d$/,\r\n 'DD-MM-YYYY': /^(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)\\d\\d$/,\r\n 'YYYY/MM/DD': /^(19|20)\\d\\d[/](0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])$/,\r\n 'YYYY.MM.DD': /^(19|20)\\d\\d[.](0[1-9]|1[012])[.](0[1-9]|[12][0-9]|3[01])$/,\r\n 'YYYY-MM-DD': /^(19|20)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/,\r\n range: {\r\n 'MM/DD/YYYY': /^(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](19|20)\\d\\d[-](0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](19|20)\\d\\d$/,\r\n 'MM.DD.YYYY': /^(0[1-9]|1[012])[.](0[1-9]|[12][0-9]|3[01])[.](19|20)\\d\\d[-](0[1-9]|1[012])[.](0[1-9]|[12][0-9]|3[01])[.](19|20)\\d\\d$/,\r\n 'MM-DD-YYYY': /^(0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[-](19|20)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[-](19|20)\\d\\d$/,\r\n 'DD/MM/YYYY': /^(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\\d\\d[-](0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\\d\\d$/,\r\n 'DD.MM.YYYY': /^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\\d\\d[-](0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\\d\\d$/,\r\n 'DD-MM-YYYY': /^(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)\\d\\d[-](0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)\\d\\d$/,\r\n 'YYYY/MM/DD': /^(19|20)\\d\\d[/](0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[-](19|20)\\d\\d[/](0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])$/,\r\n 'YYYY.MM.DD': /^(19|20)\\d\\d[.](0[1-9]|1[012])[.](0[1-9]|[12][0-9]|3[01])[-](19|20)\\d\\d[.](0[1-9]|1[012])[.](0[1-9]|[12][0-9]|3[01])$/,\r\n 'YYYY-MM-DD': /^(19|20)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[-](19|20)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])$/,\r\n }\r\n }\r\n\r\n this.notesStatuses = {\r\n 'Open': 'badge-open',\r\n 'Closed': 'badge-closed',\r\n 'Deleted': 'badge-deleted'\r\n }\r\n\r\n this.responseMessages = {\r\n workflowPage: {\r\n notes: {\r\n 0: {\r\n 'success': 'The note status has been successfully updated.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 1: {\r\n 'success': 'A note has been successfully added.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 2: {\r\n 'success': 'The note has been successfully edited.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 3: {\r\n 'success': 'The note reply has been successfully added.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 4: {\r\n 'success': 'The note reply has been successfully added.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 5: {\r\n 'success': 'The note(s) have been successfully deleted.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n }\r\n }\r\n },\r\n workflows: {\r\n 1: {\r\n 'success': 'The Checklist(s) have been successfully reset.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 2: {\r\n 'success': 'The Workflow(s) have been successfully deleted.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 5: {\r\n 'success': 'The Tax Folder has been successfully edited.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.'\r\n },\r\n 4: {\r\n 'success': 'The Workflow(s) have been successfully routed.',\r\n 'danger': 'We were unable to process your request at this time. Please try it again later.',\r\n 'info': {\r\n 2: \"One or more workflow(s) are in the final step.\",\r\n 3: \"You do not have rights to route to the final step.\",\r\n 4: \"One or more workflow(s) do not have next assigned user.\",\r\n 5: \"All selected workflows should be the same type.\"\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.modalText = {\r\n workflowPage: {\r\n notes: {\r\n titleText: {\r\n 0: 'Are you sure you want to change the status?',\r\n 1: 'Add Note',\r\n 2: 'Edit Note',\r\n 3: 'Reply to Note',\r\n 4: 'Reply with Quote',\r\n 5: 'Are you sure you want to delete the note(s)?'\r\n },\r\n\r\n bodyText: {\r\n 0: 'When you change the status for a parent note to {0}, the status for the child note also changes to {0}.\\n\\nDo you want to proceed?',\r\n 5: null\r\n },\r\n\r\n confirmButtonText: {\r\n 0: 'Change',\r\n 1: 'Add',\r\n 2: 'Edit',\r\n 3: 'Reply',\r\n 4: 'Reply',\r\n 5: 'Delete'\r\n }\r\n }\r\n },\r\n workflows: {\r\n titleText: {\r\n 0: 'Error',\r\n 1: 'Are you sure you want to reset the Checklist(s)?',\r\n 2: 'Are you sure you want to delete the Workflow(s)?',\r\n 6: 'Are you sure you want to exit without saving changes?'\r\n },\r\n\r\n bodyText: {\r\n 0: 'Please narrow down your search results.',\r\n 1: null,\r\n 2: null,\r\n 6: null\r\n },\r\n\r\n confirmButtonText: {\r\n 0: 'Ok',\r\n 1: 'Reset',\r\n 2: 'Delete',\r\n 6: 'Exit'\r\n },\r\n\r\n closeButtonText: {\r\n 0: null,\r\n 1: 'Cancel',\r\n 2: 'Cancel',\r\n 6: 'Cancel'\r\n }\r\n }\r\n }\r\n }\r\n\r\n //#endregion\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\nconst getBaseApiUrl = () => {\r\n switch (document.location.hostname) {\r\n case 'localhost':\r\n return 'https://m-services-demo.gofileroom.com/api/';\r\n break;\r\n case 'demo.gofileroom.com':\r\n case 'member-demo.gofileroom.com':\r\n case 'member2-demo.gofileroom.com':\r\n return 'https://m-services-demo.gofileroom.com/api/';\r\n break;\r\n case 'ci.gofileroom.com':\r\n case 'member-ci.gofileroom.com':\r\n case 'member2-ci.gofileroom.com':\r\n return 'https://m-services-ci.gofileroom.com/api/';\r\n break;\r\n case 'qed.gofileroom.com':\r\n case 'member-qed.gofileroom.com':\r\n case 'member2-qed.gofileroom.com':\r\n return 'https://m-services-qed.gofileroom.com/api/';\r\n break;\r\n case 'ukqed.gofileroom.com':\r\n case 'member-ukqed.gofileroom.com':\r\n case 'member2-ukqed.gofileroom.com':\r\n return 'https://m-services-ukqed.gofileroom.com/api/';\r\n break;\r\n case 'gofileroom.com':\r\n case 'www.gofileroom.com':\r\n case 'member.gofileroom.com':\r\n case 'member2.gofileroom.com':\r\n return 'https://m-services.gofileroom.com/api/';\r\n break;\r\n case 'uk.gofileroom.com':\r\n case 'member-uk.gofileroom.com':\r\n case 'member2-uk.gofileroom.com':\r\n return 'https://m-services-uk.gofileroom.com/api/';\r\n break;\r\n }\r\n};\r\n\r\n\r\nexport const environment = {\r\n\r\n production: true,\r\n base_api_uri: getBaseApiUrl(),\r\n\r\n environmentName:\r\n document.location.hostname === 'qa.gofileroom.com' ? 'qa'\r\n : document.location.hostname === 'demo.gofileroom.com' ? 'demo'\r\n : document.location.hostname === 'ci.gofileroom.com' ? 'ci'\r\n : document.location.hostname === 'localhost' ? 'localhost'\r\n :'',\r\n\r\n base_documents_api_uri:\r\n document.location.hostname === 'demo.gofileroom.com' ? 'https://m-services-demo.gofileroom.com/api/'\r\n : document.location.hostname === 'ci.gofileroom.com' ? 'https://m-services-ci.gofileroom.com/api/'\r\n : document.location.hostname === 'qed.gofileroom.com' ? 'https://m-services-qed.gofileroom.com/api/'\r\n : document.location.hostname === 'ukqed.gofileroom.com' ? 'https://m-services-ukqed.gofileroom.com/api/'\r\n : document.location.hostname === 'www.gofileroom.com' ? 'https://m-services.gofileroom.com/api/'\r\n : document.location.hostname === 'gofileroom.com' ? 'https://m-services.gofileroom.com/api/'\r\n : document.location.hostname === 'uk.gofileroom.com' ? 'https://m-services-uk.gofileroom.com/api/'\r\n : document.location.hostname === 'member-ci.gofileroom.com' ? 'https://m-services-ci.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-ci.gofileroom.com' ? 'https://m-services-ci.gofileroom.com/api/'\r\n : document.location.hostname === 'member-demo.gofileroom.com' ? 'https://m-services-demo.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-demo.gofileroom.com' ? 'https://m-services-demo.gofileroom.com/api/'\r\n : document.location.hostname === 'member-qed.gofileroom.com' ? 'https://m-services-qed.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-qed.gofileroom.com' ? 'https://m-services-qed.gofileroom.com/api/'\r\n : document.location.hostname === 'member-ukqed.gofileroom.com' ? 'https://m-services-ukqed.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-ukqed.gofileroom.com' ? 'https://m-services-ukqed.gofileroom.com/api/'\r\n : document.location.hostname === 'member-uk.gofileroom.com' ? 'https://m-services-uk.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-uk.gofileroom.com' ? 'https://m-services-uk.gofileroom.com/api/'\r\n : document.location.hostname === 'member.gofileroom.com' ? 'https://m-services.gofileroom.com/api/'\r\n : document.location.hostname === 'member2.gofileroom.com' ? 'https://m-services.gofileroom.com/api/'\r\n :'https://m-services.gofileroom.com/api/',\r\n\r\n base_dashboard_api_uri:\r\n document.location.hostname === 'demo.gofileroom.com' ? 'https://dashboard-services-demo.gofileroom.com/api/v1'\r\n : document.location.hostname === 'ci.gofileroom.com' ? 'https://dashboard-services-ci.gofileroom.com/api/v1'\r\n : document.location.hostname === 'qed.gofileroom.com' ? 'https://dashboard-services-qed.gofileroom.com/api/v1'\r\n : document.location.hostname === 'ukqed.gofileroom.com' ? 'https://dashboard-services-ukqed.gofileroom.com/api/v1'\r\n : document.location.hostname === 'www.gofileroom.com' ? 'https://dashboard-services.gofileroom.com/api/v1'\r\n : document.location.hostname === 'gofileroom.com' ? 'https://dashboard-services.gofileroom.com/api/v1'\r\n : document.location.hostname === 'uk.gofileroom.com' ? 'https://dashboard-services-uk.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member-ci.gofileroom.com' ? 'https://dashboard-services-ci.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member2-ci.gofileroom.com' ? 'https://dashboard-services-ci.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member-demo.gofileroom.com' ? 'https://dashboard-services-demo.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member2-demo.gofileroom.com' ? 'https://dashboard-services-demo.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member-qed.gofileroom.com' ? 'https://dashboard-services-qed.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member2-qed.gofileroom.com' ? 'https://dashboard-services-qed.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member-ukqed.gofileroom.com' ? 'https://dashboard-services-ukqed.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member2-ukqed.gofileroom.com' ? 'https://dashboard-services-ukqed.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member-uk.gofileroom.com' ? 'https://dashboard-services-uk.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member2-uk.gofileroom.com' ? 'https://dashboard-services-uk.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member.gofileroom.com' ? 'https://dashboard-services.gofileroom.com/api/v1'\r\n : document.location.hostname === 'member2.gofileroom.com' ? 'https://dashboard-services.gofileroom.com/api/v1'\r\n :'https://dashboard-services.gofileroom.com/api/v1',\r\n\r\n \r\n\r\n strrooturl:\r\n document.location.hostname === 'demo.gofileroom.com' ? 'https://demo.gofileroom.com/'\r\n : document.location.hostname === 'ci.gofileroom.com' ? 'https://ci.gofileroom.com/'\r\n : document.location.hostname === 'qed.gofileroom.com' ? 'https://qed.gofileroom.com/'\r\n : document.location.hostname === 'ukqed.gofileroom.com' ? 'https://ukqed.gofileroom.com/'\r\n : document.location.hostname === 'www.gofileroom.com' ? 'https://www.gofileroom.com/'\r\n : document.location.hostname === 'gofileroom.com' ? 'https://www.gofileroom.com/'\r\n : document.location.hostname === 'uk.gofileroom.com' ? 'https://uk.gofileroom.com/'\r\n : document.location.hostname === 'member-ci.gofileroom.com' ? 'https://member-ci.gofileroom.com/'\r\n : document.location.hostname === 'member2-ci.gofileroom.com' ? 'https://member2-ci.gofileroom.com/'\r\n : document.location.hostname === 'member-demo.gofileroom.com' ? 'https://member-demo.gofileroom.com/'\r\n : document.location.hostname === 'member2-demo.gofileroom.com' ? 'https://member2-demo.gofileroom.com/'\r\n : document.location.hostname === 'member-qed.gofileroom.com' ? 'https://member-qed.gofileroom.com/'\r\n : document.location.hostname === 'member2-qed.gofileroom.com' ? 'https://member2-qed.gofileroom.com/'\r\n : document.location.hostname === 'member-ukqed.gofileroom.com' ? 'https://member-ukqed.gofileroom.com/'\r\n : document.location.hostname === 'member2-ukqed.gofileroom.com' ? 'https://member2-ukqed.gofileroom.com/'\r\n : document.location.hostname === 'member-uk.gofileroom.com' ? 'https://member-uk.gofileroom.com/'\r\n : document.location.hostname === 'member2-uk.gofileroom.com' ? 'https://member2-uk.gofileroom.com/'\r\n : document.location.hostname === 'member.gofileroom.com' ? 'https://member.gofileroom.com/'\r\n : document.location.hostname === 'member2.gofileroom.com' ? 'https://member2.gofileroom.com/'\r\n :'https://www.gofileroom.com/',\r\n\r\n base_workflows_api_uri:\r\n document.location.hostname === 'demo.gofileroom.com' ? 'https://firmflow-api-demo.gofileroom.com/api/'\r\n : document.location.hostname === 'ci.gofileroom.com' ? 'https://firmflow-api-ci.gofileroom.com/api/'\r\n : document.location.hostname === 'qed.gofileroom.com' ? 'https://firmflow-api-qed.gofileroom.com/api/'\r\n : document.location.hostname === 'ukqed.gofileroom.com' ? 'https://firmflow-api-ukqed.gofileroom.com/api/'\r\n : document.location.hostname === 'www.gofileroom.com' ? 'https://firmflow-api.gofileroom.com/api/'\r\n : document.location.hostname === 'gofileroom.com' ? 'https://firmflow-api.gofileroom.com/api/'\r\n : document.location.hostname === 'uk.gofileroom.com' ? 'https://firmflow-api-uk.gofileroom.com/api/'\r\n : document.location.hostname === 'member-ci.gofileroom.com' ? 'https://firmflow-api-ci.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-ci.gofileroom.com' ? 'https://firmflow-api-ci.gofileroom.com/api/'\r\n : document.location.hostname === 'member-demo.gofileroom.com' ? 'https://firmflow-api-demo.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-demo.gofileroom.com' ? 'https://firmflow-api-demo.gofileroom.com/api/'\r\n : document.location.hostname === 'member-qed.gofileroom.com ' ? 'https://firmflow-api-qed.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-qed.gofileroom.com ' ? 'https://firmflow-api-qed.gofileroom.com/api/'\r\n : document.location.hostname === 'member-ukqed.gofileroom.com ' ? 'https://firmflow-api-ukqed.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-ukqed.gofileroom.com ' ? 'https://firmflow-api-ukqed.gofileroom.com/api/'\r\n : document.location.hostname === 'member-uk.gofileroom.com ' ? 'https://firmflow-api-uk.gofileroom.com/api/'\r\n : document.location.hostname === 'member2-uk.gofileroom.com ' ? 'https://firmflow-api-uk.gofileroom.com/api/'\r\n : document.location.hostname === 'member.gofileroom.com ' ? 'https://firmflow-api.gofileroom.com/api/'\r\n : document.location.hostname === 'member2.gofileroom.com ' ? 'https://firmflow-api.gofileroom.com/api/'\r\n : 'https://firmflow-api.gofileroom.com/api/',\r\n\r\n defaultTimeOutValue: 30\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbDateParserFormatter, NgbDateStruct, NgbTimeStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ResourcesService } from '../../resources/resources.service';\r\n\r\nfunction padNumber(value: number) {\r\n return isNumber(value) ? `0${value}`.slice(-2) : \"\";\r\n}\r\n\r\nfunction isNumber(value: any): boolean {\r\n return !isNaN(toInteger(value));\r\n}\r\n\r\nfunction toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgbDateGlobalParserFormatter extends NgbDateParserFormatter {\r\n\r\n private globalDateFormat: string;\r\n private globalTimeFormat: string;\r\n private useMeridian: boolean;\r\n private globalDateSep;\r\n private globalTimeSep: string;\r\n\r\n constructor(private resources: ResourcesService) {\r\n super();\r\n this.globalDateFormat = localStorage.getItem('globalDateFormat');\r\n this.globalTimeFormat = localStorage.getItem('globalTimeFormat');\r\n this.useMeridian = localStorage.getItem('globalTime12H') === 'true';\r\n this.globalDateSep = localStorage.getItem('globalDateSep');\r\n this.globalTimeSep = localStorage.getItem('globalTimeSep');\r\n }\r\n\r\n get UseMeridian(): boolean {\r\n return this.useMeridian;\r\n }\r\n\r\n get GlobalDateFormat(): string {\r\n return this.globalDateFormat;\r\n }\r\n\r\n get GlobalDateSep(): string {\r\n return this.globalDateSep;\r\n }\r\n\r\n get DatePattern(): RegExp {\r\n return this.resources.dateFormats[this.globalDateFormat];\r\n }\r\n\r\n get DateRangePattern(): RegExp {\r\n return this.resources.dateFormats.range[this.globalDateFormat];\r\n }\r\n\r\n get DateFormatRequest(): string {\r\n return this.globalDateFormat.replace(\"DD\", \"dd\").replace(\"YYYY\", \"yyyy\");\r\n }\r\n\r\n get TimeFormatRequest(): string {\r\n return this.useMeridian ? this.globalTimeFormat.toLowerCase() : this.globalTimeFormat.replace(\"MM\", \"mm\").replace(\"SS\", \"ss\");\r\n }\r\n\r\n get DateTimeFormatRequest(): string {\r\n // Mobilize-Note: osalazar. Remove AM/PM string from the time format.\r\n return `${this.DateFormatRequest} ${this.TimeFormatRequest.split(\" \")[0]} ${this.useMeridian ? 'tt' : ''}`;\r\n }\r\n\r\n getDatePropertyIndex(format: string, formatIndexes: any) {\r\n return formatIndexes[0] === format\r\n ? 0\r\n : formatIndexes[1] === format\r\n ? 1\r\n : 2\r\n }\r\n\r\n getDatePropertyValue(formatIndex: number, formatIndexes: any, date: NgbDateStruct) {\r\n let dateProperty = this.getDateProperty(formatIndexes[formatIndex])\r\n return dateProperty === 'year'\r\n ? date[dateProperty]\r\n : isNumber(date[dateProperty])\r\n ? padNumber(date[dateProperty])\r\n : '';\r\n }\r\n\r\n getDateProperty(format: string) {\r\n return format === 'DD'\r\n ? 'day'\r\n : format === 'MM'\r\n ? 'month'\r\n : 'year'\r\n }\r\n\r\n parse(value: string): NgbDateStruct {\r\n if (value) {\r\n const dateParts = value.trim().split(this.globalDateSep);\r\n const formatIndexes: string[] = this.globalDateFormat.split(this.globalDateSep);\r\n if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\r\n return {\r\n day: toInteger(dateParts[this.getDatePropertyIndex(\"DD\", formatIndexes)]),\r\n month: toInteger(dateParts[this.getDatePropertyIndex(\"MM\", formatIndexes)]),\r\n year: toInteger(dateParts[this.getDatePropertyIndex(\"YYYY\", formatIndexes)])\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct): string {\r\n const formatIndexes: string[] = this.globalDateFormat.split(this.globalDateSep);\r\n return date\r\n ? `${this.getDatePropertyValue(0, formatIndexes, date)}${this.globalDateSep}${this.getDatePropertyValue(1, formatIndexes, date)}${this.globalDateSep}${this.getDatePropertyValue(2, formatIndexes, date)}`\r\n : '';\r\n }\r\n\r\n getRangeFromString(rangeString: string) {\r\n let range = rangeString.replace(/\\s/g, '');\r\n let fromDate = this.ConvertUserFormatToSqlString(this.parse(range.substring(0, this.globalDateFormat.length)));\r\n let toDate = undefined;\r\n\r\n if (range.length > this.globalDateFormat.length) {\r\n toDate = this.ConvertUserFormatToSqlString(this.parse(range.substring(this.globalDateFormat.length + 1)));\r\n }\r\n\r\n return { fromDate: fromDate, toDate: toDate }\r\n }\r\n\r\n getRangeFromDate(fromDate: NgbDateStruct) {\r\n return { fromDate: this.ConvertUserFormatToSqlString(fromDate), toDate: undefined }\r\n }\r\n\r\n ConvertUserFormatToSqlString(date: NgbDateStruct): string {\r\n return date\r\n ? `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}`\r\n : '';\r\n }\r\n\r\n getFormattedTime(time: NgbTimeStruct): string {\r\n return time ? `${padNumber(time.hour)}${this.globalTimeSep}${padNumber(time.minute)}${this.globalTimeSep}${padNumber(time.second)}` : ''\r\n }\r\n}\r\n","import { createEffect, ofType, Actions } from '@ngrx/effects';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { Store, Action } from '@ngrx/store';\r\nimport { LayoutActionTypes, AllTilesRequested, AllTilesLoaded } from '../actions/layout.actions';\r\nimport { Injectable } from '@angular/core';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\nimport { LayoutState } from '../reducers/layout.reducer';\r\n\r\n@Injectable()\r\nexport class LayoutEffects {\r\n\r\n loadAllTiles$: Observable = createEffect(() => this.actions$\r\n .pipe(\r\n ofType(LayoutActionTypes.AllTilesRequested),\r\n\r\n switchMap((action: any) => this.layoutService.getTiles()),\r\n map((data: any) => AllTilesLoaded({ tiles: data }))\r\n ));\r\n\r\n\r\n/*\r\n\r\n\r\n combineLatest(\r\n this.store.select(getUsersByIds(userIds)),\r\n this.store.select(getGroupsByIds(groupIds))\r\n ).subscribe(([users, groups]) => {\r\n this.setSelectedUsers(users);\r\n this.setSelectedGroups(groups);\r\n });\r\n */\r\n\r\n /* loadMovies$ = createEffect(() => this.actions$.pipe(\r\n ofType('[Movies Page] Load Movies'),\r\n mergeMap(() => this.moviesService.getAll()\r\n .pipe(\r\n map(movies => ({ type: '[Movies API] Movies Loaded Success', payload: movies })),\r\n catchError(() => EMPTY)\r\n ))\r\n )\r\n ); */\r\n constructor(private actions$: Actions, private layoutService: LayoutService,\r\n private store: Store) {\r\n\r\n }\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\n\r\n\r\nexport enum PermissionsActionTypes {\r\n LoadPermissions = '[Permission] Load Permissions',\r\n LoadPermissionsSuccess = '[Permission] Load Permissions Success'\r\n\r\n}\r\n\r\nexport const LoadPermissions = createAction(PermissionsActionTypes.LoadPermissions);\r\n\r\nexport const LoadPermissionsSuccess = createAction(PermissionsActionTypes.LoadPermissionsSuccess,\r\n props<{ permission: any}>());\r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n

{{message}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

{{message}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

{{message}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n\r\n selector: 'generic',\r\n templateUrl: './popupmodel.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styleUrls:[\"./popupmodel.component.scss\"]\r\n})\r\nexport class PopupModalComponent implements OnInit {\r\n\r\n @Input() type: string;\r\n @Input() message: string;\r\n @Output() GenericPopup = new EventEmitter();\r\n isAlert: boolean = false;\r\n success: boolean = false;\r\n public isConfirmed: string = '';\r\n @Input() isConfirmModal: boolean = false;\r\n @Input() isAlertSuccess: boolean = false;\r\n @Input() okButtonCaption: string;\r\n @Input() cancelButtonCaption: string;\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n }\r\n confirm() {\r\n this.isConfirmed = 'confirmed';\r\n this.isAlert = false;\r\n this.success = false;\r\n this.GenericPopup.emit(this.isConfirmed);\r\n this.activeModal.close();\r\n }\r\n ngOnInit() {\r\n if (this.type === 'success') {\r\n this.success = true;\r\n }\r\n if (this.type === 'warning') {\r\n this.isAlert = true;\r\n }\r\n if (this.type === 'confirm') {\r\n this.type = 'Confirmation';\r\n }\r\n if (this.type === 'alertSuccess') {\r\n this.isAlertSuccess = true;\r\n }\r\n }\r\n}\r\n","import { Injectable, EventEmitter, Output, Directive } from '@angular/core';\r\nimport { PopupModalComponent } from '../../core/components/popupmodel.component';\r\nimport { NgbModal, NgbActiveModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Directive()\r\n@Injectable()\r\nexport class PopmodalService {\r\n modalRef: NgbModalRef;\r\n constructor(private modalService: NgbModal,\r\n public activeModal: NgbActiveModal) { }\r\n public content: any\r\n @Output() navchange = new EventEmitter();\r\n\r\n alert(type: string, message: string, okButtonCaption: string = \"Ok\"): void {\r\n this.modalRef = this.modalService.open(PopupModalComponent,\r\n { backdropClass: 'light-blue-backdrop', windowClass: 'confirm-modal' });\r\n this.modalRef.componentInstance.type = type;\r\n this.modalRef.componentInstance.message = message;\r\n this.modalRef.componentInstance.okButtonCaption = okButtonCaption;\r\n }\r\n confirm(message: string, okButtonCaption: string = \"Ok\", cancelButtonCaption: string = \"Cancel\"): any {\r\n if (okButtonCaption == '') {\r\n okButtonCaption = 'OK'\r\n }\r\n this.modalRef = this.modalService.open(PopupModalComponent, { backdropClass: 'light-blue-backdrop', windowClass: 'confirm-modal' });\r\n this.modalRef.componentInstance.type = 'confirm';\r\n this.modalRef.componentInstance.message = message;\r\n this.modalRef.componentInstance.isConfirmModal = true;\r\n this.modalRef.componentInstance.okButtonCaption = okButtonCaption;\r\n this.modalRef.componentInstance.cancelButtonCaption = cancelButtonCaption;\r\n return this.modalRef.componentInstance.GenericPopup;\r\n }\r\n getNavChangeEmitter() {\r\n return this.navchange;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-no-events',\r\n templateUrl: './no-events.component.html',\r\n styleUrls: ['./no-events.component.scss']\r\n})\r\nexport class NoEventsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n \r\n

Subscribe to events

\r\n
You can subscribe to an event to receive alert
\r\n \r\n
","\r\n
0 else nodata\">\r\n
\r\n

Event Webhook Registrations

\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n
{{ row.index+1 }}
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n\r\n 10\" \r\n [page]=\"data.pageIndex + 1\"\r\n [directionLinks]=\"true\"\r\n [boundaryLinks]=\"true\"\r\n [totalItems]=\"data.totalItemCount\"\r\n [(itemsPerPage)]=\"data.pageSize\"\r\n (itemsPerPageChange)=\"onPageSizeChanged($event)\"\r\n (pageChange)=\"onPageChanged($event)\"\r\n [goToLink]=\"false\"\r\n>\r\n\r\n
\r\n\r\n \r\n\r\n\r\n","import { Component, OnInit,ElementRef, EventEmitter,ViewChildren, ViewChild, QueryList, OnChanges, OnDestroy, Inject } from '@angular/core';\r\nimport { BentoToolbarItem, BentoAlertItemOptions } from '@bento/bento-ng';\r\nimport { Action, Store, select } from '@ngrx/store';\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable } from 'rxjs';\r\nimport { EventsAdministrationService } from '../../../../core/services/events-administration/events-administration.service';\r\nimport { APP_CONSTANTS, CUSTOM_APP_DATA } from '../../../../../assets/configs/app-data';\r\nimport { EventsAdmin } from 'src/app/core/models/events-admin/events-admin';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport * as wjcCore from \"@grapecity/wijmo\";\r\nimport * as wjcGrid from \"@grapecity/wijmo.grid\";\r\nimport * as wjcGridFilter from \"@grapecity/wijmo.grid.filter\";\r\nimport {DOCUMENT} from '@angular/common';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n\r\n@Component({\r\n selector: 'app-show-all-events',\r\n templateUrl: './show-all-events.component.html',\r\n styleUrls: ['./show-all-events.component.scss']\r\n})\r\nexport class ShowAllEventsComponent implements OnInit {\r\n //dataEmitter: EventEmitter = new EventEmitter();\r\n products: string[];\r\n isListGrid: boolean = false;\r\n // Get reference to gridFilter via ViewChild (see #filter in flexgrid.html)\r\n @ViewChild('filter', {static: true}) gridFilter: wjcGridFilter.FlexGridFilter;\r\n // Get reference to FlexGrid control (see #flexGrid in flexgrid.html)\r\n @ViewChild('flexGrid', {static: true}) flexGrid: wjcGrid.FlexGrid;\r\n // reference to FlexGrid Data Collection View\r\n data: wjcCore.CollectionView;\r\n\r\n @ViewChild('filter', {static: true}) filter: ElementRef;\r\n filterValue: string;\r\n\r\n /**\r\n * Pagination Setup data\r\n */\r\n pageInfo: any = {\r\n infoText: '_START_ to _END_ of _MAX_ Users',\r\n infoPageText: '_PAGE_ of _PAGES_',\r\n goText: 'Go',\r\n pageSize: 25\r\n };\r\n totalItemCount: number;\r\n public filteredColumns = [];\r\n \r\n /**\r\n * Store Grid's column definition in array\r\n */\r\n columnDefinitions: any[] = [\r\n \r\n {\r\n binding: 'actions',\r\n header: 'Actions',\r\n filterType: 0,\r\n minWidth: 130,\r\n width: 130,\r\n allowSorting: false,\r\n allowDragging: false,\r\n isReadOnly: true\r\n },\r\n {\r\n binding: 'eventName',\r\n header: 'Event Name',\r\n filterType: 3,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'creationDate',\r\n header: 'CreationDate',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'description',\r\n header: 'Description',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'associatedProduct',\r\n header: 'Associated Product',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'associatedChannel',\r\n header: 'Associated Channel',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'callbackUrl',\r\n header: 'Callback URL',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'createdBy',\r\n header: 'Created By',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n {\r\n binding: 'status',\r\n header: 'Status',\r\n filterType: 0,\r\n visible: true,\r\n width: '*'\r\n },\r\n ];\r\n\r\n /**\r\n * convert columnDefinition array to object with binding as key\r\n * for use in template\r\n */\r\n columnDefinitionsByBinding: any = this.columnDefinitions.reduce((result, item) => {\r\n result[item.binding] = item;\r\n return result;\r\n }, {});\r\n\r\n/**\r\n * Event Handler for Actions Column Icons\r\n */\r\nactions: any = {\r\n editRow: msg => {\r\n console.info('msg', msg, this.columnDefinitionsByBinding);\r\n }\r\n};\r\n\r\n /**\r\n * Toolbar configruation data\r\n */\r\n toolbarConfig: any = {\r\n filterButtonHidden: false,\r\n filtersHidden: true,\r\n groupButtonHidden: false,\r\n groupPanelHidden: false,\r\n toggleFilter: this.toggleFilter.bind(this),\r\n toggleGroupPanel: () => {\r\n this.toolbarConfig.groupPanelHidden = !this.toolbarConfig.groupPanelHidden;\r\n }\r\n };\r\n\r\n\r\n\r\n/**\r\n * Toolbar Items Data\r\n */\r\ntoolbarData: any[] = [\r\n {\r\n label: 'Add Event Registration',\r\n icon: 'bento-icon-add',\r\n action: () => {\r\n this.router.navigate(['eventsAdmin/registration-page']); // Redirect to registration-page \r\n }\r\n }\r\n];\r\n\r\n \r\n constructor(@Inject(DOCUMENT) private eventsService: EventsAdministrationService,\r\n private layoutService: LayoutService,\r\n private router: Router) {\r\n // create some data for demo\r\n const data = [];\r\n const DEMO_NUM_COLS = 30;\r\n const DEMO_NUM_ROWS = 1000;\r\n this.layoutService.setBusyLoader(true);\r\n \r\n \r\n let item={\r\n id: 1,\r\n selected: false,\r\n createdBy:\"TestUser\",\r\n eventName: \"Add Documents\",\r\n description: 'Description of event',\r\n product:\"GoFileRoom\",\r\n age: Math.round(10 + Math.random() * 100),\r\n quantity: Math.round(Math.random() * 1000),\r\n associatedProduct:\"GoFileRoom\",\r\n associatedChannel:\"Documents\",\r\n callbackUrl:\"https://dev.api.transit-hub.thomsonreuters.com/webhooks/callback\",\r\n creationDate: new Date(),\r\n status: 'Active'\r\n\r\n };\r\n data.push(item);\r\n // assign data to collection view\r\n this.data = new wjcCore.CollectionView(data);\r\n this.data.pageSize = this.pageInfo.pageSize;\r\n //this.dataEmitter.emit(products);\r\n\r\n this.totalItemCount = this.data._view.length;\r\n\r\n this.filteredColumns = ['eventName', 'description', 'associatedProduct','associatedChannel', 'callbackUrl', 'createdBy','creationDate', 'status'];\r\n }\r\n\r\n \r\n /**\r\n * Handler for FlexGrid's Initialized method\r\n */\r\n gridInitialized() {\r\n this.initializeHeaders();\r\n //this.setUpTooltips();\r\n // select cell under 'ID' column in first row\r\n if (this.flexGrid) {\r\n this.flexGrid.select(new wjcGrid.CellRange(0, 1, 0, 1), true);\r\n }\r\n // this.flexGrid\r\n }\r\n\r\n /**\r\n * Initialize Multi Select Checkboxes\r\n */\r\n initializeHeaders() {\r\n if (this.flexGrid) {\r\n const hc = new wjcGrid.Column();\r\n this.flexGrid.rowHeaders.columns.push(hc);\r\n this.flexGrid.rowHeaders.columns[1].width = 36;\r\n }\r\n }\r\n\r\n /**\r\n * Pagination Size Changed Event Handler\r\n */\r\n onPageSizeChanged(size) {\r\n this.data.pageSize = size;\r\n // this.onCheckBoxChange();\r\n }\r\n\r\n /**\r\n * Pagination Page Changed Event Handler\r\n */\r\n onPageChanged(page) {\r\n this.data.moveToPage(page - 1);\r\n //this.onCheckBoxChange();\r\n }\r\n\r\n \r\n /**\r\n * toggle filter handler from Bento Toolbar\r\n */\r\n toggleFilter() {\r\n this.toolbarConfig.filtersHidden = !this.toolbarConfig.filtersHidden;\r\n if (this.gridFilter) {\r\n // if filters are hidden, clear the grid filter\r\n if (this.toolbarConfig.filtersHidden) {\r\n this.gridFilter.clear();\r\n }\r\n // iterate through columns to filtered\r\n for (let i = 0, il = this.columnDefinitions.length; i < il; i++) {\r\n // get column and column filter\r\n const col = this.gridFilter.grid.columns.getColumn(this.columnDefinitions[i].binding);\r\n const cf: any = col ? this.gridFilter.getColumnFilter(col, true) : {};\r\n // switch filterType to 0 if filters hidden, otherwise to filterType defined in model\r\n cf.filterType = this.toolbarConfig.filtersHidden ? 0 : this.columnDefinitions[i].filterType;\r\n \r\n }\r\n \r\n // refresh grid\r\n this.gridFilter.grid.refresh();\r\n }\r\n }\r\n\r\n /**\r\n * Update the Rows Height of the grid - default is 36px for rows and header\r\n */\r\n updateFlexGridRowHeight(grid, height, headHeight) {\r\n height = height || 36;\r\n grid.rows.defaultSize = height;\r\n const headerHeight = 36;\r\n for (let i = 0, total = grid.columnHeaders.rows.length; i < total; i++) {\r\n grid.columnHeaders.rows[i].height = headHeight && headHeight[i] ? headHeight[i] : headerHeight;\r\n }\r\n }\r\n\r\n\r\n \r\n // After View Init Handler\r\n ngOnInit() { \r\n this.showdivBusyLoader(); \r\n this.toggleFilter();\r\n\r\n }\r\n\r\n onFilterChange() {\r\n\r\n console.log('on filter change', this.filterValue);\r\n if (!this.flexGrid) {\r\n return;\r\n }\r\n // this.notesModel.filterChanged(this.flexGrid, filter, e);\r\n this.flexGrid.collectionView.filter = (item: any) => {\r\n return this.filterValue.length == 0 || item.eventName.toLowerCase().indexOf(this.filterValue) > -1\r\n }\r\n }\r\n\r\n filterChanged(flexGrid: any, filter: wjcGridFilter.FlexGridFilter, e: wjcGrid.CellRangeEventArgs) {\r\n\t\te.cancel = true;\r\n\t\tconst column: wjcGrid.Column = filter.grid.columns[e.col];\r\n\t\tconst columnFilter = filter.getColumnFilter(e.col);\r\n\t\tlet showValues = columnFilter.valueFilter.showValues;\r\n\t\t// this.setValuesVisibility(showValues, column.binding, column.dataMap);\r\n\t\t// this.filterRows(flexGrid);\r\n\t}\r\n\r\n // filter by country\r\n filter2(e: any) {\r\n let filter = (e.target).value.toLowerCase();\r\n this.data.filter = (item: any) => {\r\n return filter.length == 0 || item.eventName.toLowerCase().indexOf(filter) > -1\r\n }\r\n}\r\n\r\n showdivBusyLoader() {\r\n this.layoutService.setBusyLoader(true);\r\n setTimeout(() => (\r\n this.layoutService.setBusyLoader(false)), 500);\r\n }\r\n\r\n fetchData() {\r\n this.eventsService.getAllEvents().subscribe(data => {\r\n this.data = new wjcCore.CollectionView(data);\r\n this.data.pageSize = this.pageInfo.pageSize;\r\n }, error => {\r\n console.error('Error fetching data', error);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'app-events-administration-base',\r\n templateUrl: './events-administration-base.component.html',\r\n styleUrls: ['./events-administration-base.component.scss']\r\n})\r\nexport class EventsAdministrationBaseComponent implements OnInit {\r\n\r\n constructor( private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.router.navigate(['eventsAdmin/show-all-events']); \r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n Request Payload\r\n \r\n \r\n \r\n
  • \r\n
  • \r\n Schema Specification\r\n \r\n \r\n \r\n
  • \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n ","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { IsHeaderMenuVisible, RoutedTab, AllTilesRequested } from '../../../../../app/layout/store';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { BentoAlertItemOptions, BentoComboboxOptions, BentoComboboxColumn } from '@bento/bento-ng';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { EventsAdministrationService } from '../../../../core/services/events-administration/events-administration.service';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n@Component({\r\n selector: 'app-schema-browser',\r\n templateUrl: './schema-browser.component.html',\r\n styleUrls: ['./schema-browser.component.scss']\r\n})\r\nexport class SchemaBrowserComponent implements OnInit {\r\n \r\n dataStreamProduct: BehaviorSubject = new BehaviorSubject([]);\r\n dataStreamChannel: BehaviorSubject = new BehaviorSubject([]);\r\n dataStreamSchema: BehaviorSubject = new BehaviorSubject([]);\r\n dataStreamRegistration: BehaviorSubject = new BehaviorSubject([]);\r\n count: number = 0;\r\n isComboboxDisabled: boolean = false;\r\n isReadonly: boolean = false;\r\n comboboxOptionsProduct: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n comboboxOptionsChannel: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n comboboxOptionsSchema: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n comboboxOptionsRegistration: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n public selectedRowProduct: any;\r\n public selectedRowChannel: any;\r\n public selectedRowSchema: any;\r\n public selectedRowRegistration: any;\r\n constructor(@Inject(DOCUMENT) private eventsService: EventsAdministrationService,private layoutService: LayoutService) { \r\n this.count = 0;\r\n this.selectedRowProduct = null;\r\n this.selectedRowChannel = null;\r\n this.selectedRowSchema = null;\r\n this.selectedRowRegistration = null;\r\n this.dataStreamProduct = new BehaviorSubject(this._generateDataProduct(1));\r\n this.dataStreamChannel = new BehaviorSubject(this._generateDataChannel(1));\r\n this.dataStreamSchema = new BehaviorSubject(this._generateDataSchema(1));\r\n this.dataStreamRegistration = new BehaviorSubject(this._generateDataRegistration(1));\r\n }\r\n private _generateDataProduct(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'GoFileRoom'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n private _generateDataChannel(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'Document'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n private _generateDataSchema(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'Add-Document-Events'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n private _generateDataRegistration(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'OITTEST'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ShowAllEventsComponent } from './components/show-all-events/show-all-events.component'; \r\nimport { EventsAdministrationBaseComponent } from './components/events-administration-base/events-administration-base.component';\r\nimport { SchemaBrowserComponent } from './components/schema-browser/schema-browser.component';\r\nimport { RegistrationPageComponent } from './components/registration-page/registration-page.component';\r\n\r\n\r\nconst routes: Routes = [{\r\n path: '',\r\n component: EventsAdministrationBaseComponent,\r\n children: [\r\n { path: 'eventsAdmin/show-all-events', component: ShowAllEventsComponent },\r\n { path: 'eventsAdmin/registration-page', component: RegistrationPageComponent },\r\n { path: 'eventsAdmin/schema-browser', component: SchemaBrowserComponent } \r\n ]\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class GfrEventsAdministrationRoutingModule { }\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {DOCUMENT, Location} from '@angular/common';\r\nimport { EventsAdministrationService } from '../../../../core/services/events-administration/events-administration.service';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\nimport { BentoAlertItemOptions, BentoComboboxOptions, BentoComboboxColumn, BentoActionableItem, BentoContextualHeaderItem } from '@bento/bento-ng';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-registration-page',\r\n templateUrl: './registration-page.component.html',\r\n styleUrls: ['./registration-page.component.scss']\r\n})\r\nexport class RegistrationPageComponent implements OnInit {\r\n dataStreamProduct: BehaviorSubject = new BehaviorSubject([]);\r\n dataStreamChannel: BehaviorSubject = new BehaviorSubject([]);\r\n dataStreamSchema: BehaviorSubject = new BehaviorSubject([]);\r\n dataStreamStatus: BehaviorSubject = new BehaviorSubject([]);\r\n \r\n count: number = 0;\r\n isComboboxDisabled: boolean = false;\r\n isReadonly: boolean = false;\r\n comboboxOptionsProduct: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n comboboxOptionsChannel: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n comboboxOptionsSchema: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n comboboxOptionsStatus: BentoComboboxOptions = {\r\n searchable: true,\r\n autoSelect: false\r\n };\r\n items: BentoContextualHeaderItem[];\r\n public selectedRowProduct: any;\r\n public selectedRowChannel: any;\r\n public selectedRowSchema: any;\r\n public selectedRowStatus: any;\r\n constructor(@Inject(DOCUMENT) private eventsService: EventsAdministrationService,\r\n private layoutService: LayoutService,\r\n private router: Router,\r\n private location: Location) {\r\n this.count = 0;\r\n this.selectedRowProduct = null;\r\n this.selectedRowChannel = null;\r\n this.selectedRowSchema = null;\r\n this.selectedRowStatus = null;\r\n this.dataStreamProduct = new BehaviorSubject(this._generateDataProduct(1));\r\n this.dataStreamChannel = new BehaviorSubject(this._generateDataChannel(1));\r\n this.dataStreamSchema = new BehaviorSubject(this._generateDataSchema(1));\r\n this.dataStreamStatus = new BehaviorSubject(this._generateDataStatus(1));\r\n this.items = [\r\n new BentoContextualHeaderItem('Add Event registration', null, null),\r\n ];\r\n }\r\n private _generateDataProduct(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'GoFileRoom'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n private _generateDataChannel(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'Document'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n private _generateDataSchema(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'Add-Document-Events'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n private _generateDataStatus(size: number = 1): any[] {\r\n const a = [];\r\n const product = [\r\n 'ALL SCHEMAS'\r\n ];\r\n for (let i = 0; i < size; i++) {\r\n a.push(product[i]);\r\n this.count++;\r\n }\r\n return a;\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n backButtonClick() {\r\n this.router.navigate(['eventsAdmin/show-all-events']);\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Additional Filters\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FieldOperatorValue
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Map, Record } from 'immutable';\r\nimport { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity';\r\nimport {\r\n LoadLayouts, DefaultTabSelection, TabClick, ShowRightSideSplitter,\r\n AllTilesRequested, AllTilesLoaded, IsHeaderMenuVisible, RoutedTab\r\n} from '../actions/layout.actions';\r\nimport { createReducer, on, State, Action } from '@ngrx/store';\r\n\r\nexport interface TilesState extends EntityState {\r\n allTilesLoaded: boolean;\r\n}\r\nexport const tileAdapter: EntityAdapter =\r\n createEntityAdapter();\r\nexport const initialTilesState: TilesState = tileAdapter.getInitialState({\r\n allTilesLoaded: false\r\n});\r\nexport interface LayoutState {\r\n tiles: TilesState;\r\n isRightPanelOpen: boolean;\r\n defaultTabSelection: string;\r\n routedTab: string,\r\n selectedTile: any;\r\n isHeaderVisible: boolean;\r\n}\r\n\r\nexport const LayoutStateRecord: LayoutState = {\r\n tiles: initialTilesState,\r\n isRightPanelOpen: true,\r\n defaultTabSelection: localStorage.getItem(\"currentGrid\"),\r\n routedTab: localStorage.getItem(\"currentGrid\"),\r\n selectedTile: null,\r\n isHeaderVisible: true\r\n};\r\nconst layoutReducer = createReducer(\r\n LayoutStateRecord,\r\n on(AllTilesLoaded, (state, { tiles }) => {\r\n return {\r\n ...state,\r\n tiles: tileAdapter.addAll(tiles, LayoutStateRecord.tiles),\r\n allTilesLoaded: true\r\n };\r\n }),\r\n on(TabClick, (state, { selectedTile }) => {\r\n return {\r\n ...state,\r\n selectedTile\r\n };\r\n }),\r\n on(ShowRightSideSplitter, (state, { isOpen }) => {\r\n return {\r\n ...state,\r\n isRightPanelOpen: isOpen\r\n };\r\n }),\r\n on(IsHeaderMenuVisible, (state, { isVisible }) => {\r\n return {\r\n ...state,\r\n isHeaderVisible: isVisible\r\n };\r\n }),\r\n on(RoutedTab, (state, { routedTab }) => {\r\n return {\r\n ...state,\r\n routedTab: routedTab\r\n };\r\n }),\r\n);\r\nexport function reducer(state: LayoutState | undefined, action: Action) {\r\n return layoutReducer(state, action);\r\n}\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n\r\n} = tileAdapter.getSelectors();\r\n\r\nexport const selectTilesIds = selectIds;\r\n\r\nexport const selectTileEntities = selectEntities;\r\n\r\nexport const selectAllTiles = selectAll;\r\n\r\nexport const selectTileTotal = selectTotal;\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface CanComponentDeactivate {\r\n canDeactivate: () => Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n}\r\n)\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\n\r\n canDeactivate(component: CanComponentDeactivate) {\r\n return component.canDeactivate ? component.canDeactivate() : true;\r\n }\r\n\r\n}","export class LoaderService {\r\n\r\n static loading: boolean = true;\r\n\r\n constructor() { }\r\n\r\n static startLoading() {\r\n LoaderService.loading = true;\r\n }\r\n\r\n static stopLoading() {\r\n LoaderService.loading = false;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { finalize } from \"rxjs/operators\";\r\nimport { LoaderService } from '../services/utils/loader/loader.service';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n\r\n activeRequests: number = 0;\r\n\r\n /**\r\n * URLs for which the loading screen should not be enabled\r\n */\r\n skippUrls = [\r\n '/authrefresh',\r\n ];\r\n\r\n constructor() {\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n let displayLoadingScreen = true;\r\n\r\n //[Mobilize note - jperez on 4-6-2020]: Adding cid parameter as default for all http requests\r\n if (request.params.get('cid') === null) {\r\n request = request.clone({\r\n setParams: {\r\n cid: localStorage.getItem('cid')\r\n }\r\n })\r\n }\r\n\r\n for (const skippUrl of this.skippUrls) {\r\n if (new RegExp(skippUrl).test(request.url)) {\r\n displayLoadingScreen = false;\r\n break;\r\n }\r\n }\r\n\r\n if (displayLoadingScreen) {\r\n if (this.activeRequests === 0) {\r\n LoaderService.startLoading();\r\n }\r\n\r\n this.activeRequests++;\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n this.activeRequests--;\r\n if (this.activeRequests === 0) {\r\n LoaderService.stopLoading();\r\n }\r\n })\r\n )\r\n } else {\r\n return next.handle(request);\r\n }\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { TokenInterceptor } from './interceptors/token.interceptor';\r\nimport { AuthService } from './services/auth.service';\r\nimport { PopmodalService } from './services/popupmodel.service';\r\nimport { PopupModalComponent } from './components/popupmodel.component';\r\nimport { LoaderInterceptor } from './interceptors/loader.interceptor';\r\n\r\n@NgModule({\r\n declarations: [PopupModalComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n AuthService,\r\n { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\r\n PopmodalService, \r\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true }\r\n ],\r\n //commented as no more required after v9 upgrade\r\n //entryComponents: [PopupModalComponent],\r\n exports:[PopupModalComponent]\r\n})\r\nexport class CoreModule { }\r\n","import { Action, createAction, props } from '@ngrx/store';\r\nimport { LayoutState } from '../reducers/layout.reducer';\r\n\r\n\r\nexport enum LayoutActionTypes {\r\n LoadLayouts = '[Layout] Load Layouts',\r\n AllTilesRequested = '[Header Tiles] All Header Tiles Requested',\r\n AllTilesLoaded = '[Tiles API] All Tiles Loaded',\r\n DefaultTabSelection = '[Layout] Default Tab Selection',\r\n TabClick = '[Layout] Tab Click',\r\n ShowRightSideSplitter = '[Layout] Open Or Close Right Side Splitter',\r\n IsHeaderMenuVisible = '[Header Menu] Show or Hide Header Menu',\r\n RoutedTab = \"[Layout] RoutedTab\"\r\n}\r\n\r\nexport const LoadLayouts = createAction(LayoutActionTypes.LoadLayouts,\r\n (layoutState: LayoutState) => ({ payload: { layoutState } }));\r\n\r\nexport const AllTilesRequested = createAction(LayoutActionTypes.AllTilesRequested);\r\nexport const AllTilesLoaded = createAction(LayoutActionTypes.AllTilesLoaded,\r\n props<{ tiles: any[] }>());\r\nexport const DefaultTabSelection = createAction(LayoutActionTypes.DefaultTabSelection,\r\n props<{ tabName: string }>());\r\nexport const TabClick = createAction(LayoutActionTypes.TabClick,\r\n props<{ selectedTile: any }>());\r\nexport const ShowRightSideSplitter = createAction(LayoutActionTypes.ShowRightSideSplitter,\r\n props<{ isOpen: boolean }>());\r\nexport const IsHeaderMenuVisible = createAction(LayoutActionTypes.IsHeaderMenuVisible,\r\n props<{ isVisible: boolean }>());\r\nexport const RoutedTab = createAction(LayoutActionTypes.RoutedTab,\r\n props<{ routedTab: string }>());\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { CUSTOM_APP_DATA } from '../../../assets/configs/app-data';\r\nimport { environment } from '../../../../src/environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HomePageCount } from '../models/alertPreference';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n getAlertTiles: any;\r\n allUserPermission: any;\r\n setLoader: boolean;\r\n busyLoader: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getFirmFlowPermision(): Observable {\r\n const url = environment.base_api_uri + 'v1/administration/user/currentUser';\r\n return this.http.get(url)\r\n .pipe(\r\n map((response) => {\r\n this.allUserPermission = response;\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n getUserAccount(): Observable {\r\n const url = environment.base_api_uri + 'v1/user/UserAccount';\r\n return this.http.get(url)\r\n .pipe(\r\n map((response) => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n public getTiles = (): Observable => {\r\n const url = environment.base_dashboard_api_uri +\r\n '/dashboard/homepagecount';\r\n return this.http.get(url)\r\n .pipe(\r\n map((response) => {\r\n const alertCount = response.alertCount;\r\n const workCount = response.workCount;\r\n const newAlertCount = response.newAlertsCount;\r\n const newWorkCount = response.newWorkCount;\r\n const documentCount = response.documentsCount;\r\n const LinkCount = response.linkCount;\r\n this.getAlertTiles = CUSTOM_APP_DATA.tiles;\r\n this.getAlertTiles.forEach(element => {\r\n if (element.linksText === 'NOTIFICATION RULES') {\r\n element.count = alertCount;\r\n element.secondLineText = 'New Alert: ' + newAlertCount;\r\n }\r\n if (element.firstLineText === 'My Links') {\r\n element.count = LinkCount;\r\n }\r\n if (element.linksText === 'MY WORK') {\r\n element.count = workCount;\r\n element.secondLineText = 'New Task:' + newWorkCount;\r\n if (this.allUserPermission) {\r\n element.isVisible = this.allUserPermission.hasFirmFlowAccess;\r\n }\r\n\r\n }\r\n if (element.linksText === 'SEARCH') {\r\n element.count = documentCount;\r\n }\r\n });\r\n return this.getAlertTiles;\r\n })\r\n );\r\n }\r\n\r\n public getUserPreference() {\r\n const url = environment.base_documents_api_uri + 'v1/user/preferences';\r\n return this.http.get(url);\r\n }\r\n setBusyLoader(loader: boolean) {\r\n this.busyLoader.next(loader);\r\n }\r\n \r\n}\r\n","import {createFeatureSelector, createSelector, ActionReducerMap, } from '@ngrx/store';\r\nimport * as fromLayout from '../reducers/layout.reducer';\r\n\r\n\r\nexport interface State {\r\n layout: fromLayout.LayoutState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n layout: fromLayout.reducer,\r\n};\r\n\r\nexport const selectLayoutState = createFeatureSelector('layout');\r\n\r\nexport const getTilesState = createSelector(\r\n selectLayoutState,\r\n LayoutState => LayoutState.tiles\r\n);\r\n\r\nexport const allTilesLoaded = createSelector(\r\n getTilesState,\r\n tilesState => tilesState.allTilesLoaded\r\n);\r\n\r\nexport const selectAllTiles = createSelector(\r\n getTilesState,\r\n fromLayout.selectAll\r\n\r\n);\r\n\r\nexport const getSelectedTab = createSelector(\r\n selectLayoutState,\r\n state => {\r\n if (state.selectedTile === null) {\r\n const tiles = Object.values(state.tiles.entities) as any[];\r\n const selectedTile = tiles.find(x => x.firstLineText === state.defaultTabSelection);\r\n\r\n return { selectedTile, isRightPanelOpen: state.isRightPanelOpen};\r\n }\r\n return { selectedTile: state.selectedTile, isRightPanelOpen: state.isRightPanelOpen};\r\n }\r\n);\r\n\r\n\r\nexport const selectRightPanelOpen = createSelector(\r\n selectLayoutState,\r\n state => state.isRightPanelOpen\r\n);\r\nexport const selectIsHeaderVisible = createSelector(\r\n selectLayoutState,\r\n state => state.isHeaderVisible\r\n);\r\nexport const selectRoutedTab = createSelector(\r\n selectLayoutState,\r\n state => state.routedTab\r\n);\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { LayoutState } from '../../store';\r\nimport { selectIsHeaderVisible } from '../../store/selectors/layout.selector';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n\r\n@Component({\r\n selector: 'app-base',\r\n templateUrl: './base-layout.component.html',\r\n styleUrls: ['./base-layout.component.scss']\r\n})\r\nexport class BaseLayoutComponent implements OnInit {\r\n public headerShowHide: boolean;\r\n currentFormat: string;\r\n constructor(private store: Store, private layoutService: LayoutService) {\r\n this.headerShowHide = true;\r\n }\r\n ngOnInit() {\r\n this.globalUserPrefSettings();\r\n this.store.pipe(select(selectIsHeaderVisible)).subscribe(res => {\r\n this.headerShowHide = res;\r\n });\r\n }\r\n\r\n globalUserPrefSettings() {\r\n this.layoutService.getUserPreference().subscribe((myPreferenceResponse: any) => {\r\n \r\n this.currentFormat = myPreferenceResponse.GlobalizationDateFormat;\r\n if (this.currentFormat === 'DD/MM/YYYY') {\r\n this.currentFormat = 'dd/MM/yyyy';\r\n } else if (this.currentFormat === 'YYYY/MM/DD') {\r\n this.currentFormat = 'yyyy/MM/dd';\r\n } else if (this.currentFormat === 'MM-DD-YYYY') {\r\n this.currentFormat = 'MM-dd-yyyy';\r\n } else if (this.currentFormat === 'DD-MM-YYYY') {\r\n this.currentFormat = 'dd-MM-yyyy';\r\n } else if (this.currentFormat === 'YYYY-MM-DD') {\r\n this.currentFormat = 'yyyy-MM-dd';\r\n } else if (this.currentFormat === 'MM.DD.YYYY') {\r\n this.currentFormat = 'MM.dd.yyyy';\r\n } else if (this.currentFormat === 'DD.MM.YYYY') {\r\n this.currentFormat = 'dd.MM.yyyy';\r\n } else if (this.currentFormat === 'YYYY.MM.DD') {\r\n this.currentFormat = 'yyyy.MM.dd';\r\n } else {\r\n this.currentFormat = 'MM/dd/yyyy';\r\n }\r\n localStorage.setItem('userPrefDateFormat', this.currentFormat); \r\n });\r\n }\r\n}\r\n","\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SelectivePreloadingStrategyService implements PreloadingStrategy {\r\n preloadedModules: string[] = [];\r\n\r\n preload(route: Route, load: () => Observable): Observable {\r\n if (route.data && route.data.preload) {\r\n // add the route path to the preloaded module array\r\n this.preloadedModules.push(route.path);\r\n\r\n // log the route path to the console\r\n console.log('Preloaded: ' + route.path);\r\n\r\n return load();\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n}\r\n","import { Component, AfterViewInit, OnInit } from '@angular/core';\r\nimport { BentoRibbonTile } from '@bento/bento-ng';\r\nimport * as _ from 'lodash';\r\nimport { LayoutState } from '../../store/reducers/layout.reducer';\r\nimport { AllTilesRequested, TabClick } from '../../store/actions/layout.actions';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { selectAllTiles, selectRoutedTab } from '../../store/selectors/layout.selector';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n@Component({\r\n selector: 'app-main-header',\r\n templateUrl: './main-header.component.html',\r\n styleUrls: ['./main-header.component.scss']\r\n})\r\nexport class MainHeaderComponent implements OnInit, AfterViewInit {\r\n\r\n tileItems: BentoRibbonTile[] = [];\r\n routedTab: string;\r\n\r\n constructor(private store: Store, private router: Router, private service: LayoutService) { }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnInit() {\r\n this.service.getFirmFlowPermision().subscribe(res => {\r\n this.store.dispatch(AllTilesRequested());\r\n });\r\n \r\n this.store.pipe(select(selectRoutedTab)).subscribe(res => {\r\n this.routedTab = res;\r\n });\r\n this.store.pipe(select(selectAllTiles)).subscribe(\r\n (res) => {\r\n this.tileItems = [];\r\n _.forEach(res, v => {\r\n const v1 = v as any;\r\n if (this.tileItems && v1.isVisible) {\r\n this.tileItems.push(\r\n new BentoRibbonTile(\r\n v.count,\r\n v.firstLineText,\r\n v.secondLineText,\r\n tile => this.store.dispatch(TabClick({ selectedTile: v })),\r\n v.linksText,\r\n onLinkClick => this.onTileLinkClick(v['linkRoute'])\r\n ));\r\n }\r\n });\r\n if (this.tileItems[0]) {\r\n let index = 0;\r\n _.forEach(this.tileItems, v => {\r\n index++;\r\n if (v.header === this.routedTab) {\r\n this.tileItems[index - 1].select();\r\n }\r\n })\r\n //this.tileItems[0].select();\r\n }\r\n }\r\n );\r\n }\r\n\r\n onTileLinkClick(evt) {\r\n const url = environment.strrooturl;\r\n if (evt === 'My Work') {\r\n\r\n window.parent.location.href = '/trpc/myworkframeset.asp';\r\n } else if (evt === 'My Recent Documents') {\r\n window.parent.location.href = url + 'Dashboard/DashboardSetUpFrame.asp?route=dsrw';\r\n } else {\r\n this.router.navigate([evt]);\r\n }\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n","\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { LayoutState, ShowRightSideSplitter } from '../../store';\r\nimport { getSelectedTab, selectIsHeaderVisible } from '../../store/selectors/layout.selector';\r\nimport { Observable, of } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-canvas',\r\n templateUrl: './canvas.component.html',\r\n styleUrls: ['./canvas.component.scss']\r\n})\r\nexport class CanvasComponent implements OnInit {\r\n\r\n isLeftOpened = false;\r\n isRightOpened = false;\r\n isTopOpened = false;\r\n isBottomOpened = false;\r\n isRightPaneVisible = false;\r\n isHeaderVisible= true;\r\n isBusyLoader: boolean;\r\n\r\n constructor(private store: Store, private router: Router, private layoutService: LayoutService) { }\r\n\r\n ngOnInit() {\r\n this.layoutService.busyLoader.subscribe(value => {\r\n setTimeout(() => {\r\n this.isBusyLoader = value;\r\n },10);\r\n });\r\n this.store.pipe(select(getSelectedTab)).subscribe(res => {\r\n if (res.selectedTile) {\r\n this.isRightPaneVisible = res.selectedTile.isRightPanelVisible;\r\n this.isRightOpened = res.selectedTile.isRightPanelOpenByDefault;\r\n this.isRightOpened = res.isRightPanelOpen;\r\n this.router.navigate([res.selectedTile.route]);\r\n }\r\n });\r\n\r\n\r\n this.store.pipe(select(selectIsHeaderVisible)).subscribe(res => {\r\n \r\n this.isHeaderVisible = res;\r\n \r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-canvas-no-header',\r\n templateUrl: './canvas-no-header.component.html',\r\n styleUrls: ['./canvas-no-header.component.scss']\r\n})\r\nexport class CanvasNoHeaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { BaseLayoutComponent } from \"./layout/components/base-layout/base-layout.component\";\r\nimport { SelectivePreloadingStrategyService } from \"./selective-preloading-strategy.service\";\r\nimport { CanvasComponent } from \"./layout/components/canvas/canvas.component\";\r\nimport { CanvasNoHeaderComponent } from \"./layout/components/canvas-no-header/canvas-no-header.component\";\r\nimport { RightPanelComponent } from \"./layout/components/right-panel/right-panel.component\";\r\nimport { ContainerRightPanelComponent } from \"./layout/components/container-right-panel/container-right-panel.component\";\r\nimport { SearchWorkflowsComponent } from \"./modules/gfr-workflows/components/search-workflows/search-workflows.component\";\r\nimport { GfrEventsAdministrationRoutingModule } from './modules/gfr-events-administration/gfr-events-administration-routing.module';\r\n\r\nconst routes: Routes = [\r\n { path: 'home.html', children: []}, \r\n { path: '', children: [] }, \r\n {\r\n path: \"dashboard\",\r\n component: BaseLayoutComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n component: CanvasComponent,\r\n children: [\r\n {\r\n path: \"my-alerts\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-my-alerts/gfr-my-alerts.module\").then(\r\n (m) => m.GfrMyAlertsModule\r\n ),\r\n },\r\n\r\n {\r\n path: \"my-work\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-my-work/gfr-my-work.module\").then(\r\n (m) => m.GfrMyWorkModule\r\n ),\r\n data: { preload: true },\r\n }, \r\n {\r\n path: \"my-links\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-my-links/gfr-my-links.module\").then(\r\n (m) => m.GfrMyLinksModule\r\n ),\r\n data: { preload: true },\r\n },\r\n {\r\n path: \"my-documents\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-my-documents/gfr-my-documents.module\").then(\r\n (m) => m.GfrMyDocumentsModule\r\n ),\r\n data: { preload: true },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"no-header-canvas\",\r\n component: CanvasNoHeaderComponent,\r\n children: [\r\n {\r\n path: \"my-notifications\",\r\n loadChildren: () =>\r\n import(\r\n \"./modules/gfr-my-notifications/gfr-my-notifications.module\"\r\n ).then((m) => m.GfrMyNotificationsModule),\r\n data: { preload: true },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n //Non-Dashboard Projects, e/g - Tax Sort\r\n {\r\n path: \"taxsort\",\r\n component: BaseLayoutComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n component: CanvasNoHeaderComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-tax-sort/gfr-tax-sort.module\").then(\r\n (m) => m.GfrTaxSortModule\r\n ),\r\n data: { preload: true },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n path: \"searchworkflows\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-workflows/gfr-workflows.module\").then(\r\n (m) => m.GfrWorkflowsModule\r\n ),\r\n data: { preload: true },\r\n },\r\n {\r\n path: \"workflow-page\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-workflow-page/gfr-workflow-page.module\").then(\r\n (m) => m.GfrWorkflowPageModule\r\n ),\r\n data: { preload: true },\r\n },\r\n {\r\n path: \"addWorkflow\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-new-workflow/gfr-new-workflow.module\").then(\r\n (m) => m.GfrNewWorkflowModule\r\n ),\r\n data: { preload: true },\r\n },\r\n {\r\n path: \"taxFolder\",\r\n loadChildren: () =>\r\n import(\"./modules/gfr-tax-folder/gfr-tax-folder.module\").then(\r\n (m) => m.GfrTaxFolderModule\r\n ),\r\n data: { preload: true },\r\n },\r\n {\r\n path: \"documentSearch\",\r\n component: BaseLayoutComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n component: CanvasNoHeaderComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n loadChildren: () =>\r\n import(\r\n \"./modules/gfr-document-search/gfr-document-search.module\"\r\n ).then((m) => m.GfrDocumentSearchModule),\r\n data: { preload: true },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n\r\n \r\n\r\n { path: '', redirectTo: '/eventsAdmin/show-all-events', pathMatch: 'full' },\r\n { path: 'eventsAdmin', loadChildren: () => import('./modules/gfr-events-administration/gfr-events-administration.module').then(m => m.GfrEventsAdministrationModule) },\r\n \r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n enableTracing: true,\r\n preloadingStrategy: SelectivePreloadingStrategyService,\r\n }),\r\n GfrEventsAdministrationRoutingModule\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","\r\n\r\n\r\n

Warning

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n

Your Session has expired.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n OK\r\n \r\n
\r\n
\r\n","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as wjcCore from '@grapecity/wijmo';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { Store } from '@ngrx/store';\r\nimport { LayoutState } from './layout/store';\r\nimport { LoadPermissions } from '../app/store/actions/app.actions';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n @ViewChild('sessionModal', { static: false }) sessionModalIdentifier: ElementRef;\r\n userAccountDetails: any;\r\n isBusyLoader: boolean;\r\n constructor(private router: Router,\r\n private store: Store,\r\n private idle: Idle,\r\n private keepalive: Keepalive,\r\n private modalService: NgbModal,\r\n private layoutService: LayoutService) {\r\n }\r\n\r\n idleInit() {\r\n // sets a timeout period in seconds, after inactivity timeout, the user will be considered with session expired.\r\n let timeout;\r\n let sessionTimeoutVal;\r\n this.layoutService.getUserAccount().subscribe(responseValue => {\r\n this.userAccountDetails = responseValue;\r\n sessionTimeoutVal = this.userAccountDetails.idleSessionTimeoutMinutes;\r\n\r\n if (this.userAccountDetails) {\r\n\r\n if (sessionTimeoutVal == null || sessionTimeoutVal === undefined || sessionTimeoutVal === '') {\r\n timeout = environment.defaultTimeOutValue;\r\n } else {\r\n timeout = sessionTimeoutVal;\r\n }\r\n\r\n this.idle.setIdle(5);\r\n this.idle.setTimeout(timeout * 60);\r\n\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n this.idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out!';\r\n\r\n this.modalService.open(this.sessionModalIdentifier).result.then(result => {\r\n if (result === 'confirm') {\r\n if (localStorage.getItem('show-ciam-login') === \"True\") {\r\n window.top.location.href = environment.strrooturl + 'auth/Logout';\r\n }\r\n else {\r\n window.top.location.href = environment.strrooturl + 'login/';\r\n }\r\n }\r\n });\r\n });\r\n\r\n // sets the ping interval to 15 seconds\r\n this.keepalive.interval(15);\r\n this.keepalive.onPing.subscribe(() => this.lastPing = new Date());\r\n this.reset();\r\n }\r\n });\r\n }\r\n\r\n reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n }\r\n\r\n ngOnInit(): void {\r\n wjcCore.setLicenseKey('TR,953549429285442#B0ARwxWU6NzdBpldklnYmZWO4d5b4Z7RDRnds5WT5p5U4BXdGh5YXhFUTBHRLREM4EDONl7TzVnN6Z5c5lWY7RkSShnU8dUVwdncrQHNmh4aqRkeqtSV9pkVYhGOxZjaRpXRPZUNXZHUQdTRG9kVktSWK96bPBHeZRGOygmQTljNHJHaLJ5amlHS7MURYR4cNZkYtlVaMN6a6IXZ7gXWzQFOmd4VDpleDdVduR6UGhnQKRjekhEUydUd7QnMvYVVQZTeRRWMl3Gc9EkawpXSxJnaVtkbTpENrZEVXl4bkVkYWZVa7JkRSRTcX5URFhVOFNzNGJTMVNHV9AFOKlncFRUS9Qmb5YTd6ZmM5lnV4tSVvklY7YnR6xmUuFEWPhEZlNTcINkZ7xWMWNkWJ3ETYN6dO56QMNTM8g4YxYXOPNjWZ3yKYpUTWFGV5ElWzxWNv8WSndkI0IyUiwiIGREM5YkNCNjI0ICSiwyNycTM5gTM9UTM0IicfJye35XX3JSSwIjUiojIDJCLi86bpNnblRHeFBCI4VWZoNFelxmRg2Wbql6ViojIOJyes4nI5kkTRJiOiMkIsIibvl6cuVGd8VEIgIXZ7VWaWRncvBXZSBybtpWaXJiOi8kI1xSfis4N8gkI0IyQiwiIu3Waz9WZ4hXRgAydvJVa4xWdNBybtpWaXJiOi8kI1xSfiQjR6QkI0IyQiwiIu3Waz9WZ4hXRgACUBx4TgAybtpWaXJiOi8kI1xSfiMzQwIkI0IyQiwiIlJ7bDBybtpWaXJiOi8kI1xSfiUFO7EkI0IyQiwiIu3Waz9WZ4hXRgACdyFGaDxWYpNmbh9WaGBybtpWaXJiOi8kI1tlOiQmcQJCLigDNyUjNwAiMwITM9EDMyIiOiQncDJCLiIFViojIh94QiwiIyQDN5gjM9IDN9QTNzUTOiojIklkIs4nIzYXOxAjMiojIyVmdiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34QQtx');\r\n let queryString = localStorage.getItem(\"urlQuery\");\r\n let routeParameters: any = {};\r\n if (queryString) {\r\n let query = queryString.split('&');\r\n routeParameters = query.reduce((parameters, current) => {\r\n let value = current.split('=');\r\n\r\n if (value[0] !== '') {\r\n parameters[value[0]] = value[1];\r\n }\r\n\r\n return parameters;\r\n }, {})\r\n }\r\n\r\n // Mobilize-Note: osalazar. Route should be set in ASP.\r\n let route = routeParameters && routeParameters.route ? routeParameters.route : localStorage.getItem(\"route\")\r\n console.log('Route', route, routeParameters);\r\n\r\n if (Object.keys(route).length != 0) {\r\n this.router.navigate(['/' + route, routeParameters]);\r\n this.store.dispatch(LoadPermissions());\r\n if (route == \"dashboard\" && localStorage.getItem(\"isNotificationSet\") == \"true\") {\r\n this.router.navigate(['/dashboard/no-header-canvas/my-notifications']);\r\n }\r\n\r\n //init has moved here since only when routing and showing components from Angular, user will interact directly with them.\r\n //subscription will happen only into this condition and not in pages where route is not getting solved.\r\n //for this reason, when user is interacting with classic html elements, it's not monitoring the interrupts.\r\n this.idleInit();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, Effect, createEffect, ofType } from '@ngrx/effects';\r\nimport { PermissionsActionTypes } from '../actions/app.actions';\r\nimport { Observable } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { Action, Store } from '@ngrx/store';\r\nimport { LayoutService } from 'src/app/core/services/layout.service';\r\nimport { LoadPermissionsSuccess } from '../actions/app.actions';\r\n\r\n@Injectable()\r\nexport class AppEffects {\r\n\r\n constructor(private actions$: Actions, private layoutService: LayoutService,) { }\r\n\r\n loadPermission$: Observable = createEffect(() => this.actions$\r\n .pipe(\r\n ofType(PermissionsActionTypes.LoadPermissions),\r\n switchMap((action: any) => this.layoutService.getFirmFlowPermision()),\r\n map((data: any) => LoadPermissionsSuccess({ permission: data }))\r\n ));\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseLayoutComponent } from './components/base-layout/base-layout.component';\r\nimport { MainHeaderComponent } from './components/main-header/main-header.component';\r\nimport { CanvasComponent } from './components/canvas/canvas.component';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { LayoutEffects } from './store/effects/layout.effects';\r\nimport * as reducer from './store/reducers/layout.reducer';\r\nimport { BentoModule } from '@bento/bento-ng';\r\nimport { LayoutService } from '../core/services/layout.service';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { RightPanelComponent } from './components/right-panel/right-panel.component';\r\nimport { CanvasNoHeaderComponent } from './components/canvas-no-header/canvas-no-header.component';\r\nimport { ContainerRightPanelComponent } from './components/container-right-panel/container-right-panel.component';\r\n\r\nconst routes: Routes = [\r\n {path: 'dashboard', component: BaseLayoutComponent}\r\n];\r\n@NgModule({\r\n declarations: [MainHeaderComponent, CanvasComponent, BaseLayoutComponent, RightPanelComponent, CanvasNoHeaderComponent, ContainerRightPanelComponent ],\r\n imports: [\r\n CommonModule,\r\n BentoModule ,\r\n RouterModule.forRoot(routes),\r\n StoreModule.forFeature('layout', reducer.reducer),\r\n EffectsModule.forFeature([LayoutEffects])\r\n ],\r\n providers: [LayoutService]\r\n})\r\nexport class LayoutModule { }\r\n","import { Injectable } from \"@angular/core\";\r\ndeclare global {\r\n interface Array {\r\n merge(array, compare): Array;\r\n leftOuterJoin(array, key, callback): Array;\r\n }\r\n}\r\n\r\nArray.prototype.merge = function (array, compare) {\r\n\r\n let result = new Array();\r\n while ((this.length > 0) && (array.length > 0)) {\r\n result.push(compare(this[0], array[0]) ? this.shift() : array.shift());\r\n }\r\n\r\n while (this.length > 0) {\r\n result.push(this.shift());\r\n }\r\n\r\n while (array.length > 0) {\r\n result.push(array.shift());\r\n }\r\n\r\n return result;\r\n}\r\n\r\nArray.prototype.leftOuterJoin = function(array, key, callback) {\r\n let keys = {};\r\n array.forEach(element => keys[element[key]] = element);\r\n return this.filter(element => callback(element, keys));\r\n}\r\n\r\n@Injectable()\r\nexport class Extensions { }","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BentoModule } from '@bento/bento-ng';\r\nimport { NgbModule, NgbActiveModal, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BentoD3Module } from '@bento/bento-ng-d3';'@bento/bento-ng-datamap';\r\nimport { BentoTransferboxModule } from '@bento/bento-ng-transferbox';\r\nimport { BentoFlexGridControlModule } from '@bento/bento-ng-flexgrid-control';\r\nimport { WjGridModule } from '@grapecity/wijmo.angular2.grid';\r\nimport { WjInputModule } from '@grapecity/wijmo.angular2.input';\r\nimport { WjGridFilterModule } from '@grapecity/wijmo.angular2.grid.filter';\r\nimport { WjGridGrouppanelModule } from '@grapecity/wijmo.angular2.grid.grouppanel';\r\nimport { AppInitService } from './app.init';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { environment } from '../environments/environment';\r\nimport { AppEffects } from './store/effects/app.effects';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { LayoutModule } from './layout/layout.module';\r\nimport { CoreModule } from './core/core.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport * as reducer from './store/reducers/app.reducer';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BfmModule } from '@bento/bfm-ng';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Extensions } from './shared/extensions';\r\nimport { NgbDateGlobalParserFormatter } from './core/services/utils/Date/parser-formatter/ngb-date-global-parser-formatter';\r\n\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { CanDeactivateGuard } from './shared/guards/can-deactivate-guard.service';\r\nexport function init_app(appLoadService: AppInitService) {\r\n return () => appLoadService.init();\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n A11yModule,\r\n BidiModule,\r\n WjInputModule,\r\n WjGridModule,\r\n WjGridFilterModule,\r\n WjGridGrouppanelModule,\r\n BrowserModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgbModule,\r\n BfmModule,\r\n BentoModule,\r\n BentoD3Module,\r\n BentoFlexGridControlModule,\r\n BentoTransferboxModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n BentoModule,\r\n BentoD3Module,\r\n BentoTransferboxModule,\r\n BentoFlexGridControlModule,\r\n WjGridModule,\r\n WjInputModule,\r\n WjGridFilterModule,\r\n WjGridGrouppanelModule,\r\n LayoutModule,\r\n CoreModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n StoreModule.forRoot({}\r\n ),\r\n NgIdleKeepaliveModule.forRoot(),\r\n StoreModule.forFeature('permission', reducer.reducer),\r\n EffectsModule.forRoot([AppEffects]),\r\n !environment.production ? StoreDevtoolsModule.instrument() : []\r\n ],\r\n bootstrap: [AppComponent],\r\n providers: [NgbActiveModal, DatePipe, Extensions, { provide: NgbDateParserFormatter, useClass: NgbDateGlobalParserFormatter }, CanDeactivateGuard]\r\n})\r\nexport class AppModule { }\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nimport { getIdStitchValues } from '@tr/tr-id-stitch';\r\n\r\nimport 'zone.js'; \r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n \r\nconst idStitchCall = async () => {\r\n const userName = localStorage.getItem('username');\r\n if (userName !== null) {\r\n await getIdStitchValues(userName).then(\r\n value => {\r\n localStorage.setItem('idStitchEmailHash', value.emailHash);\r\n localStorage.setItem('idStitchAdobeEcid', value.adobeEcid);\r\n }\r\n ).catch(error => console.log(error)); \r\n } \r\n else {\r\n console.log('username not found in local storage');\r\n }\r\n} \r\n\r\nidStitchCall();","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}