{"version":3,"sources":["node_modules/@angular/service-worker/fesm2022/service-worker.mjs","src/app/shared/generated/Admin/Models/User/EditUserVm.ts","src/app/core/enums/generated/UserProfileTypeEnum.ts","src/app/shared/generated/Admin/Models/Security/PermissionVm.ts","src/app/admin/users/edit-user/user-permissions-modal/user-permissions-modal.component.ts","src/app/admin/users/edit-user/user-permissions-modal/user-permissions-modal.component.html","src/app/shared/generated/Admin/Models/DepartmentInventoryVm.ts","src/app/admin/users/edit-user/department-inventories-modal/department-inventories-modal.component.ts","src/app/admin/users/edit-user/department-inventories-modal/department-inventories-modal.component.html","src/app/admin/users/edit-user/editUser.service.ts","src/app/admin/users/edit-user/edit-user.component.ts","src/app/admin/users/edit-user/edit-user.component.html","src/app/shared/generated/Admin/Models/LoginHistoryVm.ts","src/app/admin/users/edit-user/user-login-history/user-login-history.component.ts","src/app/admin/users/edit-user/user-login-history/user-login-history.component.html","src/app/shared/generated/Admin/Models/User/UserClientNotificationVm.ts","src/app/shared/generated/Admin/Models/User/UserNotificationScheduleVm.ts","src/app/core/enums/generated/UserNotificationScheduleEnum.ts","src/app/core/enums/generated/NotificationAreaEnum.ts","src/app/admin/users/edit-user/user-client-notifications/user-client-notifications.component.ts","src/app/admin/users/edit-user/user-client-notifications/user-client-notifications.component.html","src/app/shared/generated/Admin/Models/User/UserInventorySiteListVm.ts","src/app/admin/users/edit-user/user-associate-inventories/user-associate-inventories.component.ts","src/app/admin/users/edit-user/user-associate-inventories/user-associate-inventories.component.html","src/app/shared/generated/Admin/Models/User/UserClientVm.ts","src/app/admin/users/edit-user/user-associate-clients/user-associate-clients.component.ts","src/app/admin/users/edit-user/user-associate-clients/user-associate-clients.component.html","src/app/admin/users/edit-user/user-change-password-modal/user-change-password-modal.component.ts","src/app/admin/users/edit-user/user-change-password-modal/user-change-password-modal.component.html","src/app/admin/users/edit-user/register-pin-modal/register-pin.form.ts","src/app/admin/users/edit-user/register-pin-modal/register-pin-modal.component.ts","src/app/admin/users/edit-user/register-pin-modal/register-pin-modal.component.html","src/app/admin/users/edit-user/user-security/user-security.component.ts","src/app/admin/users/edit-user/user-security/user-security.component.html","src/app/admin/users/edit-user/user-audit-history/user-audit-history.component.ts","src/app/admin/users/edit-user/user-audit-history/user-audit-history.component.html","src/app/admin/users/edit-user/edit-user.module.ts"],"sourcesContent":["/**\n * @license Angular v19.2.5\n * (c) 2010-2025 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { ApplicationRef, Injectable, makeEnvironmentProviders, InjectionToken, Injector, provideAppInitializer, inject, NgZone, NgModule } from '@angular/core';\nimport { Observable, Subject, NEVER } from 'rxjs';\nimport { switchMap, take, filter, map } from 'rxjs/operators';\nconst ERR_SW_NOT_SUPPORTED = 'Service workers are disabled or not supported by this browser';\n/**\n * @publicApi\n */\nclass NgswCommChannel {\n serviceWorker;\n worker;\n registration;\n events;\n constructor(serviceWorker, injector) {\n this.serviceWorker = serviceWorker;\n if (!serviceWorker) {\n this.worker = this.events = this.registration = new Observable(subscriber => subscriber.error(new Error(ERR_SW_NOT_SUPPORTED)));\n } else {\n let currentWorker = null;\n const workerSubject = new Subject();\n this.worker = new Observable(subscriber => {\n if (currentWorker !== null) {\n subscriber.next(currentWorker);\n }\n return workerSubject.subscribe(v => subscriber.next(v));\n });\n const updateController = () => {\n const {\n controller\n } = serviceWorker;\n if (controller === null) {\n return;\n }\n currentWorker = controller;\n workerSubject.next(currentWorker);\n };\n serviceWorker.addEventListener('controllerchange', updateController);\n updateController();\n this.registration = this.worker.pipe(switchMap(() => serviceWorker.getRegistration()));\n const _events = new Subject();\n this.events = _events.asObservable();\n const messageListener = event => {\n const {\n data\n } = event;\n if (data?.type) {\n _events.next(data);\n }\n };\n serviceWorker.addEventListener('message', messageListener);\n // The injector is optional to avoid breaking changes.\n const appRef = injector?.get(ApplicationRef, null, {\n optional: true\n });\n appRef?.onDestroy(() => {\n serviceWorker.removeEventListener('controllerchange', updateController);\n serviceWorker.removeEventListener('message', messageListener);\n });\n }\n }\n postMessage(action, payload) {\n return new Promise(resolve => {\n this.worker.pipe(take(1)).subscribe(sw => {\n sw.postMessage({\n action,\n ...payload\n });\n resolve();\n });\n });\n }\n postMessageWithOperation(type, payload, operationNonce) {\n const waitForOperationCompleted = this.waitForOperationCompleted(operationNonce);\n const postMessage = this.postMessage(type, payload);\n return Promise.all([postMessage, waitForOperationCompleted]).then(([, result]) => result);\n }\n generateNonce() {\n return Math.round(Math.random() * 10000000);\n }\n eventsOfType(type) {\n let filterFn;\n if (typeof type === 'string') {\n filterFn = event => event.type === type;\n } else {\n filterFn = event => type.includes(event.type);\n }\n return this.events.pipe(filter(filterFn));\n }\n nextEventOfType(type) {\n return this.eventsOfType(type).pipe(take(1));\n }\n waitForOperationCompleted(nonce) {\n return new Promise((resolve, reject) => {\n this.eventsOfType('OPERATION_COMPLETED').pipe(filter(event => event.nonce === nonce), take(1), map(event => {\n if (event.result !== undefined) {\n return event.result;\n }\n throw new Error(event.error);\n })).subscribe({\n next: resolve,\n error: reject\n });\n });\n }\n get isEnabled() {\n return !!this.serviceWorker;\n }\n}\n\n/**\n * Subscribe and listen to\n * [Web Push\n * Notifications](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Best_Practices) through\n * Angular Service Worker.\n *\n * @usageNotes\n *\n * You can inject a `SwPush` instance into any component or service\n * as a dependency.\n *\n * \n *\n * To subscribe, call `SwPush.requestSubscription()`, which asks the user for permission.\n * The call returns a `Promise` with a new\n * [`PushSubscription`](https://developer.mozilla.org/en-US/docs/Web/API/PushSubscription)\n * instance.\n *\n * \n *\n * A request is rejected if the user denies permission, or if the browser\n * blocks or does not support the Push API or ServiceWorkers.\n * Check `SwPush.isEnabled` to confirm status.\n *\n * Invoke Push Notifications by pushing a message with the following payload.\n *\n * ```ts\n * {\n * \"notification\": {\n * \"actions\": NotificationAction[],\n * \"badge\": USVString,\n * \"body\": DOMString,\n * \"data\": any,\n * \"dir\": \"auto\"|\"ltr\"|\"rtl\",\n * \"icon\": USVString,\n * \"image\": USVString,\n * \"lang\": DOMString,\n * \"renotify\": boolean,\n * \"requireInteraction\": boolean,\n * \"silent\": boolean,\n * \"tag\": DOMString,\n * \"timestamp\": DOMTimeStamp,\n * \"title\": DOMString,\n * \"vibrate\": number[]\n * }\n * }\n * ```\n *\n * Only `title` is required. See `Notification`\n * [instance\n * properties](https://developer.mozilla.org/en-US/docs/Web/API/Notification#Instance_properties).\n *\n * While the subscription is active, Service Worker listens for\n * [PushEvent](https://developer.mozilla.org/en-US/docs/Web/API/PushEvent)\n * occurrences and creates\n * [Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notification)\n * instances in response.\n *\n * Unsubscribe using `SwPush.unsubscribe()`.\n *\n * An application can subscribe to `SwPush.notificationClicks` observable to be notified when a user\n * clicks on a notification. For example:\n *\n * \n *\n * You can read more on handling notification clicks in the [Service worker notifications\n * guide](ecosystem/service-workers/push-notifications).\n *\n * @see [Push Notifications](https://developers.google.com/web/fundamentals/codelabs/push-notifications/)\n * @see [Angular Push Notifications](https://blog.angular-university.io/angular-push-notifications/)\n * @see [MDN: Push API](https://developer.mozilla.org/en-US/docs/Web/API/Push_API)\n * @see [MDN: Notifications API](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API)\n * @see [MDN: Web Push API Notifications best practices](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Best_Practices)\n *\n * @publicApi\n */\nlet SwPush = /*#__PURE__*/(() => {\n class SwPush {\n sw;\n /**\n * Emits the payloads of the received push notification messages.\n */\n messages;\n /**\n * Emits the payloads of the received push notification messages as well as the action the user\n * interacted with. If no action was used the `action` property contains an empty string `''`.\n *\n * Note that the `notification` property does **not** contain a\n * [Notification][Mozilla Notification] object but rather a\n * [NotificationOptions](https://notifications.spec.whatwg.org/#dictdef-notificationoptions)\n * object that also includes the `title` of the [Notification][Mozilla Notification] object.\n *\n * [Mozilla Notification]: https://developer.mozilla.org/en-US/docs/Web/API/Notification\n */\n notificationClicks;\n /**\n * Emits the currently active\n * [PushSubscription](https://developer.mozilla.org/en-US/docs/Web/API/PushSubscription)\n * associated to the Service Worker registration or `null` if there is no subscription.\n */\n subscription;\n /**\n * True if the Service Worker is enabled (supported by the browser and enabled via\n * `ServiceWorkerModule`).\n */\n get isEnabled() {\n return this.sw.isEnabled;\n }\n pushManager = null;\n subscriptionChanges = new Subject();\n constructor(sw) {\n this.sw = sw;\n if (!sw.isEnabled) {\n this.messages = NEVER;\n this.notificationClicks = NEVER;\n this.subscription = NEVER;\n return;\n }\n this.messages = this.sw.eventsOfType('PUSH').pipe(map(message => message.data));\n this.notificationClicks = this.sw.eventsOfType('NOTIFICATION_CLICK').pipe(map(message => message.data));\n this.pushManager = this.sw.registration.pipe(map(registration => registration.pushManager));\n const workerDrivenSubscriptions = this.pushManager.pipe(switchMap(pm => pm.getSubscription()));\n this.subscription = new Observable(subscriber => {\n const workerDrivenSubscription = workerDrivenSubscriptions.subscribe(subscriber);\n const subscriptionChanges = this.subscriptionChanges.subscribe(subscriber);\n return () => {\n workerDrivenSubscription.unsubscribe();\n subscriptionChanges.unsubscribe();\n };\n });\n }\n /**\n * Subscribes to Web Push Notifications,\n * after requesting and receiving user permission.\n *\n * @param options An object containing the `serverPublicKey` string.\n * @returns A Promise that resolves to the new subscription object.\n */\n requestSubscription(options) {\n if (!this.sw.isEnabled || this.pushManager === null) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const pushOptions = {\n userVisibleOnly: true\n };\n let key = this.decodeBase64(options.serverPublicKey.replace(/_/g, '/').replace(/-/g, '+'));\n let applicationServerKey = new Uint8Array(new ArrayBuffer(key.length));\n for (let i = 0; i < key.length; i++) {\n applicationServerKey[i] = key.charCodeAt(i);\n }\n pushOptions.applicationServerKey = applicationServerKey;\n return new Promise((resolve, reject) => {\n this.pushManager.pipe(switchMap(pm => pm.subscribe(pushOptions)), take(1)).subscribe({\n next: sub => {\n this.subscriptionChanges.next(sub);\n resolve(sub);\n },\n error: reject\n });\n });\n }\n /**\n * Unsubscribes from Service Worker push notifications.\n *\n * @returns A Promise that is resolved when the operation succeeds, or is rejected if there is no\n * active subscription or the unsubscribe operation fails.\n */\n unsubscribe() {\n if (!this.sw.isEnabled) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const doUnsubscribe = sub => {\n if (sub === null) {\n throw new Error('Not subscribed to push notifications.');\n }\n return sub.unsubscribe().then(success => {\n if (!success) {\n throw new Error('Unsubscribe failed!');\n }\n this.subscriptionChanges.next(null);\n });\n };\n return new Promise((resolve, reject) => {\n this.subscription.pipe(take(1), switchMap(doUnsubscribe)).subscribe({\n next: resolve,\n error: reject\n });\n });\n }\n decodeBase64(input) {\n return atob(input);\n }\n static ɵfac = function SwPush_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SwPush)(i0.ɵɵinject(NgswCommChannel));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SwPush,\n factory: SwPush.ɵfac\n });\n }\n return SwPush;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Subscribe to update notifications from the Service Worker, trigger update\n * checks, and forcibly activate updates.\n *\n * @see {@link /ecosystem/service-workers/communications Service Worker Communication Guide}\n *\n * @publicApi\n */\nlet SwUpdate = /*#__PURE__*/(() => {\n class SwUpdate {\n sw;\n /**\n * Emits a `VersionDetectedEvent` event whenever a new version is detected on the server.\n *\n * Emits a `VersionInstallationFailedEvent` event whenever checking for or downloading a new\n * version fails.\n *\n * Emits a `VersionReadyEvent` event whenever a new version has been downloaded and is ready for\n * activation.\n */\n versionUpdates;\n /**\n * Emits an `UnrecoverableStateEvent` event whenever the version of the app used by the service\n * worker to serve this client is in a broken state that cannot be recovered from without a full\n * page reload.\n */\n unrecoverable;\n /**\n * True if the Service Worker is enabled (supported by the browser and enabled via\n * `ServiceWorkerModule`).\n */\n get isEnabled() {\n return this.sw.isEnabled;\n }\n constructor(sw) {\n this.sw = sw;\n if (!sw.isEnabled) {\n this.versionUpdates = NEVER;\n this.unrecoverable = NEVER;\n return;\n }\n this.versionUpdates = this.sw.eventsOfType(['VERSION_DETECTED', 'VERSION_INSTALLATION_FAILED', 'VERSION_READY', 'NO_NEW_VERSION_DETECTED']);\n this.unrecoverable = this.sw.eventsOfType('UNRECOVERABLE_STATE');\n }\n /**\n * Checks for an update and waits until the new version is downloaded from the server and ready\n * for activation.\n *\n * @returns a promise that\n * - resolves to `true` if a new version was found and is ready to be activated.\n * - resolves to `false` if no new version was found\n * - rejects if any error occurs\n */\n checkForUpdate() {\n if (!this.sw.isEnabled) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const nonce = this.sw.generateNonce();\n return this.sw.postMessageWithOperation('CHECK_FOR_UPDATES', {\n nonce\n }, nonce);\n }\n /**\n * Updates the current client (i.e. browser tab) to the latest version that is ready for\n * activation.\n *\n * In most cases, you should not use this method and instead should update a client by reloading\n * the page.\n *\n *
\n *\n * Updating a client without reloading can easily result in a broken application due to a version\n * mismatch between the application shell and other page resources,\n * such as lazy-loaded chunks, whose filenames may change between\n * versions.\n *\n * Only use this method, if you are certain it is safe for your specific use case.\n *\n *
\n *\n * @returns a promise that\n * - resolves to `true` if an update was activated successfully\n * - resolves to `false` if no update was available (for example, the client was already on the\n * latest version).\n * - rejects if any error occurs\n */\n activateUpdate() {\n if (!this.sw.isEnabled) {\n return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));\n }\n const nonce = this.sw.generateNonce();\n return this.sw.postMessageWithOperation('ACTIVATE_UPDATE', {\n nonce\n }, nonce);\n }\n static ɵfac = function SwUpdate_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SwUpdate)(i0.ɵɵinject(NgswCommChannel));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SwUpdate,\n factory: SwUpdate.ɵfac\n });\n }\n return SwUpdate;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*!\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nconst SCRIPT = /*#__PURE__*/new InjectionToken(ngDevMode ? 'NGSW_REGISTER_SCRIPT' : '');\nfunction ngswAppInitializer() {\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n return;\n }\n const options = inject(SwRegistrationOptions);\n if (!('serviceWorker' in navigator && options.enabled !== false)) {\n return;\n }\n const script = inject(SCRIPT);\n const ngZone = inject(NgZone);\n const appRef = inject(ApplicationRef);\n // Set up the `controllerchange` event listener outside of\n // the Angular zone to avoid unnecessary change detections,\n // as this event has no impact on view updates.\n ngZone.runOutsideAngular(() => {\n // Wait for service worker controller changes, and fire an INITIALIZE action when a new SW\n // becomes active. This allows the SW to initialize itself even if there is no application\n // traffic.\n const sw = navigator.serviceWorker;\n const onControllerChange = () => sw.controller?.postMessage({\n action: 'INITIALIZE'\n });\n sw.addEventListener('controllerchange', onControllerChange);\n appRef.onDestroy(() => {\n sw.removeEventListener('controllerchange', onControllerChange);\n });\n });\n // Run outside the Angular zone to avoid preventing the app from stabilizing (especially\n // given that some registration strategies wait for the app to stabilize).\n ngZone.runOutsideAngular(() => {\n let readyToRegister;\n const {\n registrationStrategy\n } = options;\n if (typeof registrationStrategy === 'function') {\n readyToRegister = new Promise(resolve => registrationStrategy().subscribe(() => resolve()));\n } else {\n const [strategy, ...args] = (registrationStrategy || 'registerWhenStable:30000').split(':');\n switch (strategy) {\n case 'registerImmediately':\n readyToRegister = Promise.resolve();\n break;\n case 'registerWithDelay':\n readyToRegister = delayWithTimeout(+args[0] || 0);\n break;\n case 'registerWhenStable':\n readyToRegister = Promise.race([appRef.whenStable(), delayWithTimeout(+args[0])]);\n break;\n default:\n // Unknown strategy.\n throw new Error(`Unknown ServiceWorker registration strategy: ${options.registrationStrategy}`);\n }\n }\n // Don't return anything to avoid blocking the application until the SW is registered.\n // Catch and log the error if SW registration fails to avoid uncaught rejection warning.\n readyToRegister.then(() => navigator.serviceWorker.register(script, {\n scope: options.scope\n }).catch(err => console.error('Service worker registration failed with:', err)));\n });\n}\nfunction delayWithTimeout(timeout) {\n return new Promise(resolve => setTimeout(resolve, timeout));\n}\nfunction ngswCommChannelFactory(opts, injector) {\n const isBrowser = !(typeof ngServerMode !== 'undefined' && ngServerMode);\n return new NgswCommChannel(isBrowser && opts.enabled !== false ? navigator.serviceWorker : undefined, injector);\n}\n/**\n * Token that can be used to provide options for `ServiceWorkerModule` outside of\n * `ServiceWorkerModule.register()`.\n *\n * You can use this token to define a provider that generates the registration options at runtime,\n * for example via a function call:\n *\n * {@example service-worker/registration-options/module.ts region=\"registration-options\"\n * header=\"app.module.ts\"}\n *\n * @publicApi\n */\nclass SwRegistrationOptions {\n /**\n * Whether the ServiceWorker will be registered and the related services (such as `SwPush` and\n * `SwUpdate`) will attempt to communicate and interact with it.\n *\n * Default: true\n */\n enabled;\n /**\n * A URL that defines the ServiceWorker's registration scope; that is, what range of URLs it can\n * control. It will be used when calling\n * [ServiceWorkerContainer#register()](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register).\n */\n scope;\n /**\n * Defines the ServiceWorker registration strategy, which determines when it will be registered\n * with the browser.\n *\n * The default behavior of registering once the application stabilizes (i.e. as soon as there are\n * no pending micro- and macro-tasks) is designed to register the ServiceWorker as soon as\n * possible but without affecting the application's first time load.\n *\n * Still, there might be cases where you want more control over when the ServiceWorker is\n * registered (for example, there might be a long-running timeout or polling interval, preventing\n * the app from stabilizing). The available option are:\n *\n * - `registerWhenStable:`: Register as soon as the application stabilizes (no pending\n * micro-/macro-tasks) but no later than `` milliseconds. If the app hasn't\n * stabilized after `` milliseconds (for example, due to a recurrent asynchronous\n * task), the ServiceWorker will be registered anyway.\n * If `` is omitted, the ServiceWorker will only be registered once the app\n * stabilizes.\n * - `registerImmediately`: Register immediately.\n * - `registerWithDelay:`: Register with a delay of `` milliseconds. For\n * example, use `registerWithDelay:5000` to register the ServiceWorker after 5 seconds. If\n * `` is omitted, is defaults to `0`, which will register the ServiceWorker as soon\n * as possible but still asynchronously, once all pending micro-tasks are completed.\n * - An Observable factory function: A function that returns an `Observable`.\n * The function will be used at runtime to obtain and subscribe to the `Observable` and the\n * ServiceWorker will be registered as soon as the first value is emitted.\n *\n * Default: 'registerWhenStable:30000'\n */\n registrationStrategy;\n}\n/**\n * @publicApi\n *\n * Sets up providers to register the given Angular Service Worker script.\n *\n * If `enabled` is set to `false` in the given options, the module will behave as if service\n * workers are not supported by the browser, and the service worker will not be registered.\n *\n * Example usage:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideServiceWorker('ngsw-worker.js')\n * ],\n * });\n * ```\n */\nfunction provideServiceWorker(script, options = {}) {\n return makeEnvironmentProviders([SwPush, SwUpdate, {\n provide: SCRIPT,\n useValue: script\n }, {\n provide: SwRegistrationOptions,\n useValue: options\n }, {\n provide: NgswCommChannel,\n useFactory: ngswCommChannelFactory,\n deps: [SwRegistrationOptions, Injector]\n }, provideAppInitializer(ngswAppInitializer)]);\n}\n\n/**\n * @publicApi\n */\nlet ServiceWorkerModule = /*#__PURE__*/(() => {\n class ServiceWorkerModule {\n /**\n * Register the given Angular Service Worker script.\n *\n * If `enabled` is set to `false` in the given options, the module will behave as if service\n * workers are not supported by the browser, and the service worker will not be registered.\n */\n static register(script, options = {}) {\n return {\n ngModule: ServiceWorkerModule,\n providers: [provideServiceWorker(script, options)]\n };\n }\n static ɵfac = function ServiceWorkerModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ServiceWorkerModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ServiceWorkerModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [SwPush, SwUpdate]\n });\n }\n return ServiceWorkerModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nexport { ServiceWorkerModule, SwPush, SwRegistrationOptions, SwUpdate, provideServiceWorker };\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/pcg-table-column.interface';\r\nimport { DynamicFormFieldVm, DynamicFormFieldVmFromFg } from '../../../Models/DynamicFormFieldVm';\r\nimport { SignatureVm, SignatureVmFromFg } from '../../../Models/SignatureVm';\r\nimport { UserClientVm, UserClientVmFromFg } from '../../../Admin/Models/User/UserClientVm';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class EditUserVm {\r\n\tuserId: number;\r\n\tfullName?: string;\r\n\tuserName?: string;\r\n\tphoneNumber?: string;\r\n\temail?: string;\r\n\temailConfirmed: boolean;\r\n\tisEmailBounced: boolean;\r\n\tisEmailSpamReported: boolean;\r\n\tdeactivatedDueToInactivity: boolean;\r\n\temailError?: any;\r\n\tstateLicenseNumber?: string;\r\n\tuserProfileIds?: number[];\r\n\tuserProfiles?: string[];\r\n\tisActive: boolean;\r\n\tstrIsActive?: string;\r\n\tisLockedOut: boolean;\r\n\tinactivityTimeout: boolean;\r\n\tpermissionId?: number;\r\n\tpermissionProfile?: string;\r\n\tisSysAdmin: boolean;\r\n\tclientId?: number;\r\n\tclientName?: string;\r\n\tdepartmentIds?: number[];\r\n\tinventoryIds?: number[];\r\n\tactiveInventoryIds?: number[];\r\n\tactiveInventories?: string[];\r\n\tnotificationInventoryIds?: number[];\r\n\tnotificationInventories?: string[];\r\n\tinventories?: string[];\r\n\tinventorySiteAssociation?: any;\r\n\thasBiometricClientSettings: boolean;\r\n\thasFidoClientSettings: boolean;\r\n\tfields?: DynamicFormFieldVm[];\r\n\tcustomFields?: any;\r\n\tfriendlyId?: string;\r\n\tuserSignature?: SignatureVm;\r\n\tuserPin?: string;\r\n\tneedToResetPin: boolean;\r\n\tshowDepartments: boolean;\r\n\tisNewUser: boolean;\r\n\tisFromIops: boolean;\r\n\tknoxId?: number;\r\n\tisFromKnox: boolean;\r\n\tuserType?: any;\r\n\tlogoFileName?: string;\r\n\tcompanyName?: string;\r\n\tlastLoginDate?: Date;\r\n\tlastLoginDateStr?: string;\r\n\tisUpdatedOffline?: string;\r\n\tisMultipleClients: boolean;\r\n\thasLoginHistory: boolean;\r\n\tuserClients?: UserClientVm[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'fullName': new UntypedFormControl(null, [...(validators['fullName'] ?? []), ...[Validators.required, Validators.minLength(2), Validators.maxLength(100), Validators.pattern(\"^[A-Za-z0-9-_ ,.']+$\")]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[Validators.required, Validators.minLength(5), Validators.maxLength(50), Validators.pattern(\"^[A-Za-z0-9.@-_']+$\")]]),\r\n\t\t\t'phoneNumber': new UntypedFormControl(null, [...(validators['phoneNumber'] ?? []), ...[Validators.pattern(\"(\\\\+\\\\d{1,3}\\\\s?)?((\\\\(\\\\d{3}\\\\)\\\\s?)|(\\\\d{3})(\\\\s|-?))(\\\\d{3}(\\\\s|-?))(\\\\d{4})(\\\\s?(([E|e]xt[:|.|]?)|x|X)(\\\\s?\\\\d+))?\")]]),\r\n\t\t\t'email': new UntypedFormControl(null, [...(validators['email'] ?? []), ...[Validators.required, Validators.email, Validators.maxLength(100)]]),\r\n\t\t\t'emailConfirmed': new UntypedFormControl(false, [...(validators['emailConfirmed'] ?? []), ...[]]),\r\n\t\t\t'isEmailBounced': new UntypedFormControl(false, [...(validators['isEmailBounced'] ?? []), ...[]]),\r\n\t\t\t'isEmailSpamReported': new UntypedFormControl(false, [...(validators['isEmailSpamReported'] ?? []), ...[]]),\r\n\t\t\t'deactivatedDueToInactivity': new UntypedFormControl(false, [...(validators['deactivatedDueToInactivity'] ?? []), ...[]]),\r\n\t\t\t'emailError': new UntypedFormControl(null, [...(validators['emailError'] ?? []), ...[]]),\r\n\t\t\t'stateLicenseNumber': new UntypedFormControl(null, [...(validators['stateLicenseNumber'] ?? []), ...[Validators.maxLength(50)]]),\r\n\t\t\t'userProfileIds': new UntypedFormControl([], [...(validators['userProfileIds'] ?? []), ...[]]),\r\n\t\t\t'userProfiles': new UntypedFormControl([], [...(validators['userProfiles'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]]),\r\n\t\t\t'strIsActive': new UntypedFormControl(null, [...(validators['strIsActive'] ?? []), ...[]]),\r\n\t\t\t'isLockedOut': new UntypedFormControl(false, [...(validators['isLockedOut'] ?? []), ...[]]),\r\n\t\t\t'inactivityTimeout': new UntypedFormControl(false, [...(validators['inactivityTimeout'] ?? []), ...[]]),\r\n\t\t\t'permissionId': new UntypedFormControl(null, [...(validators['permissionId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'permissionProfile': new UntypedFormControl(null, [...(validators['permissionProfile'] ?? []), ...[]]),\r\n\t\t\t'isSysAdmin': new UntypedFormControl(false, [...(validators['isSysAdmin'] ?? []), ...[]]),\r\n\t\t\t'clientId': new UntypedFormControl(null, [...(validators['clientId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'clientName': new UntypedFormControl(null, [...(validators['clientName'] ?? []), ...[]]),\r\n\t\t\t'departmentIds': new UntypedFormControl([], [...(validators['departmentIds'] ?? []), ...[]]),\r\n\t\t\t'inventoryIds': new UntypedFormControl([], [...(validators['inventoryIds'] ?? []), ...[]]),\r\n\t\t\t'activeInventoryIds': new UntypedFormControl([], [...(validators['activeInventoryIds'] ?? []), ...[]]),\r\n\t\t\t'activeInventories': new UntypedFormControl([], [...(validators['activeInventories'] ?? []), ...[]]),\r\n\t\t\t'notificationInventoryIds': new UntypedFormControl([], [...(validators['notificationInventoryIds'] ?? []), ...[]]),\r\n\t\t\t'notificationInventories': new UntypedFormControl([], [...(validators['notificationInventories'] ?? []), ...[]]),\r\n\t\t\t'inventories': new UntypedFormControl([], [...(validators['inventories'] ?? []), ...[]]),\r\n\t\t\t'inventorySiteAssociation': new UntypedFormControl([], [...(validators['inventorySiteAssociation'] ?? []), ...[]]),\r\n\t\t\t'hasBiometricClientSettings': new UntypedFormControl(false, [...(validators['hasBiometricClientSettings'] ?? []), ...[]]),\r\n\t\t\t'hasFidoClientSettings': new UntypedFormControl(false, [...(validators['hasFidoClientSettings'] ?? []), ...[]]),\r\n\t\t\t'fields': new UntypedFormArray([]),\r\n\t\t\t'customFields': new UntypedFormControl(null, [...(validators['customFields'] ?? []), ...[]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]]),\r\n\t\t\t'userSignature': SignatureVm.Form,\r\n\t\t\t'userPin': new UntypedFormControl(null, [...(validators['userPin'] ?? []), ...[]]),\r\n\t\t\t'needToResetPin': new UntypedFormControl(false, [...(validators['needToResetPin'] ?? []), ...[]]),\r\n\t\t\t'showDepartments': new UntypedFormControl(false, [...(validators['showDepartments'] ?? []), ...[]]),\r\n\t\t\t'isNewUser': new UntypedFormControl(false, [...(validators['isNewUser'] ?? []), ...[]]),\r\n\t\t\t'isFromIops': new UntypedFormControl(false, [...(validators['isFromIops'] ?? []), ...[]]),\r\n\t\t\t'knoxId': new UntypedFormControl(null, [...(validators['knoxId'] ?? []), ...[]]),\r\n\t\t\t'isFromKnox': new UntypedFormControl(false, [...(validators['isFromKnox'] ?? []), ...[]]),\r\n\t\t\t'userType': new UntypedFormControl('', [...(validators['userType'] ?? []), ...[Validators.required]]),\r\n\t\t\t'logoFileName': new UntypedFormControl(null, [...(validators['logoFileName'] ?? []), ...[]]),\r\n\t\t\t'companyName': new UntypedFormControl(null, [...(validators['companyName'] ?? []), ...[]]),\r\n\t\t\t'lastLoginDate': new UntypedFormControl(null, [...(validators['lastLoginDate'] ?? []), ...[]]),\r\n\t\t\t'lastLoginDateStr': new UntypedFormControl(null, [...(validators['lastLoginDateStr'] ?? []), ...[]]),\r\n\t\t\t'isUpdatedOffline': new UntypedFormControl(null, [...(validators['isUpdatedOffline'] ?? []), ...[]]),\r\n\t\t\t'isMultipleClients': new UntypedFormControl(false, [...(validators['isMultipleClients'] ?? []), ...[]]),\r\n\t\t\t'hasLoginHistory': new UntypedFormControl(false, [...(validators['hasLoginHistory'] ?? []), ...[]]),\r\n\t\t\t'userClients': new UntypedFormArray([])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['userId', {\"orderId\":0,\"sortColumn\":\"userId\",\"searchColumn\":\"userId\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Edit\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['fullName', {\"orderId\":1,\"sortColumn\":\"fullName\",\"searchColumn\":\"fullName\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Full Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['email', {\"orderId\":2,\"sortColumn\":\"email\",\"searchColumn\":\"email\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Email\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['phoneNumber', {\"orderId\":3,\"sortColumn\":\"phoneNumber\",\"searchColumn\":\"phoneNumber\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Phone Number\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['lastLoginDate', {\"orderId\":4,\"sortColumn\":\"lastLoginDate\",\"searchColumn\":\"lastLoginDateStr\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Last Login\",\"isVisible\":false,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['permissionProfile', {\"orderId\":5,\"sortColumn\":\"permissionProfile\",\"searchColumn\":\"permissionProfile\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Permission\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['strIsActive', {\"orderId\":6,\"sortColumn\":\"strIsActive\",\"searchColumn\":\"strIsActive\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Status\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['delete', {\"orderId\":7,\"sortColumn\":\"delete\",\"searchColumn\":\"delete\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Delete\",\"isVisible\":false,\"canSearch\":false,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): EditUserVmFromFg {\r\n\t\treturn new EditUserVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class EditUserVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget fullName(): string {\r\n\t\treturn this.fg.get('fullName').value;\r\n\t}\r\n\tset fullName(val) {\r\n\t\tthis.fg.get('fullName').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget phoneNumber(): string {\r\n\t\treturn this.fg.get('phoneNumber').value;\r\n\t}\r\n\tset phoneNumber(val) {\r\n\t\tthis.fg.get('phoneNumber').setValue(val);\r\n\t}\r\n\r\n\tget email(): string {\r\n\t\treturn this.fg.get('email').value;\r\n\t}\r\n\tset email(val) {\r\n\t\tthis.fg.get('email').setValue(val);\r\n\t}\r\n\r\n\tget emailConfirmed(): boolean {\r\n\t\treturn this.fg.get('emailConfirmed').value;\r\n\t}\r\n\tset emailConfirmed(val) {\r\n\t\tthis.fg.get('emailConfirmed').setValue(val);\r\n\t}\r\n\r\n\tget isEmailBounced(): boolean {\r\n\t\treturn this.fg.get('isEmailBounced').value;\r\n\t}\r\n\tset isEmailBounced(val) {\r\n\t\tthis.fg.get('isEmailBounced').setValue(val);\r\n\t}\r\n\r\n\tget isEmailSpamReported(): boolean {\r\n\t\treturn this.fg.get('isEmailSpamReported').value;\r\n\t}\r\n\tset isEmailSpamReported(val) {\r\n\t\tthis.fg.get('isEmailSpamReported').setValue(val);\r\n\t}\r\n\r\n\tget deactivatedDueToInactivity(): boolean {\r\n\t\treturn this.fg.get('deactivatedDueToInactivity').value;\r\n\t}\r\n\tset deactivatedDueToInactivity(val) {\r\n\t\tthis.fg.get('deactivatedDueToInactivity').setValue(val);\r\n\t}\r\n\r\n\tget emailError(): any {\r\n\t\treturn this.fg.get('emailError').value;\r\n\t}\r\n\tset emailError(val) {\r\n\t\tthis.fg.get('emailError').setValue(val);\r\n\t}\r\n\r\n\tget stateLicenseNumber(): string {\r\n\t\treturn this.fg.get('stateLicenseNumber').value;\r\n\t}\r\n\tset stateLicenseNumber(val) {\r\n\t\tthis.fg.get('stateLicenseNumber').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n\r\n\tget strIsActive(): string {\r\n\t\treturn this.fg.get('strIsActive').value;\r\n\t}\r\n\tset strIsActive(val) {\r\n\t\tthis.fg.get('strIsActive').setValue(val);\r\n\t}\r\n\r\n\tget isLockedOut(): boolean {\r\n\t\treturn this.fg.get('isLockedOut').value;\r\n\t}\r\n\tset isLockedOut(val) {\r\n\t\tthis.fg.get('isLockedOut').setValue(val);\r\n\t}\r\n\r\n\tget inactivityTimeout(): boolean {\r\n\t\treturn this.fg.get('inactivityTimeout').value;\r\n\t}\r\n\tset inactivityTimeout(val) {\r\n\t\tthis.fg.get('inactivityTimeout').setValue(val);\r\n\t}\r\n\r\n\tget permissionId(): number {\r\n\t\treturn this.fg.get('permissionId').value;\r\n\t}\r\n\tset permissionId(val) {\r\n\t\tthis.fg.get('permissionId').setValue(val);\r\n\t}\r\n\r\n\tget permissionProfile(): string {\r\n\t\treturn this.fg.get('permissionProfile').value;\r\n\t}\r\n\tset permissionProfile(val) {\r\n\t\tthis.fg.get('permissionProfile').setValue(val);\r\n\t}\r\n\r\n\tget isSysAdmin(): boolean {\r\n\t\treturn this.fg.get('isSysAdmin').value;\r\n\t}\r\n\tset isSysAdmin(val) {\r\n\t\tthis.fg.get('isSysAdmin').setValue(val);\r\n\t}\r\n\r\n\tget clientId(): number {\r\n\t\treturn this.fg.get('clientId').value;\r\n\t}\r\n\tset clientId(val) {\r\n\t\tthis.fg.get('clientId').setValue(val);\r\n\t}\r\n\r\n\tget clientName(): string {\r\n\t\treturn this.fg.get('clientName').value;\r\n\t}\r\n\tset clientName(val) {\r\n\t\tthis.fg.get('clientName').setValue(val);\r\n\t}\r\n\r\n\tget hasBiometricClientSettings(): boolean {\r\n\t\treturn this.fg.get('hasBiometricClientSettings').value;\r\n\t}\r\n\tset hasBiometricClientSettings(val) {\r\n\t\tthis.fg.get('hasBiometricClientSettings').setValue(val);\r\n\t}\r\n\r\n\tget hasFidoClientSettings(): boolean {\r\n\t\treturn this.fg.get('hasFidoClientSettings').value;\r\n\t}\r\n\tset hasFidoClientSettings(val) {\r\n\t\tthis.fg.get('hasFidoClientSettings').setValue(val);\r\n\t}\r\n\r\n\tget customFields(): any {\r\n\t\treturn this.fg.get('customFields').value;\r\n\t}\r\n\tset customFields(val) {\r\n\t\tthis.fg.get('customFields').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n\r\n\tget userSignature(): SignatureVmFromFg {\r\n\t\treturn new SignatureVmFromFg(this.fg.get('userSignature') as UntypedFormGroup);\r\n\t}\r\n\tset userSignature(val) {\r\n\t\t(this.fg.get('userSignature') as UntypedFormGroup).setValue(val);\r\n\t}\r\n\r\n\tget userPin(): string {\r\n\t\treturn this.fg.get('userPin').value;\r\n\t}\r\n\tset userPin(val) {\r\n\t\tthis.fg.get('userPin').setValue(val);\r\n\t}\r\n\r\n\tget needToResetPin(): boolean {\r\n\t\treturn this.fg.get('needToResetPin').value;\r\n\t}\r\n\tset needToResetPin(val) {\r\n\t\tthis.fg.get('needToResetPin').setValue(val);\r\n\t}\r\n\r\n\tget showDepartments(): boolean {\r\n\t\treturn this.fg.get('showDepartments').value;\r\n\t}\r\n\tset showDepartments(val) {\r\n\t\tthis.fg.get('showDepartments').setValue(val);\r\n\t}\r\n\r\n\tget isNewUser(): boolean {\r\n\t\treturn this.fg.get('isNewUser').value;\r\n\t}\r\n\tset isNewUser(val) {\r\n\t\tthis.fg.get('isNewUser').setValue(val);\r\n\t}\r\n\r\n\tget isFromIops(): boolean {\r\n\t\treturn this.fg.get('isFromIops').value;\r\n\t}\r\n\tset isFromIops(val) {\r\n\t\tthis.fg.get('isFromIops').setValue(val);\r\n\t}\r\n\r\n\tget knoxId(): number {\r\n\t\treturn this.fg.get('knoxId').value;\r\n\t}\r\n\tset knoxId(val) {\r\n\t\tthis.fg.get('knoxId').setValue(val);\r\n\t}\r\n\r\n\tget isFromKnox(): boolean {\r\n\t\treturn this.fg.get('isFromKnox').value;\r\n\t}\r\n\tset isFromKnox(val) {\r\n\t\tthis.fg.get('isFromKnox').setValue(val);\r\n\t}\r\n\r\n\tget userType(): any {\r\n\t\treturn this.fg.get('userType').value;\r\n\t}\r\n\tset userType(val) {\r\n\t\tthis.fg.get('userType').setValue(val);\r\n\t}\r\n\r\n\tget logoFileName(): string {\r\n\t\treturn this.fg.get('logoFileName').value;\r\n\t}\r\n\tset logoFileName(val) {\r\n\t\tthis.fg.get('logoFileName').setValue(val);\r\n\t}\r\n\r\n\tget companyName(): string {\r\n\t\treturn this.fg.get('companyName').value;\r\n\t}\r\n\tset companyName(val) {\r\n\t\tthis.fg.get('companyName').setValue(val);\r\n\t}\r\n\r\n\tget lastLoginDate(): Date {\r\n\t\treturn this.fg.get('lastLoginDate').value;\r\n\t}\r\n\tset lastLoginDate(val) {\r\n\t\tthis.fg.get('lastLoginDate').setValue(val);\r\n\t}\r\n\r\n\tget lastLoginDateStr(): string {\r\n\t\treturn this.fg.get('lastLoginDateStr').value;\r\n\t}\r\n\tset lastLoginDateStr(val) {\r\n\t\tthis.fg.get('lastLoginDateStr').setValue(val);\r\n\t}\r\n\r\n\tget isUpdatedOffline(): string {\r\n\t\treturn this.fg.get('isUpdatedOffline').value;\r\n\t}\r\n\tset isUpdatedOffline(val) {\r\n\t\tthis.fg.get('isUpdatedOffline').setValue(val);\r\n\t}\r\n\r\n\tget isMultipleClients(): boolean {\r\n\t\treturn this.fg.get('isMultipleClients').value;\r\n\t}\r\n\tset isMultipleClients(val) {\r\n\t\tthis.fg.get('isMultipleClients').setValue(val);\r\n\t}\r\n\r\n\tget hasLoginHistory(): boolean {\r\n\t\treturn this.fg.get('hasLoginHistory').value;\r\n\t}\r\n\tset hasLoginHistory(val) {\r\n\t\tthis.fg.get('hasLoginHistory').setValue(val);\r\n\t}\r\n}\r\n","// tslint:disable: quotemark\r\nexport enum UserProfileTypeEnum {\r\n\tEmt = 0,\r\n\tEmtAdmin = 1,\r\n\tPcg = 2\r\n}\r\n\r\nexport namespace UserProfileTypeEnum {\r\n\texport function toDescription(val: UserProfileTypeEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"EMT non-admin\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"EMT admin\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"PCG\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class PermissionVm {\r\n\tid: number;\r\n\tpermissionProfileString?: string;\r\n\tcoreFeatures: boolean;\r\n\tmanageUsers: boolean;\r\n\treplenishment: boolean;\r\n\treconciliation: boolean;\r\n\tshiftChangeAuditor: boolean;\r\n\tapplicationSettings: boolean;\r\n\tcreateAndEditInventories: boolean;\r\n\tcreateAndEditCustomFields: boolean;\r\n\tprogramsAndDepartments: boolean;\r\n\tverificationSettings: boolean;\r\n\tmanageNdcDirectory: boolean;\r\n\tmanageHelpDocumentation: boolean;\r\n\treleaseNotes: boolean;\r\n\tsecurity: boolean;\r\n\tclients: boolean;\r\n\tglobalAuditHistory: boolean;\r\n\tviewQuartzJobs: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'permissionProfileString': new UntypedFormControl(null, [...(validators['permissionProfileString'] ?? []), ...[]]),\r\n\t\t\t'coreFeatures': new UntypedFormControl(false, [...(validators['coreFeatures'] ?? []), ...[]]),\r\n\t\t\t'manageUsers': new UntypedFormControl(false, [...(validators['manageUsers'] ?? []), ...[]]),\r\n\t\t\t'replenishment': new UntypedFormControl(false, [...(validators['replenishment'] ?? []), ...[]]),\r\n\t\t\t'reconciliation': new UntypedFormControl(false, [...(validators['reconciliation'] ?? []), ...[]]),\r\n\t\t\t'shiftChangeAuditor': new UntypedFormControl(false, [...(validators['shiftChangeAuditor'] ?? []), ...[]]),\r\n\t\t\t'applicationSettings': new UntypedFormControl(false, [...(validators['applicationSettings'] ?? []), ...[]]),\r\n\t\t\t'createAndEditInventories': new UntypedFormControl(false, [...(validators['createAndEditInventories'] ?? []), ...[]]),\r\n\t\t\t'createAndEditCustomFields': new UntypedFormControl(false, [...(validators['createAndEditCustomFields'] ?? []), ...[]]),\r\n\t\t\t'programsAndDepartments': new UntypedFormControl(false, [...(validators['programsAndDepartments'] ?? []), ...[]]),\r\n\t\t\t'verificationSettings': new UntypedFormControl(false, [...(validators['verificationSettings'] ?? []), ...[]]),\r\n\t\t\t'manageNdcDirectory': new UntypedFormControl(false, [...(validators['manageNdcDirectory'] ?? []), ...[]]),\r\n\t\t\t'manageHelpDocumentation': new UntypedFormControl(false, [...(validators['manageHelpDocumentation'] ?? []), ...[]]),\r\n\t\t\t'releaseNotes': new UntypedFormControl(false, [...(validators['releaseNotes'] ?? []), ...[]]),\r\n\t\t\t'security': new UntypedFormControl(false, [...(validators['security'] ?? []), ...[]]),\r\n\t\t\t'clients': new UntypedFormControl(false, [...(validators['clients'] ?? []), ...[]]),\r\n\t\t\t'globalAuditHistory': new UntypedFormControl(false, [...(validators['globalAuditHistory'] ?? []), ...[]]),\r\n\t\t\t'viewQuartzJobs': new UntypedFormControl(false, [...(validators['viewQuartzJobs'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): PermissionVmFromFg {\r\n\t\treturn new PermissionVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class PermissionVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget permissionProfileString(): string {\r\n\t\treturn this.fg.get('permissionProfileString').value;\r\n\t}\r\n\tset permissionProfileString(val) {\r\n\t\tthis.fg.get('permissionProfileString').setValue(val);\r\n\t}\r\n\r\n\tget coreFeatures(): boolean {\r\n\t\treturn this.fg.get('coreFeatures').value;\r\n\t}\r\n\tset coreFeatures(val) {\r\n\t\tthis.fg.get('coreFeatures').setValue(val);\r\n\t}\r\n\r\n\tget manageUsers(): boolean {\r\n\t\treturn this.fg.get('manageUsers').value;\r\n\t}\r\n\tset manageUsers(val) {\r\n\t\tthis.fg.get('manageUsers').setValue(val);\r\n\t}\r\n\r\n\tget replenishment(): boolean {\r\n\t\treturn this.fg.get('replenishment').value;\r\n\t}\r\n\tset replenishment(val) {\r\n\t\tthis.fg.get('replenishment').setValue(val);\r\n\t}\r\n\r\n\tget reconciliation(): boolean {\r\n\t\treturn this.fg.get('reconciliation').value;\r\n\t}\r\n\tset reconciliation(val) {\r\n\t\tthis.fg.get('reconciliation').setValue(val);\r\n\t}\r\n\r\n\tget shiftChangeAuditor(): boolean {\r\n\t\treturn this.fg.get('shiftChangeAuditor').value;\r\n\t}\r\n\tset shiftChangeAuditor(val) {\r\n\t\tthis.fg.get('shiftChangeAuditor').setValue(val);\r\n\t}\r\n\r\n\tget applicationSettings(): boolean {\r\n\t\treturn this.fg.get('applicationSettings').value;\r\n\t}\r\n\tset applicationSettings(val) {\r\n\t\tthis.fg.get('applicationSettings').setValue(val);\r\n\t}\r\n\r\n\tget createAndEditInventories(): boolean {\r\n\t\treturn this.fg.get('createAndEditInventories').value;\r\n\t}\r\n\tset createAndEditInventories(val) {\r\n\t\tthis.fg.get('createAndEditInventories').setValue(val);\r\n\t}\r\n\r\n\tget createAndEditCustomFields(): boolean {\r\n\t\treturn this.fg.get('createAndEditCustomFields').value;\r\n\t}\r\n\tset createAndEditCustomFields(val) {\r\n\t\tthis.fg.get('createAndEditCustomFields').setValue(val);\r\n\t}\r\n\r\n\tget programsAndDepartments(): boolean {\r\n\t\treturn this.fg.get('programsAndDepartments').value;\r\n\t}\r\n\tset programsAndDepartments(val) {\r\n\t\tthis.fg.get('programsAndDepartments').setValue(val);\r\n\t}\r\n\r\n\tget verificationSettings(): boolean {\r\n\t\treturn this.fg.get('verificationSettings').value;\r\n\t}\r\n\tset verificationSettings(val) {\r\n\t\tthis.fg.get('verificationSettings').setValue(val);\r\n\t}\r\n\r\n\tget manageNdcDirectory(): boolean {\r\n\t\treturn this.fg.get('manageNdcDirectory').value;\r\n\t}\r\n\tset manageNdcDirectory(val) {\r\n\t\tthis.fg.get('manageNdcDirectory').setValue(val);\r\n\t}\r\n\r\n\tget manageHelpDocumentation(): boolean {\r\n\t\treturn this.fg.get('manageHelpDocumentation').value;\r\n\t}\r\n\tset manageHelpDocumentation(val) {\r\n\t\tthis.fg.get('manageHelpDocumentation').setValue(val);\r\n\t}\r\n\r\n\tget releaseNotes(): boolean {\r\n\t\treturn this.fg.get('releaseNotes').value;\r\n\t}\r\n\tset releaseNotes(val) {\r\n\t\tthis.fg.get('releaseNotes').setValue(val);\r\n\t}\r\n\r\n\tget security(): boolean {\r\n\t\treturn this.fg.get('security').value;\r\n\t}\r\n\tset security(val) {\r\n\t\tthis.fg.get('security').setValue(val);\r\n\t}\r\n\r\n\tget clients(): boolean {\r\n\t\treturn this.fg.get('clients').value;\r\n\t}\r\n\tset clients(val) {\r\n\t\tthis.fg.get('clients').setValue(val);\r\n\t}\r\n\r\n\tget globalAuditHistory(): boolean {\r\n\t\treturn this.fg.get('globalAuditHistory').value;\r\n\t}\r\n\tset globalAuditHistory(val) {\r\n\t\tthis.fg.get('globalAuditHistory').setValue(val);\r\n\t}\r\n\r\n\tget viewQuartzJobs(): boolean {\r\n\t\treturn this.fg.get('viewQuartzJobs').value;\r\n\t}\r\n\tset viewQuartzJobs(val) {\r\n\t\tthis.fg.get('viewQuartzJobs').setValue(val);\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { faCheck} from '@fortawesome/pro-solid-svg-icons';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { PermissionVm } from '../../../../shared/generated/Admin/Models/Security/PermissionVm';\r\n\r\n@Component({\r\n selector: 'pcg-user-permissions-modal',\r\n templateUrl: './user-permissions-modal.component.html',\r\n styleUrls: ['./user-permissions-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserPermissionsModalComponent implements OnInit {\r\n\r\n\tpermissions: PermissionVm[];\r\n\tformGroup: UntypedFormGroup = PermissionVm.Form;\r\n\tfaCheck = faCheck;\r\n\t\r\n\teditorString: string;\r\n\thasDescriptions= false;\r\n\tjsonData: any;\r\n\r\n\tconstructor(\r\n\t\tpublic activeModal: NgbActiveModal\r\n\t\t, private http: HttpClient\r\n\t) { }\r\n\t\r\n\tngOnInit(): void {\r\n\t\tthis.getText();\r\n\t\tthis.getModalData();\r\n\t}\r\n\r\n\tgetModalData() {\r\n this.http.get(`api/Admin/PermissionInfo/GetPermissionForModal`)\r\n\t\t\t.subscribe((msg: any) => {\r\n \tthis.jsonData = JSON.parse(msg.model);\r\n\t\t\t\tthis.checkForDescriptions();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetText() {\r\n\t\tthis.http.get(`api/Admin/PermissionInfoText/GetPermissionText`)\r\n\t\t\t.subscribe((vm: any) => { \r\n\t\t\t\tthis.formGroup.patchValue(vm);\r\n\t\t\t\tthis.editorString = vm.text;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcheckPermissionLevel(\r\n\t\tpermissionProfilePermissionInfos: Array\r\n\t\t, permissionId: number\r\n\t) {\r\n\t\tvar hit = false;\r\n\t\tpermissionProfilePermissionInfos.forEach(p => { if (p[\"PermissionProfile\"] == permissionId) { hit = true; } });\r\n\t\treturn hit;\r\n\t}\r\n\r\n\tcheckForDescriptions(){\r\n\t\tfor (let data in this.jsonData) {\r\n\t\t\tif (\r\n\t\t\t\tthis.jsonData[data].PermissionDescription !== \"\" \r\n\t\t\t\t&& this.jsonData[data].PermissionDescription != null\r\n\t\t\t) { this.hasDescriptions = true; }\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t
Permissions
\r\n\t\r\n
\r\n
\r\n\t
\r\n
\r\n
\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t@if (hasDescriptions){}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t@if (hasDescriptions){ }\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
PermissionDescriptionTechnicianManagerAdminSystem Admin
{{permission.PermissionName}}{{permission.PermissionDescription}}
\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class DepartmentInventoryVm {\r\n\tdepartment?: string;\r\n\tassociatedInventories?: string[];\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'department': new UntypedFormControl(null, [...(validators['department'] ?? []), ...[]]),\r\n\t\t\t'associatedInventories': new UntypedFormControl([], [...(validators['associatedInventories'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): DepartmentInventoryVmFromFg {\r\n\t\treturn new DepartmentInventoryVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class DepartmentInventoryVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget department(): string {\r\n\t\treturn this.fg.get('department').value;\r\n\t}\r\n\tset department(val) {\r\n\t\tthis.fg.get('department').setValue(val);\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\nimport { DepartmentInventoryVm } from '../../../../shared/generated/Admin/Models/DepartmentInventoryVm';\r\n\r\n@Component({\r\n selector: 'pcg-department-inventories-modal',\r\n templateUrl: './department-inventories-modal.component.html',\r\n styleUrls: ['./department-inventories-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class DepartmentInventoriesModalComponent implements OnInit {\r\n\r\n\tformGroup: UntypedFormGroup = DepartmentInventoryVm.Form;\r\n\tmodel = DepartmentInventoryVm.GetModel(this.formGroup);\r\n\tdepartments: DepartmentInventoryVm[];\r\n\r\n\tconstructor(\r\n\t\tpublic activeModal: NgbActiveModal\r\n\t\t, private httpClient: HttpClient\r\n\t) { }\r\n\r\n\tngOnInit(): void { this.getDepartments(); }\r\n\tgetDepartments() { this.httpClient.get('api/Admin/Departments/GetDepartmentsAndInventoriesList').subscribe((model: any) => { this.departments = model; }); }\r\n}\r\n","
\r\n\t
Departments and their Associated Inventories
\r\n\t\r\n
\r\n
\r\n\t
\r\n\t\t
Department
\r\n\t\t
Associated Inventories
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
{{ dep?.department }}
\r\n\t\t\t
{{ dep?.associatedInventories[0] }}
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
{{ inventory }}
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { EditUserVm } from '../../../shared/generated/Admin/Models/User/EditUserVm';\r\nimport { SystemMessage } from '../../../core/system-message/system-message-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditUserService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n getUser(id: number) : Observable { return this.httpClient.get(`api/Admin/Users/GetUser/${id}`); }\r\n\r\n getUserByEmailNewUser(email: string) : Observable {\r\n return this.httpClient.get(`api/Admin/Users/GetUserByEmailNewUser?email=${email}`);\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, ViewChild, TemplateRef, inject, HostListener } from '@angular/core';\r\nimport { trigger, state, animate, transition, style } from '@angular/animations';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { \r\n\tfaUnlock\r\n\t, faInfoCircle\r\n\t, faUser\r\n\t, faStaffSnake\r\n\t, faEnvelope\r\n\t, faTennisBall\r\n\t, faHourglassClock\r\n\t, faEnvelopesBulk\r\n\t, faPowerOff \r\n} from '@fortawesome/pro-solid-svg-icons';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\n\r\nimport { EditUserVm } from '../../../shared/generated/Admin/Models/User/EditUserVm';\r\nimport { SystemMessageService, SystemMessage } from '../../../core/system-message/system-message-service';\r\nimport { SecurityService } from '../../../core/security/security.service';\r\nimport { DynamicFormService } from '../../../shared/form-elements/components/dynamic-form/dynamic-form.service';\r\nimport { DynamicFormFieldVm } from '../../../shared/generated/Models/DynamicFormFieldVm';\r\nimport { UserProfileTypeEnum } from '../../../core/enums/generated/UserProfileTypeEnum';\r\nimport { UserJsVm } from '../../../shared/generated/Admin/Models/User/UserJsVm';\r\nimport { UserPermissionsModalComponent } from './user-permissions-modal/user-permissions-modal.component';\r\nimport { DepartmentInventoriesModalComponent } from './department-inventories-modal/department-inventories-modal.component';\r\nimport { PermissionProfileEnum } from '../../../core/enums/generated/PermissionProfileEnum';\r\nimport { ActivationEnum } from '../../../core/enums/generated/ActivationEnum';\r\nimport { ActivationService } from '../../../shared/service/activation.service';\r\nimport { EditUserService } from '../../../admin/users/edit-user/editUser.service';\r\nimport { GlobalVariablesService } from '../../../services/global-variables.service';\r\nimport { CheckNetworkService } from '../../../../local-db/services/check-network.service';\r\nimport { AppDatabase } from '../../../../local-db/services/init.ldb.service';\r\nimport { SetLocaldbTablesService } from '../../../services/set-localdb-tables.service';\r\nimport { NotificationService } from '../../../services/notification.service';\r\nimport { AlertModalService } from '../../../shared/form-elements/components/alert-modal/alert-modal.service';\r\nimport { NavigationService } from '../../../shared/navigation/navigation.service';\r\nimport { GlobalService } from '../../../shared/service/global.service';\r\n\r\n@Component({\r\n selector: 'pcg-edit-user',\r\n templateUrl: './edit-user.component.html',\r\n styleUrls: ['./edit-user.component.scss'],\r\n animations: [\r\n trigger('visibilityChanged', [\r\n state('true', style({ opacity: 1 })),\r\n state('false', style({ opacity: 0 })),\r\n transition('* => *', animate('.3s'))\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class EditUserComponent implements OnInit, OnDestroy {\r\n\r\n\t@ViewChild('pinModal', { static: true }) pinModal: TemplateRef;\r\n\r\n\tnavService = inject(NavigationService);\r\n\r\n\tuserNameValidation = { pattern: \"Only letters, numbers, and symbols ( . @ - _ ' ) are allowed\" };\r\n\tfullNameValidation = { pattern: \"Only letters and symbols - ' . are allowed\" };\r\n\tphoneValidation = { pattern: \"Invalid phone number\"\t};\r\n\r\n\tformGroup = EditUserVm.Form;\r\n\tmodel = EditUserVm.GetModel(this.formGroup);\r\n\tfaIconName = { \r\n\t\tfaUnlock\r\n\t\t, faInfoCircle\r\n\t\t, faUser\r\n\t\t, faStaffSnake\r\n\t\t, faEnvelope\r\n\t\t, faTennisBall\r\n\t\t, faHourglassClock \r\n\t\t, faEnvelopesBulk\r\n\t\t, faPowerOff\r\n\t};\r\n\tfields: DynamicFormFieldVm[];\r\n\tmsg: SystemMessage;\r\n\tuser: UserJsVm;\r\n\tdepartments = {};\r\n\r\n\tid: number;\r\n\tcustomFieldsCount: number;\r\n\tclientIdOnLoad: number = 0;\t\r\n\r\n\tiAmMe: boolean;\r\n\tisLockedOut = false;\r\n\tisSysAdmin = false;\r\n\tisTechnician = false;\r\n\tcanEdit = false;\r\n\tcanManageUser = false;\r\n\thasDepartmentPermissions = false;\r\n\tcanChangePermissions = false;\r\n\tcanSeePasswordButtons = false;\r\n\tisCurrentUser = false; \r\n\tcanManageNotifications: boolean;\r\n\tisNewUser = true;\r\n\tisOnline: boolean;\r\n\tfirstLoad = false;\r\n\tisMultipleClients = false;\r\n\tshowMultiClientMessage = false;\r\n\tisError = false;\r\n\tshowValidateEmail = false;\r\n\tuseDifferentEmail = false;\r\n\tuserExistsInAgency = false;\r\n\tisMobile = false;\r\n isKnox = false;\r\n\r\n\tactivateByEmailId: number;\r\n\r\n\tpin: string;\r\n\tviewModelString = 'Admin.Models.User.EditUserVm';\r\n auditHistoryName = 'Edit User Audit History';\r\n\tdisplayMessage: 'block' | 'none' = 'none';\r\n\tstrClientName = \"\";\t\r\n\tstrError = \"\";\r\n\t\r\n\ttimout: any\r\n\r\n\tconstructor(\r\n\t\tprivate route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t\t, public router: Router\r\n\t\t, private modalService: NgbModal\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private sec: SecurityService\r\n\t\t, private dynForm: DynamicFormService\r\n\t\t, private activationService: ActivationService\r\n\t\t, private editUserService: EditUserService\r\n\t\t, private gvs: GlobalVariablesService\r\n\t\t, private localDb: AppDatabase\r\n\t\t, private localDbService: SetLocaldbTablesService\r\n\t\t, private ns: NotificationService\r\n\t\t, private alertModalService: AlertModalService\r\n\t) { }\r\n\r\n\t@HostListener('window:resize')\r\n\tonResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n\topenWindow = (o: string) => { this.router.navigateByUrl('/' + o); };\t\r\n\r\n\tngOnInit() {\r\n\t\tthis.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n\t\tthis.isOnline = CheckNetworkService.checkNetworkStatus();\r\n\t\tthis.user = this.sec.getUser();\r\n this.isKnox = this.user?.isKnox;\r\n\t\tthis.isSysAdmin = this.sec.getSecurity()?.permissionProfile === PermissionProfileEnum.SysAdmin;\r\n\t\tthis.isTechnician = this.sec.getSecurity()?.permissionProfile === PermissionProfileEnum.Technician;\r\n\t\tthis.canChangePermissions = this.sec.hasAccess(o => o.canChangePermissions);\r\n\t\tthis.hasDepartmentPermissions = this.sec.hasAccess(o => o.programsAndDepartments);\r\n\t\tthis.addSecuritySubscription();\r\n\t\tthis.addRouteSubscription();\r\n\t}\r\n \r\n\t/** Update the local dynamic security object when the security updates */\r\n\taddSecuritySubscription() {\r\n\t\tthis.sec.security$.subscribe(() => {\r\n\t\t\tthis.canEdit = this.sec.hasAccess(o => o.manageUsers);\r\n\t\t\tthis.canManageUser = this.sec.hasAccess(o => o.manageUsers);\r\n\t\t\tthis.sec.setControlAccess(this.formGroup?.controls?.permissionId, o => o.canChangePermissions);\r\n\t\t});\r\n\t}\r\n\r\n\t/** Subscribe to route to pick up id changes and update page accordingly */\r\n\taddRouteSubscription() {\r\n\t\tthis.route.paramMap.subscribe(map => {\r\n\t\t\t// Allow user to view page if it is either their profile\r\n\t\t\t// or they have admin access to view other people's profiles\r\n\t\t\tconst user = this.sec.getUser();\r\n\t\t\tthis.id = parseInt(map.get('id')!, 10);\r\n\t\t\tif (\r\n\t\t\t\t!this.id \r\n\t\t\t\t&& this.id !== 0\r\n\t\t\t) { this.router.navigateByUrl('dashboard'); }\r\n\r\n\t\t\tthis.iAmMe = user?.id === this.id;\r\n\t\t\tthis.canManageNotifications = user?.userProfileType !== UserProfileTypeEnum.Emt;\r\n\t\t\tif (\r\n\t\t\t\tthis.id !== user?.id \r\n\t\t\t\t&& !this.canEdit\r\n\t\t\t) { this.router.navigate(['/']); }\r\n\r\n\t\t\tthis.isCurrentUser = this.id === user?.id;\r\n\t\t\tif (this.isOnline) { this.editUserService.getUser(this.id).subscribe((vm: EditUserVm) => { this.setModel(vm); }); } \r\n\t\t\telse { this.grabUserFromLocalDb(); }\t\t\t\r\n\t\t});\r\n\t}\r\n\r\n\tsetModel(vm: EditUserVm) {\r\n\t\tthis.fields = vm.fields!;\r\n\t\tthis.formGroup = this.dynForm.updateFormGroupFields(this.formGroup, vm.fields!);\r\n\t\tthis.customFieldsCount = vm.fields?.length ?? 0;\r\n\t\tthis.formGroup.patchValue(vm);\r\n\t\tthis.model = EditUserVm.GetModel(this.formGroup);\r\n\t\tthis.isNewUser = vm.isNewUser;\r\n\t\tthis.strClientName = vm.clientName!;\r\n\t\tthis.isMultipleClients = vm.isMultipleClients;\r\n\t\tthis.gvs.userName.set(vm.fullName!);\r\n\r\n\t\tthis.canSeePasswordButtons =\r\n\t\t\tvm.isActive \r\n\t\t\t&& !vm.isLockedOut \r\n\t\t\t&& vm.userId !== this.sec.getUser().id \r\n\t\t\t&& vm.userId !== 0;\r\n\t\tthis.isLockedOut = vm.isLockedOut;\r\n\t\t\t\t\t\t\t\t\r\n\t\t//populate the selected associated inventories that get passed to the model.InventoryIds on load of the user\r\n\t\tthis.formGroup.controls.inventoryIds.setValue(this.formGroup.value.inventoryIds);\r\n\r\n\t\tif (this.clientIdOnLoad === 0) { this.clientIdOnLoad = vm.clientId!; } \r\n\t\telse {\r\n\t\t\tthis.model.clientId = this.clientIdOnLoad;\r\n\t\t\tthis.formGroup.controls.clientId.setValue(this.clientIdOnLoad);\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.user.isUsingSso \r\n\t\t\t&& this.model.permissionId < PermissionProfileEnum.SysAdmin\r\n\t\t) { this.formGroup.controls.clientId.disable(); }\r\n\r\n if (\r\n this.user?.isKnox\r\n && this.model?.isFromKnox \r\n ) {\r\n this.formGroup.controls.fullName.disable();\r\n this.formGroup.controls.email.disable();\r\n }\r\n\t}\r\n\r\n\t/** The main save event for the page */\r\n\tonMessageSuccess(systemMessage: SystemMessage) {\r\n\t\tconst isCreatingUser = this.id === 0;\r\n\t\tconst model = this.formGroup.value;\t\r\n\t\tthis.id = model.userId;\r\n\t\t\r\n\t\tif (isCreatingUser) {\r\n\t\t\tthis.router.navigateByUrl(`/admin/users/edit/inventories/${model.userId}?isCreatingNewUser=true`);\r\n\t\t} else if (this.canManageUser) {\t\t\r\n\t\t\tthis.router.navigateByUrl('/', { skipLocationChange: true })\r\n\t\t\t\t.then(() => { this.router.navigate([`/admin/users/edit/details/${model.userId}`]); });\r\n\t\t}\r\n\t\tthis.canSeePasswordButtons = model.isActive \r\n\t\t\t&& !model.isLockedOut \r\n\t\t\t&& model.userId !== this.sec.getUser().id \r\n\t\t\t&& model.userId !== 0;\r\n\t\tthis.sec.setSecurity(\r\n\t\t\tundefined!\r\n\t\t\t, systemMessage.value.userJsVm\r\n\t\t\t, systemMessage.value.dynamicSecurity\r\n\t\t);\r\n\t}\r\n\r\n\t// used for the back button on the Details page only for a new user\r\n\thandleBackDetails() { this.router.navigateByUrl(`/admin/users/list`); }\r\n\t/** Unlock user, called when the unlock svg clicked on locked user */\r\n\tunlockUser() { this.ms.getHttpObservable(this, `api/Admin/Users/UnlockUser/${this.id}`).subscribe(() => { this.isLockedOut = false; }); }\r\n\r\n\tactivateDeactivate() { \r\n\t\tthis.activationService.activateDeactivate(\r\n\t\t\tthis.id\r\n\t\t\t, ActivationEnum.User\r\n\t\t\t, this.model.isActive ? false : true\r\n\t\t); \t\r\n\t}\r\n\r\n\tactivateByEmail() {\r\n\t\tconst model = new UntypedFormGroup({\r\n\t\t\tid: new UntypedFormControl(this.activateByEmailId),\r\n\t\t\tactivationEnum: new UntypedFormControl(ActivationEnum.User),\r\n\t\t\tisActive: new UntypedFormControl(true)\r\n\t\t});\r\n\t\r\n\t\tthis.ms.getHttpObservable(this, 'api/Activation/ActivateDeactivate', model)\r\n\t\t\t.subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (!sm?.isSuccessful) { this.isError = true; }\r\n\t\t\t\telse { this.router.navigateByUrl(`admin/users/edit/details/${model.value.id}`); }\r\n\t\t\t}\r\n\t\t);\r\n\t\r\n\t\tthis.activateByEmailId = null!;\r\n\t\tthis.userExistsInAgency = false;\r\n\t\tthis.isError = false;\r\n\t}\r\n\t\r\n\t/** Called on click of the reset password and welcome email buttons */\r\n\tresetPassword(\r\n\t\tisWelcomeEmail: boolean\r\n\t\t, isSystemMessage: boolean\r\n\t) {\r\n\t\tthis.httpClient.post(\r\n\t\t\t'api/Account/ForgotPassword'\r\n\t\t\t, {\r\n\t\t\t\temail: this.formGroup.value.email\r\n\t\t\t\t, isWelcomeEmail\r\n\t\t\t}\r\n\t\t).subscribe((msg: any) => {\r\n\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\tthis.ns.showSuccess(`An email has been sent to the user with a ${isWelcomeEmail ? 'welcome' : 'reset password'} link.`, { timeOut: 2000 });\r\n\t\t\t} else { this.ns.showError(\"An error occurred when attempting to send the email.\", { timeOut: 5000 }); }\r\n\t\t});\r\n\t\tif (isSystemMessage) {\r\n\t\t\t// timed out so that the user can see the confirmation system message before being redirected\r\n\t\t\tsetTimeout(() => { this.router.navigateByUrl(\"admin/users/list\") }, 500);\r\n\t\t}\t\t\r\n\t}\r\n\r\n\tgrabUserFromLocalDb() {\r\n\t\t// get data from localDb if offline and there is something in the localDb\r\n\t\tthis.localDb.table(\"EditUserTbl\").toArray()\r\n\t\t\t.then((response) => { \r\n\t\t\t\tif (response?.length > 0) {\r\n\t\t\t\t\tlet filteredResponse = response.filter(o => o.userId === this.id && this.id !== 0);\r\n\t\t\t\t\tif (filteredResponse?.length > 0) { \r\n\t\t\t\t\t\tthis.formGroup.patchValue(filteredResponse[filteredResponse?.length - 1]);\r\n\r\n\t\t\t\t\t\tthis.fields = filteredResponse[filteredResponse?.length - 1].fields;\r\n\t\t\t\t\t\tthis.formGroup = this.dynForm.updateFormGroupFields(this.formGroup, filteredResponse[filteredResponse?.length - 1].fields);\r\n\t\t\t\t\t\tthis.customFieldsCount = filteredResponse[filteredResponse?.length - 1].fields?.length ?? 0;\r\n\t\t\t\t\t\tthis.formGroup.patchValue(filteredResponse[filteredResponse?.length - 1]);\r\n\t\t\t\t\t\tthis.model = EditUserVm.GetModel(this.formGroup);\r\n\t\t\t\t\t\tthis.isNewUser = filteredResponse[filteredResponse?.length - 1].isNewUser;\r\n\t\t\t\t\t\tthis.gvs.userName.set(filteredResponse[filteredResponse?.length - 1].fullName);\r\n\t\t\r\n\t\t\t\t\t\tthis.canSeePasswordButtons = filteredResponse[filteredResponse?.length - 1].isActive \r\n\t\t\t\t\t\t\t&& !filteredResponse[filteredResponse?.length - 1].isLockedOut \r\n\t\t\t\t\t\t\t&& filteredResponse[filteredResponse?.length - 1].userId !== this.sec.getUser().id \r\n\t\t\t\t\t\t\t&& filteredResponse[filteredResponse?.length - 1].userId !== 0;\r\n\t\t\t\t\t\tthis.isLockedOut = filteredResponse[filteredResponse?.length - 1].isLockedOut;\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t//populate the selected associated inventories that get passed to the model.InventoryIds on load of the user\r\n\t\t\t\t\t\tthis.formGroup.controls.inventoryIds.setValue(this.formGroup.value.inventoryIds);\r\n\t\t\t\t\t} else { // means a new user is being created offline\r\n\t\t\t\t\t\tthis.formGroup.controls.isActive.setValue(true);\r\n\t\t\t\t\t}\t\r\n\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.user.isUsingSso \r\n\t\t\t\t\t\t&& this.model.permissionId < PermissionProfileEnum.SysAdmin\r\n\t\t\t\t\t) { this.formGroup.controls.clientId.disable(); }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\temailChange() {\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\t\tthis.showMultiClientMessage = false;\r\n\t\tthis.showValidateEmail = false;\r\n\t\tthis.useDifferentEmail = false;\r\n\t\tthis.userExistsInAgency = false;\r\n\r\n\t\tif (this.model.email === \"\") { return; }\r\n\t\r\n\t\tif (this.id === 0) {\r\n\t\t\tthis.editUserService.getUserByEmailNewUser(this.model.email).subscribe((sm: SystemMessage) => {\r\n\t\t\t\tif (sm.isSuccessful) {\r\n\t\t\t\t\tif (sm?.model?.clientId !== this.clientIdOnLoad) { \r\n\t\t\t\t\t\tthis.showMultiClientMessage = true; \r\n\t\t\t\t\t\tthis.setModel(sm?.model);\r\n\t\t\t\t\t\tthis.formGroup.controls.isActive.patchValue(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\tif (sm.model != null) {\r\n\t\t\t\t\t\tthis.strError = sm.message + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Email: \" + sm.model?.emailError?.email + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Verdict: \" + sm.model?.emailError?.verdict + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Score: \" + sm.model?.emailError?.score + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Mx or a Record: \" + sm.model?.emailError?.checks?.domain?.has_mx_or_a_record + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Valid Address Syntax: \" + sm.model?.emailError?.checks?.domain?.has_valid_address_syntax + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Is Suspected Disposable Address: \" + sm.model?.emailError?.checks?.domain?.is_suspected_disposable_address + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Known Bounces: \" + sm.model?.emailError?.checks?.additional?.has_known_bounces + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Suspected Bounces: \" + sm.model?.emailError?.checks?.additional?.has_suspected_bounces + \"\\n\\n\"\r\n\t\t\t\t\t\t\t+ \"If this is a valid email address, finish filling out the form and click next to continue.\";\r\n\t\t\t\t\t} else { \r\n\t\t\t\t\t\tthis.strError = sm.message!; \r\n\t\t\t\t\t\tif (sm.value.emailAlreadyExists === true){\r\n\t\t\t\t\t\t\tthis.userExistsInAgency = true;\r\n\t\t\t\t\t\t\tthis.activateByEmailId = sm.model.userId;\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.httpClient.post(\r\n\t\t\t\t`api/Admin/Users/ChangeEmail`\r\n\t\t\t\t, {\r\n\t\t\t\t\tid: this.model.userId\r\n\t\t\t\t\t, email: this.model.email\r\n\t\t\t\t}\r\n\t\t\t).subscribe((sm: any) => {\r\n\t\t\t\tif (!sm?.isSuccessful) {\r\n\t\t\t\t\tthis.isError = true;\r\n\t\t\t\t\tif (sm?.value == false) { this.strError = sm?.message; } \r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.showValidateEmail = true;\r\n\t\t\t\t\t\tthis.strError = sm?.message + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Email: \" + sm?.model?.email + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Verdict: \" + sm?.model?.verdict + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Score: \" + sm?.model?.score + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Mx or a Record: \" + sm?.model?.checks?.domain?.has_mx_or_a_record + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Valid Address Syntax: \" + sm?.model?.checks?.domain?.has_valid_address_syntax + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Is Suspected Disposable Address: \" + sm?.model?.checks?.domain?.is_suspected_disposable_address + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Known Bounces: \" + sm?.model?.checks?.additional?.has_known_bounces + \"\\n\"\r\n\t\t\t\t\t\t\t+ \"Has Suspected Bounces: \" + sm?.model?.checks?.additional?.has_suspected_bounces;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateEmail() {\r\n\t\tthis.showValidateEmail = false;\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Admin/Users/ValidateEmail?id=${this.model.userId}`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: any) => {\r\n\t\t\tif (sm?.isSuccessful) {\r\n\t\t\t\tthis.model.emailConfirmed = true;\r\n\t\t\t\tthis.formGroup.controls.emailConfirmed.patchValue(true);\r\n\t\t\t\tthis.ns.showSuccess(sm.message, { timeOut: 2000 });\r\n\t\t\t} else {\r\n\t\t\t\tthis.showValidateEmail = true;\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm?.message + \"\\n\"\r\n\t\t\t\t\t+ \"Email: \" + sm?.model?.email + \"\\n\"\r\n\t\t\t\t\t+ \"Verdict: \" + sm?.model?.verdict + \"\\n\"\r\n\t\t\t\t\t+ \"Score: \" + sm?.model?.score + \"\\n\"\r\n\t\t\t\t\t+ \"Has Mx or a Record: \" + sm?.model?.checks?.domain?.has_mx_or_a_record + \"\\n\"\r\n\t\t\t\t\t+ \"Has Valid Address Syntax: \" + sm?.model?.checks?.domain?.has_valid_address_syntax + \"\\n\"\r\n\t\t\t\t\t+ \"Is Suspected Disposable Address: \" + sm?.model?.checks?.domain?.is_suspected_disposable_address + \"\\n\"\r\n\t\t\t\t\t+ \"Has Known Bounces: \" + sm?.model?.checks?.additional?.has_known_bounces + \"\\n\"\r\n\t\t\t\t\t+ \"Has Suspected Bounces: \" + sm?.model?.checks?.additional?.has_suspected_bounces;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\toverrideAndValidate() {\r\n\t\tthis.showValidateEmail = false;\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Admin/Users/ValidateEmail?id=${this.model.userId}&overrideValidate=true`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: any) => {\r\n\t\t\tif (sm?.isSuccessful) {\r\n\t\t\t\tthis.model.emailConfirmed = true;\r\n\t\t\t\tthis.formGroup.controls.emailConfirmed.patchValue(true);\r\n\t\t\t\tthis.ns.showSuccess(sm.message, { timeOut: 2000 });\r\n\t\t\t} else {\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm?.message;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tbounceEmail() {\r\n\t\tthis.isError = false;\r\n\t\tthis.strError = \"\";\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Admin/Users/RemoveBounceEmail?id=${this.model.userId}`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: any) => {\r\n\t\t\tif (sm?.isSuccessful) {\r\n\t\t\t\tthis.model.isEmailBounced = false;\r\n\t\t\t\tthis.formGroup.controls.isEmailBounced.patchValue(false);\r\n\t\t\t\tthis.ns.showSuccess(sm.message, { timeOut: 2000 });\r\n\t\t\t} else {\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm?.message;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tundoSpamReport() {\r\n\t\tthis.httpClient.get(`api/Admin/Users/RemoveSpamReport?id=${this.model.userId}`).subscribe((sm: any) => {\r\n\t\t\tif (sm?.isSuccessful) {\r\n\t\t\t\tthis.model.isEmailSpamReported = false;\r\n\t\t\t\tthis.formGroup.controls.isEmailSpamReported.patchValue(false);\r\n\t\t\t\tthis.ns.showSuccess(sm.message, { timeOut: 2000 });\r\n\t\t\t} else {\r\n\t\t\t\tthis.isError = true;\r\n\t\t\t\tthis.strError = sm?.message;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tnoClick() { \r\n\t\tthis.useDifferentEmail = true;\r\n\t\tthis.showMultiClientMessage = false;\r\n\t\tthis.model.email = \"\";\r\n\t}\r\n\r\n\tyesClick() {\r\n\t\tthis.useDifferentEmail = false;\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Admin/Users/SaveUserToNewClient?id=${this.model.userId}&clientId=${this.model.clientId}`\r\n\t\t\t, {}\r\n\t\t).subscribe((sm: any) => {\r\n\t\t\tif (!sm.isSuccessful) { this.ns.showError(sm.message, { timeOut: 5000 }); }\r\n\t\t\telse { this.router.navigateByUrl(`/admin/users/edit/inventories/${sm.model.userId}`); }\r\n\t\t});\r\n\t}\r\n\r\n\t/** Opens the change password modal.\r\n\t * Called on click of the Change Passoword button when user looking at their profile. */\r\n\topenPermissionsInfoModal() { this.modalService.open(UserPermissionsModalComponent, { size: 'xl' }); }\r\n\topenInfoModal() { this.modalService.open(DepartmentInventoriesModalComponent); }\r\n\tngOnDestroy() { this.formGroup = null!; }\r\n\r\n\t// #region Logout\r\n\tlogout() {\r\n\t\tlet isOnline = CheckNetworkService.checkNetworkStatus();\r\n\t\tif (isOnline) { this.executeLogout(); } \r\n\t\telse {\r\n\t\t\tthis.alertModalService.openAlert(\r\n\t\t\t\t\"Are you sure you want to log out? You are offline and will not be able to log in until you are back online.\"\r\n\t\t\t\t, () => { this.executeLogout(); }\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\texecuteLogout() {\r\n\t\tthis.gvs.isNavFixed.set(false);\r\n\t\tthis.navService.collapseAllSubNavs();\r\n\t\tthis.sec.setSecurity(null, null, null);\r\n\t\tlocalStorage.removeItem(\"subNavPosition\");\r\n\t\tsessionStorage.clear();\r\n\t\tthis.deleteAllCookies();\r\n\t\r\n\t\tthis.httpClient.get(`api/Account/Logout?userId=${this.user.id}`).subscribe((msg: any) => {\r\n\t\t\tif (msg.value != null) { window.location.href = msg.value; }\r\n\t\t\tif (!msg.isSuccessful) { this.ns.showError(msg.message, {timeOut: 5000}); }\r\n\t\t});\r\n\t\tthis.router.navigate(['/login']);\r\n\t}\r\n\r\n\tdeleteAllCookies() {\r\n\t\tconst cookies = document?.cookie?.split(\";\");\r\n\r\n\t\tfor (let i = 0; i < cookies.length; i++) {\r\n\t\t\tconst cookie = cookies[i];\r\n\t\t\tconst eqPos = cookie.indexOf(\"=\");\r\n\t\t\tconst name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\r\n\t\t\tdocument.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:00 GMT\";\r\n\t\t}\r\n\t}\r\n\t//#endregion \r\n}\r\n","
\r\n\t\r\n\t\r\n\r\n\t@if (\r\n\t\tmodel.userId > 0\r\n\t\t&& (\r\n\t\t\t(\r\n\t\t\t\tmodel.isEmailBounced\r\n\t\t\t\t|| !model.emailConfirmed\r\n\t\t\t\t|| isLockedOut\r\n\t\t\t\t|| model.isEmailSpamReported\r\n\t\t\t)\r\n\t\t\t|| (\r\n\t\t\t\t(canChangePermissions ? true : null) \r\n\t\t\t\t&& id !== 0\r\n\t\t\t\t&& !isCurrentUser\r\n\t\t\t)\r\n\t\t\t|| (\r\n\t\t\t\tisCurrentUser \r\n\t\t\t\t&& !isMobile\r\n\t\t\t)\r\n\t\t)\r\n\t) {\r\n\t\t
\r\n\t\t\t\r\n\t\t\t@if (model.isEmailBounced) {\r\n\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

Unbounce Email

\r\n\t\t\t\t
\r\n\t\t\t}\t\t\r\n\t\r\n\t\t\t\r\n\t\t\t@if (!model.emailConfirmed) {\r\n\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

Validate Email

\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\r\n\t\t\t\r\n\t\t\t@if (isLockedOut) {\r\n\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

Unlock

\r\n\t\t\t\t
\r\n\t\t\t}\t\t\r\n\t\r\n\t\t\t\r\n\t\t\t@if (model.isEmailSpamReported) {\r\n\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

Undo Spam

\r\n\t\t\t\t
\r\n\t\t\t}\r\n\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t@if (\r\n\t\t\t\t\t(canChangePermissions ? true : null) \r\n\t\t\t\t\t&& id !== 0\r\n\t\t\t\t\t&& !isCurrentUser\r\n\t\t\t\t) {\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{ model.isActive ? 'Deactivate' : 'Reactivate' }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t@if (!model.deactivatedDueToInactivity) {\r\n\t\t\t\t\t\t

This user is deactivated.

\r\n\t\t\t\t\t}\r\n\t\t\t\t\t@if (model.deactivatedDueToInactivity) {\r\n\t\t\t\t\t\t

This user is deactivated due to inactivity.

\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\r\n\t\t\t@if (\r\n\t\t\t\tisCurrentUser \r\n\t\t\t\t&& !isMobile\r\n\t\t\t) {\r\n\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

Logout

\r\n\t\t\t\t
\r\n\t\t\t}\r\n\t\t\r\n\t} @else {
}\r\n\r\n\t@if (model.isFromIops) {\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t

Account originated in iOps360

\r\n\t\t\t
\r\n\t\t\t
Visit iOps
\r\n\t\t
\r\n\t} @else if (model.isFromKnox) {\r\n
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t

Account originated in Knox

\r\n\t\t\t
\r\n\t\t\t
Visit Knox
\r\n\t\t
\r\n }\r\n\r\n\t@if (showMultiClientMessage) {\r\n\t\t
\r\n\t\t\tA user with this email already exists for another Customer. Would you like to associate this user to your agency as well?\r\n\t\t\t

\r\n\t\t\t\r\n\t\t\t   \r\n\t\t\t\r\n\t\t
\r\n\t}\t\r\n\r\n\t@if (useDifferentEmail) {
You'll need to use a different email address.
}\r\n\r\n\t
\r\n\t\t@if (isError) {\r\n\t\t\t
\r\n\t\t\t\t{{ strError }}\r\n\t\t\t\t@if (showValidateEmail) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tIf you know this is a valid email address click the validate button.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t@if (userExistsInAgency) {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tIf you would like to reactivate this user click \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\t\t\t\t\r\n\t\t\t
\r\n\t\t}\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\r\n\t\t\t@if (\r\n\t\t\t\tid !== 0 \r\n\t\t\t\t&& !model.isNewUser\r\n\t\t\t) {\r\n\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\t\t\t\r\n\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\r\n\t\t\t@if (\r\n\t\t\t\tcanSeePasswordButtons \r\n\t\t\t\t&& isNewUser\r\n\t\t\t) {\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t}\r\n\t\t
\r\n\r\n\t\t@if (isNewUser) {
}\r\n\r\n\t\t
\r\n\t\t\t@if (isSysAdmin) {\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\t\t\t@if (\r\n\t\t\t\tmodel.showDepartments \r\n\t\t\t\t&& hasDepartmentPermissions \r\n\t\t\t\t&& id !== 0\r\n\t\t\t) {\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDepartment\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t}\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n @if (isKnox) {\r\n @if (model.isFromKnox) {\r\n
\r\n \r\n {{ model?.knoxId }}\r\n
\r\n } @else {\r\n \r\n \r\n \r\n }\r\n }\r\n\t\t
\r\n\t\r\n\t\t\r\n\t\t@if (\r\n\t\t\tid === 0 \r\n\t\t\t|| model.isNewUser\r\n\t\t) {\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t}\r\n\t\r\n\t\t@if (customFieldsCount > 0) {\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\t\t\r\n\t\t}\r\n\t
\r\n\r\n\t\r\n\t\t@if (\r\n isMobile \r\n && iAmMe\r\n ) {\r\n\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t@if (\r\n\t\t\t(\r\n\t\t\t\t!isCurrentUser \r\n\t\t\t\t|| canManageUser\r\n\t\t\t) \r\n\t\t\t&& !model.isNewUser\r\n\t\t) {\r\n\t\t\tBack\r\n\t\t}\r\n\t\t@if (\r\n\t\t\t(\r\n\t\t\t\t!isCurrentUser \r\n\t\t\t\t|| canManageUser\r\n\t\t\t) \r\n\t\t\t&& model.isNewUser\r\n\t\t) {\r\n\t\t\tBack\r\n\t\t}\r\n\t\t@if (id !== 0) { }\r\n\t\t@if (id === 0) { }\t\t\r\n\t\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class LoginHistoryVm {\r\n\tattemptSuccessful?: string;\r\n\tuserName?: string;\r\n\tuserID: number;\r\n\tipAddress?: string;\r\n\tdateAttempted: Date;\r\n\tdateAttemptedFormatted?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'attemptSuccessful': new UntypedFormControl(null, [...(validators['attemptSuccessful'] ?? []), ...[]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[]]),\r\n\t\t\t'userID': new UntypedFormControl(0, [...(validators['userID'] ?? []), ...[Validators.required]]),\r\n\t\t\t'ipAddress': new UntypedFormControl(null, [...(validators['ipAddress'] ?? []), ...[]]),\r\n\t\t\t'dateAttempted': new UntypedFormControl('', [...(validators['dateAttempted'] ?? []), ...[Validators.required]]),\r\n\t\t\t'dateAttemptedFormatted': new UntypedFormControl(null, [...(validators['dateAttemptedFormatted'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['dateAttempted', {\"orderId\":0,\"sortColumn\":\"dateAttempted\",\"searchColumn\":\"dateAttemptedFormatted\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Date Attempted\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['attemptSuccessful', {\"orderId\":1,\"sortColumn\":\"attemptSuccessful\",\"searchColumn\":\"attemptSuccessful\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Attempt Successful?\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['userName', {\"orderId\":2,\"sortColumn\":\"userName\",\"searchColumn\":\"userName\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Username\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['ipAddress', {\"orderId\":3,\"sortColumn\":\"ipAddress\",\"searchColumn\":\"ipAddress\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"IP Address\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): LoginHistoryVmFromFg {\r\n\t\treturn new LoginHistoryVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class LoginHistoryVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget attemptSuccessful(): string {\r\n\t\treturn this.fg.get('attemptSuccessful').value;\r\n\t}\r\n\tset attemptSuccessful(val) {\r\n\t\tthis.fg.get('attemptSuccessful').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget userID(): number {\r\n\t\treturn this.fg.get('userID').value;\r\n\t}\r\n\tset userID(val) {\r\n\t\tthis.fg.get('userID').setValue(val);\r\n\t}\r\n\r\n\tget ipAddress(): string {\r\n\t\treturn this.fg.get('ipAddress').value;\r\n\t}\r\n\tset ipAddress(val) {\r\n\t\tthis.fg.get('ipAddress').setValue(val);\r\n\t}\r\n\r\n\tget dateAttempted(): Date {\r\n\t\treturn this.fg.get('dateAttempted').value;\r\n\t}\r\n\tset dateAttempted(val) {\r\n\t\tthis.fg.get('dateAttempted').setValue(val);\r\n\t}\r\n\r\n\tget dateAttemptedFormatted(): string {\r\n\t\treturn this.fg.get('dateAttemptedFormatted').value;\r\n\t}\r\n\tset dateAttemptedFormatted(val) {\r\n\t\tthis.fg.get('dateAttemptedFormatted').setValue(val);\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\n\r\nimport { LoginHistoryVm } from '../../../../shared/generated/Admin/Models/LoginHistoryVm';\r\nimport { GlobalVariablesService } from '../../../../services/global-variables.service';\r\nimport { EditUserService } from '../editUser.service';\r\nimport { EditUserVm } from '../../../../shared/generated/Admin/Models/User/EditUserVm';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-user-login-history',\r\n templateUrl: './user-login-history.component.html',\r\n styleUrls: ['./user-login-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserLoginHistoryComponent implements OnInit {\r\n\r\n\tid: number;\r\n\r\n\tcolumns = LoginHistoryVm.ColumnDefs;\t\r\n\r\n\tconstructor(\r\n\t\tprivate route: ActivatedRoute\r\n\t\t, private editUserService: EditUserService\r\n\t\t, private gvs: GlobalVariablesService\r\n\t) {}\r\n\r\n\tngOnInit() { \r\n\t\tthis.route.paramMap.pipe(untilDestroyed(this)).subscribe(map => { this.id = Number(map.get('id')); });\t\r\n\t\tthis.route.paramMap.subscribe(map => {\r\n\t\t\tthis.editUserService.getUser(this.id).subscribe((model: EditUserVm) => { this.gvs.userName.set(model.fullName!); });\r\n\t\t});\r\n\t}\r\n}","\r\n\t\r\n\t\t{{ columns.get('dateAttempted').displayName }}\r\n\t\t{{ row.dateAttemptedFormatted }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('attemptSuccessful').displayName }}\r\n\t\t{{ row.attemptSuccessful }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('userName').displayName }}\r\n\t\t{{ row.userName }}\r\n\t\r\n\r\n\t\r\n\t\t{{ columns.get('ipAddress').displayName }}\r\n\t\t{{ row.ipAddress }}\r\n\t\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserClientNotificationVm {\r\n\tid: number;\r\n\tuserFullName?: string;\r\n\tuserClientId?: number;\r\n\tuserId: number;\r\n\tnotification?: any;\r\n\tsendEmail: boolean;\r\n\tsendPush: boolean;\r\n\tnotificationArea?: any;\r\n\toptions?: string[];\r\n\tname?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userFullName': new UntypedFormControl(null, [...(validators['userFullName'] ?? []), ...[]]),\r\n\t\t\t'userClientId': new UntypedFormControl(null, [...(validators['userClientId'] ?? []), ...[]]),\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'notification': new UntypedFormControl('', [...(validators['notification'] ?? []), ...[Validators.required]]),\r\n\t\t\t'sendEmail': new UntypedFormControl(false, [...(validators['sendEmail'] ?? []), ...[]]),\r\n\t\t\t'sendPush': new UntypedFormControl(false, [...(validators['sendPush'] ?? []), ...[]]),\r\n\t\t\t'notificationArea': new UntypedFormControl('', [...(validators['notificationArea'] ?? []), ...[Validators.required]]),\r\n\t\t\t'options': new UntypedFormControl([], [...(validators['options'] ?? []), ...[]]),\r\n\t\t\t'name': new UntypedFormControl(null, [...(validators['name'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['sendEmail', {\"orderId\":0,\"sortColumn\":\"sendEmail\",\"searchColumn\":\"sendEmail\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Email\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['sendPush', {\"orderId\":1,\"sortColumn\":\"sendPush\",\"searchColumn\":\"sendPush\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Push\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserClientNotificationVmFromFg {\r\n\t\treturn new UserClientNotificationVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserClientNotificationVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget userFullName(): string {\r\n\t\treturn this.fg.get('userFullName').value;\r\n\t}\r\n\tset userFullName(val) {\r\n\t\tthis.fg.get('userFullName').setValue(val);\r\n\t}\r\n\r\n\tget userClientId(): number {\r\n\t\treturn this.fg.get('userClientId').value;\r\n\t}\r\n\tset userClientId(val) {\r\n\t\tthis.fg.get('userClientId').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget notification(): any {\r\n\t\treturn this.fg.get('notification').value;\r\n\t}\r\n\tset notification(val) {\r\n\t\tthis.fg.get('notification').setValue(val);\r\n\t}\r\n\r\n\tget sendEmail(): boolean {\r\n\t\treturn this.fg.get('sendEmail').value;\r\n\t}\r\n\tset sendEmail(val) {\r\n\t\tthis.fg.get('sendEmail').setValue(val);\r\n\t}\r\n\r\n\tget sendPush(): boolean {\r\n\t\treturn this.fg.get('sendPush').value;\r\n\t}\r\n\tset sendPush(val) {\r\n\t\tthis.fg.get('sendPush').setValue(val);\r\n\t}\r\n\r\n\tget notificationArea(): any {\r\n\t\treturn this.fg.get('notificationArea').value;\r\n\t}\r\n\tset notificationArea(val) {\r\n\t\tthis.fg.get('notificationArea').setValue(val);\r\n\t}\r\n\r\n\tget options(): string[] {\r\n\t\treturn this.fg.get('options').value;\r\n\t}\r\n\tset options(val) {\r\n\t\tthis.fg.get('options').setValue(val);\r\n\t}\r\n\r\n\tget name(): string {\r\n\t\treturn this.fg.get('name').value;\r\n\t}\r\n\tset name(val) {\r\n\t\tthis.fg.get('name').setValue(val);\r\n\t}\r\n}\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserNotificationScheduleVm {\r\n\tid: number;\r\n\tuserId: number;\r\n\tsunday: boolean;\r\n\tmonday: boolean;\r\n\ttuesday: boolean;\r\n\twednesday: boolean;\r\n\tthursday: boolean;\r\n\tfriday: boolean;\r\n\tsaturday: boolean;\r\n\tuserNotificationScheduleType?: any;\r\n\tannualDate?: Date;\r\n\tbiAnnualDate1?: Date;\r\n\tbiAnnualDate2?: Date;\r\n\tmonthlyDate?: Date;\r\n\thourOfDay: number;\r\n\tfriendlyId?: string;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'sunday': new UntypedFormControl(false, [...(validators['sunday'] ?? []), ...[]]),\r\n\t\t\t'monday': new UntypedFormControl(false, [...(validators['monday'] ?? []), ...[]]),\r\n\t\t\t'tuesday': new UntypedFormControl(false, [...(validators['tuesday'] ?? []), ...[]]),\r\n\t\t\t'wednesday': new UntypedFormControl(false, [...(validators['wednesday'] ?? []), ...[]]),\r\n\t\t\t'thursday': new UntypedFormControl(false, [...(validators['thursday'] ?? []), ...[]]),\r\n\t\t\t'friday': new UntypedFormControl(false, [...(validators['friday'] ?? []), ...[]]),\r\n\t\t\t'saturday': new UntypedFormControl(false, [...(validators['saturday'] ?? []), ...[]]),\r\n\t\t\t'userNotificationScheduleType': new UntypedFormControl('', [...(validators['userNotificationScheduleType'] ?? []), ...[Validators.required]]),\r\n\t\t\t'annualDate': new UntypedFormControl(null, [...(validators['annualDate'] ?? []), ...[]]),\r\n\t\t\t'biAnnualDate1': new UntypedFormControl(null, [...(validators['biAnnualDate1'] ?? []), ...[]]),\r\n\t\t\t'biAnnualDate2': new UntypedFormControl(null, [...(validators['biAnnualDate2'] ?? []), ...[]]),\r\n\t\t\t'monthlyDate': new UntypedFormControl(null, [...(validators['monthlyDate'] ?? []), ...[]]),\r\n\t\t\t'hourOfDay': new UntypedFormControl(0, [...(validators['hourOfDay'] ?? []), ...[Validators.required]]),\r\n\t\t\t'friendlyId': new UntypedFormControl(null, [...(validators['friendlyId'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserNotificationScheduleVmFromFg {\r\n\t\treturn new UserNotificationScheduleVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserNotificationScheduleVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget sunday(): boolean {\r\n\t\treturn this.fg.get('sunday').value;\r\n\t}\r\n\tset sunday(val) {\r\n\t\tthis.fg.get('sunday').setValue(val);\r\n\t}\r\n\r\n\tget monday(): boolean {\r\n\t\treturn this.fg.get('monday').value;\r\n\t}\r\n\tset monday(val) {\r\n\t\tthis.fg.get('monday').setValue(val);\r\n\t}\r\n\r\n\tget tuesday(): boolean {\r\n\t\treturn this.fg.get('tuesday').value;\r\n\t}\r\n\tset tuesday(val) {\r\n\t\tthis.fg.get('tuesday').setValue(val);\r\n\t}\r\n\r\n\tget wednesday(): boolean {\r\n\t\treturn this.fg.get('wednesday').value;\r\n\t}\r\n\tset wednesday(val) {\r\n\t\tthis.fg.get('wednesday').setValue(val);\r\n\t}\r\n\r\n\tget thursday(): boolean {\r\n\t\treturn this.fg.get('thursday').value;\r\n\t}\r\n\tset thursday(val) {\r\n\t\tthis.fg.get('thursday').setValue(val);\r\n\t}\r\n\r\n\tget friday(): boolean {\r\n\t\treturn this.fg.get('friday').value;\r\n\t}\r\n\tset friday(val) {\r\n\t\tthis.fg.get('friday').setValue(val);\r\n\t}\r\n\r\n\tget saturday(): boolean {\r\n\t\treturn this.fg.get('saturday').value;\r\n\t}\r\n\tset saturday(val) {\r\n\t\tthis.fg.get('saturday').setValue(val);\r\n\t}\r\n\r\n\tget userNotificationScheduleType(): any {\r\n\t\treturn this.fg.get('userNotificationScheduleType').value;\r\n\t}\r\n\tset userNotificationScheduleType(val) {\r\n\t\tthis.fg.get('userNotificationScheduleType').setValue(val);\r\n\t}\r\n\r\n\tget annualDate(): Date {\r\n\t\treturn this.fg.get('annualDate').value;\r\n\t}\r\n\tset annualDate(val) {\r\n\t\tthis.fg.get('annualDate').setValue(val);\r\n\t}\r\n\r\n\tget biAnnualDate1(): Date {\r\n\t\treturn this.fg.get('biAnnualDate1').value;\r\n\t}\r\n\tset biAnnualDate1(val) {\r\n\t\tthis.fg.get('biAnnualDate1').setValue(val);\r\n\t}\r\n\r\n\tget biAnnualDate2(): Date {\r\n\t\treturn this.fg.get('biAnnualDate2').value;\r\n\t}\r\n\tset biAnnualDate2(val) {\r\n\t\tthis.fg.get('biAnnualDate2').setValue(val);\r\n\t}\r\n\r\n\tget monthlyDate(): Date {\r\n\t\treturn this.fg.get('monthlyDate').value;\r\n\t}\r\n\tset monthlyDate(val) {\r\n\t\tthis.fg.get('monthlyDate').setValue(val);\r\n\t}\r\n\r\n\tget hourOfDay(): number {\r\n\t\treturn this.fg.get('hourOfDay').value;\r\n\t}\r\n\tset hourOfDay(val) {\r\n\t\tthis.fg.get('hourOfDay').setValue(val);\r\n\t}\r\n\r\n\tget friendlyId(): string {\r\n\t\treturn this.fg.get('friendlyId').value;\r\n\t}\r\n\tset friendlyId(val) {\r\n\t\tthis.fg.get('friendlyId').setValue(val);\r\n\t}\r\n}\r\n","// tslint:disable: quotemark\r\nexport enum UserNotificationScheduleEnum {\r\n\tAnnual = 1,\r\n\tBiAnnual = 2,\r\n\tMonthly = 3,\r\n\tWeekly = 4\r\n}\r\n\r\nexport namespace UserNotificationScheduleEnum {\r\n\texport function toDescription(val: UserNotificationScheduleEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Annual\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Bi-Annual\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Monthly\";\r\n\t\t\tcase 4:\r\n\t\t\t\treturn \"Weekly\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","// tslint:disable: quotemark\r\nexport enum NotificationAreaEnum {\r\n\tUser = 0,\r\n\tShiftChange = 1,\r\n\tMedUse = 2,\r\n\tInventory = 3\r\n}\r\n\r\nexport namespace NotificationAreaEnum {\r\n\texport function toDescription(val: NotificationAreaEnum) {\r\n\t\tswitch (val) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn \"User\";\r\n\t\t\tcase 1:\r\n\t\t\t\treturn \"Shift Change\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn \"Medication Use\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"Inventory\";\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Component, HostListener, signal, WritableSignal } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { faInfoCircle, faArrowLeft } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { UserClientNotificationVm } from '../../../../shared/generated/Admin/Models/User/UserClientNotificationVm';\r\nimport { GlobalService } from '../../../../shared/service/global.service';\r\nimport { SwPush } from '@angular/service-worker';\r\nimport { NotificationService } from '../../../../services/notification.service';\r\nimport { SecurityService } from '../../../../core/security/security.service';\r\nimport { PermissionProfileEnum } from '../../../../core/enums/generated/PermissionProfileEnum';\r\nimport { SystemMessage } from '../../../../core/system-message/system-message-service';\r\nimport { UserNotificationScheduleVm } from '../../../../shared/generated/Admin/Models/User/UserNotificationScheduleVm';\r\nimport { UserNotificationScheduleEnum } from '../../../../core/enums/generated/UserNotificationScheduleEnum';\r\nimport { SelectItem } from '../../../../shared/models/select-item';\r\nimport { GlobalVariablesService } from '../../../../services/global-variables.service';\r\nimport { NotificationAreaEnum } from '../../../../core/enums/generated/NotificationAreaEnum';\r\nimport { PcgTableColumn } from '../../../../shared/table/pcg-table-column.interface';\r\nimport { EditUserService } from '../editUser.service';\r\nimport { EditUserVm } from '../../../../shared/generated/Admin/Models/User/EditUserVm';\r\n\r\ninterface NotificationGroup {\r\n name: string;\r\n notifications: UserClientNotificationVm[];\r\n isSelected: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'pcg-user-client-notifications',\r\n templateUrl: './user-client-notifications.component.html',\r\n styleUrl: './user-client-notifications.component.scss',\r\n standalone: false,\r\n})\r\nexport class UserClientNotificationsComponent {\r\n\r\n userId: number; \r\n showSideNav: boolean;\r\n\tisMobile: boolean;\r\n iAmMe: boolean;\r\n isSysAdmin: boolean;\r\n isAdmin: boolean;\r\n isManager: boolean;\r\n isTech: boolean;\r\n isLoadedUserSysAdmin: boolean;\r\n \r\n showPushNotification: boolean;\r\n pushNotificationsEnabled: boolean;\r\n disablePushToggle: boolean;\r\n _subscription: PushSubscription;\r\n\r\n userNotificationScheduleFormGroup = UserNotificationScheduleVm.Form;\r\n userNotificationScheduleModel = UserNotificationScheduleVm.GetModel(this.userNotificationScheduleFormGroup);\r\n userNotificationScheduleEnum = UserNotificationScheduleEnum;\r\n oldUserNotificationScheduleModel: any;\r\n isChange: boolean;\r\n\tisEveryDay: boolean;\r\n isBusinessDays: boolean;\r\n\tdayArray: string[] = [];\r\n\tdayString = \"\";\r\n showAnnualDateValidation: boolean;\r\n showBiannualDate1Validation: boolean;\r\n showBiannualDate2Validation: boolean;\r\n showMonthlyDateValidation: boolean;\r\n timeSelectItems: SelectItem[] = [];\r\n\r\n showSettings: WritableSignal = signal(false);\r\n\r\n\tareasSignal: WritableSignal = signal([]);\r\n\r\n options: Map = UserClientNotificationVm.ColumnDefs;\r\n\r\n faIcons = { \r\n\t\tfaInfoCircle\r\n\t\t, faArrowLeft\r\n\t};\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n @HostListener('window:resize')\r\n onResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n , private activatedRoute: ActivatedRoute\r\n , private swPush: SwPush\r\n , private ns: NotificationService\r\n , private sec: SecurityService\r\n , public gvs: GlobalVariablesService\r\n , private editUserService: EditUserService\r\n ) {\r\n swPush.subscription.subscribe((subscription) => {\r\n\t\t\tif (subscription) { this._subscription = subscription; }\r\n\t\t\tthis.pushNotificationsEnabled = (this._subscription == null) \r\n\t\t\t\t? false \r\n\t\t\t\t: true;\r\n\t\t});\r\n }\r\n\r\n ngOnInit() {\r\n this.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n if (!this.isMobile) { \r\n this.showSettings.set(true);\r\n this.showSideNav = true;\r\n }\r\n this.userId = Number(this.activatedRoute?.snapshot?.paramMap?.get('id'));\r\n this.isSysAdmin = this.sec.hasAccess(o => o.permissionProfile == PermissionProfileEnum.SysAdmin);\r\n this.isAdmin = this.sec.hasAccess(o => o.permissionProfile == PermissionProfileEnum.Admin);\r\n this.isManager = this.sec.hasAccess(o => o.permissionProfile == PermissionProfileEnum.Manager);\r\n this.isTech = this.sec.hasAccess(o => o.permissionProfile == PermissionProfileEnum.Technician);\r\n const user = this.sec.getUser();\r\n this.iAmMe = user.id === this.userId;\r\n this.getUserClientNotifications();\r\n this.getUserNotificationSchedule();\r\n this.createTimeSelectItems();\r\n\r\n this.editUserService.getUser(this.userId)\r\n .subscribe((vm: EditUserVm) => { this.isLoadedUserSysAdmin = vm.isSysAdmin; });\r\n\r\n if ('Notification' in window) { this.showPushNotification = true; } \r\n\t\telse { this.showPushNotification = false; }\r\n }\r\n\r\n getUserClientNotifications() {\r\n this.httpClient.get(`api/Admin/UserClientNotification/GetUserClientNotificationsById?userId=${this.userId}`)\r\n .subscribe((notifications: UserClientNotificationVm[]) => {\r\n\t\t\t\tthis.gvs.userName.set(notifications[0].userFullName ?? '')\r\n const areas: NotificationAreaEnum[] = [...new Set(notifications.map(o => o.notificationArea))];\r\n\t\t\t\tconst groups: NotificationGroup[] = areas.map(area => ({\r\n\t\t\t\t\tname: this.getNotificationGroupName(area),\r\n\t\t\t\t\tnotifications: notifications.filter(i => i.notificationArea == area),\r\n\t\t\t\t\tisSelected: false\r\n\t\t\t\t}));\r\n this.areasSignal.set(groups);\r\n });\r\n }\r\n\r\n getNotificationGroupName(area: NotificationAreaEnum) {\r\n switch (area) {\r\n case NotificationAreaEnum.ShiftChange:\r\n return this.gvs.clientShiftChangeName();\r\n case NotificationAreaEnum.MedUse:\r\n return this.gvs.clientMedUseName();\r\n default:\r\n return NotificationAreaEnum.toDescription(area) ?? '';\r\n }\r\n }\r\n\r\n getNotificationName(notification: UserClientNotificationVm) {\r\n switch (notification.notificationArea) {\r\n case NotificationAreaEnum.ShiftChange:\r\n return notification?.name?.replace(\"Shift Change\", this.gvs.clientShiftChangeName());\r\n case NotificationAreaEnum.MedUse:\r\n return notification?.name?.replace(\"Medication Use\", this.gvs.clientMedUseName());\r\n default:\r\n return notification.name;\r\n }\r\n }\r\n\r\n openSetting(area: NotificationGroup) {\r\n if (area != null) {\r\n area.isSelected = true;\r\n this.areasSignal().filter(o => o.name != area.name).map(o => o.isSelected = false);\r\n this.showSettings.set(false);\r\n } else {\r\n this.showSettings.set(true);\r\n this.areasSignal()?.map(o => o.isSelected = false);\r\n }\r\n this.showSideNav = true;\r\n } \r\n\r\n closeSideNav() {\r\n\t\tthis.showSideNav = false;\r\n this.showSettings.set(false);\r\n this.areasSignal().map(o => o.isSelected = false);\r\n\t}\r\n\r\n getAreaSectionId = (area: NotificationGroup): string => area.name.replace(/[^a-zA-Z]+/gi, '-').toLowerCase();\r\n\r\n toggleNotification(\r\n option: string\r\n , notification: UserClientNotificationVm\r\n ) {\r\n switch (option) {\r\n case \"None\":\r\n notification.sendEmail = false;\r\n notification.sendPush = false;\r\n break;\r\n case \"Email\":\r\n notification.sendEmail = true;\r\n notification.sendPush = false;\r\n break;\r\n case \"Push\":\r\n notification.sendEmail = false;\r\n notification.sendPush = true;\r\n break;\r\n case \"Both\":\r\n notification.sendEmail = true;\r\n notification.sendPush = true;\r\n break;\r\n default:\r\n notification.sendEmail = false;\r\n notification.sendPush = false;\r\n break;\r\n }\r\n this.postUpdate(notification);\r\n }\r\n\r\n postUpdate(update: UserClientNotificationVm): void {\r\n if (update != null) {\r\n const body = JSON.stringify(update);\r\n\t\t\tthis.httpClient.post(`api/Admin/UserClientNotification/SaveUserNotifications`, body)\r\n\t\t\t\t.subscribe((msg: SystemMessage) => {\r\n if (msg.message) { \r\n if (msg.isSuccessful) { \r\n update.id = msg.model;\r\n this.ns.showSuccess(msg.message, { timeOut: 2000 }); \r\n }\r\n else { this.ns.showError(msg.message, { timeOut: 5000 }); }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n getChecked(option, notification) {\r\n switch (option) {\r\n case \"None\":\r\n return !notification.sendEmail && !notification.sendPush;\r\n case \"Email\":\r\n return notification.sendEmail && !notification.sendPush;\r\n case \"Push\":\r\n return !notification.sendEmail && notification.sendPush;\r\n case \"Both\":\r\n return notification.sendEmail && notification.sendPush;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n operatePushNotification() {\r\n (this._subscription == null) \r\n\t\t\t? this.subscribe() \r\n\t\t\t: this.unsubscribePush(this._subscription.endpoint);\r\n }\r\n\r\n subscribe() {\r\n // Retrieve public VAPID key from the server\r\n this.httpClient.get('api/PushSubscriptions/GetPublicKey', { responseType: 'text' }).subscribe(publicKey => {\r\n // Request subscription with the service worker\r\n this.swPush.requestSubscription({\r\n serverPublicKey: publicKey\r\n }).then(subscription => this.httpClient.post('api/PushSubscriptions/AddSubscription', subscription, this.httpOptions).subscribe(\r\n\t\t\t\t() => { },\r\n\t\t\t\terror => console.error(error)\r\n\t\t\t)).catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n this.ns.showWarning(\"Check your browser settings. You may have push notifications disabled for this site\", { timeOut: 5000 });\r\n\t\t\t\t\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tdocument?.getElementById(\"pushToggle\")?.classList.remove(\"mat-mdc-slide-toggle-checked\");\r\n\t\t\t\t\tdocument?.getElementById(\"pushToggle\")?.classList.remove(\"cdk-focused\");\r\n\t\t\t\t\tdocument?.getElementById(\"pushToggle\")?.classList.remove(\"cdk-mouse-focused\");\r\n\t\t\t\t\tdocument?.getElementById(\"pushToggle-button\")?.classList.remove(\"mdc-switch--selected\");\r\n\t\t\t\t\tthis.disablePushToggle = true;\r\n\t\t\t\t}, 500)\r\n\t\t\t});\r\n },\r\n\t\terror => console.error(error));\r\n }\r\n\r\n unsubscribePush(endpoint) {\r\n this.swPush.unsubscribe()\r\n .then(() => this.httpClient.get(\r\n\t\t\t\t`api/PushSubscriptions/DeleteSubscription\r\n\t\t\t\t?userId=${this.sec?.getUser().id}\r\n\t\t\t\t&endpoint=${encodeURIComponent(endpoint)}`)\r\n\t\t\t.subscribe(() => { },\r\n error => console.error(error)\r\n )).catch(error => console.error(error));\r\n }\r\n\r\n testPushNotification() {\r\n this.httpClient.get(`api/Admin/UserClientNotification/TestPushNotification?userId=${this.userId}`)\r\n .subscribe((msg: SystemMessage) => { console.log(msg); })\r\n }\r\n\r\n getUserNotificationSchedule() {\r\n\t\tthis.httpClient.get(`api/Admin/UserNotificationSchedule/GetUserNotificationSchedule/${this.userId}`)\r\n\t\t\t.subscribe((vm: UserNotificationScheduleVm) => { this.onGetUserNotificationScheduleVm(vm); });\r\n\t}\r\n\r\n annualClick() { this.userNotificationScheduleModel.userNotificationScheduleType = UserNotificationScheduleEnum.Annual; }\r\n\tbiAnnualClick() { this.userNotificationScheduleModel.userNotificationScheduleType = UserNotificationScheduleEnum.BiAnnual; }\r\n\tmonthlyClick() { this.userNotificationScheduleModel.userNotificationScheduleType = UserNotificationScheduleEnum.Monthly; }\r\n\tweeklyClick() { this.userNotificationScheduleModel.userNotificationScheduleType = UserNotificationScheduleEnum.Weekly; }\r\n\r\n\tchangeSchedule() { \r\n\t\tthis.isChange = true; \r\n\t\tconst old = { ...this.userNotificationScheduleModel };\r\n\t\tthis.oldUserNotificationScheduleModel = old?.fg?.getRawValue();\r\n\t}\r\n\r\n\tonCancel() { \r\n\t\tthis.isChange = false; \r\n\t\tthis.onGetUserNotificationScheduleVm(this.oldUserNotificationScheduleModel);\r\n\t}\r\n\r\n\tupdateDays(day: string) {\r\n if (day === 'every') {\r\n this.userNotificationScheduleModel.sunday = !this.isEveryDay;\r\n\t\t\tthis.userNotificationScheduleModel.monday = !this.isEveryDay;\r\n\t\t\tthis.userNotificationScheduleModel.tuesday = !this.isEveryDay;\r\n\t\t\tthis.userNotificationScheduleModel.wednesday = !this.isEveryDay;\r\n\t\t\tthis.userNotificationScheduleModel.thursday = !this.isEveryDay;\r\n\t\t\tthis.userNotificationScheduleModel.friday = !this.isEveryDay;\r\n\t\t\tthis.userNotificationScheduleModel.saturday = !this.isEveryDay;\r\n\t\t\tthis.isEveryDay = !this.isEveryDay;\r\n } else if (day === 'business') {\r\n if (this.isBusinessDays) {\r\n\t\t\t\tthis.userNotificationScheduleModel.sunday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.monday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.tuesday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.wednesday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.thursday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.friday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.saturday = false;\r\n\t\t\t} else {\r\n\t\t\t\tthis.userNotificationScheduleModel.sunday = false;\r\n\t\t\t\tthis.userNotificationScheduleModel.monday = true;\r\n\t\t\t\tthis.userNotificationScheduleModel.tuesday = true;\r\n\t\t\t\tthis.userNotificationScheduleModel.wednesday = true;\r\n\t\t\t\tthis.userNotificationScheduleModel.thursday = true;\r\n\t\t\t\tthis.userNotificationScheduleModel.friday = true;\r\n\t\t\t\tthis.userNotificationScheduleModel.saturday = false;\r\n\t\t\t}\r\n } else {\r\n switch (day) {\r\n\t\t\t\tcase 'sunday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.sunday = !this.userNotificationScheduleModel.sunday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'monday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.monday = !this.userNotificationScheduleModel.monday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.tuesday = !this.userNotificationScheduleModel.tuesday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.wednesday = !this.userNotificationScheduleModel.wednesday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'thursday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.thursday = !this.userNotificationScheduleModel.thursday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'friday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.friday = !this.userNotificationScheduleModel.friday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'saturday':\r\n\t\t\t\t\tthis.userNotificationScheduleModel.saturday = !this.userNotificationScheduleModel.saturday;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n \r\n this.setIsEveryDay();\r\n\t\tthis.setIsBusinessDays();\r\n\t\tthis.setDayString();\r\n }\r\n\r\n\tsaveSchedule() {\r\n\t\tthis.userNotificationScheduleFormGroup.patchValue(this.userNotificationScheduleModel);\r\n\t\tthis.httpClient.post(\r\n\t\t\t`api/Admin/UserNotificationSchedule/SaveUserNotificationSchedule`\r\n\t\t\t, this.userNotificationScheduleFormGroup.getRawValue()\r\n\t\t).subscribe((msg: SystemMessage) => {\r\n\t\t\t\tif (msg.isSuccessful) { \r\n\t\t\t\t\tthis.onGetUserNotificationScheduleVm(msg.model);\r\n\t\t\t\t\tthis.isChange = false; \r\n\t\t\t\t\tif (msg.message) { this.ns.showSuccess(msg.message, { timeOut: 2000 }); }\r\n this.showAnnualDateValidation = false;\r\n this.showBiannualDate1Validation = false;\r\n this.showBiannualDate2Validation = false;\r\n this.showMonthlyDateValidation = false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (msg.message) { \r\n this.ns.showError(msg.message, { timeOut: 5000 }); \r\n if (msg.model.annualDate) { this.showAnnualDateValidation = true; }\r\n if (msg.model.biAnnualDate1) { this.showBiannualDate1Validation = true; }\r\n if (msg.model.biAnnualDate2) { this.showBiannualDate2Validation = true; }\r\n if (msg.model.monthlyDate) { this.showMonthlyDateValidation = true; }\r\n }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n onGetUserNotificationScheduleVm(vm: UserNotificationScheduleVm) {\r\n\t\tif (vm.userId === 0) { vm.userId = this.userId; }\r\n\t\tthis.userNotificationScheduleFormGroup.patchValue(vm);\r\n\t\tthis.userNotificationScheduleModel = UserNotificationScheduleVm.GetModel(this.userNotificationScheduleFormGroup);\r\n\t\tthis.setIsEveryDay();\r\n\t\tthis.setIsBusinessDays();\r\n\t\tthis.setDayString();\r\n\t}\r\n\r\n setIsEveryDay() {\r\n\t\tthis.isEveryDay = this.userNotificationScheduleModel.sunday\r\n\t\t\t&& this.userNotificationScheduleModel.monday\r\n\t\t\t&& this.userNotificationScheduleModel.tuesday\r\n\t\t\t&& this.userNotificationScheduleModel.wednesday\r\n\t\t\t&& this.userNotificationScheduleModel.thursday\r\n\t\t\t&& this.userNotificationScheduleModel.friday\r\n\t\t\t&& this.userNotificationScheduleModel.saturday;\r\n\t}\r\n\r\n\tsetIsBusinessDays() {\r\n\t\tthis.isBusinessDays = !this.userNotificationScheduleModel.sunday\r\n\t\t\t&& this.userNotificationScheduleModel.monday\r\n\t\t\t&& this.userNotificationScheduleModel.tuesday\r\n\t\t\t&& this.userNotificationScheduleModel.wednesday\r\n\t\t\t&& this.userNotificationScheduleModel.thursday\r\n\t\t\t&& this.userNotificationScheduleModel.friday\r\n\t\t\t&& !this.userNotificationScheduleModel.saturday;\r\n\t}\r\n\r\n\tsetDayString() {\r\n\t\tthis.dayArray = [];\r\n\t\tthis.dayString = \"\";\r\n\t\tif (this.userNotificationScheduleModel.sunday) { this.dayArray.push(\"Sunday\"); }\r\n\t\tif (this.userNotificationScheduleModel.monday) { this.dayArray.push(\"Monday\"); }\r\n\t\tif (this.userNotificationScheduleModel.tuesday) { this.dayArray.push(\"Tuesday\"); }\r\n\t\tif (this.userNotificationScheduleModel.wednesday) { this.dayArray.push(\"Wednesday\"); }\r\n\t\tif (this.userNotificationScheduleModel.thursday) { this.dayArray.push(\"Thursday\"); }\r\n\t\tif (this.userNotificationScheduleModel.friday) { this.dayArray.push(\"Friday\"); }\r\n\t\tif (this.userNotificationScheduleModel.saturday) { this.dayArray.push(\"Saturday\"); }\r\n\t\tthis.dayString = this.dayArray.join(\", \");\r\n\t}\r\n\r\n createTimeSelectItems() {\r\n\t\tthis.timeSelectItems = [\r\n\t\t\t{ value: 0, text: \"12:00 AM\" }\r\n\t\t\t, { value: 1, text: \"1:00 AM\" }\r\n\t\t\t, { value: 2, text: \"2:00 AM\" }\r\n\t\t\t, { value: 3, text: \"3:00 AM\" }\r\n\t\t\t, { value: 4, text: \"4:00 AM\" }\r\n\t\t\t, { value: 5, text: \"5:00 AM\" }\r\n\t\t\t, { value: 6, text: \"6:00 AM\" }\r\n\t\t\t, { value: 7, text: \"7:00 AM\" }\r\n\t\t\t, { value: 8, text: \"8:00 AM\" }\r\n\t\t\t, { value: 9, text: \"9:00 AM\" }\r\n\t\t\t, { value: 10, text: \"10:00 AM\" }\r\n\t\t\t, { value: 11, text: \"11:00 AM\" }\r\n\t\t\t, { value: 12, text: \"12:00 PM\" }\r\n\t\t\t, { value: 13, text: \"1:00 PM\" }\r\n\t\t\t, { value: 14, text: \"2:00 PM\" }\r\n\t\t\t, { value: 15, text: \"3:00 PM\" }\r\n\t\t\t, { value: 16, text: \"4:00 PM\" }\r\n\t\t\t, { value: 17, text: \"5:00 PM\" }\r\n\t\t\t, { value: 18, text: \"6:00 PM\" }\r\n\t\t\t, { value: 19, text: \"7:00 PM\" }\r\n\t\t\t, { value: 20, text: \"8:00 PM\" }\r\n\t\t\t, { value: 21, text: \"9:00 PM\" }\r\n\t\t\t, { value: 22, text: \"10:00 PM\" }\r\n\t\t\t, { value: 23, text: \"11:00 PM\" }\r\n\t\t];\r\n\t}\r\n\r\n getTime(value: number) { return this.timeSelectItems.find(o => o.value === value)?.text; }\r\n}","@if (isTech) {\r\n
\r\n \r\n Technicians are not able to view notification preferences. Please contact your administrator for assistance.\r\n
\r\n} @else if (!isLoadedUserSysAdmin) {\r\n
\r\n \r\n Notification preferences are specific to the agency that you are currently associated to.\r\n @if (!isMobile) {\r\n If you are associated to multiple agencies, you can customize your notification preferences for each agency\r\n by switching to the agency that you would like to update.\r\n } \r\n
\r\n}\r\n\r\n@if (!isTech) {\r\n \r\n \r\n \r\n @if (showSettings()) {\r\n
\r\n @if (isMobile) {\r\n \r\n }\r\n
Settings
\r\n
\r\n @if (\r\n showPushNotification \r\n && iAmMe\r\n ) {\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n @if (isSysAdmin) {\r\n
\r\n Test Push Notification\r\n }\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n

\r\n Summary Email Scheduling: \r\n Configure a recurring schedule for automated notifications. \r\n Please note, this setting applies exclusively to summary emails.\r\n

\r\n
\r\n \r\n \r\n
\r\n \r\n Summary Email Schedule: \r\n \r\n \r\n @switch (userNotificationScheduleModel?.userNotificationScheduleType) {\r\n @case (userNotificationScheduleEnum.Annual) {\r\n Annually \r\n @if (userNotificationScheduleModel.annualDate != null) { \r\n | {{ userNotificationScheduleModel.annualDate | date: 'M/dd' }} \r\n }\r\n }\r\n @case (userNotificationScheduleEnum.BiAnnual) {\r\n Bi-Annually \r\n @if (\r\n userNotificationScheduleModel.biAnnualDate1 != null\r\n && userNotificationScheduleModel.biAnnualDate2 != null\r\n ) { \r\n | {{ userNotificationScheduleModel.biAnnualDate1 | date: 'M/dd' }} \r\n & {{ userNotificationScheduleModel.biAnnualDate2 | date: 'M/dd' }}\r\n }\r\n }\r\n @case (userNotificationScheduleEnum.Monthly) {\r\n Monthly \r\n @if (userNotificationScheduleModel.monthlyDate != null) { \r\n | {{ userNotificationScheduleModel.monthlyDate | date: 'M/dd' }}\r\n }\r\n }\r\n @case (userNotificationScheduleEnum.Weekly) {\r\n Weekly \r\n @if (isEveryDay) { | Every Day }\r\n @else if (isBusinessDays) { | Business Days }\r\n @else {\r\n @if (\r\n dayString != null\r\n && dayString.length > 0\r\n ) { | {{ dayString }} }\r\n }\r\n }\r\n @default { Not Set }\r\n }\r\n @if (userNotificationScheduleModel?.hourOfDay != null) { \r\n at {{ getTime(userNotificationScheduleModel?.hourOfDay) }} \r\n }\r\n \r\n \r\n @if (!isChange) {\r\n \r\n }\r\n
\r\n \r\n \r\n @if (isChange) {\r\n
\r\n
\r\n Set Summary Email Schedule: \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n @if (userNotificationScheduleModel?.userNotificationScheduleType == userNotificationScheduleEnum.Annual) {\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n @if (userNotificationScheduleModel?.userNotificationScheduleType == userNotificationScheduleEnum.BiAnnual) {\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n @if (userNotificationScheduleModel?.userNotificationScheduleType == userNotificationScheduleEnum.Monthly) {\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n @if (userNotificationScheduleModel?.userNotificationScheduleType == userNotificationScheduleEnum.Weekly) {\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n }\r\n \r\n @if (areasSignal()) {\r\n @for (area of areasSignal(); track area.name) {\r\n
\r\n
\r\n @if (isMobile) {\r\n \r\n }\r\n
{{ area.name }}
\r\n
\r\n \r\n
\r\n @for (notification of area.notifications; track notification.name; let last = $last) {\r\n
\r\n \r\n \r\n \r\n {{ option }}\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n }\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n @for (area of areasSignal(); track area.name) {\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n}","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserInventorySiteListVm {\r\n\tinventorySiteId: number;\r\n\tinventorySiteName?: string;\r\n\ttype?: string;\r\n\tisActive: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'inventorySiteId': new UntypedFormControl(0, [...(validators['inventorySiteId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'inventorySiteName': new UntypedFormControl(null, [...(validators['inventorySiteName'] ?? []), ...[]]),\r\n\t\t\t'type': new UntypedFormControl(null, [...(validators['type'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic get ColumnDefs(): Map {\r\n\t\treturn new Map([\r\n\t\t\t['inventorySiteName', {\"orderId\":0,\"sortColumn\":\"inventorySiteName\",\"searchColumn\":\"inventorySiteName\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Inventory Name\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}],\r\n\t\t\t['type', {\"orderId\":1,\"sortColumn\":\"type\",\"searchColumn\":\"type\",\"searchColumns\":null,\"includeInExcel\":true,\"exportColumn\":null,\"displayName\":\"Type\",\"isVisible\":true,\"canSearch\":true,\"isNdc\":false,\"isNdc10\":false,\"multiSearchCellClasses\":null}]\r\n\t\t]);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserInventorySiteListVmFromFg {\r\n\t\treturn new UserInventorySiteListVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserInventorySiteListVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget inventorySiteId(): number {\r\n\t\treturn this.fg.get('inventorySiteId').value;\r\n\t}\r\n\tset inventorySiteId(val) {\r\n\t\tthis.fg.get('inventorySiteId').setValue(val);\r\n\t}\r\n\r\n\tget inventorySiteName(): string {\r\n\t\treturn this.fg.get('inventorySiteName').value;\r\n\t}\r\n\tset inventorySiteName(val) {\r\n\t\tthis.fg.get('inventorySiteName').setValue(val);\r\n\t}\r\n\r\n\tget type(): string {\r\n\t\treturn this.fg.get('type').value;\r\n\t}\r\n\tset type(val) {\r\n\t\tthis.fg.get('type').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n}\r\n","import { Component, OnInit, OnDestroy, ViewChild, inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { faInfoCircle } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { EditUserVm } from '../../../../shared/generated/Admin/Models/User/EditUserVm';\r\nimport { SystemMessageService, SystemMessage } from '../../../../core/system-message/system-message-service';\r\nimport { SecurityService } from '../../../../core/security/security.service';\r\nimport { UserJsVm } from '../../../../shared/generated/Admin/Models/User/UserJsVm';\r\nimport { EditUserService } from './../../../users/edit-user/editUser.service';\r\nimport { GlobalVariablesService } from '../../../../services/global-variables.service';\r\nimport { AssociationListsComponent } from '../../../../shared/form-elements/association-lists/association-lists.component';\r\nimport { UserInventorySiteListVm } from '../../../../shared/generated/Admin/Models/User/UserInventorySiteListVm';\r\nimport { AssociationListService } from '../../../../shared/form-elements/association-lists/association-list.service';\r\nimport { NotificationService } from '../../../../services/notification.service';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-users-associate-inventories',\r\n templateUrl: './user-associate-inventories.component.html',\r\n styleUrls: ['./user-associate-inventories.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserAssociateInventoriesComponent implements OnInit, OnDestroy {\r\n\t\r\n\t@ViewChild(\"associatedInventories\") associatedInventories: AssociationListsComponent;\r\n\r\n\tassociatedIds: number[] = [];\r\n\tcolumns = UserInventorySiteListVm.ColumnDefs;\r\n formGroup = EditUserVm.Form;\r\n\r\n\tassociationState = inject(AssociationListService);\r\n\t\r\n\tmodel = EditUserVm.GetModel(this.formGroup);\r\n\tuser: UserJsVm;\r\n\tmsg: SystemMessage;\r\n\r\n\tallInventories: string[] = [];\r\n\tinventories: any[];\r\n\tactiveInventories: any[];\r\n\toldSites: any[];\r\n\r\n\tcanEdit = false;\r\n\tcanManageUser = false;\r\n\tisCurrentUser = false; \r\n\tisCreatingNewUser = false;\r\n\t\r\n\tid: number;\r\n \r\n\tfaIconName = { faInfoCircle };\r\n\r\n\tconstructor(\r\n\t\tprivate route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t\t, public router: Router \r\n\t\t, private ms: SystemMessageService\r\n\t\t, private sec: SecurityService\r\n\t\t, private editUserService: EditUserService\r\n\t\t, private gvs: GlobalVariablesService\r\n\t\t, private ns: NotificationService\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.route.paramMap.pipe(untilDestroyed(this)).subscribe(map => { this.id = Number(map.get('id')); });\t\r\n\t\tthis.user = this.sec.getUser();\r\n\t\tthis.canEdit = this.sec.hasAccess(o => o.manageUsers);\r\n\t\tthis.canManageUser = this.sec.hasAccess(o => o.manageUsers);\r\n\t\tthis.addRouteSubscription();\r\n\t\tthis.isCreatingNewUser = this.route?.snapshot?.queryParams?.isCreatingNewUser?.includes(\"true\");\r\n\t\tthis.deleteColumns();\r\n\t\tthis.associationState.update({\r\n\t\t\t...this.associationState.get()\r\n\t\t\t, parentId: this.id\r\n\t\t\t, parentTitle: \"User Associated Inventory\"\r\n\t\t\t, childTitle: \"Inventory\"\r\n\t\t\t, columns: this.columns\r\n\t\t\t, getAction: \"api/Admin/UserInventorySite/GetAvailableInventorySites\"\r\n\t\t\t, saveAction: \"api/Admin/UserInventorySite/SaveUserInventorySites\"\r\n\t\t\t, editable: this.canEdit\r\n\t\t\t, isMobile: false\r\n\t\t\t, initialLoad: false\r\n\t\t\t, canToggleInventoryTypes: true\r\n\t\t\t, canToggleUserPermissions: false\r\n\t\t\t, childVariableName: \"inventorySiteId\"\r\n\t\t});\r\n\t\t\r\n\t\tthis.httpClient.get(`api/Admin/UserInventorySite/GetSites?userId=${this.id}`)\r\n\t\t\t.subscribe((sites: any) => { this.oldSites = sites; });\r\n\t}\r\n\r\n\tdeleteColumns() { this.columns.delete('canDelete'); }\r\n \r\n\t/** Subscribe to route to pick up id changes and update page accordingly */\r\n\taddRouteSubscription() {\r\n\t\tthis.route.paramMap.subscribe(() => {\r\n\t\t\t// Allow user to view page if it is either their profile\r\n\t\t\t// or they have admin access to view other people's profiles\r\n\t\t\tconst user = this.sec.getUser();\r\n\t\t\tthis.isCurrentUser = this.id === user?.id;\r\n\t\t\tthis.editUserService.getUser(this.id).subscribe((vm: EditUserVm) => {\r\n\t\t\t\tthis.formGroup.patchValue(vm);\r\n\t\t\t\tthis.model = EditUserVm.GetModel(this.formGroup);\r\n\t\t\t\tthis.gvs.userName.set(vm.fullName!);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/** Called on click of the reset password and welcome email buttons */\r\n\tresetPassword(\r\n\t\tisWelcomeEmail: boolean\r\n\t\t, isSystemMessage: boolean\r\n\t) {\t\t\r\n\t\tthis.httpClient.post(\r\n\t\t\t'api/Account/ForgotPassword'\r\n\t\t\t, {\r\n\t\t\t\temail: this.formGroup.value.email\r\n\t\t\t\t, isWelcomeEmail\r\n\t\t\t}\r\n\t\t).subscribe((msg: any) => {\r\n\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\tthis.ns.showSuccess(`An email has been sent to the user with a ${isWelcomeEmail ? 'welcome' : 'reset password'} link.`, { timeOut: 2000 });\r\n\t\t\t} else { this.ns.showError('An error occurred when attempting to send the email.', { timeOut: 5000 }); } \r\n\t\t});\r\n\t\tif (isSystemMessage) {\r\n\t\t\t// timed out so that the user can see the confirmation system message before being redirected\r\n\t\t\tsetTimeout(() => { this.router.navigateByUrl(\"admin/users/list\") }, 500);\r\n\t\t}\t\t\r\n\t}\r\n\r\n\tngOnDestroy() { this.formGroup = null!; }\r\n}","\r\n User Created Successfully! If you'd like the user to access Schedule2 right now,\r\n \r\n Send Welcome Email\r\n \r\n or if you have more users to create, click \r\n HERE \r\n
\r\n\r\n\r\n
\r\n\t
\r\n\t\t\r\n\t\t

Use the Available and Associated tables to allow the users to see these inventories. We usually recommend associating:

\r\n\t
\r\n\t
    \r\n\t\t
  • Technician (Paramedics & EMTs) users to all Truck inventories
  • \r\n\t\t
  • Managers to all Trucks and Station inventories
  • \r\n\t\t
  • Admins to everything
  • \r\n\t
\r\n
\r\n\r\n","import { UntypedFormGroup, UntypedFormControl, UntypedFormArray, Validators } from '@angular/forms';\r\n\r\nimport { PcgTableColumn } from '../../../../table/pcg-table-column.interface';\r\n\r\n// tslint:disable:quotemark\r\n// tslint:disable:max-line-length\r\n// tslint:disable:whitespace\r\nexport class UserClientVm {\r\n\tid: number;\r\n\tuserId: number;\r\n\tuserName?: string;\r\n\tclientId: number;\r\n\tclientName?: string;\r\n\tisClientActive: boolean;\r\n\tpermissionId: number;\r\n\tpermissionName?: string;\r\n\tuserPIN?: string;\r\n\tuserGuid?: string;\r\n\tiops360Id?: number;\r\n\tknoxId?: number;\r\n\tisFromIops: boolean;\r\n\tisActive: boolean;\r\n\r\n\tstatic get FormData() {\r\n\t\treturn this.getFormData();\r\n\t}\r\n\r\n\tstatic getFormData(validators = {}) {\r\n\t\treturn {\r\n\t\t\t'id': new UntypedFormControl(0, [...(validators['id'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userId': new UntypedFormControl(0, [...(validators['userId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'userName': new UntypedFormControl(null, [...(validators['userName'] ?? []), ...[]]),\r\n\t\t\t'clientId': new UntypedFormControl(0, [...(validators['clientId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'clientName': new UntypedFormControl(null, [...(validators['clientName'] ?? []), ...[]]),\r\n\t\t\t'isClientActive': new UntypedFormControl(false, [...(validators['isClientActive'] ?? []), ...[]]),\r\n\t\t\t'permissionId': new UntypedFormControl(0, [...(validators['permissionId'] ?? []), ...[Validators.required]]),\r\n\t\t\t'permissionName': new UntypedFormControl(null, [...(validators['permissionName'] ?? []), ...[]]),\r\n\t\t\t'userPIN': new UntypedFormControl(null, [...(validators['userPIN'] ?? []), ...[Validators.maxLength(10)]]),\r\n\t\t\t'userGuid': new UntypedFormControl(null, [...(validators['userGuid'] ?? []), ...[]]),\r\n\t\t\t'iops360Id': new UntypedFormControl(null, [...(validators['iops360Id'] ?? []), ...[]]),\r\n\t\t\t'knoxId': new UntypedFormControl(null, [...(validators['knoxId'] ?? []), ...[]]),\r\n\t\t\t'isFromIops': new UntypedFormControl(false, [...(validators['isFromIops'] ?? []), ...[]]),\r\n\t\t\t'isActive': new UntypedFormControl(false, [...(validators['isActive'] ?? []), ...[]])\r\n\t\t};\r\n\t}\r\n\r\n\tstatic get Form() {\r\n\t\treturn new UntypedFormGroup(this.FormData);\r\n\t}\r\n\r\n\tstatic GetModel(fg: UntypedFormGroup): UserClientVmFromFg {\r\n\t\treturn new UserClientVmFromFg(fg);\r\n\t}\r\n}\r\n\r\nexport class UserClientVmFromFg {\r\n\tconstructor(public fg: UntypedFormGroup) { }\r\n\r\n\r\n\tget id(): number {\r\n\t\treturn this.fg.get('id').value;\r\n\t}\r\n\tset id(val) {\r\n\t\tthis.fg.get('id').setValue(val);\r\n\t}\r\n\r\n\tget userId(): number {\r\n\t\treturn this.fg.get('userId').value;\r\n\t}\r\n\tset userId(val) {\r\n\t\tthis.fg.get('userId').setValue(val);\r\n\t}\r\n\r\n\tget userName(): string {\r\n\t\treturn this.fg.get('userName').value;\r\n\t}\r\n\tset userName(val) {\r\n\t\tthis.fg.get('userName').setValue(val);\r\n\t}\r\n\r\n\tget clientId(): number {\r\n\t\treturn this.fg.get('clientId').value;\r\n\t}\r\n\tset clientId(val) {\r\n\t\tthis.fg.get('clientId').setValue(val);\r\n\t}\r\n\r\n\tget clientName(): string {\r\n\t\treturn this.fg.get('clientName').value;\r\n\t}\r\n\tset clientName(val) {\r\n\t\tthis.fg.get('clientName').setValue(val);\r\n\t}\r\n\r\n\tget isClientActive(): boolean {\r\n\t\treturn this.fg.get('isClientActive').value;\r\n\t}\r\n\tset isClientActive(val) {\r\n\t\tthis.fg.get('isClientActive').setValue(val);\r\n\t}\r\n\r\n\tget permissionId(): number {\r\n\t\treturn this.fg.get('permissionId').value;\r\n\t}\r\n\tset permissionId(val) {\r\n\t\tthis.fg.get('permissionId').setValue(val);\r\n\t}\r\n\r\n\tget permissionName(): string {\r\n\t\treturn this.fg.get('permissionName').value;\r\n\t}\r\n\tset permissionName(val) {\r\n\t\tthis.fg.get('permissionName').setValue(val);\r\n\t}\r\n\r\n\tget userPIN(): string {\r\n\t\treturn this.fg.get('userPIN').value;\r\n\t}\r\n\tset userPIN(val) {\r\n\t\tthis.fg.get('userPIN').setValue(val);\r\n\t}\r\n\r\n\tget userGuid(): string {\r\n\t\treturn this.fg.get('userGuid').value;\r\n\t}\r\n\tset userGuid(val) {\r\n\t\tthis.fg.get('userGuid').setValue(val);\r\n\t}\r\n\r\n\tget iops360Id(): number {\r\n\t\treturn this.fg.get('iops360Id').value;\r\n\t}\r\n\tset iops360Id(val) {\r\n\t\tthis.fg.get('iops360Id').setValue(val);\r\n\t}\r\n\r\n\tget knoxId(): number {\r\n\t\treturn this.fg.get('knoxId').value;\r\n\t}\r\n\tset knoxId(val) {\r\n\t\tthis.fg.get('knoxId').setValue(val);\r\n\t}\r\n\r\n\tget isFromIops(): boolean {\r\n\t\treturn this.fg.get('isFromIops').value;\r\n\t}\r\n\tset isFromIops(val) {\r\n\t\tthis.fg.get('isFromIops').setValue(val);\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.fg.get('isActive').value;\r\n\t}\r\n\tset isActive(val) {\r\n\t\tthis.fg.get('isActive').setValue(val);\r\n\t}\r\n}\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef, AfterViewInit, HostListener } from '@angular/core';\r\nimport { trigger, state, animate, transition, style } from '@angular/animations';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { faInfoCircle, faTrashCan, faAdd, faExclamationTriangle, faXmark } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { EditUserVm } from '../../../../shared/generated/Admin/Models/User/EditUserVm';\r\nimport { SystemMessageService, SystemMessage } from '../../../../core/system-message/system-message-service';\r\nimport { SecurityService } from '../../../../core/security/security.service';\r\nimport { UserJsVm } from '../../../../shared/generated/Admin/Models/User/UserJsVm';\r\nimport { EditUserService } from '../../../../admin/users/edit-user/editUser.service';\r\nimport { GlobalVariablesService } from '../../../../services/global-variables.service';\r\nimport { PermissionProfileEnum } from '../../../../core/enums/generated/PermissionProfileEnum';\r\nimport { UserClientVm } from '../../../../shared/generated/Admin/Models/User/UserClientVm';\r\nimport { SelectItem } from '../../../../shared/models/select-item';\r\nimport { GlobalService } from '../../../../shared/service/global.service';\r\nimport { NotificationService } from '../../../../services/notification.service';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-user-associate-clients',\r\n templateUrl: './user-associate-clients.component.html',\r\n styleUrls: ['./user-associate-clients.component.scss'],\r\n animations: [\r\n trigger('visibilityChanged', [\r\n state('true', style({ opacity: 1 })),\r\n state('false', style({ opacity: 0 })),\r\n transition('* => *', animate('.3s'))\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class UserAssociateClientsComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n formGroup = EditUserVm.Form;\r\n clientFormGroup = UserClientVm.Form;\r\n clientModel = UserClientVm.GetModel(this.clientFormGroup);\r\n model = EditUserVm.GetModel(this.formGroup);\r\n user: UserJsVm;\r\n msg: SystemMessage;\r\n\r\n userClients: UserClientVm[] = [];\r\n permissionItems: SelectItem[] = [];\r\n agencyItems: SelectItem[] = [];\r\n\r\n canEdit = false;\r\n canManageUser = false;\r\n isCurrentUser = false; \r\n showNewUserMessage = false;\r\n firstLoad = false;\r\n isCreatingNewUser = false;\r\n isSysAdmin = false;\r\n isLoaded = false;\r\n isError = false;\r\n isLoadedUserSysAdmin = false;\r\n isMobile: boolean;\r\n\r\n displayMessage: 'block' | 'none' = 'none';\r\n errorMessage = \"\";\r\n\r\n timeout: any\r\n\r\n id: number;\r\n customerCount = 0;\r\n newClientId: number;\r\n newPermissionId: number;\r\n\r\n faIconName = { faInfoCircle, faTrashCan, faAdd, faExclamationTriangle, faXmark };\r\n\r\n constructor(\r\n private route: ActivatedRoute\r\n , private httpClient: HttpClient\r\n , public router: Router \r\n , private ms: SystemMessageService\r\n , private sec: SecurityService\r\n , private editUserService: EditUserService\r\n , private gvs: GlobalVariablesService\r\n , private changeDetectorRef: ChangeDetectorRef\r\n , private ns: NotificationService\r\n ) { }\r\n\r\n @HostListener('window:resize')\r\n\tonResize() { this.isMobile = GlobalService.setIsMobile(window.innerWidth); }\r\n\r\n ngOnInit() {\r\n this.isMobile = GlobalService.setIsMobile(window.innerWidth);\r\n this.route.paramMap.pipe(untilDestroyed(this)).subscribe(map => { this.id = Number(map.get('id')); });\t\r\n this.user = this.sec.getUser();\r\n this.isSysAdmin = this.sec.getSecurity()?.permissionProfile === PermissionProfileEnum.SysAdmin;\r\n this.canEdit = this.sec.hasAccess(o => o.manageUsers);\r\n this.canManageUser = this.sec.hasAccess(o => o.manageUsers);\r\n this.addRouteSubscription();\r\n this.isCreatingNewUser = this.route?.snapshot?.queryParams?.isCreatingNewUser === \"true\";\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.isLoaded = true;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n addRouteSubscription() {\r\n this.route.paramMap.subscribe(() => {\r\n const user = this.sec.getUser();\r\n this.isCurrentUser = this.id === user?.id;\r\n this.editUserService.getUser(this.id).subscribe((vm: EditUserVm) => {\r\n this.formGroup.patchValue(vm);\r\n this.isLoadedUserSysAdmin = vm.isSysAdmin;\r\n this.model = EditUserVm.GetModel(this.formGroup);\r\n this.gvs.userName.set(vm.fullName!);\r\n this.userClients = vm.userClients!;\r\n this.customerCount = vm.userClients?.length!;\r\n this.getAgencies();\r\n this.getPermissions();\r\n this.clientFormGroup.controls.userId.setValue(this.id);\r\n });\r\n });\r\n }\r\n\r\n getAgencies() {\r\n this.httpClient.get(`api/Select/Customers?id=${this.id}&excludeSso=${true}`)\r\n .subscribe((items: any) => { this.agencyItems = items; });\r\n }\r\n\r\n getPermissions() {\r\n this.httpClient.get(`api/Select/Permissions?excludeSysAdmin=true`)\r\n .subscribe((items: any) => { this.permissionItems = items; });\r\n }\r\n\r\n changePermission(row: UserClientVm) {\r\n this.errorMessage = \"\";\r\n this.isError = false;\r\n\r\n if (\r\n row.permissionId === null \r\n || row.permissionId === 0 \r\n || row.permissionId === undefined\r\n ) { this.ns.showError(\"Permission is required.\", {timeOut: 5000}) } \r\n else {\r\n this.httpClient.post(`api/Admin/Users/ChangeUserClientPermission?id=${row.id}&permissionId=${row.permissionId}`, {})\r\n .subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) { this.ns.showSuccess(\"Permission changed for agency \" + row.clientName + \".\", { timeOut: 2000 }); } \r\n else {\r\n this.isError = true;\r\n this.errorMessage = sm?.message!;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n changeActivation(row: UserClientVm) {\r\n this.errorMessage = \"\";\r\n this.isError = false;\r\n let isActive = row.isActive == true ? false : true;\r\n\r\n this.httpClient.post(\r\n `api/Admin/Users/ChangeUserClientActivation?userId=${row.userId}&clientId=${row.clientId}&isActive=${isActive}`\r\n , {}\r\n ).subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) { \r\n this.ns.showSuccess(\"Activation changed for agency \" + row.clientName + \".\", { timeOut: 2000 });\r\n row.isActive = isActive;\r\n } else { \r\n this.isError = true;\r\n this.errorMessage = sm?.message!;\r\n }\r\n });\r\n }\r\n\r\n deleteCustomer(row: UserClientVm) {\r\n this.errorMessage = \"\";\r\n this.isError = false;\r\n\r\n this.httpClient.post(\r\n `api/Admin/Users/RemoveUserFromClient/?userId=${row.userId}&clientId=${row.clientId}`\r\n , {}\r\n ).subscribe((sm: SystemMessage) => { \r\n if (sm.isSuccessful) { \r\n this.ns.showSuccess(\"User removed from agency \" + row.clientName + \".\", { timeOut: 2000 });\r\n this.addRouteSubscription();\r\n } else {\r\n this.isError = true;\r\n this.errorMessage = sm?.message!;\r\n }\r\n });\r\n }\r\n\r\n newCustomerChange() {\r\n this.clientModel.clientId = this.newClientId;\r\n this.clientFormGroup?.controls?.clientId?.patchValue(this.newClientId);\r\n }\r\n\r\n newPermissionChange() {\r\n this.clientModel.permissionId = this.newPermissionId;\r\n this.clientFormGroup?.controls?.permissionId?.patchValue(this.newPermissionId);\r\n }\r\n\r\n addCustomer() {\r\n this.errorMessage = \"\";\r\n this.isError = false;\r\n\r\n if (\r\n this.newClientId === 0 \r\n || this.newClientId === null \r\n || this.newClientId === undefined\r\n ) {\r\n this.isError = true;\r\n this.errorMessage += \"Agency required \"\r\n }\r\n if (\r\n this.newPermissionId === 0 \r\n || this.newPermissionId === null \r\n || this.newPermissionId === undefined\r\n ) {\r\n this.isError = true;\r\n this.errorMessage += \"Permission required \"\r\n }\r\n\r\n if (this.isError === true) { return; }\r\n\r\n this.ms.getHttpObservable(this, `api/Admin/Users/AddUserToClient`, this.clientFormGroup)\r\n .subscribe((sm: SystemMessage) => {\r\n if (sm.isSuccessful) { \r\n this.ns.showSuccess(\"User added.\", { timeOut: 2000 });\r\n this.newClientId = null!;\r\n this.newPermissionId = null!;\r\n this.clientFormGroup?.controls?.clientId?.patchValue(null);\r\n this.clientFormGroup?.controls?.permissionId?.patchValue(null);\r\n this.addRouteSubscription();\r\n } else {\r\n this.isError = true;\r\n this.errorMessage = sm?.message!;\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() { this.formGroup = null!; }\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\tAssociated Agencies\r\n @if (isLoadedUserSysAdmin) { - This user is a System Admin and can be associated to all agencies. }\r\n\t\t

\r\n\t
\r\n
\r\n\r\n@if (!this.isLoadedUserSysAdmin) {\r\n\t
\r\n\t\t
\r\n\t\t\t
\t\r\n\t\t\t
\r\n\t\t\t
\r\n @if (customerCount > 1) {
}\r\n\t\t
\r\n @for (row of userClients; track row;) {\r\n
\r\n
\r\n
{{ row.clientName }}
\r\n \r\n
\r\n @if (\r\n !isSysAdmin \r\n || !row.isClientActive\r\n ) { {{ row.permissionName }} }\r\n @if (\r\n isSysAdmin \r\n && row.isClientActive\r\n ) {\r\n \r\n }\r\n
\r\n\r\n
\r\n @if (\r\n !isMobile \r\n && isSysAdmin\r\n && row.isClientActive\r\n ) {\r\n \r\n }\r\n @if (\r\n isMobile \r\n && isSysAdmin\r\n && row.isClientActive\r\n ) {\r\n \r\n \r\n \r\n }\r\n @if (\r\n isMobile \r\n && !row.isActive\r\n && isSysAdmin\r\n && row.isClientActive\r\n ) {\r\n \r\n \r\n \r\n }\r\n @if (\r\n !isSysAdmin \r\n || !row.isClientActive\r\n ) { {{ row.isActive == true ? \"Active\" : \"Deactivated\" }} }\r\n
\r\n \r\n @if (customerCount > 1) {\r\n
\r\n @if (\r\n row.clientId != model.clientId\r\n && isSysAdmin\r\n ) {\r\n \r\n \r\n \r\n }\r\n @if (\r\n row.clientId == model.clientId\r\n && isSysAdmin\r\n ) {\r\n \r\n \r\n \r\n }\r\n
\r\n }\r\n
\r\n
\r\n }\r\n\t
\r\n\r\n\t@if (isSysAdmin) {\r\n
\r\n

Add New Agencies

\r\n
\r\n \r\n
\r\n @if (isLoaded) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \t\t\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n @if (isError) {
{{ errorMessage }}
}\r\n
\r\n }\r\n
\r\n\t}\t\r\n}\r\n\r\n@if (\r\n (\r\n !isCurrentUser \r\n || canManageUser\r\n ) \r\n && !model.isNewUser\r\n) {\r\n \r\n Back\r\n \r\n}","import { Component } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { SystemMessageService, SystemMessage } from '../../../../core/system-message/system-message-service';\r\nimport { ChangePasswordForm } from '../../../../core/pages/change-password/change-password.form';\r\nimport { validateForm } from '../../../../shared/form-elements/form-validateForm.function';\r\n\r\n@Component({\r\n selector: 'pcg-user-change-password-modal',\r\n templateUrl: './user-change-password-modal.component.html',\r\n styleUrls: ['./user-change-password-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserChangePasswordModalComponent {\r\n\r\n\tchangePasswordForm: UntypedFormGroup = null!;\r\n\r\n\tconstructor(\r\n\t\tpublic activeModal: NgbActiveModal\r\n\t\t, private ms: SystemMessageService\r\n\t\t, http: HttpClient\r\n\t) {\r\n\t\tconst changePasswordForm = new ChangePasswordForm(http, true);\r\n\t\tthis.changePasswordForm = changePasswordForm.formGroup;\r\n\t}\r\n\r\n\tchangePassword() {\r\n\t\tif (this.changePasswordForm.valid) {\r\n\t\t\tthis.ms.getHttpObservable(this, 'api/Account/ChangePassword', this.changePasswordForm)\r\n\t\t\t\t.subscribe((msg: SystemMessage) => { if (msg.isSuccessful) { this.activeModal.dismiss(); } }\r\n\t\t\t);\r\n\t\t} else { validateForm(this.changePasswordForm); }\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
Change Password
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\tPassword Requirements
\r\n\t\t\tMust be at least 10 characters in Length.
\r\n\t\t\tCannot match any of the passwords in our list of commonly used passwords.
\r\n\t\t\tCannot contain context-specific words such as your username or the name of the service.
\r\n\t\t\tCannot use too many repeated (e.g. \"aaaa\") or sequential (e.g. \"1234\") characters.
\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { ValidatorFn, UntypedFormGroup, ValidationErrors, UntypedFormControl, Validators } from '@angular/forms';\r\n\r\nimport { UserJsVm } from '../../../../shared/generated/Admin/Models/User/UserJsVm';\r\n\r\nexport class RegisterPinForm {\r\n\t// Our form group\r\n\tformGroup: UntypedFormGroup = null!;\r\n\r\n\tconstructor(\r\n private http: HttpClient\r\n , public user: UserJsVm\r\n ) {\r\n\t\tthis.formGroup = new UntypedFormGroup({});\r\n var minimumLength = user?.isUsingMinimumPin \r\n\t\t\t? user?.minimumPinLength \r\n\t\t\t: 4\r\n\t\tthis.formGroup.addControl(\r\n\t\t\t'pin',\r\n\t\t\tnew UntypedFormControl('', {\r\n\t\t\t\tvalidators: [\r\n\t\t\t\t\tValidators.required\r\n\t\t\t\t\t, Validators.minLength(minimumLength)\r\n\t\t\t\t\t, Validators.maxLength(10)\r\n\t\t\t\t\t, Validators.pattern('^[0-9]*$')\r\n\t\t\t\t],\r\n\t\t\t\tupdateOn: 'blur'\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.formGroup.addControl('confirmPin', new UntypedFormControl('', [Validators.required, this.pinEqualValidator]));\r\n\t}\r\n\r\n\t// Validator to ensure new pin === confirmation pin\r\n\tpinEqualValidator: ValidatorFn = (control: UntypedFormGroup): ValidationErrors | null => {\r\n\t\tif (\r\n\t\t\tthis.formGroup \r\n\t\t\t&& this.formGroup.value\r\n\t\t) {\r\n\t\t\tconst pin = this.formGroup.value.pin;\r\n\t\t\tconst confirmPin = control.value;\r\n\t\t\treturn pin === confirmPin ? null : { pinsNotEqual: true };\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, EventEmitter, Input } from '@angular/core';\r\nimport { Component, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { SystemMessage, SystemMessageService } from '../../../../core/system-message/system-message-service';\r\nimport { validateForm } from '../../../../shared/form-elements/form-validateForm.function';\r\nimport { RegisterPinForm } from '../register-pin-modal/register-pin.form';\r\nimport { SecurityService } from '../../../../core/security/security.service';\r\nimport { UserJsVm } from '../../../../shared/generated/Admin/Models/User/UserJsVm';\r\nimport { NotificationService } from '../../../../services/notification.service';\r\n\r\n@Component({\r\n selector: 'pcg-register-pin-modal',\r\n templateUrl: './register-pin-modal.component.html',\r\n styleUrls: ['./register-pin-modal.component.scss'],\r\n standalone: false\r\n})\r\nexport class RegisterPinModalComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() user: UserJsVm;\r\n\t@Output() emitPin: EventEmitter = new EventEmitter();\r\n\t@Output() dismiss: EventEmitter = new EventEmitter();\r\n\r\n\tpinForm: UntypedFormGroup | null = null;\r\n\t\r\n\tid: number;\r\n\tneedToChangePin = false;\r\n\tallowDismiss = true;\r\n\tiAmMe: boolean;\r\n minimumPinLength = 4;\r\n\r\n\t// Firefox does not support -webkit-text-security, but has a much less annoying approach to handling password fields.\r\n \t// The following is used to set the input type to reduce annoying password security warnings in chrome. \r\n \tisFirefox: boolean = navigator.userAgent.includes(\"Firefox\");\r\n\r\n\tconstructor(\r\n\t\tprivate httpClient: HttpClient\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private route: ActivatedRoute\r\n\t\t, private sec: SecurityService\r\n\t\t, private ns: NotificationService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tif (this.needToChangePin === true) { this.allowDismiss = false; }\r\n\t\telse { this.route.paramMap.subscribe(map => { this.id = parseInt(map.get('id'), 10); }); }\r\n\t\tdocument?.getElementById('pin')?.focus();\r\n const pinForm = new RegisterPinForm(this.httpClient, this.user);\r\n\t\tthis.pinForm = pinForm.formGroup;\r\n this.minimumPinLength = this.user?.isUsingMinimumPin ? this.user?.minimumPinLength : 4;\r\n\t}\r\n\r\n\tngAfterViewInit() { \r\n\t\tconst user = this.sec.getUser();\r\n\t\tthis.iAmMe = user?.id === this.id;\r\n\t}\r\n\r\n\tcheckCredential() {\r\n\t\tif (this.pinForm?.valid) {\r\n\t\t\tthis.pinForm.addControl('userId', new UntypedFormControl('', Validators.required));\r\n\t\t\tthis.pinForm.patchValue({ userId: this.id });\r\n\t\t\tthis.ms.getHttpObservable(this, 'api/Admin/Users/SavePIN', this.pinForm)\r\n\t\t\t\t.subscribe((msg: any) => {\r\n\t\t\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\t\t\tif (this.iAmMe) { this.sec.setSecurity(msg.value?.token, msg.value?.user, msg.value?.security); }\r\n\t\t\t\t\t\tthis.emitPin.emit(this.pinForm?.controls['pin']?.value as string);\r\n\t\t\t\t\t\tthis.dismiss.emit();\r\n\t\t\t\t\t\tsetTimeout(() => { \r\n\t\t\t\t\t\t\tif (this.needToChangePin === true) { \r\n\t\t\t\t\t\t\t\tthis.allowDismiss = true;\r\n\t\t\t\t\t\t\t\twindow.location.href = document.getElementsByTagName('base')[0].href \r\n\t\t\t\t\t\t\t\t\t+ `admin/users/edit/security/${this.id}`;\r\n\t\t\t\t\t\t\t} else { window.location.reload(); }\r\n\t\t\t\t\t\t}, 750);\t\t\t\t\t\t\r\n\t\t\t\t\t} \r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t} else { validateForm(this.pinForm!); }\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
Register PIN
\r\n\t\t@if (!needToChangePin) {\r\n\t\t\t\r\n\t\t}\r\n\t
\r\n\r\n\t
\r\n\t\t@if (needToChangePin) {
You must change your PIN.
}\r\n\t\t

Please enter your preferred PIN:

\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t@if (!needToChangePin) {\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\t
\r\n
\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef, ViewChild, TemplateRef } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { faUnlock, faInfoCircle } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { EditUserVm } from '../../../../shared/generated/Admin/Models/User/EditUserVm';\r\nimport { SystemMessageService, SystemMessage } from '../../../../core/system-message/system-message-service';\r\nimport { SecurityService } from '../../../../core/security/security.service';\r\nimport { SignatureInput } from '../../../../shared/authentication/double-auth/double-auth.component';\r\nimport { UserJsVm } from '../../../../shared/generated/Admin/Models/User/UserJsVm';\r\nimport { PermissionProfileEnum } from '../../../../core/enums/generated/PermissionProfileEnum';\r\nimport { EditUserService } from '../../../../admin/users/edit-user/editUser.service';\r\nimport { UserChangePasswordModalComponent } from '../user-change-password-modal/user-change-password-modal.component';\r\nimport { UserPermissionsModalComponent } from '../user-permissions-modal/user-permissions-modal.component';\r\nimport { UserAcknowledgementComponent } from '../../../../shared/navigation/user-acknowledgement/user-acknowledgement.component';\r\nimport { GlobalVariablesService } from '../../../../services/global-variables.service';\r\nimport { RegisterPinModalComponent } from '../register-pin-modal/register-pin-modal.component';\r\nimport { NotificationService } from '../../../../services/notification.service';\r\n\r\n@Component({\r\n selector: 'pcg-user-security',\r\n templateUrl: './user-security.component.html',\r\n styleUrls: ['./user-security.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserSecurityComponent implements OnInit, OnDestroy {\r\n\r\n\t@ViewChild('pinModal', { static: true }) pinModal: TemplateRef;\r\n\r\n\tmsg: SystemMessage;\r\n\tuser: UserJsVm;\r\n\tformGroup = EditUserVm.Form;\r\n\tmodel = EditUserVm.GetModel(this.formGroup);\r\n\t\r\n\tid: number;\r\n previousPermissionId: number;\r\n\r\n\tiAmMe: boolean;\r\n\tisLockedOut = false;\r\n\tuserHasSignature: boolean;\r\n\tuserHasPin: boolean;\r\n\tisSysAdmin = false;\r\n\tisTechnician = false;\r\n\tcanEdit = false;\r\n\tcanManageUser = false;\r\n\thasDepartmentPermissions = false;\r\n\tcanChangePermissions = false;\r\n\tcanSeePasswordButtons = false;\r\n\tisCurrentUser = false; \r\n\tneedToChangePin = false;\r\n\r\n\tuserSignature: any;\r\n\tuserPin: any;\r\n\t\r\n\tfaIconName = { faUnlock, faInfoCircle };\r\n\tdepartments = {};\r\n\r\n\tpin: string;\r\n\tuserNameValidation = { pattern: \"Only letters, numbers, and symbols ( . @ - _ ' ) are allowed\" };\r\n\r\n\tshowFirstTimeBanner = false;\r\n\t\r\n\tconstructor(\r\n\t\tprivate route: ActivatedRoute\r\n\t\t, private httpClient: HttpClient\r\n\t\t, public router: Router\r\n\t\t, private modalService: NgbModal\r\n\t\t, private ms: SystemMessageService\r\n\t\t, private sec: SecurityService\r\n\t\t, private changeDetectorRef: ChangeDetectorRef\r\n\t\t, private editUserService: EditUserService\r\n\t\t, private gvs: GlobalVariablesService\r\n\t\t, private ns: NotificationService\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.user = this.sec.getUser();\r\n\t\tthis.isSysAdmin = this.sec.getSecurity()?.permissionProfile === PermissionProfileEnum.SysAdmin;\r\n\t\tthis.isTechnician = this.sec.getSecurity()?.permissionProfile === PermissionProfileEnum.Technician;\r\n\t\tthis.addSecuritySubscription();\r\n\r\n\t\tthis.route.queryParams.subscribe((params) => {\t\r\n\t\t\tif (params?.r === \"1\") { this.needToChangePin = true; }\r\n\t\t\telse { this.needToChangePin = false; }\r\n\r\n\t\t\tif (params.showFirstTimeBanner == \"true\") { this.showFirstTimeBanner = true; }\r\n\t\t\telse { this.showFirstTimeBanner = false; }\r\n\t\t});\r\n\r\n\t\tthis.route.paramMap.subscribe(map => {\r\n\t\t\tconst user = this.sec.getUser();\r\n\t\t\tthis.id = parseInt(map.get('id')!, 10);\r\n\t\t\tif (\r\n\t\t\t\t!this.id \r\n\t\t\t\t&& this.id !== 0\r\n\t\t\t) { this.router.navigateByUrl('dashboard'); }\r\n\t\t\tthis.iAmMe = user?.id === this.id;\r\n\t\t\tif (\r\n\t\t\t\tthis.id !== user?.id \r\n\t\t\t\t&& !this.canEdit\r\n\t\t\t) { this.router.navigate(['/']); }\r\n\t\t\tthis.isCurrentUser = this.id === user?.id;\r\n\r\n\t\t\tthis.editUserService.getUser(this.id).subscribe((model: EditUserVm) => {\r\n\t\t\t\tthis.formGroup.patchValue(model);\r\n\t\t\t\tthis.model = EditUserVm.GetModel(this.formGroup);\r\n\t\t\t\tthis.pin = model.userPin ?? '';\r\n\t\t\t\tthis.userSignature = this.formGroup.controls.userSignature.value;\r\n\t\t\t\tif (this.userSignature?.signatureBase64) { this.userHasSignature = true; }\r\n\t\t\t\tthis.userPin = this.formGroup.controls.userPin.value\r\n\t\t\t\tif (this.userPin) { this.userHasPin = true; }\r\n\r\n\t\t\t\tthis.canSeePasswordButtons =\r\n\t\t\t\t\tmodel.isActive \r\n\t\t\t\t\t&& !model.isLockedOut \r\n\t\t\t\t\t&& model.userId !== this.sec.getUser()?.id \r\n\t\t\t\t\t&& model.userId !== 0;\r\n\t\t\t\tthis.isLockedOut = model.isLockedOut;\r\n this.previousPermissionId = model.permissionId!;\r\n\t\t\t\tthis.gvs.userName.set(model.fullName!);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.openAcknowledgeModal()\r\n\t\t\r\n\t\tif (this.needToChangePin) { \r\n\t\t\tconst modalRef = this.modalService.open(RegisterPinModalComponent, {\r\n\t\t\t\tbeforeDismiss: () => { return modalRef.componentInstance.allowDismiss; }\r\n\t\t\t});\r\n\t\t\tmodalRef.componentInstance.needToChangePin = true;\r\n\t\t\tmodalRef.componentInstance.id = this.id;\r\n\t\t}\r\n\t}\r\n \r\n\taddSecuritySubscription() {\r\n\t\tthis.sec.security$.subscribe(() => {\r\n\t\t\tthis.canEdit = this.sec.hasAccess(o => o.manageUsers);\r\n\t\t\tthis.canManageUser = this.sec.hasAccess(o => o.manageUsers);\r\n\t\t\tthis.sec.setControlAccess(this.formGroup?.controls?.permissionId, o => o.canChangePermissions);\r\n\t\t});\r\n\t}\r\n\r\n\tsaveUser(msg: SystemMessage) {\r\n\t\tif (msg.value) {\r\n\t\t\tconst model = this.formGroup.value;\t\t\t\r\n\t\t\tthis.id = model.userId;\r\n\t\t\tthis.canSeePasswordButtons = model.isActive \r\n\t\t\t\t&& !model.isLockedOut \r\n\t\t\t\t&& model.userId !== this.sec.getUser()?.id \r\n\t\t\t\t&& model.userId !== 0;\r\n\t\t\tthis.sec.setSecurity(\r\n\t\t\t\tundefined!\r\n\t\t\t\t, msg.value.userJsVm\r\n\t\t\t\t, msg.value.dynamicSecurity\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (!msg.isSuccessful) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.formGroup.controls.userSignature.setValue(this.userSignature);\r\n\t\t\t\tthis.userSignature = null;\r\n\t\t\t\tthis.changeDetectorRef.detectChanges();\r\n\t\t\t\tthis.userSignature = this.formGroup.controls.userSignature.value;\r\n\t\t\t}, 1);\r\n\t\t} else {\r\n\t\t\tthis.userSignature = this.formGroup.controls.userSignature.value;\r\n\t\t\tthis.userHasSignature = this.userSignature?.signatureBase64 \r\n\t\t\t\t? true \r\n\t\t\t\t: false;\r\n\t\t\tthis.userPin = this.formGroup.controls.userPin.value\r\n\t\t\tthis.userHasPin = this.userPin \r\n\t\t\t\t? true \r\n\t\t\t\t: false;\r\n\t\t}\r\n\t}\r\n\r\n\tresetPassword(\r\n\t\tisWelcomeEmail: boolean\r\n\t\t, isSystemMessage: boolean\r\n\t) {\r\n\t\tthis.httpClient.post(\r\n\t\t\t'api/Account/ForgotPassword'\r\n\t\t\t, {\r\n\t\t\t\temail: this.formGroup.value.email\r\n\t\t\t\t, isWelcomeEmail\r\n\t\t\t}\r\n\t\t).subscribe((msg: any) => {\r\n\t\t\tif (msg.isSuccessful) {\r\n\t\t\t\tthis.ns.showSuccess(`An email has been sent to the user with a ${isWelcomeEmail ? 'welcome' : 'reset password'} link.`, { timeOut: 2000 });\r\n\t\t\t} else { this.ns.showError(msg.message, { timeOut: 5000 }); }\r\n\t\t});\r\n\t\tif (isSystemMessage) { setTimeout(() => { this.router.navigateByUrl(\"admin/users/list\"); }, 500); }\t\t\r\n\t}\r\n\r\n\topenChangePasswordModal() { this.modalService.open(UserChangePasswordModalComponent); }\r\n\topenPermissionsInfoModal() { this.modalService.open(UserPermissionsModalComponent, { size: 'xl' }); }\r\n\topenPINModal() { this.modalService.open(this.pinModal); }\r\n\tdismissPinModal() { \r\n\t\tthis.modalService.dismissAll();\r\n\t\tthis.router.navigateByUrl(`admin/users/edit/security/${this.id}`);\r\n\t}\r\n\r\n\topenAcknowledgeModal() { \r\n\t\tif(!this.user?.isAcknowledged){ \r\n\t\t\tthis.modalService.open(UserAcknowledgementComponent, { backdrop:'static', size: 'xl', keyboard: false, scrollable: true });\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * This function handles signature events from the pcg-signature-box component\r\n\t * \r\n\t * @param signature Signature event being passed in\r\n\t */\r\n\thandleSignatureEvents(\r\n\t\tsignature: SignatureInput\r\n\t\t, tabName = null\r\n\t) {\r\n\t\tthis.formGroup.controls.userSignature.patchValue(signature);\r\n\t\tthis.ms.post('api/Admin/Users/SaveUserSignature', this.formGroup)\r\n\t\t\t.subscribe((response: SystemMessage) => { this.saveUser(response); });\r\n\t}\r\n\r\n\thandlePermissionEvents() {\r\n\t\tif (!this.iAmMe) {\r\n\t\t\tthis.ms.post('api/Admin/Users/SaveUserPermission', this.formGroup)\r\n\t\t\t\t.subscribe((response: SystemMessage) => { this.saveUser(response); });\r\n\t\t}\r\n else {\r\n this.ns.showError(\"You cannot lower your own permission. Please contact an Admin to do so for you.\", { timeOut: 5000 });\r\n setTimeout(() => {\r\n this.formGroup.get('permissionId')!.setValue(this.previousPermissionId, { emitEvent: false });\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\t}\r\n\r\n\thandleUsernameEvents() {\r\n\t\tthis.ms.post('api/Admin/Users/SaveUsername', this.formGroup)\r\n\t\t\t.subscribe((response: SystemMessage) => { this.saveUser(response); });\r\n\t}\r\n\r\n\tngOnDestroy() { this.formGroup = null!; }\r\n}","
\r\n\r\n@if (showFirstTimeBanner) {\r\n
\r\n Please set your signature and pin.\r\n
\r\n}\r\n\r\n
\r\n
\r\n

User Information

\t\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \t\t\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Signature

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

PIN

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Change
PIN
\r\n
Set a
PIN
\r\n
\r\n
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
\r\n
\r\n
\t\t\t\t\t\r\n \r\n \r\n Back\t\t\t\t\t\t\r\n \r\n
\r\n\r\n\r\n\t\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\n\r\nimport { EditUserService } from '../editUser.service';\r\nimport { GlobalVariablesService } from '../../../../services/global-variables.service';\r\nimport { EditUserVm } from '../../../../shared/generated/Admin/Models/User/EditUserVm';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'pcg-user-audit-history',\r\n templateUrl: './user-audit-history.component.html',\r\n styleUrls: ['./user-audit-history.component.scss'],\r\n standalone: false\r\n})\r\nexport class UserAuditHistoryComponent implements OnInit {\r\n\r\n id: number;\r\n \r\n viewModelString = 'Admin.Models.User.EditUserVm';\r\n auditHistoryName = 'Edit User Audit History';\r\n\r\n constructor(\r\n private route: ActivatedRoute\r\n\t\t, private editUserService: EditUserService\r\n\t\t, private gvs: GlobalVariablesService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.route.paramMap.pipe(untilDestroyed(this)).subscribe(map => { this.id = Number(map.get('id')); });\t\r\n this.editUserService.getUser(this.id).subscribe((model: EditUserVm) => { this.gvs.userName.set(model.fullName!); });\r\n }\r\n}","\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { SharedModule } from '../../../shared/shared.module';\r\nimport { EditUserComponent } from './edit-user.component';\r\nimport { UserLoginHistoryComponent } from './user-login-history/user-login-history.component';\r\nimport { UserChangePasswordModalComponent } from './user-change-password-modal/user-change-password-modal.component';\r\nimport { UserClientNotificationsComponent } from './user-client-notifications/user-client-notifications.component';\r\nimport { UserPermissionsModalComponent } from './user-permissions-modal/user-permissions-modal.component';\r\nimport { DepartmentInventoriesModalComponent } from './department-inventories-modal/department-inventories-modal.component';\r\nimport { RegisterPinModalComponent } from './register-pin-modal/register-pin-modal.component';\r\nimport { UserAssociateInventoriesComponent } from './user-associate-inventories/user-associate-inventories.component';\r\nimport { UserAssociateClientsComponent } from './user-associate-clients/user-associate-clients.component';\r\nimport { UserSecurityComponent } from './user-security/user-security.component';\r\nimport { UserAuditHistoryComponent } from './user-audit-history/user-audit-history.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n EditUserComponent\r\n , UserChangePasswordModalComponent\r\n , UserLoginHistoryComponent\r\n , UserClientNotificationsComponent\r\n , UserPermissionsModalComponent\r\n , DepartmentInventoriesModalComponent\r\n , RegisterPinModalComponent\r\n , UserAssociateInventoriesComponent\r\n , UserAssociateClientsComponent\r\n , UserSecurityComponent\r\n , UserAuditHistoryComponent\r\n ],\r\n imports: [\r\n RouterModule\r\n , CommonModule\r\n , SharedModule\r\n , NgbModalModule\r\n ],\r\n exports: [\r\n EditUserComponent\r\n , UserLoginHistoryComponent\r\n , UserClientNotificationsComponent\r\n , UserAuditHistoryComponent\r\n ]\r\n})\r\nexport class EditUserModule {}\r\n"],"mappings":"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","names":["ERR_SW_NOT_SUPPORTED","NgswCommChannel","serviceWorker","injector","Observable","subscriber","currentWorker","workerSubject","Subject","v","updateController","controller","switchMap","_events","messageListener","event","data","ApplicationRef","action","payload","resolve","take","sw","__spreadValues","type","operationNonce","waitForOperationCompleted","postMessage","result","filterFn","filter","nonce","reject","map","SwPush","NEVER","message","registration","workerDrivenSubscriptions","pm","workerDrivenSubscription","subscriptionChanges","options","pushOptions","key","applicationServerKey","i","sub","doUnsubscribe","success","input","__ngFactoryType__","ɵɵinject","ɵɵdefineInjectable","SwUpdate","SCRIPT","InjectionToken","ngswAppInitializer","inject","SwRegistrationOptions","script","ngZone","NgZone","appRef","onControllerChange","readyToRegister","registrationStrategy","strategy","args","delayWithTimeout","err","timeout","ngswCommChannelFactory","opts","provideServiceWorker","makeEnvironmentProviders","Injector","provideAppInitializer","ServiceWorkerModule","ɵɵdefineNgModule","ɵɵdefineInjector","EditUserVm","userId","fullName","userName","phoneNumber","email","emailConfirmed","isEmailBounced","isEmailSpamReported","deactivatedDueToInactivity","emailError","stateLicenseNumber","userProfileIds","userProfiles","isActive","strIsActive","isLockedOut","inactivityTimeout","permissionId","permissionProfile","isSysAdmin","clientId","clientName","departmentIds","inventoryIds","activeInventoryIds","activeInventories","notificationInventoryIds","notificationInventories","inventories","inventorySiteAssociation","hasBiometricClientSettings","hasFidoClientSettings","fields","customFields","friendlyId","userSignature","userPin","needToResetPin","showDepartments","isNewUser","isFromIops","knoxId","isFromKnox","userType","logoFileName","companyName","lastLoginDate","lastLoginDateStr","isUpdatedOffline","isMultipleClients","hasLoginHistory","userClients","FormData","getFormData","validators","UntypedFormControl","Validators","required","minLength","maxLength","pattern","UntypedFormArray","SignatureVm","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","EditUserVmFromFg","constructor","get","value","val","setValue","SignatureVmFromFg","UserProfileTypeEnum","toDescription","val","PermissionVm","id","permissionProfileString","coreFeatures","manageUsers","replenishment","reconciliation","shiftChangeAuditor","applicationSettings","createAndEditInventories","createAndEditCustomFields","programsAndDepartments","verificationSettings","manageNdcDirectory","manageHelpDocumentation","releaseNotes","security","clients","globalAuditHistory","viewQuartzJobs","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","GetModel","fg","PermissionVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","permission_r1","PermissionDescription","ɵɵelement","ɵɵproperty","ctx_r1","faCheck","ɵɵtemplate","UserPermissionsModalComponent_tr_22_Conditional_3_Template","UserPermissionsModalComponent_tr_22_fa_icon_5_Template","UserPermissionsModalComponent_tr_22_fa_icon_7_Template","UserPermissionsModalComponent_tr_22_fa_icon_9_Template","UserPermissionsModalComponent_tr_22_fa_icon_11_Template","PermissionName","ɵɵconditional","hasDescriptions","checkPermissionLevel","PermissionProfilePermissionInfos","UserPermissionsModalComponent","activeModal","http","permissions","formGroup","PermissionVm","Form","editorString","jsonData","constructor","ngOnInit","getText","getModalData","get","subscribe","msg","JSON","parse","model","checkForDescriptions","vm","patchValue","text","permissionProfilePermissionInfos","permissionId","hit","forEach","p","data","ɵɵdirectiveInject","NgbActiveModal","HttpClient","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵlistener","dismiss","UserPermissionsModalComponent_Conditional_13_Template","UserPermissionsModalComponent_tr_22_Template","ɵɵsanitizeHtml","DepartmentInventoryVm","department","associatedInventories","FormData","getFormData","validators","UntypedFormControl","Form","UntypedFormGroup","GetModel","fg","DepartmentInventoryVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","inventory_r1","ɵɵtemplate","DepartmentInventoriesModalComponent_div_12_div_6_div_1_Template","ɵɵproperty","i_r2","DepartmentInventoriesModalComponent_div_12_div_6_Template","DepartmentInventoriesModalComponent_div_12_div_7_Template","dep_r3","department","associatedInventories","j_r4","k_r5","DepartmentInventoriesModalComponent","activeModal","httpClient","formGroup","DepartmentInventoryVm","Form","model","GetModel","departments","constructor","ngOnInit","getDepartments","get","subscribe","ɵɵdirectiveInject","NgbActiveModal","HttpClient","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵlistener","dismiss","DepartmentInventoriesModalComponent_div_12_Template","EditUserService","httpClient","constructor","getUser","id","get","getUserByEmailNewUser","email","ɵɵinject","HttpClient","factory","ɵfac","providedIn","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","bounceEmail","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","faIconName","faTennisBall","_r3","validateEmail","faEnvelope","_r4","unlockUser","faUnlock","_r5","undoSpamReport","faEnvelopesBulk","ɵɵclassProp","model","isActive","_r6","activateDeactivate","ɵɵtemplate","EditUserComponent_Conditional_3_Conditional_6_Conditional_5_Template","EditUserComponent_Conditional_3_Conditional_6_Conditional_6_Template","faHourglassClock","ɵɵtextInterpolate1","ɵɵconditional","deactivatedDueToInactivity","_r7","logout","faPowerOff","EditUserComponent_Conditional_3_Conditional_1_Template","EditUserComponent_Conditional_3_Conditional_2_Template","EditUserComponent_Conditional_3_Conditional_3_Template","EditUserComponent_Conditional_3_Conditional_4_Template","EditUserComponent_Conditional_3_Conditional_6_Template","EditUserComponent_Conditional_3_Conditional_7_Template","isEmailBounced","emailConfirmed","isLockedOut","isEmailSpamReported","canChangePermissions","id","isCurrentUser","isMobile","EditUserComponent_Conditional_5_div_6_Template","EditUserComponent_Conditional_6_div_6_Template","_r8","noClick","yesClick","_r9","overrideAndValidate","_r10","activateByEmail","EditUserComponent_Conditional_10_Conditional_2_Template","EditUserComponent_Conditional_10_Conditional_3_Template","strError","showValidateEmail","userExistsInAgency","phoneValidation","_r11","resetPassword","_r12","openInfoModal","faInfoCircle","knoxId","EditUserComponent_Conditional_25_Conditional_0_Template","EditUserComponent_Conditional_25_Conditional_1_Template","isFromKnox","_r13","openPermissionsInfoModal","userNameValidation","fields","formGroup","_r14","_r15","handleBackDetails","EditUserComponent","route","httpClient","router","modalService","ms","sec","dynForm","activationService","editUserService","gvs","localDb","localDbService","ns","alertModalService","pinModal","navService","inject","NavigationService","pattern","fullNameValidation","EditUserVm","Form","GetModel","faUser","faStaffSnake","msg","user","departments","customFieldsCount","clientIdOnLoad","iAmMe","isSysAdmin","isTechnician","canEdit","canManageUser","hasDepartmentPermissions","canSeePasswordButtons","canManageNotifications","isNewUser","isOnline","firstLoad","isMultipleClients","showMultiClientMessage","isError","useDifferentEmail","isKnox","activateByEmailId","pin","viewModelString","auditHistoryName","displayMessage","strClientName","timout","constructor","onResize","GlobalService","setIsMobile","window","innerWidth","openWindow","o","navigateByUrl","ngOnInit","CheckNetworkService","checkNetworkStatus","getUser","getSecurity","permissionProfile","PermissionProfileEnum","SysAdmin","Technician","hasAccess","programsAndDepartments","addSecuritySubscription","addRouteSubscription","security$","subscribe","manageUsers","setControlAccess","controls","permissionId","paramMap","map","parseInt","get","userProfileType","UserProfileTypeEnum","Emt","navigate","vm","setModel","grabUserFromLocalDb","updateFormGroupFields","length","patchValue","clientName","userName","set","fullName","userId","inventoryIds","setValue","value","clientId","isUsingSso","disable","email","onMessageSuccess","systemMessage","isCreatingUser","skipLocationChange","then","setSecurity","undefined","userJsVm","dynamicSecurity","getHttpObservable","ActivationEnum","User","UntypedFormGroup","UntypedFormControl","activationEnum","sm","isSuccessful","isWelcomeEmail","isSystemMessage","post","showSuccess","timeOut","showError","setTimeout","table","toArray","response","filteredResponse","filter","emailChange","getUserByEmailNewUser","message","emailError","verdict","score","checks","domain","has_mx_or_a_record","has_valid_address_syntax","is_suspected_disposable_address","additional","has_known_bounces","has_suspected_bounces","emailAlreadyExists","open","UserPermissionsModalComponent","size","DepartmentInventoriesModalComponent","ngOnDestroy","executeLogout","openAlert","isNavFixed","collapseAllSubNavs","localStorage","removeItem","sessionStorage","clear","deleteAllCookies","location","href","cookies","document","cookie","split","i","eqPos","indexOf","name","substr","ɵɵdirectiveInject","ActivatedRoute","HttpClient","Router","NgbModal","SystemMessageService","SecurityService","DynamicFormService","ActivationService","EditUserService","GlobalVariablesService","AppDatabase","SetLocaldbTablesService","NotificationService","AlertModalService","selectors","viewQuery","rf","ctx","ɵɵresolveWindow","$event","EditUserComponent_Conditional_3_Template","EditUserComponent_Conditional_4_Template","EditUserComponent_Conditional_5_Template","EditUserComponent_Conditional_6_Template","EditUserComponent_Conditional_7_Template","EditUserComponent_Conditional_8_Template","EditUserComponent_Conditional_10_Template","EditUserComponent_input_14_Template","EditUserComponent_Conditional_15_Template","EditUserComponent_Conditional_18_Template","EditUserComponent_Conditional_19_Template","EditUserComponent_Conditional_21_Template","EditUserComponent_Conditional_22_Template","EditUserComponent_Conditional_25_Template","EditUserComponent_Conditional_26_Template","EditUserComponent_Conditional_27_Template","EditUserComponent_Conditional_29_Template","EditUserComponent_Conditional_30_Template","EditUserComponent_Conditional_31_Template","EditUserComponent_Conditional_32_Template","EditUserComponent_Conditional_33_Template","isFromIops","showDepartments","trigger","state","style","opacity","transition","animate","LoginHistoryVm","attemptSuccessful","userName","userID","ipAddress","dateAttempted","dateAttemptedFormatted","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","LoginHistoryVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","columns","get","displayName","row_r2","dateAttemptedFormatted","row_r3","attemptSuccessful","row_r4","userName","row_r5","ipAddress","UserLoginHistoryComponent","route","editUserService","gvs","id","LoginHistoryVm","ColumnDefs","constructor","ngOnInit","paramMap","pipe","untilDestroyed","subscribe","map","Number","getUser","model","set","fullName","ɵɵdirectiveInject","ActivatedRoute","EditUserService","GlobalVariablesService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementContainerStart","ɵɵtemplate","UserLoginHistoryComponent_th_2_Template","UserLoginHistoryComponent_td_3_Template","UserLoginHistoryComponent_th_5_Template","UserLoginHistoryComponent_td_6_Template","UserLoginHistoryComponent_th_8_Template","UserLoginHistoryComponent_td_9_Template","UserLoginHistoryComponent_th_11_Template","UserLoginHistoryComponent_td_12_Template","ɵɵproperty","ɵɵpureFunction1","_c0","_c2","ɵɵpureFunction0","_c1","__decorate","UntilDestroy","__metadata","UserClientNotificationVm","id","userFullName","userClientId","userId","notification","sendEmail","sendPush","notificationArea","options","name","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","UserClientNotificationVmFromFg","constructor","get","value","val","setValue","UserNotificationScheduleVm","id","userId","sunday","monday","tuesday","wednesday","thursday","friday","saturday","userNotificationScheduleType","annualDate","biAnnualDate1","biAnnualDate2","monthlyDate","hourOfDay","friendlyId","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","GetModel","fg","UserNotificationScheduleVmFromFg","constructor","get","value","val","setValue","UserNotificationScheduleEnum","toDescription","val","NotificationAreaEnum","toDescription","val","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","faIcons","faInfoCircle","ɵɵtemplate","UserClientNotificationsComponent_Conditional_1_Conditional_3_Template","ɵɵconditional","isMobile","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","closeSideNav","faArrowLeft","_r5","testPushNotification","_r4","operatePushNotification","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_4_Conditional_6_Template","pushNotificationsEnabled","disablePushToggle","isSysAdmin","ɵɵtextInterpolate1","ɵɵpipeBind2","userNotificationScheduleModel","annualDate","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_14_Conditional_1_Template","ɵɵtextInterpolate2","biAnnualDate1","biAnnualDate2","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_15_Conditional_1_Template","monthlyDate","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_16_Conditional_1_Template","dayString","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_17_Conditional_3_Conditional_0_Template","length","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_17_Conditional_1_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_17_Conditional_2_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_17_Conditional_3_Template","isEveryDay","isBusinessDays","getTime","hourOfDay","_r6","changeSchedule","ɵɵtwoWayListener","$event","_r8","i0","ɵɵtwoWayBindingSet","ɵɵclassMap","showAnnualDateValidation","ɵɵtwoWayProperty","timeSelectItems","_r9","showBiannualDate1Validation","showBiannualDate2Validation","_r10","showMonthlyDateValidation","_r11","updateDays","sunday","monday","tuesday","wednesday","thursday","friday","saturday","_r7","annualClick","biAnnualClick","monthlyClick","weeklyClick","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_21_Conditional_13_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_21_Conditional_14_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_21_Conditional_15_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_21_Conditional_16_Template","onCancel","saveSchedule","userNotificationScheduleType","userNotificationScheduleEnum","Annual","BiAnnual","Monthly","Weekly","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_1_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_4_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_14_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_15_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_16_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_17_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Case_18_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_19_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_20_Template","UserClientNotificationsComponent_Conditional_2_Conditional_2_Conditional_21_Template","showPushNotification","iAmMe","tmp_5_0","isChange","_r12","ɵɵelementContainerStart","option_r14","_r13","$implicit","notification_r15","toggleNotification","getChecked","isAdmin","isManager","ɵɵtextInterpolate","UserClientNotificationsComponent_Conditional_2_Conditional_3_For_1_For_7_ng_container_3_Template","area_r16","notifications","options","getNotificationName","UserClientNotificationsComponent_Conditional_2_Conditional_3_For_1_Conditional_2_Template","ɵɵrepeaterCreate","UserClientNotificationsComponent_Conditional_2_Conditional_3_For_1_For_7_Template","_forTrack0","isSelected","getAreaSectionId","name","ɵɵrepeater","UserClientNotificationsComponent_Conditional_2_Conditional_3_For_1_Template","areasSignal","area_r18","_r17","openSetting","_r2","showSideNav","UserClientNotificationsComponent_Conditional_2_Conditional_2_Template","UserClientNotificationsComponent_Conditional_2_Conditional_3_Template","UserClientNotificationsComponent_Conditional_2_For_11_Template","showSettings","UserClientNotificationsComponent","httpClient","activatedRoute","swPush","ns","sec","gvs","editUserService","userId","isTech","isLoadedUserSysAdmin","_subscription","userNotificationScheduleFormGroup","UserNotificationScheduleVm","Form","GetModel","UserNotificationScheduleEnum","oldUserNotificationScheduleModel","dayArray","signal","UserClientNotificationVm","ColumnDefs","httpOptions","headers","HttpHeaders","onResize","GlobalService","setIsMobile","window","innerWidth","constructor","subscription","subscribe","ngOnInit","set","Number","snapshot","paramMap","get","hasAccess","o","permissionProfile","PermissionProfileEnum","SysAdmin","Admin","Manager","Technician","user","getUser","id","getUserClientNotifications","getUserNotificationSchedule","createTimeSelectItems","vm","userName","userFullName","groups","Set","map","notificationArea","area","getNotificationGroupName","filter","i","NotificationAreaEnum","ShiftChange","clientShiftChangeName","MedUse","clientMedUseName","toDescription","notification","replace","toLowerCase","option","sendEmail","sendPush","postUpdate","update","body","JSON","stringify","post","msg","message","isSuccessful","model","showSuccess","timeOut","showError","unsubscribePush","endpoint","responseType","publicKey","requestSubscription","serverPublicKey","then","error","console","catch","showWarning","setTimeout","document","getElementById","classList","remove","unsubscribe","encodeURIComponent","log","onGetUserNotificationScheduleVm","old","__spreadValues","fg","getRawValue","day","setIsEveryDay","setIsBusinessDays","setDayString","patchValue","push","join","value","text","find","ɵɵdirectiveInject","HttpClient","ActivatedRoute","SwPush","NotificationService","SecurityService","GlobalVariablesService","EditUserService","selectors","hostBindings","rf","ctx","ɵɵresolveWindow","UserClientNotificationsComponent_Conditional_0_Template","UserClientNotificationsComponent_Conditional_1_Template","UserClientNotificationsComponent_Conditional_2_Template","UserInventorySiteListVm","inventorySiteId","inventorySiteName","type","isActive","FormData","getFormData","validators","UntypedFormControl","Validators","required","Form","UntypedFormGroup","ColumnDefs","Map","GetModel","fg","UserInventorySiteListVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","resetPassword","ɵɵelementEnd","ɵɵelement","UserAssociateInventoriesComponent","route","httpClient","router","ms","sec","editUserService","gvs","ns","associatedInventories","associatedIds","columns","UserInventorySiteListVm","ColumnDefs","formGroup","EditUserVm","Form","associationState","inject","AssociationListService","model","GetModel","user","msg","allInventories","inventories","activeInventories","oldSites","canEdit","canManageUser","isCurrentUser","isCreatingNewUser","id","faIconName","faInfoCircle","constructor","ngOnInit","paramMap","pipe","untilDestroyed","subscribe","map","Number","get","getUser","hasAccess","o","manageUsers","addRouteSubscription","snapshot","queryParams","includes","deleteColumns","update","__spreadProps","__spreadValues","parentId","parentTitle","childTitle","getAction","saveAction","editable","isMobile","initialLoad","canToggleInventoryTypes","canToggleUserPermissions","childVariableName","sites","delete","vm","patchValue","userName","set","fullName","isWelcomeEmail","isSystemMessage","post","email","value","isSuccessful","showSuccess","timeOut","showError","setTimeout","navigateByUrl","ngOnDestroy","ɵɵdirectiveInject","ActivatedRoute","HttpClient","Router","SystemMessageService","SecurityService","EditUserService","GlobalVariablesService","NotificationService","selectors","viewQuery","rf","ctx","ɵɵtemplate","UserAssociateInventoriesComponent_div_0_Template","ɵɵproperty","ɵɵadvance","__decorate","UntilDestroy","__metadata","UserClientVm","id","userId","userName","clientId","clientName","isClientActive","permissionId","permissionName","userPIN","userGuid","iops360Id","knoxId","isFromIops","isActive","FormData","getFormData","validators","UntypedFormControl","Validators","required","maxLength","Form","UntypedFormGroup","GetModel","fg","UserClientVmFromFg","constructor","get","value","val","setValue","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","row_r1","permissionName","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","$implicit","i0","ɵɵtwoWayBindingSet","permissionId","ɵɵresetView","ɵɵlistener","ctx_r2","changePermission","ɵɵproperty","permissionItems","ɵɵtwoWayProperty","ɵɵpureFunction0","_c0","_r4","changeActivation","ɵɵclassProp","isActive","_r5","faIconName","faXmark","_r6","faAdd","_r7","deleteCustomer","faTrashCan","faExclamationTriangle","ɵɵtemplate","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_13_Conditional_1_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_13_Conditional_2_Template","ɵɵconditional","clientId","model","isSysAdmin","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_6_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_7_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_9_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_10_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_11_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_12_Template","UserAssociateClientsComponent_Conditional_5_For_13_Conditional_13_Template","clientName","isClientActive","isMobile","customerCount","errorMessage","_r8","newClientId","newCustomerChange","newPermissionId","newPermissionChange","addCustomer","UserAssociateClientsComponent_Conditional_5_Conditional_14_Conditional_5_Conditional_25_Template","agencyItems","isError","UserAssociateClientsComponent_Conditional_5_Conditional_14_Conditional_5_Template","isLoaded","UserAssociateClientsComponent_Conditional_5_Conditional_11_Template","ɵɵrepeaterCreate","UserAssociateClientsComponent_Conditional_5_For_13_Template","ɵɵrepeaterTrackByIdentity","UserAssociateClientsComponent_Conditional_5_Conditional_14_Template","ɵɵrepeater","userClients","UserAssociateClientsComponent","route","httpClient","router","ms","sec","editUserService","gvs","changeDetectorRef","ns","formGroup","EditUserVm","Form","clientFormGroup","UserClientVm","clientModel","GetModel","user","msg","canEdit","canManageUser","isCurrentUser","showNewUserMessage","firstLoad","isCreatingNewUser","isLoadedUserSysAdmin","displayMessage","timeout","id","faInfoCircle","constructor","onResize","GlobalService","setIsMobile","window","innerWidth","ngOnInit","paramMap","pipe","untilDestroyed","subscribe","map","Number","get","getUser","getSecurity","permissionProfile","PermissionProfileEnum","SysAdmin","hasAccess","o","manageUsers","addRouteSubscription","snapshot","queryParams","ngAfterViewInit","detectChanges","vm","patchValue","userName","set","fullName","length","getAgencies","getPermissions","controls","userId","setValue","items","row","undefined","showError","timeOut","post","sm","isSuccessful","showSuccess","message","getHttpObservable","ngOnDestroy","ɵɵdirectiveInject","ActivatedRoute","HttpClient","Router","SystemMessageService","SecurityService","EditUserService","GlobalVariablesService","ChangeDetectorRef","NotificationService","selectors","hostBindings","rf","ctx","ɵɵresolveWindow","UserAssociateClientsComponent_Conditional_4_Template","UserAssociateClientsComponent_Conditional_5_Template","UserAssociateClientsComponent_Conditional_6_Template","isNewUser","trigger","state","style","opacity","transition","animate","__decorate","UntilDestroy","__metadata","UserChangePasswordModalComponent","activeModal","ms","changePasswordForm","constructor","http","ChangePasswordForm","formGroup","changePassword","valid","getHttpObservable","subscribe","msg","isSuccessful","dismiss","validateForm","ɵɵdirectiveInject","NgbActiveModal","SystemMessageService","HttpClient","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵproperty","ɵɵadvance","ɵɵpureFunction0","_c0","_c1","_c2","RegisterPinForm","http","user","formGroup","constructor","UntypedFormGroup","minimumLength","isUsingMinimumPin","minimumPinLength","addControl","UntypedFormControl","validators","Validators","required","minLength","maxLength","pattern","updateOn","pinEqualValidator","control","value","pin","confirmPin","pinsNotEqual","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","dismiss","emit","ɵɵtext","ɵɵelementEnd","_r3","RegisterPinModalComponent","httpClient","ms","route","sec","ns","user","emitPin","EventEmitter","pinForm","id","needToChangePin","allowDismiss","iAmMe","minimumPinLength","isFirefox","navigator","userAgent","includes","constructor","ngOnInit","paramMap","subscribe","map","parseInt","get","document","getElementById","focus","RegisterPinForm","formGroup","isUsingMinimumPin","ngAfterViewInit","getUser","checkCredential","valid","addControl","UntypedFormControl","Validators","required","patchValue","userId","getHttpObservable","msg","isSuccessful","setSecurity","value","token","security","controls","setTimeout","window","location","href","getElementsByTagName","reload","validateForm","ɵɵdirectiveInject","HttpClient","SystemMessageService","ActivatedRoute","SecurityService","NotificationService","selectors","inputs","outputs","standalone","decls","vars","consts","template","rf","ctx","ɵɵtemplate","RegisterPinModalComponent_Conditional_4_Template","RegisterPinModalComponent_Conditional_6_Template","ɵɵelement","RegisterPinModalComponent_Conditional_16_Template","ɵɵproperty","ɵɵadvance","ɵɵconditional","ɵɵpureFunction0","_c0","_c1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","resetPassword","_r4","openChangePasswordModal","ɵɵelement","_r5","openPINModal","ɵɵtemplate","UserSecurityComponent_div_30_img_8_Template","UserSecurityComponent_div_30_img_9_Template","UserSecurityComponent_div_30_div_10_Template","UserSecurityComponent_div_30_div_11_Template","ɵɵadvance","ɵɵproperty","pin","_r6","dismissPinModal","user","UserSecurityComponent","route","httpClient","router","modalService","ms","sec","changeDetectorRef","editUserService","gvs","ns","pinModal","msg","formGroup","EditUserVm","Form","model","GetModel","id","previousPermissionId","iAmMe","isLockedOut","userHasSignature","userHasPin","isSysAdmin","isTechnician","canEdit","canManageUser","hasDepartmentPermissions","canChangePermissions","canSeePasswordButtons","isCurrentUser","needToChangePin","userSignature","userPin","faIconName","faUnlock","faInfoCircle","departments","userNameValidation","pattern","showFirstTimeBanner","constructor","ngOnInit","getUser","getSecurity","permissionProfile","PermissionProfileEnum","SysAdmin","Technician","addSecuritySubscription","queryParams","subscribe","params","r","paramMap","map","parseInt","get","navigateByUrl","navigate","patchValue","controls","value","signatureBase64","isActive","userId","permissionId","userName","set","fullName","openAcknowledgeModal","modalRef","open","RegisterPinModalComponent","beforeDismiss","componentInstance","allowDismiss","security$","hasAccess","o","manageUsers","setControlAccess","saveUser","setSecurity","undefined","userJsVm","dynamicSecurity","isSuccessful","setTimeout","setValue","detectChanges","isWelcomeEmail","isSystemMessage","post","email","showSuccess","timeOut","showError","message","UserChangePasswordModalComponent","openPermissionsInfoModal","UserPermissionsModalComponent","size","dismissAll","isAcknowledged","UserAcknowledgementComponent","backdrop","keyboard","scrollable","handleSignatureEvents","signature","tabName","response","handlePermissionEvents","emitEvent","handleUsernameEvents","ngOnDestroy","ɵɵdirectiveInject","ActivatedRoute","HttpClient","Router","NgbModal","SystemMessageService","SecurityService","ChangeDetectorRef","EditUserService","GlobalVariablesService","NotificationService","selectors","viewQuery","rf","ctx","UserSecurityComponent_Conditional_1_Template","$event","i0","_r1","UserSecurityComponent_input_13_Template","UserSecurityComponent_input_14_Template","UserSecurityComponent_div_30_Template","UserSecurityComponent_a_32_Template","UserSecurityComponent_ng_template_33_Template","ɵɵtemplateRefExtractor","ɵɵconditional","isUsingSso","UserAuditHistoryComponent","route","editUserService","gvs","id","viewModelString","auditHistoryName","constructor","ngOnInit","paramMap","pipe","untilDestroyed","subscribe","map","Number","get","getUser","model","userName","set","fullName","ɵɵdirectiveInject","ActivatedRoute","EditUserService","GlobalVariablesService","selectors","standalone","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵproperty","__decorate","UntilDestroy","__metadata","EditUserModule","RouterModule","CommonModule","SharedModule","NgbModalModule"],"x_google_ignoreList":[0]}