{ "version": 3, "sources": ["src/app/admin/admin-users/admin-users-base/admin-users-base-component.ts", "src/app/admin/admin-users/admin-send-user-new-password/admin-send-user-new-password.component.ts", "src/app/admin/admin-users/admin-send-user-new-password/admin-send-user-new-password.component.html", "src/app/admin/admin-users/admin-change-user-password/admin-change-user-password.component.ts", "src/app/admin/admin-users/admin-change-user-password/admin-change-user-password.component.html", "src/app/admin/admin-users/admin-manage-user-permissions/admin-manage-user-permissions.component.ts", "src/app/admin/admin-users/admin-manage-user-permissions/admin-manage-user-permissions.component.html", "src/app/admin/admin-users/admin-manage-user-login/admin-manage-user-login.component.ts", "src/app/admin/admin-users/admin-manage-user-login/admin-manage-user-login.component.html", "src/app/admin/admin-users/admin-edit-user-profile/admin-edit-user-profile.component.ts", "src/app/admin/admin-users/admin-edit-user-profile/admin-edit-user-profile.component.html", "src/app/admin/admin-users/admin-login-as/admin-login-as.component.ts", "src/app/admin/admin-users/admin-login-as/admin-login-as.component.html", "src/app/admin/admin-users/admin-manage-user-certs/admin-manage-user-certs.component.ts", "src/app/admin/admin-users/admin-manage-user-certs/admin-manage-user-certs.component.html", "src/app/admin/admin-feedback/admin-feedback-grid/admin-feedback-grid.component.ts", "src/app/shared/components/generic/generic-kendo-grid/generic-kendo-grid.component.html", "src/app/admin/admin-feedback/admin-feedback-details/admin-feedback-details.component.ts", "src/app/admin/admin-feedback/admin-feedback-details/admin-feedback-details.component.html", "src/app/admin/admin-feedback/admin-feedback-list/admin-feedback-list.component.ts", "src/app/admin/admin-feedback/admin-feedback-list/admin-feedback-list.component.html", "src/app/admin/admin-feeds/admin-feed-parse-qr/admin-feed-parse-qr.component.ts", "src/app/admin/admin-feeds/admin-feed-parse-qr/admin-feed-parse-qr.component.html", "src/app/admin/admin-feeds/admin-feed-view-transfer/admin-feed-view-transfer.component.ts", "src/app/shared/components/generic/generic-kendo-grid/generic-kendo-grid.component.html", "src/app/admin/admin-feeds/admin-feed-gen-qr/admin-feed-gen-qr.component.ts", "src/app/admin/admin-feeds/admin-feed-gen-qr/admin-feed-gen-qr.component.html", "src/app/admin/admin.component.ts", "src/app/admin/admin.component.html", "src/app/admin/admin-routing.module.ts", "src/app/admin/admin.module.ts"], "sourcesContent": ["import { Component, Inject, Input } from '@angular/core';\r\nimport {\r\n AdminUserTabs,\r\n EnvConfigurationService,\r\n HelpService,\r\n IUsersExtDto,\r\n NotifierService,\r\n ControlStateDirective,\r\n IAppConfiguration,\r\n} from '@scb-shared';\r\nimport { NGXLogger } from 'ngx-logger';\r\n\r\n@Component({\n selector: 'app-admin-users-base-component',\n template: '',\n standalone: false\n})\r\nexport class AdminUsersBaseComponent extends ControlStateDirective {\r\n public isClassified = false;\r\n protected baseUser: IUsersExtDto = null;\r\n protected previousUser: IUsersExtDto = null;\r\n protected config: IAppConfiguration;\r\n\r\n constructor(\r\n @Inject(String) protected readonly tab: AdminUserTabs,\r\n @Inject(String) protected defaultTitle: string,\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService\r\n ) {\r\n super(logger);\r\n this.config = this.envConfigurationService.getConfig();\r\n this.isClassified = this.config.isClassified;\r\n }\r\n\r\n @Input() set selectedUser(value: IUsersExtDto) {\r\n if (this.baseUser !== value) {\r\n if (this.baseUser && value && this.baseUser.userId === value.userId) {\r\n return;\r\n }\r\n this.previousUser = this.baseUser;\r\n this.baseUser = value;\r\n this.selectedUserChangedCallback();\r\n }\r\n }\r\n\r\n get selectedUser(): IUsersExtDto {\r\n return this.baseUser;\r\n }\r\n\r\n public get caption(): string {\r\n if (this.selectedUser) {\r\n return `${this.defaultTitle} for ${this.selectedUser.userName}`;\r\n } else {\r\n return 'Select a user';\r\n }\r\n }\r\n\r\n public get wrapperClass(): string {\r\n if (!this.selectedUser) {\r\n return 'no-data-wrapper';\r\n }\r\n return this.loadingWrapperClass;\r\n }\r\n\r\n public setHelpTopic(helpTopicId: string): void {\r\n this.helpService.helpTopicId = helpTopicId;\r\n }\r\n\r\n protected selectedUserChangedCallback = (): void => {};\r\n}\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport {\r\n AuthService,\r\n EnvConfigurationService,\r\n HelpService,\r\n IChangeSecurityQuestionModel,\r\n NotifierService,\r\n} from '@scb-shared';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-send-user-new-password',\n templateUrl: './admin-send-user-new-password.component.html',\n standalone: false\n})\r\nexport class AdminSendUserNewPasswordComponent extends AdminUsersBaseComponent implements OnInit {\r\n public isClassified = false;\r\n public buttonDisabled = false;\r\n public clickProcessing = false;\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService,\r\n private readonly authService: AuthService\r\n ) {\r\n super(\r\n 'send-new-pwd',\r\n 'Send new password',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n }\r\n\r\n public get emailAddress(): string {\r\n if (this.selectedUser) {\r\n return this.isClassified\r\n ? this.selectedUser.eMailAddressClassified\r\n : this.selectedUser.eMailAddressUnclassified;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public get sendEnabled(): boolean {\r\n const email = this.emailAddress;\r\n if (email && email.indexOf('@') > -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public get emailAddressType(): string {\r\n return this.isClassified ? 'classified/secure' : 'unclassified/open';\r\n }\r\n\r\n public get instructions(): string {\r\n if (this.sendEnabled) {\r\n return (\r\n 'Click the button below to send a temporary password to the user on their' +\r\n ` ${this.emailAddressType} email at ${this.emailAddress}. ` +\r\n 'The user will need to reset their password after logging in.'\r\n );\r\n } else {\r\n return `Select a user first or ensure the user has a ${this.emailAddressType} on file.`;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n const config = this.envConfigurationService.getConfig();\r\n this.isClassified = config.isClassified;\r\n }\r\n\r\n public sendNewPassword(): void {\r\n this.clickProcessing = true;\r\n const postData = {\r\n userId: this.selectedUser.userId,\r\n userName: this.selectedUser.userName,\r\n question: '',\r\n answer: '',\r\n } as IChangeSecurityQuestionModel;\r\n this.authService\r\n .sendNewPassword(true, postData)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const message = val.success\r\n ? `Password sent to ${this.selectedUser.userName} at ${this.emailAddress}.`\r\n : val.message;\r\n const title = val.success ? 'Password Sent' : 'Error Sending Password';\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n false,\r\n false,\r\n true\r\n );\r\n this.clickProcessing = false;\r\n });\r\n }\r\n\r\n protected selectedUserChangedCallback = (): void => {\r\n this.buttonDisabled = !this.sendEnabled;\r\n };\r\n}\r\n", "

Send the User a New Password

\r\n

{{instructions}}

\r\n\r\n", "import { AfterViewInit, Component, ViewChild } from '@angular/core';\r\nimport {\r\n EnvConfigurationService,\r\n HelpService,\r\n IChangePasswordModel,\r\n IPasswordComplexity,\r\n ManagePasswordComponent,\r\n NotifierService,\r\n SuccessErrorCancel,\r\n} from '@scb-shared';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@Component({\n selector: 'app-admin-change-user-password',\n templateUrl: './admin-change-user-password.component.html',\n standalone: false\n})\r\nexport class AdminChangeUserPasswordComponent\r\n extends AdminUsersBaseComponent\r\n implements AfterViewInit\r\n{\r\n @ViewChild('managePassword') managePassword: ManagePasswordComponent;\r\n public passwordComplexity: IPasswordComplexity;\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService\r\n ) {\r\n super(\r\n 'change-pwd',\r\n 'Change password',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.setFormData();\r\n this.managePassword.focus();\r\n }\r\n\r\n public actionComplete(value: SuccessErrorCancel): void {\r\n if (value === 'success') {\r\n this.setFormData();\r\n }\r\n }\r\n\r\n protected selectedUserChangedCallback = (): void => {\r\n this.initComponent();\r\n };\r\n\r\n protected initComponent(): void {\r\n this.setControlStateLoading();\r\n if (this.config) {\r\n const pwdConfig = this.config.passwordComplexity;\r\n this.passwordComplexity = pwdConfig;\r\n this.passwordComplexity.previousPasswordsToCompare = 0; // don't force comparing passwords\r\n }\r\n this.setControlStateNeutral();\r\n }\r\n\r\n protected setFormData(): void {\r\n const formData = {\r\n userId: this.selectedUser?.userId,\r\n userName: this.selectedUser?.userName,\r\n oldPassword: '',\r\n newPassword: '',\r\n forceExpiration: true,\r\n } as IChangePasswordModel;\r\n\r\n this.managePassword.formData = formData;\r\n }\r\n}\r\n", "

Set Onetime Password

\r\n

\r\n Set the user's password to a one-time password in the form below. The user will need to reset their\r\n password themselves after logging in.\r\n

\r\n\r\n\r\n", "import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { SelectEvent } from '@progress/kendo-angular-layout';\r\nimport {\r\n AppPermission,\r\n AppUtilities,\r\n CommonConstants,\r\n CommonService,\r\n EffectivePermissionsGridComponent,\r\n EnvConfigurationService,\r\n GeneralUtilities,\r\n HelpService,\r\n IAgenciesDto,\r\n IIdAcronymModeConfig,\r\n IMatrixedAgDirPermissionsTreelistConfig,\r\n IPermissionOrRoleListConfig,\r\n IPermissionTreelistConfig,\r\n MatrixedAgDirPermissionsTreelistComponent,\r\n MessageConstants,\r\n NotifierService,\r\n PermissionType,\r\n PermissionsTreelistComponent,\r\n RolesDuallistComponent,\r\n StaticsService,\r\n UserEffortsGridComponent,\r\n} from '@scb-shared';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-manage-user-permissions',\n templateUrl: './admin-manage-user-permissions.component.html',\n standalone: false\n})\r\nexport class AdminManageUserPermissionsComponent\r\n extends AdminUsersBaseComponent\r\n implements OnInit, AfterViewInit {\r\n @ViewChild('sysPermList') sysPermList: PermissionsTreelistComponent;\r\n @ViewChild('agencyPermList') agencyPermList: PermissionsTreelistComponent;\r\n @ViewChild('miscPermList') miscPermList: PermissionsTreelistComponent;\r\n @ViewChild('agDirPermlist') agDirPermlist: MatrixedAgDirPermissionsTreelistComponent;\r\n @ViewChild('effortRoles') effortRoles: UserEffortsGridComponent;\r\n\r\n @ViewChild('sysRolesDuallist') sysRolesDuallist: RolesDuallistComponent;\r\n @ViewChild('agencyRolesDuallist') agencyRolesDuallist: RolesDuallistComponent;\r\n @ViewChild('effectivePermsGrid') effectivePermsGrid: EffectivePermissionsGridComponent;\r\n\r\n // #region public vars\r\n\r\n public allAgencies: IAgenciesDto[] = [];\r\n public agencyPermAgency: IAgenciesDto = null;\r\n public agencyRoleAgency: IAgenciesDto = null;\r\n public effortRolesConfig = {\r\n id: '',\r\n label: '',\r\n mode: CommonConstants.ActionAdmin,\r\n } as IIdAcronymModeConfig;\r\n\r\n public effectivePermsConfig = {\r\n userOrRoleId: '',\r\n keyId: '',\r\n keyName: '',\r\n allowEdit: false,\r\n permissionType: PermissionType.System,\r\n } as IPermissionOrRoleListConfig;\r\n\r\n public sysPermConfig = {\r\n isUser: true,\r\n userOrRoleId: '',\r\n permissionType: PermissionType.All,\r\n keyId: '',\r\n keyName: '',\r\n allowEdit: false,\r\n rootPermissionNumber: 10000,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n } as IPermissionTreelistConfig;\r\n\r\n public sysRolesConfig = {\r\n userOrRoleId: '',\r\n keyId: '',\r\n keyName: '',\r\n allowEdit: false,\r\n permissionType: PermissionType.All,\r\n } as IPermissionOrRoleListConfig;\r\n\r\n public agencyPermConfig = {\r\n isUser: true,\r\n userOrRoleId: '',\r\n permissionType: PermissionType.All,\r\n keyName: 'Agency',\r\n allowEdit: false,\r\n rootPermissionNumber: 20000,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n } as IPermissionTreelistConfig;\r\n\r\n public agencyRolesConfig = {\r\n userOrRoleId: '',\r\n keyId: '',\r\n keyName: 'Agency',\r\n permissionType: PermissionType.All,\r\n allowEdit: false,\r\n } as IPermissionOrRoleListConfig;\r\n\r\n public miscPermConfig = {\r\n isUser: true,\r\n userOrRoleId: '',\r\n permissionType: PermissionType.All,\r\n keyId: '',\r\n keyName: '',\r\n allowEdit: false,\r\n rootPermissionNumber: 1,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n } as IPermissionTreelistConfig;\r\n\r\n public agDirPermConfig = {\r\n keyName: 'Insights',\r\n allowEdit: true,\r\n userId: '',\r\n permission: AppPermission.SystemEffortMetrics,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n caption: 'Insights Permissions',\r\n } as IMatrixedAgDirPermissionsTreelistConfig;\r\n\r\n // #endregion\r\n\r\n // #region debugging\r\n\r\n public getDebugData(): unknown {\r\n const sources = [];\r\n\r\n GeneralUtilities.getChildComponentDebugData(this.sysPermList, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.sysRolesDuallist, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.agencyPermList, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.agencyRolesDuallist, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.miscPermList, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.agDirPermlist, sources);\r\n\r\n return {\r\n componentName: this.constructor.name,\r\n effectivePermsConfig: this.effectivePermsConfig,\r\n sysPermConfig: this.sysPermConfig,\r\n agencyPermConfig: this.agencyPermConfig,\r\n sysRolesConfig: this.sysRolesConfig,\r\n agencyRolesConfig: this.agencyRolesConfig,\r\n miscPermConfig: this.miscPermConfig,\r\n allAgencies: this.allAgencies,\r\n childComponentData: sources,\r\n };\r\n }\r\n\r\n // #endregion\r\n\r\n // #region private vars\r\n\r\n private readonly indexNetEffective = 0;\r\n private readonly indexSystemRoles = 1;\r\n private readonly indexSystemPermissions = 2;\r\n private readonly indexAgencyRoles = 3;\r\n private readonly indexAgencyPermissions = 4;\r\n private readonly indexMiscPermissions = 5;\r\n private readonly indexAgDirPermissions = 6;\r\n private readonly indexEffortRoles = 7;\r\n\r\n // // #endregion\r\n\r\n // #region ctor\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService,\r\n private readonly commonService: CommonService\r\n ) {\r\n super(\r\n 'manage-permissions',\r\n 'Manage permissions',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n ngAfterViewInit(): void {\r\n // the set timeout 0 trick allows the accurate height of the main container to be calculated\r\n setTimeout(() => {\r\n this.sizeControl();\r\n }, 0);\r\n }\r\n\r\n // #endregion\r\n\r\n protected selectedUserChangedCallback = (): void => {\r\n this.initComponent();\r\n };\r\n\r\n // #region Ng Component implements\r\n\r\n ngOnInit(): void {\r\n this.commonService\r\n .getAllAgencies()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.allAgencies = val;\r\n });\r\n\r\n this.notifierService.currentPayload.pipe(untilDestroyed(this)).subscribe((payload) => {\r\n const key = payload.key;\r\n if (key === MessageConstants.AppUsableAreaResize) {\r\n this.sizeControl();\r\n }\r\n });\r\n }\r\n\r\n // #endregion\r\n\r\n // #region resize\r\n\r\n public sysRolesHeight = -1;\r\n public agencyRolesHeight = -1;\r\n public effectivePermsHeight = -1;\r\n\r\n public sizeControl(): void {\r\n const mainContainerHeightWidth = AppUtilities.getMainContainerHeightWidth();\r\n\r\n // set these constants appropriately once we figure out appropriate sizing\r\n // const listOffset = 420; // to allow for tabstrips and dropdowns\r\n\r\n // to allow for tabstrips and dropdowns, grid needs less psacing for whatever reason\r\n // (probably the top buttons of the duallist and the bottom buttons)\r\n\r\n const offset = 200;\r\n\r\n const agencyPickerHeight = 72; // amount to allow for the agency label & dropdown\r\n const controlMinHeight = 300; // minimum vertical height for all sub-controls\r\n\r\n // get window height\r\n const viewportHeight = mainContainerHeightWidth.y;\r\n\r\n const agencyHeight = viewportHeight - offset - agencyPickerHeight;\r\n const sysHeight = viewportHeight - offset;\r\n const effectiveHeight = viewportHeight - offset;\r\n\r\n this.agencyRolesHeight = Math.max(controlMinHeight, agencyHeight);\r\n this.sysRolesHeight = Math.max(controlMinHeight, sysHeight);\r\n this.effectivePermsHeight = Math.max(controlMinHeight, effectiveHeight);\r\n\r\n if (\r\n this.sysRolesDuallist &&\r\n this.sysRolesDuallist.containerHeight !== this.sysRolesHeight\r\n ) {\r\n this.sysRolesDuallist.containerHeight = this.sysRolesHeight;\r\n }\r\n\r\n if (\r\n this.agencyRolesDuallist &&\r\n this.agencyRolesDuallist.containerHeight !== this.agencyRolesHeight\r\n ) {\r\n this.agencyRolesDuallist.containerHeight = this.agencyRolesHeight;\r\n }\r\n\r\n if (\r\n this.effectivePermsGrid &&\r\n this.effectivePermsGrid.containerHeight !== this.effectivePermsHeight\r\n ) {\r\n this.effectivePermsGrid.containerHeight = this.effectivePermsHeight;\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #region public methods\r\n\r\n public onTabSelect(e: SelectEvent): void {\r\n const topicSuffix = StaticsService.toUrlSegment(e.title);\r\n const helpTopicId = `admin-users-permissions.html#${topicSuffix}`;\r\n this.helpService.helpTopicId = helpTopicId;\r\n\r\n if (e.index === this.indexSystemPermissions) {\r\n this.checkResetSysPermsConfig();\r\n }\r\n\r\n if (e.index === this.indexNetEffective) {\r\n this.checkResetEffectivePermsConfig();\r\n this.sizeControl();\r\n }\r\n\r\n if (e.index === this.indexSystemRoles) {\r\n this.checkResetSysRolesConfig();\r\n this.sizeControl();\r\n }\r\n\r\n if (e.index === this.indexAgencyPermissions) {\r\n this.checkResetAgencyPermsConfig();\r\n }\r\n\r\n if (e.index === this.indexAgencyRoles) {\r\n this.checkResetAgencyRolesConfig();\r\n this.sizeControl();\r\n }\r\n\r\n if (e.index === this.indexMiscPermissions) {\r\n this.checkResetMiscConfig();\r\n }\r\n\r\n if (e.index === this.indexAgDirPermissions) {\r\n this.checkResetAgDirConfig();\r\n }\r\n\r\n if (e.index === this.indexEffortRoles) {\r\n this.checkResetEffortRolesConfig();\r\n }\r\n }\r\n\r\n public agencyRolesValueChanged(value: IAgenciesDto): void {\r\n // reinit the roles\r\n if (value) {\r\n this.loadAgencyRoles(value);\r\n }\r\n }\r\n\r\n public agencyPermsValueChanged(value: IAgenciesDto): void {\r\n // reinit the permissions\r\n if (value) {\r\n this.loadAgencyPermissions(value);\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #region private methods\r\n\r\n private initComponent(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n this.checkResetEffectivePermsConfig(); // for initial tab\r\n }\r\n\r\n private checkResetEffectivePermsConfig(): void {\r\n if (this.effectivePermsConfig.userOrRoleId !== this.selectedUser.userId) {\r\n const newConfig = {\r\n userOrRoleId: this.selectedUser.userId,\r\n permissionType: PermissionType.System,\r\n keyName: 'System',\r\n allowEdit: true,\r\n } as IPermissionOrRoleListConfig;\r\n this.effectivePermsConfig = newConfig;\r\n }\r\n }\r\n\r\n private checkResetSysPermsConfig(): void {\r\n if (this.sysPermConfig.userOrRoleId !== this.selectedUser.userId) {\r\n const newSysPermConfig = {\r\n isUser: true,\r\n userOrRoleId: this.selectedUser.userId,\r\n permissionType: PermissionType.System,\r\n keyName: 'System',\r\n allowEdit: true,\r\n rootPermissionNumber: 10000,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n } as IPermissionTreelistConfig;\r\n this.sysPermConfig = newSysPermConfig;\r\n }\r\n }\r\n\r\n private checkResetSysRolesConfig(): void {\r\n if (this.sysRolesConfig.userOrRoleId !== this.selectedUser.userId) {\r\n const newSysRolesConfig = {\r\n userOrRoleId: this.selectedUser.userId,\r\n permissionType: PermissionType.System,\r\n keyName: 'System',\r\n allowEdit: true,\r\n } as IPermissionOrRoleListConfig;\r\n this.sysRolesConfig = newSysRolesConfig;\r\n }\r\n }\r\n\r\n private checkResetAgencyPermsConfig(): void {\r\n const agencyId = this.selectedUser.agencyId;\r\n if (agencyId && this.agencyPermConfig.keyId !== agencyId) {\r\n const foundAgency = this.allAgencies.find((x) => x.id === agencyId);\r\n if (foundAgency) {\r\n this.loadAgencyPermissions(foundAgency);\r\n // trick to allow view to render??\r\n setTimeout(() => {\r\n this.agencyPermAgency = foundAgency;\r\n });\r\n }\r\n }\r\n }\r\n\r\n private checkResetAgencyRolesConfig(): void {\r\n const agencyId = this.selectedUser.agencyId;\r\n if (agencyId && this.agencyRolesConfig.keyId !== agencyId) {\r\n const foundAgency = this.allAgencies.find((x) => x.id === agencyId);\r\n if (foundAgency) {\r\n this.loadAgencyRoles(foundAgency);\r\n // trick to allow view to render??\r\n setTimeout(() => {\r\n this.agencyRoleAgency = foundAgency;\r\n });\r\n }\r\n }\r\n }\r\n\r\n private checkResetMiscConfig(): void {\r\n if (this.miscPermConfig.userOrRoleId !== this.selectedUser.userId) {\r\n const miscConfig = {\r\n isUser: true,\r\n userOrRoleId: this.selectedUser.userId,\r\n permissionType: PermissionType.Misc,\r\n keyName: 'Misc',\r\n allowEdit: true,\r\n rootPermissionNumber: 1,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n } as IPermissionTreelistConfig;\r\n this.miscPermConfig = miscConfig;\r\n }\r\n }\r\n\r\n private checkResetAgDirConfig(): void {\r\n if (this.agDirPermConfig.userId !== this.selectedUser.userId) {\r\n const agDirConfig = {\r\n keyName: 'Insights',\r\n allowEdit: true,\r\n userId: this.selectedUser.userId,\r\n permission: AppPermission.SystemEffortMetrics,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n caption: 'Insights Permissions',\r\n } as IMatrixedAgDirPermissionsTreelistConfig;\r\n this.agDirPermConfig = agDirConfig;\r\n }\r\n }\r\n\r\n private checkResetEffortRolesConfig(): void {\r\n if (this.effortRolesConfig.id !== this.selectedUser.userId) {\r\n const effortRolesConfig = {\r\n id: this.selectedUser.userId,\r\n label: '',\r\n mode: CommonConstants.ActionAdmin,\r\n } as IIdAcronymModeConfig;\r\n this.effortRolesConfig = effortRolesConfig;\r\n }\r\n }\r\n\r\n private loadAgencyPermissions(agency: IAgenciesDto): void {\r\n const agencyConfig = {\r\n isUser: true,\r\n userOrRoleId: this.selectedUser.userId,\r\n keyId: agency.id,\r\n permissionType: PermissionType.Agency,\r\n keyName: agency.acronym,\r\n allowEdit: true,\r\n rootPermissionNumber: 20000,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n } as IPermissionTreelistConfig;\r\n\r\n this.agencyPermConfig = agencyConfig;\r\n }\r\n\r\n private loadAgencyRoles(agency: IAgenciesDto): void {\r\n const agencyConfig = {\r\n userOrRoleId: this.selectedUser.userId,\r\n keyId: agency.id,\r\n permissionType: PermissionType.Agency,\r\n keyName: agency.acronym,\r\n allowEdit: true,\r\n } as IPermissionOrRoleListConfig;\r\n\r\n this.agencyRolesConfig = agencyConfig;\r\n }\r\n\r\n // #endregion\r\n}\r\n", "
\r\n \r\n {{ isControlStateLoadingOrSaving | spinner:'default'}}\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 \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 { AbstractControlOptions, UntypedFormControl, Validators } from '@angular/forms';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\n// TODO: sort out all the different date libraries\r\nimport { addYears, getDate } from '@progress/kendo-date-math';\r\nimport {\r\n EnhancedFormGroup,\r\n EnvConfigurationService,\r\n FormUtilities,\r\n HelpPopupConfig,\r\n HelpService,\r\n IBooleanResult,\r\n IListItem,\r\n IUserAttributeExpirationDto,\r\n IUserAttributeToggleDto,\r\n IUserStatisticsDto,\r\n NotifierService,\r\n StaticsService,\r\n UserAttributeNames,\r\n UserService,\r\n validateUniqueUserAttributeValidatorInstantAsync,\r\n} from '@scb-shared';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-manage-user-login',\n templateUrl: './admin-manage-user-login.component.html',\n providers: [HelpPopupConfig],\n standalone: false\n})\r\nexport class AdminManageUserLoginComponent extends AdminUsersBaseComponent implements OnInit {\r\n // #region vars\r\n\r\n public adminCommentForm: EnhancedFormGroup<{\r\n comment: UntypedFormControl;\r\n }>;\r\n public get adminCommentSubmitDisabled(): boolean {\r\n return FormUtilities.submitDisabled(\r\n this.adminCommentForm,\r\n { all: false, dirty: true },\r\n this.adminCommentClickProcessing,\r\n this.stats\r\n );\r\n }\r\n\r\n public adminCommentClickProcessing = false;\r\n\r\n public usernameSubmitClickProcessing = false;\r\n public usernameForm: EnhancedFormGroup<{\r\n userId: UntypedFormControl;\r\n securityQuestion: UntypedFormControl;\r\n signupUsername: UntypedFormControl;\r\n signupEmail: UntypedFormControl;\r\n }>;\r\n\r\n // public get usernameSubmitDisabled(): boolean {\r\n // return FormUtilities.submitDisabled(\r\n // this.usernameForm,\r\n // { all: false, dirty: true },\r\n // this.usernameSubmitClickProcessing,\r\n // this.stats\r\n // );\r\n // }\r\n\r\n public lastProfileUpdateDateLoading = false;\r\n public lastProfileUpdateDateForm: EnhancedFormGroup<{\r\n profileUpdateDate: UntypedFormControl;\r\n }>;\r\n public get lastProfileUpdateSubmitDisabled(): boolean {\r\n return FormUtilities.submitDisabled(\r\n this.lastProfileUpdateDateForm,\r\n { all: false, dirty: true },\r\n this.lastProfileUpdateDateLoading,\r\n this.stats\r\n );\r\n }\r\n\r\n public userStats: IListItem[];\r\n public userAttributes: IListItem[];\r\n public stats: IUserStatisticsDto;\r\n\r\n public minDate: Date;\r\n public maxDate: Date;\r\n\r\n public lockoutStatusText = '';\r\n public lockoutStatus: IListItem = {\r\n id: 'locked-out',\r\n text: 'Locked Out',\r\n value: false,\r\n cssClass: '',\r\n disabled: false,\r\n };\r\n\r\n public activationStatusText = '';\r\n public activationStatus: IListItem = {\r\n id: 'approved',\r\n text: 'Activated',\r\n value: false,\r\n cssClass: '',\r\n disabled: false,\r\n };\r\n\r\n public isTogglingActivation = false;\r\n public isTogglingLockout = false;\r\n\r\n public usernameFormSubmitSubject$ = new Subject();\r\n public usernameSubmitDisabled = false;\r\n\r\n // #endregion\r\n\r\n // #region ctor\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService,\r\n protected readonly userService: UserService,\r\n private readonly helpPopupConfig: HelpPopupConfig\r\n ) {\r\n super(\r\n 'manage-login',\r\n 'Manage login',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n\r\n helpPopupConfig.helpPopupButtonPlacement = 'before';\r\n helpPopupConfig.helpPopupTitlePrefix = '';\r\n\r\n this.minDate = getDate(new Date());\r\n this.maxDate = addYears(getDate(new Date()), 1);\r\n }\r\n\r\n // #endregion\r\n\r\n // #region ng events\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n // #endregion\r\n\r\n public getUserHelpPopup(userAttribute: IListItem): string {\r\n return `user-${userAttribute.id}`;\r\n }\r\n\r\n // #region toggling\r\n\r\n public userDateToggle(value: 'profile update' | 'password change' | 'verification'): void {\r\n this.notifierService\r\n .modalConfirmResult(\r\n 'confirm',\r\n `Reset ${value} date to today?`,\r\n 'Reset Date',\r\n true,\r\n 'Reset',\r\n 'Nevermind'\r\n )\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n if (!val) {\r\n return;\r\n }\r\n\r\n const newDate = new Date();\r\n let obs: Observable;\r\n let callback: () => void;\r\n let oldStat: IUserAttributeExpirationDto;\r\n let statIndex = 0;\r\n\r\n if (value === 'profile update') {\r\n obs = this.userService.saveLastProfileUpdateDate(\r\n this.selectedUser.userId,\r\n newDate,\r\n true\r\n );\r\n\r\n oldStat = this.stats.profileUpdate;\r\n statIndex = 1;\r\n }\r\n\r\n if (value === 'password change') {\r\n obs = this.userService.saveLastPasswordChange(\r\n this.selectedUser.userId,\r\n newDate\r\n );\r\n\r\n oldStat = this.stats.passwordChange;\r\n statIndex = 2;\r\n }\r\n\r\n if (value === 'verification') {\r\n obs = this.userService.saveLastAccountVerification(\r\n this.selectedUser.userId,\r\n newDate\r\n );\r\n\r\n oldStat = this.stats.accountVerification;\r\n statIndex = 5;\r\n }\r\n\r\n if (obs) {\r\n obs.pipe(untilDestroyed(this)).subscribe((val) => {\r\n const message = val.success\r\n ? `${value} date set for ${this.selectedUser.userName}.`\r\n : val.message;\r\n const title = val.success ? 'Date Saved' : 'Error Saving Date';\r\n\r\n if (val.success && oldStat) {\r\n const newStat = {\r\n attributeId: oldStat.attributeId,\r\n attributeTitle: oldStat.attributeTitle,\r\n isWarning: false,\r\n isExpired: false,\r\n lastDate: newDate,\r\n expiresInDays: 0,\r\n } as IUserAttributeExpirationDto;\r\n\r\n // repush new data\r\n oldStat = newStat;\r\n const userStatLi = this.userStats[statIndex];\r\n userStatLi.value = StaticsService.getLongDateAmPmByValueOrDefault(\r\n 'Never',\r\n newDate\r\n );\r\n userStatLi.cssClass = this.getListItemCssClass(false, false);\r\n }\r\n\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n });\r\n }\r\n });\r\n }\r\n\r\n public userAttributeToggle(value: IListItem): void {\r\n const isNewValue = !value.value;\r\n const attributeName = value.id as UserAttributeNames;\r\n value.disabled = true;\r\n this.userService\r\n .toggleUserAttribute(this.selectedUser.userId, attributeName, isNewValue)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const message = val.success\r\n ? `${value.text} toggled for ${this.selectedUser.userName}.`\r\n : val.message;\r\n const title = val.success\r\n ? `${value.text} Toggled`\r\n : `Error Toggling ${value.text}`;\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n value.disabled = false;\r\n value.value = isNewValue;\r\n });\r\n }\r\n\r\n public setActivationStatus(isApproved: boolean): void {\r\n this.activationStatus.value = isApproved;\r\n if (isApproved) {\r\n this.activationStatus.cssClass = 'alert alert-success';\r\n this.activationStatusText =\r\n 'User is activated. Click the Deactivate User button to deactivate the user and prevent the user from logging in.';\r\n this.activationStatus.text = 'Deactivate User';\r\n } else {\r\n this.activationStatus.cssClass = 'alert alert-warning';\r\n this.activationStatusText =\r\n 'User is deactivated. Click the Activate User button to activate the user and allow the user to login.';\r\n this.activationStatus.text = 'Activate User';\r\n }\r\n }\r\n\r\n public toggleActivationLogout(isActivation: boolean): void {\r\n const value = isActivation ? this.activationStatus : this.lockoutStatus;\r\n if (isActivation) {\r\n this.isTogglingActivation = true;\r\n } else {\r\n this.isTogglingLockout = true;\r\n }\r\n const isNewValue = !value.value;\r\n const attributeName = value.id as UserAttributeNames;\r\n const isGoodAction = isActivation ? isNewValue : !isNewValue;\r\n value.disabled = true;\r\n this.userService\r\n .toggleUserAttribute(this.selectedUser.userId, attributeName, isNewValue)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n if (val.success) {\r\n if (isGoodAction) {\r\n const upAction = isActivation ? 'activated' : 'unlocked';\r\n const upTitle = `User ${upAction}.`;\r\n this.notifierService.success(upTitle, upTitle, null, true, true, false);\r\n } else {\r\n const downAction = isActivation ? 'deactivated' : 'locked';\r\n const downTitle = `User ${downAction}.`;\r\n this.notifierService.warning(downTitle, downTitle, null, true, true, false);\r\n }\r\n } else {\r\n let action = '';\r\n if (isGoodAction) {\r\n action = isActivation ? 'activating' : 'unlocking';\r\n } else {\r\n action = isActivation ? 'deactivating' : 'locking';\r\n }\r\n const errTitle = `Error ${action}.`;\r\n this.notifierService.error(errTitle, errTitle, null, true, true, false);\r\n }\r\n value.disabled = false;\r\n value.value = isNewValue;\r\n if (isActivation) {\r\n this.isTogglingActivation = false;\r\n this.setActivationStatus(isNewValue);\r\n } else {\r\n this.isTogglingLockout = false;\r\n this.setLockoutStatus(isNewValue);\r\n }\r\n });\r\n }\r\n\r\n public toggleActivationStatus(): void {\r\n this.toggleActivationLogout(true);\r\n }\r\n\r\n public setLockoutStatus(isLockedOut: boolean): void {\r\n this.lockoutStatus.value = isLockedOut;\r\n if (isLockedOut) {\r\n this.lockoutStatus.cssClass = 'alert alert-warning';\r\n this.lockoutStatusText =\r\n 'User is locked. Click the Unlock User button to unlock and allow user to login.';\r\n this.lockoutStatus.text = 'Unlock User';\r\n } else {\r\n this.lockoutStatus.cssClass = 'alert alert-success';\r\n this.lockoutStatusText = 'User is unlocked and able to login, if activated.';\r\n this.lockoutStatus.text = 'Lock User';\r\n }\r\n }\r\n\r\n public toggleLockoutStatus(): void {\r\n this.toggleActivationLogout(false);\r\n }\r\n\r\n // #endregion\r\n\r\n // #region form submission\r\n\r\n public onAdminCommentSubmit(): void {\r\n // we've manully set the valid state to a potentially erroneous state by allowing an empty comment\r\n // so refire this here\r\n // this.adminCommentForm.markAsDirty();\r\n // this.adminCommentForm.updateValueAndValidity({\r\n // onlySelf: false,\r\n // emitEvent: false,\r\n // });\r\n // below line is what actually works...not setting the form itself\r\n FormUtilities.validateAllFormFields(this.adminCommentForm);\r\n if (this.adminCommentForm.valid) {\r\n this.adminCommentClickProcessing = true;\r\n const adminComment = this.adminCommentForm.controls.comment.value as string;\r\n this.userService\r\n .saveAdminComment(this.selectedUser.userId, adminComment)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const message = val.success\r\n ? `Comment '${adminComment}' saved for ${this.selectedUser.userName}.`\r\n : val.message;\r\n const title = val.success ? 'Comment Saved' : 'Error Saving Comment';\r\n this.stats.comment = adminComment;\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n this.adminCommentClickProcessing = false;\r\n });\r\n }\r\n }\r\n\r\n public onLastProfileUpdateSubmit(): void {\r\n FormUtilities.validateAllFormFields(this.lastProfileUpdateDateForm);\r\n if (this.lastProfileUpdateDateForm.valid) {\r\n this.lastProfileUpdateDateLoading = true;\r\n const newDate = this.lastProfileUpdateDateForm.controls.profileUpdateDate.value as Date;\r\n this.userService\r\n .saveLastProfileUpdateDate(this.selectedUser.userId, newDate, true)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const message = val.success\r\n ? `Last profile update date set for ${this.selectedUser.userName}.`\r\n : val.message;\r\n const title = val.success\r\n ? 'Profile Update Date Saved'\r\n : 'Error Saving Profile Update Date';\r\n if (val.success) {\r\n const oldProfileUpdate = this.stats.profileUpdate;\r\n const newProfileUpdate = {\r\n attributeId: oldProfileUpdate.attributeId,\r\n attributeTitle: oldProfileUpdate.attributeTitle,\r\n isWarning: false,\r\n isExpired: false,\r\n lastDate: newDate,\r\n expiresInDays: 0,\r\n } as IUserAttributeExpirationDto;\r\n\r\n // repush new data\r\n this.stats.profileUpdate = newProfileUpdate;\r\n const profileStat = this.userStats[1];\r\n profileStat.value = StaticsService.getLongDateAmPmByValueOrDefault(\r\n 'Never',\r\n newDate\r\n );\r\n profileStat.cssClass = this.getListItemCssClass(false, false);\r\n }\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n this.lastProfileUpdateDateLoading = false;\r\n });\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n protected selectedUserChangedCallback = (): void => {\r\n this.initComponent();\r\n };\r\n\r\n // #region private\r\n\r\n private createForm(): void {\r\n // eslint-disable-next-line @typescript-eslint/unbound-method\r\n const requiredValidators = [Validators.required];\r\n\r\n // basic options for lookup date and comment are change based\r\n // bc there is no server side async validator\r\n const basicControlOptions = {\r\n validators: requiredValidators,\r\n updateOn: 'change',\r\n } as AbstractControlOptions;\r\n\r\n this.adminCommentForm = EnhancedFormGroup.create({\r\n comment: new UntypedFormControl('', basicControlOptions),\r\n });\r\n\r\n // these 2 sets of options are blur b/c they have expensive async validators attached to them\r\n const userNameValidator = validateUniqueUserAttributeValidatorInstantAsync(\r\n this.userService,\r\n 'username',\r\n null,\r\n 'userId'\r\n );\r\n\r\n const userNameOptions = {\r\n validators: requiredValidators,\r\n asyncValidators: [userNameValidator],\r\n updateOn: 'blur',\r\n } as AbstractControlOptions;\r\n\r\n const signupEmailValidator = validateUniqueUserAttributeValidatorInstantAsync(\r\n this.userService,\r\n 'signup-email',\r\n null,\r\n 'userId'\r\n );\r\n\r\n const signupEmailOptions = {\r\n // eslint-disable-next-line @typescript-eslint/unbound-method\r\n validators: [Validators.required, Validators.email],\r\n asyncValidators: [signupEmailValidator],\r\n updateOn: 'blur',\r\n } as AbstractControlOptions;\r\n\r\n this.usernameForm = EnhancedFormGroup.create({\r\n userId: new UntypedFormControl(''),\r\n securityQuestion: new UntypedFormControl(''),\r\n signupUsername: new UntypedFormControl('', userNameOptions),\r\n signupEmail: new UntypedFormControl('', signupEmailOptions),\r\n });\r\n\r\n this.lastProfileUpdateDateForm = EnhancedFormGroup.create({\r\n profileUpdateDate: new UntypedFormControl('', basicControlOptions),\r\n });\r\n\r\n this.usernameForm.statusChanges.pipe(untilDestroyed(this)).subscribe((val) => {\r\n this.usernameSubmitDisabled = val !== 'VALID';\r\n if (this.usernameSubmitClickProcessing && val === 'VALID') {\r\n this.usernameSubmitInternal();\r\n }\r\n });\r\n }\r\n\r\n public requestUserNameSubmit(): void {\r\n this.usernameForm.markAsDirty();\r\n this.usernameSubmitClickProcessing = true;\r\n FormUtilities.validateAllFormFields(this.usernameForm);\r\n }\r\n\r\n public onUsernameSubmit(): void {\r\n if (this.usernameForm.valid) {\r\n const newUserName = this.usernameForm.controls.signupUsername.value as string;\r\n const newSignupEmail = this.usernameForm.controls.signupEmail.value as string;\r\n this.userService\r\n .saveNewUsernameSignupEmail(this.selectedUser.userId, newUserName, newSignupEmail)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const message = val.success\r\n ? `Username set to ${newUserName}. Signup email set to ${newSignupEmail}.`\r\n : val.message;\r\n const title = val.success\r\n ? 'Username/Signup Email Saved'\r\n : 'Error Saving Username/Signup Email';\r\n if (val.success) {\r\n this.stats.userName = newUserName;\r\n this.stats.email = newSignupEmail;\r\n }\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n this.usernameSubmitClickProcessing = false;\r\n });\r\n } else {\r\n this.notifierService.toastWarning(\r\n 'Form is not valid...something must still be validating or have an error.',\r\n 'Check Form'\r\n );\r\n this.usernameSubmitClickProcessing = false;\r\n }\r\n }\r\n\r\n public usernameSubmitInternal(): void {\r\n const newUserName = this.usernameForm.controls.signupUsername.value as string;\r\n const newSignupEmail = this.usernameForm.controls.signupEmail.value as string;\r\n this.userService\r\n .saveNewUsernameSignupEmail(this.selectedUser.userId, newUserName, newSignupEmail)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const message = val.success\r\n ? `Username set to ${newUserName}. Signup email set to ${newSignupEmail}.`\r\n : val.message;\r\n const title = val.success\r\n ? 'Username/Signup Email Saved'\r\n : 'Error Saving Username/Signup Email';\r\n if (val.success) {\r\n this.stats.userName = newUserName;\r\n this.stats.email = newSignupEmail;\r\n }\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n this.usernameSubmitClickProcessing = false;\r\n });\r\n }\r\n\r\n private resetForm(): void {\r\n // setup admin comment form\r\n this.adminCommentForm.controls.comment.setValue(this.stats.comment);\r\n FormUtilities.clearAllErrors(this.adminCommentForm);\r\n\r\n // last profile date form\r\n this.lastProfileUpdateDateForm.controls.profileUpdateDate.setValue(\r\n this.stats.profileUpdate.lastDate\r\n );\r\n FormUtilities.clearAllErrors(this.lastProfileUpdateDateForm);\r\n\r\n // username form\r\n this.usernameForm.controls.userId.setValue(this.stats.userId);\r\n this.usernameForm.controls.signupUsername.setValue(this.stats.userName);\r\n this.usernameForm.controls.signupEmail.setValue(this.stats.email);\r\n this.usernameForm.controls.securityQuestion.setValue(this.stats.passwordQuestion);\r\n FormUtilities.clearAllErrors(this.usernameForm);\r\n }\r\n\r\n private initComponent(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n\r\n // we have a user - get their statistics\r\n this.setControlStateLoading();\r\n this.userService\r\n .getUserStatistics(this.selectedUser.userId)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.stats = val;\r\n\r\n this.setActivationStatus(val.isApproved);\r\n this.setLockoutStatus(val.isLockedOut);\r\n\r\n this.userStats = [];\r\n this.userStats.push({\r\n id: 'create-date',\r\n text: 'User Creation Date',\r\n value: StaticsService.getLongDateAmPmByValue(val.createDate),\r\n cssClass: '',\r\n disabled: false,\r\n } as IListItem);\r\n\r\n const profileUpdateClickCallback = () => {\r\n this.userDateToggle('profile update');\r\n };\r\n\r\n this.pushUserExpiration(val.profileUpdate, true, profileUpdateClickCallback);\r\n\r\n this.pushLastPasswordChange(val.passwordChange);\r\n this.pushUserExpiration(val.accountLogon);\r\n this.pushUserExpiration(val.accountAuthentication);\r\n\r\n const accountVerificationClickCallback = () => {\r\n this.userDateToggle('verification');\r\n };\r\n\r\n this.pushUserExpiration(\r\n val.accountVerification,\r\n true,\r\n accountVerificationClickCallback\r\n );\r\n\r\n this.userAttributes = [];\r\n this.pushUserAttribute(val.trackDownloads);\r\n this.pushUserAttribute(val.trackAnnouncementViews);\r\n this.pushUserAttribute(val.trackEffortViews);\r\n this.pushUserAttribute(val.trackActivity);\r\n this.pushUserAttribute(val.autoSubscribeToEmailNotifications);\r\n\r\n this.resetForm();\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n private pushUserAttribute(value: IUserAttributeToggleDto): void {\r\n this.userAttributes.push({\r\n id: value.attributeId,\r\n text: value.attributeTitle,\r\n value: value.isChecked,\r\n disabled: false,\r\n } as IListItem);\r\n }\r\n\r\n private pushLastPasswordChange(value: IUserAttributeExpirationDto): void {\r\n const clickCallback = () => {\r\n this.userDateToggle('password change');\r\n };\r\n\r\n if (value.lastDate && value.lastDate.getFullYear() < 2002) {\r\n this.userStats.push({\r\n id: value.attributeId,\r\n text: value.attributeTitle,\r\n value: 'User Must Reset',\r\n cssClass: this.getListItemCssClass(true, true),\r\n disabled: false,\r\n clickable: true,\r\n clickCallback,\r\n } as IListItem);\r\n } else {\r\n this.pushUserExpiration(value, true, clickCallback);\r\n }\r\n }\r\n\r\n private pushUserExpiration(\r\n value: IUserAttributeExpirationDto,\r\n clickable?: boolean,\r\n clickCallback?: () => void\r\n ): void {\r\n this.userStats.push({\r\n id: value.attributeId,\r\n text: value.attributeTitle,\r\n value: StaticsService.getLongDateAmPmByValueOrDefault('Never', value.lastDate),\r\n cssClass: this.getTableItemCssClass(value.isWarning, value.isExpired),\r\n disabled: false,\r\n clickable,\r\n clickCallback,\r\n } as IListItem);\r\n }\r\n\r\n private getListItemCssClass(isWarning: boolean, isExpired: boolean): string {\r\n return this.getListOrTableItemCssClass(false, isWarning, isExpired);\r\n }\r\n\r\n private getTableItemCssClass(isWarning: boolean, isExpired: boolean): string {\r\n return this.getListOrTableItemCssClass(true, isWarning, isExpired);\r\n }\r\n\r\n private getListOrTableItemCssClass(\r\n isTable: boolean,\r\n isWarning: boolean,\r\n isExpired: boolean\r\n ): string {\r\n let result = '';\r\n const prefix = isTable ? 'table-' : 'list-group-item-';\r\n if (isExpired) {\r\n result = `${prefix}danger`;\r\n } else if (isWarning) {\r\n result = `${prefix}warning`;\r\n }\r\n return result;\r\n }\r\n\r\n // #endregion\r\n\r\n public textboxFocus($event: FocusEvent): void {\r\n const target = $event.target as HTMLInputElement;\r\n target.select();\r\n }\r\n}\r\n", "

View and manage the user's login information below.

\r\n
\r\n \r\n {{ isControlStateLoadingOrSaving | spinner:'default'}}\r\n \r\n
\r\n
\r\n
\r\n

Statistics

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{userStat.value}}\r\n \r\n
\r\n \r\n
\r\n
\r\n

User Attributes

\r\n
    \r\n
  • \r\n User Id{{stats.userId}}\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 Administrator Comment\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 Last Profile Updated Date\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

Logon Attributes

\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

Activation Status

\r\n
\r\n
\r\n {{activationStatusText}}\r\n
\r\n\r\n \r\n
\r\n

Lock Status

\r\n
\r\n
{{lockoutStatusText}}
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
", "import { Component, ViewChild } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { ManageProfileComponent } from '@scb-components';\r\nimport { IContactsDto, ISuccessErrorCancelResult, IUserProfileDto } from '@scb-interfaces';\r\nimport {\r\n ContactService,\r\n EnvConfigurationService,\r\n HelpService,\r\n NotifierService,\r\n UserService,\r\n} from '@scb-services';\r\nimport { AppUtilities } from '@scb-utilities';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { forkJoin } from 'rxjs';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-edit-user-profile',\n templateUrl: './admin-edit-user-profile.component.html',\n standalone: false\n})\r\nexport class AdminEditUserProfileComponent extends AdminUsersBaseComponent {\r\n // we need this static so that it is available in selectedUserCallback and callees which are in ngOnInit lifecycle\r\n @ViewChild('manageProfile', { static: true }) manageProfile: ManageProfileComponent;\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService,\r\n private readonly contactService: ContactService,\r\n private readonly userService: UserService\r\n ) {\r\n super(\r\n 'edit-profile',\r\n 'Edit profile',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n }\r\n\r\n manageProfileActionComplete(value: ISuccessErrorCancelResult): void {\r\n if (value.status === 'success') {\r\n const contact = value.result;\r\n // success. we might have changed affiliation. we need to update the selected user object on the caller\r\n this.selectedUser.isAce = AppUtilities.contactIsAce(contact);\r\n this.selectedUser.isAgency = AppUtilities.contactIsAgency(contact);\r\n\r\n this.selectedUser.agencyId = contact.agencyId;\r\n this.selectedUser.organizationName = contact.organizationId;\r\n this.selectedUser.directorateId = contact.directorateId;\r\n this.selectedUser.eMailAddressClassified = contact.eMailAddressClassified;\r\n this.selectedUser.eMailAddressUnclassified = contact.eMailAddressUnclassified;\r\n\r\n this.selectedUser.displayName = contact.displayName;\r\n this.selectedUser.organizationName = contact.displayName;\r\n this.selectedUser.firstName = contact.firstName;\r\n this.selectedUser.lastName = contact.lastName;\r\n this.selectedUser.phoneNumberClassified = contact.phoneNumberClassified;\r\n this.selectedUser.phoneNumberUnclassified = contact.phoneNumberUnclassified;\r\n this.selectedUser.ssn = contact.ssn;\r\n this.selectedUser.ssn6 = contact.ssn6;\r\n } else if (value.status === 'error') {\r\n this.notifierService.toastError('Unable to update profile.', 'Unable to Update');\r\n }\r\n }\r\n\r\n protected selectedUserChangedCallback = (): void => {\r\n this.initComponent();\r\n };\r\n\r\n private initComponent(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n\r\n this.setControlStateLoading();\r\n\r\n const userId = this.selectedUser.userId;\r\n const contactObs = this.contactService\r\n .getContactByUserId(userId)\r\n .pipe(untilDestroyed(this));\r\n\r\n const userProfileObs = this.userService.getUserProfile(userId).pipe(untilDestroyed(this));\r\n const sources = [contactObs, userProfileObs];\r\n\r\n forkJoin(sources).subscribe({\r\n next: (val) => {\r\n if (val) {\r\n const contactData = val[0] as IContactsDto;\r\n const userProfile = val[1] as IUserProfileDto;\r\n\r\n contactData.windowsTimeZone =\r\n userProfile && userProfile.windowsTimeZone\r\n ? userProfile.windowsTimeZone\r\n : 'Eastern Standard Time';\r\n\r\n this.manageProfile.formData = contactData;\r\n this.setControlStateNeutral();\r\n }\r\n },\r\n error: () => {},\r\n });\r\n }\r\n}\r\n", "

Edit the user's profile. Note that any change in company or agency affiliation will delete all of the user's permissions\r\n and access to limited blind sites.\r\n

\r\n\r\n\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { AuthService, EnvConfigurationService, HelpService, NotifierService } from '@scb-services';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-login-as',\n templateUrl: './admin-login-as.component.html',\n standalone: false\n})\r\nexport class AdminLoginAsComponent extends AdminUsersBaseComponent implements OnInit {\r\n public clickProcessing = false;\r\n public remoteIpMessage = '';\r\n public remoteIpEnabled = false;\r\n public remoteIpCheckComplete = false;\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService,\r\n private readonly authService: AuthService\r\n ) {\r\n super(\r\n 'login-as',\r\n 'Login as user',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n }\r\n ngOnInit(): void {\r\n this.authService\r\n .remoteIpPermitted()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.remoteIpMessage = val.message;\r\n this.remoteIpEnabled = val.success;\r\n this.remoteIpCheckComplete = true;\r\n });\r\n }\r\n\r\n public get userName(): string {\r\n if (this.selectedUser) {\r\n return this.selectedUser.userName;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public get sendEnabled(): boolean {\r\n const userName = this.userName;\r\n if (userName) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public get buttonDisabled(): boolean {\r\n if (!this.remoteIpEnabled) {\r\n return true;\r\n }\r\n return !this.sendEnabled;\r\n }\r\n\r\n public get instructions(): string {\r\n if (this.sendEnabled) {\r\n if (!this.remoteIpCheckComplete) {\r\n return 'Checking IP address for login as functionality...';\r\n }\r\n\r\n const suffix = this.remoteIpEnabled\r\n ? `Click the button below to login as ${this.userName}.`\r\n : 'Contact the system admins to have this IP added to the safelist.';\r\n return this.remoteIpMessage + ' ' + suffix;\r\n } else {\r\n return 'Select a user first.';\r\n }\r\n }\r\n\r\n public doLoginAs(): void {\r\n this.clickProcessing = true;\r\n const adminUser = this.authService.loggedOnUser;\r\n const adminUserId = adminUser.id;\r\n const adminUserName = adminUser.userName;\r\n const impersonatedUserId = this.selectedUser.userId;\r\n const impersonatedUserName = this.selectedUser.userName;\r\n const isAdminHelpdesk = this.authService.isHelpdesk();\r\n\r\n this.authService\r\n .loginAs(adminUserId, impersonatedUserId)\r\n .pipe(untilDestroyed(this))\r\n .subscribe({\r\n next: () => {\r\n this.clickProcessing = false;\r\n // success\r\n this.setControlStateNeutral();\r\n\r\n const title = 'Signed In As';\r\n const message = `Signed in as ${this.selectedUser.userName}, click the OK button below to redirect!`;\r\n\r\n this.notifierService\r\n .modalConfirmResult(\r\n 'success',\r\n message,\r\n title,\r\n true,\r\n 'Ok, Login As',\r\n 'Nevermind, Cancel'\r\n )\r\n .pipe(untilDestroyed(this))\r\n .subscribe((modalResult) => {\r\n if (modalResult) {\r\n this.notifierService.sendLoginAsExecuted(\r\n adminUserId,\r\n adminUserName,\r\n isAdminHelpdesk,\r\n impersonatedUserId,\r\n impersonatedUserName\r\n );\r\n this.authService.routerExtService.redirectToDashboard();\r\n } else {\r\n this.authService\r\n .revertLoginAs(adminUserId, impersonatedUserId)\r\n // .revertLoginAs(adminUserName)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.notifierService.toastSuccessOrError(\r\n val.success,\r\n val.message,\r\n val.success\r\n ? 'Reverted Login As'\r\n : 'Revert Login As Error'\r\n );\r\n });\r\n }\r\n });\r\n },\r\n error: () => {\r\n // error\r\n this.notifierService.error('Unable to login as.', 'Login As Error');\r\n this.setControlStateNeutral();\r\n },\r\n });\r\n }\r\n\r\n // protected selectedUserChangedCallback = (): void => {\r\n // this.buttonDisabled = !this.sendEnabled;\r\n // };\r\n}\r\n", "

{{instructions}}

\r\n\r\n", "import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport {\r\n EnvConfigurationService,\r\n HelpService,\r\n ICertificateDetailsDto,\r\n NotifierService,\r\n UserService,\r\n} from '@scb-shared';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AdminUsersBaseComponent } from '../admin-users-base/admin-users-base-component';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-manage-user-certs',\n templateUrl: './admin-manage-user-certs.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\r\nexport class AdminManageUserCertsComponent extends AdminUsersBaseComponent {\r\n public userCerts: ICertificateDetailsDto[];\r\n // eslint-disable-next-line @typescript-eslint/quotes\r\n public pageCaption = \"View and manage the user's certificates below.\";\r\n\r\n constructor(\r\n protected readonly notifierService: NotifierService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly logger: NGXLogger,\r\n protected readonly helpService: HelpService,\r\n private readonly userService: UserService\r\n ) {\r\n super(\r\n 'manage-certs',\r\n 'Manage certificates',\r\n notifierService,\r\n envConfigurationService,\r\n logger,\r\n helpService\r\n );\r\n }\r\n\r\n protected selectedUserChangedCallback = (): void => {\r\n this.initComponent();\r\n };\r\n\r\n private initComponent(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n\r\n // we have a user - get their certs\r\n this.getData();\r\n }\r\n\r\n // #region Ng Component implements\r\n\r\n getData(): void {\r\n this.setControlStateLoading();\r\n this.userService\r\n .getUserCertificatesDetails(this.selectedUser.userId)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n if (!val || val.length === 0) {\r\n this.pageCaption = 'This user has no registered PKI certificates.';\r\n }\r\n this.userCerts = val;\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n // #endregion\r\n}\r\n", "

{{pageCaption}}

\r\n
\r\n \r\n {{ isControlStateLoadingOrSaving | spinner:'default'}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n", "import { DatePipe } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { untilDestroyed } from '@ngneat/until-destroy';\r\nimport { RemoveEvent } from '@progress/kendo-angular-grid';\r\nimport { GenericKendoGridComponent } from '@scb-components';\r\nimport {\r\n IFeedbackGridDto,\r\n IGenericKendoGridColumn,\r\n IGenericKendoGridColumnAction,\r\n IGenericKendoGridConfig,\r\n} from '@scb-interfaces';\r\nimport {\r\n AdminService,\r\n AuthService,\r\n EnvConfigurationService,\r\n HelpService,\r\n NotifierService,\r\n} from '@scb-services';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\n selector: 'app-admin-feedback-grid',\n templateUrl: './../../../shared/components/generic/generic-kendo-grid/generic-kendo-grid.component.html',\n standalone: false\n})\r\nexport class AdminFeedbackGridComponent\r\n extends GenericKendoGridComponent\r\n implements OnInit\r\n{\r\n // #region ctor\r\n\r\n constructor(\r\n // core generic kendo grid imports\r\n protected readonly logger: NGXLogger,\r\n protected readonly spinner: NgxSpinnerService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly authService: AuthService,\r\n protected readonly datePipe: DatePipe,\r\n protected readonly helpService: HelpService,\r\n protected readonly notifierService: NotifierService,\r\n protected readonly cdRef: ChangeDetectorRef,\r\n // end core\r\n private readonly adminService: AdminService\r\n ) {\r\n super(\r\n logger,\r\n spinner,\r\n envConfigurationService,\r\n authService,\r\n datePipe,\r\n helpService,\r\n notifierService,\r\n cdRef\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Ng Component implements\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.allowFiltering = true;\r\n\r\n this.title = 'Website Feedback';\r\n\r\n this.wireupConfig();\r\n this.getData();\r\n }\r\n\r\n protected containerHeightChangedCallback = (): void => {\r\n this.wireupConfig();\r\n };\r\n\r\n private wireupConfig(): void {\r\n const formattedFeedbackNumberCol = super.getDefaultStringCol(\r\n 'formattedFeedbackNumber',\r\n 'Item #'\r\n );\r\n\r\n const emailCol = super.getEmailCol('email', 'Email Address');\r\n const isBugCol = super.getDefaultBooleanCol('isBug', 'Is Bug');\r\n const jiraKeyCol = super.getDefaultStringCol('jiraKey', 'Jira #');\r\n const subjectCol = super.getDefaultStringCol('subject', 'Subject');\r\n const responseCol = super.getDefaultStringCol('response', 'Comments');\r\n\r\n const itemStatusCol = {\r\n field: 'itemStatus',\r\n title: 'Status',\r\n columnType: 'text',\r\n isGrid: true,\r\n isExcel: true,\r\n isPdf: true,\r\n filtering: {\r\n enabled: true,\r\n showOperators: false,\r\n customItems: ['New', 'Reviewed', 'Unable to Replicate', 'Resolved'],\r\n },\r\n sortable: true,\r\n } as IGenericKendoGridColumn;\r\n\r\n const dateCreatedCol = super.getDefaultTimezoneDateCol('dateCreatedUtc', 'Created');\r\n\r\n const viewAction = {\r\n actionTitle: 'View or edit this feedback item',\r\n eventName: 'view',\r\n appButtonName: 'binoculars',\r\n inputType: 'appButton',\r\n inputSize: 'md',\r\n } as IGenericKendoGridColumnAction;\r\n\r\n const actions = [viewAction];\r\n\r\n const gridColumns = [\r\n formattedFeedbackNumberCol,\r\n emailCol,\r\n isBugCol,\r\n jiraKeyCol,\r\n subjectCol,\r\n responseCol,\r\n itemStatusCol,\r\n dateCreatedCol,\r\n ];\r\n\r\n let gridConfig = {\r\n actions,\r\n gridColumns,\r\n exportBaseTitle: this.title,\r\n allowExcelExport: true,\r\n allowPdfExport: true,\r\n allowRefresh: true,\r\n allowDelete: true,\r\n confirmDeleteCallback: ($event: RemoveEvent) => {\r\n const dataItem = $event.dataItem as IFeedbackGridDto;\r\n const prefix = dataItem.isBug ? 'Bug Report' : 'Website Feedback';\r\n const title = `Delete ${prefix} #${dataItem.formattedFeedbackNumber}`;\r\n const body =\r\n 'Are you sure you want to delete this item? This action is not undoable.';\r\n\r\n return this.notifierService.modalConfirmResult(\r\n 'delete',\r\n // eslint-disable-next-line max-len\r\n body,\r\n title,\r\n true,\r\n `Delete ${prefix}`,\r\n 'Nevermind'\r\n );\r\n },\r\n performDeleteCallback: ($event: RemoveEvent) => {\r\n const dataItem = $event.dataItem as IFeedbackGridDto;\r\n return this.adminService.deleteFeedback(dataItem.id);\r\n },\r\n sortable: this.defaultSortable,\r\n state: this.defaultPageableState,\r\n initialPageSize: 5,\r\n } as IGenericKendoGridConfig;\r\n\r\n // do normal paging on this grid\r\n gridConfig = this.mergeNormalPaging(gridConfig, [10, 50]);\r\n\r\n this.gridConfig = gridConfig;\r\n }\r\n\r\n // #endregion\r\n\r\n // eslint-disable-next-line arrow-body-style, @typescript-eslint/no-unused-vars\r\n protected refreshClickCallback = (value: number): void => {\r\n this.getData();\r\n };\r\n\r\n private getData(): void {\r\n this.setControlStateLoading();\r\n this.adminService\r\n .getFeedback()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((data) => {\r\n this.data = data;\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n}\r\n", "
\r\n
\r\n

{{topCollapsibleHeader}}

\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
\r\n
\r\n {{pageByLetterCaption}}\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
{{classification}}
\r\n
\r\n {{ docTitle }}\r\n
Page {{ pageNum }} of {{ totalPages }}
\r\n
\r\n
\r\n
\r\n
Page {{ pageNum }} of {{ totalPages }}
\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 {{column.title}}\r\n\r\n \r\n {{column.title}}\r\n \r\n \r\n\r\n \r\n {{column.title}}\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 {{screenColumnTimezoneDateContent(screenColumn, dataItem)}}\r\n \r\n \r\n \r\n \r\n \r\n {{ rowIndex + 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 TODO: cool pin!\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 \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 {{noRecordsMessage}}\r\n \r\n
\r\n
\r\n\r\n\r\n {{ anchor.nativeElement.getAttribute(\"data-tooltip-title\") }}\r\n\r\n\r\n {{ anchor.nativeElement.getAttribute(\"data-tooltip\") }}\r\n", "import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport {\r\n IAppConfiguration,\r\n IFeedbackDto,\r\n IFeedbackGridDto,\r\n IJiraCredsDto,\r\n IJiraIdKeySelfDto,\r\n IJiraIssueFormDto,\r\n IUpdateFeedbackDto,\r\n IUserAuthenticationResultModel,\r\n IUserPreferencesDto,\r\n} from '@scb-interfaces';\r\nimport {\r\n AdminService,\r\n AuthService,\r\n EnvConfigurationService,\r\n JiraIntegrationService,\r\n NotifierService,\r\n} from '@scb-services';\r\nimport {\r\n AppUtilities,\r\n ControlStateDirective,\r\n JiraCredsFormComponent,\r\n JiraIssueFormComponent,\r\n JsonUtilities,\r\n ViewImgComponent,\r\n} from '@scb-shared';\r\nimport { FormUtilities, GeneralUtilities } from '@scb-utilities';\r\nimport { NGXLogger } from 'ngx-logger';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-feedback-details',\n templateUrl: './admin-feedback-details.component.html',\n standalone: false\n})\r\nexport class AdminFeedbackDetailsComponent extends ControlStateDirective implements OnInit {\r\n public get leftColClass(): string {\r\n if (this.#dataItem.screenshotBase64) {\r\n return 'col col-md-4';\r\n }\r\n return 'col';\r\n }\r\n\r\n @Input() set dataItem(value: IFeedbackGridDto) {\r\n if (value !== this.#dataItem) {\r\n this.adminService\r\n .getSingleFeedback(value.feedbackNumber)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.#dataItem = val;\r\n this.rebindRequired = true;\r\n this.isDebugDataCopied = false;\r\n this.copyDebugDataCaption = 'Copy';\r\n\r\n let isValidDebugData = false;\r\n if (JsonUtilities.hasJsonStructure(val.debugData)) {\r\n const parsedData = JsonUtilities.safeJsonParseWrapper(val.debugData);\r\n if (parsedData) {\r\n this.safeDebugData = parsedData;\r\n isValidDebugData = true;\r\n }\r\n }\r\n if (!isValidDebugData) {\r\n this.safeDebugData = {};\r\n }\r\n this.rebindForm();\r\n });\r\n }\r\n }\r\n\r\n get dataItem(): IFeedbackDto {\r\n return this.#dataItem;\r\n }\r\n\r\n get hasScreenshot(): boolean {\r\n if (this.#dataItem && this.#dataItem.screenshotBase64) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n get hasDebugData(): boolean {\r\n if (this.#dataItem && this.#dataItem.debugData) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public safeDebugData = {};\r\n\r\n @Output() buttonClicked = new EventEmitter();\r\n\r\n #dataItem: IFeedbackDto = {\r\n id: '',\r\n feedbackNumber: 0,\r\n jiraKey: '',\r\n response: '',\r\n itemStatus: '',\r\n httpRequestBrowser: '',\r\n httpRequestBrowserVersion: '',\r\n httpRequestClientIp: '',\r\n httpRequestUserAgent: '',\r\n dateCreatedUtc: new Date(),\r\n isBug: false,\r\n email: '',\r\n subject: '',\r\n comment: '',\r\n screenshotBase64: '',\r\n userId: '',\r\n appEnvironment: 'default',\r\n ngUrl: '',\r\n } as IFeedbackDto;\r\n\r\n public feedbackBugForm: UntypedFormGroup;\r\n public showDetails = false;\r\n\r\n public config: IAppConfiguration;\r\n public user: IUserAuthenticationResultModel;\r\n public userPreferences: IUserPreferencesDto[];\r\n public isJiraAdmin = false;\r\n\r\n constructor(\r\n protected readonly logger: NGXLogger,\r\n private readonly adminService: AdminService,\r\n private readonly fb: UntypedFormBuilder,\r\n private readonly envConfigurationService: EnvConfigurationService,\r\n private readonly notifierService: NotifierService,\r\n private readonly authService: AuthService,\r\n private readonly jiraService: JiraIntegrationService,\r\n private readonly modalService: NgbModal\r\n ) {\r\n super(logger);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.config = this.envConfigurationService.getConfig();\r\n this.user = this.authService.loggedOnUser;\r\n this.isJiraAdmin = this.authService.isJiraAdmin();\r\n this.#dataItem.appEnvironment = this.config.appEnvironment;\r\n\r\n if (!this.jiraService.hasKeys()) {\r\n this.setControlStateLoading();\r\n this.authService\r\n .getUserPreferences(this.user.id)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.userPreferences = val;\r\n const foundPref = this.userPreferences.find(\r\n (x) => x.preferenceKey === 'jiraCreds'\r\n );\r\n if (foundPref) {\r\n const jiraCred = JsonUtilities.jsonParseToType(\r\n foundPref.preferenceValue\r\n );\r\n if (jiraCred) {\r\n this.jiraService.setKeys(\r\n jiraCred.jiraUserName,\r\n jiraCred.jiraToken,\r\n this.user.id\r\n );\r\n }\r\n }\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n this.createFeedbackBugForm();\r\n this.rebindForm();\r\n }\r\n\r\n // private screenshowWindow: Window = null;\r\n\r\n private rebindForm(): void {\r\n if (!this.rebindRequired) {\r\n return;\r\n }\r\n if (this.feedbackBugForm) {\r\n const controls = this.feedbackBugForm.controls;\r\n controls.itemStatus.setValue(this.#dataItem.itemStatus);\r\n controls.response.setValue('');\r\n controls.jiraKey.setValue(this.#dataItem.jiraKey);\r\n this.rebindRequired = false;\r\n }\r\n }\r\n\r\n public copyDebugDataCaption = 'Copy';\r\n public isDebugDataCopied = false;\r\n public copyDebugData(): void {\r\n if (this.safeDebugData) {\r\n const formattedData = JSON.stringify(this.safeDebugData, null, 2);\r\n navigator.clipboard\r\n .writeText(formattedData)\r\n .then(() => {\r\n this.isDebugDataCopied = true;\r\n this.copyDebugDataCaption = 'Copied!';\r\n })\r\n .catch((e) => this.logger.error(e));\r\n }\r\n }\r\n\r\n get screenshotId(): string {\r\n if (this.#dataItem) {\r\n return `screenshot-${this.#dataItem.id}`;\r\n }\r\n return 'screenshot';\r\n }\r\n\r\n public addToJira(): void {\r\n // get the jira key\r\n const isJiraValid = this.jiraService.hasKeys();\r\n if (isJiraValid) {\r\n // post it directly\r\n const jiraConfig = this.config.jira;\r\n const feedbackId = this.#dataItem.id;\r\n const parentKey = this.#dataItem.isBug\r\n ? jiraConfig.bugMasterIssue\r\n : jiraConfig.feedbackMasterIssue;\r\n this.jiraService\r\n .createSubtask(\r\n parentKey,\r\n this.#dataItem.subject,\r\n this.#dataItem.comment,\r\n jiraConfig.subTaskIssueType,\r\n jiraConfig.projectNumber,\r\n null,\r\n null,\r\n feedbackId\r\n )\r\n .pipe(untilDestroyed(this))\r\n .subscribe({\r\n next: (data: IJiraIdKeySelfDto) => {\r\n const newKey = data.key;\r\n this.#dataItem.jiraKey = newKey;\r\n this.feedbackBugForm.controls.jiraKey.setValue(newKey);\r\n this.notifierService.toastSuccess(\r\n `${newKey} subtask created for ${parentKey}.`,\r\n 'Subtask Created'\r\n );\r\n },\r\n error: (error) => {\r\n const errorMessage = GeneralUtilities.getErrorMessageFromAnyError(error);\r\n this.notifierService.error(\r\n `Error creating subtask: ${errorMessage}`,\r\n 'Error Creating Subtask'\r\n );\r\n },\r\n });\r\n } else {\r\n // need to show the jira credentials form\r\n this.showJiraCredsModal();\r\n }\r\n }\r\n\r\n public addIssueToJira(): void {\r\n // get the jira key\r\n const isJiraValid = this.jiraService.hasKeys();\r\n if (isJiraValid) {\r\n this.showJiraIssueModal();\r\n } else {\r\n // need to show the jira credentials form\r\n this.showJiraCredsModal();\r\n }\r\n }\r\n\r\n public toggleDetails(): void {\r\n this.showDetails = !this.showDetails;\r\n }\r\n\r\n public back(): void {\r\n this.buttonClicked.next('back');\r\n }\r\n\r\n private createFeedbackBugForm(): void {\r\n // eslint-disable-next-line @typescript-eslint/unbound-method\r\n const requiredValidators = [Validators.required];\r\n this.feedbackBugForm = this.fb.group({\r\n itemStatus: ['', requiredValidators],\r\n response: ['', requiredValidators],\r\n jiraKey: [''],\r\n notifySubmitter: [false],\r\n });\r\n }\r\n\r\n public get submitDisabled(): boolean {\r\n return FormUtilities.submitDisabled(this.feedbackBugForm, { all: true }, this.controlState);\r\n }\r\n\r\n public onFeedbackBugSubmit(): void {\r\n FormUtilities.validateAllFormFields(this.feedbackBugForm);\r\n if (this.feedbackBugForm.valid) {\r\n const controls = this.feedbackBugForm.controls;\r\n const itemStatus = controls.itemStatus.value as string;\r\n const response = controls.response.value as string;\r\n const jiraKey = controls.jiraKey.value as string;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const notifySubmitter = controls.notifySubmitter.value as boolean;\r\n const postData = {\r\n id: this.dataItem.id,\r\n userId: this.user.id,\r\n responderEmail: this.user.email,\r\n jiraKey,\r\n response,\r\n itemStatus,\r\n notifySubmitter,\r\n } as IUpdateFeedbackDto;\r\n this.setControlStateSaving();\r\n this.adminService\r\n .updateFeedback(postData)\r\n .pipe(untilDestroyed(this))\r\n .subscribe({\r\n next: (val) => {\r\n const successTitle = 'Bug/Feedback Updated';\r\n const errorTitle = 'Error Updating Bug/Feedback';\r\n const message = val.message;\r\n const title = val.success ? successTitle : errorTitle;\r\n this.notifierService.successOrError(\r\n val.success,\r\n message,\r\n title,\r\n null,\r\n true,\r\n true,\r\n false\r\n );\r\n this.setControlStateNeutral();\r\n this.buttonClicked.next('save');\r\n },\r\n error: () => {},\r\n complete: () => {},\r\n });\r\n }\r\n }\r\n\r\n public modalRef: NgbModalRef;\r\n\r\n public showJiraCredsModal(): void {\r\n const modalOptions = AppUtilities.getDefaultCenteredModalOptions('md');\r\n this.modalRef = this.modalService.open(JiraCredsFormComponent, modalOptions);\r\n }\r\n\r\n public showJiraIssueModal(): void {\r\n const modalOptions = AppUtilities.getDefaultCenteredModalOptions('xl');\r\n\r\n let defaultIssueTypeId: string = null;\r\n const issueTypeName = this.#dataItem.isBug ? 'Bug' : 'Story';\r\n const defaultIssueType = this.config.jira.issueTypes.find(\r\n (x) => x.description === issueTypeName\r\n );\r\n if (defaultIssueType) {\r\n defaultIssueTypeId = defaultIssueType.issueType;\r\n }\r\n\r\n const dataItem = {\r\n summary: this.#dataItem.subject,\r\n description: this.#dataItem.comment,\r\n allowSummaryEdit: true,\r\n allowDescriptionEdit: true,\r\n feedbackId: this.#dataItem.id,\r\n defaultIssueTypeId,\r\n } as IJiraIssueFormDto;\r\n this.modalRef = this.modalService.open(JiraIssueFormComponent, modalOptions);\r\n const componentInstance = this.modalRef.componentInstance as JiraIssueFormComponent;\r\n componentInstance.dataItem = dataItem;\r\n\r\n this.modalRef.result.then(\r\n (closeResult: string) => {\r\n if (closeResult === 'saved') {\r\n const updatedData = componentInstance.dataItem;\r\n const jiraKey = updatedData.key;\r\n this.#dataItem.jiraKey = jiraKey;\r\n this.feedbackBugForm.controls.jiraKey.setValue(jiraKey);\r\n }\r\n },\r\n () => {}\r\n );\r\n }\r\n\r\n public showImgModal(): void {\r\n const modalOptions = AppUtilities.getDefaultCenteredModalOptions('md');\r\n modalOptions.windowClass = 'fs-modal';\r\n modalOptions.modalDialogClass = 'no-footer';\r\n\r\n const imgSrc = this.#dataItem.screenshotBase64;\r\n\r\n this.modalRef = this.modalService.open(ViewImgComponent, modalOptions);\r\n const componentInstance = this.modalRef.componentInstance as ViewImgComponent;\r\n\r\n componentInstance.imgTitle = this.#dataItem.formattedFeedbackNumber;\r\n componentInstance.imgSrc = imgSrc;\r\n }\r\n\r\n public textboxFocus($event: FocusEvent): void {\r\n const target = $event.target as HTMLInputElement;\r\n target.select();\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
On the unclass, use Add to Jira button. On the highside,\r\n enter\r\n the key manually.
\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
{{safeDebugData | json}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Feedback Details\r\n
\r\n
\r\n
{{dataItem.formattedFeedbackNumber}}
\r\n
From: {{dataItem.email}}
\r\n

Type: {{dataItem.isBug ? 'Bug Report' : 'General Comment'}}

\r\n

{{dataItem.comment}}

\r\n

Created on: {{dataItem.dateCreatedUtc}}

\r\n Toggle Client\r\n Details\r\n
\r\n
    \r\n
  • Environment: {{dataItem.appEnvironment}}
  • \r\n
  • Browser: {{dataItem.httpRequestBrowser}}
  • \r\n
  • Browser Version: {{dataItem.httpRequestBrowserVersion}}
  • \r\n
  • Ip: {{dataItem.httpRequestClientIp}}
  • \r\n
  • User Agent: {{dataItem.httpRequestUserAgent}}
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"screenshot\"\r\n\r\n
\r\n
\r\n
", "import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport {\r\n AdminService,\r\n AuthService,\r\n EnvConfigurationService,\r\n HelpService,\r\n NotifierService,\r\n StaticsService,\r\n} from '@scb-services';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\nimport { PDFExportComponent } from '@progress/kendo-angular-pdf-export';\r\nimport { AppConstants } from '@scb-constants';\r\nimport { ControlStateDirective } from '@scb-directives';\r\nimport { IAppConfiguration, IFeedbackGridDto } from '@scb-interfaces';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-feedback-list',\n templateUrl: './admin-feedback-list.component.html',\n styleUrls: ['./admin-feedback-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\r\nexport class AdminFeedbackListComponent extends ControlStateDirective implements OnInit {\r\n // #region public vars\r\n\r\n public showScreenshots = true;\r\n public data: IFeedbackGridDto[] = [];\r\n public config: IAppConfiguration;\r\n public pdfFileName = 'Website feedback';\r\n public pdfMargin = StaticsService.getPdfDefaultMargin();\r\n\r\n @ViewChild('pdf', { static: true }) pdf: PDFExportComponent;\r\n public readonly formatDateTimeMilitary = AppConstants.FormatDateTimeMilitary;\r\n\r\n // public get firstColClass(): string {\r\n // return this.showScreenshots ? 'first-col' : '';\r\n // }\r\n\r\n // #endregion\r\n\r\n // #region ctor\r\n\r\n constructor(\r\n // core generic kendo grid imports\r\n protected readonly logger: NGXLogger,\r\n protected readonly spinner: NgxSpinnerService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly authService: AuthService,\r\n protected readonly datePipe: DatePipe,\r\n protected readonly helpService: HelpService,\r\n protected readonly notifierService: NotifierService,\r\n // end core\r\n private readonly adminService: AdminService\r\n ) {\r\n super(logger);\r\n this.config = this.envConfigurationService.getConfig();\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Ng Component implements\r\n\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n // #endregion\r\n\r\n // #region get data\r\n\r\n private loadData(): void {\r\n if (this.isControlStateLoading) {\r\n return;\r\n }\r\n\r\n this.setControlStateLoading();\r\n this.adminService\r\n .getFeedback()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((data) => {\r\n this.data = data;\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n // #endregion\r\n\r\n public exportToPdf(): void {\r\n this.pdfFileName = StaticsService.getFilestampedFileName('Website Feedback');\r\n this.pdf.author = StaticsService.getPdfAuthor();\r\n this.pdf.creator = StaticsService.getPdfCreator();\r\n\r\n this.pdf.saveAs(this.pdfFileName);\r\n }\r\n\r\n public toggleScreenshots(): void {\r\n this.showScreenshots = !this.showScreenshots;\r\n }\r\n\r\n // #region debugging\r\n\r\n public getDebugData(): unknown {\r\n return {\r\n componentName: this.constructor.name,\r\n data: this.data,\r\n };\r\n }\r\n\r\n // #endregion\r\n}\r\n", "
\r\n \r\n\r\n \r\n
\r\n\r\n\r\n \r\n
\r\n
{{config.classification}}\r\n
\r\n
{{pdfFileName}}\r\n
Page {{ pageNum }} of {{ totalPages }}
\r\n
\r\n
\r\n
Page {{ pageNum }} of {{ totalPages }}
\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
{{dataItem.formattedFeedbackNumber}}
\r\n
Status: {{dataItem.itemStatus}}
\r\n

From: {{dataItem.email}}

\r\n

Type: {{dataItem.isBug ? 'Bug Report' : 'General Comment'}}

\r\n

Created: {{dataItem.dateCreatedUtc | date:formatDateTimeMilitary}}

\r\n
\r\n
Comments & Response
\r\n

{{dataItem.comment}}
{{dataItem.response}}

\r\n
\r\n\r\n
", "import { AfterViewInit, Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport {\r\n CancelEvent,\r\n ClearEvent,\r\n FileInfo,\r\n FileRestrictions,\r\n RemoveEvent,\r\n SelectEvent,\r\n SuccessEvent,\r\n UploadComponent,\r\n UploadEvent,\r\n} from '@progress/kendo-angular-upload';\r\nimport { ControlStateDirective } from '@scb-directives';\r\nimport { IBooleanObjectResult, IFeedParseImageResultDto } from '@scb-interfaces';\r\nimport { AdminService, NotifierService } from '@scb-services';\r\nimport { HtmlUtilities } from '@scb-utilities';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { Spinner } from 'ngx-spinner';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin-feed-parse-qr',\n templateUrl: './admin-feed-parse-qr.component.html',\n styleUrls: ['./admin-feed-parse-qr.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\r\nexport class AdminFeedParseQrComponent extends ControlStateDirective implements AfterViewInit {\r\n // #region variables\r\n\r\n @ViewChild('qrTextArea') qrTextArea: ElementRef;\r\n @ViewChild('upload') upload: UploadComponent;\r\n\r\n public myFiles: FileInfo[] = [];\r\n public myPendingFiles: FileInfo[] = [];\r\n public mySuccessFiles: FileInfo[] = [];\r\n public myErrorFiles: FileInfo[] = [];\r\n\r\n public myRestrictions: FileRestrictions = {\r\n allowedExtensions: ['.jpg', '.jpeg', '.png'],\r\n };\r\n\r\n public hideUpload = true;\r\n\r\n public uploadSaveUrl = 'parseqrimage'; // should represent an actual API endpoint\r\n public uploadRemoveUrl = 'removeqrimage'; // should represent an actual API endpoint\r\n\r\n public qrText = '';\r\n\r\n public processingImagesText = 'Processing images...please wait...';\r\n public parsingQrText = 'Parsing QR code...please wait...';\r\n\r\n public qrSpinnerConfig = {\r\n bdColor: 'rgba(214,218,103,0.8)',\r\n size: 'medium',\r\n type: 'ball-clip-rotate-multiple',\r\n fullScreen: true,\r\n } as Spinner;\r\n\r\n // #endregion\r\n\r\n public setFocus(): void {\r\n if (this.qrTextArea) {\r\n HtmlUtilities.domFocusSelect(this.qrTextArea);\r\n }\r\n }\r\n\r\n // #region\r\n\r\n public get textButtonDisabled(): boolean {\r\n if (this.isControlStateLoadingOrSaving) {\r\n return true;\r\n }\r\n if (!this.qrText) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get imageButtonDisabled(): boolean {\r\n if (this.isControlStateLoadingOrSaving) {\r\n return true;\r\n }\r\n if (!this.myPendingFiles || this.myPendingFiles.length === 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get toggleButtonText(): string {\r\n if (this.hideUpload) {\r\n return 'Show Upload Images Area';\r\n } else {\r\n return 'Hide Upload Images Area';\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #region ctor\r\n\r\n constructor(\r\n protected readonly logger: NGXLogger,\r\n private readonly adminService: AdminService,\r\n private readonly notifierService: NotifierService\r\n ) {\r\n super(logger);\r\n this.uploadSaveUrl = this.adminService.getFeedImageUploadUrl();\r\n this.uploadRemoveUrl = this.adminService.getFeedImageRemoveUrl();\r\n this.spinnerText = this.parsingQrText;\r\n }\r\n\r\n // #endregion\r\n\r\n ngAfterViewInit(): void {\r\n this.setFocus();\r\n }\r\n\r\n // #region uploader component\r\n\r\n public onSelect(ev: SelectEvent): void {\r\n if (ev.files) {\r\n ev.files.forEach((file: FileInfo) => {\r\n if (file.rawFile && !file.validationErrors) {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n this.myPendingFiles.push({\r\n ...file,\r\n src: reader.result as string,\r\n } as FileInfo);\r\n };\r\n reader.readAsDataURL(file.rawFile);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onSuccess(ev: SuccessEvent): void {\r\n this.setControlStateNeutral();\r\n\r\n if (ev.files) {\r\n const result = ev.response.body as IBooleanObjectResult;\r\n\r\n ev.files.forEach((file: FileInfo) => {\r\n if (file.rawFile && !file.validationErrors && ev.operation === 'upload') {\r\n // remove bad file\r\n this.myPendingFiles = this.myPendingFiles.filter((f) => f.uid !== file.uid);\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n let isParsed = false;\r\n const foundItem = result.resultObject.find((x) => x.fileName === file.name);\r\n if (foundItem) {\r\n isParsed = foundItem.success;\r\n\r\n if (isParsed) {\r\n const prefix = this.qrText ? '\\n' : '';\r\n const additionalQrText = prefix + foundItem.qrCodes.join('\\n');\r\n this.qrText += additionalQrText;\r\n }\r\n }\r\n const target = isParsed ? this.mySuccessFiles : this.myErrorFiles;\r\n target.push({\r\n ...file,\r\n src: reader.result as string,\r\n } as FileInfo);\r\n };\r\n reader.readAsDataURL(file.rawFile);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onUpload(ev: UploadEvent): void {\r\n this.notifierService.sendGlobalSpinnerTextChanged('Parsing QR images...please wait...');\r\n this.setControlStateSaving();\r\n }\r\n\r\n public onCancel(ev: CancelEvent): void {\r\n this.removePending(ev);\r\n }\r\n\r\n public onRemove(ev: RemoveEvent): void {\r\n this.removePending(ev);\r\n }\r\n\r\n private removePending(ev: RemoveEvent | CancelEvent): void {\r\n ev.files.forEach((file: FileInfo) => {\r\n this.myPendingFiles = this.myPendingFiles.filter((f) => f.uid !== file.uid);\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public onClear(ev: ClearEvent): void {\r\n this.resetFileLists();\r\n }\r\n\r\n // #endregion\r\n\r\n public parseFeed(): void {\r\n if (this.isControlStateSaving) {\r\n return;\r\n }\r\n\r\n this.notifierService.sendGlobalSpinnerTextChanged('Parsing QR code...please wait...');\r\n // set the text here , and then set the control state, which will trigger the pipe,\r\n // need to set text first to avoid expression after checked changed error\r\n // this.qrSpinnerConfig.spinnerText = this.parsingQrText;\r\n this.setControlStateSaving();\r\n\r\n this.adminService\r\n .parseFeedText(this.qrText)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n if (val.success) {\r\n this.resetComponent();\r\n }\r\n\r\n this.setControlStateNeutral();\r\n // test for the word 'duplicates' if success = false. then its just a warning\r\n if (val.success) {\r\n this.notifierService.toastSuccess('QR Parsed', val.message);\r\n } else {\r\n if (val.message.indexOf('duplicates') > -1) {\r\n this.notifierService.toastWarning(val.message, 'Warning Parsing QR');\r\n } else {\r\n this.notifierService.toastError(val.message, 'Error Parsing QR');\r\n }\r\n }\r\n });\r\n }\r\n\r\n public resetComponent(): void {\r\n this.resetUpload();\r\n this.resetQr();\r\n }\r\n\r\n public resetFileLists(): void {\r\n this.myPendingFiles = [];\r\n this.myErrorFiles = [];\r\n this.mySuccessFiles = [];\r\n }\r\n\r\n public resetUpload(): void {\r\n this.upload.clearFiles();\r\n }\r\n\r\n public resetQr(): void {\r\n this.qrText = '';\r\n this.setFocus();\r\n }\r\n\r\n public toggleUploadVisibility(): void {\r\n this.hideUpload = !this.hideUpload;\r\n }\r\n\r\n public getImageSrc(file: FileInfo): string {\r\n // using an intersection type to combine the original\r\n // FileInfo type with an additional object type that includes the optional src property\r\n return (file as FileInfo & { src?: string }).src || '';\r\n }\r\n\r\n public getImageName(file: FileInfo): string {\r\n // using an intersection type to combine the original\r\n // FileInfo type with an additional object type that includes the optional name property\r\n return (file as FileInfo & { name?: string }).name || '';\r\n }\r\n}\r\n", "

Parse QR Code Text or Process QR Images

\r\n\r\n
Scan or Enter QR Text Here
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
Upload QR Image(s) Here
\r\n
\r\n
\r\n \r\n Only .jpg, .jpeg, and .png files are allowed.\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Pending Images
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Parsed Images
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Error Images
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
", "import { DatePipe } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { untilDestroyed } from '@ngneat/until-destroy';\r\nimport { GenericKendoGridComponent } from '@scb-components';\r\nimport {\r\n IFeedsTransferGridDto,\r\n IGenericKendoGridColumn,\r\n IGenericKendoGridColumnAction,\r\n IGenericKendoGridConfig,\r\n} from '@scb-interfaces';\r\nimport {\r\n AdminService,\r\n AuthService,\r\n EnvConfigurationService,\r\n HelpService,\r\n NotifierService,\r\n} from '@scb-services';\r\nimport { FeedTransferStatusType } from '@scb-types';\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\n selector: 'app-admin-feed-view-transfer',\n templateUrl: './../../../shared/components/generic/generic-kendo-grid/generic-kendo-grid.component.html',\n standalone: false\n})\r\nexport class AdminFeedViewTransferComponent\r\n extends GenericKendoGridComponent\r\n implements OnInit\r\n{\r\n // #region ctor\r\n\r\n constructor(\r\n // core generic kendo grid imports\r\n protected readonly logger: NGXLogger,\r\n protected readonly spinner: NgxSpinnerService,\r\n protected readonly envConfigurationService: EnvConfigurationService,\r\n protected readonly authService: AuthService,\r\n protected readonly datePipe: DatePipe,\r\n protected readonly helpService: HelpService,\r\n protected readonly notifierService: NotifierService,\r\n protected readonly cdRef: ChangeDetectorRef,\r\n // end core\r\n private readonly adminService: AdminService\r\n ) {\r\n super(\r\n logger,\r\n spinner,\r\n envConfigurationService,\r\n authService,\r\n datePipe,\r\n helpService,\r\n notifierService,\r\n cdRef\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Ng Component implements\r\n\r\n ngOnInit(): void {\r\n this.allowFiltering = true;\r\n\r\n this.title = 'Feeds for Transfer';\r\n\r\n this.wireupConfig();\r\n this.getData();\r\n }\r\n\r\n private wireupConfig(): void {\r\n const subjectCol = {\r\n field: 'subject',\r\n title: 'Subject',\r\n columnType: 'text',\r\n isGrid: true,\r\n isExcel: true,\r\n isPdf: true,\r\n filtering: {\r\n enabled: true,\r\n showOperators: true,\r\n },\r\n sortable: true,\r\n } as IGenericKendoGridColumn;\r\n\r\n const announcementCol = {\r\n field: 'announcement',\r\n title: 'Announcement',\r\n columnType: 'text',\r\n isGrid: true,\r\n isExcel: true,\r\n isPdf: true,\r\n filtering: {\r\n enabled: true,\r\n showOperators: true,\r\n },\r\n sortable: true,\r\n } as IGenericKendoGridColumn;\r\n\r\n const dateCreatedCol = super.getDefaultDateCol('dateCreatedUtc', 'Created');\r\n\r\n const statusCustomItems: FeedTransferStatusType[] = [\r\n 'Any',\r\n 'Pending Transfer',\r\n 'Transferred',\r\n ];\r\n\r\n const feedStatusCol = {\r\n field: 'feedStatus',\r\n title: 'Status',\r\n columnType: 'text',\r\n isGrid: true,\r\n isExcel: true,\r\n isPdf: true,\r\n filtering: {\r\n enabled: true,\r\n showOperators: false,\r\n customItems: statusCustomItems,\r\n },\r\n sortable: true,\r\n } as IGenericKendoGridColumn;\r\n\r\n const genQrAction = {\r\n actionTitle: 'Generate QR code for this item',\r\n actionText: 'Gen QR',\r\n eventName: 'genQr',\r\n inputClass: 'btn btn-sm btn-primary',\r\n inputType: 'button',\r\n } as IGenericKendoGridColumnAction;\r\n\r\n const gridColumns = [subjectCol, announcementCol, dateCreatedCol, feedStatusCol];\r\n\r\n let gridConfig = {\r\n actions: [genQrAction],\r\n gridColumns,\r\n exportBaseTitle: this.title,\r\n allowExcelExport: true,\r\n allowPdfExport: true,\r\n allowRefresh: true,\r\n sortable: this.defaultSortable,\r\n state: this.defaultPageableState,\r\n initialPageSize: this.defaultInitialPageSize,\r\n } as IGenericKendoGridConfig;\r\n\r\n // do normal paging on this grid\r\n gridConfig = this.mergeNormalPaging(gridConfig, [50]);\r\n\r\n this.gridConfig = gridConfig;\r\n }\r\n\r\n // #endregion\r\n\r\n // eslint-disable-next-line arrow-body-style, @typescript-eslint/no-unused-vars\r\n protected refreshClickCallback = (value: number): void => {\r\n this.getData();\r\n };\r\n\r\n private getData(): void {\r\n this.setControlStateLoadError();\r\n this.adminService\r\n .getTransferFeeds('Any')\r\n .pipe(untilDestroyed(this))\r\n .subscribe((data) => {\r\n this.data = data;\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n}\r\n", "
\r\n
\r\n

{{topCollapsibleHeader}}

\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
\r\n
\r\n {{pageByLetterCaption}}\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
{{classification}}
\r\n
\r\n {{ docTitle }}\r\n
Page {{ pageNum }} of {{ totalPages }}
\r\n
\r\n
\r\n
\r\n
Page {{ pageNum }} of {{ totalPages }}
\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 {{column.title}}\r\n\r\n \r\n {{column.title}}\r\n \r\n \r\n\r\n \r\n {{column.title}}\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 {{screenColumnTimezoneDateContent(screenColumn, dataItem)}}\r\n \r\n \r\n \r\n \r\n \r\n {{ rowIndex + 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 TODO: cool pin!\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 \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 {{noRecordsMessage}}\r\n \r\n
\r\n
\r\n\r\n\r\n {{ anchor.nativeElement.getAttribute(\"data-tooltip-title\") }}\r\n\r\n\r\n {{ anchor.nativeElement.getAttribute(\"data-tooltip\") }}\r\n", "import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { ControlStateDirective } from '@scb-directives';\r\nimport { FeedSummaryType } from '@scb-enums';\r\nimport { IFeedsTransferGridDto } from '@scb-interfaces';\r\nimport { AdminService, NotifierService, PrintService } from '@scb-services';\r\nimport { NGXLogger } from 'ngx-logger';\r\n\r\n@Component({\n selector: 'app-admin-feed-gen-qr',\n templateUrl: './admin-feed-gen-qr.component.html',\n standalone: false\n})\r\nexport class AdminFeedGenQrComponent extends ControlStateDirective {\r\n @ViewChild('feedGenQr') printableRef?: ElementRef;\r\n\r\n #dataItem: IFeedsTransferGridDto;\r\n\r\n // #region ctor\r\n\r\n constructor(\r\n private readonly notifierService: NotifierService,\r\n protected readonly logger: NGXLogger,\r\n private readonly printService: PrintService,\r\n private readonly adminService: AdminService\r\n ) {\r\n super(logger);\r\n this.#dataItem = this.getEmptyFeedsTransferGridDto();\r\n }\r\n\r\n // #endregion\r\n\r\n @Input() set dataItem(value: IFeedsTransferGridDto) {\r\n if (value !== this.#dataItem) {\r\n this.#dataItem = value;\r\n this.feedId = value.id;\r\n }\r\n }\r\n\r\n get dataItem(): IFeedsTransferGridDto {\r\n return this.#dataItem;\r\n }\r\n\r\n public feedId: string = null;\r\n\r\n @Input() set summaryType(value: FeedSummaryType) {\r\n if (value !== this.#feedSummaryType) {\r\n this.#feedSummaryType = value;\r\n }\r\n }\r\n\r\n get summaryType(): FeedSummaryType {\r\n return this.#feedSummaryType;\r\n }\r\n\r\n #feedSummaryType: FeedSummaryType = FeedSummaryType.None;\r\n\r\n get h3Text(): string {\r\n if (this.isControlStateLoading) {\r\n return 'Generating QR Code...';\r\n } else if (this.#feedSummaryType !== FeedSummaryType.None) {\r\n return `QR Code(s) for \"${FeedSummaryType[this.#feedSummaryType]}\" Summary.`;\r\n } else if (!this.#dataItem.id) {\r\n return 'Set QR Data First';\r\n } else {\r\n return `QR Code For ${this.#dataItem.subject}`;\r\n }\r\n }\r\n\r\n public printFeed(): void {\r\n this.printService.printElementRef(this.printableRef);\r\n //return;\r\n\r\n // const val = !this.feedId ? this.#feedSummaryType.toString() : this.feedId;\r\n // this.printService.printDocument('feed', [val]);\r\n }\r\n\r\n public markSummaryAsTransferred(summaryType: FeedSummaryType, feedId: string): void {\r\n const dialogType = 'warning';\r\n const title = 'Feed/Summary Transfer Confirmation';\r\n const msg = 'Have you printed the feed/summary for processing?';\r\n\r\n this.notifierService\r\n .modalConfirmResult(dialogType, msg, title)\r\n .subscribe((result: boolean) => {\r\n if (result) {\r\n const obs =\r\n summaryType !== FeedSummaryType.None\r\n ? this.adminService.setSummaryFeedsAsTransferred(summaryType)\r\n : this.adminService.setFeedAsTransferred(feedId);\r\n\r\n obs.subscribe((val) => {\r\n const toastType = val.success ? 'Success' : 'Error';\r\n this.notifierService.toastSuccessOrError(\r\n val.success,\r\n val.message,\r\n toastType\r\n );\r\n if (val.success) {\r\n this.dataItem = this.getEmptyFeedsTransferGridDto();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private getEmptyFeedsTransferGridDto(): IFeedsTransferGridDto {\r\n return {\r\n id: '',\r\n subject: '',\r\n announcement: '',\r\n mailText: '',\r\n isTransfered: false,\r\n isForTransfer: true,\r\n feedStatus: 'Pending Transfer',\r\n dateCreatedUtc: new Date(),\r\n } as IFeedsTransferGridDto;\r\n }\r\n}\r\n", "
\r\n

{{h3Text}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
", "import { formatDate, KeyValue } from '@angular/common';\r\nimport { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { SelectEvent } from '@progress/kendo-angular-layout';\r\nimport {\r\n EffortGridComponent,\r\n GenericKendoDropdownComponent,\r\n MenuComponent,\r\n OrganizationDropdownComponent,\r\n PermissionDropdownComponent,\r\n RoleDropdownComponent,\r\n RolesInPermissionGridComponent,\r\n SamSearchComponent,\r\n SidebarComponent,\r\n UserSearchDropdownComponent,\r\n UsersInPermissionGridComponent,\r\n UsersInRoleGridComponent,\r\n} from '@scb-components';\r\nimport { ControlStateDirective } from '@scb-directives';\r\nimport {\r\n IAppConfiguration,\r\n IContactDropdownConfig,\r\n IDisplayContactsDto,\r\n IDropdownPermissionDef,\r\n IEffortGridConfig,\r\n IExtendedRole,\r\n IFeedbackGridDto,\r\n IFeedsTransferGridDto,\r\n IGenericKendoGridActionClick,\r\n ILoginMethods,\r\n IMenu,\r\n IMenuConfig,\r\n IMenuItem,\r\n IOrganizationsDto,\r\n IPermissionTreelistConfig,\r\n IProductTourConfig,\r\n IRemoteIpTestDto,\r\n ISamV4SamApiResult,\r\n ISuccessErrorCancelResult,\r\n IUserPermissionDef,\r\n IUsersExtDto,\r\n MenuState,\r\n} from '@scb-interfaces';\r\nimport {\r\n AdminService,\r\n AuthService,\r\n CommonService,\r\n ContactService,\r\n DialogPopperService,\r\n EnvConfigurationService,\r\n HelpService,\r\n LocalStoreManagerService,\r\n NotifierService,\r\n OrganizationService,\r\n PermissionsService,\r\n ReportsService,\r\n StaticsService,\r\n UserService,\r\n} from '@scb-services';\r\nimport { AdminTopLevelMenuItems, AppControlState, SummaryFeedGenType } from '@scb-types';\r\nimport { AppUtilities, GeneralUtilities } from '@scb-utilities';\r\nimport { AdminFeedbackDetailsComponent } from './admin-feedback/admin-feedback-details/admin-feedback-details.component';\r\nimport { AdminFeedbackGridComponent } from './admin-feedback/admin-feedback-grid/admin-feedback-grid.component';\r\nimport {\r\n AdminChangeUserPasswordComponent,\r\n AdminEditUserProfileComponent,\r\n AdminManageUserCertsComponent,\r\n AdminManageUserLoginComponent,\r\n AdminManageUserPermissionsComponent,\r\n AdminSendUserNewPasswordComponent,\r\n} from './admin-users';\r\n\r\nimport { CommonConstants, MessageConstants } from '@scb-constants';\r\n\r\nimport { AppPermission, FeedSummaryType, PermissionType, UiIconEnum } from '@scb-enums';\r\n\r\nimport { NGXLogger } from 'ngx-logger';\r\nimport { AdminFeedGenQrComponent, AdminFeedViewTransferComponent } from './admin-feeds';\r\n\r\n// import { QRCodeComponent } from 'angularx-qrcode';\r\nimport * as introJs from 'intro.js/intro.js';\r\n\r\nconst websiteFeedbackText = 'Website Feedback';\r\n\r\n@UntilDestroy()\r\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.scss'],\n standalone: false\n})\r\nexport class AdminComponent extends ControlStateDirective implements OnInit, AfterViewInit {\r\n // #region vars\r\n\r\n // #region view children\r\n\r\n @ViewChild('organizationDropdown')\r\n organizationDropdown: OrganizationDropdownComponent;\r\n @ViewChild('userSearchDropdown')\r\n userSearchDropdown: UserSearchDropdownComponent;\r\n @ViewChild('roleDropdown')\r\n roleDropdown: RoleDropdownComponent;\r\n @ViewChild('permissionDropdown')\r\n permissionDropdown: PermissionDropdownComponent;\r\n @ViewChild('sidebar', { static: true }) sidebar: SidebarComponent;\r\n @ViewChild('menu', { static: false }) menu: MenuComponent;\r\n\r\n @ViewChild('manageUserLogin') manageUserLogin: AdminManageUserLoginComponent;\r\n @ViewChild('sendNewPassword') sendNewPassword: AdminSendUserNewPasswordComponent;\r\n @ViewChild('changeUserPassword') changeUserPassword: AdminChangeUserPasswordComponent;\r\n @ViewChild('editUserProfile') editUserProfile: AdminEditUserProfileComponent;\r\n @ViewChild('userPermissions') userPermissions: AdminManageUserPermissionsComponent;\r\n @ViewChild('userCerts') userCerts: AdminManageUserCertsComponent;\r\n @ViewChild('adminFeedbackGrid') adminFeedbackGrid: AdminFeedbackGridComponent;\r\n @ViewChild('adminFeedbackDetails') adminFeedbackDetails: AdminFeedbackDetailsComponent;\r\n @ViewChild('adminEffortGrid') adminEffortGrid: EffortGridComponent;\r\n @ViewChild('adminUsersInPermissionGrid')\r\n adminUsersInPermissionGrid: UsersInPermissionGridComponent;\r\n @ViewChild('adminRolesInPermissionGrid')\r\n adminRolesInPermissionGrid: RolesInPermissionGridComponent;\r\n @ViewChild('adminUsersInRolesGrid') adminUsersInRolesGrid: UsersInRoleGridComponent;\r\n\r\n @ViewChild('adminFeedGrid') adminFeedGrid: AdminFeedViewTransferComponent;\r\n @ViewChild('adminFeedGenQr') adminFeedGenQr: AdminFeedGenQrComponent;\r\n\r\n @ViewChild('samSearch') samSearch: SamSearchComponent;\r\n\r\n // @ViewChild('qrCodeElement') qrCodeElement: QRCodeComponent;\r\n\r\n // #endregion\r\n public componentTourData: IProductTourConfig;\r\n public userName = '';\r\n public orgName = '';\r\n public searchDropdownListHeight = 300;\r\n public isSysAdmin: boolean;\r\n\r\n public selectedUser: IUsersExtDto = null;\r\n public selectedOrg: IOrganizationsDto = null;\r\n public selectedRole: IExtendedRole = null;\r\n public selectedPermission: IDropdownPermissionDef = null;\r\n\r\n public isClassified = false;\r\n public loggedOnUserSystemPermissions: IUserPermissionDef[] = [];\r\n\r\n public selectedAdminFeatureTitle: string = null;\r\n public selectedAdminFeatureImgUrl: string = null;\r\n\r\n public sidebarMap: IMenuItem[];\r\n public sidebarMenu: IMenu;\r\n public adminSidebarMenuConfig: IMenuConfig = {\r\n state: 'full',\r\n useIconsInFullState: true,\r\n showTitles: true,\r\n hideBackAndForwardButtons: true,\r\n };\r\n\r\n public samSearchResult: ISamV4SamApiResult;\r\n public samSearchUei = '';\r\n public showSamSearchError = false;\r\n public samSearchErrorHeading = '';\r\n public samSearchErrorMessage = '';\r\n\r\n private readonly sidebarStateDataKey = 'admin-sidebar-state';\r\n public orgEmailDomainsCaption = '';\r\n\r\n // #region menu items\r\n\r\n // top level - users, orgs, roles\r\n\r\n public readonly menuItemUsers: AdminTopLevelMenuItems = 'users';\r\n public readonly menuItemOrganizations: AdminTopLevelMenuItems = 'organizations';\r\n public readonly menuItemPending: AdminTopLevelMenuItems = 'pending';\r\n public readonly menuItemRoles: AdminTopLevelMenuItems = 'roles';\r\n public readonly menuItemSys: AdminTopLevelMenuItems = 'sys';\r\n public readonly menuItemPermissions: AdminTopLevelMenuItems = 'permissions';\r\n public readonly menuItemViewAllEfforts: AdminTopLevelMenuItems = 'view-all-efforts';\r\n public readonly menuItemFeedsTransfers: AdminTopLevelMenuItems = 'feeds-transfers';\r\n public readonly menuItemFeedback: AdminTopLevelMenuItems = 'feedback';\r\n public readonly menuItemChat: AdminTopLevelMenuItems = 'chat';\r\n public readonly menuItemSamLookup: AdminTopLevelMenuItems = 'sam-lookup';\r\n public readonly menuItemErrorLogs: AdminTopLevelMenuItems = 'error-logs';\r\n public readonly menuItemContactMgmt: AdminTopLevelMenuItems = 'contact-mgmt';\r\n public readonly menuItemAccessRequests: AdminTopLevelMenuItems = 'access-requests';\r\n public readonly menuItemUserOrgCount: AdminTopLevelMenuItems = 'user-org-count';\r\n public readonly menuItemServiceRequests: AdminTopLevelMenuItems = 'service-requests';\r\n\r\n public readonly feedSummaryType: FeedSummaryType = FeedSummaryType.None;\r\n\r\n // #endregion\r\n\r\n // other top level items\r\n\r\n public routeSection: string = this.menuItemUsers;\r\n public routeFeature: string = null;\r\n public routeDetail: string = null;\r\n\r\n // #region tabs\r\n\r\n public selectedTabTitle: string = null;\r\n\r\n public readonly defaultUsersTabValue = 'stats-login';\r\n public readonly defaultUsersTabTitle = 'Stats and Login';\r\n public readonly userTabStatsAndLogin = this.defaultUsersTabTitle;\r\n public readonly userTabPassword = 'Password';\r\n public readonly userTabPasswordValue = 'password';\r\n public readonly userTabPermissions = 'User Permissions';\r\n public readonly userTabPermissionsValue = 'perms';\r\n public readonly userTabProfile = 'Profile';\r\n public readonly userTabProfileValue = 'profile';\r\n public readonly userTabCertificates = 'Certificates';\r\n public readonly userTabCertificatesValue = 'certs';\r\n public readonly userTabLoginHistory = 'Signin History';\r\n public readonly userTabLoginHistoryValue = 'login-history';\r\n public readonly userTabOther = 'Other User Actions';\r\n public readonly userTabOtherValue = 'other-user-actions';\r\n\r\n public readonly defaultOrgTabValue = 'manage-org-users';\r\n public readonly defaultOrgTabTitle = 'Manage Users';\r\n public readonly orgTabManageUsers = this.defaultOrgTabTitle;\r\n public readonly orgTabManageCaps = 'Manage Capabilities and Attributes';\r\n public readonly orgTabManageCapsValue = 'manage-org-capabilities';\r\n public readonly orgTabManageEmail = 'Manage Email Domains';\r\n public readonly orgTabManageEmailValue = 'manage-email-domains';\r\n public readonly orgTabMiscOrg = 'Other Org Actions';\r\n public readonly orgTabMiscOrgValue = 'other-org-actions';\r\n\r\n public readonly defaultPendingTabValue = 'pending-contacts';\r\n public readonly defaultPendingTabTitle = 'Pending Contacts';\r\n public readonly pendingTabContacts = this.defaultPendingTabTitle;\r\n public readonly pendingTabOrgs = 'Pending Organizations';\r\n\r\n public readonly defaultRoleTabValue = 'role-permissions';\r\n public readonly defaultRoleTabTitle = 'Role Permissions';\r\n public readonly roleTabPermissions = this.defaultRoleTabTitle;\r\n public readonly roleTabUsers = 'Role Users';\r\n public readonly roleTabUsersValue = 'role-users';\r\n\r\n public readonly defaultFeedTabValue = 'view-transfer';\r\n public readonly defaultFeedTabTitle = 'View Feeds/Transfers';\r\n public readonly feedTabViewTransfer = this.defaultFeedTabTitle;\r\n public readonly feedTabGenDaily = 'Generate Daily Summary';\r\n public readonly feedTabGenDailyValue: SummaryFeedGenType = 'gen-daily';\r\n public readonly summaryTypeDaily: FeedSummaryType = FeedSummaryType.Daily;\r\n public readonly feedTabGenWeekly = 'Generate Weekly Summary';\r\n public readonly feedTabGenWeeklyValue: SummaryFeedGenType = 'gen-weekly';\r\n public readonly summaryTypeWeekly: FeedSummaryType = FeedSummaryType.Weekly;\r\n public readonly feedTabGenMonthly = 'Generate Monthly Summary';\r\n public readonly feedTabGenMonthlyValue: SummaryFeedGenType = 'gen-monthly';\r\n public readonly summaryTypeMonthly: FeedSummaryType = FeedSummaryType.Monthly;\r\n public readonly feedTabGenAll = 'Generate All Pending Xfers';\r\n public readonly feedTabGenAllValue: SummaryFeedGenType = 'gen-all';\r\n public readonly summaryTypeAll: FeedSummaryType = FeedSummaryType.All;\r\n public readonly feedTabParseQr = 'Parse QR';\r\n public readonly feedTabParseQrValue = 'parse-qr';\r\n\r\n public readonly defaultSysTabValue = 'settings';\r\n public readonly defaultSysTabTitle = 'System Settings';\r\n public readonly sysTabSettings = this.defaultSysTabTitle;\r\n public readonly sysTabApiKeys = 'Api Keys';\r\n public readonly sysTabApiKeysValue = 'api-keys';\r\n public readonly sysTabGenQr = 'Generate QR Code';\r\n public readonly sysTabGenQrValue = 'gen-qr';\r\n public readonly sysTabActions = 'Actions';\r\n public readonly sysTabActionsValue = 'actions';\r\n public readonly sysTabTestEmail = 'Test Email';\r\n public readonly sysTabTestEmailValue = 'test-email';\r\n public readonly sysTabSysSettings = 'Server Settings';\r\n public readonly sysTabSysSettingsValue = 'server-settings';\r\n\r\n public readonly defaultPermissionsTabValue = 'users';\r\n public readonly defaultPermissionsTabTitle = 'Users in Permission';\r\n public readonly permissionsTabUsers = this.defaultPermissionsTabTitle;\r\n public readonly permissionsTabRoles = 'Roles Having Permission';\r\n public readonly permissionsTabRolesValue = 'permission-roles';\r\n\r\n public tabNameToSegmentsMap: KeyValue[] = [];\r\n\r\n // #endregion\r\n\r\n public effortGridConfig = {\r\n userId: '',\r\n keyId: '',\r\n mode: 'admin',\r\n agencyAcronym: '',\r\n } as IEffortGridConfig;\r\n\r\n public rolePermConfig = {\r\n isUser: false,\r\n userOrRoleId: '',\r\n permissionType: PermissionType.All,\r\n keyId: '',\r\n keyName: '',\r\n allowEdit: false,\r\n rootPermissionNumber: 1,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n caption: 'Choose a role first',\r\n } as IPermissionTreelistConfig;\r\n\r\n private checkResetRolePermsConfig(): void {\r\n if (this.rolePermConfig.keyId !== this.selectedRole.roleId) {\r\n let caption = `View permissions for ${this.selectedRole.displayText}.`;\r\n let allowEdit = false;\r\n if (this.isClassified) {\r\n caption = `View permissions for ${this.selectedRole.displayText}. Edit on the unclass only.`;\r\n } else {\r\n const roleManagePerm = this.loggedOnUserSystemPermissions.find(\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\r\n (x) => x.permission === AppPermission.SystemAdminManageRolesEdit\r\n );\r\n\r\n if (roleManagePerm) {\r\n allowEdit = PermissionsService.isWriteModifyPermission(roleManagePerm);\r\n }\r\n }\r\n if (allowEdit) {\r\n caption = `Edit permissions for ${this.selectedRole.displayText}.`;\r\n }\r\n\r\n const newRolePermConfig = {\r\n isUser: false,\r\n userOrRoleId: this.selectedRole.roleId,\r\n permissionType: this.selectedRole.permissionTypeId,\r\n keyName: this.selectedRole.displayText,\r\n allowEdit,\r\n rootPermissionNumber: 10000,\r\n hideEmpty: false,\r\n allowEmptyToggle: true,\r\n caption,\r\n } as IPermissionTreelistConfig;\r\n this.rolePermConfig = newRolePermConfig;\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #region ctor & ng lifecycle\r\n\r\n constructor(\r\n private readonly route: ActivatedRoute,\r\n private readonly envConfigurationService: EnvConfigurationService,\r\n private readonly helpService: HelpService,\r\n private readonly notifierService: NotifierService,\r\n private readonly authService: AuthService,\r\n private readonly adminService: AdminService,\r\n private readonly contactService: ContactService,\r\n private readonly localStoreManagerService: LocalStoreManagerService,\r\n private readonly userService: UserService,\r\n private readonly organizationService: OrganizationService,\r\n private readonly commonService: CommonService,\r\n private readonly titleService: Title,\r\n private readonly dialogPopperService: DialogPopperService,\r\n protected readonly logger: NGXLogger\r\n ) {\r\n super(logger);\r\n\r\n this.isSysAdmin = this.authService.isSysAdmin();\r\n\r\n this.buildTabsMap();\r\n // grab params in the ctor to avoid expression checked if changed errors\r\n // do this once we get proper route based navigation\r\n this.processInitUrl();\r\n }\r\n\r\n public defaultUsersTab: KeyValue = {\r\n key: this.defaultUsersTabTitle,\r\n value: this.defaultUsersTabValue,\r\n };\r\n\r\n public defaultOrgsTab: KeyValue = {\r\n key: this.defaultOrgTabTitle,\r\n value: this.defaultOrgTabValue,\r\n };\r\n\r\n public defaultPendingTab: KeyValue = {\r\n key: this.defaultPendingTabTitle,\r\n value: this.defaultPendingTabValue,\r\n };\r\n\r\n public defaultRolesTab: KeyValue = {\r\n key: this.defaultRoleTabTitle,\r\n value: this.defaultRoleTabValue,\r\n };\r\n\r\n public defaultSysTab: KeyValue = {\r\n key: this.defaultSysTabTitle,\r\n value: this.defaultSysTabValue,\r\n };\r\n\r\n public defaultFeedsTab: KeyValue = {\r\n key: this.defaultFeedTabTitle,\r\n value: this.defaultFeedTabValue,\r\n };\r\n\r\n public defaultPermissionsTab: KeyValue = {\r\n key: this.defaultPermissionsTabTitle,\r\n value: this.defaultPermissionsTabValue,\r\n };\r\n\r\n private buildTabsMap(): void {\r\n // org items\r\n this.tabNameToSegmentsMap.push(this.defaultOrgsTab);\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.orgTabManageEmail,\r\n value: this.orgTabManageEmailValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.orgTabManageCaps,\r\n value: this.orgTabManageCapsValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.orgTabMiscOrg,\r\n value: this.orgTabMiscOrgValue,\r\n });\r\n\r\n // user items\r\n this.tabNameToSegmentsMap.push(this.defaultUsersTab);\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.userTabPassword,\r\n value: this.userTabPasswordValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.userTabPermissions,\r\n value: this.userTabPermissionsValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.userTabProfile,\r\n value: this.userTabProfileValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.userTabCertificates,\r\n value: this.userTabCertificatesValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.userTabLoginHistory,\r\n value: this.userTabLoginHistoryValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.userTabOther,\r\n value: this.userTabOtherValue,\r\n });\r\n\r\n // roleitems\r\n this.tabNameToSegmentsMap.push(this.defaultRolesTab);\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.roleTabUsers,\r\n value: this.roleTabUsersValue,\r\n });\r\n\r\n // sysitems\r\n this.tabNameToSegmentsMap.push(this.defaultSysTab);\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.sysTabApiKeys,\r\n value: this.sysTabApiKeysValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.sysTabGenQr,\r\n value: this.sysTabGenQrValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.sysTabTestEmail,\r\n value: this.sysTabTestEmailValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.sysTabActions,\r\n value: this.sysTabActionsValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.sysTabSysSettings,\r\n value: this.sysTabSysSettingsValue,\r\n });\r\n\r\n // permission items\r\n this.tabNameToSegmentsMap.push(this.defaultPermissionsTab);\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.permissionsTabRoles,\r\n value: this.permissionsTabRolesValue,\r\n });\r\n\r\n // feed items (now tabbed)\r\n this.tabNameToSegmentsMap.push(this.defaultFeedsTab);\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.feedTabGenDaily,\r\n value: this.feedTabGenDailyValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.feedTabGenWeekly,\r\n value: this.feedTabGenWeeklyValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.feedTabGenMonthly,\r\n value: this.feedTabGenMonthlyValue,\r\n });\r\n\r\n this.tabNameToSegmentsMap.push({\r\n key: this.feedTabGenAll,\r\n value: this.feedTabGenAllValue,\r\n });\r\n }\r\n\r\n private getUrlSegmentFromTabName(tabName: string): string {\r\n const found = this.tabNameToSegmentsMap.find((x) => x.key === tabName);\r\n if (found) {\r\n return found.value;\r\n }\r\n return null;\r\n }\r\n\r\n // #region resize\r\n\r\n public sysRolesHeight = -1;\r\n public agencyRolesHeight = -1;\r\n public effectivePermsHeight = -1;\r\n public config: IAppConfiguration;\r\n public asOf: number;\r\n\r\n // if we use mainContainerHeightWith, we are getting the usable height between the bottom\r\n // of the menu and the top of the footer. so really its just some padding and the height of the heading that we would need\r\n public nonTabbedGridWindowHeightOffset = 280;\r\n public tabbedGridWindowHeightOffset = this.nonTabbedGridWindowHeightOffset + 70;\r\n\r\n public nonTabbedGridContainerHeightOffset = 60;\r\n public tabbedGridContainerHeightOffset = this.nonTabbedGridContainerHeightOffset + 70;\r\n\r\n public effortGridConfigHeight = window.innerHeight - this.nonTabbedGridWindowHeightOffset;\r\n public tabbedGridConfigHeight = window.innerHeight - this.tabbedGridWindowHeightOffset;\r\n\r\n public sizeControl(): void {\r\n // set these constants appropriately once we figure out appropriate sizing\r\n // const listOffset = 420; // to allow for tabstrips and dropdowns\r\n // get window height\r\n const mainContainerHeightWidth = AppUtilities.getMainContainerHeightWidth();\r\n\r\n const newEffortGridHeight =\r\n mainContainerHeightWidth.y - this.nonTabbedGridContainerHeightOffset;\r\n const newTabbedGridHeight =\r\n mainContainerHeightWidth.y - this.tabbedGridContainerHeightOffset;\r\n\r\n if (\r\n newEffortGridHeight !== this.effortGridConfigHeight ||\r\n newTabbedGridHeight !== this.tabbedGridConfigHeight\r\n ) {\r\n this.effortGridConfigHeight = newEffortGridHeight;\r\n this.tabbedGridConfigHeight = newTabbedGridHeight;\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n public isAfterViewInit = false;\r\n ngAfterViewInit(): void {\r\n this.isAfterViewInit = true;\r\n // the set timeout 0 trick allows the accurate height of the main container to be calculated\r\n setTimeout(() => {\r\n this.sizeControl();\r\n this.switchToUserDropdown(false);\r\n }, 0);\r\n\r\n // setup product tour\r\n }\r\n\r\n private reInit(): void {\r\n this.config = this.envConfigurationService.getConfig();\r\n this.isClassified = this.config.isClassified;\r\n this.orgEmailDomainsCaption = this.config.isClassified\r\n ? 'You can view email domains here. Edit on the unclass.'\r\n : 'You can delete or edit email domains here, as well as refresh any additions from sam.gov.';\r\n this.setAsOf();\r\n }\r\n\r\n private onClassificationChanged(selectedMenuItemValue: string): void {\r\n this.reInit();\r\n this.buildSidebarMenu(selectedMenuItemValue);\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.reInit();\r\n this.buildSidebarMenu(this.routeSection);\r\n\r\n this.authService\r\n .getLoggedOnUserSystemPermissions()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.loggedOnUserSystemPermissions = val;\r\n });\r\n\r\n this.notifierService.currentMessage.pipe(untilDestroyed(this)).subscribe((message) => {\r\n if (message === MessageConstants.ClassificationChanged) {\r\n // rebind the menu\r\n this.onClassificationChanged(this.sidebarMenuSelectedValue);\r\n }\r\n });\r\n\r\n this.notifierService.currentPayload.pipe(untilDestroyed(this)).subscribe((payload) => {\r\n const key = payload.key;\r\n if (key === MessageConstants.AppUsableAreaResize) {\r\n this.sizeControl();\r\n }\r\n });\r\n\r\n const savedState = this.localStoreManagerService.getString(\r\n this.sidebarStateDataKey,\r\n 'full'\r\n );\r\n this.adminSidebarMenuConfig.state = savedState as MenuState;\r\n }\r\n\r\n public setAsOf(): void {\r\n this.asOf = Date.now();\r\n }\r\n\r\n // #endregion\r\n\r\n // #region debugging\r\n\r\n public getDebugData(): unknown {\r\n const sources = [];\r\n\r\n GeneralUtilities.getChildComponentDebugData(this.organizationDropdown, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.userSearchDropdown, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.roleDropdown, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.permissionDropdown, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.manageUserLogin, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.sendNewPassword, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.changeUserPassword, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.editUserProfile, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.userPermissions, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.userCerts, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.adminFeedbackGrid, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.adminFeedbackDetails, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.adminEffortGrid, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.adminUsersInPermissionGrid, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.adminRolesInPermissionGrid, sources);\r\n GeneralUtilities.getChildComponentDebugData(this.adminUsersInRolesGrid, sources);\r\n\r\n return {\r\n componentName: this.constructor.name,\r\n selectedUser: this.selectedUser,\r\n selectedRole: this.selectedRole,\r\n selectedPermission: this.selectedPermission,\r\n selectedOrg: this.selectedOrg,\r\n childComponentData: sources,\r\n };\r\n }\r\n\r\n // #endregion\r\n\r\n // #region sidebar\r\n\r\n public sidebarMenuSelectedValue: string = this.menuItemUsers;\r\n public previousSidebarMenuSelectedValue: string = this.menuItemUsers;\r\n\r\n public onAdminSidebarSelectedValueChanged(menuItemValue: string): void {\r\n this.previousSidebarMenuSelectedValue = this.sidebarMenuSelectedValue;\r\n\r\n // reinit varibles that control visibility of subsections to defaults\r\n this.transferFeedsMode = 'grid';\r\n this.feedbackMode = 'grid';\r\n\r\n this.sidebarMenuSelectedValue = menuItemValue;\r\n const helpTopicId = `admin-${menuItemValue}`;\r\n this.clearSelectedOrg();\r\n\r\n this.sizeControl();\r\n\r\n // below switchers should set the default menu as well\r\n if (\r\n menuItemValue === this.menuItemUsers ||\r\n menuItemValue === this.menuItemOrganizations ||\r\n menuItemValue === this.menuItemPending ||\r\n menuItemValue === this.menuItemRoles ||\r\n menuItemValue === this.menuItemSys ||\r\n menuItemValue === this.menuItemPermissions ||\r\n menuItemValue === this.menuItemFeedsTransfers\r\n ) {\r\n this.switchToTabbedSection(menuItemValue);\r\n return;\r\n }\r\n\r\n if (menuItemValue === this.menuItemErrorLogs) {\r\n const errorLogUrl = this.adminService.errorLogsUrl;\r\n window.open(errorLogUrl, 'error-logs');\r\n // we now have parent/child menu items. so this is no longer working\r\n const lastItem = StaticsService.getMenuItemFromValue(\r\n this.previousSidebarMenuSelectedValue,\r\n this.sidebarMap\r\n );\r\n\r\n if (lastItem) {\r\n this.menu.clickMenuItem(lastItem);\r\n }\r\n return;\r\n }\r\n\r\n const feature: string = null;\r\n const section = menuItemValue;\r\n const title = this.getSidebarMenuItemTitle(menuItemValue);\r\n\r\n this.setHelpTopicTitleLocation(\r\n 'onAdminSidebarSelectedValueChanged',\r\n helpTopicId,\r\n title,\r\n section,\r\n feature\r\n );\r\n }\r\n\r\n private getSidebarMenuItemTitle(menuItemValue: string): string {\r\n let title = menuItemValue;\r\n const foundItem = this.sidebarMap.find((x) => x.value === menuItemValue);\r\n\r\n if (foundItem) {\r\n title = foundItem.text as string;\r\n }\r\n return title;\r\n }\r\n\r\n private setHelpTopicTitle(caller: string, helpTopicId: string, title: string): void {\r\n if (helpTopicId) {\r\n this.helpService.helpTopicId = helpTopicId;\r\n }\r\n\r\n if (title) {\r\n this.titleService.setTitle(title);\r\n }\r\n }\r\n\r\n private setHelpTopicTitleLocation(\r\n caller: string,\r\n helpTopicId: string,\r\n title: string,\r\n urlSection: string = null,\r\n urlFeature: string = null,\r\n urlDetail: string = null\r\n ): void {\r\n this.setHelpTopicTitle(caller, helpTopicId, title);\r\n }\r\n\r\n public buildSidebarMenu(selectedMenuItemValue: string): void {\r\n this.sidebarMap = [];\r\n\r\n const topLevelMap = [\r\n {\r\n text: 'Users',\r\n iconText: UiIconEnum.Useradmin,\r\n value: this.menuItemUsers,\r\n },\r\n {\r\n text: 'Organizations',\r\n iconText: UiIconEnum.Orgadmin,\r\n value: this.menuItemOrganizations,\r\n },\r\n {\r\n text: 'Roles',\r\n iconText: UiIconEnum.Roleadmin,\r\n value: this.menuItemRoles,\r\n },\r\n {\r\n text: 'Permissions',\r\n iconText: UiIconEnum.Permadmin,\r\n value: this.menuItemPermissions,\r\n },\r\n {\r\n text: 'Pending Registrations',\r\n iconText: UiIconEnum.Pendingadmin,\r\n value: this.menuItemPending,\r\n },\r\n {\r\n text: websiteFeedbackText,\r\n iconText: UiIconEnum.Feedback,\r\n value: this.menuItemFeedback,\r\n },\r\n {\r\n text: 'Access Requests',\r\n iconText: UiIconEnum.AccessRequests,\r\n value: this.menuItemAccessRequests,\r\n },\r\n {\r\n text: 'Live Chat',\r\n iconText: UiIconEnum.Chat,\r\n value: this.menuItemChat,\r\n },\r\n {\r\n text: 'View All Efforts',\r\n iconText: UiIconEnum.List,\r\n value: this.menuItemViewAllEfforts,\r\n },\r\n {\r\n text: 'Feeds & Transfers',\r\n iconText: UiIconEnum.FeedsTransfers,\r\n value: this.menuItemFeedsTransfers,\r\n },\r\n {\r\n text: 'Users & Organization Count',\r\n iconText: UiIconEnum.Calculator,\r\n value: this.menuItemUserOrgCount,\r\n },\r\n ] as IMenuItem[];\r\n\r\n if (this.isSysAdmin) {\r\n topLevelMap.push({\r\n text: 'System',\r\n iconText: UiIconEnum.Sysadmin,\r\n value: this.menuItemSys,\r\n });\r\n }\r\n\r\n topLevelMap.push({\r\n text: 'Contact (Non-User) Mgmt',\r\n iconText: UiIconEnum.ContactNonUserMgmt,\r\n value: this.menuItemContactMgmt,\r\n });\r\n\r\n if (!this.isClassified) {\r\n topLevelMap.push({\r\n text: 'SAM Lookup',\r\n iconText: UiIconEnum.SamLookup,\r\n value: this.menuItemSamLookup,\r\n });\r\n }\r\n\r\n topLevelMap.push({\r\n text: 'Error Logs',\r\n iconText: UiIconEnum.ErrorLogs,\r\n value: this.menuItemErrorLogs,\r\n });\r\n\r\n topLevelMap.push({\r\n text: 'Service Requests',\r\n iconText: UiIconEnum.ServiceRequests,\r\n value: this.menuItemServiceRequests,\r\n });\r\n\r\n const topLevelItems = [...topLevelMap];\r\n\r\n this.sidebarMap = topLevelMap;\r\n\r\n this.sidebarMenuSelectedValue = selectedMenuItemValue;\r\n const sidebarMenu = {\r\n selectedItemValue: selectedMenuItemValue,\r\n items: topLevelItems,\r\n } as IMenu;\r\n this.sidebarMenu = sidebarMenu;\r\n }\r\n\r\n public switchToTabbedSection(menuItemValue: string): void {\r\n if (menuItemValue === this.menuItemUsers) {\r\n this.switchToUserDropdown();\r\n }\r\n\r\n if (menuItemValue === this.menuItemOrganizations) {\r\n this.switchToOrgsDropdown();\r\n }\r\n\r\n if (menuItemValue === this.menuItemPending) {\r\n this.processTabbedUrl(\r\n 'menu click',\r\n this.defaultPendingTab,\r\n this.menuItemPending,\r\n 'Pending Registrations',\r\n true\r\n );\r\n }\r\n\r\n if (menuItemValue === this.menuItemRoles) {\r\n this.switchToRolesDropdown();\r\n }\r\n\r\n if (menuItemValue === this.menuItemPermissions) {\r\n this.switchToPermissionsDropdown();\r\n }\r\n\r\n if (menuItemValue === this.menuItemSys) {\r\n this.processSysUrlOrMenuClick(true);\r\n }\r\n\r\n if (menuItemValue === this.menuItemFeedsTransfers) {\r\n this.processTabbedUrl(\r\n 'menu click',\r\n this.defaultFeedsTab,\r\n this.menuItemFeedsTransfers,\r\n this.defaultFeedTabTitle,\r\n true\r\n );\r\n }\r\n }\r\n\r\n // #endregion sidebar\r\n\r\n public tabSelected(tabTitle: string, isDefault = false): boolean {\r\n if (this.selectedTabTitle) {\r\n return this.selectedTabTitle === tabTitle;\r\n }\r\n return isDefault;\r\n }\r\n\r\n private buildHelpTopic(\r\n urlSection: string,\r\n urlFeature: string = null,\r\n urlDetail: string = null\r\n ): string {\r\n let helpTopicId = `admin-${urlSection}`;\r\n if (urlFeature) {\r\n helpTopicId = `${helpTopicId}-${urlFeature}`;\r\n }\r\n if (urlDetail) {\r\n helpTopicId = `${helpTopicId}-${urlDetail}`;\r\n }\r\n return helpTopicId;\r\n }\r\n\r\n private buildTitle(\r\n sectionTitle: string,\r\n featureTitle: string = null,\r\n detailTitle: string = null\r\n ): string {\r\n let title = sectionTitle;\r\n if (featureTitle) {\r\n title += ` | ${featureTitle}`;\r\n }\r\n if (detailTitle) {\r\n title += ` | ${detailTitle}`;\r\n }\r\n\r\n return title;\r\n }\r\n\r\n public onDropdownValueChanged(\r\n caller: AdminTopLevelMenuItems,\r\n value: string,\r\n valueCallback: () => void,\r\n noValueCallback: () => void,\r\n selectedTab: KeyValue,\r\n sectionTitle: string,\r\n setLocation = true,\r\n urlFeature: string = null,\r\n featureTitle: string = null\r\n ): void {\r\n // when changing dropdown value we are trying to go from say\r\n // admin/users to admin/users//stats-login\r\n const detailTitle = selectedTab.key;\r\n const urlDetail = selectedTab.value; // value is url segment\r\n this.selectedTabTitle = detailTitle; // key is title\r\n\r\n if (value) {\r\n valueCallback();\r\n } else {\r\n noValueCallback();\r\n }\r\n\r\n // dropdown value/url feature e.g. value is always going to be a guid here\r\n // therefore we don't want it in the url\r\n const helpTopicId = this.buildHelpTopic(caller, urlDetail);\r\n const title = this.buildTitle(sectionTitle, featureTitle, detailTitle);\r\n\r\n this.setProductTourData(caller, urlDetail);\r\n\r\n if (setLocation) {\r\n this.setHelpTopicTitleLocation(\r\n caller,\r\n helpTopicId,\r\n title,\r\n caller,\r\n urlFeature,\r\n urlDetail\r\n );\r\n } else {\r\n this.helpService.helpTopicId = helpTopicId;\r\n }\r\n }\r\n\r\n public onTabSelect(\r\n caller: AdminTopLevelMenuItems,\r\n e: SelectEvent,\r\n urlSection: string,\r\n sectionTitle: string,\r\n firstTabCallback: () => void = null,\r\n urlFeature: string = null,\r\n featureTitle: string = null\r\n ): void {\r\n // when selecting tab we are either going to the switcher, e.g. admin/users or sys/settings\r\n // or we are going from admin/users//stats-login to admin/users//permissions\r\n if (e.index === 0 && firstTabCallback) {\r\n firstTabCallback();\r\n return;\r\n }\r\n\r\n const detailTitle = e.title;\r\n this.selectedTabTitle = e.title;\r\n const urlDetail = this.getUrlSegmentFromTabName(e.title);\r\n\r\n const helpTopicId = this.buildHelpTopic(urlSection, urlDetail);\r\n const title = this.buildTitle(sectionTitle, featureTitle, detailTitle);\r\n\r\n this.setHelpTopicTitleLocation(\r\n caller,\r\n helpTopicId,\r\n title,\r\n urlSection,\r\n urlFeature,\r\n urlDetail\r\n );\r\n\r\n this.setProductTourData(caller, urlDetail);\r\n }\r\n\r\n public onSwitchToDropdown(\r\n caller: AdminTopLevelMenuItems,\r\n selectedTabTitle: string,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n valueChangedCallback: (value: any) => void,\r\n dropdown: GenericKendoDropdownComponent,\r\n fireValueChanged = true\r\n ): void {\r\n this.selectedTabTitle = selectedTabTitle;\r\n if (fireValueChanged) {\r\n valueChangedCallback(null);\r\n }\r\n if (dropdown) {\r\n dropdown.clearValue();\r\n // setting timeout here gets\r\n setTimeout(() => {\r\n dropdown.focus();\r\n }, 300);\r\n }\r\n this.setProductTourData(caller);\r\n }\r\n\r\n // #region menu 1 - user action\r\n\r\n // #region generic tab select/value changed/switch to dropdown\r\n\r\n public onUsersTabSelect(e: SelectEvent): void {\r\n let urlFeature: string = null;\r\n let featureTitle: string = null;\r\n if (this.selectedUser) {\r\n urlFeature = this.selectedUser.userId;\r\n featureTitle = this.selectedUser.userName;\r\n }\r\n\r\n this.onTabSelect(\r\n 'users',\r\n e,\r\n this.menuItemUsers,\r\n 'Users',\r\n () => {\r\n this.switchToUserDropdown();\r\n },\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public userValueChanged(\r\n value: IUsersExtDto,\r\n setLocation = true,\r\n selectedTab: KeyValue = this.defaultUsersTab\r\n ): void {\r\n let dropdownValue: string = null;\r\n let urlFeature: string = null;\r\n let featureTitle: string = null;\r\n if (value) {\r\n dropdownValue = value.userId;\r\n urlFeature = dropdownValue;\r\n featureTitle = GeneralUtilities.trimToLength(value.userName, 30, true);\r\n }\r\n\r\n this.onDropdownValueChanged(\r\n this.menuItemUsers,\r\n dropdownValue,\r\n // need to use arrow functions to preserve this context\r\n () => {\r\n this.userName = GeneralUtilities.trimToLength(value.userName, 30, true);\r\n this.selectedUser = value;\r\n },\r\n () => {\r\n this.userName = '';\r\n this.selectedUser = null;\r\n },\r\n selectedTab,\r\n 'Users',\r\n setLocation,\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public switchToUserDropdown(fireValueChanged = true): void {\r\n this.onSwitchToDropdown(\r\n this.menuItemUsers,\r\n this.defaultUsersTabTitle,\r\n () => {\r\n this.userValueChanged(null);\r\n },\r\n this.userSearchDropdown,\r\n fireValueChanged\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n public isSigningOutAllSessions = false;\r\n\r\n public signoutAllSessions(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n\r\n // show a confirmation\r\n const title = `Signout All for ${this.userName} `;\r\n const body = `Are you sure you want to signout ${this.userName} from all their active sessions?`;\r\n\r\n this.notifierService\r\n .modalConfirmResult('success', body, title, true, 'Yes, Signout All', 'No, Cancel')\r\n .pipe(untilDestroyed(this))\r\n .subscribe((modalResult) => {\r\n if (modalResult) {\r\n this.isSigningOutAllSessions = true;\r\n this.authService\r\n .signoutAllSessions(this.selectedUser.userId, this.userName)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.isSigningOutAllSessions = false;\r\n if (val.success) {\r\n this.notifierService.toastSuccess(\r\n val.message,\r\n 'Sessions Signed Out'\r\n );\r\n } else {\r\n this.notifierService.toastWarning(val.message, 'Signout Results');\r\n }\r\n if (val.success) {\r\n this.switchToUserDropdown();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n public convertToNroAceUser(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n\r\n // show a confirmation\r\n const title = `Convert ${this.userName} to an NRO ACE User`;\r\n const body =\r\n `Are you sure you want to convert ${this.userName} to an NRO ACE User? ` +\r\n 'This action is not undoable. All permissions of the user will be deleted!';\r\n\r\n this.notifierService\r\n .modalConfirmResult('success', body, title, true, 'Yes, Convert', 'No, Cancel')\r\n .pipe(untilDestroyed(this))\r\n .subscribe((modalResult) => {\r\n if (modalResult) {\r\n this.isConvertingToNroAceUser = true;\r\n this.contactService\r\n .convertUserToNroAceUser(this.selectedUser.userId)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.isConvertingToNroAceUser = false;\r\n this.notifierService.toastSuccessOrError(\r\n val.success,\r\n val.message,\r\n val.success ? 'User Converted' : 'Error Converting User'\r\n );\r\n\r\n if (val.success) {\r\n this.switchToUserDropdown();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n public showUserLoginReportDialog(): void {\r\n if (!this.selectedUser) {\r\n return;\r\n }\r\n\r\n // get 30 days worth of parameters\r\n const now = new Date();\r\n\r\n const tomorrow = now.setDate(now.getDate() + 1);\r\n const locale = Intl.DateTimeFormat().resolvedOptions().locale;\r\n const tomorrowString = formatDate(tomorrow, 'shortDate', locale);\r\n\r\n const thiryDaysAgo = now.setDate(now.getDate() - 30);\r\n const thirtyDaysAgoString = formatDate(thiryDaysAgo, 'shortDate', locale);\r\n\r\n const reportTitle = `${this.config.systemName} User Sign-in Report for ${this.selectedUser.userName}`;\r\n const emailBody = `Please see attached user sign-in report for ${this.selectedUser.userName}.`;\r\n const email = this.authService.loggedOnUserNetworkEmail(this.config.isClassified);\r\n const reportParameters = {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n ReportTitle: reportTitle,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n IsLoginAs: false,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n UserId: this.selectedUser.userId,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n StartDate: thirtyDaysAgoString,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n EndDate: tomorrowString,\r\n };\r\n\r\n const viewerConfig = ReportsService.getDefaultReportViewerConfig(\r\n reportTitle,\r\n 'LoginHistory.trdp',\r\n emailBody,\r\n true,\r\n true,\r\n reportParameters,\r\n email\r\n );\r\n\r\n this.dialogPopperService\r\n .showReportingDialog('Close', viewerConfig)\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {});\r\n }\r\n\r\n public get convertToNroAceUserClickProcessing(): boolean {\r\n if (this.selectedUser) {\r\n return this.isConvertingToNroAceUser;\r\n }\r\n return false;\r\n }\r\n\r\n private isConvertingToNroAceUser = false;\r\n public get convertToNroAceUserDisabled(): boolean {\r\n if (this.selectedUser && this.selectedUser.isAce) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get userSelected(): boolean {\r\n if (this.selectedUser) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get userCaption(): string {\r\n if (this.userSelected) {\r\n return `Manage ${this.selectedUser.userName}`;\r\n } else {\r\n return 'Select a User';\r\n }\r\n }\r\n\r\n public get userOrgClass(): string {\r\n if (this.userSelected) {\r\n return AppUtilities.getUserContactTextClass(\r\n this.selectedUser.isAgency,\r\n this.selectedUser.isAce\r\n );\r\n } else {\r\n return 'd-none';\r\n }\r\n }\r\n\r\n public get userOrgCaption(): string {\r\n if (this.userSelected) {\r\n return this.selectedUser.organizationName;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public get userOrgIconClass(): string {\r\n if (this.userSelected) {\r\n return AppUtilities.getUserContactIconClass(\r\n this.selectedUser.isAgency,\r\n this.selectedUser.isAce\r\n );\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n // #endregion menu 1 - user action\r\n\r\n public adminFeatureClick(img: string, title: string): void {\r\n this.selectedAdminFeatureTitle = title;\r\n this.selectedAdminFeatureImgUrl = `../../../../content/images/arc-20-screenshots/admin-default/${img}.png`;\r\n }\r\n\r\n // #region menu 2 - org action\r\n\r\n // #region generic tab select/value changed/switch to dropdown\r\n\r\n public onOrganizationsTabSelect(e: SelectEvent): void {\r\n let urlFeature: string = null;\r\n let featureTitle: string = null;\r\n if (this.selectedOrg) {\r\n urlFeature = this.selectedOrg.id;\r\n featureTitle = this.selectedOrg.samOrg;\r\n }\r\n\r\n this.onTabSelect(\r\n 'organizations',\r\n e,\r\n this.menuItemOrganizations,\r\n 'Orgs',\r\n () => {\r\n this.switchToOrgsDropdown();\r\n },\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public orgValueChanged(\r\n value: IOrganizationsDto,\r\n setLocation = true,\r\n selectedTab: KeyValue = this.defaultOrgsTab\r\n ): void {\r\n let dropdownValue: string = null;\r\n let urlFeature: string = null;\r\n let featureTitle: string = null;\r\n if (value) {\r\n dropdownValue = value.id;\r\n urlFeature = dropdownValue;\r\n featureTitle = GeneralUtilities.trimToLength(value.organizationName, 30, true);\r\n }\r\n\r\n this.onDropdownValueChanged(\r\n this.menuItemOrganizations,\r\n dropdownValue,\r\n // need to use arrow functions to preserve this context\r\n () => {\r\n this.orgName = GeneralUtilities.trimToLength(value.organizationName, 30, true);\r\n this.selectedOrg = value;\r\n },\r\n () => {\r\n this.clearSelectedOrg();\r\n },\r\n selectedTab,\r\n 'Organizations',\r\n setLocation,\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public switchToOrgsDropdown(fireValueChanged = true): void {\r\n this.onSwitchToDropdown(\r\n this.menuItemOrganizations,\r\n this.defaultOrgTabTitle,\r\n () => {\r\n this.orgValueChanged(null);\r\n },\r\n this.organizationDropdown,\r\n fireValueChanged\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n public get orgSelected(): boolean {\r\n if (this.selectedOrg) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get orgCaption(): string {\r\n if (this.selectedOrg) {\r\n return `Manage ${this.selectedOrg.samOrg}`;\r\n } else {\r\n return 'Select an Organization';\r\n }\r\n }\r\n\r\n public clearSelectedOrg(): void {\r\n this.orgName = '';\r\n this.selectedOrg = null;\r\n }\r\n\r\n // #endregion menu 2 - org action\r\n\r\n // #region menu 3 - role action\r\n\r\n // #region generic tab select/value changed/switch to dropdown\r\n\r\n public onRolesTabSelect(e: SelectEvent): void {\r\n let urlFeature: string = null;\r\n let featureTitle: string = null;\r\n if (this.selectedRole) {\r\n urlFeature = this.selectedRole.roleId;\r\n featureTitle = this.selectedRole.roleName;\r\n }\r\n\r\n this.onTabSelect(\r\n 'roles',\r\n e,\r\n this.menuItemRoles,\r\n 'Roles',\r\n () => {\r\n this.switchToRolesDropdown();\r\n },\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public roleValueChanged(\r\n value: IExtendedRole,\r\n setLocation = true,\r\n selectedTab: KeyValue = this.defaultRolesTab\r\n ): void {\r\n let dropdownValue: string = null;\r\n let urlFeature: string = null;\r\n let featureTitle: string = null;\r\n if (value) {\r\n dropdownValue = value.roleId;\r\n urlFeature = dropdownValue;\r\n featureTitle = value.roleName;\r\n }\r\n\r\n this.onDropdownValueChanged(\r\n this.menuItemRoles,\r\n dropdownValue,\r\n // need to use arrow functions to preserve this context\r\n () => {\r\n this.selectedRole = value;\r\n this.checkResetRolePermsConfig();\r\n },\r\n () => {\r\n this.clearSelectedRole();\r\n },\r\n selectedTab,\r\n 'Roles',\r\n setLocation,\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public switchToRolesDropdown(fireValueChanged = true): void {\r\n this.onSwitchToDropdown(\r\n this.menuItemRoles,\r\n this.defaultRoleTabTitle,\r\n () => {\r\n this.roleValueChanged(null);\r\n },\r\n this.roleDropdown,\r\n fireValueChanged\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n public get roleSelected(): boolean {\r\n if (this.selectedRole) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get roleCaption(): string {\r\n if (this.selectedRole) {\r\n return `Manage ${this.selectedRole.displayText}`;\r\n } else {\r\n return 'Select a Role';\r\n }\r\n }\r\n\r\n public clearSelectedRole(): void {\r\n this.selectedRole = null;\r\n }\r\n\r\n // #endregion\r\n\r\n // #region menu 4 - permission action\r\n\r\n // #region generic tab select/value changed/switch to dropdown\r\n\r\n public onPermissionsTabSelect(e: SelectEvent): void {\r\n const urlFeature: string = this.selectedPermission\r\n ? this.selectedPermission.permission.toString()\r\n : null;\r\n let featureTitle: string = null;\r\n if (this.selectedPermission) {\r\n featureTitle = this.selectedPermission.displayText;\r\n }\r\n\r\n this.onTabSelect(\r\n 'permissions',\r\n e,\r\n this.menuItemPermissions,\r\n 'Permissions',\r\n // need to use arrow functions to preserve this context\r\n () => {\r\n this.switchToPermissionsDropdown();\r\n },\r\n urlFeature,\r\n featureTitle\r\n );\r\n }\r\n\r\n public permissionValueChanged(\r\n value: IDropdownPermissionDef,\r\n setLocation = true,\r\n selectedTab: KeyValue = this.defaultPermissionsTab\r\n ): void {\r\n let dropdownValue: string = null;\r\n let urlDetail: string = null;\r\n let detailTitle: string = null;\r\n if (value) {\r\n dropdownValue = value.permission.toString();\r\n urlDetail = dropdownValue;\r\n detailTitle = value.permissionName;\r\n }\r\n\r\n this.onDropdownValueChanged(\r\n this.menuItemPermissions,\r\n dropdownValue,\r\n // need to use arrow functions to preserve this context\r\n () => {\r\n this.selectedPermission = value;\r\n },\r\n () => {\r\n this.clearSelectedPermission();\r\n },\r\n selectedTab,\r\n 'Permissions',\r\n setLocation,\r\n urlDetail,\r\n detailTitle\r\n );\r\n }\r\n\r\n public switchToPermissionsDropdown(fireValueChanged = true): void {\r\n this.onSwitchToDropdown(\r\n this.menuItemPermissions,\r\n this.defaultPermissionsTabTitle,\r\n () => {\r\n this.permissionValueChanged(null);\r\n },\r\n this.permissionDropdown,\r\n fireValueChanged\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n public get permissionSelected(): boolean {\r\n if (this.selectedPermission) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get permissionCaption(): string {\r\n if (this.selectedPermission) {\r\n return `Manage ${this.selectedPermission.displayText}`;\r\n } else {\r\n return 'Select a Permission';\r\n }\r\n }\r\n\r\n public clearSelectedPermission(): void {\r\n this.selectedPermission = null;\r\n }\r\n\r\n // #endregion\r\n\r\n // #region menu 5 - sys action\r\n\r\n public onSysTabSelect(e: SelectEvent): void {\r\n this.onTabSelect('sys', e, this.menuItemSys, this.defaultSysTabTitle);\r\n }\r\n\r\n public toggleDemoMode(): void {\r\n this.setControlStateSaving();\r\n this.adminService\r\n .toggleDemoMode()\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this.notifierService.sendMessage(MessageConstants.DemoModeChanged);\r\n this.setAsOf();\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n public toggleClassification(): void {\r\n this.setControlStateSaving();\r\n this.adminService\r\n .toggleClassification()\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this.isClassified = !this.isClassified;\r\n this.notifierService.sendMessage(MessageConstants.ClassificationChanged);\r\n this.setAsOf();\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n public toggleLogin(loginType: string): void {\r\n const allowedLoginMethods = this.config.allowedLoginMethods;\r\n const loginMethods = {\r\n windows: allowedLoginMethods.windows,\r\n pki: allowedLoginMethods.pki,\r\n userName: allowedLoginMethods.userName,\r\n social: allowedLoginMethods.social,\r\n } as ILoginMethods;\r\n\r\n if (loginType === 'windows') {\r\n loginMethods.windows = !loginMethods.windows;\r\n }\r\n if (loginType === 'pki') {\r\n loginMethods.pki = !loginMethods.pki;\r\n }\r\n if (loginType === 'userName') {\r\n loginMethods.userName = !loginMethods.userName;\r\n }\r\n if (loginType === 'social') {\r\n loginMethods.social = !loginMethods.social;\r\n }\r\n\r\n this.setControlStateSaving();\r\n this.adminService\r\n .toggleLoginMethods(loginMethods)\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this.notifierService.sendMessage(MessageConstants.LoginMethodsChanged);\r\n this.setAsOf();\r\n this.setControlStateNeutral();\r\n });\r\n }\r\n\r\n public get classificationButtonText(): string {\r\n return this.isClassified ? 'Change to Unclassified' : 'Change to Classified';\r\n }\r\n\r\n public get classificationButtonClass(): string {\r\n return this.isClassified ? 'btn btn-success' : 'btn btn-warning';\r\n }\r\n\r\n public getToggleButtonClass(isOn: boolean): string {\r\n return isOn ? 'btn btn-secondary' : 'btn btn-primary';\r\n }\r\n\r\n public getToggleText(isOn: boolean, extraText: string): string {\r\n let result = isOn ? 'Turn Off' : 'Turn On';\r\n result += ' ' + extraText;\r\n return result;\r\n }\r\n\r\n public clearServerCache(): void {\r\n this.setControlStateSaving();\r\n this.adminService\r\n .clearServerCache(this.authService.loggedOnUser.id)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n if (val.success) {\r\n const toastrOptions = {\r\n enableHtml: true,\r\n };\r\n\r\n const message = GeneralUtilities.pipeDelimitedToHtml(\r\n 'Clear Server Cache Results',\r\n val.message\r\n );\r\n\r\n this.setControlStateNeutral();\r\n this.notifierService.toastSuccess(\r\n message,\r\n 'Server Cache Cleared',\r\n toastrOptions\r\n );\r\n } else {\r\n // error\r\n this.setControlStateLoadError();\r\n this.notifierService.toastError(\r\n 'Unable to clear server cache. Try again later.',\r\n 'Unable to Clear Server Cache'\r\n );\r\n }\r\n });\r\n }\r\n\r\n public clearClientCache(): void {\r\n this.setControlStateSaving();\r\n const result = this.localStoreManagerService.clearCachedData();\r\n const toastrOptions = {\r\n enableHtml: true,\r\n };\r\n\r\n const message = GeneralUtilities.arrayToHtml('Clear Client Cache Results', result);\r\n\r\n this.setControlStateNeutral();\r\n this.notifierService.toastSuccess(message, 'Client Cache Cleared', toastrOptions);\r\n }\r\n\r\n public updateSchedulerRecurrenceData(): void {\r\n this.setControlStateSaving();\r\n\r\n this.adminService\r\n .updateSchedulerRecurrenceData()\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this.setControlStateNeutral();\r\n this.notifierService.toastSuccess('Updated scheduler recurrence data', 'Updated');\r\n });\r\n }\r\n\r\n public updateInsightsMetricsData(): void {\r\n this.setControlStateSaving();\r\n\r\n this.adminService\r\n .updateInsightsMetricsData()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.setControlStateNeutral();\r\n this.notifierService.toastSuccessOrError(val.success, val.message, 'Results');\r\n });\r\n }\r\n\r\n public ipWhitelistTest(): void {\r\n this.notifierService\r\n .modalInputResult(\r\n 'Enter the whitelist',\r\n 'IP Whitelist Test',\r\n 'Semicolon delimited list of IPs',\r\n true,\r\n 'Test',\r\n 'Cancel'\r\n )\r\n .pipe(untilDestroyed(this))\r\n .subscribe((inputResult) => {\r\n if (inputResult.success) {\r\n const dto = {\r\n safeList: inputResult.message,\r\n testIp: '',\r\n } as IRemoteIpTestDto;\r\n\r\n this.adminService\r\n .ipWhitelistTest(dto)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((ipTestResult) => {\r\n this.notifierService.toastSuccessOrError(\r\n ipTestResult.success,\r\n ipTestResult.message,\r\n 'Results'\r\n );\r\n });\r\n }\r\n });\r\n }\r\n\r\n // #endregion\r\n\r\n // #region feeds menu\r\n\r\n public onFeedsTabSelect(e: SelectEvent): void {\r\n this.onTabSelect(\r\n 'feeds-transfers',\r\n e,\r\n this.menuItemFeedsTransfers,\r\n this.defaultFeedTabTitle\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n // #region pending menu\r\n\r\n public onPendingTabSelect(e: SelectEvent): void {\r\n this.onTabSelect('pending', e, this.menuItemPending, this.defaultPendingTabTitle);\r\n }\r\n\r\n // #endregion\r\n\r\n // #region menu 6 - Misc Menu\r\n\r\n // #region signup link\r\n\r\n public sendSignupLink(): void {\r\n this.authService.enterSignupFlow(true);\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Sam Lookup\r\n\r\n samSearchIsControlStateChanged(value: AppControlState): void {\r\n if (value === 'saving' || value === 'loading') {\r\n this.samSearchResult = null;\r\n this.showSamSearchError = false;\r\n }\r\n }\r\n\r\n samSearchActionComplete(value: ISuccessErrorCancelResult): void {\r\n const status = value.status;\r\n if (status === 'cancel') {\r\n // exit out\r\n this.samSearchResult = null;\r\n this.showSamSearchError = false;\r\n } else if (status === 'success') {\r\n // success\r\n // searching sam\r\n this.samSearchResult = value.result;\r\n this.setSamSearchResult();\r\n this.showSamSearchError = false;\r\n } else {\r\n // error condition\r\n this.showSamSearchError = true;\r\n const errorHeading = 'Sam Search Error';\r\n this.samSearchErrorHeading = value.result?.statusCode\r\n ? `${errorHeading} #${value.result.statusCode}`\r\n : errorHeading;\r\n this.samSearchErrorMessage = value.result?.notificationMessage\r\n ? value.result.notificationMessage\r\n : 'An error occurred searching, check API keys, IP Address, and connection.';\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #endregion menu 5 - Misc menu\r\n\r\n // #region feedback grid\r\n\r\n public feedbackMode: 'list' | 'grid' | 'details' = 'grid';\r\n public selectedFeedbackItem: IFeedbackGridDto = null;\r\n public adminFeedbackCaption = websiteFeedbackText;\r\n\r\n public backToFeedbackGrid(): void {\r\n this.adminFeedbackCaption = websiteFeedbackText;\r\n this.feedbackMode = 'grid';\r\n this.setHelpTopicTitleLocation(\r\n 'backToFeedbackGrid',\r\n 'admin-feedback',\r\n this.adminFeedbackCaption,\r\n 'feedback'\r\n );\r\n }\r\n\r\n public backToFeedbackList(): void {\r\n this.adminFeedbackCaption = websiteFeedbackText;\r\n this.feedbackMode = 'list';\r\n this.setHelpTopicTitleLocation(\r\n 'backToFeedbackGrid',\r\n 'admin-feedback',\r\n this.adminFeedbackCaption,\r\n 'feedback'\r\n );\r\n }\r\n\r\n public adminFeedbackGridActionClicked(\r\n event: IGenericKendoGridActionClick\r\n ): void {\r\n const dataItem = event.dataItem;\r\n const action = event.action;\r\n const prefix = dataItem.isBug ? 'Bug Report' : websiteFeedbackText;\r\n\r\n if (action.eventName === CommonConstants.ActionView) {\r\n this.selectedFeedbackItem = dataItem;\r\n this.adminFeedbackCaption = `View/Edit ${prefix} #${dataItem.formattedFeedbackNumber}`;\r\n this.feedbackMode = 'details';\r\n this.setHelpTopicTitleLocation(\r\n 'adminFeedbackGridActionClicked',\r\n 'admin-feedback-details',\r\n this.adminFeedbackCaption,\r\n 'feedback',\r\n dataItem.formattedFeedbackNumber\r\n );\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #region transfers\r\n\r\n public transferFeedsMode: 'grid' | 'details' = 'grid';\r\n public selectedTransferFeedItem: IFeedsTransferGridDto = null;\r\n public adminFeedGridCaption = 'View/Transfer Feeds';\r\n\r\n public backToFeedGrid(): void {\r\n this.adminFeedbackCaption = 'View/Transfer Feeds';\r\n this.transferFeedsMode = 'grid';\r\n this.setHelpTopicTitleLocation(\r\n 'backToFeedbackGrid',\r\n 'admin-feed-view-transfer',\r\n this.adminFeedGridCaption,\r\n this.menuItemFeedsTransfers\r\n );\r\n }\r\n\r\n public adminFeedGridActionClicked(\r\n event: IGenericKendoGridActionClick\r\n ): void {\r\n const dataItem = event.dataItem;\r\n const action = event.action;\r\n\r\n if (action.eventName === 'genQr') {\r\n this.selectedTransferFeedItem = dataItem;\r\n this.adminFeedGridCaption = 'Generate QR Code';\r\n this.transferFeedsMode = 'details';\r\n this.setHelpTopicTitleLocation(\r\n 'adminFeedGridActionClicked',\r\n 'admin-feed-gen-qr',\r\n this.adminFeedGridCaption,\r\n this.menuItemFeedsTransfers,\r\n dataItem.id\r\n );\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n // #region process url\r\n\r\n private processInitUrl(): void {\r\n const params = this.route.snapshot.params;\r\n // top level like users, orgs, whatever\r\n this.routeSection = params.section as string;\r\n\r\n // second level like users id, org id, etc\r\n this.routeFeature = params.feature as string;\r\n\r\n // third level like user profile tab, etc\r\n this.routeDetail = params.detail as string;\r\n\r\n if (!this.routeSection) {\r\n // default to be on the users tab for admin\r\n this.routeSection = this.menuItemUsers;\r\n }\r\n\r\n // users is a top level\r\n if (this.routeSection === this.menuItemUsers) {\r\n this.processUsersUrl();\r\n }\r\n\r\n // org is a top level\r\n if (this.routeSection === this.menuItemOrganizations) {\r\n this.processOrgUrl();\r\n }\r\n\r\n // roles is a top level\r\n if (this.routeSection === this.menuItemRoles) {\r\n this.processRolesUrl();\r\n }\r\n\r\n // permissions is a top level\r\n if (this.routeSection === this.menuItemPermissions) {\r\n this.processPermissionsUrl();\r\n }\r\n\r\n // feedback is a top level\r\n if (this.routeSection === this.menuItemFeedback) {\r\n this.processFeedbackUrl();\r\n }\r\n\r\n // chat is a top level\r\n\r\n // sys is a top level\r\n if (this.routeSection === this.menuItemSys) {\r\n this.processSysUrlOrMenuClick(false);\r\n }\r\n\r\n // misc & feeds/transfers are 2 level\r\n if (this.routeSection === this.menuItemFeedsTransfers) {\r\n this.processViewTransferUrl();\r\n }\r\n\r\n if (this.routeSection === this.menuItemSamLookup) {\r\n this.processSamUrl();\r\n }\r\n }\r\n\r\n private getSelectedTabFromRouteDetail(\r\n defaultTab: KeyValue\r\n ): KeyValue {\r\n let selectedTab: KeyValue;\r\n if (this.routeDetail) {\r\n selectedTab = this.tabNameToSegmentsMap.find((x) => x.value === this.routeDetail);\r\n }\r\n\r\n if (!selectedTab) {\r\n selectedTab = defaultTab;\r\n }\r\n\r\n return selectedTab;\r\n }\r\n\r\n private processUsersUrl(): void {\r\n const selectedTab = this.getSelectedTabFromRouteDetail(this.defaultUsersTab);\r\n const userId = this.routeFeature;\r\n if (userId) {\r\n // grab the user\r\n this.userService\r\n .getUserExtById(userId)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.userValueChanged(val, false, selectedTab);\r\n });\r\n } else {\r\n this.userValueChanged(null, false, selectedTab);\r\n }\r\n }\r\n\r\n private processOrgUrl(): void {\r\n const selectedTab = this.getSelectedTabFromRouteDetail(this.defaultOrgsTab);\r\n const orgId = this.routeFeature;\r\n if (orgId) {\r\n // grab the org\r\n this.organizationService\r\n .getOrganization(orgId, false)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.orgValueChanged(val, false, selectedTab);\r\n });\r\n } else {\r\n this.orgValueChanged(null, false, selectedTab);\r\n }\r\n }\r\n\r\n private processRolesUrl(): void {\r\n const selectedTab = this.getSelectedTabFromRouteDetail(this.defaultRolesTab);\r\n const roleId = this.routeFeature;\r\n if (roleId) {\r\n // grab the role\r\n this.commonService\r\n .getAllRoles()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const foundRole = val.find((x) => x.roleId === roleId);\r\n this.roleValueChanged(foundRole, false, selectedTab);\r\n });\r\n } else {\r\n this.roleValueChanged(null, false, selectedTab);\r\n }\r\n }\r\n\r\n private processPermissionsUrl(): void {\r\n const selectedTab = this.getSelectedTabFromRouteDetail(this.defaultPermissionsTab);\r\n const permissionId = this.routeFeature;\r\n if (permissionId) {\r\n // grab the role\r\n this.commonService\r\n .getAllPermissions()\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const permission = +permissionId;\r\n const foundPermission = val.find((x) => x.permission === permission);\r\n this.permissionValueChanged(foundPermission, false, selectedTab);\r\n });\r\n } else {\r\n this.permissionValueChanged(null, false, selectedTab);\r\n }\r\n }\r\n\r\n private dumpSectionFeatureDetail(caller: string): void {\r\n this.logger.warn(\r\n `${caller}, section=${this.routeSection}, feature=${this.routeFeature}, detail=${this.routeDetail}`\r\n );\r\n }\r\n\r\n private processViewTransferUrl(): void {\r\n this.dumpSectionFeatureDetail('processViewTransferUrl');\r\n if (this.routeDetail) {\r\n this.adminService\r\n .getTransferFeed(this.routeDetail)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.selectedTransferFeedItem = val;\r\n this.transferFeedsMode = 'details';\r\n });\r\n }\r\n }\r\n\r\n private processFeedbackUrl(): void {\r\n this.dumpSectionFeatureDetail('processFeedbackUrl');\r\n if (this.routeFeature) {\r\n const feedbackNumber = parseInt(this.routeFeature.replace(/\\D/g, ''), 10);\r\n this.adminService\r\n .getSingleFeedback(feedbackNumber)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n this.selectedFeedbackItem = val as unknown as IFeedbackGridDto;\r\n this.feedbackMode = 'details';\r\n });\r\n }\r\n }\r\n\r\n private processSamUrl(): void {\r\n if (this.routeFeature) {\r\n const samUei = this.routeFeature;\r\n if (this.samSearchResult && this.samSearchResult.ueiSam === samUei) {\r\n this.setSamSearchResult();\r\n return;\r\n }\r\n\r\n this.samSearchUei = samUei;\r\n if (this.samSearch) {\r\n this.samSearch.searchSam();\r\n }\r\n }\r\n }\r\n\r\n private setSamSearchResult(): void {\r\n this.setHelpTopicTitleLocation(\r\n 'samSearchActionComplete',\r\n 'sam-search-result',\r\n 'SAM Lookup Result for ' + this.samSearchResult.ueiSam,\r\n this.menuItemSamLookup,\r\n this.samSearchResult.ueiSam\r\n );\r\n }\r\n\r\n private processTabbedUrl(\r\n caller: string,\r\n defaultTab: KeyValue,\r\n urlSection: string,\r\n sectionTitle: string,\r\n isMenuClick = true\r\n ): void {\r\n const selectedTab = this.getSelectedTabFromRouteDetail(defaultTab);\r\n\r\n // going to something like /sys/tabs/settings\r\n // const urlFeature = 'tabs';\r\n const detailTitle = selectedTab.key;\r\n this.selectedTabTitle = detailTitle;\r\n const urlDetail = selectedTab.value; // value is url segment\r\n\r\n const helpTopicId = this.buildHelpTopic(urlSection, null, urlDetail);\r\n const title = this.buildTitle(sectionTitle, null, detailTitle);\r\n\r\n if (isMenuClick) {\r\n // we manually clicked the menu. we need to select the default tab\r\n this.setHelpTopicTitleLocation(\r\n 'processTabbedUrl',\r\n helpTopicId,\r\n title,\r\n urlSection,\r\n null,\r\n urlDetail\r\n );\r\n } else {\r\n this.helpService.helpTopicId = helpTopicId;\r\n }\r\n }\r\n\r\n private processSysUrlOrMenuClick(isMenuClick: boolean): void {\r\n // if its a menu click, we might have some garbage route detail from another screen\r\n // like /admin/users//password\r\n // so set it to our default\r\n if (isMenuClick) {\r\n this.routeDetail = this.defaultSysTabValue;\r\n }\r\n\r\n this.processTabbedUrl(\r\n 'processSysUrlOrMenuClick',\r\n this.defaultSysTab,\r\n this.menuItemSys,\r\n 'System',\r\n isMenuClick\r\n );\r\n }\r\n\r\n // #endregion\r\n\r\n // #region product tour\r\n\r\n private setProductTourData(caller: AdminTopLevelMenuItems, key: string = null): void {\r\n if (caller === this.menuItemUsers) {\r\n this.processUsersProductTour(key);\r\n }\r\n\r\n // org is a top level\r\n if (caller === this.menuItemOrganizations) {\r\n this.processOrgProductTour(key);\r\n }\r\n\r\n // roles is a top level\r\n if (caller === this.menuItemRoles) {\r\n this.processRolesProductTour();\r\n }\r\n\r\n // permissions is a top level\r\n if (caller === this.menuItemPermissions) {\r\n this.processPermissionsProductTour();\r\n }\r\n\r\n // feedback is a top level\r\n if (caller === this.menuItemFeedback) {\r\n this.processFeedbackProductTour();\r\n }\r\n\r\n this.notifierService.sendProductTourPayload(this.componentTourData);\r\n }\r\n\r\n private processTabbedSubTour(\r\n subKey: string,\r\n componentName: string,\r\n callback: (hasSeenTour: boolean) => void\r\n ): void {\r\n const user = this.authService.loggedOnUser;\r\n this.authService\r\n .getUserPreferences(user.id)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n const foundIndex = val.findIndex(\r\n (x) => x.preferenceKey.indexOf(componentName) > -1\r\n );\r\n\r\n const hasSeenTour = foundIndex > -1;\r\n callback(hasSeenTour);\r\n });\r\n }\r\n\r\n private processUsersProductTour(subKey: string = null): void {\r\n let componentName = `admin-${this.menuItemUsers}-`;\r\n if (!subKey) {\r\n componentName += 'search';\r\n const stepData: introJs.Step[] = [];\r\n\r\n stepData.push({\r\n element: '#userSearchDropdown',\r\n intro: 'This is the user search dropdown. Search to select a user!',\r\n });\r\n\r\n this.componentTourData = {\r\n title: 'User Administration',\r\n steps: stepData,\r\n componentName,\r\n };\r\n\r\n return;\r\n }\r\n\r\n this.processTabbedSubTour(subKey, componentName, (hasSeenTour: boolean) => {\r\n const stepData: introJs.Step[] = [];\r\n let title = 'User Sub-section';\r\n if (!hasSeenTour) {\r\n stepData.push({\r\n element: '#k-tabstrip-tab-0',\r\n intro: 'Click this tab to go back and search for a different user.',\r\n title: 'Switch User',\r\n });\r\n }\r\n componentName += subKey;\r\n\r\n // default is stats and login\r\n if (subKey === this.defaultUsersTabValue) {\r\n title = this.defaultUsersTabTitle;\r\n stepData.push({\r\n element: '#k-tabstrip-tab-1',\r\n intro: 'This tab will show the users stats and login details',\r\n title,\r\n });\r\n\r\n stepData.push({\r\n element: '#user-statistics',\r\n intro:\r\n 'In this section you will see all the user statistics. Click ' +\r\n 'the small question mark circle to get additional information.',\r\n title: 'User Statistics',\r\n });\r\n\r\n stepData.push({\r\n element: '#user-administrator-comment',\r\n intro: 'A private comment only visible to helpdesk/admins. These comments are not transferred between networks.',\r\n title: 'Administrator Comment',\r\n });\r\n\r\n stepData.push({\r\n element: '#user-username-signup-email',\r\n intro: 'Here you can view the users security question, and then change their username and signup email if needed.',\r\n title: 'Username & Signup Email',\r\n });\r\n\r\n stepData.push({\r\n element: '#user-attributes',\r\n intro: 'In this section you can toggle various attributes about the user.',\r\n title: 'User Attributes',\r\n });\r\n\r\n stepData.push({\r\n element: '#user-id',\r\n intro: 'This is the unique identifier of the user in the system.',\r\n title: 'User Id',\r\n });\r\n\r\n stepData.push({\r\n element: '#user-activation-status',\r\n intro: 'Toggle the buttons in this area to manage the activation status',\r\n title: 'Activation Status',\r\n });\r\n\r\n stepData.push({\r\n element: '#user-lock-status',\r\n intro: 'Toggle the buttons in this area to lock/unlock the user. The button will not appear if it is not needed',\r\n title: 'Lock Status',\r\n });\r\n }\r\n\r\n if (subKey === this.userTabPasswordValue) {\r\n title = this.userTabPassword;\r\n stepData.push({\r\n element: '#k-tabstrip-tab-2',\r\n intro: 'Use this tab for password management including sending a new password or resetting the users password',\r\n title: this.userTabPassword,\r\n });\r\n }\r\n\r\n if (subKey === this.userTabPermissionsValue) {\r\n title = this.userTabPermissions;\r\n const userTabPermissionsTabstripId = 'tabstrip-admin-manage-user-permissions';\r\n\r\n stepData.push({\r\n element: '#k-tabstrip-tab-3',\r\n intro: 'On this tab, manage the users individual permissions, and role memberships at the system and agency level',\r\n title,\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-0`,\r\n intro:\r\n 'View all net effective permissions against efforts, agencies, and other entities in the system here. ' +\r\n 'This screen is readonly, use other screens to set the data.',\r\n title: 'Net Effective Permissions',\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-1`,\r\n intro:\r\n 'View and grant system roles to the user here. ' +\r\n 'Permissions granted via system roles can be superseded/overriden ' +\r\n 'by granting discrete system permissions on the next tab.',\r\n title: 'Sys Roles',\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-2`,\r\n // eslint-disable-next-line max-len\r\n intro: 'View and grant discrete system level permissions to the user here.',\r\n title: 'Sys Perms',\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-3`,\r\n // eslint-disable-next-line max-len\r\n intro:\r\n 'View and grant agency roles to the user here. If the user is ' +\r\n 'affiliated to an agency, that will be the default selectoin.',\r\n title: 'Agency Roles',\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-4`,\r\n intro: 'View and grant discrete agency level permissions to the user here.',\r\n title: 'Agency Permissions',\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-5`,\r\n intro:\r\n 'View and grant miscellaenous permissions to the user here, ' +\r\n 'currently only releated to libararies in the system.',\r\n title: 'Miscellaneous Permissions',\r\n });\r\n\r\n stepData.push({\r\n element: `#${userTabPermissionsTabstripId} #k-tabstrip-tab-6`,\r\n intro:\r\n 'A readonly quickview of all effort roles assigined to the user. ' +\r\n 'Useful for seeing which effort a user might be an AC on or have limited blind access to.',\r\n title: 'Effort Roles',\r\n });\r\n }\r\n\r\n if (subKey === this.userTabProfileValue) {\r\n title = 'Profile';\r\n stepData.push({\r\n element: '#k-tabstrip-tab-4',\r\n intro:\r\n 'Manage the users profile information such as name, phones, emails here. ' +\r\n 'Note that changing affiliation here will wipe user permissions. ' +\r\n 'Also, saving the profile does not set the last profile updated date ' +\r\n '- use the feature under Stats and Login for that.',\r\n title,\r\n });\r\n }\r\n\r\n if (subKey === this.userTabCertificatesValue) {\r\n title = 'Certificates';\r\n stepData.push({\r\n element: '#k-tabstrip-tab-5',\r\n intro: 'View and manage the users PKI certificates here.',\r\n title,\r\n });\r\n }\r\n\r\n if (subKey === this.userTabLoginHistoryValue) {\r\n title = 'Signin History';\r\n stepData.push({\r\n element: '#k-tabstrip-tab-6',\r\n intro: 'View the signin history of the user here.',\r\n title,\r\n });\r\n }\r\n\r\n if (subKey === this.userTabOtherValue) {\r\n title = 'Miscellaneous Actions';\r\n stepData.push({\r\n element: '#k-tabstrip-tab-7',\r\n intro:\r\n 'This tab contains less frequenly used actions such as login as, ' +\r\n 'running the user sign-in report, or converting the user to an NRO ACE user.',\r\n title,\r\n });\r\n }\r\n\r\n this.componentTourData = {\r\n title,\r\n steps: stepData,\r\n componentName,\r\n };\r\n });\r\n }\r\n\r\n private processOrgProductTour(subKey: string = null): void {\r\n let componentName = `admin-${this.menuItemOrganizations}-`;\r\n if (!subKey) {\r\n componentName += 'search';\r\n const stepData: introJs.Step[] = [];\r\n\r\n stepData.push({\r\n element: '#organizationDropdown',\r\n intro: 'This is the organizations search dropdown. Search to select an organization!',\r\n });\r\n\r\n this.componentTourData = {\r\n title: 'Organizations',\r\n steps: stepData,\r\n componentName,\r\n };\r\n\r\n return;\r\n }\r\n\r\n this.processTabbedSubTour(subKey, componentName, (hasSeenTour: boolean) => {\r\n const stepData: introJs.Step[] = [];\r\n let title = 'Org Sub-section';\r\n if (!hasSeenTour) {\r\n stepData.push({\r\n element: '#k-tabstrip-tab-0',\r\n intro: 'Click this tab to go back and search for a different organization.',\r\n title: 'Switch Organization',\r\n });\r\n }\r\n componentName += subKey;\r\n\r\n // default is manage org users\r\n if (subKey === this.defaultOrgTabValue) {\r\n title = this.defaultOrgTabTitle;\r\n stepData.push({\r\n element: '#k-tabstrip-tab-1',\r\n intro:\r\n 'This tab will show the organizational users. Use it to manage all ' +\r\n 'attributes of the users. Click the circle help icon in the column headings ' +\r\n 'for more information. You can also hide, drag, and reorder columns.',\r\n title,\r\n });\r\n }\r\n\r\n if (subKey === this.orgTabManageCapsValue) {\r\n title = this.orgTabManageCaps;\r\n stepData.push({\r\n element: '#k-tabstrip-tab-2',\r\n intro: 'Use this tab for to manage the organizations capabilty statement and assertions.',\r\n title,\r\n });\r\n }\r\n\r\n if (subKey === this.orgTabManageEmailValue) {\r\n title = this.orgTabManageEmail;\r\n stepData.push({\r\n element: '#k-tabstrip-tab-3',\r\n intro: 'On this tab, manage the organization email domains. Domains can be added/removed on the unclass.',\r\n title,\r\n });\r\n }\r\n\r\n if (subKey === this.orgTabMiscOrgValue) {\r\n title = this.orgTabMiscOrg;\r\n stepData.push({\r\n element: '#k-tabstrip-tab-4',\r\n intro: 'Actions TBD',\r\n title,\r\n });\r\n }\r\n\r\n this.componentTourData = {\r\n title,\r\n steps: stepData,\r\n componentName,\r\n };\r\n });\r\n }\r\n\r\n private processRolesProductTour(): void {\r\n // TODO: pending 20230119 - @bjohnson implement\r\n // *cons.log('processRolesProductTour');\r\n }\r\n\r\n private processPermissionsProductTour(): void {\r\n // TODO: pending 20230119 - @bjohnson implement\r\n // *cons.log('processPermissionsProductTour');\r\n }\r\n\r\n private processFeedbackProductTour(): void {\r\n // TODO: pending 20230119 - @bjohnson implement\r\n // *cons.log('processFeedbackProductTour');\r\n }\r\n // #endregion\r\n\r\n public textboxFocus($event: FocusEvent): void {\r\n const target = $event.target as HTMLInputElement;\r\n target.select();\r\n }\r\n\r\n // #region other contact mgmt\r\n\r\n public nonUserContact: IDisplayContactsDto;\r\n\r\n public nonUserContactDropdownConfig = {\r\n searchMode: 'admin-other-contact',\r\n maxResults: 50,\r\n organizationId: '',\r\n agencyId: '',\r\n } as IContactDropdownConfig;\r\n\r\n public nonUserContactValueChanged(value: IDisplayContactsDto): void {\r\n this.nonUserContact = value;\r\n }\r\n\r\n public clearNonUserSsn(): void {\r\n if (!this.nonUserContact) {\r\n return;\r\n }\r\n\r\n this.notifierService\r\n .modalConfirmResult(\r\n 'warning',\r\n 'Clear the SSN on this non-user? This action is not undoable.',\r\n 'Clear SSN',\r\n true,\r\n 'Clear SSN',\r\n 'Nevermind'\r\n )\r\n .pipe(untilDestroyed(this))\r\n .subscribe((val) => {\r\n if (val) {\r\n this.contactService\r\n .clearNonUserSsn(this.nonUserContact.id)\r\n .pipe(untilDestroyed(this))\r\n .subscribe((clearVal) => {\r\n this.notifierService.toastSuccessOrError(\r\n clearVal.success,\r\n clearVal.message,\r\n 'Clear SSN Results'\r\n );\r\n });\r\n }\r\n });\r\n }\r\n\r\n // #endregion\r\n}\r\n", "\r\n
\r\n \r\n
\r\n
{{ sidebarMenu.titleText }}
\r\n
\r\n\r\n
\r\n \r\n
\r\n

\r\n {{userCaption}}\r\n \r\n   {{userOrgCaption}}\r\n \r\n

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

Send User a Signup Link

\r\n

Click the button below to enter the user's information and send them a signup link to complete\r\n the account registration process. You will essentially be entering the signup flow on behalf of\r\n the user.

\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 \r\n \r\n \r\n

Miscellaneous Actions

\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

{{orgCaption}}

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

Here you can quickly approve, disable, and enable users, as well as set their\r\n attributes, particularly who are administrators and who can upload response\r\n documents.

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

Use this screen to edit the capability statement(s) and set the attributes about the\r\n organization.

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

{{orgEmailDomainsCaption}}

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

Miscellaneous Actions

\r\n

Create delete/deactivate org & users functionality here

\r\n

various organizational reports (documents submitted, active users, last activity,\r\n etc)

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

Pending Contacts & Organizations

\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

{{roleCaption}}

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

{{rolePermConfig.caption}}

\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

{{permissionCaption}}

\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

System Settings & Actions

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

Toggle various system settings below.

\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

Under Construction - API Keys

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

Enter your string for encoding and then press the button to create the code.

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

Enter a message and settings to test the email server here.

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

Perform various system actions below.

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

View sensitive server settings here.

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

View All Efforts

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

SAM UEI Lookup

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

{{samSearchErrorHeading}}

\r\n

{{samSearchErrorMessage}}

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

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

SAM Text Search

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

Contact (Non-User) Management

\r\n

Use this screen to search for contact records that are not associated with a user. The primary\r\n purpose of\r\n this screen is to clear out duplicate SSNs allowing users to register if they have an orphaned\r\n contact\r\n record.

\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

Feeds & Transfers

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

{{adminFeedGridCaption}}

\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

{{adminFeedbackCaption}}

\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 Search Requests by AC, Effort, or Requested For

\r\n

Enter one or more criteria below to filter/search for access requests (workflow). This only searches ARC\r\n 3.0 requests.

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

Chat

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

Current Users and Organizations Count

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

\r\n Service Requests

\r\n

Enter one or more criteria below to filter/search for service requests.

\r\n\r\n \r\n
\r\n \r\n
\r\n
", "import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { RelativeRouteConstants } from '@scb-constants';\r\nimport { IsAdminHelpdeskGuard } from '@scb-guards';\r\nimport { AdminComponent } from './admin.component';\r\n\r\nconst defaultData = {\r\n topicid: RelativeRouteConstants.Admin,\r\n};\r\n\r\nconst ADMIN_ROUTES: Routes = [\r\n {\r\n path: '**',\r\n component: AdminComponent,\r\n canActivate: [IsAdminHelpdeskGuard],\r\n data: defaultData,\r\n },\r\n // {\r\n // path: ':section/:feature/:detail',\r\n // component: AdminComponent,\r\n // canActivate: [IsAdminHelpdeskGuard],\r\n // data: defaultData,\r\n // },\r\n // {\r\n // path: ':section/:feature',\r\n // component: AdminComponent,\r\n // canActivate: [IsAdminHelpdeskGuard],\r\n // data: defaultData,\r\n // },\r\n // {\r\n // path: ':section',\r\n // component: AdminComponent,\r\n // canActivate: [IsAdminHelpdeskGuard],\r\n // data: defaultData,\r\n // },\r\n // {\r\n // path: '**',\r\n // redirectTo: 'users',\r\n // },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(ADMIN_ROUTES)],\r\n exports: [RouterModule],\r\n})\r\nexport class AdminRoutingModule {}\r\n", "// angular imports\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n// external imports\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\r\nimport { DialogModule } from '@progress/kendo-angular-dialog'; // required for popup form grid editing\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\nimport { ExcelModule, GridModule, PDFModule } from '@progress/kendo-angular-grid';\r\nimport { InputsModule } from '@progress/kendo-angular-inputs';\r\nimport { LayoutModule } from '@progress/kendo-angular-layout';\r\nimport { ListViewModule } from '@progress/kendo-angular-listview';\r\nimport { MenusModule } from '@progress/kendo-angular-menu';\r\nimport { PDFExportModule } from '@progress/kendo-angular-pdf-export';\r\nimport { RippleModule } from '@progress/kendo-angular-ripple';\r\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\r\nimport { UploadsModule } from '@progress/kendo-angular-upload';\r\n// import { QRCodeModule } from 'angularx-qrcode';\r\nimport { IconsModule } from '@progress/kendo-angular-icons';\r\nimport { MarkdownModule } from 'ngx-markdown';\r\n\r\n// app wide imports\r\nimport {\r\n AppComponentsModule,\r\n AppDirectivesModule,\r\n AppPipesModule,\r\n StringToIconPropModule,\r\n} from '@scb-shared';\r\n\r\n// module imports\r\nimport { AdminRoutingModule } from './admin-routing.module';\r\nimport { AdminComponent } from './admin.component';\r\n\r\nimport {\r\n AdminChangeUserPasswordComponent,\r\n AdminEditUserProfileComponent,\r\n AdminLoginAsComponent,\r\n AdminManageUserCertsComponent,\r\n AdminManageUserLoginComponent,\r\n AdminManageUserPermissionsComponent,\r\n AdminSendUserNewPasswordComponent,\r\n AdminUsersBaseComponent,\r\n} from './admin-users';\r\n\r\nimport {\r\n AdminFeedbackDetailsComponent,\r\n AdminFeedbackGridComponent,\r\n AdminFeedbackListComponent,\r\n} from './admin-feedback';\r\n\r\nimport { ErrorTailorModule } from '@scb/shared/modules/error-tailor-custom';\r\nimport {\r\n AdminFeedGenQrComponent,\r\n AdminFeedParseQrComponent,\r\n AdminFeedViewTransferComponent,\r\n} from './admin-feeds';\r\n\r\n@NgModule({\r\n declarations: [\r\n AdminComponent,\r\n AdminSendUserNewPasswordComponent,\r\n AdminChangeUserPasswordComponent,\r\n AdminManageUserPermissionsComponent,\r\n AdminManageUserLoginComponent,\r\n AdminEditUserProfileComponent,\r\n AdminUsersBaseComponent,\r\n AdminLoginAsComponent,\r\n AdminManageUserCertsComponent,\r\n AdminFeedbackGridComponent,\r\n AdminFeedbackDetailsComponent,\r\n AdminFeedbackListComponent,\r\n AdminFeedParseQrComponent,\r\n AdminFeedViewTransferComponent,\r\n AdminFeedGenQrComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AppComponentsModule,\r\n AppPipesModule,\r\n AppDirectivesModule,\r\n NgbModule,\r\n AdminRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MarkdownModule.forChild(),\r\n GridModule,\r\n DialogModule,\r\n ButtonsModule,\r\n ListViewModule,\r\n PDFModule,\r\n ExcelModule,\r\n RippleModule,\r\n DateInputsModule,\r\n InputsModule,\r\n PDFExportModule,\r\n LayoutModule,\r\n MenusModule,\r\n TooltipModule,\r\n // QRCodeModule,\r\n UploadsModule,\r\n FontAwesomeModule,\r\n StringToIconPropModule,\r\n DropDownsModule,\r\n ErrorTailorModule,\r\n IconsModule,\r\n ],\r\n exports: [],\r\n})\r\nexport class AdminModule {}\r\n"], "mappings": "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", "names": ["AdminUsersBaseComponent", "ControlStateDirective", "constructor", "tab", "defaultTitle", "notifierService", "envConfigurationService", "logger", "helpService", "isClassified", "baseUser", "previousUser", "selectedUserChangedCallback", "config", "getConfig", "selectedUser", "value", "userId", "caption", "userName", "wrapperClass", "loadingWrapperClass", "setHelpTopic", "helpTopicId", "\u0275\u0275directiveInject", "String", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "selectors", "inputs", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "template", "rf", "ctx", "encapsulation", "AdminSendUserNewPasswordComponent", "AdminUsersBaseComponent", "constructor", "notifierService", "envConfigurationService", "logger", "helpService", "authService", "isClassified", "buttonDisabled", "clickProcessing", "selectedUserChangedCallback", "sendEnabled", "emailAddress", "selectedUser", "eMailAddressClassified", "eMailAddressUnclassified", "email", "indexOf", "emailAddressType", "instructions", "ngOnInit", "config", "getConfig", "sendNewPassword", "postData", "userId", "userName", "question", "answer", "pipe", "untilDestroyed", "subscribe", "val", "message", "success", "title", "successOrError", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "AuthService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275property", "__decorate", "UntilDestroy", "AdminChangeUserPasswordComponent", "AdminUsersBaseComponent", "constructor", "notifierService", "envConfigurationService", "logger", "helpService", "selectedUserChangedCallback", "initComponent", "ngAfterViewInit", "setFormData", "managePassword", "focus", "actionComplete", "value", "setControlStateLoading", "config", "pwdConfig", "passwordComplexity", "previousPasswordsToCompare", "setControlStateNeutral", "formData", "userId", "selectedUser", "userName", "oldPassword", "newPassword", "forceExpiration", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "$event", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275advance", "\u0275\u0275property", "controlState", "\u0275\u0275element", "\u0275\u0275property", "ctx_r0", "effectivePermsConfig", "effectivePermsHeight", "sysRolesConfig", "sysRolesHeight", "sysPermConfig", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "agencyRolesValueChanged", "\u0275\u0275advance", "agencyRoleAgency", "agencyRolesConfig", "agencyRolesHeight", "_r3", "agencyPermsValueChanged", "agencyPermAgency", "agencyPermConfig", "miscPermConfig", "agDirPermConfig", "effortRolesConfig", "AdminManageUserPermissionsComponent", "AdminUsersBaseComponent", "getDebugData", "sources", "GeneralUtilities", "getChildComponentDebugData", "sysPermList", "sysRolesDuallist", "agencyPermList", "agencyRolesDuallist", "miscPermList", "agDirPermlist", "componentName", "constructor", "name", "allAgencies", "childComponentData", "notifierService", "envConfigurationService", "logger", "helpService", "commonService", "id", "label", "mode", "CommonConstants", "ActionAdmin", "userOrRoleId", "keyId", "keyName", "allowEdit", "permissionType", "PermissionType", "System", "isUser", "All", "rootPermissionNumber", "hideEmpty", "allowEmptyToggle", "userId", "permission", "AppPermission", "SystemEffortMetrics", "caption", "indexNetEffective", "indexSystemRoles", "indexSystemPermissions", "indexAgencyRoles", "indexAgencyPermissions", "indexMiscPermissions", "indexAgDirPermissions", "indexEffortRoles", "selectedUserChangedCallback", "initComponent", "ngAfterViewInit", "setTimeout", "sizeControl", "ngOnInit", "getAllAgencies", "pipe", "untilDestroyed", "subscribe", "val", "currentPayload", "payload", "key", "MessageConstants", "AppUsableAreaResize", "mainContainerHeightWidth", "AppUtilities", "getMainContainerHeightWidth", "offset", "agencyPickerHeight", "controlMinHeight", "viewportHeight", "y", "agencyHeight", "sysHeight", "effectiveHeight", "Math", "max", "containerHeight", "effectivePermsGrid", "onTabSelect", "e", "helpTopicId", "StaticsService", "toUrlSegment", "title", "index", "checkResetSysPermsConfig", "checkResetEffectivePermsConfig", "checkResetSysRolesConfig", "checkResetAgencyPermsConfig", "checkResetAgencyRolesConfig", "checkResetMiscConfig", "checkResetAgDirConfig", "checkResetEffortRolesConfig", "value", "loadAgencyRoles", "loadAgencyPermissions", "selectedUser", "newConfig", "newSysPermConfig", "newSysRolesConfig", "agencyId", "foundAgency", "find", "x", "miscConfig", "Misc", "agDirConfig", "agency", "agencyConfig", "Agency", "acronym", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "CommonService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275template", "AdminManageUserPermissionsComponent_ng_template_7_Template", "AdminManageUserPermissionsComponent_ng_template_9_Template", "AdminManageUserPermissionsComponent_ng_template_11_Template", "AdminManageUserPermissionsComponent_ng_template_13_Template", "AdminManageUserPermissionsComponent_ng_template_15_Template", "AdminManageUserPermissionsComponent_ng_template_17_Template", "AdminManageUserPermissionsComponent_ng_template_19_Template", "AdminManageUserPermissionsComponent_ng_template_21_Template", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "isControlStateLoadingOrSaving", "__decorate", "UntilDestroy", "init_main", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "userStat_r2", "\u0275\u0275nextContext", "$implicit", "\u0275\u0275resetView", "clickCallback", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275template", "AdminManageUserLoginComponent_tr_13_button_7_Template", "\u0275\u0275property", "cssClass", "\u0275\u0275advance", "ctx_r2", "getUserHelpPopup", "\u0275\u0275textInterpolate", "text", "value", "clickable", "stats", "userId", "userAttribute_r5", "_r4", "userAttributeToggle", "id", "disabled", "\u0275\u0275textInterpolate1", "_r6", "toggleLockoutStatus", "lockoutStatus", "isTogglingLockout", "AdminManageUserLoginComponent", "AdminUsersBaseComponent", "adminCommentSubmitDisabled", "FormUtilities", "submitDisabled", "adminCommentForm", "all", "dirty", "adminCommentClickProcessing", "lastProfileUpdateSubmitDisabled", "lastProfileUpdateDateForm", "lastProfileUpdateDateLoading", "constructor", "notifierService", "envConfigurationService", "logger", "helpService", "userService", "helpPopupConfig", "usernameSubmitClickProcessing", "lockoutStatusText", "activationStatusText", "activationStatus", "isTogglingActivation", "usernameFormSubmitSubject$", "Subject", "usernameSubmitDisabled", "selectedUserChangedCallback", "initComponent", "helpPopupButtonPlacement", "helpPopupTitlePrefix", "minDate", "getDate", "Date", "maxDate", "addYears", "ngOnInit", "createForm", "userAttribute", "userDateToggle", "modalConfirmResult", "pipe", "untilDestroyed", "subscribe", "val", "newDate", "obs", "callback", "oldStat", "statIndex", "saveLastProfileUpdateDate", "selectedUser", "profileUpdate", "saveLastPasswordChange", "passwordChange", "saveLastAccountVerification", "accountVerification", "message", "success", "userName", "title", "attributeId", "attributeTitle", "isWarning", "isExpired", "lastDate", "expiresInDays", "userStatLi", "userStats", "StaticsService", "getLongDateAmPmByValueOrDefault", "getListItemCssClass", "successOrError", "isNewValue", "attributeName", "toggleUserAttribute", "setActivationStatus", "isApproved", "toggleActivationLogout", "isActivation", "isGoodAction", "upTitle", "downTitle", "warning", "action", "errTitle", "error", "setLockoutStatus", "toggleActivationStatus", "isLockedOut", "onAdminCommentSubmit", "validateAllFormFields", "valid", "adminComment", "controls", "comment", "saveAdminComment", "onLastProfileUpdateSubmit", "profileUpdateDate", "oldProfileUpdate", "newProfileUpdate", "profileStat", "requiredValidators", "Validators", "required", "basicControlOptions", "validators", "updateOn", "EnhancedFormGroup", "create", "UntypedFormControl", "userNameValidator", "validateUniqueUserAttributeValidatorInstantAsync", "userNameOptions", "asyncValidators", "signupEmailValidator", "signupEmailOptions", "email", "usernameForm", "securityQuestion", "signupUsername", "signupEmail", "statusChanges", "usernameSubmitInternal", "requestUserNameSubmit", "markAsDirty", "onUsernameSubmit", "newUserName", "newSignupEmail", "saveNewUsernameSignupEmail", "toastWarning", "resetForm", "setValue", "clearAllErrors", "passwordQuestion", "setControlStateLoading", "getUserStatistics", "push", "getLongDateAmPmByValue", "createDate", "profileUpdateClickCallback", "pushUserExpiration", "pushLastPasswordChange", "accountLogon", "accountAuthentication", "accountVerificationClickCallback", "userAttributes", "pushUserAttribute", "trackDownloads", "trackAnnouncementViews", "trackEffortViews", "trackActivity", "autoSubscribeToEmailNotifications", "setControlStateNeutral", "isChecked", "getFullYear", "getTableItemCssClass", "getListOrTableItemCssClass", "isTable", "result", "prefix", "textboxFocus", "$event", "target", "select", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "UserService", "HelpPopupConfig", "selectors", "standalone", "features", "\u0275\u0275ProvidersFeature", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275element", "AdminManageUserLoginComponent_tr_13_Template", "AdminManageUserLoginComponent_li_18_Template", "AdminManageUserLoginComponent_li_19_Template", "AdminManageUserLoginComponent_button_70_Template", "\u0275\u0275pipeBind2", "isControlStateLoadingOrSaving", "\u0275\u0275classMap", "wrapperClass", "__decorate", "UntilDestroy", "AdminEditUserProfileComponent", "AdminUsersBaseComponent", "constructor", "notifierService", "envConfigurationService", "logger", "helpService", "contactService", "userService", "selectedUserChangedCallback", "initComponent", "manageProfileActionComplete", "value", "status", "contact", "result", "selectedUser", "isAce", "AppUtilities", "contactIsAce", "isAgency", "contactIsAgency", "agencyId", "organizationName", "organizationId", "directorateId", "eMailAddressClassified", "eMailAddressUnclassified", "displayName", "firstName", "lastName", "phoneNumberClassified", "phoneNumberUnclassified", "ssn", "ssn6", "toastError", "setControlStateLoading", "userId", "contactObs", "getContactByUserId", "pipe", "untilDestroyed", "userProfileObs", "getUserProfile", "forkJoin", "subscribe", "next", "val", "contactData", "userProfile", "windowsTimeZone", "manageProfile", "formData", "setControlStateNeutral", "error", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "ContactService", "UserService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "$event", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275advance", "\u0275\u0275property", "controlState", "__decorate", "UntilDestroy", "AdminLoginAsComponent", "AdminUsersBaseComponent", "constructor", "notifierService", "envConfigurationService", "logger", "helpService", "authService", "clickProcessing", "remoteIpMessage", "remoteIpEnabled", "remoteIpCheckComplete", "ngOnInit", "remoteIpPermitted", "pipe", "untilDestroyed", "subscribe", "val", "message", "success", "userName", "selectedUser", "sendEnabled", "buttonDisabled", "instructions", "suffix", "doLoginAs", "adminUser", "loggedOnUser", "adminUserId", "id", "adminUserName", "impersonatedUserId", "userId", "impersonatedUserName", "isAdminHelpdesk", "isHelpdesk", "loginAs", "next", "setControlStateNeutral", "title", "modalConfirmResult", "modalResult", "sendLoginAsExecuted", "routerExtService", "redirectToDashboard", "revertLoginAs", "toastSuccessOrError", "error", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "AuthService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275property", "__decorate", "UntilDestroy", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "userCert_r1", "i_r2", "AdminManageUserCertsComponent", "AdminUsersBaseComponent", "constructor", "notifierService", "envConfigurationService", "logger", "helpService", "userService", "pageCaption", "selectedUserChangedCallback", "initComponent", "selectedUser", "getData", "setControlStateLoading", "getUserCertificatesDetails", "userId", "pipe", "untilDestroyed", "subscribe", "val", "length", "userCerts", "setControlStateNeutral", "\u0275\u0275directiveInject", "NotifierService", "EnvConfigurationService", "NGXLogger", "HelpService", "UserService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275text", "\u0275\u0275template", "AdminManageUserCertsComponent_div_7_Template", "\u0275\u0275textInterpolate", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "isControlStateLoadingOrSaving", "\u0275\u0275classMap", "wrapperClass", "__decorate", "UntilDestroy", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "toggleGridCollapsible", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "topCollapsibleHeader", "\u0275\u0275property", "topCollapsibleIsExpanded", "\u0275\u0275template", "AdminFeedbackGridComponent_div_0_div_1_Template", "\u0275\u0275element", "topCollapsible", "\u0275\u0275classMap", "\u0275\u0275pipeBind1", "topMarkup", "\u0275\u0275sanitizeHtml", "headerButtonSize", "getId", "\u0275\u0275textInterpolate1", "addNewRecordText", "_r4", "exportToPDF", "headerButtonGlyphStyle", "_r5", "exportToExcel", "_r6", "customCommand_r7", "$implicit", "customCommandClick", "eventName", "appButtonName", "inputClass", "customCommandText", "customCommandTitle", "isControlStateLoadingOrSaving", "iconClass", "_r8", "AdminFeedbackGridComponent_4_ng_template_0_ng_container_5_button_2_em_1_Template", "\u0275\u0275elementContainerStart", "_r9", "customCommandChecked", "customCommandSwitchSize", "AdminFeedbackGridComponent_4_ng_template_0_ng_container_5_button_1_Template", "AdminFeedbackGridComponent_4_ng_template_0_ng_container_5_button_2_Template", "AdminFeedbackGridComponent_4_ng_template_0_ng_container_5_ng_container_3_Template", "shouldRenderCommandOrAction", "$event", "_r10", "gridCustomHeaderComponentChangeInterceptor", "gridConfig", "_r11", "resetToDefaults", "_r12", "restoreOrder", "_r13", "restoreColumns", "_r14", "clearFilters", "_r15", "clearSort", "_r16", "refresh", "pageByLetterCaption", "letter_r18", "_r17", "pageByLetter", "letterButtonPagerClass", "AdminFeedbackGridComponent_4_ng_template_0_div_14_div_2_button_1_Template", "letters", "letter_r20", "_r19", "selectByLetter", "AdminFeedbackGridComponent_4_ng_template_0_div_14_select_3_option_1_Template", "AdminFeedbackGridComponent_4_ng_template_0_div_14_div_1_Template", "AdminFeedbackGridComponent_4_ng_template_0_div_14_div_2_Template", "AdminFeedbackGridComponent_4_ng_template_0_div_14_select_3_Template", "alphabeticPagerSettings", "caption", "mediaQueries", "fromLarge", "untilLarge", "AdminFeedbackGridComponent_4_ng_template_0_button_2_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_3_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_4_Template", "AdminFeedbackGridComponent_4_ng_template_0_ng_container_5_Template", "AdminFeedbackGridComponent_4_ng_template_0_app_generic_kendo_grid_header_6_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_8_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_9_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_10_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_11_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_12_Template", "AdminFeedbackGridComponent_4_ng_template_0_button_13_Template", "AdminFeedbackGridComponent_4_ng_template_0_div_14_Template", "allowAddNew", "allowPdfExport", "allowExcelExport", "customCommands", "hasDynamicHeaderComponents", "showResetToDefaults", "showUndoReorder", "showUnhide", "showClearFilters", "showClearSort", "allowRefresh", "enabled", "AdminFeedbackGridComponent_4_ng_template_0_Template", "customPdfContent", "AdminFeedbackGridComponent_kendo_grid_pdf_5_ng_template_2_div_7_Template", "\u0275\u0275classMapInterpolate1", "exportBannerClassName", "classification", "docTitle", "\u0275\u0275textInterpolate2", "pageNum_r21", "totalPages_r22", "showCustomPdfContent", "pdfColumn_r23", "field", "title", "getPdfColumnWidth", "format", "AdminFeedbackGridComponent_kendo_grid_pdf_5_ng_template_2_Template", "AdminFeedbackGridComponent_kendo_grid_pdf_5_kendo_grid_column_3_Template", "pdfFileName", "forcePdfPageBreak", "pdfColumns", "excelColumn_r24", "getExcelColumnWidth", "getExcelCellOptions", "AdminFeedbackGridComponent_kendo_grid_excel_6_kendo_excelexport_column_1_Template", "excelFileName", "getAllExcelData", "excelColumns", "_r25", "screenColumn_r26", "screenColumnCustomFilterChange", "\u0275\u0275styleMap", "screenColumnCustomFilterListDataStyle", "screenColumnCustomFilterListData", "screenColumnCustomFilterListSelected", "column_r29", "filter_r28", "screenColumnFilteringShowOperators", "screenColumnFilteringDefaultOperator", "screenColumnFilteringFilterDelay", "screenColumnFilteringDecimals", "screenColumnFilteringMax", "screenColumnFilteringMin", "screenColumnFilteringSpinners", "screenColumnFilteringStep", "screenColumnFilteringFormat", "_r30", "filterSwitchClick", "filterSwitchClass", "filterSwitchText", "filterSwitchIconClass", "AdminFeedbackGridComponent_ng_container_7_2_ng_template_0_kendo_multiselect_0_Template", "AdminFeedbackGridComponent_ng_container_7_2_ng_template_0_kendo_grid_string_filter_cell_1_Template", "AdminFeedbackGridComponent_ng_container_7_2_ng_template_0_kendo_grid_date_filter_cell_2_Template", "AdminFeedbackGridComponent_ng_container_7_2_ng_template_0_kendo_grid_numeric_filter_cell_3_Template", "AdminFeedbackGridComponent_ng_container_7_2_ng_template_0_button_4_Template", "screenColumnUseCustomFilterList", "screenColumnIsTextFilterColumn", "screenColumnIsDateColumn", "screenColumnIsNumericColumn", "screenColumnIsBooleanColumn", "AdminFeedbackGridComponent_ng_container_7_2_ng_template_0_Template", "screenColumnHelpPopupTitle", "column_r31", "screenColumnHelpPopupText", "_r32", "hideColumn", "screenColumnHideTitle", "AdminFeedbackGridComponent_ng_container_7_ng_template_3_span_1_Template", "AdminFeedbackGridComponent_ng_container_7_ng_template_3_span_2_Template", "AdminFeedbackGridComponent_ng_container_7_ng_template_3_span_3_Template", "AdminFeedbackGridComponent_ng_container_7_ng_template_3_button_4_Template", "screenColumnHasHelpTooltip", "screenColumnHasHelpPopup", "screenColumnHasNoHelp", "screenColumnAllowHide", "screenColumnLinkIconClass", "dataItem_r34", "rowIndex_r35", "columnIndex_r36", "_r37", "ctx_r32", "rowIndex", "columnIndex", "screenColumnLinkClick", "screenColumnRouterLink", "screenColumnLinkText", "screenColumnLinkClass", "mailToColumnHref", "\u0275\u0275sanitizeUrl", "telColumnHref", "AdminFeedbackGridComponent_ng_container_7_ng_container_4_ng_template_1_em_1_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_4_ng_template_1_a_2_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_4_ng_template_1_a_3_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_4_ng_template_1_a_4_Template", "screenColumnDivClass", "hasLinkIcon", "screenColumnIsRegularLinkColumn", "screenColumnIsMailToLinkColumn", "screenColumnIsTelLinkColumn", "AdminFeedbackGridComponent_ng_container_7_ng_container_4_ng_template_1_Template", "dataItem_r38", "screenColumnTemplatedContent", "AdminFeedbackGridComponent_ng_container_7_ng_container_5_ng_template_1_div_0_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_5_ng_template_1_div_1_Template", "showTemplatedColumnTooltip", "AdminFeedbackGridComponent_ng_container_7_ng_container_5_ng_template_1_Template", "screenColumnTimezoneDateContent", "dataItem_r39", "AdminFeedbackGridComponent_ng_container_7_ng_container_6_ng_template_1_Template", "rowIndex_r40", "AdminFeedbackGridComponent_ng_container_7_ng_container_7_ng_template_1_Template", "dataItemBooleanValue", "dataItem_r41", "AdminFeedbackGridComponent_ng_container_7_ng_container_8_ng_template_1_Template", "ctx_r42", "_r42", "dataItem_r44", "rowIndex_r45", "columnIndex_r46", "cellValueChange", "screenColumnSwitchDisabled", "AdminFeedbackGridComponent_ng_container_7_ng_container_9_ng_template_1_Template", "_r47", "ctx_r47", "dataItem_r49", "rowIndex_r50", "columnIndex_r51", "onTitle", "offTitle", "_r52", "AdminFeedbackGridComponent_ng_container_7_ng_container_10_ng_template_1_ng_container_0_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_10_ng_template_1_kendo_switch_1_Template", "screenColumnTristateIsNull", "AdminFeedbackGridComponent_ng_container_7_ng_container_10_ng_template_1_Template", "screenColumnRatingClass", "fill_r58", "index_r59", "ctx_r53", "_r53", "dataItem_r55", "rowIndex_r56", "columnIndex_r57", "AdminFeedbackGridComponent_ng_container_7_ng_container_11_ng_template_1_ng_template_1_Template", "dataItemNumericValue", "screenColumnMaxValue", "AdminFeedbackGridComponent_ng_container_7_ng_container_11_ng_template_1_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_12_ng_template_1_Template", "AdminFeedbackGridComponent_ng_container_7_2_Template", "AdminFeedbackGridComponent_ng_container_7_ng_template_3_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_4_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_5_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_6_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_7_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_8_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_9_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_10_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_11_Template", "AdminFeedbackGridComponent_ng_container_7_ng_container_12_Template", "getScreenColumnClass", "screenColumnFilter", "screenColumnFilteringEnabled", "screenColumnSortingEnabled", "getScreenColumnHeaderClass", "width", "getScreenColumnEditorType", "getScreenColumnIsEditable", "screenColumnIsLinkColumn", "screenColumnIsTemplatedColumn", "screenColumnIsTimezoneDateColumn", "screenColumnIsRowNumberColumn", "screenColumnIsCheckboxColumn", "screenColumnIsSwitchColumn", "screenColumnIsTristateColumn", "screenColumnIsRatingColumn", "screenColumnIsPinColumn", "gridButtonSize", "formGroup", "invalid", "isNew_r60", "_r61", "action_r62", "ctx_r62", "dataItem_r64", "rowIndex_r65", "columnIndex_r66", "actionClick", "actionClass", "buttonSize", "actionText", "actionTitle", "actionDisabled", "_r67", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_button_2_em_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_button_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_button_2_Template", "shouldRenderAction", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_5_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_6_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_7_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_9_Template", "allowEdit", "addOrEditIsInline", "actions", "allowDelete", "_r68", "action_r69", "_r70", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_button_2_em_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_button_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_button_2_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_2_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_3_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_5_Template", "_r71", "action_r72", "_r73", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_button_2_em_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_button_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_button_2_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_2_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_3_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_5_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_div_2_Template", "actionsDisplayMode", "AdminFeedbackGridComponent_kendo_grid_command_column_8_ng_template_1_Template", "actionsWidth", "dataItem_r75", "_r74", "dumpClick", "AdminFeedbackGridComponent_ng_container_9_ng_template_2_Template", "noRecordsMessage", "anchor_r76", "nativeElement", "getAttribute", "anchor_r77", "AdminFeedbackGridComponent", "GenericKendoGridComponent", "constructor", "logger", "spinner", "envConfigurationService", "authService", "datePipe", "helpService", "notifierService", "cdRef", "adminService", "containerHeightChangedCallback", "wireupConfig", "refreshClickCallback", "value", "getData", "ngOnInit", "allowFiltering", "formattedFeedbackNumberCol", "getDefaultStringCol", "emailCol", "getEmailCol", "isBugCol", "getDefaultBooleanCol", "jiraKeyCol", "subjectCol", "responseCol", "itemStatusCol", "columnType", "isGrid", "isExcel", "isPdf", "filtering", "showOperators", "customItems", "sortable", "dateCreatedCol", "getDefaultTimezoneDateCol", "inputType", "inputSize", "gridColumns", "exportBaseTitle", "confirmDeleteCallback", "dataItem", "prefix", "isBug", "formattedFeedbackNumber", "modalConfirmResult", "performDeleteCallback", "deleteFeedback", "id", "defaultSortable", "state", "defaultPageableState", "initialPageSize", "mergeNormalPaging", "setControlStateLoading", "getFeedback", "pipe", "untilDestroyed", "subscribe", "data", "setControlStateNeutral", "\u0275\u0275directiveInject", "NGXLogger", "NgxSpinnerService", "EnvConfigurationService", "AuthService", "DatePipe", "HelpService", "NotifierService", "ChangeDetectorRef", "AdminService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "AdminFeedbackGridComponent_div_0_Template", "i0", "_r1", "onPDFExport", "onExcelExport", "onColumnReorder", "onColumnResize", "sortChange", "editHandler", "cancelHandler", "saveHandler", "removeHandler", "addHandler", "scrollBottom", "AdminFeedbackGridComponent_4_Template", "AdminFeedbackGridComponent_kendo_grid_pdf_5_Template", "AdminFeedbackGridComponent_kendo_grid_excel_6_Template", "AdminFeedbackGridComponent_ng_container_7_Template", "AdminFeedbackGridComponent_kendo_grid_command_column_8_Template", "AdminFeedbackGridComponent_ng_container_9_Template", "AdminFeedbackGridComponent_ng_template_10_Template", "AdminFeedbackGridComponent_ng_template_11_Template", "\u0275\u0275templateRefExtractor", "AdminFeedbackGridComponent_ng_template_13_Template", "tooltipFilter", "titleTemplate_r78", "tooltipTemplate_r79", "tooltipPosition", "tooltipWidth", "gridId", "gridSkip", "gridPageSize", "isGridLoading", "gridData", "gridHeight", "gridScrollable", "pageable", "rowHeight", "reorderable", "filter", "sort", "rowClassCallback", "hasToolbar", "screenColumns", "hasActionsColumn", "showRowDumpCol", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "addToJira", "\u0275\u0275elementEnd", "addIssueToJira", "showJiraCredsModal", "\u0275\u0275text", "_r3", "copyDebugData", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275property", "copyDebugDataCaption", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate", "safeDebugData", "\u0275\u0275textInterpolate1", "dataItem", "appEnvironment", "httpRequestBrowser", "httpRequestBrowserVersion", "httpRequestClientIp", "httpRequestUserAgent", "_r4", "showImgModal", "screenshotId", "screenshotBase64", "\u0275\u0275sanitizeUrl", "AdminFeedbackDetailsComponent", "ControlStateDirective", "leftColClass", "#dataItem", "value", "adminService", "getSingleFeedback", "feedbackNumber", "pipe", "untilDestroyed", "subscribe", "val", "rebindRequired", "isDebugDataCopied", "isValidDebugData", "JsonUtilities", "hasJsonStructure", "debugData", "parsedData", "safeJsonParseWrapper", "rebindForm", "hasScreenshot", "hasDebugData", "constructor", "logger", "fb", "envConfigurationService", "notifierService", "authService", "jiraService", "modalService", "buttonClicked", "EventEmitter", "id", "jiraKey", "response", "itemStatus", "dateCreatedUtc", "Date", "isBug", "email", "subject", "comment", "userId", "ngUrl", "showDetails", "isJiraAdmin", "ngOnInit", "config", "getConfig", "user", "loggedOnUser", "hasKeys", "setControlStateLoading", "getUserPreferences", "userPreferences", "foundPref", "find", "x", "preferenceKey", "jiraCred", "jsonParseToType", "preferenceValue", "setKeys", "jiraUserName", "jiraToken", "setControlStateNeutral", "createFeedbackBugForm", "feedbackBugForm", "controls", "setValue", "formattedData", "JSON", "stringify", "navigator", "clipboard", "writeText", "then", "catch", "e", "error", "jiraConfig", "jira", "feedbackId", "parentKey", "bugMasterIssue", "feedbackMasterIssue", "createSubtask", "subTaskIssueType", "projectNumber", "next", "data", "newKey", "key", "toastSuccess", "errorMessage", "GeneralUtilities", "getErrorMessageFromAnyError", "showJiraIssueModal", "toggleDetails", "back", "requiredValidators", "Validators", "required", "group", "notifySubmitter", "submitDisabled", "FormUtilities", "all", "controlState", "onFeedbackBugSubmit", "validateAllFormFields", "valid", "postData", "responderEmail", "setControlStateSaving", "updateFeedback", "successTitle", "errorTitle", "message", "title", "success", "successOrError", "complete", "modalOptions", "AppUtilities", "getDefaultCenteredModalOptions", "modalRef", "open", "JiraCredsFormComponent", "defaultIssueTypeId", "issueTypeName", "defaultIssueType", "issueTypes", "description", "issueType", "summary", "allowSummaryEdit", "allowDescriptionEdit", "JiraIssueFormComponent", "componentInstance", "result", "closeResult", "windowClass", "modalDialogClass", "imgSrc", "ViewImgComponent", "imgTitle", "formattedFeedbackNumber", "textboxFocus", "$event", "target", "select", "\u0275\u0275directiveInject", "NGXLogger", "AdminService", "UntypedFormBuilder", "EnvConfigurationService", "NotifierService", "AuthService", "JiraIntegrationService", "NgbModal", "selectors", "inputs", "outputs", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "AdminFeedbackDetailsComponent_div_22_Template", "AdminFeedbackDetailsComponent_div_40_Template", "AdminFeedbackDetailsComponent_div_58_Template", "AdminFeedbackDetailsComponent_div_59_Template", "isClassified", "isControlStateSaving", "__decorate", "UntilDestroy", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275classMapInterpolate1", "ctx_r3", "config", "bannerClass", "\u0275\u0275textInterpolate1", "classification", "pdfFileName", "\u0275\u0275textInterpolate2", "pageNum_r2", "totalPages_r3", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275textInterpolate", "dataItem_r5", "formattedFeedbackNumber", "itemStatus", "email", "isBug", "\u0275\u0275pipeBind2", "dateCreatedUtc", "formatDateTimeMilitary", "comment", "response", "AdminFeedbackListComponent", "ControlStateDirective", "constructor", "logger", "spinner", "envConfigurationService", "authService", "datePipe", "helpService", "notifierService", "adminService", "showScreenshots", "data", "pdfMargin", "StaticsService", "getPdfDefaultMargin", "AppConstants", "FormatDateTimeMilitary", "getConfig", "ngOnInit", "loadData", "isControlStateLoading", "setControlStateLoading", "getFeedback", "pipe", "untilDestroyed", "subscribe", "setControlStateNeutral", "exportToPdf", "getFilestampedFileName", "pdf", "author", "getPdfAuthor", "creator", "getPdfCreator", "saveAs", "toggleScreenshots", "getDebugData", "componentName", "name", "\u0275\u0275directiveInject", "NGXLogger", "NgxSpinnerService", "EnvConfigurationService", "AuthService", "DatePipe", "HelpService", "NotifierService", "AdminService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275listener", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275template", "AdminFeedbackListComponent_ng_template_8_Template", "AdminFeedbackListComponent_ng_container_11_Template", "\u0275\u0275property", "__decorate", "UntilDestroy", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r2", "getImageSrc", "image_r2", "\u0275\u0275sanitizeUrl", "getImageName", "image_r4", "image_r5", "AdminFeedParseQrComponent", "ControlStateDirective", "setFocus", "qrTextArea", "HtmlUtilities", "domFocusSelect", "textButtonDisabled", "isControlStateLoadingOrSaving", "qrText", "imageButtonDisabled", "myPendingFiles", "length", "toggleButtonText", "hideUpload", "constructor", "logger", "adminService", "notifierService", "myFiles", "mySuccessFiles", "myErrorFiles", "myRestrictions", "allowedExtensions", "uploadSaveUrl", "uploadRemoveUrl", "processingImagesText", "parsingQrText", "qrSpinnerConfig", "bdColor", "size", "type", "fullScreen", "getFeedImageUploadUrl", "getFeedImageRemoveUrl", "spinnerText", "ngAfterViewInit", "onSelect", "ev", "files", "forEach", "file", "rawFile", "validationErrors", "reader", "FileReader", "onloadend", "push", "__spreadProps", "__spreadValues", "src", "result", "readAsDataURL", "onSuccess", "setControlStateNeutral", "response", "body", "operation", "filter", "f", "uid", "isParsed", "foundItem", "resultObject", "find", "x", "fileName", "name", "success", "additionalQrText", "qrCodes", "join", "onUpload", "sendGlobalSpinnerTextChanged", "setControlStateSaving", "onCancel", "removePending", "onRemove", "onClear", "resetFileLists", "parseFeed", "isControlStateSaving", "parseFeedText", "pipe", "untilDestroyed", "subscribe", "val", "resetComponent", "toastSuccess", "message", "indexOf", "toastWarning", "toastError", "resetUpload", "resetQr", "upload", "clearFiles", "toggleUploadVisibility", "\u0275\u0275directiveInject", "NGXLogger", "AdminService", "NotifierService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275text", "\u0275\u0275twoWayListener", "$event", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275twoWayBindingSet", "\u0275\u0275resetView", "\u0275\u0275listener", "\u0275\u0275template", "AdminFeedParseQrComponent_div_25_Template", "AdminFeedParseQrComponent_div_30_Template", "AdminFeedParseQrComponent_div_35_Template", "\u0275\u0275twoWayProperty", "__decorate", "UntilDestroy", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "toggleGridCollapsible", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "topCollapsibleHeader", "\u0275\u0275property", "topCollapsibleIsExpanded", "\u0275\u0275template", "AdminFeedViewTransferComponent_div_0_div_1_Template", "\u0275\u0275element", "topCollapsible", "\u0275\u0275classMap", "\u0275\u0275pipeBind1", "topMarkup", "\u0275\u0275sanitizeHtml", "headerButtonSize", "getId", "\u0275\u0275textInterpolate1", "addNewRecordText", "_r4", "exportToPDF", "headerButtonGlyphStyle", "_r5", "exportToExcel", "_r6", "customCommand_r7", "$implicit", "customCommandClick", "eventName", "appButtonName", "inputClass", "customCommandText", "customCommandTitle", "isControlStateLoadingOrSaving", "iconClass", "_r8", "AdminFeedViewTransferComponent_4_ng_template_0_ng_container_5_button_2_em_1_Template", "\u0275\u0275elementContainerStart", "_r9", "customCommandChecked", "customCommandSwitchSize", "AdminFeedViewTransferComponent_4_ng_template_0_ng_container_5_button_1_Template", "AdminFeedViewTransferComponent_4_ng_template_0_ng_container_5_button_2_Template", "AdminFeedViewTransferComponent_4_ng_template_0_ng_container_5_ng_container_3_Template", "shouldRenderCommandOrAction", "$event", "_r10", "gridCustomHeaderComponentChangeInterceptor", "gridConfig", "_r11", "resetToDefaults", "_r12", "restoreOrder", "_r13", "restoreColumns", "_r14", "clearFilters", "_r15", "clearSort", "_r16", "refresh", "pageByLetterCaption", "letter_r18", "_r17", "pageByLetter", "letterButtonPagerClass", "AdminFeedViewTransferComponent_4_ng_template_0_div_14_div_2_button_1_Template", "letters", "letter_r20", "_r19", "selectByLetter", "AdminFeedViewTransferComponent_4_ng_template_0_div_14_select_3_option_1_Template", "AdminFeedViewTransferComponent_4_ng_template_0_div_14_div_1_Template", "AdminFeedViewTransferComponent_4_ng_template_0_div_14_div_2_Template", "AdminFeedViewTransferComponent_4_ng_template_0_div_14_select_3_Template", "alphabeticPagerSettings", "caption", "mediaQueries", "fromLarge", "untilLarge", "AdminFeedViewTransferComponent_4_ng_template_0_button_2_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_3_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_4_Template", "AdminFeedViewTransferComponent_4_ng_template_0_ng_container_5_Template", "AdminFeedViewTransferComponent_4_ng_template_0_app_generic_kendo_grid_header_6_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_8_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_9_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_10_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_11_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_12_Template", "AdminFeedViewTransferComponent_4_ng_template_0_button_13_Template", "AdminFeedViewTransferComponent_4_ng_template_0_div_14_Template", "allowAddNew", "allowPdfExport", "allowExcelExport", "customCommands", "hasDynamicHeaderComponents", "showResetToDefaults", "showUndoReorder", "showUnhide", "showClearFilters", "showClearSort", "allowRefresh", "enabled", "AdminFeedViewTransferComponent_4_ng_template_0_Template", "customPdfContent", "AdminFeedViewTransferComponent_kendo_grid_pdf_5_ng_template_2_div_7_Template", "\u0275\u0275classMapInterpolate1", "exportBannerClassName", "classification", "docTitle", "\u0275\u0275textInterpolate2", "pageNum_r21", "totalPages_r22", "showCustomPdfContent", "pdfColumn_r23", "field", "title", "getPdfColumnWidth", "format", "AdminFeedViewTransferComponent_kendo_grid_pdf_5_ng_template_2_Template", "AdminFeedViewTransferComponent_kendo_grid_pdf_5_kendo_grid_column_3_Template", "pdfFileName", "forcePdfPageBreak", "pdfColumns", "excelColumn_r24", "getExcelColumnWidth", "getExcelCellOptions", "AdminFeedViewTransferComponent_kendo_grid_excel_6_kendo_excelexport_column_1_Template", "excelFileName", "getAllExcelData", "excelColumns", "_r25", "screenColumn_r26", "screenColumnCustomFilterChange", "\u0275\u0275styleMap", "screenColumnCustomFilterListDataStyle", "screenColumnCustomFilterListData", "screenColumnCustomFilterListSelected", "column_r29", "filter_r28", "screenColumnFilteringShowOperators", "screenColumnFilteringDefaultOperator", "screenColumnFilteringFilterDelay", "screenColumnFilteringDecimals", "screenColumnFilteringMax", "screenColumnFilteringMin", "screenColumnFilteringSpinners", "screenColumnFilteringStep", "screenColumnFilteringFormat", "_r30", "filterSwitchClick", "filterSwitchClass", "filterSwitchText", "filterSwitchIconClass", "AdminFeedViewTransferComponent_ng_container_7_2_ng_template_0_kendo_multiselect_0_Template", "AdminFeedViewTransferComponent_ng_container_7_2_ng_template_0_kendo_grid_string_filter_cell_1_Template", "AdminFeedViewTransferComponent_ng_container_7_2_ng_template_0_kendo_grid_date_filter_cell_2_Template", "AdminFeedViewTransferComponent_ng_container_7_2_ng_template_0_kendo_grid_numeric_filter_cell_3_Template", "AdminFeedViewTransferComponent_ng_container_7_2_ng_template_0_button_4_Template", "screenColumnUseCustomFilterList", "screenColumnIsTextFilterColumn", "screenColumnIsDateColumn", "screenColumnIsNumericColumn", "screenColumnIsBooleanColumn", "AdminFeedViewTransferComponent_ng_container_7_2_ng_template_0_Template", "screenColumnHelpPopupTitle", "column_r31", "screenColumnHelpPopupText", "_r32", "hideColumn", "screenColumnHideTitle", "AdminFeedViewTransferComponent_ng_container_7_ng_template_3_span_1_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_template_3_span_2_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_template_3_span_3_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_template_3_button_4_Template", "screenColumnHasHelpTooltip", "screenColumnHasHelpPopup", "screenColumnHasNoHelp", "screenColumnAllowHide", "screenColumnLinkIconClass", "dataItem_r34", "rowIndex_r35", "columnIndex_r36", "_r37", "ctx_r32", "rowIndex", "columnIndex", "screenColumnLinkClick", "screenColumnRouterLink", "screenColumnLinkText", "screenColumnLinkClass", "mailToColumnHref", "\u0275\u0275sanitizeUrl", "telColumnHref", "AdminFeedViewTransferComponent_ng_container_7_ng_container_4_ng_template_1_em_1_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_4_ng_template_1_a_2_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_4_ng_template_1_a_3_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_4_ng_template_1_a_4_Template", "screenColumnDivClass", "hasLinkIcon", "screenColumnIsRegularLinkColumn", "screenColumnIsMailToLinkColumn", "screenColumnIsTelLinkColumn", "AdminFeedViewTransferComponent_ng_container_7_ng_container_4_ng_template_1_Template", "dataItem_r38", "screenColumnTemplatedContent", "AdminFeedViewTransferComponent_ng_container_7_ng_container_5_ng_template_1_div_0_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_5_ng_template_1_div_1_Template", "showTemplatedColumnTooltip", "AdminFeedViewTransferComponent_ng_container_7_ng_container_5_ng_template_1_Template", "screenColumnTimezoneDateContent", "dataItem_r39", "AdminFeedViewTransferComponent_ng_container_7_ng_container_6_ng_template_1_Template", "rowIndex_r40", "AdminFeedViewTransferComponent_ng_container_7_ng_container_7_ng_template_1_Template", "dataItemBooleanValue", "dataItem_r41", "AdminFeedViewTransferComponent_ng_container_7_ng_container_8_ng_template_1_Template", "ctx_r42", "_r42", "dataItem_r44", "rowIndex_r45", "columnIndex_r46", "cellValueChange", "screenColumnSwitchDisabled", "AdminFeedViewTransferComponent_ng_container_7_ng_container_9_ng_template_1_Template", "_r47", "ctx_r47", "dataItem_r49", "rowIndex_r50", "columnIndex_r51", "onTitle", "offTitle", "_r52", "AdminFeedViewTransferComponent_ng_container_7_ng_container_10_ng_template_1_ng_container_0_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_10_ng_template_1_kendo_switch_1_Template", "screenColumnTristateIsNull", "AdminFeedViewTransferComponent_ng_container_7_ng_container_10_ng_template_1_Template", "screenColumnRatingClass", "fill_r58", "index_r59", "ctx_r53", "_r53", "dataItem_r55", "rowIndex_r56", "columnIndex_r57", "AdminFeedViewTransferComponent_ng_container_7_ng_container_11_ng_template_1_ng_template_1_Template", "dataItemNumericValue", "screenColumnMaxValue", "AdminFeedViewTransferComponent_ng_container_7_ng_container_11_ng_template_1_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_12_ng_template_1_Template", "AdminFeedViewTransferComponent_ng_container_7_2_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_template_3_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_4_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_5_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_6_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_7_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_8_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_9_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_10_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_11_Template", "AdminFeedViewTransferComponent_ng_container_7_ng_container_12_Template", "getScreenColumnClass", "screenColumnFilter", "screenColumnFilteringEnabled", "screenColumnSortingEnabled", "getScreenColumnHeaderClass", "width", "getScreenColumnEditorType", "getScreenColumnIsEditable", "screenColumnIsLinkColumn", "screenColumnIsTemplatedColumn", "screenColumnIsTimezoneDateColumn", "screenColumnIsRowNumberColumn", "screenColumnIsCheckboxColumn", "screenColumnIsSwitchColumn", "screenColumnIsTristateColumn", "screenColumnIsRatingColumn", "screenColumnIsPinColumn", "gridButtonSize", "formGroup", "invalid", "isNew_r60", "_r61", "action_r62", "ctx_r62", "dataItem_r64", "rowIndex_r65", "columnIndex_r66", "actionClick", "actionClass", "buttonSize", "actionText", "actionTitle", "actionDisabled", "_r67", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_button_2_em_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_button_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_button_2_Template", "shouldRenderAction", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_5_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_6_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_7_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_ng_container_8_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_button_9_Template", "allowEdit", "addOrEditIsInline", "actions", "allowDelete", "_r68", "action_r69", "_r70", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_button_2_em_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_button_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_button_2_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_2_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_3_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_ng_container_4_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_button_5_Template", "_r71", "action_r72", "_r73", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_button_2_em_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_button_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_button_2_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_2_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_3_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_ng_container_4_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_button_5_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_0_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_ng_container_1_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_div_2_Template", "actionsDisplayMode", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_ng_template_1_Template", "actionsWidth", "dataItem_r75", "_r74", "dumpClick", "AdminFeedViewTransferComponent_ng_container_9_ng_template_2_Template", "noRecordsMessage", "anchor_r76", "nativeElement", "getAttribute", "anchor_r77", "AdminFeedViewTransferComponent", "GenericKendoGridComponent", "constructor", "logger", "spinner", "envConfigurationService", "authService", "datePipe", "helpService", "notifierService", "cdRef", "adminService", "refreshClickCallback", "value", "getData", "ngOnInit", "allowFiltering", "wireupConfig", "subjectCol", "columnType", "isGrid", "isExcel", "isPdf", "filtering", "showOperators", "sortable", "announcementCol", "dateCreatedCol", "getDefaultDateCol", "inputType", "gridColumns", "customItems", "exportBaseTitle", "defaultSortable", "state", "defaultPageableState", "initialPageSize", "defaultInitialPageSize", "mergeNormalPaging", "setControlStateLoadError", "getTransferFeeds", "pipe", "untilDestroyed", "subscribe", "data", "setControlStateNeutral", "\u0275\u0275directiveInject", "NGXLogger", "NgxSpinnerService", "EnvConfigurationService", "AuthService", "DatePipe", "HelpService", "NotifierService", "ChangeDetectorRef", "AdminService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "AdminFeedViewTransferComponent_div_0_Template", "i0", "_r1", "onPDFExport", "onExcelExport", "onColumnReorder", "onColumnResize", "sortChange", "editHandler", "cancelHandler", "saveHandler", "removeHandler", "addHandler", "scrollBottom", "AdminFeedViewTransferComponent_4_Template", "AdminFeedViewTransferComponent_kendo_grid_pdf_5_Template", "AdminFeedViewTransferComponent_kendo_grid_excel_6_Template", "AdminFeedViewTransferComponent_ng_container_7_Template", "AdminFeedViewTransferComponent_kendo_grid_command_column_8_Template", "AdminFeedViewTransferComponent_ng_container_9_Template", "AdminFeedViewTransferComponent_ng_template_10_Template", "AdminFeedViewTransferComponent_ng_template_11_Template", "\u0275\u0275templateRefExtractor", "AdminFeedViewTransferComponent_ng_template_13_Template", "tooltipFilter", "titleTemplate_r78", "tooltipTemplate_r79", "tooltipPosition", "tooltipWidth", "gridId", "gridSkip", "gridPageSize", "isGridLoading", "gridData", "gridHeight", "gridScrollable", "pageable", "rowHeight", "reorderable", "filter", "sort", "rowClassCallback", "hasToolbar", "screenColumns", "hasActionsColumn", "showRowDumpCol", "AdminFeedGenQrComponent", "ControlStateDirective", "#dataItem", "constructor", "notifierService", "logger", "printService", "adminService", "feedId", "#feedSummaryType", "FeedSummaryType", "None", "getEmptyFeedsTransferGridDto", "dataItem", "value", "id", "summaryType", "h3Text", "isControlStateLoading", "subject", "printFeed", "printElementRef", "printableRef", "markSummaryAsTransferred", "modalConfirmResult", "subscribe", "result", "setSummaryFeedsAsTransferred", "setFeedAsTransferred", "val", "toastType", "success", "toastSuccessOrError", "message", "announcement", "mailText", "isTransfered", "isForTransfer", "feedStatus", "dateCreatedUtc", "Date", "\u0275\u0275directiveInject", "NotifierService", "NGXLogger", "PrintService", "AdminService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275property", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r4", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "sendSignupLink", "\u0275\u0275element", "\u0275\u0275property", "selectedUser", "\u0275\u0275advance", "userId", "tabbedGridConfigHeight", "_r6", "showUserLoginReportDialog", "signoutAllSessions", "convertToNroAceUser", "isSigningOutAllSessions", "convertToNroAceUserDisabled", "convertToNroAceUserClickProcessing", "$event", "_r5", "onUsersTabSelect", "\u0275\u0275template", "AdminComponent_section_8_div_10_ng_template_5_Template", "AdminComponent_section_8_div_10_ng_template_7_Template", "AdminComponent_section_8_div_10_ng_template_9_Template", "AdminComponent_section_8_div_10_ng_template_11_Template", "AdminComponent_section_8_div_10_ng_template_13_Template", "AdminComponent_section_8_div_10_ng_template_15_Template", "AdminComponent_section_8_div_10_ng_template_17_Template", "userTabStatsAndLogin", "tabSelected", "userTabPassword", "userTabPermissions", "userTabProfile", "userTabCertificates", "userTabLoginHistory", "userTabOther", "_r2", "userValueChanged", "AdminComponent_section_8_div_9_Template", "AdminComponent_section_8_div_10_Template", "\u0275\u0275textInterpolate1", "userCaption", "\u0275\u0275classMap", "userOrgClass", "userOrgIconClass", "userOrgCaption", "userSelected", "searchDropdownListHeight", "selectedOrg", "id", "\u0275\u0275textInterpolate", "orgEmailDomainsCaption", "_r8", "onOrganizationsTabSelect", "AdminComponent_section_9_div_5_ng_template_5_Template", "AdminComponent_section_9_div_5_ng_template_7_Template", "AdminComponent_section_9_div_5_ng_template_9_Template", "AdminComponent_section_9_div_5_ng_template_11_Template", "orgTabManageUsers", "orgTabManageCaps", "orgTabManageEmail", "orgTabMiscOrg", "_r7", "orgValueChanged", "AdminComponent_section_9_div_5_Template", "orgCaption", "orgSelected", "_r9", "onPendingTabSelect", "AdminComponent_section_10_ng_template_7_Template", "AdminComponent_section_10_ng_template_9_Template", "pendingTabContacts", "pendingTabOrgs", "rolePermConfig", "caption", "selectedRole", "roleId", "_r11", "onRolesTabSelect", "AdminComponent_section_11_div_5_ng_template_4_Template", "AdminComponent_section_11_div_5_ng_template_6_Template", "AdminComponent_section_11_div_5_ng_template_8_Template", "roleTabPermissions", "roleTabUsers", "_r10", "roleValueChanged", "AdminComponent_section_11_div_5_Template", "roleCaption", "roleSelected", "selectedPermission", "permission", "_r13", "onPermissionsTabSelect", "AdminComponent_section_12_div_5_ng_template_4_Template", "AdminComponent_section_12_div_5_ng_template_6_Template", "AdminComponent_section_12_div_5_ng_template_8_Template", "permissionsTabUsers", "permissionsTabRoles", "_r12", "permissionValueChanged", "AdminComponent_section_12_div_5_Template", "permissionCaption", "permissionSelected", "_r15", "toggleClassification", "toggleDemoMode", "toggleLogin", "classificationButtonClass", "classificationButtonText", "getToggleButtonClass", "config", "isDemoMode", "getToggleText", "allowedLoginMethods", "windows", "pki", "userName", "social", "_r16", "clearServerCache", "clearClientCache", "updateSchedulerRecurrenceData", "updateInsightsMetricsData", "ipWhitelistTest", "isControlStateLoadingOrSaving", "isControlStateSaving", "_r14", "onSysTabSelect", "AdminComponent_section_13_ng_template_7_Template", "AdminComponent_section_13_ng_template_9_Template", "AdminComponent_section_13_ng_template_11_Template", "AdminComponent_section_13_ng_template_13_Template", "AdminComponent_section_13_ng_template_15_Template", "AdminComponent_section_13_ng_template_17_Template", "sysTabSettings", "sysTabApiKeys", "sysTabGenQr", "sysTabTestEmail", "sysTabActions", "sysTabSysSettings", "effortGridConfig", "effortGridConfigHeight", "samSearchResult", "samSearchErrorHeading", "samSearchErrorMessage", "_r17", "samSearchIsControlStateChanged", "samSearchActionComplete", "AdminComponent_section_15_app_org_details_5_Template", "AdminComponent_section_15_div_6_Template", "samSearchUei", "showSamSearchError", "nonUserContact", "_r19", "clearNonUserSsn", "_r18", "nonUserContactValueChanged", "AdminComponent_section_16_div_12_Template", "AdminComponent_section_16_div_13_Template", "nonUserContactDropdownConfig", "_r21", "backToFeedGrid", "_r22", "adminFeedGridActionClicked", "_r23", "selectedTransferFeedItem", "AdminComponent_section_17_ng_template_7_button_3_Template", "AdminComponent_section_17_ng_template_7_app_admin_feed_view_transfer_4_Template", "AdminComponent_section_17_ng_template_7_app_admin_feed_gen_qr_5_Template", "adminFeedGridCaption", "transferFeedsMode", "summaryTypeDaily", "AdminComponent_section_17_kendo_tabstrip_tab_8_ng_template_1_Template", "feedTabGenDaily", "summaryTypeWeekly", "AdminComponent_section_17_kendo_tabstrip_tab_9_ng_template_1_Template", "feedTabGenWeekly", "summaryTypeMonthly", "AdminComponent_section_17_kendo_tabstrip_tab_10_ng_template_1_Template", "feedTabGenMonthly", "summaryTypeAll", "AdminComponent_section_17_kendo_tabstrip_tab_11_ng_template_1_Template", "feedTabGenAll", "AdminComponent_section_17_kendo_tabstrip_tab_12_ng_template_1_Template", "feedTabParseQr", "_r20", "onFeedsTabSelect", "AdminComponent_section_17_ng_template_7_Template", "AdminComponent_section_17_kendo_tabstrip_tab_8_Template", "AdminComponent_section_17_kendo_tabstrip_tab_9_Template", "AdminComponent_section_17_kendo_tabstrip_tab_10_Template", "AdminComponent_section_17_kendo_tabstrip_tab_11_Template", "AdminComponent_section_17_kendo_tabstrip_tab_12_Template", "feedTabViewTransfer", "isClassified", "_r24", "backToFeedbackGrid", "_r25", "backToFeedbackList", "_r26", "adminFeedbackGridActionClicked", "_r27", "selectedFeedbackItem", "AdminComponent_section_18_button_4_Template", "AdminComponent_section_18_button_5_Template", "AdminComponent_section_18_app_admin_feedback_grid_6_Template", "AdminComponent_section_18_app_admin_feedback_list_7_Template", "AdminComponent_section_18_app_admin_feedback_details_8_Template", "adminFeedbackCaption", "feedbackMode", "websiteFeedbackText", "AdminComponent", "ControlStateDirective", "checkResetRolePermsConfig", "keyId", "displayText", "allowEdit", "roleManagePerm", "loggedOnUserSystemPermissions", "find", "x", "AppPermission", "SystemAdminManageRolesEdit", "PermissionsService", "isWriteModifyPermission", "newRolePermConfig", "isUser", "userOrRoleId", "permissionType", "permissionTypeId", "keyName", "rootPermissionNumber", "hideEmpty", "allowEmptyToggle", "constructor", "route", "envConfigurationService", "helpService", "notifierService", "authService", "adminService", "contactService", "localStoreManagerService", "userService", "organizationService", "commonService", "titleService", "dialogPopperService", "logger", "orgName", "selectedAdminFeatureTitle", "selectedAdminFeatureImgUrl", "adminSidebarMenuConfig", "state", "useIconsInFullState", "showTitles", "hideBackAndForwardButtons", "sidebarStateDataKey", "menuItemUsers", "menuItemOrganizations", "menuItemPending", "menuItemRoles", "menuItemSys", "menuItemPermissions", "menuItemViewAllEfforts", "menuItemFeedsTransfers", "menuItemFeedback", "menuItemChat", "menuItemSamLookup", "menuItemErrorLogs", "menuItemContactMgmt", "menuItemAccessRequests", "menuItemUserOrgCount", "menuItemServiceRequests", "feedSummaryType", "FeedSummaryType", "None", "routeSection", "routeFeature", "routeDetail", "selectedTabTitle", "defaultUsersTabValue", "defaultUsersTabTitle", "userTabPasswordValue", "userTabPermissionsValue", "userTabProfileValue", "userTabCertificatesValue", "userTabLoginHistoryValue", "userTabOtherValue", "defaultOrgTabValue", "defaultOrgTabTitle", "orgTabManageCapsValue", "orgTabManageEmailValue", "orgTabMiscOrgValue", "defaultPendingTabValue", "defaultPendingTabTitle", "defaultRoleTabValue", "defaultRoleTabTitle", "roleTabUsersValue", "defaultFeedTabValue", "defaultFeedTabTitle", "feedTabGenDailyValue", "Daily", "feedTabGenWeeklyValue", "Weekly", "feedTabGenMonthlyValue", "Monthly", "feedTabGenAllValue", "All", "feedTabParseQrValue", "defaultSysTabValue", "defaultSysTabTitle", "sysTabApiKeysValue", "sysTabGenQrValue", "sysTabActionsValue", "sysTabTestEmailValue", "sysTabSysSettingsValue", "defaultPermissionsTabValue", "defaultPermissionsTabTitle", "permissionsTabRolesValue", "tabNameToSegmentsMap", "mode", "agencyAcronym", "PermissionType", "defaultUsersTab", "key", "value", "defaultOrgsTab", "defaultPendingTab", "defaultRolesTab", "defaultSysTab", "defaultFeedsTab", "defaultPermissionsTab", "sysRolesHeight", "agencyRolesHeight", "effectivePermsHeight", "nonTabbedGridWindowHeightOffset", "tabbedGridWindowHeightOffset", "nonTabbedGridContainerHeightOffset", "tabbedGridContainerHeightOffset", "window", "innerHeight", "isAfterViewInit", "sidebarMenuSelectedValue", "previousSidebarMenuSelectedValue", "isConvertingToNroAceUser", "searchMode", "maxResults", "organizationId", "agencyId", "isSysAdmin", "buildTabsMap", "processInitUrl", "push", "getUrlSegmentFromTabName", "tabName", "found", "sizeControl", "mainContainerHeightWidth", "AppUtilities", "getMainContainerHeightWidth", "newEffortGridHeight", "y", "newTabbedGridHeight", "ngAfterViewInit", "setTimeout", "switchToUserDropdown", "reInit", "getConfig", "setAsOf", "onClassificationChanged", "selectedMenuItemValue", "buildSidebarMenu", "ngOnInit", "getLoggedOnUserSystemPermissions", "pipe", "untilDestroyed", "subscribe", "val", "currentMessage", "message", "MessageConstants", "ClassificationChanged", "currentPayload", "payload", "AppUsableAreaResize", "savedState", "getString", "asOf", "Date", "now", "getDebugData", "sources", "GeneralUtilities", "getChildComponentDebugData", "organizationDropdown", "userSearchDropdown", "roleDropdown", "permissionDropdown", "manageUserLogin", "sendNewPassword", "changeUserPassword", "editUserProfile", "userPermissions", "userCerts", "adminFeedbackGrid", "adminFeedbackDetails", "adminEffortGrid", "adminUsersInPermissionGrid", "adminRolesInPermissionGrid", "adminUsersInRolesGrid", "componentName", "name", "childComponentData", "onAdminSidebarSelectedValueChanged", "menuItemValue", "helpTopicId", "clearSelectedOrg", "switchToTabbedSection", "errorLogUrl", "errorLogsUrl", "open", "lastItem", "StaticsService", "getMenuItemFromValue", "sidebarMap", "menu", "clickMenuItem", "feature", "section", "title", "getSidebarMenuItemTitle", "setHelpTopicTitleLocation", "foundItem", "text", "setHelpTopicTitle", "caller", "setTitle", "urlSection", "urlFeature", "urlDetail", "topLevelMap", "iconText", "UiIconEnum", "Useradmin", "Orgadmin", "Roleadmin", "Permadmin", "Pendingadmin", "Feedback", "AccessRequests", "Chat", "List", "FeedsTransfers", "Calculator", "Sysadmin", "ContactNonUserMgmt", "SamLookup", "ErrorLogs", "ServiceRequests", "topLevelItems", "sidebarMenu", "selectedItemValue", "items", "switchToOrgsDropdown", "processTabbedUrl", "switchToRolesDropdown", "switchToPermissionsDropdown", "processSysUrlOrMenuClick", "tabTitle", "isDefault", "buildHelpTopic", "buildTitle", "sectionTitle", "featureTitle", "detailTitle", "onDropdownValueChanged", "valueCallback", "noValueCallback", "selectedTab", "setLocation", "setProductTourData", "onTabSelect", "e", "firstTabCallback", "index", "onSwitchToDropdown", "valueChangedCallback", "dropdown", "fireValueChanged", "clearValue", "focus", "dropdownValue", "trimToLength", "body", "modalConfirmResult", "modalResult", "success", "toastSuccess", "toastWarning", "convertUserToNroAceUser", "toastSuccessOrError", "tomorrow", "setDate", "getDate", "locale", "Intl", "DateTimeFormat", "resolvedOptions", "tomorrowString", "formatDate", "thiryDaysAgo", "thirtyDaysAgoString", "reportTitle", "systemName", "emailBody", "email", "loggedOnUserNetworkEmail", "reportParameters", "ReportTitle", "IsLoginAs", "UserId", "StartDate", "EndDate", "viewerConfig", "ReportsService", "getDefaultReportViewerConfig", "showReportingDialog", "isAce", "getUserContactTextClass", "isAgency", "organizationName", "getUserContactIconClass", "adminFeatureClick", "img", "samOrg", "roleName", "clearSelectedRole", "toString", "permissionName", "clearSelectedPermission", "setControlStateSaving", "sendMessage", "DemoModeChanged", "setControlStateNeutral", "loginType", "loginMethods", "toggleLoginMethods", "LoginMethodsChanged", "isOn", "extraText", "result", "loggedOnUser", "toastrOptions", "enableHtml", "pipeDelimitedToHtml", "setControlStateLoadError", "toastError", "clearCachedData", "arrayToHtml", "modalInputResult", "inputResult", "dto", "safeList", "testIp", "ipTestResult", "enterSignupFlow", "status", "setSamSearchResult", "errorHeading", "statusCode", "notificationMessage", "event", "dataItem", "action", "prefix", "isBug", "eventName", "CommonConstants", "ActionView", "formattedFeedbackNumber", "params", "snapshot", "detail", "processUsersUrl", "processOrgUrl", "processRolesUrl", "processPermissionsUrl", "processFeedbackUrl", "processViewTransferUrl", "processSamUrl", "getSelectedTabFromRouteDetail", "defaultTab", "getUserExtById", "orgId", "getOrganization", "getAllRoles", "foundRole", "permissionId", "getAllPermissions", "foundPermission", "dumpSectionFeatureDetail", "warn", "getTransferFeed", "feedbackNumber", "parseInt", "replace", "getSingleFeedback", "samUei", "ueiSam", "samSearch", "searchSam", "isMenuClick", "processUsersProductTour", "processOrgProductTour", "processRolesProductTour", "processPermissionsProductTour", "processFeedbackProductTour", "sendProductTourPayload", "componentTourData", "processTabbedSubTour", "subKey", "callback", "user", "getUserPreferences", "hasSeenTour", "findIndex", "preferenceKey", "indexOf", "stepData", "element", "intro", "steps", "userTabPermissionsTabstripId", "textboxFocus", "target", "select", "clearVal", "\u0275\u0275directiveInject", "ActivatedRoute", "EnvConfigurationService", "HelpService", "NotifierService", "AuthService", "AdminService", "ContactService", "LocalStoreManagerService", "UserService", "OrganizationService", "CommonService", "Title", "DialogPopperService", "NGXLogger", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275twoWayListener", "i0", "_r1", "\u0275\u0275twoWayBindingSet", "AdminComponent_section_8_Template", "AdminComponent_section_9_Template", "AdminComponent_section_10_Template", "AdminComponent_section_11_Template", "AdminComponent_section_12_Template", "AdminComponent_section_13_Template", "AdminComponent_section_14_Template", "AdminComponent_section_15_Template", "AdminComponent_section_16_Template", "AdminComponent_section_17_Template", "AdminComponent_section_18_Template", "AdminComponent_section_19_Template", "AdminComponent_section_20_Template", "AdminComponent_section_21_Template", "AdminComponent_section_22_Template", "\u0275\u0275twoWayProperty", "titleText", "__decorate", "UntilDestroy", "defaultData", "topicid", "RelativeRouteConstants", "Admin", "ADMIN_ROUTES", "path", "component", "AdminComponent", "canActivate", "IsAdminHelpdeskGuard", "data", "AdminRoutingModule", "RouterModule", "forChild", "AdminModule", "CommonModule", "AppComponentsModule", "AppPipesModule", "AppDirectivesModule", "NgbModule", "AdminRoutingModule", "FormsModule", "ReactiveFormsModule", "MarkdownModule", "forChild", "GridModule", "DialogModule", "ButtonsModule", "ListViewModule", "PDFModule", "ExcelModule", "RippleModule", "DateInputsModule", "InputsModule", "PDFExportModule", "LayoutModule", "MenusModule", "TooltipModule", "UploadsModule", "FontAwesomeModule", "StringToIconPropModule", "DropDownsModule", "ErrorTailorModule", "IconsModule"] }