You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/npm/ng-packs/dist/theme-shared/bundles/abp-ng.theme.shared.umd.min...

1 line
88 KiB

{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@abp/ng.theme.shared/lib/components/breadcrumb/breadcrumb.component.ts","ng://@abp/ng.theme.shared/lib/components/button/button.component.ts","ng://@abp/ng.theme.shared/lib/abstracts/toaster.ts","ng://@abp/ng.theme.shared/lib/services/toaster.service.ts","ng://@abp/ng.theme.shared/lib/components/change-password/change-password.component.ts","ng://@abp/ng.theme.shared/lib/utils/widget-utils.ts","ng://@abp/ng.theme.shared/lib/components/chart/chart.component.ts","ng://@abp/ng.theme.shared/lib/services/confirmation.service.ts","ng://@abp/ng.theme.shared/lib/components/confirmation/confirmation.component.ts","ng://@abp/ng.theme.shared/lib/components/error/error.component.ts","ng://@abp/ng.theme.shared/lib/components/loader-bar/loader-bar.component.ts","ng://@abp/ng.theme.shared/lib/animations/fade.animations.ts","ng://@abp/ng.theme.shared/lib/animations/modal.animations.ts","ng://@abp/ng.theme.shared/lib/components/modal/modal.component.ts","ng://@abp/ng.theme.shared/lib/components/profile/profile.component.ts","ng://@abp/ng.theme.shared/lib/components/toast/toast.component.ts","ng://@abp/ng.theme.shared/lib/components/sort-order-icon/sort-order-icon.component.ts","ng://@abp/ng.theme.shared/lib/contants/styles.ts","ng://@abp/ng.theme.shared/lib/handlers/error.handler.ts","ng://@abp/ng.theme.shared/lib/components/table-empty-message/table-empty-message.component.ts","ng://@abp/ng.theme.shared/lib/theme-shared.module.ts","ng://@abp/ng.theme.shared/lib/models/confirmation.ts","ng://@abp/ng.theme.shared/lib/animations/bounce.animations.ts","ng://@abp/ng.theme.shared/lib/animations/collapse.animations.ts","ng://@abp/ng.theme.shared/lib/animations/slide.animations.ts","ng://@abp/ng.theme.shared/lib/models/statistics.ts","ng://@abp/ng.theme.shared/lib/models/setting-management.ts","ng://@abp/ng.theme.shared/lib/models/toaster.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__metadata","metadataKey","metadataValue","Reflect","metadata","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spread","concat","BreadcrumbComponent","router","store","segments","show","selectSnapshot","state","LeptonLayoutState","ngOnInit","splittedUrl","url","split","filter","chunk","currentUrl","ConfigState","getRoute","name","arr","slice","childRoute","element","children","find","child","path","this_1","Component","args","selector","template","Router","Store","ButtonComponent","renderer","buttonClass","loading","disabled","click","EventEmitter","focus","blur","type","defineProperty","iconClass","_this","attributes","keys","forEach","key","setAttribute","buttonRef","nativeElement","Renderer2","Input","Output","ViewChild","static","AbstractToaster","messageService","sticky","info","message","title","options","success","warn","severity","clear","add","detail","summary","status$","Subject","status","complete","ToasterService","tslib_1.__extends","addAll","messages","map","Injectable","providedIn","required","forms","Validators","minLength","PASSWORD_FIELDS","ChangePasswordComponent","fb","toasterService","visibleChange","modalBusy","mapErrorsFn","errors","groupErrors","control","indexOf","_a","_visible","emit","form","group","password","newPassword","repeatNewPassword","validators","comparePasswords","onSubmit","invalid","dispatch","ChangePassword","currentPassword","get","pipe","finalize","subscribe","visible","reset","err","snq","life","openModal","ngOnChanges","currentValue","FormBuilder","chartJsLoaded$","ReplaySubject","ChartComponent","el","cdRef","plugins","responsive","onDataSelect","initialized","BehaviorSubject","onCanvasClick","event","chart","getElementAtEvent","dataset","getDatasetAtEvent","originalEvent","initChart","opts","height","width","maintainAspectRatio","Chart","data","detectChanges","generateLegend","refresh","update","reinit","destroy","_data","val","toBase64Image","ngAfterViewInit","console","_initialized","ngOnDestroy","ElementRef","ChangeDetectorRef","ConfirmationService","_super","destroy$","listenToEscape","fromEvent","document","takeUntil","debounceTime","code","_","MessageService","ConfirmationComponent","confirmationService","confirm","reject","dismiss","close","ErrorComponent","details","removeChild","host","elementRef","LoaderBarComponent","actions","containerClass","color","isLoading","progressLevel","action","payload","ofActionSuccessful","StartLoader","StopLoader","takeUntilDestroy","startLoading","stopLoading","events","NavigationStart","NavigationEnd","NavigationError","interval","unsubscribe","Math","random","timer","closed","Actions","fadeIn","animation","style","opacity","animate","params","time","easing","fadeOut","fadeInDown","transform","fadeInUp","fadeInLeft","fadeInRight","fadeOutDown","fadeOutUp","fadeOutLeft","fadeOutRight","fadeAnimation","trigger","transition","useAnimation","dialogAnimation","ModalComponent","centered","modalClass","size","init","appear","disappear","_busy","isModalOpen","isConfirmationOpen","setTimeout","listen","addClass","body","removeClass","abpSubmit","busy","nodes","findIndex","node","className","hasNgDirty","getFlatNodes","from","reduce","acc","childNodes","modalContent","querySelector","abpClose","animations","ContentChild","read","ViewChildren","maxLength","email","ProfileComponent","buildForm","GetProfile","withLatestFrom","profile$","take","profile","userName","surname","phoneNumber","submit","UpdateProfile","decorators","target","desc","c","getOwnPropertyDescriptor","decorate","tslib_1.__decorate","Select","ProfileState","getProfile","Observable","ToastComponent","SortOrderIconComponent","selectedKeyChange","orderChange","_selectedKey","_order","selectedKey","order","sort","styles","DEFAULT_ERROR_MESSAGES","defaultError","defaultError401","defaultError403","defaultError404","defaultError500","defaultValue","defaultErrorUnknown","ErrorHandler","ngZone","appRef","cfRes","rendererFactory","injector","RestOccurError","res","HttpErrorResponse","headers","confirmation$","showError","navigateToLogin","createErrorComponent","statusText","hideCancelBtn","yesCopy","run","navigate","redirectUrl","instance","createRenderer","selectRootElement","componentRef","resolveComponentFactory","attachView","hostView","appendChild","rootNodes","location","NgZone","ApplicationRef","ComponentFactoryResolver","RendererFactory2","Injector","TableEmptyMessageComponent","colspan","localizationResource","localizationProp","appendScript","import","then","lazyLoadService","LazyLoadService","forkJoin","load","toPromise","Confirmation","ThemeSharedModule","forRoot","ngModule","providers","provide","APP_INITIALIZER","multi","deps","useFactory","useClass","NgModule","imports","CoreModule","ToastModule","NgxValidateCoreModule","declarations","exports","entryComponents","bounceIn","display","keyframes","offset","collapseY","overflow","box-sizing","padding","collapseYWithMargin","margin-top","collapseX","expandY","expandYWithMargin","expandX","collapse","collapseWithMargin","collapseLinearWithMargin","slideFromBottom","Options","Statistics","SETTING_TABS","Response","Filter","Toaster","tab","isArray","count","colors","g"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 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) : new P(function (resolve) { resolve(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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { ConfigState, ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-breadcrumb',\n templateUrl: './breadcrumb.component.html'\n})\nexport class BreadcrumbComponent implements OnInit {\n show: boolean;\n\n segments: string[] = [];\n\n constructor(private router: Router, private store: Store) {\n this.show = !!this.store.selectSnapshot(state => state.LeptonLayoutState);\n }\n\n ngOnInit(): void {\n const splittedUrl = this.router.url.split('/').filter(chunk => chunk);\n\n const currentUrl: ABP.FullRoute = this.store.selectSnapshot(ConfigState.getRoute(splittedUrl[0]));\n this.segments.push(currentUrl.name);\n\n if (splittedUrl.length > 1) {\n const [, ...arr] = splittedUrl;\n\n let childRoute: ABP.FullRoute = currentUrl;\n for (let i = 0; i < arr.length; i++) {\n const element = arr[i];\n childRoute = childRoute.children.find(child => child.path === element);\n\n this.segments.push(childRoute.name);\n }\n }\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewChild, ElementRef, Renderer2, OnInit } from '@angular/core';\nimport { ABP } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-button',\n // tslint:disable-next-line: component-max-inline-declarations\n template: `\n <button\n #button\n [attr.type]=\"buttonType || type\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"loading || disabled\"\n (click)=\"click.emit($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\"\n >\n <i [ngClass]=\"icon\" class=\"mr-1\"></i><ng-content></ng-content>\n </button>\n `,\n})\nexport class ButtonComponent implements OnInit {\n @Input()\n buttonClass = 'btn btn-primary';\n\n @Input()\n buttonType; // TODO: Add initial value.\n\n @Input()\n iconClass: string;\n\n @Input()\n loading = false;\n\n @Input()\n disabled = false;\n\n @Input()\n attributes: ABP.Dictionary<string>;\n\n // tslint:disable-next-line: no-output-native\n @Output() readonly click = new EventEmitter<MouseEvent>();\n\n // tslint:disable-next-line: no-output-native\n @Output() readonly focus = new EventEmitter<FocusEvent>();\n\n // tslint:disable-next-line: no-output-native\n @Output() readonly blur = new EventEmitter<FocusEvent>();\n\n @ViewChild('button', { static: true })\n buttonRef: ElementRef<HTMLButtonElement>;\n\n /**\n * @deprecated Use buttonType instead. To be deleted in v1\n */\n @Input() type = 'button';\n\n get icon(): string {\n return `${this.loading ? 'fa fa-spinner fa-spin' : this.iconClass || 'd-none'}`;\n }\n\n constructor(private renderer: Renderer2) {}\n\n ngOnInit() {\n if (this.attributes) {\n Object.keys(this.attributes).forEach(key => {\n this.renderer.setAttribute(this.buttonRef.nativeElement, key, this.attributes[key]);\n });\n }\n }\n}\n","import { MessageService } from 'primeng/components/common/messageservice';\nimport { Observable, Subject } from 'rxjs';\nimport { Toaster } from '../models/toaster';\n\nexport abstract class AbstractToaster<T = Toaster.Options> {\n status$: Subject<Toaster.Status>;\n\n key = 'abpToast';\n\n sticky = false;\n\n constructor(protected messageService: MessageService) {}\n\n info(message: string, title: string, options?: T): Observable<Toaster.Status> {\n return this.show(message, title, 'info', options);\n }\n\n success(message: string, title: string, options?: T): Observable<Toaster.Status> {\n return this.show(message, title, 'success', options);\n }\n\n warn(message: string, title: string, options?: T): Observable<Toaster.Status> {\n return this.show(message, title, 'warn', options);\n }\n\n error(message: string, title: string, options?: T): Observable<Toaster.Status> {\n return this.show(message, title, 'error', options);\n }\n\n protected show(message: string, title: string, severity: Toaster.Severity, options?: T): Observable<Toaster.Status> {\n this.messageService.clear(this.key);\n\n this.messageService.add({\n severity,\n detail: message || '',\n summary: title || '',\n ...options,\n key: this.key,\n ...(typeof (options || ({} as any)).sticky === 'undefined' && { sticky: this.sticky })\n });\n this.status$ = new Subject<Toaster.Status>();\n return this.status$;\n }\n\n clear(status?: Toaster.Status) {\n this.messageService.clear(this.key);\n this.status$.next(status || Toaster.Status.dismiss);\n this.status$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Message } from 'primeng/components/common/message';\n\n@Injectable({ providedIn: 'root' })\nexport class ToasterService extends AbstractToaster {\n addAll(messages: Message[]): void {\n this.messageService.addAll(messages.map(message => ({ key: this.key, ...message })));\n }\n}\n","import { ChangePassword } from '@abp/ng.core';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords, Validation } from '@ngx-validate/core';\nimport { Store } from '@ngxs/store';\nimport snq from 'snq';\nimport { finalize } from 'rxjs/operators';\nimport { ToasterService } from '../../services/toaster.service';\n\nconst { minLength, required } = Validators;\n\nconst PASSWORD_FIELDS = ['newPassword', 'repeatNewPassword'];\n\n@Component({\n selector: 'abp-change-password',\n templateUrl: './change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit, OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output() readonly visibleChange = new EventEmitter<boolean>();\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef<any>;\n\n form: FormGroup;\n\n modalBusy = false;\n\n mapErrorsFn: Validation.MapErrorsFn = (errors, groupErrors, control) => {\n if (PASSWORD_FIELDS.indexOf(control.name) < 0) return errors;\n\n return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));\n };\n\n constructor(private fb: FormBuilder, private store: Store, private toasterService: ToasterService) {}\n\n ngOnInit(): void {\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: ['', required],\n repeatNewPassword: ['', required],\n },\n {\n validators: [comparePasswords(PASSWORD_FIELDS)],\n },\n );\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store\n .dispatch(\n new ChangePassword({\n currentPassword: this.form.get('password').value,\n newPassword: this.form.get('newPassword').value,\n }),\n )\n .pipe(\n finalize(() => {\n this.modalBusy = false;\n }),\n )\n .subscribe({\n next: () => {\n this.visible = false;\n this.form.reset();\n },\n error: err => {\n this.toasterService.error(snq(() => err.error.error.message, 'AbpAccount::DefaultErrorMessage'), 'Error', {\n life: 7000,\n });\n },\n });\n }\n\n openModal() {\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { ReplaySubject } from 'rxjs';\n\nexport function getRandomBackgroundColor(count) {\n const colors = [];\n\n for (let i = 0; i < count; i++) {\n const r = ((i + 5) * (i + 5) * 474) % 255;\n const g = ((i + 5) * (i + 5) * 1600) % 255;\n const b = ((i + 5) * (i + 5) * 84065) % 255;\n colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');\n }\n\n return colors;\n}\n\nexport const chartJsLoaded$ = new ReplaySubject(1);\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ChangeDetectorRef\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { chartJsLoaded$ } from '../../utils/widget-utils';\ndeclare const Chart: any;\n\n@Component({\n selector: 'abp-chart',\n templateUrl: './chart.component.html'\n})\nexport class ChartComponent implements AfterViewInit, OnDestroy {\n @Input() type: string;\n\n @Input() options: any = {};\n\n @Input() plugins: any[] = [];\n\n @Input() width: string;\n\n @Input() height: string;\n\n @Input() responsive = true;\n\n // tslint:disable-next-line: no-output-on-prefix\n @Output() readonly onDataSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() readonly initialized = new BehaviorSubject(this);\n\n private _initialized: boolean;\n\n _data: any;\n\n chart: any;\n\n constructor(public el: ElementRef, private cdRef: ChangeDetectorRef) {}\n\n @Input() get data(): any {\n return this._data;\n }\n\n set data(val: any) {\n this._data = val;\n this.reinit();\n }\n\n get canvas() {\n return this.el.nativeElement.children[0].children[0];\n }\n\n get base64Image() {\n return this.chart.toBase64Image();\n }\n\n ngAfterViewInit() {\n chartJsLoaded$.subscribe(() => {\n try {\n // tslint:disable-next-line: no-unused-expression\n Chart;\n } catch (error) {\n console.error(`Chart is not found. Import the Chart from app.module like shown below:\n import('chart.js');\n `);\n return;\n }\n\n this.initChart();\n this._initialized = true;\n });\n }\n\n onCanvasClick = event => {\n if (this.chart) {\n const element = this.chart.getElementAtEvent(event);\n const dataset = this.chart.getDatasetAtEvent(event);\n if (element && element[0] && dataset) {\n this.onDataSelect.emit({\n originalEvent: event,\n element: element[0],\n dataset\n });\n }\n }\n };\n\n initChart = () => {\n const opts = this.options || {};\n opts.responsive = this.responsive;\n\n // allows chart to resize in responsive mode\n if (opts.responsive && (this.height || this.width)) {\n opts.maintainAspectRatio = false;\n }\n\n this.chart = new Chart(this.el.nativeElement.children[0].children[0], {\n type: this.type,\n data: this.data,\n options: this.options,\n plugins: this.plugins\n });\n\n this.cdRef.detectChanges();\n };\n\n generateLegend = () => {\n if (this.chart) {\n return this.chart.generateLegend();\n }\n };\n\n refresh = () => {\n if (this.chart) {\n this.chart.update();\n this.cdRef.detectChanges();\n }\n };\n\n reinit = () => {\n if (this.chart) {\n this.chart.destroy();\n this.initChart();\n }\n };\n\n ngOnDestroy() {\n if (this.chart) {\n this.chart.destroy();\n this._initialized = false;\n this.chart = null;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractToaster } from '../abstracts/toaster';\nimport { Confirmation } from '../models/confirmation';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { takeUntil, debounceTime, filter } from 'rxjs/operators';\nimport { Toaster } from '../models/toaster';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService extends AbstractToaster<Confirmation.Options> {\n key = 'abpConfirmation';\n\n sticky = true;\n\n destroy$ = new Subject();\n\n constructor(protected messageService: MessageService) {\n super(messageService);\n }\n\n show(\n message: string,\n title: string,\n severity: Toaster.Severity,\n options?: Confirmation.Options\n ): Observable<Toaster.Status> {\n this.listenToEscape();\n\n return super.show(message, title, severity, options);\n }\n\n clear(status?: Toaster.Status) {\n super.clear(status);\n\n this.destroy$.next();\n }\n\n listenToEscape() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape')\n )\n .subscribe(_ => {\n this.clear();\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { Toaster } from '../../models/toaster';\n\n@Component({\n selector: 'abp-confirmation',\n // tslint:disable-next-line: component-max-inline-declarations\n template: `\n <p-toast\n position=\"center\"\n key=\"abpConfirmation\"\n (onClose)=\"close(dismiss)\"\n [modal]=\"true\"\n [baseZIndex]=\"1000\"\n styleClass=\"abp-confirm\"\n >\n <ng-template let-message pTemplate=\"message\">\n <i class=\"fa fa-exclamation-circle abp-confirm-icon\"></i>\n <div *ngIf=\"message.summary\" class=\"abp-confirm-summary\">\n {{ message.summary | abpLocalization: message.titleLocalizationParams }}\n </div>\n <div class=\"abp-confirm-body\">\n {{ message.detail | abpLocalization: message.messageLocalizationParams }}\n </div>\n\n <div class=\"abp-confirm-footer justify-content-center\">\n <button\n *ngIf=\"!message.hideCancelBtn\"\n id=\"cancel\"\n type=\"button\"\n class=\"btn btn-sm btn-primary\"\n (click)=\"close(reject)\"\n >\n {{ message.cancelCopy || 'AbpIdentity::Cancel' | abpLocalization }}\n </button>\n <button\n *ngIf=\"!message.hideYesBtn\"\n id=\"confirm\"\n type=\"button\"\n class=\"btn btn-sm btn-primary\"\n (click)=\"close(confirm)\"\n autofocus\n >\n <span>{{ message.yesCopy || 'AbpIdentity::Yes' | abpLocalization }}</span>\n </button>\n </div>\n </ng-template>\n </p-toast>\n `\n})\nexport class ConfirmationComponent {\n confirm = Toaster.Status.confirm;\n reject = Toaster.Status.reject;\n dismiss = Toaster.Status.dismiss;\n\n constructor(private confirmationService: ConfirmationService) {}\n\n close(status: Toaster.Status) {\n this.confirmationService.clear(status);\n }\n}\n","import { Component, Renderer2, ElementRef } from '@angular/core';\nimport { Config } from '@abp/ng.core';\n\n@Component({\n selector: 'abp-error',\n templateUrl: './error.component.html',\n styleUrls: ['error.component.scss'],\n})\nexport class ErrorComponent {\n title: string | Config.LocalizationWithDefault = 'Oops!';\n\n details: string | Config.LocalizationWithDefault = 'Sorry, an error has occured.';\n\n renderer: Renderer2;\n\n elementRef: ElementRef;\n\n host: any;\n\n destroy() {\n this.renderer.removeChild(this.host, this.elementRef.nativeElement);\n }\n}\n","import { StartLoader, StopLoader } from '@abp/ng.core';\nimport { ChangeDetectorRef, Component, Input, OnDestroy } from '@angular/core';\nimport { NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\nimport { takeUntilDestroy } from '@ngx-validate/core';\nimport { Actions, ofActionSuccessful } from '@ngxs/store';\nimport { interval, Subscription, timer } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-loader-bar',\n template: `\n <div id=\"abp-loader-bar\" [ngClass]=\"containerClass\" [class.is-loading]=\"isLoading\">\n <div\n class=\"abp-progress\"\n [style.width.vw]=\"progressLevel\"\n [ngStyle]=\"{\n 'background-color': color,\n 'box-shadow': boxShadow\n }\"\n ></div>\n </div>\n `,\n styleUrls: ['./loader-bar.component.scss']\n})\nexport class LoaderBarComponent implements OnDestroy {\n get boxShadow(): string {\n return `0 0 10px rgba(${this.color}, 0.5)`;\n }\n\n constructor(private actions: Actions, private router: Router, private cdRef: ChangeDetectorRef) {\n actions\n .pipe(\n ofActionSuccessful(StartLoader, StopLoader),\n filter(this.filter),\n takeUntilDestroy(this)\n )\n .subscribe(action => {\n if (action instanceof StartLoader) this.startLoading();\n else this.stopLoading();\n });\n\n router.events\n .pipe(\n filter(\n event =>\n event instanceof NavigationStart || event instanceof NavigationEnd || event instanceof NavigationError\n ),\n takeUntilDestroy(this)\n )\n .subscribe(event => {\n if (event instanceof NavigationStart) this.startLoading();\n else this.stopLoading();\n });\n }\n @Input()\n containerClass = 'abp-loader-bar';\n\n @Input()\n color = '#77b6ff';\n\n @Input()\n isLoading = false;\n\n progressLevel = 0;\n\n interval: Subscription;\n\n timer: Subscription;\n\n @Input()\n filter = (action: StartLoader | StopLoader) => action.payload.url.indexOf('openid-configuration') < 0;\n\n ngOnDestroy() {\n this.interval.unsubscribe();\n }\n\n startLoading() {\n if (this.isLoading || this.progressLevel !== 0) return;\n\n this.isLoading = true;\n this.interval = interval(350).subscribe(() => {\n if (this.progressLevel < 75) {\n this.progressLevel += Math.random() * 10;\n } else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n } else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n } else {\n this.interval.unsubscribe();\n }\n this.cdRef.detectChanges();\n });\n }\n\n stopLoading() {\n this.interval.unsubscribe();\n this.progressLevel = 100;\n this.isLoading = false;\n if (this.timer && !this.timer.closed) return;\n\n this.timer = timer(820).subscribe(() => {\n this.progressLevel = 0;\n this.cdRef.detectChanges();\n });\n }\n}\n","import { animate, animation, style } from '@angular/animations';\n\nexport const fadeIn = animation([style({ opacity: '0' }), animate('{{ time}} {{ easing }}', style({ opacity: '1' }))], {\n params: { time: '350ms', easing: 'ease' },\n});\n\nexport const fadeOut = animation(\n [style({ opacity: '1' }), animate('{{ time}} {{ easing }}', style({ opacity: '0' }))],\n { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const fadeInDown = animation(\n [\n style({ opacity: '0', transform: '{{ transform }} translateY(-20px)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '1', transform: '{{ transform }} translateY(0)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeInUp = animation(\n [\n style({ opacity: '0', transform: '{{ transform }} translateY(20px)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '1', transform: '{{ transform }} translateY(0)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeInLeft = animation(\n [\n style({ opacity: '0', transform: '{{ transform }} translateX(20px)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '1', transform: '{{ transform }} translateX(0)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeInRight = animation(\n [\n style({ opacity: '0', transform: '{{ transform }} translateX(-20px)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '1', transform: '{{ transform }} translateX(0)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutDown = animation(\n [\n style({ opacity: '1', transform: '{{ transform }} translateY(0)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '0', transform: '{{ transform }} translateY(20px)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutUp = animation(\n [\n style({ opacity: '1', transform: '{{ transform }} translateY(0)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '0', transform: '{{ transform }} translateY(-20px)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutLeft = animation(\n [\n style({ opacity: '1', transform: '{{ transform }} translateX(0)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '0', transform: '{{ transform }} translateX(20px)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n\nexport const fadeOutRight = animation(\n [\n style({ opacity: '1', transform: '{{ transform }} translateX(0)' }),\n animate('{{ time }} {{ easing }}', style({ opacity: '0', transform: '{{ transform }} translateX(-20px)' })),\n ],\n { params: { time: '350ms', easing: 'ease', transform: '' } },\n);\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { fadeIn, fadeInDown, fadeOut } from './fade.animations';\n\nexport const fadeAnimation = trigger('fade', [\n transition(':enter', useAnimation(fadeIn)),\n transition(':leave', useAnimation(fadeOut)),\n]);\n\nexport const dialogAnimation = trigger('dialog', [\n transition(':enter', useAnimation(fadeInDown)),\n transition(':leave', useAnimation(fadeOut)),\n]);\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\nimport { Toaster } from '../../models/toaster';\nimport { ConfirmationService } from '../../services/confirmation.service';\nimport { ButtonComponent } from '../button/button.component';\nimport { fadeAnimation, dialogAnimation } from '../../animations/modal.animations';\n\nexport type ModalSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Component({\n selector: 'abp-modal',\n templateUrl: './modal.component.html',\n animations: [fadeAnimation, dialogAnimation],\n})\nexport class ModalComponent implements OnDestroy {\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n set visible(value: boolean) {\n if (typeof value !== 'boolean') return;\n\n this.isModalOpen = value;\n this._visible = value;\n this.visibleChange.emit(value);\n\n if (value) {\n setTimeout(() => this.listen(), 0);\n this.renderer.addClass(document.body, 'modal-open');\n this.appear.emit();\n } else {\n this.renderer.removeClass(document.body, 'modal-open');\n this.disappear.emit();\n }\n }\n\n @Input()\n get busy(): boolean {\n return this._busy;\n }\n set busy(value: boolean) {\n if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {\n this.abpSubmit.loading = value;\n }\n\n this._busy = value;\n }\n\n @Input() centered = false;\n\n @Input() modalClass = '';\n\n @Input() size: ModalSize = 'lg';\n\n @ContentChild(ButtonComponent, { static: false, read: ButtonComponent })\n abpSubmit: ButtonComponent;\n\n @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef<any>;\n\n @ContentChild('abpBody', { static: false }) abpBody: TemplateRef<any>;\n\n @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef<any>;\n\n @ContentChild('abpClose', { static: false, read: ElementRef })\n abpClose: ElementRef<any>;\n\n @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef;\n\n @ViewChildren('abp-button') abpButtons;\n\n @Output() readonly visibleChange = new EventEmitter<boolean>();\n\n @Output() readonly init = new EventEmitter<void>();\n\n @Output() readonly appear = new EventEmitter();\n\n @Output() readonly disappear = new EventEmitter();\n\n _visible = false;\n\n _busy = false;\n\n isModalOpen = false;\n\n isConfirmationOpen = false;\n\n destroy$ = new Subject<void>();\n\n constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n\n close() {\n if (this.busy) return;\n\n const nodes = getFlatNodes(\n (this.modalContent.nativeElement.querySelector('#abp-modal-body') as HTMLElement).childNodes,\n );\n\n if (hasNgDirty(nodes)) {\n if (this.isConfirmationOpen) return;\n\n this.isConfirmationOpen = true;\n this.confirmationService\n .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure')\n .subscribe((status: Toaster.Status) => {\n this.isConfirmationOpen = false;\n if (status === Toaster.Status.confirm) {\n this.visible = false;\n }\n });\n } else {\n this.visible = false;\n }\n }\n\n listen() {\n fromEvent(document, 'keyup')\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(150),\n filter((key: KeyboardEvent) => key && key.code === 'Escape'),\n )\n .subscribe(_ => {\n this.close();\n });\n\n setTimeout(() => {\n if (!this.abpClose) return;\n fromEvent(this.abpClose.nativeElement, 'click')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!this.modalContent),\n )\n .subscribe(() => this.close());\n }, 0);\n\n this.init.emit();\n }\n}\n\nfunction getFlatNodes(nodes: NodeList): HTMLElement[] {\n return Array.from(nodes).reduce(\n (acc, val) => [...acc, ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val])],\n [],\n );\n}\n\nfunction hasNgDirty(nodes: HTMLElement[]) {\n return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1;\n}\n","import { Profile, GetProfile, ProfileState, UpdateProfile } from '@abp/ng.core';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { take, withLatestFrom } from 'rxjs/operators';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-profile',\n templateUrl: './profile.component.html'\n})\nexport class ProfileComponent implements OnChanges {\n protected _visible;\n\n @Input()\n get visible(): boolean {\n return this._visible;\n }\n\n set visible(value: boolean) {\n this._visible = value;\n this.visibleChange.emit(value);\n }\n\n @Output() readonly visibleChange = new EventEmitter<boolean>();\n\n @Select(ProfileState.getProfile)\n profile$: Observable<Profile.Response>;\n\n form: FormGroup;\n\n modalBusy = false;\n\n constructor(private fb: FormBuilder, private store: Store) {}\n\n buildForm() {\n this.store\n .dispatch(new GetProfile())\n .pipe(\n withLatestFrom(this.profile$),\n take(1)\n )\n .subscribe(([, profile]) => {\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]]\n });\n });\n }\n\n submit() {\n if (this.form.invalid) return;\n this.modalBusy = true;\n\n this.store.dispatch(new UpdateProfile(this.form.value)).subscribe(() => {\n this.modalBusy = false;\n this.visible = false;\n this.form.reset();\n });\n }\n\n openModal() {\n this.buildForm();\n this.visible = true;\n }\n\n ngOnChanges({ visible }: SimpleChanges): void {\n if (!visible) return;\n\n if (visible.currentValue) {\n this.openModal();\n } else if (visible.currentValue === false && this.visible) {\n this.visible = false;\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'abp-toast',\n // tslint:disable-next-line: component-max-inline-declarations\n template: `\n <p-toast position=\"bottom-right\" key=\"abpToast\" styleClass=\"abp-toast\" [baseZIndex]=\"1000\">\n <ng-template let-message pTemplate=\"message\">\n <span\n class=\"ui-toast-icon pi\"\n [ngClass]=\"{\n 'pi-info-circle': message.severity == 'info',\n 'pi-exclamation-triangle': message.severity == 'warn',\n 'pi-times': message.severity == 'error',\n 'pi-check': message.severity == 'success'\n }\"\n ></span>\n <div class=\"ui-toast-message-text-content\">\n <div class=\"ui-toast-summary\">{{ message.summary | abpLocalization: message.titleLocalizationParams }}</div>\n <div class=\"ui-toast-detail\">{{ message.detail | abpLocalization: message.messageLocalizationParams }}</div>\n </div>\n </ng-template>\n </p-toast>\n `\n})\nexport class ToastComponent {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'abp-sort-order-icon',\n templateUrl: './sort-order-icon.component.html',\n})\nexport class SortOrderIconComponent {\n private _order: string;\n private _selectedKey: string;\n\n @Input()\n set selectedKey(value: string) {\n this._selectedKey = value;\n this.selectedKeyChange.emit(value);\n }\n get selectedKey(): string {\n return this._selectedKey;\n }\n\n @Output() readonly selectedKeyChange = new EventEmitter<string>();\n\n @Input()\n key: string;\n\n @Input()\n set order(value: string) {\n this._order = value;\n this.orderChange.emit(value);\n }\n get order(): string {\n return this._order;\n }\n\n @Output() readonly orderChange = new EventEmitter<string>();\n\n @Input()\n iconClass: string;\n\n get icon(): string {\n if (!this.selectedKey) return 'fa-sort';\n if (this.selectedKey === this.key) return `fa-sort-${this.order}`;\n else return '';\n }\n\n sort(key: string) {\n this.selectedKey = key;\n switch (this.order) {\n case '':\n this.order = 'asc';\n break;\n case 'asc':\n this.order = 'desc';\n this.orderChange.emit('desc');\n break;\n case 'desc':\n this.order = '';\n this.selectedKey = '';\n break;\n }\n }\n}\n","export default `\n.is-invalid .form-control {\n border-color: #dc3545;\n border-style: solid !important;\n}\n\n.is-invalid .invalid-feedback,\n.is-invalid + * .invalid-feedback {\n display: block;\n}\n\n.data-tables-filter {\n text-align: right;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.navbar .dropdown-submenu a::after {\n transform: rotate(-90deg);\n position: absolute;\n right: 16px;\n top: 18px;\n}\n\n.navbar .dropdown-menu {\n min-width: 215px;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar {\n height: 5px !important;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-track {\n background: #ddd;\n}\n\n.ui-table-scrollable-body::-webkit-scrollbar-thumb {\n background: #8a8686;\n}\n\n.modal.show {\n display: block !important;\n}\n\n.modal-backdrop {\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n width: 100% !important;\n height: 100% !important;\n background-color: rgba(0, 0, 0, 0.6) !important;\n z-index: 1040 !important;\n}\n\n.modal-dialog {\n z-index: 1050 !important;\n}\n\n.abp-ellipsis-inline {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-ellipsis {\n overflow: hidden !important;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.abp-toast .ui-toast-message {\n box-sizing: border-box !important;\n border: 2px solid transparent !important;\n border-radius: 4px !important;\n background-color: #f4f4f7 !important;\n color: #1b1d29 !important;\n}\n\n.abp-toast .ui-toast-message-content {\n padding: 10px !important;\n}\n\n.abp-toast .ui-toast-message-content .ui-toast-icon {\n top: 0 !important;\n left: 0 !important;\n padding: 10px !important;\n}\n\n.abp-toast .ui-toast-summary {\n margin: 0 !important;\n font-weight: 700 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-error {\n border-color: #ba1659 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-error .ui-toast-message-content .ui-toast-icon {\n color: #ba1659 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-warning {\n border-color: #ed5d98 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-warning .ui-toast-message-content .ui-toast-icon {\n color: #ed5d98 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-success {\n border-color: #1c9174 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-success .ui-toast-message-content .ui-toast-icon {\n color: #1c9174 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-info {\n border-color: #fccb31 !important;\n}\n\n.abp-toast .ui-toast-message.ui-toast-message-info .ui-toast-message-content .ui-toast-icon {\n color: #fccb31 !important;\n}\n\n.abp-confirm .ui-toast-message {\n box-sizing: border-box !important;\n padding: 0px !important;\n border:0 none !important;\n border-radius: 4px !important;\n background-color: #fff !important;\n color: rgba(0, 0, 0, .65) !important;\n font-family: \"Poppins\", sans-serif;\n text-align: center !important;\n}\n\n.abp-confirm .ui-toast-message-content {\n padding: 0px !important;\n}\n\n.abp-confirm .abp-confirm-icon {\n margin: 32px 50px 5px !important;\n color: #f8bb86 !important;\n font-size: 52px !important;\n}\n\n.abp-confirm .ui-toast-close-icon {\n display: none !important;\n}\n\n.abp-confirm .abp-confirm-summary {\n display: block !important;\n margin-bottom: 13px !important;\n padding: 13px 16px 0px !important;\n font-weight: 600 !important;\n font-size: 18px !important;\n}\n\n.abp-confirm .abp-confirm-body {\n display: inline-block !important;\n padding: 0px 10px !important;\n}\n\n.abp-confirm .abp-confirm-footer {\n display: block !important;\n margin-top: 30px !important;\n padding: 16px !important;\n background-color: #f4f4f7 !important;\n text-align: right !important;\n}\n\n.abp-confirm .abp-confirm-footer .btn {\n margin-left: 10px !important;\n}\n\n.ui-widget-overlay {\n z-index: 1000;\n}\n\n.color-white {\n color: #FFF !important;\n}\n\n/* <animations */\n\n.fade-in-top {\n animation: fadeInTop 0.2s ease-in-out;\n}\n\n.fade-out-top {\n animation: fadeOutTop 0.2s ease-in-out;\n}\n\n.abp-collapsed {\n -moz-transition: margin ease-in-out 0.5s;\n -ms-transition: margin ease-in-out 0.5s;\n -o-transition: margin ease-in-out 0.5s;\n -webkit-transition: margin ease-in-out 0.5s;\n transition: margin ease-in-out 0.5s;\n margin-top: -100%;\n}\n\n.abp-collapsed.expanded {\n margin-top: 0 !important;\n}\n\n@keyframes fadeInTop {\n from {\n transform: translateY(-5px);\n opacity: 0;\n }\n\n to {\n transform: translateY(0px);\n opacity: 1;\n }\n}\n\n@keyframes fadeOutTop {\n to {\n transform: translateY(-5px);\n opacity: 0;\n }\n}\n\n/* </animations */\n\n`;\n","import { RestOccurError } from '@abp/ng.core';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n EmbeddedViewRef,\n Injectable,\n Injector,\n NgZone,\n RendererFactory2,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Actions, ofActionSuccessful, Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport snq from 'snq';\nimport { ErrorComponent } from '../components/error/error.component';\nimport { Toaster } from '../models/toaster';\nimport { ConfirmationService } from '../services/confirmation.service';\n\nexport const DEFAULT_ERROR_MESSAGES = {\n defaultError: {\n title: 'An error has occurred!',\n details: 'Error detail not sent by server.',\n },\n defaultError401: {\n title: 'You are not authenticated!',\n details: 'You should be authenticated (sign in) in order to perform this operation.',\n },\n defaultError403: {\n title: 'You are not authorized!',\n details: 'You are not allowed to perform this operation.',\n },\n defaultError404: {\n title: 'Resource not found!',\n details: 'The resource requested could not found on the server.',\n },\n defaultError500: {\n title: '500',\n details: { key: 'AbpAccount::InternalServerErrorMessage', defaultValue: 'Error detail not sent by server.' },\n },\n defaultErrorUnknown: {\n title: 'Unknown Error',\n details: { key: 'AbpAccount::InternalServerErrorMessage', defaultValue: 'Error detail not sent by server.' },\n },\n};\n\n@Injectable({ providedIn: 'root' })\nexport class ErrorHandler {\n constructor(\n private actions: Actions,\n private router: Router,\n private ngZone: NgZone,\n private store: Store,\n private confirmationService: ConfirmationService,\n private appRef: ApplicationRef,\n private cfRes: ComponentFactoryResolver,\n private rendererFactory: RendererFactory2,\n private injector: Injector,\n ) {\n actions.pipe(ofActionSuccessful(RestOccurError)).subscribe(res => {\n const { payload: err = {} as HttpErrorResponse | any } = res;\n const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULT_ERROR_MESSAGES.defaultError.title);\n\n if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) {\n const confirmation$ = this.showError(null, null, body);\n\n if (err.status === 401) {\n confirmation$.subscribe(() => {\n this.navigateToLogin();\n });\n }\n } else {\n switch ((err as HttpErrorResponse).status) {\n case 401:\n this.showError(\n DEFAULT_ERROR_MESSAGES.defaultError401.details,\n DEFAULT_ERROR_MESSAGES.defaultError401.title,\n ).subscribe(() => this.navigateToLogin());\n break;\n case 403:\n this.createErrorComponent({\n title: DEFAULT_ERROR_MESSAGES.defaultError403.title,\n details: DEFAULT_ERROR_MESSAGES.defaultError403.details,\n });\n break;\n case 404:\n this.showError(\n DEFAULT_ERROR_MESSAGES.defaultError404.details,\n DEFAULT_ERROR_MESSAGES.defaultError404.title,\n );\n break;\n case 500:\n this.createErrorComponent({\n title: DEFAULT_ERROR_MESSAGES.defaultError500.title,\n details: DEFAULT_ERROR_MESSAGES.defaultError500.details,\n });\n break;\n case 0:\n if ((err as HttpErrorResponse).statusText === 'Unknown Error') {\n this.createErrorComponent({\n title: DEFAULT_ERROR_MESSAGES.defaultErrorUnknown.title,\n details: DEFAULT_ERROR_MESSAGES.defaultErrorUnknown.details,\n });\n }\n break;\n default:\n this.showError(DEFAULT_ERROR_MESSAGES.defaultError.details, DEFAULT_ERROR_MESSAGES.defaultError.title);\n break;\n }\n }\n });\n }\n\n private showError(message?: string, title?: string, body?: any): Observable<Toaster.Status> {\n if (body) {\n if (body.details) {\n message = body.details;\n title = body.message;\n } else {\n message = body.message || DEFAULT_ERROR_MESSAGES.defaultError.title;\n }\n }\n\n return this.confirmationService.error(message, title, {\n hideCancelBtn: true,\n yesCopy: 'OK',\n });\n }\n\n private navigateToLogin() {\n this.ngZone.run(() => {\n this.router.navigate(['/account/login'], {\n state: { redirectUrl: this.router.url },\n });\n });\n }\n\n createErrorComponent(instance: Partial<ErrorComponent>) {\n const renderer = this.rendererFactory.createRenderer(null, null);\n const host = renderer.selectRootElement(document.body, true);\n\n const componentRef = this.cfRes.resolveComponentFactory(ErrorComponent).create(this.injector);\n\n for (const key in componentRef.instance) {\n if (componentRef.instance.hasOwnProperty(key)) {\n componentRef.instance[key] = instance[key];\n }\n }\n\n this.appRef.attachView(componentRef.hostView);\n renderer.appendChild(host, (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n\n componentRef.instance.renderer = renderer;\n componentRef.instance.elementRef = componentRef.location;\n componentRef.instance.host = host;\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: '[abp-table-empty-message]',\n template: `\n <td class=\"text-center\" [attr.colspan]=\"colspan\">\n {{ emptyMessage | abpLocalization }}\n </td>\n `\n})\nexport class TableEmptyMessageComponent {\n @Input()\n colspan = 2;\n\n @Input()\n message: string;\n\n @Input()\n localizationResource = 'AbpAccount';\n\n @Input()\n localizationProp = 'NoDataAvailableInDatatable';\n\n get emptyMessage(): string {\n return this.message || `${this.localizationResource}::${this.localizationProp}`;\n }\n}\n","import { CoreModule, LazyLoadService } from '@abp/ng.core';\nimport { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { MessageService } from 'primeng/components/common/messageservice';\nimport { ToastModule } from 'primeng/toast';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';\nimport { ButtonComponent } from './components/button/button.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { ChartComponent } from './components/chart/chart.component';\nimport { ConfirmationComponent } from './components/confirmation/confirmation.component';\nimport { ErrorComponent } from './components/error/error.component';\nimport { LoaderBarComponent } from './components/loader-bar/loader-bar.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { ProfileComponent } from './components/profile/profile.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport { SortOrderIconComponent } from './components/sort-order-icon/sort-order-icon.component';\nimport styles from './contants/styles';\nimport { ErrorHandler } from './handlers/error.handler';\nimport { chartJsLoaded$ } from './utils/widget-utils';\nimport { TableEmptyMessageComponent } from './components/table-empty-message/table-empty-message.component';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\n\nexport function appendScript(injector: Injector) {\n const fn = () => {\n import('chart.js').then(() => chartJsLoaded$.next(true));\n\n const lazyLoadService: LazyLoadService = injector.get(LazyLoadService);\n\n return forkJoin(\n lazyLoadService.load(\n null,\n 'style',\n styles,\n 'head',\n 'afterbegin',\n ) /* lazyLoadService.load(null, 'script', scripts) */,\n ).toPromise();\n };\n\n return fn;\n}\n\n@NgModule({\n imports: [CoreModule, ToastModule, NgxValidateCoreModule],\n declarations: [\n BreadcrumbComponent,\n ButtonComponent,\n ChangePasswordComponent,\n ChartComponent,\n ConfirmationComponent,\n ErrorComponent,\n LoaderBarComponent,\n ModalComponent,\n ProfileComponent,\n TableEmptyMessageComponent,\n ToastComponent,\n SortOrderIconComponent,\n ],\n exports: [\n BreadcrumbComponent,\n ButtonComponent,\n ChangePasswordComponent,\n ChartComponent,\n ConfirmationComponent,\n LoaderBarComponent,\n ModalComponent,\n ProfileComponent,\n TableEmptyMessageComponent,\n ToastComponent,\n SortOrderIconComponent,\n ],\n entryComponents: [ErrorComponent],\n})\nexport class ThemeSharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeSharedModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [Injector, ErrorHandler],\n useFactory: appendScript,\n },\n { provide: MessageService, useClass: MessageService },\n ],\n };\n }\n}\n","import { Toaster } from './toaster';\n\nexport namespace Confirmation {\n export interface Options extends Toaster.Options {\n hideCancelBtn?: boolean;\n hideYesBtn?: boolean;\n cancelCopy?: string;\n yesCopy?: string;\n }\n}\n","import { animate, animation, keyframes, style } from '@angular/animations';\n\nexport const bounceIn = animation(\n [\n style({ opacity: '0', display: '{{ display }}' }),\n animate(\n '{{ time}} {{ easing }}',\n keyframes([\n style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),\n style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),\n style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 })\n ])\n )\n ],\n {\n params: {\n time: '350ms',\n easing: 'cubic-bezier(.7,.31,.72,1.47)',\n display: 'block',\n transform: 'translate(-50%, -50%)'\n }\n }\n);\n","import { animate, animation, trigger, state, style, transition, useAnimation } from '@angular/animations';\n\nexport const collapseY = animation(\n [\n style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\n animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),\n ],\n { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const collapseYWithMargin = animation(\n [style({ 'margin-top': '0' }), animate('{{ time }} {{ easing }}', style({ 'margin-top': '-100%' }))],\n {\n params: { time: '500ms', easing: 'ease' },\n },\n);\n\nexport const collapseX = animation(\n [\n style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\n animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),\n ],\n { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const expandY = animation(\n [\n style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\n animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),\n ],\n { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const expandYWithMargin = animation(\n [style({ 'margin-top': '-100%' }), animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' }))],\n {\n params: { time: '500ms', easing: 'ease' },\n },\n);\n\nexport const expandX = animation(\n [\n style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\n animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),\n ],\n { params: { time: '350ms', easing: 'ease' } },\n);\n\nexport const collapse = trigger('collapse', [\n state('collapsed', style({ height: '0', overflow: 'hidden' })),\n state('expanded', style({ height: '*', overflow: 'hidden' })),\n transition('expanded => collapsed', useAnimation(collapseY)),\n transition('collapsed => expanded', useAnimation(expandY)),\n]);\n\nexport const collapseWithMargin = trigger('collapseWithMargin', [\n state('collapsed', style({ 'margin-top': '-100%' })),\n state('expanded', style({ 'margin-top': '0' })),\n transition('expanded => collapsed', useAnimation(collapseYWithMargin), {\n params: { time: '400ms', easing: 'linear' },\n }),\n transition('collapsed => expanded', useAnimation(expandYWithMargin)),\n]);\n\nexport const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [\n state('collapsed', style({ 'margin-top': '-100%' })),\n state('expanded', style({ 'margin-top': '0' })),\n transition(\n 'expanded => collapsed',\n useAnimation(collapseYWithMargin, { params: { time: '200ms', easing: 'linear' } }),\n ),\n transition('collapsed => expanded', useAnimation(expandYWithMargin, { params: { time: '250ms', easing: 'linear' } })),\n]);\n","import { animate, state, style, transition, trigger, query } from '@angular/animations';\nexport const slideFromBottom = trigger('slideFromBottom', [\n transition('* <=> *', [\n style({ 'margin-top': '20px', opacity: '0' }),\n animate('0.2s ease-out', style({ opacity: '1', 'margin-top': '0px' })),\n ]),\n]);\n","export namespace Statistics {\n export interface Response {\n data: Data;\n }\n\n export interface Data {\n [key: string]: number;\n }\n\n export interface Filter {\n startDate: string | Date;\n endDate: string | Date;\n }\n}\n","import { Type } from '@angular/core';\n\nexport interface SettingTab {\n component: Type<any>;\n name: string;\n order: number;\n requiredPolicy?: string;\n}\n\nconst SETTING_TABS = [] as SettingTab[];\n\nexport function addSettingTab(tab: SettingTab | SettingTab[]): void {\n if (!Array.isArray(tab)) {\n tab = [tab];\n }\n\n SETTING_TABS.push(...tab);\n}\n\nexport function getSettingTabs(): SettingTab[] {\n return SETTING_TABS;\n}\n","export namespace Toaster {\n export interface Options {\n id?: any;\n closable?: boolean;\n life?: number;\n sticky?: boolean;\n data?: any;\n messageLocalizationParams?: string[];\n titleLocalizationParams?: string[];\n }\n\n export type Severity = 'success' | 'info' | 'warn' | 'error';\n\n export const enum Status {\n confirm = 'confirm',\n reject = 'reject',\n dismiss = 'dismiss',\n }\n}\n"]}