@abp/ng.core 4.4.0 → 4.4.4
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.
- package/abp-ng.core.metadata.json +1 -1
- package/bundles/abp-ng.core.umd.js +115 -118
- package/bundles/abp-ng.core.umd.js.map +1 -1
- package/bundles/abp-ng.core.umd.min.js +2 -2
- package/bundles/abp-ng.core.umd.min.js.map +1 -1
- package/esm2015/lib/components/dynamic-layout.component.js +1 -2
- package/esm2015/lib/services/config-state.service.js +16 -3
- package/esm2015/lib/services/localization.service.js +6 -13
- package/esm2015/lib/states/config.state.js +4 -12
- package/esm2015/lib/strategies/auth-flow.strategy.js +9 -14
- package/esm2015/lib/utils/auth-utils.js +2 -5
- package/esm2015/lib/utils/initial-utils.js +4 -6
- package/esm2015/lib/utils/multi-tenancy-utils.js +7 -2
- package/fesm2015/abp-ng.core.js +110 -112
- package/fesm2015/abp-ng.core.js.map +1 -1
- package/lib/services/config-state.service.d.ts +162 -1
- package/lib/services/localization.service.d.ts +1 -3
- package/lib/states/config.state.d.ts +157 -7
- package/lib/strategies/auth-flow.strategy.d.ts +312 -4
- package/lib/utils/auth-utils.d.ts +156 -1
- package/lib/utils/initial-utils.d.ts +156 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../packages/core/src/lib/actions/config.actions.ts","../../../packages/core/src/lib/actions/loader.actions.ts","../../../packages/core/src/lib/actions/profile.actions.ts","../../../packages/core/src/lib/actions/rest.actions.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/core/src/lib/tokens/options.token.ts","../../../packages/core/src/lib/utils/common-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/rest.service.ts","../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../packages/core/src/lib/utils/localization-utils.ts","../../../packages/core/src/lib/utils/string-utils.ts","../../../packages/core/src/lib/services/config-state.service.ts","../../../packages/core/src/lib/services/session-state.service.ts","../../../packages/core/src/lib/services/localization.service.ts","../../../packages/core/src/lib/utils/route-utils.ts","../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../packages/core/src/lib/services/router-events.service.ts","../../../packages/core/src/lib/utils/array-utils.ts","../../../packages/core/src/lib/utils/tree-utils.ts","../../../packages/core/src/lib/services/permission.service.ts","../../../packages/core/src/lib/services/routes.service.ts","../../../packages/core/src/lib/services/subscription.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/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/directives/visibility.directive.ts","../../../packages/core/src/lib/handlers/oauth-configuration.handler.ts","../../../packages/core/src/lib/handlers/routes.handler.ts","../../../packages/core/src/lib/utils/http-utils.ts","../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../packages/core/src/lib/services/http-wait.service.ts","../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../packages/core/src/lib/interceptors/api.interceptor.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/providers/locale.provider.ts","../../../packages/core/src/lib/services/profile.service.ts","../../../packages/core/src/lib/states/profile.state.ts","../../../packages/core/src/lib/utils/auth-utils.ts","../../../packages/core/src/lib/strategies/auth-flow.strategy.ts","../../../packages/core/src/lib/utils/date-extensions.ts","../../../packages/core/src/lib/services/auth.service.ts","../../../packages/core/src/lib/tokens/app-config.token.ts","../../../packages/core/src/lib/utils/environment-utils.ts","../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../packages/core/src/lib/utils/initial-utils.ts","../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/lib/guards/auth.guard.ts","../../../packages/core/src/lib/guards/permission.guard.ts","../../../packages/core/src/lib/models/dtos.ts","../../../packages/core/src/lib/services/application-configuration.service.ts","../../../packages/core/src/lib/services/content-projection.service.ts","../../../packages/core/src/lib/utils/date-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/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/rxjs-utils.ts","../../../packages/core/src/lib/services/dom-insertion.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/states/config.state.ts","../../../packages/core/src/lib/services/profile-state.service.ts","../../../packages/core/src/lib/services/router-wait.service.ts","../../../packages/core/src/lib/services/track-by.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/tokens/manage-profile.token.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/url.validator.ts","../../../packages/core/src/lib/validators/index.ts","../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../packages/core/src/public-api.ts","../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ControlValueAccessor } from '@angular/forms';\nimport { ChangeDetectorRef, Component, Injector, Input } from '@angular/core';\n\n// Not an abstract class on purpose. Do not change!\n// tslint:disable-next-line: use-component-selector\n@Component({ template: '' })\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\n protected _value: T;\n protected cdRef: ChangeDetectorRef;\n onChange: (value: T) => {};\n onTouched: () => {};\n\n @Input()\n disabled: boolean;\n\n @Input()\n readonly: boolean;\n\n @Input()\n valueFn: (value: U, previousValue?: T) => T = value => (value as any) as T;\n\n @Input()\n valueLimitFn: (value: T, previousValue?: T) => any = value => false;\n\n @Input()\n set value(value: T) {\n value = this.valueFn((value as any) as U, this._value);\n\n if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\n\n this._value = value;\n this.notifyValueChange();\n }\n\n get value(): T {\n return this._value || this.defaultValue;\n }\n\n get defaultValue(): T {\n return this._value;\n }\n\n constructor(public injector: Injector) {\n // tslint:disable-next-line: deprecation\n this.cdRef = injector.get(ChangeDetectorRef);\n }\n\n notifyValueChange(): void {\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n\n writeValue(value: T): void {\n this._value = this.valueLimitFn(value, this._value) || value;\n setTimeout(() => this.cdRef.markForCheck(), 0);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Config } from '../models/config';\n\n/**\n * @deprecated Use ConfigStateService. To be deleted in v5.0.\n */\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n\n/**\n * @deprecated Use EnvironmentService instead. To be deleted in v5.0.\n */\nexport class SetEnvironment {\n static readonly type = '[Config] Set Environment';\n constructor(public environment: Config.Environment) {}\n}\n\n/**\n * @deprecated Use EnvironmentService instead. To be deleted in v5.0.\n */\nexport class PatchConfigState {\n static readonly type = '[Config] Set State';\n constructor(public state: Config.State) {}\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest<any>) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest<any>) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { ABP } from '../models/common';\n\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\n\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\n return {\n ...options,\n } as ABP.Root;\n}\n","export function noop() {\n // tslint:disable-next-line: only-arrow-functions\n const fn = function() {};\n return fn;\n}\n\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\n return value === undefined || value === '';\n}\n\nexport function isNullOrUndefined(obj) {\n return obj === null || obj === undefined;\n}\n\nexport function exists(obj) {\n return !isNullOrUndefined(obj);\n}\n\nexport function isObject(obj) {\n return obj instanceof Object;\n}\n\nexport function isArray(obj) {\n return Array.isArray(obj);\n}\n\nexport function isObjectAndNotArray(obj) {\n return isObject(obj) && !isArray(obj);\n}\n\nexport function isNode(obj) {\n return obj instanceof Node;\n}\n\nexport function isObjectAndNotArrayNotNode(obj) {\n return isObjectAndNotArray(obj) && !isNode(obj);\n}\n","import {\n exists,\n isArray,\n isNode,\n isNullOrUndefined,\n isObject,\n isObjectAndNotArrayNotNode,\n} from './common-utils';\n\nexport function deepMerge(target, source) {\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\n return deepMergeRecursively(target, source);\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\n return {};\n } else {\n return exists(source) ? source : target;\n }\n}\n\nfunction deepMergeRecursively(target, source) {\n const shouldNotRecurse =\n isNullOrUndefined(target) ||\n isNullOrUndefined(source) || // at least one not defined\n isArray(target) ||\n isArray(source) || // at least one array\n !isObject(target) ||\n !isObject(source) || // at least one not an object\n isNode(target) ||\n isNode(source); // at least one node\n\n /**\n * if we will not recurse any further,\n * we will prioritize source if it is a defined value.\n */\n if (shouldNotRecurse) {\n return exists(source) ? source : target;\n }\n\n const keysOfTarget = Object.keys(target);\n const keysOfSource = Object.keys(source);\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\n return [...uniqueKeys].reduce((retVal, key) => {\n retVal[key] = deepMergeRecursively(target[key], source[key]);\n return retVal;\n }, {});\n}\n","import compare from 'just-compare';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { DeepPartial } from '../models';\nimport { deepMerge } from './object-utils';\n\nexport class InternalStore<State> {\n private state$ = new BehaviorSubject<State>(this.initialState);\n\n private update$ = new Subject<DeepPartial<State>>();\n\n get state() {\n return this.state$.value;\n }\n\n sliceState = <Slice>(\n selector: (state: State) => Slice,\n compareFn: (s1: Slice, s2: Slice) => boolean = compare,\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\n\n sliceUpdate = <Slice>(\n selector: (state: DeepPartial<State>) => Slice,\n filterFn = (x: Slice) => x !== undefined,\n ) => this.update$.pipe(map(selector), filter(filterFn));\n\n constructor(private initialState: State) {}\n\n patch(state: Partial<State>) {\n let patchedState = state as State;\n\n if (typeof state === 'object' && !Array.isArray(state)) {\n patchedState = { ...this.state, ...state };\n }\n\n this.state$.next(patchedState);\n this.update$.next(patchedState as DeepPartial<State>);\n }\n\n deepPatch(state: DeepPartial<State>) {\n this.state$.next(deepMerge(this.state, state));\n this.update$.next(state);\n }\n\n set(state: State) {\n this.state$.next(state);\n this.update$.next(state as DeepPartial<State>);\n }\n\n reset() {\n this.set(this.initialState);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Apis, Environment } from '../models/environment';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nconst mapToApiUrl = (key: string) => (apis: Apis) =>\n (apis[key] || apis.default).url || apis.default.url;\n\n@Injectable({ providedIn: 'root' })\nexport class EnvironmentService {\n private readonly store = new InternalStore({} as Environment);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n getEnvironment$(): Observable<Environment> {\n return this.store.sliceState(state => state);\n }\n\n getEnvironment(): Environment {\n return this.store.state;\n }\n\n getApiUrl(key?: string) {\n return mapToApiUrl(key)(this.store.state.apis);\n }\n\n getApiUrl$(key?: string) {\n return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\n }\n\n setState(environment: Environment) {\n this.store.set(environment);\n }\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { ABP } from '../models/common';\nimport { Rest } from '../models/rest';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\n protected http: HttpClient,\n protected environment: EnvironmentService,\n protected store: Store,\n ) {}\n\n protected getApiFromStore(apiName: string): string {\n return this.environment.getApiUrl(apiName);\n }\n\n handleError(err: any): Observable<any> {\n this.store.dispatch(new RestOccurError(err));\n return throwError(err);\n }\n\n // TODO: Deprecate service or improve interface in v5.0\n request<T, R>(\n request: HttpRequest<T> | Rest.Request<T>,\n config?: Rest.Config,\n api?: string,\n ): Observable<R> {\n config = config || ({} as Rest.Config);\n api = api || this.getApiFromStore(config.apiName);\n const { method, params, ...options } = request;\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n\n return this.http\n .request<R>(method, api + request.url, {\n observe,\n ...(params && {\n params: Object.keys(params).reduce((acc, key) => {\n const value = params[key];\n\n if (isUndefinedOrEmptyString(value)) return acc;\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\n\n acc[key] = value;\n return acc;\n }, {}),\n }),\n ...options,\n } as any)\n .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../../../services/rest.service';\nimport type { ApplicationConfigurationDto } from './models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpApplicationConfigurationService {\n apiName = 'abp';\n\n get() {\n return this.restService.request<any, ApplicationConfigurationDto>(\n {\n method: 'GET',\n url: '/api/abp/application-configuration',\n },\n { apiName: this.apiName },\n );\n }\n\n constructor(private restService: RestService) {}\n}\n","import snq from 'snq';\nimport { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\n\n// This will not be necessary when only Angukar 9.1+ is supported\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\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(\n locale,\n )\n ? 'rtl'\n : 'ltr';\n}\n\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\n return (resourceName: string, key: string, defaultValue: string) => {\n if (resourceName === '_') return key;\n\n const resource = snq(() => localization.values[resourceName]);\n\n if (!resource) return defaultValue;\n\n return resource[key] || defaultValue;\n };\n}\n\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\n const findLocalization = createLocalizationFinder(localization);\n\n return (resourceNames: string[], keys: string[], defaultValue: string) => {\n const { localized } = findLocalization(resourceNames, keys);\n return localized || defaultValue;\n };\n}\n\nexport function createLocalizationPipeKeyGenerator(\n localization: ApplicationLocalizationConfigurationDto,\n) {\n const findLocalization = createLocalizationFinder(localization);\n\n return (resourceNames: string[], keys: string[], defaultKey: string) => {\n const { resourceName, key } = findLocalization(resourceNames, keys);\n return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\n };\n}\n\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\n const localize = createLocalizer(localization);\n\n return (resourceNames: string[], keys: string[]) => {\n resourceNames = resourceNames.concat(localization.defaultResourceName).filter(Boolean);\n\n const resourceCount = resourceNames.length;\n const keyCount = keys.length;\n\n for (let i = 0; i < resourceCount; i++) {\n const resourceName = resourceNames[i];\n\n for (let j = 0; j < keyCount; j++) {\n const key = keys[j];\n const localized = localize(resourceName, key, null);\n if (localized) return { resourceName, key, localized };\n }\n }\n\n return { resourceName: undefined, key: undefined, localized: undefined };\n };\n}\n","export function createTokenParser(format: string) {\n return (str: string) => {\n const tokens: string[] = [];\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\n tokens.push(token);\n return '(.+)';\n });\n\n const matches = (str.match(regex) || []).slice(1);\n\n return matches.reduce((acc, v, i) => {\n const key = tokens[i];\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\n return acc;\n }, {} as Record<string, string[]>);\n };\n}\n\nexport function interpolate(text: string, params: string[]) {\n return text\n .replace(/(['\"]?\\{\\s*(\\d+)\\s*\\}['\"]?)/g, (_, match, digit) => params[digit] ?? match)\n .replace(/\\s+/g, ' ');\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigStateService {\n private readonly store = new InternalStore({} as ApplicationConfigurationDto);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n constructor(private abpConfigService: AbpApplicationConfigurationService) {}\n\n setState(state: ApplicationConfigurationDto) {\n this.store.set(state);\n }\n\n refreshAppState() {\n return this.abpConfigService.get().pipe(tap(res => this.setState(res)));\n }\n\n getOne$(key: string) {\n return this.store.sliceState(state => state[key]);\n }\n\n getOne(key: string) {\n return this.store.state[key];\n }\n\n getAll$(): Observable<ApplicationConfigurationDto> {\n return this.store.sliceState(state => state);\n }\n\n getAll(): ApplicationConfigurationDto {\n return this.store.state;\n }\n\n getDeep$(keys: string[] | string) {\n keys = splitKeys(keys);\n\n return this.store\n .sliceState(state => state)\n .pipe(\n map(state => {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n }),\n );\n }\n\n getDeep(keys: string[] | string) {\n keys = splitKeys(keys);\n\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, this.store.state);\n }\n\n getFeature(key: string) {\n return this.store.state.features?.values?.[key];\n }\n\n getFeature$(key: string) {\n return this.store.sliceState(state => state.features?.values?.[key]);\n }\n\n getFeatures(keys: string[]) {\n const { features } = this.store.state;\n if (!features) return;\n\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\n }\n\n getFeatures$(keys: string[]) {\n return this.store.sliceState(({ features }) => {\n if (!features?.values) return;\n\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\n });\n }\n\n getSetting(key: string) {\n return this.store.state.setting?.values?.[key];\n }\n\n getSetting$(key: string) {\n return this.store.sliceState(state => state.setting?.values?.[key]);\n }\n\n getSettings(keyword?: string) {\n const settings = this.store.state.setting?.values || {};\n\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n }\n\n getSettings$(keyword?: string) {\n return this.store\n .sliceState(state => state.setting?.values)\n .pipe(\n map((settings = {}) => {\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n }),\n );\n }\n}\n\nfunction splitKeys(keys: string[] | string): string[] {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n return keys;\n}\n","import { Injectable } from '@angular/core';\nimport compare from 'just-compare';\nimport { filter, take } from 'rxjs/operators';\nimport { Session } from '../models/session';\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { ConfigStateService } from './config-state.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SessionStateService {\n private readonly store = new InternalStore({} as Session.State);\n\n private updateLocalStorage = () => {\n localStorage.setItem('abpSession', JSON.stringify(this.store.state));\n };\n\n constructor(private configState: ConfigStateService) {\n this.init();\n this.setInitialLanguage();\n }\n\n private init() {\n const session = localStorage.getItem('abpSession');\n if (session) {\n this.store.set(JSON.parse(session));\n }\n\n this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\n }\n\n private setInitialLanguage() {\n if (this.getLanguage()) return;\n\n this.configState\n .getDeep$('localization.currentCulture.cultureName')\n .pipe(\n filter(cultureName => !!cultureName),\n take(1),\n )\n .subscribe(lang => {\n if (lang.includes(';')) {\n lang = lang.split(';')[0];\n }\n\n this.setLanguage(lang);\n });\n }\n\n onLanguageChange$() {\n return this.store.sliceUpdate(state => state.language);\n }\n\n onTenantChange$() {\n return this.store.sliceUpdate(state => state.tenant);\n }\n\n getLanguage() {\n return this.store.state.language;\n }\n\n getLanguage$() {\n return this.store.sliceState(state => state.language);\n }\n\n getTenant() {\n return this.store.state.tenant;\n }\n\n getTenant$() {\n return this.store.sliceState(state => state.tenant);\n }\n\n setTenant(tenant: CurrentTenantDto) {\n if (compare(tenant, this.store.state.tenant)) return;\n\n this.store.set({ ...this.store.state, tenant });\n }\n\n setLanguage(language: string) {\n if (language === this.store.state.language) return;\n\n this.store.patch({ language });\n document.documentElement.setAttribute('lang', language);\n }\n}\n","import { registerLocaleData } from '@angular/common';\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, map, mapTo, switchMap, tap } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { Config } from '../models/config';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\nimport { interpolate } from '../utils/string-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { SessionStateService } from './session-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n private latestLang = this.sessionState.getLanguage();\n private _languageChange$ = new Subject<string>();\n\n /**\n * Returns currently selected language\n */\n get currentLang(): string {\n return this.latestLang || this.sessionState.getLanguage();\n }\n\n get languageChange$(): Observable<string> {\n return this._languageChange$.asObservable();\n }\n\n constructor(\n private sessionState: SessionStateService,\n private injector: Injector,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n private configState: ConfigStateService,\n private appConfigService: AbpApplicationConfigurationService,\n ) {\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\n\n this.listenToSetLanguage();\n }\n\n private listenToSetLanguage() {\n this.sessionState\n .onLanguageChange$()\n .pipe(\n filter(\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\n ),\n switchMap(lang =>\n this.appConfigService\n .get()\n .pipe(tap(res => this.configState.setState(res)))\n .pipe(mapTo(lang)),\n ),\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\n )\n .subscribe(lang => this._languageChange$.next(lang));\n }\n\n registerLocale(locale: string) {\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\n\n return registerLocaleFn(locale).then(module => {\n if (module?.default) registerLocaleData(module.default);\n this.latestLang = locale;\n });\n }\n\n /**\n * Returns an observable localized text with the given interpolation parameters in current language.\n * @param key Localizaton key to replace with localized text\n * @param interpolateParams Values to interpolate\n */\n get(\n key: string | Config.LocalizationWithDefault,\n ...interpolateParams: string[]\n ): Observable<string> {\n return this.configState\n .getAll$()\n .pipe(map(state => getLocalization(state, key, ...interpolateParams)));\n }\n\n getResource(resourceName: string) {\n return this.configState.getDeep(`localization.values.${resourceName}`);\n }\n\n getResource$(resourceName: string) {\n return this.configState.getDeep$(`localization.values.${resourceName}`);\n }\n\n /**\n * Returns localized text with the given interpolation parameters in current language.\n * @param key Localization key to replace with localized text\n * @param interpolateParams Values to intepolate.\n */\n instant(key: string | Config.LocalizationWithDefault, ...interpolateParams: string[]): string {\n return getLocalization(this.configState.getAll(), key, ...interpolateParams);\n }\n\n localize(resourceName: string, key: string, defaultValue: string): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizer),\n map(localize => localize(resourceName, key, defaultValue)),\n );\n }\n\n localizeSync(resourceName: string, key: string, defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizer(localization)(resourceName, key, defaultValue);\n }\n\n localizeWithFallback(\n resourceNames: string[],\n keys: string[],\n defaultValue: string,\n ): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizerWithFallback),\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\n );\n }\n\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\n }\n}\n\nfunction getLocalization(\n state: ApplicationConfigurationDto,\n key: string | Config.LocalizationWithDefault,\n ...interpolateParams: string[]\n) {\n if (!key) key = '';\n let defaultValue: string;\n\n if (typeof key !== 'string') {\n defaultValue = key.defaultValue;\n key = key.key;\n }\n\n const keys = key.split('::') as string[];\n const warn = (message: string) => {\n if (isDevMode) console.warn(message);\n };\n\n if (keys.length < 2) {\n warn('The localization source separator (::) not found.');\n return defaultValue || (key as string);\n }\n if (!state.localization) return defaultValue || keys[1];\n\n const sourceName = keys[0] || state.localization.defaultResourceName;\n const sourceKey = keys[1];\n\n if (sourceName === '_') {\n return defaultValue || sourceKey;\n }\n\n if (!sourceName) {\n warn('Localization source name is not specified and the defaultResourceName was not defined!');\n\n return defaultValue || sourceKey;\n }\n\n const source = state.localization.values[sourceName];\n if (!source) {\n warn('Could not find localization source: ' + sourceName);\n return defaultValue || sourceKey;\n }\n\n let localization = source[sourceKey];\n if (typeof localization === 'undefined') {\n return defaultValue || sourceKey;\n }\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (localization) localization = interpolate(localization, interpolateParams);\n\n if (typeof localization !== 'string') localization = '';\n\n return localization || defaultValue || (key as string);\n}\n","import { NgZone } from '@angular/core';\nimport { PRIMARY_OUTLET, Router, UrlSegmentGroup } from '@angular/router';\nimport { ABP } from '../models/common';\nimport { RoutesService } from '../services/routes.service';\nimport { noop } from './common-utils';\nimport { TreeNode } from './tree-utils';\n\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> {\n const node = routesService.find(route => route.path === path);\n\n return node || path === '/'\n ? node\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\n}\n\nexport function getRoutePath(router: Router, url = router.url) {\n const emptyGroup = { segments: [] } as UrlSegmentGroup;\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\n\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\n}\n\nexport function reloadRoute(router: Router, ngZone: NgZone) {\n const { shouldReuseRoute } = router.routeReuseStrategy;\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\n router.routeReuseStrategy.shouldReuseRoute = reuse;\n };\n\n setRouteReuse(() => false);\n router.navigated = false;\n\n ngZone.run(async () => {\n await router.navigateByUrl(router.url).catch(noop);\n setRouteReuse(shouldReuseRoute);\n });\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { reloadRoute } from '../utils/route-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class ReplaceableComponentsService {\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\n\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceState(state => state);\n }\n\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\n return this.store.state;\n }\n\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceUpdate(state => state);\n }\n\n constructor(private ngZone: NgZone, private router: Router) {\n this.store = new InternalStore([]);\n }\n\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\n const replaceableComponents = [...this.store.state];\n\n const index = replaceableComponents.findIndex(\n component => component.key === replaceableComponent.key,\n );\n\n if (index > -1) {\n replaceableComponents[index] = replaceableComponent;\n } else {\n replaceableComponents.push(replaceableComponent);\n }\n\n this.store.set(replaceableComponents);\n\n if (reload) reloadRoute(this.router, this.ngZone);\n }\n\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\n }\n\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent> {\n return this.replaceableComponents$.pipe(\n map(components => components.find(component => component.key === replaceableComponentKey)),\n );\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n RouterEvent,\n} from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nexport const NavigationEvent = {\n Cancel: NavigationCancel,\n End: NavigationEnd,\n Error: NavigationError,\n Start: NavigationStart,\n};\n\n@Injectable({ providedIn: 'root' })\nexport class RouterEvents {\n constructor(private router: Router) {}\n\n getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\n type FilteredRouterEvent = T extends Type<infer Ctor>[] ? Ctor : never;\n\n const filterRouterEvents = (event: RouterEvent): event is FilteredRouterEvent =>\n eventTypes.some(type => event instanceof type);\n\n return this.router.events.pipe(filter(filterRouterEvents));\n }\n\n getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\n type FilteredNavigationEvent = T extends (infer Key)[]\n ? Key extends NavigationEventKey\n ? InstanceType<NavigationEventType[Key]>\n : never\n : never;\n\n const filterNavigationEvents = (event: RouterEvent): event is FilteredNavigationEvent =>\n navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\n\n return this.router.events.pipe(filter(filterNavigationEvents));\n }\n\n getAllEvents() {\n return this.router.events;\n }\n\n getAllNavigationEvents() {\n const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\n return this.getNavigationEvents(...keys);\n }\n}\n\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\n\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\n\ntype NavigationEventType = typeof NavigationEvent;\n\nexport type NavigationEventKey = keyof NavigationEventType;\n","export function pushValueTo<T extends any>(array: T[]) {\n return (element: T) => {\n array.push(element);\n return array;\n };\n}\n","export class BaseTreeNode<T extends object> {\n children: TreeNode<T>[] = [];\n isLeaf = true;\n parent?: TreeNode<T>;\n\n constructor(props: T) {\n Object.assign(this, props);\n }\n\n static create<T extends object>(props: T) {\n return new BaseTreeNode<T>(props) as TreeNode<T>;\n }\n}\n\nexport function createTreeFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n parentKeySelector: typeof keySelector,\n valueMapper: (item: T) => R,\n) {\n const map = createMapFromList(list, keySelector, valueMapper);\n const tree: NodeValue<T, typeof valueMapper>[] = [];\n\n list.forEach(row => {\n const id = keySelector(row);\n const parentId = parentKeySelector(row);\n const node = map.get(id);\n\n if (!node) return;\n\n if (parentId) {\n const parent = map.get(parentId);\n if (!parent) return;\n (parent as any).children.push(node);\n (parent as any).isLeaf = false;\n (node as any).parent = parent;\n } else {\n tree.push(node);\n }\n });\n\n return tree;\n}\n\nexport function createMapFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n valueMapper: (item: T) => R,\n) {\n type Key = ReturnType<typeof keySelector>;\n type Value = NodeValue<T, typeof valueMapper>;\n const map = new Map<Key, Value>();\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\n return map;\n}\n\nexport function createTreeNodeFilterCreator<T extends object>(\n key: keyof T,\n mapperFn: (value: any) => string,\n) {\n return (search: string) => {\n const regex = new RegExp('.*' + search + '.*', 'i');\n\n return function collectNodes(nodes: TreeNode<T>[], matches = []) {\n for (const node of nodes) {\n if (regex.test(mapperFn(node[key]))) matches.push(node);\n\n if (node.children.length) collectNodes(node.children, matches);\n }\n\n return matches;\n };\n };\n}\n\nexport type TreeNode<T extends object> = {\n [K in keyof T]: T[K];\n} & {\n children: TreeNode<T>[];\n isLeaf: boolean;\n parent?: TreeNode<T>;\n};\n\ntype NodeKey = number | string | symbol | undefined | null;\n\ntype NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\n ? TreeNode<T>\n : ReturnType<F>;\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from './config-state.service';\nimport { ABP } from '../models/common';\n\n@Injectable({ providedIn: 'root' })\nexport class PermissionService {\n constructor(protected configState: ConfigStateService) {}\n\n getGrantedPolicy$(key: string) {\n return this.getStream().pipe(\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\n );\n }\n\n getGrantedPolicy(key: string) {\n const policies = this.getSnapshot();\n return this.isPolicyGranted(key, policies);\n }\n\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\n const policies = this.getSnapshot();\n return items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n );\n }\n\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\n return this.getStream().pipe(\n map(policies =>\n items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n ),\n ),\n );\n }\n\n protected isPolicyGranted(key: string, grantedPolicies: Record<string, boolean>) {\n if (!key) return true;\n\n const orRegexp = /\\|\\|/g;\n const andRegexp = /&&/g;\n\n // TODO: Allow combination of ANDs & ORs\n if (orRegexp.test(key)) {\n const keys = key.split('||').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\n } else if (andRegexp.test(key)) {\n const keys = key.split('&&').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\n }\n\n return this.getPolicy(key, grantedPolicies);\n }\n\n protected getStream() {\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\n }\n\n protected getSnapshot() {\n return this.mapToPolicies(this.configState.getAll());\n }\n\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\n return snq(() => applicationConfiguration.auth.grantedPolicies, {});\n }\n\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\n return snq(() => grantedPolicies[key], false);\n }\n}\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { ABP } from '../models/common';\nimport { pushValueTo } from '../utils/array-utils';\nimport { BaseTreeNode, createTreeFromList, TreeNode } from '../utils/tree-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { PermissionService } from './permission.service';\n\nexport abstract class AbstractTreeService<T extends object> {\n abstract id: string;\n abstract parentId: string;\n abstract hide: (item: T) => boolean;\n abstract sort: (a: T, b: T) => number;\n\n private _flat$ = new BehaviorSubject<T[]>([]);\n private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\n private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\n\n get flat(): T[] {\n return this._flat$.value;\n }\n\n get flat$(): Observable<T[]> {\n return this._flat$.asObservable();\n }\n\n get tree(): TreeNode<T>[] {\n return this._tree$.value;\n }\n\n get tree$(): Observable<TreeNode<T>[]> {\n return this._tree$.asObservable();\n }\n\n get visible(): TreeNode<T>[] {\n return this._visible$.value;\n }\n\n get visible$(): Observable<TreeNode<T>[]> {\n return this._visible$.asObservable();\n }\n\n protected createTree(items: T[]): TreeNode<T>[] {\n return createTreeFromList<T, TreeNode<T>>(\n items,\n item => item[this.id],\n item => item[this.parentId],\n item => BaseTreeNode.create(item),\n );\n }\n\n private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\n return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\n }\n\n private findItemsToRemove(set: Set<string>): Set<string> {\n return this._flat$.value.reduce((acc, item) => {\n if (!acc.has(item[this.parentId])) return acc;\n const childSet = new Set([item[this.id]]);\n const children = this.findItemsToRemove(childSet);\n return new Set([...acc, ...children]);\n }, set);\n }\n\n private publish(flatItems: T[], visibleItems: T[]): T[] {\n this._flat$.next(flatItems);\n this._tree$.next(this.createTree(flatItems));\n this._visible$.next(this.createTree(visibleItems));\n return flatItems;\n }\n\n add(items: T[]): T[] {\n const map = new Map<string, T>();\n items.forEach(item => map.set(item[this.id], item));\n\n const flatItems = this.filterWith(map);\n map.forEach(pushValueTo(flatItems));\n\n flatItems.sort(this.sort);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\n return tree.reduce(\n (acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)),\n null,\n );\n }\n\n patch(identifier: string, props: Partial<T>): T[] | false {\n const flatItems = this._flat$.value;\n const index = flatItems.findIndex(item => item[this.id] === identifier);\n if (index < 0) return false;\n\n flatItems[index] = { ...flatItems[index], ...props };\n\n flatItems.sort(this.sort);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n refresh(): T[] {\n return this.add([]);\n }\n\n remove(identifiers: string[]): T[] {\n const set = new Set<string>();\n identifiers.forEach(id => set.add(id));\n\n const setToRemove = this.findItemsToRemove(set);\n const flatItems = this.filterWith(setToRemove);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\n const searchKeys = Object.keys(params);\n\n return tree.reduce(\n (acc, node) =>\n acc\n ? acc\n : searchKeys.every(key => node[key] === params[key])\n ? node\n : this.search(params, node.children),\n null,\n );\n }\n}\n\n@Injectable()\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\n extends AbstractTreeService<T>\n implements OnDestroy\n{\n private subscription: Subscription;\n private permissionService: PermissionService;\n readonly id = 'name';\n readonly parentId = 'parentName';\n readonly hide = (item: T) => item.invisible || !this.isGranted(item);\n readonly sort = (a: T, b: T) => {\n if (!Number.isInteger(a.order)) return 1;\n if (!Number.isInteger(b.order)) return -1;\n\n return a.order - b.order;\n };\n\n constructor(protected injector: Injector) {\n super();\n const configState = this.injector.get(ConfigStateService);\n this.subscription = configState\n .createOnUpdateStream(state => state)\n .subscribe(() => this.refresh());\n this.permissionService = injector.get(PermissionService);\n }\n\n protected isGranted({ requiredPolicy }: T): boolean {\n return this.permissionService.getGrantedPolicy(requiredPolicy);\n }\n\n hasChildren(identifier: string): boolean {\n const node = this.find(item => item[this.id] === identifier);\n return Boolean(node?.children?.length);\n }\n\n hasInvisibleChild(identifier: string): boolean {\n const node = this.find(item => item[this.id] === identifier);\n return node?.children?.some(child => child.invisible);\n }\n\n /* istanbul ignore next */\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {}\n\n@Injectable({ providedIn: 'root' })\nexport class SettingTabsService extends AbstractNavTreeService<ABP.Tab> {}\n","import { Injectable } from '@angular/core';\nimport type { OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport type { Observable, PartialObserver } from 'rxjs';\n\n@Injectable()\nexport class SubscriptionService implements OnDestroy {\n private subscription = new Subscription();\n\n get isClosed() {\n return this.subscription.closed;\n }\n\n addOne<T extends unknown>(\n source$: Observable<T>,\n next?: (value: T) => void,\n error?: (error: any) => void,\n ): Subscription;\n addOne<T extends unknown>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\n addOne<T extends unknown>(\n source$: Observable<T>,\n nextOrObserver?: PartialObserver<T> | Next<T>,\n error?: (error: any) => void,\n ): Subscription {\n const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\n this.subscription.add(subscription);\n return subscription;\n }\n\n closeAll() {\n this.subscription.unsubscribe();\n }\n\n closeOne(subscription: Subscription | undefined | null) {\n this.removeOne(subscription);\n subscription.unsubscribe();\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n removeOne(subscription: Subscription | undefined | null) {\n if (!subscription) return;\n this.subscription.remove(subscription);\n }\n\n reset() {\n this.subscription.unsubscribe();\n this.subscription = new Subscription();\n }\n}\n\ntype Next<T> = (value: T) => void;\n","import { Component, Injector, Optional, SkipSelf, Type } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { eLayoutType } from '../enums/common';\nimport { ABP } from '../models';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { LocalizationService } from '../services/localization.service';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { RouterEvents } from '../services/router-events.service';\nimport { RoutesService } from '../services/routes.service';\nimport { SubscriptionService } from '../services/subscription.service';\nimport { findRoute, getRoutePath } from '../utils/route-utils';\nimport { TreeNode } from '../utils/tree-utils';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n <ng-container *ngTemplateOutlet=\"layout ? componentOutlet : routerOutlet\"></ng-container>\n <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>\n <ng-template #componentOutlet\n ><ng-container *ngIf=\"isLayoutVisible\" [ngComponentOutlet]=\"layout\"></ng-container\n ></ng-template>\n `,\n providers: [SubscriptionService],\n})\nexport class DynamicLayoutComponent {\n layout: Type<any>;\n layoutKey: eLayoutType;\n\n // TODO: Consider a shared enum (eThemeSharedComponents) for known layouts\n readonly layouts = new Map([\n ['application', 'Theme.ApplicationLayoutComponent'],\n ['account', 'Theme.AccountLayoutComponent'],\n ['empty', 'Theme.EmptyLayoutComponent'],\n ]);\n\n isLayoutVisible = true;\n\n private router: Router;\n private route: ActivatedRoute;\n private routes: RoutesService;\n\n constructor(\n injector: Injector,\n private localizationService: LocalizationService,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n private routerEvents: RouterEvents,\n @Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent,\n ) {\n if (dynamicLayoutComponent) return;\n this.route = injector.get(ActivatedRoute);\n this.router = injector.get(Router);\n this.routes = injector.get(RoutesService);\n\n this.getLayout();\n this.checkLayoutOnNavigationEnd();\n\n this.listenToLanguageChange();\n }\n\n private checkLayoutOnNavigationEnd() {\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\n }\n\n private getLayout() {\n let expectedLayout = (this.route.snapshot.data || {}).layout;\n\n if (!expectedLayout) {\n let node = findRoute(this.routes, getRoutePath(this.router));\n node = { parent: node } as TreeNode<ABP.Route>;\n\n while (node.parent) {\n node = node.parent;\n\n if (node.layout) {\n expectedLayout = node.layout;\n break;\n }\n }\n }\n\n if (!expectedLayout) expectedLayout = eLayoutType.empty;\n\n if (this.layoutKey === expectedLayout) return;\n\n const key = this.layouts.get(expectedLayout);\n this.layout = this.getComponent(key)?.component;\n this.layoutKey = expectedLayout;\n }\n\n private listenToLanguageChange() {\n this.subscription.addOne(this.localizationService.languageChange$, () => {\n this.isLayoutVisible = false;\n setTimeout(() => (this.isLayoutVisible = true), 0);\n });\n }\n\n private getComponent(key: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.get(key);\n }\n}\n","import { Component, OnInit, Type } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Component({\n selector: 'abp-replaceable-route-container',\n template: `\n <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\n `,\n providers: [SubscriptionService],\n})\nexport class ReplaceableRouteContainerComponent implements OnInit {\n defaultComponent: Type<any>;\n\n componentKey: string;\n\n externalComponent: Type<any>;\n\n constructor(\n private route: ActivatedRoute,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n ) {}\n\n ngOnInit() {\n this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\n this.componentKey = (this.route.snapshot.data\n .replaceableComponent as ReplaceableComponents.RouteData).key;\n\n const component$ = this.replaceableComponents\n .get$(this.componentKey)\n .pipe(distinctUntilChanged());\n\n this.subscription.addOne(\n component$,\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\n this.externalComponent = res.component;\n },\n );\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n <router-outlet></router-outlet>\n `,\n})\nexport class RouterOutletComponent {}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport const differentLocales = {\n aa: 'en',\n 'aa-DJ': 'en',\n 'aa-ER': 'en',\n 'aa-ET': 'en',\n 'af-ZA': 'af',\n 'agq-CM': 'agq',\n 'ak-GH': 'ak',\n 'am-ET': 'am',\n 'ar-001': 'ar',\n arn: 'en',\n 'arn-CL': 'en',\n 'as-IN': 'as',\n 'asa-TZ': 'asa',\n 'ast-ES': 'ast',\n 'az-Cyrl-AZ': 'az-Cyrl',\n 'az-Latn-AZ': 'az-Latn',\n ba: 'ru',\n 'ba-RU': 'ru',\n 'bas-CM': 'bas',\n 'be-BY': 'be',\n 'bem-ZM': 'bem',\n 'bez-TZ': 'bez',\n 'bg-BG': 'bg',\n bin: 'en',\n 'bin-NG': 'en',\n 'bm-Latn': 'bm',\n 'bm-Latn-ML': 'bm',\n 'bn-BD': 'bn',\n 'bo-CN': 'bo',\n 'br-FR': 'br',\n 'brx-IN': 'brx',\n 'bs-Cyrl-BA': 'bs-Cyrl',\n 'bs-Latn-BA': 'bs-Latn',\n byn: 'en',\n 'byn-ER': 'en',\n 'ca-ES': 'ca',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'ce-RU': 'ce',\n 'cgg-UG': 'cgg',\n 'chr-Cher': 'chr',\n 'chr-Cher-US': 'chr',\n co: 'en',\n 'co-FR': 'fr',\n 'cs-CZ': 'cs',\n 'cu-RU': 'cu',\n 'cy-GB': 'cy',\n 'da-DK': 'da',\n 'dav-KE': 'dav',\n 'de-DE': 'de',\n 'dje-NE': 'dje',\n 'dsb-DE': 'dsb',\n 'dua-CM': 'dua',\n dv: 'en',\n 'dv-MV': 'en',\n 'dyo-SN': 'dyo',\n 'dz-BT': 'dz',\n 'ebu-KE': 'ebu',\n 'ee-GH': 'ee',\n 'el-GR': 'el',\n 'en-029': 'en',\n 'en-ID': 'en',\n 'en-US': 'en',\n 'eo-001': 'en',\n 'es-ES': 'es',\n 'et-EE': 'et',\n 'eu-ES': 'eu',\n 'ewo-CM': 'ewo',\n 'fa-IR': 'fa',\n 'ff-Latn-SN': 'ff-Latn',\n 'ff-NG': 'ff',\n 'fi-FI': 'fi',\n 'fil-PH': 'fil',\n 'fo-FO': 'fo',\n 'fr-029': 'fr',\n 'fr-FR': 'fr',\n 'fur-IT': 'fur',\n 'fy-NL': 'fy',\n 'ga-IE': 'ga',\n 'gd-GB': 'gd',\n 'gl-ES': 'gl',\n gn: 'en',\n 'gn-PY': 'en',\n 'gsw-CH': 'gsw',\n 'gu-IN': 'gu',\n 'guz-KE': 'guz',\n 'gv-IM': 'gv',\n 'ha-Latn': 'ha',\n 'ha-Latn-GH': 'ha-GH',\n 'ha-Latn-NE': 'ha-NE',\n 'ha-Latn-NG': 'ha',\n 'haw-US': 'haw',\n 'he-IL': 'he',\n 'hi-IN': 'hi',\n 'hr-HR': 'hr',\n 'hsb-DE': 'hsb',\n 'hu-HU': 'hu',\n 'hy-AM': 'hy',\n 'ia-001': 'ia',\n 'ia-FR': 'ia',\n ibb: 'en',\n 'ibb-NG': 'en',\n 'id-ID': 'id',\n 'ig-NG': 'ig',\n 'ii-CN': 'ii',\n 'is-IS': 'is',\n 'it-IT': 'it',\n iu: 'en',\n 'iu-Cans': 'en',\n 'iu-Cans-CA': 'en',\n 'iu-Latn': 'en',\n 'iu-Latn-CA': 'en',\n 'ja-JP': 'ja',\n 'jgo-CM': 'jgo',\n 'jmc-TZ': 'jmc',\n 'jv-Java': 'jv',\n 'jv-Java-ID': 'jv',\n 'jv-Latn': 'jv',\n 'jv-Latn-ID': 'jv',\n 'ka-GE': 'ka',\n 'kab-DZ': 'kab',\n 'kam-KE': 'kam',\n 'kde-TZ': 'kde',\n 'kea-CV': 'kea',\n 'khq-ML': 'khq',\n 'ki-KE': 'ki',\n 'kk-KZ': 'kk',\n 'kkj-CM': 'kkj',\n 'kl-GL': 'kl',\n 'kln-KE': 'kln',\n 'km-KH': 'km',\n 'kn-IN': 'kn',\n 'ko-KR': 'ko',\n 'kok-IN': 'kok',\n kr: 'en',\n 'kr-NG': 'en',\n 'ks-Arab': 'ks',\n 'ks-Arab-IN': 'ks',\n 'ks-Deva': 'ks',\n 'ks-Deva-IN': 'ks',\n 'ksb-TZ': 'ksb',\n 'ksf-CM': 'ksf',\n 'ksh-DE': 'ksh',\n 'ku-Arab': 'ku',\n 'ku-Arab-IQ': 'ku',\n 'ku-Arab-IR': 'ku',\n 'kw-GB': 'kw',\n 'ky-KG': 'ky',\n la: 'en',\n 'la-001': 'en',\n 'lag-TZ': 'lag',\n 'lb-LU': 'lb',\n 'lg-UG': 'lg',\n 'lkt-US': 'lkt',\n 'ln-CD': 'ln',\n 'lo-LA': 'lo',\n 'lrc-IR': 'lrc',\n 'lt-LT': 'lt',\n 'lu-CD': 'lu',\n 'luo-KE': 'luo',\n 'luy-KE': 'luy',\n 'lv-LV': 'lv',\n 'mas-KE': 'mas',\n 'mer-KE': 'mer',\n 'mfe-MU': 'mfe',\n 'mg-MG': 'mg',\n 'mgh-MZ': 'mgh',\n 'mgo-CM': 'mgo',\n 'mi-NZ': 'mi',\n 'mk-MK': 'mk',\n 'ml-IN': 'ml',\n 'mn-Cyrl': 'mn',\n 'mn-MN': 'mn',\n 'mn-Mong': 'mn',\n 'mn-Mong-CN': 'mn',\n 'mn-Mong-MN': 'mn',\n mni: 'en',\n 'mni-IN': 'en',\n moh: 'en',\n 'moh-CA': 'en',\n 'mr-IN': 'mr',\n 'ms-MY': 'ms',\n 'mt-MT': 'mt',\n 'mua-CM': 'mua',\n 'my-MM': 'my',\n 'mzn-IR': 'mzn',\n 'naq-NA': 'naq',\n 'nb-NO': 'nb',\n\n 'nd-ZW': 'nd',\n 'ne-NP': 'ne',\n 'nl-NL': 'nl',\n 'nmg-CM': 'ngm',\n 'nn-NO': 'nn',\n 'nnh-CM': 'nnh',\n no: 'en',\n nqo: 'en',\n 'nqo-GN': 'en',\n nr: 'en',\n 'nr-ZA': 'en',\n nso: 'en',\n 'nso-ZA': 'en',\n 'nus-SS': 'nus',\n 'nyn-UG': 'nyn',\n oc: 'en',\n 'oc-FR': 'fr',\n 'om-ET': 'om',\n 'or-IN': 'or',\n 'os-GE': 'os',\n 'pa-Arab-PK': 'pa-Arab',\n 'pa-IN': 'pa',\n pap: 'en',\n 'pap-029': 'en',\n 'pl-PL': 'pl',\n 'prg-001': 'prg',\n prs: 'en',\n 'prs-AF': 'en',\n 'ps-AF': 'ps',\n 'pt-BR': 'pt',\n quc: 'en',\n 'quc-Latn': 'en',\n 'quc-Latn-GT': 'en',\n quz: 'en',\n 'quz-BO': 'en',\n 'quz-EC': 'en',\n 'quz-PE': 'en',\n 'rm-CH': 'rm',\n 'rn-BI': 'rn',\n 'ro-RO': 'ro',\n 'rof-TZ': 'rof',\n 'ru-RU': 'ru',\n 'rw-RW': 'rw',\n 'rwk-TZ': 'rwk',\n sa: 'en',\n 'sa-IN': 'en',\n 'sah-RU': 'sah',\n 'saq-KE': 'saq',\n 'sbp-TZ': 'en',\n 'sd-Arab': 'sd',\n 'sd-Arab-PK': 'sd',\n 'sd-Deva': 'sd',\n 'sd-Deva-IN': 'sd',\n 'se-NO': 'se',\n 'seh-MZ': 'seh',\n 'ses-ML': 'ses',\n 'sg-CF': 'sg',\n 'shi-Latn-MA': 'shi-Latn',\n 'shi-Tfng-MA': 'shi-Tfng',\n 'si-LK': 'si',\n 'sk-SK': 'sk',\n 'sl-SI': 'sl',\n sma: 'en',\n 'sma-NO': 'en',\n 'sma-SE': 'en',\n smj: 'en',\n 'smj-NO': 'en',\n 'smj-SE': 'en',\n 'smn-FI': 'en',\n sms: 'en',\n 'sms-FI': 'en',\n 'sn-Latn': 'sn',\n 'sn-Latn-ZW': 'sn',\n 'so-SO': 'so',\n 'sq-AL': 'so',\n 'sr-Cyrl-RS': 'sr-Cryl',\n 'sr-Latn-RS': 'sr-Latn',\n ss: 'en',\n 'ss-SZ': 'en',\n 'ss-ZA': 'en',\n ssy: 'en',\n 'ssy-ER': 'en',\n st: 'en',\n 'st-LS': 'en',\n 'st-ZA': 'en',\n 'sv-SE': 'sv',\n 'sw-TZ': 'sw',\n syr: 'en',\n 'syr-SY': 'en',\n 'ta-IN': 'ta',\n 'te-IN': 'te',\n 'teo-UG': 'teo',\n 'tg-Cyrl': 'tg',\n 'tg-Cyrl-TJ': 'tg',\n 'th-TH': 'th',\n 'ti-ET': 'ti',\n tig: 'en',\n 'tig-ER': 'en',\n 'tk-TM': 'tk',\n tn: 'en',\n 'tn-BW': 'en',\n 'tn-ZA': 'en',\n 'to-TO': 'to',\n 'tr-TR': 'tr',\n ts: 'en',\n 'ts-ZA': 'en',\n 'tt-RU': 'tt',\n 'twq-NE': 'twq',\n 'tzm-Arab': 'tzm',\n 'tzm-Arab-MA': 'tzm',\n 'tzm-Latn': 'tzm',\n 'tzm-Latn-DZ': 'tzm',\n 'tzm-Latn-MA': 'tzm',\n 'tzm-Tfng': 'tzm',\n 'tzm-Tfng-MA': 'tzm',\n 'ug-CN': 'ug',\n 'uk-UA': 'uk',\n 'ur-PK': 'ur',\n 'uz-Arab-AF': 'uz-Arab',\n 'uz-Cyrl-UZ': 'uz-Cyrl',\n 'uz-Latn-UZ': 'uz-Latn',\n 'vai-Latn-LR': 'vai-Latn',\n 'vai-Vaii-LR': 'vai-Vaii',\n ve: 'en',\n 've-ZA': 'en',\n 'vi-VN': 'vi',\n 'vo-001': 'vo',\n 'vun-TZ': 'vun',\n 'wae-CH': 'wae',\n wal: 'en',\n 'wal-ET': 'en',\n 'wo-SN': 'wo',\n 'xh-ZA': 'xh',\n 'xog-UG': 'xog',\n 'yav-CM': 'yav',\n 'yi-001': 'yi',\n 'yo-NG': 'yo',\n 'zgh-Tfng': 'zgh',\n 'zgh-Tfng-MA': 'zgh',\n 'zh-CN': 'zh',\n 'zh-HK': 'zh',\n 'zh-MO': 'zh',\n 'zh-SG': 'zh',\n 'zh-TW': 'zh',\n 'zu-ZA': 'zu',\n};\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[autofocus]'\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[input.debounce]',\n providers: [SubscriptionService],\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce = 300;\n\n @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\n\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\n\n ngOnInit(): void {\n const input$ = fromEvent(this.el.nativeElement, 'input').pipe(debounceTime(this.debounce));\n\n this.subscription.addOne(input$, (event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import {\n Directive,\n EmbeddedViewRef,\n Input,\n IterableChangeRecord,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnChanges,\n TemplateRef,\n TrackByFunction,\n ViewContainerRef,\n} from '@angular/core';\nimport compare from 'just-compare';\nimport clone from 'just-clone';\n\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\n\nclass AbpForContext {\n constructor(public $implicit: any, public index: number, public count: number, public list: any[]) {}\n}\n\nclass RecordView {\n constructor(public record: IterableChangeRecord<any>, public view: EmbeddedViewRef<AbpForContext>) {}\n}\n\n@Directive({\n selector: '[abpFor]',\n})\nexport class ForDirective implements OnChanges {\n @Input('abpForOf')\n items: any[];\n\n @Input('abpForOrderBy')\n orderBy: string;\n\n @Input('abpForOrderDir')\n orderDir: 'ASC' | 'DESC';\n\n @Input('abpForFilterBy')\n filterBy: string;\n\n @Input('abpForFilterVal')\n filterVal: any;\n\n @Input('abpForTrackBy')\n trackBy;\n\n @Input('abpForCompareBy')\n compareBy: CompareFn;\n\n @Input('abpForEmptyRef')\n emptyRef: TemplateRef<any>;\n\n private differ: IterableDiffer<any>;\n\n private isShowEmptyRef: boolean;\n\n get compareFn(): CompareFn {\n return this.compareBy || compare;\n }\n\n get trackByFn(): TrackByFunction<any> {\n return this.trackBy || ((index: number, item: any) => (item as any).id || index);\n }\n\n constructor(\n private tempRef: TemplateRef<AbpForContext>,\n private vcRef: ViewContainerRef,\n private differs: IterableDiffers,\n ) {}\n\n private iterateOverAppliedOperations(changes: IterableChanges<any>) {\n const rw: RecordView[] = [];\n\n changes.forEachOperation((record: IterableChangeRecord<any>, previousIndex: number, currentIndex: number) => {\n if (record.previousIndex == null) {\n const view = this.vcRef.createEmbeddedView(\n this.tempRef,\n new AbpForContext(null, -1, -1, this.items),\n currentIndex,\n );\n\n rw.push(new RecordView(record, view));\n } else if (currentIndex == null) {\n this.vcRef.remove(previousIndex);\n } else {\n const view = this.vcRef.get(previousIndex);\n this.vcRef.move(view, currentIndex);\n\n rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\n }\n });\n\n for (let i = 0, l = rw.length; i < l; i++) {\n rw[i].view.context.$implicit = rw[i].record.item;\n }\n }\n\n private iterateOverAttachedViews(changes: IterableChanges<any>) {\n for (let i = 0, l = this.vcRef.length; i < l; i++) {\n const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\n viewRef.context.index = i;\n viewRef.context.count = l;\n viewRef.context.list = this.items;\n }\n\n changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\n const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\n viewRef.context.$implicit = record.item;\n });\n }\n\n private projectItems(items: any[]): void {\n if (!items.length && this.emptyRef) {\n this.vcRef.clear();\n // tslint:disable-next-line: no-unused-expression\n this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\n this.isShowEmptyRef = true;\n this.differ = null;\n\n return;\n }\n\n if (this.emptyRef && this.isShowEmptyRef) {\n this.vcRef.clear();\n this.isShowEmptyRef = false;\n }\n\n if (!this.differ && items) {\n this.differ = this.differs.find(items).create(this.trackByFn);\n }\n\n if (this.differ) {\n const changes = this.differ.diff(items);\n\n if (changes) {\n this.iterateOverAppliedOperations(changes);\n this.iterateOverAttachedViews(changes);\n }\n }\n }\n\n private sortItems(items: any[]) {\n if (this.orderBy) {\n items.sort((a, b) => (a[this.orderBy] > b[this.orderBy] ? 1 : a[this.orderBy] < b[this.orderBy] ? -1 : 0));\n } else {\n items.sort();\n }\n }\n\n ngOnChanges() {\n let items = clone(this.items) as any[];\n if (!Array.isArray(items)) return;\n\n const compareFn = this.compareFn;\n\n if (typeof this.filterBy !== 'undefined' && typeof this.filterVal !== 'undefined' && this.filterVal !== '') {\n items = items.filter(item => compareFn(item[this.filterBy], this.filterVal));\n }\n\n switch (this.orderDir) {\n case 'ASC':\n this.sortItems(items);\n this.projectItems(items);\n break;\n\n case 'DESC':\n this.sortItems(items);\n items.reverse();\n this.projectItems(items);\n break;\n\n default:\n this.projectItems(items);\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { SubscriptionService } from '../services/subscription.service';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: 'form[ngSubmit][formGroup]',\n providers: [SubscriptionService],\n})\nexport class FormSubmitDirective implements OnInit {\n @Input()\n debounce = 200;\n\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output() readonly ngSubmit = new EventEmitter();\n\n executedNgSubmit = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef<HTMLFormElement>,\n private cdRef: ChangeDetectorRef,\n private subscription: SubscriptionService,\n ) {}\n\n ngOnInit() {\n this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n const keyup$ = fromEvent(this.host.nativeElement as HTMLElement, 'keyup').pipe(\n debounceTime(this.debounce),\n filter(event => !(event.target instanceof HTMLTextAreaElement)),\n filter((event: KeyboardEvent) => event && event.key === 'Enter'),\n );\n\n this.subscription.addOne(keyup$, () => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(\n new Event('submit', { bubbles: true, cancelable: true }),\n );\n }\n\n this.executedNgSubmit = false;\n });\n }\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\n\n@Directive({ selector: '[abpInit]' })\nexport class InitDirective implements AfterViewInit {\n @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit() {\n this.init.emit(this.elRef);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { PermissionService } from '../services/permission.service';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnDestroy, OnChanges {\n @Input('abpPermission') condition: string;\n\n subscription: Subscription;\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n @Optional() private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef,\n private permissionService: PermissionService,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n private check() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n\n this.subscription = this.permissionService\n .getGrantedPolicy$(this.condition)\n .pipe(distinctUntilChanged())\n .subscribe(isGranted => {\n if (this.templateRef) this.initStructural(isGranted);\n else this.initAttribute(isGranted);\n\n this.cdRef.detectChanges();\n });\n }\n\n private initStructural(isGranted: boolean) {\n this.vcRef.clear();\n\n if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\n }\n\n /**\n * @deprecated Will be deleted in v5.0\n */\n private initAttribute(isGranted: boolean) {\n if (!isGranted) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n }\n }\n\n ngOnDestroy(): void {\n if (this.subscription) this.subscription.unsubscribe();\n }\n\n ngOnChanges() {\n this.check();\n }\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Injector,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport compare from 'just-compare';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport snq from 'snq';\nimport { ABP } from '../models/common';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({ selector: '[abpReplaceableTemplate]', providers: [SubscriptionService] })\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\n @Input('abpReplaceableTemplate')\n data: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\n\n providedData = { inputs: {}, outputs: {} } as ReplaceableComponents.ReplaceableTemplateData<\n any,\n any\n >;\n\n context = {} as any;\n\n externalComponent: Type<any>;\n\n defaultComponentRef: any;\n\n defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\n\n initialized = false;\n\n constructor(\n private injector: Injector,\n private templateRef: TemplateRef<any>,\n private cfRes: ComponentFactoryResolver,\n private vcRef: ViewContainerRef,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n ) {\n this.context = {\n initTemplate: ref => {\n this.resetDefaultComponent();\n this.defaultComponentRef = ref;\n this.setDefaultComponentInputs();\n },\n };\n }\n\n ngOnInit() {\n const component$ = this.replaceableComponents\n .get$(this.data.componentKey)\n .pipe(\n filter(\n (res = {} as ReplaceableComponents.ReplaceableComponent) =>\n !this.initialized || !compare(res.component, this.externalComponent),\n ),\n );\n\n this.subscription.addOne(\n component$,\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\n this.vcRef.clear();\n this.externalComponent = res.component;\n if (this.defaultComponentRef) {\n this.resetDefaultComponent();\n }\n\n if (res.component) {\n this.setProvidedData();\n const customInjector = Injector.create({\n providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\n parent: this.injector,\n });\n this.vcRef.createComponent(\n this.cfRes.resolveComponentFactory(res.component),\n 0,\n customInjector,\n );\n } else {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n }\n\n this.initialized = true;\n },\n );\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (snq(() => changes.data.currentValue.inputs) && this.defaultComponentRef) {\n this.setDefaultComponentInputs();\n }\n }\n\n setDefaultComponentInputs() {\n if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\n\n if (this.data.inputs) {\n for (const key in this.data.inputs) {\n if (this.data.inputs.hasOwnProperty(key)) {\n if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\n this.defaultComponentRef[key] = this.data.inputs[key].value;\n }\n }\n }\n }\n\n if (this.data.outputs) {\n for (const key in this.data.outputs) {\n if (this.data.outputs.hasOwnProperty(key)) {\n if (!this.defaultComponentSubscriptions[key]) {\n this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\n value => {\n this.data.outputs[key](value);\n },\n );\n }\n }\n }\n }\n }\n\n setProvidedData() {\n this.providedData = { ...this.data, inputs: {} };\n\n if (!this.data.inputs) return;\n Object.defineProperties(this.providedData.inputs, {\n ...Object.keys(this.data.inputs).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n enumerable: true,\n configurable: true,\n get: () => this.data.inputs[key].value,\n ...(this.data.inputs[key].twoWay && {\n set: newValue => {\n this.data.inputs[key].value = newValue;\n this.data.outputs[`${key}Change`](newValue);\n },\n }),\n },\n }),\n {},\n ),\n });\n }\n\n resetDefaultComponent() {\n Object.keys(this.defaultComponentSubscriptions).forEach(key => {\n this.defaultComponentSubscriptions[key].unsubscribe();\n });\n this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\n this.defaultComponentRef = null;\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[click.stop]',\n providers: [SubscriptionService],\n})\nexport class StopPropagationDirective implements OnInit {\n @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\n\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\n\n ngOnInit(): void {\n this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'), (event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input, Optional, Renderer2 } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n/**\n *\n * @deprecated To be deleted in v5.0\n */\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject<boolean>();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n if (!this.focusedElement && this.elRef) {\n this.focusedElement = this.elRef.nativeElement;\n }\n\n let observer: MutationObserver;\n observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.removeFromDOM();\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n setTimeout(() => {\n const htmlNodes = snq(\n () =>\n Array.from(this.focusedElement.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) this.removeFromDOM();\n }, 0);\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n\n removeFromDOM() {\n if (!this.elRef.nativeElement) return;\n\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { filter, map } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { EnvironmentService } from '../services/environment.service';\nimport { CORE_OPTIONS } from '../tokens/options.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OAuthConfigurationHandler {\n constructor(\n private oAuthService: OAuthService,\n private environmentService: EnvironmentService,\n @Inject(CORE_OPTIONS) private options: ABP.Root,\n ) {\n this.listenToSetEnvironment();\n }\n\n private listenToSetEnvironment() {\n this.environmentService\n .createOnUpdateStream(state => state)\n .pipe(\n map(environment => environment.oAuthConfig),\n filter(config => !compare(config, this.options.environment.oAuthConfig)),\n )\n .subscribe(config => {\n this.oAuthService.configure(config);\n });\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ABP } from '../models';\nimport { RoutesService } from '../services/routes.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoutesHandler {\n constructor(private routes: RoutesService, @Optional() private router: Router) {\n this.addRoutes();\n }\n\n addRoutes() {\n this.router?.config?.forEach(({ path = '', data }) => {\n if (!data?.routes) return;\n\n if (Array.isArray(data.routes)) {\n this.routes.add(data.routes);\n return;\n }\n\n const routes = flatRoutes([{ path, ...data.routes }], { path: '' });\n this.routes.add(routes);\n });\n }\n}\n\nfunction flatRoutes(routes: RouteDef[], parent: any) {\n if (!routes) return [];\n\n return routes.reduce((acc, route) => {\n const { children, ...current } = {\n ...route,\n parentName: parent.name,\n path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\n };\n\n acc.push(current, ...flatRoutes(children, current));\n\n return acc;\n }, []);\n}\n\ntype RouteDef = ABP.Route & { children: RouteDef[] };\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport function getPathName(url: string): string {\n const { pathname } = new URL(url, window.location.origin);\n return pathname;\n}\n\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n\n decodeValue(v: string) {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpRequest } from '@angular/common/http';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { getPathName } from '../utils/http-utils';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { of, Subject, timer } from 'rxjs';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\n\nexport interface HttpWaitState {\n requests: HttpRequest<any>[];\n filteredRequests: Array<HttpRequestInfo>;\n}\nexport interface HttpRequestInfo {\n method: string;\n endpoint: string;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWaitService {\n protected store = new InternalStore<HttpWaitState>({\n requests: [],\n filteredRequests: [],\n });\n\n private delay: number;\n private destroy$ = new Subject();\n\n constructor(injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n }\n\n getLoading() {\n return !!this.applyFilter(this.store.state.requests).length;\n }\n\n getLoading$() {\n return this.store\n .sliceState(({ requests }) => requests)\n .pipe(\n map(requests => !!this.applyFilter(requests).length),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n );\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\n }\n\n clearLoading() {\n this.store.patch({ requests: [] });\n }\n\n addRequest(request: HttpRequest<any>) {\n this.store.patch({ requests: [...this.store.state.requests, request] });\n }\n\n deleteRequest(request: HttpRequest<any>) {\n const requests = this.store.state.requests.filter(r => r !== request);\n this.store.patch({ requests });\n }\n\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = [\n ...this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n ),\n ...requests,\n ];\n this.store.patch({ filteredRequests });\n }\n\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n );\n this.store.patch({ filteredRequests });\n }\n\n private applyFilter(requests: HttpRequest<any>[]) {\n const { filteredRequests } = this.store.state;\n return requests.filter(\n ({ method, url }) =>\n !filteredRequests.find(filteredRequest =>\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\n ),\n );\n }\n\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\n const { method, endpoint } = filteredRequest;\n return endpoint === request.endpoint && method === request.method;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable, Inject } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { finalize } from 'rxjs/operators';\nimport { SessionStateService } from '../services/session-state.service';\nimport { HttpWaitService } from '../services/http-wait.service';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(\n private oAuthService: OAuthService,\n private sessionState: SessionStateService,\n private httpWaitService: HttpWaitService,\n @Inject(TENANT_KEY) private tenantKey: string,\n ) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n this.httpWaitService.addRequest(request);\n return next\n .handle(\n request.clone({\n setHeaders: this.getAdditionalHeaders(request.headers),\n }),\n )\n .pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\n }\n\n getAdditionalHeaders(existingHeaders?: HttpHeaders) {\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!existingHeaders?.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.sessionState.getLanguage();\n if (!existingHeaders?.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.sessionState.getTenant();\n if (!existingHeaders?.has(this.tenantKey) && tenant?.id) {\n headers[this.tenantKey] = tenant.id;\n }\n\n return headers;\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { Config } from '../models';\nimport { LocalizationService } from '../services/localization.service';\n\n@Injectable()\n@Pipe({\n name: 'abpLocalization',\n})\nexport class LocalizationPipe implements PipeTransform {\n constructor(private localization: LocalizationService) {}\n\n transform(\n value: string | Config.LocalizationWithDefault = '',\n ...interpolateParams: string[]\n ): string {\n return this.localization.instant(\n value,\n ...interpolateParams.reduce(\n (acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]),\n [],\n ),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { LocalizationPipe } from './pipes/localization.pipe';\n\n@NgModule({\n exports: [LocalizationPipe],\n declarations: [LocalizationPipe],\n})\nexport class LocalizationModule {}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nexport type SortOrder = 'asc' | 'desc';\n@Injectable()\n@Pipe({\n name: 'abpSort',\n})\nexport class SortPipe implements PipeTransform {\n transform(\n value: any[],\n sortOrder: SortOrder | string = 'asc',\n sortKey?: string,\n ): any {\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\n\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\n\n let numberArray = [];\n let stringArray = [];\n\n if (!sortKey) {\n numberArray = value.filter(item => typeof item === 'number').sort();\n stringArray = value.filter(item => typeof item === 'string').sort();\n } else {\n numberArray = value\n .filter(item => typeof item[sortKey] === 'number')\n .sort((a, b) => a[sortKey] - b[sortKey]);\n stringArray = value\n .filter(item => typeof item[sortKey] === 'string')\n .sort((a, b) => {\n if (a[sortKey] < b[sortKey]) return -1;\n else if (a[sortKey] > b[sortKey]) return 1;\n else return 0;\n });\n }\n const sorted = [\n ...numberArray,\n ...stringArray,\n ...value.filter(\n item =>\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\n typeof (sortKey ? item[sortKey] : item) !== 'string',\n ),\n ];\n return sortOrder === 'asc' ? sorted : sorted.reverse();\n }\n}\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport { differentLocales } from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return differentLocales[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n apiName = 'AbpIdentity';\n\n constructor(private rest: RestService) {}\n\n get(): Observable<Profile.Response> {\n const request: Rest.Request<null> = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request<null, Profile.Response>(request, { apiName: this.apiName });\n }\n\n update(body: Profile.Response): Observable<Profile.Response> {\n const request: Rest.Request<Profile.Response> = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request<Profile.Response, Profile.Response>(request, {\n apiName: this.apiName,\n });\n }\n\n changePassword(\n body: Profile.ChangePasswordRequest,\n skipHandleError: boolean = false,\n ): Observable<null> {\n const request: Rest.Request<Profile.ChangePasswordRequest> = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request<Profile.ChangePasswordRequest, null>(request, {\n skipHandleError,\n apiName: this.apiName,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { ChangePassword, GetProfile, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\n\n@State<Profile.State>({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\n@Injectable()\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n getProfile({ patchState }: StateContext<Profile.State>) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n updateProfile({ patchState }: StateContext<Profile.State>, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OAuthStorage, TokenResponse } from 'angular-oauth2-oidc';\nimport { pipe } from 'rxjs';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nimport { ConfigStateService } from '../services/config-state.service';\n\nconst cookieKey = 'rememberMe';\nconst storageKey = 'passwordFlow';\n\nexport function pipeToLogin(\n params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>,\n injector: Injector,\n) {\n const configState = injector.get(ConfigStateService);\n const appConfigService = injector.get(AbpApplicationConfigurationService);\n const router = injector.get(Router);\n\n return pipe(\n switchMap(() => appConfigService.get()),\n tap(res => {\n configState.setState(res);\n setRememberMe(params.rememberMe);\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\n }),\n );\n}\n\nexport function setTokenResponseToStorage(injector: Injector, tokenRes: TokenResponse) {\n const { access_token, refresh_token, scope: grantedScopes, expires_in } = tokenRes;\n const storage = injector.get(OAuthStorage);\n\n storage.setItem('access_token', access_token);\n storage.setItem('refresh_token', refresh_token);\n storage.setItem('access_token_stored_at', '' + Date.now());\n\n if (grantedScopes) {\n storage.setItem('granted_scopes', JSON.stringify(grantedScopes.split(' ')));\n }\n\n if (expires_in) {\n const expiresInMilliSeconds = expires_in * 1000;\n const now = new Date();\n const expiresAt = now.getTime() + expiresInMilliSeconds;\n storage.setItem('expires_at', '' + expiresAt);\n }\n}\n\nexport function setRememberMe(remember: boolean) {\n removeRememberMe();\n localStorage.setItem(storageKey, 'true');\n document.cookie = `${cookieKey}=true; path=/${\n remember ? ' ;expires=Fri, 31 Dec 9999 23:59:59 GMT' : ''\n }`;\n}\n\nexport function removeRememberMe() {\n localStorage.removeItem(storageKey);\n document.cookie = cookieKey + '= ; path=/; expires = Thu, 01 Jan 1970 00:00:00 GMT';\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Params, Router } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport {\n AuthConfig,\n OAuthErrorEvent,\n OAuthInfoEvent,\n OAuthService,\n OAuthStorage,\n} from 'angular-oauth2-oidc';\nimport { from, Observable, of, pipe } from 'rxjs';\nimport { filter, switchMap, tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { LoginParams } from '../models/auth';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { removeRememberMe, setRememberMe } from '../utils/auth-utils';\nimport { noop } from '../utils/common-utils';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\nexport const oAuthStorage = localStorage;\n\nexport abstract class AuthFlowStrategy {\n abstract readonly isInternalAuth: boolean;\n\n protected store: Store;\n protected environment: EnvironmentService;\n protected configState: ConfigStateService;\n protected oAuthService: OAuthService;\n protected oAuthConfig: AuthConfig;\n protected sessionState: SessionStateService;\n protected appConfigService: AbpApplicationConfigurationService;\n protected tenantKey: string;\n\n abstract checkIfInternalAuth(queryParams?: Params): boolean;\n abstract navigateToLogin(queryParams?: Params): void;\n abstract logout(queryParams?: Params): Observable<any>;\n abstract login(params?: LoginParams | Params): Observable<any>;\n\n private catchError = err => this.store.dispatch(new RestOccurError(err));\n\n constructor(protected injector: Injector) {\n this.store = injector.get(Store);\n this.environment = injector.get(EnvironmentService);\n this.configState = injector.get(ConfigStateService);\n this.oAuthService = injector.get(OAuthService);\n this.appConfigService = injector.get(AbpApplicationConfigurationService);\n this.sessionState = injector.get(SessionStateService);\n this.oAuthConfig = this.environment.getEnvironment().oAuthConfig;\n this.tenantKey = injector.get(TENANT_KEY);\n\n this.listenToOauthErrors();\n }\n\n async init(): Promise<any> {\n const shouldClear = shouldStorageClear(\n this.environment.getEnvironment().oAuthConfig.clientId,\n oAuthStorage,\n );\n if (shouldClear) clearOAuthStorage(oAuthStorage);\n\n this.oAuthService.configure(this.oAuthConfig);\n return this.oAuthService\n .loadDiscoveryDocument()\n .then(() => {\n if (this.oAuthService.hasValidAccessToken() || !this.oAuthService.getRefreshToken()) {\n return Promise.resolve();\n }\n\n return this.refreshToken();\n })\n .catch(this.catchError);\n }\n\n protected refreshToken() {\n return this.oAuthService.refreshToken().catch(() => clearOAuthStorage());\n }\n\n protected listenToOauthErrors() {\n this.oAuthService.events\n .pipe(\n filter(event => event instanceof OAuthErrorEvent),\n tap(() => clearOAuthStorage()),\n switchMap(() => this.appConfigService.get()),\n )\n .subscribe(res => {\n this.configState.setState(res);\n });\n }\n}\n\nexport class AuthCodeFlowStrategy extends AuthFlowStrategy {\n readonly isInternalAuth = false;\n\n async init() {\n return super\n .init()\n .then(() => this.oAuthService.tryLogin().catch(noop))\n .then(() => this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token'));\n }\n\n navigateToLogin(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n }\n\n checkIfInternalAuth(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n return false;\n }\n\n logout(queryParams?: Params) {\n return from(this.oAuthService.revokeTokenAndLogout(this.getCultureParams(queryParams)));\n }\n\n login(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n return of(null);\n }\n\n private getCultureParams(queryParams?: Params) {\n const lang = this.sessionState.getLanguage();\n const culture = { culture: lang, 'ui-culture': lang };\n return { ...(lang && culture), ...queryParams };\n }\n}\n\nexport class AuthPasswordFlowStrategy extends AuthFlowStrategy {\n readonly isInternalAuth = true;\n private cookieKey = 'rememberMe';\n private storageKey = 'passwordFlow';\n\n private listenToTokenExpiration() {\n this.oAuthService.events\n .pipe(\n filter(\n event =>\n event instanceof OAuthInfoEvent &&\n event.type === 'token_expires' &&\n event.info === 'access_token',\n ),\n )\n .subscribe(() => {\n if (this.oAuthService.getRefreshToken()) {\n this.refreshToken();\n } else {\n this.oAuthService.logOut();\n removeRememberMe();\n this.appConfigService.get().subscribe(res => {\n this.configState.setState(res);\n });\n }\n });\n }\n\n async init() {\n if (!getCookieValueByName(this.cookieKey) && localStorage.getItem(this.storageKey)) {\n this.oAuthService.logOut();\n }\n\n return super.init().then(() => this.listenToTokenExpiration());\n }\n\n navigateToLogin(queryParams?: Params) {\n const router = this.injector.get(Router);\n router.navigate(['/account/login'], { queryParams });\n }\n\n checkIfInternalAuth() {\n return true;\n }\n\n login(params: LoginParams): Observable<any> {\n const tenant = this.sessionState.getTenant();\n\n return from(\n this.oAuthService.fetchTokenUsingPasswordFlow(\n params.username,\n params.password,\n new HttpHeaders({ ...(tenant && tenant.id && { [this.tenantKey]: tenant.id }) }),\n ),\n ).pipe(this.pipeToLogin(params));\n }\n\n pipeToLogin(params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>) {\n const router = this.injector.get(Router);\n\n return pipe(\n switchMap(() => this.appConfigService.get()),\n tap(res => {\n this.configState.setState(res);\n setRememberMe(params.rememberMe);\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\n }),\n );\n }\n\n logout(queryParams?: Params) {\n const router = this.injector.get(Router);\n\n return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(\n switchMap(() => this.appConfigService.get()),\n tap(res => {\n this.configState.setState(res);\n router.navigateByUrl('/');\n removeRememberMe();\n }),\n );\n }\n\n protected refreshToken() {\n return this.oAuthService.refreshToken().catch(() => {\n clearOAuthStorage();\n removeRememberMe();\n });\n }\n}\n\nexport const AUTH_FLOW_STRATEGY = {\n Code(injector: Injector) {\n return new AuthCodeFlowStrategy(injector);\n },\n Password(injector: Injector) {\n return new AuthPasswordFlowStrategy(injector);\n },\n};\n\nexport function clearOAuthStorage(storage: OAuthStorage = oAuthStorage) {\n const keys = [\n 'access_token',\n 'id_token',\n 'refresh_token',\n 'nonce',\n 'PKCE_verifier',\n 'expires_at',\n 'id_token_claims_obj',\n 'id_token_expires_at',\n 'id_token_stored_at',\n 'access_token_stored_at',\n 'granted_scopes',\n 'session_state',\n ];\n\n keys.forEach(key => storage.removeItem(key));\n}\n\nfunction shouldStorageClear(clientId: string, storage: OAuthStorage): boolean {\n const key = 'abpOAuthClientId';\n if (!storage.getItem(key)) {\n storage.setItem(key, clientId);\n return false;\n }\n\n const shouldClear = storage.getItem(key) !== clientId;\n if (shouldClear) storage.setItem(key, clientId);\n return shouldClear;\n}\n\nfunction getCookieValueByName(name: string) {\n const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n return match ? match[2] : '';\n}\n","export {};\n\ndeclare global {\n interface Date {\n toLocalISOString?: () => string;\n }\n}\n\nDate.prototype.toLocalISOString = function(this: Date): string {\n const timezoneOffset = this.getTimezoneOffset();\n\n return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\n};\n","import { Injectable, Injector } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { from, Observable } from 'rxjs';\nimport { filter, map, switchMap, take, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { AuthFlowStrategy, AUTH_FLOW_STRATEGY } from '../strategies/auth-flow.strategy';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private strategy: AuthFlowStrategy;\n\n get isInternalAuth() {\n return this.strategy.isInternalAuth;\n }\n\n constructor(protected injector: Injector) {}\n\n async init() {\n const environmentService = this.injector.get(EnvironmentService);\n\n return environmentService\n .getEnvironment$()\n .pipe(\n map(env => env?.oAuthConfig),\n filter(oAuthConfig => !!oAuthConfig),\n tap(oAuthConfig => {\n this.strategy =\n oAuthConfig.responseType === 'code'\n ? AUTH_FLOW_STRATEGY.Code(this.injector)\n : AUTH_FLOW_STRATEGY.Password(this.injector);\n }),\n switchMap(() => from(this.strategy.init())),\n take(1),\n )\n .toPromise();\n }\n\n logout(queryParams?: Params): Observable<any> {\n return this.strategy.logout(queryParams);\n }\n\n /**\n * @deprecated Use navigateToLogin method instead. To be deleted in v5.0\n */\n initLogin() {\n this.strategy.navigateToLogin();\n }\n\n navigateToLogin(queryParams?: Params) {\n this.strategy.navigateToLogin(queryParams);\n }\n\n login(params: LoginParams) {\n return this.strategy.login(params);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type AppInitErrorFn = (error: any) => void;\n\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\n 'APP_INIT_ERROR_HANDLERS',\n);\n","import { HttpClient } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { catchError, tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { Environment, RemoteEnv } from '../models/environment';\nimport { EnvironmentService } from '../services/environment.service';\nimport { deepMerge } from './object-utils';\n\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\n const environmentService = injector.get(EnvironmentService);\n\n const { remoteEnv } = environment;\n const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\n if (!url) return Promise.resolve();\n\n const http = injector.get(HttpClient);\n const store = injector.get(Store);\n\n return http\n .request<Environment>(method, url, { headers })\n .pipe(\n catchError(err => store.dispatch(new RestOccurError(err))), // TODO: Condiser get handle function from a provider\n tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))),\n )\n .toPromise();\n}\n\nfunction mergeEnvironments(\n local: Partial<Environment>,\n remote: any,\n config: RemoteEnv,\n): Environment {\n switch (config.mergeStrategy) {\n case 'deepmerge':\n return deepMerge(local, remote);\n case 'overwrite':\n case null:\n case undefined:\n return remote;\n default:\n return config.mergeStrategy(local, remote);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../services/rest.service';\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpTenantService {\n apiName = 'abp';\n\n findTenantById = (id: string, headers: Record<string, string>) =>\n this.restService.request<any, FindTenantResultDto>(\n {\n method: 'GET',\n url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\n headers,\n },\n { apiName: this.apiName },\n );\n\n findTenantByName = (name: string, headers: Record<string, string>) =>\n this.restService.request<any, FindTenantResultDto>(\n {\n method: 'GET',\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\n headers,\n },\n { apiName: this.apiName },\n );\n\n constructor(private restService: RestService) {}\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { switchMap, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ABP } from '../models/common';\nimport {\n FindTenantResultDto,\n CurrentTenantDto,\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { RestService } from './rest.service';\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\nimport { ConfigStateService } from './config-state.service';\nimport { SessionStateService } from './session-state.service';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\n@Injectable({ providedIn: 'root' })\nexport class MultiTenancyService {\n domainTenant: CurrentTenantDto = null;\n\n isTenantBoxVisible = true;\n\n apiName = 'abp';\n\n private setTenantToState = (tenant: FindTenantResultDto) => {\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\n };\n\n constructor(\n private restService: RestService,\n private sessionState: SessionStateService,\n private tenantService: AbpTenantService,\n private configStateService: ConfigStateService,\n @Inject(TENANT_KEY) public tenantKey: string,\n ) {}\n\n /**\n * @deprecated Use AbpTenantService.findTenantByName method instead. To be deleted in v5.0.\n */\n findTenantByName(name: string, headers: ABP.Dictionary<string>): Observable<FindTenantResultDto> {\n return this.restService.request(\n {\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\n method: 'GET',\n headers,\n },\n { apiName: this.apiName },\n );\n }\n\n /**\n * @deprecated Use AbpTenantService.findTenantById method instead. To be deleted in v5.0.\n */\n findTenantById(id: string, headers: ABP.Dictionary<string>): Observable<FindTenantResultDto> {\n return this.restService.request(\n { url: `/api/abp/multi-tenancy/tenants/by-id/${id}`, method: 'GET', headers },\n { apiName: this.apiName },\n );\n }\n\n setTenantByName(tenantName: string) {\n return this.tenantService\n .findTenantByName(tenantName, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n\n setTenantById(tenantId: string) {\n return this.tenantService\n .findTenantById(tenantId, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n}\n","import { Injector } from '@angular/core';\nimport clone from 'just-clone';\n\nimport { tap } from 'rxjs/operators';\nimport { Environment } from '../models/environment';\n\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { EnvironmentService } from '../services/environment.service';\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\nimport { createTokenParser } from './string-utils';\n\nconst tenancyPlaceholder = '{0}';\n\nfunction getCurrentTenancyName(appBaseUrl: string): string {\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\n\n const parseTokens = createTokenParser(appBaseUrl);\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\n return parseTokens(window.location.href)[token]?.[0];\n}\n\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(tenantKey);\n}\n\nexport async function parseTenantFromUrl(injector: Injector) {\n const environmentService = injector.get(EnvironmentService);\n const multiTenancyService = injector.get(MultiTenancyService);\n\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\n const tenancyName = getCurrentTenancyName(baseUrl);\n\n const hideTenantBox = () => {\n multiTenancyService.isTenantBoxVisible = false;\n };\n\n const setDomainTenant = (tenant: FindTenantResultDto) => {\n multiTenancyService.domainTenant = {\n id: tenant.tenantId,\n name: tenant.name,\n isAvailable: true,\n };\n };\n\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\n hideTenantBox();\n setDomainTenant(tenant);\n replaceTenantNameWithinEnvironment(injector, tenant.name);\n };\n\n if (tenancyName) {\n return multiTenancyService\n .setTenantByName(tenancyName)\n .pipe(tap(setEnvironmentWithDomainTenant))\n .toPromise();\n } else {\n /**\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\n */\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\n\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\n if (tenantIdFromQueryParams) {\n return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();\n }\n }\n\n return Promise.resolve();\n}\n\nfunction replaceTenantNameWithinEnvironment(\n injector: Injector,\n tenancyName: string,\n placeholder = tenancyPlaceholder,\n) {\n const environmentService = injector.get(EnvironmentService);\n\n const environment = clone(environmentService.getEnvironment()) as Environment;\n\n if (environment.application.baseUrl) {\n environment.application.baseUrl = environment.application.baseUrl.replace(\n placeholder,\n tenancyName,\n );\n }\n\n if (environment.oAuthConfig.redirectUri) {\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\n placeholder,\n tenancyName,\n );\n }\n\n environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);\n\n Object.keys(environment.apis).forEach(api => {\n Object.keys(environment.apis[api]).forEach(key => {\n environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);\n });\n });\n\n return environmentService.setState(environment);\n}\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { tap, catchError } from 'rxjs/operators';\nimport { throwError } from 'rxjs';\nimport { ABP } from '../models/common';\nimport { Environment } from '../models/environment';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { AuthService } from '../services/auth.service';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { clearOAuthStorage } from '../strategies/auth-flow.strategy';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\nimport { getRemoteEnv } from './environment-utils';\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\n\nexport function getInitialData(injector: Injector) {\n const fn = async () => {\n const environmentService = injector.get(EnvironmentService);\n const configState = injector.get(ConfigStateService);\n const appConfigService = injector.get(AbpApplicationConfigurationService);\n const options = injector.get(CORE_OPTIONS) as ABP.Root;\n\n environmentService.setState(options.environment as Environment);\n await getRemoteEnv(injector, options.environment);\n await parseTenantFromUrl(injector);\n await injector.get(AuthService).init();\n\n if (options.skipGetAppConfiguration) return;\n\n return appConfigService\n .get()\n .pipe(\n tap(res => configState.setState(res)),\n tap(() => checkAccessToken(injector)),\n tap(() => {\n const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\n injector.get(SessionStateService).setTenant(currentTenant);\n }),\n catchError(error => {\n const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\n if (appInitErrorHandlers && appInitErrorHandlers.length) {\n appInitErrorHandlers.forEach(func => func(error));\n }\n\n return throwError(error);\n }),\n )\n .toPromise();\n };\n\n return fn;\n}\n\nexport function checkAccessToken(injector: Injector) {\n const configState = injector.get(ConfigStateService);\n const oAuth = injector.get(OAuthService);\n if (oAuth.hasValidAccessToken() && !configState.getDeep('currentUser.id')) {\n clearOAuthStorage();\n }\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = () => {\n const sessionState = injector.get(SessionStateService);\n const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\n\n const lang = sessionState.getLanguage() || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocaleFn(lang).then(module => {\n if (module?.default) registerLocaleData(module.default);\n\n return resolve('resolved');\n }, reject);\n });\n };\n\n return fn;\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsModule } from '@ngxs/store';\nimport { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ForDirective } from './directives/for.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { InitDirective } from './directives/init.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { OAuthConfigurationHandler } from './handlers/oauth-configuration.handler';\nimport { RoutesHandler } from './handlers/routes.handler';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { LocalizationModule } from './localization.module';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { SortPipe } from './pipes/sort.pipe';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { LocalizationService } from './services/localization.service';\nimport { ProfileState } from './states/profile.state';\nimport { oAuthStorage } from './strategies/auth-flow.strategy';\nimport { coreOptionsFactory, CORE_OPTIONS } from './tokens/options.token';\nimport { noop } from './utils/common-utils';\nimport './utils/date-extensions';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\nimport { TENANT_KEY } from './tokens/tenant-key.token';\n\nexport function storageFactory(): OAuthStorage {\n return oAuthStorage;\n}\n\n/**\n * BaseCoreModule is the module that holds\n * all imports, declarations, exports, and entryComponents\n * but not the providers.\n * This module will be imported and exported by all others.\n */\n@NgModule({\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n LocalizationModule,\n AbstractNgModelComponent,\n AutofocusDirective,\n DynamicLayoutComponent,\n ForDirective,\n FormSubmitDirective,\n InitDirective,\n InputEventDebounceDirective,\n PermissionDirective,\n ReplaceableRouteContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutletComponent,\n SortPipe,\n StopPropagationDirective,\n VisibilityDirective,\n ],\n imports: [\n OAuthModule,\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n LocalizationModule,\n ],\n declarations: [\n AbstractNgModelComponent,\n AutofocusDirective,\n DynamicLayoutComponent,\n ForDirective,\n FormSubmitDirective,\n InitDirective,\n InputEventDebounceDirective,\n PermissionDirective,\n ReplaceableRouteContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutletComponent,\n SortPipe,\n StopPropagationDirective,\n VisibilityDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n ReplaceableRouteContainerComponent,\n ],\n})\nexport class BaseCoreModule {}\n\n/**\n * RootCoreModule is the module that will be used at root level\n * and it introduces imports useful at root level (e.g. NGXS)\n */\n@NgModule({\n exports: [BaseCoreModule, LocalizationModule],\n imports: [\n BaseCoreModule,\n LocalizationModule,\n NgxsModule.forFeature([ProfileState]),\n OAuthModule.forRoot(),\n HttpClientXsrfModule.withOptions({\n cookieName: 'XSRF-TOKEN',\n headerName: 'RequestVerificationToken',\n }),\n ],\n})\nexport class RootCoreModule {}\n\n/**\n * CoreModule is the module that is publicly available\n */\n@NgModule({\n exports: [BaseCoreModule],\n imports: [BaseCoreModule],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\n return {\n ngModule: RootCoreModule,\n providers: [\n LocaleProvider,\n {\n provide: 'CORE_OPTIONS',\n useValue: options,\n },\n {\n provide: CORE_OPTIONS,\n useFactory: coreOptionsFactory,\n deps: ['CORE_OPTIONS'],\n },\n {\n provide: HTTP_INTERCEPTORS,\n useExisting: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [OAuthConfigurationHandler],\n useFactory: noop,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [LocalizationService],\n useFactory: noop,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [RoutesHandler],\n useFactory: noop,\n },\n { provide: OAuthStorage, useFactory: storageFactory },\n { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\n ],\n };\n }\n}\n\nexport function ngxsStoragePluginSerialize(data) {\n return data;\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../services/auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private authService: AuthService) {}\n\n canActivate(): Observable<boolean> | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return true;\n }\n\n this.authService.navigateToLogin();\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { RoutesService } from '../services/routes.service';\nimport { findRoute, getRoutePath } from '../utils/route-utils';\nimport { PermissionService } from '../services/permission.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(\n private router: Router,\n private routesService: RoutesService,\n private store: Store,\n private permissionService: PermissionService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n let { requiredPolicy } = route.data || {};\n\n if (!requiredPolicy) {\n const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\n requiredPolicy = routeFound?.requiredPolicy;\n }\n\n if (!requiredPolicy) return of(true);\n\n return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\n tap(access => {\n if (!access) {\n this.store.dispatch(new RestOccurError({ status: 403 }));\n }\n }),\n );\n }\n}\n","import { ABP } from './common';\n\nexport class ListResultDto<T> {\n items?: T[];\n\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultDto<T> extends ListResultDto<T> {\n totalCount?: number;\n\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\n super(initialValues);\n }\n}\n\nexport class LimitedResultRequestDto {\n maxResultCount = 10;\n\n constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key) && initialValues[key] !== undefined) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\n skipCount?: number;\n\n constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\n super(initialValues);\n }\n}\n\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\n sorting?: string;\n\n constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\n super(initialValues);\n }\n}\n\nexport class EntityDto<TKey = string> {\n id?: TKey;\n\n constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\n creationTime?: string | Date;\n creatorId?: string;\n\n constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class CreationAuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string\n> extends CreationAuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n\n constructor(\n initialValues: Partial<CreationAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {},\n ) {\n super(initialValues);\n }\n}\n\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\n lastModificationTime?: string | Date;\n lastModifierId?: string;\n\n constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class AuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string\n> extends AuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n lastModifier?: TUserDto;\n\n constructor(initialValues: Partial<AuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\n isDeleted?: boolean;\n deleterId?: string;\n deletionTime?: Date | string;\n\n constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class FullAuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string\n> extends FullAuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n lastModifier?: TUserDto;\n deleter?: TUserDto;\n\n constructor(initialValues: Partial<FullAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleObject {\n extraProperties: ABP.Dictionary<any>;\n\n constructor(initialValues: Partial<ExtensibleObject> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\n id: TKey;\n\n constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleCreationAuditedEntityDto<\n TPrimaryKey = string\n> extends ExtensibleEntityDto<TPrimaryKey> {\n creationTime: Date | string;\n creatorId?: string;\n\n constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleAuditedEntityDto<\n TPrimaryKey = string\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\n lastModificationTime?: Date | string;\n lastModifierId?: string;\n\n constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n lastModifier: TUserDto;\n\n constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleCreationAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n\n constructor(\n initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\n ) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleFullAuditedEntityDto<\n TPrimaryKey = string\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\n isDeleted: boolean;\n deleterId?: string;\n deletionTime: Date | string;\n\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleFullAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n lastModifier: TUserDto;\n deleter: TUserDto;\n\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Rest } from '../models/rest';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { RestService } from './rest.service';\n\n/**\n * @deprecated Use AbpApplicationConfigurationService instead. To be deleted in v5.0.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable<ApplicationConfigurationDto> {\n const request: Rest.Request<null> = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request<null, ApplicationConfigurationDto>(request, {});\n }\n}\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\n\n@Injectable({ providedIn: 'root' })\nexport class ContentProjectionService {\n constructor(private injector: Injector) {}\n\n projectContent<T extends Type<any> | TemplateRef<any>>(\n projectionStrategy: ProjectionStrategy<T>,\n injector = this.injector,\n ) {\n return projectionStrategy.injectContent(injector);\n }\n}\n","import { ApplicationConfiguration } from '../models/application-configuration';\nimport { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from '../services';\n\nexport function getShortDateFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return dateTimeFormat.shortDatePattern;\n}\n\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return dateTimeFormat.shortTimePattern.replace('tt', 'a');\n}\n\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat.shortTimePattern.replace('tt', 'a')}`;\n}\n","import {\n Compiler,\n Injector,\n ModuleWithProviders,\n NgModuleFactory,\n NgModuleRef,\n StaticProvider,\n Type,\n} from '@angular/core';\nimport { filter, map } from 'rxjs/operators';\nimport { ConfigStateService } from '../services/config-state.service';\n\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\n get moduleType(): Type<T> {\n return this.moduleWithProviders.ngModule;\n }\n\n constructor(private moduleWithProviders: ModuleWithProviders<T>) {\n super();\n }\n\n create(parentInjector: Injector | null): NgModuleRef<T> {\n const injector = Injector.create({\n parent: parentInjector,\n providers: this.moduleWithProviders.providers as StaticProvider[],\n });\n\n const compiler = injector.get(Compiler);\n const factory = compiler.compileModuleSync(this.moduleType);\n\n return factory.create(injector);\n }\n}\n\nexport function featuresFactory(\n configState: ConfigStateService,\n featureKeys: string[],\n mapFn: (features) => any = features => features,\n) {\n return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\n}\n","export function downloadBlob(blob: Blob, filename: string) {\n const blobUrl = URL.createObjectURL(blob);\n\n const link = document.createElement('a');\n\n link.href = blobUrl;\n link.download = filename;\n\n document.body.appendChild(link);\n\n link.dispatchEvent(\n new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n }),\n );\n\n document.body.removeChild(link);\n}\n","export function isNumber(value: string | number): boolean {\n /* tslint:disable-next-line:triple-equals */\n return value == Number(value);\n}\n","import { ABP } from '../models/common';\nimport { isNumber } from './number-utils';\n\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\n const options: ABP.Option<T>[] = [];\n\n for (const member in _enum)\n if (!isNumber(member))\n options.push({\n key: member,\n value: _enum[member],\n });\n\n return options;\n}\n","// tslint:disable: no-bitwise\n\nexport function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n\nexport function generateHash(value: string): number {\n let hashed = 0;\n let charCode: number;\n\n for (let i = 0; i < value.length; i++) {\n charCode = value.charCodeAt(i);\n hashed = (hashed << 5) - hashed + charCode;\n hashed |= 0;\n }\n return hashed;\n}\n\nexport function generatePassword(length = 8) {\n length = Math.min(Math.max(4, length), 128);\n\n const lowers = 'abcdefghijklmnopqrstuvwxyz';\n const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const numbers = '0123456789';\n const specials = '!@#$%&*()_+{}<>?[]./';\n const all = lowers + uppers + numbers + specials;\n\n const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\n\n const password = Array({ length });\n password[0] = getRandom(lowers);\n password[1] = getRandom(uppers);\n password[2] = getRandom(numbers);\n password[3] = getRandom(specials);\n\n for (let i = 4; i < length; i++) {\n password[i] = getRandom(all);\n }\n\n return password.sort(() => 0.5 - Math.random()).join('');\n}\n","export class CrossOriginStrategy {\n constructor(public crossorigin: 'anonymous' | 'use-credentials', public integrity?: string) {}\n\n setCrossOrigin<T extends HTMLElement>(element: T) {\n if (this.integrity) element.setAttribute('integrity', this.integrity);\n element.setAttribute('crossorigin', this.crossorigin);\n }\n}\n\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\n setCrossOrigin() {}\n}\n\nexport const CROSS_ORIGIN_STRATEGY = {\n Anonymous(integrity?: string) {\n return new CrossOriginStrategy('anonymous', integrity);\n },\n UseCredentials(integrity?: string) {\n return new CrossOriginStrategy('use-credentials', integrity);\n },\n None() {\n return new NoCrossOriginStrategy(null);\n },\n};\n","export class DomStrategy {\n constructor(\n public target: HTMLElement = document.head,\n public position: InsertPosition = 'beforeend',\n ) {}\n\n insertElement<T extends HTMLElement>(element: T) {\n this.target.insertAdjacentElement(this.position, element);\n }\n}\n\nexport const DOM_STRATEGY = {\n AfterElement(element: HTMLElement) {\n return new DomStrategy(element, 'afterend');\n },\n AppendToBody() {\n return new DomStrategy(document.body, 'beforeend');\n },\n AppendToHead() {\n return new DomStrategy(document.head, 'beforeend');\n },\n BeforeElement(element: HTMLElement) {\n return new DomStrategy(element, 'beforebegin');\n },\n PrependToHead() {\n return new DomStrategy(document.head, 'afterbegin');\n },\n};\n","import { Observable, Observer } from 'rxjs';\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';\nimport { DomStrategy, DOM_STRATEGY } from '../strategies/dom.strategy';\n\nexport function fromLazyLoad<T extends Event>(\n element: HTMLScriptElement | HTMLLinkElement,\n domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\n): Observable<T> {\n crossOriginStrategy.setCrossOrigin(element);\n domStrategy.insertElement(element);\n\n return new Observable((observer: Observer<T>) => {\n element.onload = (event: T) => {\n clearCallbacks(element);\n observer.next(event);\n observer.complete();\n };\n\n const handleError = createErrorHandler(observer, element);\n\n element.onerror = handleError;\n element.onabort = handleError;\n element.onemptied = handleError;\n element.onstalled = handleError;\n element.onsuspend = handleError;\n\n return () => {\n clearCallbacks(element);\n observer.complete();\n };\n });\n}\n\nfunction createErrorHandler(observer: Observer<Event>, element: HTMLElement) {\n /* tslint:disable-next-line:only-arrow-functions */\n return function(event: Event | string) {\n clearCallbacks(element);\n element.parentNode.removeChild(element);\n observer.error(event);\n };\n}\n\nfunction clearCallbacks(element: HTMLElement) {\n element.onload = null;\n element.onerror = null;\n element.onabort = null;\n element.onemptied = null;\n element.onstalled = null;\n element.onsuspend = null;\n}\n","// tslint:disable: max-line-length\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\n/**\n * @deprecated no longer working, please use SubscriptionService (https://docs.abp.io/en/abp/latest/UI/Angular/Subscription-Service) instead.\n */\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => <T>(\n source: Observable<T>,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n // tslint:disable-next-line: no-unused-expression\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil<T>(componentInstance['__takeUntilDestroy']));\n};\n","import { Injectable } from '@angular/core';\nimport { ContentStrategy } from '../strategies/content.strategy';\nimport { generateHash } from '../utils';\n\n@Injectable({ providedIn: 'root' })\nexport class DomInsertionService {\n private readonly inserted = new Set<number>();\n\n insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\n contentStrategy: ContentStrategy<T>,\n ): T {\n const hash = generateHash(contentStrategy.content);\n\n if (this.inserted.has(hash)) return;\n\n const element = contentStrategy.insertElement();\n this.inserted.add(hash);\n\n return element;\n }\n\n removeContent(element: HTMLScriptElement | HTMLStyleElement) {\n const hash = generateHash(element.textContent);\n this.inserted.delete(hash);\n\n element.parentNode.removeChild(element);\n }\n\n has(content: string): boolean {\n const hash = generateHash(content);\n\n return this.inserted.has(hash);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nexport interface ResourceWaitState {\n resources: Set<string>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ResourceWaitService {\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\n\n getLoading() {\n return !!this.store.state.resources.size;\n }\n\n getLoading$() {\n return this.store.sliceState(({ resources }) => !!resources.size);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ resources }) => !!resources.size);\n }\n\n clearLoading() {\n this.store.patch({ resources: new Set() });\n }\n\n addResource(resource: string) {\n const resources = this.store.state.resources;\n resources.add(resource);\n this.store.patch({ resources });\n }\n\n deleteResource(resource: string) {\n const resources = this.store.state.resources;\n resources.delete(resource);\n this.store.patch({ resources });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { concat, Observable, of, throwError } from 'rxjs';\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\nimport { LoadingStrategy } from '../strategies';\nimport { ResourceWaitService } from './resource-wait.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement>();\n\n constructor(private resourceWaitService: ResourceWaitService) {}\n\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\n this.resourceWaitService.addResource(strategy.path);\n return strategy.createStream().pipe(\n retryWhen(error$ =>\n concat(\n error$.pipe(delay(retryDelay), take(retryTimes)),\n throwError(new CustomEvent('error')),\n ),\n ),\n tap(() => {\n this.loaded.set(strategy.path, strategy.element);\n this.resourceWaitService.deleteResource(strategy.path);\n }),\n delay(100),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n remove(path: string): boolean {\n const element = this.loaded.get(path);\n\n if (!element) return false;\n\n element.parentNode.removeChild(element);\n this.loaded.delete(path);\n return true;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport {\n BehaviorSubject,\n MonoTypeOperatorFunction,\n Observable,\n of,\n ReplaySubject,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n filter,\n shareReplay,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { PagedResultDto } from '../models/dtos';\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\n\n@Injectable()\nexport class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDestroy {\n private _filter = '';\n set filter(value: string) {\n this._filter = value;\n this.get();\n }\n get filter(): string {\n return this._filter;\n }\n\n private _maxResultCount = 10;\n set maxResultCount(value: number) {\n this._maxResultCount = value;\n this.get();\n }\n get maxResultCount(): number {\n return this._maxResultCount;\n }\n\n private _skipCount = 0;\n private _page = 0;\n set page(value: number) {\n if (value === this._page) return;\n\n this._page = value;\n this.get();\n }\n get page(): number {\n return this._page;\n }\n\n private _sortKey = '';\n set sortKey(value: string) {\n this._sortKey = value;\n this.get();\n }\n get sortKey(): string {\n return this._sortKey;\n }\n\n private _sortOrder = '';\n set sortOrder(value: string) {\n this._sortOrder = value;\n this.get();\n }\n get sortOrder(): string {\n return this._sortOrder;\n }\n\n private _query$ = new ReplaySubject<QueryParamsType>(1);\n\n get query$(): Observable<QueryParamsType> {\n return this._query$\n .asObservable()\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\n }\n\n private _isLoading$ = new BehaviorSubject(false);\n\n private destroy$ = new Subject();\n\n get isLoading$(): Observable<boolean> {\n return this._isLoading$.asObservable();\n }\n\n get = () => {\n this.resetPageWhenUnchanged();\n this.next();\n };\n\n getWithoutPageReset = () => {\n this.next();\n };\n\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\n\n constructor(injector: Injector) {\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\n this.delay = delay ? debounceTime(delay) : tap();\n this.get();\n }\n\n hookToQuery<T extends any>(\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\n ): Observable<PagedResultDto<T>> {\n this._isLoading$.next(true);\n\n return this.query$.pipe(\n switchMap(query => streamCreatorCallback(query).pipe(catchError(() => of(null)))),\n filter(Boolean),\n tap(() => this._isLoading$.next(false)),\n shareReplay({ bufferSize: 1, refCount: true }),\n takeUntil(this.destroy$),\n );\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n private resetPageWhenUnchanged() {\n const skipCount = this._page * this._maxResultCount;\n\n if (skipCount === this._skipCount) {\n this._page = 0;\n this._skipCount = 0;\n } else this._skipCount = skipCount;\n }\n\n private next() {\n this._query$.next(({\n filter: this._filter || undefined,\n maxResultCount: this._maxResultCount,\n skipCount: this._page * this._maxResultCount,\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\n } as any) as QueryParamsType);\n }\n}\n\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\n query: QueryParamsType,\n) => Observable<PagedResultDto<T>>;\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Action, createSelector, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { of, throwError } from 'rxjs';\nimport { catchError, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\nimport snq from 'snq';\nimport { GetAppConfiguration, PatchConfigState, SetEnvironment } from '../actions/config.actions';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { ApplicationConfiguration } from '../models/application-configuration';\nimport { Config } from '../models/config';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { interpolate } from '../utils/string-utils';\nimport compare from 'just-compare';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\n\n/**\n * @deprecated Use ConfigStateService instead. To be deleted in v5.0.\n */\n@State<Config.State>({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\n@Injectable()\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State): Config.Application {\n return state.environment.application || ({} as Config.Application);\n }\n\n @Selector()\n static getEnvironment(state: Config.State): Config.Environment {\n return state.environment;\n }\n\n static getOne(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return state[key];\n });\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n });\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector([ConfigState], (state: Config.State): string => {\n return (state.environment.apis[key || 'default'] || state.environment.apis.default).url;\n });\n\n return selector;\n }\n\n static getFeature(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return snq(() => state.features.values[key]);\n });\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return snq(() => state.setting.values[key]);\n });\n\n return selector;\n }\n\n static getSettings(keyword?: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n const settings = snq(() => state.setting.values, {});\n\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n });\n\n return selector;\n }\n\n /**\n * @deprecated use PermissionService's getGrantedPolicyStream or getGrantedPolicy methods.\n */\n static getGrantedPolicy(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State): boolean => {\n if (!key) return true;\n const getPolicy = (k: string) => snq(() => state.auth.grantedPolicies[k], false);\n\n const orRegexp = /\\|\\|/g;\n const andRegexp = /&&/g;\n\n // TODO: Allow combination of ANDs & ORs\n if (orRegexp.test(key)) {\n const keys = key.split('||').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.some(k => getPolicy(k.trim()));\n } else if (andRegexp.test(key)) {\n const keys = key.split('&&').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.every(k => getPolicy(k.trim()));\n }\n\n return getPolicy(key);\n });\n\n return selector;\n }\n\n static getLocalizationResource(resourceName: string) {\n const selector = createSelector([ConfigState], (state: Config.State): {\n [key: string]: string;\n } => {\n return state.localization.values[resourceName];\n });\n\n return selector;\n }\n\n static getLocalization(\n key: string | Config.LocalizationWithDefault,\n ...interpolateParams: string[]\n ) {\n if (!key) key = '';\n let defaultValue: string;\n\n if (typeof key !== 'string') {\n defaultValue = key.defaultValue;\n key = key.key;\n }\n\n const keys = key.split('::') as string[];\n const selector = createSelector([ConfigState], (state: Config.State): string => {\n const warn = (message: string) => {\n if (!state.environment.production) console.warn(message);\n };\n\n if (keys.length < 2) {\n warn('The localization source separator (::) not found.');\n return defaultValue || (key as string);\n }\n if (!state.localization) return defaultValue || keys[1];\n\n const sourceName =\n keys[0] ||\n snq(() => state.environment.localization.defaultResourceName) ||\n state.localization.defaultResourceName;\n const sourceKey = keys[1];\n\n if (sourceName === '_') {\n return defaultValue || sourceKey;\n }\n\n if (!sourceName) {\n warn(\n 'Localization source name is not specified and the defaultResourceName was not defined!',\n );\n\n return defaultValue || sourceKey;\n }\n\n const source = state.localization.values[sourceName];\n if (!source) {\n warn('Could not find localization source: ' + sourceName);\n return defaultValue || sourceKey;\n }\n\n let localization = source[sourceKey];\n if (typeof localization === 'undefined') {\n return defaultValue || sourceKey;\n }\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (localization) localization = interpolate(localization, interpolateParams);\n\n if (typeof localization !== 'string') localization = '';\n\n return localization || defaultValue || (key as string);\n });\n\n return selector;\n }\n\n constructor(\n private http: HttpClient,\n private store: Store,\n private sessionState: SessionStateService,\n private environmentService: EnvironmentService,\n private configState: ConfigStateService,\n ) {\n this.syncConfigState();\n this.syncEnvironment();\n }\n\n private syncConfigState() {\n this.configState\n .createOnUpdateStream(state => state)\n .pipe(distinctUntilChanged(compare))\n .subscribe(config => this.store.dispatch(new PatchConfigState(config as any)));\n }\n\n private syncEnvironment() {\n this.environmentService\n .createOnUpdateStream(state => state)\n .pipe(distinctUntilChanged(compare))\n .subscribe(env => this.store.dispatch(new PatchConfigState({ environment: env } as any)));\n }\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext<Config.State>) {\n const apiName = 'default';\n const api = this.store.selectSnapshot(ConfigState.getApiUrl(apiName));\n return this.http\n .get<ApplicationConfigurationDto>(`${api}/api/abp/application-configuration`)\n .pipe(\n tap(configuration => this.configState.setState(configuration)),\n catchError((err: HttpErrorResponse) => {\n dispatch(new RestOccurError(err));\n return throwError(err);\n }),\n );\n }\n\n @Action(SetEnvironment)\n setEnvironment(_, { environment }: SetEnvironment) {\n return this.environmentService.setState(environment);\n }\n\n @Action(PatchConfigState)\n setConfig({ patchState, getState }: StateContext<Config.State>, { state }: PatchConfigState) {\n patchState({ ...getState(), ...state });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ProfileState } from '../states';\nimport { Profile } from '../models';\nimport { GetProfile, UpdateProfile, ChangePassword } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileStateService {\n constructor(private store: Store) {}\n\n getProfile() {\n return this.store.selectSnapshot(ProfileState.getProfile);\n }\n\n dispatchGetProfile() {\n return this.store.dispatch(new GetProfile());\n }\n\n dispatchUpdateProfile(...args: ConstructorParameters<typeof UpdateProfile>) {\n return this.store.dispatch(new UpdateProfile(...args));\n }\n\n dispatchChangePassword(...args: ConstructorParameters<typeof ChangePassword>) {\n return this.store.dispatch(new ChangePassword(...args));\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { NavigationStart } from '@angular/router';\nimport { of, Subject, timer } from 'rxjs';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { RouterEvents } from './router-events.service';\n\nexport interface RouterWaitState {\n loading: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterWaitService {\n private store = new InternalStore<RouterWaitState>({ loading: false });\n private destroy$ = new Subject();\n private delay: number;\n constructor(private routerEvents: RouterEvents, injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n this.updateLoadingStatusOnNavigationEvents();\n }\n\n private updateLoadingStatusOnNavigationEvents() {\n this.routerEvents\n .getAllNavigationEvents()\n .pipe(\n map(event => event instanceof NavigationStart),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n )\n .subscribe(status => {\n this.setLoading(status);\n });\n }\n\n getLoading() {\n return this.store.state.loading;\n }\n\n getLoading$() {\n return this.store.sliceState(({ loading }) => loading);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ loading }) => loading);\n }\n\n setLoading(loading: boolean) {\n this.store.patch({ loading });\n }\n}\n","import { Injectable, TrackByFunction } from '@angular/core';\nimport { O } from 'ts-toolbelt';\n\nexport const trackBy = <T = any>(key: keyof T): TrackByFunction<T> => (_, item) => item[key];\n\nexport const trackByDeep = <T = any>(\n ...keys: T extends object ? O.Paths<T> : never\n): TrackByFunction<T> => (_, item) => keys.reduce((acc, key) => acc[key], item);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TrackByService<ItemType = any> {\n by = trackBy;\n\n byDeep = trackByDeep;\n}\n","import { ViewContainerRef } from '@angular/core';\n\nexport abstract class ContainerStrategy {\n constructor(public containerRef: ViewContainerRef) {}\n\n abstract getIndex(): number;\n\n prepare(): void {}\n}\n\nexport class ClearContainerStrategy extends ContainerStrategy {\n getIndex(): number {\n return 0;\n }\n\n prepare() {\n this.containerRef.clear();\n }\n}\n\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\n constructor(containerRef: ViewContainerRef, private index: number) {\n super(containerRef);\n }\n\n getIndex() {\n return Math.min(Math.max(0, this.index), this.containerRef.length);\n }\n}\n\nexport const CONTAINER_STRATEGY = {\n Clear(containerRef: ViewContainerRef) {\n return new ClearContainerStrategy(containerRef);\n },\n Append(containerRef: ViewContainerRef) {\n return new InsertIntoContainerStrategy(containerRef, containerRef.length);\n },\n Prepend(containerRef: ViewContainerRef) {\n return new InsertIntoContainerStrategy(containerRef, 0);\n },\n Insert(containerRef: ViewContainerRef, index: number) {\n return new InsertIntoContainerStrategy(containerRef, index);\n },\n};\n","export abstract class ContentSecurityStrategy {\n constructor(public nonce?: string) {}\n\n abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\n}\n\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\n constructor(nonce: string) {\n super(nonce);\n }\n\n applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\n element.setAttribute('nonce', this.nonce);\n }\n}\n\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\n constructor() {\n super();\n }\n\n applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\n}\n\nexport const CONTENT_SECURITY_STRATEGY = {\n Loose(nonce: string) {\n return new LooseContentSecurityStrategy(nonce);\n },\n None() {\n return new NoContentSecurityStrategy();\n },\n};\n","import { ContentSecurityStrategy, CONTENT_SECURITY_STRATEGY } from './content-security.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\n constructor(\n public content: string,\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\n ) {}\n\n abstract createElement(): T;\n\n insertElement(): T {\n const element = this.createElement();\n\n this.contentSecurityStrategy.applyCSP(element);\n this.domStrategy.insertElement(element);\n\n return element;\n }\n}\n\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\n createElement(): HTMLStyleElement {\n const element = document.createElement('style');\n element.textContent = this.content;\n\n return element;\n }\n}\n\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\n createElement(): HTMLScriptElement {\n const element = document.createElement('script');\n element.textContent = this.content;\n\n return element;\n }\n}\n\nexport const CONTENT_STRATEGY = {\n AppendScriptToBody(content: string) {\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody());\n },\n AppendScriptToHead(content: string) {\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead());\n },\n AppendStyleToHead(content: string) {\n return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead());\n },\n PrependStyleToHead(content: string) {\n return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead());\n },\n};\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\nimport { InferredContextOf, InferredInstanceOf } from '../models';\n\nexport abstract class ContextStrategy<T = any> {\n constructor(public context: Partial<ContextType<T>>) {}\n\n /* tslint:disable-next-line:no-unused-variable */\n setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\n return this.context;\n }\n}\n\nexport class NoContextStrategy<\n T extends Type<any> | TemplateRef<any> = any\n> extends ContextStrategy<T> {\n constructor() {\n super(undefined);\n }\n}\n\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\n setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\n Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\n componentRef.changeDetectorRef.detectChanges();\n return this.context;\n }\n}\n\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\n setContext(): Partial<InferredContextOf<T>> {\n return this.context;\n }\n}\n\nexport const CONTEXT_STRATEGY = {\n None<T extends Type<any> | TemplateRef<any> = any>() {\n return new NoContextStrategy<T>();\n },\n Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\n return new ComponentContextStrategy<T>(context);\n },\n Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\n return new TemplateContextStrategy<T>(context);\n },\n};\n\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\n","import { Observable, of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { fromLazyLoad } from '../utils';\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\n element: T;\n\n constructor(\n public path: string,\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\n ) {}\n\n abstract createElement(): T;\n\n createStream<E extends Event>(): Observable<E> {\n this.element = this.createElement();\n\n return of(null).pipe(\n switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\n );\n }\n}\n\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\n constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\n super(src, domStrategy, crossOriginStrategy);\n }\n\n createElement(): HTMLScriptElement {\n const element = document.createElement('script');\n element.src = this.path;\n\n return element;\n }\n}\n\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\n constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\n super(href, domStrategy, crossOriginStrategy);\n }\n\n createElement(): HTMLLinkElement {\n const element = document.createElement('link');\n element.rel = 'stylesheet';\n element.href = this.path;\n\n return element;\n }\n}\n\nexport const LOADING_STRATEGY = {\n AppendScriptToBody(src: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToBody(),\n CROSS_ORIGIN_STRATEGY.None(),\n );\n },\n AppendAnonymousScriptToBody(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToBody(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n AppendAnonymousScriptToHead(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n AppendAnonymousStyleToHead(src: string, integrity?: string) {\n return new StyleLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n PrependAnonymousScriptToHead(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.PrependToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n PrependAnonymousStyleToHead(src: string, integrity?: string) {\n return new StyleLoadingStrategy(\n src,\n DOM_STRATEGY.PrependToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n};\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class ProjectionStrategy<T = any> {\n constructor(public content: T) {}\n\n abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\n}\n\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\n constructor(\n component: T,\n private containerStrategy: ContainerStrategy,\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\n ) {\n super(component);\n }\n\n injectContent(injector: Injector) {\n this.containerStrategy.prepare();\n\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\n const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\n\n const componentRef = this.containerStrategy.containerRef.createComponent(\n factory,\n this.containerStrategy.getIndex(),\n injector,\n );\n this.contextStrategy.setContext(componentRef);\n\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\n constructor(\n component: T,\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\n private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\n ) {\n super(component);\n }\n\n injectContent(injector: Injector) {\n const appRef = injector.get(ApplicationRef);\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\n const componentRef = resolver\n .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\n .create(injector);\n\n this.contextStrategy.setContext(componentRef);\n\n appRef.attachView(componentRef.hostView);\n const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\n this.domStrategy.insertElement(element);\n\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\n constructor(\n templateRef: T,\n private containerStrategy: ContainerStrategy,\n private contextStrategy = CONTEXT_STRATEGY.None(),\n ) {\n super(templateRef);\n }\n\n injectContent() {\n this.containerStrategy.prepare();\n\n const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\n this.content,\n this.contextStrategy.context,\n this.containerStrategy.getIndex(),\n );\n embeddedViewRef.detectChanges();\n\n return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport const PROJECTION_STRATEGY = {\n AppendComponentToBody<T extends Type<unknown>>(\n component: T,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new RootComponentProjectionStrategy<T>(\n component,\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n AppendComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Append(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n AppendTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Append(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n PrependComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Prepend(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n PrependTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Prepend(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n ProjectComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Clear(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Clear(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n};\n\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\n ? ComponentRef<U>\n : T extends TemplateRef<infer C>\n ? EmbeddedViewRef<C>\n : never;\n","import { InjectionToken, inject } from '@angular/core';\nimport { EnvironmentService } from '../services/environment.service';\n\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\n 'NAVIGATE_TO_MANAGE_PROFILE',\n {\n providedIn: 'root',\n factory: () => {\n const environment = inject(EnvironmentService);\n\n return () => {\n window.open(\n `${environment.getEnvironment().oAuthConfig.issuer}/Account/Manage?returnUrl=${\n window.location.href\n }`,\n '_self',\n );\n };\n },\n },\n);\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface MinAgeError {\n minAge: {\n age: number;\n };\n}\n\nexport interface MinAgeOptions {\n age?: number;\n}\n\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\n return (control: AbstractControl): MinAgeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\n };\n}\n\nfunction isValidMinAge(value: string | number, minAge: number) {\n const date = new Date();\n date.setFullYear(date.getFullYear() - minAge);\n date.setHours(23, 59, 59, 999);\n\n return Number(new Date(value)) <= date.valueOf();\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface CreditCardError {\n creditCard: true;\n}\n\nexport function validateCreditCard(): ValidatorFn {\n return (control: AbstractControl): CreditCardError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\n };\n}\n\nfunction isValidCreditCard(value: string): boolean {\n value = value.replace(/[ -]/g, '');\n\n if (!/^[0-9]{13,19}$/.test(value)) return false;\n\n let checksum = 0;\n let multiplier = 1;\n\n for (let i = value.length; i > 0; i--) {\n const digit = Number(value[i - 1]) * multiplier;\n /* tslint:disable-next-line:no-bitwise */\n checksum += (digit % 10) + ~~(digit / 10);\n\n multiplier = (multiplier * 2) % 3;\n }\n\n return checksum % 10 === 0;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RangeError {\n range: {\n max: number;\n min: number;\n };\n}\n\nexport interface RangeOptions {\n maximum?: number;\n minimum?: number;\n}\n\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\n return (control: AbstractControl): RangeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = Number(control.value);\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\n };\n}\n\nfunction getMaxError(value: number, max: number, min: number): RangeError {\n return value > max ? { range: { max, min } } : null;\n}\n\nfunction getMinError(value: number, min: number, max: number): RangeError {\n return value < min ? { range: { min, max } } : null;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RequiredError {\n required: true;\n}\n\nexport interface RequiredOptions {\n allowEmptyStrings?: boolean;\n}\n\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\n return (control: AbstractControl): RequiredError | null => {\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\n };\n}\n\nfunction isValidRequired(value: any, allowEmptyStrings: boolean): boolean {\n if (value || value === 0 || value === false) return true;\n\n if (allowEmptyStrings && value === '') return true;\n\n return false;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface StringLengthError {\n maxlength?: {\n requiredLength: number;\n };\n minlength?: {\n requiredLength: number;\n };\n}\n\nexport interface StringLengthOptions {\n maximumLength?: number;\n minimumLength?: number;\n}\n\nexport function validateStringLength({\n maximumLength = Infinity,\n minimumLength = 0,\n}: StringLengthOptions = {}): ValidatorFn {\n return (control: AbstractControl): StringLengthError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = String(control.value);\n\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\n };\n}\n\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\n}\n\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface UrlError {\n url: true;\n}\n\nexport function validateUrl(): ValidatorFn {\n return (control: AbstractControl): UrlError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidUrl(control.value) ? null : { url: true };\n };\n}\n\nfunction isValidUrl(value: string): boolean {\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\n const a = document.createElement('a');\n a.href = value;\n return !!a.host;\n }\n\n return false;\n}\n","import { Validators } from '@angular/forms';\nimport { validateMinAge } from './age.validator';\nimport { validateCreditCard } from './credit-card.validator';\nimport { validateRange } from './range.validator';\nimport { validateRequired } from './required.validator';\nimport { validateStringLength } from './string-length.validator';\nimport { validateUrl } from './url.validator';\nexport * from './age.validator';\nexport * from './credit-card.validator';\nexport * from './range.validator';\nexport * from './required.validator';\nexport * from './string-length.validator';\nexport * from './url.validator';\n\nexport const AbpValidators = {\n creditCard: validateCreditCard,\n emailAddress: () => Validators.email,\n minAge: validateMinAge,\n range: validateRange,\n required: validateRequired,\n stringLength: validateStringLength,\n url: validateUrl,\n};\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../../../services/rest.service';\nimport type {\n ApplicationApiDescriptionModel,\n ApplicationApiDescriptionModelRequestDto,\n} from '../../../http/modeling/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpApiDefinitionService {\n apiName = 'abp';\n\n getByModel = (model: ApplicationApiDescriptionModelRequestDto) =>\n this.restService.request<any, ApplicationApiDescriptionModel>(\n {\n method: 'GET',\n url: '/api/abp/api-definition',\n params: { includeTypes: model.includeTypes },\n },\n { apiName: this.apiName },\n );\n\n constructor(private restService: RestService) {}\n}\n","/*\n * Public API Surface of core\n */\n\n// export * from './lib/handlers';\nexport * from './lib/abstracts';\nexport * from './lib/actions';\nexport * from './lib/components';\nexport * from './lib/constants';\nexport * from './lib/core.module';\nexport * from './lib/localization.module';\nexport * from './lib/directives';\nexport * from './lib/enums';\nexport * from './lib/guards';\nexport * from './lib/interceptors';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/services';\nexport * from './lib/states';\nexport * from './lib/strategies';\nexport * from './lib/tokens';\nexport * from './lib/utils';\nexport * from './lib/validators';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\nexport * from './lib/proxy/volo/abp/http/modeling';\nexport * from './lib/proxy/volo/abp/models';\nexport * from './lib/proxy/volo/abp/localization';\nexport * from './lib/proxy/pages/abp/multi-tenancy';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AbstractNgModelComponent as ɵl} from './lib/abstracts/ng-model.component';\nexport {ChangePassword as ɵbh,GetProfile as ɵbf,UpdateProfile as ɵbg} from './lib/actions/profile.actions';\nexport {DynamicLayoutComponent as ɵn} from './lib/components/dynamic-layout.component';\nexport {ReplaceableRouteContainerComponent as ɵx} from './lib/components/replaceable-route-container.component';\nexport {RouterOutletComponent as ɵz} from './lib/components/router-outlet.component';\nexport {AutofocusDirective as ɵm} from './lib/directives/autofocus.directive';\nexport {InputEventDebounceDirective as ɵu} from './lib/directives/debounce.directive';\nexport {ForDirective as ɵr} from './lib/directives/for.directive';\nexport {FormSubmitDirective as ɵs} from './lib/directives/form-submit.directive';\nexport {InitDirective as ɵt} from './lib/directives/init.directive';\nexport {PermissionDirective as ɵv} from './lib/directives/permission.directive';\nexport {ReplaceableTemplateDirective as ɵy} from './lib/directives/replaceable-template.directive';\nexport {StopPropagationDirective as ɵbb} from './lib/directives/stop-propagation.directive';\nexport {VisibilityDirective as ɵbc} from './lib/directives/visibility.directive';\nexport {OAuthConfigurationHandler as ɵbo} from './lib/handlers/oauth-configuration.handler';\nexport {RoutesHandler as ɵbs} from './lib/handlers/routes.handler';\nexport {ApiInterceptor as ɵbl} from './lib/interceptors/api.interceptor';\nexport {Profile as ɵbi} from './lib/models';\nexport {ABP as ɵj} from './lib/models/common';\nexport {LocalizationPipe as ɵb} from './lib/pipes/localization.pipe';\nexport {SortPipe as ɵba} from './lib/pipes/sort.pipe';\nexport {LocaleId as ɵbj,LocaleProvider as ɵbk} from './lib/providers/locale.provider';\nexport {AbpApplicationConfigurationService as ɵf} from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nexport {ConfigStateService as ɵe} from './lib/services/config-state.service';\nexport {EnvironmentService as ɵk} from './lib/services/environment.service';\nexport {HttpWaitService as ɵbn} from './lib/services/http-wait.service';\nexport {LocalizationService as ɵc} from './lib/services/localization.service';\nexport {PermissionService as ɵw} from './lib/services/permission.service';\nexport {ProfileService as ɵbe} from './lib/services/profile.service';\nexport {ReplaceableComponentsService as ɵp} from './lib/services/replaceable-components.service';\nexport {RestService as ɵg} from './lib/services/rest.service';\nexport {RouterEvents as ɵq} from './lib/services/router-events.service';\nexport {AbstractNavTreeService as ɵbu,AbstractTreeService as ɵbt,RoutesService as ɵbv} from './lib/services/routes.service';\nexport {SessionStateService as ɵd} from './lib/services/session-state.service';\nexport {SubscriptionService as ɵo} from './lib/services/subscription.service';\nexport {ProfileState as ɵbd} from './lib/states/profile.state';\nexport {oAuthStorage as ɵa} from './lib/strategies/auth-flow.strategy';\nexport {CORE_OPTIONS as ɵh,coreOptionsFactory as ɵi} from './lib/tokens/options.token';\nexport {TENANT_KEY as ɵbm} from './lib/tokens/tenant-key.token';\nexport {noop as ɵbp} from './lib/utils/common-utils';\nexport {getInitialData as ɵbq,localeInitializer as ɵbr} from './lib/utils/initial-utils';"],"names":["ChangeDetectorRef","Component","Injector","Input","InjectionToken","BehaviorSubject","Subject","map","distinctUntilChanged","filter","Injectable","throwError","catchError","Inject","HttpClient","Store","snq","tap","take","compare","switchMap","mapTo","from","registerLocaleData","Optional","SkipSelf","isDevMode","PRIMARY_OUTLET","NgZone","Router","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","Subscription","ActivatedRoute","Directive","ElementRef","EventEmitter","fromEvent","debounceTime","Output","clone","TemplateRef","ViewContainerRef","IterableDiffers","FormGroupDirective","Self","Renderer2","ComponentFactoryResolver","OAuthService","of","timer","takeUntil","finalize","Pipe","NgModule","LOCALE_ID","ProfileState","Action","Selector","State","pipe","OAuthStorage","OAuthErrorEvent","OAuthInfoEvent","HttpHeaders","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","OAuthModule","NgxsModule","HttpClientXsrfModule","HTTP_INTERCEPTORS","APP_INITIALIZER","Compiler","NgModuleFactory","Observable","retryWhen","concat","delay","shareReplay","ReplaySubject","ConfigState","createSelector","ApplicationRef","inject","Validators"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.core.umd.js","sources":["../../../packages/core/src/lib/abstracts/ng-model.component.ts","../../../packages/core/src/lib/actions/config.actions.ts","../../../packages/core/src/lib/actions/loader.actions.ts","../../../packages/core/src/lib/actions/profile.actions.ts","../../../packages/core/src/lib/actions/rest.actions.ts","../../../node_modules/tslib/tslib.es6.js","../../../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/utils/common-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/rest.service.ts","../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.ts","../../../packages/core/src/lib/services/config-state.service.ts","../../../packages/core/src/lib/services/session-state.service.ts","../../../packages/core/src/lib/services/localization.service.ts","../../../packages/core/src/lib/utils/route-utils.ts","../../../packages/core/src/lib/services/replaceable-components.service.ts","../../../packages/core/src/lib/services/router-events.service.ts","../../../packages/core/src/lib/utils/array-utils.ts","../../../packages/core/src/lib/utils/tree-utils.ts","../../../packages/core/src/lib/services/permission.service.ts","../../../packages/core/src/lib/services/routes.service.ts","../../../packages/core/src/lib/services/subscription.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/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/directives/visibility.directive.ts","../../../packages/core/src/lib/handlers/oauth-configuration.handler.ts","../../../packages/core/src/lib/handlers/routes.handler.ts","../../../packages/core/src/lib/utils/http-utils.ts","../../../packages/core/src/lib/tokens/lodaer-delay.token.ts","../../../packages/core/src/lib/services/http-wait.service.ts","../../../packages/core/src/lib/tokens/tenant-key.token.ts","../../../packages/core/src/lib/interceptors/api.interceptor.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/providers/locale.provider.ts","../../../packages/core/src/lib/services/profile.service.ts","../../../packages/core/src/lib/states/profile.state.ts","../../../packages/core/src/lib/utils/auth-utils.ts","../../../packages/core/src/lib/strategies/auth-flow.strategy.ts","../../../packages/core/src/lib/utils/date-extensions.ts","../../../packages/core/src/lib/services/auth.service.ts","../../../packages/core/src/lib/tokens/app-config.token.ts","../../../packages/core/src/lib/utils/environment-utils.ts","../../../packages/core/src/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.ts","../../../packages/core/src/lib/services/multi-tenancy.service.ts","../../../packages/core/src/lib/utils/multi-tenancy-utils.ts","../../../packages/core/src/lib/utils/initial-utils.ts","../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/lib/guards/auth.guard.ts","../../../packages/core/src/lib/guards/permission.guard.ts","../../../packages/core/src/lib/models/dtos.ts","../../../packages/core/src/lib/services/application-configuration.service.ts","../../../packages/core/src/lib/services/content-projection.service.ts","../../../packages/core/src/lib/utils/date-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/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/rxjs-utils.ts","../../../packages/core/src/lib/services/dom-insertion.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/states/config.state.ts","../../../packages/core/src/lib/services/profile-state.service.ts","../../../packages/core/src/lib/services/router-wait.service.ts","../../../packages/core/src/lib/services/track-by.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/tokens/manage-profile.token.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/url.validator.ts","../../../packages/core/src/lib/validators/index.ts","../../../packages/core/src/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.ts","../../../packages/core/src/public-api.ts","../../../packages/core/src/abp-ng.core.ts"],"sourcesContent":["import { ControlValueAccessor } from '@angular/forms';\nimport { ChangeDetectorRef, Component, Injector, Input } from '@angular/core';\n\n// Not an abstract class on purpose. Do not change!\n// tslint:disable-next-line: use-component-selector\n@Component({ template: '' })\nexport class AbstractNgModelComponent<T = any, U = T> implements ControlValueAccessor {\n protected _value: T;\n protected cdRef: ChangeDetectorRef;\n onChange: (value: T) => {};\n onTouched: () => {};\n\n @Input()\n disabled: boolean;\n\n @Input()\n readonly: boolean;\n\n @Input()\n valueFn: (value: U, previousValue?: T) => T = value => (value as any) as T;\n\n @Input()\n valueLimitFn: (value: T, previousValue?: T) => any = value => false;\n\n @Input()\n set value(value: T) {\n value = this.valueFn((value as any) as U, this._value);\n\n if (this.valueLimitFn(value, this._value) !== false || this.readonly) return;\n\n this._value = value;\n this.notifyValueChange();\n }\n\n get value(): T {\n return this._value || this.defaultValue;\n }\n\n get defaultValue(): T {\n return this._value;\n }\n\n constructor(public injector: Injector) {\n // tslint:disable-next-line: deprecation\n this.cdRef = injector.get(ChangeDetectorRef);\n }\n\n notifyValueChange(): void {\n if (this.onChange) {\n this.onChange(this.value);\n }\n }\n\n writeValue(value: T): void {\n this._value = this.valueLimitFn(value, this._value) || value;\n setTimeout(() => this.cdRef.markForCheck(), 0);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { Config } from '../models/config';\n\n/**\n * @deprecated Use ConfigStateService. To be deleted in v5.0.\n */\nexport class GetAppConfiguration {\n static readonly type = '[Config] Get App Configuration';\n}\n\n/**\n * @deprecated Use EnvironmentService instead. To be deleted in v5.0.\n */\nexport class SetEnvironment {\n static readonly type = '[Config] Set Environment';\n constructor(public environment: Config.Environment) {}\n}\n\n/**\n * @deprecated Use EnvironmentService instead. To be deleted in v5.0.\n */\nexport class PatchConfigState {\n static readonly type = '[Config] Set State';\n constructor(public state: Config.State) {}\n}\n","import { HttpRequest } from '@angular/common/http';\n\nexport class StartLoader {\n static readonly type = '[Loader] Start';\n constructor(public payload: HttpRequest<any>) {}\n}\n\nexport class StopLoader {\n static readonly type = '[Loader] Stop';\n constructor(public payload: HttpRequest<any>) {}\n}\n","import { Profile } from '../models';\n\nexport class GetProfile {\n static readonly type = '[Profile] Get';\n}\n\nexport class UpdateProfile {\n static readonly type = '[Profile] Update';\n constructor(public payload: Profile.Response) {}\n}\n\nexport class ChangePassword {\n static readonly type = '[Profile] Change Password';\n constructor(public payload: Profile.ChangePasswordRequest) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport class RestOccurError {\n static readonly type = '[Rest] Error';\n constructor(public payload: HttpErrorResponse | any) {}\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { ABP } from '../models/common';\n\nexport const CORE_OPTIONS = new InjectionToken<ABP.Root>('CORE_OPTIONS');\n\nexport function coreOptionsFactory({ ...options }: ABP.Root) {\n return {\n ...options,\n } as ABP.Root;\n}\n","import snq from 'snq';\nimport { ApplicationLocalizationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\n\n// This will not be necessary when only Angukar 9.1+ is supported\nexport function getLocaleDirection(locale: string): 'ltr' | 'rtl' {\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(\n locale,\n )\n ? 'rtl'\n : 'ltr';\n}\n\nexport function createLocalizer(localization: ApplicationLocalizationConfigurationDto) {\n return (resourceName: string, key: string, defaultValue: string) => {\n if (resourceName === '_') return key;\n\n const resource = snq(() => localization.values[resourceName]);\n\n if (!resource) return defaultValue;\n\n return resource[key] || defaultValue;\n };\n}\n\nexport function createLocalizerWithFallback(localization: ApplicationLocalizationConfigurationDto) {\n const findLocalization = createLocalizationFinder(localization);\n\n return (resourceNames: string[], keys: string[], defaultValue: string) => {\n const { localized } = findLocalization(resourceNames, keys);\n return localized || defaultValue;\n };\n}\n\nexport function createLocalizationPipeKeyGenerator(\n localization: ApplicationLocalizationConfigurationDto,\n) {\n const findLocalization = createLocalizationFinder(localization);\n\n return (resourceNames: string[], keys: string[], defaultKey: string) => {\n const { resourceName, key } = findLocalization(resourceNames, keys);\n return !resourceName ? defaultKey : resourceName === '_' ? key : `${resourceName}::${key}`;\n };\n}\n\nfunction createLocalizationFinder(localization: ApplicationLocalizationConfigurationDto) {\n const localize = createLocalizer(localization);\n\n return (resourceNames: string[], keys: string[]) => {\n resourceNames = resourceNames.concat(localization.defaultResourceName).filter(Boolean);\n\n const resourceCount = resourceNames.length;\n const keyCount = keys.length;\n\n for (let i = 0; i < resourceCount; i++) {\n const resourceName = resourceNames[i];\n\n for (let j = 0; j < keyCount; j++) {\n const key = keys[j];\n const localized = localize(resourceName, key, null);\n if (localized) return { resourceName, key, localized };\n }\n }\n\n return { resourceName: undefined, key: undefined, localized: undefined };\n };\n}\n","export function createTokenParser(format: string) {\n return (str: string) => {\n const tokens: string[] = [];\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\n tokens.push(token);\n return '(.+)';\n });\n\n const matches = (str.match(regex) || []).slice(1);\n\n return matches.reduce((acc, v, i) => {\n const key = tokens[i];\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\n return acc;\n }, {} as Record<string, string[]>);\n };\n}\n\nexport function interpolate(text: string, params: string[]) {\n return text\n .replace(/(['\"]?\\{\\s*(\\d+)\\s*\\}['\"]?)/g, (_, match, digit) => params[digit] ?? match)\n .replace(/\\s+/g, ' ');\n}\n","export function noop() {\n // tslint:disable-next-line: only-arrow-functions\n const fn = function() {};\n return fn;\n}\n\nexport function isUndefinedOrEmptyString(value: unknown): boolean {\n return value === undefined || value === '';\n}\n\nexport function isNullOrUndefined(obj) {\n return obj === null || obj === undefined;\n}\n\nexport function exists(obj) {\n return !isNullOrUndefined(obj);\n}\n\nexport function isObject(obj) {\n return obj instanceof Object;\n}\n\nexport function isArray(obj) {\n return Array.isArray(obj);\n}\n\nexport function isObjectAndNotArray(obj) {\n return isObject(obj) && !isArray(obj);\n}\n\nexport function isNode(obj) {\n return obj instanceof Node;\n}\n\nexport function isObjectAndNotArrayNotNode(obj) {\n return isObjectAndNotArray(obj) && !isNode(obj);\n}\n","import {\n exists,\n isArray,\n isNode,\n isNullOrUndefined,\n isObject,\n isObjectAndNotArrayNotNode,\n} from './common-utils';\n\nexport function deepMerge(target, source) {\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\n return deepMergeRecursively(target, source);\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\n return {};\n } else {\n return exists(source) ? source : target;\n }\n}\n\nfunction deepMergeRecursively(target, source) {\n const shouldNotRecurse =\n isNullOrUndefined(target) ||\n isNullOrUndefined(source) || // at least one not defined\n isArray(target) ||\n isArray(source) || // at least one array\n !isObject(target) ||\n !isObject(source) || // at least one not an object\n isNode(target) ||\n isNode(source); // at least one node\n\n /**\n * if we will not recurse any further,\n * we will prioritize source if it is a defined value.\n */\n if (shouldNotRecurse) {\n return exists(source) ? source : target;\n }\n\n const keysOfTarget = Object.keys(target);\n const keysOfSource = Object.keys(source);\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\n return [...uniqueKeys].reduce((retVal, key) => {\n retVal[key] = deepMergeRecursively(target[key], source[key]);\n return retVal;\n }, {});\n}\n","import compare from 'just-compare';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\nimport { DeepPartial } from '../models';\nimport { deepMerge } from './object-utils';\n\nexport class InternalStore<State> {\n private state$ = new BehaviorSubject<State>(this.initialState);\n\n private update$ = new Subject<DeepPartial<State>>();\n\n get state() {\n return this.state$.value;\n }\n\n sliceState = <Slice>(\n selector: (state: State) => Slice,\n compareFn: (s1: Slice, s2: Slice) => boolean = compare,\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\n\n sliceUpdate = <Slice>(\n selector: (state: DeepPartial<State>) => Slice,\n filterFn = (x: Slice) => x !== undefined,\n ) => this.update$.pipe(map(selector), filter(filterFn));\n\n constructor(private initialState: State) {}\n\n patch(state: Partial<State>) {\n let patchedState = state as State;\n\n if (typeof state === 'object' && !Array.isArray(state)) {\n patchedState = { ...this.state, ...state };\n }\n\n this.state$.next(patchedState);\n this.update$.next(patchedState as DeepPartial<State>);\n }\n\n deepPatch(state: DeepPartial<State>) {\n this.state$.next(deepMerge(this.state, state));\n this.update$.next(state);\n }\n\n set(state: State) {\n this.state$.next(state);\n this.update$.next(state as DeepPartial<State>);\n }\n\n reset() {\n this.set(this.initialState);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Apis, Environment } from '../models/environment';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nconst mapToApiUrl = (key: string) => (apis: Apis) =>\n (apis[key] || apis.default).url || apis.default.url;\n\n@Injectable({ providedIn: 'root' })\nexport class EnvironmentService {\n private readonly store = new InternalStore({} as Environment);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n getEnvironment$(): Observable<Environment> {\n return this.store.sliceState(state => state);\n }\n\n getEnvironment(): Environment {\n return this.store.state;\n }\n\n getApiUrl(key?: string) {\n return mapToApiUrl(key)(this.store.state.apis);\n }\n\n getApiUrl$(key?: string) {\n return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));\n }\n\n setState(environment: Environment) {\n this.store.set(environment);\n }\n}\n","import { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { ABP } from '../models/common';\nimport { Rest } from '../models/rest';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { isUndefinedOrEmptyString } from '../utils/common-utils';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RestService {\n constructor(\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\n protected http: HttpClient,\n protected environment: EnvironmentService,\n protected store: Store,\n ) {}\n\n protected getApiFromStore(apiName: string): string {\n return this.environment.getApiUrl(apiName);\n }\n\n handleError(err: any): Observable<any> {\n this.store.dispatch(new RestOccurError(err));\n return throwError(err);\n }\n\n // TODO: Deprecate service or improve interface in v5.0\n request<T, R>(\n request: HttpRequest<T> | Rest.Request<T>,\n config?: Rest.Config,\n api?: string,\n ): Observable<R> {\n config = config || ({} as Rest.Config);\n api = api || this.getApiFromStore(config.apiName);\n const { method, params, ...options } = request;\n const { observe = Rest.Observe.Body, skipHandleError } = config;\n\n return this.http\n .request<R>(method, api + request.url, {\n observe,\n ...(params && {\n params: Object.keys(params).reduce((acc, key) => {\n const value = params[key];\n\n if (isUndefinedOrEmptyString(value)) return acc;\n if (value === null && !this.options.sendNullsAsQueryParam) return acc;\n\n acc[key] = value;\n return acc;\n }, {}),\n }),\n ...options,\n } as any)\n .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../../../services/rest.service';\nimport type { ApplicationConfigurationDto } from './models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpApplicationConfigurationService {\n apiName = 'abp';\n\n get() {\n return this.restService.request<any, ApplicationConfigurationDto>(\n {\n method: 'GET',\n url: '/api/abp/application-configuration',\n },\n { apiName: this.apiName },\n );\n }\n\n constructor(private restService: RestService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { map, take, switchMap } from 'rxjs/operators';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigStateService {\n private readonly store = new InternalStore({} as ApplicationConfigurationDto);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n private updateSubject = new Subject();\n\n constructor(private abpConfigService: AbpApplicationConfigurationService) {\n this.initUpdateStream();\n }\n\n private initUpdateStream() {\n this.updateSubject\n .pipe(switchMap(() => this.abpConfigService.get()))\n .subscribe(res => this.setState(res));\n }\n\n /**\n * @deprecated do not use this method directly, instead call refreshAppState\n * This method will be private in v5.0\n */\n setState(state: ApplicationConfigurationDto) {\n this.store.set(state);\n }\n\n refreshAppState() {\n this.updateSubject.next();\n return this.createOnUpdateStream(state => state).pipe(take(1));\n }\n\n getOne$(key: string) {\n return this.store.sliceState(state => state[key]);\n }\n\n getOne(key: string) {\n return this.store.state[key];\n }\n\n getAll$(): Observable<ApplicationConfigurationDto> {\n return this.store.sliceState(state => state);\n }\n\n getAll(): ApplicationConfigurationDto {\n return this.store.state;\n }\n\n getDeep$(keys: string[] | string) {\n keys = splitKeys(keys);\n\n return this.store\n .sliceState(state => state)\n .pipe(\n map(state => {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n }),\n );\n }\n\n getDeep(keys: string[] | string) {\n keys = splitKeys(keys);\n\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, this.store.state);\n }\n\n getFeature(key: string) {\n return this.store.state.features?.values?.[key];\n }\n\n getFeature$(key: string) {\n return this.store.sliceState(state => state.features?.values?.[key]);\n }\n\n getFeatures(keys: string[]) {\n const { features } = this.store.state;\n if (!features) return;\n\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\n }\n\n getFeatures$(keys: string[]) {\n return this.store.sliceState(({ features }) => {\n if (!features?.values) return;\n\n return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});\n });\n }\n\n getSetting(key: string) {\n return this.store.state.setting?.values?.[key];\n }\n\n getSetting$(key: string) {\n return this.store.sliceState(state => state.setting?.values?.[key]);\n }\n\n getSettings(keyword?: string) {\n const settings = this.store.state.setting?.values || {};\n\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n }\n\n getSettings$(keyword?: string) {\n return this.store\n .sliceState(state => state.setting?.values)\n .pipe(\n map((settings = {}) => {\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n }),\n );\n }\n}\n\nfunction splitKeys(keys: string[] | string): string[] {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n return keys;\n}\n","import { Injectable } from '@angular/core';\nimport compare from 'just-compare';\nimport { filter, take } from 'rxjs/operators';\nimport { Session } from '../models/session';\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { ConfigStateService } from './config-state.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SessionStateService {\n private readonly store = new InternalStore({} as Session.State);\n\n private updateLocalStorage = () => {\n localStorage.setItem('abpSession', JSON.stringify(this.store.state));\n };\n\n constructor(private configState: ConfigStateService) {\n this.init();\n this.setInitialLanguage();\n }\n\n private init() {\n const session = localStorage.getItem('abpSession');\n if (session) {\n this.store.set(JSON.parse(session));\n }\n\n this.store.sliceUpdate(state => state).subscribe(this.updateLocalStorage);\n }\n\n private setInitialLanguage() {\n if (this.getLanguage()) return;\n\n this.configState\n .getDeep$('localization.currentCulture.cultureName')\n .pipe(\n filter(cultureName => !!cultureName),\n take(1),\n )\n .subscribe(lang => {\n if (lang.includes(';')) {\n lang = lang.split(';')[0];\n }\n\n this.setLanguage(lang);\n });\n }\n\n onLanguageChange$() {\n return this.store.sliceUpdate(state => state.language);\n }\n\n onTenantChange$() {\n return this.store.sliceUpdate(state => state.tenant);\n }\n\n getLanguage() {\n return this.store.state.language;\n }\n\n getLanguage$() {\n return this.store.sliceState(state => state.language);\n }\n\n getTenant() {\n return this.store.state.tenant;\n }\n\n getTenant$() {\n return this.store.sliceState(state => state.tenant);\n }\n\n setTenant(tenant: CurrentTenantDto) {\n if (compare(tenant, this.store.state.tenant)) return;\n\n this.store.set({ ...this.store.state, tenant });\n }\n\n setLanguage(language: string) {\n if (language === this.store.state.language) return;\n\n this.store.patch({ language });\n document.documentElement.setAttribute('lang', language);\n }\n}\n","import { registerLocaleData } from '@angular/common';\nimport { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, map, mapTo, switchMap } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { Config } from '../models/config';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';\nimport { interpolate } from '../utils/string-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { SessionStateService } from './session-state.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LocalizationService {\n private latestLang = this.sessionState.getLanguage();\n private _languageChange$ = new Subject<string>();\n\n /**\n * Returns currently selected language\n */\n get currentLang(): string {\n return this.latestLang || this.sessionState.getLanguage();\n }\n\n get languageChange$(): Observable<string> {\n return this._languageChange$.asObservable();\n }\n\n constructor(\n private sessionState: SessionStateService,\n private injector: Injector,\n @Optional()\n @SkipSelf()\n otherInstance: LocalizationService,\n private configState: ConfigStateService,\n ) {\n if (otherInstance) throw new Error('LocalizationService should have only one instance.');\n\n this.listenToSetLanguage();\n }\n\n private listenToSetLanguage() {\n this.sessionState\n .onLanguageChange$()\n .pipe(\n filter(\n lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang,\n ),\n switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))),\n switchMap(lang => from(this.registerLocale(lang).then(() => lang))),\n )\n .subscribe(lang => this._languageChange$.next(lang));\n }\n\n registerLocale(locale: string) {\n const { registerLocaleFn }: ABP.Root = this.injector.get(CORE_OPTIONS);\n\n return registerLocaleFn(locale).then(module => {\n if (module?.default) registerLocaleData(module.default);\n this.latestLang = locale;\n });\n }\n\n /**\n * Returns an observable localized text with the given interpolation parameters in current language.\n * @param key Localizaton key to replace with localized text\n * @param interpolateParams Values to interpolate\n */\n get(\n key: string | Config.LocalizationWithDefault,\n ...interpolateParams: string[]\n ): Observable<string> {\n return this.configState\n .getAll$()\n .pipe(map(state => getLocalization(state, key, ...interpolateParams)));\n }\n\n getResource(resourceName: string) {\n return this.configState.getDeep(`localization.values.${resourceName}`);\n }\n\n getResource$(resourceName: string) {\n return this.configState.getDeep$(`localization.values.${resourceName}`);\n }\n\n /**\n * Returns localized text with the given interpolation parameters in current language.\n * @param key Localization key to replace with localized text\n * @param interpolateParams Values to intepolate.\n */\n instant(key: string | Config.LocalizationWithDefault, ...interpolateParams: string[]): string {\n return getLocalization(this.configState.getAll(), key, ...interpolateParams);\n }\n\n localize(resourceName: string, key: string, defaultValue: string): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizer),\n map(localize => localize(resourceName, key, defaultValue)),\n );\n }\n\n localizeSync(resourceName: string, key: string, defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizer(localization)(resourceName, key, defaultValue);\n }\n\n localizeWithFallback(\n resourceNames: string[],\n keys: string[],\n defaultValue: string,\n ): Observable<string> {\n return this.configState.getOne$('localization').pipe(\n map(createLocalizerWithFallback),\n map(localizeWithFallback => localizeWithFallback(resourceNames, keys, defaultValue)),\n );\n }\n\n localizeWithFallbackSync(resourceNames: string[], keys: string[], defaultValue: string): string {\n const localization = this.configState.getOne('localization');\n return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);\n }\n}\n\nfunction getLocalization(\n state: ApplicationConfigurationDto,\n key: string | Config.LocalizationWithDefault,\n ...interpolateParams: string[]\n) {\n if (!key) key = '';\n let defaultValue: string;\n\n if (typeof key !== 'string') {\n defaultValue = key.defaultValue;\n key = key.key;\n }\n\n const keys = key.split('::') as string[];\n const warn = (message: string) => {\n if (isDevMode) console.warn(message);\n };\n\n if (keys.length < 2) {\n warn('The localization source separator (::) not found.');\n return defaultValue || (key as string);\n }\n if (!state.localization) return defaultValue || keys[1];\n\n const sourceName = keys[0] || state.localization.defaultResourceName;\n const sourceKey = keys[1];\n\n if (sourceName === '_') {\n return defaultValue || sourceKey;\n }\n\n if (!sourceName) {\n warn('Localization source name is not specified and the defaultResourceName was not defined!');\n\n return defaultValue || sourceKey;\n }\n\n const source = state.localization.values[sourceName];\n if (!source) {\n warn('Could not find localization source: ' + sourceName);\n return defaultValue || sourceKey;\n }\n\n let localization = source[sourceKey];\n if (typeof localization === 'undefined') {\n return defaultValue || sourceKey;\n }\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (localization) localization = interpolate(localization, interpolateParams);\n\n if (typeof localization !== 'string') localization = '';\n\n return localization || defaultValue || (key as string);\n}\n","import { NgZone } from '@angular/core';\nimport { PRIMARY_OUTLET, Router, UrlSegmentGroup } from '@angular/router';\nimport { ABP } from '../models/common';\nimport { RoutesService } from '../services/routes.service';\nimport { noop } from './common-utils';\nimport { TreeNode } from './tree-utils';\n\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> {\n const node = routesService.find(route => route.path === path);\n\n return node || path === '/'\n ? node\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\n}\n\nexport function getRoutePath(router: Router, url = router.url) {\n const emptyGroup = { segments: [] } as UrlSegmentGroup;\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\n\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\n}\n\nexport function reloadRoute(router: Router, ngZone: NgZone) {\n const { shouldReuseRoute } = router.routeReuseStrategy;\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\n router.routeReuseStrategy.shouldReuseRoute = reuse;\n };\n\n setRouteReuse(() => false);\n router.navigated = false;\n\n ngZone.run(async () => {\n await router.navigateByUrl(router.url).catch(noop);\n setRouteReuse(shouldReuseRoute);\n });\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { reloadRoute } from '../utils/route-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class ReplaceableComponentsService {\n private readonly store: InternalStore<ReplaceableComponents.ReplaceableComponent[]>;\n\n get replaceableComponents$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceState(state => state);\n }\n\n get replaceableComponents(): ReplaceableComponents.ReplaceableComponent[] {\n return this.store.state;\n }\n\n get onUpdate$(): Observable<ReplaceableComponents.ReplaceableComponent[]> {\n return this.store.sliceUpdate(state => state);\n }\n\n constructor(private ngZone: NgZone, private router: Router) {\n this.store = new InternalStore([]);\n }\n\n add(replaceableComponent: ReplaceableComponents.ReplaceableComponent, reload?: boolean): void {\n const replaceableComponents = [...this.store.state];\n\n const index = replaceableComponents.findIndex(\n component => component.key === replaceableComponent.key,\n );\n\n if (index > -1) {\n replaceableComponents[index] = replaceableComponent;\n } else {\n replaceableComponents.push(replaceableComponent);\n }\n\n this.store.set(replaceableComponents);\n\n if (reload) reloadRoute(this.router, this.ngZone);\n }\n\n get(replaceableComponentKey: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.find(component => component.key === replaceableComponentKey);\n }\n\n get$(replaceableComponentKey: string): Observable<ReplaceableComponents.ReplaceableComponent> {\n return this.replaceableComponents$.pipe(\n map(components => components.find(component => component.key === replaceableComponentKey)),\n );\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n RouterEvent,\n} from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nexport const NavigationEvent = {\n Cancel: NavigationCancel,\n End: NavigationEnd,\n Error: NavigationError,\n Start: NavigationStart,\n};\n\n@Injectable({ providedIn: 'root' })\nexport class RouterEvents {\n constructor(private router: Router) {}\n\n getEvents<T extends RouterEventConstructors>(...eventTypes: T) {\n type FilteredRouterEvent = T extends Type<infer Ctor>[] ? Ctor : never;\n\n const filterRouterEvents = (event: RouterEvent): event is FilteredRouterEvent =>\n eventTypes.some(type => event instanceof type);\n\n return this.router.events.pipe(filter(filterRouterEvents));\n }\n\n getNavigationEvents<T extends NavigationEventKeys>(...navigationEventKeys: T) {\n type FilteredNavigationEvent = T extends (infer Key)[]\n ? Key extends NavigationEventKey\n ? InstanceType<NavigationEventType[Key]>\n : never\n : never;\n\n const filterNavigationEvents = (event: RouterEvent): event is FilteredNavigationEvent =>\n navigationEventKeys.some(key => event instanceof NavigationEvent[key]);\n\n return this.router.events.pipe(filter(filterNavigationEvents));\n }\n\n getAllEvents() {\n return this.router.events;\n }\n\n getAllNavigationEvents() {\n const keys = Object.keys(NavigationEvent) as NavigationEventKeys;\n return this.getNavigationEvents(...keys);\n }\n}\n\ntype RouterEventConstructors = [Type<RouterEvent>, ...Type<RouterEvent>[]];\n\ntype NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]];\n\ntype NavigationEventType = typeof NavigationEvent;\n\nexport type NavigationEventKey = keyof NavigationEventType;\n","export function pushValueTo<T extends any>(array: T[]) {\n return (element: T) => {\n array.push(element);\n return array;\n };\n}\n","export class BaseTreeNode<T extends object> {\n children: TreeNode<T>[] = [];\n isLeaf = true;\n parent?: TreeNode<T>;\n\n constructor(props: T) {\n Object.assign(this, props);\n }\n\n static create<T extends object>(props: T) {\n return new BaseTreeNode<T>(props) as TreeNode<T>;\n }\n}\n\nexport function createTreeFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n parentKeySelector: typeof keySelector,\n valueMapper: (item: T) => R,\n) {\n const map = createMapFromList(list, keySelector, valueMapper);\n const tree: NodeValue<T, typeof valueMapper>[] = [];\n\n list.forEach(row => {\n const id = keySelector(row);\n const parentId = parentKeySelector(row);\n const node = map.get(id);\n\n if (!node) return;\n\n if (parentId) {\n const parent = map.get(parentId);\n if (!parent) return;\n (parent as any).children.push(node);\n (parent as any).isLeaf = false;\n (node as any).parent = parent;\n } else {\n tree.push(node);\n }\n });\n\n return tree;\n}\n\nexport function createMapFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n valueMapper: (item: T) => R,\n) {\n type Key = ReturnType<typeof keySelector>;\n type Value = NodeValue<T, typeof valueMapper>;\n const map = new Map<Key, Value>();\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\n return map;\n}\n\nexport function createTreeNodeFilterCreator<T extends object>(\n key: keyof T,\n mapperFn: (value: any) => string,\n) {\n return (search: string) => {\n const regex = new RegExp('.*' + search + '.*', 'i');\n\n return function collectNodes(nodes: TreeNode<T>[], matches = []) {\n for (const node of nodes) {\n if (regex.test(mapperFn(node[key]))) matches.push(node);\n\n if (node.children.length) collectNodes(node.children, matches);\n }\n\n return matches;\n };\n };\n}\n\nexport type TreeNode<T extends object> = {\n [K in keyof T]: T[K];\n} & {\n children: TreeNode<T>[];\n isLeaf: boolean;\n parent?: TreeNode<T>;\n};\n\ntype NodeKey = number | string | symbol | undefined | null;\n\ntype NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\n ? TreeNode<T>\n : ReturnType<F>;\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport snq from 'snq';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from './config-state.service';\nimport { ABP } from '../models/common';\n\n@Injectable({ providedIn: 'root' })\nexport class PermissionService {\n constructor(protected configState: ConfigStateService) {}\n\n getGrantedPolicy$(key: string) {\n return this.getStream().pipe(\n map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)),\n );\n }\n\n getGrantedPolicy(key: string) {\n const policies = this.getSnapshot();\n return this.isPolicyGranted(key, policies);\n }\n\n filterItemsByPolicy<T extends ABP.HasPolicy>(items: Array<T>) {\n const policies = this.getSnapshot();\n return items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n );\n }\n\n filterItemsByPolicy$<T extends ABP.HasPolicy>(items: Array<T>) {\n return this.getStream().pipe(\n map(policies =>\n items.filter(\n item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies),\n ),\n ),\n );\n }\n\n protected isPolicyGranted(key: string, grantedPolicies: Record<string, boolean>) {\n if (!key) return true;\n\n const orRegexp = /\\|\\|/g;\n const andRegexp = /&&/g;\n\n // TODO: Allow combination of ANDs & ORs\n if (orRegexp.test(key)) {\n const keys = key.split('||').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.some(k => this.getPolicy(k.trim(), grantedPolicies));\n } else if (andRegexp.test(key)) {\n const keys = key.split('&&').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.every(k => this.getPolicy(k.trim(), grantedPolicies));\n }\n\n return this.getPolicy(key, grantedPolicies);\n }\n\n protected getStream() {\n return this.configState.getAll$().pipe(map(this.mapToPolicies));\n }\n\n protected getSnapshot() {\n return this.mapToPolicies(this.configState.getAll());\n }\n\n protected mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) {\n return snq(() => applicationConfiguration.auth.grantedPolicies, {});\n }\n\n protected getPolicy(key: string, grantedPolicies: Record<string, boolean>) {\n return snq(() => grantedPolicies[key], false);\n }\n}\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { ABP } from '../models/common';\nimport { pushValueTo } from '../utils/array-utils';\nimport { BaseTreeNode, createTreeFromList, TreeNode } from '../utils/tree-utils';\nimport { ConfigStateService } from './config-state.service';\nimport { PermissionService } from './permission.service';\n\nexport abstract class AbstractTreeService<T extends object> {\n abstract id: string;\n abstract parentId: string;\n abstract hide: (item: T) => boolean;\n abstract sort: (a: T, b: T) => number;\n\n private _flat$ = new BehaviorSubject<T[]>([]);\n private _tree$ = new BehaviorSubject<TreeNode<T>[]>([]);\n private _visible$ = new BehaviorSubject<TreeNode<T>[]>([]);\n\n get flat(): T[] {\n return this._flat$.value;\n }\n\n get flat$(): Observable<T[]> {\n return this._flat$.asObservable();\n }\n\n get tree(): TreeNode<T>[] {\n return this._tree$.value;\n }\n\n get tree$(): Observable<TreeNode<T>[]> {\n return this._tree$.asObservable();\n }\n\n get visible(): TreeNode<T>[] {\n return this._visible$.value;\n }\n\n get visible$(): Observable<TreeNode<T>[]> {\n return this._visible$.asObservable();\n }\n\n protected createTree(items: T[]): TreeNode<T>[] {\n return createTreeFromList<T, TreeNode<T>>(\n items,\n item => item[this.id],\n item => item[this.parentId],\n item => BaseTreeNode.create(item),\n );\n }\n\n private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {\n return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));\n }\n\n private findItemsToRemove(set: Set<string>): Set<string> {\n return this._flat$.value.reduce((acc, item) => {\n if (!acc.has(item[this.parentId])) return acc;\n const childSet = new Set([item[this.id]]);\n const children = this.findItemsToRemove(childSet);\n return new Set([...acc, ...children]);\n }, set);\n }\n\n private publish(flatItems: T[], visibleItems: T[]): T[] {\n this._flat$.next(flatItems);\n this._tree$.next(this.createTree(flatItems));\n this._visible$.next(this.createTree(visibleItems));\n return flatItems;\n }\n\n add(items: T[]): T[] {\n const map = new Map<string, T>();\n items.forEach(item => map.set(item[this.id], item));\n\n const flatItems = this.filterWith(map);\n map.forEach(pushValueTo(flatItems));\n\n flatItems.sort(this.sort);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n find(predicate: (item: TreeNode<T>) => boolean, tree = this.tree): TreeNode<T> | null {\n return tree.reduce(\n (acc, node) => (acc ? acc : predicate(node) ? node : this.find(predicate, node.children)),\n null,\n );\n }\n\n patch(identifier: string, props: Partial<T>): T[] | false {\n const flatItems = this._flat$.value;\n const index = flatItems.findIndex(item => item[this.id] === identifier);\n if (index < 0) return false;\n\n flatItems[index] = { ...flatItems[index], ...props };\n\n flatItems.sort(this.sort);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n refresh(): T[] {\n return this.add([]);\n }\n\n remove(identifiers: string[]): T[] {\n const set = new Set<string>();\n identifiers.forEach(id => set.add(id));\n\n const setToRemove = this.findItemsToRemove(set);\n const flatItems = this.filterWith(setToRemove);\n const visibleItems = flatItems.filter(item => !this.hide(item));\n\n return this.publish(flatItems, visibleItems);\n }\n\n search(params: Partial<T>, tree = this.tree): TreeNode<T> | null {\n const searchKeys = Object.keys(params);\n\n return tree.reduce(\n (acc, node) =>\n acc\n ? acc\n : searchKeys.every(key => node[key] === params[key])\n ? node\n : this.search(params, node.children),\n null,\n );\n }\n}\n\n@Injectable()\nexport abstract class AbstractNavTreeService<T extends ABP.Nav>\n extends AbstractTreeService<T>\n implements OnDestroy\n{\n private subscription: Subscription;\n private permissionService: PermissionService;\n readonly id = 'name';\n readonly parentId = 'parentName';\n readonly hide = (item: T) => item.invisible || !this.isGranted(item);\n readonly sort = (a: T, b: T) => {\n if (!Number.isInteger(a.order)) return 1;\n if (!Number.isInteger(b.order)) return -1;\n\n return a.order - b.order;\n };\n\n constructor(protected injector: Injector) {\n super();\n const configState = this.injector.get(ConfigStateService);\n this.subscription = configState\n .createOnUpdateStream(state => state)\n .subscribe(() => this.refresh());\n this.permissionService = injector.get(PermissionService);\n }\n\n protected isGranted({ requiredPolicy }: T): boolean {\n return this.permissionService.getGrantedPolicy(requiredPolicy);\n }\n\n hasChildren(identifier: string): boolean {\n const node = this.find(item => item[this.id] === identifier);\n return Boolean(node?.children?.length);\n }\n\n hasInvisibleChild(identifier: string): boolean {\n const node = this.find(item => item[this.id] === identifier);\n return node?.children?.some(child => child.invisible);\n }\n\n /* istanbul ignore next */\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class RoutesService extends AbstractNavTreeService<ABP.Route> {}\n\n@Injectable({ providedIn: 'root' })\nexport class SettingTabsService extends AbstractNavTreeService<ABP.Tab> {}\n","import { Injectable } from '@angular/core';\nimport type { OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport type { Observable, PartialObserver } from 'rxjs';\n\n@Injectable()\nexport class SubscriptionService implements OnDestroy {\n private subscription = new Subscription();\n\n get isClosed() {\n return this.subscription.closed;\n }\n\n addOne<T extends unknown>(\n source$: Observable<T>,\n next?: (value: T) => void,\n error?: (error: any) => void,\n ): Subscription;\n addOne<T extends unknown>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;\n addOne<T extends unknown>(\n source$: Observable<T>,\n nextOrObserver?: PartialObserver<T> | Next<T>,\n error?: (error: any) => void,\n ): Subscription {\n const subscription = source$.subscribe(nextOrObserver as Next<T>, error);\n this.subscription.add(subscription);\n return subscription;\n }\n\n closeAll() {\n this.subscription.unsubscribe();\n }\n\n closeOne(subscription: Subscription | undefined | null) {\n this.removeOne(subscription);\n subscription.unsubscribe();\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n removeOne(subscription: Subscription | undefined | null) {\n if (!subscription) return;\n this.subscription.remove(subscription);\n }\n\n reset() {\n this.subscription.unsubscribe();\n this.subscription = new Subscription();\n }\n}\n\ntype Next<T> = (value: T) => void;\n","import { Component, Injector, Optional, SkipSelf, Type } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { eLayoutType } from '../enums/common';\nimport { ABP } from '../models';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { LocalizationService } from '../services/localization.service';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { RouterEvents } from '../services/router-events.service';\nimport { RoutesService } from '../services/routes.service';\nimport { SubscriptionService } from '../services/subscription.service';\nimport { findRoute, getRoutePath } from '../utils/route-utils';\nimport { TreeNode } from '../utils/tree-utils';\n\n@Component({\n selector: 'abp-dynamic-layout',\n template: `\n <ng-container *ngTemplateOutlet=\"layout ? componentOutlet : routerOutlet\"></ng-container>\n <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>\n <ng-template #componentOutlet\n ><ng-container *ngIf=\"isLayoutVisible\" [ngComponentOutlet]=\"layout\"></ng-container\n ></ng-template>\n `,\n providers: [SubscriptionService],\n})\nexport class DynamicLayoutComponent {\n layout: Type<any>;\n layoutKey: eLayoutType;\n\n // TODO: Consider a shared enum (eThemeSharedComponents) for known layouts\n readonly layouts = new Map([\n ['application', 'Theme.ApplicationLayoutComponent'],\n ['account', 'Theme.AccountLayoutComponent'],\n ['empty', 'Theme.EmptyLayoutComponent'],\n ]);\n\n isLayoutVisible = true;\n\n private router: Router;\n private route: ActivatedRoute;\n private routes: RoutesService;\n\n constructor(\n injector: Injector,\n private localizationService: LocalizationService,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n private routerEvents: RouterEvents,\n @Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent,\n ) {\n if (dynamicLayoutComponent) return;\n this.route = injector.get(ActivatedRoute);\n this.router = injector.get(Router);\n this.routes = injector.get(RoutesService);\n\n this.checkLayoutOnNavigationEnd();\n this.listenToLanguageChange();\n }\n\n private checkLayoutOnNavigationEnd() {\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\n }\n\n private getLayout() {\n let expectedLayout = (this.route.snapshot.data || {}).layout;\n\n if (!expectedLayout) {\n let node = findRoute(this.routes, getRoutePath(this.router));\n node = { parent: node } as TreeNode<ABP.Route>;\n\n while (node.parent) {\n node = node.parent;\n\n if (node.layout) {\n expectedLayout = node.layout;\n break;\n }\n }\n }\n\n if (!expectedLayout) expectedLayout = eLayoutType.empty;\n\n if (this.layoutKey === expectedLayout) return;\n\n const key = this.layouts.get(expectedLayout);\n this.layout = this.getComponent(key)?.component;\n this.layoutKey = expectedLayout;\n }\n\n private listenToLanguageChange() {\n this.subscription.addOne(this.localizationService.languageChange$, () => {\n this.isLayoutVisible = false;\n setTimeout(() => (this.isLayoutVisible = true), 0);\n });\n }\n\n private getComponent(key: string): ReplaceableComponents.ReplaceableComponent {\n return this.replaceableComponents.get(key);\n }\n}\n","import { Component, OnInit, Type } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Component({\n selector: 'abp-replaceable-route-container',\n template: `\n <ng-container *ngComponentOutlet=\"externalComponent || defaultComponent\"></ng-container>\n `,\n providers: [SubscriptionService],\n})\nexport class ReplaceableRouteContainerComponent implements OnInit {\n defaultComponent: Type<any>;\n\n componentKey: string;\n\n externalComponent: Type<any>;\n\n constructor(\n private route: ActivatedRoute,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n ) {}\n\n ngOnInit() {\n this.defaultComponent = this.route.snapshot.data.replaceableComponent.defaultComponent;\n this.componentKey = (this.route.snapshot.data\n .replaceableComponent as ReplaceableComponents.RouteData).key;\n\n const component$ = this.replaceableComponents\n .get$(this.componentKey)\n .pipe(distinctUntilChanged());\n\n this.subscription.addOne(\n component$,\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\n this.externalComponent = res.component;\n },\n );\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-router-outlet',\n template: `\n <router-outlet></router-outlet>\n `,\n})\nexport class RouterOutletComponent {}\n","// Different locales from .NET\n// Key is .NET locale, value is Angular locale\n\nexport const differentLocales = {\n aa: 'en',\n 'aa-DJ': 'en',\n 'aa-ER': 'en',\n 'aa-ET': 'en',\n 'af-ZA': 'af',\n 'agq-CM': 'agq',\n 'ak-GH': 'ak',\n 'am-ET': 'am',\n 'ar-001': 'ar',\n arn: 'en',\n 'arn-CL': 'en',\n 'as-IN': 'as',\n 'asa-TZ': 'asa',\n 'ast-ES': 'ast',\n 'az-Cyrl-AZ': 'az-Cyrl',\n 'az-Latn-AZ': 'az-Latn',\n ba: 'ru',\n 'ba-RU': 'ru',\n 'bas-CM': 'bas',\n 'be-BY': 'be',\n 'bem-ZM': 'bem',\n 'bez-TZ': 'bez',\n 'bg-BG': 'bg',\n bin: 'en',\n 'bin-NG': 'en',\n 'bm-Latn': 'bm',\n 'bm-Latn-ML': 'bm',\n 'bn-BD': 'bn',\n 'bo-CN': 'bo',\n 'br-FR': 'br',\n 'brx-IN': 'brx',\n 'bs-Cyrl-BA': 'bs-Cyrl',\n 'bs-Latn-BA': 'bs-Latn',\n byn: 'en',\n 'byn-ER': 'en',\n 'ca-ES': 'ca',\n 'ca-ES-valencia': 'ca-ES-VALENCIA',\n 'ce-RU': 'ce',\n 'cgg-UG': 'cgg',\n 'chr-Cher': 'chr',\n 'chr-Cher-US': 'chr',\n co: 'en',\n 'co-FR': 'fr',\n 'cs-CZ': 'cs',\n 'cu-RU': 'cu',\n 'cy-GB': 'cy',\n 'da-DK': 'da',\n 'dav-KE': 'dav',\n 'de-DE': 'de',\n 'dje-NE': 'dje',\n 'dsb-DE': 'dsb',\n 'dua-CM': 'dua',\n dv: 'en',\n 'dv-MV': 'en',\n 'dyo-SN': 'dyo',\n 'dz-BT': 'dz',\n 'ebu-KE': 'ebu',\n 'ee-GH': 'ee',\n 'el-GR': 'el',\n 'en-029': 'en',\n 'en-ID': 'en',\n 'en-US': 'en',\n 'eo-001': 'en',\n 'es-ES': 'es',\n 'et-EE': 'et',\n 'eu-ES': 'eu',\n 'ewo-CM': 'ewo',\n 'fa-IR': 'fa',\n 'ff-Latn-SN': 'ff-Latn',\n 'ff-NG': 'ff',\n 'fi-FI': 'fi',\n 'fil-PH': 'fil',\n 'fo-FO': 'fo',\n 'fr-029': 'fr',\n 'fr-FR': 'fr',\n 'fur-IT': 'fur',\n 'fy-NL': 'fy',\n 'ga-IE': 'ga',\n 'gd-GB': 'gd',\n 'gl-ES': 'gl',\n gn: 'en',\n 'gn-PY': 'en',\n 'gsw-CH': 'gsw',\n 'gu-IN': 'gu',\n 'guz-KE': 'guz',\n 'gv-IM': 'gv',\n 'ha-Latn': 'ha',\n 'ha-Latn-GH': 'ha-GH',\n 'ha-Latn-NE': 'ha-NE',\n 'ha-Latn-NG': 'ha',\n 'haw-US': 'haw',\n 'he-IL': 'he',\n 'hi-IN': 'hi',\n 'hr-HR': 'hr',\n 'hsb-DE': 'hsb',\n 'hu-HU': 'hu',\n 'hy-AM': 'hy',\n 'ia-001': 'ia',\n 'ia-FR': 'ia',\n ibb: 'en',\n 'ibb-NG': 'en',\n 'id-ID': 'id',\n 'ig-NG': 'ig',\n 'ii-CN': 'ii',\n 'is-IS': 'is',\n 'it-IT': 'it',\n iu: 'en',\n 'iu-Cans': 'en',\n 'iu-Cans-CA': 'en',\n 'iu-Latn': 'en',\n 'iu-Latn-CA': 'en',\n 'ja-JP': 'ja',\n 'jgo-CM': 'jgo',\n 'jmc-TZ': 'jmc',\n 'jv-Java': 'jv',\n 'jv-Java-ID': 'jv',\n 'jv-Latn': 'jv',\n 'jv-Latn-ID': 'jv',\n 'ka-GE': 'ka',\n 'kab-DZ': 'kab',\n 'kam-KE': 'kam',\n 'kde-TZ': 'kde',\n 'kea-CV': 'kea',\n 'khq-ML': 'khq',\n 'ki-KE': 'ki',\n 'kk-KZ': 'kk',\n 'kkj-CM': 'kkj',\n 'kl-GL': 'kl',\n 'kln-KE': 'kln',\n 'km-KH': 'km',\n 'kn-IN': 'kn',\n 'ko-KR': 'ko',\n 'kok-IN': 'kok',\n kr: 'en',\n 'kr-NG': 'en',\n 'ks-Arab': 'ks',\n 'ks-Arab-IN': 'ks',\n 'ks-Deva': 'ks',\n 'ks-Deva-IN': 'ks',\n 'ksb-TZ': 'ksb',\n 'ksf-CM': 'ksf',\n 'ksh-DE': 'ksh',\n 'ku-Arab': 'ku',\n 'ku-Arab-IQ': 'ku',\n 'ku-Arab-IR': 'ku',\n 'kw-GB': 'kw',\n 'ky-KG': 'ky',\n la: 'en',\n 'la-001': 'en',\n 'lag-TZ': 'lag',\n 'lb-LU': 'lb',\n 'lg-UG': 'lg',\n 'lkt-US': 'lkt',\n 'ln-CD': 'ln',\n 'lo-LA': 'lo',\n 'lrc-IR': 'lrc',\n 'lt-LT': 'lt',\n 'lu-CD': 'lu',\n 'luo-KE': 'luo',\n 'luy-KE': 'luy',\n 'lv-LV': 'lv',\n 'mas-KE': 'mas',\n 'mer-KE': 'mer',\n 'mfe-MU': 'mfe',\n 'mg-MG': 'mg',\n 'mgh-MZ': 'mgh',\n 'mgo-CM': 'mgo',\n 'mi-NZ': 'mi',\n 'mk-MK': 'mk',\n 'ml-IN': 'ml',\n 'mn-Cyrl': 'mn',\n 'mn-MN': 'mn',\n 'mn-Mong': 'mn',\n 'mn-Mong-CN': 'mn',\n 'mn-Mong-MN': 'mn',\n mni: 'en',\n 'mni-IN': 'en',\n moh: 'en',\n 'moh-CA': 'en',\n 'mr-IN': 'mr',\n 'ms-MY': 'ms',\n 'mt-MT': 'mt',\n 'mua-CM': 'mua',\n 'my-MM': 'my',\n 'mzn-IR': 'mzn',\n 'naq-NA': 'naq',\n 'nb-NO': 'nb',\n\n 'nd-ZW': 'nd',\n 'ne-NP': 'ne',\n 'nl-NL': 'nl',\n 'nmg-CM': 'ngm',\n 'nn-NO': 'nn',\n 'nnh-CM': 'nnh',\n no: 'en',\n nqo: 'en',\n 'nqo-GN': 'en',\n nr: 'en',\n 'nr-ZA': 'en',\n nso: 'en',\n 'nso-ZA': 'en',\n 'nus-SS': 'nus',\n 'nyn-UG': 'nyn',\n oc: 'en',\n 'oc-FR': 'fr',\n 'om-ET': 'om',\n 'or-IN': 'or',\n 'os-GE': 'os',\n 'pa-Arab-PK': 'pa-Arab',\n 'pa-IN': 'pa',\n pap: 'en',\n 'pap-029': 'en',\n 'pl-PL': 'pl',\n 'prg-001': 'prg',\n prs: 'en',\n 'prs-AF': 'en',\n 'ps-AF': 'ps',\n 'pt-BR': 'pt',\n quc: 'en',\n 'quc-Latn': 'en',\n 'quc-Latn-GT': 'en',\n quz: 'en',\n 'quz-BO': 'en',\n 'quz-EC': 'en',\n 'quz-PE': 'en',\n 'rm-CH': 'rm',\n 'rn-BI': 'rn',\n 'ro-RO': 'ro',\n 'rof-TZ': 'rof',\n 'ru-RU': 'ru',\n 'rw-RW': 'rw',\n 'rwk-TZ': 'rwk',\n sa: 'en',\n 'sa-IN': 'en',\n 'sah-RU': 'sah',\n 'saq-KE': 'saq',\n 'sbp-TZ': 'en',\n 'sd-Arab': 'sd',\n 'sd-Arab-PK': 'sd',\n 'sd-Deva': 'sd',\n 'sd-Deva-IN': 'sd',\n 'se-NO': 'se',\n 'seh-MZ': 'seh',\n 'ses-ML': 'ses',\n 'sg-CF': 'sg',\n 'shi-Latn-MA': 'shi-Latn',\n 'shi-Tfng-MA': 'shi-Tfng',\n 'si-LK': 'si',\n 'sk-SK': 'sk',\n 'sl-SI': 'sl',\n sma: 'en',\n 'sma-NO': 'en',\n 'sma-SE': 'en',\n smj: 'en',\n 'smj-NO': 'en',\n 'smj-SE': 'en',\n 'smn-FI': 'en',\n sms: 'en',\n 'sms-FI': 'en',\n 'sn-Latn': 'sn',\n 'sn-Latn-ZW': 'sn',\n 'so-SO': 'so',\n 'sq-AL': 'so',\n 'sr-Cyrl-RS': 'sr-Cryl',\n 'sr-Latn-RS': 'sr-Latn',\n ss: 'en',\n 'ss-SZ': 'en',\n 'ss-ZA': 'en',\n ssy: 'en',\n 'ssy-ER': 'en',\n st: 'en',\n 'st-LS': 'en',\n 'st-ZA': 'en',\n 'sv-SE': 'sv',\n 'sw-TZ': 'sw',\n syr: 'en',\n 'syr-SY': 'en',\n 'ta-IN': 'ta',\n 'te-IN': 'te',\n 'teo-UG': 'teo',\n 'tg-Cyrl': 'tg',\n 'tg-Cyrl-TJ': 'tg',\n 'th-TH': 'th',\n 'ti-ET': 'ti',\n tig: 'en',\n 'tig-ER': 'en',\n 'tk-TM': 'tk',\n tn: 'en',\n 'tn-BW': 'en',\n 'tn-ZA': 'en',\n 'to-TO': 'to',\n 'tr-TR': 'tr',\n ts: 'en',\n 'ts-ZA': 'en',\n 'tt-RU': 'tt',\n 'twq-NE': 'twq',\n 'tzm-Arab': 'tzm',\n 'tzm-Arab-MA': 'tzm',\n 'tzm-Latn': 'tzm',\n 'tzm-Latn-DZ': 'tzm',\n 'tzm-Latn-MA': 'tzm',\n 'tzm-Tfng': 'tzm',\n 'tzm-Tfng-MA': 'tzm',\n 'ug-CN': 'ug',\n 'uk-UA': 'uk',\n 'ur-PK': 'ur',\n 'uz-Arab-AF': 'uz-Arab',\n 'uz-Cyrl-UZ': 'uz-Cyrl',\n 'uz-Latn-UZ': 'uz-Latn',\n 'vai-Latn-LR': 'vai-Latn',\n 'vai-Vaii-LR': 'vai-Vaii',\n ve: 'en',\n 've-ZA': 'en',\n 'vi-VN': 'vi',\n 'vo-001': 'vo',\n 'vun-TZ': 'vun',\n 'wae-CH': 'wae',\n wal: 'en',\n 'wal-ET': 'en',\n 'wo-SN': 'wo',\n 'xh-ZA': 'xh',\n 'xog-UG': 'xog',\n 'yav-CM': 'yav',\n 'yi-001': 'yi',\n 'yo-NG': 'yo',\n 'zgh-Tfng': 'zgh',\n 'zgh-Tfng-MA': 'zgh',\n 'zh-CN': 'zh',\n 'zh-HK': 'zh',\n 'zh-MO': 'zh',\n 'zh-SG': 'zh',\n 'zh-TW': 'zh',\n 'zu-ZA': 'zu',\n};\n","import { Directive, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[autofocus]'\n})\nexport class AutofocusDirective implements AfterViewInit {\n @Input('autofocus')\n delay = 0;\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => this.elRef.nativeElement.focus(), this.delay);\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[input.debounce]',\n providers: [SubscriptionService],\n})\nexport class InputEventDebounceDirective implements OnInit {\n @Input() debounce = 300;\n\n @Output('input.debounce') readonly debounceEvent = new EventEmitter<Event>();\n\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\n\n ngOnInit(): void {\n const input$ = fromEvent(this.el.nativeElement, 'input').pipe(debounceTime(this.debounce));\n\n this.subscription.addOne(input$, (event: Event) => {\n this.debounceEvent.emit(event);\n });\n }\n}\n","import {\n Directive,\n EmbeddedViewRef,\n Input,\n IterableChangeRecord,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnChanges,\n TemplateRef,\n TrackByFunction,\n ViewContainerRef,\n} from '@angular/core';\nimport compare from 'just-compare';\nimport clone from 'just-clone';\n\nexport type CompareFn<T = any> = (value: T, comparison: T) => boolean;\n\nclass AbpForContext {\n constructor(public $implicit: any, public index: number, public count: number, public list: any[]) {}\n}\n\nclass RecordView {\n constructor(public record: IterableChangeRecord<any>, public view: EmbeddedViewRef<AbpForContext>) {}\n}\n\n@Directive({\n selector: '[abpFor]',\n})\nexport class ForDirective implements OnChanges {\n @Input('abpForOf')\n items: any[];\n\n @Input('abpForOrderBy')\n orderBy: string;\n\n @Input('abpForOrderDir')\n orderDir: 'ASC' | 'DESC';\n\n @Input('abpForFilterBy')\n filterBy: string;\n\n @Input('abpForFilterVal')\n filterVal: any;\n\n @Input('abpForTrackBy')\n trackBy;\n\n @Input('abpForCompareBy')\n compareBy: CompareFn;\n\n @Input('abpForEmptyRef')\n emptyRef: TemplateRef<any>;\n\n private differ: IterableDiffer<any>;\n\n private isShowEmptyRef: boolean;\n\n get compareFn(): CompareFn {\n return this.compareBy || compare;\n }\n\n get trackByFn(): TrackByFunction<any> {\n return this.trackBy || ((index: number, item: any) => (item as any).id || index);\n }\n\n constructor(\n private tempRef: TemplateRef<AbpForContext>,\n private vcRef: ViewContainerRef,\n private differs: IterableDiffers,\n ) {}\n\n private iterateOverAppliedOperations(changes: IterableChanges<any>) {\n const rw: RecordView[] = [];\n\n changes.forEachOperation((record: IterableChangeRecord<any>, previousIndex: number, currentIndex: number) => {\n if (record.previousIndex == null) {\n const view = this.vcRef.createEmbeddedView(\n this.tempRef,\n new AbpForContext(null, -1, -1, this.items),\n currentIndex,\n );\n\n rw.push(new RecordView(record, view));\n } else if (currentIndex == null) {\n this.vcRef.remove(previousIndex);\n } else {\n const view = this.vcRef.get(previousIndex);\n this.vcRef.move(view, currentIndex);\n\n rw.push(new RecordView(record, view as EmbeddedViewRef<AbpForContext>));\n }\n });\n\n for (let i = 0, l = rw.length; i < l; i++) {\n rw[i].view.context.$implicit = rw[i].record.item;\n }\n }\n\n private iterateOverAttachedViews(changes: IterableChanges<any>) {\n for (let i = 0, l = this.vcRef.length; i < l; i++) {\n const viewRef = this.vcRef.get(i) as EmbeddedViewRef<AbpForContext>;\n viewRef.context.index = i;\n viewRef.context.count = l;\n viewRef.context.list = this.items;\n }\n\n changes.forEachIdentityChange((record: IterableChangeRecord<any>) => {\n const viewRef = this.vcRef.get(record.currentIndex) as EmbeddedViewRef<AbpForContext>;\n viewRef.context.$implicit = record.item;\n });\n }\n\n private projectItems(items: any[]): void {\n if (!items.length && this.emptyRef) {\n this.vcRef.clear();\n // tslint:disable-next-line: no-unused-expression\n this.vcRef.createEmbeddedView(this.emptyRef).rootNodes;\n this.isShowEmptyRef = true;\n this.differ = null;\n\n return;\n }\n\n if (this.emptyRef && this.isShowEmptyRef) {\n this.vcRef.clear();\n this.isShowEmptyRef = false;\n }\n\n if (!this.differ && items) {\n this.differ = this.differs.find(items).create(this.trackByFn);\n }\n\n if (this.differ) {\n const changes = this.differ.diff(items);\n\n if (changes) {\n this.iterateOverAppliedOperations(changes);\n this.iterateOverAttachedViews(changes);\n }\n }\n }\n\n private sortItems(items: any[]) {\n if (this.orderBy) {\n items.sort((a, b) => (a[this.orderBy] > b[this.orderBy] ? 1 : a[this.orderBy] < b[this.orderBy] ? -1 : 0));\n } else {\n items.sort();\n }\n }\n\n ngOnChanges() {\n let items = clone(this.items) as any[];\n if (!Array.isArray(items)) return;\n\n const compareFn = this.compareFn;\n\n if (typeof this.filterBy !== 'undefined' && typeof this.filterVal !== 'undefined' && this.filterVal !== '') {\n items = items.filter(item => compareFn(item[this.filterBy], this.filterVal));\n }\n\n switch (this.orderDir) {\n case 'ASC':\n this.sortItems(items);\n this.projectItems(items);\n break;\n\n case 'DESC':\n this.sortItems(items);\n items.reverse();\n this.projectItems(items);\n break;\n\n default:\n this.projectItems(items);\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Self,\n} from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport { SubscriptionService } from '../services/subscription.service';\n\ntype Controls = { [key: string]: FormControl } | FormGroup[];\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: 'form[ngSubmit][formGroup]',\n providers: [SubscriptionService],\n})\nexport class FormSubmitDirective implements OnInit {\n @Input()\n debounce = 200;\n\n @Input()\n notValidateOnSubmit: string | boolean;\n\n @Output() readonly ngSubmit = new EventEmitter();\n\n executedNgSubmit = false;\n\n constructor(\n @Self() private formGroupDirective: FormGroupDirective,\n private host: ElementRef<HTMLFormElement>,\n private cdRef: ChangeDetectorRef,\n private subscription: SubscriptionService,\n ) {}\n\n ngOnInit() {\n this.subscription.addOne(this.formGroupDirective.ngSubmit, () => {\n this.markAsDirty();\n this.executedNgSubmit = true;\n });\n\n const keyup$ = fromEvent(this.host.nativeElement as HTMLElement, 'keyup').pipe(\n debounceTime(this.debounce),\n filter(event => !(event.target instanceof HTMLTextAreaElement)),\n filter((event: KeyboardEvent) => event && event.key === 'Enter'),\n );\n\n this.subscription.addOne(keyup$, () => {\n if (!this.executedNgSubmit) {\n this.host.nativeElement.dispatchEvent(\n new Event('submit', { bubbles: true, cancelable: true }),\n );\n }\n\n this.executedNgSubmit = false;\n });\n }\n\n markAsDirty() {\n const { form } = this.formGroupDirective;\n\n setDirty(form.controls as { [key: string]: FormControl });\n form.markAsDirty();\n\n this.cdRef.detectChanges();\n }\n}\n\nfunction setDirty(controls: Controls) {\n if (Array.isArray(controls)) {\n controls.forEach(group => {\n setDirty(group.controls as { [key: string]: FormControl });\n });\n return;\n }\n\n Object.keys(controls).forEach(key => {\n controls[key].markAsDirty();\n controls[key].updateValueAndValidity();\n });\n}\n","import { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\n\n@Directive({ selector: '[abpInit]' })\nexport class InitDirective implements AfterViewInit {\n @Output('abpInit') readonly init = new EventEmitter<ElementRef<any>>();\n\n constructor(private elRef: ElementRef) {}\n\n ngAfterViewInit() {\n this.init.emit(this.elRef);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { PermissionService } from '../services/permission.service';\n\n@Directive({\n selector: '[abpPermission]',\n})\nexport class PermissionDirective implements OnDestroy, OnChanges {\n @Input('abpPermission') condition: string;\n\n subscription: Subscription;\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n @Optional() private templateRef: TemplateRef<any>,\n private vcRef: ViewContainerRef,\n private permissionService: PermissionService,\n private cdRef: ChangeDetectorRef,\n ) {}\n\n private check() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n\n this.subscription = this.permissionService\n .getGrantedPolicy$(this.condition)\n .pipe(distinctUntilChanged())\n .subscribe(isGranted => {\n if (this.templateRef) this.initStructural(isGranted);\n else this.initAttribute(isGranted);\n\n this.cdRef.detectChanges();\n });\n }\n\n private initStructural(isGranted: boolean) {\n this.vcRef.clear();\n\n if (isGranted) this.vcRef.createEmbeddedView(this.templateRef);\n }\n\n /**\n * @deprecated Will be deleted in v5.0\n */\n private initAttribute(isGranted: boolean) {\n if (!isGranted) {\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n }\n }\n\n ngOnDestroy(): void {\n if (this.subscription) this.subscription.unsubscribe();\n }\n\n ngOnChanges() {\n this.check();\n }\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Injector,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport compare from 'just-compare';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport snq from 'snq';\nimport { ABP } from '../models/common';\nimport { ReplaceableComponents } from '../models/replaceable-components';\nimport { ReplaceableComponentsService } from '../services/replaceable-components.service';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({ selector: '[abpReplaceableTemplate]', providers: [SubscriptionService] })\nexport class ReplaceableTemplateDirective implements OnInit, OnChanges {\n @Input('abpReplaceableTemplate')\n data: ReplaceableComponents.ReplaceableTemplateDirectiveInput<any, any>;\n\n providedData = { inputs: {}, outputs: {} } as ReplaceableComponents.ReplaceableTemplateData<\n any,\n any\n >;\n\n context = {} as any;\n\n externalComponent: Type<any>;\n\n defaultComponentRef: any;\n\n defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\n\n initialized = false;\n\n constructor(\n private injector: Injector,\n private templateRef: TemplateRef<any>,\n private cfRes: ComponentFactoryResolver,\n private vcRef: ViewContainerRef,\n private replaceableComponents: ReplaceableComponentsService,\n private subscription: SubscriptionService,\n ) {\n this.context = {\n initTemplate: ref => {\n this.resetDefaultComponent();\n this.defaultComponentRef = ref;\n this.setDefaultComponentInputs();\n },\n };\n }\n\n ngOnInit() {\n const component$ = this.replaceableComponents\n .get$(this.data.componentKey)\n .pipe(\n filter(\n (res = {} as ReplaceableComponents.ReplaceableComponent) =>\n !this.initialized || !compare(res.component, this.externalComponent),\n ),\n );\n\n this.subscription.addOne(\n component$,\n (res = {} as ReplaceableComponents.ReplaceableComponent) => {\n this.vcRef.clear();\n this.externalComponent = res.component;\n if (this.defaultComponentRef) {\n this.resetDefaultComponent();\n }\n\n if (res.component) {\n this.setProvidedData();\n const customInjector = Injector.create({\n providers: [{ provide: 'REPLACEABLE_DATA', useValue: this.providedData }],\n parent: this.injector,\n });\n this.vcRef.createComponent(\n this.cfRes.resolveComponentFactory(res.component),\n 0,\n customInjector,\n );\n } else {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n }\n\n this.initialized = true;\n },\n );\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (snq(() => changes.data.currentValue.inputs) && this.defaultComponentRef) {\n this.setDefaultComponentInputs();\n }\n }\n\n setDefaultComponentInputs() {\n if (!this.defaultComponentRef || (!this.data.inputs && !this.data.outputs)) return;\n\n if (this.data.inputs) {\n for (const key in this.data.inputs) {\n if (this.data.inputs.hasOwnProperty(key)) {\n if (!compare(this.defaultComponentRef[key], this.data.inputs[key].value)) {\n this.defaultComponentRef[key] = this.data.inputs[key].value;\n }\n }\n }\n }\n\n if (this.data.outputs) {\n for (const key in this.data.outputs) {\n if (this.data.outputs.hasOwnProperty(key)) {\n if (!this.defaultComponentSubscriptions[key]) {\n this.defaultComponentSubscriptions[key] = this.defaultComponentRef[key].subscribe(\n value => {\n this.data.outputs[key](value);\n },\n );\n }\n }\n }\n }\n }\n\n setProvidedData() {\n this.providedData = { ...this.data, inputs: {} };\n\n if (!this.data.inputs) return;\n Object.defineProperties(this.providedData.inputs, {\n ...Object.keys(this.data.inputs).reduce(\n (acc, key) => ({\n ...acc,\n [key]: {\n enumerable: true,\n configurable: true,\n get: () => this.data.inputs[key].value,\n ...(this.data.inputs[key].twoWay && {\n set: newValue => {\n this.data.inputs[key].value = newValue;\n this.data.outputs[`${key}Change`](newValue);\n },\n }),\n },\n }),\n {},\n ),\n });\n }\n\n resetDefaultComponent() {\n Object.keys(this.defaultComponentSubscriptions).forEach(key => {\n this.defaultComponentSubscriptions[key].unsubscribe();\n });\n this.defaultComponentSubscriptions = {} as ABP.Dictionary<Subscription>;\n this.defaultComponentRef = null;\n }\n}\n","import { Directive, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { SubscriptionService } from '../services/subscription.service';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[click.stop]',\n providers: [SubscriptionService],\n})\nexport class StopPropagationDirective implements OnInit {\n @Output('click.stop') readonly stopPropEvent = new EventEmitter<MouseEvent>();\n\n constructor(private el: ElementRef, private subscription: SubscriptionService) {}\n\n ngOnInit(): void {\n this.subscription.addOne(fromEvent(this.el.nativeElement, 'click'), (event: MouseEvent) => {\n event.stopPropagation();\n this.stopPropEvent.emit(event);\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input, Optional, Renderer2 } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport snq from 'snq';\n\n/**\n *\n * @deprecated To be deleted in v5.0\n */\n@Directive({\n selector: '[abpVisibility]',\n})\nexport class VisibilityDirective implements AfterViewInit {\n @Input('abpVisibility')\n focusedElement: HTMLElement;\n\n completed$ = new Subject<boolean>();\n\n constructor(@Optional() private elRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n if (!this.focusedElement && this.elRef) {\n this.focusedElement = this.elRef.nativeElement;\n }\n\n let observer: MutationObserver;\n observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (!mutation.target) return;\n\n const htmlNodes = snq(\n () => Array.from(mutation.target.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) {\n this.removeFromDOM();\n }\n });\n });\n\n observer.observe(this.focusedElement, {\n childList: true,\n });\n\n setTimeout(() => {\n const htmlNodes = snq(\n () =>\n Array.from(this.focusedElement.childNodes).filter(node => node instanceof HTMLElement),\n [],\n );\n\n if (!htmlNodes.length) this.removeFromDOM();\n }, 0);\n\n this.completed$.subscribe(() => observer.disconnect());\n }\n\n disconnect() {\n this.completed$.next();\n this.completed$.complete();\n }\n\n removeFromDOM() {\n if (!this.elRef.nativeElement) return;\n\n this.renderer.removeChild(this.elRef.nativeElement.parentElement, this.elRef.nativeElement);\n this.disconnect();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport compare from 'just-compare';\nimport { filter, map } from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { EnvironmentService } from '../services/environment.service';\nimport { CORE_OPTIONS } from '../tokens/options.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OAuthConfigurationHandler {\n constructor(\n private oAuthService: OAuthService,\n private environmentService: EnvironmentService,\n @Inject(CORE_OPTIONS) private options: ABP.Root,\n ) {\n this.listenToSetEnvironment();\n }\n\n private listenToSetEnvironment() {\n this.environmentService\n .createOnUpdateStream(state => state)\n .pipe(\n map(environment => environment.oAuthConfig),\n filter(config => !compare(config, this.options.environment.oAuthConfig)),\n )\n .subscribe(config => {\n this.oAuthService.configure(config);\n });\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ABP } from '../models';\nimport { RoutesService } from '../services/routes.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoutesHandler {\n constructor(private routes: RoutesService, @Optional() private router: Router) {\n this.addRoutes();\n }\n\n addRoutes() {\n this.router?.config?.forEach(({ path = '', data }) => {\n if (!data?.routes) return;\n\n if (Array.isArray(data.routes)) {\n this.routes.add(data.routes);\n return;\n }\n\n const routes = flatRoutes([{ path, ...data.routes }], { path: '' });\n this.routes.add(routes);\n });\n }\n}\n\nfunction flatRoutes(routes: RouteDef[], parent: any) {\n if (!routes) return [];\n\n return routes.reduce((acc, route) => {\n const { children, ...current } = {\n ...route,\n parentName: parent.name,\n path: (parent.path + '/' + route.path).replace(/\\/\\//g, '/'),\n };\n\n acc.push(current, ...flatRoutes(children, current));\n\n return acc;\n }, []);\n}\n\ntype RouteDef = ABP.Route & { children: RouteDef[] };\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport function getPathName(url: string): string {\n const { pathname } = new URL(url, window.location.origin);\n return pathname;\n}\n\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n\n decodeValue(v: string) {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LOADER_DELAY = new InjectionToken<number>('LOADER_DELAY');\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpRequest } from '@angular/common/http';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { getPathName } from '../utils/http-utils';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { of, Subject, timer } from 'rxjs';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\n\nexport interface HttpWaitState {\n requests: HttpRequest<any>[];\n filteredRequests: Array<HttpRequestInfo>;\n}\nexport interface HttpRequestInfo {\n method: string;\n endpoint: string;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWaitService {\n protected store = new InternalStore<HttpWaitState>({\n requests: [],\n filteredRequests: [],\n });\n\n private delay: number;\n private destroy$ = new Subject();\n\n constructor(injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n }\n\n getLoading() {\n return !!this.applyFilter(this.store.state.requests).length;\n }\n\n getLoading$() {\n return this.store\n .sliceState(({ requests }) => requests)\n .pipe(\n map(requests => !!this.applyFilter(requests).length),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n );\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);\n }\n\n clearLoading() {\n this.store.patch({ requests: [] });\n }\n\n addRequest(request: HttpRequest<any>) {\n this.store.patch({ requests: [...this.store.state.requests, request] });\n }\n\n deleteRequest(request: HttpRequest<any>) {\n const requests = this.store.state.requests.filter(r => r !== request);\n this.store.patch({ requests });\n }\n\n addFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = [\n ...this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n ),\n ...requests,\n ];\n this.store.patch({ filteredRequests });\n }\n\n removeFilter(request: HttpRequestInfo | HttpRequestInfo[]) {\n const requests = Array.isArray(request) ? request : [request];\n const filteredRequests = this.store.state.filteredRequests.filter(\n f => !requests.some(r => this.isSameRequest(f, r)),\n );\n this.store.patch({ filteredRequests });\n }\n\n private applyFilter(requests: HttpRequest<any>[]) {\n const { filteredRequests } = this.store.state;\n return requests.filter(\n ({ method, url }) =>\n !filteredRequests.find(filteredRequest =>\n this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) }),\n ),\n );\n }\n\n private isSameRequest(filteredRequest: HttpRequestInfo, request: HttpRequestInfo) {\n const { method, endpoint } = filteredRequest;\n return endpoint === request.endpoint && method === request.method;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const TENANT_KEY = new InjectionToken<string>('TENANT_KEY');\n","import { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable, Inject } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { finalize } from 'rxjs/operators';\nimport { SessionStateService } from '../services/session-state.service';\nimport { HttpWaitService } from '../services/http-wait.service';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiInterceptor implements HttpInterceptor {\n constructor(\n private oAuthService: OAuthService,\n private sessionState: SessionStateService,\n private httpWaitService: HttpWaitService,\n @Inject(TENANT_KEY) private tenantKey: string,\n ) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n this.httpWaitService.addRequest(request);\n return next\n .handle(\n request.clone({\n setHeaders: this.getAdditionalHeaders(request.headers),\n }),\n )\n .pipe(finalize(() => this.httpWaitService.deleteRequest(request)));\n }\n\n getAdditionalHeaders(existingHeaders?: HttpHeaders) {\n const headers = {} as any;\n\n const token = this.oAuthService.getAccessToken();\n if (!existingHeaders?.has('Authorization') && token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n const lang = this.sessionState.getLanguage();\n if (!existingHeaders?.has('Accept-Language') && lang) {\n headers['Accept-Language'] = lang;\n }\n\n const tenant = this.sessionState.getTenant();\n if (!existingHeaders?.has(this.tenantKey) && tenant?.id) {\n headers[this.tenantKey] = tenant.id;\n }\n\n return headers;\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { Config } from '../models';\nimport { LocalizationService } from '../services/localization.service';\n\n@Injectable()\n@Pipe({\n name: 'abpLocalization',\n})\nexport class LocalizationPipe implements PipeTransform {\n constructor(private localization: LocalizationService) {}\n\n transform(\n value: string | Config.LocalizationWithDefault = '',\n ...interpolateParams: string[]\n ): string {\n return this.localization.instant(\n value,\n ...interpolateParams.reduce(\n (acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]),\n [],\n ),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { LocalizationPipe } from './pipes/localization.pipe';\n\n@NgModule({\n exports: [LocalizationPipe],\n declarations: [LocalizationPipe],\n})\nexport class LocalizationModule {}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nexport type SortOrder = 'asc' | 'desc';\n@Injectable()\n@Pipe({\n name: 'abpSort',\n})\nexport class SortPipe implements PipeTransform {\n transform(\n value: any[],\n sortOrder: SortOrder | string = 'asc',\n sortKey?: string,\n ): any {\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\n\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\n\n let numberArray = [];\n let stringArray = [];\n\n if (!sortKey) {\n numberArray = value.filter(item => typeof item === 'number').sort();\n stringArray = value.filter(item => typeof item === 'string').sort();\n } else {\n numberArray = value\n .filter(item => typeof item[sortKey] === 'number')\n .sort((a, b) => a[sortKey] - b[sortKey]);\n stringArray = value\n .filter(item => typeof item[sortKey] === 'string')\n .sort((a, b) => {\n if (a[sortKey] < b[sortKey]) return -1;\n else if (a[sortKey] > b[sortKey]) return 1;\n else return 0;\n });\n }\n const sorted = [\n ...numberArray,\n ...stringArray,\n ...value.filter(\n item =>\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\n typeof (sortKey ? item[sortKey] : item) !== 'string',\n ),\n ];\n return sortOrder === 'asc' ? sorted : sorted.reverse();\n }\n}\n","import { LOCALE_ID, Provider } from '@angular/core';\nimport { differentLocales } from '../constants/different-locales';\nimport { LocalizationService } from '../services/localization.service';\n\nexport class LocaleId extends String {\n constructor(private localizationService: LocalizationService) {\n super();\n }\n\n toString(): string {\n const { currentLang } = this.localizationService;\n return differentLocales[currentLang] || currentLang;\n }\n\n valueOf(): string {\n return this.toString();\n }\n}\n\nexport const LocaleProvider: Provider = {\n provide: LOCALE_ID,\n useClass: LocaleId,\n deps: [LocalizationService],\n};\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { RestService } from './rest.service';\nimport { Profile, Rest } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileService {\n apiName = 'AbpIdentity';\n\n constructor(private rest: RestService) {}\n\n get(): Observable<Profile.Response> {\n const request: Rest.Request<null> = {\n method: 'GET',\n url: '/api/identity/my-profile',\n };\n\n return this.rest.request<null, Profile.Response>(request, { apiName: this.apiName });\n }\n\n update(body: Profile.Response): Observable<Profile.Response> {\n const request: Rest.Request<Profile.Response> = {\n method: 'PUT',\n url: '/api/identity/my-profile',\n body,\n };\n\n return this.rest.request<Profile.Response, Profile.Response>(request, {\n apiName: this.apiName,\n });\n }\n\n changePassword(\n body: Profile.ChangePasswordRequest,\n skipHandleError: boolean = false,\n ): Observable<null> {\n const request: Rest.Request<Profile.ChangePasswordRequest> = {\n method: 'POST',\n url: '/api/identity/my-profile/change-password',\n body,\n };\n\n return this.rest.request<Profile.ChangePasswordRequest, null>(request, {\n skipHandleError,\n apiName: this.apiName,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Action, Selector, State, StateContext } from '@ngxs/store';\nimport { tap } from 'rxjs/operators';\nimport { ChangePassword, GetProfile, UpdateProfile } from '../actions/profile.actions';\nimport { Profile } from '../models/profile';\nimport { ProfileService } from '../services/profile.service';\n\n@State<Profile.State>({\n name: 'ProfileState',\n defaults: {} as Profile.State,\n})\n@Injectable()\nexport class ProfileState {\n @Selector()\n static getProfile({ profile }: Profile.State): Profile.Response {\n return profile;\n }\n\n constructor(private profileService: ProfileService) {}\n\n @Action(GetProfile)\n getProfile({ patchState }: StateContext<Profile.State>) {\n return this.profileService.get().pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(UpdateProfile)\n updateProfile({ patchState }: StateContext<Profile.State>, { payload }: UpdateProfile) {\n return this.profileService.update(payload).pipe(\n tap(profile =>\n patchState({\n profile,\n }),\n ),\n );\n }\n\n @Action(ChangePassword)\n changePassword(_, { payload }: ChangePassword) {\n return this.profileService.changePassword(payload, true);\n }\n}\n","import { Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OAuthStorage, TokenResponse } from 'angular-oauth2-oidc';\nimport { pipe } from 'rxjs';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { ConfigStateService } from '../services/config-state.service';\n\nconst cookieKey = 'rememberMe';\nconst storageKey = 'passwordFlow';\n\nexport function pipeToLogin(\n params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>,\n injector: Injector,\n) {\n const configState = injector.get(ConfigStateService);\n const router = injector.get(Router);\n\n return pipe(\n switchMap(() => configState.refreshAppState()),\n tap(() => {\n setRememberMe(params.rememberMe);\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\n }),\n );\n}\n\nexport function setTokenResponseToStorage(injector: Injector, tokenRes: TokenResponse) {\n const { access_token, refresh_token, scope: grantedScopes, expires_in } = tokenRes;\n const storage = injector.get(OAuthStorage);\n\n storage.setItem('access_token', access_token);\n storage.setItem('refresh_token', refresh_token);\n storage.setItem('access_token_stored_at', '' + Date.now());\n\n if (grantedScopes) {\n storage.setItem('granted_scopes', JSON.stringify(grantedScopes.split(' ')));\n }\n\n if (expires_in) {\n const expiresInMilliSeconds = expires_in * 1000;\n const now = new Date();\n const expiresAt = now.getTime() + expiresInMilliSeconds;\n storage.setItem('expires_at', '' + expiresAt);\n }\n}\n\nexport function setRememberMe(remember: boolean) {\n removeRememberMe();\n localStorage.setItem(storageKey, 'true');\n document.cookie = `${cookieKey}=true; path=/${\n remember ? ' ;expires=Fri, 31 Dec 9999 23:59:59 GMT' : ''\n }`;\n}\n\nexport function removeRememberMe() {\n localStorage.removeItem(storageKey);\n document.cookie = cookieKey + '= ; path=/; expires = Thu, 01 Jan 1970 00:00:00 GMT';\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Params, Router } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport {\n AuthConfig,\n OAuthErrorEvent,\n OAuthInfoEvent,\n OAuthService,\n OAuthStorage,\n} from 'angular-oauth2-oidc';\nimport { from, Observable, of, pipe } from 'rxjs';\nimport { filter, switchMap, tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { LoginParams } from '../models/auth';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { removeRememberMe, setRememberMe } from '../utils/auth-utils';\nimport { noop } from '../utils/common-utils';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\nexport const oAuthStorage = localStorage;\n\nexport abstract class AuthFlowStrategy {\n abstract readonly isInternalAuth: boolean;\n\n protected store: Store;\n protected environment: EnvironmentService;\n protected configState: ConfigStateService;\n protected oAuthService: OAuthService;\n protected oAuthConfig: AuthConfig;\n protected sessionState: SessionStateService;\n protected tenantKey: string;\n\n abstract checkIfInternalAuth(queryParams?: Params): boolean;\n abstract navigateToLogin(queryParams?: Params): void;\n abstract logout(queryParams?: Params): Observable<any>;\n abstract login(params?: LoginParams | Params): Observable<any>;\n\n private catchError = err => this.store.dispatch(new RestOccurError(err));\n\n constructor(protected injector: Injector) {\n this.store = injector.get(Store);\n this.environment = injector.get(EnvironmentService);\n this.configState = injector.get(ConfigStateService);\n this.oAuthService = injector.get(OAuthService);\n this.sessionState = injector.get(SessionStateService);\n this.oAuthConfig = this.environment.getEnvironment().oAuthConfig;\n this.tenantKey = injector.get(TENANT_KEY);\n\n this.listenToOauthErrors();\n }\n\n async init(): Promise<any> {\n const shouldClear = shouldStorageClear(\n this.environment.getEnvironment().oAuthConfig.clientId,\n oAuthStorage,\n );\n if (shouldClear) clearOAuthStorage(oAuthStorage);\n\n this.oAuthService.configure(this.oAuthConfig);\n\n this.oAuthService.events\n .pipe(filter(event => event.type === 'token_refresh_error'))\n .subscribe(() => this.navigateToLogin());\n\n return this.oAuthService\n .loadDiscoveryDocument()\n .then(() => {\n if (this.oAuthService.hasValidAccessToken() || !this.oAuthService.getRefreshToken()) {\n return Promise.resolve();\n }\n\n return this.refreshToken();\n })\n .catch(this.catchError);\n }\n\n protected refreshToken() {\n return this.oAuthService.refreshToken().catch(() => clearOAuthStorage());\n }\n\n protected listenToOauthErrors() {\n this.oAuthService.events\n .pipe(\n filter(event => event instanceof OAuthErrorEvent),\n tap(() => clearOAuthStorage()),\n switchMap(() => this.configState.refreshAppState()),\n )\n .subscribe();\n }\n}\n\nexport class AuthCodeFlowStrategy extends AuthFlowStrategy {\n readonly isInternalAuth = false;\n\n async init() {\n return super\n .init()\n .then(() => this.oAuthService.tryLogin().catch(noop))\n .then(() => this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token'));\n }\n\n navigateToLogin(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n }\n\n checkIfInternalAuth(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n return false;\n }\n\n logout(queryParams?: Params) {\n return from(this.oAuthService.revokeTokenAndLogout(this.getCultureParams(queryParams)));\n }\n\n login(queryParams?: Params) {\n this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams));\n return of(null);\n }\n\n private getCultureParams(queryParams?: Params) {\n const lang = this.sessionState.getLanguage();\n const culture = { culture: lang, 'ui-culture': lang };\n return { ...(lang && culture), ...queryParams };\n }\n}\n\nexport class AuthPasswordFlowStrategy extends AuthFlowStrategy {\n readonly isInternalAuth = true;\n private cookieKey = 'rememberMe';\n private storageKey = 'passwordFlow';\n\n private listenToTokenExpiration() {\n this.oAuthService.events\n .pipe(\n filter(\n event =>\n event instanceof OAuthInfoEvent &&\n event.type === 'token_expires' &&\n event.info === 'access_token',\n ),\n )\n .subscribe(() => {\n if (this.oAuthService.getRefreshToken()) {\n this.refreshToken();\n } else {\n this.oAuthService.logOut();\n removeRememberMe();\n this.configState.refreshAppState().subscribe();\n }\n });\n }\n\n async init() {\n if (!getCookieValueByName(this.cookieKey) && localStorage.getItem(this.storageKey)) {\n this.oAuthService.logOut();\n }\n\n return super.init().then(() => this.listenToTokenExpiration());\n }\n\n navigateToLogin(queryParams?: Params) {\n const router = this.injector.get(Router);\n router.navigate(['/account/login'], { queryParams });\n }\n\n checkIfInternalAuth() {\n return true;\n }\n\n login(params: LoginParams): Observable<any> {\n const tenant = this.sessionState.getTenant();\n\n return from(\n this.oAuthService.fetchTokenUsingPasswordFlow(\n params.username,\n params.password,\n new HttpHeaders({ ...(tenant && tenant.id && { [this.tenantKey]: tenant.id }) }),\n ),\n ).pipe(this.pipeToLogin(params));\n }\n\n pipeToLogin(params: Pick<LoginParams, 'redirectUrl' | 'rememberMe'>) {\n const router = this.injector.get(Router);\n\n return pipe(\n switchMap(() => this.configState.refreshAppState()),\n tap(() => {\n setRememberMe(params.rememberMe);\n if (params.redirectUrl) router.navigate([params.redirectUrl]);\n }),\n );\n }\n\n logout(queryParams?: Params) {\n const router = this.injector.get(Router);\n\n return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(\n switchMap(() => this.configState.refreshAppState()),\n tap(() => {\n router.navigateByUrl('/');\n removeRememberMe();\n }),\n );\n }\n\n protected refreshToken() {\n return this.oAuthService.refreshToken().catch(() => {\n clearOAuthStorage();\n removeRememberMe();\n });\n }\n}\n\nexport const AUTH_FLOW_STRATEGY = {\n Code(injector: Injector) {\n return new AuthCodeFlowStrategy(injector);\n },\n Password(injector: Injector) {\n return new AuthPasswordFlowStrategy(injector);\n },\n};\n\nexport function clearOAuthStorage(storage: OAuthStorage = oAuthStorage) {\n const keys = [\n 'access_token',\n 'id_token',\n 'refresh_token',\n 'nonce',\n 'PKCE_verifier',\n 'expires_at',\n 'id_token_claims_obj',\n 'id_token_expires_at',\n 'id_token_stored_at',\n 'access_token_stored_at',\n 'granted_scopes',\n 'session_state',\n ];\n\n keys.forEach(key => storage.removeItem(key));\n}\n\nfunction shouldStorageClear(clientId: string, storage: OAuthStorage): boolean {\n const key = 'abpOAuthClientId';\n if (!storage.getItem(key)) {\n storage.setItem(key, clientId);\n return false;\n }\n\n const shouldClear = storage.getItem(key) !== clientId;\n if (shouldClear) storage.setItem(key, clientId);\n return shouldClear;\n}\n\nfunction getCookieValueByName(name: string) {\n const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n return match ? match[2] : '';\n}\n","export {};\n\ndeclare global {\n interface Date {\n toLocalISOString?: () => string;\n }\n}\n\nDate.prototype.toLocalISOString = function(this: Date): string {\n const timezoneOffset = this.getTimezoneOffset();\n\n return new Date(this.getTime() - timezoneOffset * 60000).toISOString();\n};\n","import { Injectable, Injector } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { from, Observable } from 'rxjs';\nimport { filter, map, switchMap, take, tap } from 'rxjs/operators';\nimport { LoginParams } from '../models/auth';\nimport { AuthFlowStrategy, AUTH_FLOW_STRATEGY } from '../strategies/auth-flow.strategy';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private strategy: AuthFlowStrategy;\n\n get isInternalAuth() {\n return this.strategy.isInternalAuth;\n }\n\n constructor(protected injector: Injector) {}\n\n async init() {\n const environmentService = this.injector.get(EnvironmentService);\n\n return environmentService\n .getEnvironment$()\n .pipe(\n map(env => env?.oAuthConfig),\n filter(oAuthConfig => !!oAuthConfig),\n tap(oAuthConfig => {\n this.strategy =\n oAuthConfig.responseType === 'code'\n ? AUTH_FLOW_STRATEGY.Code(this.injector)\n : AUTH_FLOW_STRATEGY.Password(this.injector);\n }),\n switchMap(() => from(this.strategy.init())),\n take(1),\n )\n .toPromise();\n }\n\n logout(queryParams?: Params): Observable<any> {\n return this.strategy.logout(queryParams);\n }\n\n /**\n * @deprecated Use navigateToLogin method instead. To be deleted in v5.0\n */\n initLogin() {\n this.strategy.navigateToLogin();\n }\n\n navigateToLogin(queryParams?: Params) {\n this.strategy.navigateToLogin(queryParams);\n }\n\n login(params: LoginParams) {\n return this.strategy.login(params);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type AppInitErrorFn = (error: any) => void;\n\nexport const APP_INIT_ERROR_HANDLERS = new InjectionToken<AppInitErrorFn[]>(\n 'APP_INIT_ERROR_HANDLERS',\n);\n","import { HttpClient } from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { catchError, tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { Environment, RemoteEnv } from '../models/environment';\nimport { EnvironmentService } from '../services/environment.service';\nimport { deepMerge } from './object-utils';\n\nexport function getRemoteEnv(injector: Injector, environment: Partial<Environment>) {\n const environmentService = injector.get(EnvironmentService);\n\n const { remoteEnv } = environment;\n const { headers = {}, method = 'GET', url } = remoteEnv || ({} as RemoteEnv);\n if (!url) return Promise.resolve();\n\n const http = injector.get(HttpClient);\n const store = injector.get(Store);\n\n return http\n .request<Environment>(method, url, { headers })\n .pipe(\n catchError(err => store.dispatch(new RestOccurError(err))), // TODO: Condiser get handle function from a provider\n tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))),\n )\n .toPromise();\n}\n\nfunction mergeEnvironments(\n local: Partial<Environment>,\n remote: any,\n config: RemoteEnv,\n): Environment {\n switch (config.mergeStrategy) {\n case 'deepmerge':\n return deepMerge(local, remote);\n case 'overwrite':\n case null:\n case undefined:\n return remote;\n default:\n return config.mergeStrategy(local, remote);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../services/rest.service';\nimport type { FindTenantResultDto } from '../../../volo/abp/asp-net-core/mvc/multi-tenancy/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpTenantService {\n apiName = 'abp';\n\n findTenantById = (id: string, headers: Record<string, string>) =>\n this.restService.request<any, FindTenantResultDto>(\n {\n method: 'GET',\n url: `/api/abp/multi-tenancy/tenants/by-id/${id}`,\n headers,\n },\n { apiName: this.apiName },\n );\n\n findTenantByName = (name: string, headers: Record<string, string>) =>\n this.restService.request<any, FindTenantResultDto>(\n {\n method: 'GET',\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\n headers,\n },\n { apiName: this.apiName },\n );\n\n constructor(private restService: RestService) {}\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { switchMap, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ABP } from '../models/common';\nimport {\n FindTenantResultDto,\n CurrentTenantDto,\n} from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { RestService } from './rest.service';\nimport { AbpTenantService } from '../proxy/pages/abp/multi-tenancy';\nimport { ConfigStateService } from './config-state.service';\nimport { SessionStateService } from './session-state.service';\nimport { TENANT_KEY } from '../tokens/tenant-key.token';\n\n@Injectable({ providedIn: 'root' })\nexport class MultiTenancyService {\n domainTenant: CurrentTenantDto = null;\n\n isTenantBoxVisible = true;\n\n apiName = 'abp';\n\n private setTenantToState = (tenant: FindTenantResultDto) => {\n this.sessionState.setTenant({ id: tenant.tenantId, name: tenant.name, isAvailable: true });\n return this.configStateService.refreshAppState().pipe(map(_ => tenant));\n };\n\n constructor(\n private restService: RestService,\n private sessionState: SessionStateService,\n private tenantService: AbpTenantService,\n private configStateService: ConfigStateService,\n @Inject(TENANT_KEY) public tenantKey: string,\n ) {}\n\n /**\n * @deprecated Use AbpTenantService.findTenantByName method instead. To be deleted in v5.0.\n */\n findTenantByName(name: string, headers: ABP.Dictionary<string>): Observable<FindTenantResultDto> {\n return this.restService.request(\n {\n url: `/api/abp/multi-tenancy/tenants/by-name/${name}`,\n method: 'GET',\n headers,\n },\n { apiName: this.apiName },\n );\n }\n\n /**\n * @deprecated Use AbpTenantService.findTenantById method instead. To be deleted in v5.0.\n */\n findTenantById(id: string, headers: ABP.Dictionary<string>): Observable<FindTenantResultDto> {\n return this.restService.request(\n { url: `/api/abp/multi-tenancy/tenants/by-id/${id}`, method: 'GET', headers },\n { apiName: this.apiName },\n );\n }\n\n setTenantByName(tenantName: string) {\n return this.tenantService\n .findTenantByName(tenantName, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n\n setTenantById(tenantId: string) {\n return this.tenantService\n .findTenantById(tenantId, { [this.tenantKey]: '' })\n .pipe(switchMap(this.setTenantToState));\n }\n}\n","import { Injector } from '@angular/core';\nimport clone from 'just-clone';\n\nimport { tap } from 'rxjs/operators';\nimport { Environment } from '../models/environment';\n\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { EnvironmentService } from '../services/environment.service';\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\nimport { createTokenParser } from './string-utils';\n\nconst tenancyPlaceholder = '{0}';\n\nfunction getCurrentTenancyName(appBaseUrl: string): string {\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\n\n const parseTokens = createTokenParser(appBaseUrl);\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\n return parseTokens(window.location.href)[token]?.[0];\n}\n\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(tenantKey);\n}\n\nexport async function parseTenantFromUrl(injector: Injector) {\n const environmentService = injector.get(EnvironmentService);\n const multiTenancyService = injector.get(MultiTenancyService);\n\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\n const tenancyName = getCurrentTenancyName(baseUrl);\n\n const hideTenantBox = () => {\n multiTenancyService.isTenantBoxVisible = false;\n };\n\n const setDomainTenant = (tenant: FindTenantResultDto) => {\n multiTenancyService.domainTenant = {\n id: tenant.tenantId,\n name: tenant.name,\n isAvailable: true,\n };\n };\n\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\n hideTenantBox();\n setDomainTenant(tenant);\n };\n\n if (tenancyName) {\n /**\n * We have to replace tenant name within the urls from environment,\n * because the code below will make a http request to find information about the domain tenant.\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\n */\n replaceTenantNameWithinEnvironment(injector, tenancyName);\n return multiTenancyService\n .setTenantByName(tenancyName)\n .pipe(tap(setEnvironmentWithDomainTenant))\n .toPromise();\n } else {\n /**\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\n */\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\n\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\n if (tenantIdFromQueryParams) {\n return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();\n }\n }\n\n return Promise.resolve();\n}\n\nfunction replaceTenantNameWithinEnvironment(\n injector: Injector,\n tenancyName: string,\n placeholder = tenancyPlaceholder,\n) {\n const environmentService = injector.get(EnvironmentService);\n\n const environment = clone(environmentService.getEnvironment()) as Environment;\n\n if (environment.application.baseUrl) {\n environment.application.baseUrl = environment.application.baseUrl.replace(\n placeholder,\n tenancyName,\n );\n }\n\n if (environment.oAuthConfig.redirectUri) {\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\n placeholder,\n tenancyName,\n );\n }\n\n environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);\n\n Object.keys(environment.apis).forEach(api => {\n Object.keys(environment.apis[api]).forEach(key => {\n environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);\n });\n });\n\n return environmentService.setState(environment);\n}\n","import { registerLocaleData } from '@angular/common';\nimport { Injector } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { tap, catchError } from 'rxjs/operators';\nimport { throwError } from 'rxjs';\nimport { ABP } from '../models/common';\nimport { Environment } from '../models/environment';\nimport { CurrentTenantDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { AuthService } from '../services/auth.service';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { clearOAuthStorage } from '../strategies/auth-flow.strategy';\nimport { CORE_OPTIONS } from '../tokens/options.token';\nimport { APP_INIT_ERROR_HANDLERS } from '../tokens/app-config.token';\nimport { getRemoteEnv } from './environment-utils';\nimport { parseTenantFromUrl } from './multi-tenancy-utils';\n\nexport function getInitialData(injector: Injector) {\n const fn = async () => {\n const environmentService = injector.get(EnvironmentService);\n const configState = injector.get(ConfigStateService);\n const options = injector.get(CORE_OPTIONS) as ABP.Root;\n\n environmentService.setState(options.environment as Environment);\n await getRemoteEnv(injector, options.environment);\n await parseTenantFromUrl(injector);\n await injector.get(AuthService).init();\n\n if (options.skipGetAppConfiguration) return;\n\n return configState\n .refreshAppState()\n .pipe(\n tap(() => checkAccessToken(injector)),\n tap(() => {\n const currentTenant = configState.getOne('currentTenant') as CurrentTenantDto;\n injector.get(SessionStateService).setTenant(currentTenant);\n }),\n catchError(error => {\n const appInitErrorHandlers = injector.get(APP_INIT_ERROR_HANDLERS, null);\n if (appInitErrorHandlers && appInitErrorHandlers.length) {\n appInitErrorHandlers.forEach(func => func(error));\n }\n\n return throwError(error);\n }),\n )\n .toPromise();\n };\n\n return fn;\n}\n\nexport function checkAccessToken(injector: Injector) {\n const configState = injector.get(ConfigStateService);\n const oAuth = injector.get(OAuthService);\n if (oAuth.hasValidAccessToken() && !configState.getDeep('currentUser.id')) {\n clearOAuthStorage();\n }\n}\n\nexport function localeInitializer(injector: Injector) {\n const fn = () => {\n const sessionState = injector.get(SessionStateService);\n const { registerLocaleFn }: ABP.Root = injector.get(CORE_OPTIONS);\n\n const lang = sessionState.getLanguage() || 'en';\n\n return new Promise((resolve, reject) => {\n registerLocaleFn(lang).then(module => {\n if (module?.default) registerLocaleData(module.default);\n\n return resolve('resolved');\n }, reject);\n });\n };\n\n return fn;\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgxsModule } from '@ngxs/store';\nimport { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';\nimport { AbstractNgModelComponent } from './abstracts/ng-model.component';\nimport { DynamicLayoutComponent } from './components/dynamic-layout.component';\nimport { ReplaceableRouteContainerComponent } from './components/replaceable-route-container.component';\nimport { RouterOutletComponent } from './components/router-outlet.component';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { InputEventDebounceDirective } from './directives/debounce.directive';\nimport { ForDirective } from './directives/for.directive';\nimport { FormSubmitDirective } from './directives/form-submit.directive';\nimport { InitDirective } from './directives/init.directive';\nimport { PermissionDirective } from './directives/permission.directive';\nimport { ReplaceableTemplateDirective } from './directives/replaceable-template.directive';\nimport { StopPropagationDirective } from './directives/stop-propagation.directive';\nimport { VisibilityDirective } from './directives/visibility.directive';\nimport { OAuthConfigurationHandler } from './handlers/oauth-configuration.handler';\nimport { RoutesHandler } from './handlers/routes.handler';\nimport { ApiInterceptor } from './interceptors/api.interceptor';\nimport { LocalizationModule } from './localization.module';\nimport { ABP } from './models/common';\nimport { LocalizationPipe } from './pipes/localization.pipe';\nimport { SortPipe } from './pipes/sort.pipe';\nimport { LocaleProvider } from './providers/locale.provider';\nimport { LocalizationService } from './services/localization.service';\nimport { ProfileState } from './states/profile.state';\nimport { oAuthStorage } from './strategies/auth-flow.strategy';\nimport { coreOptionsFactory, CORE_OPTIONS } from './tokens/options.token';\nimport { noop } from './utils/common-utils';\nimport './utils/date-extensions';\nimport { getInitialData, localeInitializer } from './utils/initial-utils';\nimport { TENANT_KEY } from './tokens/tenant-key.token';\n\nexport function storageFactory(): OAuthStorage {\n return oAuthStorage;\n}\n\n/**\n * BaseCoreModule is the module that holds\n * all imports, declarations, exports, and entryComponents\n * but not the providers.\n * This module will be imported and exported by all others.\n */\n@NgModule({\n exports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n LocalizationModule,\n AbstractNgModelComponent,\n AutofocusDirective,\n DynamicLayoutComponent,\n ForDirective,\n FormSubmitDirective,\n InitDirective,\n InputEventDebounceDirective,\n PermissionDirective,\n ReplaceableRouteContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutletComponent,\n SortPipe,\n StopPropagationDirective,\n VisibilityDirective,\n ],\n imports: [\n OAuthModule,\n CommonModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n LocalizationModule,\n ],\n declarations: [\n AbstractNgModelComponent,\n AutofocusDirective,\n DynamicLayoutComponent,\n ForDirective,\n FormSubmitDirective,\n InitDirective,\n InputEventDebounceDirective,\n PermissionDirective,\n ReplaceableRouteContainerComponent,\n ReplaceableTemplateDirective,\n RouterOutletComponent,\n SortPipe,\n StopPropagationDirective,\n VisibilityDirective,\n ],\n providers: [LocalizationPipe],\n entryComponents: [\n RouterOutletComponent,\n DynamicLayoutComponent,\n ReplaceableRouteContainerComponent,\n ],\n})\nexport class BaseCoreModule {}\n\n/**\n * RootCoreModule is the module that will be used at root level\n * and it introduces imports useful at root level (e.g. NGXS)\n */\n@NgModule({\n exports: [BaseCoreModule, LocalizationModule],\n imports: [\n BaseCoreModule,\n LocalizationModule,\n NgxsModule.forFeature([ProfileState]),\n OAuthModule.forRoot(),\n HttpClientXsrfModule.withOptions({\n cookieName: 'XSRF-TOKEN',\n headerName: 'RequestVerificationToken',\n }),\n ],\n})\nexport class RootCoreModule {}\n\n/**\n * CoreModule is the module that is publicly available\n */\n@NgModule({\n exports: [BaseCoreModule],\n imports: [BaseCoreModule],\n})\nexport class CoreModule {\n static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {\n return {\n ngModule: RootCoreModule,\n providers: [\n LocaleProvider,\n {\n provide: 'CORE_OPTIONS',\n useValue: options,\n },\n {\n provide: CORE_OPTIONS,\n useFactory: coreOptionsFactory,\n deps: ['CORE_OPTIONS'],\n },\n {\n provide: HTTP_INTERCEPTORS,\n useExisting: ApiInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [OAuthConfigurationHandler],\n useFactory: noop,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: getInitialData,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector],\n useFactory: localeInitializer,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [LocalizationService],\n useFactory: noop,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [RoutesHandler],\n useFactory: noop,\n },\n { provide: OAuthStorage, useFactory: storageFactory },\n { provide: TENANT_KEY, useValue: options.tenantKey || '__tenant' },\n ],\n };\n }\n}\n\nexport function ngxsStoragePluginSerialize(data) {\n return data;\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../services/auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private oauthService: OAuthService, private authService: AuthService) {}\n\n canActivate(): Observable<boolean> | boolean | UrlTree {\n const hasValidAccessToken = this.oauthService.hasValidAccessToken();\n if (hasValidAccessToken) {\n return true;\n }\n\n this.authService.navigateToLogin();\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { RoutesService } from '../services/routes.service';\nimport { findRoute, getRoutePath } from '../utils/route-utils';\nimport { PermissionService } from '../services/permission.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard implements CanActivate {\n constructor(\n private router: Router,\n private routesService: RoutesService,\n private store: Store,\n private permissionService: PermissionService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {\n let { requiredPolicy } = route.data || {};\n\n if (!requiredPolicy) {\n const routeFound = findRoute(this.routesService, getRoutePath(this.router, state.url));\n requiredPolicy = routeFound?.requiredPolicy;\n }\n\n if (!requiredPolicy) return of(true);\n\n return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(\n tap(access => {\n if (!access) {\n this.store.dispatch(new RestOccurError({ status: 403 }));\n }\n }),\n );\n }\n}\n","import { ABP } from './common';\n\nexport class ListResultDto<T> {\n items?: T[];\n\n constructor(initialValues: Partial<ListResultDto<T>> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultDto<T> extends ListResultDto<T> {\n totalCount?: number;\n\n constructor(initialValues: Partial<PagedResultDto<T>> = {}) {\n super(initialValues);\n }\n}\n\nexport class LimitedResultRequestDto {\n maxResultCount = 10;\n\n constructor(initialValues: Partial<LimitedResultRequestDto> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key) && initialValues[key] !== undefined) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class PagedResultRequestDto extends LimitedResultRequestDto {\n skipCount?: number;\n\n constructor(initialValues: Partial<PagedResultRequestDto> = {}) {\n super(initialValues);\n }\n}\n\nexport class PagedAndSortedResultRequestDto extends PagedResultRequestDto {\n sorting?: string;\n\n constructor(initialValues: Partial<PagedAndSortedResultRequestDto> = {}) {\n super(initialValues);\n }\n}\n\nexport class EntityDto<TKey = string> {\n id?: TKey;\n\n constructor(initialValues: Partial<EntityDto<TKey>> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class CreationAuditedEntityDto<TPrimaryKey = string> extends EntityDto<TPrimaryKey> {\n creationTime?: string | Date;\n creatorId?: string;\n\n constructor(initialValues: Partial<CreationAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class CreationAuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string\n> extends CreationAuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n\n constructor(\n initialValues: Partial<CreationAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {},\n ) {\n super(initialValues);\n }\n}\n\nexport class AuditedEntityDto<TPrimaryKey = string> extends CreationAuditedEntityDto<TPrimaryKey> {\n lastModificationTime?: string | Date;\n lastModifierId?: string;\n\n constructor(initialValues: Partial<AuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class AuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string\n> extends AuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n lastModifier?: TUserDto;\n\n constructor(initialValues: Partial<AuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class FullAuditedEntityDto<TPrimaryKey = string> extends AuditedEntityDto<TPrimaryKey> {\n isDeleted?: boolean;\n deleterId?: string;\n deletionTime?: Date | string;\n\n constructor(initialValues: Partial<FullAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class FullAuditedEntityWithUserDto<\n TUserDto,\n TPrimaryKey = string\n> extends FullAuditedEntityDto<TPrimaryKey> {\n creator?: TUserDto;\n lastModifier?: TUserDto;\n deleter?: TUserDto;\n\n constructor(initialValues: Partial<FullAuditedEntityWithUserDto<TUserDto, TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleObject {\n extraProperties: ABP.Dictionary<any>;\n\n constructor(initialValues: Partial<ExtensibleObject> = {}) {\n for (const key in initialValues) {\n if (initialValues.hasOwnProperty(key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\n\nexport class ExtensibleEntityDto<TKey = string> extends ExtensibleObject {\n id: TKey;\n\n constructor(initialValues: Partial<ExtensibleEntityDto<TKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleCreationAuditedEntityDto<\n TPrimaryKey = string\n> extends ExtensibleEntityDto<TPrimaryKey> {\n creationTime: Date | string;\n creatorId?: string;\n\n constructor(initialValues: Partial<ExtensibleCreationAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleAuditedEntityDto<\n TPrimaryKey = string\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\n lastModificationTime?: Date | string;\n lastModifierId?: string;\n\n constructor(initialValues: Partial<ExtensibleAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n lastModifier: TUserDto;\n\n constructor(initialValues: Partial<ExtensibleAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleCreationAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any\n> extends ExtensibleCreationAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n\n constructor(\n initialValues: Partial<ExtensibleCreationAuditedEntityWithUserDto<TPrimaryKey>> = {},\n ) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleFullAuditedEntityDto<\n TPrimaryKey = string\n> extends ExtensibleAuditedEntityDto<TPrimaryKey> {\n isDeleted: boolean;\n deleterId?: string;\n deletionTime: Date | string;\n\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n\nexport class ExtensibleFullAuditedEntityWithUserDto<\n TPrimaryKey = string,\n TUserDto = any\n> extends ExtensibleFullAuditedEntityDto<TPrimaryKey> {\n creator: TUserDto;\n lastModifier: TUserDto;\n deleter: TUserDto;\n\n constructor(initialValues: Partial<ExtensibleFullAuditedEntityWithUserDto<TPrimaryKey>> = {}) {\n super(initialValues);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Rest } from '../models/rest';\nimport { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { RestService } from './rest.service';\n\n/**\n * @deprecated Use AbpApplicationConfigurationService instead. To be deleted in v5.0.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationConfigurationService {\n constructor(private rest: RestService) {}\n\n getConfiguration(): Observable<ApplicationConfigurationDto> {\n const request: Rest.Request<null> = {\n method: 'GET',\n url: '/api/abp/application-configuration',\n };\n\n return this.rest.request<null, ApplicationConfigurationDto>(request, {});\n }\n}\n","import { Injectable, Injector, TemplateRef, Type } from '@angular/core';\nimport { ProjectionStrategy } from '../strategies/projection.strategy';\n\n@Injectable({ providedIn: 'root' })\nexport class ContentProjectionService {\n constructor(private injector: Injector) {}\n\n projectContent<T extends Type<any> | TemplateRef<any>>(\n projectionStrategy: ProjectionStrategy<T>,\n injector = this.injector,\n ) {\n return projectionStrategy.injectContent(injector);\n }\n}\n","import { ApplicationConfiguration } from '../models/application-configuration';\nimport { DateTimeFormatDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models';\nimport { ConfigStateService } from '../services';\n\nexport function getShortDateFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return dateTimeFormat.shortDatePattern;\n}\n\nexport function getShortTimeFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return dateTimeFormat.shortTimePattern.replace('tt', 'a');\n}\n\nexport function getShortDateShortTimeFormat(configStateService: ConfigStateService) {\n const dateTimeFormat = configStateService.getDeep(\n 'localization.currentCulture.dateTimeFormat',\n ) as DateTimeFormatDto;\n\n return `${dateTimeFormat.shortDatePattern} ${dateTimeFormat.shortTimePattern.replace('tt', 'a')}`;\n}\n","import {\n Compiler,\n Injector,\n ModuleWithProviders,\n NgModuleFactory,\n NgModuleRef,\n StaticProvider,\n Type,\n} from '@angular/core';\nimport { filter, map } from 'rxjs/operators';\nimport { ConfigStateService } from '../services/config-state.service';\n\nexport class LazyModuleFactory<T> extends NgModuleFactory<T> {\n get moduleType(): Type<T> {\n return this.moduleWithProviders.ngModule;\n }\n\n constructor(private moduleWithProviders: ModuleWithProviders<T>) {\n super();\n }\n\n create(parentInjector: Injector | null): NgModuleRef<T> {\n const injector = Injector.create({\n parent: parentInjector,\n providers: this.moduleWithProviders.providers as StaticProvider[],\n });\n\n const compiler = injector.get(Compiler);\n const factory = compiler.compileModuleSync(this.moduleType);\n\n return factory.create(injector);\n }\n}\n\nexport function featuresFactory(\n configState: ConfigStateService,\n featureKeys: string[],\n mapFn: (features) => any = features => features,\n) {\n return configState.getFeatures$(featureKeys).pipe(filter(Boolean), map(mapFn));\n}\n","export function downloadBlob(blob: Blob, filename: string) {\n const blobUrl = URL.createObjectURL(blob);\n\n const link = document.createElement('a');\n\n link.href = blobUrl;\n link.download = filename;\n\n document.body.appendChild(link);\n\n link.dispatchEvent(\n new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n }),\n );\n\n document.body.removeChild(link);\n}\n","export function isNumber(value: string | number): boolean {\n /* tslint:disable-next-line:triple-equals */\n return value == Number(value);\n}\n","import { ABP } from '../models/common';\nimport { isNumber } from './number-utils';\n\nexport function mapEnumToOptions<T>(_enum: T): ABP.Option<T>[] {\n const options: ABP.Option<T>[] = [];\n\n for (const member in _enum)\n if (!isNumber(member))\n options.push({\n key: member,\n value: _enum[member],\n });\n\n return options;\n}\n","// tslint:disable: no-bitwise\n\nexport function uuid(a?: any): string {\n return a\n ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16)\n : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);\n}\n\nexport function generateHash(value: string): number {\n let hashed = 0;\n let charCode: number;\n\n for (let i = 0; i < value.length; i++) {\n charCode = value.charCodeAt(i);\n hashed = (hashed << 5) - hashed + charCode;\n hashed |= 0;\n }\n return hashed;\n}\n\nexport function generatePassword(length = 8) {\n length = Math.min(Math.max(4, length), 128);\n\n const lowers = 'abcdefghijklmnopqrstuvwxyz';\n const uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const numbers = '0123456789';\n const specials = '!@#$%&*()_+{}<>?[]./';\n const all = lowers + uppers + numbers + specials;\n\n const getRandom = (chrSet: string) => chrSet[Math.floor(Math.random() * chrSet.length)];\n\n const password = Array({ length });\n password[0] = getRandom(lowers);\n password[1] = getRandom(uppers);\n password[2] = getRandom(numbers);\n password[3] = getRandom(specials);\n\n for (let i = 4; i < length; i++) {\n password[i] = getRandom(all);\n }\n\n return password.sort(() => 0.5 - Math.random()).join('');\n}\n","export class CrossOriginStrategy {\n constructor(public crossorigin: 'anonymous' | 'use-credentials', public integrity?: string) {}\n\n setCrossOrigin<T extends HTMLElement>(element: T) {\n if (this.integrity) element.setAttribute('integrity', this.integrity);\n element.setAttribute('crossorigin', this.crossorigin);\n }\n}\n\nexport class NoCrossOriginStrategy extends CrossOriginStrategy {\n setCrossOrigin() {}\n}\n\nexport const CROSS_ORIGIN_STRATEGY = {\n Anonymous(integrity?: string) {\n return new CrossOriginStrategy('anonymous', integrity);\n },\n UseCredentials(integrity?: string) {\n return new CrossOriginStrategy('use-credentials', integrity);\n },\n None() {\n return new NoCrossOriginStrategy(null);\n },\n};\n","export class DomStrategy {\n constructor(\n public target: HTMLElement = document.head,\n public position: InsertPosition = 'beforeend',\n ) {}\n\n insertElement<T extends HTMLElement>(element: T) {\n this.target.insertAdjacentElement(this.position, element);\n }\n}\n\nexport const DOM_STRATEGY = {\n AfterElement(element: HTMLElement) {\n return new DomStrategy(element, 'afterend');\n },\n AppendToBody() {\n return new DomStrategy(document.body, 'beforeend');\n },\n AppendToHead() {\n return new DomStrategy(document.head, 'beforeend');\n },\n BeforeElement(element: HTMLElement) {\n return new DomStrategy(element, 'beforebegin');\n },\n PrependToHead() {\n return new DomStrategy(document.head, 'afterbegin');\n },\n};\n","import { Observable, Observer } from 'rxjs';\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from '../strategies/cross-origin.strategy';\nimport { DomStrategy, DOM_STRATEGY } from '../strategies/dom.strategy';\n\nexport function fromLazyLoad<T extends Event>(\n element: HTMLScriptElement | HTMLLinkElement,\n domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\n): Observable<T> {\n crossOriginStrategy.setCrossOrigin(element);\n domStrategy.insertElement(element);\n\n return new Observable((observer: Observer<T>) => {\n element.onload = (event: T) => {\n clearCallbacks(element);\n observer.next(event);\n observer.complete();\n };\n\n const handleError = createErrorHandler(observer, element);\n\n element.onerror = handleError;\n element.onabort = handleError;\n element.onemptied = handleError;\n element.onstalled = handleError;\n element.onsuspend = handleError;\n\n return () => {\n clearCallbacks(element);\n observer.complete();\n };\n });\n}\n\nfunction createErrorHandler(observer: Observer<Event>, element: HTMLElement) {\n /* tslint:disable-next-line:only-arrow-functions */\n return function(event: Event | string) {\n clearCallbacks(element);\n element.parentNode.removeChild(element);\n observer.error(event);\n };\n}\n\nfunction clearCallbacks(element: HTMLElement) {\n element.onload = null;\n element.onerror = null;\n element.onabort = null;\n element.onemptied = null;\n element.onstalled = null;\n element.onsuspend = null;\n}\n","// tslint:disable: max-line-length\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\n/**\n * @deprecated no longer working, please use SubscriptionService (https://docs.abp.io/en/abp/latest/UI/Angular/Subscription-Service) instead.\n */\nexport const takeUntilDestroy = (componentInstance, destroyMethodName = 'ngOnDestroy') => <T>(\n source: Observable<T>,\n) => {\n const originalDestroy = componentInstance[destroyMethodName];\n if (isFunction(originalDestroy) === false) {\n throw new Error(\n `${componentInstance.constructor.name} is using untilDestroyed but doesn't implement ${destroyMethodName}`,\n );\n }\n if (!componentInstance['__takeUntilDestroy']) {\n componentInstance['__takeUntilDestroy'] = new Subject();\n\n componentInstance[destroyMethodName] = function() {\n // tslint:disable-next-line: no-unused-expression\n isFunction(originalDestroy) && originalDestroy.apply(this, arguments);\n componentInstance['__takeUntilDestroy'].next(true);\n componentInstance['__takeUntilDestroy'].complete();\n };\n }\n return source.pipe(takeUntil<T>(componentInstance['__takeUntilDestroy']));\n};\n","import { Injectable } from '@angular/core';\nimport { ContentStrategy } from '../strategies/content.strategy';\nimport { generateHash } from '../utils';\n\n@Injectable({ providedIn: 'root' })\nexport class DomInsertionService {\n private readonly inserted = new Set<number>();\n\n insertContent<T extends HTMLScriptElement | HTMLStyleElement>(\n contentStrategy: ContentStrategy<T>,\n ): T {\n const hash = generateHash(contentStrategy.content);\n\n if (this.inserted.has(hash)) return;\n\n const element = contentStrategy.insertElement();\n this.inserted.add(hash);\n\n return element;\n }\n\n removeContent(element: HTMLScriptElement | HTMLStyleElement) {\n const hash = generateHash(element.textContent);\n this.inserted.delete(hash);\n\n element.parentNode.removeChild(element);\n }\n\n has(content: string): boolean {\n const hash = generateHash(content);\n\n return this.inserted.has(hash);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InternalStore } from '../utils/internal-store-utils';\n\nexport interface ResourceWaitState {\n resources: Set<string>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ResourceWaitService {\n private store = new InternalStore<ResourceWaitState>({ resources: new Set() });\n\n getLoading() {\n return !!this.store.state.resources.size;\n }\n\n getLoading$() {\n return this.store.sliceState(({ resources }) => !!resources.size);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ resources }) => !!resources.size);\n }\n\n clearLoading() {\n this.store.patch({ resources: new Set() });\n }\n\n addResource(resource: string) {\n const resources = this.store.state.resources;\n resources.add(resource);\n this.store.patch({ resources });\n }\n\n deleteResource(resource: string) {\n const resources = this.store.state.resources;\n resources.delete(resource);\n this.store.patch({ resources });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { concat, Observable, of, throwError } from 'rxjs';\nimport { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';\nimport { LoadingStrategy } from '../strategies';\nimport { ResourceWaitService } from './resource-wait.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LazyLoadService {\n readonly loaded = new Map<string, HTMLScriptElement | HTMLLinkElement>();\n\n constructor(private resourceWaitService: ResourceWaitService) {}\n\n load(strategy: LoadingStrategy, retryTimes?: number, retryDelay?: number): Observable<Event> {\n if (this.loaded.has(strategy.path)) return of(new CustomEvent('load'));\n this.resourceWaitService.addResource(strategy.path);\n return strategy.createStream().pipe(\n retryWhen(error$ =>\n concat(\n error$.pipe(delay(retryDelay), take(retryTimes)),\n throwError(new CustomEvent('error')),\n ),\n ),\n tap(() => {\n this.loaded.set(strategy.path, strategy.element);\n this.resourceWaitService.deleteResource(strategy.path);\n }),\n delay(100),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n remove(path: string): boolean {\n const element = this.loaded.get(path);\n\n if (!element) return false;\n\n element.parentNode.removeChild(element);\n this.loaded.delete(path);\n return true;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LIST_QUERY_DEBOUNCE_TIME = new InjectionToken<number>('LIST_QUERY_DEBOUNCE_TIME');\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport {\n BehaviorSubject,\n MonoTypeOperatorFunction,\n Observable,\n of,\n ReplaySubject,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n filter,\n shareReplay,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs/operators';\nimport { ABP } from '../models/common';\nimport { PagedResultDto } from '../models/dtos';\nimport { LIST_QUERY_DEBOUNCE_TIME } from '../tokens/list.token';\n\n@Injectable()\nexport class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDestroy {\n private _filter = '';\n set filter(value: string) {\n this._filter = value;\n this.get();\n }\n get filter(): string {\n return this._filter;\n }\n\n private _maxResultCount = 10;\n set maxResultCount(value: number) {\n this._maxResultCount = value;\n this.get();\n }\n get maxResultCount(): number {\n return this._maxResultCount;\n }\n\n private _skipCount = 0;\n private _page = 0;\n set page(value: number) {\n if (value === this._page) return;\n\n this._page = value;\n this.get();\n }\n get page(): number {\n return this._page;\n }\n\n private _sortKey = '';\n set sortKey(value: string) {\n this._sortKey = value;\n this.get();\n }\n get sortKey(): string {\n return this._sortKey;\n }\n\n private _sortOrder = '';\n set sortOrder(value: string) {\n this._sortOrder = value;\n this.get();\n }\n get sortOrder(): string {\n return this._sortOrder;\n }\n\n private _query$ = new ReplaySubject<QueryParamsType>(1);\n\n get query$(): Observable<QueryParamsType> {\n return this._query$\n .asObservable()\n .pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));\n }\n\n private _isLoading$ = new BehaviorSubject(false);\n\n private destroy$ = new Subject();\n\n get isLoading$(): Observable<boolean> {\n return this._isLoading$.asObservable();\n }\n\n get = () => {\n this.resetPageWhenUnchanged();\n this.next();\n };\n\n getWithoutPageReset = () => {\n this.next();\n };\n\n private delay: MonoTypeOperatorFunction<QueryParamsType>;\n\n constructor(injector: Injector) {\n const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);\n this.delay = delay ? debounceTime(delay) : tap();\n this.get();\n }\n\n hookToQuery<T extends any>(\n streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,\n ): Observable<PagedResultDto<T>> {\n this._isLoading$.next(true);\n\n return this.query$.pipe(\n switchMap(query => streamCreatorCallback(query).pipe(catchError(() => of(null)))),\n filter(Boolean),\n tap(() => this._isLoading$.next(false)),\n shareReplay({ bufferSize: 1, refCount: true }),\n takeUntil(this.destroy$),\n );\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n private resetPageWhenUnchanged() {\n const skipCount = this._page * this._maxResultCount;\n\n if (skipCount === this._skipCount) {\n this._page = 0;\n this._skipCount = 0;\n } else this._skipCount = skipCount;\n }\n\n private next() {\n this._query$.next(({\n filter: this._filter || undefined,\n maxResultCount: this._maxResultCount,\n skipCount: this._page * this._maxResultCount,\n sorting: this._sortOrder ? `${this._sortKey} ${this._sortOrder}` : undefined,\n } as any) as QueryParamsType);\n }\n}\n\nexport type QueryStreamCreatorCallback<T, QueryParamsType = ABP.PageQueryParams> = (\n query: QueryParamsType,\n) => Observable<PagedResultDto<T>>;\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Action, createSelector, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { throwError } from 'rxjs';\nimport { catchError, distinctUntilChanged } from 'rxjs/operators';\nimport snq from 'snq';\nimport { GetAppConfiguration, PatchConfigState, SetEnvironment } from '../actions/config.actions';\nimport { RestOccurError } from '../actions/rest.actions';\nimport { Config } from '../models/config';\nimport { ConfigStateService } from '../services/config-state.service';\nimport { EnvironmentService } from '../services/environment.service';\nimport { SessionStateService } from '../services/session-state.service';\nimport { interpolate } from '../utils/string-utils';\nimport compare from 'just-compare';\n\n/**\n * @deprecated Use ConfigStateService instead. To be deleted in v5.0.\n */\n@State<Config.State>({\n name: 'ConfigState',\n defaults: {} as Config.State,\n})\n@Injectable()\nexport class ConfigState {\n @Selector()\n static getAll(state: Config.State) {\n return state;\n }\n\n @Selector()\n static getApplicationInfo(state: Config.State): Config.Application {\n return state.environment.application || ({} as Config.Application);\n }\n\n @Selector()\n static getEnvironment(state: Config.State): Config.Environment {\n return state.environment;\n }\n\n static getOne(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return state[key];\n });\n\n return selector;\n }\n\n static getDeep(keys: string[] | string) {\n if (typeof keys === 'string') {\n keys = keys.split('.');\n }\n\n if (!Array.isArray(keys)) {\n throw new Error('The argument must be a dot string or an string array.');\n }\n\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return (keys as string[]).reduce((acc, val) => {\n if (acc) {\n return acc[val];\n }\n\n return undefined;\n }, state);\n });\n\n return selector;\n }\n\n static getApiUrl(key?: string) {\n const selector = createSelector([ConfigState], (state: Config.State): string => {\n return (state.environment.apis[key || 'default'] || state.environment.apis.default).url;\n });\n\n return selector;\n }\n\n static getFeature(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return snq(() => state.features.values[key]);\n });\n\n return selector;\n }\n\n static getSetting(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n return snq(() => state.setting.values[key]);\n });\n\n return selector;\n }\n\n static getSettings(keyword?: string) {\n const selector = createSelector([ConfigState], (state: Config.State) => {\n const settings = snq(() => state.setting.values, {});\n\n if (!keyword) return settings;\n\n const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);\n\n return keysFound.reduce((acc, key) => {\n acc[key] = settings[key];\n return acc;\n }, {});\n });\n\n return selector;\n }\n\n /**\n * @deprecated use PermissionService's getGrantedPolicyStream or getGrantedPolicy methods.\n */\n static getGrantedPolicy(key: string) {\n const selector = createSelector([ConfigState], (state: Config.State): boolean => {\n if (!key) return true;\n const getPolicy = (k: string) => snq(() => state.auth.grantedPolicies[k], false);\n\n const orRegexp = /\\|\\|/g;\n const andRegexp = /&&/g;\n\n // TODO: Allow combination of ANDs & ORs\n if (orRegexp.test(key)) {\n const keys = key.split('||').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.some(k => getPolicy(k.trim()));\n } else if (andRegexp.test(key)) {\n const keys = key.split('&&').filter(Boolean);\n\n if (keys.length < 2) return false;\n\n return keys.every(k => getPolicy(k.trim()));\n }\n\n return getPolicy(key);\n });\n\n return selector;\n }\n\n static getLocalizationResource(resourceName: string) {\n const selector = createSelector(\n [ConfigState],\n (\n state: Config.State,\n ): {\n [key: string]: string;\n } => {\n return state.localization.values[resourceName];\n },\n );\n\n return selector;\n }\n\n static getLocalization(\n key: string | Config.LocalizationWithDefault,\n ...interpolateParams: string[]\n ) {\n if (!key) key = '';\n let defaultValue: string;\n\n if (typeof key !== 'string') {\n defaultValue = key.defaultValue;\n key = key.key;\n }\n\n const keys = key.split('::') as string[];\n const selector = createSelector([ConfigState], (state: Config.State): string => {\n const warn = (message: string) => {\n if (!state.environment.production) console.warn(message);\n };\n\n if (keys.length < 2) {\n warn('The localization source separator (::) not found.');\n return defaultValue || (key as string);\n }\n if (!state.localization) return defaultValue || keys[1];\n\n const sourceName =\n keys[0] ||\n snq(() => state.environment.localization.defaultResourceName) ||\n state.localization.defaultResourceName;\n const sourceKey = keys[1];\n\n if (sourceName === '_') {\n return defaultValue || sourceKey;\n }\n\n if (!sourceName) {\n warn(\n 'Localization source name is not specified and the defaultResourceName was not defined!',\n );\n\n return defaultValue || sourceKey;\n }\n\n const source = state.localization.values[sourceName];\n if (!source) {\n warn('Could not find localization source: ' + sourceName);\n return defaultValue || sourceKey;\n }\n\n let localization = source[sourceKey];\n if (typeof localization === 'undefined') {\n return defaultValue || sourceKey;\n }\n\n interpolateParams = interpolateParams.filter(params => params != null);\n if (localization) localization = interpolate(localization, interpolateParams);\n\n if (typeof localization !== 'string') localization = '';\n\n return localization || defaultValue || (key as string);\n });\n\n return selector;\n }\n\n constructor(\n private store: Store,\n private environmentService: EnvironmentService,\n private configState: ConfigStateService,\n ) {\n this.syncConfigState();\n this.syncEnvironment();\n }\n\n private syncConfigState() {\n this.configState\n .createOnUpdateStream(state => state)\n .pipe(distinctUntilChanged(compare))\n .subscribe(config => this.store.dispatch(new PatchConfigState(config as any)));\n }\n\n private syncEnvironment() {\n this.environmentService\n .createOnUpdateStream(state => state)\n .pipe(distinctUntilChanged(compare))\n .subscribe(env => this.store.dispatch(new PatchConfigState({ environment: env } as any)));\n }\n\n @Action(GetAppConfiguration)\n addData({ patchState, dispatch }: StateContext<Config.State>) {\n const apiName = 'default';\n const api = this.store.selectSnapshot(ConfigState.getApiUrl(apiName));\n return this.configState.refreshAppState().pipe(\n catchError((err: HttpErrorResponse) => {\n dispatch(new RestOccurError(err));\n return throwError(err);\n }),\n );\n }\n\n @Action(SetEnvironment)\n setEnvironment(_, { environment }: SetEnvironment) {\n return this.environmentService.setState(environment);\n }\n\n @Action(PatchConfigState)\n setConfig({ patchState, getState }: StateContext<Config.State>, { state }: PatchConfigState) {\n patchState({ ...getState(), ...state });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { ProfileState } from '../states';\nimport { Profile } from '../models';\nimport { GetProfile, UpdateProfile, ChangePassword } from '../actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfileStateService {\n constructor(private store: Store) {}\n\n getProfile() {\n return this.store.selectSnapshot(ProfileState.getProfile);\n }\n\n dispatchGetProfile() {\n return this.store.dispatch(new GetProfile());\n }\n\n dispatchUpdateProfile(...args: ConstructorParameters<typeof UpdateProfile>) {\n return this.store.dispatch(new UpdateProfile(...args));\n }\n\n dispatchChangePassword(...args: ConstructorParameters<typeof ChangePassword>) {\n return this.store.dispatch(new ChangePassword(...args));\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { NavigationStart } from '@angular/router';\nimport { of, Subject, timer } from 'rxjs';\nimport { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { LOADER_DELAY } from '../tokens/lodaer-delay.token';\nimport { InternalStore } from '../utils/internal-store-utils';\nimport { RouterEvents } from './router-events.service';\n\nexport interface RouterWaitState {\n loading: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterWaitService {\n private store = new InternalStore<RouterWaitState>({ loading: false });\n private destroy$ = new Subject();\n private delay: number;\n constructor(private routerEvents: RouterEvents, injector: Injector) {\n this.delay = injector.get(LOADER_DELAY, 500);\n this.updateLoadingStatusOnNavigationEvents();\n }\n\n private updateLoadingStatusOnNavigationEvents() {\n this.routerEvents\n .getAllNavigationEvents()\n .pipe(\n map(event => event instanceof NavigationStart),\n switchMap(condition =>\n condition\n ? this.delay === 0\n ? of(true)\n : timer(this.delay || 0).pipe(mapTo(true), takeUntil(this.destroy$))\n : of(false),\n ),\n tap(() => this.destroy$.next()),\n )\n .subscribe(status => {\n this.setLoading(status);\n });\n }\n\n getLoading() {\n return this.store.state.loading;\n }\n\n getLoading$() {\n return this.store.sliceState(({ loading }) => loading);\n }\n\n updateLoading$() {\n return this.store.sliceUpdate(({ loading }) => loading);\n }\n\n setLoading(loading: boolean) {\n this.store.patch({ loading });\n }\n}\n","import { Injectable, TrackByFunction } from '@angular/core';\nimport { O } from 'ts-toolbelt';\n\nexport const trackBy = <T = any>(key: keyof T): TrackByFunction<T> => (_, item) => item[key];\n\nexport const trackByDeep = <T = any>(\n ...keys: T extends object ? O.Paths<T> : never\n): TrackByFunction<T> => (_, item) => keys.reduce((acc, key) => acc[key], item);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TrackByService<ItemType = any> {\n by = trackBy;\n\n byDeep = trackByDeep;\n}\n","import { ViewContainerRef } from '@angular/core';\n\nexport abstract class ContainerStrategy {\n constructor(public containerRef: ViewContainerRef) {}\n\n abstract getIndex(): number;\n\n prepare(): void {}\n}\n\nexport class ClearContainerStrategy extends ContainerStrategy {\n getIndex(): number {\n return 0;\n }\n\n prepare() {\n this.containerRef.clear();\n }\n}\n\nexport class InsertIntoContainerStrategy extends ContainerStrategy {\n constructor(containerRef: ViewContainerRef, private index: number) {\n super(containerRef);\n }\n\n getIndex() {\n return Math.min(Math.max(0, this.index), this.containerRef.length);\n }\n}\n\nexport const CONTAINER_STRATEGY = {\n Clear(containerRef: ViewContainerRef) {\n return new ClearContainerStrategy(containerRef);\n },\n Append(containerRef: ViewContainerRef) {\n return new InsertIntoContainerStrategy(containerRef, containerRef.length);\n },\n Prepend(containerRef: ViewContainerRef) {\n return new InsertIntoContainerStrategy(containerRef, 0);\n },\n Insert(containerRef: ViewContainerRef, index: number) {\n return new InsertIntoContainerStrategy(containerRef, index);\n },\n};\n","export abstract class ContentSecurityStrategy {\n constructor(public nonce?: string) {}\n\n abstract applyCSP(element: HTMLScriptElement | HTMLStyleElement): void;\n}\n\nexport class LooseContentSecurityStrategy extends ContentSecurityStrategy {\n constructor(nonce: string) {\n super(nonce);\n }\n\n applyCSP(element: HTMLScriptElement | HTMLStyleElement) {\n element.setAttribute('nonce', this.nonce);\n }\n}\n\nexport class NoContentSecurityStrategy extends ContentSecurityStrategy {\n constructor() {\n super();\n }\n\n applyCSP(_: HTMLScriptElement | HTMLStyleElement) {}\n}\n\nexport const CONTENT_SECURITY_STRATEGY = {\n Loose(nonce: string) {\n return new LooseContentSecurityStrategy(nonce);\n },\n None() {\n return new NoContentSecurityStrategy();\n },\n};\n","import { ContentSecurityStrategy, CONTENT_SECURITY_STRATEGY } from './content-security.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class ContentStrategy<T extends HTMLScriptElement | HTMLStyleElement = any> {\n constructor(\n public content: string,\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n protected contentSecurityStrategy: ContentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(),\n ) {}\n\n abstract createElement(): T;\n\n insertElement(): T {\n const element = this.createElement();\n\n this.contentSecurityStrategy.applyCSP(element);\n this.domStrategy.insertElement(element);\n\n return element;\n }\n}\n\nexport class StyleContentStrategy extends ContentStrategy<HTMLStyleElement> {\n createElement(): HTMLStyleElement {\n const element = document.createElement('style');\n element.textContent = this.content;\n\n return element;\n }\n}\n\nexport class ScriptContentStrategy extends ContentStrategy<HTMLScriptElement> {\n createElement(): HTMLScriptElement {\n const element = document.createElement('script');\n element.textContent = this.content;\n\n return element;\n }\n}\n\nexport const CONTENT_STRATEGY = {\n AppendScriptToBody(content: string) {\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody());\n },\n AppendScriptToHead(content: string) {\n return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead());\n },\n AppendStyleToHead(content: string) {\n return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead());\n },\n PrependStyleToHead(content: string) {\n return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead());\n },\n};\n","import { ComponentRef, TemplateRef, Type } from '@angular/core';\nimport { InferredContextOf, InferredInstanceOf } from '../models';\n\nexport abstract class ContextStrategy<T = any> {\n constructor(public context: Partial<ContextType<T>>) {}\n\n /* tslint:disable-next-line:no-unused-variable */\n setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {\n return this.context;\n }\n}\n\nexport class NoContextStrategy<\n T extends Type<any> | TemplateRef<any> = any\n> extends ContextStrategy<T> {\n constructor() {\n super(undefined);\n }\n}\n\nexport class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {\n setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {\n Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));\n componentRef.changeDetectorRef.detectChanges();\n return this.context;\n }\n}\n\nexport class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {\n setContext(): Partial<InferredContextOf<T>> {\n return this.context;\n }\n}\n\nexport const CONTEXT_STRATEGY = {\n None<T extends Type<any> | TemplateRef<any> = any>() {\n return new NoContextStrategy<T>();\n },\n Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {\n return new ComponentContextStrategy<T>(context);\n },\n Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {\n return new TemplateContextStrategy<T>(context);\n },\n};\n\ntype ContextType<T> = T extends Type<infer U> | TemplateRef<infer U> ? U : never;\n","import { Observable, of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { fromLazyLoad } from '../utils';\nimport { CrossOriginStrategy, CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class LoadingStrategy<T extends HTMLScriptElement | HTMLLinkElement = any> {\n element: T;\n\n constructor(\n public path: string,\n protected domStrategy: DomStrategy = DOM_STRATEGY.AppendToHead(),\n protected crossOriginStrategy: CrossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous(),\n ) {}\n\n abstract createElement(): T;\n\n createStream<E extends Event>(): Observable<E> {\n this.element = this.createElement();\n\n return of(null).pipe(\n switchMap(() => fromLazyLoad<E>(this.element, this.domStrategy, this.crossOriginStrategy)),\n );\n }\n}\n\nexport class ScriptLoadingStrategy extends LoadingStrategy<HTMLScriptElement> {\n constructor(src: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\n super(src, domStrategy, crossOriginStrategy);\n }\n\n createElement(): HTMLScriptElement {\n const element = document.createElement('script');\n element.src = this.path;\n\n return element;\n }\n}\n\nexport class StyleLoadingStrategy extends LoadingStrategy<HTMLLinkElement> {\n constructor(href: string, domStrategy?: DomStrategy, crossOriginStrategy?: CrossOriginStrategy) {\n super(href, domStrategy, crossOriginStrategy);\n }\n\n createElement(): HTMLLinkElement {\n const element = document.createElement('link');\n element.rel = 'stylesheet';\n element.href = this.path;\n\n return element;\n }\n}\n\nexport const LOADING_STRATEGY = {\n AppendScriptToBody(src: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToBody(),\n CROSS_ORIGIN_STRATEGY.None(),\n );\n },\n AppendAnonymousScriptToBody(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToBody(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n AppendAnonymousScriptToHead(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n AppendAnonymousStyleToHead(src: string, integrity?: string) {\n return new StyleLoadingStrategy(\n src,\n DOM_STRATEGY.AppendToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n PrependAnonymousScriptToHead(src: string, integrity?: string) {\n return new ScriptLoadingStrategy(\n src,\n DOM_STRATEGY.PrependToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n PrependAnonymousStyleToHead(src: string, integrity?: string) {\n return new StyleLoadingStrategy(\n src,\n DOM_STRATEGY.PrependToHead(),\n CROSS_ORIGIN_STRATEGY.Anonymous(integrity),\n );\n },\n};\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport { InferredContextOf, InferredInstanceOf } from '../models/utility';\nimport { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';\nimport { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';\nimport { DomStrategy, DOM_STRATEGY } from './dom.strategy';\n\nexport abstract class ProjectionStrategy<T = any> {\n constructor(public content: T) {}\n\n abstract injectContent(injector: Injector): ComponentRefOrEmbeddedViewRef<T>;\n}\n\nexport class ComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\n constructor(\n component: T,\n private containerStrategy: ContainerStrategy,\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\n ) {\n super(component);\n }\n\n injectContent(injector: Injector) {\n this.containerStrategy.prepare();\n\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\n const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);\n\n const componentRef = this.containerStrategy.containerRef.createComponent(\n factory,\n this.containerStrategy.getIndex(),\n injector,\n );\n this.contextStrategy.setContext(componentRef);\n\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport class RootComponentProjectionStrategy<T extends Type<any>> extends ProjectionStrategy<T> {\n constructor(\n component: T,\n private contextStrategy: ContextStrategy = CONTEXT_STRATEGY.None(),\n private domStrategy: DomStrategy = DOM_STRATEGY.AppendToBody(),\n ) {\n super(component);\n }\n\n injectContent(injector: Injector) {\n const appRef = injector.get(ApplicationRef);\n const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;\n const componentRef = resolver\n .resolveComponentFactory<InferredInstanceOf<T>>(this.content)\n .create(injector);\n\n this.contextStrategy.setContext(componentRef);\n\n appRef.attachView(componentRef.hostView);\n const element: HTMLElement = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0];\n this.domStrategy.insertElement(element);\n\n return componentRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport class TemplateProjectionStrategy<T extends TemplateRef<any>> extends ProjectionStrategy<T> {\n constructor(\n templateRef: T,\n private containerStrategy: ContainerStrategy,\n private contextStrategy = CONTEXT_STRATEGY.None(),\n ) {\n super(templateRef);\n }\n\n injectContent() {\n this.containerStrategy.prepare();\n\n const embeddedViewRef = this.containerStrategy.containerRef.createEmbeddedView(\n this.content,\n this.contextStrategy.context,\n this.containerStrategy.getIndex(),\n );\n embeddedViewRef.detectChanges();\n\n return embeddedViewRef as ComponentRefOrEmbeddedViewRef<T>;\n }\n}\n\nexport const PROJECTION_STRATEGY = {\n AppendComponentToBody<T extends Type<unknown>>(\n component: T,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new RootComponentProjectionStrategy<T>(\n component,\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n AppendComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Append(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n AppendTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Append(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n PrependComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Prepend(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n PrependTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Prepend(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n ProjectComponentToContainer<T extends Type<unknown>>(\n component: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredInstanceOf<T>>,\n ) {\n return new ComponentProjectionStrategy<T>(\n component,\n CONTAINER_STRATEGY.Clear(containerRef),\n context && CONTEXT_STRATEGY.Component(context),\n );\n },\n ProjectTemplateToContainer<T extends TemplateRef<unknown>>(\n templateRef: T,\n containerRef: ViewContainerRef,\n context?: Partial<InferredContextOf<T>>,\n ) {\n return new TemplateProjectionStrategy<T>(\n templateRef,\n CONTAINER_STRATEGY.Clear(containerRef),\n context && CONTEXT_STRATEGY.Template(context),\n );\n },\n};\n\ntype ComponentRefOrEmbeddedViewRef<T> = T extends Type<infer U>\n ? ComponentRef<U>\n : T extends TemplateRef<infer C>\n ? EmbeddedViewRef<C>\n : never;\n","import { InjectionToken, inject } from '@angular/core';\nimport { EnvironmentService } from '../services/environment.service';\n\nexport const NAVIGATE_TO_MANAGE_PROFILE = new InjectionToken<() => void>(\n 'NAVIGATE_TO_MANAGE_PROFILE',\n {\n providedIn: 'root',\n factory: () => {\n const environment = inject(EnvironmentService);\n\n return () => {\n window.open(\n `${environment.getEnvironment().oAuthConfig.issuer}/Account/Manage?returnUrl=${\n window.location.href\n }`,\n '_self',\n );\n };\n },\n },\n);\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface MinAgeError {\n minAge: {\n age: number;\n };\n}\n\nexport interface MinAgeOptions {\n age?: number;\n}\n\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\n return (control: AbstractControl): MinAgeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\n };\n}\n\nfunction isValidMinAge(value: string | number, minAge: number) {\n const date = new Date();\n date.setFullYear(date.getFullYear() - minAge);\n date.setHours(23, 59, 59, 999);\n\n return Number(new Date(value)) <= date.valueOf();\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface CreditCardError {\n creditCard: true;\n}\n\nexport function validateCreditCard(): ValidatorFn {\n return (control: AbstractControl): CreditCardError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\n };\n}\n\nfunction isValidCreditCard(value: string): boolean {\n value = value.replace(/[ -]/g, '');\n\n if (!/^[0-9]{13,19}$/.test(value)) return false;\n\n let checksum = 0;\n let multiplier = 1;\n\n for (let i = value.length; i > 0; i--) {\n const digit = Number(value[i - 1]) * multiplier;\n /* tslint:disable-next-line:no-bitwise */\n checksum += (digit % 10) + ~~(digit / 10);\n\n multiplier = (multiplier * 2) % 3;\n }\n\n return checksum % 10 === 0;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RangeError {\n range: {\n max: number;\n min: number;\n };\n}\n\nexport interface RangeOptions {\n maximum?: number;\n minimum?: number;\n}\n\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\n return (control: AbstractControl): RangeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = Number(control.value);\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\n };\n}\n\nfunction getMaxError(value: number, max: number, min: number): RangeError {\n return value > max ? { range: { max, min } } : null;\n}\n\nfunction getMinError(value: number, min: number, max: number): RangeError {\n return value < min ? { range: { min, max } } : null;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RequiredError {\n required: true;\n}\n\nexport interface RequiredOptions {\n allowEmptyStrings?: boolean;\n}\n\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\n return (control: AbstractControl): RequiredError | null => {\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\n };\n}\n\nfunction isValidRequired(value: any, allowEmptyStrings: boolean): boolean {\n if (value || value === 0 || value === false) return true;\n\n if (allowEmptyStrings && value === '') return true;\n\n return false;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface StringLengthError {\n maxlength?: {\n requiredLength: number;\n };\n minlength?: {\n requiredLength: number;\n };\n}\n\nexport interface StringLengthOptions {\n maximumLength?: number;\n minimumLength?: number;\n}\n\nexport function validateStringLength({\n maximumLength = Infinity,\n minimumLength = 0,\n}: StringLengthOptions = {}): ValidatorFn {\n return (control: AbstractControl): StringLengthError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = String(control.value);\n\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\n };\n}\n\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\n}\n\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface UrlError {\n url: true;\n}\n\nexport function validateUrl(): ValidatorFn {\n return (control: AbstractControl): UrlError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidUrl(control.value) ? null : { url: true };\n };\n}\n\nfunction isValidUrl(value: string): boolean {\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\n const a = document.createElement('a');\n a.href = value;\n return !!a.host;\n }\n\n return false;\n}\n","import { Validators } from '@angular/forms';\nimport { validateMinAge } from './age.validator';\nimport { validateCreditCard } from './credit-card.validator';\nimport { validateRange } from './range.validator';\nimport { validateRequired } from './required.validator';\nimport { validateStringLength } from './string-length.validator';\nimport { validateUrl } from './url.validator';\nexport * from './age.validator';\nexport * from './credit-card.validator';\nexport * from './range.validator';\nexport * from './required.validator';\nexport * from './string-length.validator';\nexport * from './url.validator';\n\nexport const AbpValidators = {\n creditCard: validateCreditCard,\n emailAddress: () => Validators.email,\n minAge: validateMinAge,\n range: validateRange,\n required: validateRequired,\n stringLength: validateStringLength,\n url: validateUrl,\n};\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../../../../../services/rest.service';\nimport type {\n ApplicationApiDescriptionModel,\n ApplicationApiDescriptionModelRequestDto,\n} from '../../../http/modeling/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AbpApiDefinitionService {\n apiName = 'abp';\n\n getByModel = (model: ApplicationApiDescriptionModelRequestDto) =>\n this.restService.request<any, ApplicationApiDescriptionModel>(\n {\n method: 'GET',\n url: '/api/abp/api-definition',\n params: { includeTypes: model.includeTypes },\n },\n { apiName: this.apiName },\n );\n\n constructor(private restService: RestService) {}\n}\n","/*\n * Public API Surface of core\n */\n\n// export * from './lib/handlers';\nexport * from './lib/abstracts';\nexport * from './lib/actions';\nexport * from './lib/components';\nexport * from './lib/constants';\nexport * from './lib/core.module';\nexport * from './lib/localization.module';\nexport * from './lib/directives';\nexport * from './lib/enums';\nexport * from './lib/guards';\nexport * from './lib/interceptors';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/services';\nexport * from './lib/states';\nexport * from './lib/strategies';\nexport * from './lib/tokens';\nexport * from './lib/utils';\nexport * from './lib/validators';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\nexport * from './lib/proxy/volo/abp/http/modeling';\nexport * from './lib/proxy/volo/abp/models';\nexport * from './lib/proxy/volo/abp/localization';\nexport * from './lib/proxy/pages/abp/multi-tenancy';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AbstractNgModelComponent as ɵl} from './lib/abstracts/ng-model.component';\nexport {ChangePassword as ɵbh,GetProfile as ɵbf,UpdateProfile as ɵbg} from './lib/actions/profile.actions';\nexport {DynamicLayoutComponent as ɵn} from './lib/components/dynamic-layout.component';\nexport {ReplaceableRouteContainerComponent as ɵx} from './lib/components/replaceable-route-container.component';\nexport {RouterOutletComponent as ɵz} from './lib/components/router-outlet.component';\nexport {AutofocusDirective as ɵm} from './lib/directives/autofocus.directive';\nexport {InputEventDebounceDirective as ɵu} from './lib/directives/debounce.directive';\nexport {ForDirective as ɵr} from './lib/directives/for.directive';\nexport {FormSubmitDirective as ɵs} from './lib/directives/form-submit.directive';\nexport {InitDirective as ɵt} from './lib/directives/init.directive';\nexport {PermissionDirective as ɵv} from './lib/directives/permission.directive';\nexport {ReplaceableTemplateDirective as ɵy} from './lib/directives/replaceable-template.directive';\nexport {StopPropagationDirective as ɵbb} from './lib/directives/stop-propagation.directive';\nexport {VisibilityDirective as ɵbc} from './lib/directives/visibility.directive';\nexport {OAuthConfigurationHandler as ɵbo} from './lib/handlers/oauth-configuration.handler';\nexport {RoutesHandler as ɵbs} from './lib/handlers/routes.handler';\nexport {ApiInterceptor as ɵbl} from './lib/interceptors/api.interceptor';\nexport {Profile as ɵbi} from './lib/models';\nexport {ABP as ɵj} from './lib/models/common';\nexport {LocalizationPipe as ɵb} from './lib/pipes/localization.pipe';\nexport {SortPipe as ɵba} from './lib/pipes/sort.pipe';\nexport {LocaleId as ɵbj,LocaleProvider as ɵbk} from './lib/providers/locale.provider';\nexport {AbpApplicationConfigurationService as ɵf} from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';\nexport {ConfigStateService as ɵe} from './lib/services/config-state.service';\nexport {EnvironmentService as ɵk} from './lib/services/environment.service';\nexport {HttpWaitService as ɵbn} from './lib/services/http-wait.service';\nexport {LocalizationService as ɵc} from './lib/services/localization.service';\nexport {PermissionService as ɵw} from './lib/services/permission.service';\nexport {ProfileService as ɵbe} from './lib/services/profile.service';\nexport {ReplaceableComponentsService as ɵp} from './lib/services/replaceable-components.service';\nexport {RestService as ɵg} from './lib/services/rest.service';\nexport {RouterEvents as ɵq} from './lib/services/router-events.service';\nexport {AbstractNavTreeService as ɵbu,AbstractTreeService as ɵbt,RoutesService as ɵbv} from './lib/services/routes.service';\nexport {SessionStateService as ɵd} from './lib/services/session-state.service';\nexport {SubscriptionService as ɵo} from './lib/services/subscription.service';\nexport {ProfileState as ɵbd} from './lib/states/profile.state';\nexport {oAuthStorage as ɵa} from './lib/strategies/auth-flow.strategy';\nexport {CORE_OPTIONS as ɵh,coreOptionsFactory as ɵi} from './lib/tokens/options.token';\nexport {TENANT_KEY as ɵbm} from './lib/tokens/tenant-key.token';\nexport {noop as ɵbp} from './lib/utils/common-utils';\nexport {getInitialData as ɵbq,localeInitializer as ɵbr} from './lib/utils/initial-utils';"],"names":["ChangeDetectorRef","Component","Injector","Input","InjectionToken","snq","BehaviorSubject","Subject","map","distinctUntilChanged","filter","Injectable","throwError","catchError","Inject","HttpClient","Store","switchMap","take","compare","mapTo","from","registerLocaleData","Optional","SkipSelf","isDevMode","PRIMARY_OUTLET","NgZone","Router","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","Subscription","ActivatedRoute","Directive","ElementRef","EventEmitter","fromEvent","debounceTime","Output","clone","TemplateRef","ViewContainerRef","IterableDiffers","FormGroupDirective","Self","Renderer2","ComponentFactoryResolver","OAuthService","of","timer","takeUntil","tap","finalize","Pipe","NgModule","LOCALE_ID","ProfileState","Action","Selector","State","pipe","OAuthStorage","OAuthErrorEvent","OAuthInfoEvent","HttpHeaders","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","OAuthModule","NgxsModule","HttpClientXsrfModule","HTTP_INTERCEPTORS","APP_INITIALIZER","Compiler","NgModuleFactory","Observable","retryWhen","concat","delay","shareReplay","ReplaySubject","ConfigState","createSelector","ApplicationRef","inject","Validators"],"mappings":"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"}
|