@indigina/kendo 1.0.167-beta → 1.0.172-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indigina-kendo.umd.js","sources":["../../../projects/kendo/src/lib/angular/forms/directives/debounce.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/kendo/src/lib/angular/forms/widgets/field/field.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/number-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/general-errors/general-errors.component.ts","../../../projects/kendo/src/lib/angular/models/AppSettings.ts","../../../projects/kendo/src/lib/angular/models/IndiginaConfiguration.ts","../../../projects/kendo/src/lib/angular/services/locale-settings.service.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewPropTypes.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node-prop/tree-view-node-prop.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewNodeTypes.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/ContentTypesFormat.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/AbstractContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/EnumTypeGetter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/JsonResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/TextResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/XmlResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/ContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view.component.ts","../../../projects/kendo/src/lib/angular/indigina.module.ts","../../../projects/kendo/src/lib/services/endpoints.ts","../../../projects/kendo/src/lib/services/signalr/EventNames.ts","../../../projects/kendo/src/lib/services/base.account.service.ts","../../../projects/kendo/src/lib/angular/extensions/ReEntrySubscription.ts","../../../projects/kendo/src/lib/angular/forms/extensions/FormGroupWithErrors.ts","../../../projects/kendo/src/lib/angular/models/HttpCodes.ts","../../../projects/kendo/src/lib/angular/models/HttpMethods.ts","../../../projects/kendo/src/lib/angular/services/settings.service.ts","../../../projects/kendo/src/lib/angular/services/toastr.service.ts","../../../projects/kendo/src/lib/angular/services/http.service.ts","../../../projects/kendo/src/lib/angular/widgets/live-updates-control/live-updates-control.component.ts","../../../projects/kendo/src/lib/models/AuthProviders.ts","../../../projects/kendo/src/lib/services/auth.providers/AuthProvider.ts","../../../projects/kendo/src/lib/services/auth.providers/azureb2c.provider.ts","../../../projects/kendo/src/lib/services/auth.providers/oauth.provider.ts","../../../projects/kendo/src/lib/services/auth-provider.resolver.ts","../../../projects/kendo/src/lib/services/signalr/signalr.service.ts","../../../projects/kendo/src/lib/services/account.service.ts","../../../projects/kendo/src/lib/components/account-menu/account-menu.component.ts","../../../projects/kendo/src/lib/components/azure-login-callback/azure-login-callback.component.ts","../../../projects/kendo/src/lib/components/language-selector/language-selector.component.ts","../../../projects/kendo/src/lib/config/msal-instance.factory.ts","../../../projects/kendo/src/lib/services/permissions.service.ts","../../../projects/kendo/src/lib/directives/requirePermission.directive.ts","../../../projects/kendo/src/lib/interceptors/auth-headers.interceptor.ts","../../../projects/kendo/src/lib/models/FieldTypes.ts","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.component.ts","../../../projects/kendo/src/lib/widgets/confirm-dialog/confirm-dialog.component.ts","../../../projects/kendo/src/lib/widgets/current-timezone/current-timezone.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit-form.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/UrlSerializer.ts","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.ts","../../../projects/kendo/src/lib/widgets/excel-export-button/excel-export-button.component.ts","../../../projects/kendo/src/lib/widgets/footer-bar/footer-bar.component.ts","../../../projects/kendo/src/lib/widgets/modal-window/modal-window.component.ts","../../../projects/kendo/src/lib/widgets/multicheck-filter/multicheck-filter.component.ts","../../../projects/kendo/src/lib/widgets/top-bar/top-bar.component.ts","../../../projects/kendo/src/lib/kendo.module.ts","../../../projects/kendo/src/lib/models/FilterTargets.ts","../../../projects/kendo/src/lib/models/MemberTypes.ts","../../../projects/kendo/src/lib/models/Operators.ts","../../../projects/kendo/src/lib/models/PermissionTypes.ts","../../../projects/kendo/src/lib/widgets/activity-filter/FilterConverter.ts","../../../projects/kendo/src/lib/services/activity.filter.service.ts","../../../projects/kendo/src/lib/services/entity.service.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit.component.ts","../../../projects/kendo/src/public-api.ts","../../../projects/kendo/src/indigina-kendo.ts"],"sourcesContent":["import {\n Directive,\n HostListener,\n Output,\n EventEmitter,\n OnInit,\n OnDestroy,\n Input\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDebounce]'\n})\nexport class DebounceDirective implements OnInit, OnDestroy {\n @Input() debounceTime = 500;\n @Output() debounceKeyup = new EventEmitter();\n private keyUp = new Subject();\n private subscription: Subscription;\n\n constructor() { }\n\n ngOnInit() {\n this.subscription = this.keyUp.pipe(\n debounceTime(this.debounceTime)\n ).subscribe(e => this.debounceKeyup.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('keyup', ['$event'])\n\n keyUpEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n this.keyUp.next(event);\n }\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) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { OnInit, Input, ElementRef, Directive } from '@angular/core';\nimport {\n FormGroupDirective,\n FormControl,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\nlet id: number = 0;\n\n@Directive()\nexport abstract class FieldComponent<T> implements OnInit {\n @Input() labelKey: string;\n @Input() fieldName: string;\n @Input() disabled: boolean = false;\n \n public disabledKey = 'disabled';\n public id: string;\n\n constructor(\n public parent: FormGroupDirective,\n public eref: ElementRef,\n private defaultValue: T\n ) {}\n\n ngOnInit(): void {\n this.setUp();\n }\n\n protected setUp(): void {\n this.id = '_' + this.fieldName + ++id;\n const validators: ValidatorFn[] = [];\n for (const attr of this.eref.nativeElement.attributes as [\n { name: string; value: string }\n ]) {\n const validator = this.setAttribute(attr.name, attr.value);\n if (validator) {\n validators.push(validator);\n }\n }\n\n const control = this.parent.form.get(this.fieldName);\n if (control) {\n if (control.validator) {\n validators.push(control.validator);\n }\n\n control.setValidators(validators);\n control.updateValueAndValidity();\n } else {\n this.parent.form.addControl(\n this.fieldName,\n new FormControl(this.defaultValue, validators)\n );\n }\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === this.disabledKey) {\n this.disabled = true;\n\n return;\n }\n\n if (name === 'required') {\n return Validators.required;\n }\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n Validators,\n ValidatorFn,\n} from '@angular/forms';\nimport { FieldComponent } from '../field.component';\n\n@Component({\n selector: 'field-input',\n templateUrl: './field-input.component.html',\n styleUrls: ['./field-input.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldInputComponent extends FieldComponent<string> {\n @Input()\n public labelKey: string;\n @Input()\n public fieldName: string;\n\n public type = 'text';\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === 'type') {\n this.type = value;\n }\n\n if (name === 'max-length') {\n return Validators.maxLength(parseInt(value, 10));\n }\n\n return super.setAttribute(name, value);\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { FieldInputComponent } from './field-input.component';\n\nconst emptyString = '';\n\n@Component({\n selector: 'number-input',\n templateUrl: './field-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class NumberInputComponent extends FieldInputComponent {\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref);\n this.type = 'number';\n }\n\n @Input() isPositive: boolean = false;\n\n private cachedValue: number | string;\n\n ngAfterContentInit() {\n const control = this.parent.form.get(this.fieldName);\n control.valueChanges.subscribe((value) => {\n if (value !== this.cachedValue) {\n this.cachedValue =\n (!this.isPositive && (value || value === 0)) ||\n (this.isPositive && value >= 0 && value !== emptyString)\n ? +value\n : emptyString;\n\n control.setValue(this.cachedValue);\n }\n });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-general-errors',\n templateUrl: './general-errors.component.html',\n styleUrls: ['./general-errors.component.css']\n})\nexport class GeneralErrorsComponent {\n\n @Input() form: FormGroup;\n errors: string[] = [];\n constructor() { }\n\n setErrors(errors: string[]): void {\n this.errors = errors;\n if (errors.length) {\n this.form.setErrors({'_general_errors_': errors });\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { LogLevel } from '@microsoft/signalr';\nimport { AzureB2CSettings } from '../../models/AzureB2CSettings';\nimport { OidcSettings } from '../../models/OidcSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class AppSettings {\n apiUrl: string;\n accountUrl: string;\n toastrTimeOut: number;\n signalRLogLevel?: LogLevel;\n oidc: OidcSettings;\n azureB2C: AzureB2CSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { AppSettings } from './AppSettings';\n\n@Injectable({ providedIn: 'root' })\nexport abstract class IndiginaConfiguration {\n langs?: TranslateLoader;\n appSettings?: AppSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { Language } from '../models/Language';\nimport { TranslateService } from '@ngx-translate/core';\n\nconst languageKey = 'language';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleSettingsService {\n private languages: Language[] = [\n { name: 'English', code: 'en-US' },\n { name: 'Русский', code: 'ru-RU' },\n ];\n private localeId: string;\n\n constructor(private translate: TranslateService) {}\n\n init(): void {\n this.translate.addLangs(this.languages.map((x) => x.code));\n this.localeId = this.getLocale();\n this.setLocale(this.localeId || this.languages[0].code);\n }\n\n getLocales(): Language[] {\n return this.languages;\n }\n\n getLocale(): string {\n if (localStorage) {\n return localStorage.getItem(languageKey) || this.localeId;\n } else {\n return this.localeId;\n }\n }\n\n setLocale(locale: string) {\n this.translate.use(locale);\n this.localeId = locale;\n if (localStorage) {\n localStorage.setItem(languageKey, locale);\n }\n }\n}\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { MenuItem } from '../MenuItem';\nimport {\n Router,\n NavigationEnd,\n RouterStateSnapshot,\n UrlTree,\n IsActiveMatchOptions,\n} from '@angular/router';\n\nconst urlDelimiter = '/';\nconst collapsedEvent = 'collapsed';\n\n@Component({\n selector: '[menu-item-group]',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.css'],\n})\nexport class MenuItemGroupComponent implements OnChanges, OnInit {\n @Input() item: MenuItem;\n collapsed: boolean = false;\n private actualPath: string;\n\n constructor(private router: Router) {\n this.router.isActive = function (\n url: string | UrlTree,\n matchOptions: boolean | IsActiveMatchOptions\n ): boolean {\n return this.routerState.snapshot.root.children?.length\n ? url.toString() ===\n urlDelimiter +\n this.routerState.snapshot.root.children[0].routeConfig.path.split(\n '/:'\n )[0]\n : false;\n };\n }\n\n ngOnInit(): void {\n this.setActualPath(this.router.routerState.snapshot);\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.setActualPath(this.router.routerState.snapshot);\n }\n });\n }\n\n ngOnChanges(): void {\n this.setItemExpand();\n }\n\n collapseChild(activeItem: MenuItem, event: MouseEvent) {\n this.item.expanded =\n this.item.text === activeItem.text &&\n !this.item.expanded &&\n !!this.item.items;\n\n if (!activeItem.items || activeItem.items.length === 0) {\n event[collapsedEvent] = true;\n } else {\n event[collapsedEvent] = false;\n }\n }\n\n private setItemExpand() {\n this.item.expanded = this.item.items?.some((x) => {\n return x.link !== undefined && x.link === this.actualPath;\n });\n }\n\n private setActualPath(snapshot: RouterStateSnapshot): void {\n if (snapshot.root.children?.length) {\n this.actualPath =\n urlDelimiter +\n snapshot.root.children[0].routeConfig.path.split('/:')[0];\n this.setItemExpand();\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { MenuItem } from './MenuItem';\n\nconst collapsedEvent = 'collapsed';\n@Component({\n selector: 'side-menu',\n templateUrl: './side-menu.component.html',\n styleUrls: ['./side-menu.component.css'],\n})\nexport class SideMenuComponent {\n @Input() items: MenuItem[];\n @Output() logoClick = new EventEmitter();\n\n onLogoClick() {\n this.logoClick.emit();\n }\n\n collapse(\n itemComponent: MenuItemGroupComponent,\n activeItem: MenuItem,\n event: MouseEvent\n ) {\n this.items?.forEach((item) => {\n if (item.text !== activeItem.text && item.expanded) {\n item.expanded = false;\n }\n });\n if (event[collapsedEvent]) {\n itemComponent.collapsed = true;\n } else {\n itemComponent.collapsed = false;\n }\n }\n}\n","export enum TreeViewPropTypes {\n String = 'string',\n Number = 'number',\n Object = 'object',\n Array = 'array',\n}\n","import { Component, Input, QueryList, ViewChildren } from '@angular/core';\nimport { TreeViewProp } from '../models/TreeViewProp';\nimport { TreeViewPropTypes } from '../models/TreeViewPropTypes';\nimport { TreeViewNodeComponent } from '../tree-view-node/tree-view-node.component';\n\n@Component({\n selector: 'tree-view-node-prop',\n templateUrl: './tree-view-node-prop.component.html',\n styleUrls: ['./tree-view-node-prop.component.css'],\n})\nexport class TreeViewNodePropComponent {\n @ViewChildren('node') treeViewNodes: QueryList<TreeViewNodeComponent>;\n\n @Input() prop: TreeViewProp;\n\n public get isSimpleValue(): boolean {\n return !this.isArrayValue && !this.isObjectValue;\n }\n\n public get isArrayValue(): boolean {\n return this.prop.propType === TreeViewPropTypes.Array;\n }\n\n public get isObjectValue(): boolean {\n return this.prop.propType === TreeViewPropTypes.Object;\n }\n\n public get propClass(): string {\n return this.prop.propType === TreeViewPropTypes.Number\n ? 'number'\n : 'string';\n }\n\n public expandAll(): void {\n this.treeViewNodes.forEach((x) => x.expandAll());\n }\n\n public collapseAll(): void {\n this.treeViewNodes.forEach((x) => x.collapseAll());\n }\n}\n","export enum TreeViewNodeTypes {\n Object = 'object',\n Array = 'array',\n Primitive = 'primitive',\n}\n","import {\n Component,\n Input,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { TreeViewNode } from '../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../models/TreeViewNodeTypes';\nimport { TreeViewNodePropComponent } from '../tree-view-node-prop/tree-view-node-prop.component';\n\n@Component({\n selector: 'tree-view-node',\n templateUrl: './tree-view-node.component.html',\n styleUrls: ['./tree-view-node.component.css'],\n})\nexport class TreeViewNodeComponent implements OnInit {\n @ViewChildren('prop') treeViewProps: QueryList<TreeViewNodePropComponent>;\n\n @Input() node: TreeViewNode;\n @Input() hasExpand: boolean;\n\n public expanded: boolean = true;\n\n public get isObject(): boolean {\n return this.node.nodeType === TreeViewNodeTypes.Object;\n }\n\n public get isArray(): boolean {\n return this.node.nodeType === TreeViewNodeTypes.Array;\n }\n\n public get isPrimitive(): boolean {\n return this.node.nodeType === TreeViewNodeTypes.Primitive;\n }\n\n public get primitive(): { value: any; type: string; startTag: string } {\n const value = this.node.props[0].value;\n const startTag = this.node.props[0].startTag;\n const type = typeof value;\n\n return { value, type, startTag };\n }\n\n ngOnInit(): void {\n this.expanded = !this.hasExpand;\n }\n\n public toggleExpand() {\n this.expanded = !this.expanded;\n }\n\n public expandAll(): void {\n if (this.hasExpand) {\n this.expanded = true;\n }\n\n this.treeViewProps.forEach((x) => x.expandAll());\n }\n\n public collapseAll(): void {\n if (this.hasExpand) {\n this.expanded = false;\n }\n\n this.treeViewProps.forEach((x) => x.collapseAll());\n }\n}\n","export enum ContentTypesFormat {\n Json = 'json',\n Xml = 'xml',\n Text = 'text',\n}\n","import { IContentResolver } from './IContentResolver';\nimport { ResolverResult } from '../models/ResolverResult';\n\nexport abstract class AbstractContentResolver implements IContentResolver {\n private nextResolver: IContentResolver;\n\n constructor(resolver: IContentResolver) {\n this.nextResolver = resolver;\n }\n\n resolve(data: string): ResolverResult {\n if (this.nextResolver) {\n return this.nextResolver.resolve(data);\n }\n\n return null;\n }\n}\n","import { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\n\nexport function getPropTypeFromKey(key: string): TreeViewPropTypes {\n return (\n Object.values(TreeViewPropTypes).find((x) => x === key) ||\n TreeViewPropTypes.String\n );\n}\n\nexport function getNodeTypeFromKey(key: string): TreeViewNodeTypes {\n return (\n Object.values(TreeViewNodeTypes).find((x) => x === key) ||\n TreeViewNodeTypes.Object\n );\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { TreeViewProp } from '../../models/TreeViewProp';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\nimport { getPropTypeFromKey, getNodeTypeFromKey } from './EnumTypeGetter';\n\nconst objectBrackets = { inside: '{', outside: '}' };\nconst arrayBrackets = { inside: '[', outside: ']' };\n\nexport class JsonConverter {\n public static convert(\n source: Array<object> | object\n ): Array<TreeViewNode> | TreeViewNode {\n if (Array.isArray(source)) {\n return this.convertArray(source);\n }\n\n return this.convertObject(source);\n }\n\n private static convertObject(source): TreeViewNode {\n const props: Array<TreeViewProp> = [];\n for (const name of Object.keys(source)) {\n const value = source[name];\n let propType =\n value !== null\n ? getPropTypeFromKey(typeof value)\n : TreeViewPropTypes.String;\n\n if (Array.isArray(value)) {\n const result = this.convertArray(value);\n const propType = Array.isArray(result)\n ? TreeViewPropTypes.Array\n : TreeViewPropTypes.Object;\n props.push({\n startTag: `${name}: `,\n value: result,\n propType,\n brackets: arrayBrackets,\n });\n\n continue;\n }\n\n if (propType === TreeViewPropTypes.Object) {\n props.push({\n startTag: `${name}: `,\n value: this.convertObject(value),\n propType,\n });\n\n continue;\n }\n\n props.push({\n startTag: `${name}: `,\n value,\n propType,\n });\n }\n\n return {\n props,\n nodeType: TreeViewNodeTypes.Object,\n brackets: objectBrackets,\n };\n }\n\n private static convertArray(source: Array<any>): TreeViewNode {\n const nodes: Array<TreeViewNode> = [];\n\n source.forEach((item, index) => {\n if (typeof item !== TreeViewPropTypes.Object) {\n nodes.push(this.getPrimitive(item, index));\n } else {\n const brackets = Array.isArray(item) ? arrayBrackets : objectBrackets;\n const inside = brackets.inside;\n const outside = brackets.outside;\n nodes.push({\n ...this.convertObject(item),\n nodeType: Array.isArray(item)\n ? TreeViewNodeTypes.Array\n : getNodeTypeFromKey(typeof item),\n brackets: {\n inside: `${index}: ${inside}`,\n outside,\n },\n });\n }\n });\n\n return {\n props: [\n {\n value: nodes,\n propType: TreeViewPropTypes.Array,\n },\n ],\n brackets: arrayBrackets,\n };\n }\n\n private static getPrimitive(\n source: string | number,\n index: string | number\n ): TreeViewNode {\n const propType = getPropTypeFromKey(typeof source);\n return {\n props: [\n {\n startTag: `${index}: `,\n value: source,\n propType,\n },\n ],\n nodeType: TreeViewNodeTypes.Primitive,\n };\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { JsonConverter } from '../Converters/JsonConverter';\n\nexport class JsonResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n try {\n const json = JSON.parse(data);\n\n return {\n data: JsonConverter.convert(json),\n format: ContentTypesFormat.Json,\n };\n } catch (e) {\n return super.resolve(data);\n }\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\n\nexport class TextConverter {\n public static convert(source: string): Array<TreeViewNode> | TreeViewNode {\n return {\n props: [\n {\n value: source,\n propType: TreeViewPropTypes.String,\n },\n ],\n };\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { TextConverter } from '../Converters/TextConverter';\n\nexport class TextResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n return {\n data: TextConverter.convert(data),\n format: ContentTypesFormat.Text,\n };\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewProp } from '../../models/TreeViewProp';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\nimport { getPropTypeFromKey } from './EnumTypeGetter';\n\nexport class XmlConverter {\n public static convert(source: Document): Array<TreeViewNode> | TreeViewNode {\n if (source.childElementCount > 1) {\n return this.convertObject(source.childNodes);\n }\n\n return { props: [this.convertProp(source.children[0])] };\n }\n\n private static convertProp(source: any): TreeViewProp {\n const name: string = source.tagName;\n let value: Array<TreeViewNode> | string;\n let propType: TreeViewPropTypes;\n\n if (source.childElementCount > 0) {\n value = this.convertObject(source.children);\n propType = TreeViewPropTypes.Array;\n } else {\n value = source.textContent;\n propType = getPropTypeFromKey(typeof value);\n }\n\n return {\n startTag: `<${name}>`,\n endTag: `</${name}>`,\n value,\n propType,\n };\n }\n\n private static convertObject(childs: any): Array<TreeViewNode> {\n const props = Array<TreeViewProp>();\n for (const item of childs) {\n props.push(this.convertProp(item));\n }\n\n return [\n {\n props,\n },\n ];\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { XmlConverter } from '../Converters/XmlConverter';\n\nexport class XmlResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n try {\n const oParser = new DOMParser();\n const oDOM = oParser.parseFromString(data, 'text/xml');\n\n if (\n oDOM.all.length > 0 &&\n oDOM.getElementsByTagName('parsererror').length === 0\n ) {\n return {\n data: XmlConverter.convert(oDOM),\n format: ContentTypesFormat.Xml,\n };\n }\n } catch (e) {}\n\n return super.resolve(data);\n }\n}\n","import { ResolverResult } from '../models/ResolverResult';\nimport { AbstractContentResolver } from './AbstractContentResolver';\nimport { JsonResolver } from './Resolvers/JsonResolver';\nimport { TextResolver } from './Resolvers/TextResolver';\nimport { XmlResolver } from './Resolvers/XmlResolver';\n\nexport class ContentResolver {\n private chain: AbstractContentResolver;\n\n constructor() {\n this.chain = new JsonResolver(new XmlResolver(new TextResolver(null)));\n }\n\n public resolve(data: string): ResolverResult {\n return this.chain.resolve(data);\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { ContentResolver } from './ContentResolver/ContentResolver';\nimport { ContentTypesFormat } from './models/ContentTypesFormat';\nimport { ResolverResult } from './models/ResolverResult';\nimport { TreeViewNodeComponent } from './tree-view-node/tree-view-node.component';\n\n@Component({\n selector: 'tree-view',\n templateUrl: './tree-view.component.html',\n styleUrls: ['./tree-view.component.css'],\n})\nexport class TreeViewComponent implements OnChanges {\n @ViewChildren('node') treeViewNodes: QueryList<TreeViewNodeComponent>;\n\n @Input() data: string;\n @Input() maxTextLength: number = 1200;\n @Input() maxRootItems: number = 10;\n\n public resolved: ResolverResult;\n public collapsed: boolean;\n public allShow: boolean;\n public rawView: boolean;\n public ContentTypesFormat = ContentTypesFormat;\n\n public get IsArray(): boolean {\n return this.data ? Array.isArray(this.resolved.data) : false;\n }\n\n public get hasCollapse(): boolean {\n if (!this.data) {\n return false;\n }\n\n return this.resolved.format === ContentTypesFormat.Text\n ? this.hasTextCollapse()\n : this.hasNodeCollapse();\n }\n\n public get format(): string {\n return !this.rawView ? this.resolved.format : ContentTypesFormat.Text;\n }\n\n constructor(private clipboardService: ClipboardService) {}\n\n ngOnChanges(): void {\n const contentResolver = new ContentResolver();\n this.allShow = false;\n this.rawView = false;\n this.resolved = contentResolver.resolve(this.data);\n this.collapsed = this.hasCollapse;\n }\n\n public expandToggle(): void {\n this.collapsed = !this.collapsed;\n }\n\n public toggleExpandAll() {\n if (this.allShow) {\n this.treeViewNodes.forEach((x) => x.collapseAll());\n } else {\n this.treeViewNodes.forEach((x) => x.expandAll());\n }\n\n this.collapsed = this.hasCollapse ? this.allShow : false;\n this.allShow = !this.allShow;\n }\n\n public toggleRawView() {\n this.rawView = !this.rawView;\n }\n\n public copyToClipboard() {\n this.clipboardService.copy(this.data);\n }\n\n private hasTextCollapse(): boolean {\n return this.data.length > this.maxTextLength;\n }\n\n private hasNodeCollapse(): boolean {\n if (!Array.isArray(this.resolved.data)) {\n return this.resolved.data.props.length > this.maxRootItems;\n }\n\n return false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport {\n TranslateLoader,\n TranslateModule,\n TranslateStore,\n} from '@ngx-translate/core';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ToastrModule } from 'ngx-toastr';\nimport { Observable, of } from 'rxjs';\nimport { DebounceDirective } from './forms/directives/debounce.directive';\nimport { FieldInputComponent } from './forms/widgets/field/field-input/field-input.component';\nimport { NumberInputComponent } from './forms/widgets/field/field-input/number-input.component';\nimport { GeneralErrorsComponent } from './forms/widgets/general-errors/general-errors.component';\nimport { AppSettings } from './models/AppSettings';\nimport { IndiginaConfiguration } from './models/IndiginaConfiguration';\nimport { LocaleSettingsService } from './services/locale-settings.service';\nimport { MenuItemGroupComponent } from './widgets/side-menu/menu-item-group/menu-item-group.component';\nimport { SideMenuComponent } from './widgets/side-menu/side-menu.component';\nimport { TreeViewNodePropComponent } from './widgets/tree-view/tree-view-node-prop/tree-view-node-prop.component';\nimport { TreeViewNodeComponent } from './widgets/tree-view/tree-view-node/tree-view-node.component';\nimport { TreeViewComponent } from './widgets/tree-view/tree-view.component';\n\nlet defaultConfig: IndiginaConfiguration = {\n langs: {\n getTranslation(): Observable<any> {\n return of({});\n },\n },\n appSettings: {\n accountUrl: '',\n apiUrl: '',\n toastrTimeOut: 2500,\n oidc: {\n clientId: '',\n authority: '',\n issuer: '',\n },\n azureB2C: {\n clientId: '',\n authority: '',\n knownAuthorities: [''],\n },\n },\n};\n\n@NgModule({\n declarations: [\n SideMenuComponent,\n MenuItemGroupComponent,\n TreeViewComponent,\n TreeViewNodeComponent,\n TreeViewNodePropComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n FieldInputComponent,\n NumberInputComponent,\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n TranslateModule.forChild({\n loader: {\n provide: TranslateLoader,\n useFactory: TranslateLoaderFactory,\n deps: [IndiginaConfiguration, HttpClient],\n },\n }),\n LoadingBarHttpClientModule,\n CommonModule,\n RouterModule,\n ReactiveFormsModule,\n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: defaultConfig,\n },\n {\n provide: AppSettings,\n useFactory: AppSettingsFactory,\n deps: [IndiginaConfiguration],\n },\n TranslateStore,\n ],\n exports: [\n SideMenuComponent,\n TreeViewComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n FieldInputComponent,\n TranslateModule,\n ClipboardModule,\n LoadingBarHttpClientModule,\n ToastrModule,\n BrowserAnimationsModule,\n NumberInputComponent,\n ],\n})\nexport class IndiginaModule {\n public static forRoot(\n configuration: IndiginaConfiguration\n ): ModuleWithProviders<IndiginaModule> {\n return {\n ngModule: IndiginaModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: configuration ? configuration : defaultConfig,\n },\n ],\n };\n }\n}\n\nexport function LocaleServiceSettingsFactory(\n localeService: LocaleSettingsService\n) {\n return function () {\n localeService.init();\n };\n}\n\nexport function TranslateLoaderFactory(\n configuration: IndiginaConfiguration\n): TranslateLoader {\n return configuration.langs;\n}\n\nexport function AppSettingsFactory(configuration: IndiginaConfiguration) {\n return configuration.appSettings;\n}\n","import { IEntityEndpoints } from './IEntityEndpoints';\nimport { State, toODataString } from '@progress/kendo-data-query';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { IActivityEndpoints } from './IActivityEndpoints';\n\nexport const endpoints = {\n signalr: {\n eventsHub: 'EventsHub',\n },\n oidc: {\n config: 'oidc/config',\n },\n members: {\n me: 'members/me',\n },\n admins: {\n ...buildEntityEndpoints('admins'),\n roles: {\n ...buildEntityEndpoints('admins/roles'),\n },\n },\n system: {\n info: 'system/info',\n },\n firstUser: 'admins/first',\n partners: buildEntityEndpoints('partners'),\n permissions: {\n all: (type: MemberTypes) => `permissions/${type}s`,\n member: (id: string) => `permissions/${id}`,\n mine: 'permissions/me',\n },\n users: {\n ...buildEntityEndpoints('users'),\n roles: {\n ...buildEntityEndpoints('users/roles'),\n },\n },\n apiTokens: buildEntityEndpoints('apiTokens'),\n};\n\nconst guidFormat = /'((\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1})'/g;\nexport function buildEntityEndpoints(name: string): IEntityEndpoints {\n return {\n path: name,\n query: (state: State) =>\n `${name}?${toODataString(state, { utcDates: true }).replace(\n guidFormat,\n '$1'\n )}`,\n entityPath: (id: string) => `${name}/${id}`,\n };\n}\nexport function buildActivityEndpoints(name: string): IActivityEndpoints {\n return {\n query: (state: State) =>\n `activities/${name}?${toODataString(state, {\n utcDates: true,\n }).replace(guidFormat, '$1')}`,\n search: (state: State, searchTerm: string) => {\n let uri = `activities/${name}/search?${toODataString(state, {\n utcDates: true,\n })}`;\n if (searchTerm) {\n uri += `&searchTerm=${searchTerm}`;\n }\n\n return uri;\n },\n detailedActivity: (id: string, partnerId: string) =>\n partnerId\n ? `activities/${name}/${id}/${partnerId}`\n : `activities/${name}/${id}`,\n };\n}\n","export enum EventNames {\n UserUpdated = 'userUpdated',\n PermissionsUpdated = 'permissionsUpdated',\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { AuthProvider } from './auth.providers/AuthProvider';\nimport { endpoints } from './endpoints';\nimport { EventNames } from './signalr/EventNames';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminUriPart = '/admin/';\n\nexport abstract class BaseAccountService<T> {\n public user = new BehaviorSubject<T>(null);\n\n constructor(\n public resolver: AuthProviderResolver,\n protected httpService: HttpService,\n protected settingsService: SettingsService,\n protected signalRService: SignalRService\n ) {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n this.initialize(provider);\n })\n )\n .subscribe();\n }\n\n login() {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.login();\n })\n )\n .subscribe();\n }\n\n logout() {\n this.settingsService.clearLoginAsUser();\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.logout();\n })\n )\n .subscribe();\n }\n\n private initialize(provider: AuthProvider) {\n this.getCurrentUser().subscribe((user) => {\n if (!user) {\n return;\n }\n\n const path = this.settingsService.getCallbackPath();\n if (path) {\n this.settingsService.clearCallbackPath();\n window.location.href = window.location.origin + path;\n\n return;\n }\n\n if (\n this.isAdmin(user) &&\n !window.location.pathname.startsWith(adminUriPart)\n ) {\n window.location.href = `${window.location.origin}${adminUriPart}`;\n\n return;\n }\n\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.startConnection(token);\n this.signalRService\n .on<T>(EventNames.UserUpdated)\n .subscribe(async () => {\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.reconnect(token);\n });\n this.httpService\n .get<T>(endpoints.members.me)\n .subscribe((user) => this.user.next(user));\n });\n });\n });\n }\n\n getCurrentUser(): Observable<T> {\n return this.resolver.getProvider().pipe(\n mergeMap((provider) => {\n if (this.user.getValue() || !provider.isUserLoggedIn()) {\n return this.user;\n }\n\n return provider.getAccessToken().pipe(\n mergeMap(() => {\n return this.httpService.get(endpoints.members.me).pipe(\n map((user: T) => {\n this.user.next(user);\n\n return user;\n })\n );\n })\n );\n })\n );\n }\n\n public isUserLoggedIn(): Observable<boolean> {\n return this.resolver\n .getProvider()\n .pipe(map((provider) => provider.isUserLoggedIn()));\n }\n\n public abstract isAdmin(member: T): boolean;\n}\n","import { ISubscriptionControl } from './ISubscriptionControl';\nimport { Observable, Subscription } from 'rxjs';\n\nexport class ReEntrySubscription<T> implements ISubscriptionControl {\n private subscription: Subscription;\n\n constructor(\n private observable: Observable<T>,\n private action: (event: T) => void\n ) {}\n\n public get connected(): boolean {\n return !this.subscription.closed;\n }\n\n public resume(): void {\n this.subscription = this.observable.subscribe(this.action);\n }\n\n public pause(): void {\n this.subscription.unsubscribe();\n }\n}\n","import {\n AbstractControl,\n AbstractControlOptions,\n AsyncValidatorFn,\n FormGroup,\n ValidatorFn,\n FormControl,\n} from '@angular/forms';\n\nexport class FormGroupWithErrors extends FormGroup {\n generalErrors: string[] = [];\n\n constructor(\n controls: { [key: string]: AbstractControl },\n validatorOrOpts?:\n | ValidatorFn\n | ValidatorFn[]\n | AbstractControlOptions\n | null,\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\n ) {\n super(controls, validatorOrOpts, asyncValidator);\n }\n\n public getControl(name: string): AbstractControl {\n if (!this.contains(name)) {\n this.addControl(name, new FormControl({}));\n }\n\n return this.get(name);\n }\n\n public applyServerErrors(\n error: { title?: string; errors: { [key: string]: string[] } },\n form?: FormGroupWithErrors\n ): void {\n this.generalErrors = [];\n if (error.title) {\n this.generalErrors.push(error.title);\n }\n\n if (!form) {\n form = this;\n }\n\n for (const key in error.errors) {\n const ctrl = form.controls[key];\n if (ctrl) {\n ctrl.setErrors({ serverErrorMsg: error.errors[key].join(',') });\n } else {\n this.generalErrors.push(error.errors[key].join(','));\n }\n }\n }\n}\n","export enum HttpCodes {\n BadRequest = 400,\n Forbidden = 403,\n InternalServerError = 500,\n NotFound = 404,\n OK = 200,\n Unauthorized = 401,\n}\n","import { NamedModel } from './NamedModel';\n\nexport const HttpMethods: NamedModel[] = [\n { name: 'POST', id: 'POST' },\n { name: 'PUT', id: 'PUT' },\n { name: 'GET', id: 'GET' },\n { name: 'DELETE', id: 'DELETE' },\n];\n","import { Injectable } from '@angular/core';\n\nconst callbackPathKey = 'callbackPath';\nconst homePath = '/home';\nconst loginAsKey = 'X-User-Id';\nconst tokenKey = 'access_token';\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService {\n public putCurrentCallbackPath() {\n this.putCallbackPath(window.location.pathname + window.location.hash);\n }\n\n public putCallbackPath(pathUri: string): void {\n if (!this.getCallbackPath() && pathUri !== homePath) {\n localStorage.setItem(callbackPathKey, pathUri);\n }\n }\n\n public getCallbackPath(): string {\n return localStorage.getItem(callbackPathKey);\n }\n\n public clearCallbackPath(): void {\n localStorage.removeItem(callbackPathKey);\n }\n\n public setLoginAsUser(id: string): void {\n localStorage.setItem(loginAsKey, id);\n }\n\n public getLoginAsUser(): string {\n return localStorage.getItem(loginAsKey);\n }\n\n public clearLoginAsUser(): void {\n localStorage.removeItem(loginAsKey);\n }\n\n public setToken(token: string) {\n localStorage.setItem(tokenKey, token);\n }\n\n public getToken(): string {\n return localStorage.getItem(tokenKey);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppSettings } from '../models/AppSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppToastrService {\n constructor(\n private toastr: ToastrService,\n private appSettings: AppSettings\n ) {}\n\n private timeout = this.appSettings.toastrTimeOut;\n\n public showError(message: string, title: string = 'Error'): void {\n this.toastr.error(message, title, { timeOut: this.timeout });\n }\n\n public showSuccess(message: string, title: string = ''): void {\n this.toastr.success(message, title, { timeOut: this.timeout });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, of, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AppSettings } from '../models/AppSettings';\nimport { CustomHttpErrorResponse } from '../models/CustomHttpErrorResponse';\nimport { HttpCodes } from '../models/HttpCodes';\nimport { SettingsService } from './settings.service';\nimport { AppToastrService } from './toastr.service';\n\nconst absoluteUrlRegExp = /^http(s)?:\\/\\//;\nconst slash = '/';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpService {\n constructor(\n private appToastrService: AppToastrService,\n private httpClient: HttpClient,\n private appSettings: AppSettings,\n private translate: TranslateService,\n private router: Router,\n private settingsService: SettingsService\n ) {}\n\n get<T>(path: string): Observable<T> {\n return this.httpClient\n .get<T>(this.createUrl(path))\n .pipe(\n catchError((err: CustomHttpErrorResponse) =>\n this.handleServerError(err)\n )\n );\n }\n\n delete(path: string): Observable<object> {\n return this.httpClient.delete(this.createUrl(path)).pipe(\n tap(() => this.showSuccessMessage('ToastrMessages.RemovedSuccessfully')),\n catchError((err: CustomHttpErrorResponse) => this.handleServerError(err))\n );\n }\n\n post<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null\n ): Observable<T> {\n return this.httpClient.post<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully'\n )\n ),\n catchError((err) => this.handleServerError(err))\n );\n }\n\n put<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null\n ): Observable<T> {\n return this.httpClient.put<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully'\n )\n ),\n catchError((err) => this.handleServerError(err))\n );\n }\n\n private createUrl(path: string): string {\n if (absoluteUrlRegExp.test(path)) {\n return path;\n }\n\n path = path.startsWith(slash) ? path.slice(1) : path;\n const apiUrl = this.appSettings.apiUrl.endsWith(slash)\n ? this.appSettings.apiUrl\n : this.appSettings.apiUrl + slash;\n\n return apiUrl + path;\n }\n\n private handleServerError(error: CustomHttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n this.appToastrService.showError(\n 'An error occurred: ' + error.error.message\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Unauthorized) {\n this.settingsService.putCurrentCallbackPath();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Unauthorized')\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Forbidden) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Forbidden')\n );\n this.router.navigate(['forbidden']);\n\n return of(null);\n }\n\n if (error.status === HttpCodes.NotFound) {\n if (!!this.settingsService.getLoginAsUser()) {\n this.settingsService.clearLoginAsUser();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.CanNotLoginAsUser')\n );\n setTimeout(() => {\n window.location.href = '/';\n }, 1000);\n }\n\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.NotFound')\n );\n\n return of(null);\n }\n\n if (error.status >= HttpCodes.InternalServerError) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.ServerError') + error.error.title\n );\n\n return of(null);\n }\n\n return throwError(error);\n }\n\n private showSuccessMessage(message: string) {\n this.appToastrService.showSuccess(this.translate.instant(message));\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ISubscriptionControl } from '../../extensions/ISubscriptionControl';\n\n@Component({\n selector: 'live-updates-control',\n styleUrls: ['./live-updates-control.component.css'],\n templateUrl: './live-updates-control.component.html',\n})\nexport class LiveUpdatesControlComponent implements OnInit {\n @Input() subscription: ISubscriptionControl;\n\n ngOnInit(): void {\n this.subscription.resume();\n }\n\n public toggle(): void {\n this.subscription.connected\n ? this.subscription.pause()\n : this.subscription.resume();\n }\n}\n","export enum AuthProviders {\n IdentityServer = 'IdentityServer',\n AzureB2C = 'AzureB2C',\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class AuthProvider {\n public abstract initialize(): Observable<boolean>;\n public abstract login();\n public abstract logout();\n public abstract isUserLoggedIn(): boolean;\n public abstract getAccessToken(): Observable<string>;\n}\n","import { MsalService } from '@azure/msal-angular';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { from, Observable, of } from 'rxjs';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { AuthProvider } from './AuthProvider';\n\nexport class AzureB2CProvider extends AuthProvider {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService\n ) {\n super();\n }\n\n public initialize(): Observable<boolean> {\n return of(true);\n }\n\n public login() {\n if (!this.isUserLoggedIn()) {\n this.authService.loginRedirect().subscribe();\n }\n }\n\n public logout() {\n this.authService.logoutRedirect({\n postLogoutRedirectUri: location.origin,\n });\n }\n\n public getAccessToken(): Observable<string> {\n const request = {\n scopes: ['openid', 'offline_access', 'profile'],\n };\n\n return from(\n this.authService.instance\n .acquireTokenSilent(request)\n .then((authenticationResult) => {\n const token = authenticationResult.idToken;\n this.settingsService.setToken(token);\n\n return token;\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n await this.authService.instance.acquireTokenRedirect(request);\n\n return this.settingsService.getToken();\n }\n })\n );\n }\n\n public isUserLoggedIn = (): boolean =>\n !!this.authService.instance.getActiveAccount()?.localAccountId;\n}\n","import { AuthConfig, OAuthService } from 'angular-oauth2-oidc';\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\nimport { from, Observable, of } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { IndiginaConfiguration } from '../../angular/models/IndiginaConfiguration';\nimport { AuthProvider } from './AuthProvider';\n\nconst homePath = '/home';\n\nexport class OAuthProvider extends AuthProvider {\n constructor(\n private oauthService: OAuthService,\n private configuration: IndiginaConfiguration\n ) {\n super();\n }\n\n public initialize(): Observable<boolean> {\n const authConfig: AuthConfig = {\n issuer: this.configuration.appSettings.oidc.issuer,\n redirectUri: window.location.origin + '/login/callback',\n clientId: this.configuration.appSettings.oidc.clientId,\n scope: 'openid profile offline_access',\n postLogoutRedirectUri: window.location.origin + homePath,\n silentRefreshRedirectUri: window.location.origin + '/silent-renew.html',\n };\n\n return this.configure(authConfig);\n }\n\n public login() {\n this.oauthService.initLoginFlow();\n }\n\n public logout() {\n this.oauthService.logOut();\n }\n\n public getAccessToken(): Observable<string> {\n return of(this.oauthService.getAccessToken());\n }\n\n public isUserLoggedIn = (): boolean =>\n this.oauthService.hasValidAccessToken();\n\n private configure(authConfig: AuthConfig): Observable<boolean> {\n this.oauthService.configure(authConfig);\n this.oauthService.tokenValidationHandler = new JwksValidationHandler();\n this.oauthService.setupAutomaticSilentRefresh();\n\n return from(\n this.oauthService.loadDiscoveryDocument(\n authConfig.issuer + '/identity/.well-known/openid-configuration'\n )\n ).pipe(mergeMap(() => from(this.oauthService.tryLoginImplicitFlow())));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProviders } from '../models/AuthProviders';\nimport { SystemInfo } from '../models/SystemInfo';\nimport { AuthProvider } from '../services/auth.providers/AuthProvider';\nimport { AzureB2CProvider } from './../services/auth.providers/azureb2c.provider';\nimport { OAuthProvider } from './../services/auth.providers/oauth.provider';\nimport { endpoints } from './endpoints';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthProviderResolver {\n private AuthProvider$ = new BehaviorSubject<AuthProvider>(null);\n\n constructor(\n httpService: HttpService,\n oauthService: OAuthService,\n msalService: MsalService,\n settingsService: SettingsService,\n indiginaConfiguration: IndiginaConfiguration\n ) {\n httpService.get<SystemInfo>(endpoints.system.info).subscribe((info) => {\n let provider: AuthProvider;\n if (info.identityProvider === AuthProviders.IdentityServer) {\n provider = new OAuthProvider(oauthService, indiginaConfiguration);\n } else {\n provider = new AzureB2CProvider(msalService, settingsService);\n }\n\n provider.initialize().subscribe(() => this.AuthProvider$.next(provider));\n });\n }\n\n public getProvider = (): Observable<AuthProvider> =>\n this.AuthProvider$.pipe(filter((x) => !!x));\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { endpoints } from '../endpoints';\n\n@Injectable({ providedIn: 'root' })\nexport class SignalRService {\n protected isConnectionEstablished = false;\n protected hubConnection: signalR.HubConnection;\n private eventEmitters: { [eventName: string]: EventEmitter<any> } = {};\n\n constructor(private appSettings: AppSettings) {}\n\n private createConnection(token: string) {\n this.hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.appSettings.apiUrl + endpoints.signalr.eventsHub, {\n accessTokenFactory: () => {\n return token;\n },\n })\n .configureLogging(\n this.appSettings.signalRLogLevel ?? signalR.LogLevel.None\n )\n .build();\n\n this.hubConnection.onclose((err?) => {\n if (err !== undefined) {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n }\n });\n }\n\n public startConnection(token: string): void {\n if (!this.isConnectionEstablished) {\n this.createConnection(token);\n this.hubConnection\n .start()\n .then(() => {\n this.isConnectionEstablished = true;\n Object.keys(this.eventEmitters).forEach((eventName) => {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n });\n })\n .catch(() => {\n console.warn('Error while establishing connection, retrying...');\n setTimeout(() => this.startConnection(token), 5000);\n });\n }\n }\n\n public reconnect(token: string) {\n if (this.isConnectionEstablished) {\n this.hubConnection.stop().then(() => {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n });\n }\n }\n\n public on<T>(eventName: string): EventEmitter<T> {\n if (!this.eventEmitters[eventName]) {\n this.eventEmitters[eventName] = new EventEmitter<T>();\n if (this.hubConnection) {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n }\n }\n\n return this.eventEmitters[eventName] as EventEmitter<T>;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { Member } from '../models/Member';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { BaseAccountService } from './base.account.service';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminKey = 'Admin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService extends BaseAccountService<Member> {\n constructor(\n public resolver: AuthProviderResolver,\n httpService: HttpService,\n settingsService: SettingsService,\n signalRService: SignalRService\n ) {\n super(resolver, httpService, settingsService, signalRService);\n }\n\n public isAdmin = (member: Member): boolean =>\n member?.type === adminKey ?? false;\n}\n","import {\n Component,\n Input,\n HostListener,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { Member } from '../../models/Member';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'account-menu',\n templateUrl: './account-menu.component.html',\n styleUrls: ['./account-menu.component.css'],\n})\nexport class AccountMenuComponent {\n @ViewChild('accountMenuElement') accountMenu: ElementRef;\n @Input() user: Member;\n expand = false;\n languageSelectorVisible = false;\n constructor(\n private eref: ElementRef,\n private accountService: AccountService,\n private appSettings: AppSettings\n ) {}\n\n get fullName(): string {\n return `${this.user?.firstName} ${this.user?.lastName}`;\n }\n\n get accountUrl(): string {\n return this.appSettings.accountUrl;\n }\n\n toogle(): void {\n this.expand = !this.expand;\n }\n\n logout(): void {\n this.accountService.logout();\n }\n\n openLanguageSelector(event: MouseEvent): void {\n event.stopPropagation();\n this.toogle();\n this.languageSelectorVisible = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target) && this.expand) {\n this.toogle();\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult } from '@azure/msal-browser';\nimport { SettingsService } from '../../angular/services/settings.service';\n\nconst resetPasswordCanceledErrorCode = 'AADB2C90091';\n\n@Component({\n selector: 'lib-azure-login',\n template: '',\n})\nexport class AzureLoginCallbackComponent {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.authService.handleRedirectObservable().subscribe(\n (result: AuthenticationResult) => {\n if (result) {\n this.settingsService.setToken(result.idToken);\n this.authService.instance.setActiveAccount(result.account);\n }\n\n this.router.navigate(['home']);\n },\n (error) => {\n if (error.errorMessage.includes(resetPasswordCanceledErrorCode)) {\n this.router.navigate(['home']);\n }\n }\n );\n }\n\n public logout() {\n this.authService.logout();\n }\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { Language } from '../../angular/models/Language';\nimport { LocaleSettingsService } from '../../angular/services/locale-settings.service';\n\n@Component({\n selector: 'language-selector',\n templateUrl: './language-selector.component.html',\n styleUrls: ['./language-selector.component.css'],\n})\nexport class LanguageSelectorComponent {\n @Input() visible: boolean;\n @Output() visibleChange = new EventEmitter<boolean>();\n currentLanguageCode = '';\n languages: Language[];\n\n constructor(\n private eref: ElementRef,\n private settings: LocaleSettingsService\n ) {\n this.currentLanguageCode = this.settings.getLocale();\n this.languages = this.settings.getLocales();\n }\n\n async changeLanguage(code: string) {\n this.currentLanguageCode = code;\n this.settings.setLocale(this.currentLanguageCode);\n this.close();\n }\n\n close(): void {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","import {\n BrowserCacheLocation,\n Configuration,\n IPublicClientApplication,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\n\nconst isIE =\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\n window.navigator.userAgent.indexOf('Trident/') > -1;\n\nexport const MSALInstanceFactory = (\n config: IndiginaConfiguration\n): IPublicClientApplication => {\n const msalConfig: Configuration = {\n auth: {\n clientId: config.appSettings.azureB2C.clientId,\n authority: config.appSettings.azureB2C.authority,\n knownAuthorities: config.appSettings.azureB2C.knownAuthorities,\n redirectUri: window.location.origin + '/azure/login/callback',\n postLogoutRedirectUri: '/',\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.SessionStorage,\n storeAuthStateInCookie: isIE,\n },\n system: {\n loggerOptions: {\n loggerCallback: () => {},\n piiLoggingEnabled: false,\n },\n },\n };\n\n return new PublicClientApplication(msalConfig);\n};\n","import { endpoints } from './endpoints';\nimport { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { Permissions } from './../models/Permissions';\nimport { HttpService } from '../angular/services/http.service';\nimport { SignalRService } from './signalr/signalr.service';\nimport { EventNames } from './signalr/EventNames';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class PermissionsService {\n private loaded = false;\n public mine = new BehaviorSubject<Permissions>({});\n\n constructor(\n private httpService: HttpService,\n private accountService: AccountService,\n private signalRService: SignalRService\n ) {\n this.accountService.user.subscribe(async (user) => {\n if (!user) {\n this.mine.next({});\n\n return;\n }\n\n this.httpService\n .get<Permissions>(endpoints.permissions.mine)\n .subscribe((permissions) => {\n this.mine.next(permissions);\n this.loaded = true;\n this.signalRService\n .on<string>(EventNames.PermissionsUpdated)\n .subscribe(() => {\n this.getPermissionsFromServer();\n });\n });\n });\n }\n\n public getAll(memberType: MemberTypes): Observable<Permissions> {\n return this.httpService.get<Permissions>(\n endpoints.permissions.all(memberType)\n );\n }\n\n public getMine(): Observable<Permissions> {\n if (this.loaded) {\n return this.mine;\n }\n\n return this.getPermissionsFromServer();\n }\n\n private getPermissionsFromServer(): Observable<Permissions> {\n return this.httpService.get<Permissions>(endpoints.permissions.mine).pipe(\n map((permissions) => {\n this.mine.next(permissions);\n\n return permissions;\n })\n );\n }\n}\n","import { Directive, Input, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PermissionTypes } from '../models/PermissionTypes';\nimport { PermissionsService } from '../services/permissions.service';\n\nconst hiddenClass = 'hidden';\n\n@Directive({\n selector: '[requirePermission]',\n})\nexport class RequirePermissionDirective implements OnInit {\n @Input()\n permissionType: PermissionTypes | PermissionTypes[];\n @Input()\n permissionCategory?: string;\n\n constructor(\n private elementRef: ElementRef,\n private route: ActivatedRoute,\n private permissionsService: PermissionsService,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.hide();\n const category = this.permissionCategory\n ? this.permissionCategory\n : this.getRouteCategory(this.route);\n\n if (!category) {\n this.show();\n\n return;\n }\n\n this.permissionsService.mine.subscribe((permissions) => {\n const hasAccess =\n permissions[category] && this.hasType(permissions[category]);\n if (hasAccess) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n private hide() {\n this.renderer.addClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private show() {\n this.renderer.removeClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private hasType(types: PermissionTypes[]) {\n return Array.isArray(this.permissionType)\n ? types.map((x) => this.permissionType.includes(x)).some((x) => x)\n : types.includes(this.permissionType);\n }\n\n private getRouteCategory(route: ActivatedRoute): string {\n const routeData = route.snapshot.data;\n if (routeData && routeData.permission) {\n return routeData.permission.category;\n }\n\n if (this.route.parent) {\n return this.getRouteCategory(this.route.parent);\n }\n\n return null;\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SettingsService } from '../angular/services/settings.service';\n\nconst AuthorizationHeader = 'Authorization';\n\n@Injectable()\nexport class AuthHeadersInterceptor implements HttpInterceptor {\n constructor(private settingsService: SettingsService) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (!request.headers.keys().find((x) => x === AuthorizationHeader)) {\n const token = this.settingsService.getToken();\n if (token) {\n const modified = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n return next.handle(modified);\n } else {\n return next.handle(request);\n }\n }\n\n return next.handle(request);\n }\n}\n","export enum FieldTypes {\n Text,\n Checkbox,\n Dropdown,\n Multiselect,\n}\n","import { ActivityFilter } from '../../models/ActivityFilter';\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { CustomFilterElement } from '../../models/CustomFilterElement';\nimport { FieldTypes } from '../../models/FieldTypes';\nimport { ActivityFilterService } from '../../services/activity.filter.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst allKey = 'All';\nconst defaultValueField = 'id';\n\n@Component({\n selector: 'activity-filter',\n templateUrl: './activity-filter.component.html',\n styleUrls: ['./activity-filter.component.less'],\n})\nexport class ActivityFilterComponent implements OnInit, OnChanges {\n @Input() showArchiveSwitcher: boolean = true;\n @Input() showSearhText: boolean = true;\n @Input() customFilterElements: CustomFilterElement[];\n @Input() filterService: ActivityFilterService;\n\n public filter: ActivityFilter;\n public FieldTypes = FieldTypes;\n\n constructor(private translate: TranslateService) {}\n\n ngOnInit(): void {\n this.customFilterElements?.forEach(\n (element) =>\n (element.valueField = element.valueField\n ? element.valueField\n : defaultValueField)\n );\n this.filterService.filter$.subscribe((filter) => {\n this.filter = filter;\n this.changeFilter();\n });\n }\n\n ngOnChanges(): void {\n this.changeFilter();\n }\n\n public defaultNamedModel: NamedModel = {\n name: this.translate.instant(allKey),\n id: null,\n };\n\n public setTodayFilter() {\n this.filterService.setToday();\n }\n\n public clearFilter() {\n this.customFilterElements?.forEach((element) => {\n element.filter.value = null;\n if (element.filter.values) {\n element.filter.values = [];\n }\n });\n this.filterService.reset();\n this.emitChangeEvents();\n }\n\n public applyFilter() {\n this.setCustomFilters();\n this.filterService.applyFilter(this.filter);\n }\n\n public fieldChange(\n value: string | number | boolean | string[],\n element: CustomFilterElement\n ) {\n if (element.change) {\n element.change(value);\n }\n }\n\n private fillFilter() {\n if (!this.filter) {\n return;\n }\n\n this.customFilterElements?.forEach((element) => {\n element.filter = { ...element.filter, value: null, values: null };\n });\n\n this.filter.customFilters?.forEach((filter) => {\n const element = this.customFilterElements?.find(\n (x) =>\n x.filter.field === filter.field &&\n x.filter.filterTarget === filter.filterTarget\n );\n if (element) {\n element.filter = Object.assign({}, filter);\n }\n });\n }\n\n private setCustomFilters() {\n this.customFilterElements?.forEach((element) => {\n const index = this.filter.customFilters?.findIndex(\n (x) => x.field === element.filter.field\n );\n if (index !== -1) {\n this.filter.customFilters.splice(index, 1);\n }\n });\n\n this.customFilterElements?.forEach((element) =>\n this.filter.customFilters.push(element.filter)\n );\n }\n\n private fixMultiselectFilters() {\n const multiSelectFilters = this.customFilterElements?.map((element) => {\n if (element.fieldType === FieldTypes.Multiselect) {\n return element.filter;\n }\n });\n if (multiSelectFilters) {\n multiSelectFilters.forEach((filter) => {\n if (filter?.value) {\n filter.values = [filter.value as string];\n filter.value = null;\n }\n });\n }\n }\n\n private changeFilter() {\n this.fillFilter();\n this.fixMultiselectFilters();\n this.emitChangeEvents();\n }\n\n private emitChangeEvents() {\n this.customFilterElements?.forEach((element) => {\n if (element.filter.value || element.filter.values) {\n this.fieldChange(\n element.filter.value ?? element.filter.values,\n element\n );\n }\n });\n }\n}\n","import { Component, ViewChild, TemplateRef } from '@angular/core';\nimport { DialogService, DialogRef } from '@progress/kendo-angular-dialog';\n\n@Component({\n selector: 'confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css'],\n})\nexport class ConfirmDialogComponent {\n private dialog: DialogRef;\n private callback: () => void;\n @ViewChild('dialogActions', { static: true })\n public dialogActions: TemplateRef<any>;\n constructor(private dialogService: DialogService) {}\n\n cancel(): void {\n this.dialog.close();\n this.callback = undefined;\n }\n\n confirm() {\n this.callback();\n this.cancel();\n }\n\n public open(content: string, callback: () => void) {\n this.callback = callback;\n this.dialog = this.dialogService.open({\n content,\n actions: this.dialogActions,\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport * as momentModule from 'moment-timezone';\nconst moment = momentModule;\n\n@Component({\n selector: 'current-timezone',\n templateUrl: './current-timezone.component.html',\n styleUrls: ['./current-timezone.component.css'],\n})\nexport class CurrentTimezoneComponent implements OnInit {\n public timeZoneAndOffset: string;\n constructor() {}\n\n ngOnInit(): void {\n const timeZone = moment.tz.guess();\n this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');\n }\n}\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'entity-edit-buttons-bar',\n templateUrl: './buttons-bar.component.html',\n styleUrls: ['./buttons-bar.component.css'],\n})\nexport class EntityEditButtonsBarComponent {\n @Input()\n public valid: boolean;\n @Output()\n public save = new EventEmitter<boolean>();\n}\n","import { OnInit, ViewChild, Component, Input } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { FormControl } from '@angular/forms';\nimport { IFormAdapter } from './IFormAdapter';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { GeneralErrorsComponent } from '../../angular/forms/widgets/general-errors/general-errors.component';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'entity-edit-form',\n templateUrl: './entity-edit-form.component.html',\n styleUrls: ['./entity-edit-form.component.css'],\n})\nexport class EntityEditFormComponent implements OnInit {\n public formGroup: FormGroupWithErrors;\n @ViewChild('general_errors')\n generalErrors: GeneralErrorsComponent;\n @Input()\n title: string;\n @Input()\n adapter: IFormAdapter<IdentifiedModel>;\n\n public saveInProgress: boolean;\n\n constructor(private route: ActivatedRoute) {\n this.saveInProgress = false;\n }\n\n ngOnInit() {\n this.route.params.subscribe((params: IdentifiedModel) => {\n this.formGroup = null;\n const formGroup = new FormGroupWithErrors({});\n if (params.id) {\n this.adapter\n .getService()\n .get(params.id)\n .subscribe((model) => {\n formGroup.addControl('id', new FormControl(model.id));\n for (const key of Object.keys(model)) {\n formGroup.addControl(key, new FormControl(model[key]));\n }\n\n this.adapter.setForm(formGroup);\n this.formGroup = formGroup;\n });\n } else {\n this.adapter.setForm(formGroup);\n this.formGroup = formGroup;\n }\n });\n }\n\n save(): void {\n this.saveInProgress = true;\n this.adapter\n .getService()\n .save(this.adapter.getValue())\n .pipe(finalize(() => (this.saveInProgress = false)))\n .subscribe(\n (result: IdentifiedModel) => {\n this.adapter.onSaved(result);\n },\n (error: HttpErrorResponse) => {\n this.formGroup.applyServerErrors(error.error, this.formGroup);\n this.generalErrors.setErrors(this.formGroup.generalErrors);\n }\n );\n }\n}\n","import { Component, Input, ElementRef, OnChanges } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { IdentifiedModel } from '../../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\n\n@Component({\n selector: 'field-dropdown',\n templateUrl: './field-dropdown.component.html',\n styleUrls: ['./field-dropdown.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldDropdownComponent\n extends FieldComponent<string>\n implements OnChanges\n{\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n data: IdentifiedModel[] = [];\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n async ngOnChanges(): Promise<void> {\n await this.getData();\n this.control.setValue(\n (this.data.find((d) => d.id === this.control.value) || this.data[0]).id\n );\n }\n\n private getData() {\n this.service\n .getPage(this.filter ? { filter: this.filter } : {})\n .subscribe((data) => (this.data = data.data));\n }\n}\n","import { Component, Input, ElementRef, OnChanges } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { IdentifiedModel } from '../../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\n\n@Component({\n selector: 'field-multiselect',\n templateUrl: './field-multiselect.component.html',\n styleUrls: ['./field-multiselect.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldMultiSelectComponent\n extends FieldComponent<string[]>\n implements OnChanges\n{\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n data: IdentifiedModel[] = [];\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, []);\n }\n\n ngOnChanges(): void {\n this.getData().subscribe((data) => {\n this.data = data.data;\n this.control.setValue(\n this.control.value.filter(\n (x: string) => this.data.filter((d) => d.id === x).length\n )\n );\n });\n }\n\n private getData() {\n return this.service.getPage(this.filter ? { filter: this.filter } : {});\n }\n}\n","import {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\n\nexport const urlSerialize = (object: object): string => {\n let serialized = '';\n Object.keys(object).forEach((key) => {\n if (typeof object[key] === 'object') {\n const serializedObject = !isEmptyObject(object[key])\n ? JSON.stringify(object[key])\n : '';\n serialized += serializedObject ? `${key}=${serializedObject}&` : '';\n } else {\n serialized +=\n object[key] || object[key] === 0 ? `${key}=${object[key]}&` : '';\n }\n });\n\n return serialized.slice(0, -1);\n};\n\nconst isEmptyObject = (object: object): boolean => {\n return object === null || Object.keys(object).length === 0;\n};\n\nconst isDate = (date) => isNaN(date) && !isNaN(Date.parse(date));\n\nexport const urlDeserialize = (params: URLSearchParams) => {\n const deserialized = {};\n params.forEach((param, key) => {\n if (key === 'sort' || key === 'group') {\n deserialized[key] = JSON.parse(param);\n } else if (key === 'filter') {\n deserialized[key] = transformFilter(JSON.parse(param));\n } else {\n deserialized[key] = param;\n }\n });\n\n return deserialized;\n};\n\nfunction transformFilter(\n gridFilter: CompositeFilterDescriptor\n): CompositeFilterDescriptor {\n transformFilters(gridFilter);\n\n return gridFilter;\n}\n\nfunction transformFilters(gridFilter: CompositeFilterDescriptor) {\n if (gridFilter.filters.length) {\n gridFilter.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n let filterDescriptor = filter as FilterDescriptor;\n filterDescriptor.value = isDate(filterDescriptor.value)\n ? new Date(filterDescriptor.value)\n : filterDescriptor.value;\n\n let compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n transformFilters(compositeFilterDescriptor);\n }\n }\n );\n }\n}\n","import { Observable } from 'rxjs';\nimport {\n Component,\n OnInit,\n ViewChild,\n Input,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n Output,\n} from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport {\n State,\n FilterDescriptor,\n CompositeFilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\nimport {\n DataStateChangeEvent,\n RowClassArgs,\n} from '@progress/kendo-angular-grid';\nimport { Field } from './Field';\nimport { Command } from './Command';\nimport { urlDeserialize, urlSerialize } from './UrlSerializer';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { IEntityService } from '../../services/IEntityService';\nimport { Page } from '../../models/Page';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\n\nconst nameField = 'name';\n\n@Component({\n selector: 'entity-list',\n templateUrl: './entity-list.component.html',\n styleUrls: ['./entity-list.component.css'],\n})\nexport class EntityListComponent implements OnInit, OnChanges {\n @Input()\n public service: IEntityService<NamedModel>;\n @Input()\n public filters: Array<FilterDescriptor | CompositeFilterDescriptor>;\n @Input()\n public fields?: Field[];\n @Input()\n public commands?: Command[];\n @Input()\n public rowClass?: (dataItem: NamedModel, index: number) => {};\n @Input()\n public defaultSort?: SortDescriptor[];\n @Output()\n public filterChange = new EventEmitter<CompositeFilterDescriptor>();\n @ViewChild('confirmDialog', { static: true })\n public dialog: ConfirmDialogComponent;\n public gridState: State = {};\n public page: Page<NamedModel>;\n public loadings = 0;\n public searchTerm: string;\n public selected: string[] = [];\n public gridFields: Field[] = [];\n private defaultFields: Field[] = [\n { name: 'name', label: 'Name', sortable: true, position: 0 },\n ];\n\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router\n ) {\n this.getAllData = this.getAllData.bind(this);\n this.getRowClass = this.getRowClass.bind(this);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes.filters || changes.filters.firstChange) {\n return;\n }\n\n this.getFilteredData();\n }\n\n async ngOnInit() {\n this.gridFields = (this.fields || [])\n .concat(this.defaultFields)\n .sort((left, right) => (left.position || 0) - (right.position || 0));\n this.filters = this.filters ? this.filters : [];\n this.commands = this.commands ? this.commands : [];\n this.route.fragment.subscribe(async (fragment: string) => {\n await this.restoreGridState(new URLSearchParams(fragment));\n });\n\n this.route.firstChild.params.subscribe(async (params: Params) => {\n if (params.id) {\n this.selected[0] = params.id;\n } else {\n this.selected.pop();\n }\n });\n }\n\n public removeHandler({ dataItem }) {\n this.dialog.open(\n this.translate.instant('Confirmation.Delete') +\n ': \"' +\n dataItem.name +\n '\"?',\n () => this.remove(dataItem)\n );\n }\n\n public selectItem({ dataItem }) {\n this.router.navigate([dataItem.id], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onActivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.subscribe((data: { id: string; name: string }) =>\n this.updateGrid(data)\n );\n }\n }\n\n public onDeactivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.unsubscribe();\n }\n }\n\n public dataStateChange(state: DataStateChangeEvent) {\n Object.keys(state).forEach((key) => {\n this.gridState[key] = isNaN(state.skip)\n ? this.gridState[key]\n : state[key];\n });\n\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onSearch(value: string) {\n this.searchTerm = value;\n this.gridState.skip = 0;\n this.getFilteredData();\n }\n\n public getAllData(): Observable<Page<NamedModel>> {\n const state = Object.assign({}, this.gridState);\n delete state.skip;\n delete state.take;\n\n return this.service.getPage(state);\n }\n\n public getRowClass(context: RowClassArgs): Object {\n return this.rowClass && context\n ? this.rowClass(context.dataItem, context.index)\n : {};\n }\n\n private getFilteredData() {\n this.gridState.filter = this.getFilter();\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n protected updateGrid(data: NamedModel) {\n const exists = this.page.data.filter((x) => x.id === data.id);\n if (exists.length) {\n this.page.data[this.page.data.indexOf(exists[0])] = data;\n\n return;\n }\n\n this.page.total++;\n this.page.data.splice(0, 0, data);\n if (this.page.data.length > this.gridState.take) {\n this.page.data.splice(this.page.data.length - 1, 1);\n }\n\n this.selected[0] = data.id;\n this.router.navigate([data.id], {\n relativeTo: this.route,\n preserveFragment: true,\n });\n }\n\n private async remove(entity: IdentifiedModel) {\n this.loadings++;\n this.service.delete(entity.id).subscribe(() => {\n if (\n this.selected.length &&\n this.selected[this.selected.length - 1] === entity.id\n ) {\n this.router.navigate(['../'], {\n preserveFragment: true,\n relativeTo: this.route.firstChild,\n });\n }\n this.loadings--;\n });\n this.getData();\n }\n\n protected getData() {\n this.loadings++;\n this.service.getPage(this.gridState).subscribe((page) => {\n this.page = page;\n this.loadings--;\n });\n }\n\n private getFilter(): CompositeFilterDescriptor {\n const filter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: this.searchTerm\n ? [\n { field: nameField, operator: 'contains', value: this.searchTerm },\n ...this.filters,\n ]\n : this.filters,\n };\n\n return filter;\n }\n\n private onFilterChange() {\n const filter: any = this.gridState.filter?.filters.find(\n (x: FilterDescriptor) => x.field === nameField\n );\n this.searchTerm = filter?.value;\n this.filterChange.emit(this.gridState.filter);\n }\n\n private async restoreGridState(params: URLSearchParams) {\n const defaultGridState: State = {\n sort: this.defaultSort || [{ field: nameField, dir: 'asc' }],\n skip: 0,\n take: 10,\n };\n\n const state = urlDeserialize(params);\n this.gridState = state.hasOwnProperty('take') ? state : defaultGridState;\n this.onFilterChange();\n this.getData();\n }\n}\n","import {\n Component,\n Input,\n Output,\n OnInit,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport { DropDownListComponent } from '@progress/kendo-angular-dropdowns';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../../angular/models/NamedModel';\n\nconst All = 'All';\n\n@Component({\n selector: 'field-dropdownlist',\n templateUrl: './field-dropdownlist.component.html',\n styleUrls: ['./field-dropdownlist.component.css'],\n})\nexport class FieldDropdownlistComponent implements OnInit {\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n label: string;\n @Output()\n valueChange = new EventEmitter<NamedModel>();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n private initialSelectedId: string;\n\n public defaultItem: NamedModel;\n public data: NamedModel[];\n\n constructor(private translate: TranslateService) {}\n\n async ngOnInit(): Promise<void> {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n await this.getData();\n this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n });\n }\n\n private getData() {\n this.service.getPage({}).subscribe((data) => {\n this.data = data.data;\n if (this.initialSelectedId) {\n const selectedItem = this.data.find(\n (x) => x.id === this.initialSelectedId\n );\n\n if (selectedItem) {\n this.kendoDropDown.writeValue(selectedItem);\n }\n }\n });\n }\n\n onValueChange(event: NamedModel) {\n this.valueChange.emit(event);\n }\n\n public initSelectedId(id: string): void {\n this.initialSelectedId = id;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'excel-export-button',\n templateUrl: './excel-export-button.component.html',\n styleUrls: ['./excel-export-button.component.css'],\n})\nexport class ExcelExportButtonComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'footer-bar',\n templateUrl: './footer-bar.component.html',\n styleUrls: ['./footer-bar.component.css'],\n})\nexport class FooterBarComponent {}\n","import { Component, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'modal-window',\n templateUrl: './modal-window.component.html',\n styleUrls: ['./modal-window.component.css'],\n})\nexport class ModalWindowComponent {\n @Input() callbackPath: string;\n\n constructor(protected route: ActivatedRoute, private router: Router) {}\n\n public opened: boolean = true;\n\n public close() {\n this.opened = false;\n this.router.navigate([this.callbackPath], {\n relativeTo: this.route,\n fragment: this.route.snapshot?.fragment,\n });\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core';\nimport {\n CompositeFilterDescriptor,\n distinct,\n filterBy,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { FilterService } from '@progress/kendo-angular-grid';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst defaultValueKey = 'id';\n\n@Component({\n selector: 'multicheck-filter',\n templateUrl: './multicheck-filter.component.html',\n styleUrls: ['./multicheck-filter.component.css'],\n})\nexport class MulticheckFilterComponent implements AfterViewInit {\n @Input() public currentFilter: CompositeFilterDescriptor;\n @Input() public data: NamedModel[];\n @Input() public filterService: FilterService;\n @Input() public field: string;\n @Input() public valueField: string;\n @Output() public valueChange = new EventEmitter<number[]>();\n\n public currentData: NamedModel[];\n public showFilter = true;\n private value: string[] = [];\n private filters: FilterDescriptor[] = [];\n private get ValueKey(): string {\n return this.valueField ? this.valueField : defaultValueKey;\n }\n\n public ngAfterViewInit() {\n this.currentData = this.data;\n if (this.currentData && this.currentData.length) {\n this.traverseFilters(this.currentFilter);\n this.value = this.filters.map((f: FilterDescriptor) => f.value);\n this.showFilter = typeof this.currentData[0].name === 'string';\n }\n }\n\n traverseFilters(filters: CompositeFilterDescriptor | FilterDescriptor) {\n let compositeFilterDescriptor = filters as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n for (let i = 0; i < compositeFilterDescriptor.filters.length; i++) {\n const innerFilter = compositeFilterDescriptor.filters[\n i\n ] as FilterDescriptor;\n if (innerFilter.value && innerFilter.field === this.field) {\n this.filters.push(innerFilter);\n }\n\n this.traverseFilters(innerFilter);\n }\n }\n }\n\n public isItemSelected(item: NamedModel) {\n return this.value.some((x) => x === item[this.ValueKey]);\n }\n\n public onSelectionChange(item: NamedModel) {\n const selectedValue = item[this.ValueKey];\n if (this.value.some((x) => x === selectedValue)) {\n this.value = this.value.filter((x) => x !== selectedValue);\n } else {\n this.value.push(selectedValue);\n }\n\n this.filterService.filter({\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n logic: 'or',\n });\n }\n\n public onInput(e: any) {\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem) =>\n this.value.some((val) => val === dataItem.id)\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: 'name',\n value: e.target.value,\n }),\n ],\n 'name'\n );\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Member } from '../../models/Member';\n\n@Component({\n selector: 'top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.css'],\n})\nexport class TopMenuComponent {\n @Input()\n currentUser: Member;\n\n public toggleButtonClick() {\n document.body.classList.toggle('mini-navbar');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { MsalModule, MsalService, MSAL_INSTANCE } from '@azure/msal-angular';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DialogsModule, WindowModule } from '@progress/kendo-angular-dialog';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ExcelModule, GridModule } from '@progress/kendo-angular-grid';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { PopupModule } from '@progress/kendo-angular-popup';\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\nimport {\n OAuthModule,\n OAuthModuleConfig,\n OAuthStorage,\n} from 'angular-oauth2-oidc';\nimport { IndiginaModule } from './angular/indigina.module';\nimport { AppSettings } from './angular/models/AppSettings';\nimport { IndiginaConfiguration } from './angular/models/IndiginaConfiguration';\nimport { LiveUpdatesControlComponent } from './angular/widgets/live-updates-control/live-updates-control.component';\nimport { AccountMenuComponent } from './components/account-menu/account-menu.component';\nimport { AzureLoginCallbackComponent } from './components/azure-login-callback/azure-login-callback.component';\nimport { LanguageSelectorComponent } from './components/language-selector/language-selector.component';\nimport { MSALInstanceFactory } from './config/msal-instance.factory';\nimport { RequirePermissionDirective } from './directives/requirePermission.directive';\nimport { AuthHeadersInterceptor } from './interceptors/auth-headers.interceptor';\nimport { AccountService } from './services/account.service';\nimport { PermissionsService } from './services/permissions.service';\nimport { SignalRService } from './services/signalr/signalr.service';\nimport { ActivityFilterComponent } from './widgets/activity-filter/activity-filter.component';\nimport { ConfirmDialogComponent } from './widgets/confirm-dialog/confirm-dialog.component';\nimport { CurrentTimezoneComponent } from './widgets/current-timezone/current-timezone.component';\nimport { EntityEditButtonsBarComponent } from './widgets/entity-edit/buttons-bar/buttons-bar.component';\nimport { EntityEditFormComponent } from './widgets/entity-edit/entity-edit-form.component';\nimport { FieldDropdownComponent } from './widgets/entity-edit/field-dropdown/field-dropdown.component';\nimport { FieldMultiSelectComponent } from './widgets/entity-edit/field-multiselect/field-multiselect.component';\nimport { EntityListComponent } from './widgets/entity-list/entity-list.component';\nimport { FieldDropdownlistComponent } from './widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nimport { ExcelExportButtonComponent } from './widgets/excel-export-button/excel-export-button.component';\nimport { FooterBarComponent } from './widgets/footer-bar/footer-bar.component';\nimport { ModalWindowComponent } from './widgets/modal-window/modal-window.component';\nimport { MulticheckFilterComponent } from './widgets/multicheck-filter/multicheck-filter.component';\nimport { TopMenuComponent } from './widgets/top-bar/top-bar.component';\n\n@NgModule({\n declarations: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldDropdownComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n AzureLoginCallbackComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n IndiginaModule,\n OAuthModule.forRoot(),\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n DialogsModule,\n CommonModule,\n FormsModule,\n WindowModule,\n DialogsModule,\n ReactiveFormsModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n MsalModule,\n ],\n providers: [\n { provide: OAuthStorage, useValue: localStorage },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHeadersInterceptor,\n multi: true,\n },\n AccountService,\n PermissionsService,\n SignalRService,\n MsalService,\n ],\n exports: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n IndiginaModule,\n PopupModule,\n OAuthModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n WindowModule,\n DialogsModule,\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldDropdownComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n MsalModule,\n AzureLoginCallbackComponent,\n ],\n})\nexport class KendoModule {\n public static forRoot(\n config: IndiginaConfiguration\n ): ModuleWithProviders<KendoModule> {\n return {\n ngModule: KendoModule,\n providers: [\n {\n provide: IndiginaConfiguration,\n useValue: config,\n },\n {\n provide: OAuthModuleConfig,\n useValue: {\n resourceServer: {\n allowedUrls: [config.appSettings.apiUrl],\n sendAccessToken: true,\n },\n },\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [IndiginaConfiguration],\n },\n ],\n };\n }\n}\n\nexport function OAuthConfigFactory(\n appSettings: AppSettings\n): OAuthModuleConfig {\n return {\n resourceServer: {\n allowedUrls: [appSettings?.apiUrl],\n sendAccessToken: true,\n },\n };\n}\n","export enum FilterTargets {\n Url,\n Grid,\n}\n","export enum MemberTypes {\n Admin = 'Admin',\n User = 'User'\n}\n","export enum Operators {\n eq = 'eq',\n neq = 'neq',\n isnull = 'isnull',\n isnotnull = 'isnotnull',\n lt = 'lt',\n lte = 'lte',\n gt = 'gt',\n gte = 'gte',\n startswith = 'startswith',\n endswith = 'endswith',\n contains = 'contains',\n doesnotcontain = 'doesnotcontain',\n isempty = 'isempty',\n isnotempty = 'isnotempty',\n}\n","export enum PermissionTypes {\n Create = 'Create',\n Delete = 'Delete',\n Edit = 'Edit',\n View = 'View',\n Set = 'Set',\n}\n","import { State, CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../../models/ActivityFilter';\nimport { FilterTargets } from '../../models/FilterTargets';\nimport { Operators } from '../../models/Operators';\nexport class FilterConverter {\n public static toGridState(\n filter: ActivityFilter,\n DateFilterFieldName: string\n ): State {\n const gridState: State = {\n filter: {\n logic: 'and',\n filters: [],\n },\n };\n const mainFilter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: [],\n };\n gridState.skip = filter.skip;\n gridState.take = filter.take;\n if (filter.group) {\n gridState.group = filter.group;\n }\n\n if (filter.sort) {\n gridState.sort = filter.sort;\n } else {\n gridState.sort = [{ field: DateFilterFieldName, dir: 'desc' }];\n }\n\n if (filter.dateFrom) {\n mainFilter.filters.push({\n operator: Operators.gte,\n field: DateFilterFieldName,\n value: filter.dateFrom,\n });\n }\n\n if (filter.dateTo) {\n mainFilter.filters.push({\n operator: Operators.lte,\n field: DateFilterFieldName,\n value: filter.dateTo,\n });\n }\n\n filter.customFilters?.forEach((x) => {\n if (x.filterTarget === FilterTargets.Grid) {\n if (x.values && x.values.length) {\n const multiselectFilter: CompositeFilterDescriptor = {\n logic: 'or',\n filters: [],\n };\n x.values.forEach((value) => {\n multiselectFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value,\n });\n });\n\n gridState.filter.filters.push(multiselectFilter);\n } else {\n if (x.value !== null && typeof x.value !== 'undefined') {\n mainFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value: x.value,\n });\n }\n }\n }\n });\n\n if (mainFilter.filters.length) {\n if (gridState.filter.filters.length) {\n gridState.filter.filters.push(mainFilter);\n } else {\n gridState.filter.filters = mainFilter.filters;\n }\n }\n\n return gridState;\n }\n}\n","import { FilterConverter } from '../widgets/activity-filter/FilterConverter';\nimport {\n urlDeserialize,\n urlSerialize,\n} from '../widgets/entity-list/UrlSerializer';\nimport { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../models/ActivityFilter';\nimport { FilterTargets } from '../models/FilterTargets';\nimport { Operators } from '../models/Operators';\nimport { CustomFilter } from '../models/CustomFilter';\n\nconst filterKey = 'filter';\nconst filtersKey = 'filters';\nconst dateToKey = 'dateTo';\nconst dateFromKey = 'dateFrom';\nconst customFiltersKey = 'customFilters';\nconst nullKey = 'null';\n\n@Injectable()\nexport class ActivityFilterService {\n public currentFilter: ActivityFilter;\n public currentGridState: State;\n\n private readonly defaultFilter: ActivityFilter = {\n dateTo: null,\n dateFrom: null,\n switchToArchive: false,\n searchText: '',\n skip: 0,\n take: 10,\n };\n\n protected DateFilterStartFieldName = 'start';\n protected filterBehavior = new BehaviorSubject<ActivityFilter>(\n this.defaultFilter\n );\n protected gridStateBehavior = new BehaviorSubject<State>(\n FilterConverter.toGridState(\n this.defaultFilter,\n this.DateFilterStartFieldName\n )\n );\n\n public filter$ = this.filterBehavior.asObservable();\n public gridState$ = this.gridStateBehavior.asObservable();\n\n constructor(private route: ActivatedRoute, private router: Router) {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.route.fragment.subscribe(async (fragment: string) => {\n const parsed = urlDeserialize(new URLSearchParams(fragment));\n if (Object.keys(parsed).some((key) => key === filterKey)) {\n this.currentGridState = parsed as State;\n this.fillCurrentFilter(parsed);\n } else {\n this.clearFilter();\n this.setTodayDates();\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.DateFilterStartFieldName\n );\n }\n\n this.filterBehavior.next(this.currentFilter);\n });\n\n this.filter$.subscribe((filter) => {\n this.gridStateBehavior.next(\n FilterConverter.toGridState(filter, this.DateFilterStartFieldName)\n );\n });\n }\n\n public reset() {\n this.clearFilter();\n this.applyFilter(this.currentFilter);\n this.gridStateBehavior.next(this.currentGridState);\n }\n\n public setFilter(filter: ActivityFilter) {\n this.currentFilter.skip = 0;\n this.currentFilter = Object.assign(filter);\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.DateFilterStartFieldName\n );\n }\n\n public applyFilter(filter: ActivityFilter) {\n this.setFilter(filter);\n this.stateNavigation(this.prepareFilterToSerialize());\n }\n\n public setToday() {\n this.setTodayDates();\n this.applyFilter(this.currentFilter);\n }\n\n public clearFilter() {\n if (this.currentFilter) {\n const customFilters = Object.assign([], this.currentFilter.customFilters);\n customFilters.forEach((x) => {\n x.value = null;\n if (x.values) {\n x.values = [];\n }\n });\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.currentFilter.customFilters = customFilters;\n } else {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n }\n }\n\n public setGridState(state: State) {\n this.currentGridState = state;\n const { switchToArchive, searchText } = this.currentFilter;\n this.clearFilter();\n this.currentFilter = Object.assign(this.currentFilter, {\n switchToArchive,\n searchText,\n });\n this.fillCurrentFilter(this.currentGridState);\n this.stateNavigation(this.currentGridState);\n }\n\n public setTodayDates() {\n const now = new Date();\n this.currentFilter.dateTo = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate() + 1,\n 0,\n 0,\n 0\n );\n this.currentFilter.dateFrom = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n 0,\n 0,\n 0\n );\n }\n\n private async stateNavigation(object: Object) {\n const navigate = await this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(object),\n });\n if (!navigate) {\n this.filterBehavior.next(this.currentFilter);\n }\n }\n\n private prepareFilterToSerialize(): object {\n const result = {};\n Object.keys(this.currentFilter).forEach((key) => {\n if (\n key !== dateToKey &&\n key !== dateFromKey &&\n key !== customFiltersKey\n ) {\n result[key] = this.currentFilter[key];\n }\n });\n\n this.currentFilter.customFilters?.forEach((filter) => {\n if (filter.filterTarget == FilterTargets.Url) {\n result[filter.field] = filter.value;\n }\n });\n\n result[filterKey] = FilterConverter.toGridState(\n this.currentFilter,\n this.DateFilterStartFieldName\n ).filter;\n\n return result;\n }\n\n private fillCurrentFilter(object: State) {\n this.currentFilter.customFilters = [];\n this.fillFromDescriptor(object.filter);\n Object.keys(object).forEach((key) => {\n if (key !== filterKey && key !== nullKey && key !== filtersKey) {\n if (Object.keys(this.currentFilter).some((x) => x == key)) {\n this.currentFilter[key] = object[key];\n } else {\n this.fillUrlFilter(key, object[key]);\n }\n }\n });\n }\n\n private fillUrlFilter(key: string, val: string) {\n const index = this.currentFilter.customFilters.findIndex(\n (filter) => filter.field == key\n );\n if (index !== -1) {\n this.currentFilter.customFilters[index].value = val;\n } else {\n this.currentFilter.customFilters.push({\n field: key,\n value: val,\n operator: Operators.eq,\n filterTarget: FilterTargets.Url,\n });\n }\n }\n\n private fillFromDescriptor(gridFilter: CompositeFilterDescriptor) {\n gridFilter?.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n const filterDescriptor = filter as FilterDescriptor;\n if (\n filterDescriptor.field === this.DateFilterStartFieldName &&\n filterDescriptor.operator === Operators.lte\n ) {\n this.currentFilter.dateTo = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field === this.DateFilterStartFieldName &&\n filterDescriptor.operator === Operators.gte\n ) {\n this.currentFilter.dateFrom = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field &&\n filterDescriptor.field !== this.DateFilterStartFieldName\n ) {\n this.setFieldFilter({\n field: filterDescriptor.field as string,\n filterTarget: FilterTargets.Grid,\n operator: Operators[filterDescriptor.operator as string],\n value: filterDescriptor.value,\n });\n }\n\n const compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n this.fillFromDescriptor(compositeFilterDescriptor);\n }\n }\n );\n }\n\n private setFieldFilter(filter: CustomFilter) {\n const index = this.currentFilter.customFilters.findIndex(\n (x) => x.field === filter.field && x.operator === filter.operator\n );\n if (index !== -1) {\n const values = this.currentFilter.customFilters[index].values;\n const value = this.currentFilter.customFilters[index].value;\n this.currentFilter.customFilters[index].values = values ? values : [];\n if (value) {\n this.currentFilter.customFilters[index].values.push(value as string);\n this.currentFilter.customFilters[index].value = null;\n }\n\n this.currentFilter.customFilters[index].values.push(\n filter.value as string\n );\n } else {\n this.currentFilter.customFilters.push(filter);\n }\n }\n}\n","import { IEntityService } from './IEntityService';\nimport { Page } from '../models/Page';\nimport { IEntityEndpoints } from './IEntityEndpoints';\nimport { Observable } from 'rxjs';\nimport { State } from '@progress/kendo-data-query/dist/npm/state';\nimport { IdentifiedModel } from '../angular/models/IdentifiedModel';\nimport { HttpService } from '../angular/services/http.service';\n\nexport abstract class EntityService<T extends IdentifiedModel>\n implements IEntityService<T>\n{\n constructor(\n protected httpService: HttpService,\n protected endpoints: IEntityEndpoints\n ) {}\n\n getPage(state: State): Observable<Page<T>> {\n return this.httpService.get<Page<T>>(this.endpoints.query(state));\n }\n\n get(id: string): Observable<T> {\n return this.httpService.get<T>(this.endpoints.entityPath(id));\n }\n\n delete(id: string): Observable<object> {\n return this.httpService.delete(this.endpoints.entityPath(id));\n }\n\n save(model: T): Observable<T> {\n if (model.id) {\n return this.httpService.put(this.endpoints.entityPath(model.id), model);\n }\n\n return this.httpService.post(this.endpoints.path, model);\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { IEntityService } from '../../services/IEntityService';\nimport { IFormAdapter } from './IFormAdapter';\n\nexport abstract class EntityEditComponent<T extends IdentifiedModel>\n implements IFormAdapter<T>\n{\n form: FormGroupWithErrors;\n saved = new EventEmitter<T>();\n get adapter() {\n return this;\n }\n\n constructor(public service: IEntityService<T>) {}\n\n getValue(): T {\n return this.form.value;\n }\n\n getService(): IEntityService<T> {\n return this.service;\n }\n\n setForm(form: FormGroupWithErrors): void {\n this.form = form;\n }\n\n onSaved(value: T): void {\n this.saved.emit(value);\n }\n}\n","import * as momentModule from 'moment-timezone';\n/*\n * Public API Surface of kendo\n */\nexport * from '@angular/platform-browser/animations';\nexport * from '@azure/msal-angular';\nexport { LogLevel } from '@microsoft/signalr';\nexport * from '@ngx-loading-bar/http-client';\nexport * from '@ngx-translate/core';\nexport {\n OAuthModule,\n OAuthModuleConfig,\n OAuthService,\n OAuthStorage,\n} from 'angular-oauth2-oidc';\nexport * from 'ngx-clipboard';\nexport * from 'ngx-toastr';\nexport { IndiginaModule } from '././lib/angular/indigina.module';\nexport { BaseAccountService } from '././lib/services/base.account.service';\nexport { ISubscriptionControl } from './lib/angular/extensions/ISubscriptionControl';\nexport { ReEntrySubscription } from './lib/angular/extensions/ReEntrySubscription';\nexport { DebounceDirective } from './lib/angular/forms/directives/debounce.directive';\nexport { FormGroupWithErrors } from './lib/angular/forms/extensions/FormGroupWithErrors';\nexport { FieldInputComponent } from './lib/angular/forms/widgets/field/field-input/field-input.component';\nexport { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';\nexport { FieldComponent } from './lib/angular/forms/widgets/field/field.component';\nexport { GeneralErrorsComponent } from './lib/angular/forms/widgets/general-errors/general-errors.component';\nexport { AppSettings } from './lib/angular/models/AppSettings';\nexport type { CustomHttpErrorResponse } from './lib/angular/models/CustomHttpErrorResponse';\nexport { HttpCodes } from './lib/angular/models/HttpCodes';\nexport { HttpMethods } from './lib/angular/models/HttpMethods';\nexport { IdentifiedModel } from './lib/angular/models/IdentifiedModel';\nexport { IndiginaConfiguration } from './lib/angular/models/IndiginaConfiguration';\nexport { Language } from './lib/angular/models/Language';\nexport { NamedModel } from './lib/angular/models/NamedModel';\nexport { HttpService } from './lib/angular/services/http.service';\nexport { LocaleSettingsService } from './lib/angular/services/locale-settings.service';\nexport { SettingsService } from './lib/angular/services/settings.service';\nexport { AppToastrService } from './lib/angular/services/toastr.service';\nexport { LiveUpdatesControlComponent } from './lib/angular/widgets/live-updates-control/live-updates-control.component';\nexport { MenuItem } from './lib/angular/widgets/side-menu/MenuItem';\nexport { SideMenuComponent } from './lib/angular/widgets/side-menu/side-menu.component';\nexport { TreeViewComponent } from './lib/angular/widgets/tree-view/tree-view.component';\nexport { AccountMenuComponent } from './lib/components/account-menu/account-menu.component';\nexport { AzureLoginCallbackComponent } from './lib/components/azure-login-callback/azure-login-callback.component';\nexport { LanguageSelectorComponent } from './lib/components/language-selector/language-selector.component';\nexport { MSALInstanceFactory } from './lib/config/msal-instance.factory';\nexport { RequirePermissionDirective } from './lib/directives/requirePermission.directive';\nexport { KendoModule } from './lib/kendo.module';\nexport { ActivityFilter } from './lib/models/ActivityFilter';\nexport { AzureB2CSettings } from './lib/models/AzureB2CSettings';\nexport { CustomFilter } from './lib/models/CustomFilter';\nexport { CustomFilterElement } from './lib/models/CustomFilterElement';\nexport { FieldTypes } from './lib/models/FieldTypes';\nexport { FilterTargets } from './lib/models/FilterTargets';\nexport { Member } from './lib/models/Member';\nexport { MemberBase } from './lib/models/MemberBase';\nexport { MemberTypes } from './lib/models/MemberTypes';\nexport { OidcSettings } from './lib/models/OidcSettings';\nexport { Operators } from './lib/models/Operators';\nexport { Page } from './lib/models/Page';\nexport { Permissions } from './lib/models/Permissions';\nexport { PermissionTypes } from './lib/models/PermissionTypes';\nexport { SystemInfo } from './lib/models/SystemInfo';\nexport { AccountService } from './lib/services/account.service';\nexport { ActivityFilterService } from './lib/services/activity.filter.service';\nexport { AuthProviderResolver } from './lib/services/auth-provider.resolver';\nexport { AuthProvider } from './lib/services/auth.providers/AuthProvider';\nexport {\n buildActivityEndpoints,\n buildEntityEndpoints,\n endpoints,\n} from './lib/services/endpoints';\nexport { EntityService } from './lib/services/entity.service';\nexport { IActivityEndpoints } from './lib/services/IActivityEndpoints';\nexport { IEntityEndpoints } from './lib/services/IEntityEndpoints';\nexport { IEntityService } from './lib/services/IEntityService';\nexport { PermissionsService } from './lib/services/permissions.service';\nexport { EventNames } from './lib/services/signalr/EventNames';\nexport { SignalRService } from './lib/services/signalr/signalr.service';\nexport { ActivityFilterComponent } from './lib/widgets/activity-filter/activity-filter.component';\nexport { ConfirmDialogComponent } from './lib/widgets/confirm-dialog/confirm-dialog.component';\nexport { CurrentTimezoneComponent } from './lib/widgets/current-timezone/current-timezone.component';\nexport { EntityEditButtonsBarComponent } from './lib/widgets/entity-edit/buttons-bar/buttons-bar.component';\nexport { EntityEditFormComponent } from './lib/widgets/entity-edit/entity-edit-form.component';\nexport { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.component';\nexport { FieldDropdownComponent } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.component';\nexport { FieldMultiSelectComponent } from './lib/widgets/entity-edit/field-multiselect/field-multiselect.component';\nexport { Command } from './lib/widgets/entity-list/Command';\nexport { EntityListComponent } from './lib/widgets/entity-list/entity-list.component';\nexport { Field } from './lib/widgets/entity-list/Field';\nexport { FieldDropdownlistComponent } from './lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nexport {\n urlDeserialize,\n urlSerialize,\n} from './lib/widgets/entity-list/UrlSerializer';\nexport { ExcelExportButtonComponent } from './lib/widgets/excel-export-button/excel-export-button.component';\nexport { FooterBarComponent } from './lib/widgets/footer-bar/footer-bar.component';\nexport { ModalWindowComponent } from './lib/widgets/modal-window/modal-window.component';\nexport { MulticheckFilterComponent } from './lib/widgets/multicheck-filter/multicheck-filter.component';\nexport { TopMenuComponent } from './lib/widgets/top-bar/top-bar.component';\nexport const momentTimezone = momentModule;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AppSettingsFactory as ɵc,LocaleServiceSettingsFactory as ɵa,TranslateLoaderFactory as ɵb} from './lib/angular/indigina.module';\nexport {MenuItemGroupComponent as ɵd} from './lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component';\nexport {TreeViewNodePropComponent as ɵf} from './lib/angular/widgets/tree-view/tree-view-node-prop/tree-view-node-prop.component';\nexport {TreeViewNodeComponent as ɵe} from './lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component';\nexport {AuthHeadersInterceptor as ɵg} from './lib/interceptors/auth-headers.interceptor';"],"names":["EventEmitter","Subject","debounceTime","Directive","Input","Output","HostListener","FormControl","Validators","FormGroupDirective","ElementRef","Component","ControlContainer","Injectable","TranslateService","collapsedEvent","NavigationEnd","Router","ViewChildren","ClipboardService","of","APP_INITIALIZER","NgModule","BrowserModule","HttpClientModule","TranslateModule","TranslateLoader","HttpClient","LoadingBarHttpClientModule","CommonModule","RouterModule","ReactiveFormsModule","ToastrModule","BrowserAnimationsModule","TranslateStore","ClipboardModule","toODataString","EventNames","BehaviorSubject","map","mergeMap","FormGroup","HttpCodes","homePath","ToastrService","catchError","tap","throwError","from","InteractionRequiredAuthError","JwksValidationHandler","filter","OAuthService","MsalService","signalR","ViewChild","BrowserCacheLocation","PublicClientApplication","ActivatedRoute","Renderer2","FieldTypes","DialogService","momentModule","finalize","distinct","filterBy","OAuthModuleConfig","MSAL_INSTANCE","OAuthModule","PopupModule","GridModule","ExcelModule","InputsModule","ButtonsModule","DialogsModule","FormsModule","WindowModule","DropDownsModule","TooltipModule","DateInputsModule","MsalModule","OAuthStorage","HTTP_INTERCEPTORS","FilterTargets","MemberTypes","Operators","PermissionTypes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indigina-kendo.umd.js","sources":["../../../projects/kendo/src/lib/angular/forms/directives/debounce.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/kendo/src/lib/angular/forms/widgets/field/field.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/number-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/general-errors/general-errors.component.ts","../../../projects/kendo/src/lib/angular/models/AppSettings.ts","../../../projects/kendo/src/lib/angular/models/IndiginaConfiguration.ts","../../../projects/kendo/src/lib/angular/services/locale-settings.service.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewPropTypes.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node-prop/tree-view-node-prop.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewNodeTypes.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/ContentTypesFormat.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/AbstractContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/EnumTypeGetter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/JsonResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/TextResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/XmlResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/ContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view.component.ts","../../../projects/kendo/src/lib/angular/indigina.module.ts","../../../projects/kendo/src/lib/services/endpoints.ts","../../../projects/kendo/src/lib/services/signalr/EventNames.ts","../../../projects/kendo/src/lib/services/base.account.service.ts","../../../projects/kendo/src/lib/angular/extensions/ReEntrySubscription.ts","../../../projects/kendo/src/lib/angular/forms/extensions/FormGroupWithErrors.ts","../../../projects/kendo/src/lib/angular/models/HttpCodes.ts","../../../projects/kendo/src/lib/angular/models/HttpMethods.ts","../../../projects/kendo/src/lib/angular/services/settings.service.ts","../../../projects/kendo/src/lib/angular/services/toastr.service.ts","../../../projects/kendo/src/lib/angular/services/http.service.ts","../../../projects/kendo/src/lib/angular/widgets/live-updates-control/live-updates-control.component.ts","../../../projects/kendo/src/lib/models/AuthProviders.ts","../../../projects/kendo/src/lib/services/auth.providers/AuthProvider.ts","../../../projects/kendo/src/lib/services/auth.providers/azureb2c.provider.ts","../../../projects/kendo/src/lib/services/auth.providers/oauth.provider.ts","../../../projects/kendo/src/lib/services/auth-provider.resolver.ts","../../../projects/kendo/src/lib/services/signalr/signalr.service.ts","../../../projects/kendo/src/lib/services/account.service.ts","../../../projects/kendo/src/lib/components/account-menu/account-menu.component.ts","../../../projects/kendo/src/lib/components/azure-login-callback/azure-login-callback.component.ts","../../../projects/kendo/src/lib/components/language-selector/language-selector.component.ts","../../../projects/kendo/src/lib/config/msal-instance.factory.ts","../../../projects/kendo/src/lib/services/permissions.service.ts","../../../projects/kendo/src/lib/directives/requirePermission.directive.ts","../../../projects/kendo/src/lib/interceptors/auth-headers.interceptor.ts","../../../projects/kendo/src/lib/models/FieldTypes.ts","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.component.ts","../../../projects/kendo/src/lib/widgets/confirm-dialog/confirm-dialog.component.ts","../../../projects/kendo/src/lib/widgets/current-timezone/current-timezone.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit-form.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/UrlSerializer.ts","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.ts","../../../projects/kendo/src/lib/widgets/excel-export-button/excel-export-button.component.ts","../../../projects/kendo/src/lib/widgets/footer-bar/footer-bar.component.ts","../../../projects/kendo/src/lib/widgets/modal-window/modal-window.component.ts","../../../projects/kendo/src/lib/widgets/multicheck-filter/multicheck-filter.component.ts","../../../projects/kendo/src/lib/widgets/top-bar/top-bar.component.ts","../../../projects/kendo/src/lib/kendo.module.ts","../../../projects/kendo/src/lib/models/FilterTargets.ts","../../../projects/kendo/src/lib/models/MemberTypes.ts","../../../projects/kendo/src/lib/models/Operators.ts","../../../projects/kendo/src/lib/models/PermissionTypes.ts","../../../projects/kendo/src/lib/widgets/activity-filter/FilterConverter.ts","../../../projects/kendo/src/lib/services/activity.filter.service.ts","../../../projects/kendo/src/lib/services/entity.service.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit.component.ts","../../../projects/kendo/src/public-api.ts","../../../projects/kendo/src/indigina-kendo.ts"],"sourcesContent":["import {\n Directive,\n HostListener,\n Output,\n EventEmitter,\n OnInit,\n OnDestroy,\n Input\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDebounce]'\n})\nexport class DebounceDirective implements OnInit, OnDestroy {\n @Input() debounceTime = 500;\n @Output() debounceKeyup = new EventEmitter();\n private keyUp = new Subject();\n private subscription: Subscription;\n\n constructor() { }\n\n ngOnInit() {\n this.subscription = this.keyUp.pipe(\n debounceTime(this.debounceTime)\n ).subscribe(e => this.debounceKeyup.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('keyup', ['$event'])\n\n keyUpEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n this.keyUp.next(event);\n }\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) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { OnInit, Input, ElementRef, Directive } from '@angular/core';\nimport {\n FormGroupDirective,\n FormControl,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\nlet id: number = 0;\n\n@Directive()\nexport abstract class FieldComponent<T> implements OnInit {\n @Input() labelKey: string;\n @Input() fieldName: string;\n @Input() disabled: boolean = false;\n \n public disabledKey = 'disabled';\n public id: string;\n\n constructor(\n public parent: FormGroupDirective,\n public eref: ElementRef,\n private defaultValue: T\n ) {}\n\n ngOnInit(): void {\n this.setUp();\n }\n\n protected setUp(): void {\n this.id = '_' + this.fieldName + ++id;\n const validators: ValidatorFn[] = [];\n for (const attr of this.eref.nativeElement.attributes as [\n { name: string; value: string }\n ]) {\n const validator = this.setAttribute(attr.name, attr.value);\n if (validator) {\n validators.push(validator);\n }\n }\n\n const control = this.parent.form.get(this.fieldName);\n if (control) {\n if (control.validator) {\n validators.push(control.validator);\n }\n\n control.setValidators(validators);\n control.updateValueAndValidity();\n } else {\n this.parent.form.addControl(\n this.fieldName,\n new FormControl(this.defaultValue, validators)\n );\n }\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === this.disabledKey) {\n this.disabled = true;\n\n return;\n }\n\n if (name === 'required') {\n return Validators.required;\n }\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n Validators,\n ValidatorFn,\n} from '@angular/forms';\nimport { FieldComponent } from '../field.component';\n\n@Component({\n selector: 'field-input',\n templateUrl: './field-input.component.html',\n styleUrls: ['./field-input.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldInputComponent extends FieldComponent<string> {\n @Input()\n public labelKey: string;\n @Input()\n public fieldName: string;\n\n public type = 'text';\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === 'type') {\n this.type = value;\n }\n\n if (name === 'max-length') {\n return Validators.maxLength(parseInt(value, 10));\n }\n\n return super.setAttribute(name, value);\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { FieldInputComponent } from './field-input.component';\n\nconst emptyString = '';\n\n@Component({\n selector: 'number-input',\n templateUrl: './field-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class NumberInputComponent extends FieldInputComponent {\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref);\n this.type = 'number';\n }\n\n @Input() isPositive: boolean = false;\n\n private cachedValue: number | string;\n\n ngAfterContentInit() {\n const control = this.parent.form.get(this.fieldName);\n control.valueChanges.subscribe((value) => {\n if (value !== this.cachedValue) {\n this.cachedValue =\n (!this.isPositive && (value || value === 0)) ||\n (this.isPositive && value >= 0 && value !== emptyString)\n ? +value\n : emptyString;\n\n control.setValue(this.cachedValue);\n }\n });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-general-errors',\n templateUrl: './general-errors.component.html',\n styleUrls: ['./general-errors.component.css']\n})\nexport class GeneralErrorsComponent {\n\n @Input() form: FormGroup;\n errors: string[] = [];\n constructor() { }\n\n setErrors(errors: string[]): void {\n this.errors = errors;\n if (errors.length) {\n this.form.setErrors({'_general_errors_': errors });\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { LogLevel } from '@microsoft/signalr';\nimport { AzureB2CSettings } from '../../models/AzureB2CSettings';\nimport { OidcSettings } from '../../models/OidcSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class AppSettings {\n apiUrl: string;\n accountUrl: string;\n toastrTimeOut: number;\n signalRLogLevel?: LogLevel;\n oidc: OidcSettings;\n azureB2C: AzureB2CSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { AppSettings } from './AppSettings';\n\n@Injectable({ providedIn: 'root' })\nexport abstract class IndiginaConfiguration {\n langs?: TranslateLoader;\n appSettings?: AppSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { Language } from '../models/Language';\nimport { TranslateService } from '@ngx-translate/core';\n\nconst languageKey = 'language';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleSettingsService {\n private languages: Language[] = [\n { name: 'English', code: 'en-US' },\n { name: 'Русский', code: 'ru-RU' },\n ];\n private localeId: string;\n\n constructor(private translate: TranslateService) {}\n\n init(): void {\n this.translate.addLangs(this.languages.map((x) => x.code));\n this.localeId = this.getLocale();\n this.setLocale(this.localeId || this.languages[0].code);\n }\n\n getLocales(): Language[] {\n return this.languages;\n }\n\n getLocale(): string {\n if (localStorage) {\n return localStorage.getItem(languageKey) || this.localeId;\n } else {\n return this.localeId;\n }\n }\n\n setLocale(locale: string) {\n this.translate.use(locale);\n this.localeId = locale;\n if (localStorage) {\n localStorage.setItem(languageKey, locale);\n }\n }\n}\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { MenuItem } from '../MenuItem';\nimport {\n Router,\n NavigationEnd,\n RouterStateSnapshot,\n UrlTree,\n IsActiveMatchOptions,\n} from '@angular/router';\n\nconst urlDelimiter = '/';\nconst collapsedEvent = 'collapsed';\n\n@Component({\n selector: '[menu-item-group]',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.css'],\n})\nexport class MenuItemGroupComponent implements OnChanges, OnInit {\n @Input() item: MenuItem;\n collapsed: boolean = false;\n private actualPath: string;\n\n constructor(private router: Router) {\n this.router.isActive = function (\n url: string | UrlTree,\n matchOptions: boolean | IsActiveMatchOptions\n ): boolean {\n return this.routerState.snapshot.root.children?.length\n ? url.toString() ===\n urlDelimiter +\n this.routerState.snapshot.root.children[0].routeConfig.path.split(\n '/:'\n )[0]\n : false;\n };\n }\n\n ngOnInit(): void {\n this.setActualPath(this.router.routerState.snapshot);\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.setActualPath(this.router.routerState.snapshot);\n }\n });\n }\n\n ngOnChanges(): void {\n this.setItemExpand();\n }\n\n collapseChild(activeItem: MenuItem, event: MouseEvent) {\n this.item.expanded =\n this.item.text === activeItem.text &&\n !this.item.expanded &&\n !!this.item.items;\n\n if (!activeItem.items || activeItem.items.length === 0) {\n event[collapsedEvent] = true;\n } else {\n event[collapsedEvent] = false;\n }\n }\n\n private setItemExpand() {\n this.item.expanded = this.item.items?.some((x) => {\n return x.link !== undefined && x.link === this.actualPath;\n });\n }\n\n private setActualPath(snapshot: RouterStateSnapshot): void {\n if (snapshot.root.children?.length) {\n this.actualPath =\n urlDelimiter +\n snapshot.root.children[0].routeConfig.path.split('/:')[0];\n this.setItemExpand();\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { MenuItem } from './MenuItem';\n\nconst collapsedEvent = 'collapsed';\n@Component({\n selector: 'side-menu',\n templateUrl: './side-menu.component.html',\n styleUrls: ['./side-menu.component.css'],\n})\nexport class SideMenuComponent {\n @Input() items: MenuItem[];\n @Output() logoClick = new EventEmitter();\n\n onLogoClick() {\n this.logoClick.emit();\n }\n\n collapse(\n itemComponent: MenuItemGroupComponent,\n activeItem: MenuItem,\n event: MouseEvent\n ) {\n this.items?.forEach((item) => {\n if (item.text !== activeItem.text && item.expanded) {\n item.expanded = false;\n }\n });\n if (event[collapsedEvent]) {\n itemComponent.collapsed = true;\n } else {\n itemComponent.collapsed = false;\n }\n }\n}\n","export enum TreeViewPropTypes {\n String = 'string',\n Number = 'number',\n Object = 'object',\n Array = 'array',\n}\n","import { Component, Input, QueryList, ViewChildren } from '@angular/core';\nimport { TreeViewProp } from '../models/TreeViewProp';\nimport { TreeViewPropTypes } from '../models/TreeViewPropTypes';\nimport { TreeViewNodeComponent } from '../tree-view-node/tree-view-node.component';\n\n@Component({\n selector: 'tree-view-node-prop',\n templateUrl: './tree-view-node-prop.component.html',\n styleUrls: ['./tree-view-node-prop.component.css'],\n})\nexport class TreeViewNodePropComponent {\n @ViewChildren('node') treeViewNodes: QueryList<TreeViewNodeComponent>;\n\n @Input() prop: TreeViewProp;\n\n public get isSimpleValue(): boolean {\n return !this.isArrayValue && !this.isObjectValue;\n }\n\n public get isArrayValue(): boolean {\n return this.prop.propType === TreeViewPropTypes.Array;\n }\n\n public get isObjectValue(): boolean {\n return this.prop.propType === TreeViewPropTypes.Object;\n }\n\n public get propClass(): string {\n return this.prop.propType === TreeViewPropTypes.Number\n ? 'number'\n : 'string';\n }\n\n public expandAll(): void {\n this.treeViewNodes.forEach((x) => x.expandAll());\n }\n\n public collapseAll(): void {\n this.treeViewNodes.forEach((x) => x.collapseAll());\n }\n}\n","export enum TreeViewNodeTypes {\n Object = 'object',\n Array = 'array',\n Primitive = 'primitive',\n}\n","import {\n Component,\n Input,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { TreeViewNode } from '../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../models/TreeViewNodeTypes';\nimport { TreeViewNodePropComponent } from '../tree-view-node-prop/tree-view-node-prop.component';\n\n@Component({\n selector: 'tree-view-node',\n templateUrl: './tree-view-node.component.html',\n styleUrls: ['./tree-view-node.component.css'],\n})\nexport class TreeViewNodeComponent implements OnInit {\n @ViewChildren('prop') treeViewProps: QueryList<TreeViewNodePropComponent>;\n\n @Input() node: TreeViewNode;\n @Input() hasExpand: boolean;\n\n public expanded: boolean = true;\n\n public get isObject(): boolean {\n return this.node.nodeType === TreeViewNodeTypes.Object;\n }\n\n public get isArray(): boolean {\n return this.node.nodeType === TreeViewNodeTypes.Array;\n }\n\n public get isPrimitive(): boolean {\n return this.node.nodeType === TreeViewNodeTypes.Primitive;\n }\n\n public get primitive(): { value: any; type: string; startTag: string } {\n const value = this.node.props[0].value;\n const startTag = this.node.props[0].startTag;\n const type = typeof value;\n\n return { value, type, startTag };\n }\n\n ngOnInit(): void {\n this.expanded = !this.hasExpand;\n }\n\n public toggleExpand() {\n this.expanded = !this.expanded;\n }\n\n public expandAll(): void {\n if (this.hasExpand) {\n this.expanded = true;\n }\n\n this.treeViewProps.forEach((x) => x.expandAll());\n }\n\n public collapseAll(): void {\n if (this.hasExpand) {\n this.expanded = false;\n }\n\n this.treeViewProps.forEach((x) => x.collapseAll());\n }\n}\n","export enum ContentTypesFormat {\n Json = 'json',\n Xml = 'xml',\n Text = 'text',\n}\n","import { IContentResolver } from './IContentResolver';\nimport { ResolverResult } from '../models/ResolverResult';\n\nexport abstract class AbstractContentResolver implements IContentResolver {\n private nextResolver: IContentResolver;\n\n constructor(resolver: IContentResolver) {\n this.nextResolver = resolver;\n }\n\n resolve(data: string): ResolverResult {\n if (this.nextResolver) {\n return this.nextResolver.resolve(data);\n }\n\n return null;\n }\n}\n","import { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\n\nexport function getPropTypeFromKey(key: string): TreeViewPropTypes {\n return (\n Object.values(TreeViewPropTypes).find((x) => x === key) ||\n TreeViewPropTypes.String\n );\n}\n\nexport function getNodeTypeFromKey(key: string): TreeViewNodeTypes {\n return (\n Object.values(TreeViewNodeTypes).find((x) => x === key) ||\n TreeViewNodeTypes.Object\n );\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { TreeViewProp } from '../../models/TreeViewProp';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\nimport { getPropTypeFromKey, getNodeTypeFromKey } from './EnumTypeGetter';\n\nconst objectBrackets = { inside: '{', outside: '}' };\nconst arrayBrackets = { inside: '[', outside: ']' };\n\nexport class JsonConverter {\n public static convert(\n source: Array<object> | object\n ): Array<TreeViewNode> | TreeViewNode {\n if (Array.isArray(source)) {\n return this.convertArray(source);\n }\n\n return this.convertObject(source);\n }\n\n private static convertObject(source): TreeViewNode {\n const props: Array<TreeViewProp> = [];\n for (const name of Object.keys(source)) {\n const value = source[name];\n let propType =\n value !== null\n ? getPropTypeFromKey(typeof value)\n : TreeViewPropTypes.String;\n\n if (Array.isArray(value)) {\n const result = this.convertArray(value);\n const propType = Array.isArray(result)\n ? TreeViewPropTypes.Array\n : TreeViewPropTypes.Object;\n props.push({\n startTag: `${name}: `,\n value: result,\n propType,\n brackets: arrayBrackets,\n });\n\n continue;\n }\n\n if (propType === TreeViewPropTypes.Object) {\n props.push({\n startTag: `${name}: `,\n value: this.convertObject(value),\n propType,\n });\n\n continue;\n }\n\n props.push({\n startTag: `${name}: `,\n value,\n propType,\n });\n }\n\n return {\n props,\n nodeType: TreeViewNodeTypes.Object,\n brackets: objectBrackets,\n };\n }\n\n private static convertArray(source: Array<any>): TreeViewNode {\n const nodes: Array<TreeViewNode> = [];\n\n source.forEach((item, index) => {\n if (typeof item !== TreeViewPropTypes.Object) {\n nodes.push(this.getPrimitive(item, index));\n } else {\n const brackets = Array.isArray(item) ? arrayBrackets : objectBrackets;\n const inside = brackets.inside;\n const outside = brackets.outside;\n nodes.push({\n ...this.convertObject(item),\n nodeType: Array.isArray(item)\n ? TreeViewNodeTypes.Array\n : getNodeTypeFromKey(typeof item),\n brackets: {\n inside: `${index}: ${inside}`,\n outside,\n },\n });\n }\n });\n\n return {\n props: [\n {\n value: nodes,\n propType: TreeViewPropTypes.Array,\n },\n ],\n brackets: arrayBrackets,\n };\n }\n\n private static getPrimitive(\n source: string | number,\n index: string | number\n ): TreeViewNode {\n const propType = getPropTypeFromKey(typeof source);\n return {\n props: [\n {\n startTag: `${index}: `,\n value: source,\n propType,\n },\n ],\n nodeType: TreeViewNodeTypes.Primitive,\n };\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { JsonConverter } from '../Converters/JsonConverter';\n\nexport class JsonResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n try {\n const json = JSON.parse(data);\n\n return {\n data: JsonConverter.convert(json),\n format: ContentTypesFormat.Json,\n };\n } catch (e) {\n return super.resolve(data);\n }\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\n\nexport class TextConverter {\n public static convert(source: string): Array<TreeViewNode> | TreeViewNode {\n return {\n props: [\n {\n value: source,\n propType: TreeViewPropTypes.String,\n },\n ],\n };\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { TextConverter } from '../Converters/TextConverter';\n\nexport class TextResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n return {\n data: TextConverter.convert(data),\n format: ContentTypesFormat.Text,\n };\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewProp } from '../../models/TreeViewProp';\nimport { TreeViewPropTypes } from '../../models/TreeViewPropTypes';\nimport { getPropTypeFromKey } from './EnumTypeGetter';\n\nexport class XmlConverter {\n public static convert(source: Document): Array<TreeViewNode> | TreeViewNode {\n if (source.childElementCount > 1) {\n return this.convertObject(source.childNodes);\n }\n\n return { props: [this.convertProp(source.children[0])] };\n }\n\n private static convertProp(source: any): TreeViewProp {\n const name: string = source.tagName;\n let value: Array<TreeViewNode> | string;\n let propType: TreeViewPropTypes;\n\n if (source.childElementCount > 0) {\n value = this.convertObject(source.children);\n propType = TreeViewPropTypes.Array;\n } else {\n value = source.textContent;\n propType = getPropTypeFromKey(typeof value);\n }\n\n return {\n startTag: `<${name}>`,\n endTag: `</${name}>`,\n value,\n propType,\n };\n }\n\n private static convertObject(childs: any): Array<TreeViewNode> {\n const props = Array<TreeViewProp>();\n for (const item of childs) {\n props.push(this.convertProp(item));\n }\n\n return [\n {\n props,\n },\n ];\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { XmlConverter } from '../Converters/XmlConverter';\n\nexport class XmlResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n try {\n const oParser = new DOMParser();\n const oDOM = oParser.parseFromString(data, 'text/xml');\n\n if (\n oDOM.all.length > 0 &&\n oDOM.getElementsByTagName('parsererror').length === 0\n ) {\n return {\n data: XmlConverter.convert(oDOM),\n format: ContentTypesFormat.Xml,\n };\n }\n } catch (e) {}\n\n return super.resolve(data);\n }\n}\n","import { ResolverResult } from '../models/ResolverResult';\nimport { AbstractContentResolver } from './AbstractContentResolver';\nimport { JsonResolver } from './Resolvers/JsonResolver';\nimport { TextResolver } from './Resolvers/TextResolver';\nimport { XmlResolver } from './Resolvers/XmlResolver';\n\nexport class ContentResolver {\n private chain: AbstractContentResolver;\n\n constructor() {\n this.chain = new JsonResolver(new XmlResolver(new TextResolver(null)));\n }\n\n public resolve(data: string): ResolverResult {\n return this.chain.resolve(data);\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { ContentResolver } from './ContentResolver/ContentResolver';\nimport { ContentTypesFormat } from './models/ContentTypesFormat';\nimport { ResolverResult } from './models/ResolverResult';\nimport { TreeViewNodeComponent } from './tree-view-node/tree-view-node.component';\n\n@Component({\n selector: 'tree-view',\n templateUrl: './tree-view.component.html',\n styleUrls: ['./tree-view.component.css'],\n})\nexport class TreeViewComponent implements OnChanges {\n @ViewChildren('node') treeViewNodes: QueryList<TreeViewNodeComponent>;\n\n @Input() data: string;\n @Input() maxTextLength: number = 1200;\n @Input() maxRootItems: number = 10;\n\n public resolved: ResolverResult;\n public collapsed: boolean;\n public allShow: boolean;\n public rawView: boolean;\n public ContentTypesFormat = ContentTypesFormat;\n\n public get IsArray(): boolean {\n return this.data ? Array.isArray(this.resolved.data) : false;\n }\n\n public get hasCollapse(): boolean {\n if (!this.data) {\n return false;\n }\n\n return this.resolved.format === ContentTypesFormat.Text\n ? this.hasTextCollapse()\n : this.hasNodeCollapse();\n }\n\n public get format(): string {\n return !this.rawView ? this.resolved.format : ContentTypesFormat.Text;\n }\n\n constructor(private clipboardService: ClipboardService) {}\n\n ngOnChanges(): void {\n const contentResolver = new ContentResolver();\n this.allShow = false;\n this.rawView = false;\n this.resolved = contentResolver.resolve(this.data);\n this.collapsed = this.hasCollapse;\n }\n\n public expandToggle(): void {\n this.collapsed = !this.collapsed;\n }\n\n public toggleExpandAll() {\n if (this.allShow) {\n this.treeViewNodes.forEach((x) => x.collapseAll());\n } else {\n this.treeViewNodes.forEach((x) => x.expandAll());\n }\n\n this.collapsed = this.hasCollapse ? this.allShow : false;\n this.allShow = !this.allShow;\n }\n\n public toggleRawView() {\n this.rawView = !this.rawView;\n }\n\n public copyToClipboard() {\n this.clipboardService.copy(this.data);\n }\n\n private hasTextCollapse(): boolean {\n return this.data.length > this.maxTextLength;\n }\n\n private hasNodeCollapse(): boolean {\n if (!Array.isArray(this.resolved.data)) {\n return this.resolved.data.props.length > this.maxRootItems;\n }\n\n return false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport {\n TranslateLoader,\n TranslateModule,\n TranslateStore,\n} from '@ngx-translate/core';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ToastrModule } from 'ngx-toastr';\nimport { Observable, of } from 'rxjs';\nimport { DebounceDirective } from './forms/directives/debounce.directive';\nimport { FieldInputComponent } from './forms/widgets/field/field-input/field-input.component';\nimport { NumberInputComponent } from './forms/widgets/field/field-input/number-input.component';\nimport { GeneralErrorsComponent } from './forms/widgets/general-errors/general-errors.component';\nimport { AppSettings } from './models/AppSettings';\nimport { IndiginaConfiguration } from './models/IndiginaConfiguration';\nimport { LocaleSettingsService } from './services/locale-settings.service';\nimport { MenuItemGroupComponent } from './widgets/side-menu/menu-item-group/menu-item-group.component';\nimport { SideMenuComponent } from './widgets/side-menu/side-menu.component';\nimport { TreeViewNodePropComponent } from './widgets/tree-view/tree-view-node-prop/tree-view-node-prop.component';\nimport { TreeViewNodeComponent } from './widgets/tree-view/tree-view-node/tree-view-node.component';\nimport { TreeViewComponent } from './widgets/tree-view/tree-view.component';\n\nlet defaultConfig: IndiginaConfiguration = {\n langs: {\n getTranslation(): Observable<any> {\n return of({});\n },\n },\n appSettings: {\n accountUrl: '',\n apiUrl: '',\n toastrTimeOut: 2500,\n oidc: {\n clientId: '',\n authority: '',\n issuer: '',\n },\n azureB2C: {\n clientId: '',\n authority: '',\n knownAuthorities: [''],\n },\n },\n};\n\n@NgModule({\n declarations: [\n SideMenuComponent,\n MenuItemGroupComponent,\n TreeViewComponent,\n TreeViewNodeComponent,\n TreeViewNodePropComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n FieldInputComponent,\n NumberInputComponent,\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n TranslateModule.forChild({\n loader: {\n provide: TranslateLoader,\n useFactory: TranslateLoaderFactory,\n deps: [IndiginaConfiguration, HttpClient],\n },\n }),\n LoadingBarHttpClientModule,\n CommonModule,\n RouterModule,\n ReactiveFormsModule,\n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: defaultConfig,\n },\n {\n provide: AppSettings,\n useFactory: AppSettingsFactory,\n deps: [IndiginaConfiguration],\n },\n TranslateStore,\n ],\n exports: [\n SideMenuComponent,\n TreeViewComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n FieldInputComponent,\n TranslateModule,\n ClipboardModule,\n LoadingBarHttpClientModule,\n ToastrModule,\n BrowserAnimationsModule,\n NumberInputComponent,\n ],\n})\nexport class IndiginaModule {\n public static forRoot(\n configuration: IndiginaConfiguration\n ): ModuleWithProviders<IndiginaModule> {\n return {\n ngModule: IndiginaModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: configuration ? configuration : defaultConfig,\n },\n ],\n };\n }\n}\n\nexport function LocaleServiceSettingsFactory(\n localeService: LocaleSettingsService\n) {\n return function () {\n localeService.init();\n };\n}\n\nexport function TranslateLoaderFactory(\n configuration: IndiginaConfiguration\n): TranslateLoader {\n return configuration.langs;\n}\n\nexport function AppSettingsFactory(configuration: IndiginaConfiguration) {\n return configuration.appSettings;\n}\n","import { IEntityEndpoints } from './IEntityEndpoints';\nimport { State, toODataString } from '@progress/kendo-data-query';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { IActivityEndpoints } from './IActivityEndpoints';\n\nexport const endpoints = {\n signalr: {\n eventsHub: 'EventsHub',\n },\n oidc: {\n config: 'oidc/config',\n },\n members: {\n me: 'members/me',\n },\n admins: {\n ...buildEntityEndpoints('admins'),\n roles: {\n ...buildEntityEndpoints('admins/roles'),\n },\n },\n system: {\n info: 'system/info',\n },\n firstUser: 'admins/first',\n partners: buildEntityEndpoints('partners'),\n permissions: {\n all: (type: MemberTypes) => `permissions/${type}s`,\n member: (id: string) => `permissions/${id}`,\n mine: 'permissions/me',\n },\n users: {\n ...buildEntityEndpoints('users'),\n roles: {\n ...buildEntityEndpoints('users/roles'),\n },\n },\n apiTokens: buildEntityEndpoints('apiTokens'),\n};\n\nconst guidFormat = /'((\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1})'/g;\nexport function buildEntityEndpoints(name: string): IEntityEndpoints {\n return {\n path: name,\n query: (state: State) =>\n `${name}?${toODataString(state, { utcDates: true }).replace(\n guidFormat,\n '$1'\n )}`,\n entityPath: (id: string) => `${name}/${id}`,\n };\n}\nexport function buildActivityEndpoints(name: string): IActivityEndpoints {\n return {\n query: (state: State) =>\n `activities/${name}?${toODataString(state, {\n utcDates: true,\n }).replace(guidFormat, '$1')}`,\n search: (state: State, searchTerm: string) => {\n let uri = `activities/${name}/search?${toODataString(state, {\n utcDates: true,\n })}`;\n if (searchTerm) {\n uri += `&searchTerm=${searchTerm}`;\n }\n\n return uri;\n },\n detailedActivity: (id: string, partnerId: string) =>\n partnerId\n ? `activities/${name}/${id}/${partnerId}`\n : `activities/${name}/${id}`,\n };\n}\n","export enum EventNames {\n UserUpdated = 'userUpdated',\n PermissionsUpdated = 'permissionsUpdated',\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { AuthProvider } from './auth.providers/AuthProvider';\nimport { endpoints } from './endpoints';\nimport { EventNames } from './signalr/EventNames';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminUriPart = '/admin/';\n\nexport abstract class BaseAccountService<T> {\n public user = new BehaviorSubject<T>(null);\n\n constructor(\n public resolver: AuthProviderResolver,\n protected httpService: HttpService,\n protected settingsService: SettingsService,\n protected signalRService: SignalRService\n ) {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n this.initialize(provider);\n })\n )\n .subscribe();\n }\n\n login() {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.login();\n })\n )\n .subscribe();\n }\n\n logout() {\n this.settingsService.clearLoginAsUser();\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.logout();\n })\n )\n .subscribe();\n }\n\n private initialize(provider: AuthProvider) {\n this.getCurrentUser().subscribe((user) => {\n if (!user) {\n return;\n }\n\n const path = this.settingsService.getCallbackPath();\n if (path) {\n this.settingsService.clearCallbackPath();\n window.location.href = window.location.origin + path;\n\n return;\n }\n\n if (\n this.isAdmin(user) &&\n !window.location.pathname.startsWith(adminUriPart)\n ) {\n window.location.href = `${window.location.origin}${adminUriPart}`;\n\n return;\n }\n\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.startConnection(token);\n this.signalRService\n .on<T>(EventNames.UserUpdated)\n .subscribe(async () => {\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.reconnect(token);\n });\n this.httpService\n .get<T>(endpoints.members.me)\n .subscribe((user) => this.user.next(user));\n });\n });\n });\n }\n\n getCurrentUser(): Observable<T> {\n return this.resolver.getProvider().pipe(\n mergeMap((provider) => {\n if (this.user.getValue() || !provider.isUserLoggedIn()) {\n return this.user;\n }\n\n return provider.getAccessToken().pipe(\n mergeMap(() => {\n return this.httpService.get(endpoints.members.me).pipe(\n map((user: T) => {\n this.user.next(user);\n\n return user;\n })\n );\n })\n );\n })\n );\n }\n\n public isUserLoggedIn(): Observable<boolean> {\n return this.resolver\n .getProvider()\n .pipe(map((provider) => provider.isUserLoggedIn()));\n }\n\n public abstract isAdmin(member: T): boolean;\n}\n","import { ISubscriptionControl } from './ISubscriptionControl';\nimport { Observable, Subscription } from 'rxjs';\n\nexport class ReEntrySubscription<T> implements ISubscriptionControl {\n private subscription: Subscription;\n\n constructor(\n private observable: Observable<T>,\n private action: (event: T) => void\n ) {}\n\n public get connected(): boolean {\n return !this.subscription.closed;\n }\n\n public resume(): void {\n this.subscription = this.observable.subscribe(this.action);\n }\n\n public pause(): void {\n this.subscription.unsubscribe();\n }\n}\n","import {\n AbstractControl,\n AbstractControlOptions,\n AsyncValidatorFn,\n FormGroup,\n ValidatorFn,\n FormControl,\n} from '@angular/forms';\n\nexport class FormGroupWithErrors extends FormGroup {\n generalErrors: string[] = [];\n\n constructor(\n controls: { [key: string]: AbstractControl },\n validatorOrOpts?:\n | ValidatorFn\n | ValidatorFn[]\n | AbstractControlOptions\n | null,\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\n ) {\n super(controls, validatorOrOpts, asyncValidator);\n }\n\n public getControl(name: string): AbstractControl {\n if (!this.contains(name)) {\n this.addControl(name, new FormControl({}));\n }\n\n return this.get(name);\n }\n\n public applyServerErrors(\n error: { title?: string; errors: { [key: string]: string[] } },\n form?: FormGroupWithErrors\n ): void {\n this.generalErrors = [];\n if (error.title) {\n this.generalErrors.push(error.title);\n }\n\n if (!form) {\n form = this;\n }\n\n for (const key in error.errors) {\n const ctrl = form.controls[key];\n if (ctrl) {\n ctrl.setErrors({ serverErrorMsg: error.errors[key].join(',') });\n } else {\n this.generalErrors.push(error.errors[key].join(','));\n }\n }\n }\n}\n","export enum HttpCodes {\n BadRequest = 400,\n Forbidden = 403,\n InternalServerError = 500,\n NotFound = 404,\n OK = 200,\n Unauthorized = 401,\n}\n","import { NamedModel } from './NamedModel';\n\nexport const HttpMethods: NamedModel[] = [\n { name: 'POST', id: 'POST' },\n { name: 'PUT', id: 'PUT' },\n { name: 'GET', id: 'GET' },\n { name: 'DELETE', id: 'DELETE' },\n];\n","import { Injectable } from '@angular/core';\n\nconst callbackPathKey = 'callbackPath';\nconst homePath = '/home';\nconst loginAsKey = 'X-User-Id';\nconst tokenKey = 'access_token';\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService {\n public putCurrentCallbackPath() {\n this.putCallbackPath(window.location.pathname + window.location.hash);\n }\n\n public putCallbackPath(pathUri: string): void {\n if (!this.getCallbackPath() && pathUri !== homePath) {\n localStorage.setItem(callbackPathKey, pathUri);\n }\n }\n\n public getCallbackPath(): string {\n return localStorage.getItem(callbackPathKey);\n }\n\n public clearCallbackPath(): void {\n localStorage.removeItem(callbackPathKey);\n }\n\n public setLoginAsUser(id: string): void {\n localStorage.setItem(loginAsKey, id);\n }\n\n public getLoginAsUser(): string {\n return localStorage.getItem(loginAsKey);\n }\n\n public clearLoginAsUser(): void {\n localStorage.removeItem(loginAsKey);\n }\n\n public setToken(token: string) {\n localStorage.setItem(tokenKey, token);\n }\n\n public getToken(): string {\n return localStorage.getItem(tokenKey);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppSettings } from '../models/AppSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppToastrService {\n constructor(\n private toastr: ToastrService,\n private appSettings: AppSettings\n ) {}\n\n private timeout = this.appSettings.toastrTimeOut;\n\n public showError(message: string, title: string = 'Error'): void {\n this.toastr.error(message, title, { timeOut: this.timeout });\n }\n\n public showSuccess(message: string, title: string = ''): void {\n this.toastr.success(message, title, { timeOut: this.timeout });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, of, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AppSettings } from '../models/AppSettings';\nimport { CustomHttpErrorResponse } from '../models/CustomHttpErrorResponse';\nimport { HttpCodes } from '../models/HttpCodes';\nimport { SettingsService } from './settings.service';\nimport { AppToastrService } from './toastr.service';\n\nconst absoluteUrlRegExp = /^http(s)?:\\/\\//;\nconst slash = '/';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpService {\n constructor(\n private appToastrService: AppToastrService,\n private httpClient: HttpClient,\n private appSettings: AppSettings,\n private translate: TranslateService,\n private router: Router,\n private settingsService: SettingsService\n ) {}\n\n get<T>(path: string): Observable<T> {\n return this.httpClient\n .get<T>(this.createUrl(path))\n .pipe(\n catchError((err: CustomHttpErrorResponse) =>\n this.handleServerError(err)\n )\n );\n }\n\n delete(path: string): Observable<object> {\n return this.httpClient.delete(this.createUrl(path)).pipe(\n tap(() => this.showSuccessMessage('ToastrMessages.RemovedSuccessfully')),\n catchError((err: CustomHttpErrorResponse) => this.handleServerError(err))\n );\n }\n\n post<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null\n ): Observable<T> {\n return this.httpClient.post<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully'\n )\n ),\n catchError((err) => this.handleServerError(err))\n );\n }\n\n put<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null\n ): Observable<T> {\n return this.httpClient.put<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully'\n )\n ),\n catchError((err) => this.handleServerError(err))\n );\n }\n\n private createUrl(path: string): string {\n if (absoluteUrlRegExp.test(path)) {\n return path;\n }\n\n path = path.startsWith(slash) ? path.slice(1) : path;\n const apiUrl = this.appSettings.apiUrl.endsWith(slash)\n ? this.appSettings.apiUrl\n : this.appSettings.apiUrl + slash;\n\n return apiUrl + path;\n }\n\n private handleServerError(error: CustomHttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n this.appToastrService.showError(\n 'An error occurred: ' + error.error.message\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Unauthorized) {\n this.settingsService.putCurrentCallbackPath();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Unauthorized')\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Forbidden) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Forbidden')\n );\n this.router.navigate(['forbidden']);\n\n return of(null);\n }\n\n if (error.status === HttpCodes.NotFound) {\n if (!!this.settingsService.getLoginAsUser()) {\n this.settingsService.clearLoginAsUser();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.CanNotLoginAsUser')\n );\n setTimeout(() => {\n window.location.href = '/';\n }, 1000);\n }\n\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.NotFound')\n );\n\n return of(null);\n }\n\n if (error.status >= HttpCodes.InternalServerError) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.ServerError') + error.error.title\n );\n\n return of(null);\n }\n\n return throwError(error);\n }\n\n private showSuccessMessage(message: string) {\n this.appToastrService.showSuccess(this.translate.instant(message));\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ISubscriptionControl } from '../../extensions/ISubscriptionControl';\n\n@Component({\n selector: 'live-updates-control',\n styleUrls: ['./live-updates-control.component.css'],\n templateUrl: './live-updates-control.component.html',\n})\nexport class LiveUpdatesControlComponent implements OnInit {\n @Input() subscription: ISubscriptionControl;\n\n ngOnInit(): void {\n this.subscription.resume();\n }\n\n public toggle(): void {\n this.subscription.connected\n ? this.subscription.pause()\n : this.subscription.resume();\n }\n}\n","export enum AuthProviders {\n IdentityServer = 'IdentityServer',\n AzureB2C = 'AzureB2C',\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class AuthProvider {\n public abstract initialize(): Observable<boolean>;\n public abstract login();\n public abstract logout();\n public abstract isUserLoggedIn(): boolean;\n public abstract getAccessToken(): Observable<string>;\n}\n","import { MsalService } from '@azure/msal-angular';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { from, Observable, of } from 'rxjs';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { AuthProvider } from './AuthProvider';\n\nexport class AzureB2CProvider extends AuthProvider {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService\n ) {\n super();\n }\n\n public initialize(): Observable<boolean> {\n return of(true);\n }\n\n public login() {\n this.authService.handleRedirectObservable().subscribe();\n if (!this.isUserLoggedIn()) {\n this.authService.loginRedirect().subscribe();\n }\n }\n\n public logout() {\n this.authService.logoutRedirect({\n postLogoutRedirectUri: location.origin,\n });\n }\n\n public getAccessToken(): Observable<string> {\n const request = {\n scopes: ['openid', 'offline_access', 'profile'],\n };\n\n return from(\n this.authService.instance\n .acquireTokenSilent(request)\n .then((authenticationResult) => {\n const token = authenticationResult.idToken;\n this.settingsService.setToken(token);\n\n return token;\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n await this.authService.instance.acquireTokenRedirect(request);\n\n return this.settingsService.getToken();\n }\n })\n );\n }\n\n public isUserLoggedIn = (): boolean =>\n !!this.authService.instance.getActiveAccount()?.localAccountId;\n}\n","import { AuthConfig, OAuthService } from 'angular-oauth2-oidc';\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\nimport { from, Observable, of } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { IndiginaConfiguration } from '../../angular/models/IndiginaConfiguration';\nimport { AuthProvider } from './AuthProvider';\n\nconst homePath = '/home';\n\nexport class OAuthProvider extends AuthProvider {\n constructor(\n private oauthService: OAuthService,\n private configuration: IndiginaConfiguration\n ) {\n super();\n }\n\n public initialize(): Observable<boolean> {\n const authConfig: AuthConfig = {\n issuer: this.configuration.appSettings.oidc.issuer,\n redirectUri: window.location.origin + '/login/callback',\n clientId: this.configuration.appSettings.oidc.clientId,\n scope: 'openid profile offline_access',\n postLogoutRedirectUri: window.location.origin + homePath,\n silentRefreshRedirectUri: window.location.origin + '/silent-renew.html',\n };\n\n return this.configure(authConfig);\n }\n\n public login() {\n this.oauthService.initLoginFlow();\n }\n\n public logout() {\n this.oauthService.logOut();\n }\n\n public getAccessToken(): Observable<string> {\n return of(this.oauthService.getAccessToken());\n }\n\n public isUserLoggedIn = (): boolean =>\n this.oauthService.hasValidAccessToken();\n\n private configure(authConfig: AuthConfig): Observable<boolean> {\n this.oauthService.configure(authConfig);\n this.oauthService.tokenValidationHandler = new JwksValidationHandler();\n this.oauthService.setupAutomaticSilentRefresh();\n\n return from(\n this.oauthService.loadDiscoveryDocument(\n authConfig.issuer + '/identity/.well-known/openid-configuration'\n )\n ).pipe(mergeMap(() => from(this.oauthService.tryLoginImplicitFlow())));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProviders } from '../models/AuthProviders';\nimport { SystemInfo } from '../models/SystemInfo';\nimport { AuthProvider } from '../services/auth.providers/AuthProvider';\nimport { AzureB2CProvider } from './../services/auth.providers/azureb2c.provider';\nimport { OAuthProvider } from './../services/auth.providers/oauth.provider';\nimport { endpoints } from './endpoints';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthProviderResolver {\n private AuthProvider$ = new BehaviorSubject<AuthProvider>(null);\n\n constructor(\n httpService: HttpService,\n oauthService: OAuthService,\n msalService: MsalService,\n settingsService: SettingsService,\n indiginaConfiguration: IndiginaConfiguration\n ) {\n httpService.get<SystemInfo>(endpoints.system.info).subscribe((info) => {\n let provider: AuthProvider;\n if (info.identityProvider === AuthProviders.IdentityServer) {\n provider = new OAuthProvider(oauthService, indiginaConfiguration);\n } else {\n provider = new AzureB2CProvider(msalService, settingsService);\n }\n\n provider.initialize().subscribe(() => this.AuthProvider$.next(provider));\n });\n }\n\n public getProvider = (): Observable<AuthProvider> =>\n this.AuthProvider$.pipe(filter((x) => !!x));\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { endpoints } from '../endpoints';\n\n@Injectable({ providedIn: 'root' })\nexport class SignalRService {\n protected isConnectionEstablished = false;\n protected hubConnection: signalR.HubConnection;\n private eventEmitters: { [eventName: string]: EventEmitter<any> } = {};\n\n constructor(private appSettings: AppSettings) {}\n\n private createConnection(token: string) {\n this.hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.appSettings.apiUrl + endpoints.signalr.eventsHub, {\n accessTokenFactory: () => {\n return token;\n },\n })\n .configureLogging(\n this.appSettings.signalRLogLevel ?? signalR.LogLevel.None\n )\n .build();\n\n this.hubConnection.onclose((err?) => {\n if (err !== undefined) {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n }\n });\n }\n\n public startConnection(token: string): void {\n if (!this.isConnectionEstablished) {\n this.createConnection(token);\n this.hubConnection\n .start()\n .then(() => {\n this.isConnectionEstablished = true;\n Object.keys(this.eventEmitters).forEach((eventName) => {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n });\n })\n .catch(() => {\n console.warn('Error while establishing connection, retrying...');\n setTimeout(() => this.startConnection(token), 5000);\n });\n }\n }\n\n public reconnect(token: string) {\n if (this.isConnectionEstablished) {\n this.hubConnection.stop().then(() => {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n });\n }\n }\n\n public on<T>(eventName: string): EventEmitter<T> {\n if (!this.eventEmitters[eventName]) {\n this.eventEmitters[eventName] = new EventEmitter<T>();\n if (this.hubConnection) {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n }\n }\n\n return this.eventEmitters[eventName] as EventEmitter<T>;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { Member } from '../models/Member';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { BaseAccountService } from './base.account.service';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminKey = 'Admin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService extends BaseAccountService<Member> {\n constructor(\n public resolver: AuthProviderResolver,\n httpService: HttpService,\n settingsService: SettingsService,\n signalRService: SignalRService\n ) {\n super(resolver, httpService, settingsService, signalRService);\n }\n\n public isAdmin = (member: Member): boolean =>\n member?.type === adminKey ?? false;\n}\n","import {\n Component,\n Input,\n HostListener,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { Member } from '../../models/Member';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'account-menu',\n templateUrl: './account-menu.component.html',\n styleUrls: ['./account-menu.component.css'],\n})\nexport class AccountMenuComponent {\n @ViewChild('accountMenuElement') accountMenu: ElementRef;\n @Input() user: Member;\n expand = false;\n languageSelectorVisible = false;\n constructor(\n private eref: ElementRef,\n private accountService: AccountService,\n private appSettings: AppSettings\n ) {}\n\n get fullName(): string {\n return `${this.user?.firstName} ${this.user?.lastName}`;\n }\n\n get accountUrl(): string {\n return this.appSettings.accountUrl;\n }\n\n toogle(): void {\n this.expand = !this.expand;\n }\n\n logout(): void {\n this.accountService.logout();\n }\n\n openLanguageSelector(event: MouseEvent): void {\n event.stopPropagation();\n this.toogle();\n this.languageSelectorVisible = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target) && this.expand) {\n this.toogle();\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult } from '@azure/msal-browser';\nimport { SettingsService } from '../../angular/services/settings.service';\n\nconst resetPasswordCanceledErrorCode = 'AADB2C90091';\n\n@Component({\n selector: 'lib-azure-login',\n template: '',\n})\nexport class AzureLoginCallbackComponent {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.authService.handleRedirectObservable().subscribe(\n (result: AuthenticationResult) => {\n if (result) {\n this.settingsService.setToken(result.idToken);\n this.authService.instance.setActiveAccount(result.account);\n }\n\n this.router.navigate(['home']);\n },\n (error) => {\n if (error.errorMessage.includes(resetPasswordCanceledErrorCode)) {\n this.router.navigate(['home']);\n }\n }\n );\n }\n\n public logout() {\n this.authService.logout();\n }\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { Language } from '../../angular/models/Language';\nimport { LocaleSettingsService } from '../../angular/services/locale-settings.service';\n\n@Component({\n selector: 'language-selector',\n templateUrl: './language-selector.component.html',\n styleUrls: ['./language-selector.component.css'],\n})\nexport class LanguageSelectorComponent {\n @Input() visible: boolean;\n @Output() visibleChange = new EventEmitter<boolean>();\n currentLanguageCode = '';\n languages: Language[];\n\n constructor(\n private eref: ElementRef,\n private settings: LocaleSettingsService\n ) {\n this.currentLanguageCode = this.settings.getLocale();\n this.languages = this.settings.getLocales();\n }\n\n async changeLanguage(code: string) {\n this.currentLanguageCode = code;\n this.settings.setLocale(this.currentLanguageCode);\n this.close();\n }\n\n close(): void {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","import {\n BrowserCacheLocation,\n Configuration,\n IPublicClientApplication,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\n\nconst isIE =\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\n window.navigator.userAgent.indexOf('Trident/') > -1;\n\nexport const MSALInstanceFactory = (\n config: IndiginaConfiguration\n): IPublicClientApplication => {\n const msalConfig: Configuration = {\n auth: {\n clientId: config.appSettings.azureB2C.clientId,\n authority: config.appSettings.azureB2C.authority,\n knownAuthorities: config.appSettings.azureB2C.knownAuthorities,\n redirectUri: window.location.origin + '/azure/login/callback',\n postLogoutRedirectUri: '/',\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.SessionStorage,\n storeAuthStateInCookie: isIE,\n },\n system: {\n loggerOptions: {\n loggerCallback: () => {},\n piiLoggingEnabled: false,\n },\n },\n };\n\n return new PublicClientApplication(msalConfig);\n};\n","import { endpoints } from './endpoints';\nimport { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { Permissions } from './../models/Permissions';\nimport { HttpService } from '../angular/services/http.service';\nimport { SignalRService } from './signalr/signalr.service';\nimport { EventNames } from './signalr/EventNames';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class PermissionsService {\n private loaded = false;\n public mine = new BehaviorSubject<Permissions>({});\n\n constructor(\n private httpService: HttpService,\n private accountService: AccountService,\n private signalRService: SignalRService\n ) {\n this.accountService.user.subscribe(async (user) => {\n if (!user) {\n this.mine.next({});\n\n return;\n }\n\n this.httpService\n .get<Permissions>(endpoints.permissions.mine)\n .subscribe((permissions) => {\n this.mine.next(permissions);\n this.loaded = true;\n this.signalRService\n .on<string>(EventNames.PermissionsUpdated)\n .subscribe(() => {\n this.getPermissionsFromServer();\n });\n });\n });\n }\n\n public getAll(memberType: MemberTypes): Observable<Permissions> {\n return this.httpService.get<Permissions>(\n endpoints.permissions.all(memberType)\n );\n }\n\n public getMine(): Observable<Permissions> {\n if (this.loaded) {\n return this.mine;\n }\n\n return this.getPermissionsFromServer();\n }\n\n private getPermissionsFromServer(): Observable<Permissions> {\n return this.httpService.get<Permissions>(endpoints.permissions.mine).pipe(\n map((permissions) => {\n this.mine.next(permissions);\n\n return permissions;\n })\n );\n }\n}\n","import { Directive, Input, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PermissionTypes } from '../models/PermissionTypes';\nimport { PermissionsService } from '../services/permissions.service';\n\nconst hiddenClass = 'hidden';\n\n@Directive({\n selector: '[requirePermission]',\n})\nexport class RequirePermissionDirective implements OnInit {\n @Input()\n permissionType: PermissionTypes | PermissionTypes[];\n @Input()\n permissionCategory?: string;\n\n constructor(\n private elementRef: ElementRef,\n private route: ActivatedRoute,\n private permissionsService: PermissionsService,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.hide();\n const category = this.permissionCategory\n ? this.permissionCategory\n : this.getRouteCategory(this.route);\n\n if (!category) {\n this.show();\n\n return;\n }\n\n this.permissionsService.mine.subscribe((permissions) => {\n const hasAccess =\n permissions[category] && this.hasType(permissions[category]);\n if (hasAccess) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n private hide() {\n this.renderer.addClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private show() {\n this.renderer.removeClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private hasType(types: PermissionTypes[]) {\n return Array.isArray(this.permissionType)\n ? types.map((x) => this.permissionType.includes(x)).some((x) => x)\n : types.includes(this.permissionType);\n }\n\n private getRouteCategory(route: ActivatedRoute): string {\n const routeData = route.snapshot.data;\n if (routeData && routeData.permission) {\n return routeData.permission.category;\n }\n\n if (this.route.parent) {\n return this.getRouteCategory(this.route.parent);\n }\n\n return null;\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SettingsService } from '../angular/services/settings.service';\n\nconst AuthorizationHeader = 'Authorization';\n\n@Injectable()\nexport class AuthHeadersInterceptor implements HttpInterceptor {\n constructor(private settingsService: SettingsService) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (!request.headers.keys().find((x) => x === AuthorizationHeader)) {\n const token = this.settingsService.getToken();\n if (token) {\n const modified = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n return next.handle(modified);\n } else {\n return next.handle(request);\n }\n }\n\n return next.handle(request);\n }\n}\n","export enum FieldTypes {\n Text,\n Checkbox,\n Dropdown,\n Multiselect,\n}\n","import { ActivityFilter } from '../../models/ActivityFilter';\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { CustomFilterElement } from '../../models/CustomFilterElement';\nimport { FieldTypes } from '../../models/FieldTypes';\nimport { ActivityFilterService } from '../../services/activity.filter.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst allKey = 'All';\nconst defaultValueField = 'id';\n\n@Component({\n selector: 'activity-filter',\n templateUrl: './activity-filter.component.html',\n styleUrls: ['./activity-filter.component.less'],\n})\nexport class ActivityFilterComponent implements OnInit, OnChanges {\n @Input() showArchiveSwitcher: boolean = true;\n @Input() showSearhText: boolean = true;\n @Input() customFilterElements: CustomFilterElement[];\n @Input() filterService: ActivityFilterService;\n\n public filter: ActivityFilter;\n public FieldTypes = FieldTypes;\n\n constructor(private translate: TranslateService) {}\n\n ngOnInit(): void {\n this.customFilterElements?.forEach(\n (element) =>\n (element.valueField = element.valueField\n ? element.valueField\n : defaultValueField)\n );\n this.filterService.filter$.subscribe((filter) => {\n this.filter = filter;\n this.changeFilter();\n });\n }\n\n ngOnChanges(): void {\n this.changeFilter();\n }\n\n public defaultNamedModel: NamedModel = {\n name: this.translate.instant(allKey),\n id: null,\n };\n\n public setTodayFilter() {\n this.filterService.setToday();\n }\n\n public clearFilter() {\n this.customFilterElements?.forEach((element) => {\n element.filter.value = null;\n if (element.filter.values) {\n element.filter.values = [];\n }\n });\n this.filterService.reset();\n this.emitChangeEvents();\n }\n\n public applyFilter() {\n this.setCustomFilters();\n this.filterService.applyFilter(this.filter);\n }\n\n public fieldChange(\n value: string | number | boolean | string[],\n element: CustomFilterElement\n ) {\n if (element.change) {\n element.change(value);\n }\n }\n\n private fillFilter() {\n if (!this.filter) {\n return;\n }\n\n this.customFilterElements?.forEach((element) => {\n element.filter = { ...element.filter, value: null, values: null };\n });\n\n this.filter.customFilters?.forEach((filter) => {\n const element = this.customFilterElements?.find(\n (x) =>\n x.filter.field === filter.field &&\n x.filter.filterTarget === filter.filterTarget\n );\n if (element) {\n element.filter = Object.assign({}, filter);\n }\n });\n }\n\n private setCustomFilters() {\n this.customFilterElements?.forEach((element) => {\n const index = this.filter.customFilters?.findIndex(\n (x) => x.field === element.filter.field\n );\n if (index !== -1) {\n this.filter.customFilters.splice(index, 1);\n }\n });\n\n this.customFilterElements?.forEach((element) =>\n this.filter.customFilters.push(element.filter)\n );\n }\n\n private fixMultiselectFilters() {\n const multiSelectFilters = this.customFilterElements?.map((element) => {\n if (element.fieldType === FieldTypes.Multiselect) {\n return element.filter;\n }\n });\n if (multiSelectFilters) {\n multiSelectFilters.forEach((filter) => {\n if (filter?.value) {\n filter.values = [filter.value as string];\n filter.value = null;\n }\n });\n }\n }\n\n private changeFilter() {\n this.fillFilter();\n this.fixMultiselectFilters();\n this.emitChangeEvents();\n }\n\n private emitChangeEvents() {\n this.customFilterElements?.forEach((element) => {\n if (element.filter.value || element.filter.values) {\n this.fieldChange(\n element.filter.value ?? element.filter.values,\n element\n );\n }\n });\n }\n}\n","import { Component, ViewChild, TemplateRef } from '@angular/core';\nimport { DialogService, DialogRef } from '@progress/kendo-angular-dialog';\n\n@Component({\n selector: 'confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css'],\n})\nexport class ConfirmDialogComponent {\n private dialog: DialogRef;\n private callback: () => void;\n @ViewChild('dialogActions', { static: true })\n public dialogActions: TemplateRef<any>;\n constructor(private dialogService: DialogService) {}\n\n cancel(): void {\n this.dialog.close();\n this.callback = undefined;\n }\n\n confirm() {\n this.callback();\n this.cancel();\n }\n\n public open(content: string, callback: () => void) {\n this.callback = callback;\n this.dialog = this.dialogService.open({\n content,\n actions: this.dialogActions,\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport * as momentModule from 'moment-timezone';\nconst moment = momentModule;\n\n@Component({\n selector: 'current-timezone',\n templateUrl: './current-timezone.component.html',\n styleUrls: ['./current-timezone.component.css'],\n})\nexport class CurrentTimezoneComponent implements OnInit {\n public timeZoneAndOffset: string;\n constructor() {}\n\n ngOnInit(): void {\n const timeZone = moment.tz.guess();\n this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');\n }\n}\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'entity-edit-buttons-bar',\n templateUrl: './buttons-bar.component.html',\n styleUrls: ['./buttons-bar.component.css'],\n})\nexport class EntityEditButtonsBarComponent {\n @Input()\n public valid: boolean;\n @Output()\n public save = new EventEmitter<boolean>();\n}\n","import { OnInit, ViewChild, Component, Input } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { FormControl } from '@angular/forms';\nimport { IFormAdapter } from './IFormAdapter';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { GeneralErrorsComponent } from '../../angular/forms/widgets/general-errors/general-errors.component';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'entity-edit-form',\n templateUrl: './entity-edit-form.component.html',\n styleUrls: ['./entity-edit-form.component.css'],\n})\nexport class EntityEditFormComponent implements OnInit {\n public formGroup: FormGroupWithErrors;\n @ViewChild('general_errors')\n generalErrors: GeneralErrorsComponent;\n @Input()\n title: string;\n @Input()\n adapter: IFormAdapter<IdentifiedModel>;\n\n public saveInProgress: boolean;\n\n constructor(private route: ActivatedRoute) {\n this.saveInProgress = false;\n }\n\n ngOnInit() {\n this.route.params.subscribe((params: IdentifiedModel) => {\n this.formGroup = null;\n const formGroup = new FormGroupWithErrors({});\n if (params.id) {\n this.adapter\n .getService()\n .get(params.id)\n .subscribe((model) => {\n formGroup.addControl('id', new FormControl(model.id));\n for (const key of Object.keys(model)) {\n formGroup.addControl(key, new FormControl(model[key]));\n }\n\n this.adapter.setForm(formGroup);\n this.formGroup = formGroup;\n });\n } else {\n this.adapter.setForm(formGroup);\n this.formGroup = formGroup;\n }\n });\n }\n\n save(): void {\n this.saveInProgress = true;\n this.adapter\n .getService()\n .save(this.adapter.getValue())\n .pipe(finalize(() => (this.saveInProgress = false)))\n .subscribe(\n (result: IdentifiedModel) => {\n this.adapter.onSaved(result);\n },\n (error: HttpErrorResponse) => {\n this.formGroup.applyServerErrors(error.error, this.formGroup);\n this.generalErrors.setErrors(this.formGroup.generalErrors);\n }\n );\n }\n}\n","import { Component, Input, ElementRef, OnChanges } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { IdentifiedModel } from '../../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\n\n@Component({\n selector: 'field-dropdown',\n templateUrl: './field-dropdown.component.html',\n styleUrls: ['./field-dropdown.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldDropdownComponent\n extends FieldComponent<string>\n implements OnChanges\n{\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n data: IdentifiedModel[] = [];\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n async ngOnChanges(): Promise<void> {\n await this.getData();\n this.control.setValue(\n (this.data.find((d) => d.id === this.control.value) || this.data[0]).id\n );\n }\n\n private getData() {\n this.service\n .getPage(this.filter ? { filter: this.filter } : {})\n .subscribe((data) => (this.data = data.data));\n }\n}\n","import { Component, Input, ElementRef, OnChanges } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { IdentifiedModel } from '../../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\n\n@Component({\n selector: 'field-multiselect',\n templateUrl: './field-multiselect.component.html',\n styleUrls: ['./field-multiselect.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldMultiSelectComponent\n extends FieldComponent<string[]>\n implements OnChanges\n{\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n data: IdentifiedModel[] = [];\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, []);\n }\n\n ngOnChanges(): void {\n this.getData().subscribe((data) => {\n this.data = data.data;\n this.control.setValue(\n this.control.value.filter(\n (x: string) => this.data.filter((d) => d.id === x).length\n )\n );\n });\n }\n\n private getData() {\n return this.service.getPage(this.filter ? { filter: this.filter } : {});\n }\n}\n","import {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\n\nexport const urlSerialize = (object: object): string => {\n let serialized = '';\n Object.keys(object).forEach((key) => {\n if (typeof object[key] === 'object') {\n const serializedObject = !isEmptyObject(object[key])\n ? JSON.stringify(object[key])\n : '';\n serialized += serializedObject ? `${key}=${serializedObject}&` : '';\n } else {\n serialized +=\n object[key] || object[key] === 0 ? `${key}=${object[key]}&` : '';\n }\n });\n\n return serialized.slice(0, -1);\n};\n\nconst isEmptyObject = (object: object): boolean => {\n return object === null || Object.keys(object).length === 0;\n};\n\nconst isDate = (date) => isNaN(date) && !isNaN(Date.parse(date));\n\nexport const urlDeserialize = (params: URLSearchParams) => {\n const deserialized = {};\n params.forEach((param, key) => {\n if (key === 'sort' || key === 'group') {\n deserialized[key] = JSON.parse(param);\n } else if (key === 'filter') {\n deserialized[key] = transformFilter(JSON.parse(param));\n } else {\n deserialized[key] = param;\n }\n });\n\n return deserialized;\n};\n\nfunction transformFilter(\n gridFilter: CompositeFilterDescriptor\n): CompositeFilterDescriptor {\n transformFilters(gridFilter);\n\n return gridFilter;\n}\n\nfunction transformFilters(gridFilter: CompositeFilterDescriptor) {\n if (gridFilter.filters.length) {\n gridFilter.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n let filterDescriptor = filter as FilterDescriptor;\n filterDescriptor.value = isDate(filterDescriptor.value)\n ? new Date(filterDescriptor.value)\n : filterDescriptor.value;\n\n let compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n transformFilters(compositeFilterDescriptor);\n }\n }\n );\n }\n}\n","import { Observable } from 'rxjs';\nimport {\n Component,\n OnInit,\n ViewChild,\n Input,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n Output,\n} from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport {\n State,\n FilterDescriptor,\n CompositeFilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\nimport {\n DataStateChangeEvent,\n RowClassArgs,\n} from '@progress/kendo-angular-grid';\nimport { Field } from './Field';\nimport { Command } from './Command';\nimport { urlDeserialize, urlSerialize } from './UrlSerializer';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { IEntityService } from '../../services/IEntityService';\nimport { Page } from '../../models/Page';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\n\nconst nameField = 'name';\n\n@Component({\n selector: 'entity-list',\n templateUrl: './entity-list.component.html',\n styleUrls: ['./entity-list.component.css'],\n})\nexport class EntityListComponent implements OnInit, OnChanges {\n @Input()\n public service: IEntityService<NamedModel>;\n @Input()\n public filters: Array<FilterDescriptor | CompositeFilterDescriptor>;\n @Input()\n public fields?: Field[];\n @Input()\n public commands?: Command[];\n @Input()\n public rowClass?: (dataItem: NamedModel, index: number) => {};\n @Input()\n public defaultSort?: SortDescriptor[];\n @Output()\n public filterChange = new EventEmitter<CompositeFilterDescriptor>();\n @ViewChild('confirmDialog', { static: true })\n public dialog: ConfirmDialogComponent;\n public gridState: State = {};\n public page: Page<NamedModel>;\n public loadings = 0;\n public searchTerm: string;\n public selected: string[] = [];\n public gridFields: Field[] = [];\n private defaultFields: Field[] = [\n { name: 'name', label: 'Name', sortable: true, position: 0 },\n ];\n\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router\n ) {\n this.getAllData = this.getAllData.bind(this);\n this.getRowClass = this.getRowClass.bind(this);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes.filters || changes.filters.firstChange) {\n return;\n }\n\n this.getFilteredData();\n }\n\n async ngOnInit() {\n this.gridFields = (this.fields || [])\n .concat(this.defaultFields)\n .sort((left, right) => (left.position || 0) - (right.position || 0));\n this.filters = this.filters ? this.filters : [];\n this.commands = this.commands ? this.commands : [];\n this.route.fragment.subscribe(async (fragment: string) => {\n await this.restoreGridState(new URLSearchParams(fragment));\n });\n\n this.route.firstChild.params.subscribe(async (params: Params) => {\n if (params.id) {\n this.selected[0] = params.id;\n } else {\n this.selected.pop();\n }\n });\n }\n\n public removeHandler({ dataItem }) {\n this.dialog.open(\n this.translate.instant('Confirmation.Delete') +\n ': \"' +\n dataItem.name +\n '\"?',\n () => this.remove(dataItem)\n );\n }\n\n public selectItem({ dataItem }) {\n this.router.navigate([dataItem.id], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onActivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.subscribe((data: { id: string; name: string }) =>\n this.updateGrid(data)\n );\n }\n }\n\n public onDeactivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.unsubscribe();\n }\n }\n\n public dataStateChange(state: DataStateChangeEvent) {\n Object.keys(state).forEach((key) => {\n this.gridState[key] = isNaN(state.skip)\n ? this.gridState[key]\n : state[key];\n });\n\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onSearch(value: string) {\n this.searchTerm = value;\n this.gridState.skip = 0;\n this.getFilteredData();\n }\n\n public getAllData(): Observable<Page<NamedModel>> {\n const state = Object.assign({}, this.gridState);\n delete state.skip;\n delete state.take;\n\n return this.service.getPage(state);\n }\n\n public getRowClass(context: RowClassArgs): Object {\n return this.rowClass && context\n ? this.rowClass(context.dataItem, context.index)\n : {};\n }\n\n private getFilteredData() {\n this.gridState.filter = this.getFilter();\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n protected updateGrid(data: NamedModel) {\n const exists = this.page.data.filter((x) => x.id === data.id);\n if (exists.length) {\n this.page.data[this.page.data.indexOf(exists[0])] = data;\n\n return;\n }\n\n this.page.total++;\n this.page.data.splice(0, 0, data);\n if (this.page.data.length > this.gridState.take) {\n this.page.data.splice(this.page.data.length - 1, 1);\n }\n\n this.selected[0] = data.id;\n this.router.navigate([data.id], {\n relativeTo: this.route,\n preserveFragment: true,\n });\n }\n\n private async remove(entity: IdentifiedModel) {\n this.loadings++;\n this.service.delete(entity.id).subscribe(() => {\n if (\n this.selected.length &&\n this.selected[this.selected.length - 1] === entity.id\n ) {\n this.router.navigate(['../'], {\n preserveFragment: true,\n relativeTo: this.route.firstChild,\n });\n }\n this.loadings--;\n });\n this.getData();\n }\n\n protected getData() {\n this.loadings++;\n this.service.getPage(this.gridState).subscribe((page) => {\n this.page = page;\n this.loadings--;\n });\n }\n\n private getFilter(): CompositeFilterDescriptor {\n const filter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: this.searchTerm\n ? [\n { field: nameField, operator: 'contains', value: this.searchTerm },\n ...this.filters,\n ]\n : this.filters,\n };\n\n return filter;\n }\n\n private onFilterChange() {\n const filter: any = this.gridState.filter?.filters.find(\n (x: FilterDescriptor) => x.field === nameField\n );\n this.searchTerm = filter?.value;\n this.filterChange.emit(this.gridState.filter);\n }\n\n private async restoreGridState(params: URLSearchParams) {\n const defaultGridState: State = {\n sort: this.defaultSort || [{ field: nameField, dir: 'asc' }],\n skip: 0,\n take: 10,\n };\n\n const state = urlDeserialize(params);\n this.gridState = state.hasOwnProperty('take') ? state : defaultGridState;\n this.onFilterChange();\n this.getData();\n }\n}\n","import {\n Component,\n Input,\n Output,\n OnInit,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport { DropDownListComponent } from '@progress/kendo-angular-dropdowns';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../../angular/models/NamedModel';\n\nconst All = 'All';\n\n@Component({\n selector: 'field-dropdownlist',\n templateUrl: './field-dropdownlist.component.html',\n styleUrls: ['./field-dropdownlist.component.css'],\n})\nexport class FieldDropdownlistComponent implements OnInit {\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n label: string;\n @Output()\n valueChange = new EventEmitter<NamedModel>();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n private initialSelectedId: string;\n\n public defaultItem: NamedModel;\n public data: NamedModel[];\n\n constructor(private translate: TranslateService) {}\n\n async ngOnInit(): Promise<void> {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n await this.getData();\n this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n });\n }\n\n private getData() {\n this.service.getPage({}).subscribe((data) => {\n this.data = data.data;\n if (this.initialSelectedId) {\n const selectedItem = this.data.find(\n (x) => x.id === this.initialSelectedId\n );\n\n if (selectedItem) {\n this.kendoDropDown.writeValue(selectedItem);\n }\n }\n });\n }\n\n onValueChange(event: NamedModel) {\n this.valueChange.emit(event);\n }\n\n public initSelectedId(id: string): void {\n this.initialSelectedId = id;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'excel-export-button',\n templateUrl: './excel-export-button.component.html',\n styleUrls: ['./excel-export-button.component.css'],\n})\nexport class ExcelExportButtonComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'footer-bar',\n templateUrl: './footer-bar.component.html',\n styleUrls: ['./footer-bar.component.css'],\n})\nexport class FooterBarComponent {}\n","import { Component, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'modal-window',\n templateUrl: './modal-window.component.html',\n styleUrls: ['./modal-window.component.css'],\n})\nexport class ModalWindowComponent {\n @Input() callbackPath: string;\n\n constructor(protected route: ActivatedRoute, private router: Router) {}\n\n public opened: boolean = true;\n\n public close() {\n this.opened = false;\n this.router.navigate([this.callbackPath], {\n relativeTo: this.route,\n fragment: this.route.snapshot?.fragment,\n });\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core';\nimport {\n CompositeFilterDescriptor,\n distinct,\n filterBy,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { FilterService } from '@progress/kendo-angular-grid';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst defaultValueKey = 'id';\n\n@Component({\n selector: 'multicheck-filter',\n templateUrl: './multicheck-filter.component.html',\n styleUrls: ['./multicheck-filter.component.css'],\n})\nexport class MulticheckFilterComponent implements AfterViewInit {\n @Input() public currentFilter: CompositeFilterDescriptor;\n @Input() public data: NamedModel[];\n @Input() public filterService: FilterService;\n @Input() public field: string;\n @Input() public valueField: string;\n @Output() public valueChange = new EventEmitter<number[]>();\n\n public currentData: NamedModel[];\n public showFilter = true;\n private value: string[] = [];\n private filters: FilterDescriptor[] = [];\n private get ValueKey(): string {\n return this.valueField ? this.valueField : defaultValueKey;\n }\n\n public ngAfterViewInit() {\n this.currentData = this.data;\n if (this.currentData && this.currentData.length) {\n this.traverseFilters(this.currentFilter);\n this.value = this.filters.map((f: FilterDescriptor) => f.value);\n this.showFilter = typeof this.currentData[0].name === 'string';\n }\n }\n\n traverseFilters(filters: CompositeFilterDescriptor | FilterDescriptor) {\n let compositeFilterDescriptor = filters as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n for (let i = 0; i < compositeFilterDescriptor.filters.length; i++) {\n const innerFilter = compositeFilterDescriptor.filters[\n i\n ] as FilterDescriptor;\n if (innerFilter.value && innerFilter.field === this.field) {\n this.filters.push(innerFilter);\n }\n\n this.traverseFilters(innerFilter);\n }\n }\n }\n\n public isItemSelected(item: NamedModel) {\n return this.value.some((x) => x === item[this.ValueKey]);\n }\n\n public onSelectionChange(item: NamedModel) {\n const selectedValue = item[this.ValueKey];\n if (this.value.some((x) => x === selectedValue)) {\n this.value = this.value.filter((x) => x !== selectedValue);\n } else {\n this.value.push(selectedValue);\n }\n\n this.filterService.filter({\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n logic: 'or',\n });\n }\n\n public onInput(e: any) {\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem) =>\n this.value.some((val) => val === dataItem.id)\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: 'name',\n value: e.target.value,\n }),\n ],\n 'name'\n );\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Member } from '../../models/Member';\n\n@Component({\n selector: 'top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.css'],\n})\nexport class TopMenuComponent {\n @Input()\n currentUser: Member;\n\n public toggleButtonClick() {\n document.body.classList.toggle('mini-navbar');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { MsalModule, MsalService, MSAL_INSTANCE } from '@azure/msal-angular';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DialogsModule, WindowModule } from '@progress/kendo-angular-dialog';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ExcelModule, GridModule } from '@progress/kendo-angular-grid';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { PopupModule } from '@progress/kendo-angular-popup';\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\nimport {\n OAuthModule,\n OAuthModuleConfig,\n OAuthStorage,\n} from 'angular-oauth2-oidc';\nimport { IndiginaModule } from './angular/indigina.module';\nimport { AppSettings } from './angular/models/AppSettings';\nimport { IndiginaConfiguration } from './angular/models/IndiginaConfiguration';\nimport { LiveUpdatesControlComponent } from './angular/widgets/live-updates-control/live-updates-control.component';\nimport { AccountMenuComponent } from './components/account-menu/account-menu.component';\nimport { AzureLoginCallbackComponent } from './components/azure-login-callback/azure-login-callback.component';\nimport { LanguageSelectorComponent } from './components/language-selector/language-selector.component';\nimport { MSALInstanceFactory } from './config/msal-instance.factory';\nimport { RequirePermissionDirective } from './directives/requirePermission.directive';\nimport { AuthHeadersInterceptor } from './interceptors/auth-headers.interceptor';\nimport { AccountService } from './services/account.service';\nimport { PermissionsService } from './services/permissions.service';\nimport { SignalRService } from './services/signalr/signalr.service';\nimport { ActivityFilterComponent } from './widgets/activity-filter/activity-filter.component';\nimport { ConfirmDialogComponent } from './widgets/confirm-dialog/confirm-dialog.component';\nimport { CurrentTimezoneComponent } from './widgets/current-timezone/current-timezone.component';\nimport { EntityEditButtonsBarComponent } from './widgets/entity-edit/buttons-bar/buttons-bar.component';\nimport { EntityEditFormComponent } from './widgets/entity-edit/entity-edit-form.component';\nimport { FieldDropdownComponent } from './widgets/entity-edit/field-dropdown/field-dropdown.component';\nimport { FieldMultiSelectComponent } from './widgets/entity-edit/field-multiselect/field-multiselect.component';\nimport { EntityListComponent } from './widgets/entity-list/entity-list.component';\nimport { FieldDropdownlistComponent } from './widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nimport { ExcelExportButtonComponent } from './widgets/excel-export-button/excel-export-button.component';\nimport { FooterBarComponent } from './widgets/footer-bar/footer-bar.component';\nimport { ModalWindowComponent } from './widgets/modal-window/modal-window.component';\nimport { MulticheckFilterComponent } from './widgets/multicheck-filter/multicheck-filter.component';\nimport { TopMenuComponent } from './widgets/top-bar/top-bar.component';\n\n@NgModule({\n declarations: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldDropdownComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n AzureLoginCallbackComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n IndiginaModule,\n OAuthModule.forRoot(),\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n DialogsModule,\n CommonModule,\n FormsModule,\n WindowModule,\n DialogsModule,\n ReactiveFormsModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n MsalModule,\n ],\n providers: [\n { provide: OAuthStorage, useValue: localStorage },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHeadersInterceptor,\n multi: true,\n },\n AccountService,\n PermissionsService,\n SignalRService,\n MsalService,\n ],\n exports: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n IndiginaModule,\n PopupModule,\n OAuthModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n WindowModule,\n DialogsModule,\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldDropdownComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n MsalModule,\n AzureLoginCallbackComponent,\n ],\n})\nexport class KendoModule {\n public static forRoot(\n config: IndiginaConfiguration\n ): ModuleWithProviders<KendoModule> {\n return {\n ngModule: KendoModule,\n providers: [\n {\n provide: IndiginaConfiguration,\n useValue: config,\n },\n {\n provide: OAuthModuleConfig,\n useValue: {\n resourceServer: {\n allowedUrls: [config.appSettings.apiUrl],\n sendAccessToken: true,\n },\n },\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [IndiginaConfiguration],\n },\n ],\n };\n }\n}\n\nexport function OAuthConfigFactory(\n appSettings: AppSettings\n): OAuthModuleConfig {\n return {\n resourceServer: {\n allowedUrls: [appSettings?.apiUrl],\n sendAccessToken: true,\n },\n };\n}\n","export enum FilterTargets {\n Url,\n Grid,\n}\n","export enum MemberTypes {\n Admin = 'Admin',\n User = 'User'\n}\n","export enum Operators {\n eq = 'eq',\n neq = 'neq',\n isnull = 'isnull',\n isnotnull = 'isnotnull',\n lt = 'lt',\n lte = 'lte',\n gt = 'gt',\n gte = 'gte',\n startswith = 'startswith',\n endswith = 'endswith',\n contains = 'contains',\n doesnotcontain = 'doesnotcontain',\n isempty = 'isempty',\n isnotempty = 'isnotempty',\n}\n","export enum PermissionTypes {\n Create = 'Create',\n Delete = 'Delete',\n Edit = 'Edit',\n View = 'View',\n Set = 'Set',\n}\n","import { State, CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../../models/ActivityFilter';\nimport { FilterTargets } from '../../models/FilterTargets';\nimport { Operators } from '../../models/Operators';\nexport class FilterConverter {\n public static toGridState(\n filter: ActivityFilter,\n DateFilterFieldName: string\n ): State {\n const gridState: State = {\n filter: {\n logic: 'and',\n filters: [],\n },\n };\n const mainFilter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: [],\n };\n gridState.skip = filter.skip;\n gridState.take = filter.take;\n if (filter.group) {\n gridState.group = filter.group;\n }\n\n if (filter.sort) {\n gridState.sort = filter.sort;\n } else {\n gridState.sort = [{ field: DateFilterFieldName, dir: 'desc' }];\n }\n\n if (filter.dateFrom) {\n mainFilter.filters.push({\n operator: Operators.gte,\n field: DateFilterFieldName,\n value: filter.dateFrom,\n });\n }\n\n if (filter.dateTo) {\n mainFilter.filters.push({\n operator: Operators.lte,\n field: DateFilterFieldName,\n value: filter.dateTo,\n });\n }\n\n filter.customFilters?.forEach((x) => {\n if (x.filterTarget === FilterTargets.Grid) {\n if (x.values && x.values.length) {\n const multiselectFilter: CompositeFilterDescriptor = {\n logic: 'or',\n filters: [],\n };\n x.values.forEach((value) => {\n multiselectFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value,\n });\n });\n\n gridState.filter.filters.push(multiselectFilter);\n } else {\n if (x.value !== null && typeof x.value !== 'undefined') {\n mainFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value: x.value,\n });\n }\n }\n }\n });\n\n if (mainFilter.filters.length) {\n if (gridState.filter.filters.length) {\n gridState.filter.filters.push(mainFilter);\n } else {\n gridState.filter.filters = mainFilter.filters;\n }\n }\n\n return gridState;\n }\n}\n","import { FilterConverter } from '../widgets/activity-filter/FilterConverter';\nimport {\n urlDeserialize,\n urlSerialize,\n} from '../widgets/entity-list/UrlSerializer';\nimport { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../models/ActivityFilter';\nimport { FilterTargets } from '../models/FilterTargets';\nimport { Operators } from '../models/Operators';\nimport { CustomFilter } from '../models/CustomFilter';\n\nconst filterKey = 'filter';\nconst filtersKey = 'filters';\nconst dateToKey = 'dateTo';\nconst dateFromKey = 'dateFrom';\nconst customFiltersKey = 'customFilters';\nconst nullKey = 'null';\n\n@Injectable()\nexport class ActivityFilterService {\n public currentFilter: ActivityFilter;\n public currentGridState: State;\n\n private readonly defaultFilter: ActivityFilter = {\n dateTo: null,\n dateFrom: null,\n switchToArchive: false,\n searchText: '',\n skip: 0,\n take: 10,\n };\n\n protected DateFilterStartFieldName = 'start';\n protected filterBehavior = new BehaviorSubject<ActivityFilter>(\n this.defaultFilter\n );\n protected gridStateBehavior = new BehaviorSubject<State>(\n FilterConverter.toGridState(\n this.defaultFilter,\n this.DateFilterStartFieldName\n )\n );\n\n public filter$ = this.filterBehavior.asObservable();\n public gridState$ = this.gridStateBehavior.asObservable();\n\n constructor(private route: ActivatedRoute, private router: Router) {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.route.fragment.subscribe(async (fragment: string) => {\n const parsed = urlDeserialize(new URLSearchParams(fragment));\n if (Object.keys(parsed).some((key) => key === filterKey)) {\n this.currentGridState = parsed as State;\n this.fillCurrentFilter(parsed);\n } else {\n this.clearFilter();\n this.setTodayDates();\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.DateFilterStartFieldName\n );\n }\n\n this.filterBehavior.next(this.currentFilter);\n });\n\n this.filter$.subscribe((filter) => {\n this.gridStateBehavior.next(\n FilterConverter.toGridState(filter, this.DateFilterStartFieldName)\n );\n });\n }\n\n public reset() {\n this.clearFilter();\n this.applyFilter(this.currentFilter);\n this.gridStateBehavior.next(this.currentGridState);\n }\n\n public setFilter(filter: ActivityFilter) {\n this.currentFilter.skip = 0;\n this.currentFilter = Object.assign(filter);\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.DateFilterStartFieldName\n );\n }\n\n public applyFilter(filter: ActivityFilter) {\n this.setFilter(filter);\n this.stateNavigation(this.prepareFilterToSerialize());\n }\n\n public setToday() {\n this.setTodayDates();\n this.applyFilter(this.currentFilter);\n }\n\n public clearFilter() {\n if (this.currentFilter) {\n const customFilters = Object.assign([], this.currentFilter.customFilters);\n customFilters.forEach((x) => {\n x.value = null;\n if (x.values) {\n x.values = [];\n }\n });\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.currentFilter.customFilters = customFilters;\n } else {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n }\n }\n\n public setGridState(state: State) {\n this.currentGridState = state;\n const { switchToArchive, searchText } = this.currentFilter;\n this.clearFilter();\n this.currentFilter = Object.assign(this.currentFilter, {\n switchToArchive,\n searchText,\n });\n this.fillCurrentFilter(this.currentGridState);\n this.stateNavigation(this.currentGridState);\n }\n\n public setTodayDates() {\n const now = new Date();\n this.currentFilter.dateTo = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate() + 1,\n 0,\n 0,\n 0\n );\n this.currentFilter.dateFrom = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n 0,\n 0,\n 0\n );\n }\n\n private async stateNavigation(object: Object) {\n const navigate = await this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(object),\n });\n if (!navigate) {\n this.filterBehavior.next(this.currentFilter);\n }\n }\n\n private prepareFilterToSerialize(): object {\n const result = {};\n Object.keys(this.currentFilter).forEach((key) => {\n if (\n key !== dateToKey &&\n key !== dateFromKey &&\n key !== customFiltersKey\n ) {\n result[key] = this.currentFilter[key];\n }\n });\n\n this.currentFilter.customFilters?.forEach((filter) => {\n if (filter.filterTarget == FilterTargets.Url) {\n result[filter.field] = filter.value;\n }\n });\n\n result[filterKey] = FilterConverter.toGridState(\n this.currentFilter,\n this.DateFilterStartFieldName\n ).filter;\n\n return result;\n }\n\n private fillCurrentFilter(object: State) {\n this.currentFilter.customFilters = [];\n this.fillFromDescriptor(object.filter);\n Object.keys(object).forEach((key) => {\n if (key !== filterKey && key !== nullKey && key !== filtersKey) {\n if (Object.keys(this.currentFilter).some((x) => x == key)) {\n this.currentFilter[key] = object[key];\n } else {\n this.fillUrlFilter(key, object[key]);\n }\n }\n });\n }\n\n private fillUrlFilter(key: string, val: string) {\n const index = this.currentFilter.customFilters.findIndex(\n (filter) => filter.field == key\n );\n if (index !== -1) {\n this.currentFilter.customFilters[index].value = val;\n } else {\n this.currentFilter.customFilters.push({\n field: key,\n value: val,\n operator: Operators.eq,\n filterTarget: FilterTargets.Url,\n });\n }\n }\n\n private fillFromDescriptor(gridFilter: CompositeFilterDescriptor) {\n gridFilter?.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n const filterDescriptor = filter as FilterDescriptor;\n if (\n filterDescriptor.field === this.DateFilterStartFieldName &&\n filterDescriptor.operator === Operators.lte\n ) {\n this.currentFilter.dateTo = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field === this.DateFilterStartFieldName &&\n filterDescriptor.operator === Operators.gte\n ) {\n this.currentFilter.dateFrom = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field &&\n filterDescriptor.field !== this.DateFilterStartFieldName\n ) {\n this.setFieldFilter({\n field: filterDescriptor.field as string,\n filterTarget: FilterTargets.Grid,\n operator: Operators[filterDescriptor.operator as string],\n value: filterDescriptor.value,\n });\n }\n\n const compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n this.fillFromDescriptor(compositeFilterDescriptor);\n }\n }\n );\n }\n\n private setFieldFilter(filter: CustomFilter) {\n const index = this.currentFilter.customFilters.findIndex(\n (x) => x.field === filter.field && x.operator === filter.operator\n );\n if (index !== -1) {\n const values = this.currentFilter.customFilters[index].values;\n const value = this.currentFilter.customFilters[index].value;\n this.currentFilter.customFilters[index].values = values ? values : [];\n if (value) {\n this.currentFilter.customFilters[index].values.push(value as string);\n this.currentFilter.customFilters[index].value = null;\n }\n\n this.currentFilter.customFilters[index].values.push(\n filter.value as string\n );\n } else {\n this.currentFilter.customFilters.push(filter);\n }\n }\n}\n","import { IEntityService } from './IEntityService';\nimport { Page } from '../models/Page';\nimport { IEntityEndpoints } from './IEntityEndpoints';\nimport { Observable } from 'rxjs';\nimport { State } from '@progress/kendo-data-query/dist/npm/state';\nimport { IdentifiedModel } from '../angular/models/IdentifiedModel';\nimport { HttpService } from '../angular/services/http.service';\n\nexport abstract class EntityService<T extends IdentifiedModel>\n implements IEntityService<T>\n{\n constructor(\n protected httpService: HttpService,\n protected endpoints: IEntityEndpoints\n ) {}\n\n getPage(state: State): Observable<Page<T>> {\n return this.httpService.get<Page<T>>(this.endpoints.query(state));\n }\n\n get(id: string): Observable<T> {\n return this.httpService.get<T>(this.endpoints.entityPath(id));\n }\n\n delete(id: string): Observable<object> {\n return this.httpService.delete(this.endpoints.entityPath(id));\n }\n\n save(model: T): Observable<T> {\n if (model.id) {\n return this.httpService.put(this.endpoints.entityPath(model.id), model);\n }\n\n return this.httpService.post(this.endpoints.path, model);\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { IEntityService } from '../../services/IEntityService';\nimport { IFormAdapter } from './IFormAdapter';\n\nexport abstract class EntityEditComponent<T extends IdentifiedModel>\n implements IFormAdapter<T>\n{\n form: FormGroupWithErrors;\n saved = new EventEmitter<T>();\n get adapter() {\n return this;\n }\n\n constructor(public service: IEntityService<T>) {}\n\n getValue(): T {\n return this.form.value;\n }\n\n getService(): IEntityService<T> {\n return this.service;\n }\n\n setForm(form: FormGroupWithErrors): void {\n this.form = form;\n }\n\n onSaved(value: T): void {\n this.saved.emit(value);\n }\n}\n","import * as momentModule from 'moment-timezone';\n/*\n * Public API Surface of kendo\n */\nexport * from '@angular/platform-browser/animations';\nexport * from '@azure/msal-angular';\nexport { LogLevel } from '@microsoft/signalr';\nexport * from '@ngx-loading-bar/http-client';\nexport * from '@ngx-translate/core';\nexport {\n OAuthModule,\n OAuthModuleConfig,\n OAuthService,\n OAuthStorage,\n} from 'angular-oauth2-oidc';\nexport * from 'ngx-clipboard';\nexport * from 'ngx-toastr';\nexport { IndiginaModule } from '././lib/angular/indigina.module';\nexport { BaseAccountService } from '././lib/services/base.account.service';\nexport { ISubscriptionControl } from './lib/angular/extensions/ISubscriptionControl';\nexport { ReEntrySubscription } from './lib/angular/extensions/ReEntrySubscription';\nexport { DebounceDirective } from './lib/angular/forms/directives/debounce.directive';\nexport { FormGroupWithErrors } from './lib/angular/forms/extensions/FormGroupWithErrors';\nexport { FieldInputComponent } from './lib/angular/forms/widgets/field/field-input/field-input.component';\nexport { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';\nexport { FieldComponent } from './lib/angular/forms/widgets/field/field.component';\nexport { GeneralErrorsComponent } from './lib/angular/forms/widgets/general-errors/general-errors.component';\nexport { AppSettings } from './lib/angular/models/AppSettings';\nexport type { CustomHttpErrorResponse } from './lib/angular/models/CustomHttpErrorResponse';\nexport { HttpCodes } from './lib/angular/models/HttpCodes';\nexport { HttpMethods } from './lib/angular/models/HttpMethods';\nexport { IdentifiedModel } from './lib/angular/models/IdentifiedModel';\nexport { IndiginaConfiguration } from './lib/angular/models/IndiginaConfiguration';\nexport { Language } from './lib/angular/models/Language';\nexport { NamedModel } from './lib/angular/models/NamedModel';\nexport { HttpService } from './lib/angular/services/http.service';\nexport { LocaleSettingsService } from './lib/angular/services/locale-settings.service';\nexport { SettingsService } from './lib/angular/services/settings.service';\nexport { AppToastrService } from './lib/angular/services/toastr.service';\nexport { LiveUpdatesControlComponent } from './lib/angular/widgets/live-updates-control/live-updates-control.component';\nexport { MenuItem } from './lib/angular/widgets/side-menu/MenuItem';\nexport { SideMenuComponent } from './lib/angular/widgets/side-menu/side-menu.component';\nexport { TreeViewComponent } from './lib/angular/widgets/tree-view/tree-view.component';\nexport { AccountMenuComponent } from './lib/components/account-menu/account-menu.component';\nexport { AzureLoginCallbackComponent } from './lib/components/azure-login-callback/azure-login-callback.component';\nexport { LanguageSelectorComponent } from './lib/components/language-selector/language-selector.component';\nexport { MSALInstanceFactory } from './lib/config/msal-instance.factory';\nexport { RequirePermissionDirective } from './lib/directives/requirePermission.directive';\nexport { KendoModule } from './lib/kendo.module';\nexport { ActivityFilter } from './lib/models/ActivityFilter';\nexport { AzureB2CSettings } from './lib/models/AzureB2CSettings';\nexport { CustomFilter } from './lib/models/CustomFilter';\nexport { CustomFilterElement } from './lib/models/CustomFilterElement';\nexport { FieldTypes } from './lib/models/FieldTypes';\nexport { FilterTargets } from './lib/models/FilterTargets';\nexport { Member } from './lib/models/Member';\nexport { MemberBase } from './lib/models/MemberBase';\nexport { MemberTypes } from './lib/models/MemberTypes';\nexport { OidcSettings } from './lib/models/OidcSettings';\nexport { Operators } from './lib/models/Operators';\nexport { Page } from './lib/models/Page';\nexport { Permissions } from './lib/models/Permissions';\nexport { PermissionTypes } from './lib/models/PermissionTypes';\nexport { SystemInfo } from './lib/models/SystemInfo';\nexport { AccountService } from './lib/services/account.service';\nexport { ActivityFilterService } from './lib/services/activity.filter.service';\nexport { AuthProviderResolver } from './lib/services/auth-provider.resolver';\nexport { AuthProvider } from './lib/services/auth.providers/AuthProvider';\nexport {\n buildActivityEndpoints,\n buildEntityEndpoints,\n endpoints,\n} from './lib/services/endpoints';\nexport { EntityService } from './lib/services/entity.service';\nexport { IActivityEndpoints } from './lib/services/IActivityEndpoints';\nexport { IEntityEndpoints } from './lib/services/IEntityEndpoints';\nexport { IEntityService } from './lib/services/IEntityService';\nexport { PermissionsService } from './lib/services/permissions.service';\nexport { EventNames } from './lib/services/signalr/EventNames';\nexport { SignalRService } from './lib/services/signalr/signalr.service';\nexport { ActivityFilterComponent } from './lib/widgets/activity-filter/activity-filter.component';\nexport { ConfirmDialogComponent } from './lib/widgets/confirm-dialog/confirm-dialog.component';\nexport { CurrentTimezoneComponent } from './lib/widgets/current-timezone/current-timezone.component';\nexport { EntityEditButtonsBarComponent } from './lib/widgets/entity-edit/buttons-bar/buttons-bar.component';\nexport { EntityEditFormComponent } from './lib/widgets/entity-edit/entity-edit-form.component';\nexport { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.component';\nexport { FieldDropdownComponent } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.component';\nexport { FieldMultiSelectComponent } from './lib/widgets/entity-edit/field-multiselect/field-multiselect.component';\nexport { Command } from './lib/widgets/entity-list/Command';\nexport { EntityListComponent } from './lib/widgets/entity-list/entity-list.component';\nexport { Field } from './lib/widgets/entity-list/Field';\nexport { FieldDropdownlistComponent } from './lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nexport {\n urlDeserialize,\n urlSerialize,\n} from './lib/widgets/entity-list/UrlSerializer';\nexport { ExcelExportButtonComponent } from './lib/widgets/excel-export-button/excel-export-button.component';\nexport { FooterBarComponent } from './lib/widgets/footer-bar/footer-bar.component';\nexport { ModalWindowComponent } from './lib/widgets/modal-window/modal-window.component';\nexport { MulticheckFilterComponent } from './lib/widgets/multicheck-filter/multicheck-filter.component';\nexport { TopMenuComponent } from './lib/widgets/top-bar/top-bar.component';\nexport const momentTimezone = momentModule;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AppSettingsFactory as ɵc,LocaleServiceSettingsFactory as ɵa,TranslateLoaderFactory as ɵb} from './lib/angular/indigina.module';\nexport {MenuItemGroupComponent as ɵd} from './lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component';\nexport {TreeViewNodePropComponent as ɵf} from './lib/angular/widgets/tree-view/tree-view-node-prop/tree-view-node-prop.component';\nexport {TreeViewNodeComponent as ɵe} from './lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component';\nexport {AuthHeadersInterceptor as ɵg} from './lib/interceptors/auth-headers.interceptor';"],"names":["EventEmitter","Subject","debounceTime","Directive","Input","Output","HostListener","FormControl","Validators","FormGroupDirective","ElementRef","Component","ControlContainer","Injectable","TranslateService","collapsedEvent","NavigationEnd","Router","ViewChildren","ClipboardService","of","APP_INITIALIZER","NgModule","BrowserModule","HttpClientModule","TranslateModule","TranslateLoader","HttpClient","LoadingBarHttpClientModule","CommonModule","RouterModule","ReactiveFormsModule","ToastrModule","BrowserAnimationsModule","TranslateStore","ClipboardModule","toODataString","EventNames","BehaviorSubject","map","mergeMap","FormGroup","HttpCodes","homePath","ToastrService","catchError","tap","throwError","from","InteractionRequiredAuthError","JwksValidationHandler","filter","OAuthService","MsalService","signalR","ViewChild","BrowserCacheLocation","PublicClientApplication","ActivatedRoute","Renderer2","FieldTypes","DialogService","momentModule","finalize","distinct","filterBy","OAuthModuleConfig","MSAL_INSTANCE","OAuthModule","PopupModule","GridModule","ExcelModule","InputsModule","ButtonsModule","DialogsModule","FormsModule","WindowModule","DropDownsModule","TooltipModule","DateInputsModule","MsalModule","OAuthStorage","HTTP_INTERCEPTORS","FilterTargets","MemberTypes","Operators","PermissionTypes"],"mappings":"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"}
|