@abp/ng.core 9.1.1 → 9.2.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.core.mjs","sources":["../../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../../packages/core/src/lib/abstracts/auth.guard.ts","../../../../packages/core/src/lib/abstracts/auth.service.ts","../../../../packages/core/src/lib/abstracts/auth-error-filter.ts","../../../../packages/core/src/lib/tokens/localization.token.ts","../../../../packages/core/src/lib/tokens/options.token.ts","../../../../packages/core/src/lib/utils/localization-utils.ts","../../../../packages/core/src/lib/utils/string-utils.ts","../../../../packages/core/src/lib/services/content-projection.service.ts","../../../../packages/core/src/lib/utils/array-utils.ts","../../../../packages/core/src/lib/utils/common-utils.ts","../../../../packages/core/src/lib/utils/date-utils.ts","../../../../packages/core/src/lib/utils/object-utils.ts","../../../../packages/core/src/lib/utils/internal-store-utils.ts","../../../../packages/core/src/lib/services/environment.service.ts","../../../../packages/core/src/lib/services/http-error-reporter.service.ts","../../../../packages/core/src/lib/utils/environment-utils.ts","../../../../packages/core/src/lib/utils/factory-utils.ts","../../../../packages/core/src/lib/utils/file-utils.ts","../../../../packages/core/src/lib/utils/number-utils.ts","../../../../packages/core/src/lib/utils/form-utils.ts","../../../../packages/core/src/lib/utils/generator-utils.ts","../../../../packages/core/src/lib/utils/http-utils.ts","../../../../packages/core/src/lib/services/local-storage.service.ts","../../../../packages/core/src/lib/services/session-state.service.ts","../../../../packages/core/src/lib/tokens/app-config.token.ts","../../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../../packages/core/src/lib/tokens/http-context.token.ts","../../../../packages/core/src/lib/clients/http.client.ts","../../../../packages/core/src/lib/services/rest.service.ts","../../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../../packages/core/src/lib/tokens/tenant-not-found-by-name.ts","../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../../packages/core/src/lib/tokens/check-authentication-state.ts","../../../../packages/core/src/lib/utils/initial-utils.ts","../../../../packages/core/src/lib/strategies/cross-origin.strategy.ts","../../../../packages/core/src/lib/strategies/dom.strategy.ts","../../../../packages/core/src/lib/utils/lazy-load-utils.ts","../../../../packages/core/src/lib/utils/queue.ts","../../../../packages/core/src/lib/utils/route-utils.ts","../../../../packages/core/src/lib/utils/tree-utils.ts","../../../../packages/core/src/lib/services/dom-insertion.service.ts","../../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../../packages/core/src/lib/services/http-wait.service.ts","../../../../packages/core/src/lib/services/resource-wait.service.ts","../../../../packages/core/src/lib/services/lazy-load.service.ts","../../../../packages/core/src/lib/tokens/list.token.ts","../../../../packages/core/src/lib/services/list.service.ts","../../../../packages/core/src/lib/services/permission.service.ts","../../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../../packages/core/src/lib/services/router-events.service.ts","../../../../packages/core/src/lib/services/router-wait.service.ts","../../../../packages/core/src/lib/tokens/cookie-language-key.token.ts","../../../../packages/core/src/lib/tokens/manage-profile.token.ts","../../../../packages/core/src/lib/tokens/queue.token.ts","../../../../packages/core/src/lib/tokens/include-localization-resources.token.ts","../../../../packages/core/src/lib/tokens/pipe-to-login.token.ts","../../../../packages/core/src/lib/tokens/set-token-response-to-storage.token.ts","../../../../packages/core/src/lib/tokens/others-group.token.ts","../../../../packages/core/src/lib/tokens/compare-func.token.ts","../../../../packages/core/src/lib/tokens/dynamic-layout.token.ts","../../../../packages/core/src/lib/tokens/title-strategy-disable-project-name.token.ts","../../../../packages/core/src/lib/services/routes.service.ts","../../../../packages/core/src/lib/services/subscription.service.ts","../../../../packages/core/src/lib/services/track-by.service.ts","../../../../packages/core/src/lib/services/window.service.ts","../../../../packages/core/src/lib/services/internet-connection-service.ts","../../../../packages/core/src/lib/services/local-storage-listener.service.ts","../../../../packages/core/src/lib/services/title-strategy.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.ts","../../../../packages/core/src/lib/services/config-state.service.ts","../../../../packages/core/src/lib/services/localization.service.ts","../../../../packages/core/src/lib/components/dynamic-layout.component.ts","../../../../packages/core/src/lib/components/replaceable-route-container.component.ts","../../../../packages/core/src/lib/components/router-outlet.component.ts","../../../../packages/core/src/lib/constants/different-locales.ts","../../../../packages/core/src/lib/constants/default-layouts.ts","../../../../packages/core/src/lib/directives/autofocus.directive.ts","../../../../packages/core/src/lib/directives/debounce.directive.ts","../../../../packages/core/src/lib/directives/for.directive.ts","../../../../packages/core/src/lib/directives/form-submit.directive.ts","../../../../packages/core/src/lib/directives/init.directive.ts","../../../../packages/core/src/lib/directives/permission.directive.ts","../../../../packages/core/src/lib/directives/replaceable-template.directive.ts","../../../../packages/core/src/lib/directives/stop-propagation.directive.ts","../../../../packages/core/src/lib/pipes/localization.pipe.ts","../../../../packages/core/src/lib/localization.module.ts","../../../../packages/core/src/lib/pipes/sort.pipe.ts","../../../../packages/core/src/lib/pipes/to-injector.pipe.ts","../../../../packages/core/src/lib/utils/date-extensions.ts","../../../../packages/core/src/lib/pipes/short-date-time.pipe.ts","../../../../packages/core/src/lib/pipes/short-time.pipe.ts","../../../../packages/core/src/lib/pipes/short-date.pipe.ts","../../../../packages/core/src/lib/pipes/safe-html.pipe.ts","../../../../packages/core/src/lib/providers/cookie-language.provider.ts","../../../../packages/core/src/lib/providers/locale.provider.ts","../../../../packages/core/src/lib/providers/include-localization-resources.provider.ts","../../../../packages/core/src/lib/handlers/routes.handler.ts","../../../../packages/core/src/lib/providers/core-module-config.provider.ts","../../../../packages/core/src/lib/core.module.ts","../../../../packages/core/src/lib/directives/show-password.directive.ts","../../../../packages/core/src/lib/directives/caps-lock.directive.ts","../../../../packages/core/src/lib/guards/permission.guard.ts","../../../../packages/core/src/lib/models/dtos.ts","../../../../packages/core/src/lib/models/auth-events.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../../packages/core/src/lib/strategies/container.strategy.ts","../../../../packages/core/src/lib/strategies/content-security.strategy.ts","../../../../packages/core/src/lib/strategies/content.strategy.ts","../../../../packages/core/src/lib/strategies/context.strategy.ts","../../../../packages/core/src/lib/strategies/loading.strategy.ts","../../../../packages/core/src/lib/strategies/projection.strategy.ts","../../../../packages/core/src/lib/validators/age.validator.ts","../../../../packages/core/src/lib/validators/credit-card.validator.ts","../../../../packages/core/src/lib/validators/range.validator.ts","../../../../packages/core/src/lib/validators/required.validator.ts","../../../../packages/core/src/lib/validators/string-length.validator.ts","../../../../packages/core/src/lib/validators/unique-character.validator.ts","../../../../packages/core/src/lib/validators/url.validator.ts","../../../../packages/core/src/lib/validators/username.validator.ts","../../../../packages/core/src/lib/validators/index.ts","../../../../packages/core/src/lib/interceptors/api.interceptor.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, inject, Input } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\n\r\n// Not an abstract class on purpose. Do not change!\r\n@Component({\r\n standalone: false,\r\n template: '',\r\n})\r\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\r\n protected _value!: T;\r\n protected cdRef = inject(ChangeDetectorRef);\r\n onChange?: (value: T) => void;\r\n onTouched?: () => void;\r\n\r\n @Input()\r\n disabled?: boolean;\r\n\r\n @Input()\r\n readonly?: boolean;\r\n\r\n @Input()\r\n valueFn: (value: U, previousValue?: T) => T = value => value as any as T;\r\n\r\n @Input()\r\n valueLimitFn: (value: T, previousValue?: T) => any = value => false;\r\n\r\n @Input()\r\n set value(value: T) {\r\n value = this.valueFn(value as any as U, this._value);\r\n\r\n if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\r\n\r\n this._value = value;\r\n this.notifyValueChange();\r\n }\r\n\r\n get value(): T {\r\n return this._value || this.defaultValue;\r\n }\r\n\r\n get defaultValue(): T {\r\n return this._value;\r\n }\r\n\r\n notifyValueChange(): void {\r\n if (this.onChange) {\r\n this.onChange(this.value);\r\n }\r\n }\r\n\r\n writeValue(value: T): void {\r\n this._value = this.valueLimitFn(value, this._value) || value;\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IAbpGuard } from './abstract-guard';\r\nimport { CanActivateFn } from '@angular/router';\r\n\r\n/**\r\n * @deprecated Use `authGuard` *function* instead.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements IAbpGuard {\r\n canActivate(): Observable<boolean> | boolean | UrlTree {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n return false;\r\n }\r\n}\r\n\r\nexport const authGuard: CanActivateFn = () => {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n return false;\r\n};\r\n","import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { LoginParams } from '../models/auth';\r\nimport { AbpAuthResponse } from './auth-response.model';\r\n\r\n/**\r\n * Abstract service for Authentication.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService implements IAuthService {\r\n private warningMessage() {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n }\r\n\r\n get oidc(): boolean {\r\n this.warningMessage();\r\n return false;\r\n }\r\n\r\n set oidc(value: boolean) {\r\n this.warningMessage();\r\n }\r\n\r\n init(): Promise<any> {\r\n this.warningMessage();\r\n return Promise.resolve(undefined);\r\n }\r\n\r\n login(params: LoginParams): Observable<any> {\r\n this.warningMessage();\r\n return of(undefined);\r\n }\r\n\r\n logout(queryParams?: Params): Observable<any> {\r\n this.warningMessage();\r\n return of(undefined);\r\n }\r\n\r\n navigateToLogin(queryParams?: Params): void { }\r\n\r\n get isInternalAuth(): boolean {\r\n throw new Error('not implemented');\r\n }\r\n\r\n get isAuthenticated(): boolean {\r\n this.warningMessage();\r\n return false;\r\n }\r\n\r\n loginUsingGrant(\r\n grantType: string,\r\n parameters: object,\r\n headers?: HttpHeaders,\r\n ): Promise<AbpAuthResponse> {\r\n console.log({ grantType, parameters, headers });\r\n return Promise.reject(new Error('not implemented'));\r\n }\r\n\r\n getAccessTokenExpiration(): number {\r\n this.warningMessage();\r\n return 0;\r\n }\r\n\r\n getRefreshToken(): string {\r\n this.warningMessage();\r\n return '';\r\n }\r\n\r\n getAccessToken(): string {\r\n this.warningMessage();\r\n return '';\r\n }\r\n\r\n refreshToken(): Promise<AbpAuthResponse> {\r\n this.warningMessage();\r\n return Promise.resolve(undefined);\r\n }\r\n}\r\n\r\nexport interface IAuthService {\r\n oidc: boolean;\r\n\r\n get isInternalAuth(): boolean;\r\n\r\n get isAuthenticated(): boolean;\r\n\r\n init(): Promise<any>;\r\n\r\n logout(queryParams?: Params): Observable<any>;\r\n\r\n navigateToLogin(queryParams?: Params): void;\r\n\r\n login(params: LoginParams): Observable<any>;\r\n\r\n loginUsingGrant(\r\n grantType: string,\r\n parameters: object,\r\n headers?: HttpHeaders,\r\n ): Promise<AbpAuthResponse>;\r\n\r\n getAccessTokenExpiration(): number;\r\n\r\n getRefreshToken(): string;\r\n\r\n getAccessToken(): string;\r\n\r\n refreshToken(): Promise<AbpAuthResponse>;\r\n}\r\n","import { AuthErrorEvent, AuthErrorFilter } from '../models';\r\n\r\nexport abstract class AbstractAuthErrorFilter<T, E> {\r\n abstract get(id: string): T;\r\n abstract add(filter: T): void;\r\n abstract patch(item: Partial<T>): void;\r\n abstract remove(id: string): void;\r\n abstract run(event: E): boolean;\r\n}\r\n\r\nexport class AuthErrorFilterService<\r\n T = AuthErrorFilter,\r\n E = AuthErrorEvent,\r\n> extends AbstractAuthErrorFilter<T, E> {\r\n private warningMessage() {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n }\r\n\r\n get(id: string): T {\r\n this.warningMessage();\r\n throw new Error('not implemented');\r\n }\r\n\r\n add(filter: T): void {\r\n this.warningMessage();\r\n }\r\n\r\n patch(item: Partial<T>): void {\r\n this.warningMessage();\r\n }\r\n\r\n remove(id: string): void {\r\n this.warningMessage();\r\n }\r\n\r\n run(event: E): boolean {\r\n this.warningMessage();\r\n throw new Error('not implemented');\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');\r\n\r\nexport function localizationContributor(localizations?: ABP.Localization[]) {\r\n if (localizations) {\r\n localizations$.next([...localizations$.value, ...localizations]);\r\n }\r\n}\r\n\r\nexport const localizations$ = new BehaviorSubject<ABP.Localization[]>([]);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\r\n\r\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\r\n return {\r\n ...options,\r\n } as ABP.Root;\r\n}\r\n","import { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\n\r\n// This will not be necessary when only Angukar 9.1+ is supported\r\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\r\n return /^(ar(-[A-Z]{2})?|ckb(-IR)?|fa(-AF)?|he|ks|lrc(-IQ)?|mzn|pa-Arab|ps(-PK)?|sd|ug|ur(-IN)?|uz-Arab|yi)$/.test(\r\n locale,\r\n )\r\n ? 'rtl'\r\n : 'ltr';\r\n}\r\n\r\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\r\n return (resourceName: string, key: string, defaultValue: string | null) => {\r\n if (resourceName === '_') return key;\r\n\r\n const resource = localization?.values?.[resourceName];\r\n\r\n if (!resource) return defaultValue;\r\n\r\n return resource[key] || defaultValue;\r\n };\r\n}\r\n\r\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\r\n const findLocalization = createLocalizationFinder(localization);\r\n\r\n return (resourceNames: string[], keys: string[], defaultValue: string) => {\r\n const { localized } = findLocalization(resourceNames, keys);\r\n return localized || defaultValue;\r\n };\r\n}\r\n\r\nexport function createLocalizationPipeKeyGenerator(\r\n localization: ApplicationLocalizationConfigurationDto,\r\n) {\r\n const findLocalization = createLocalizationFinder(localization);\r\n\r\n return (resourceNames: string[], keys: string[], defaultKey: string | undefined) => {\r\n const { resourceName, key } = findLocalization(resourceNames, keys);\r\n return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\r\n };\r\n}\r\n\r\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\r\n const localize = createLocalizer(localization);\r\n\r\n return (resourceNames: string[], keys: string[]) => {\r\n resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);\r\n\r\n const resourceCount = resourceNames.length;\r\n const keyCount = keys.length;\r\n\r\n for (let i = 0; i < resourceCount; i++) {\r\n const resourceName = resourceNames[i];\r\n\r\n for (let j = 0; j < keyCount; j++) {\r\n const key = keys[j];\r\n const localized = localize(resourceName, key, null);\r\n if (localized) return { resourceName, key, localized };\r\n }\r\n }\r\n\r\n return { resourceName: undefined, key: undefined, localized: undefined };\r\n };\r\n}\r\n","export function createTokenParser(format: string) {\r\n return (str: string) => {\r\n const tokens: string[] = [];\r\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\r\n tokens.push(token);\r\n return '(.+)';\r\n });\r\n\r\n const matches = (str.match(regex) || []).slice(1);\r\n\r\n return matches.reduce((acc, v, i) => {\r\n const key = tokens[i];\r\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\r\n return acc;\r\n }, {} as Record<string, string[]>);\r\n };\r\n}\r\n\r\nexport function interpolate(text: string, params: string[]) {\r\n return text\r\n .replace(/(['\"])?\\{\\s*(\\d+)\\s*\\}\\1/g, (_, quote, digit) => \r\n (quote ? quote : '') + (params[digit] ?? `{${digit}}`) + (quote ? quote : '')\r\n )\r\n .replace(/\\s+/g, ' ');\r\n}\r\n\r\nexport function escapeHtmlChars(value: any) {\r\n return value && typeof value === 'string'\r\n ? value\r\n .replace(/&/g, '&')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>')\r\n .replace(/\"/g, '"')\r\n : value;\r\n}\r\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\r\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ContentProjectionService {\r\n constructor(private injector: Injector) {}\r\n\r\n projectContent<T extends Type<any> | TemplateRef<any>>(\r\n projectionStrategy: ProjectionStrategy<T>,\r\n injector = this.injector,\r\n ) {\r\n return projectionStrategy.injectContent(injector);\r\n }\r\n}\r\n","export function pushValueTo<T>(array: T[]) {\r\n return (element: T) => {\r\n array.push(element);\r\n return array;\r\n };\r\n}\r\n","export function noop() {\r\n const fn = function () {};\r\n return fn;\r\n}\r\n\r\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\r\n return value === undefined || value === '';\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isNullOrEmpty<T>(obj: T): boolean {\r\n return obj === null || obj === undefined || obj === '';\r\n}\r\n\r\nexport function exists<T>(obj: T): obj is T {\r\n return !isNullOrUndefined(obj);\r\n}\r\n\r\nexport function isObject<T>(obj: T): boolean {\r\n return obj instanceof Object;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n return Array.isArray(obj);\r\n}\r\n\r\nexport function isObjectAndNotArray<T>(obj: T): boolean {\r\n return isObject(obj) && !isArray(obj);\r\n}\r\n\r\nexport function isNode<T>(obj: T): boolean {\r\n return obj instanceof Node;\r\n}\r\n\r\nexport function isObjectAndNotArrayNotNode<T>(obj: T): boolean {\r\n return isObjectAndNotArray(obj) && !isNode(obj);\r\n}\r\n\r\nexport function checkHasProp<T>(object: T, key: string | keyof T): key is keyof T {\r\n return Object.prototype.hasOwnProperty.call(object, key);\r\n}\r\n","import { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function getShortDateFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return dateTimeFormat.shortDatePattern;\r\n}\r\n\r\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n return dateTimeFormat?.shortTimePattern?.replace('tt', 'a');\r\n}\r\n\r\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat?.shortTimePattern?.replace('tt', 'a')}`;\r\n}\r\n","import {\r\n exists,\r\n isArray,\r\n isNode,\r\n isNullOrUndefined,\r\n isObject,\r\n isObjectAndNotArrayNotNode,\r\n} from './common-utils';\r\nimport { DeepPartial } from '../models';\r\n\r\nexport function deepMerge<T>(\r\n target: DeepPartial<T> | T,\r\n source: DeepPartial<T> | T,\r\n): DeepPartial<T> | T {\r\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\r\n return deepMergeRecursively(target, source);\r\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\r\n return {} as T;\r\n } else {\r\n return exists(source) ? (source as T) : target;\r\n }\r\n}\r\n\r\nfunction deepMergeRecursively<T>(\r\n target: DeepPartial<T> | T,\r\n source: DeepPartial<T> | T,\r\n): DeepPartial<T> | T {\r\n const shouldNotRecurse =\r\n isNullOrUndefined(target) ||\r\n isNullOrUndefined(source) || // at least one not defined\r\n isArray(target) ||\r\n isArray(source) || // at least one array\r\n !isObject(target) ||\r\n !isObject(source) || // at least one not an object\r\n isNode(target) ||\r\n isNode(source); // at least one node\r\n\r\n /**\r\n * if we will not recurse any further,\r\n * we will prioritize source if it is a defined value.\r\n */\r\n if (shouldNotRecurse) {\r\n return exists(source) ? (source as T) : target;\r\n }\r\n\r\n const keysOfTarget = Object.keys(target as { [key: string]: any });\r\n const keysOfSource = Object.keys(source as { [key: string]: any });\r\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\r\n return [...uniqueKeys].reduce((retVal, key) => {\r\n (retVal as any)[key] = deepMergeRecursively(\r\n (target as { [key: string]: any })[key],\r\n (source as { [key: string]: any })[key],\r\n );\r\n return retVal;\r\n }, {} as T);\r\n}\r\n","import compare from 'just-compare';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DeepPartial } from '../models';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport class InternalStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<DeepPartial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn: (s1: Slice, s2: Slice) => boolean = compare,\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: DeepPartial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined,\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState as DeepPartial<State>);\r\n }\r\n\r\n deepPatch(state: DeepPartial<State>) {\r\n // TODO: Strict improve deepMerge\r\n this.state$.next(deepMerge(this.state, state) as State);\r\n this.update$.next(state);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state as DeepPartial<State>);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Apis, Environment } from '../models/environment';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nconst mapToApiUrl = (key: string | undefined) => (apis: Apis) =>\r\n ((key && apis[key]) || apis.default).url || apis.default.url;\r\n\r\nconst mapToIssuer = (issuer: string | undefined) => {\r\n if (!issuer) {\r\n return issuer;\r\n }\r\n return issuer.endsWith('/') ? issuer : issuer + '/';\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnvironmentService {\r\n private readonly store = new InternalStore({} as Environment);\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n\r\n getEnvironment$(): Observable<Environment> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n getEnvironment(): Environment {\r\n return this.store.state;\r\n }\r\n\r\n getApiUrl(key: string | undefined) {\r\n return mapToApiUrl(key)(this.store.state?.apis);\r\n }\r\n\r\n getApiUrl$(key: string) {\r\n return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\r\n }\r\n\r\n setState(environment: Environment) {\r\n this.store.set(environment);\r\n }\r\n\r\n getIssuer() {\r\n const issuer = this.store.state?.oAuthConfig?.issuer;\r\n\r\n return mapToIssuer(issuer);\r\n }\r\n\r\n getIssuer$() {\r\n return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));\r\n }\r\n\r\n getImpersonation() {\r\n return this.store.state?.oAuthConfig?.impersonation || {};\r\n }\r\n\r\n getImpersonation$() {\r\n return this.store.sliceState(state => state?.oAuthConfig?.impersonation || {});\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpErrorReporterService {\r\n private _reporter$ = new Subject<HttpErrorResponse>();\r\n private _errors$ = new BehaviorSubject<HttpErrorResponse[]>([]);\r\n\r\n get reporter$() {\r\n return this._reporter$.asObservable();\r\n }\r\n\r\n get errors$() {\r\n return this._errors$.asObservable();\r\n }\r\n\r\n get errors() {\r\n return this._errors$.value;\r\n }\r\n\r\n reportError(error: HttpErrorResponse) {\r\n this._reporter$.next(error);\r\n this._errors$.next([...this.errors, error]);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injector } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { Environment, RemoteEnv } from '../models/environment';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const { remoteEnv } = environment;\r\n const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\r\n if (!url) return Promise.resolve();\r\n\r\n const http = injector.get(HttpClient);\r\n const httpErrorReporter = injector.get(HttpErrorReporterService);\r\n\r\n return http\r\n .request<Environment>(method, url, { headers })\r\n .pipe(\r\n catchError(err => {\r\n httpErrorReporter.reportError(err);\r\n return of(null);\r\n }), // TODO: Consider get handle function from a provider\r\n tap(env =>\r\n environmentService.setState(\r\n mergeEnvironments(environment, env || ({} as Environment), remoteEnv as RemoteEnv),\r\n ),\r\n ),\r\n )\r\n .toPromise();\r\n}\r\n\r\nfunction mergeEnvironments(\r\n local: Partial<Environment>,\r\n remote: Environment,\r\n config: RemoteEnv,\r\n): Environment {\r\n switch (config.mergeStrategy) {\r\n case 'deepmerge':\r\n return deepMerge(local, remote) as Environment;\r\n case 'overwrite':\r\n case null:\r\n case undefined:\r\n return remote;\r\n default:\r\n return config.mergeStrategy(local, remote);\r\n }\r\n}\r\n","import {\r\n Compiler,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModuleFactory,\r\n NgModuleRef,\r\n StaticProvider,\r\n Type,\r\n} from '@angular/core';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\n\r\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\r\n get moduleType(): Type<T> {\r\n return this.moduleWithProviders.ngModule;\r\n }\r\n\r\n constructor(private moduleWithProviders: ModuleWithProviders<T>) {\r\n super();\r\n }\r\n\r\n create(parentInjector: Injector | null): NgModuleRef<T> {\r\n const injector = Injector.create({\r\n ...(parentInjector && { parent: parentInjector }),\r\n providers: this.moduleWithProviders.providers as StaticProvider[],\r\n });\r\n\r\n const compiler = injector.get(Compiler);\r\n const factory = compiler.compileModuleSync(this.moduleType);\r\n\r\n return factory.create(injector);\r\n }\r\n}\r\n\r\nexport function featuresFactory(\r\n configState: ConfigStateService,\r\n featureKeys: string[],\r\n mapFn: (features: { [key: string]: string }) => any = features => features,\r\n) {\r\n return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\r\n}\r\n","/** @deprecated the method will change in v8.0 */ \r\nexport function downloadBlob(blob: Blob, filename: string) {\r\n const blobUrl = URL.createObjectURL(blob);\r\n\r\n const link = document.createElement('a');\r\n\r\n link.href = blobUrl;\r\n link.download = filename;\r\n\r\n document.body.appendChild(link);\r\n\r\n link.dispatchEvent(\r\n new MouseEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: window,\r\n }),\r\n );\r\n\r\n document.body.removeChild(link);\r\n}\r\n","export function isNumber(value: string | number): boolean {\r\n return value == Number(value);\r\n}\r\n","import { ABP } from '../models/common';\r\nimport { isNumber } from './number-utils';\r\n\r\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\r\n const options: ABP.Option<T>[] = [];\r\n\r\n for (const member in _enum)\r\n if (!isNumber(member))\r\n options.push({\r\n key: member,\r\n value: _enum[member],\r\n });\r\n\r\n return options;\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { ABP } from '../models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function uuid(a?: any): string {\r\n return a\r\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\r\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\r\n}\r\n\r\nexport function generateHash(value: string): number {\r\n let hashed = 0;\r\n let charCode: number;\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n charCode = value.charCodeAt(i);\r\n hashed = (hashed << 5) - hashed + charCode;\r\n hashed |= 0;\r\n }\r\n return hashed;\r\n}\r\n\r\nexport function generatePassword(injector?: Injector, length = 8) {\r\n if (injector) {\r\n length = getRequiredPasswordLength(injector);\r\n }\r\n\r\n length = Math.min(Math.max(4, length), 128);\r\n\r\n const lowers = 'abcdefghjkmnpqrstuvwxyz';\r\n const uppers = 'ABCDEFGHJKMNPQRSTUVWXYZ';\r\n const numbers = '23456789';\r\n const specials = '!*_#/+-.';\r\n const all = lowers + uppers + numbers + specials;\r\n\r\n const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\r\n\r\n const password = Array({ length });\r\n password[0] = getRandom(lowers);\r\n password[1] = getRandom(uppers);\r\n password[2] = getRandom(numbers);\r\n password[3] = getRandom(specials);\r\n\r\n for (let i = 4; i < length; i++) {\r\n password[i] = getRandom(all);\r\n }\r\n\r\n return password.sort(() => 0.5 - Math.random()).join('');\r\n}\r\n\r\nfunction getRequiredPasswordLength(injector: Injector) {\r\n const configState = injector.get(ConfigStateService);\r\n const passwordRules: ABP.Dictionary<string> = configState.getSettings('Identity.Password');\r\n return Number(passwordRules['Abp.Identity.Password.RequiredLength']) || 8;\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport function getPathName(url: string): string {\r\n const { pathname } = new URL(url, window.location.origin);\r\n return pathname;\r\n}\r\n\r\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n\r\n decodeValue(v: string) {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpLocalStorageService implements Storage {\r\n constructor() {}\r\n [name: string]: any;\r\n get length(): number {\r\n return localStorage.length;\r\n }\r\n\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n getItem(key: string): string {\r\n return localStorage.getItem(key);\r\n }\r\n key(index: number): string {\r\n return localStorage.key(index);\r\n }\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport compare from 'just-compare';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { Session } from '../models/session';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { AbpLocalStorageService } from './local-storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SessionStateService {\r\n private readonly store = new InternalStore({} as Session.State);\r\n protected readonly document = inject(DOCUMENT);\r\n\r\n private updateLocalStorage = () => {\r\n this.localStorageService.setItem('abpSession', JSON.stringify(this.store.state));\r\n };\r\n\r\n constructor(\r\n private configState: ConfigStateService,\r\n private localStorageService: AbpLocalStorageService,\r\n ) {\r\n this.init();\r\n this.setInitialLanguage();\r\n }\r\n\r\n private init() {\r\n const session = this.localStorageService.getItem('abpSession');\r\n if (session) {\r\n this.store.set(JSON.parse(session));\r\n }\r\n\r\n this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\r\n }\r\n\r\n private setInitialLanguage() {\r\n const appLanguage = this.getLanguage();\r\n\r\n this.configState\r\n .getDeep$('localization.currentCulture.cultureName')\r\n .pipe(\r\n filter(cultureName => !!cultureName),\r\n take(1),\r\n )\r\n .subscribe(lang => {\r\n if (lang.includes(';')) {\r\n lang = lang.split(';')[0];\r\n }\r\n \r\n this.setLanguage(lang);\r\n });\r\n }\r\n\r\n onLanguageChange$() {\r\n return this.store.sliceUpdate(state => state.language);\r\n }\r\n\r\n onTenantChange$() {\r\n return this.store.sliceUpdate(state => state.tenant);\r\n }\r\n\r\n getLanguage() {\r\n return this.store.state.language;\r\n }\r\n\r\n getLanguage$() {\r\n return this.store.sliceState(state => state.language);\r\n }\r\n\r\n getTenant() {\r\n return this.store.state.tenant;\r\n }\r\n\r\n getTenant$() {\r\n return this.store.sliceState(state => state.tenant);\r\n }\r\n\r\n setTenant(tenant: CurrentTenantDto | null) {\r\n if (compare(tenant, this.store.state.tenant)) return;\r\n\r\n this.store.set({ ...this.store.state, tenant });\r\n }\r\n\r\n setLanguage(language: string) {\r\n const currentLanguage = this.store.state.language;\r\n\r\n if (language !== currentLanguage) {\r\n this.store.patch({ language });\r\n }\r\n\r\n const currentAttribute = this.document.documentElement.getAttribute('lang');\r\n if (language !== currentAttribute) {\r\n this.document.documentElement.setAttribute('lang', language);\r\n }\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport type AppInitErrorFn = (error: any) => void;\r\n\r\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\r\n 'APP_INIT_ERROR_HANDLERS',\r\n);\r\n","import { RestService } from '../../../../services';\r\nimport { Rest } from '../../../../models';\r\nimport { Injectable } from '@angular/core';\r\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpTenantService {\r\n apiName = 'abp';\r\n \r\n\r\n findTenantById = (id: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FindTenantResultDto>({\r\n method: 'GET',\r\n url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n findTenantByName = (name: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FindTenantResultDto>({\r\n method: 'GET',\r\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\r\n","import { HttpContextToken } from '@angular/common/http';\r\n\r\nexport const IS_EXTERNAL_REQUEST = new HttpContextToken<boolean>(() => false);\r\n","import { HttpClient, HttpContext, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { IS_EXTERNAL_REQUEST } from '../tokens/http-context.token';\r\n\r\n// source : https://github.com/armanozak/demo-angular-server-specific-interceptors\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExternalHttpClient extends HttpClient {\r\n override request(\r\n first: string | HttpRequest<any>,\r\n url?: string,\r\n options: RequestOptions = {},\r\n ): Observable<any> {\r\n if (typeof first === 'string') {\r\n this.#setPlaceholderContext(options);\r\n return super.request(first, url || '', options);\r\n }\r\n\r\n this.#setPlaceholderContext(first);\r\n return super.request(first);\r\n }\r\n #setPlaceholderContext(optionsOrRequest: { context?: HttpContext }) {\r\n optionsOrRequest.context ??= new HttpContext();\r\n optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);\r\n }\r\n}\r\n\r\ntype RequestOptions = Parameters<HttpClient['request']>[2];\r\n","import { HttpClient, HttpParameterCodec, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ExternalHttpClient } from '../clients/http.client';\r\nimport { ABP } from '../models/common';\r\nimport { Rest } from '../models/rest';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { HttpErrorReporterService } from './http-error-reporter.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected externalHttp: ExternalHttpClient,\r\n protected environment: EnvironmentService,\r\n protected httpErrorReporter: HttpErrorReporterService,\r\n ) { }\r\n\r\n protected getApiFromStore(apiName: string | undefined): string {\r\n return this.environment.getApiUrl(apiName);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n this.httpErrorReporter.reportError(err);\r\n return throwError(() => err);\r\n }\r\n\r\n request<T, R>(\r\n request: HttpRequest<T> | Rest.Request<T>,\r\n config?: Rest.Config,\r\n api?: string,\r\n ): Observable<R> {\r\n config = config || ({} as Rest.Config);\r\n api = api || this.getApiFromStore(config.apiName);\r\n const { method, params, ...options } = request;\r\n const { observe = Rest.Observe.Body, skipHandleError } = config;\r\n const url = this.removeDuplicateSlashes(api + request.url);\r\n\r\n const httpClient: HttpClient = this.getHttpClient(config.skipAddingHeader);\r\n return httpClient\r\n .request<R>(method, url, {\r\n observe,\r\n ...(params && {\r\n params: this.getParams(params, config.httpParamEncoder),\r\n }),\r\n ...options,\r\n } as any)\r\n .pipe(catchError(err => (skipHandleError ? throwError(() => err) : this.handleError(err))));\r\n }\r\n private getHttpClient(isExternal: boolean) {\r\n return isExternal ? this.externalHttp : this.http;\r\n }\r\n\r\n private getParams(params: Rest.Params, encoder?: HttpParameterCodec): HttpParams {\r\n const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\r\n if (isUndefinedOrEmptyString(value)) return acc;\r\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\r\n acc[key] = value;\r\n return acc;\r\n }, {} as any);\r\n return encoder\r\n ? new HttpParams({ encoder, fromObject: filteredParams })\r\n : new HttpParams({ fromObject: filteredParams });\r\n }\r\n\r\n private removeDuplicateSlashes(url: string): string {\r\n return url.replace(/([^:]\\/)\\/+/g, '$1');\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\r\nimport {\r\n CurrentTenantDto,\r\n FindTenantResultDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { RestService } from './rest.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MultiTenancyService {\r\n domainTenant: CurrentTenantDto | null = null;\r\n\r\n isTenantBoxVisible = true;\r\n\r\n apiName = 'abp';\r\n\r\n private setTenantToState = (tenant: FindTenantResultDto) => {\r\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\r\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\r\n };\r\n\r\n constructor(\r\n private restService: RestService,\r\n private sessionState: SessionStateService,\r\n private tenantService: AbpTenantService,\r\n private configStateService: ConfigStateService,\r\n @Inject(TENANT_KEY) public tenantKey: string,\r\n ) { }\r\n\r\n setTenantByName(tenantName: string) {\r\n return this.tenantService\r\n .findTenantByName(tenantName)\r\n .pipe(switchMap(this.setTenantToState));\r\n }\r\n\r\n setTenantById(tenantId: string) {\r\n return this.tenantService\r\n .findTenantById(tenantId)\r\n .pipe(switchMap(this.setTenantToState));\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport const TENANT_NOT_FOUND_BY_NAME = new InjectionToken<\r\n (HttpErrorResponse: HttpErrorResponse) => void\r\n>('TENANT_NOT_FOUND_BY_NAME');\r\n","import { Injector } from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport { Environment } from '../models/environment';\r\n\r\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\r\nimport { createTokenParser } from './string-utils';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { TENANT_NOT_FOUND_BY_NAME } from '../tokens/tenant-not-found-by-name';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nconst tenancyPlaceholder = '{0}';\r\n\r\nfunction getCurrentTenancyName(appBaseUrl: string): string {\r\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\r\n\r\n const parseTokens = createTokenParser(appBaseUrl);\r\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\r\n return parseTokens(window.location.href)[token]?.[0];\r\n}\r\n\r\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n return urlParams.get(tenantKey);\r\n}\r\n\r\nexport async function parseTenantFromUrl(injector: Injector) {\r\n const environmentService = injector.get(EnvironmentService);\r\n const multiTenancyService = injector.get(MultiTenancyService);\r\n const tenantNotFoundHandler = injector.get(TENANT_NOT_FOUND_BY_NAME, null);\r\n\r\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\r\n const tenancyName = getCurrentTenancyName(baseUrl);\r\n\r\n const hideTenantBox = () => {\r\n multiTenancyService.isTenantBoxVisible = false;\r\n };\r\n\r\n const setDomainTenant = (tenant: FindTenantResultDto) => {\r\n multiTenancyService.domainTenant = {\r\n id: tenant.tenantId,\r\n name: tenant.name,\r\n isAvailable: true,\r\n };\r\n };\r\n\r\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\r\n hideTenantBox();\r\n setDomainTenant(tenant);\r\n };\r\n\r\n if (tenancyName) {\r\n /**\r\n * We have to replace tenant name within the urls from environment,\r\n * because the code below will make a http request to find information about the domain tenant.\r\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\r\n */\r\n replaceTenantNameWithinEnvironment(injector, tenancyName);\r\n\r\n const tenant$ = multiTenancyService.setTenantByName(tenancyName);\r\n try {\r\n const result = await firstValueFrom(tenant$);\r\n setEnvironmentWithDomainTenant(result);\r\n return Promise.resolve(result);\r\n } catch (httpError: HttpErrorResponse | any) {\r\n if (\r\n httpError instanceof HttpErrorResponse &&\r\n httpError.status === 404 &&\r\n tenantNotFoundHandler\r\n ) {\r\n tenantNotFoundHandler(httpError);\r\n }\r\n return Promise.reject();\r\n }\r\n }\r\n /**\r\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\r\n */\r\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\r\n\r\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\r\n if (tenantIdFromQueryParams) {\r\n const tenantById$ = multiTenancyService.setTenantById(tenantIdFromQueryParams);\r\n return firstValueFrom(tenantById$);\r\n }\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nfunction replaceTenantNameWithinEnvironment(\r\n injector: Injector,\r\n tenancyName: string,\r\n placeholder = tenancyPlaceholder,\r\n) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const environment = clone(environmentService.getEnvironment()) as Environment;\r\n\r\n if (environment.application.baseUrl) {\r\n environment.application.baseUrl = environment.application.baseUrl.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n if (environment.oAuthConfig?.redirectUri) {\r\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n if (!environment.oAuthConfig) {\r\n environment.oAuthConfig = {};\r\n }\r\n environment.oAuthConfig.issuer = (environment.oAuthConfig.issuer || '').replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n\r\n Object.keys(environment.apis).forEach(api => {\r\n Object.keys(environment.apis[api]).forEach(key => {\r\n environment.apis[api][key] = (environment.apis[api][key] || '').replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n });\r\n });\r\n\r\n return environmentService.setState(environment);\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { CheckAuthenticationStateFn } from '../models/auth';\r\n\r\nexport const CHECK_AUTHENTICATION_STATE_FN_KEY = new InjectionToken<CheckAuthenticationStateFn>(\r\n 'CHECK_AUTHENTICATION_STATE_FN_KEY',\r\n);\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { inject, Injector } from '@angular/core';\r\nimport { tap, catchError } from 'rxjs/operators';\r\nimport { lastValueFrom, throwError } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { Environment } from '../models/environment';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\r\nimport { getRemoteEnv } from './environment-utils';\r\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\r\nimport { AuthService } from '../abstracts';\r\nimport { CHECK_AUTHENTICATION_STATE_FN_KEY } from '../tokens/check-authentication-state';\r\nimport { noop } from './common-utils';\r\n\r\nexport async function getInitialData() {\r\n const injector = inject(Injector);\r\n const environmentService = injector.get(EnvironmentService);\r\n const configState = injector.get(ConfigStateService);\r\n const options = injector.get(CORE_OPTIONS) as ABP.Root;\r\n\r\n environmentService.setState(options.environment as Environment);\r\n await getRemoteEnv(injector, options.environment);\r\n await parseTenantFromUrl(injector);\r\n const authService = injector.get(AuthService, undefined, { optional: true });\r\n const checkAuthenticationState = injector.get(CHECK_AUTHENTICATION_STATE_FN_KEY, noop, {\r\n optional: true,\r\n });\r\n if (!options.skipInitAuthService && authService) {\r\n await authService.init();\r\n }\r\n if (options.skipGetAppConfiguration) return;\r\n\r\n const result$ = configState.refreshAppState().pipe(\r\n tap(() => checkAuthenticationState(injector)),\r\n tap(() => {\r\n const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\r\n injector.get(SessionStateService).setTenant(currentTenant);\r\n }),\r\n catchError(error => {\r\n const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\r\n if (appInitErrorHandlers && appInitErrorHandlers.length) {\r\n appInitErrorHandlers.forEach(func => func(error));\r\n }\r\n\r\n return throwError(() => error);\r\n }),\r\n );\r\n await lastValueFrom(result$);\r\n}\r\n\r\nexport function localeInitializer() {\r\n const injector = inject(Injector);\r\n const sessionState = injector.get(SessionStateService);\r\n const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\r\n\r\n const lang = sessionState.getLanguage() || 'en';\r\n\r\n return new Promise((resolve, reject) => {\r\n registerLocaleFn(lang).then(module => {\r\n if (module?.default) registerLocaleData(module.default);\r\n\r\n return resolve('resolved');\r\n }, reject);\r\n });\r\n}\r\n","export class CrossOriginStrategy {\r\n constructor(\r\n public crossorigin: 'anonymous' | 'use-credentials' | null,\r\n public integrity?: string,\r\n ) {}\r\n\r\n setCrossOrigin<T extends HTMLElement>(element: T) {\r\n if (this.integrity) element.setAttribute('integrity', this.integrity);\r\n if (this.crossorigin) {\r\n element.setAttribute('crossorigin', this.crossorigin);\r\n }\r\n }\r\n}\r\n\r\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\r\n setCrossOrigin() {}\r\n}\r\n\r\nexport const CROSS_ORIGIN_STRATEGY = {\r\n Anonymous(integrity?: string) {\r\n return new CrossOriginStrategy('anonymous', integrity);\r\n },\r\n UseCredentials(integrity?: string) {\r\n return new CrossOriginStrategy('use-credentials', integrity);\r\n },\r\n None() {\r\n return new NoCrossOriginStrategy(null);\r\n },\r\n};\r\n","export class DomStrategy {\r\n constructor(\r\n public target: HTMLElement = document.head,\r\n public position: InsertPosition = 'beforeend',\r\n ) {}\r\n\r\n insertElement<T extends HTMLElement>(element: T) {\r\n this.target.insertAdjacentElement(this.position, element);\r\n }\r\n}\r\n\r\nexport const DOM_STRATEGY = {\r\n AfterElement(element: HTMLElement) {\r\n return new DomStrategy(element, 'afterend');\r\n },\r\n AppendToBody() {\r\n return new DomStrategy(document.body, 'beforeend');\r\n },\r\n AppendToHead() {\r\n return new DomStrategy(document.head, 'beforeend');\r\n },\r\n BeforeElement(element: HTMLElement) {\r\n return new DomStrategy(element, 'beforebegin');\r\n },\r\n PrependToHead() {\r\n return new DomStrategy(document.head, 'afterbegin');\r\n },\r\n};\r\n","import { Observable, Observer } from 'rxjs';\r\nimport { CROSS_ORIGIN_STRATEGY, CrossOriginStrategy } from '../strategies/cross-origin.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from '../strategies/dom.strategy';\r\n\r\nexport function fromLazyLoad<T extends Event>(\r\n element: HTMLScriptElement | HTMLLinkElement,\r\n domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n): Observable<T> {\r\n crossOriginStrategy.setCrossOrigin(element);\r\n domStrategy.insertElement(element);\r\n\r\n return new Observable((observer: Observer<T>) => {\r\n element.onload = (event: Event) => {\r\n clearCallbacks(element);\r\n observer.next(event as T);\r\n observer.complete();\r\n };\r\n\r\n const handleError = createErrorHandler(observer, element);\r\n\r\n element.onerror = handleError;\r\n element.onabort = handleError;\r\n element.onemptied = handleError;\r\n element.onstalled = handleError;\r\n element.onsuspend = handleError;\r\n\r\n return () => {\r\n clearCallbacks(element);\r\n observer.complete();\r\n };\r\n });\r\n}\r\n\r\nfunction createErrorHandler<T extends Event = Event>(observer: Observer<T>, element: HTMLElement) {\r\n return function (event: Event | string) {\r\n clearCallbacks(element);\r\n element.parentNode?.removeChild(element);\r\n observer.error(event);\r\n };\r\n}\r\n\r\nfunction clearCallbacks(element: HTMLElement) {\r\n element.onload = null;\r\n element.onerror = null;\r\n element.onabort = null;\r\n element.onemptied = null;\r\n element.onstalled = null;\r\n element.onsuspend = null;\r\n}\r\n","export interface QueueManager {\r\n add(fn: () => void): void;\r\n init(interval: number, stackSize: number): void;\r\n}\r\n\r\nexport class DefaultQueueManager implements QueueManager {\r\n private queue: Array<() => void> = [];\r\n private isRunning = false;\r\n private stack = 0;\r\n private interval = 0;\r\n private stackSize = 100;\r\n\r\n public init(interval: number, stackSize: number) {\r\n this.interval = interval;\r\n this.stackSize = stackSize;\r\n }\r\n\r\n public add(fn: () => void) {\r\n this.queue.push(fn);\r\n this.run();\r\n }\r\n\r\n private run() {\r\n if (this.isRunning) return;\r\n this.stack++;\r\n\r\n this.isRunning = true;\r\n\r\n const fn = this.queue.shift();\r\n\r\n if (!fn) {\r\n this.isRunning = false;\r\n return;\r\n }\r\n\r\n fn();\r\n if (this.stack > this.stackSize) {\r\n setTimeout(() => {\r\n this.isRunning = false;\r\n this.run();\r\n this.stack = 0;\r\n }, this.interval);\r\n } else {\r\n this.isRunning = false;\r\n this.run();\r\n }\r\n }\r\n}\r\n","import { NgZone } from '@angular/core';\r\nimport { PRIMARY_OUTLET, Router, UrlSegment, UrlSegmentGroup } from \"@angular/router\";\r\nimport { ABP } from '../models/common';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { noop } from './common-utils';\r\nimport { TreeNode } from './tree-utils';\r\n\r\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> | null {\r\n const node = routesService.find(route => route.path === path);\r\n\r\n return node || path === '/'\r\n ? node\r\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\r\n}\r\n\r\nexport function getRoutePath(router: Router, url = router.url) {\r\n const emptyGroup = { segments: [] as UrlSegment[] } as UrlSegmentGroup;\r\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\r\n\r\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\r\n}\r\n\r\nexport function reloadRoute(router: Router, ngZone: NgZone) {\r\n const { shouldReuseRoute } = router.routeReuseStrategy;\r\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\r\n router.routeReuseStrategy.shouldReuseRoute = reuse;\r\n };\r\n\r\n setRouteReuse(() => false);\r\n router.navigated = false;\r\n\r\n ngZone.run(async () => {\r\n await router.navigateByUrl(router.url).catch(noop);\r\n setRouteReuse(shouldReuseRoute);\r\n });\r\n}\r\n","import { isArray } from './common-utils';\r\n\r\n/* eslint-disable @typescript-eslint/ban-types */\r\nexport class BaseTreeNode<T extends object> {\r\n children: TreeNode<T>[] = [];\r\n isLeaf = true;\r\n parent?: TreeNode<T>;\r\n\r\n constructor(props: T) {\r\n Object.assign(this, props);\r\n }\r\n\r\n static create<T extends object>(props: T) {\r\n return new BaseTreeNode<T>(props) as TreeNode<T>;\r\n }\r\n}\r\n\r\nexport function createTreeFromList<T extends object, R>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n parentKeySelector: typeof keySelector,\r\n valueMapper: (item: T) => R,\r\n) {\r\n const map = createMapFromList(list, keySelector, valueMapper);\r\n const tree: NodeValue<T, typeof valueMapper>[] = [];\r\n\r\n list.forEach(row => {\r\n const id = keySelector(row);\r\n const parentId = parentKeySelector(row);\r\n const node = map.get(id);\r\n\r\n if (!node) return;\r\n\r\n if (parentId) {\r\n const parent = map.get(parentId);\r\n if (!parent) return;\r\n (parent as any).children.push(node);\r\n (parent as any).isLeaf = false;\r\n (node as any).parent = parent;\r\n } else {\r\n tree.push(node);\r\n }\r\n });\r\n\r\n return tree;\r\n}\r\n\r\nexport function createMapFromList<T extends object, R>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n valueMapper: (item: T) => R,\r\n) {\r\n type Key = ReturnType<typeof keySelector>;\r\n type Value = NodeValue<T, typeof valueMapper>;\r\n const map = new Map<Key, Value>();\r\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\r\n return map;\r\n}\r\n\r\nexport function createTreeNodeFilterCreator<T extends object>(\r\n key: keyof T,\r\n mapperFn: (value: any) => string,\r\n) {\r\n return (search: string) => {\r\n const regex = new RegExp('.*' + search + '.*', 'i');\r\n\r\n return function collectNodes(nodes: TreeNode<T>[], matches: TreeNode<T>[] = []) {\r\n for (const node of nodes) {\r\n if (regex.test(mapperFn(node[key]))) matches.push(node);\r\n\r\n if (node.children.length) collectNodes(node.children, matches);\r\n }\r\n\r\n return matches;\r\n };\r\n };\r\n}\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n list: TreeNode<T>[],\r\n othersGroupKey: string,\r\n) {\r\n if (!isArray(list) || !list.some(node => Boolean(node.group))) return undefined;\r\n\r\n const mapGroup = new Map<string, TreeNode<T>[]>();\r\n\r\n for (const node of list) {\r\n const group = node?.group || othersGroupKey;\r\n if (typeof group !== 'string') {\r\n throw new Error(`Invalid group: ${group}`);\r\n }\r\n\r\n const items = mapGroup.get(group) || [];\r\n items.push(node);\r\n mapGroup.set(group, items);\r\n }\r\n\r\n return mapGroup;\r\n}\r\n\r\nexport type TreeNode<T extends object> = {\r\n [K in keyof T]: T[K];\r\n} & {\r\n children: TreeNode<T>[];\r\n isLeaf: boolean;\r\n parent?: TreeNode<T>;\r\n};\r\n\r\nexport type RouteGroup<T extends object> = {\r\n readonly group: string;\r\n readonly items: TreeNode<T>[];\r\n};\r\n\r\nexport type NodeKey = number | string | symbol | undefined | null;\r\n\r\nexport type NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\r\n ? TreeNode<T>\r\n : ReturnType<F>;\r\n","import { Injectable } from '@angular/core';\r\nimport { ContentStrategy } from '../strategies/content.strategy';\r\nimport { generateHash } from '../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DomInsertionService {\r\n private readonly inserted = new Set<number>();\r\n\r\n insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\r\n contentStrategy: ContentStrategy<T>,\r\n ): T | undefined {\r\n const hash = generateHash(contentStrategy.content);\r\n\r\n if (this.inserted.has(hash)) return;\r\n\r\n const element = contentStrategy.insertElement();\r\n this.inserted.add(hash);\r\n\r\n return element;\r\n }\r\n\r\n removeContent(element: HTMLScriptElement | HTMLStyleElement) {\r\n if (element.textContent) {\r\n const hash = generateHash(element.textContent);\r\n this.inserted.delete(hash);\r\n element.parentNode?.removeChild(element);\r\n }\r\n }\r\n\r\n has(content: string): boolean {\r\n const hash = generateHash(content);\r\n\r\n return this.inserted.has(hash);\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { getPathName } from '../utils/http-utils';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\n\r\nexport interface HttpWaitState {\r\n requests: HttpRequest<any>[];\r\n filteredRequests: Array<HttpRequestInfo>;\r\n}\r\nexport interface HttpRequestInfo {\r\n method: string;\r\n endpoint: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HttpWaitService {\r\n protected store = new InternalStore<HttpWaitState>({\r\n requests: [],\r\n filteredRequests: [],\r\n });\r\n\r\n private delay: number;\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(injector: Injector) {\r\n this.delay = injector.get(LOADER_DELAY, 500);\r\n }\r\n\r\n getLoading() {\r\n return !!this.applyFilter(this.store.state.requests).length;\r\n }\r\n\r\n getLoading$() {\r\n return this.store\r\n .sliceState(({ requests }) => requests)\r\n .pipe(\r\n map(requests => !!this.applyFilter(requests).length),\r\n switchMap(condition =>\r\n condition\r\n ? this.delay === 0\r\n ? of(true)\r\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\r\n : of(false),\r\n ),\r\n tap(() => this.destroy$.next()),\r\n );\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\r\n }\r\n\r\n clearLoading() {\r\n this.store.patch({ requests: [] });\r\n }\r\n\r\n addRequest(request: HttpRequest<any>) {\r\n this.store.patch({ requests: [...this.store.state.requests, request] });\r\n }\r\n\r\n deleteRequest(request: HttpRequest<any>) {\r\n const requests = this.store.state.requests.filter(r => r !== request);\r\n this.store.patch({ requests });\r\n }\r\n\r\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n const requests = Array.isArray(request) ? request : [request];\r\n const filteredRequests = [\r\n ...this.store.state.filteredRequests.filter(\r\n f => !requests.some(r => this.isSameRequest(f, r)),\r\n ),\r\n ...requests,\r\n ];\r\n this.store.patch({ filteredRequests });\r\n }\r\n\r\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n const requests = Array.isArray(request) ? request : [request];\r\n const filteredRequests = this.store.state.filteredRequests.filter(\r\n f => !requests.some(r => this.isSameRequest(f, r)),\r\n );\r\n this.store.patch({ filteredRequests });\r\n }\r\n\r\n private applyFilter(requests: HttpRequest<any>[] | undefined) {\r\n if (!requests) {\r\n return [];\r\n }\r\n const { filteredRequests } = this.store.state;\r\n return requests.filter(\r\n ({ method, url }) =>\r\n !filteredRequests.find(filteredRequest =>\r\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\r\n ),\r\n );\r\n }\r\n\r\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\r\n const { method, endpoint } = filteredRequest;\r\n return endpoint === request.endpoint && method === request.method;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nexport interface ResourceWaitState {\r\n resources: Set<string>;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResourceWaitService {\r\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\r\n\r\n getLoading() {\r\n return !!this.store.state.resources.size;\r\n }\r\n\r\n getLoading$() {\r\n return this.store.sliceState(({ resources }) => !!resources.size);\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ resources }) => !!resources?.size);\r\n }\r\n\r\n clearLoading() {\r\n this.store.patch({ resources: new Set() });\r\n }\r\n\r\n addResource(resource: string) {\r\n const resources = this.store.state.resources;\r\n resources.add(resource);\r\n this.store.patch({ resources });\r\n }\r\n\r\n deleteResource(resource: string) {\r\n const resources = this.store.state.resources;\r\n resources.delete(resource);\r\n this.store.patch({ resources });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { concat, Observable, of, pipe, throwError } from 'rxjs';\r\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\r\nimport { LoadingStrategy } from '../strategies';\r\nimport { ResourceWaitService } from './resource-wait.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LazyLoadService {\r\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement | null>();\r\n\r\n constructor(private resourceWaitService: ResourceWaitService) {}\r\n\r\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\r\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\r\n this.resourceWaitService.addResource(strategy.path);\r\n const delayOperator = retryDelay ? pipe(delay(retryDelay)) : pipe();\r\n const takeOp = retryTimes ? pipe(take(retryTimes)) : pipe();\r\n return strategy.createStream().pipe(\r\n retryWhen(error$ =>\r\n concat(\r\n error$.pipe(delayOperator, takeOp),\r\n throwError(() => new CustomEvent('error')),\r\n ),\r\n ),\r\n tap(() => {\r\n this.loaded.set(strategy.path, strategy.element);\r\n this.resourceWaitService.deleteResource(strategy.path);\r\n }),\r\n delay(100),\r\n shareReplay({ bufferSize: 1, refCount: true }),\r\n );\r\n }\r\n\r\n remove(path: string): boolean {\r\n const element = this.loaded.get(path);\r\n\r\n if (!element) return false;\r\n\r\n element.parentNode?.removeChild(element);\r\n this.loaded.delete(path);\r\n return true;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport {\r\n EMPTY,\r\n BehaviorSubject,\r\n MonoTypeOperatorFunction,\r\n Observable,\r\n ReplaySubject,\r\n Subject,\r\n} from 'rxjs';\r\nimport {\r\n catchError,\r\n debounceTime,\r\n filter,\r\n finalize,\r\n shareReplay,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { PagedResultDto } from '../models/dtos';\r\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\r\n\r\nexport type RequestStatus = 'idle' | 'loading' | 'success' | 'error';\r\n\r\n@Injectable()\r\nexport class ListService<QueryParamsType = ABP.PageQueryParams | any> implements OnDestroy {\r\n private _filter = '';\r\n set filter(value: string) {\r\n this._filter = value;\r\n this.get();\r\n }\r\n get filter(): string {\r\n return this._filter;\r\n }\r\n\r\n private _maxResultCount = 10;\r\n set maxResultCount(value: number) {\r\n this._maxResultCount = value;\r\n this.get();\r\n }\r\n get maxResultCount(): number {\r\n return this._maxResultCount;\r\n }\r\n\r\n private _page = 0;\r\n set page(value: number) {\r\n if (value === this._page) return;\r\n\r\n this._page = value;\r\n this.get();\r\n }\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n private _totalCount = 0;\r\n set totalCount(value: number) {\r\n if (value === this._totalCount) return;\r\n\r\n this._totalCount = value;\r\n this.get();\r\n }\r\n get totalCount(): number {\r\n return this._totalCount;\r\n }\r\n\r\n private _sortKey = '';\r\n set sortKey(value: string) {\r\n this._sortKey = value;\r\n this.get();\r\n }\r\n get sortKey(): string {\r\n return this._sortKey;\r\n }\r\n\r\n private _sortOrder = '';\r\n set sortOrder(value: string) {\r\n this._sortOrder = value;\r\n this.get();\r\n }\r\n get sortOrder(): string {\r\n return this._sortOrder;\r\n }\r\n\r\n private _query$ = new ReplaySubject<QueryParamsType>(1);\r\n\r\n get query$(): Observable<QueryParamsType> {\r\n return this._query$\r\n .asObservable()\r\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\r\n }\r\n\r\n private _isLoading$ = new BehaviorSubject(false);\r\n\r\n private _requestStatus = new BehaviorSubject<RequestStatus>('idle');\r\n\r\n private destroy$ = new Subject<void>();\r\n\r\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\r\n\r\n /**\r\n * @deprecated Use `requestStatus$` instead.\r\n */\r\n get isLoading$(): Observable<boolean> {\r\n return this._isLoading$.asObservable().pipe(takeUntil(this.destroy$));\r\n }\r\n\r\n get requestStatus$(): Observable<RequestStatus> {\r\n return this._requestStatus.asObservable().pipe(takeUntil(this.destroy$));\r\n }\r\n\r\n get = () => {\r\n this.resetPageWhenUnchanged();\r\n this.next();\r\n };\r\n\r\n getWithoutPageReset = () => {\r\n this.next();\r\n };\r\n\r\n constructor(injector: Injector) {\r\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\r\n this.delay = delay ? debounceTime(delay) : tap();\r\n this.get();\r\n }\r\n\r\n hookToQuery<T>(\r\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\r\n ): Observable<PagedResultDto<T>> {\r\n return this.query$.pipe(\r\n tap(() => this._isLoading$.next(true)),\r\n tap(() => this._requestStatus.next('loading')),\r\n switchMap(query =>\r\n streamCreatorCallback(query).pipe(\r\n catchError(() => {\r\n this._requestStatus.next('error');\r\n return EMPTY;\r\n }),\r\n tap(() => this._requestStatus.next('success')),\r\n finalize(() => {\r\n this._isLoading$.next(false);\r\n this._requestStatus.next('idle');\r\n }),\r\n ),\r\n ),\r\n filter(Boolean),\r\n shareReplay<any>({ bufferSize: 1, refCount: true }),\r\n takeUntil(this.destroy$),\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n }\r\n private resetPageWhenUnchanged() {\r\n const maxPage = Number(Number(this.totalCount / this._maxResultCount).toFixed());\r\n const skipCount = this._page * this._maxResultCount;\r\n\r\n if (skipCount !== this._totalCount) {\r\n return;\r\n }\r\n\r\n if (this.page === maxPage && this.page > 0) {\r\n this.page = this.page - 1;\r\n }\r\n }\r\n\r\n private next() {\r\n this._query$.next({\r\n filter: this._filter || undefined,\r\n maxResultCount: this._maxResultCount,\r\n skipCount: this._page * this._maxResultCount,\r\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\r\n } as any as QueryParamsType);\r\n }\r\n}\r\n\r\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\r\n query: QueryParamsType,\r\n) => Observable<PagedResultDto<T>>;\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from './config-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PermissionService {\r\n constructor(protected configState: ConfigStateService) {}\r\n\r\n getGrantedPolicy$(key: string) {\r\n return this.getStream().pipe(\r\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\r\n );\r\n }\r\n\r\n getGrantedPolicy(key: string | undefined) {\r\n const policies = this.getSnapshot();\r\n return this.isPolicyGranted(key, policies);\r\n }\r\n\r\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\r\n const policies = this.getSnapshot();\r\n return items.filter(\r\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n );\r\n }\r\n\r\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\r\n return this.getStream().pipe(\r\n map(policies =>\r\n items.filter(\r\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n protected isPolicyGranted(key: string | undefined, grantedPolicies: Record<string, boolean>) {\r\n if (!key) return true;\r\n\r\n const orRegexp = /\\|\\|/g;\r\n const andRegexp = /&&/g;\r\n\r\n // TODO: Allow combination of ANDs & ORs\r\n if (orRegexp.test(key)) {\r\n const keys = key.split('||').filter(Boolean);\r\n\r\n if (keys.length < 2) return false;\r\n\r\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\r\n } else if (andRegexp.test(key)) {\r\n const keys = key.split('&&').filter(Boolean);\r\n\r\n if (keys.length < 2) return false;\r\n\r\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\r\n }\r\n\r\n return this.getPolicy(key, grantedPolicies);\r\n }\r\n\r\n protected getStream() {\r\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\r\n }\r\n\r\n protected getSnapshot() {\r\n return this.mapToPolicies(this.configState.getAll());\r\n }\r\n\r\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\r\n return applicationConfiguration?.auth?.grantedPolicies || {};\r\n }\r\n\r\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\r\n return grantedPolicies[key] || false;\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { reloadRoute } from '../utils/route-utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReplaceableComponentsService {\r\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\r\n\r\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\r\n return this.store.state;\r\n }\r\n\r\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n return this.store.sliceUpdate(state => state);\r\n }\r\n\r\n constructor(private ngZone: NgZone, private router: Router) {\r\n this.store = new InternalStore([] as ReplaceableComponents.ReplaceableComponent[]);\r\n }\r\n\r\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\r\n const replaceableComponents = [...this.store.state];\r\n\r\n const index = replaceableComponents.findIndex(\r\n component => component.key === replaceableComponent.key,\r\n );\r\n\r\n if (index > -1) {\r\n replaceableComponents[index] = replaceableComponent;\r\n } else {\r\n replaceableComponents.push(replaceableComponent);\r\n }\r\n\r\n this.store.set(replaceableComponents);\r\n\r\n if (reload) reloadRoute(this.router, this.ngZone);\r\n }\r\n\r\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent | undefined {\r\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\r\n }\r\n\r\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent | undefined> {\r\n return this.replaceableComponents$.pipe(\r\n map(components => components.find(component => component.key === replaceableComponentKey)),\r\n );\r\n }\r\n}\r\n","import { Injectable, Type, inject, signal } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n RouterEvent,\r\n Event,\r\n RouterState,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nexport const NavigationEvent = {\r\n Cancel: NavigationCancel,\r\n End: NavigationEnd,\r\n Error: NavigationError,\r\n Start: NavigationStart,\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouterEvents {\r\n protected readonly router = inject(Router);\r\n\r\n readonly #previousNavigation = signal<string | undefined>(undefined);\r\n previousNavigation = this.#previousNavigation.asReadonly();\r\n\r\n readonly #currentNavigation = signal<string | undefined>(undefined);\r\n currentNavigation = this.#currentNavigation.asReadonly();\r\n\r\n constructor() {\r\n this.listenToNavigation();\r\n }\r\n\r\n protected listenToNavigation(): void {\r\n const routerEvent$ = this.router.events.pipe(\r\n filter(e => e instanceof NavigationEvent.End && !e.url.includes('error'))\r\n ) as Observable<NavigationEnd>;\r\n \r\n routerEvent$.subscribe(event => {\r\n this.#previousNavigation.set(this.currentNavigation());\r\n this.#currentNavigation.set(event.url);\r\n });\r\n }\r\n\r\n getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\r\n const filterRouterEvents = (event: Event) => eventTypes.some(type => event instanceof type);\r\n\r\n return this.router.events.pipe(filter(filterRouterEvents));\r\n }\r\n\r\n getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\r\n type FilteredNavigationEvent = T extends (infer Key)[]\r\n ? Key extends NavigationEventKey\r\n ? InstanceType<NavigationEventType[Key]>\r\n : never\r\n : never;\r\n\r\n const filterNavigationEvents = (event: Event): event is FilteredNavigationEvent =>\r\n navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\r\n\r\n return this.router.events.pipe(filter(filterNavigationEvents));\r\n }\r\n\r\n getAllEvents() {\r\n return this.router.events;\r\n }\r\n\r\n getAllNavigationEvents() {\r\n const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\r\n return this.getNavigationEvents(...keys);\r\n }\r\n}\r\n\r\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\r\n\r\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\r\n\r\ntype NavigationEventType = typeof NavigationEvent;\r\n\r\nexport type NavigationEventKey = keyof NavigationEventType;\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { NavigationStart } from '@angular/router';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { RouterEvents } from './router-events.service';\r\n\r\nexport interface RouterWaitState {\r\n loading: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RouterWaitService {\r\n private store = new InternalStore<RouterWaitState>({ loading: false });\r\n private destroy$ = new Subject<void>();\r\n private delay: number;\r\n constructor(private routerEvents: RouterEvents, injector: Injector) {\r\n this.delay = injector.get(LOADER_DELAY, 500);\r\n this.updateLoadingStatusOnNavigationEvents();\r\n }\r\n\r\n private updateLoadingStatusOnNavigationEvents() {\r\n this.routerEvents\r\n .getAllNavigationEvents()\r\n .pipe(\r\n map(event => event instanceof NavigationStart),\r\n switchMap(condition =>\r\n condition\r\n ? this.delay === 0\r\n ? of(true)\r\n : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\r\n : of(false),\r\n ),\r\n tap(() => this.destroy$.next()),\r\n )\r\n .subscribe(status => {\r\n this.setLoading(status);\r\n });\r\n }\r\n\r\n getLoading() {\r\n return this.store.state.loading;\r\n }\r\n\r\n getLoading$() {\r\n return this.store.sliceState(({ loading }) => loading);\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ loading }) => loading);\r\n }\r\n\r\n setLoading(loading: boolean) {\r\n this.store.patch({ loading });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const COOKIE_LANGUAGE_KEY = new InjectionToken<string>('COOKIE_LANGUAGE_KEY', {\r\n factory: () => '.AspNetCore.Culture',\r\n});\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\r\n 'NAVIGATE_TO_MANAGE_PROFILE',\r\n);\r\n","import { QueueManager } from \"../utils/queue\";\r\nimport { InjectionToken } from \"@angular/core\";\r\n\r\nexport const QUEUE_MANAGER = new InjectionToken<QueueManager>(\"QUEUE_MANAGER\");\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const INCUDE_LOCALIZATION_RESOURCES_TOKEN = new InjectionToken<boolean>(\r\n 'INCUDE_LOCALIZATION_RESOURCES_TOKEN',\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { PipeToLoginFn } from '../models/auth';\r\n\r\nexport const PIPE_TO_LOGIN_FN_KEY = new InjectionToken<PipeToLoginFn>('PIPE_TO_LOGIN_FN_KEY');\r\n","import { InjectionToken } from '@angular/core';\r\nimport { SetTokenResponseToStorageFn } from '../models';\r\n\r\n/**\r\n * @deprecated The token should not be used anymore. \r\n */\r\nexport const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken<SetTokenResponseToStorageFn>(\r\n 'SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY',\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const OTHERS_GROUP = new InjectionToken<string>('OTHERS_GROUP');\r\n","import { InjectionToken, inject } from '@angular/core';\r\nimport type { SortableItem } from '../models';\r\nimport { LocalizationService } from '../services';\r\n\r\nexport const SORT_COMPARE_FUNC = new InjectionToken<(a: SortableItem, b: SortableItem) => number>(\r\n 'SORT_COMPARE_FUNC',\r\n);\r\n\r\nexport function compareFuncFactory() {\r\n const localizationService = inject(LocalizationService);\r\n const fn = (a: SortableItem, b: SortableItem) => {\r\n const aNumber = a.order;\r\n const bNumber = b.order;\r\n\r\n if (aNumber > bNumber) return 1;\r\n if (aNumber < bNumber) return -1;\r\n\r\n if (a.id > b.id) return 1;\r\n if (a.id < b.id) return -1;\r\n\r\n if (!Number.isInteger(aNumber)) return 1;\r\n if (!Number.isInteger(bNumber)) return -1;\r\n\r\n const aName = localizationService.instant(a.name);\r\n const bName = localizationService.instant(b.name);\r\n\r\n if (aName > bName) return 1;\r\n if (aName < bName) return -1;\r\n\r\n return 0;\r\n };\r\n\r\n return fn;\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\n\r\n export const DYNAMIC_LAYOUTS_TOKEN = new InjectionToken<Map<string, string>>('DYNAMIC_LAYOUTS')\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const DISABLE_PROJECT_NAME = new InjectionToken<boolean>('DISABLE_APP_NAME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription, map } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { OTHERS_GROUP } from '../tokens';\r\nimport { pushValueTo } from '../utils/array-utils';\r\nimport {\r\n BaseTreeNode,\r\n createTreeFromList,\r\n TreeNode,\r\n RouteGroup,\r\n createGroupMap,\r\n} from '../utils/tree-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { PermissionService } from './permission.service';\r\nimport { SORT_COMPARE_FUNC } from '../tokens/compare-func.token';\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport abstract class AbstractTreeService<T extends { [key: string | number | symbol]: any }> {\r\n abstract id: string;\r\n abstract parentId: string;\r\n abstract hide: (item: T) => boolean;\r\n abstract sort: (a: T, b: T) => number;\r\n\r\n private _flat$ = new BehaviorSubject<T[]>([]);\r\n private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n\r\n protected othersGroup: string;\r\n protected shouldSingularizeRoutes = true;\r\n\r\n get flat(): T[] {\r\n return this._flat$.value;\r\n }\r\n\r\n get flat$(): Observable<T[]> {\r\n return this._flat$.asObservable();\r\n }\r\n\r\n get tree(): TreeNode<T>[] {\r\n return this._tree$.value;\r\n }\r\n\r\n get tree$(): Observable<TreeNode<T>[]> {\r\n return this._tree$.asObservable();\r\n }\r\n\r\n get visible(): TreeNode<T>[] {\r\n return this._visible$.value;\r\n }\r\n\r\n get visible$(): Observable<TreeNode<T>[]> {\r\n return this._visible$.asObservable();\r\n }\r\n\r\n private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\r\n return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\r\n }\r\n\r\n private findItemsToRemove(set: Set<string>): Set<string> {\r\n return this._flat$.value.reduce((acc, item) => {\r\n if (!acc.has(item[this.parentId])) {\r\n return acc;\r\n }\r\n\r\n const childSet = new Set([item[this.id]]);\r\n const children = this.findItemsToRemove(childSet);\r\n return new Set([...acc, ...children]);\r\n }, set);\r\n }\r\n\r\n private publish(flatItems: T[]): T[] {\r\n this._flat$.next(flatItems);\r\n this._tree$.next(this.createTree(flatItems));\r\n this._visible$.next(this.createTree(flatItems.filter(item => !this.hide(item))));\r\n return flatItems;\r\n }\r\n\r\n protected createTree(items: T[]): TreeNode<T>[] {\r\n return createTreeFromList<T, TreeNode<T>>(\r\n items,\r\n item => item[this.id],\r\n item => item[this.parentId],\r\n item => BaseTreeNode.create(item),\r\n );\r\n }\r\n\r\n protected createGroupedTree(list: TreeNode<T>[]): RouteGroup<T>[] | undefined {\r\n const map = createGroupMap<T>(list, this.othersGroup);\r\n if (!map) {\r\n return undefined;\r\n }\r\n\r\n return Array.from(map, ([key, items]) => ({ group: key, items }));\r\n }\r\n\r\n add(items: T[]): T[] {\r\n let flatItems: T[] = [];\r\n\r\n if (!this.shouldSingularizeRoutes) {\r\n flatItems = [...this.flat, ...items];\r\n }\r\n\r\n if (this.shouldSingularizeRoutes) {\r\n const map = new Map<string, T>();\r\n items.forEach(item => map.set(item[this.id], item));\r\n flatItems = this.filterWith(map);\r\n map.forEach(pushValueTo(flatItems));\r\n }\r\n\r\n flatItems.sort(this.sort);\r\n\r\n return this.publish(flatItems);\r\n }\r\n\r\n find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\r\n return tree.reduce<TreeNode<T> | null>((acc, node) => {\r\n if (acc) {\r\n return acc;\r\n }\r\n\r\n if (predicate(node)) {\r\n return node;\r\n }\r\n\r\n return this.find(predicate, node.children);\r\n }, null);\r\n }\r\n\r\n patch(identifier: string, props: Partial<T>): T[] | false {\r\n const flatItems = this._flat$.value;\r\n const index = flatItems.findIndex(item => item[this.id] === identifier);\r\n if (index < 0) {\r\n return false;\r\n }\r\n\r\n flatItems[index] = { ...flatItems[index], ...props };\r\n\r\n flatItems.sort(this.sort);\r\n return this.publish(flatItems);\r\n }\r\n\r\n refresh(): T[] {\r\n return this.add([]);\r\n }\r\n\r\n remove(identifiers: string[]): T[] {\r\n const set = new Set<string>();\r\n identifiers.forEach(id => set.add(id));\r\n\r\n const setToRemove = this.findItemsToRemove(set);\r\n const flatItems = this.filterWith(setToRemove);\r\n return this.publish(flatItems);\r\n }\r\n\r\n removeByParam(params: Partial<T>): T[] | null {\r\n if (!params) {\r\n return null;\r\n }\r\n\r\n const keys = Object.keys(params) as Array<keyof Partial<T>>;\r\n if (keys.length === 0) {\r\n return null;\r\n }\r\n\r\n const excludedList = this.flat.filter(item => keys.every(key => item[key] === params[key]));\r\n if (!excludedList?.length) {\r\n return null;\r\n }\r\n\r\n for (const item of excludedList) {\r\n this.removeByParam({ [this.parentId]: item[this.id] } as Partial<T>);\r\n }\r\n\r\n const flatItems = this.flat.filter(item => !excludedList.includes(item));\r\n return this.publish(flatItems);\r\n }\r\n\r\n search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\r\n const searchKeys = Object.keys(params) as Array<keyof Partial<T>>;\r\n\r\n return tree.reduce<TreeNode<T> | null>((acc, node) => {\r\n if (acc) {\r\n return acc;\r\n }\r\n\r\n if (searchKeys.every(key => node[key] === params[key])) {\r\n return node;\r\n }\r\n\r\n return this.search(params, node.children);\r\n }, null);\r\n }\r\n\r\n setSingularizeStatus(singularize = true): void {\r\n this.shouldSingularizeRoutes = singularize;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\r\n extends AbstractTreeService<T>\r\n implements OnDestroy\r\n{\r\n private subscription: Subscription;\r\n private permissionService: PermissionService;\r\n private compareFunc;\r\n readonly id = 'name';\r\n readonly parentId = 'parentName';\r\n readonly hide = (item: T) => item.invisible || !this.isGranted(item);\r\n readonly sort = (a: T, b: T) => {\r\n return this.compareFunc(a, b);\r\n };\r\n\r\n constructor(protected injector: Injector) {\r\n super();\r\n const configState = this.injector.get(ConfigStateService);\r\n this.subscription = configState\r\n .createOnUpdateStream(state => state)\r\n .subscribe(() => this.refresh());\r\n this.permissionService = injector.get(PermissionService);\r\n this.othersGroup = injector.get(OTHERS_GROUP);\r\n this.compareFunc = injector.get(SORT_COMPARE_FUNC);\r\n }\r\n\r\n protected isGranted({ requiredPolicy }: T): boolean {\r\n return this.permissionService.getGrantedPolicy(requiredPolicy);\r\n }\r\n\r\n hasChildren(identifier: string): boolean {\r\n const node = this.find(item => item[this.id] === identifier);\r\n return Boolean(node?.children?.length);\r\n }\r\n\r\n hasInvisibleChild(identifier: string): boolean {\r\n const node = this.find(item => item[this.id] === identifier);\r\n return node?.children?.some(child => child.invisible) || false;\r\n }\r\n\r\n /* istanbul ignore next */\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {\r\n private hasPathOrChild(item: TreeNode<ABP.Route>): boolean {\r\n return Boolean(item.path) || this.hasChildren(item.name);\r\n }\r\n\r\n get groupedVisible(): RouteGroup<ABP.Route>[] | undefined {\r\n return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item)));\r\n }\r\n\r\n get groupedVisible$(): Observable<RouteGroup<ABP.Route>[] | undefined> {\r\n return this.visible$.pipe(\r\n map(items => items.filter(item => this.hasPathOrChild(item))),\r\n map(visible => this.createGroupedTree(visible)),\r\n );\r\n }\r\n}\r\n","import type { OnDestroy } from '@angular/core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { Observable, PartialObserver } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SubscriptionService implements OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n get isClosed() {\r\n return this.subscription.closed;\r\n }\r\n\r\n addOne<T>(\r\n source$: Observable<T>,\r\n next?: (value: T) => void,\r\n error?: (error: any) => void,\r\n ): Subscription;\r\n addOne<T>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\r\n addOne<T>(\r\n source$: Observable<T>,\r\n nextOrObserver?: PartialObserver<T> | Next<T>,\r\n error?: (error: any) => void,\r\n ): Subscription {\r\n const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\r\n this.subscription.add(subscription);\r\n return subscription;\r\n }\r\n\r\n closeAll() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n closeOne(subscription: Subscription | undefined | null) {\r\n this.removeOne(subscription);\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n removeOne(subscription: Subscription | undefined | null) {\r\n if (!subscription) return;\r\n this.subscription.remove(subscription);\r\n }\r\n\r\n reset() {\r\n this.subscription.unsubscribe();\r\n this.subscription = new Subscription();\r\n }\r\n}\r\n\r\ntype Next<T> = (value: T) => void;\r\n","import { Injectable, TrackByFunction } from '@angular/core';\r\nimport { O } from 'ts-toolbelt';\r\n\r\nexport const trackBy =\r\n <T = any>(key: keyof T): TrackByFunction<T> =>\r\n (_, item) =>\r\n item[key];\r\n\r\nexport const trackByDeep =\r\n <T = any>(\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n ...keys: T extends object ? O.Paths<T> : never\r\n ): TrackByFunction<T> =>\r\n (_, item) =>\r\n keys.reduce((acc, key) => acc[key], item);\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TrackByService<ItemType = any> {\r\n by = trackBy;\r\n\r\n byDeep = trackByDeep;\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AbpWindowService {\r\n public readonly document = inject(DOCUMENT);\r\n public readonly window = this.document.defaultView;\r\n public readonly navigator = this.window.navigator;\r\n\r\n copyToClipboard(text: string): Promise<void> {\r\n return this.navigator.clipboard.writeText(text);\r\n }\r\n\r\n open(url?: string | URL, target?: string, features?: string): Window {\r\n return this.window.open(url, target, features);\r\n }\r\n\r\n reloadPage(): void {\r\n this.window.location.reload();\r\n }\r\n downloadBlob(blob: Blob, fileName: string) {\r\n const blobUrl = this.window.URL.createObjectURL(blob);\r\n const a = this.document.createElement('a');\r\n a.style.display = 'none';\r\n a.href = blobUrl;\r\n a.download = fileName;\r\n this.document.body.appendChild(a);\r\n a.dispatchEvent(\r\n new MouseEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: this.window,\r\n }),\r\n );\r\n this.window.URL.revokeObjectURL(blobUrl);\r\n this.document.body.removeChild(a);\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Injectable, computed, inject, signal } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InternetConnectionService {\r\n readonly document = inject(DOCUMENT);\r\n readonly window = this.document.defaultView;\r\n readonly navigator = this.window.navigator;\r\n\r\n private status$ = new BehaviorSubject<boolean>(this.navigator.onLine);\r\n\r\n private status = signal(this.navigator.onLine);\r\n\r\n networkStatus = computed(() => this.status());\r\n\r\n constructor() {\r\n this.window.addEventListener('offline', () => this.setStatus(false));\r\n this.window.addEventListener('online', () => this.setStatus(true));\r\n }\r\n\r\n setStatus(val: boolean) {\r\n this.status.set(val);\r\n this.status$.next(val);\r\n }\r\n\r\n get networkStatus$() {\r\n return this.status$.asObservable();\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Injectable, inject } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocalStorageListenerService {\r\n protected readonly window = inject(DOCUMENT).defaultView;\r\n\r\n constructor() {\r\n this.window.addEventListener('storage', event => {\r\n if (event.key === 'access_token') {\r\n const tokenRemoved = event.newValue === null;\r\n const tokenAdded = event.oldValue === null && event.newValue !== null;\r\n\r\n if (tokenRemoved || tokenAdded) {\r\n this.window.location.assign('/');\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable, effect, inject } from '@angular/core';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { TitleStrategy, RouterStateSnapshot } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { LocalizationService } from './localization.service';\r\nimport { DISABLE_PROJECT_NAME } from '../tokens';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpTitleStrategy extends TitleStrategy {\r\n protected readonly title = inject(Title);\r\n protected readonly localizationService = inject(LocalizationService);\r\n protected readonly disableProjectName = inject(DISABLE_PROJECT_NAME, { optional: true });\r\n protected routerState: RouterStateSnapshot;\r\n\r\n langugageChange = toSignal(this.localizationService.languageChange$);\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.langugageChange()) {\r\n this.updateTitle(this.routerState);\r\n }\r\n });\r\n }\r\n\r\n override updateTitle(routerState: RouterStateSnapshot) {\r\n this.routerState = routerState;\r\n const title = this.buildTitle(routerState);\r\n\r\n const projectName = this.localizationService.instant({\r\n key: '::AppName',\r\n defaultValue: 'MyProjectName',\r\n });\r\n\r\n if (!title) {\r\n return this.title.setTitle(projectName);\r\n }\r\n \r\n let localizedText = this.localizationService.instant({ key: title, defaultValue: title });\r\n if (!this.disableProjectName) {\r\n localizedText += ` | ${projectName}`;\r\n }\r\n\r\n this.title.setTitle(localizedText);\r\n }\r\n}\r\n","import type { ApplicationConfigurationDto, ApplicationConfigurationRequestOptions } from './models';\r\nimport { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApplicationConfigurationService {\r\n apiName = 'abp';\r\n\r\n\r\n get = (options: ApplicationConfigurationRequestOptions, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, ApplicationConfigurationDto>({\r\n method: 'GET',\r\n url: '/api/abp/application-configuration',\r\n params: { includeLocalizationResources: options.includeLocalizationResources },\r\n },\r\n { apiName: this.apiName, ...config });\r\n\r\n constructor(private restService: RestService) { }\r\n}\r\n","import type { ApplicationLocalizationDto, ApplicationLocalizationRequestDto } from './models';\r\nimport { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApplicationLocalizationService {\r\n apiName = 'abp';\r\n \r\n\r\n get = (input: ApplicationLocalizationRequestDto, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, ApplicationLocalizationDto>({\r\n method: 'GET',\r\n url: '/api/abp/application-localization',\r\n params: { cultureName: input.cultureName, onlyDynamics: input.onlyDynamics },\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map, switchMap, take, tap } from 'rxjs/operators';\r\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\r\nimport { AbpApplicationLocalizationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service';\r\nimport {\r\n ApplicationConfigurationDto,\r\n ApplicationFeatureConfigurationDto,\r\n ApplicationGlobalFeatureConfigurationDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigStateService {\r\n private updateSubject = new Subject<void>();\r\n private readonly store = new InternalStore({} as ApplicationConfigurationDto);\r\n\r\n public uiCultureFromAuthCodeFlow: string;\r\n\r\n setState(config: ApplicationConfigurationDto) {\r\n this.store.set(config);\r\n }\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n constructor(\r\n private abpConfigService: AbpApplicationConfigurationService,\r\n private abpApplicationLocalizationService: AbpApplicationLocalizationService,\r\n @Optional()\r\n @Inject(INCUDE_LOCALIZATION_RESOURCES_TOKEN)\r\n private readonly includeLocalizationResources: boolean | null,\r\n ) {\r\n this.initUpdateStream();\r\n }\r\n\r\n private initUpdateStream() {\r\n this.updateSubject\r\n .pipe(\r\n switchMap(() =>\r\n this.abpConfigService.get({\r\n includeLocalizationResources: !!this.includeLocalizationResources,\r\n }),\r\n ),\r\n )\r\n .pipe(switchMap(appState => this.getLocalizationAndCombineWithAppState(appState)))\r\n .subscribe(res => this.store.set(res));\r\n }\r\n\r\n private getLocalizationAndCombineWithAppState(\r\n appState: ApplicationConfigurationDto,\r\n ): Observable<ApplicationConfigurationDto> {\r\n if (!appState.localization.currentCulture.cultureName) {\r\n throw new Error('culture name should defined');\r\n }\r\n\r\n const cultureName =\r\n this.uiCultureFromAuthCodeFlow ?? appState.localization.currentCulture.cultureName;\r\n\r\n return this.getlocalizationResource(cultureName).pipe(\r\n map(result => ({ ...appState, localization: { ...appState.localization, ...result } })),\r\n tap(() => (this.uiCultureFromAuthCodeFlow = undefined)),\r\n );\r\n }\r\n\r\n private getlocalizationResource(cultureName: string) {\r\n return this.abpApplicationLocalizationService.get({\r\n cultureName: cultureName,\r\n onlyDynamics: false,\r\n });\r\n }\r\n\r\n refreshAppState() {\r\n this.updateSubject.next();\r\n return this.createOnUpdateStream(state => state).pipe(take(1));\r\n }\r\n\r\n refreshLocalization(lang: string): Observable<null> {\r\n if (this.includeLocalizationResources) {\r\n return this.refreshAppState().pipe(map(() => null));\r\n }\r\n\r\n return this.getlocalizationResource(lang)\r\n .pipe(\r\n tap(result =>\r\n this.store.patch({ localization: { ...this.store.state.localization, ...result } }),\r\n ),\r\n )\r\n .pipe(map(() => null));\r\n }\r\n\r\n getOne$<K extends keyof ApplicationConfigurationDto>(key: K) {\r\n return this.store.sliceState(state => state[key]);\r\n }\r\n\r\n getOne<K extends keyof ApplicationConfigurationDto>(key: K) {\r\n return this.store.state[key];\r\n }\r\n\r\n getAll$(): Observable<ApplicationConfigurationDto> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n getAll(): ApplicationConfigurationDto {\r\n return this.store.state;\r\n }\r\n\r\n getDeep$(keys: string[] | string): Observable<any> {\r\n keys = splitKeys(keys);\r\n\r\n return this.store\r\n .sliceState(state => state)\r\n .pipe(\r\n map(state => {\r\n return (keys as string[]).reduce((acc: any, val) => {\r\n if (acc) {\r\n return acc[val];\r\n }\r\n\r\n return undefined;\r\n }, state);\r\n }),\r\n );\r\n }\r\n\r\n getDeep(keys: string[] | string): any {\r\n keys = splitKeys(keys);\r\n\r\n return (keys as string[]).reduce((acc: any, val) => {\r\n if (acc) {\r\n return acc[val];\r\n }\r\n\r\n return undefined;\r\n }, this.store.state);\r\n }\r\n\r\n getFeature(key: string) {\r\n return this.store.state.features?.values?.[key];\r\n }\r\n\r\n getFeature$(key: string) {\r\n return this.store.sliceState(state => state.features?.values?.[key]);\r\n }\r\n\r\n getFeatures(keys: string[]) {\r\n const { features } = this.store.state;\r\n if (!features) return;\r\n\r\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n }\r\n\r\n getFeatures$(keys: string[]): Observable<{ [key: string]: string } | undefined> {\r\n return this.store.sliceState(({ features }) => {\r\n if (!features?.values) return;\r\n\r\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n });\r\n }\r\n\r\n private isFeatureEnabled(key: string, features: ApplicationFeatureConfigurationDto) {\r\n return features.values[key] === 'true';\r\n }\r\n\r\n getFeatureIsEnabled(key: string) {\r\n return this.isFeatureEnabled(key, this.store.state.features);\r\n }\r\n\r\n getFeatureIsEnabled$(key: string) {\r\n return this.store.sliceState(state => this.isFeatureEnabled(key, state.features));\r\n }\r\n\r\n getSetting(key: string) {\r\n return this.store.state.setting?.values?.[key];\r\n }\r\n\r\n getSetting$(key: string) {\r\n return this.store.sliceState(state => state.setting?.values?.[key]);\r\n }\r\n\r\n getSettings(keyword?: string) {\r\n const settings = this.store.state.setting?.values || {};\r\n\r\n if (!keyword) return settings;\r\n\r\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n return keysFound.reduce(\r\n (acc, key) => {\r\n acc[key] = settings[key];\r\n return acc;\r\n },\r\n {} as Record<string, string>,\r\n );\r\n }\r\n\r\n getSettings$(keyword?: string) {\r\n return this.store\r\n .sliceState(state => state.setting?.values)\r\n .pipe(\r\n map((settings = {}) => {\r\n if (!keyword) return settings;\r\n\r\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n return keysFound.reduce(\r\n (acc, key) => {\r\n acc[key] = settings[key];\r\n return acc;\r\n },\r\n {} as Record<string, string>,\r\n );\r\n }),\r\n );\r\n }\r\n\r\n getGlobalFeatures() {\r\n return this.store.state.globalFeatures;\r\n }\r\n\r\n getGlobalFeatures$() {\r\n return this.store.sliceState(state => state.globalFeatures);\r\n }\r\n\r\n private isGlobalFeatureEnabled(\r\n key: string,\r\n globalFeatures: ApplicationGlobalFeatureConfigurationDto,\r\n ) {\r\n const features = globalFeatures.enabledFeatures || [];\r\n return features.some(f => key === f);\r\n }\r\n\r\n getGlobalFeatureIsEnabled(key: string) {\r\n return this.isGlobalFeatureEnabled(key, this.store.state.globalFeatures);\r\n }\r\n\r\n getGlobalFeatureIsEnabled$(key: string) {\r\n return this.store.sliceState(state => this.isGlobalFeatureEnabled(key, state.globalFeatures));\r\n }\r\n}\r\n\r\nfunction splitKeys(keys: string[] | string): string[] {\r\n if (typeof keys === 'string') {\r\n keys = keys.split('.');\r\n }\r\n\r\n if (!Array.isArray(keys)) {\r\n throw new Error('The argument must be a dot string or an string array.');\r\n }\r\n\r\n return keys;\r\n}\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\r\nimport { BehaviorSubject, combineLatest, from, Observable, Subject } from 'rxjs';\r\nimport { filter, map, switchMap } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport {\r\n ApplicationConfigurationDto,\r\n ApplicationLocalizationResourceDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { localizations$ } from '../tokens/localization.token';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\r\nimport { interpolate } from '../utils/string-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocalizationService {\r\n private latestLang = this.sessionState.getLanguage();\r\n private _languageChange$ = new Subject<string>();\r\n\r\n private uiLocalizations$ = new BehaviorSubject(\r\n new Map<string, Map<string, Record<string, string>>>(),\r\n );\r\n\r\n private localizations$ = new BehaviorSubject(new Map<string, Record<string, string>>());\r\n\r\n /**\r\n * Returns currently selected language\r\n * Even though this looks like it's redundant to return the same value as `getLanguage()`,\r\n * it's actually not. This could be invoked any time, and the latestLang could be different from the\r\n * sessionState.getLanguage() value.\r\n */\r\n get currentLang(): string {\r\n return this.latestLang || this.sessionState.getLanguage();\r\n }\r\n\r\n get currentLang$(): Observable<string> {\r\n return this.sessionState.getLanguage$();\r\n }\r\n\r\n get languageChange$(): Observable<string> {\r\n return this._languageChange$.asObservable();\r\n }\r\n\r\n constructor(\r\n private sessionState: SessionStateService,\r\n private injector: Injector,\r\n @Optional()\r\n @SkipSelf()\r\n otherInstance: LocalizationService,\r\n private configState: ConfigStateService,\r\n ) {\r\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\r\n\r\n this.listenToSetLanguage();\r\n this.initLocalizationValues();\r\n }\r\n\r\n private initLocalizationValues() {\r\n localizations$.subscribe(val => this.addLocalization(val));\r\n\r\n const legacyResources$ = this.configState.getDeep$('localization.values') as Observable<\r\n Record<string, Record<string, string>>\r\n >;\r\n\r\n const remoteLocalizations$ = this.configState.getDeep$('localization.resources') as Observable<\r\n Record<string, ApplicationLocalizationResourceDto>\r\n >;\r\n\r\n const currentLanguage$ = this.sessionState.getLanguage$();\r\n\r\n const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(\r\n map(([currentLang, localizations]) => localizations.get(currentLang)),\r\n );\r\n\r\n combineLatest([legacyResources$, remoteLocalizations$, uiLocalizations$])\r\n .pipe(\r\n map(([legacy, resource, local]) => {\r\n if (!resource) {\r\n return;\r\n }\r\n const remote = combineLegacyandNewResources(legacy || {}, resource);\r\n if (remote) {\r\n if (!local) {\r\n local = new Map();\r\n }\r\n\r\n Object.entries(remote).forEach(entry => {\r\n const resourceName = entry[0];\r\n const remoteTexts = entry[1];\r\n let resource = local?.get(resourceName) || {};\r\n resource = { ...resource, ...remoteTexts };\r\n\r\n local?.set(resourceName, resource);\r\n });\r\n }\r\n\r\n return local;\r\n }),\r\n filter(Boolean),\r\n )\r\n .subscribe(val => this.localizations$.next(val));\r\n }\r\n\r\n addLocalization(localizations?: ABP.Localization[]) {\r\n if (!localizations) return;\r\n\r\n const localizationMap = this.uiLocalizations$.value;\r\n\r\n localizations.forEach(loc => {\r\n const cultureMap =\r\n localizationMap.get(loc.culture) || new Map<string, Record<string, string>>();\r\n\r\n loc.resources.forEach(res => {\r\n let resource: Record<string, string> = cultureMap.get(res.resourceName) || {};\r\n\r\n resource = { ...resource, ...res.texts };\r\n\r\n cultureMap.set(res.resourceName, resource);\r\n });\r\n\r\n localizationMap.set(loc.culture, cultureMap);\r\n });\r\n\r\n this.uiLocalizations$.next(localizationMap);\r\n }\r\n\r\n private listenToSetLanguage() {\r\n this.sessionState\r\n .onLanguageChange$()\r\n .pipe(\r\n filter(\r\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\r\n ),\r\n switchMap(lang => this.configState.refreshLocalization(lang).pipe(map(() => lang))),\r\n filter(Boolean),\r\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\r\n )\r\n .subscribe(lang => this._languageChange$.next(lang));\r\n }\r\n\r\n registerLocale(locale: string) {\r\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\r\n\r\n return registerLocaleFn(locale).then(module => {\r\n if (module?.default) registerLocaleData(module.default);\r\n this.latestLang = locale;\r\n });\r\n }\r\n\r\n /**\r\n * Returns an observable localized text with the given interpolation parameters in current language.\r\n * @param key Localizaton key to replace with localized text\r\n * @param interpolateParams Values to interpolate\r\n */\r\n get(key: string | LocalizationWithDefault, ...interpolateParams: string[]): Observable<string> {\r\n return this.configState\r\n .getAll$()\r\n .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));\r\n }\r\n\r\n getResource(resourceName: string) {\r\n return this.localizations$.value.get(resourceName);\r\n }\r\n\r\n getResource$(resourceName: string) {\r\n return this.localizations$.pipe(map(res => res.get(resourceName)));\r\n }\r\n\r\n /**\r\n * Returns localized text with the given interpolation parameters in current language.\r\n * @param key Localization key to replace with localized text\r\n * @param interpolateParams Values to intepolate.\r\n */\r\n instant(key: string | LocalizationWithDefault, ...interpolateParams: string[]): string {\r\n return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);\r\n }\r\n\r\n localize(resourceName: string, key: string, defaultValue: string): Observable<string | null> {\r\n return this.configState.getOne$('localization').pipe(\r\n map(createLocalizer),\r\n map(localize => localize(resourceName, key, defaultValue)),\r\n );\r\n }\r\n\r\n localizeSync(resourceName: string, key: string, defaultValue: string): string | null {\r\n const localization = this.configState.getOne('localization');\r\n return createLocalizer(localization)(resourceName, key, defaultValue);\r\n }\r\n\r\n localizeWithFallback(\r\n resourceNames: string[],\r\n keys: string[],\r\n defaultValue: string,\r\n ): Observable<string> {\r\n return this.configState.getOne$('localization').pipe(\r\n map(createLocalizerWithFallback),\r\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\r\n );\r\n }\r\n\r\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\r\n const localization = this.configState.getOne('localization');\r\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\r\n }\r\n\r\n private getLocalization(\r\n state: ApplicationConfigurationDto,\r\n key: string | LocalizationWithDefault,\r\n ...interpolateParams: string[]\r\n ) {\r\n let defaultValue = '';\r\n\r\n if (!key) {\r\n return defaultValue;\r\n }\r\n\r\n if (typeof key !== 'string') {\r\n defaultValue = key.defaultValue;\r\n key = key.key;\r\n }\r\n\r\n const keys = key.split('::') as string[];\r\n const warn = (message: string) => {\r\n if (isDevMode()) console.warn(message);\r\n };\r\n\r\n if (keys.length < 2) {\r\n warn('The localization source separator (::) not found.');\r\n return defaultValue || (key as string);\r\n }\r\n if (!state.localization) return defaultValue || keys[1];\r\n\r\n const sourceName = keys[0] || state.localization.defaultResourceName;\r\n const sourceKey = keys[1];\r\n\r\n if (sourceName === '_') {\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n if (!sourceName) {\r\n warn(\r\n 'Localization source name is not specified and the defaultResourceName was not defined!',\r\n );\r\n\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n const source = this.localizations$.value.get(sourceName);\r\n if (!source) {\r\n warn('Could not find localization source: ' + sourceName);\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n let localization = source[sourceKey];\r\n if (typeof localization === 'undefined') {\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n interpolateParams = interpolateParams.filter(params => params != null);\r\n if (localization) localization = interpolate(localization, interpolateParams);\r\n\r\n if (typeof localization !== 'string') localization = '';\r\n\r\n return localization || defaultValue || (key as string);\r\n }\r\n}\r\n\r\nfunction recursivelyMergeBaseResources(\r\n baseResourceName: string,\r\n source: ResourceDto,\r\n): ApplicationLocalizationResourceDto {\r\n const item = source[baseResourceName];\r\n\r\n if (item.baseResources.length === 0) {\r\n return item;\r\n }\r\n\r\n return item.baseResources.reduce((acc, baseResource) => {\r\n const baseItem = recursivelyMergeBaseResources(baseResource, source);\r\n const texts = { ...baseItem.texts, ...item.texts };\r\n return { ...acc, texts };\r\n }, item);\r\n}\r\n\r\nfunction mergeResourcesWithBaseResource(resource: ResourceDto): ResourceDto {\r\n const entities: Array<[string, ApplicationLocalizationResourceDto]> = Object.keys(resource).map(\r\n key => {\r\n const newValue = recursivelyMergeBaseResources(key, resource);\r\n return [key, newValue];\r\n },\r\n );\r\n return entities.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\r\n}\r\n\r\nfunction combineLegacyandNewResources(\r\n legacy: LegacyLanguageDto,\r\n resource: ResourceDto,\r\n): LegacyLanguageDto {\r\n const mergedResource = mergeResourcesWithBaseResource(resource);\r\n\r\n return Object.entries(mergedResource).reduce((acc, [key, value]) => {\r\n return { ...acc, [key]: value.texts };\r\n }, legacy);\r\n}\r\n\r\nexport type LegacyLanguageDto = Record<string, Record<string, string>>;\r\nexport type ResourceDto = Record<string, ApplicationLocalizationResourceDto>;\r\n","import { Component, inject, isDevMode, OnInit, Optional, SkipSelf, Type } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { eLayoutType } from '../enums/common';\r\nimport { ABP } from '../models';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { RouterEvents } from '../services/router-events.service';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { TreeNode } from '../utils/tree-utils';\r\nimport { DYNAMIC_LAYOUTS_TOKEN } from '../tokens/dynamic-layout.token';\r\nimport { EnvironmentService } from '../services';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-dynamic-layout',\r\n template: `\r\n @if (isLayoutVisible) {\r\n <ng-container [ngComponentOutlet]=\"layout\"></ng-container>\r\n }\r\n `,\r\n providers: [SubscriptionService],\r\n})\r\nexport class DynamicLayoutComponent implements OnInit {\r\n layout?: Type<any>;\r\n layoutKey?: eLayoutType;\r\n readonly layouts = inject(DYNAMIC_LAYOUTS_TOKEN);\r\n isLayoutVisible = true;\r\n\r\n protected readonly router = inject(Router);\r\n protected readonly route = inject(ActivatedRoute);\r\n protected readonly routes = inject(RoutesService);\r\n protected readonly localizationService = inject(LocalizationService);\r\n protected readonly replaceableComponents = inject(ReplaceableComponentsService);\r\n protected readonly subscription = inject(SubscriptionService);\r\n protected readonly routerEvents = inject(RouterEvents);\r\n protected readonly environment = inject(EnvironmentService);\r\n\r\n constructor(@Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent) {\r\n if (dynamicLayoutComponent) {\r\n if (isDevMode()) console.warn('DynamicLayoutComponent must be used only in AppComponent.');\r\n return;\r\n }\r\n this.checkLayoutOnNavigationEnd();\r\n this.listenToLanguageChange();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.layout) {\r\n return;\r\n }\r\n\r\n const { oAuthConfig } = this.environment.getEnvironment();\r\n if (oAuthConfig.responseType === 'code') {\r\n this.getLayout();\r\n }\r\n }\r\n\r\n private checkLayoutOnNavigationEnd() {\r\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\r\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\r\n }\r\n\r\n private getLayout() {\r\n let expectedLayout = this.getExtractedLayout();\r\n\r\n if (!expectedLayout) expectedLayout = eLayoutType.empty;\r\n\r\n if (this.layoutKey === expectedLayout) return;\r\n\r\n const key = this.layouts.get(expectedLayout);\r\n if (key) {\r\n this.layout = this.getComponent(key)?.component;\r\n this.layoutKey = expectedLayout;\r\n }\r\n if (!this.layout) {\r\n this.showLayoutNotFoundError(expectedLayout);\r\n }\r\n }\r\n\r\n private getExtractedLayout() {\r\n const routeData = this.route.snapshot.data || {};\r\n let expectedLayout = routeData['layout'] as eLayoutType;\r\n\r\n let node = findRoute(this.routes, getRoutePath(this.router));\r\n node = { parent: node } as TreeNode<ABP.Route>;\r\n\r\n while (node.parent) {\r\n node = node.parent;\r\n\r\n if (node.layout) {\r\n expectedLayout = node.layout;\r\n break;\r\n }\r\n }\r\n return expectedLayout;\r\n }\r\n\r\n showLayoutNotFoundError(layoutName: string) {\r\n let message = `Layout ${layoutName} not found.`;\r\n if (layoutName === 'account') {\r\n message =\r\n 'Account layout not found. Please check your configuration. If you are using LeptonX, please make sure you have added \"AccountLayoutModule.forRoot()\" to your app.module configuration.';\r\n }\r\n console.warn(message);\r\n }\r\n\r\n private listenToLanguageChange() {\r\n this.subscription.addOne(this.localizationService.languageChange$, () => {\r\n this.isLayoutVisible = false;\r\n setTimeout(() => (this.isLayoutVisible = true), 0);\r\n });\r\n }\r\n\r\n private getComponent(key: string): ReplaceableComponents.ReplaceableComponent | undefined {\r\n return this.replaceableComponents.get(key);\r\n }\r\n}\r\n","import { Component, OnInit, Type } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-replaceable-route-container',\r\n template: `\r\n <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\r\n `,\r\n providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableRouteContainerComponent implements OnInit {\r\n defaultComponent!: Type<any>;\r\n\r\n componentKey!: string;\r\n\r\n externalComponent?: Type<any>;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\r\n this.componentKey = (\r\n this.route.snapshot.data.replaceableComponent as ReplaceableComponents.RouteData\r\n ).key;\r\n\r\n const component$ = this.replaceableComponents\r\n .get$(this.componentKey)\r\n .pipe(distinctUntilChanged());\r\n\r\n this.subscription.addOne(\r\n component$,\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n this.externalComponent = res.component;\r\n },\r\n );\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-router-outlet',\r\n template: ` <router-outlet></router-outlet> `,\r\n})\r\nexport class RouterOutletComponent {}\r\n","// Different locales from .NET\r\n// Key is .NET locale, value is Angular locale\r\n\r\nexport const differentLocales = {\r\n aa: 'en',\r\n 'aa-DJ': 'en',\r\n 'aa-ER': 'en',\r\n 'aa-ET': 'en',\r\n 'af-ZA': 'af',\r\n 'agq-CM': 'agq',\r\n 'ak-GH': 'ak',\r\n 'am-ET': 'am',\r\n 'ar-001': 'ar',\r\n arn: 'en',\r\n 'arn-CL': 'en',\r\n 'as-IN': 'as',\r\n 'asa-TZ': 'asa',\r\n 'ast-ES': 'ast',\r\n 'az-Cyrl-AZ': 'az-Cyrl',\r\n 'az-Latn-AZ': 'az-Latn',\r\n ba: 'ru',\r\n 'ba-RU': 'ru',\r\n 'bas-CM': 'bas',\r\n 'be-BY': 'be',\r\n 'bem-ZM': 'bem',\r\n 'bez-TZ': 'bez',\r\n 'bg-BG': 'bg',\r\n bin: 'en',\r\n 'bin-NG': 'en',\r\n 'bm-Latn': 'bm',\r\n 'bm-Latn-ML': 'bm',\r\n 'bn-BD': 'bn',\r\n 'bo-CN': 'bo',\r\n 'br-FR': 'br',\r\n 'brx-IN': 'brx',\r\n 'bs-Cyrl-BA': 'bs-Cyrl',\r\n 'bs-Latn-BA': 'bs-Latn',\r\n byn: 'en',\r\n 'byn-ER': 'en',\r\n 'ca-ES': 'ca',\r\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\r\n 'ce-RU': 'ce',\r\n 'cgg-UG': 'cgg',\r\n 'chr-Cher': 'chr',\r\n 'chr-Cher-US': 'chr',\r\n co: 'en',\r\n 'co-FR': 'fr',\r\n 'cs-CZ': 'cs',\r\n 'cu-RU': 'cu',\r\n 'cy-GB': 'cy',\r\n 'da-DK': 'da',\r\n 'dav-KE': 'dav',\r\n 'de-DE': 'de',\r\n 'dje-NE': 'dje',\r\n 'dsb-DE': 'dsb',\r\n 'dua-CM': 'dua',\r\n dv: 'en',\r\n 'dv-MV': 'en',\r\n 'dyo-SN': 'dyo',\r\n 'dz-BT': 'dz',\r\n 'ebu-KE': 'ebu',\r\n 'ee-GH': 'ee',\r\n 'el-GR': 'el',\r\n 'en-029': 'en',\r\n 'en-ID': 'en',\r\n 'en-US': 'en',\r\n 'eo-001': 'en',\r\n 'es-ES': 'es',\r\n 'et-EE': 'et',\r\n 'eu-ES': 'eu',\r\n 'ewo-CM': 'ewo',\r\n 'fa-IR': 'fa',\r\n 'ff-Latn-SN': 'ff-Latn',\r\n 'ff-NG': 'ff',\r\n 'fi-FI': 'fi',\r\n 'fil-PH': 'fil',\r\n 'fo-FO': 'fo',\r\n 'fr-029': 'fr',\r\n 'fr-FR': 'fr',\r\n 'fur-IT': 'fur',\r\n 'fy-NL': 'fy',\r\n 'ga-IE': 'ga',\r\n 'gd-GB': 'gd',\r\n 'gl-ES': 'gl',\r\n gn: 'en',\r\n 'gn-PY': 'en',\r\n 'gsw-CH': 'gsw',\r\n 'gu-IN': 'gu',\r\n 'guz-KE': 'guz',\r\n 'gv-IM': 'gv',\r\n 'ha-Latn': 'ha',\r\n 'ha-Latn-GH': 'ha-GH',\r\n 'ha-Latn-NE': 'ha-NE',\r\n 'ha-Latn-NG': 'ha',\r\n 'haw-US': 'haw',\r\n 'he-IL': 'he',\r\n 'hi-IN': 'hi',\r\n 'hr-HR': 'hr',\r\n 'hsb-DE': 'hsb',\r\n 'hu-HU': 'hu',\r\n 'hy-AM': 'hy',\r\n 'ia-001': 'ia',\r\n 'ia-FR': 'ia',\r\n ibb: 'en',\r\n 'ibb-NG': 'en',\r\n 'id-ID': 'id',\r\n 'ig-NG': 'ig',\r\n 'ii-CN': 'ii',\r\n 'is-IS': 'is',\r\n 'it-IT': 'it',\r\n iu: 'en',\r\n 'iu-Cans': 'en',\r\n 'iu-Cans-CA': 'en',\r\n 'iu-Latn': 'en',\r\n 'iu-Latn-CA': 'en',\r\n 'ja-JP': 'ja',\r\n 'jgo-CM': 'jgo',\r\n 'jmc-TZ': 'jmc',\r\n 'jv-Java': 'jv',\r\n 'jv-Java-ID': 'jv',\r\n 'jv-Latn': 'jv',\r\n 'jv-Latn-ID': 'jv',\r\n 'ka-GE': 'ka',\r\n 'kab-DZ': 'kab',\r\n 'kam-KE': 'kam',\r\n 'kde-TZ': 'kde',\r\n 'kea-CV': 'kea',\r\n 'khq-ML': 'khq',\r\n 'ki-KE': 'ki',\r\n 'kk-KZ': 'kk',\r\n 'kkj-CM': 'kkj',\r\n 'kl-GL': 'kl',\r\n 'kln-KE': 'kln',\r\n 'km-KH': 'km',\r\n 'kn-IN': 'kn',\r\n 'ko-KR': 'ko',\r\n 'kok-IN': 'kok',\r\n kr: 'en',\r\n 'kr-NG': 'en',\r\n 'ks-Arab': 'ks',\r\n 'ks-Arab-IN': 'ks',\r\n 'ks-Deva': 'ks',\r\n 'ks-Deva-IN': 'ks',\r\n 'ksb-TZ': 'ksb',\r\n 'ksf-CM': 'ksf',\r\n 'ksh-DE': 'ksh',\r\n 'ku-Arab': 'ku',\r\n 'ku-Arab-IQ': 'ku',\r\n 'ku-Arab-IR': 'ku',\r\n 'kw-GB': 'kw',\r\n 'ky-KG': 'ky',\r\n la: 'en',\r\n 'la-001': 'en',\r\n 'lag-TZ': 'lag',\r\n 'lb-LU': 'lb',\r\n 'lg-UG': 'lg',\r\n 'lkt-US': 'lkt',\r\n 'ln-CD': 'ln',\r\n 'lo-LA': 'lo',\r\n 'lrc-IR': 'lrc',\r\n 'lt-LT': 'lt',\r\n 'lu-CD': 'lu',\r\n 'luo-KE': 'luo',\r\n 'luy-KE': 'luy',\r\n 'lv-LV': 'lv',\r\n 'mas-KE': 'mas',\r\n 'mer-KE': 'mer',\r\n 'mfe-MU': 'mfe',\r\n 'mg-MG': 'mg',\r\n 'mgh-MZ': 'mgh',\r\n 'mgo-CM': 'mgo',\r\n 'mi-NZ': 'mi',\r\n 'mk-MK': 'mk',\r\n 'ml-IN': 'ml',\r\n 'mn-Cyrl': 'mn',\r\n 'mn-MN': 'mn',\r\n 'mn-Mong': 'mn',\r\n 'mn-Mong-CN': 'mn',\r\n 'mn-Mong-MN': 'mn',\r\n mni: 'en',\r\n 'mni-IN': 'en',\r\n moh: 'en',\r\n 'moh-CA': 'en',\r\n 'mr-IN': 'mr',\r\n 'ms-MY': 'ms',\r\n 'mt-MT': 'mt',\r\n 'mua-CM': 'mua',\r\n 'my-MM': 'my',\r\n 'mzn-IR': 'mzn',\r\n 'naq-NA': 'naq',\r\n 'nb-NO': 'nb',\r\n\r\n 'nd-ZW': 'nd',\r\n 'ne-NP': 'ne',\r\n 'nl-NL': 'nl',\r\n 'nmg-CM': 'ngm',\r\n 'nn-NO': 'nn',\r\n 'nnh-CM': 'nnh',\r\n no: 'en',\r\n nqo: 'en',\r\n 'nqo-GN': 'en',\r\n nr: 'en',\r\n 'nr-ZA': 'en',\r\n nso: 'en',\r\n 'nso-ZA': 'en',\r\n 'nus-SS': 'nus',\r\n 'nyn-UG': 'nyn',\r\n oc: 'en',\r\n 'oc-FR': 'fr',\r\n 'om-ET': 'om',\r\n 'or-IN': 'or',\r\n 'os-GE': 'os',\r\n 'pa-Arab-PK': 'pa-Arab',\r\n 'pa-IN': 'pa',\r\n pap: 'en',\r\n 'pap-029': 'en',\r\n 'pl-PL': 'pl',\r\n 'prg-001': 'prg',\r\n prs: 'en',\r\n 'prs-AF': 'en',\r\n 'ps-AF': 'ps',\r\n 'pt-BR': 'pt',\r\n quc: 'en',\r\n 'quc-Latn': 'en',\r\n 'quc-Latn-GT': 'en',\r\n quz: 'en',\r\n 'quz-BO': 'en',\r\n 'quz-EC': 'en',\r\n 'quz-PE': 'en',\r\n 'rm-CH': 'rm',\r\n 'rn-BI': 'rn',\r\n 'ro-RO': 'ro',\r\n 'rof-TZ': 'rof',\r\n 'ru-RU': 'ru',\r\n 'rw-RW': 'rw',\r\n 'rwk-TZ': 'rwk',\r\n sa: 'en',\r\n 'sa-IN': 'en',\r\n 'sah-RU': 'sah',\r\n 'saq-KE': 'saq',\r\n 'sbp-TZ': 'en',\r\n 'sd-Arab': 'sd',\r\n 'sd-Arab-PK': 'sd',\r\n 'sd-Deva': 'sd',\r\n 'sd-Deva-IN': 'sd',\r\n 'se-NO': 'se',\r\n 'seh-MZ': 'seh',\r\n 'ses-ML': 'ses',\r\n 'sg-CF': 'sg',\r\n 'shi-Latn-MA': 'shi-Latn',\r\n 'shi-Tfng-MA': 'shi-Tfng',\r\n 'si-LK': 'si',\r\n 'sk-SK': 'sk',\r\n 'sl-SI': 'sl',\r\n sma: 'en',\r\n 'sma-NO': 'en',\r\n 'sma-SE': 'en',\r\n smj: 'en',\r\n 'smj-NO': 'en',\r\n 'smj-SE': 'en',\r\n 'smn-FI': 'en',\r\n sms: 'en',\r\n 'sms-FI': 'en',\r\n 'sn-Latn': 'sn',\r\n 'sn-Latn-ZW': 'sn',\r\n 'so-SO': 'so',\r\n 'sq-AL': 'so',\r\n 'sr-Cyrl-RS': 'sr-Cryl',\r\n 'sr-Latn-RS': 'sr-Latn',\r\n ss: 'en',\r\n 'ss-SZ': 'en',\r\n 'ss-ZA': 'en',\r\n ssy: 'en',\r\n 'ssy-ER': 'en',\r\n st: 'en',\r\n 'st-LS': 'en',\r\n 'st-ZA': 'en',\r\n 'sv-SE': 'sv',\r\n 'sw-TZ': 'sw',\r\n syr: 'en',\r\n 'syr-SY': 'en',\r\n 'ta-IN': 'ta',\r\n 'te-IN': 'te',\r\n 'teo-UG': 'teo',\r\n 'tg-Cyrl': 'tg',\r\n 'tg-Cyrl-TJ': 'tg',\r\n 'th-TH': 'th',\r\n 'ti-ET': 'ti',\r\n tig: 'en',\r\n 'tig-ER': 'en',\r\n 'tk-TM': 'tk',\r\n tn: 'en',\r\n 'tn-BW': 'en',\r\n 'tn-ZA': 'en',\r\n 'to-TO': 'to',\r\n 'tr-TR': 'tr',\r\n ts: 'en',\r\n 'ts-ZA': 'en',\r\n 'tt-RU': 'tt',\r\n 'twq-NE': 'twq',\r\n 'tzm-Arab': 'tzm',\r\n 'tzm-Arab-MA': 'tzm',\r\n 'tzm-Latn': 'tzm',\r\n 'tzm-Latn-DZ': 'tzm',\r\n 'tzm-Latn-MA': 'tzm',\r\n 'tzm-Tfng': 'tzm',\r\n 'tzm-Tfng-MA': 'tzm',\r\n 'ug-CN': 'ug',\r\n 'uk-UA': 'uk',\r\n 'ur-PK': 'ur',\r\n 'uz-Arab-AF': 'uz-Arab',\r\n 'uz-Cyrl-UZ': 'uz-Cyrl',\r\n 'uz-Latn-UZ': 'uz-Latn',\r\n 'vai-Latn-LR': 'vai-Latn',\r\n 'vai-Vaii-LR': 'vai-Vaii',\r\n ve: 'en',\r\n 've-ZA': 'en',\r\n 'vi-VN': 'vi',\r\n 'vo-001': 'vo',\r\n 'vun-TZ': 'vun',\r\n 'wae-CH': 'wae',\r\n wal: 'en',\r\n 'wal-ET': 'en',\r\n 'wo-SN': 'wo',\r\n 'xh-ZA': 'xh',\r\n 'xog-UG': 'xog',\r\n 'yav-CM': 'yav',\r\n 'yi-001': 'yi',\r\n 'yo-NG': 'yo',\r\n 'zgh-Tfng': 'zgh',\r\n 'zgh-Tfng-MA': 'zgh',\r\n 'zh-CN': 'zh',\r\n 'zh-HK': 'zh',\r\n 'zh-MO': 'zh',\r\n 'zh-SG': 'zh',\r\n 'zh-TW': 'zh',\r\n 'zu-ZA': 'zu',\r\n};\r\n","import {eLayoutType, eThemeSharedComponents} from \"../enums\";\r\n\r\nexport const DEFAULT_DYNAMIC_LAYOUTS = new Map<string, string>([\r\n [eLayoutType.application, eThemeSharedComponents.ApplicationLayoutComponent],\r\n [eLayoutType.account, eThemeSharedComponents.AccountLayoutComponent],\r\n [eLayoutType.empty, eThemeSharedComponents.EmptyLayoutComponent],\r\n]);\r\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[autofocus]',\r\n})\r\nexport class AutofocusDirective implements AfterViewInit {\r\n private _delay = 0;\r\n\r\n @Input('autofocus')\r\n set delay(val: number | string | undefined) {\r\n this._delay = Number(val) || 0;\r\n }\r\n\r\n get delay() {\r\n return this._delay;\r\n }\r\n\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay as number);\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[input.debounce]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class InputEventDebounceDirective implements OnInit {\r\n @Input() debounce = 300;\r\n\r\n @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\r\n\r\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n ngOnInit(): void {\r\n const input$ = fromEvent<InputEvent>(this.el.nativeElement, 'input').pipe(\r\n debounceTime(this.debounce),\r\n );\r\n\r\n this.subscription.addOne(input$, (event: Event) => {\r\n this.debounceEvent.emit(event);\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n IterableChangeRecord,\r\n IterableChanges,\r\n IterableDiffer,\r\n IterableDiffers,\r\n OnChanges,\r\n TemplateRef,\r\n TrackByFunction,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport compare from 'just-compare';\r\n\r\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\r\n\r\nclass AbpForContext {\r\n constructor(\r\n public $implicit: any,\r\n public index: number,\r\n public count: number,\r\n public list: any[],\r\n ) {}\r\n}\r\n\r\nclass RecordView {\r\n constructor(\r\n public record: IterableChangeRecord<any>,\r\n public view: EmbeddedViewRef<AbpForContext>,\r\n ) {}\r\n}\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpFor]',\r\n})\r\nexport class ForDirective implements OnChanges {\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('abpForOf')\r\n items!: any[];\r\n\r\n @Input('abpForOrderBy')\r\n orderBy?: string;\r\n\r\n @Input('abpForOrderDir')\r\n orderDir?: 'ASC' | 'DESC';\r\n\r\n @Input('abpForFilterBy')\r\n filterBy?: string;\r\n\r\n @Input('abpForFilterVal')\r\n filterVal: any;\r\n\r\n @Input('abpForTrackBy')\r\n trackBy?: TrackByFunction<any>;\r\n\r\n @Input('abpForCompareBy')\r\n compareBy?: CompareFn;\r\n\r\n @Input('abpForEmptyRef')\r\n emptyRef?: TemplateRef<any>;\r\n\r\n private differ!: IterableDiffer<any> | null;\r\n\r\n private isShowEmptyRef!: boolean;\r\n\r\n get compareFn(): CompareFn {\r\n return this.compareBy || compare;\r\n }\r\n\r\n get trackByFn(): TrackByFunction<any> {\r\n return this.trackBy || ((index: number, item: any) => (item as any).id || index);\r\n }\r\n\r\n constructor(\r\n private tempRef: TemplateRef<AbpForContext>,\r\n private vcRef: ViewContainerRef,\r\n private differs: IterableDiffers,\r\n ) {}\r\n\r\n private iterateOverAppliedOperations(changes: IterableChanges<any>) {\r\n const rw: RecordView[] = [];\r\n\r\n changes.forEachOperation(\r\n (\r\n record: IterableChangeRecord<any>,\r\n previousIndex: number | null,\r\n currentIndex: number | null,\r\n ) => {\r\n if (record.previousIndex == null) {\r\n const view = this.vcRef.createEmbeddedView(\r\n this.tempRef,\r\n new AbpForContext(null, -1, -1, this.items),\r\n currentIndex || 0,\r\n );\r\n\r\n rw.push(new RecordView(record, view));\r\n } else if (currentIndex == null && previousIndex !== null) {\r\n this.vcRef.remove(previousIndex);\r\n } else {\r\n if (previousIndex !== null) {\r\n const view = this.vcRef.get(previousIndex);\r\n if (view && currentIndex !== null) {\r\n this.vcRef.move(view, currentIndex);\r\n rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\r\n }\r\n }\r\n }\r\n },\r\n );\r\n\r\n for (let i = 0, l = rw.length; i < l; i++) {\r\n rw[i].view.context.$implicit = rw[i].record.item;\r\n }\r\n }\r\n\r\n private iterateOverAttachedViews(changes: IterableChanges<any>) {\r\n for (let i = 0, l = this.vcRef.length; i < l; i++) {\r\n const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\r\n viewRef.context.index = i;\r\n viewRef.context.count = l;\r\n viewRef.context.list = this.items;\r\n }\r\n\r\n changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\r\n if (record.currentIndex !== null) {\r\n const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\r\n viewRef.context.$implicit = record.item;\r\n }\r\n });\r\n }\r\n\r\n private projectItems(items: any[]): void {\r\n if (!items.length && this.emptyRef) {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\r\n this.isShowEmptyRef = true;\r\n this.differ = null;\r\n\r\n return;\r\n }\r\n\r\n if (this.emptyRef && this.isShowEmptyRef) {\r\n this.vcRef.clear();\r\n this.isShowEmptyRef = false;\r\n }\r\n\r\n if (!this.differ && items) {\r\n this.differ = this.differs.find(items).create(this.trackByFn);\r\n }\r\n\r\n if (this.differ) {\r\n const changes = this.differ.diff(items);\r\n\r\n if (changes) {\r\n this.iterateOverAppliedOperations(changes);\r\n this.iterateOverAttachedViews(changes);\r\n }\r\n }\r\n }\r\n\r\n private sortItems(items: any[]) {\r\n const orderBy = this.orderBy;\r\n if (orderBy) {\r\n items.sort((a, b) => (a[orderBy] > b[orderBy] ? 1 : a[orderBy] < b[orderBy] ? -1 : 0));\r\n } else {\r\n items.sort();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n let items = clone(this.items) as any[];\r\n if (!Array.isArray(items)) return;\r\n\r\n const compareFn = this.compareFn;\r\n const filterBy = this.filterBy;\r\n if (\r\n typeof filterBy !== 'undefined' &&\r\n typeof this.filterVal !== 'undefined' &&\r\n this.filterVal !== ''\r\n ) {\r\n items = items.filter(item => compareFn(item[filterBy], this.filterVal));\r\n }\r\n\r\n switch (this.orderDir) {\r\n case 'ASC':\r\n this.sortItems(items);\r\n this.projectItems(items);\r\n break;\r\n\r\n case 'DESC':\r\n this.sortItems(items);\r\n items.reverse();\r\n this.projectItems(items);\r\n break;\r\n\r\n default:\r\n this.projectItems(items);\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Self,\r\n} from '@angular/core';\r\nimport { FormGroupDirective, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, filter } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\ntype Controls = { [key: string]: UntypedFormControl } | UntypedFormGroup[];\r\n/**\r\n * @deprecated FormSubmitDirective will be removed in V7.0.0. Use `ngSubmit` instead.\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: 'form[ngSubmit][formGroup]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class FormSubmitDirective implements OnInit {\r\n @Input()\r\n debounce = 200;\r\n\r\n // TODO: Remove unused input\r\n @Input()\r\n notValidateOnSubmit?: string | boolean;\r\n\r\n @Input()\r\n markAsDirtyWhenSubmit = true;\r\n\r\n @Output() readonly ngSubmit = new EventEmitter();\r\n\r\n executedNgSubmit = false;\r\n\r\n constructor(\r\n @Self() private formGroupDirective: FormGroupDirective,\r\n private host: ElementRef<HTMLFormElement>,\r\n private cdRef: ChangeDetectorRef,\r\n private subscription: SubscriptionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\r\n if (this.markAsDirtyWhenSubmit) {\r\n this.markAsDirty();\r\n }\r\n\r\n this.executedNgSubmit = true;\r\n });\r\n\r\n const keyup$ = fromEvent<KeyboardEvent>(this.host.nativeElement as HTMLElement, 'keyup').pipe(\r\n debounceTime(this.debounce),\r\n filter(event => !(event.target instanceof HTMLTextAreaElement)),\r\n filter(event => event && event.key === 'Enter'),\r\n );\r\n\r\n this.subscription.addOne(keyup$, () => {\r\n if (!this.executedNgSubmit) {\r\n this.host.nativeElement.dispatchEvent(\r\n new Event('submit', { bubbles: true, cancelable: true }),\r\n );\r\n }\r\n\r\n this.executedNgSubmit = false;\r\n });\r\n }\r\n\r\n markAsDirty() {\r\n const { form } = this.formGroupDirective;\r\n\r\n setDirty(form.controls as { [key: string]: UntypedFormControl });\r\n form.markAsDirty();\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n}\r\n\r\nfunction setDirty(controls: Controls) {\r\n if (Array.isArray(controls)) {\r\n controls.forEach(group => {\r\n setDirty(group.controls as { [key: string]: UntypedFormControl });\r\n });\r\n return;\r\n }\r\n\r\n Object.keys(controls).forEach(key => {\r\n controls[key].markAsDirty();\r\n controls[key].updateValueAndValidity();\r\n });\r\n}\r\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpInit]',\r\n})\r\nexport class InitDirective implements AfterViewInit {\r\n @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\r\n\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngAfterViewInit() {\r\n this.init.emit(this.elRef);\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Directive,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Optional,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ReplaySubject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged, take } from 'rxjs/operators';\r\nimport { PermissionService } from '../services/permission.service';\r\nimport { QUEUE_MANAGER } from '../tokens/queue.token';\r\nimport { QueueManager } from '../utils/queue';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpPermission]',\r\n})\r\nexport class PermissionDirective implements OnDestroy, OnChanges, AfterViewInit {\r\n @Input('abpPermission') condition: string | undefined;\r\n\r\n @Input('abpPermissionRunChangeDetection') runChangeDetection = true;\r\n\r\n subscription!: Subscription;\r\n\r\n cdrSubject = new ReplaySubject<void>();\r\n\r\n rendered = false;\r\n\r\n constructor(\r\n @Optional() private templateRef: TemplateRef<any>,\r\n private vcRef: ViewContainerRef,\r\n private permissionService: PermissionService,\r\n private cdRef: ChangeDetectorRef,\r\n @Inject(QUEUE_MANAGER) public queue: QueueManager,\r\n ) {}\r\n\r\n private check() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n this.subscription = this.permissionService\r\n .getGrantedPolicy$(this.condition || '')\r\n .pipe(distinctUntilChanged())\r\n .subscribe(isGranted => {\r\n this.vcRef.clear();\r\n if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\r\n if (this.runChangeDetection) {\r\n if (!this.rendered) {\r\n this.cdrSubject.next();\r\n } else {\r\n this.cdRef.detectChanges();\r\n }\r\n } else {\r\n this.cdRef.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) this.subscription.unsubscribe();\r\n }\r\n\r\n ngOnChanges() {\r\n this.check();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdrSubject.pipe(take(1)).subscribe(() => this.queue.add(() => this.cdRef.detectChanges()));\r\n this.rendered = true;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport compare from 'just-compare';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpReplaceableTemplate]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\r\n @Input('abpReplaceableTemplate')\r\n data!: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\r\n\r\n providedData = {\r\n inputs: {},\r\n outputs: {},\r\n } as ReplaceableComponents.ReplaceableTemplateData<any, any>;\r\n\r\n context = {} as any;\r\n\r\n externalComponent!: Type<any>;\r\n\r\n defaultComponentRef: any;\r\n\r\n defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n\r\n initialized = false;\r\n\r\n constructor(\r\n private injector: Injector,\r\n private templateRef: TemplateRef<any>,\r\n private vcRef: ViewContainerRef,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n ) {\r\n this.context = {\r\n initTemplate: (ref: any) => {\r\n this.resetDefaultComponent();\r\n this.defaultComponentRef = ref;\r\n this.setDefaultComponentInputs();\r\n },\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n const component$ = this.replaceableComponents\r\n .get$(this.data.componentKey)\r\n .pipe(\r\n filter(\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) =>\r\n !this.initialized || !compare(res.component, this.externalComponent),\r\n ),\r\n );\r\n\r\n this.subscription.addOne(\r\n component$,\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n this.vcRef.clear();\r\n this.externalComponent = res.component;\r\n if (this.defaultComponentRef) {\r\n this.resetDefaultComponent();\r\n }\r\n\r\n if (res.component) {\r\n this.setProvidedData();\r\n const customInjector = Injector.create({\r\n providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\r\n parent: this.injector,\r\n });\r\n const ref = this.vcRef.createComponent(res.component, {\r\n index: 0,\r\n injector: customInjector,\r\n });\r\n } else {\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n\r\n this.initialized = true;\r\n },\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.data?.currentValue?.inputs && this.defaultComponentRef) {\r\n this.setDefaultComponentInputs();\r\n }\r\n }\r\n\r\n setDefaultComponentInputs() {\r\n if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\r\n\r\n if (this.data.inputs) {\r\n for (const key in this.data.inputs) {\r\n if (Object.prototype.hasOwnProperty.call(this.data.inputs, key)) {\r\n if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\r\n this.defaultComponentRef[key] = this.data.inputs[key].value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.data.outputs) {\r\n for (const key in this.data.outputs) {\r\n if (Object.prototype.hasOwnProperty.call(this.data.outputs, key)) {\r\n if (!this.defaultComponentSubscriptions[key]) {\r\n this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\r\n (value: any) => {\r\n this.data.outputs?.[key](value);\r\n },\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setProvidedData() {\r\n this.providedData = { outputs: {}, ...this.data, inputs: {} };\r\n\r\n if (!this.data.inputs) return;\r\n Object.defineProperties(this.providedData.inputs, {\r\n ...Object.keys(this.data.inputs).reduce(\r\n (acc, key) => ({\r\n ...acc,\r\n [key]: {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => this.data.inputs?.[key]?.value,\r\n ...(this.data.inputs?.[key]?.twoWay && {\r\n set: (newValue: any) => {\r\n if (this.data.inputs?.[key]) {\r\n this.data.inputs[key].value = newValue;\r\n }\r\n if (this.data.outputs?.[`${key}Change`]) {\r\n this.data.outputs[`${key}Change`](newValue);\r\n }\r\n },\r\n }),\r\n },\r\n }),\r\n {},\r\n ),\r\n });\r\n }\r\n\r\n resetDefaultComponent() {\r\n Object.keys(this.defaultComponentSubscriptions).forEach(key => {\r\n this.defaultComponentSubscriptions[key].unsubscribe();\r\n });\r\n this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n this.defaultComponentRef = null;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[click.stop]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class StopPropagationDirective implements OnInit {\r\n @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\r\n\r\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.addOne(fromEvent<MouseEvent>(this.el.nativeElement, 'click'), event => {\r\n event.stopPropagation();\r\n this.stopPropEvent.emit(event);\r\n });\r\n }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport { LocalizationService } from '../services/localization.service';\r\n\r\n@Injectable()\r\n@Pipe({\r\n standalone: false,\r\n name: 'abpLocalization',\r\n})\r\nexport class LocalizationPipe implements PipeTransform {\r\n constructor(private localization: LocalizationService) {}\r\n\r\n transform(\r\n value: string | LocalizationWithDefault = '',\r\n ...interpolateParams: (string | string[] | undefined)[]\r\n ): string {\r\n const params =\r\n interpolateParams.reduce((acc, val) => {\r\n if (!acc) {\r\n return val;\r\n }\r\n if (!val) {\r\n return acc;\r\n }\r\n return Array.isArray(val) ? [...acc, ...val] : [...acc, val];\r\n }, []) || [];\r\n return this.localization.instant(value, ...params);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\n\r\n@NgModule({\r\n exports: [LocalizationPipe],\r\n declarations: [LocalizationPipe],\r\n})\r\nexport class LocalizationModule {}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nexport type SortOrder = 'asc' | 'desc';\r\n\r\n@Injectable()\r\n@Pipe({\r\n standalone: false,\r\n name: 'abpSort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any {\r\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\r\n\r\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\r\n\r\n let numberArray = [];\r\n let stringArray = [];\r\n\r\n if (!sortKey) {\r\n numberArray = value.filter(item => typeof item === 'number').sort();\r\n stringArray = value.filter(item => typeof item === 'string').sort();\r\n } else {\r\n numberArray = value\r\n .filter(item => typeof item[sortKey] === 'number')\r\n .sort((a, b) => a[sortKey] - b[sortKey]);\r\n stringArray = value\r\n .filter(item => typeof item[sortKey] === 'string')\r\n .sort((a, b) => {\r\n if (a[sortKey] < b[sortKey]) return -1;\r\n else if (a[sortKey] > b[sortKey]) return 1;\r\n else return 0;\r\n });\r\n }\r\n const sorted = [\r\n ...numberArray,\r\n ...stringArray,\r\n ...value.filter(\r\n item =>\r\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\r\n typeof (sortKey ? item[sortKey] : item) !== 'string',\r\n ),\r\n ];\r\n return sortOrder === 'asc' ? sorted : sorted.reverse();\r\n }\r\n}\r\n","import { InjectionToken, Injector, Pipe, PipeTransform } from '@angular/core';\r\n\r\nexport const INJECTOR_PIPE_DATA_TOKEN = new InjectionToken<PipeTransform>(\r\n 'INJECTOR_PIPE_DATA_TOKEN',\r\n);\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'toInjector',\r\n})\r\nexport class ToInjectorPipe implements PipeTransform {\r\n constructor(private injector: Injector) {}\r\n transform(\r\n value: any,\r\n token: InjectionToken<any> = INJECTOR_PIPE_DATA_TOKEN,\r\n name = 'ToInjectorPipe',\r\n ): Injector {\r\n return Injector.create({\r\n providers: [\r\n {\r\n provide: token,\r\n useValue: value,\r\n },\r\n ],\r\n parent: this.injector,\r\n name,\r\n });\r\n }\r\n}\r\n","export {};\r\n\r\ndeclare global {\r\n interface Date {\r\n toLocalISOString?: () => string;\r\n }\r\n}\r\n\r\nDate.prototype.toLocalISOString = function (this: Date): string {\r\n const timezoneOffset = this.getTimezoneOffset();\r\n\r\n return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\r\n};\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortDateShortTimeFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'shortDateTime',\r\n pure: true,\r\n})\r\nexport class ShortDateTimePipe extends DatePipe implements PipeTransform {\r\n\r\n constructor(private configStateService: ConfigStateService,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional() defaultTimezone?: string|null\r\n ) {\r\n super(locale, defaultTimezone)\r\n }\r\n\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(\r\n value: string|number|Date|null|undefined, timezone?: string,\r\n locale?: string): string|null {\r\n\r\n const format = getShortDateShortTimeFormat(this.configStateService);\r\n return super.transform(value,format,timezone,locale)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortTimeFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'shortTime',\r\n pure: true,\r\n})\r\nexport class ShortTimePipe extends DatePipe implements PipeTransform {\r\n\r\n constructor(private configStateService: ConfigStateService,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional() defaultTimezone?: string|null\r\n ) {\r\n super(locale, defaultTimezone)\r\n }\r\n\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(\r\n value: string|number|Date|null|undefined, timezone?: string,\r\n locale?: string): string|null {\r\n\r\n const format = getShortTimeFormat(this.configStateService);\r\n return super.transform(value,format,timezone,locale)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortDateFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'shortDate',\r\n pure: true,\r\n})\r\nexport class ShortDatePipe extends DatePipe implements PipeTransform {\r\n\r\n constructor(private configStateService: ConfigStateService,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional() defaultTimezone?: string|null\r\n ) {\r\n super(locale, defaultTimezone)\r\n }\r\n\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(\r\n value: string|number|Date|null|undefined, timezone?: string,\r\n locale?: string): string|null {\r\n\r\n const format = getShortDateFormat(this.configStateService);\r\n return super.transform(value,format,timezone,locale)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { inject, Injectable, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Injectable()\r\n@Pipe({\r\n standalone: false,\r\n name: 'abpSafeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n transform(value: string): string {\r\n if (typeof value !== 'string') return '';\r\n return this.sanitizer.sanitize(SecurityContext.HTML, value);\r\n }\r\n}\r\n","import { Injector, inject, provideAppInitializer } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token';\r\n\r\nexport function setLanguageToCookie() {\r\n const injector = inject(Injector);\r\n const sessionState = injector.get(SessionStateService);\r\n const document = injector.get(DOCUMENT);\r\n const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);\r\n sessionState.getLanguage$().subscribe(language => {\r\n const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);\r\n document.cookie = `${cookieLanguageKey}=${cookieValue}`;\r\n });\r\n}\r\n\r\nexport const CookieLanguageProvider = provideAppInitializer(() => {\r\n setLanguageToCookie();\r\n});\r\n","import { LOCALE_ID, Provider } from '@angular/core';\r\nimport { differentLocales } from '../constants/different-locales';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { checkHasProp } from '../utils/common-utils';\r\n\r\nexport class LocaleId extends String {\r\n constructor(private localizationService: LocalizationService) {\r\n super();\r\n }\r\n\r\n toString(): string {\r\n const { currentLang } = this.localizationService;\r\n if (checkHasProp(differentLocales, currentLang)) {\r\n return differentLocales[currentLang];\r\n }\r\n return currentLang;\r\n }\r\n\r\n valueOf(): string {\r\n return this.toString();\r\n }\r\n}\r\n\r\nexport const LocaleProvider: Provider = {\r\n provide: LOCALE_ID,\r\n useClass: LocaleId,\r\n deps: [LocalizationService],\r\n};\r\n","import { Provider } from '@angular/core';\r\nimport { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';\r\n\r\nexport const IncludeLocalizationResourcesProvider: Provider = {\r\n provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n useValue: false,\r\n};\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { Route, Router } from '@angular/router';\r\nimport { ABP } from '../models';\r\nimport { RoutesService } from '../services/routes.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesHandler {\r\n constructor(\r\n private routes: RoutesService,\r\n @Optional() private router: Router,\r\n ) {\r\n this.addRoutes();\r\n }\r\n\r\n addRoutes() {\r\n (this.router?.config as RouteData[])?.forEach(({ path = '', data }: RouteData) => {\r\n const routes = data?.routes;\r\n if (!routes) return;\r\n\r\n if (Array.isArray(routes)) {\r\n this.routes.add(routes);\r\n } else {\r\n const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });\r\n this.routes.add(routesFlatten);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction flatRoutes(routes: RouteDef[], parent: any) {\r\n if (!routes) return [];\r\n\r\n return routes.reduce((acc, route) => {\r\n const { children, ...current } = {\r\n ...route,\r\n parentName: parent.name,\r\n path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\r\n };\r\n\r\n acc.push(current, ...flatRoutes(children, current));\r\n\r\n return acc;\r\n }, [] as ABP.Route[]);\r\n}\r\n\r\ntype RouteDef = ABP.Route & { children: RouteDef[] };\r\ntype RouteData = Route & { data: { routes: RouteDef | Array<RouteDef> } };\r\n","import { makeEnvironmentProviders, Provider, inject, provideAppInitializer } from '@angular/core';\r\nimport { TitleStrategy } from '@angular/router';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n withXsrfConfiguration,\r\n} from '@angular/common/http';\r\nimport {\r\n CORE_OPTIONS,\r\n LOCALIZATIONS,\r\n DYNAMIC_LAYOUTS_TOKEN,\r\n OTHERS_GROUP,\r\n QUEUE_MANAGER,\r\n SORT_COMPARE_FUNC,\r\n TENANT_KEY,\r\n compareFuncFactory,\r\n coreOptionsFactory,\r\n localizationContributor,\r\n} from '../tokens';\r\nimport { RoutesHandler } from '../handlers';\r\nimport { ABP, SortableItem } from '../models';\r\nimport { AuthErrorFilterService } from '../abstracts';\r\nimport { DEFAULT_DYNAMIC_LAYOUTS } from '../constants';\r\nimport { LocalizationService, LocalStorageListenerService, AbpTitleStrategy } from '../services';\r\nimport { DefaultQueueManager, getInitialData, localeInitializer } from '../utils';\r\nimport { CookieLanguageProvider, IncludeLocalizationResourcesProvider, LocaleProvider } from './';\r\n\r\nexport enum CoreFeatureKind {\r\n Options,\r\n CompareFunctionFactory,\r\n TitleStrategy,\r\n}\r\n\r\nexport interface CoreFeature<KindT extends CoreFeatureKind> {\r\n ɵkind: KindT;\r\n ɵproviders: Provider[];\r\n}\r\n\r\nfunction makeCoreFeature<KindT extends CoreFeatureKind>(\r\n kind: KindT,\r\n providers: Provider[],\r\n): CoreFeature<KindT> {\r\n return {\r\n ɵkind: kind,\r\n ɵproviders: providers,\r\n };\r\n}\r\n\r\nexport function withOptions(options = {} as ABP.Root): CoreFeature<CoreFeatureKind.Options> {\r\n return makeCoreFeature(CoreFeatureKind.Options, [\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: options,\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\r\n {\r\n provide: LOCALIZATIONS,\r\n multi: true,\r\n useValue: localizationContributor(options.localizations),\r\n deps: [LocalizationService],\r\n },\r\n {\r\n provide: OTHERS_GROUP,\r\n useValue: options.othersGroup || 'AbpUi::OthersGroup',\r\n },\r\n {\r\n provide: DYNAMIC_LAYOUTS_TOKEN,\r\n useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS,\r\n },\r\n ]);\r\n}\r\n\r\nexport function withTitleStrategy(strategy: unknown): CoreFeature<CoreFeatureKind.TitleStrategy> {\r\n return makeCoreFeature(CoreFeatureKind.TitleStrategy, [\r\n {\r\n provide: TitleStrategy,\r\n useExisting: strategy,\r\n },\r\n ]);\r\n}\r\n\r\nexport function withCompareFuncFactory(\r\n factory: (a: SortableItem, b: SortableItem) => 1 | -1 | 0,\r\n): CoreFeature<CoreFeatureKind.CompareFunctionFactory> {\r\n return makeCoreFeature(CoreFeatureKind.CompareFunctionFactory, [\r\n {\r\n provide: SORT_COMPARE_FUNC,\r\n useFactory: factory,\r\n },\r\n ]);\r\n}\r\n\r\nexport function provideAbpCore(...features: CoreFeature<CoreFeatureKind>[]) {\r\n const providers = [\r\n provideHttpClient(\r\n withInterceptorsFromDi(),\r\n withXsrfConfiguration({\r\n cookieName: 'XSRF-TOKEN',\r\n headerName: 'RequestVerificationToken',\r\n }),\r\n ),\r\n provideAppInitializer(() => {\r\n getInitialData();\r\n localeInitializer();\r\n inject(LocalizationService);\r\n inject(LocalStorageListenerService);\r\n inject(RoutesHandler);\r\n }),\r\n\r\n LocaleProvider,\r\n CookieLanguageProvider,\r\n {\r\n provide: SORT_COMPARE_FUNC,\r\n useFactory: compareFuncFactory,\r\n },\r\n {\r\n provide: QUEUE_MANAGER,\r\n useClass: DefaultQueueManager,\r\n },\r\n AuthErrorFilterService,\r\n IncludeLocalizationResourcesProvider,\r\n {\r\n provide: TitleStrategy,\r\n useExisting: AbpTitleStrategy,\r\n },\r\n ];\r\n\r\n for (const feature of features) {\r\n providers.push(...feature.ɵproviders);\r\n }\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n\r\nexport function provideAbpCoreChild(options = {} as ABP.Child) {\r\n return makeEnvironmentProviders([\r\n {\r\n provide: LOCALIZATIONS,\r\n multi: true,\r\n useValue: localizationContributor(options.localizations),\r\n deps: [LocalizationService],\r\n },\r\n ]);\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n withXsrfConfiguration,\r\n} from '@angular/common/http';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\r\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\r\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\r\nimport { RouterOutletComponent } from './components/router-outlet.component';\r\nimport { AutofocusDirective } from './directives/autofocus.directive';\r\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\r\nimport { ForDirective } from './directives/for.directive';\r\nimport { FormSubmitDirective } from './directives/form-submit.directive';\r\nimport { InitDirective } from './directives/init.directive';\r\nimport { PermissionDirective } from './directives/permission.directive';\r\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\r\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\r\nimport { LocalizationModule } from './localization.module';\r\nimport { ABP } from './models/common';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\nimport { SortPipe } from './pipes/sort.pipe';\r\nimport { ToInjectorPipe } from './pipes/to-injector.pipe';\r\nimport './utils/date-extensions';\r\nimport { ShortDateTimePipe } from './pipes/short-date-time.pipe';\r\nimport { ShortTimePipe } from './pipes/short-time.pipe';\r\nimport { ShortDatePipe } from './pipes/short-date.pipe';\r\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { provideAbpCoreChild, provideAbpCore, withOptions } from './providers';\r\n\r\nconst standaloneDirectives = [\r\n AutofocusDirective,\r\n InputEventDebounceDirective,\r\n ForDirective,\r\n FormSubmitDirective,\r\n InitDirective,\r\n PermissionDirective,\r\n ReplaceableTemplateDirective,\r\n StopPropagationDirective,\r\n];\r\n/**\r\n * BaseCoreModule is the module that holds\r\n * all imports, declarations, exports, and entryComponents\r\n * but not the providers.\r\n * This module will be imported and exported by all others.\r\n */\r\n@NgModule({\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n LocalizationModule,\r\n AbstractNgModelComponent,\r\n DynamicLayoutComponent,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n SortPipe,\r\n SafeHtmlPipe,\r\n ToInjectorPipe,\r\n ShortDateTimePipe,\r\n ShortTimePipe,\r\n ShortDatePipe,\r\n ...standaloneDirectives,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n LocalizationModule,\r\n ...standaloneDirectives,\r\n ],\r\n declarations: [\r\n AbstractNgModelComponent,\r\n DynamicLayoutComponent,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n SortPipe,\r\n SafeHtmlPipe,\r\n ToInjectorPipe,\r\n ShortDateTimePipe,\r\n ShortTimePipe,\r\n ShortDatePipe,\r\n ],\r\n providers: [LocalizationPipe, provideHttpClient(withInterceptorsFromDi())],\r\n})\r\nexport class BaseCoreModule {}\r\n\r\n/**\r\n * RootCoreModule is the module that will be used at root level\r\n * and it introduces imports useful at root level (e.g. NGXS)\r\n */\r\n@NgModule({\r\n exports: [BaseCoreModule, LocalizationModule],\r\n imports: [BaseCoreModule, LocalizationModule],\r\n providers: [\r\n provideHttpClient(\r\n withXsrfConfiguration({\r\n cookieName: 'XSRF-TOKEN',\r\n headerName: 'RequestVerificationToken',\r\n }),\r\n ),\r\n ],\r\n})\r\nexport class RootCoreModule {}\r\n\r\n/**\r\n * CoreModule is the module that is publicly available\r\n */\r\n@NgModule({\r\n exports: [BaseCoreModule],\r\n imports: [BaseCoreModule],\r\n})\r\nexport class CoreModule {\r\n /**\r\n * @deprecated forRoot method is deprecated, use `provideAbpCore` *function* for config settings.\r\n */\r\n static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\r\n return {\r\n ngModule: RootCoreModule,\r\n providers: [provideAbpCore(withOptions(options))],\r\n };\r\n }\r\n\r\n /**\r\n * @deprecated forChild method is deprecated, use `provideAbpCoreChild` *function* for config settings.\r\n */\r\n static forChild(options = {} as ABP.Child): ModuleWithProviders<RootCoreModule> {\r\n return {\r\n ngModule: RootCoreModule,\r\n providers: [provideAbpCoreChild(options)],\r\n };\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, inject } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpShowPassword]',\r\n})\r\nexport class ShowPasswordDirective {\r\n protected readonly elementRef = inject(ElementRef);\r\n\r\n @Input() set abpShowPassword(visible: boolean) {\r\n const element = this.elementRef.nativeElement as HTMLInputElement;\r\n if (!element) return;\r\n\r\n element.type = visible ? 'text' : 'password';\r\n }\r\n}\r\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpCapsLock]',\r\n})\r\nexport class TrackCapsLockDirective {\r\n @Output('abpCapsLock') capsLock = new EventEmitter<boolean>();\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent): void {\r\n this.capsLock.emit(this.isCapsLockOpen(event));\r\n }\r\n @HostListener('window:keyup', ['$event'])\r\n onKeyUp(event: KeyboardEvent): void {\r\n this.capsLock.emit(this.isCapsLockOpen(event));\r\n }\r\n\r\n isCapsLockOpen(e): boolean {\r\n const s = String.fromCharCode(e.which);\r\n if (\r\n (s.toUpperCase() === s && s.toLowerCase() !== s && e.shiftKey) ||\r\n (s.toUpperCase() !== s && s.toLowerCase() === s && e.shiftKey) ||\r\n (e.getModifierState && e.getModifierState('CapsLock'))\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivateFn,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { AuthService, IAbpGuard } from '../abstracts';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { RoutesService, PermissionService, HttpErrorReporterService } from '../services';\r\n/**\r\n * @deprecated Use `permissionGuard` *function* instead.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PermissionGuard implements IAbpGuard {\r\n protected readonly router = inject(Router);\r\n protected readonly routesService = inject(RoutesService);\r\n protected readonly authService = inject(AuthService);\r\n protected readonly permissionService = inject(PermissionService);\r\n protected readonly httpErrorReporter = inject(HttpErrorReporterService);\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\r\n let { requiredPolicy } = route.data || {};\r\n\r\n if (!requiredPolicy) {\r\n const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\r\n requiredPolicy = routeFound?.requiredPolicy;\r\n }\r\n\r\n if (!requiredPolicy) return of(true);\r\n\r\n return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n tap(access => {\r\n if (!access && this.authService.isAuthenticated) {\r\n this.httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n }\r\n }),\r\n );\r\n }\r\n}\r\n\r\nexport const permissionGuard: CanActivateFn = (\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot,\r\n) => {\r\n const router = inject(Router);\r\n const routesService = inject(RoutesService);\r\n const authService = inject(AuthService);\r\n const permissionService = inject(PermissionService);\r\n const httpErrorReporter = inject(HttpErrorReporterService);\r\n\r\n let { requiredPolicy } = route.data || {};\r\n\r\n if (!requiredPolicy) {\r\n const routeFound = findRoute(routesService, getRoutePath(router, state.url));\r\n requiredPolicy = routeFound?.requiredPolicy;\r\n }\r\n\r\n if (!requiredPolicy) return of(true);\r\n\r\n return permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n tap(access => {\r\n if (!access && authService.isAuthenticated) {\r\n httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n }\r\n }),\r\n );\r\n};\r\n","import { ABP } from './common';\r\nimport { checkHasProp } from '../utils/common-utils';\r\n\r\nexport class ListResultDto<T> {\r\n items?: T[];\r\n\r\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\ntype ValueOf<T> = T[keyof T];\r\nexport class PagedResultDto<T> extends ListResultDto<T> {\r\n totalCount?: number;\r\n\r\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleObject {\r\n extraProperties?: ABP.Dictionary<any>;\r\n\r\n constructor(initialValues: Partial<ExtensibleObject> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\r\n id?: TKey;\r\n\r\n constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class LimitedResultRequestDto {\r\n maxResultCount = 10;\r\n\r\n constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {\r\n this[key] = initialValues[key] as ValueOf<LimitedResultRequestDto>;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class ExtensibleLimitedResultRequestDto extends ExtensibleEntityDto {\r\n maxResultCount = 10;\r\n\r\n constructor(initialValues: Partial<ExtensibleLimitedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\r\n skipCount?: number;\r\n\r\n constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensiblePagedResultRequestDto extends ExtensibleLimitedResultRequestDto {\r\n skipCount?: number;\r\n\r\n constructor(initialValues: Partial<ExtensiblePagedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\r\n sorting?: string;\r\n\r\n constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensiblePagedAndSortedResultRequestDto extends ExtensiblePagedResultRequestDto {\r\n sorting?: string;\r\n\r\n constructor(initialValues: Partial<ExtensiblePagedAndSortedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class EntityDto<TKey = string> {\r\n id?: TKey;\r\n\r\n constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\r\n creationTime?: string | Date;\r\n creatorId?: string;\r\n\r\n constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class CreationAuditedEntityWithUserDto< \r\n TPrimaryKey = string,\r\n TUserDto = any\r\n> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n\r\n constructor(\r\n initialValues: Partial<CreationAuditedEntityWithUserDto<TPrimaryKey,TUserDto>> = {},\r\n ) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n lastModificationTime?: string | Date;\r\n lastModifierId?: string;\r\n\r\n constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\n/** @deprecated the class signature will change in v8.0 */ \r\nexport class AuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends AuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n\r\n constructor(initialValues: Partial<AuditedEntityWithUserDto< TPrimaryKey,TUserDto>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\r\n isDeleted?: boolean;\r\n deleterId?: string;\r\n deletionTime?: Date | string;\r\n\r\n constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n/** @deprecated the class signature will change in v8.0 */ \r\nexport class FullAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any\r\n> extends FullAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n deleter?: TUserDto;\r\n\r\n constructor(initialValues: Partial<FullAuditedEntityWithUserDto< TPrimaryKey,TUserDto>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleEntityDto<TPrimaryKey> {\r\n creationTime?: Date | string;\r\n creatorId?: string;\r\n\r\n constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n lastModificationTime?: Date | string;\r\n lastModifierId?: string;\r\n\r\n constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n\r\n constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n\r\n constructor(\r\n initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\r\n ) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n isDeleted?: boolean;\r\n deleterId?: string;\r\n deletionTime?: Date | string;\r\n\r\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n deleter?: TUserDto;\r\n\r\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n","export type EventType =\r\n | 'discovery_document_loaded'\r\n | 'jwks_load_error'\r\n | 'invalid_nonce_in_state'\r\n | 'discovery_document_load_error'\r\n | 'discovery_document_validation_error'\r\n | 'user_profile_loaded'\r\n | 'user_profile_load_error'\r\n | 'token_received'\r\n | 'token_error'\r\n | 'code_error'\r\n | 'token_refreshed'\r\n | 'token_refresh_error'\r\n | 'silent_refresh_error'\r\n | 'silently_refreshed'\r\n | 'silent_refresh_timeout'\r\n | 'token_validation_error'\r\n | 'token_expires'\r\n | 'session_changed'\r\n | 'session_error'\r\n | 'session_terminated'\r\n | 'session_unchanged'\r\n | 'logout'\r\n | 'popup_closed'\r\n | 'popup_blocked'\r\n | 'token_revoke_error';\r\n\r\nexport abstract class AuthEvent {\r\n constructor(public readonly type: EventType) {\r\n this.type = type;\r\n }\r\n}\r\n\r\nexport class AuthSuccessEvent extends AuthEvent {\r\n constructor(public readonly type: EventType, public readonly info?: any) {\r\n super(type);\r\n }\r\n}\r\n\r\nexport class AuthInfoEvent extends AuthEvent {\r\n constructor(public readonly type: EventType, public readonly info?: any) {\r\n super(type);\r\n }\r\n}\r\n\r\nexport class AuthErrorEvent extends AuthEvent {\r\n constructor(\r\n public readonly type: EventType,\r\n public readonly reason: object,\r\n public readonly params?: object,\r\n ) {\r\n super(type);\r\n }\r\n}\r\n","import { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ApplicationApiDescriptionModel, ApplicationApiDescriptionModelRequestDto } from '../../../http/modeling/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApiDefinitionService {\r\n apiName = 'abp';\r\n \r\n\r\n getByModel = (model: ApplicationApiDescriptionModelRequestDto, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, ApplicationApiDescriptionModel>({\r\n method: 'GET',\r\n url: '/api/abp/api-definition',\r\n params: { includeTypes: model.includeTypes },\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { ViewContainerRef } from '@angular/core';\r\n\r\nexport abstract class ContainerStrategy {\r\n constructor(public containerRef: ViewContainerRef) {}\r\n\r\n abstract getIndex(): number;\r\n\r\n prepare(): void {}\r\n}\r\n\r\nexport class ClearContainerStrategy extends ContainerStrategy {\r\n getIndex(): number {\r\n return 0;\r\n }\r\n\r\n prepare() {\r\n this.containerRef.clear();\r\n }\r\n}\r\n\r\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\r\n constructor(containerRef: ViewContainerRef, private index: number) {\r\n super(containerRef);\r\n }\r\n\r\n getIndex() {\r\n return Math.min(Math.max(0, this.index), this.containerRef.length);\r\n }\r\n}\r\n\r\nexport const CONTAINER_STRATEGY = {\r\n Clear(containerRef: ViewContainerRef) {\r\n return new ClearContainerStrategy(containerRef);\r\n },\r\n Append(containerRef: ViewContainerRef) {\r\n return new InsertIntoContainerStrategy(containerRef, containerRef.length);\r\n },\r\n Prepend(containerRef: ViewContainerRef) {\r\n return new InsertIntoContainerStrategy(containerRef, 0);\r\n },\r\n Insert(containerRef: ViewContainerRef, index: number) {\r\n return new InsertIntoContainerStrategy(containerRef, index);\r\n },\r\n};\r\n","export abstract class ContentSecurityStrategy {\r\n constructor(public nonce?: string) {}\r\n\r\n abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\r\n}\r\n\r\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\r\n constructor(nonce: string) {\r\n super(nonce);\r\n }\r\n\r\n applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\r\n if (this.nonce) {\r\n element.setAttribute('nonce', this.nonce);\r\n }\r\n }\r\n}\r\n\r\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\r\n constructor() {\r\n super();\r\n }\r\n\r\n applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\r\n}\r\n\r\nexport const CONTENT_SECURITY_STRATEGY = {\r\n Loose(nonce: string) {\r\n return new LooseContentSecurityStrategy(nonce);\r\n },\r\n None() {\r\n return new NoContentSecurityStrategy();\r\n },\r\n};\r\n","import { CONTENT_SECURITY_STRATEGY, ContentSecurityStrategy } from './content-security.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from './dom.strategy';\r\n\r\nexport type ElementOptions<T extends HTMLScriptElement | HTMLStyleElement = any> = Partial<{\r\n [key in keyof T]: T[key];\r\n}>;\r\n\r\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\r\n constructor(\r\n public content: string,\r\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\r\n protected options: ElementOptions<T> = {},\r\n ) {}\r\n\r\n abstract createElement(): T;\r\n\r\n insertElement(): T {\r\n const element = this.createElement();\r\n\r\n if (this.options && Object.keys(this.options).length > 0) {\r\n (Object.keys(this.options) as Array<keyof ElementOptions<T>>).forEach(key => {\r\n if (this.options[key]) {\r\n element[key] = (this.options as NonNullable<T>)[key];\r\n }\r\n });\r\n }\r\n\r\n this.contentSecurityStrategy.applyCSP(element);\r\n this.domStrategy.insertElement(element);\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\r\n createElement(): HTMLStyleElement {\r\n const element = document.createElement('style');\r\n element.textContent = this.content;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\r\n createElement(): HTMLScriptElement {\r\n const element = document.createElement('script');\r\n element.textContent = this.content;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const CONTENT_STRATEGY = {\r\n AppendScriptToBody(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);\r\n },\r\n AppendScriptToHead(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n },\r\n AppendStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n },\r\n PrependStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);\r\n },\r\n};\r\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models';\r\n\r\nexport abstract class ContextStrategy<T = any> {\r\n constructor(public context: Partial<ContextType<T>>) {}\r\n\r\n setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\r\n return this.context;\r\n }\r\n}\r\n\r\nexport class NoContextStrategy<\r\n T extends Type<any> | TemplateRef<any> = any,\r\n> extends ContextStrategy<T> {\r\n constructor() {\r\n super(undefined as unknown as Partial<ContextType<T>>);\r\n }\r\n}\r\n\r\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\r\n setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\r\n Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\r\n componentRef.changeDetectorRef.detectChanges();\r\n return this.context;\r\n }\r\n}\r\n\r\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\r\n setContext(): Partial<InferredContextOf<T>> {\r\n return this.context;\r\n }\r\n}\r\n\r\nexport const CONTEXT_STRATEGY = {\r\n None<T extends Type<any> | TemplateRef<any> = any>() {\r\n return new NoContextStrategy<T>();\r\n },\r\n Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\r\n return new ComponentContextStrategy<T>(context);\r\n },\r\n Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\r\n return new TemplateContextStrategy<T>(context);\r\n },\r\n};\r\n\r\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\r\n","import { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { fromLazyLoad } from '../utils';\r\nimport { CROSS_ORIGIN_STRATEGY, CrossOriginStrategy } from './cross-origin.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from './dom.strategy';\r\n\r\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\r\n element!: T;\r\n\r\n constructor(\r\n public path: string,\r\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n ) {}\r\n\r\n abstract createElement(): T;\r\n\r\n createStream<E extends Event>(): Observable<E> {\r\n this.element = this.createElement();\r\n\r\n return of(null).pipe(\r\n switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\r\n );\r\n }\r\n}\r\n\r\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\r\n constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n super(src, domStrategy, crossOriginStrategy);\r\n }\r\n\r\n createElement(): HTMLScriptElement {\r\n const element = document.createElement('script');\r\n element.src = this.path;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\r\n constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n super(href, domStrategy, crossOriginStrategy);\r\n }\r\n\r\n createElement(): HTMLLinkElement {\r\n const element = document.createElement('link');\r\n element.rel = 'stylesheet';\r\n element.href = this.path;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const LOADING_STRATEGY = {\r\n AppendScriptToBody(src: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToBody(),\r\n CROSS_ORIGIN_STRATEGY.None(),\r\n );\r\n },\r\n AppendAnonymousScriptToBody(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToBody(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n AppendAnonymousScriptToHead(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n AppendAnonymousStyleToHead(src: string, integrity?: string) {\r\n return new StyleLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n PrependAnonymousScriptToHead(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.PrependToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n PrependAnonymousStyleToHead(src: string, integrity?: string) {\r\n return new StyleLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.PrependToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n};\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\r\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\r\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\r\n\r\nexport abstract class ProjectionStrategy<T = any> {\r\n constructor(public content: T) {}\r\n\r\n abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\r\n}\r\n\r\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n component: T,\r\n private containerStrategy: ContainerStrategy,\r\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n ) {\r\n super(component);\r\n }\r\n\r\n injectContent(injector: Injector) {\r\n this.containerStrategy.prepare();\r\n\r\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\r\n\r\n const componentRef = this.containerStrategy.containerRef.createComponent(\r\n factory,\r\n this.containerStrategy.getIndex(),\r\n injector,\r\n );\r\n this.contextStrategy.setContext(componentRef);\r\n\r\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n component: T,\r\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\r\n ) {\r\n super(component);\r\n }\r\n\r\n injectContent(injector: Injector) {\r\n const appRef = injector.get(ApplicationRef);\r\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n const componentRef = resolver\r\n .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\r\n .create(injector);\r\n\r\n this.contextStrategy.setContext(componentRef);\r\n\r\n appRef.attachView(componentRef.hostView);\r\n const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\r\n this.domStrategy.insertElement(element);\r\n\r\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n templateRef: T,\r\n private containerStrategy: ContainerStrategy,\r\n private contextStrategy = CONTEXT_STRATEGY.None(),\r\n ) {\r\n super(templateRef);\r\n }\r\n\r\n injectContent() {\r\n this.containerStrategy.prepare();\r\n\r\n const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\r\n this.content,\r\n this.contextStrategy.context,\r\n this.containerStrategy.getIndex(),\r\n );\r\n embeddedViewRef.detectChanges();\r\n\r\n return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport const PROJECTION_STRATEGY = {\r\n AppendComponentToBody<T extends Type<unknown>>(\r\n component: T,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new RootComponentProjectionStrategy<T>(\r\n component,\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n AppendComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Append(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n AppendTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Append(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n PrependComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Prepend(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n PrependTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Prepend(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n ProjectComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Clear(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Clear(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n};\r\n\r\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\r\n ? ComponentRef<U>\r\n : T extends TemplateRef<infer C>\r\n ? EmbeddedViewRef<C>\r\n : never;\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface MinAgeError {\r\n minAge: {\r\n age: number;\r\n };\r\n}\r\n\r\nexport interface MinAgeOptions {\r\n age?: number;\r\n}\r\n\r\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): MinAgeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\r\n };\r\n}\r\n\r\nfunction isValidMinAge(value: string | number, minAge: number) {\r\n const date = new Date();\r\n date.setFullYear(date.getFullYear() - minAge);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return Number(new Date(value)) <= date.valueOf();\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface CreditCardError {\r\n creditCard: true;\r\n}\r\n\r\nexport function validateCreditCard(): ValidatorFn {\r\n return (control: AbstractControl): CreditCardError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\r\n };\r\n}\r\n\r\nfunction isValidCreditCard(value: string): boolean {\r\n value = value.replace(/[ -]/g, '');\r\n\r\n if (!/^[0-9]{13,19}$/.test(value)) return false;\r\n\r\n let checksum = 0;\r\n let multiplier = 1;\r\n\r\n for (let i = value.length; i > 0; i--) {\r\n const digit = Number(value[i - 1]) * multiplier;\r\n checksum += (digit % 10) + ~~(digit / 10);\r\n\r\n multiplier = (multiplier * 2) % 3;\r\n }\r\n\r\n return checksum % 10 === 0;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RangeError {\r\n range: {\r\n max: number;\r\n min: number;\r\n };\r\n}\r\n\r\nexport interface RangeOptions {\r\n maximum?: number;\r\n minimum?: number;\r\n}\r\n\r\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): RangeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = Number(control.value);\r\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\r\n };\r\n}\r\n\r\nfunction getMaxError(value: number, max: number, min: number): RangeError | null {\r\n return value > max ? { range: { max, min } } : null;\r\n}\r\n\r\nfunction getMinError(value: number, min: number, max: number): RangeError | null {\r\n return value < min ? { range: { min, max } } : null;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RequiredError {\r\n required: true;\r\n}\r\n\r\nexport interface RequiredOptions {\r\n allowEmptyStrings?: boolean;\r\n}\r\n\r\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\r\n // note: please do not remove name of the function, it is used in function compare with type 'RequiredError'\r\n const required = (control: AbstractControl): RequiredError | null => {\r\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\r\n };\r\n return required;\r\n}\r\n\r\nfunction isValidRequired(value: any, allowEmptyStrings: boolean | undefined): boolean {\r\n if (value || value === 0 || value === false) return true;\r\n\r\n if (allowEmptyStrings && value === '') return true;\r\n\r\n return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface StringLengthError {\r\n maxlength?: {\r\n requiredLength: number;\r\n };\r\n minlength?: {\r\n requiredLength: number;\r\n };\r\n}\r\n\r\nexport interface StringLengthOptions {\r\n maximumLength?: number;\r\n minimumLength?: number;\r\n}\r\n\r\nexport function validateStringLength({\r\n maximumLength = Infinity,\r\n minimumLength = 0,\r\n}: StringLengthOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): StringLengthError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = String(control.value);\r\n\r\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\r\n };\r\n}\r\n\r\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError | null {\r\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\r\n}\r\n\r\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError | null {\r\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UniqueCharacterError {\r\n uniqueCharacter: true;\r\n}\r\n\r\nexport function validateUniqueCharacter(): ValidatorFn {\r\n return (control: AbstractControl): UniqueCharacterError | null => {\r\n if (isNullOrEmpty(control.value)) return null;\r\n\r\n return isUnqiueCharacter(control.value) ? null : { uniqueCharacter: true };\r\n };\r\n}\r\n\r\nfunction isUnqiueCharacter(value: string): boolean {\r\n const set = new Set<string>(value.split(''));\r\n\r\n return set.size == value.length;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UrlError {\r\n url: true;\r\n}\r\n\r\nexport function validateUrl(): ValidatorFn {\r\n return (control: AbstractControl): UrlError | null => {\r\n if (isNullOrEmpty(control.value)) return null;\r\n\r\n return isValidUrl(control.value) ? null : { url: true };\r\n };\r\n}\r\n\r\nfunction isValidUrl(value: string): boolean {\r\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\r\n const a = document.createElement('a');\r\n a.href = value;\r\n return !!a.host;\r\n }\r\n\r\n return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UsernamePatternError {\r\n usernamePattern: {\r\n actualValue: string;\r\n };\r\n}\r\n\r\nexport interface UsernameOptions {\r\n pattern?: RegExp;\r\n}\r\n\r\nconst onlyLetterAndNumberRegex = /^[a-zA-Z0-9]+$/;\r\n\r\nexport function validateUsername(\r\n { pattern = /.*/ }: UsernameOptions = { pattern: onlyLetterAndNumberRegex },\r\n): ValidatorFn {\r\n return (control: AbstractControl): UsernamePatternError | null => {\r\n const isValid = isValidUserName(control.value, pattern);\r\n return isValid ? null : { usernamePattern: { actualValue: control.value } };\r\n };\r\n}\r\n\r\nfunction isValidUserName(value: any, pattern: RegExp): boolean {\r\n if (isNullOrEmpty(value)) return true;\r\n\r\n return pattern.test(value);\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { validateMinAge } from './age.validator';\r\nimport { validateCreditCard } from './credit-card.validator';\r\nimport { validateRange } from './range.validator';\r\nimport { validateRequired } from './required.validator';\r\nimport { validateStringLength } from './string-length.validator';\r\nimport { validateUniqueCharacter } from './unique-character.validator';\r\nimport { validateUrl } from './url.validator';\r\nimport { validateUsername } from './username.validator';\r\nexport { validateUniqueCharacter } from './unique-character.validator';\r\n\r\nexport * from './age.validator';\r\nexport * from './credit-card.validator';\r\nexport * from './range.validator';\r\nexport * from './required.validator';\r\nexport * from './string-length.validator';\r\nexport * from './url.validator';\r\nexport * from './unique-character.validator';\r\nexport const AbpValidators = {\r\n creditCard: validateCreditCard,\r\n emailAddress: () => Validators.email,\r\n minAge: validateMinAge,\r\n range: validateRange,\r\n required: validateRequired,\r\n stringLength: validateStringLength,\r\n url: validateUrl,\r\n username: validateUsername,\r\n uniqueCharacter: validateUniqueCharacter,\r\n};\r\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { HttpWaitService } from '../services';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiInterceptor implements IApiInterceptor {\r\n constructor(private httpWaitService: HttpWaitService) {}\r\n\r\n getAdditionalHeaders(existingHeaders?: HttpHeaders) {\r\n return existingHeaders || new HttpHeaders();\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler) {\r\n this.httpWaitService.addRequest(request);\r\n return next.handle(request).pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\r\n }\r\n}\r\n\r\nexport interface IApiInterceptor extends HttpInterceptor {\r\n getAdditionalHeaders(existingHeaders?: HttpHeaders): HttpHeaders;\r\n}\r\n","// export * from './lib/handlers';\r\nexport * from './lib/abstracts';\r\nexport * from './lib/components';\r\nexport * from './lib/constants';\r\nexport * from './lib/core.module';\r\nexport * from './lib/directives';\r\nexport * from './lib/enums';\r\nexport * from './lib/guards';\r\nexport * from './lib/localization.module';\r\nexport * from './lib/models';\r\nexport * from './lib/pipes';\r\nexport * from './lib/providers';\r\nexport * from './lib/proxy/pages/abp/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/http/modeling';\r\nexport * from './lib/proxy/volo/abp/localization';\r\nexport * from './lib/proxy/volo/abp/models';\r\nexport * from './lib/services';\r\nexport * from './lib/strategies';\r\nexport * from './lib/tokens';\r\nexport * from './lib/utils';\r\nexport * from './lib/validators';\r\nexport * from './lib/interceptors';\r\nexport * from './lib/clients';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ConfigStateService","i2.AbpLocalStorageService","i1.RestService","i2.ExternalHttpClient","i3.EnvironmentService","i4.HttpErrorReporterService","i1.ResourceWaitService","i1","i1.RouterEvents","map","i1.SessionStateService","i2.ConfigStateService","i2.ReplaceableComponentsService","i3.SubscriptionService","i4","i1.SubscriptionService","i2.SubscriptionService","i1.ReplaceableComponentsService","i1.LocalizationService","i1.RoutesService","i2","i1.HttpWaitService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.core.mjs","sources":["../../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../../packages/core/src/lib/abstracts/auth.guard.ts","../../../../packages/core/src/lib/abstracts/auth.service.ts","../../../../packages/core/src/lib/abstracts/auth-error-filter.ts","../../../../packages/core/src/lib/tokens/localization.token.ts","../../../../packages/core/src/lib/tokens/options.token.ts","../../../../packages/core/src/lib/utils/localization-utils.ts","../../../../packages/core/src/lib/utils/string-utils.ts","../../../../packages/core/src/lib/services/content-projection.service.ts","../../../../packages/core/src/lib/utils/array-utils.ts","../../../../packages/core/src/lib/utils/common-utils.ts","../../../../packages/core/src/lib/utils/date-utils.ts","../../../../packages/core/src/lib/utils/object-utils.ts","../../../../packages/core/src/lib/utils/internal-store-utils.ts","../../../../packages/core/src/lib/services/environment.service.ts","../../../../packages/core/src/lib/services/http-error-reporter.service.ts","../../../../packages/core/src/lib/utils/environment-utils.ts","../../../../packages/core/src/lib/utils/factory-utils.ts","../../../../packages/core/src/lib/utils/file-utils.ts","../../../../packages/core/src/lib/utils/number-utils.ts","../../../../packages/core/src/lib/utils/form-utils.ts","../../../../packages/core/src/lib/utils/generator-utils.ts","../../../../packages/core/src/lib/utils/http-utils.ts","../../../../packages/core/src/lib/services/local-storage.service.ts","../../../../packages/core/src/lib/services/session-state.service.ts","../../../../packages/core/src/lib/tokens/app-config.token.ts","../../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../../packages/core/src/lib/tokens/http-context.token.ts","../../../../packages/core/src/lib/clients/http.client.ts","../../../../packages/core/src/lib/services/rest.service.ts","../../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../../packages/core/src/lib/tokens/tenant-not-found-by-name.ts","../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../../packages/core/src/lib/tokens/check-authentication-state.ts","../../../../packages/core/src/lib/utils/initial-utils.ts","../../../../packages/core/src/lib/strategies/cross-origin.strategy.ts","../../../../packages/core/src/lib/strategies/dom.strategy.ts","../../../../packages/core/src/lib/utils/lazy-load-utils.ts","../../../../packages/core/src/lib/utils/queue.ts","../../../../packages/core/src/lib/utils/route-utils.ts","../../../../packages/core/src/lib/utils/tree-utils.ts","../../../../packages/core/src/lib/services/dom-insertion.service.ts","../../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../../packages/core/src/lib/services/http-wait.service.ts","../../../../packages/core/src/lib/services/resource-wait.service.ts","../../../../packages/core/src/lib/services/lazy-load.service.ts","../../../../packages/core/src/lib/tokens/list.token.ts","../../../../packages/core/src/lib/services/list.service.ts","../../../../packages/core/src/lib/services/permission.service.ts","../../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../../packages/core/src/lib/services/router-events.service.ts","../../../../packages/core/src/lib/services/router-wait.service.ts","../../../../packages/core/src/lib/tokens/cookie-language-key.token.ts","../../../../packages/core/src/lib/tokens/manage-profile.token.ts","../../../../packages/core/src/lib/tokens/queue.token.ts","../../../../packages/core/src/lib/tokens/include-localization-resources.token.ts","../../../../packages/core/src/lib/tokens/pipe-to-login.token.ts","../../../../packages/core/src/lib/tokens/set-token-response-to-storage.token.ts","../../../../packages/core/src/lib/tokens/others-group.token.ts","../../../../packages/core/src/lib/tokens/compare-func.token.ts","../../../../packages/core/src/lib/tokens/dynamic-layout.token.ts","../../../../packages/core/src/lib/tokens/title-strategy-disable-project-name.token.ts","../../../../packages/core/src/lib/services/routes.service.ts","../../../../packages/core/src/lib/services/subscription.service.ts","../../../../packages/core/src/lib/services/track-by.service.ts","../../../../packages/core/src/lib/services/window.service.ts","../../../../packages/core/src/lib/services/internet-connection-service.ts","../../../../packages/core/src/lib/services/local-storage-listener.service.ts","../../../../packages/core/src/lib/services/title-strategy.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.ts","../../../../packages/core/src/lib/services/config-state.service.ts","../../../../packages/core/src/lib/services/localization.service.ts","../../../../packages/core/src/lib/components/dynamic-layout.component.ts","../../../../packages/core/src/lib/components/replaceable-route-container.component.ts","../../../../packages/core/src/lib/components/router-outlet.component.ts","../../../../packages/core/src/lib/constants/different-locales.ts","../../../../packages/core/src/lib/constants/default-layouts.ts","../../../../packages/core/src/lib/directives/autofocus.directive.ts","../../../../packages/core/src/lib/directives/debounce.directive.ts","../../../../packages/core/src/lib/directives/for.directive.ts","../../../../packages/core/src/lib/directives/form-submit.directive.ts","../../../../packages/core/src/lib/directives/init.directive.ts","../../../../packages/core/src/lib/directives/permission.directive.ts","../../../../packages/core/src/lib/directives/replaceable-template.directive.ts","../../../../packages/core/src/lib/directives/stop-propagation.directive.ts","../../../../packages/core/src/lib/pipes/localization.pipe.ts","../../../../packages/core/src/lib/localization.module.ts","../../../../packages/core/src/lib/pipes/sort.pipe.ts","../../../../packages/core/src/lib/pipes/to-injector.pipe.ts","../../../../packages/core/src/lib/utils/date-extensions.ts","../../../../packages/core/src/lib/pipes/short-date-time.pipe.ts","../../../../packages/core/src/lib/pipes/short-time.pipe.ts","../../../../packages/core/src/lib/pipes/short-date.pipe.ts","../../../../packages/core/src/lib/pipes/safe-html.pipe.ts","../../../../packages/core/src/lib/providers/cookie-language.provider.ts","../../../../packages/core/src/lib/providers/locale.provider.ts","../../../../packages/core/src/lib/providers/include-localization-resources.provider.ts","../../../../packages/core/src/lib/handlers/routes.handler.ts","../../../../packages/core/src/lib/providers/core-module-config.provider.ts","../../../../packages/core/src/lib/core.module.ts","../../../../packages/core/src/lib/directives/show-password.directive.ts","../../../../packages/core/src/lib/directives/caps-lock.directive.ts","../../../../packages/core/src/lib/guards/permission.guard.ts","../../../../packages/core/src/lib/models/dtos.ts","../../../../packages/core/src/lib/models/auth-events.ts","../../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../../packages/core/src/lib/strategies/container.strategy.ts","../../../../packages/core/src/lib/strategies/content-security.strategy.ts","../../../../packages/core/src/lib/strategies/content.strategy.ts","../../../../packages/core/src/lib/strategies/context.strategy.ts","../../../../packages/core/src/lib/strategies/loading.strategy.ts","../../../../packages/core/src/lib/strategies/projection.strategy.ts","../../../../packages/core/src/lib/validators/age.validator.ts","../../../../packages/core/src/lib/validators/credit-card.validator.ts","../../../../packages/core/src/lib/validators/range.validator.ts","../../../../packages/core/src/lib/validators/required.validator.ts","../../../../packages/core/src/lib/validators/string-length.validator.ts","../../../../packages/core/src/lib/validators/unique-character.validator.ts","../../../../packages/core/src/lib/validators/url.validator.ts","../../../../packages/core/src/lib/validators/username.validator.ts","../../../../packages/core/src/lib/validators/index.ts","../../../../packages/core/src/lib/interceptors/api.interceptor.ts","../../../../packages/core/src/public-api.ts","../../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, inject, Input } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\n\r\n// Not an abstract class on purpose. Do not change!\r\n@Component({\r\n standalone: false,\r\n template: '',\r\n})\r\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\r\n protected _value!: T;\r\n protected cdRef = inject(ChangeDetectorRef);\r\n onChange?: (value: T) => void;\r\n onTouched?: () => void;\r\n\r\n @Input()\r\n disabled?: boolean;\r\n\r\n @Input()\r\n readonly?: boolean;\r\n\r\n @Input()\r\n valueFn: (value: U, previousValue?: T) => T = value => value as any as T;\r\n\r\n @Input()\r\n valueLimitFn: (value: T, previousValue?: T) => any = value => false;\r\n\r\n @Input()\r\n set value(value: T) {\r\n value = this.valueFn(value as any as U, this._value);\r\n\r\n if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\r\n\r\n this._value = value;\r\n this.notifyValueChange();\r\n }\r\n\r\n get value(): T {\r\n return this._value || this.defaultValue;\r\n }\r\n\r\n get defaultValue(): T {\r\n return this._value;\r\n }\r\n\r\n notifyValueChange(): void {\r\n if (this.onChange) {\r\n this.onChange(this.value);\r\n }\r\n }\r\n\r\n writeValue(value: T): void {\r\n this._value = this.valueLimitFn(value, this._value) || value;\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IAbpGuard } from './abstract-guard';\r\nimport { CanActivateFn } from '@angular/router';\r\n\r\n/**\r\n * @deprecated Use `authGuard` *function* instead.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements IAbpGuard {\r\n canActivate(): Observable<boolean> | boolean | UrlTree {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n return false;\r\n }\r\n}\r\n\r\nexport const authGuard: CanActivateFn = () => {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n return false;\r\n};\r\n","import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { LoginParams } from '../models/auth';\r\nimport { AbpAuthResponse } from './auth-response.model';\r\n\r\n/**\r\n * Abstract service for Authentication.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService implements IAuthService {\r\n private warningMessage() {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n }\r\n\r\n get oidc(): boolean {\r\n this.warningMessage();\r\n return false;\r\n }\r\n\r\n set oidc(value: boolean) {\r\n this.warningMessage();\r\n }\r\n\r\n init(): Promise<any> {\r\n this.warningMessage();\r\n return Promise.resolve(undefined);\r\n }\r\n\r\n login(params: LoginParams): Observable<any> {\r\n this.warningMessage();\r\n return of(undefined);\r\n }\r\n\r\n logout(queryParams?: Params): Observable<any> {\r\n this.warningMessage();\r\n return of(undefined);\r\n }\r\n\r\n navigateToLogin(queryParams?: Params): void { }\r\n\r\n get isInternalAuth(): boolean {\r\n throw new Error('not implemented');\r\n }\r\n\r\n get isAuthenticated(): boolean {\r\n this.warningMessage();\r\n return false;\r\n }\r\n\r\n loginUsingGrant(\r\n grantType: string,\r\n parameters: object,\r\n headers?: HttpHeaders,\r\n ): Promise<AbpAuthResponse> {\r\n console.log({ grantType, parameters, headers });\r\n return Promise.reject(new Error('not implemented'));\r\n }\r\n\r\n getAccessTokenExpiration(): number {\r\n this.warningMessage();\r\n return 0;\r\n }\r\n\r\n getRefreshToken(): string {\r\n this.warningMessage();\r\n return '';\r\n }\r\n\r\n getAccessToken(): string {\r\n this.warningMessage();\r\n return '';\r\n }\r\n\r\n refreshToken(): Promise<AbpAuthResponse> {\r\n this.warningMessage();\r\n return Promise.resolve(undefined);\r\n }\r\n}\r\n\r\nexport interface IAuthService {\r\n oidc: boolean;\r\n\r\n get isInternalAuth(): boolean;\r\n\r\n get isAuthenticated(): boolean;\r\n\r\n init(): Promise<any>;\r\n\r\n logout(queryParams?: Params): Observable<any>;\r\n\r\n navigateToLogin(queryParams?: Params): void;\r\n\r\n login(params: LoginParams): Observable<any>;\r\n\r\n loginUsingGrant(\r\n grantType: string,\r\n parameters: object,\r\n headers?: HttpHeaders,\r\n ): Promise<AbpAuthResponse>;\r\n\r\n getAccessTokenExpiration(): number;\r\n\r\n getRefreshToken(): string;\r\n\r\n getAccessToken(): string;\r\n\r\n refreshToken(): Promise<AbpAuthResponse>;\r\n}\r\n","import { AuthErrorEvent, AuthErrorFilter } from '../models';\r\n\r\nexport abstract class AbstractAuthErrorFilter<T, E> {\r\n abstract get(id: string): T;\r\n abstract add(filter: T): void;\r\n abstract patch(item: Partial<T>): void;\r\n abstract remove(id: string): void;\r\n abstract run(event: E): boolean;\r\n}\r\n\r\nexport class AuthErrorFilterService<\r\n T = AuthErrorFilter,\r\n E = AuthErrorEvent,\r\n> extends AbstractAuthErrorFilter<T, E> {\r\n private warningMessage() {\r\n console.error('You should add @abp/ng-oauth packages or create your own auth packages.');\r\n }\r\n\r\n get(id: string): T {\r\n this.warningMessage();\r\n throw new Error('not implemented');\r\n }\r\n\r\n add(filter: T): void {\r\n this.warningMessage();\r\n }\r\n\r\n patch(item: Partial<T>): void {\r\n this.warningMessage();\r\n }\r\n\r\n remove(id: string): void {\r\n this.warningMessage();\r\n }\r\n\r\n run(event: E): boolean {\r\n this.warningMessage();\r\n throw new Error('not implemented');\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const LOCALIZATIONS = new InjectionToken('LOCALIZATIONS');\r\n\r\nexport function localizationContributor(localizations?: ABP.Localization[]) {\r\n if (localizations) {\r\n localizations$.next([...localizations$.value, ...localizations]);\r\n }\r\n}\r\n\r\nexport const localizations$ = new BehaviorSubject<ABP.Localization[]>([]);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ABP } from '../models/common';\r\n\r\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\r\n\r\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\r\n return {\r\n ...options,\r\n } as ABP.Root;\r\n}\r\n","import { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\n\r\n// This will not be necessary when only Angukar 9.1+ is supported\r\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\r\n return /^(ar(-[A-Z]{2})?|ckb(-IR)?|fa(-AF)?|he|ks|lrc(-IQ)?|mzn|pa-Arab|ps(-PK)?|sd|ug|ur(-IN)?|uz-Arab|yi)$/.test(\r\n locale,\r\n )\r\n ? 'rtl'\r\n : 'ltr';\r\n}\r\n\r\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\r\n return (resourceName: string, key: string, defaultValue: string | null) => {\r\n if (resourceName === '_') return key;\r\n\r\n const resource = localization?.values?.[resourceName];\r\n\r\n if (!resource) return defaultValue;\r\n\r\n return resource[key] || defaultValue;\r\n };\r\n}\r\n\r\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\r\n const findLocalization = createLocalizationFinder(localization);\r\n\r\n return (resourceNames: string[], keys: string[], defaultValue: string) => {\r\n const { localized } = findLocalization(resourceNames, keys);\r\n return localized || defaultValue;\r\n };\r\n}\r\n\r\nexport function createLocalizationPipeKeyGenerator(\r\n localization: ApplicationLocalizationConfigurationDto,\r\n) {\r\n const findLocalization = createLocalizationFinder(localization);\r\n\r\n return (resourceNames: string[], keys: string[], defaultKey: string | undefined) => {\r\n const { resourceName, key } = findLocalization(resourceNames, keys);\r\n return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\r\n };\r\n}\r\n\r\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\r\n const localize = createLocalizer(localization);\r\n\r\n return (resourceNames: string[], keys: string[]) => {\r\n resourceNames = resourceNames.concat(localization.defaultResourceName || '').filter(Boolean);\r\n\r\n const resourceCount = resourceNames.length;\r\n const keyCount = keys.length;\r\n\r\n for (let i = 0; i < resourceCount; i++) {\r\n const resourceName = resourceNames[i];\r\n\r\n for (let j = 0; j < keyCount; j++) {\r\n const key = keys[j];\r\n const localized = localize(resourceName, key, null);\r\n if (localized) return { resourceName, key, localized };\r\n }\r\n }\r\n\r\n return { resourceName: undefined, key: undefined, localized: undefined };\r\n };\r\n}\r\n","export function createTokenParser(format: string) {\r\n return (str: string) => {\r\n const tokens: string[] = [];\r\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\r\n tokens.push(token);\r\n return '(.+)';\r\n });\r\n\r\n const matches = (str.match(regex) || []).slice(1);\r\n\r\n return matches.reduce((acc, v, i) => {\r\n const key = tokens[i];\r\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\r\n return acc;\r\n }, {} as Record<string, string[]>);\r\n };\r\n}\r\n\r\nexport function interpolate(text: string, params: string[]) {\r\n return text\r\n .replace(/(['\"])?\\{\\s*(\\d+)\\s*\\}\\1/g, (_, quote, digit) => \r\n (quote ? quote : '') + (params[digit] ?? `{${digit}}`) + (quote ? quote : '')\r\n )\r\n .replace(/\\s+/g, ' ');\r\n}\r\n\r\nexport function escapeHtmlChars(value: any) {\r\n return value && typeof value === 'string'\r\n ? value\r\n .replace(/&/g, '&')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>')\r\n .replace(/\"/g, '"')\r\n : value;\r\n}\r\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\r\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ContentProjectionService {\r\n constructor(private injector: Injector) {}\r\n\r\n projectContent<T extends Type<any> | TemplateRef<any>>(\r\n projectionStrategy: ProjectionStrategy<T>,\r\n injector = this.injector,\r\n ) {\r\n return projectionStrategy.injectContent(injector);\r\n }\r\n}\r\n","export function pushValueTo<T>(array: T[]) {\r\n return (element: T) => {\r\n array.push(element);\r\n return array;\r\n };\r\n}\r\n","export function noop() {\r\n const fn = function () {};\r\n return fn;\r\n}\r\n\r\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\r\n return value === undefined || value === '';\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isNullOrEmpty<T>(obj: T): boolean {\r\n return obj === null || obj === undefined || obj === '';\r\n}\r\n\r\nexport function exists<T>(obj: T): obj is T {\r\n return !isNullOrUndefined(obj);\r\n}\r\n\r\nexport function isObject<T>(obj: T): boolean {\r\n return obj instanceof Object;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n return Array.isArray(obj);\r\n}\r\n\r\nexport function isObjectAndNotArray<T>(obj: T): boolean {\r\n return isObject(obj) && !isArray(obj);\r\n}\r\n\r\nexport function isNode<T>(obj: T): boolean {\r\n return obj instanceof Node;\r\n}\r\n\r\nexport function isObjectAndNotArrayNotNode<T>(obj: T): boolean {\r\n return isObjectAndNotArray(obj) && !isNode(obj);\r\n}\r\n\r\nexport function checkHasProp<T>(object: T, key: string | keyof T): key is keyof T {\r\n return Object.prototype.hasOwnProperty.call(object, key);\r\n}\r\n","import { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function getShortDateFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return dateTimeFormat.shortDatePattern;\r\n}\r\n\r\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n return dateTimeFormat?.shortTimePattern?.replace('tt', 'a');\r\n}\r\n\r\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\r\n const dateTimeFormat = configStateService.getDeep(\r\n 'localization.currentCulture.dateTimeFormat',\r\n ) as DateTimeFormatDto;\r\n\r\n return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat?.shortTimePattern?.replace('tt', 'a')}`;\r\n}\r\n","import {\r\n exists,\r\n isArray,\r\n isNode,\r\n isNullOrUndefined,\r\n isObject,\r\n isObjectAndNotArrayNotNode,\r\n} from './common-utils';\r\nimport { DeepPartial } from '../models';\r\n\r\nexport function deepMerge<T>(\r\n target: DeepPartial<T> | T,\r\n source: DeepPartial<T> | T,\r\n): DeepPartial<T> | T {\r\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\r\n return deepMergeRecursively(target, source);\r\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\r\n return {} as T;\r\n } else {\r\n return exists(source) ? (source as T) : target;\r\n }\r\n}\r\n\r\nfunction deepMergeRecursively<T>(\r\n target: DeepPartial<T> | T,\r\n source: DeepPartial<T> | T,\r\n): DeepPartial<T> | T {\r\n const shouldNotRecurse =\r\n isNullOrUndefined(target) ||\r\n isNullOrUndefined(source) || // at least one not defined\r\n isArray(target) ||\r\n isArray(source) || // at least one array\r\n !isObject(target) ||\r\n !isObject(source) || // at least one not an object\r\n isNode(target) ||\r\n isNode(source); // at least one node\r\n\r\n /**\r\n * if we will not recurse any further,\r\n * we will prioritize source if it is a defined value.\r\n */\r\n if (shouldNotRecurse) {\r\n return exists(source) ? (source as T) : target;\r\n }\r\n\r\n const keysOfTarget = Object.keys(target as { [key: string]: any });\r\n const keysOfSource = Object.keys(source as { [key: string]: any });\r\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\r\n return [...uniqueKeys].reduce((retVal, key) => {\r\n (retVal as any)[key] = deepMergeRecursively(\r\n (target as { [key: string]: any })[key],\r\n (source as { [key: string]: any })[key],\r\n );\r\n return retVal;\r\n }, {} as T);\r\n}\r\n","import compare from 'just-compare';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DeepPartial } from '../models';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport class InternalStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<DeepPartial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn: (s1: Slice, s2: Slice) => boolean = compare,\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: DeepPartial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined,\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState as DeepPartial<State>);\r\n }\r\n\r\n deepPatch(state: DeepPartial<State>) {\r\n // TODO: Strict improve deepMerge\r\n this.state$.next(deepMerge(this.state, state) as State);\r\n this.update$.next(state);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state as DeepPartial<State>);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Apis, Environment } from '../models/environment';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nconst mapToApiUrl = (key: string | undefined) => (apis: Apis) =>\r\n ((key && apis[key]) || apis.default).url || apis.default.url;\r\n\r\nconst mapToIssuer = (issuer: string | undefined) => {\r\n if (!issuer) {\r\n return issuer;\r\n }\r\n return issuer.endsWith('/') ? issuer : issuer + '/';\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnvironmentService {\r\n private readonly store = new InternalStore({} as Environment);\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n\r\n getEnvironment$(): Observable<Environment> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n getEnvironment(): Environment {\r\n return this.store.state;\r\n }\r\n\r\n getApiUrl(key: string | undefined) {\r\n return mapToApiUrl(key)(this.store.state?.apis);\r\n }\r\n\r\n getApiUrl$(key: string) {\r\n return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\r\n }\r\n\r\n setState(environment: Environment) {\r\n this.store.set(environment);\r\n }\r\n\r\n getIssuer() {\r\n const issuer = this.store.state?.oAuthConfig?.issuer;\r\n\r\n return mapToIssuer(issuer);\r\n }\r\n\r\n getIssuer$() {\r\n return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));\r\n }\r\n\r\n getImpersonation() {\r\n return this.store.state?.oAuthConfig?.impersonation || {};\r\n }\r\n\r\n getImpersonation$() {\r\n return this.store.sliceState(state => state?.oAuthConfig?.impersonation || {});\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpErrorReporterService {\r\n private _reporter$ = new Subject<HttpErrorResponse>();\r\n private _errors$ = new BehaviorSubject<HttpErrorResponse[]>([]);\r\n\r\n get reporter$() {\r\n return this._reporter$.asObservable();\r\n }\r\n\r\n get errors$() {\r\n return this._errors$.asObservable();\r\n }\r\n\r\n get errors() {\r\n return this._errors$.value;\r\n }\r\n\r\n reportError(error: HttpErrorResponse) {\r\n this._reporter$.next(error);\r\n this._errors$.next([...this.errors, error]);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injector } from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { Environment, RemoteEnv } from '../models/environment';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { HttpErrorReporterService } from '../services/http-error-reporter.service';\r\nimport { deepMerge } from './object-utils';\r\n\r\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const { remoteEnv } = environment;\r\n const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\r\n if (!url) return Promise.resolve();\r\n\r\n const http = injector.get(HttpClient);\r\n const httpErrorReporter = injector.get(HttpErrorReporterService);\r\n\r\n return http\r\n .request<Environment>(method, url, { headers })\r\n .pipe(\r\n catchError(err => {\r\n httpErrorReporter.reportError(err);\r\n return of(null);\r\n }), // TODO: Consider get handle function from a provider\r\n tap(env =>\r\n environmentService.setState(\r\n mergeEnvironments(environment, env || ({} as Environment), remoteEnv as RemoteEnv),\r\n ),\r\n ),\r\n )\r\n .toPromise();\r\n}\r\n\r\nfunction mergeEnvironments(\r\n local: Partial<Environment>,\r\n remote: Environment,\r\n config: RemoteEnv,\r\n): Environment {\r\n switch (config.mergeStrategy) {\r\n case 'deepmerge':\r\n return deepMerge(local, remote) as Environment;\r\n case 'overwrite':\r\n case null:\r\n case undefined:\r\n return remote;\r\n default:\r\n return config.mergeStrategy(local, remote);\r\n }\r\n}\r\n","import {\r\n Compiler,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModuleFactory,\r\n NgModuleRef,\r\n StaticProvider,\r\n Type,\r\n} from '@angular/core';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\n\r\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\r\n get moduleType(): Type<T> {\r\n return this.moduleWithProviders.ngModule;\r\n }\r\n\r\n constructor(private moduleWithProviders: ModuleWithProviders<T>) {\r\n super();\r\n }\r\n\r\n create(parentInjector: Injector | null): NgModuleRef<T> {\r\n const injector = Injector.create({\r\n ...(parentInjector && { parent: parentInjector }),\r\n providers: this.moduleWithProviders.providers as StaticProvider[],\r\n });\r\n\r\n const compiler = injector.get(Compiler);\r\n const factory = compiler.compileModuleSync(this.moduleType);\r\n\r\n return factory.create(injector);\r\n }\r\n}\r\n\r\nexport function featuresFactory(\r\n configState: ConfigStateService,\r\n featureKeys: string[],\r\n mapFn: (features: { [key: string]: string }) => any = features => features,\r\n) {\r\n return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\r\n}\r\n","/** @deprecated the method will change in v8.0 */ \r\nexport function downloadBlob(blob: Blob, filename: string) {\r\n const blobUrl = URL.createObjectURL(blob);\r\n\r\n const link = document.createElement('a');\r\n\r\n link.href = blobUrl;\r\n link.download = filename;\r\n\r\n document.body.appendChild(link);\r\n\r\n link.dispatchEvent(\r\n new MouseEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: window,\r\n }),\r\n );\r\n\r\n document.body.removeChild(link);\r\n}\r\n","export function isNumber(value: string | number): boolean {\r\n return value == Number(value);\r\n}\r\n","import { ABP } from '../models/common';\r\nimport { isNumber } from './number-utils';\r\n\r\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\r\n const options: ABP.Option<T>[] = [];\r\n\r\n for (const member in _enum)\r\n if (!isNumber(member))\r\n options.push({\r\n key: member,\r\n value: _enum[member],\r\n });\r\n\r\n return options;\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { ABP } from '../models';\r\nimport { ConfigStateService } from '../services';\r\n\r\nexport function uuid(a?: any): string {\r\n return a\r\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\r\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\r\n}\r\n\r\nexport function generateHash(value: string): number {\r\n let hashed = 0;\r\n let charCode: number;\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n charCode = value.charCodeAt(i);\r\n hashed = (hashed << 5) - hashed + charCode;\r\n hashed |= 0;\r\n }\r\n return hashed;\r\n}\r\n\r\nexport function generatePassword(injector?: Injector, length = 8) {\r\n if (injector) {\r\n length = getRequiredPasswordLength(injector);\r\n }\r\n\r\n length = Math.min(Math.max(4, length), 128);\r\n\r\n const lowers = 'abcdefghjkmnpqrstuvwxyz';\r\n const uppers = 'ABCDEFGHJKMNPQRSTUVWXYZ';\r\n const numbers = '23456789';\r\n const specials = '!*_#/+-.';\r\n const all = lowers + uppers + numbers + specials;\r\n\r\n const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\r\n\r\n const password = Array({ length });\r\n password[0] = getRandom(lowers);\r\n password[1] = getRandom(uppers);\r\n password[2] = getRandom(numbers);\r\n password[3] = getRandom(specials);\r\n\r\n for (let i = 4; i < length; i++) {\r\n password[i] = getRandom(all);\r\n }\r\n\r\n return password.sort(() => 0.5 - Math.random()).join('');\r\n}\r\n\r\nfunction getRequiredPasswordLength(injector: Injector) {\r\n const configState = injector.get(ConfigStateService);\r\n const passwordRules: ABP.Dictionary<string> = configState.getSettings('Identity.Password');\r\n return Number(passwordRules['Abp.Identity.Password.RequiredLength']) || 8;\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport function getPathName(url: string): string {\r\n const { pathname } = new URL(url, window.location.origin);\r\n return pathname;\r\n}\r\n\r\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n\r\n decodeValue(v: string) {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpLocalStorageService implements Storage {\r\n constructor() {}\r\n [name: string]: any;\r\n get length(): number {\r\n return localStorage.length;\r\n }\r\n\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n getItem(key: string): string {\r\n return localStorage.getItem(key);\r\n }\r\n key(index: number): string {\r\n return localStorage.key(index);\r\n }\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport compare from 'just-compare';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { Session } from '../models/session';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { AbpLocalStorageService } from './local-storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SessionStateService {\r\n private readonly store = new InternalStore({} as Session.State);\r\n protected readonly document = inject(DOCUMENT);\r\n\r\n private updateLocalStorage = () => {\r\n this.localStorageService.setItem('abpSession', JSON.stringify(this.store.state));\r\n };\r\n\r\n constructor(\r\n private configState: ConfigStateService,\r\n private localStorageService: AbpLocalStorageService,\r\n ) {\r\n this.init();\r\n this.setInitialLanguage();\r\n }\r\n\r\n private init() {\r\n const session = this.localStorageService.getItem('abpSession');\r\n if (session) {\r\n this.store.set(JSON.parse(session));\r\n }\r\n\r\n this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\r\n }\r\n\r\n private setInitialLanguage() {\r\n const appLanguage = this.getLanguage();\r\n\r\n this.configState\r\n .getDeep$('localization.currentCulture.cultureName')\r\n .pipe(\r\n filter(cultureName => !!cultureName),\r\n take(1),\r\n )\r\n .subscribe(lang => {\r\n if (lang.includes(';')) {\r\n lang = lang.split(';')[0];\r\n }\r\n \r\n this.setLanguage(lang);\r\n });\r\n }\r\n\r\n onLanguageChange$() {\r\n return this.store.sliceUpdate(state => state.language);\r\n }\r\n\r\n onTenantChange$() {\r\n return this.store.sliceUpdate(state => state.tenant);\r\n }\r\n\r\n getLanguage() {\r\n return this.store.state.language;\r\n }\r\n\r\n getLanguage$() {\r\n return this.store.sliceState(state => state.language);\r\n }\r\n\r\n getTenant() {\r\n return this.store.state.tenant;\r\n }\r\n\r\n getTenant$() {\r\n return this.store.sliceState(state => state.tenant);\r\n }\r\n\r\n setTenant(tenant: CurrentTenantDto | null) {\r\n if (compare(tenant, this.store.state.tenant)) return;\r\n\r\n this.store.set({ ...this.store.state, tenant });\r\n }\r\n\r\n setLanguage(language: string) {\r\n const currentLanguage = this.store.state.language;\r\n\r\n if (language !== currentLanguage) {\r\n this.store.patch({ language });\r\n }\r\n\r\n const currentAttribute = this.document.documentElement.getAttribute('lang');\r\n if (language !== currentAttribute) {\r\n this.document.documentElement.setAttribute('lang', language);\r\n }\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport type AppInitErrorFn = (error: any) => void;\r\n\r\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\r\n 'APP_INIT_ERROR_HANDLERS',\r\n);\r\n","import { RestService } from '../../../../services';\r\nimport { Rest } from '../../../../models';\r\nimport { Injectable } from '@angular/core';\r\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpTenantService {\r\n apiName = 'abp';\r\n \r\n\r\n findTenantById = (id: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FindTenantResultDto>({\r\n method: 'GET',\r\n url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n findTenantByName = (name: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FindTenantResultDto>({\r\n method: 'GET',\r\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\r\n","import { HttpContextToken } from '@angular/common/http';\r\n\r\nexport const IS_EXTERNAL_REQUEST = new HttpContextToken<boolean>(() => false);\r\n","import { HttpClient, HttpContext, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { IS_EXTERNAL_REQUEST } from '../tokens/http-context.token';\r\n\r\n// source : https://github.com/armanozak/demo-angular-server-specific-interceptors\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExternalHttpClient extends HttpClient {\r\n override request(\r\n first: string | HttpRequest<any>,\r\n url?: string,\r\n options: RequestOptions = {},\r\n ): Observable<any> {\r\n if (typeof first === 'string') {\r\n this.#setPlaceholderContext(options);\r\n return super.request(first, url || '', options);\r\n }\r\n\r\n this.#setPlaceholderContext(first);\r\n return super.request(first);\r\n }\r\n #setPlaceholderContext(optionsOrRequest: { context?: HttpContext }) {\r\n optionsOrRequest.context ??= new HttpContext();\r\n optionsOrRequest.context.set(IS_EXTERNAL_REQUEST, true);\r\n }\r\n}\r\n\r\ntype RequestOptions = Parameters<HttpClient['request']>[2];\r\n","import { HttpClient, HttpParameterCodec, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ExternalHttpClient } from '../clients/http.client';\r\nimport { ABP } from '../models/common';\r\nimport { Rest } from '../models/rest';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { HttpErrorReporterService } from './http-error-reporter.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected externalHttp: ExternalHttpClient,\r\n protected environment: EnvironmentService,\r\n protected httpErrorReporter: HttpErrorReporterService,\r\n ) { }\r\n\r\n protected getApiFromStore(apiName: string | undefined): string {\r\n return this.environment.getApiUrl(apiName);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n this.httpErrorReporter.reportError(err);\r\n return throwError(() => err);\r\n }\r\n\r\n request<T, R>(\r\n request: HttpRequest<T> | Rest.Request<T>,\r\n config?: Rest.Config,\r\n api?: string,\r\n ): Observable<R> {\r\n config = config || ({} as Rest.Config);\r\n api = api || this.getApiFromStore(config.apiName);\r\n const { method, params, ...options } = request;\r\n const { observe = Rest.Observe.Body, skipHandleError } = config;\r\n const url = this.removeDuplicateSlashes(api + request.url);\r\n\r\n const httpClient: HttpClient = this.getHttpClient(config.skipAddingHeader);\r\n return httpClient\r\n .request<R>(method, url, {\r\n observe,\r\n ...(params && {\r\n params: this.getParams(params, config.httpParamEncoder),\r\n }),\r\n ...options,\r\n } as any)\r\n .pipe(catchError(err => (skipHandleError ? throwError(() => err) : this.handleError(err))));\r\n }\r\n private getHttpClient(isExternal: boolean) {\r\n return isExternal ? this.externalHttp : this.http;\r\n }\r\n\r\n private getParams(params: Rest.Params, encoder?: HttpParameterCodec): HttpParams {\r\n const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\r\n if (isUndefinedOrEmptyString(value)) return acc;\r\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\r\n acc[key] = value;\r\n return acc;\r\n }, {} as any);\r\n return encoder\r\n ? new HttpParams({ encoder, fromObject: filteredParams })\r\n : new HttpParams({ fromObject: filteredParams });\r\n }\r\n\r\n private removeDuplicateSlashes(url: string): string {\r\n return url.replace(/([^:]\\/)\\/+/g, '$1');\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\r\nimport {\r\n CurrentTenantDto,\r\n FindTenantResultDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { RestService } from './rest.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MultiTenancyService {\r\n domainTenant: CurrentTenantDto | null = null;\r\n\r\n isTenantBoxVisible = true;\r\n\r\n apiName = 'abp';\r\n\r\n private setTenantToState = (tenant: FindTenantResultDto) => {\r\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\r\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\r\n };\r\n\r\n constructor(\r\n private restService: RestService,\r\n private sessionState: SessionStateService,\r\n private tenantService: AbpTenantService,\r\n private configStateService: ConfigStateService,\r\n @Inject(TENANT_KEY) public tenantKey: string,\r\n ) { }\r\n\r\n setTenantByName(tenantName: string) {\r\n return this.tenantService\r\n .findTenantByName(tenantName)\r\n .pipe(switchMap(this.setTenantToState));\r\n }\r\n\r\n setTenantById(tenantId: string) {\r\n return this.tenantService\r\n .findTenantById(tenantId)\r\n .pipe(switchMap(this.setTenantToState));\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport const TENANT_NOT_FOUND_BY_NAME = new InjectionToken<\r\n (HttpErrorResponse: HttpErrorResponse) => void\r\n>('TENANT_NOT_FOUND_BY_NAME');\r\n","import { Injector } from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport { Environment } from '../models/environment';\r\n\r\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\r\nimport { createTokenParser } from './string-utils';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { TENANT_NOT_FOUND_BY_NAME } from '../tokens/tenant-not-found-by-name';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nconst tenancyPlaceholder = '{0}';\r\n\r\nfunction getCurrentTenancyName(appBaseUrl: string): string {\r\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\r\n\r\n const parseTokens = createTokenParser(appBaseUrl);\r\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\r\n return parseTokens(window.location.href)[token]?.[0];\r\n}\r\n\r\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n return urlParams.get(tenantKey);\r\n}\r\n\r\nexport async function parseTenantFromUrl(injector: Injector) {\r\n const environmentService = injector.get(EnvironmentService);\r\n const multiTenancyService = injector.get(MultiTenancyService);\r\n const tenantNotFoundHandler = injector.get(TENANT_NOT_FOUND_BY_NAME, null);\r\n\r\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\r\n const tenancyName = getCurrentTenancyName(baseUrl);\r\n\r\n const hideTenantBox = () => {\r\n multiTenancyService.isTenantBoxVisible = false;\r\n };\r\n\r\n const setDomainTenant = (tenant: FindTenantResultDto) => {\r\n multiTenancyService.domainTenant = {\r\n id: tenant.tenantId,\r\n name: tenant.name,\r\n isAvailable: true,\r\n };\r\n };\r\n\r\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\r\n hideTenantBox();\r\n setDomainTenant(tenant);\r\n };\r\n\r\n if (tenancyName) {\r\n /**\r\n * We have to replace tenant name within the urls from environment,\r\n * because the code below will make a http request to find information about the domain tenant.\r\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\r\n */\r\n replaceTenantNameWithinEnvironment(injector, tenancyName);\r\n\r\n const tenant$ = multiTenancyService.setTenantByName(tenancyName);\r\n try {\r\n const result = await firstValueFrom(tenant$);\r\n setEnvironmentWithDomainTenant(result);\r\n return Promise.resolve(result);\r\n } catch (httpError: HttpErrorResponse | any) {\r\n if (\r\n httpError instanceof HttpErrorResponse &&\r\n httpError.status === 404 &&\r\n tenantNotFoundHandler\r\n ) {\r\n tenantNotFoundHandler(httpError);\r\n }\r\n return Promise.reject();\r\n }\r\n }\r\n /**\r\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\r\n */\r\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\r\n\r\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\r\n if (tenantIdFromQueryParams) {\r\n const tenantById$ = multiTenancyService.setTenantById(tenantIdFromQueryParams);\r\n return firstValueFrom(tenantById$);\r\n }\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nfunction replaceTenantNameWithinEnvironment(\r\n injector: Injector,\r\n tenancyName: string,\r\n placeholder = tenancyPlaceholder,\r\n) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const environment = clone(environmentService.getEnvironment()) as Environment;\r\n\r\n if (environment.application.baseUrl) {\r\n environment.application.baseUrl = environment.application.baseUrl.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n if (environment.oAuthConfig?.redirectUri) {\r\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n if (!environment.oAuthConfig) {\r\n environment.oAuthConfig = {};\r\n }\r\n environment.oAuthConfig.issuer = (environment.oAuthConfig.issuer || '').replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n\r\n Object.keys(environment.apis).forEach(api => {\r\n Object.keys(environment.apis[api]).forEach(key => {\r\n environment.apis[api][key] = (environment.apis[api][key] || '').replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n });\r\n });\r\n\r\n return environmentService.setState(environment);\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { CheckAuthenticationStateFn } from '../models/auth';\r\n\r\nexport const CHECK_AUTHENTICATION_STATE_FN_KEY = new InjectionToken<CheckAuthenticationStateFn>(\r\n 'CHECK_AUTHENTICATION_STATE_FN_KEY',\r\n);\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { inject, Injector } from '@angular/core';\r\nimport { tap, catchError } from 'rxjs/operators';\r\nimport { lastValueFrom, throwError } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { Environment } from '../models/environment';\r\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { ConfigStateService } from '../services/config-state.service';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\r\nimport { getRemoteEnv } from './environment-utils';\r\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\r\nimport { AuthService } from '../abstracts';\r\nimport { CHECK_AUTHENTICATION_STATE_FN_KEY } from '../tokens/check-authentication-state';\r\nimport { noop } from './common-utils';\r\n\r\nexport async function getInitialData() {\r\n const injector = inject(Injector);\r\n const environmentService = injector.get(EnvironmentService);\r\n const configState = injector.get(ConfigStateService);\r\n const options = injector.get(CORE_OPTIONS) as ABP.Root;\r\n\r\n environmentService.setState(options.environment as Environment);\r\n await getRemoteEnv(injector, options.environment);\r\n await parseTenantFromUrl(injector);\r\n const authService = injector.get(AuthService, undefined, { optional: true });\r\n const checkAuthenticationState = injector.get(CHECK_AUTHENTICATION_STATE_FN_KEY, noop, {\r\n optional: true,\r\n });\r\n if (!options.skipInitAuthService && authService) {\r\n await authService.init();\r\n }\r\n if (options.skipGetAppConfiguration) return;\r\n\r\n const result$ = configState.refreshAppState().pipe(\r\n tap(() => checkAuthenticationState(injector)),\r\n tap(() => {\r\n const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\r\n injector.get(SessionStateService).setTenant(currentTenant);\r\n }),\r\n catchError(error => {\r\n const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\r\n if (appInitErrorHandlers && appInitErrorHandlers.length) {\r\n appInitErrorHandlers.forEach(func => func(error));\r\n }\r\n\r\n return throwError(() => error);\r\n }),\r\n );\r\n await lastValueFrom(result$);\r\n}\r\n\r\nexport function localeInitializer() {\r\n const injector = inject(Injector);\r\n const sessionState = injector.get(SessionStateService);\r\n const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\r\n\r\n const lang = sessionState.getLanguage() || 'en';\r\n\r\n return new Promise((resolve, reject) => {\r\n registerLocaleFn(lang).then(module => {\r\n if (module?.default) registerLocaleData(module.default);\r\n\r\n return resolve('resolved');\r\n }, reject);\r\n });\r\n}\r\n","export class CrossOriginStrategy {\r\n constructor(\r\n public crossorigin: 'anonymous' | 'use-credentials' | null,\r\n public integrity?: string,\r\n ) {}\r\n\r\n setCrossOrigin<T extends HTMLElement>(element: T) {\r\n if (this.integrity) element.setAttribute('integrity', this.integrity);\r\n if (this.crossorigin) {\r\n element.setAttribute('crossorigin', this.crossorigin);\r\n }\r\n }\r\n}\r\n\r\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\r\n setCrossOrigin() {}\r\n}\r\n\r\nexport const CROSS_ORIGIN_STRATEGY = {\r\n Anonymous(integrity?: string) {\r\n return new CrossOriginStrategy('anonymous', integrity);\r\n },\r\n UseCredentials(integrity?: string) {\r\n return new CrossOriginStrategy('use-credentials', integrity);\r\n },\r\n None() {\r\n return new NoCrossOriginStrategy(null);\r\n },\r\n};\r\n","export class DomStrategy {\r\n constructor(\r\n public target: HTMLElement = document.head,\r\n public position: InsertPosition = 'beforeend',\r\n ) {}\r\n\r\n insertElement<T extends HTMLElement>(element: T) {\r\n this.target.insertAdjacentElement(this.position, element);\r\n }\r\n}\r\n\r\nexport const DOM_STRATEGY = {\r\n AfterElement(element: HTMLElement) {\r\n return new DomStrategy(element, 'afterend');\r\n },\r\n AppendToBody() {\r\n return new DomStrategy(document.body, 'beforeend');\r\n },\r\n AppendToHead() {\r\n return new DomStrategy(document.head, 'beforeend');\r\n },\r\n BeforeElement(element: HTMLElement) {\r\n return new DomStrategy(element, 'beforebegin');\r\n },\r\n PrependToHead() {\r\n return new DomStrategy(document.head, 'afterbegin');\r\n },\r\n};\r\n","import { Observable, Observer } from 'rxjs';\r\nimport { CROSS_ORIGIN_STRATEGY, CrossOriginStrategy } from '../strategies/cross-origin.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from '../strategies/dom.strategy';\r\n\r\nexport function fromLazyLoad<T extends Event>(\r\n element: HTMLScriptElement | HTMLLinkElement,\r\n domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n): Observable<T> {\r\n crossOriginStrategy.setCrossOrigin(element);\r\n domStrategy.insertElement(element);\r\n\r\n return new Observable((observer: Observer<T>) => {\r\n element.onload = (event: Event) => {\r\n clearCallbacks(element);\r\n observer.next(event as T);\r\n observer.complete();\r\n };\r\n\r\n const handleError = createErrorHandler(observer, element);\r\n\r\n element.onerror = handleError;\r\n element.onabort = handleError;\r\n element.onemptied = handleError;\r\n element.onstalled = handleError;\r\n element.onsuspend = handleError;\r\n\r\n return () => {\r\n clearCallbacks(element);\r\n observer.complete();\r\n };\r\n });\r\n}\r\n\r\nfunction createErrorHandler<T extends Event = Event>(observer: Observer<T>, element: HTMLElement) {\r\n return function (event: Event | string) {\r\n clearCallbacks(element);\r\n element.parentNode?.removeChild(element);\r\n observer.error(event);\r\n };\r\n}\r\n\r\nfunction clearCallbacks(element: HTMLElement) {\r\n element.onload = null;\r\n element.onerror = null;\r\n element.onabort = null;\r\n element.onemptied = null;\r\n element.onstalled = null;\r\n element.onsuspend = null;\r\n}\r\n","export interface QueueManager {\r\n add(fn: () => void): void;\r\n init(interval: number, stackSize: number): void;\r\n}\r\n\r\nexport class DefaultQueueManager implements QueueManager {\r\n private queue: Array<() => void> = [];\r\n private isRunning = false;\r\n private stack = 0;\r\n private interval = 0;\r\n private stackSize = 100;\r\n\r\n public init(interval: number, stackSize: number) {\r\n this.interval = interval;\r\n this.stackSize = stackSize;\r\n }\r\n\r\n public add(fn: () => void) {\r\n this.queue.push(fn);\r\n this.run();\r\n }\r\n\r\n private run() {\r\n if (this.isRunning) return;\r\n this.stack++;\r\n\r\n this.isRunning = true;\r\n\r\n const fn = this.queue.shift();\r\n\r\n if (!fn) {\r\n this.isRunning = false;\r\n return;\r\n }\r\n\r\n fn();\r\n if (this.stack > this.stackSize) {\r\n setTimeout(() => {\r\n this.isRunning = false;\r\n this.run();\r\n this.stack = 0;\r\n }, this.interval);\r\n } else {\r\n this.isRunning = false;\r\n this.run();\r\n }\r\n }\r\n}\r\n","import { NgZone } from '@angular/core';\r\nimport { PRIMARY_OUTLET, Router, UrlSegment, UrlSegmentGroup } from \"@angular/router\";\r\nimport { ABP } from '../models/common';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { noop } from './common-utils';\r\nimport { TreeNode } from './tree-utils';\r\n\r\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> | null {\r\n const node = routesService.find(route => route.path === path);\r\n\r\n return node || path === '/'\r\n ? node\r\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\r\n}\r\n\r\nexport function getRoutePath(router: Router, url = router.url) {\r\n const emptyGroup = { segments: [] as UrlSegment[] } as UrlSegmentGroup;\r\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\r\n\r\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\r\n}\r\n\r\nexport function reloadRoute(router: Router, ngZone: NgZone) {\r\n const { shouldReuseRoute } = router.routeReuseStrategy;\r\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\r\n router.routeReuseStrategy.shouldReuseRoute = reuse;\r\n };\r\n\r\n setRouteReuse(() => false);\r\n router.navigated = false;\r\n\r\n ngZone.run(async () => {\r\n await router.navigateByUrl(router.url).catch(noop);\r\n setRouteReuse(shouldReuseRoute);\r\n });\r\n}\r\n","import { isArray } from './common-utils';\r\n\r\n/* eslint-disable @typescript-eslint/ban-types */\r\nexport class BaseTreeNode<T extends object> {\r\n children: TreeNode<T>[] = [];\r\n isLeaf = true;\r\n parent?: TreeNode<T>;\r\n\r\n constructor(props: T) {\r\n Object.assign(this, props);\r\n }\r\n\r\n static create<T extends object>(props: T) {\r\n return new BaseTreeNode<T>(props) as TreeNode<T>;\r\n }\r\n}\r\n\r\nexport function createTreeFromList<T extends object, R>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n parentKeySelector: typeof keySelector,\r\n valueMapper: (item: T) => R,\r\n) {\r\n const map = createMapFromList(list, keySelector, valueMapper);\r\n const tree: NodeValue<T, typeof valueMapper>[] = [];\r\n\r\n list.forEach(row => {\r\n const id = keySelector(row);\r\n const parentId = parentKeySelector(row);\r\n const node = map.get(id);\r\n\r\n if (!node) return;\r\n\r\n if (parentId) {\r\n const parent = map.get(parentId);\r\n if (!parent) return;\r\n (parent as any).children.push(node);\r\n (parent as any).isLeaf = false;\r\n (node as any).parent = parent;\r\n } else {\r\n tree.push(node);\r\n }\r\n });\r\n\r\n return tree;\r\n}\r\n\r\nexport function createMapFromList<T extends object, R>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n valueMapper: (item: T) => R,\r\n) {\r\n type Key = ReturnType<typeof keySelector>;\r\n type Value = NodeValue<T, typeof valueMapper>;\r\n const map = new Map<Key, Value>();\r\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\r\n return map;\r\n}\r\n\r\nexport function createTreeNodeFilterCreator<T extends object>(\r\n key: keyof T,\r\n mapperFn: (value: any) => string,\r\n) {\r\n return (search: string) => {\r\n const regex = new RegExp('.*' + search + '.*', 'i');\r\n\r\n return function collectNodes(nodes: TreeNode<T>[], matches: TreeNode<T>[] = []) {\r\n for (const node of nodes) {\r\n if (regex.test(mapperFn(node[key]))) matches.push(node);\r\n\r\n if (node.children.length) collectNodes(node.children, matches);\r\n }\r\n\r\n return matches;\r\n };\r\n };\r\n}\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n list: TreeNode<T>[],\r\n othersGroupKey: string,\r\n) {\r\n if (!isArray(list) || !list.some(node => Boolean(node.group))) return undefined;\r\n\r\n const mapGroup = new Map<string, TreeNode<T>[]>();\r\n\r\n for (const node of list) {\r\n const group = node?.group || othersGroupKey;\r\n if (typeof group !== 'string') {\r\n throw new Error(`Invalid group: ${group}`);\r\n }\r\n\r\n const items = mapGroup.get(group) || [];\r\n items.push(node);\r\n mapGroup.set(group, items);\r\n }\r\n\r\n return mapGroup;\r\n}\r\n\r\nexport type TreeNode<T extends object> = {\r\n [K in keyof T]: T[K];\r\n} & {\r\n children: TreeNode<T>[];\r\n isLeaf: boolean;\r\n parent?: TreeNode<T>;\r\n};\r\n\r\nexport type RouteGroup<T extends object> = {\r\n readonly group: string;\r\n readonly items: TreeNode<T>[];\r\n};\r\n\r\nexport type NodeKey = number | string | symbol | undefined | null;\r\n\r\nexport type NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\r\n ? TreeNode<T>\r\n : ReturnType<F>;\r\n","import { Injectable } from '@angular/core';\r\nimport { ContentStrategy } from '../strategies/content.strategy';\r\nimport { generateHash } from '../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DomInsertionService {\r\n private readonly inserted = new Set<number>();\r\n\r\n insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\r\n contentStrategy: ContentStrategy<T>,\r\n ): T | undefined {\r\n const hash = generateHash(contentStrategy.content);\r\n\r\n if (this.inserted.has(hash)) return;\r\n\r\n const element = contentStrategy.insertElement();\r\n this.inserted.add(hash);\r\n\r\n return element;\r\n }\r\n\r\n removeContent(element: HTMLScriptElement | HTMLStyleElement) {\r\n if (element.textContent) {\r\n const hash = generateHash(element.textContent);\r\n this.inserted.delete(hash);\r\n element.parentNode?.removeChild(element);\r\n }\r\n }\r\n\r\n has(content: string): boolean {\r\n const hash = generateHash(content);\r\n\r\n return this.inserted.has(hash);\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { getPathName } from '../utils/http-utils';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\n\r\nexport interface HttpWaitState {\r\n requests: HttpRequest<any>[];\r\n filteredRequests: Array<HttpRequestInfo>;\r\n}\r\nexport interface HttpRequestInfo {\r\n method: string;\r\n endpoint: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HttpWaitService {\r\n protected store = new InternalStore<HttpWaitState>({\r\n requests: [],\r\n filteredRequests: [],\r\n });\r\n\r\n private delay: number;\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(injector: Injector) {\r\n this.delay = injector.get(LOADER_DELAY, 500);\r\n }\r\n\r\n getLoading() {\r\n return !!this.applyFilter(this.store.state.requests).length;\r\n }\r\n\r\n getLoading$() {\r\n return this.store\r\n .sliceState(({ requests }) => requests)\r\n .pipe(\r\n map(requests => !!this.applyFilter(requests).length),\r\n switchMap(condition =>\r\n condition\r\n ? this.delay === 0\r\n ? of(true)\r\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\r\n : of(false),\r\n ),\r\n tap(() => this.destroy$.next()),\r\n );\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\r\n }\r\n\r\n clearLoading() {\r\n this.store.patch({ requests: [] });\r\n }\r\n\r\n addRequest(request: HttpRequest<any>) {\r\n this.store.patch({ requests: [...this.store.state.requests, request] });\r\n }\r\n\r\n deleteRequest(request: HttpRequest<any>) {\r\n const requests = this.store.state.requests.filter(r => r !== request);\r\n this.store.patch({ requests });\r\n }\r\n\r\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n const requests = Array.isArray(request) ? request : [request];\r\n const filteredRequests = [\r\n ...this.store.state.filteredRequests.filter(\r\n f => !requests.some(r => this.isSameRequest(f, r)),\r\n ),\r\n ...requests,\r\n ];\r\n this.store.patch({ filteredRequests });\r\n }\r\n\r\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\r\n const requests = Array.isArray(request) ? request : [request];\r\n const filteredRequests = this.store.state.filteredRequests.filter(\r\n f => !requests.some(r => this.isSameRequest(f, r)),\r\n );\r\n this.store.patch({ filteredRequests });\r\n }\r\n\r\n private applyFilter(requests: HttpRequest<any>[] | undefined) {\r\n if (!requests) {\r\n return [];\r\n }\r\n const { filteredRequests } = this.store.state;\r\n return requests.filter(\r\n ({ method, url }) =>\r\n !filteredRequests.find(filteredRequest =>\r\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\r\n ),\r\n );\r\n }\r\n\r\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\r\n const { method, endpoint } = filteredRequest;\r\n return endpoint === request.endpoint && method === request.method;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\nexport interface ResourceWaitState {\r\n resources: Set<string>;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResourceWaitService {\r\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\r\n\r\n getLoading() {\r\n return !!this.store.state.resources.size;\r\n }\r\n\r\n getLoading$() {\r\n return this.store.sliceState(({ resources }) => !!resources.size);\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ resources }) => !!resources?.size);\r\n }\r\n\r\n clearLoading() {\r\n this.store.patch({ resources: new Set() });\r\n }\r\n\r\n addResource(resource: string) {\r\n const resources = this.store.state.resources;\r\n resources.add(resource);\r\n this.store.patch({ resources });\r\n }\r\n\r\n deleteResource(resource: string) {\r\n const resources = this.store.state.resources;\r\n resources.delete(resource);\r\n this.store.patch({ resources });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { concat, Observable, of, pipe, throwError } from 'rxjs';\r\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\r\nimport { LoadingStrategy } from '../strategies';\r\nimport { ResourceWaitService } from './resource-wait.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LazyLoadService {\r\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement | null>();\r\n\r\n constructor(private resourceWaitService: ResourceWaitService) {}\r\n\r\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\r\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\r\n this.resourceWaitService.addResource(strategy.path);\r\n const delayOperator = retryDelay ? pipe(delay(retryDelay)) : pipe();\r\n const takeOp = retryTimes ? pipe(take(retryTimes)) : pipe();\r\n return strategy.createStream().pipe(\r\n retryWhen(error$ =>\r\n concat(\r\n error$.pipe(delayOperator, takeOp),\r\n throwError(() => new CustomEvent('error')),\r\n ),\r\n ),\r\n tap(() => {\r\n this.loaded.set(strategy.path, strategy.element);\r\n this.resourceWaitService.deleteResource(strategy.path);\r\n }),\r\n delay(100),\r\n shareReplay({ bufferSize: 1, refCount: true }),\r\n );\r\n }\r\n\r\n remove(path: string): boolean {\r\n const element = this.loaded.get(path);\r\n\r\n if (!element) return false;\r\n\r\n element.parentNode?.removeChild(element);\r\n this.loaded.delete(path);\r\n return true;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport {\r\n EMPTY,\r\n BehaviorSubject,\r\n MonoTypeOperatorFunction,\r\n Observable,\r\n ReplaySubject,\r\n Subject,\r\n} from 'rxjs';\r\nimport {\r\n catchError,\r\n debounceTime,\r\n filter,\r\n finalize,\r\n shareReplay,\r\n switchMap,\r\n takeUntil,\r\n tap,\r\n} from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { PagedResultDto } from '../models/dtos';\r\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\r\n\r\nexport type RequestStatus = 'idle' | 'loading' | 'success' | 'error';\r\n\r\n@Injectable()\r\nexport class ListService<QueryParamsType = ABP.PageQueryParams | any> implements OnDestroy {\r\n private _filter = '';\r\n set filter(value: string) {\r\n this._filter = value;\r\n this.get();\r\n }\r\n get filter(): string {\r\n return this._filter;\r\n }\r\n\r\n private _maxResultCount = 10;\r\n set maxResultCount(value: number) {\r\n this._maxResultCount = value;\r\n this.get();\r\n }\r\n get maxResultCount(): number {\r\n return this._maxResultCount;\r\n }\r\n\r\n private _page = 0;\r\n set page(value: number) {\r\n if (value === this._page) return;\r\n\r\n this._page = value;\r\n this.get();\r\n }\r\n get page(): number {\r\n return this._page;\r\n }\r\n\r\n private _totalCount = 0;\r\n set totalCount(value: number) {\r\n if (value === this._totalCount) return;\r\n\r\n this._totalCount = value;\r\n this.get();\r\n }\r\n get totalCount(): number {\r\n return this._totalCount;\r\n }\r\n\r\n private _sortKey = '';\r\n set sortKey(value: string) {\r\n this._sortKey = value;\r\n this.get();\r\n }\r\n get sortKey(): string {\r\n return this._sortKey;\r\n }\r\n\r\n private _sortOrder = '';\r\n set sortOrder(value: string) {\r\n this._sortOrder = value;\r\n this.get();\r\n }\r\n get sortOrder(): string {\r\n return this._sortOrder;\r\n }\r\n\r\n private _query$ = new ReplaySubject<QueryParamsType>(1);\r\n\r\n get query$(): Observable<QueryParamsType> {\r\n return this._query$\r\n .asObservable()\r\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\r\n }\r\n\r\n private _isLoading$ = new BehaviorSubject(false);\r\n\r\n private _requestStatus = new BehaviorSubject<RequestStatus>('idle');\r\n\r\n private destroy$ = new Subject<void>();\r\n\r\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\r\n\r\n /**\r\n * @deprecated Use `requestStatus$` instead.\r\n */\r\n get isLoading$(): Observable<boolean> {\r\n return this._isLoading$.asObservable().pipe(takeUntil(this.destroy$));\r\n }\r\n\r\n get requestStatus$(): Observable<RequestStatus> {\r\n return this._requestStatus.asObservable().pipe(takeUntil(this.destroy$));\r\n }\r\n\r\n get = () => {\r\n this.resetPageWhenUnchanged();\r\n this.next();\r\n };\r\n\r\n getWithoutPageReset = () => {\r\n this.next();\r\n };\r\n\r\n constructor(injector: Injector) {\r\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\r\n this.delay = delay ? debounceTime(delay) : tap();\r\n this.get();\r\n }\r\n\r\n hookToQuery<T>(\r\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\r\n ): Observable<PagedResultDto<T>> {\r\n return this.query$.pipe(\r\n tap(() => this._isLoading$.next(true)),\r\n tap(() => this._requestStatus.next('loading')),\r\n switchMap(query =>\r\n streamCreatorCallback(query).pipe(\r\n catchError(() => {\r\n this._requestStatus.next('error');\r\n return EMPTY;\r\n }),\r\n tap(() => this._requestStatus.next('success')),\r\n finalize(() => {\r\n this._isLoading$.next(false);\r\n this._requestStatus.next('idle');\r\n }),\r\n ),\r\n ),\r\n filter(Boolean),\r\n shareReplay<any>({ bufferSize: 1, refCount: true }),\r\n takeUntil(this.destroy$),\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n }\r\n private resetPageWhenUnchanged() {\r\n const maxPage = Number(Number(this.totalCount / this._maxResultCount).toFixed());\r\n const skipCount = this._page * this._maxResultCount;\r\n\r\n if (skipCount !== this._totalCount) {\r\n return;\r\n }\r\n\r\n if (this.page === maxPage && this.page > 0) {\r\n this.page = this.page - 1;\r\n }\r\n }\r\n\r\n private next() {\r\n this._query$.next({\r\n filter: this._filter || undefined,\r\n maxResultCount: this._maxResultCount,\r\n skipCount: this._page * this._maxResultCount,\r\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\r\n } as any as QueryParamsType);\r\n }\r\n}\r\n\r\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\r\n query: QueryParamsType,\r\n) => Observable<PagedResultDto<T>>;\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { ConfigStateService } from './config-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PermissionService {\r\n constructor(protected configState: ConfigStateService) {}\r\n\r\n getGrantedPolicy$(key: string) {\r\n return this.getStream().pipe(\r\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\r\n );\r\n }\r\n\r\n getGrantedPolicy(key: string | undefined) {\r\n const policies = this.getSnapshot();\r\n return this.isPolicyGranted(key, policies);\r\n }\r\n\r\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\r\n const policies = this.getSnapshot();\r\n return items.filter(\r\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n );\r\n }\r\n\r\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\r\n return this.getStream().pipe(\r\n map(policies =>\r\n items.filter(\r\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n protected isPolicyGranted(key: string | undefined, grantedPolicies: Record<string, boolean>) {\r\n if (!key) return true;\r\n\r\n const orRegexp = /\\|\\|/g;\r\n const andRegexp = /&&/g;\r\n\r\n // TODO: Allow combination of ANDs & ORs\r\n if (orRegexp.test(key)) {\r\n const keys = key.split('||').filter(Boolean);\r\n\r\n if (keys.length < 2) return false;\r\n\r\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\r\n } else if (andRegexp.test(key)) {\r\n const keys = key.split('&&').filter(Boolean);\r\n\r\n if (keys.length < 2) return false;\r\n\r\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\r\n }\r\n\r\n return this.getPolicy(key, grantedPolicies);\r\n }\r\n\r\n protected getStream() {\r\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\r\n }\r\n\r\n protected getSnapshot() {\r\n return this.mapToPolicies(this.configState.getAll());\r\n }\r\n\r\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\r\n return applicationConfiguration?.auth?.grantedPolicies || {};\r\n }\r\n\r\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\r\n return grantedPolicies[key] || false;\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { reloadRoute } from '../utils/route-utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReplaceableComponentsService {\r\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\r\n\r\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\r\n return this.store.state;\r\n }\r\n\r\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\r\n return this.store.sliceUpdate(state => state);\r\n }\r\n\r\n constructor(private ngZone: NgZone, private router: Router) {\r\n this.store = new InternalStore([] as ReplaceableComponents.ReplaceableComponent[]);\r\n }\r\n\r\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\r\n const replaceableComponents = [...this.store.state];\r\n\r\n const index = replaceableComponents.findIndex(\r\n component => component.key === replaceableComponent.key,\r\n );\r\n\r\n if (index > -1) {\r\n replaceableComponents[index] = replaceableComponent;\r\n } else {\r\n replaceableComponents.push(replaceableComponent);\r\n }\r\n\r\n this.store.set(replaceableComponents);\r\n\r\n if (reload) reloadRoute(this.router, this.ngZone);\r\n }\r\n\r\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent | undefined {\r\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\r\n }\r\n\r\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent | undefined> {\r\n return this.replaceableComponents$.pipe(\r\n map(components => components.find(component => component.key === replaceableComponentKey)),\r\n );\r\n }\r\n}\r\n","import { Injectable, Type, inject, signal } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n RouterEvent,\r\n Event,\r\n RouterState,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nexport const NavigationEvent = {\r\n Cancel: NavigationCancel,\r\n End: NavigationEnd,\r\n Error: NavigationError,\r\n Start: NavigationStart,\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouterEvents {\r\n protected readonly router = inject(Router);\r\n\r\n readonly #previousNavigation = signal<string | undefined>(undefined);\r\n previousNavigation = this.#previousNavigation.asReadonly();\r\n\r\n readonly #currentNavigation = signal<string | undefined>(undefined);\r\n currentNavigation = this.#currentNavigation.asReadonly();\r\n\r\n constructor() {\r\n this.listenToNavigation();\r\n }\r\n\r\n protected listenToNavigation(): void {\r\n const routerEvent$ = this.router.events.pipe(\r\n filter(e => e instanceof NavigationEvent.End && !e.url.includes('error'))\r\n ) as Observable<NavigationEnd>;\r\n \r\n routerEvent$.subscribe(event => {\r\n this.#previousNavigation.set(this.currentNavigation());\r\n this.#currentNavigation.set(event.url);\r\n });\r\n }\r\n\r\n getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\r\n const filterRouterEvents = (event: Event) => eventTypes.some(type => event instanceof type);\r\n\r\n return this.router.events.pipe(filter(filterRouterEvents));\r\n }\r\n\r\n getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\r\n type FilteredNavigationEvent = T extends (infer Key)[]\r\n ? Key extends NavigationEventKey\r\n ? InstanceType<NavigationEventType[Key]>\r\n : never\r\n : never;\r\n\r\n const filterNavigationEvents = (event: Event): event is FilteredNavigationEvent =>\r\n navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\r\n\r\n return this.router.events.pipe(filter(filterNavigationEvents));\r\n }\r\n\r\n getAllEvents() {\r\n return this.router.events;\r\n }\r\n\r\n getAllNavigationEvents() {\r\n const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\r\n return this.getNavigationEvents(...keys);\r\n }\r\n}\r\n\r\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\r\n\r\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\r\n\r\ntype NavigationEventType = typeof NavigationEvent;\r\n\r\nexport type NavigationEventKey = keyof NavigationEventType;\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { NavigationStart } from '@angular/router';\r\nimport { of, Subject, timer } from 'rxjs';\r\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\r\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\nimport { RouterEvents } from './router-events.service';\r\n\r\nexport interface RouterWaitState {\r\n loading: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RouterWaitService {\r\n private store = new InternalStore<RouterWaitState>({ loading: false });\r\n private destroy$ = new Subject<void>();\r\n private delay: number;\r\n constructor(private routerEvents: RouterEvents, injector: Injector) {\r\n this.delay = injector.get(LOADER_DELAY, 500);\r\n this.updateLoadingStatusOnNavigationEvents();\r\n }\r\n\r\n private updateLoadingStatusOnNavigationEvents() {\r\n this.routerEvents\r\n .getAllNavigationEvents()\r\n .pipe(\r\n map(event => event instanceof NavigationStart),\r\n switchMap(condition =>\r\n condition\r\n ? this.delay === 0\r\n ? of(true)\r\n : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\r\n : of(false),\r\n ),\r\n tap(() => this.destroy$.next()),\r\n )\r\n .subscribe(status => {\r\n this.setLoading(status);\r\n });\r\n }\r\n\r\n getLoading() {\r\n return this.store.state.loading;\r\n }\r\n\r\n getLoading$() {\r\n return this.store.sliceState(({ loading }) => loading);\r\n }\r\n\r\n updateLoading$() {\r\n return this.store.sliceUpdate(({ loading }) => loading);\r\n }\r\n\r\n setLoading(loading: boolean) {\r\n this.store.patch({ loading });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const COOKIE_LANGUAGE_KEY = new InjectionToken<string>('COOKIE_LANGUAGE_KEY', {\r\n factory: () => '.AspNetCore.Culture',\r\n});\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\r\n 'NAVIGATE_TO_MANAGE_PROFILE',\r\n);\r\n","import { QueueManager } from \"../utils/queue\";\r\nimport { InjectionToken } from \"@angular/core\";\r\n\r\nexport const QUEUE_MANAGER = new InjectionToken<QueueManager>(\"QUEUE_MANAGER\");\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const INCUDE_LOCALIZATION_RESOURCES_TOKEN = new InjectionToken<boolean>(\r\n 'INCUDE_LOCALIZATION_RESOURCES_TOKEN',\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\nimport { PipeToLoginFn } from '../models/auth';\r\n\r\nexport const PIPE_TO_LOGIN_FN_KEY = new InjectionToken<PipeToLoginFn>('PIPE_TO_LOGIN_FN_KEY');\r\n","import { InjectionToken } from '@angular/core';\r\nimport { SetTokenResponseToStorageFn } from '../models';\r\n\r\n/**\r\n * @deprecated The token should not be used anymore. \r\n */\r\nexport const SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY = new InjectionToken<SetTokenResponseToStorageFn>(\r\n 'SET_TOKEN_RESPONSE_TO_STORAGE_FN_KEY',\r\n);\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const OTHERS_GROUP = new InjectionToken<string>('OTHERS_GROUP');\r\n","import { InjectionToken, inject } from '@angular/core';\r\nimport type { SortableItem } from '../models';\r\nimport { LocalizationService } from '../services';\r\n\r\nexport const SORT_COMPARE_FUNC = new InjectionToken<(a: SortableItem, b: SortableItem) => number>(\r\n 'SORT_COMPARE_FUNC',\r\n);\r\n\r\nexport function compareFuncFactory() {\r\n const localizationService = inject(LocalizationService);\r\n const fn = (a: SortableItem, b: SortableItem) => {\r\n const aNumber = a.order;\r\n const bNumber = b.order;\r\n\r\n if (aNumber > bNumber) return 1;\r\n if (aNumber < bNumber) return -1;\r\n\r\n if (a.id > b.id) return 1;\r\n if (a.id < b.id) return -1;\r\n\r\n if (!Number.isInteger(aNumber)) return 1;\r\n if (!Number.isInteger(bNumber)) return -1;\r\n\r\n const aName = localizationService.instant(a.name);\r\n const bName = localizationService.instant(b.name);\r\n\r\n if (aName > bName) return 1;\r\n if (aName < bName) return -1;\r\n\r\n return 0;\r\n };\r\n\r\n return fn;\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\n\r\n export const DYNAMIC_LAYOUTS_TOKEN = new InjectionToken<Map<string, string>>('DYNAMIC_LAYOUTS')\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const DISABLE_PROJECT_NAME = new InjectionToken<boolean>('DISABLE_APP_NAME');\r\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription, map } from 'rxjs';\r\nimport { ABP } from '../models/common';\r\nimport { OTHERS_GROUP } from '../tokens';\r\nimport { pushValueTo } from '../utils/array-utils';\r\nimport {\r\n BaseTreeNode,\r\n createTreeFromList,\r\n TreeNode,\r\n RouteGroup,\r\n createGroupMap,\r\n} from '../utils/tree-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { PermissionService } from './permission.service';\r\nimport { SORT_COMPARE_FUNC } from '../tokens/compare-func.token';\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport abstract class AbstractTreeService<T extends { [key: string | number | symbol]: any }> {\r\n abstract id: string;\r\n abstract parentId: string;\r\n abstract hide: (item: T) => boolean;\r\n abstract sort: (a: T, b: T) => number;\r\n\r\n private _flat$ = new BehaviorSubject<T[]>([]);\r\n private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\r\n\r\n protected othersGroup: string;\r\n protected shouldSingularizeRoutes = true;\r\n\r\n get flat(): T[] {\r\n return this._flat$.value;\r\n }\r\n\r\n get flat$(): Observable<T[]> {\r\n return this._flat$.asObservable();\r\n }\r\n\r\n get tree(): TreeNode<T>[] {\r\n return this._tree$.value;\r\n }\r\n\r\n get tree$(): Observable<TreeNode<T>[]> {\r\n return this._tree$.asObservable();\r\n }\r\n\r\n get visible(): TreeNode<T>[] {\r\n return this._visible$.value;\r\n }\r\n\r\n get visible$(): Observable<TreeNode<T>[]> {\r\n return this._visible$.asObservable();\r\n }\r\n\r\n private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\r\n return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\r\n }\r\n\r\n private findItemsToRemove(set: Set<string>): Set<string> {\r\n return this._flat$.value.reduce((acc, item) => {\r\n if (!acc.has(item[this.parentId])) {\r\n return acc;\r\n }\r\n\r\n const childSet = new Set([item[this.id]]);\r\n const children = this.findItemsToRemove(childSet);\r\n return new Set([...acc, ...children]);\r\n }, set);\r\n }\r\n\r\n private publish(flatItems: T[]): T[] {\r\n this._flat$.next(flatItems);\r\n this._tree$.next(this.createTree(flatItems));\r\n this._visible$.next(this.createTree(flatItems.filter(item => !this.hide(item))));\r\n return flatItems;\r\n }\r\n\r\n protected createTree(items: T[]): TreeNode<T>[] {\r\n return createTreeFromList<T, TreeNode<T>>(\r\n items,\r\n item => item[this.id],\r\n item => item[this.parentId],\r\n item => BaseTreeNode.create(item),\r\n );\r\n }\r\n\r\n protected createGroupedTree(list: TreeNode<T>[]): RouteGroup<T>[] | undefined {\r\n const map = createGroupMap<T>(list, this.othersGroup);\r\n if (!map) {\r\n return undefined;\r\n }\r\n\r\n return Array.from(map, ([key, items]) => ({ group: key, items }));\r\n }\r\n\r\n add(items: T[]): T[] {\r\n let flatItems: T[] = [];\r\n\r\n if (!this.shouldSingularizeRoutes) {\r\n flatItems = [...this.flat, ...items];\r\n }\r\n\r\n if (this.shouldSingularizeRoutes) {\r\n const map = new Map<string, T>();\r\n items.forEach(item => map.set(item[this.id], item));\r\n flatItems = this.filterWith(map);\r\n map.forEach(pushValueTo(flatItems));\r\n }\r\n\r\n flatItems.sort(this.sort);\r\n\r\n return this.publish(flatItems);\r\n }\r\n\r\n find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\r\n return tree.reduce<TreeNode<T> | null>((acc, node) => {\r\n if (acc) {\r\n return acc;\r\n }\r\n\r\n if (predicate(node)) {\r\n return node;\r\n }\r\n\r\n return this.find(predicate, node.children);\r\n }, null);\r\n }\r\n\r\n patch(identifier: string, props: Partial<T>): T[] | false {\r\n const flatItems = this._flat$.value;\r\n const index = flatItems.findIndex(item => item[this.id] === identifier);\r\n if (index < 0) {\r\n return false;\r\n }\r\n\r\n flatItems[index] = { ...flatItems[index], ...props };\r\n\r\n flatItems.sort(this.sort);\r\n return this.publish(flatItems);\r\n }\r\n\r\n refresh(): T[] {\r\n return this.add([]);\r\n }\r\n\r\n remove(identifiers: string[]): T[] {\r\n const set = new Set<string>();\r\n identifiers.forEach(id => set.add(id));\r\n\r\n const setToRemove = this.findItemsToRemove(set);\r\n const flatItems = this.filterWith(setToRemove);\r\n return this.publish(flatItems);\r\n }\r\n\r\n removeByParam(params: Partial<T>): T[] | null {\r\n if (!params) {\r\n return null;\r\n }\r\n\r\n const keys = Object.keys(params) as Array<keyof Partial<T>>;\r\n if (keys.length === 0) {\r\n return null;\r\n }\r\n\r\n const excludedList = this.flat.filter(item => keys.every(key => item[key] === params[key]));\r\n if (!excludedList?.length) {\r\n return null;\r\n }\r\n\r\n for (const item of excludedList) {\r\n this.removeByParam({ [this.parentId]: item[this.id] } as Partial<T>);\r\n }\r\n\r\n const flatItems = this.flat.filter(item => !excludedList.includes(item));\r\n return this.publish(flatItems);\r\n }\r\n\r\n search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\r\n const searchKeys = Object.keys(params) as Array<keyof Partial<T>>;\r\n\r\n return tree.reduce<TreeNode<T> | null>((acc, node) => {\r\n if (acc) {\r\n return acc;\r\n }\r\n\r\n if (searchKeys.every(key => node[key] === params[key])) {\r\n return node;\r\n }\r\n\r\n return this.search(params, node.children);\r\n }, null);\r\n }\r\n\r\n setSingularizeStatus(singularize = true): void {\r\n this.shouldSingularizeRoutes = singularize;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\r\n extends AbstractTreeService<T>\r\n implements OnDestroy\r\n{\r\n private subscription: Subscription;\r\n private permissionService: PermissionService;\r\n private compareFunc;\r\n readonly id = 'name';\r\n readonly parentId = 'parentName';\r\n readonly hide = (item: T) => item.invisible || !this.isGranted(item);\r\n readonly sort = (a: T, b: T) => {\r\n return this.compareFunc(a, b);\r\n };\r\n\r\n constructor(protected injector: Injector) {\r\n super();\r\n const configState = this.injector.get(ConfigStateService);\r\n this.subscription = configState\r\n .createOnUpdateStream(state => state)\r\n .subscribe(() => this.refresh());\r\n this.permissionService = injector.get(PermissionService);\r\n this.othersGroup = injector.get(OTHERS_GROUP);\r\n this.compareFunc = injector.get(SORT_COMPARE_FUNC);\r\n }\r\n\r\n protected isGranted({ requiredPolicy }: T): boolean {\r\n return this.permissionService.getGrantedPolicy(requiredPolicy);\r\n }\r\n\r\n hasChildren(identifier: string): boolean {\r\n const node = this.find(item => item[this.id] === identifier);\r\n return Boolean(node?.children?.length);\r\n }\r\n\r\n hasInvisibleChild(identifier: string): boolean {\r\n const node = this.find(item => item[this.id] === identifier);\r\n return node?.children?.some(child => child.invisible) || false;\r\n }\r\n\r\n /* istanbul ignore next */\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {\r\n private hasPathOrChild(item: TreeNode<ABP.Route>): boolean {\r\n return Boolean(item.path) || this.hasChildren(item.name);\r\n }\r\n\r\n get groupedVisible(): RouteGroup<ABP.Route>[] | undefined {\r\n return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item)));\r\n }\r\n\r\n get groupedVisible$(): Observable<RouteGroup<ABP.Route>[] | undefined> {\r\n return this.visible$.pipe(\r\n map(items => items.filter(item => this.hasPathOrChild(item))),\r\n map(visible => this.createGroupedTree(visible)),\r\n );\r\n }\r\n}\r\n","import type { OnDestroy } from '@angular/core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { Observable, PartialObserver } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SubscriptionService implements OnDestroy {\r\n private subscription = new Subscription();\r\n\r\n get isClosed() {\r\n return this.subscription.closed;\r\n }\r\n\r\n addOne<T>(\r\n source$: Observable<T>,\r\n next?: (value: T) => void,\r\n error?: (error: any) => void,\r\n ): Subscription;\r\n addOne<T>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\r\n addOne<T>(\r\n source$: Observable<T>,\r\n nextOrObserver?: PartialObserver<T> | Next<T>,\r\n error?: (error: any) => void,\r\n ): Subscription {\r\n const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\r\n this.subscription.add(subscription);\r\n return subscription;\r\n }\r\n\r\n closeAll() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n closeOne(subscription: Subscription | undefined | null) {\r\n this.removeOne(subscription);\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n removeOne(subscription: Subscription | undefined | null) {\r\n if (!subscription) return;\r\n this.subscription.remove(subscription);\r\n }\r\n\r\n reset() {\r\n this.subscription.unsubscribe();\r\n this.subscription = new Subscription();\r\n }\r\n}\r\n\r\ntype Next<T> = (value: T) => void;\r\n","import { Injectable, TrackByFunction } from '@angular/core';\r\nimport { O } from 'ts-toolbelt';\r\n\r\nexport const trackBy =\r\n <T = any>(key: keyof T): TrackByFunction<T> =>\r\n (_, item) =>\r\n item[key];\r\n\r\nexport const trackByDeep =\r\n <T = any>(\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n ...keys: T extends object ? O.Paths<T> : never\r\n ): TrackByFunction<T> =>\r\n (_, item) =>\r\n keys.reduce((acc, key) => acc[key], item);\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TrackByService<ItemType = any> {\r\n by = trackBy;\r\n\r\n byDeep = trackByDeep;\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AbpWindowService {\r\n public readonly document = inject(DOCUMENT);\r\n public readonly window = this.document.defaultView;\r\n public readonly navigator = this.window.navigator;\r\n\r\n copyToClipboard(text: string): Promise<void> {\r\n return this.navigator.clipboard.writeText(text);\r\n }\r\n\r\n open(url?: string | URL, target?: string, features?: string): Window {\r\n return this.window.open(url, target, features);\r\n }\r\n\r\n reloadPage(): void {\r\n this.window.location.reload();\r\n }\r\n downloadBlob(blob: Blob, fileName: string) {\r\n const blobUrl = this.window.URL.createObjectURL(blob);\r\n const a = this.document.createElement('a');\r\n a.style.display = 'none';\r\n a.href = blobUrl;\r\n a.download = fileName;\r\n this.document.body.appendChild(a);\r\n a.dispatchEvent(\r\n new MouseEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: this.window,\r\n }),\r\n );\r\n this.window.URL.revokeObjectURL(blobUrl);\r\n this.document.body.removeChild(a);\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Injectable, computed, inject, signal } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InternetConnectionService {\r\n readonly document = inject(DOCUMENT);\r\n readonly window = this.document.defaultView;\r\n readonly navigator = this.window.navigator;\r\n\r\n private status$ = new BehaviorSubject<boolean>(this.navigator.onLine);\r\n\r\n private status = signal(this.navigator.onLine);\r\n\r\n networkStatus = computed(() => this.status());\r\n\r\n constructor() {\r\n this.window.addEventListener('offline', () => this.setStatus(false));\r\n this.window.addEventListener('online', () => this.setStatus(true));\r\n }\r\n\r\n setStatus(val: boolean) {\r\n this.status.set(val);\r\n this.status$.next(val);\r\n }\r\n\r\n get networkStatus$() {\r\n return this.status$.asObservable();\r\n }\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Injectable, inject } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocalStorageListenerService {\r\n protected readonly window = inject(DOCUMENT).defaultView;\r\n\r\n constructor() {\r\n this.window.addEventListener('storage', event => {\r\n if (event.key === 'access_token') {\r\n const tokenRemoved = event.newValue === null;\r\n const tokenAdded = event.oldValue === null && event.newValue !== null;\r\n\r\n if (tokenRemoved || tokenAdded) {\r\n this.window.location.assign('/');\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable, effect, inject } from '@angular/core';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { TitleStrategy, RouterStateSnapshot } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { LocalizationService } from './localization.service';\r\nimport { DISABLE_PROJECT_NAME } from '../tokens';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpTitleStrategy extends TitleStrategy {\r\n protected readonly title = inject(Title);\r\n protected readonly localizationService = inject(LocalizationService);\r\n protected readonly disableProjectName = inject(DISABLE_PROJECT_NAME, { optional: true });\r\n protected routerState: RouterStateSnapshot;\r\n\r\n langugageChange = toSignal(this.localizationService.languageChange$);\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.langugageChange()) {\r\n this.updateTitle(this.routerState);\r\n }\r\n });\r\n }\r\n\r\n override updateTitle(routerState: RouterStateSnapshot) {\r\n this.routerState = routerState;\r\n const title = this.buildTitle(routerState);\r\n\r\n const projectName = this.localizationService.instant({\r\n key: '::AppName',\r\n defaultValue: 'MyProjectName',\r\n });\r\n\r\n if (!title) {\r\n return this.title.setTitle(projectName);\r\n }\r\n \r\n let localizedText = this.localizationService.instant({ key: title, defaultValue: title });\r\n if (!this.disableProjectName) {\r\n localizedText += ` | ${projectName}`;\r\n }\r\n\r\n this.title.setTitle(localizedText);\r\n }\r\n}\r\n","import type { ApplicationConfigurationDto, ApplicationConfigurationRequestOptions } from './models';\r\nimport { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApplicationConfigurationService {\r\n apiName = 'abp';\r\n\r\n\r\n get = (options: ApplicationConfigurationRequestOptions, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, ApplicationConfigurationDto>({\r\n method: 'GET',\r\n url: '/api/abp/application-configuration',\r\n params: { includeLocalizationResources: options.includeLocalizationResources },\r\n },\r\n { apiName: this.apiName, ...config });\r\n\r\n constructor(private restService: RestService) { }\r\n}\r\n","import type { ApplicationLocalizationDto, ApplicationLocalizationRequestDto } from './models';\r\nimport { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApplicationLocalizationService {\r\n apiName = 'abp';\r\n \r\n\r\n get = (input: ApplicationLocalizationRequestDto, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, ApplicationLocalizationDto>({\r\n method: 'GET',\r\n url: '/api/abp/application-localization',\r\n params: { cultureName: input.cultureName, onlyDynamics: input.onlyDynamics },\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map, switchMap, take, tap } from 'rxjs/operators';\r\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\r\nimport { AbpApplicationLocalizationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service';\r\nimport {\r\n ApplicationConfigurationDto,\r\n ApplicationFeatureConfigurationDto,\r\n ApplicationGlobalFeatureConfigurationDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';\r\nimport { InternalStore } from '../utils/internal-store-utils';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigStateService {\r\n private updateSubject = new Subject<void>();\r\n private readonly store = new InternalStore({} as ApplicationConfigurationDto);\r\n\r\n public uiCultureFromAuthCodeFlow: string;\r\n\r\n setState(config: ApplicationConfigurationDto) {\r\n this.store.set(config);\r\n }\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n constructor(\r\n private abpConfigService: AbpApplicationConfigurationService,\r\n private abpApplicationLocalizationService: AbpApplicationLocalizationService,\r\n @Optional()\r\n @Inject(INCUDE_LOCALIZATION_RESOURCES_TOKEN)\r\n private readonly includeLocalizationResources: boolean | null,\r\n ) {\r\n this.initUpdateStream();\r\n }\r\n\r\n private initUpdateStream() {\r\n this.updateSubject\r\n .pipe(\r\n switchMap(() =>\r\n this.abpConfigService.get({\r\n includeLocalizationResources: !!this.includeLocalizationResources,\r\n }),\r\n ),\r\n )\r\n .pipe(switchMap(appState => this.getLocalizationAndCombineWithAppState(appState)))\r\n .subscribe(res => this.store.set(res));\r\n }\r\n\r\n private getLocalizationAndCombineWithAppState(\r\n appState: ApplicationConfigurationDto,\r\n ): Observable<ApplicationConfigurationDto> {\r\n if (!appState.localization.currentCulture.cultureName) {\r\n throw new Error('culture name should defined');\r\n }\r\n\r\n const cultureName =\r\n this.uiCultureFromAuthCodeFlow ?? appState.localization.currentCulture.cultureName;\r\n\r\n return this.getlocalizationResource(cultureName).pipe(\r\n map(result => ({ ...appState, localization: { ...appState.localization, ...result } })),\r\n tap(() => (this.uiCultureFromAuthCodeFlow = undefined)),\r\n );\r\n }\r\n\r\n private getlocalizationResource(cultureName: string) {\r\n return this.abpApplicationLocalizationService.get({\r\n cultureName: cultureName,\r\n onlyDynamics: false,\r\n });\r\n }\r\n\r\n refreshAppState() {\r\n this.updateSubject.next();\r\n return this.createOnUpdateStream(state => state).pipe(take(1));\r\n }\r\n\r\n refreshLocalization(lang: string): Observable<null> {\r\n if (this.includeLocalizationResources) {\r\n return this.refreshAppState().pipe(map(() => null));\r\n }\r\n\r\n return this.getlocalizationResource(lang)\r\n .pipe(\r\n tap(result =>\r\n this.store.patch({ localization: { ...this.store.state.localization, ...result } }),\r\n ),\r\n )\r\n .pipe(map(() => null));\r\n }\r\n\r\n getOne$<K extends keyof ApplicationConfigurationDto>(key: K) {\r\n return this.store.sliceState(state => state[key]);\r\n }\r\n\r\n getOne<K extends keyof ApplicationConfigurationDto>(key: K) {\r\n return this.store.state[key];\r\n }\r\n\r\n getAll$(): Observable<ApplicationConfigurationDto> {\r\n return this.store.sliceState(state => state);\r\n }\r\n\r\n getAll(): ApplicationConfigurationDto {\r\n return this.store.state;\r\n }\r\n\r\n getDeep$(keys: string[] | string): Observable<any> {\r\n keys = splitKeys(keys);\r\n\r\n return this.store\r\n .sliceState(state => state)\r\n .pipe(\r\n map(state => {\r\n return (keys as string[]).reduce((acc: any, val) => {\r\n if (acc) {\r\n return acc[val];\r\n }\r\n\r\n return undefined;\r\n }, state);\r\n }),\r\n );\r\n }\r\n\r\n getDeep(keys: string[] | string): any {\r\n keys = splitKeys(keys);\r\n\r\n return (keys as string[]).reduce((acc: any, val) => {\r\n if (acc) {\r\n return acc[val];\r\n }\r\n\r\n return undefined;\r\n }, this.store.state);\r\n }\r\n\r\n getFeature(key: string) {\r\n return this.store.state.features?.values?.[key];\r\n }\r\n\r\n getFeature$(key: string) {\r\n return this.store.sliceState(state => state.features?.values?.[key]);\r\n }\r\n\r\n getFeatures(keys: string[]) {\r\n const { features } = this.store.state;\r\n if (!features) return;\r\n\r\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n }\r\n\r\n getFeatures$(keys: string[]): Observable<{ [key: string]: string } | undefined> {\r\n return this.store.sliceState(({ features }) => {\r\n if (!features?.values) return;\r\n\r\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\r\n });\r\n }\r\n\r\n private isFeatureEnabled(key: string, features: ApplicationFeatureConfigurationDto) {\r\n return features.values[key] === 'true';\r\n }\r\n\r\n getFeatureIsEnabled(key: string) {\r\n return this.isFeatureEnabled(key, this.store.state.features);\r\n }\r\n\r\n getFeatureIsEnabled$(key: string) {\r\n return this.store.sliceState(state => this.isFeatureEnabled(key, state.features));\r\n }\r\n\r\n getSetting(key: string) {\r\n return this.store.state.setting?.values?.[key];\r\n }\r\n\r\n getSetting$(key: string) {\r\n return this.store.sliceState(state => state.setting?.values?.[key]);\r\n }\r\n\r\n getSettings(keyword?: string) {\r\n const settings = this.store.state.setting?.values || {};\r\n\r\n if (!keyword) return settings;\r\n\r\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n return keysFound.reduce(\r\n (acc, key) => {\r\n acc[key] = settings[key];\r\n return acc;\r\n },\r\n {} as Record<string, string>,\r\n );\r\n }\r\n\r\n getSettings$(keyword?: string) {\r\n return this.store\r\n .sliceState(state => state.setting?.values)\r\n .pipe(\r\n map((settings = {}) => {\r\n if (!keyword) return settings;\r\n\r\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\r\n\r\n return keysFound.reduce(\r\n (acc, key) => {\r\n acc[key] = settings[key];\r\n return acc;\r\n },\r\n {} as Record<string, string>,\r\n );\r\n }),\r\n );\r\n }\r\n\r\n getGlobalFeatures() {\r\n return this.store.state.globalFeatures;\r\n }\r\n\r\n getGlobalFeatures$() {\r\n return this.store.sliceState(state => state.globalFeatures);\r\n }\r\n\r\n private isGlobalFeatureEnabled(\r\n key: string,\r\n globalFeatures: ApplicationGlobalFeatureConfigurationDto,\r\n ) {\r\n const features = globalFeatures.enabledFeatures || [];\r\n return features.some(f => key === f);\r\n }\r\n\r\n getGlobalFeatureIsEnabled(key: string) {\r\n return this.isGlobalFeatureEnabled(key, this.store.state.globalFeatures);\r\n }\r\n\r\n getGlobalFeatureIsEnabled$(key: string) {\r\n return this.store.sliceState(state => this.isGlobalFeatureEnabled(key, state.globalFeatures));\r\n }\r\n}\r\n\r\nfunction splitKeys(keys: string[] | string): string[] {\r\n if (typeof keys === 'string') {\r\n keys = keys.split('.');\r\n }\r\n\r\n if (!Array.isArray(keys)) {\r\n throw new Error('The argument must be a dot string or an string array.');\r\n }\r\n\r\n return keys;\r\n}\r\n","import { registerLocaleData } from '@angular/common';\r\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\r\nimport { BehaviorSubject, combineLatest, from, Observable, Subject } from 'rxjs';\r\nimport { filter, map, switchMap } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport {\r\n ApplicationConfigurationDto,\r\n ApplicationLocalizationResourceDto,\r\n} from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\r\nimport { localizations$ } from '../tokens/localization.token';\r\nimport { CORE_OPTIONS } from '../tokens/options.token';\r\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\r\nimport { interpolate } from '../utils/string-utils';\r\nimport { ConfigStateService } from './config-state.service';\r\nimport { SessionStateService } from './session-state.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocalizationService {\r\n private latestLang = this.sessionState.getLanguage();\r\n private _languageChange$ = new Subject<string>();\r\n\r\n private uiLocalizations$ = new BehaviorSubject(\r\n new Map<string, Map<string, Record<string, string>>>(),\r\n );\r\n\r\n private localizations$ = new BehaviorSubject(new Map<string, Record<string, string>>());\r\n\r\n /**\r\n * Returns currently selected language\r\n * Even though this looks like it's redundant to return the same value as `getLanguage()`,\r\n * it's actually not. This could be invoked any time, and the latestLang could be different from the\r\n * sessionState.getLanguage() value.\r\n */\r\n get currentLang(): string {\r\n return this.latestLang || this.sessionState.getLanguage();\r\n }\r\n\r\n get currentLang$(): Observable<string> {\r\n return this.sessionState.getLanguage$();\r\n }\r\n\r\n get languageChange$(): Observable<string> {\r\n return this._languageChange$.asObservable();\r\n }\r\n\r\n constructor(\r\n private sessionState: SessionStateService,\r\n private injector: Injector,\r\n @Optional()\r\n @SkipSelf()\r\n otherInstance: LocalizationService,\r\n private configState: ConfigStateService,\r\n ) {\r\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\r\n\r\n this.listenToSetLanguage();\r\n this.initLocalizationValues();\r\n }\r\n\r\n private initLocalizationValues() {\r\n localizations$.subscribe(val => this.addLocalization(val));\r\n\r\n const legacyResources$ = this.configState.getDeep$('localization.values') as Observable<\r\n Record<string, Record<string, string>>\r\n >;\r\n\r\n const remoteLocalizations$ = this.configState.getDeep$('localization.resources') as Observable<\r\n Record<string, ApplicationLocalizationResourceDto>\r\n >;\r\n\r\n const currentLanguage$ = this.sessionState.getLanguage$();\r\n\r\n const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe(\r\n map(([currentLang, localizations]) => localizations.get(currentLang)),\r\n );\r\n\r\n combineLatest([legacyResources$, remoteLocalizations$, uiLocalizations$])\r\n .pipe(\r\n map(([legacy, resource, local]) => {\r\n if (!resource) {\r\n return;\r\n }\r\n const remote = combineLegacyandNewResources(legacy || {}, resource);\r\n if (remote) {\r\n if (!local) {\r\n local = new Map();\r\n }\r\n\r\n Object.entries(remote).forEach(entry => {\r\n const resourceName = entry[0];\r\n const remoteTexts = entry[1];\r\n let resource = local?.get(resourceName) || {};\r\n resource = { ...resource, ...remoteTexts };\r\n\r\n local?.set(resourceName, resource);\r\n });\r\n }\r\n\r\n return local;\r\n }),\r\n filter(Boolean),\r\n )\r\n .subscribe(val => this.localizations$.next(val));\r\n }\r\n\r\n addLocalization(localizations?: ABP.Localization[]) {\r\n if (!localizations) return;\r\n\r\n const localizationMap = this.uiLocalizations$.value;\r\n\r\n localizations.forEach(loc => {\r\n const cultureMap =\r\n localizationMap.get(loc.culture) || new Map<string, Record<string, string>>();\r\n\r\n loc.resources.forEach(res => {\r\n let resource: Record<string, string> = cultureMap.get(res.resourceName) || {};\r\n\r\n resource = { ...resource, ...res.texts };\r\n\r\n cultureMap.set(res.resourceName, resource);\r\n });\r\n\r\n localizationMap.set(loc.culture, cultureMap);\r\n });\r\n\r\n this.uiLocalizations$.next(localizationMap);\r\n }\r\n\r\n private listenToSetLanguage() {\r\n this.sessionState\r\n .onLanguageChange$()\r\n .pipe(\r\n filter(\r\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\r\n ),\r\n switchMap(lang => this.configState.refreshLocalization(lang).pipe(map(() => lang))),\r\n filter(Boolean),\r\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\r\n )\r\n .subscribe(lang => this._languageChange$.next(lang));\r\n }\r\n\r\n registerLocale(locale: string) {\r\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\r\n\r\n return registerLocaleFn(locale).then(module => {\r\n if (module?.default) registerLocaleData(module.default);\r\n this.latestLang = locale;\r\n });\r\n }\r\n\r\n /**\r\n * Returns an observable localized text with the given interpolation parameters in current language.\r\n * @param key Localizaton key to replace with localized text\r\n * @param interpolateParams Values to interpolate\r\n */\r\n get(key: string | LocalizationWithDefault, ...interpolateParams: string[]): Observable<string> {\r\n return this.configState\r\n .getAll$()\r\n .pipe(map(state => this.getLocalization(state, key, ...interpolateParams)));\r\n }\r\n\r\n getResource(resourceName: string) {\r\n return this.localizations$.value.get(resourceName);\r\n }\r\n\r\n getResource$(resourceName: string) {\r\n return this.localizations$.pipe(map(res => res.get(resourceName)));\r\n }\r\n\r\n /**\r\n * Returns localized text with the given interpolation parameters in current language.\r\n * @param key Localization key to replace with localized text\r\n * @param interpolateParams Values to intepolate.\r\n */\r\n instant(key: string | LocalizationWithDefault, ...interpolateParams: string[]): string {\r\n return this.getLocalization(this.configState.getAll(), key, ...interpolateParams);\r\n }\r\n\r\n localize(resourceName: string, key: string, defaultValue: string): Observable<string | null> {\r\n return this.configState.getOne$('localization').pipe(\r\n map(createLocalizer),\r\n map(localize => localize(resourceName, key, defaultValue)),\r\n );\r\n }\r\n\r\n localizeSync(resourceName: string, key: string, defaultValue: string): string | null {\r\n const localization = this.configState.getOne('localization');\r\n return createLocalizer(localization)(resourceName, key, defaultValue);\r\n }\r\n\r\n localizeWithFallback(\r\n resourceNames: string[],\r\n keys: string[],\r\n defaultValue: string,\r\n ): Observable<string> {\r\n return this.configState.getOne$('localization').pipe(\r\n map(createLocalizerWithFallback),\r\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\r\n );\r\n }\r\n\r\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\r\n const localization = this.configState.getOne('localization');\r\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\r\n }\r\n\r\n private getLocalization(\r\n state: ApplicationConfigurationDto,\r\n key: string | LocalizationWithDefault,\r\n ...interpolateParams: string[]\r\n ) {\r\n let defaultValue = '';\r\n\r\n if (!key) {\r\n return defaultValue;\r\n }\r\n\r\n if (typeof key !== 'string') {\r\n defaultValue = key.defaultValue;\r\n key = key.key;\r\n }\r\n\r\n const keys = key.split('::') as string[];\r\n const warn = (message: string) => {\r\n if (isDevMode()) console.warn(message);\r\n };\r\n\r\n if (keys.length < 2) {\r\n warn('The localization source separator (::) not found.');\r\n return defaultValue || (key as string);\r\n }\r\n if (!state.localization) return defaultValue || keys[1];\r\n\r\n const sourceName = keys[0] || state.localization.defaultResourceName;\r\n const sourceKey = keys[1];\r\n\r\n if (sourceName === '_') {\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n if (!sourceName) {\r\n warn(\r\n 'Localization source name is not specified and the defaultResourceName was not defined!',\r\n );\r\n\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n const source = this.localizations$.value.get(sourceName);\r\n if (!source) {\r\n warn('Could not find localization source: ' + sourceName);\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n let localization = source[sourceKey];\r\n if (typeof localization === 'undefined') {\r\n return defaultValue || sourceKey;\r\n }\r\n\r\n interpolateParams = interpolateParams.filter(params => params != null);\r\n if (localization) localization = interpolate(localization, interpolateParams);\r\n\r\n if (typeof localization !== 'string') localization = '';\r\n\r\n return localization || defaultValue || (key as string);\r\n }\r\n}\r\n\r\nfunction recursivelyMergeBaseResources(\r\n baseResourceName: string,\r\n source: ResourceDto,\r\n): ApplicationLocalizationResourceDto {\r\n const item = source[baseResourceName];\r\n\r\n if (item.baseResources.length === 0) {\r\n return item;\r\n }\r\n\r\n return item.baseResources.reduce((acc, baseResource) => {\r\n const baseItem = recursivelyMergeBaseResources(baseResource, source);\r\n const texts = { ...baseItem.texts, ...item.texts };\r\n return { ...acc, texts };\r\n }, item);\r\n}\r\n\r\nfunction mergeResourcesWithBaseResource(resource: ResourceDto): ResourceDto {\r\n const entities: Array<[string, ApplicationLocalizationResourceDto]> = Object.keys(resource).map(\r\n key => {\r\n const newValue = recursivelyMergeBaseResources(key, resource);\r\n return [key, newValue];\r\n },\r\n );\r\n return entities.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\r\n}\r\n\r\nfunction combineLegacyandNewResources(\r\n legacy: LegacyLanguageDto,\r\n resource: ResourceDto,\r\n): LegacyLanguageDto {\r\n const mergedResource = mergeResourcesWithBaseResource(resource);\r\n\r\n return Object.entries(mergedResource).reduce((acc, [key, value]) => {\r\n return { ...acc, [key]: value.texts };\r\n }, legacy);\r\n}\r\n\r\nexport type LegacyLanguageDto = Record<string, Record<string, string>>;\r\nexport type ResourceDto = Record<string, ApplicationLocalizationResourceDto>;\r\n","import { Component, inject, isDevMode, OnInit, Optional, SkipSelf, Type } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { eLayoutType } from '../enums/common';\r\nimport { ABP } from '../models';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { RouterEvents } from '../services/router-events.service';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { TreeNode } from '../utils/tree-utils';\r\nimport { DYNAMIC_LAYOUTS_TOKEN } from '../tokens/dynamic-layout.token';\r\nimport { EnvironmentService } from '../services';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-dynamic-layout',\r\n template: `\r\n @if (isLayoutVisible) {\r\n <ng-container [ngComponentOutlet]=\"layout\"></ng-container>\r\n }\r\n `,\r\n providers: [SubscriptionService],\r\n})\r\nexport class DynamicLayoutComponent implements OnInit {\r\n layout?: Type<any>;\r\n layoutKey?: eLayoutType;\r\n readonly layouts = inject(DYNAMIC_LAYOUTS_TOKEN);\r\n isLayoutVisible = true;\r\n\r\n protected readonly router = inject(Router);\r\n protected readonly route = inject(ActivatedRoute);\r\n protected readonly routes = inject(RoutesService);\r\n protected readonly localizationService = inject(LocalizationService);\r\n protected readonly replaceableComponents = inject(ReplaceableComponentsService);\r\n protected readonly subscription = inject(SubscriptionService);\r\n protected readonly routerEvents = inject(RouterEvents);\r\n protected readonly environment = inject(EnvironmentService);\r\n\r\n constructor(@Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent) {\r\n if (dynamicLayoutComponent) {\r\n if (isDevMode()) console.warn('DynamicLayoutComponent must be used only in AppComponent.');\r\n return;\r\n }\r\n this.checkLayoutOnNavigationEnd();\r\n this.listenToLanguageChange();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.layout) {\r\n return;\r\n }\r\n\r\n const { oAuthConfig } = this.environment.getEnvironment();\r\n if (oAuthConfig.responseType === 'code') {\r\n this.getLayout();\r\n }\r\n }\r\n\r\n private checkLayoutOnNavigationEnd() {\r\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\r\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\r\n }\r\n\r\n private getLayout() {\r\n let expectedLayout = this.getExtractedLayout();\r\n\r\n if (!expectedLayout) expectedLayout = eLayoutType.empty;\r\n\r\n if (this.layoutKey === expectedLayout) return;\r\n\r\n const key = this.layouts.get(expectedLayout);\r\n if (key) {\r\n this.layout = this.getComponent(key)?.component;\r\n this.layoutKey = expectedLayout;\r\n }\r\n if (!this.layout) {\r\n this.showLayoutNotFoundError(expectedLayout);\r\n }\r\n }\r\n\r\n private getExtractedLayout() {\r\n const routeData = this.route.snapshot.data || {};\r\n let expectedLayout = routeData['layout'] as eLayoutType;\r\n\r\n let node = findRoute(this.routes, getRoutePath(this.router));\r\n node = { parent: node } as TreeNode<ABP.Route>;\r\n\r\n while (node.parent) {\r\n node = node.parent;\r\n\r\n if (node.layout) {\r\n expectedLayout = node.layout;\r\n break;\r\n }\r\n }\r\n return expectedLayout;\r\n }\r\n\r\n showLayoutNotFoundError(layoutName: string) {\r\n let message = `Layout ${layoutName} not found.`;\r\n if (layoutName === 'account') {\r\n message =\r\n 'Account layout not found. Please check your configuration. If you are using LeptonX, please make sure you have added \"AccountLayoutModule.forRoot()\" to your app.module configuration.';\r\n }\r\n console.warn(message);\r\n }\r\n\r\n private listenToLanguageChange() {\r\n this.subscription.addOne(this.localizationService.languageChange$, () => {\r\n this.isLayoutVisible = false;\r\n setTimeout(() => (this.isLayoutVisible = true), 0);\r\n });\r\n }\r\n\r\n private getComponent(key: string): ReplaceableComponents.ReplaceableComponent | undefined {\r\n return this.replaceableComponents.get(key);\r\n }\r\n}\r\n","import { Component, OnInit, Type } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-replaceable-route-container',\r\n template: `\r\n <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\r\n `,\r\n providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableRouteContainerComponent implements OnInit {\r\n defaultComponent!: Type<any>;\r\n\r\n componentKey!: string;\r\n\r\n externalComponent?: Type<any>;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\r\n this.componentKey = (\r\n this.route.snapshot.data.replaceableComponent as ReplaceableComponents.RouteData\r\n ).key;\r\n\r\n const component$ = this.replaceableComponents\r\n .get$(this.componentKey)\r\n .pipe(distinctUntilChanged());\r\n\r\n this.subscription.addOne(\r\n component$,\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n this.externalComponent = res.component;\r\n },\r\n );\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-router-outlet',\r\n template: ` <router-outlet></router-outlet> `,\r\n})\r\nexport class RouterOutletComponent {}\r\n","// Different locales from .NET\r\n// Key is .NET locale, value is Angular locale\r\n\r\nexport const differentLocales = {\r\n aa: 'en',\r\n 'aa-DJ': 'en',\r\n 'aa-ER': 'en',\r\n 'aa-ET': 'en',\r\n 'af-ZA': 'af',\r\n 'agq-CM': 'agq',\r\n 'ak-GH': 'ak',\r\n 'am-ET': 'am',\r\n 'ar-001': 'ar',\r\n arn: 'en',\r\n 'arn-CL': 'en',\r\n 'as-IN': 'as',\r\n 'asa-TZ': 'asa',\r\n 'ast-ES': 'ast',\r\n 'az-Cyrl-AZ': 'az-Cyrl',\r\n 'az-Latn-AZ': 'az-Latn',\r\n ba: 'ru',\r\n 'ba-RU': 'ru',\r\n 'bas-CM': 'bas',\r\n 'be-BY': 'be',\r\n 'bem-ZM': 'bem',\r\n 'bez-TZ': 'bez',\r\n 'bg-BG': 'bg',\r\n bin: 'en',\r\n 'bin-NG': 'en',\r\n 'bm-Latn': 'bm',\r\n 'bm-Latn-ML': 'bm',\r\n 'bn-BD': 'bn',\r\n 'bo-CN': 'bo',\r\n 'br-FR': 'br',\r\n 'brx-IN': 'brx',\r\n 'bs-Cyrl-BA': 'bs-Cyrl',\r\n 'bs-Latn-BA': 'bs-Latn',\r\n byn: 'en',\r\n 'byn-ER': 'en',\r\n 'ca-ES': 'ca',\r\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\r\n 'ce-RU': 'ce',\r\n 'cgg-UG': 'cgg',\r\n 'chr-Cher': 'chr',\r\n 'chr-Cher-US': 'chr',\r\n co: 'en',\r\n 'co-FR': 'fr',\r\n 'cs-CZ': 'cs',\r\n 'cu-RU': 'cu',\r\n 'cy-GB': 'cy',\r\n 'da-DK': 'da',\r\n 'dav-KE': 'dav',\r\n 'de-DE': 'de',\r\n 'dje-NE': 'dje',\r\n 'dsb-DE': 'dsb',\r\n 'dua-CM': 'dua',\r\n dv: 'en',\r\n 'dv-MV': 'en',\r\n 'dyo-SN': 'dyo',\r\n 'dz-BT': 'dz',\r\n 'ebu-KE': 'ebu',\r\n 'ee-GH': 'ee',\r\n 'el-GR': 'el',\r\n 'en-029': 'en',\r\n 'en-ID': 'en',\r\n 'en-US': 'en',\r\n 'eo-001': 'en',\r\n 'es-ES': 'es',\r\n 'et-EE': 'et',\r\n 'eu-ES': 'eu',\r\n 'ewo-CM': 'ewo',\r\n 'fa-IR': 'fa',\r\n 'ff-Latn-SN': 'ff-Latn',\r\n 'ff-NG': 'ff',\r\n 'fi-FI': 'fi',\r\n 'fil-PH': 'fil',\r\n 'fo-FO': 'fo',\r\n 'fr-029': 'fr',\r\n 'fr-FR': 'fr',\r\n 'fur-IT': 'fur',\r\n 'fy-NL': 'fy',\r\n 'ga-IE': 'ga',\r\n 'gd-GB': 'gd',\r\n 'gl-ES': 'gl',\r\n gn: 'en',\r\n 'gn-PY': 'en',\r\n 'gsw-CH': 'gsw',\r\n 'gu-IN': 'gu',\r\n 'guz-KE': 'guz',\r\n 'gv-IM': 'gv',\r\n 'ha-Latn': 'ha',\r\n 'ha-Latn-GH': 'ha-GH',\r\n 'ha-Latn-NE': 'ha-NE',\r\n 'ha-Latn-NG': 'ha',\r\n 'haw-US': 'haw',\r\n 'he-IL': 'he',\r\n 'hi-IN': 'hi',\r\n 'hr-HR': 'hr',\r\n 'hsb-DE': 'hsb',\r\n 'hu-HU': 'hu',\r\n 'hy-AM': 'hy',\r\n 'ia-001': 'ia',\r\n 'ia-FR': 'ia',\r\n ibb: 'en',\r\n 'ibb-NG': 'en',\r\n 'id-ID': 'id',\r\n 'ig-NG': 'ig',\r\n 'ii-CN': 'ii',\r\n 'is-IS': 'is',\r\n 'it-IT': 'it',\r\n iu: 'en',\r\n 'iu-Cans': 'en',\r\n 'iu-Cans-CA': 'en',\r\n 'iu-Latn': 'en',\r\n 'iu-Latn-CA': 'en',\r\n 'ja-JP': 'ja',\r\n 'jgo-CM': 'jgo',\r\n 'jmc-TZ': 'jmc',\r\n 'jv-Java': 'jv',\r\n 'jv-Java-ID': 'jv',\r\n 'jv-Latn': 'jv',\r\n 'jv-Latn-ID': 'jv',\r\n 'ka-GE': 'ka',\r\n 'kab-DZ': 'kab',\r\n 'kam-KE': 'kam',\r\n 'kde-TZ': 'kde',\r\n 'kea-CV': 'kea',\r\n 'khq-ML': 'khq',\r\n 'ki-KE': 'ki',\r\n 'kk-KZ': 'kk',\r\n 'kkj-CM': 'kkj',\r\n 'kl-GL': 'kl',\r\n 'kln-KE': 'kln',\r\n 'km-KH': 'km',\r\n 'kn-IN': 'kn',\r\n 'ko-KR': 'ko',\r\n 'kok-IN': 'kok',\r\n kr: 'en',\r\n 'kr-NG': 'en',\r\n 'ks-Arab': 'ks',\r\n 'ks-Arab-IN': 'ks',\r\n 'ks-Deva': 'ks',\r\n 'ks-Deva-IN': 'ks',\r\n 'ksb-TZ': 'ksb',\r\n 'ksf-CM': 'ksf',\r\n 'ksh-DE': 'ksh',\r\n 'ku-Arab': 'ku',\r\n 'ku-Arab-IQ': 'ku',\r\n 'ku-Arab-IR': 'ku',\r\n 'kw-GB': 'kw',\r\n 'ky-KG': 'ky',\r\n la: 'en',\r\n 'la-001': 'en',\r\n 'lag-TZ': 'lag',\r\n 'lb-LU': 'lb',\r\n 'lg-UG': 'lg',\r\n 'lkt-US': 'lkt',\r\n 'ln-CD': 'ln',\r\n 'lo-LA': 'lo',\r\n 'lrc-IR': 'lrc',\r\n 'lt-LT': 'lt',\r\n 'lu-CD': 'lu',\r\n 'luo-KE': 'luo',\r\n 'luy-KE': 'luy',\r\n 'lv-LV': 'lv',\r\n 'mas-KE': 'mas',\r\n 'mer-KE': 'mer',\r\n 'mfe-MU': 'mfe',\r\n 'mg-MG': 'mg',\r\n 'mgh-MZ': 'mgh',\r\n 'mgo-CM': 'mgo',\r\n 'mi-NZ': 'mi',\r\n 'mk-MK': 'mk',\r\n 'ml-IN': 'ml',\r\n 'mn-Cyrl': 'mn',\r\n 'mn-MN': 'mn',\r\n 'mn-Mong': 'mn',\r\n 'mn-Mong-CN': 'mn',\r\n 'mn-Mong-MN': 'mn',\r\n mni: 'en',\r\n 'mni-IN': 'en',\r\n moh: 'en',\r\n 'moh-CA': 'en',\r\n 'mr-IN': 'mr',\r\n 'ms-MY': 'ms',\r\n 'mt-MT': 'mt',\r\n 'mua-CM': 'mua',\r\n 'my-MM': 'my',\r\n 'mzn-IR': 'mzn',\r\n 'naq-NA': 'naq',\r\n 'nb-NO': 'nb',\r\n\r\n 'nd-ZW': 'nd',\r\n 'ne-NP': 'ne',\r\n 'nl-NL': 'nl',\r\n 'nmg-CM': 'ngm',\r\n 'nn-NO': 'nn',\r\n 'nnh-CM': 'nnh',\r\n no: 'en',\r\n nqo: 'en',\r\n 'nqo-GN': 'en',\r\n nr: 'en',\r\n 'nr-ZA': 'en',\r\n nso: 'en',\r\n 'nso-ZA': 'en',\r\n 'nus-SS': 'nus',\r\n 'nyn-UG': 'nyn',\r\n oc: 'en',\r\n 'oc-FR': 'fr',\r\n 'om-ET': 'om',\r\n 'or-IN': 'or',\r\n 'os-GE': 'os',\r\n 'pa-Arab-PK': 'pa-Arab',\r\n 'pa-IN': 'pa',\r\n pap: 'en',\r\n 'pap-029': 'en',\r\n 'pl-PL': 'pl',\r\n 'prg-001': 'prg',\r\n prs: 'en',\r\n 'prs-AF': 'en',\r\n 'ps-AF': 'ps',\r\n 'pt-BR': 'pt',\r\n quc: 'en',\r\n 'quc-Latn': 'en',\r\n 'quc-Latn-GT': 'en',\r\n quz: 'en',\r\n 'quz-BO': 'en',\r\n 'quz-EC': 'en',\r\n 'quz-PE': 'en',\r\n 'rm-CH': 'rm',\r\n 'rn-BI': 'rn',\r\n 'ro-RO': 'ro',\r\n 'rof-TZ': 'rof',\r\n 'ru-RU': 'ru',\r\n 'rw-RW': 'rw',\r\n 'rwk-TZ': 'rwk',\r\n sa: 'en',\r\n 'sa-IN': 'en',\r\n 'sah-RU': 'sah',\r\n 'saq-KE': 'saq',\r\n 'sbp-TZ': 'en',\r\n 'sd-Arab': 'sd',\r\n 'sd-Arab-PK': 'sd',\r\n 'sd-Deva': 'sd',\r\n 'sd-Deva-IN': 'sd',\r\n 'se-NO': 'se',\r\n 'seh-MZ': 'seh',\r\n 'ses-ML': 'ses',\r\n 'sg-CF': 'sg',\r\n 'shi-Latn-MA': 'shi-Latn',\r\n 'shi-Tfng-MA': 'shi-Tfng',\r\n 'si-LK': 'si',\r\n 'sk-SK': 'sk',\r\n 'sl-SI': 'sl',\r\n sma: 'en',\r\n 'sma-NO': 'en',\r\n 'sma-SE': 'en',\r\n smj: 'en',\r\n 'smj-NO': 'en',\r\n 'smj-SE': 'en',\r\n 'smn-FI': 'en',\r\n sms: 'en',\r\n 'sms-FI': 'en',\r\n 'sn-Latn': 'sn',\r\n 'sn-Latn-ZW': 'sn',\r\n 'so-SO': 'so',\r\n 'sq-AL': 'so',\r\n 'sr-Cyrl-RS': 'sr-Cryl',\r\n 'sr-Latn-RS': 'sr-Latn',\r\n ss: 'en',\r\n 'ss-SZ': 'en',\r\n 'ss-ZA': 'en',\r\n ssy: 'en',\r\n 'ssy-ER': 'en',\r\n st: 'en',\r\n 'st-LS': 'en',\r\n 'st-ZA': 'en',\r\n 'sv-SE': 'sv',\r\n 'sw-TZ': 'sw',\r\n syr: 'en',\r\n 'syr-SY': 'en',\r\n 'ta-IN': 'ta',\r\n 'te-IN': 'te',\r\n 'teo-UG': 'teo',\r\n 'tg-Cyrl': 'tg',\r\n 'tg-Cyrl-TJ': 'tg',\r\n 'th-TH': 'th',\r\n 'ti-ET': 'ti',\r\n tig: 'en',\r\n 'tig-ER': 'en',\r\n 'tk-TM': 'tk',\r\n tn: 'en',\r\n 'tn-BW': 'en',\r\n 'tn-ZA': 'en',\r\n 'to-TO': 'to',\r\n 'tr-TR': 'tr',\r\n ts: 'en',\r\n 'ts-ZA': 'en',\r\n 'tt-RU': 'tt',\r\n 'twq-NE': 'twq',\r\n 'tzm-Arab': 'tzm',\r\n 'tzm-Arab-MA': 'tzm',\r\n 'tzm-Latn': 'tzm',\r\n 'tzm-Latn-DZ': 'tzm',\r\n 'tzm-Latn-MA': 'tzm',\r\n 'tzm-Tfng': 'tzm',\r\n 'tzm-Tfng-MA': 'tzm',\r\n 'ug-CN': 'ug',\r\n 'uk-UA': 'uk',\r\n 'ur-PK': 'ur',\r\n 'uz-Arab-AF': 'uz-Arab',\r\n 'uz-Cyrl-UZ': 'uz-Cyrl',\r\n 'uz-Latn-UZ': 'uz-Latn',\r\n 'vai-Latn-LR': 'vai-Latn',\r\n 'vai-Vaii-LR': 'vai-Vaii',\r\n ve: 'en',\r\n 've-ZA': 'en',\r\n 'vi-VN': 'vi',\r\n 'vo-001': 'vo',\r\n 'vun-TZ': 'vun',\r\n 'wae-CH': 'wae',\r\n wal: 'en',\r\n 'wal-ET': 'en',\r\n 'wo-SN': 'wo',\r\n 'xh-ZA': 'xh',\r\n 'xog-UG': 'xog',\r\n 'yav-CM': 'yav',\r\n 'yi-001': 'yi',\r\n 'yo-NG': 'yo',\r\n 'zgh-Tfng': 'zgh',\r\n 'zgh-Tfng-MA': 'zgh',\r\n 'zh-CN': 'zh',\r\n 'zh-HK': 'zh',\r\n 'zh-MO': 'zh',\r\n 'zh-SG': 'zh',\r\n 'zh-TW': 'zh',\r\n 'zu-ZA': 'zu',\r\n};\r\n","import {eLayoutType, eThemeSharedComponents} from \"../enums\";\r\n\r\nexport const DEFAULT_DYNAMIC_LAYOUTS = new Map<string, string>([\r\n [eLayoutType.application, eThemeSharedComponents.ApplicationLayoutComponent],\r\n [eLayoutType.account, eThemeSharedComponents.AccountLayoutComponent],\r\n [eLayoutType.empty, eThemeSharedComponents.EmptyLayoutComponent],\r\n]);\r\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[autofocus]',\r\n})\r\nexport class AutofocusDirective implements AfterViewInit {\r\n private _delay = 0;\r\n\r\n @Input('autofocus')\r\n set delay(val: number | string | undefined) {\r\n this._delay = Number(val) || 0;\r\n }\r\n\r\n get delay() {\r\n return this._delay;\r\n }\r\n\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay as number);\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[input.debounce]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class InputEventDebounceDirective implements OnInit {\r\n @Input() debounce = 300;\r\n\r\n @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\r\n\r\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n ngOnInit(): void {\r\n const input$ = fromEvent<InputEvent>(this.el.nativeElement, 'input').pipe(\r\n debounceTime(this.debounce),\r\n );\r\n\r\n this.subscription.addOne(input$, (event: Event) => {\r\n this.debounceEvent.emit(event);\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n IterableChangeRecord,\r\n IterableChanges,\r\n IterableDiffer,\r\n IterableDiffers,\r\n OnChanges,\r\n TemplateRef,\r\n TrackByFunction,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport clone from 'just-clone';\r\nimport compare from 'just-compare';\r\n\r\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\r\n\r\nclass AbpForContext {\r\n constructor(\r\n public $implicit: any,\r\n public index: number,\r\n public count: number,\r\n public list: any[],\r\n ) {}\r\n}\r\n\r\nclass RecordView {\r\n constructor(\r\n public record: IterableChangeRecord<any>,\r\n public view: EmbeddedViewRef<AbpForContext>,\r\n ) {}\r\n}\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpFor]',\r\n})\r\nexport class ForDirective implements OnChanges {\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('abpForOf')\r\n items!: any[];\r\n\r\n @Input('abpForOrderBy')\r\n orderBy?: string;\r\n\r\n @Input('abpForOrderDir')\r\n orderDir?: 'ASC' | 'DESC';\r\n\r\n @Input('abpForFilterBy')\r\n filterBy?: string;\r\n\r\n @Input('abpForFilterVal')\r\n filterVal: any;\r\n\r\n @Input('abpForTrackBy')\r\n trackBy?: TrackByFunction<any>;\r\n\r\n @Input('abpForCompareBy')\r\n compareBy?: CompareFn;\r\n\r\n @Input('abpForEmptyRef')\r\n emptyRef?: TemplateRef<any>;\r\n\r\n private differ!: IterableDiffer<any> | null;\r\n\r\n private isShowEmptyRef!: boolean;\r\n\r\n get compareFn(): CompareFn {\r\n return this.compareBy || compare;\r\n }\r\n\r\n get trackByFn(): TrackByFunction<any> {\r\n return this.trackBy || ((index: number, item: any) => (item as any).id || index);\r\n }\r\n\r\n constructor(\r\n private tempRef: TemplateRef<AbpForContext>,\r\n private vcRef: ViewContainerRef,\r\n private differs: IterableDiffers,\r\n ) {}\r\n\r\n private iterateOverAppliedOperations(changes: IterableChanges<any>) {\r\n const rw: RecordView[] = [];\r\n\r\n changes.forEachOperation(\r\n (\r\n record: IterableChangeRecord<any>,\r\n previousIndex: number | null,\r\n currentIndex: number | null,\r\n ) => {\r\n if (record.previousIndex == null) {\r\n const view = this.vcRef.createEmbeddedView(\r\n this.tempRef,\r\n new AbpForContext(null, -1, -1, this.items),\r\n currentIndex || 0,\r\n );\r\n\r\n rw.push(new RecordView(record, view));\r\n } else if (currentIndex == null && previousIndex !== null) {\r\n this.vcRef.remove(previousIndex);\r\n } else {\r\n if (previousIndex !== null) {\r\n const view = this.vcRef.get(previousIndex);\r\n if (view && currentIndex !== null) {\r\n this.vcRef.move(view, currentIndex);\r\n rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\r\n }\r\n }\r\n }\r\n },\r\n );\r\n\r\n for (let i = 0, l = rw.length; i < l; i++) {\r\n rw[i].view.context.$implicit = rw[i].record.item;\r\n }\r\n }\r\n\r\n private iterateOverAttachedViews(changes: IterableChanges<any>) {\r\n for (let i = 0, l = this.vcRef.length; i < l; i++) {\r\n const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\r\n viewRef.context.index = i;\r\n viewRef.context.count = l;\r\n viewRef.context.list = this.items;\r\n }\r\n\r\n changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\r\n if (record.currentIndex !== null) {\r\n const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\r\n viewRef.context.$implicit = record.item;\r\n }\r\n });\r\n }\r\n\r\n private projectItems(items: any[]): void {\r\n if (!items.length && this.emptyRef) {\r\n this.vcRef.clear();\r\n this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\r\n this.isShowEmptyRef = true;\r\n this.differ = null;\r\n\r\n return;\r\n }\r\n\r\n if (this.emptyRef && this.isShowEmptyRef) {\r\n this.vcRef.clear();\r\n this.isShowEmptyRef = false;\r\n }\r\n\r\n if (!this.differ && items) {\r\n this.differ = this.differs.find(items).create(this.trackByFn);\r\n }\r\n\r\n if (this.differ) {\r\n const changes = this.differ.diff(items);\r\n\r\n if (changes) {\r\n this.iterateOverAppliedOperations(changes);\r\n this.iterateOverAttachedViews(changes);\r\n }\r\n }\r\n }\r\n\r\n private sortItems(items: any[]) {\r\n const orderBy = this.orderBy;\r\n if (orderBy) {\r\n items.sort((a, b) => (a[orderBy] > b[orderBy] ? 1 : a[orderBy] < b[orderBy] ? -1 : 0));\r\n } else {\r\n items.sort();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n let items = clone(this.items) as any[];\r\n if (!Array.isArray(items)) return;\r\n\r\n const compareFn = this.compareFn;\r\n const filterBy = this.filterBy;\r\n if (\r\n typeof filterBy !== 'undefined' &&\r\n typeof this.filterVal !== 'undefined' &&\r\n this.filterVal !== ''\r\n ) {\r\n items = items.filter(item => compareFn(item[filterBy], this.filterVal));\r\n }\r\n\r\n switch (this.orderDir) {\r\n case 'ASC':\r\n this.sortItems(items);\r\n this.projectItems(items);\r\n break;\r\n\r\n case 'DESC':\r\n this.sortItems(items);\r\n items.reverse();\r\n this.projectItems(items);\r\n break;\r\n\r\n default:\r\n this.projectItems(items);\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Self,\r\n} from '@angular/core';\r\nimport { FormGroupDirective, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { fromEvent } from 'rxjs';\r\nimport { debounceTime, filter } from 'rxjs/operators';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\ntype Controls = { [key: string]: UntypedFormControl } | UntypedFormGroup[];\r\n/**\r\n * @deprecated FormSubmitDirective will be removed in V7.0.0. Use `ngSubmit` instead.\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: 'form[ngSubmit][formGroup]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class FormSubmitDirective implements OnInit {\r\n @Input()\r\n debounce = 200;\r\n\r\n // TODO: Remove unused input\r\n @Input()\r\n notValidateOnSubmit?: string | boolean;\r\n\r\n @Input()\r\n markAsDirtyWhenSubmit = true;\r\n\r\n @Output() readonly ngSubmit = new EventEmitter();\r\n\r\n executedNgSubmit = false;\r\n\r\n constructor(\r\n @Self() private formGroupDirective: FormGroupDirective,\r\n private host: ElementRef<HTMLFormElement>,\r\n private cdRef: ChangeDetectorRef,\r\n private subscription: SubscriptionService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\r\n if (this.markAsDirtyWhenSubmit) {\r\n this.markAsDirty();\r\n }\r\n\r\n this.executedNgSubmit = true;\r\n });\r\n\r\n const keyup$ = fromEvent<KeyboardEvent>(this.host.nativeElement as HTMLElement, 'keyup').pipe(\r\n debounceTime(this.debounce),\r\n filter(event => !(event.target instanceof HTMLTextAreaElement)),\r\n filter(event => event && event.key === 'Enter'),\r\n );\r\n\r\n this.subscription.addOne(keyup$, () => {\r\n if (!this.executedNgSubmit) {\r\n this.host.nativeElement.dispatchEvent(\r\n new Event('submit', { bubbles: true, cancelable: true }),\r\n );\r\n }\r\n\r\n this.executedNgSubmit = false;\r\n });\r\n }\r\n\r\n markAsDirty() {\r\n const { form } = this.formGroupDirective;\r\n\r\n setDirty(form.controls as { [key: string]: UntypedFormControl });\r\n form.markAsDirty();\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n}\r\n\r\nfunction setDirty(controls: Controls) {\r\n if (Array.isArray(controls)) {\r\n controls.forEach(group => {\r\n setDirty(group.controls as { [key: string]: UntypedFormControl });\r\n });\r\n return;\r\n }\r\n\r\n Object.keys(controls).forEach(key => {\r\n controls[key].markAsDirty();\r\n controls[key].updateValueAndValidity();\r\n });\r\n}\r\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpInit]',\r\n})\r\nexport class InitDirective implements AfterViewInit {\r\n @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\r\n\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngAfterViewInit() {\r\n this.init.emit(this.elRef);\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Directive,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Optional,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ReplaySubject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged, take } from 'rxjs/operators';\r\nimport { PermissionService } from '../services/permission.service';\r\nimport { QUEUE_MANAGER } from '../tokens/queue.token';\r\nimport { QueueManager } from '../utils/queue';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpPermission]',\r\n})\r\nexport class PermissionDirective implements OnDestroy, OnChanges, AfterViewInit {\r\n @Input('abpPermission') condition: string | undefined;\r\n\r\n @Input('abpPermissionRunChangeDetection') runChangeDetection = true;\r\n\r\n subscription!: Subscription;\r\n\r\n cdrSubject = new ReplaySubject<void>();\r\n\r\n rendered = false;\r\n\r\n constructor(\r\n @Optional() private templateRef: TemplateRef<any>,\r\n private vcRef: ViewContainerRef,\r\n private permissionService: PermissionService,\r\n private cdRef: ChangeDetectorRef,\r\n @Inject(QUEUE_MANAGER) public queue: QueueManager,\r\n ) {}\r\n\r\n private check() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n this.subscription = this.permissionService\r\n .getGrantedPolicy$(this.condition || '')\r\n .pipe(distinctUntilChanged())\r\n .subscribe(isGranted => {\r\n this.vcRef.clear();\r\n if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\r\n if (this.runChangeDetection) {\r\n if (!this.rendered) {\r\n this.cdrSubject.next();\r\n } else {\r\n this.cdRef.detectChanges();\r\n }\r\n } else {\r\n this.cdRef.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription) this.subscription.unsubscribe();\r\n }\r\n\r\n ngOnChanges() {\r\n this.check();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdrSubject.pipe(take(1)).subscribe(() => this.queue.add(() => this.cdRef.detectChanges()));\r\n this.rendered = true;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport compare from 'just-compare';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ABP } from '../models/common';\r\nimport { ReplaceableComponents } from '../models/replaceable-components';\r\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpReplaceableTemplate]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\r\n @Input('abpReplaceableTemplate')\r\n data!: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\r\n\r\n providedData = {\r\n inputs: {},\r\n outputs: {},\r\n } as ReplaceableComponents.ReplaceableTemplateData<any, any>;\r\n\r\n context = {} as any;\r\n\r\n externalComponent!: Type<any>;\r\n\r\n defaultComponentRef: any;\r\n\r\n defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n\r\n initialized = false;\r\n\r\n constructor(\r\n private injector: Injector,\r\n private templateRef: TemplateRef<any>,\r\n private vcRef: ViewContainerRef,\r\n private replaceableComponents: ReplaceableComponentsService,\r\n private subscription: SubscriptionService,\r\n ) {\r\n this.context = {\r\n initTemplate: (ref: any) => {\r\n this.resetDefaultComponent();\r\n this.defaultComponentRef = ref;\r\n this.setDefaultComponentInputs();\r\n },\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n const component$ = this.replaceableComponents\r\n .get$(this.data.componentKey)\r\n .pipe(\r\n filter(\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) =>\r\n !this.initialized || !compare(res.component, this.externalComponent),\r\n ),\r\n );\r\n\r\n this.subscription.addOne(\r\n component$,\r\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\r\n this.vcRef.clear();\r\n this.externalComponent = res.component;\r\n if (this.defaultComponentRef) {\r\n this.resetDefaultComponent();\r\n }\r\n\r\n if (res.component) {\r\n this.setProvidedData();\r\n const customInjector = Injector.create({\r\n providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\r\n parent: this.injector,\r\n });\r\n const ref = this.vcRef.createComponent(res.component, {\r\n index: 0,\r\n injector: customInjector,\r\n });\r\n } else {\r\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\r\n }\r\n\r\n this.initialized = true;\r\n },\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.data?.currentValue?.inputs && this.defaultComponentRef) {\r\n this.setDefaultComponentInputs();\r\n }\r\n }\r\n\r\n setDefaultComponentInputs() {\r\n if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\r\n\r\n if (this.data.inputs) {\r\n for (const key in this.data.inputs) {\r\n if (Object.prototype.hasOwnProperty.call(this.data.inputs, key)) {\r\n if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\r\n this.defaultComponentRef[key] = this.data.inputs[key].value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.data.outputs) {\r\n for (const key in this.data.outputs) {\r\n if (Object.prototype.hasOwnProperty.call(this.data.outputs, key)) {\r\n if (!this.defaultComponentSubscriptions[key]) {\r\n this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\r\n (value: any) => {\r\n this.data.outputs?.[key](value);\r\n },\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setProvidedData() {\r\n this.providedData = { outputs: {}, ...this.data, inputs: {} };\r\n\r\n if (!this.data.inputs) return;\r\n Object.defineProperties(this.providedData.inputs, {\r\n ...Object.keys(this.data.inputs).reduce(\r\n (acc, key) => ({\r\n ...acc,\r\n [key]: {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => this.data.inputs?.[key]?.value,\r\n ...(this.data.inputs?.[key]?.twoWay && {\r\n set: (newValue: any) => {\r\n if (this.data.inputs?.[key]) {\r\n this.data.inputs[key].value = newValue;\r\n }\r\n if (this.data.outputs?.[`${key}Change`]) {\r\n this.data.outputs[`${key}Change`](newValue);\r\n }\r\n },\r\n }),\r\n },\r\n }),\r\n {},\r\n ),\r\n });\r\n }\r\n\r\n resetDefaultComponent() {\r\n Object.keys(this.defaultComponentSubscriptions).forEach(key => {\r\n this.defaultComponentSubscriptions[key].unsubscribe();\r\n });\r\n this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\r\n this.defaultComponentRef = null;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { SubscriptionService } from '../services/subscription.service';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[click.stop]',\r\n providers: [SubscriptionService],\r\n})\r\nexport class StopPropagationDirective implements OnInit {\r\n @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\r\n\r\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.addOne(fromEvent<MouseEvent>(this.el.nativeElement, 'click'), event => {\r\n event.stopPropagation();\r\n this.stopPropEvent.emit(event);\r\n });\r\n }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nimport { LocalizationWithDefault } from '../models/localization';\r\nimport { LocalizationService } from '../services/localization.service';\r\n\r\n@Injectable()\r\n@Pipe({\r\n standalone: false,\r\n name: 'abpLocalization',\r\n})\r\nexport class LocalizationPipe implements PipeTransform {\r\n constructor(private localization: LocalizationService) {}\r\n\r\n transform(\r\n value: string | LocalizationWithDefault = '',\r\n ...interpolateParams: (string | string[] | undefined)[]\r\n ): string {\r\n const params =\r\n interpolateParams.reduce((acc, val) => {\r\n if (!acc) {\r\n return val;\r\n }\r\n if (!val) {\r\n return acc;\r\n }\r\n return Array.isArray(val) ? [...acc, ...val] : [...acc, val];\r\n }, []) || [];\r\n return this.localization.instant(value, ...params);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\n\r\n@NgModule({\r\n exports: [LocalizationPipe],\r\n declarations: [LocalizationPipe],\r\n})\r\nexport class LocalizationModule {}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\nexport type SortOrder = 'asc' | 'desc';\r\n\r\n@Injectable()\r\n@Pipe({\r\n standalone: false,\r\n name: 'abpSort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any {\r\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\r\n\r\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\r\n\r\n let numberArray = [];\r\n let stringArray = [];\r\n\r\n if (!sortKey) {\r\n numberArray = value.filter(item => typeof item === 'number').sort();\r\n stringArray = value.filter(item => typeof item === 'string').sort();\r\n } else {\r\n numberArray = value\r\n .filter(item => typeof item[sortKey] === 'number')\r\n .sort((a, b) => a[sortKey] - b[sortKey]);\r\n stringArray = value\r\n .filter(item => typeof item[sortKey] === 'string')\r\n .sort((a, b) => {\r\n if (a[sortKey] < b[sortKey]) return -1;\r\n else if (a[sortKey] > b[sortKey]) return 1;\r\n else return 0;\r\n });\r\n }\r\n const sorted = [\r\n ...numberArray,\r\n ...stringArray,\r\n ...value.filter(\r\n item =>\r\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\r\n typeof (sortKey ? item[sortKey] : item) !== 'string',\r\n ),\r\n ];\r\n return sortOrder === 'asc' ? sorted : sorted.reverse();\r\n }\r\n}\r\n","import { InjectionToken, Injector, Pipe, PipeTransform } from '@angular/core';\r\n\r\nexport const INJECTOR_PIPE_DATA_TOKEN = new InjectionToken<PipeTransform>(\r\n 'INJECTOR_PIPE_DATA_TOKEN',\r\n);\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'toInjector',\r\n})\r\nexport class ToInjectorPipe implements PipeTransform {\r\n constructor(private injector: Injector) {}\r\n transform(\r\n value: any,\r\n token: InjectionToken<any> = INJECTOR_PIPE_DATA_TOKEN,\r\n name = 'ToInjectorPipe',\r\n ): Injector {\r\n return Injector.create({\r\n providers: [\r\n {\r\n provide: token,\r\n useValue: value,\r\n },\r\n ],\r\n parent: this.injector,\r\n name,\r\n });\r\n }\r\n}\r\n","export {};\r\n\r\ndeclare global {\r\n interface Date {\r\n toLocalISOString?: () => string;\r\n }\r\n}\r\n\r\nDate.prototype.toLocalISOString = function (this: Date): string {\r\n const timezoneOffset = this.getTimezoneOffset();\r\n\r\n return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\r\n};\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortDateShortTimeFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'shortDateTime',\r\n pure: true,\r\n})\r\nexport class ShortDateTimePipe extends DatePipe implements PipeTransform {\r\n\r\n constructor(private configStateService: ConfigStateService,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional() defaultTimezone?: string|null\r\n ) {\r\n super(locale, defaultTimezone)\r\n }\r\n\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(\r\n value: string|number|Date|null|undefined, timezone?: string,\r\n locale?: string): string|null {\r\n\r\n const format = getShortDateShortTimeFormat(this.configStateService);\r\n return super.transform(value,format,timezone,locale)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortTimeFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'shortTime',\r\n pure: true,\r\n})\r\nexport class ShortTimePipe extends DatePipe implements PipeTransform {\r\n\r\n constructor(private configStateService: ConfigStateService,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional() defaultTimezone?: string|null\r\n ) {\r\n super(locale, defaultTimezone)\r\n }\r\n\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(\r\n value: string|number|Date|null|undefined, timezone?: string,\r\n locale?: string): string|null {\r\n\r\n const format = getShortTimeFormat(this.configStateService);\r\n return super.transform(value,format,timezone,locale)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { DatePipe, DATE_PIPE_DEFAULT_TIMEZONE } from '@angular/common';\r\nimport { Inject, LOCALE_ID, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { ConfigStateService } from '../services';\r\nimport { getShortDateFormat } from '../utils/date-utils';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'shortDate',\r\n pure: true,\r\n})\r\nexport class ShortDatePipe extends DatePipe implements PipeTransform {\r\n\r\n constructor(private configStateService: ConfigStateService,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(DATE_PIPE_DEFAULT_TIMEZONE) @Optional() defaultTimezone?: string|null\r\n ) {\r\n super(locale, defaultTimezone)\r\n }\r\n\r\n transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null;\r\n transform(value: null | undefined, format?: string, timezone?: string, locale?: string): null;\r\n transform(\r\n value: string|number|Date|null|undefined, timezone?: string,\r\n locale?: string): string|null {\r\n\r\n const format = getShortDateFormat(this.configStateService);\r\n return super.transform(value,format,timezone,locale)\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { inject, Injectable, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Injectable()\r\n@Pipe({\r\n standalone: false,\r\n name: 'abpSafeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n transform(value: string): string {\r\n if (typeof value !== 'string') return '';\r\n return this.sanitizer.sanitize(SecurityContext.HTML, value);\r\n }\r\n}\r\n","import { Injector, inject, provideAppInitializer } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { SessionStateService } from '../services/session-state.service';\r\nimport { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token';\r\n\r\nexport function setLanguageToCookie() {\r\n const injector = inject(Injector);\r\n const sessionState = injector.get(SessionStateService);\r\n const document = injector.get(DOCUMENT);\r\n const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY);\r\n sessionState.getLanguage$().subscribe(language => {\r\n const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`);\r\n document.cookie = `${cookieLanguageKey}=${cookieValue}`;\r\n });\r\n}\r\n\r\nexport const CookieLanguageProvider = provideAppInitializer(() => {\r\n setLanguageToCookie();\r\n});\r\n","import { LOCALE_ID, Provider } from '@angular/core';\r\nimport { differentLocales } from '../constants/different-locales';\r\nimport { LocalizationService } from '../services/localization.service';\r\nimport { checkHasProp } from '../utils/common-utils';\r\n\r\nexport class LocaleId extends String {\r\n constructor(private localizationService: LocalizationService) {\r\n super();\r\n }\r\n\r\n toString(): string {\r\n const { currentLang } = this.localizationService;\r\n if (checkHasProp(differentLocales, currentLang)) {\r\n return differentLocales[currentLang];\r\n }\r\n return currentLang;\r\n }\r\n\r\n valueOf(): string {\r\n return this.toString();\r\n }\r\n}\r\n\r\nexport const LocaleProvider: Provider = {\r\n provide: LOCALE_ID,\r\n useClass: LocaleId,\r\n deps: [LocalizationService],\r\n};\r\n","import { Provider } from '@angular/core';\r\nimport { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';\r\n\r\nexport const IncludeLocalizationResourcesProvider: Provider = {\r\n provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n useValue: false,\r\n};\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { Route, Router } from '@angular/router';\r\nimport { ABP } from '../models';\r\nimport { RoutesService } from '../services/routes.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesHandler {\r\n constructor(\r\n private routes: RoutesService,\r\n @Optional() private router: Router,\r\n ) {\r\n this.addRoutes();\r\n }\r\n\r\n addRoutes() {\r\n (this.router?.config as RouteData[])?.forEach(({ path = '', data }: RouteData) => {\r\n const routes = data?.routes;\r\n if (!routes) return;\r\n\r\n if (Array.isArray(routes)) {\r\n this.routes.add(routes);\r\n } else {\r\n const routesFlatten = flatRoutes([{ path, ...routes }], { path: '' });\r\n this.routes.add(routesFlatten);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction flatRoutes(routes: RouteDef[], parent: any) {\r\n if (!routes) return [];\r\n\r\n return routes.reduce((acc, route) => {\r\n const { children, ...current } = {\r\n ...route,\r\n parentName: parent.name,\r\n path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\r\n };\r\n\r\n acc.push(current, ...flatRoutes(children, current));\r\n\r\n return acc;\r\n }, [] as ABP.Route[]);\r\n}\r\n\r\ntype RouteDef = ABP.Route & { children: RouteDef[] };\r\ntype RouteData = Route & { data: { routes: RouteDef | Array<RouteDef> } };\r\n","import { makeEnvironmentProviders, Provider, inject, provideAppInitializer } from '@angular/core';\r\nimport { TitleStrategy } from '@angular/router';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n withXsrfConfiguration,\r\n} from '@angular/common/http';\r\nimport {\r\n CORE_OPTIONS,\r\n LOCALIZATIONS,\r\n DYNAMIC_LAYOUTS_TOKEN,\r\n OTHERS_GROUP,\r\n QUEUE_MANAGER,\r\n SORT_COMPARE_FUNC,\r\n TENANT_KEY,\r\n compareFuncFactory,\r\n coreOptionsFactory,\r\n localizationContributor,\r\n} from '../tokens';\r\nimport { RoutesHandler } from '../handlers';\r\nimport { ABP, SortableItem } from '../models';\r\nimport { AuthErrorFilterService } from '../abstracts';\r\nimport { DEFAULT_DYNAMIC_LAYOUTS } from '../constants';\r\nimport { LocalizationService, LocalStorageListenerService, AbpTitleStrategy } from '../services';\r\nimport { DefaultQueueManager, getInitialData, localeInitializer } from '../utils';\r\nimport { CookieLanguageProvider, IncludeLocalizationResourcesProvider, LocaleProvider } from './';\r\n\r\nexport enum CoreFeatureKind {\r\n Options,\r\n CompareFunctionFactory,\r\n TitleStrategy,\r\n}\r\n\r\nexport interface CoreFeature<KindT extends CoreFeatureKind> {\r\n ɵkind: KindT;\r\n ɵproviders: Provider[];\r\n}\r\n\r\nfunction makeCoreFeature<KindT extends CoreFeatureKind>(\r\n kind: KindT,\r\n providers: Provider[],\r\n): CoreFeature<KindT> {\r\n return {\r\n ɵkind: kind,\r\n ɵproviders: providers,\r\n };\r\n}\r\n\r\nexport function withOptions(options = {} as ABP.Root): CoreFeature<CoreFeatureKind.Options> {\r\n return makeCoreFeature(CoreFeatureKind.Options, [\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: options,\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\r\n {\r\n provide: LOCALIZATIONS,\r\n multi: true,\r\n useValue: localizationContributor(options.localizations),\r\n deps: [LocalizationService],\r\n },\r\n {\r\n provide: OTHERS_GROUP,\r\n useValue: options.othersGroup || 'AbpUi::OthersGroup',\r\n },\r\n {\r\n provide: DYNAMIC_LAYOUTS_TOKEN,\r\n useValue: options.dynamicLayouts || DEFAULT_DYNAMIC_LAYOUTS,\r\n },\r\n ]);\r\n}\r\n\r\nexport function withTitleStrategy(strategy: unknown): CoreFeature<CoreFeatureKind.TitleStrategy> {\r\n return makeCoreFeature(CoreFeatureKind.TitleStrategy, [\r\n {\r\n provide: TitleStrategy,\r\n useExisting: strategy,\r\n },\r\n ]);\r\n}\r\n\r\nexport function withCompareFuncFactory(\r\n factory: (a: SortableItem, b: SortableItem) => 1 | -1 | 0,\r\n): CoreFeature<CoreFeatureKind.CompareFunctionFactory> {\r\n return makeCoreFeature(CoreFeatureKind.CompareFunctionFactory, [\r\n {\r\n provide: SORT_COMPARE_FUNC,\r\n useFactory: factory,\r\n },\r\n ]);\r\n}\r\n\r\nexport function provideAbpCore(...features: CoreFeature<CoreFeatureKind>[]) {\r\n const providers = [\r\n provideHttpClient(\r\n withInterceptorsFromDi(),\r\n withXsrfConfiguration({\r\n cookieName: 'XSRF-TOKEN',\r\n headerName: 'RequestVerificationToken',\r\n }),\r\n ),\r\n provideAppInitializer(() => {\r\n getInitialData();\r\n localeInitializer();\r\n inject(LocalizationService);\r\n inject(LocalStorageListenerService);\r\n inject(RoutesHandler);\r\n }),\r\n\r\n LocaleProvider,\r\n CookieLanguageProvider,\r\n {\r\n provide: SORT_COMPARE_FUNC,\r\n useFactory: compareFuncFactory,\r\n },\r\n {\r\n provide: QUEUE_MANAGER,\r\n useClass: DefaultQueueManager,\r\n },\r\n AuthErrorFilterService,\r\n IncludeLocalizationResourcesProvider,\r\n {\r\n provide: TitleStrategy,\r\n useExisting: AbpTitleStrategy,\r\n },\r\n ];\r\n\r\n for (const feature of features) {\r\n providers.push(...feature.ɵproviders);\r\n }\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n\r\nexport function provideAbpCoreChild(options = {} as ABP.Child) {\r\n return makeEnvironmentProviders([\r\n {\r\n provide: LOCALIZATIONS,\r\n multi: true,\r\n useValue: localizationContributor(options.localizations),\r\n deps: [LocalizationService],\r\n },\r\n ]);\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n withXsrfConfiguration,\r\n} from '@angular/common/http';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\r\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\r\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\r\nimport { RouterOutletComponent } from './components/router-outlet.component';\r\nimport { AutofocusDirective } from './directives/autofocus.directive';\r\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\r\nimport { ForDirective } from './directives/for.directive';\r\nimport { FormSubmitDirective } from './directives/form-submit.directive';\r\nimport { InitDirective } from './directives/init.directive';\r\nimport { PermissionDirective } from './directives/permission.directive';\r\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\r\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\r\nimport { LocalizationModule } from './localization.module';\r\nimport { ABP } from './models/common';\r\nimport { LocalizationPipe } from './pipes/localization.pipe';\r\nimport { SortPipe } from './pipes/sort.pipe';\r\nimport { ToInjectorPipe } from './pipes/to-injector.pipe';\r\nimport './utils/date-extensions';\r\nimport { ShortDateTimePipe } from './pipes/short-date-time.pipe';\r\nimport { ShortTimePipe } from './pipes/short-time.pipe';\r\nimport { ShortDatePipe } from './pipes/short-date.pipe';\r\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\r\nimport { provideAbpCoreChild, provideAbpCore, withOptions } from './providers';\r\n\r\nconst standaloneDirectives = [\r\n AutofocusDirective,\r\n InputEventDebounceDirective,\r\n ForDirective,\r\n FormSubmitDirective,\r\n InitDirective,\r\n PermissionDirective,\r\n ReplaceableTemplateDirective,\r\n StopPropagationDirective,\r\n];\r\n/**\r\n * BaseCoreModule is the module that holds\r\n * all imports, declarations, exports, and entryComponents\r\n * but not the providers.\r\n * This module will be imported and exported by all others.\r\n */\r\n@NgModule({\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n LocalizationModule,\r\n AbstractNgModelComponent,\r\n DynamicLayoutComponent,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n SortPipe,\r\n SafeHtmlPipe,\r\n ToInjectorPipe,\r\n ShortDateTimePipe,\r\n ShortTimePipe,\r\n ShortDatePipe,\r\n ...standaloneDirectives,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n LocalizationModule,\r\n ...standaloneDirectives,\r\n ],\r\n declarations: [\r\n AbstractNgModelComponent,\r\n DynamicLayoutComponent,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n SortPipe,\r\n SafeHtmlPipe,\r\n ToInjectorPipe,\r\n ShortDateTimePipe,\r\n ShortTimePipe,\r\n ShortDatePipe,\r\n ],\r\n providers: [LocalizationPipe, provideHttpClient(withInterceptorsFromDi())],\r\n})\r\nexport class BaseCoreModule {}\r\n\r\n/**\r\n * RootCoreModule is the module that will be used at root level\r\n * and it introduces imports useful at root level (e.g. NGXS)\r\n */\r\n@NgModule({\r\n exports: [BaseCoreModule, LocalizationModule],\r\n imports: [BaseCoreModule, LocalizationModule],\r\n providers: [\r\n provideHttpClient(\r\n withXsrfConfiguration({\r\n cookieName: 'XSRF-TOKEN',\r\n headerName: 'RequestVerificationToken',\r\n }),\r\n ),\r\n ],\r\n})\r\nexport class RootCoreModule {}\r\n\r\n/**\r\n * CoreModule is the module that is publicly available\r\n */\r\n@NgModule({\r\n exports: [BaseCoreModule],\r\n imports: [BaseCoreModule],\r\n})\r\nexport class CoreModule {\r\n /**\r\n * @deprecated forRoot method is deprecated, use `provideAbpCore` *function* for config settings.\r\n */\r\n static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\r\n return {\r\n ngModule: RootCoreModule,\r\n providers: [provideAbpCore(withOptions(options))],\r\n };\r\n }\r\n\r\n /**\r\n * @deprecated forChild method is deprecated, use `provideAbpCoreChild` *function* for config settings.\r\n */\r\n static forChild(options = {} as ABP.Child): ModuleWithProviders<RootCoreModule> {\r\n return {\r\n ngModule: RootCoreModule,\r\n providers: [provideAbpCoreChild(options)],\r\n };\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, inject } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpShowPassword]',\r\n})\r\nexport class ShowPasswordDirective {\r\n protected readonly elementRef = inject(ElementRef);\r\n\r\n @Input() set abpShowPassword(visible: boolean) {\r\n const element = this.elementRef.nativeElement as HTMLInputElement;\r\n if (!element) return;\r\n\r\n element.type = visible ? 'text' : 'password';\r\n }\r\n}\r\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[abpCapsLock]',\r\n})\r\nexport class TrackCapsLockDirective {\r\n @Output('abpCapsLock') capsLock = new EventEmitter<boolean>();\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent): void {\r\n this.capsLock.emit(this.isCapsLockOpen(event));\r\n }\r\n @HostListener('window:keyup', ['$event'])\r\n onKeyUp(event: KeyboardEvent): void {\r\n this.capsLock.emit(this.isCapsLockOpen(event));\r\n }\r\n\r\n isCapsLockOpen(e): boolean {\r\n const s = String.fromCharCode(e.which);\r\n if (\r\n (s.toUpperCase() === s && s.toLowerCase() !== s && e.shiftKey) ||\r\n (s.toUpperCase() !== s && s.toLowerCase() === s && e.shiftKey) ||\r\n (e.getModifierState && e.getModifierState('CapsLock'))\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivateFn,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { filter, take, tap } from 'rxjs/operators';\r\nimport { AuthService, IAbpGuard } from '../abstracts';\r\nimport { findRoute, getRoutePath } from '../utils/route-utils';\r\nimport { RoutesService, PermissionService, HttpErrorReporterService } from '../services';\r\n/**\r\n * @deprecated Use `permissionGuard` *function* instead.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PermissionGuard implements IAbpGuard {\r\n protected readonly router = inject(Router);\r\n protected readonly routesService = inject(RoutesService);\r\n protected readonly authService = inject(AuthService);\r\n protected readonly permissionService = inject(PermissionService);\r\n protected readonly httpErrorReporter = inject(HttpErrorReporterService);\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\r\n let { requiredPolicy } = route.data || {};\r\n\r\n if (!requiredPolicy) {\r\n const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\r\n requiredPolicy = routeFound?.requiredPolicy;\r\n }\r\n\r\n if (!requiredPolicy) {\r\n return of(true);\r\n }\r\n\r\n return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n filter(Boolean),\r\n take(1),\r\n tap(access => {\r\n if (!access && this.authService.isAuthenticated) {\r\n this.httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n }\r\n }),\r\n );\r\n }\r\n}\r\n\r\nexport const permissionGuard: CanActivateFn = (\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot,\r\n) => {\r\n const router = inject(Router);\r\n const routesService = inject(RoutesService);\r\n const authService = inject(AuthService);\r\n const permissionService = inject(PermissionService);\r\n const httpErrorReporter = inject(HttpErrorReporterService);\r\n\r\n let { requiredPolicy } = route.data || {};\r\n\r\n if (!requiredPolicy) {\r\n const routeFound = findRoute(routesService, getRoutePath(router, state.url));\r\n requiredPolicy = routeFound?.requiredPolicy;\r\n }\r\n\r\n if (!requiredPolicy) {\r\n return of(true);\r\n }\r\n\r\n return permissionService.getGrantedPolicy$(requiredPolicy).pipe(\r\n filter(Boolean),\r\n take(1),\r\n tap(access => {\r\n if (!access && authService.isAuthenticated) {\r\n httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);\r\n }\r\n }),\r\n );\r\n};\r\n","import { ABP } from './common';\r\nimport { checkHasProp } from '../utils/common-utils';\r\n\r\nexport class ListResultDto<T> {\r\n items?: T[];\r\n\r\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\ntype ValueOf<T> = T[keyof T];\r\nexport class PagedResultDto<T> extends ListResultDto<T> {\r\n totalCount?: number;\r\n\r\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleObject {\r\n extraProperties?: ABP.Dictionary<any>;\r\n\r\n constructor(initialValues: Partial<ExtensibleObject> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\r\n id?: TKey;\r\n\r\n constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class LimitedResultRequestDto {\r\n maxResultCount = 10;\r\n\r\n constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key) && initialValues[key] !== undefined) {\r\n this[key] = initialValues[key] as ValueOf<LimitedResultRequestDto>;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class ExtensibleLimitedResultRequestDto extends ExtensibleEntityDto {\r\n maxResultCount = 10;\r\n\r\n constructor(initialValues: Partial<ExtensibleLimitedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\r\n skipCount?: number;\r\n\r\n constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensiblePagedResultRequestDto extends ExtensibleLimitedResultRequestDto {\r\n skipCount?: number;\r\n\r\n constructor(initialValues: Partial<ExtensiblePagedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\r\n sorting?: string;\r\n\r\n constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensiblePagedAndSortedResultRequestDto extends ExtensiblePagedResultRequestDto {\r\n sorting?: string;\r\n\r\n constructor(initialValues: Partial<ExtensiblePagedAndSortedResultRequestDto> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class EntityDto<TKey = string> {\r\n id?: TKey;\r\n\r\n constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\r\n for (const key in initialValues) {\r\n if (checkHasProp(initialValues, key)) {\r\n this[key] = initialValues[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\r\n creationTime?: string | Date;\r\n creatorId?: string;\r\n\r\n constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class CreationAuditedEntityWithUserDto< \r\n TPrimaryKey = string,\r\n TUserDto = any\r\n> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n\r\n constructor(\r\n initialValues: Partial<CreationAuditedEntityWithUserDto<TPrimaryKey,TUserDto>> = {},\r\n ) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\r\n lastModificationTime?: string | Date;\r\n lastModifierId?: string;\r\n\r\n constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\n/** @deprecated the class signature will change in v8.0 */ \r\nexport class AuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends AuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n\r\n constructor(initialValues: Partial<AuditedEntityWithUserDto< TPrimaryKey,TUserDto>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\r\n isDeleted?: boolean;\r\n deleterId?: string;\r\n deletionTime?: Date | string;\r\n\r\n constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n/** @deprecated the class signature will change in v8.0 */ \r\nexport class FullAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any\r\n> extends FullAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n deleter?: TUserDto;\r\n\r\n constructor(initialValues: Partial<FullAuditedEntityWithUserDto< TPrimaryKey,TUserDto>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleEntityDto<TPrimaryKey> {\r\n creationTime?: Date | string;\r\n creatorId?: string;\r\n\r\n constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n lastModificationTime?: Date | string;\r\n lastModifierId?: string;\r\n\r\n constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n\r\n constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleCreationAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n\r\n constructor(\r\n initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\r\n ) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityDto<\r\n TPrimaryKey = string,\r\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\r\n isDeleted?: boolean;\r\n deleterId?: string;\r\n deletionTime?: Date | string;\r\n\r\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n\r\nexport class ExtensibleFullAuditedEntityWithUserDto<\r\n TPrimaryKey = string,\r\n TUserDto = any,\r\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\r\n creator?: TUserDto;\r\n lastModifier?: TUserDto;\r\n deleter?: TUserDto;\r\n\r\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\r\n super(initialValues);\r\n }\r\n}\r\n","export type EventType =\r\n | 'discovery_document_loaded'\r\n | 'jwks_load_error'\r\n | 'invalid_nonce_in_state'\r\n | 'discovery_document_load_error'\r\n | 'discovery_document_validation_error'\r\n | 'user_profile_loaded'\r\n | 'user_profile_load_error'\r\n | 'token_received'\r\n | 'token_error'\r\n | 'code_error'\r\n | 'token_refreshed'\r\n | 'token_refresh_error'\r\n | 'silent_refresh_error'\r\n | 'silently_refreshed'\r\n | 'silent_refresh_timeout'\r\n | 'token_validation_error'\r\n | 'token_expires'\r\n | 'session_changed'\r\n | 'session_error'\r\n | 'session_terminated'\r\n | 'session_unchanged'\r\n | 'logout'\r\n | 'popup_closed'\r\n | 'popup_blocked'\r\n | 'token_revoke_error';\r\n\r\nexport abstract class AuthEvent {\r\n constructor(public readonly type: EventType) {\r\n this.type = type;\r\n }\r\n}\r\n\r\nexport class AuthSuccessEvent extends AuthEvent {\r\n constructor(public readonly type: EventType, public readonly info?: any) {\r\n super(type);\r\n }\r\n}\r\n\r\nexport class AuthInfoEvent extends AuthEvent {\r\n constructor(public readonly type: EventType, public readonly info?: any) {\r\n super(type);\r\n }\r\n}\r\n\r\nexport class AuthErrorEvent extends AuthEvent {\r\n constructor(\r\n public readonly type: EventType,\r\n public readonly reason: object,\r\n public readonly params?: object,\r\n ) {\r\n super(type);\r\n }\r\n}\r\n","import { RestService } from '../../../../../../services';\r\nimport { Rest } from '../../../../../../models';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ApplicationApiDescriptionModel, ApplicationApiDescriptionModelRequestDto } from '../../../http/modeling/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpApiDefinitionService {\r\n apiName = 'abp';\r\n \r\n\r\n getByModel = (model: ApplicationApiDescriptionModelRequestDto, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, ApplicationApiDescriptionModel>({\r\n method: 'GET',\r\n url: '/api/abp/api-definition',\r\n params: { includeTypes: model.includeTypes },\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { ViewContainerRef } from '@angular/core';\r\n\r\nexport abstract class ContainerStrategy {\r\n constructor(public containerRef: ViewContainerRef) {}\r\n\r\n abstract getIndex(): number;\r\n\r\n prepare(): void {}\r\n}\r\n\r\nexport class ClearContainerStrategy extends ContainerStrategy {\r\n getIndex(): number {\r\n return 0;\r\n }\r\n\r\n prepare() {\r\n this.containerRef.clear();\r\n }\r\n}\r\n\r\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\r\n constructor(containerRef: ViewContainerRef, private index: number) {\r\n super(containerRef);\r\n }\r\n\r\n getIndex() {\r\n return Math.min(Math.max(0, this.index), this.containerRef.length);\r\n }\r\n}\r\n\r\nexport const CONTAINER_STRATEGY = {\r\n Clear(containerRef: ViewContainerRef) {\r\n return new ClearContainerStrategy(containerRef);\r\n },\r\n Append(containerRef: ViewContainerRef) {\r\n return new InsertIntoContainerStrategy(containerRef, containerRef.length);\r\n },\r\n Prepend(containerRef: ViewContainerRef) {\r\n return new InsertIntoContainerStrategy(containerRef, 0);\r\n },\r\n Insert(containerRef: ViewContainerRef, index: number) {\r\n return new InsertIntoContainerStrategy(containerRef, index);\r\n },\r\n};\r\n","export abstract class ContentSecurityStrategy {\r\n constructor(public nonce?: string) {}\r\n\r\n abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\r\n}\r\n\r\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\r\n constructor(nonce: string) {\r\n super(nonce);\r\n }\r\n\r\n applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\r\n if (this.nonce) {\r\n element.setAttribute('nonce', this.nonce);\r\n }\r\n }\r\n}\r\n\r\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\r\n constructor() {\r\n super();\r\n }\r\n\r\n applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\r\n}\r\n\r\nexport const CONTENT_SECURITY_STRATEGY = {\r\n Loose(nonce: string) {\r\n return new LooseContentSecurityStrategy(nonce);\r\n },\r\n None() {\r\n return new NoContentSecurityStrategy();\r\n },\r\n};\r\n","import { CONTENT_SECURITY_STRATEGY, ContentSecurityStrategy } from './content-security.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from './dom.strategy';\r\n\r\nexport type ElementOptions<T extends HTMLScriptElement | HTMLStyleElement = any> = Partial<{\r\n [key in keyof T]: T[key];\r\n}>;\r\n\r\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\r\n constructor(\r\n public content: string,\r\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\r\n protected options: ElementOptions<T> = {},\r\n ) {}\r\n\r\n abstract createElement(): T;\r\n\r\n insertElement(): T {\r\n const element = this.createElement();\r\n\r\n if (this.options && Object.keys(this.options).length > 0) {\r\n (Object.keys(this.options) as Array<keyof ElementOptions<T>>).forEach(key => {\r\n if (this.options[key]) {\r\n element[key] = (this.options as NonNullable<T>)[key];\r\n }\r\n });\r\n }\r\n\r\n this.contentSecurityStrategy.applyCSP(element);\r\n this.domStrategy.insertElement(element);\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\r\n createElement(): HTMLStyleElement {\r\n const element = document.createElement('style');\r\n element.textContent = this.content;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\r\n createElement(): HTMLScriptElement {\r\n const element = document.createElement('script');\r\n element.textContent = this.content;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const CONTENT_STRATEGY = {\r\n AppendScriptToBody(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);\r\n },\r\n AppendScriptToHead(content: string, options?: ElementOptions<HTMLScriptElement>) {\r\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n },\r\n AppendStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);\r\n },\r\n PrependStyleToHead(content: string, options?: ElementOptions<HTMLStyleElement>) {\r\n return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);\r\n },\r\n};\r\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models';\r\n\r\nexport abstract class ContextStrategy<T = any> {\r\n constructor(public context: Partial<ContextType<T>>) {}\r\n\r\n setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\r\n return this.context;\r\n }\r\n}\r\n\r\nexport class NoContextStrategy<\r\n T extends Type<any> | TemplateRef<any> = any,\r\n> extends ContextStrategy<T> {\r\n constructor() {\r\n super(undefined as unknown as Partial<ContextType<T>>);\r\n }\r\n}\r\n\r\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\r\n setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\r\n Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\r\n componentRef.changeDetectorRef.detectChanges();\r\n return this.context;\r\n }\r\n}\r\n\r\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\r\n setContext(): Partial<InferredContextOf<T>> {\r\n return this.context;\r\n }\r\n}\r\n\r\nexport const CONTEXT_STRATEGY = {\r\n None<T extends Type<any> | TemplateRef<any> = any>() {\r\n return new NoContextStrategy<T>();\r\n },\r\n Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\r\n return new ComponentContextStrategy<T>(context);\r\n },\r\n Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\r\n return new TemplateContextStrategy<T>(context);\r\n },\r\n};\r\n\r\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\r\n","import { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { fromLazyLoad } from '../utils';\r\nimport { CROSS_ORIGIN_STRATEGY, CrossOriginStrategy } from './cross-origin.strategy';\r\nimport { DOM_STRATEGY, DomStrategy } from './dom.strategy';\r\n\r\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\r\n element!: T;\r\n\r\n constructor(\r\n public path: string,\r\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\r\n protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\r\n ) {}\r\n\r\n abstract createElement(): T;\r\n\r\n createStream<E extends Event>(): Observable<E> {\r\n this.element = this.createElement();\r\n\r\n return of(null).pipe(\r\n switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\r\n );\r\n }\r\n}\r\n\r\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\r\n constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n super(src, domStrategy, crossOriginStrategy);\r\n }\r\n\r\n createElement(): HTMLScriptElement {\r\n const element = document.createElement('script');\r\n element.src = this.path;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\r\n constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\r\n super(href, domStrategy, crossOriginStrategy);\r\n }\r\n\r\n createElement(): HTMLLinkElement {\r\n const element = document.createElement('link');\r\n element.rel = 'stylesheet';\r\n element.href = this.path;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const LOADING_STRATEGY = {\r\n AppendScriptToBody(src: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToBody(),\r\n CROSS_ORIGIN_STRATEGY.None(),\r\n );\r\n },\r\n AppendAnonymousScriptToBody(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToBody(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n AppendAnonymousScriptToHead(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n AppendAnonymousStyleToHead(src: string, integrity?: string) {\r\n return new StyleLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.AppendToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n PrependAnonymousScriptToHead(src: string, integrity?: string) {\r\n return new ScriptLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.PrependToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n PrependAnonymousStyleToHead(src: string, integrity?: string) {\r\n return new StyleLoadingStrategy(\r\n src,\r\n DOM_STRATEGY.PrependToHead(),\r\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\r\n );\r\n },\r\n};\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\r\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\r\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\r\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\r\n\r\nexport abstract class ProjectionStrategy<T = any> {\r\n constructor(public content: T) {}\r\n\r\n abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\r\n}\r\n\r\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n component: T,\r\n private containerStrategy: ContainerStrategy,\r\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n ) {\r\n super(component);\r\n }\r\n\r\n injectContent(injector: Injector) {\r\n this.containerStrategy.prepare();\r\n\r\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\r\n\r\n const componentRef = this.containerStrategy.containerRef.createComponent(\r\n factory,\r\n this.containerStrategy.getIndex(),\r\n injector,\r\n );\r\n this.contextStrategy.setContext(componentRef);\r\n\r\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n component: T,\r\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\r\n private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\r\n ) {\r\n super(component);\r\n }\r\n\r\n injectContent(injector: Injector) {\r\n const appRef = injector.get(ApplicationRef);\r\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\r\n const componentRef = resolver\r\n .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\r\n .create(injector);\r\n\r\n this.contextStrategy.setContext(componentRef);\r\n\r\n appRef.attachView(componentRef.hostView);\r\n const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\r\n this.domStrategy.insertElement(element);\r\n\r\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\r\n constructor(\r\n templateRef: T,\r\n private containerStrategy: ContainerStrategy,\r\n private contextStrategy = CONTEXT_STRATEGY.None(),\r\n ) {\r\n super(templateRef);\r\n }\r\n\r\n injectContent() {\r\n this.containerStrategy.prepare();\r\n\r\n const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\r\n this.content,\r\n this.contextStrategy.context,\r\n this.containerStrategy.getIndex(),\r\n );\r\n embeddedViewRef.detectChanges();\r\n\r\n return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\r\n }\r\n}\r\n\r\nexport const PROJECTION_STRATEGY = {\r\n AppendComponentToBody<T extends Type<unknown>>(\r\n component: T,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new RootComponentProjectionStrategy<T>(\r\n component,\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n AppendComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Append(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n AppendTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Append(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n PrependComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Prepend(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n PrependTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Prepend(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n ProjectComponentToContainer<T extends Type<unknown>>(\r\n component: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredInstanceOf<T>>,\r\n ) {\r\n return new ComponentProjectionStrategy<T>(\r\n component,\r\n CONTAINER_STRATEGY.Clear(containerRef),\r\n context && CONTEXT_STRATEGY.Component(context),\r\n );\r\n },\r\n ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\r\n templateRef: T,\r\n containerRef: ViewContainerRef,\r\n context?: Partial<InferredContextOf<T>>,\r\n ) {\r\n return new TemplateProjectionStrategy<T>(\r\n templateRef,\r\n CONTAINER_STRATEGY.Clear(containerRef),\r\n context && CONTEXT_STRATEGY.Template(context),\r\n );\r\n },\r\n};\r\n\r\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\r\n ? ComponentRef<U>\r\n : T extends TemplateRef<infer C>\r\n ? EmbeddedViewRef<C>\r\n : never;\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface MinAgeError {\r\n minAge: {\r\n age: number;\r\n };\r\n}\r\n\r\nexport interface MinAgeOptions {\r\n age?: number;\r\n}\r\n\r\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): MinAgeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\r\n };\r\n}\r\n\r\nfunction isValidMinAge(value: string | number, minAge: number) {\r\n const date = new Date();\r\n date.setFullYear(date.getFullYear() - minAge);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return Number(new Date(value)) <= date.valueOf();\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface CreditCardError {\r\n creditCard: true;\r\n}\r\n\r\nexport function validateCreditCard(): ValidatorFn {\r\n return (control: AbstractControl): CreditCardError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\r\n };\r\n}\r\n\r\nfunction isValidCreditCard(value: string): boolean {\r\n value = value.replace(/[ -]/g, '');\r\n\r\n if (!/^[0-9]{13,19}$/.test(value)) return false;\r\n\r\n let checksum = 0;\r\n let multiplier = 1;\r\n\r\n for (let i = value.length; i > 0; i--) {\r\n const digit = Number(value[i - 1]) * multiplier;\r\n checksum += (digit % 10) + ~~(digit / 10);\r\n\r\n multiplier = (multiplier * 2) % 3;\r\n }\r\n\r\n return checksum % 10 === 0;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RangeError {\r\n range: {\r\n max: number;\r\n min: number;\r\n };\r\n}\r\n\r\nexport interface RangeOptions {\r\n maximum?: number;\r\n minimum?: number;\r\n}\r\n\r\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): RangeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = Number(control.value);\r\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\r\n };\r\n}\r\n\r\nfunction getMaxError(value: number, max: number, min: number): RangeError | null {\r\n return value > max ? { range: { max, min } } : null;\r\n}\r\n\r\nfunction getMinError(value: number, min: number, max: number): RangeError | null {\r\n return value < min ? { range: { min, max } } : null;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RequiredError {\r\n required: true;\r\n}\r\n\r\nexport interface RequiredOptions {\r\n allowEmptyStrings?: boolean;\r\n}\r\n\r\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\r\n // note: please do not remove name of the function, it is used in function compare with type 'RequiredError'\r\n const required = (control: AbstractControl): RequiredError | null => {\r\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\r\n };\r\n return required;\r\n}\r\n\r\nfunction isValidRequired(value: any, allowEmptyStrings: boolean | undefined): boolean {\r\n if (value || value === 0 || value === false) return true;\r\n\r\n if (allowEmptyStrings && value === '') return true;\r\n\r\n return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface StringLengthError {\r\n maxlength?: {\r\n requiredLength: number;\r\n };\r\n minlength?: {\r\n requiredLength: number;\r\n };\r\n}\r\n\r\nexport interface StringLengthOptions {\r\n maximumLength?: number;\r\n minimumLength?: number;\r\n}\r\n\r\nexport function validateStringLength({\r\n maximumLength = Infinity,\r\n minimumLength = 0,\r\n}: StringLengthOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): StringLengthError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = String(control.value);\r\n\r\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\r\n };\r\n}\r\n\r\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError | null {\r\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\r\n}\r\n\r\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError | null {\r\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UniqueCharacterError {\r\n uniqueCharacter: true;\r\n}\r\n\r\nexport function validateUniqueCharacter(): ValidatorFn {\r\n return (control: AbstractControl): UniqueCharacterError | null => {\r\n if (isNullOrEmpty(control.value)) return null;\r\n\r\n return isUnqiueCharacter(control.value) ? null : { uniqueCharacter: true };\r\n };\r\n}\r\n\r\nfunction isUnqiueCharacter(value: string): boolean {\r\n const set = new Set<string>(value.split(''));\r\n\r\n return set.size == value.length;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UrlError {\r\n url: true;\r\n}\r\n\r\nexport function validateUrl(): ValidatorFn {\r\n return (control: AbstractControl): UrlError | null => {\r\n if (isNullOrEmpty(control.value)) return null;\r\n\r\n return isValidUrl(control.value) ? null : { url: true };\r\n };\r\n}\r\n\r\nfunction isValidUrl(value: string): boolean {\r\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\r\n const a = document.createElement('a');\r\n a.href = value;\r\n return !!a.host;\r\n }\r\n\r\n return false;\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { isNullOrEmpty } from '../utils';\r\n\r\nexport interface UsernamePatternError {\r\n usernamePattern: {\r\n actualValue: string;\r\n };\r\n}\r\n\r\nexport interface UsernameOptions {\r\n pattern?: RegExp;\r\n}\r\n\r\nconst onlyLetterAndNumberRegex = /^[a-zA-Z0-9]+$/;\r\n\r\nexport function validateUsername(\r\n { pattern = /.*/ }: UsernameOptions = { pattern: onlyLetterAndNumberRegex },\r\n): ValidatorFn {\r\n return (control: AbstractControl): UsernamePatternError | null => {\r\n const isValid = isValidUserName(control.value, pattern);\r\n return isValid ? null : { usernamePattern: { actualValue: control.value } };\r\n };\r\n}\r\n\r\nfunction isValidUserName(value: any, pattern: RegExp): boolean {\r\n if (isNullOrEmpty(value)) return true;\r\n\r\n return pattern.test(value);\r\n}\r\n","import { Validators } from '@angular/forms';\r\nimport { validateMinAge } from './age.validator';\r\nimport { validateCreditCard } from './credit-card.validator';\r\nimport { validateRange } from './range.validator';\r\nimport { validateRequired } from './required.validator';\r\nimport { validateStringLength } from './string-length.validator';\r\nimport { validateUniqueCharacter } from './unique-character.validator';\r\nimport { validateUrl } from './url.validator';\r\nimport { validateUsername } from './username.validator';\r\nexport { validateUniqueCharacter } from './unique-character.validator';\r\n\r\nexport * from './age.validator';\r\nexport * from './credit-card.validator';\r\nexport * from './range.validator';\r\nexport * from './required.validator';\r\nexport * from './string-length.validator';\r\nexport * from './url.validator';\r\nexport * from './unique-character.validator';\r\nexport const AbpValidators = {\r\n creditCard: validateCreditCard,\r\n emailAddress: () => Validators.email,\r\n minAge: validateMinAge,\r\n range: validateRange,\r\n required: validateRequired,\r\n stringLength: validateStringLength,\r\n url: validateUrl,\r\n username: validateUsername,\r\n uniqueCharacter: validateUniqueCharacter,\r\n};\r\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { HttpWaitService } from '../services';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiInterceptor implements IApiInterceptor {\r\n constructor(private httpWaitService: HttpWaitService) {}\r\n\r\n getAdditionalHeaders(existingHeaders?: HttpHeaders) {\r\n return existingHeaders || new HttpHeaders();\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler) {\r\n this.httpWaitService.addRequest(request);\r\n return next.handle(request).pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\r\n }\r\n}\r\n\r\nexport interface IApiInterceptor extends HttpInterceptor {\r\n getAdditionalHeaders(existingHeaders?: HttpHeaders): HttpHeaders;\r\n}\r\n","// export * from './lib/handlers';\r\nexport * from './lib/abstracts';\r\nexport * from './lib/components';\r\nexport * from './lib/constants';\r\nexport * from './lib/core.module';\r\nexport * from './lib/directives';\r\nexport * from './lib/enums';\r\nexport * from './lib/guards';\r\nexport * from './lib/localization.module';\r\nexport * from './lib/models';\r\nexport * from './lib/pipes';\r\nexport * from './lib/providers';\r\nexport * from './lib/proxy/pages/abp/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/http/modeling';\r\nexport * from './lib/proxy/volo/abp/localization';\r\nexport * from './lib/proxy/volo/abp/models';\r\nexport * from './lib/services';\r\nexport * from './lib/strategies';\r\nexport * from './lib/tokens';\r\nexport * from './lib/utils';\r\nexport * from './lib/validators';\r\nexport * from './lib/interceptors';\r\nexport * from './lib/clients';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ConfigStateService","i2.AbpLocalStorageService","i1.RestService","i2.ExternalHttpClient","i3.EnvironmentService","i4.HttpErrorReporterService","i1.ResourceWaitService","i1","i1.RouterEvents","map","i1.SessionStateService","i2.ConfigStateService","i2.ReplaceableComponentsService","i3.SubscriptionService","i4","i1.SubscriptionService","i2.SubscriptionService","i1.ReplaceableComponentsService","i1.LocalizationService","i1.RoutesService","i2","i1.HttpWaitService"],"mappings":"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"}
|