@tuki-io/tuki-widgets 0.0.196 → 0.0.198
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
- package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
- package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
- package/esm2020/lib/widgets.component.mjs +9 -9
- package/esm2020/lib/widgets.module.mjs +1 -1
- package/esm2020/lib/widgets.service.mjs +1 -1
- package/esm2020/public-api.mjs +1 -1
- package/esm2020/user-creation/src/app.constants.mjs +2 -16
- package/esm2020/user-creation/src/classes/site.mjs +1 -1
- package/esm2020/user-creation/src/shared/material.module.mjs +7 -35
- package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +19 -43
- package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
- package/esm2020/user-creation/src/shared/shared.module.mjs +4 -27
- package/esm2020/user-creation/src/user-creation.module.mjs +7 -40
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +20 -512
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +3 -3
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +34 -80
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +19 -83
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +124 -594
- package/esm2020/user-device-manage/public-api.mjs +1 -1
- package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
- package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
- package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-device-manage/src/material.module.mjs +1 -1
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
- package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
- package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/public-api.mjs +1 -1
- package/esm2020/user-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
- package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
- package/esm2020/user-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/user-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-manage/src/material.module.mjs +1 -1
- package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
- package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
- package/esm2020/users-list/public-api.mjs +1 -1
- package/esm2020/users-list/src/app.constants.mjs +1 -1
- package/esm2020/users-list/src/classes/app-location.mjs +1 -1
- package/esm2020/users-list/src/classes/device.mjs +1 -1
- package/esm2020/users-list/src/classes/line.mjs +1 -1
- package/esm2020/users-list/src/classes/move-user.mjs +1 -1
- package/esm2020/users-list/src/classes/notification.mjs +1 -1
- package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
- package/esm2020/users-list/src/classes/table-data.mjs +1 -1
- package/esm2020/users-list/src/classes/user-list.mjs +1 -1
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
- package/esm2020/users-list/src/services/api.service.mjs +1 -1
- package/esm2020/users-list/src/services/dns.service.mjs +1 -1
- package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
- package/esm2020/users-list/src/services/notification.service.mjs +1 -1
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
- package/esm2020/users-list/src/services/user.service.mjs +1 -1
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
- package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +22 -22
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +325 -1913
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +10 -10
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +22 -22
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +313 -1868
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +10 -10
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/package.json +1 -1
- package/user-creation/src/app.constants.d.ts +0 -10
- package/user-creation/src/shared/material.module.d.ts +1 -5
- package/user-creation/src/shared/services/user-creation-api.service.d.ts +2 -8
- package/user-creation/src/shared/shared.module.d.ts +1 -3
- package/user-creation/src/user-creation.module.d.ts +10 -17
- package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +7 -83
- package/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.d.ts +4 -11
- package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +0 -18
- package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +56 -71
- package/esm2020/user-creation/src/classes/notification.mjs +0 -32
- package/esm2020/user-creation/src/environments/environment.mjs +0 -11
- package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +0 -19
- package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +0 -38
- package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +0 -30
- package/esm2020/user-creation/src/shared/services/notification.service.mjs +0 -62
- package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +0 -147
- package/esm2020/user-creation/src/utils/device-name-validation.mjs +0 -23
- package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +0 -26
- package/user-creation/src/classes/notification.d.ts +0 -18
- package/user-creation/src/environments/environment.d.ts +0 -9
- package/user-creation/src/interfaces/user-creation-wizard.interfaces.d.ts +0 -502
- package/user-creation/src/shared/components/notification/notification.component.d.ts +0 -19
- package/user-creation/src/shared/pipes/truncate.pipe.d.ts +0 -7
- package/user-creation/src/shared/services/notification.service.d.ts +0 -18
- package/user-creation/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-creation/src/utils/build-savable-end-user.d.ts +0 -23
- package/user-creation/src/utils/device-name-validation.d.ts +0 -6
- package/user-creation/src/utils/parse-device-name-rule.d.ts +0 -8
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../shared/services/notification.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/material/button";
|
|
6
|
-
import * as i4 from "../../pipes/truncate.pipe";
|
|
7
|
-
export class NotificationsComponent {
|
|
8
|
-
constructor(notificationService, ref) {
|
|
9
|
-
this.notificationService = notificationService;
|
|
10
|
-
this.ref = ref;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this.listChangeSubscribe();
|
|
14
|
-
}
|
|
15
|
-
ngOnDestroy() {
|
|
16
|
-
this.listSubscription.unsubscribe();
|
|
17
|
-
}
|
|
18
|
-
readMore() {
|
|
19
|
-
this.isReadMore = !this.isReadMore;
|
|
20
|
-
}
|
|
21
|
-
removeNotification(notification) {
|
|
22
|
-
this.notificationService.remove(notification);
|
|
23
|
-
}
|
|
24
|
-
listChangeSubscribe() {
|
|
25
|
-
this.listSubscription = this.notificationService.listChange
|
|
26
|
-
.subscribe((list) => {
|
|
27
|
-
this.list = list;
|
|
28
|
-
this.ref.detectChanges();
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
NotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationsComponent, deps: [{ token: i1.NotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationsComponent, selector: "app-notification", ngImport: i0, template: "\n\n<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{'error': notification.isError(), 'success': notification.isSuccess()}\">\n\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i *ngIf=\"notification.isError()\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{notification.message | truncate:[93]}}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{notification.message}}\n </div>\n </div>\n <div class=\"read-more-error link clickable\" *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\">{{(isReadMore ? 'Collapse' : 'Read More')}}</div>\n <button\n class=\"close\"\n mat-icon-button\n (click)=\"removeNotification(notification)\">\n <img class=\"notification-icon-close\" src=\"assets/icons/close_icon_modal.svg\" alt=\"\">\n </button>\n </div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.notification-block{right:10px;top:80px;position:absolute;z-index:100}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{padding:15px 0 10px 10px;margin-bottom:18px;color:#333;border-radius:3px;border-top:1.5px solid #e5e1cd;background:#fcf8e3;box-shadow:0 8px 12px #091e4226,0 0 1px #091e424f;width:368px;position:relative}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;word-break:break-word;width:270px}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#FFE9E9;border-top:1.5px solid #E16D6D}.notification-block .notification.success{background:#e3f4dc;border-top:1.5px solid #b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:2px;right:-5px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{width:50%;min-width:150px}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i4.TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationsComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'app-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div class=\"notification-block\" role=\"alert\" aria-live=\"assertive\">\n <div class=\"notification\"\n *ngFor=\"let notification of list\"\n [ngClass]=\"{'error': notification.isError(), 'success': notification.isSuccess()}\">\n\n <div class=\"flex-box\">\n <div class=\"notification-icons-block\">\n <i *ngIf=\"notification.isError()\" class=\"fa fa-exclamation-triangle\"></i>\n <i *ngIf=\"notification.isWarning()\" class=\"fa fa-hand-paper-o\"></i>\n <i *ngIf=\"notification.isSuccess()\" class=\"fa fa-check\"></i>\n <i *ngIf=\"notification.isInfo()\" class=\"fa fa-info-circle\"></i>\n </div>\n <div *ngIf=\"!isReadMore\" class=\"message-block\">\n {{notification.message | truncate:[93]}}\n </div>\n <div *ngIf=\"isReadMore\" class=\"message-block\">\n {{notification.message}}\n </div>\n </div>\n <div class=\"read-more-error link clickable\" *ngIf=\"notification.message && notification.message.length > 93\"\n (click)=\"readMore()\">{{(isReadMore ? 'Collapse' : 'Read More')}}</div>\n <button\n class=\"close\"\n mat-icon-button\n (click)=\"removeNotification(notification)\">\n <img class=\"notification-icon-close\" src=\"assets/icons/close_icon_modal.svg\" alt=\"\">\n </button>\n </div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.notification-block{right:10px;top:80px;position:absolute;z-index:100}.notification-block .read-more-error{margin:10px 13px 3px 0;text-align:right}.notification-block .notification{padding:15px 0 10px 10px;margin-bottom:18px;color:#333;border-radius:3px;border-top:1.5px solid #e5e1cd;background:#fcf8e3;box-shadow:0 8px 12px #091e4226,0 0 1px #091e424f;width:368px;position:relative}.notification-block .notification .message-block{font-size:14px;font-family:Poppins,Poppins,sans-serif!important;word-break:break-word;width:270px}.notification-block .notification .notification-icon-close{height:24px}.notification-block .notification.error{background:#FFE9E9;border-top:1.5px solid #E16D6D}.notification-block .notification.success{background:#e3f4dc;border-top:1.5px solid #b3d692}.notification-block .notification .fa-exclamation-triangle{color:#e16d6d!important}.notification-block .notification .fa-check{color:#a0c37f!important}.notification-block .notification .fa-info-circle,.notification-block .notification .fa-hand-paper-o{color:#bdb89e!important}.notification-block .notification .fa{font-size:20px}.notification-block .notification .close{position:absolute;top:2px;right:-5px}.notification-block .notification .close .fa{font-size:14px}.notification-block .notification .fa{margin:0;color:inherit}@media screen and (max-width: 600px){.notification-block{width:50%;min-width:150px}}\n"] }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.NotificationService }, { type: i0.ChangeDetectorRef }]; } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV3pHLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFDUyxtQkFBd0MsRUFDdkMsR0FBc0I7UUFEdkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUVoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFlBQTBCO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVU7YUFDeEQsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQWpDVSxzQkFBc0I7d0dBQXRCLHNCQUFzQix3RENYbkMsczBDQWdDQTs0RkRyQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9ub3RpZmljYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbm90aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgbGlzdCE6IE5vdGlmaWNhdGlvbltdO1xuICBwdWJsaWMgaXNSZWFkTW9yZSE6IGJvb2xlYW47XG4gIHByaXZhdGUgbGlzdFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RDaGFuZ2VTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubGlzdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNSZWFkTW9yZSA9ICF0aGlzLmlzUmVhZE1vcmU7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnJlbW92ZShub3RpZmljYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0Q2hhbmdlU3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdFN1YnNjcmlwdGlvbiA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5saXN0Q2hhbmdlXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5saXN0ID0gbGlzdDtcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIlxuXG48ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWJsb2NrXCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25cIlxuICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2YgbGlzdFwiXG4gICAgICAgW25nQ2xhc3NdPVwieydlcnJvcic6IG5vdGlmaWNhdGlvbi5pc0Vycm9yKCksICdzdWNjZXNzJzogbm90aWZpY2F0aW9uLmlzU3VjY2VzcygpfVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtYm94XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWljb25zLWJsb2NrXCI+XG4gICAgICAgIDxpICpuZ0lmPVwibm90aWZpY2F0aW9uLmlzRXJyb3IoKVwiIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XG4gICAgICAgIDxpICpuZ0lmPVwibm90aWZpY2F0aW9uLmlzV2FybmluZygpXCIgY2xhc3M9XCJmYSBmYS1oYW5kLXBhcGVyLW9cIj48L2k+XG4gICAgICAgIDxpICpuZ0lmPVwibm90aWZpY2F0aW9uLmlzU3VjY2VzcygpXCIgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgPGkgKm5nSWY9XCJub3RpZmljYXRpb24uaXNJbmZvKClcIiBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzUmVhZE1vcmVcIiBjbGFzcz1cIm1lc3NhZ2UtYmxvY2tcIj5cbiAgICAgICAge3tub3RpZmljYXRpb24ubWVzc2FnZSB8IHRydW5jYXRlOls5M119fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNSZWFkTW9yZVwiIGNsYXNzPVwibWVzc2FnZS1ibG9ja1wiPlxuICAgICAgICB7e25vdGlmaWNhdGlvbi5tZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyZWFkLW1vcmUtZXJyb3IgbGluayBjbGlja2FibGVcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbi5tZXNzYWdlICYmIG5vdGlmaWNhdGlvbi5tZXNzYWdlLmxlbmd0aCA+IDkzXCJcbiAgICAgICAgIChjbGljayk9XCJyZWFkTW9yZSgpXCI+e3soaXNSZWFkTW9yZSA/ICdDb2xsYXBzZScgOiAnUmVhZCBNb3JlJyl9fTwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwicmVtb3ZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbilcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi1jbG9zZVwiIHNyYz1cImFzc2V0cy9pY29ucy9jbG9zZV9pY29uX21vZGFsLnN2Z1wiIGFsdD1cIlwiPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { CUTTING_SYMBOLS, BREADCRUMB_LENGTH_LIMIT, DEFAULT_CUTTING_LENGTH } from '../../app.constants';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TruncatePipe {
|
|
5
|
-
transform(value, args) {
|
|
6
|
-
if (!value) {
|
|
7
|
-
return '';
|
|
8
|
-
}
|
|
9
|
-
if (args) {
|
|
10
|
-
const limit = args.length > 0 ? parseInt(args[0], 10) : 20;
|
|
11
|
-
const trail = args.length > 1 ? args[1] : '...';
|
|
12
|
-
return value.length > limit ? value.substring(0, limit) + trail : value;
|
|
13
|
-
}
|
|
14
|
-
if (value.length <= BREADCRUMB_LENGTH_LIMIT) {
|
|
15
|
-
return value;
|
|
16
|
-
}
|
|
17
|
-
const foundSymbol = CUTTING_SYMBOLS.find((symbol) => value.includes(symbol, DEFAULT_CUTTING_LENGTH));
|
|
18
|
-
const cutIndex = foundSymbol ? value.indexOf(foundSymbol, DEFAULT_CUTTING_LENGTH) : BREADCRUMB_LENGTH_LIMIT;
|
|
19
|
-
return value.substring(0, cutIndex) + '...';
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
TruncatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
23
|
-
TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TruncatePipe, name: "truncate" });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TruncatePipe, decorators: [{
|
|
25
|
-
type: Pipe,
|
|
26
|
-
args: [{
|
|
27
|
-
name: 'truncate'
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvcGlwZXMvdHJ1bmNhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS3ZHLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFNBQVMsQ0FBQyxLQUF5QixFQUFFLElBQVk7UUFDL0MsSUFBRyxDQUFDLEtBQUssRUFBRTtZQUNULE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLHVCQUF1QixFQUFFO1lBQzNDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7UUFDckcsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztRQUM1RyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDOzswR0FqQlUsWUFBWTt3R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ1VUVElOR19TWU1CT0xTLCBCUkVBRENSVU1CX0xFTkdUSF9MSU1JVCwgREVGQVVMVF9DVVRUSU5HX0xFTkdUSCB9IGZyb20gJy4uLy4uL2FwcC5jb25zdGFudHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cnVuY2F0ZSdcbn0pXG5leHBvcnQgY2xhc3MgVHJ1bmNhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsIGFyZ3M/OiBhbnlbXSk6IHN0cmluZyB7XG4gICAgaWYoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChhcmdzKSB7XG4gICAgICBjb25zdCBsaW1pdCA9IGFyZ3MubGVuZ3RoID4gMCA/IHBhcnNlSW50KGFyZ3NbMF0sIDEwKSA6IDIwO1xuICAgICAgY29uc3QgdHJhaWwgPSBhcmdzLmxlbmd0aCA+IDEgPyBhcmdzWzFdIDogJy4uLic7XG4gICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gbGltaXQgPyB2YWx1ZS5zdWJzdHJpbmcoMCwgbGltaXQpICsgdHJhaWwgOiB2YWx1ZTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA8PSBCUkVBRENSVU1CX0xFTkdUSF9MSU1JVCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBmb3VuZFN5bWJvbCA9IENVVFRJTkdfU1lNQk9MUy5maW5kKChzeW1ib2wpID0+IHZhbHVlLmluY2x1ZGVzKHN5bWJvbCwgREVGQVVMVF9DVVRUSU5HX0xFTkdUSCkpO1xuICAgIGNvbnN0IGN1dEluZGV4ID0gZm91bmRTeW1ib2wgPyB2YWx1ZS5pbmRleE9mKGZvdW5kU3ltYm9sLCBERUZBVUxUX0NVVFRJTkdfTEVOR1RIKSA6IEJSRUFEQ1JVTUJfTEVOR1RIX0xJTUlUO1xuICAgIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgY3V0SW5kZXgpICsgJy4uLic7XG4gIH1cblxufVxuIl19
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Notification } from '../../classes/notification';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
const SUCCESS_TIME = 5000;
|
|
6
|
-
const INACTIVE_SESSION_MESSAGE = 'Your session was lost due to inactivity. Please login again';
|
|
7
|
-
const INACTIVE_SESSION = 'SESSION_INACTIVE';
|
|
8
|
-
export class NotificationService {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.listChange = new Subject();
|
|
11
|
-
this.max = 0;
|
|
12
|
-
this.list = [];
|
|
13
|
-
}
|
|
14
|
-
error(message, ttl) {
|
|
15
|
-
this.notify('error', message, ttl);
|
|
16
|
-
}
|
|
17
|
-
success(message, ttl) {
|
|
18
|
-
this.notify('success', message, (!ttl) ? SUCCESS_TIME : ttl);
|
|
19
|
-
}
|
|
20
|
-
warning(message, ttl) {
|
|
21
|
-
this.notify('warning', message, ttl);
|
|
22
|
-
}
|
|
23
|
-
info(message, ttl) {
|
|
24
|
-
this.notify('info', message, ttl);
|
|
25
|
-
}
|
|
26
|
-
notify(type, message, ttl) {
|
|
27
|
-
const found = this.list.find((n) => n.message === message);
|
|
28
|
-
if (found) {
|
|
29
|
-
this.remove(found);
|
|
30
|
-
}
|
|
31
|
-
const notification = new Notification({
|
|
32
|
-
id: ++this.max,
|
|
33
|
-
type, message, ttl
|
|
34
|
-
});
|
|
35
|
-
if (notification.ttl > 0) {
|
|
36
|
-
notification.timerId = setTimeout(() => this.remove(notification, true), notification.ttl);
|
|
37
|
-
}
|
|
38
|
-
this.list.push(notification);
|
|
39
|
-
this.listChange.next(this.list);
|
|
40
|
-
}
|
|
41
|
-
remove(notification, auto) {
|
|
42
|
-
if (!auto && notification.timerId) {
|
|
43
|
-
// clear timeout in case of manual remove
|
|
44
|
-
clearInterval(notification.timerId);
|
|
45
|
-
}
|
|
46
|
-
this.list = this.list.filter(n => n.id !== notification.id);
|
|
47
|
-
this.listChange.next(this.list);
|
|
48
|
-
}
|
|
49
|
-
removeInactiveSessionError() {
|
|
50
|
-
if (!this.list || !this.list.length) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.list = this.list.filter(n => n.message !== INACTIVE_SESSION_MESSAGE && n.message !== INACTIVE_SESSION);
|
|
54
|
-
this.listChange.next(this.list);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
-
NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, decorators: [{
|
|
60
|
-
type: Injectable
|
|
61
|
-
}], ctorParameters: function () { return []; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvc2hhcmVkL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBQy9CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztBQUMxQixNQUFNLHdCQUF3QixHQUFHLDZEQUE2RCxDQUFDO0FBQy9GLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFHNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU85QjtRQUxPLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTFCLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQUlsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWUsRUFBRSxHQUFZO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxHQUFZO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsR0FBWTtRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFlLEVBQUUsR0FBWTtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNPLE1BQU0sQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLEdBQVk7UUFDeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDekUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUM7WUFDcEMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDZCxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUc7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxZQUFZLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUN4QixZQUFZLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUY7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUEwQixFQUFFLElBQWM7UUFDL0MsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFO1lBQ2pDLHlDQUF5QztZQUN6QyxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssd0JBQXdCLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOztpSEF6RFUsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmNvbnN0IFNVQ0NFU1NfVElNRSA9IDUwMDA7XG5jb25zdCBJTkFDVElWRV9TRVNTSU9OX01FU1NBR0UgPSAnWW91ciBzZXNzaW9uIHdhcyBsb3N0IGR1ZSB0byBpbmFjdGl2aXR5LiBQbGVhc2UgbG9naW4gYWdhaW4nO1xuY29uc3QgSU5BQ1RJVkVfU0VTU0lPTiA9ICdTRVNTSU9OX0lOQUNUSVZFJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuXG4gIHB1YmxpYyBsaXN0Q2hhbmdlID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIG1heCA9IDA7XG4gIHByaXZhdGUgbGlzdDogTm90aWZpY2F0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubm90aWZ5KCdlcnJvcicsIG1lc3NhZ2UsIHR0bCk7XG4gIH1cblxuICBzdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgdHRsPzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZnkoJ3N1Y2Nlc3MnLCBtZXNzYWdlLCAoIXR0bCkgPyBTVUNDRVNTX1RJTUUgOiB0dGwpO1xuICB9XG5cbiAgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubm90aWZ5KCd3YXJuaW5nJywgbWVzc2FnZSwgdHRsKTtcbiAgfVxuXG4gIGluZm8obWVzc2FnZTogc3RyaW5nLCB0dGw/OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmeSgnaW5mbycsIG1lc3NhZ2UsIHR0bCk7XG4gIH1cbiAgcHJpdmF0ZSBub3RpZnkodHlwZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5saXN0LmZpbmQoKG46IE5vdGlmaWNhdGlvbikgPT4gbi5tZXNzYWdlID09PSBtZXNzYWdlKTtcbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIHRoaXMucmVtb3ZlKGZvdW5kKTtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICBpZDogKyt0aGlzLm1heCxcbiAgICAgIHR5cGUsIG1lc3NhZ2UsIHR0bFxuICAgIH0pO1xuICAgIGlmIChub3RpZmljYXRpb24udHRsID4gMCkge1xuICAgICAgbm90aWZpY2F0aW9uLnRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVtb3ZlKG5vdGlmaWNhdGlvbiwgdHJ1ZSksIG5vdGlmaWNhdGlvbi50dGwpO1xuICAgIH1cbiAgICB0aGlzLmxpc3QucHVzaChub3RpZmljYXRpb24pO1xuICAgIHRoaXMubGlzdENoYW5nZS5uZXh0KHRoaXMubGlzdCk7XG4gIH1cblxuICByZW1vdmUobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGF1dG8/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKCFhdXRvICYmIG5vdGlmaWNhdGlvbi50aW1lcklkKSB7XG4gICAgICAvLyBjbGVhciB0aW1lb3V0IGluIGNhc2Ugb2YgbWFudWFsIHJlbW92ZVxuICAgICAgY2xlYXJJbnRlcnZhbChub3RpZmljYXRpb24udGltZXJJZCk7XG4gICAgfVxuICAgIHRoaXMubGlzdCA9IHRoaXMubGlzdC5maWx0ZXIobiA9PiBuLmlkICE9PSBub3RpZmljYXRpb24uaWQpO1xuICAgIHRoaXMubGlzdENoYW5nZS5uZXh0KHRoaXMubGlzdCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUluYWN0aXZlU2Vzc2lvbkVycm9yKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5saXN0IHx8ICF0aGlzLmxpc3QubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGlzdCA9IHRoaXMubGlzdC5maWx0ZXIobiA9PiBuLm1lc3NhZ2UgIT09IElOQUNUSVZFX1NFU1NJT05fTUVTU0FHRSAmJiBuLm1lc3NhZ2UgIT09IElOQUNUSVZFX1NFU1NJT04pO1xuICAgIHRoaXMubGlzdENoYW5nZS5uZXh0KHRoaXMubGlzdCk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/progress-spinner";
|
|
4
|
-
export class AppLoaderComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
|
|
11
|
-
type: Component,
|
|
12
|
-
args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200;display:flex;justify-content:center;align-items:center}\n"] }]
|
|
13
|
-
}], ctorParameters: function () { return []; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCO0lBQ0EsQ0FBQzs7Z0hBRlUsa0JBQWtCO29HQUFsQixrQkFBa0Isa0RDUi9CLDBMQU9BOzRGRENhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2FkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC1sb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTG9hZGVyQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj5cbiAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgY2xhc3M9XCJwYWdlLXNwaW5uZXJcIlxuICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICBbZGlhbWV0ZXJdPVwiNzBcIlxuICAgIHN0cm9rZVdpZHRoPVwiM1wiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
export const ENTITY_CHANGE_TYPE = {
|
|
2
|
-
ADDED: 'added',
|
|
3
|
-
UPDATED: 'updated',
|
|
4
|
-
EXISTING: 'existing',
|
|
5
|
-
REMOVED: 'removed',
|
|
6
|
-
};
|
|
7
|
-
function deepClone(value) {
|
|
8
|
-
return JSON.parse(JSON.stringify(value));
|
|
9
|
-
}
|
|
10
|
-
function toApiBooleanString(value) {
|
|
11
|
-
if (value === true || value === 'true') {
|
|
12
|
-
return 'true';
|
|
13
|
-
}
|
|
14
|
-
if (value === false || value === 'false') {
|
|
15
|
-
return 'false';
|
|
16
|
-
}
|
|
17
|
-
return value == null || value === '' ? '' : String(value);
|
|
18
|
-
}
|
|
19
|
-
function toApiStringValue(value) {
|
|
20
|
-
if (value === true) {
|
|
21
|
-
return 'true';
|
|
22
|
-
}
|
|
23
|
-
if (value === false) {
|
|
24
|
-
return 'false';
|
|
25
|
-
}
|
|
26
|
-
return value == null ? '' : String(value);
|
|
27
|
-
}
|
|
28
|
-
function normalizeCallInfoDisplay(callInfoDisplay) {
|
|
29
|
-
if (!callInfoDisplay) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
if (typeof callInfoDisplay === 'string') {
|
|
33
|
-
try {
|
|
34
|
-
const parsed = JSON.parse(callInfoDisplay);
|
|
35
|
-
return normalizeCallInfoDisplay(parsed);
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (typeof callInfoDisplay !== 'object') {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
const source = callInfoDisplay;
|
|
45
|
-
return {
|
|
46
|
-
callerName: source['callerName'] != null ? toApiBooleanString(source['callerName']) : null,
|
|
47
|
-
callerNumber: source['callerNumber'] != null ? toApiBooleanString(source['callerNumber']) : null,
|
|
48
|
-
redirectedNumber: source['redirectedNumber'] != null ? toApiBooleanString(source['redirectedNumber']) : null,
|
|
49
|
-
dialedNumber: source['dialedNumber'] != null ? toApiBooleanString(source['dialedNumber']) : null,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function normalizeDidPattern(didPattern, line, directoryNumber) {
|
|
53
|
-
if (didPattern && typeof didPattern === 'object') {
|
|
54
|
-
return didPattern;
|
|
55
|
-
}
|
|
56
|
-
if (typeof didPattern === 'string' && didPattern.trim()) {
|
|
57
|
-
return { calledPartyTransformationMask: didPattern };
|
|
58
|
-
}
|
|
59
|
-
const dn = directoryNumber || line?.directoryNumber?.directoryNumber;
|
|
60
|
-
if (dn) {
|
|
61
|
-
return { calledPartyTransformationMask: dn };
|
|
62
|
-
}
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
function normalizeDirectoryNumber(directoryNumber) {
|
|
66
|
-
const { displayValue: _displayValue, ...rest } = directoryNumber;
|
|
67
|
-
return {
|
|
68
|
-
directoryNumber: rest.directoryNumber ?? '',
|
|
69
|
-
routePartitionName: rest.routePartitionName ?? '',
|
|
70
|
-
templateDirectoryNumber: rest.templateDirectoryNumber,
|
|
71
|
-
pkid: rest.pkid || null,
|
|
72
|
-
dnType: rest.dnType || null,
|
|
73
|
-
subType: rest.subType ?? null,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function prepareLineAssociation(association, line) {
|
|
77
|
-
const prepared = deepClone(association);
|
|
78
|
-
const lineDn = line?.directoryNumber;
|
|
79
|
-
if (lineDn) {
|
|
80
|
-
prepared.directoryNumber = {
|
|
81
|
-
...prepared.directoryNumber,
|
|
82
|
-
directoryNumber: lineDn.directoryNumber || '',
|
|
83
|
-
routePartitionName: lineDn.routePartitionName || '',
|
|
84
|
-
templateDirectoryNumber: lineDn.templateDirectoryNumber ??
|
|
85
|
-
prepared.directoryNumber?.templateDirectoryNumber,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
prepared.directoryNumber = normalizeDirectoryNumber(prepared.directoryNumber);
|
|
89
|
-
prepared.entityChangeType = prepared.entityChangeType || ENTITY_CHANGE_TYPE.ADDED;
|
|
90
|
-
prepared.logMissedCall = toApiBooleanString(prepared.logMissedCall);
|
|
91
|
-
prepared.callInfoDisplay = normalizeCallInfoDisplay(prepared.callInfoDisplay);
|
|
92
|
-
prepared.didPattern = normalizeDidPattern(prepared.didPattern, line, prepared.directoryNumber?.directoryNumber);
|
|
93
|
-
prepared.visualMWI = toApiStringValue(prepared.visualMWI);
|
|
94
|
-
prepared.audibleMWI = toApiStringValue(prepared.audibleMWI);
|
|
95
|
-
prepared.associated = prepared.associated ?? true;
|
|
96
|
-
return prepared;
|
|
97
|
-
}
|
|
98
|
-
function prepareLine(line) {
|
|
99
|
-
const prepared = deepClone(line);
|
|
100
|
-
prepared.entityChangeType = prepared.entityChangeType || ENTITY_CHANGE_TYPE.ADDED;
|
|
101
|
-
if (prepared.directoryNumber) {
|
|
102
|
-
prepared.directoryNumber = normalizeDirectoryNumber(prepared.directoryNumber);
|
|
103
|
-
}
|
|
104
|
-
return prepared;
|
|
105
|
-
}
|
|
106
|
-
function syncDeviceLineAssociations(device, lines) {
|
|
107
|
-
device.lineAssociations = (device.lineAssociations || []).map((association, index) => prepareLineAssociation(association, lines[index]));
|
|
108
|
-
}
|
|
109
|
-
function prepareDeviceForSave(device, userId, lines, deviceName) {
|
|
110
|
-
const prepared = deepClone(device);
|
|
111
|
-
const resolvedName = deviceName.trim();
|
|
112
|
-
prepared.name = resolvedName;
|
|
113
|
-
prepared.newName = resolvedName;
|
|
114
|
-
prepared.entityChangeType = prepared.entityChangeType || ENTITY_CHANGE_TYPE.ADDED;
|
|
115
|
-
prepared.createDeviceMode = prepared.createDeviceMode ?? false;
|
|
116
|
-
if (prepared.extraOptions) {
|
|
117
|
-
prepared.extraOptions.mobilityUserId = userId;
|
|
118
|
-
}
|
|
119
|
-
syncDeviceLineAssociations(prepared, lines);
|
|
120
|
-
return prepared;
|
|
121
|
-
}
|
|
122
|
-
function resolvePrimaryLineReference(user) {
|
|
123
|
-
const firstDeviceAssociation = user.devices?.[0]?.lineAssociations?.[0]?.directoryNumber;
|
|
124
|
-
if (firstDeviceAssociation) {
|
|
125
|
-
return firstDeviceAssociation;
|
|
126
|
-
}
|
|
127
|
-
const firstLineDn = user.lines?.[0]?.directoryNumber;
|
|
128
|
-
return firstLineDn ?? null;
|
|
129
|
-
}
|
|
130
|
-
export function buildSavableEndUser(endUser, lines, devices, deviceProfiles, form, options = {}) {
|
|
131
|
-
const user = deepClone(endUser);
|
|
132
|
-
user.userid = form.userId || user.userid || '';
|
|
133
|
-
user.firstName = form.firstName || user.firstName || '';
|
|
134
|
-
user.lastName = form.lastName || user.lastName || '';
|
|
135
|
-
user.email = form.email || user.email || '';
|
|
136
|
-
user.createUserMode = false;
|
|
137
|
-
user.lines = (lines || []).map(line => prepareLine(line));
|
|
138
|
-
user.devices = (devices || []).map((device, index) => prepareDeviceForSave(device, user.userid || '', user.lines, options.resolveDeviceName?.(index, device) ?? device.name ?? device.newName ?? ''));
|
|
139
|
-
user.deviceProfiles = (deviceProfiles || []).map((profile, index) => prepareDeviceForSave(profile, user.userid || '', user.lines, options.resolveDeviceProfileName?.(index, profile) ?? profile.name ?? profile.newName ?? ''));
|
|
140
|
-
user.primaryLineReference = resolvePrimaryLineReference(user);
|
|
141
|
-
const snr = user.singleNumberReach;
|
|
142
|
-
if (snr && !snr.remoteDestinationProfileName) {
|
|
143
|
-
user.singleNumberReach = null;
|
|
144
|
-
}
|
|
145
|
-
return user;
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2F2YWJsZS1lbmQtdXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9idWlsZC1zYXZhYmxlLWVuZC11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7Q0FDWixDQUFDO0FBb0JYLFNBQVMsU0FBUyxDQUFJLEtBQVE7SUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQU0sQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxLQUFjO0lBQ3RDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7UUFDdEMsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBYztJQUNwQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDaEIsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDakIsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FB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Y2VJbnRlcmZhY2UsXG4gICAgRW5kVXNlckludGVyZmFjZSxcbiAgICBMaW5lQXNzb2NpYXRpb24sXG4gICAgTGluZUludGVyZmFjZSxcbiAgICBVc2VyRGV0YWlsc0Zvcm0sXG59IGZyb20gJy4uL2ludGVyZmFjZXMvdXNlci1jcmVhdGlvbi13aXphcmQuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBFTlRJVFlfQ0hBTkdFX1RZUEUgPSB7XG4gICAgQURERUQ6ICdhZGRlZCcsXG4gICAgVVBEQVRFRDogJ3VwZGF0ZWQnLFxuICAgIEVYSVNUSU5HOiAnZXhpc3RpbmcnLFxuICAgIFJFTU9WRUQ6ICdyZW1vdmVkJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbEluZm9EaXNwbGF5UGF5bG9hZCB7XG4gICAgY2FsbGVyTmFtZT86IHN0cmluZyB8IG51bGw7XG4gICAgY2FsbGVyTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbiAgICByZWRpcmVjdGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbiAgICBkaWFsZWROdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpZFBhdHRlcm5QYXlsb2FkIHtcbiAgICBjYWxsZWRQYXJ0eVRyYW5zZm9ybWF0aW9uTWFzaz86IHN0cmluZyB8IG51bGw7XG4gICAgcGF0dGVybj86IHN0cmluZyB8IG51bGw7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFNhdmFibGVFbmRVc2VyT3B0aW9ucyB7XG4gICAgcmVzb2x2ZURldmljZU5hbWU/OiAoaW5kZXg6IG51bWJlciwgZGV2aWNlOiBEZXZpY2VJbnRlcmZhY2UpID0+IHN0cmluZztcbiAgICByZXNvbHZlRGV2aWNlUHJvZmlsZU5hbWU/OiAoaW5kZXg6IG51bWJlciwgZGV2aWNlOiBEZXZpY2VJbnRlcmZhY2UpID0+IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZGVlcENsb25lPFQ+KHZhbHVlOiBUKTogVCB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodmFsdWUpKSBhcyBUO1xufVxuXG5mdW5jdGlvbiB0b0FwaUJvb2xlYW5TdHJpbmcodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybiAndHJ1ZSc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UgfHwgdmFsdWUgPT09ICdmYWxzZScpIHtcbiAgICAgICAgcmV0dXJuICdmYWxzZSc7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyA/ICcnIDogU3RyaW5nKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdG9BcGlTdHJpbmdWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiAndHJ1ZSc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuICdmYWxzZSc7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBTdHJpbmcodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVDYWxsSW5mb0Rpc3BsYXkoXG4gICAgY2FsbEluZm9EaXNwbGF5OiB1bmtub3duXG4pOiBDYWxsSW5mb0Rpc3BsYXlQYXlsb2FkIHwgbnVsbCB7XG4gICAgaWYgKCFjYWxsSW5mb0Rpc3BsYXkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY2FsbEluZm9EaXNwbGF5ID09PSAnc3RyaW5nJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShjYWxsSW5mb0Rpc3BsYXkpO1xuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUNhbGxJbmZvRGlzcGxheShwYXJzZWQpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY2FsbEluZm9EaXNwbGF5ICE9PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3Qgc291cmNlID0gY2FsbEluZm9EaXNwbGF5IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHJldHVybiB7XG4gICAgICAgIGNhbGxlck5hbWU6IHNvdXJjZVsnY2FsbGVyTmFtZSddICE9IG51bGwgPyB0b0FwaUJvb2xlYW5TdHJpbmcoc291cmNlWydjYWxsZXJOYW1lJ10pIDogbnVsbCxcbiAgICAgICAgY2FsbGVyTnVtYmVyOiBzb3VyY2VbJ2NhbGxlck51bWJlciddICE9IG51bGwgPyB0b0FwaUJvb2xlYW5TdHJpbmcoc291cmNlWydjYWxsZXJOdW1iZXInXSkgOiBudWxsLFxuICAgICAgICByZWRpcmVjdGVkTnVtYmVyOiBzb3VyY2VbJ3JlZGlyZWN0ZWROdW1iZXInXSAhPSBudWxsID8gdG9BcGlCb29sZWFuU3RyaW5nKHNvdXJjZVsncmVkaXJlY3RlZE51bWJlciddKSA6IG51bGwsXG4gICAgICAgIGRpYWxlZE51bWJlcjogc291cmNlWydkaWFsZWROdW1iZXInXSAhPSBudWxsID8gdG9BcGlCb29sZWFuU3RyaW5nKHNvdXJjZVsnZGlhbGVkTnVtYmVyJ10pIDogbnVsbCxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVEaWRQYXR0ZXJuKFxuICAgIGRpZFBhdHRlcm46IHVua25vd24sXG4gICAgbGluZT86IExpbmVJbnRlcmZhY2UsXG4gICAgZGlyZWN0b3J5TnVtYmVyPzogc3RyaW5nXG4pOiBEaWRQYXR0ZXJuUGF5bG9hZCB8IG51bGwge1xuICAgIGlmIChkaWRQYXR0ZXJuICYmIHR5cGVvZiBkaWRQYXR0ZXJuID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGlkUGF0dGVybiBhcyBEaWRQYXR0ZXJuUGF5bG9hZDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkaWRQYXR0ZXJuID09PSAnc3RyaW5nJyAmJiBkaWRQYXR0ZXJuLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4geyBjYWxsZWRQYXJ0eVRyYW5zZm9ybWF0aW9uTWFzazogZGlkUGF0dGVybiB9O1xuICAgIH1cbiAgICBjb25zdCBkbiA9IGRpcmVjdG9yeU51bWJlciB8fCBsaW5lPy5kaXJlY3RvcnlOdW1iZXI/LmRpcmVjdG9yeU51bWJlcjtcbiAgICBpZiAoZG4pIHtcbiAgICAgICAgcmV0dXJuIHsgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s6IGRuIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVEaXJlY3RvcnlOdW1iZXIoXG4gICAgZGlyZWN0b3J5TnVtYmVyOiBMaW5lQXNzb2NpYXRpb25bJ2RpcmVjdG9yeU51bWJlciddXG4pOiBMaW5lQXNzb2NpYXRpb25bJ2RpcmVjdG9yeU51bWJlciddIHtcbiAgICBjb25zdCB7IGRpc3BsYXlWYWx1ZTogX2Rpc3BsYXlWYWx1ZSwgLi4ucmVzdCB9ID0gZGlyZWN0b3J5TnVtYmVyO1xuICAgIHJldHVybiB7XG4gICAgICAgIGRpcmVjdG9yeU51bWJlcjogcmVzdC5kaXJlY3RvcnlOdW1iZXIgPz8gJycsXG4gICAgICAgIHJvdXRlUGFydGl0aW9uTmFtZTogcmVzdC5yb3V0ZVBhcnRpdGlvbk5hbWUgPz8gJycsXG4gICAgICAgIHRlbXBsYXRlRGlyZWN0b3J5TnVtYmVyOiByZXN0LnRlbXBsYXRlRGlyZWN0b3J5TnVtYmVyLFxuICAgICAgICBwa2lkOiByZXN0LnBraWQgfHwgbnVsbCxcbiAgICAgICAgZG5UeXBlOiByZXN0LmRuVHlwZSB8fCBudWxsLFxuICAgICAgICBzdWJUeXBlOiByZXN0LnN1YlR5cGUgPz8gbnVsbCxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlTGluZUFzc29jaWF0aW9uKFxuICAgIGFzc29jaWF0aW9uOiBMaW5lQXNzb2NpYXRpb24sXG4gICAgbGluZT86IExpbmVJbnRlcmZhY2Vcbik6IExpbmVBc3NvY2lhdGlvbiB7XG4gICAgY29uc3QgcHJlcGFyZWQgPSBkZWVwQ2xvbmUoYXNzb2NpYXRpb24pO1xuICAgIGNvbnN0IGxpbmVEbiA9IGxpbmU/LmRpcmVjdG9yeU51bWJlcjtcblxuICAgIGlmIChsaW5lRG4pIHtcbiAgICAgICAgcHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyID0ge1xuICAgICAgICAgICAgLi4ucHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyLFxuICAgICAgICAgICAgZGlyZWN0b3J5TnVtYmVyOiBsaW5lRG4uZGlyZWN0b3J5TnVtYmVyIHx8ICcnLFxuICAgICAgICAgICAgcm91dGVQYXJ0aXRpb25OYW1lOiBsaW5lRG4ucm91dGVQYXJ0aXRpb25OYW1lIHx8ICcnLFxuICAgICAgICAgICAgdGVtcGxhdGVEaXJlY3RvcnlOdW1iZXI6XG4gICAgICAgICAgICAgICAgbGluZURuLnRlbXBsYXRlRGlyZWN0b3J5TnVtYmVyID8/XG4gICAgICAgICAgICAgICAgcHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyPy50ZW1wbGF0ZURpcmVjdG9yeU51bWJlcixcbiAgICAgICAgfSBhcyBMaW5lQXNzb2NpYXRpb25bJ2RpcmVjdG9yeU51bWJlciddO1xuICAgIH1cblxuICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IG5vcm1hbGl6ZURpcmVjdG9yeU51bWJlcihwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXIpO1xuICAgIHByZXBhcmVkLmVudGl0eUNoYW5nZVR5cGUgPSBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlIHx8IEVOVElUWV9DSEFOR0VfVFlQRS5BRERFRDtcbiAgICBwcmVwYXJlZC5sb2dNaXNzZWRDYWxsID0gdG9BcGlCb29sZWFuU3RyaW5nKHByZXBhcmVkLmxvZ01pc3NlZENhbGwpIGFzIHVua25vd24gYXMgTGluZUFzc29jaWF0aW9uWydsb2dNaXNzZWRDYWxsJ107XG4gICAgcHJlcGFyZWQuY2FsbEluZm9EaXNwbGF5ID0gbm9ybWFsaXplQ2FsbEluZm9EaXNwbGF5KHByZXBhcmVkLmNhbGxJbmZvRGlzcGxheSkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ2NhbGxJbmZvRGlzcGxheSddO1xuICAgIHByZXBhcmVkLmRpZFBhdHRlcm4gPSBub3JtYWxpemVEaWRQYXR0ZXJuKFxuICAgICAgICBwcmVwYXJlZC5kaWRQYXR0ZXJuLFxuICAgICAgICBsaW5lLFxuICAgICAgICBwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXI/LmRpcmVjdG9yeU51bWJlclxuICAgICkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ2RpZFBhdHRlcm4nXTtcbiAgICBwcmVwYXJlZC52aXN1YWxNV0kgPSB0b0FwaVN0cmluZ1ZhbHVlKHByZXBhcmVkLnZpc3VhbE1XSSkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ3Zpc3VhbE1XSSddO1xuICAgIHByZXBhcmVkLmF1ZGlibGVNV0kgPSB0b0FwaVN0cmluZ1ZhbHVlKHByZXBhcmVkLmF1ZGlibGVNV0kpIGFzIHVua25vd24gYXMgTGluZUFzc29jaWF0aW9uWydhdWRpYmxlTVdJJ107XG4gICAgcHJlcGFyZWQuYXNzb2NpYXRlZCA9IHByZXBhcmVkLmFzc29jaWF0ZWQgPz8gdHJ1ZTtcblxuICAgIHJldHVybiBwcmVwYXJlZDtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUxpbmUobGluZTogTGluZUludGVyZmFjZSk6IExpbmVJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHByZXBhcmVkID0gZGVlcENsb25lKGxpbmUpO1xuICAgIHByZXBhcmVkLmVudGl0eUNoYW5nZVR5cGUgPSBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlIHx8IEVOVElUWV9DSEFOR0VfVFlQRS5BRERFRDtcbiAgICBpZiAocHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyKSB7XG4gICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IG5vcm1hbGl6ZURpcmVjdG9yeU51bWJlcihwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXIpO1xuICAgIH1cbiAgICByZXR1cm4gcHJlcGFyZWQ7XG59XG5cbmZ1bmN0aW9uIHN5bmNEZXZpY2VMaW5lQXNzb2NpYXRpb25zKGRldmljZTogRGV2aWNlSW50ZXJmYWNlLCBsaW5lczogTGluZUludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMgPSAoZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMgfHwgW10pLm1hcCgoYXNzb2NpYXRpb24sIGluZGV4KSA9PlxuICAgICAgICBwcmVwYXJlTGluZUFzc29jaWF0aW9uKGFzc29jaWF0aW9uLCBsaW5lc1tpbmRleF0pXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZURldmljZUZvclNhdmUoXG4gICAgZGV2aWNlOiBEZXZpY2VJbnRlcmZhY2UsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgbGluZXM6IExpbmVJbnRlcmZhY2VbXSxcbiAgICBkZXZpY2VOYW1lOiBzdHJpbmdcbik6IERldmljZUludGVyZmFjZSB7XG4gICAgY29uc3QgcHJlcGFyZWQgPSBkZWVwQ2xvbmUoZGV2aWNlKTtcbiAgICBjb25zdCByZXNvbHZlZE5hbWUgPSBkZXZpY2VOYW1lLnRyaW0oKTtcblxuICAgIHByZXBhcmVkLm5hbWUgPSByZXNvbHZlZE5hbWU7XG4gICAgcHJlcGFyZWQubmV3TmFtZSA9IHJlc29sdmVkTmFtZTtcbiAgICBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlID0gcHJlcGFyZWQuZW50aXR5Q2hhbmdlVHlwZSB8fCBFTlRJVFlfQ0hBTkdFX1RZUEUuQURERUQ7XG4gICAgcHJlcGFyZWQuY3JlYXRlRGV2aWNlTW9kZSA9IHByZXBhcmVkLmNyZWF0ZURldmljZU1vZGUgPz8gZmFsc2U7XG5cbiAgICBpZiAocHJlcGFyZWQuZXh0cmFPcHRpb25zKSB7XG4gICAgICAgIHByZXBhcmVkLmV4dHJhT3B0aW9ucy5tb2JpbGl0eVVzZXJJZCA9IHVzZXJJZDtcbiAgICB9XG5cbiAgICBzeW5jRGV2aWNlTGluZUFzc29jaWF0aW9ucyhwcmVwYXJlZCwgbGluZXMpO1xuICAgIHJldHVybiBwcmVwYXJlZDtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVByaW1hcnlMaW5lUmVmZXJlbmNlKHVzZXI6IEVuZFVzZXJJbnRlcmZhY2UpOiB1bmtub3duIHwgbnVsbCB7XG4gICAgY29uc3QgZmlyc3REZXZpY2VBc3NvY2lhdGlvbiA9IHVzZXIuZGV2aWNlcz8uWzBdPy5saW5lQXNzb2NpYXRpb25zPy5bMF0/LmRpcmVjdG9yeU51bWJlcjtcbiAgICBpZiAoZmlyc3REZXZpY2VBc3NvY2lhdGlvbikge1xuICAgICAgICByZXR1cm4gZmlyc3REZXZpY2VBc3NvY2lhdGlvbjtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RMaW5lRG4gPSB1c2VyLmxpbmVzPy5bMF0/LmRpcmVjdG9yeU51bWJlcjtcbiAgICByZXR1cm4gZmlyc3RMaW5lRG4gPz8gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2F2YWJsZUVuZFVzZXIoXG4gICAgZW5kVXNlcjogRW5kVXNlckludGVyZmFjZSxcbiAgICBsaW5lczogTGluZUludGVyZmFjZVtdLFxuICAgIGRldmljZXM6IERldmljZUludGVyZmFjZVtdLFxuICAgIGRldmljZVByb2ZpbGVzOiBEZXZpY2VJbnRlcmZhY2VbXSxcbiAgICBmb3JtOiBVc2VyRGV0YWlsc0Zvcm0sXG4gICAgb3B0aW9uczogQnVpbGRTYXZhYmxlRW5kVXNlck9wdGlvbnMgPSB7fVxuKTogRW5kVXNlckludGVyZmFjZSB7XG4gICAgY29uc3QgdXNlciA9IGRlZXBDbG9uZShlbmRVc2VyKTtcblxuICAgIHVzZXIudXNlcmlkID0gZm9ybS51c2VySWQgfHwgdXNlci51c2VyaWQgfHwgJyc7XG4gICAgdXNlci5maXJzdE5hbWUgPSBmb3JtLmZpcnN0TmFtZSB8fCB1c2VyLmZpcnN0TmFtZSB8fCAnJztcbiAgICB1c2VyLmxhc3ROYW1lID0gZm9ybS5sYXN0TmFtZSB8fCB1c2VyLmxhc3ROYW1lIHx8ICcnO1xuICAgIHVzZXIuZW1haWwgPSBmb3JtLmVtYWlsIHx8IHVzZXIuZW1haWwgfHwgJyc7XG4gICAgdXNlci5jcmVhdGVVc2VyTW9kZSA9IGZhbHNlO1xuXG4gICAgdXNlci5saW5lcyA9IChsaW5lcyB8fCBbXSkubWFwKGxpbmUgPT4gcHJlcGFyZUxpbmUobGluZSkpO1xuICAgIHVzZXIuZGV2aWNlcyA9IChkZXZpY2VzIHx8IFtdKS5tYXAoKGRldmljZSwgaW5kZXgpID0+XG4gICAgICAgIHByZXBhcmVEZXZpY2VGb3JTYXZlKFxuICAgICAgICAgICAgZGV2aWNlLFxuICAgICAgICAgICAgdXNlci51c2VyaWQgfHwgJycsXG4gICAgICAgICAgICB1c2VyLmxpbmVzLFxuICAgICAgICAgICAgb3B0aW9ucy5yZXNvbHZlRGV2aWNlTmFtZT8uKGluZGV4LCBkZXZpY2UpID8/IGRldmljZS5uYW1lID8/IGRldmljZS5uZXdOYW1lID8/ICcnXG4gICAgICAgIClcbiAgICApO1xuICAgIHVzZXIuZGV2aWNlUHJvZmlsZXMgPSAoZGV2aWNlUHJvZmlsZXMgfHwgW10pLm1hcCgocHJvZmlsZSwgaW5kZXgpID0+XG4gICAgICAgIHByZXBhcmVEZXZpY2VGb3JTYXZlKFxuICAgICAgICAgICAgcHJvZmlsZSxcbiAgICAgICAgICAgIHVzZXIudXNlcmlkIHx8ICcnLFxuICAgICAgICAgICAgdXNlci5saW5lcyxcbiAgICAgICAgICAgIG9wdGlvbnMucmVzb2x2ZURldmljZVByb2ZpbGVOYW1lPy4oaW5kZXgsIHByb2ZpbGUpID8/IHByb2ZpbGUubmFtZSA/PyBwcm9maWxlLm5ld05hbWUgPz8gJydcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICB1c2VyLnByaW1hcnlMaW5lUmVmZXJlbmNlID0gcmVzb2x2ZVByaW1hcnlMaW5lUmVmZXJlbmNlKHVzZXIpO1xuXG4gICAgY29uc3Qgc25yID0gdXNlci5zaW5nbGVOdW1iZXJSZWFjaCBhcyB7IHJlbW90ZURlc3RpbmF0aW9uUHJvZmlsZU5hbWU/OiBzdHJpbmcgfCBudWxsIH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIGlmIChzbnIgJiYgIXNuci5yZW1vdGVEZXN0aW5hdGlvblByb2ZpbGVOYW1lKSB7XG4gICAgICAgIHVzZXIuc2luZ2xlTnVtYmVyUmVhY2ggPSBudWxsIGFzIEVuZFVzZXJJbnRlcmZhY2VbJ3NpbmdsZU51bWJlclJlYWNoJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXI7XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export function deviceNameValidator(options) {
|
|
2
|
-
return (control) => {
|
|
3
|
-
const raw = String(control.value ?? '').trim();
|
|
4
|
-
if (!raw || !options.regex?.trim()) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
try {
|
|
8
|
-
const rule = new RegExp(`^(?:${options.regex})$`);
|
|
9
|
-
if (!rule.test(raw)) {
|
|
10
|
-
return {
|
|
11
|
-
deviceName: {
|
|
12
|
-
caption: options.caption || options.regex,
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
return null;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLW5hbWUtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9kZXZpY2UtbmFtZS12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFtQztJQUNuRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSTtZQUNBLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU87b0JBQ0gsVUFBVSxFQUFFO3dCQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLO3FCQUM1QztpQkFDSixDQUFDO2FBQ0w7U0FDSjtRQUFDLE1BQU07WUFDSixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlTmFtZVZhbGlkYXRvck9wdGlvbnMge1xuICAgIHJlZ2V4OiBzdHJpbmc7XG4gICAgY2FwdGlvbj86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXZpY2VOYW1lVmFsaWRhdG9yKG9wdGlvbnM6IERldmljZU5hbWVWYWxpZGF0b3JPcHRpb25zKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSBTdHJpbmcoY29udHJvbC52YWx1ZSA/PyAnJykudHJpbSgpO1xuICAgICAgICBpZiAoIXJhdyB8fCAhb3B0aW9ucy5yZWdleD8udHJpbSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChgXig/OiR7b3B0aW9ucy5yZWdleH0pJGApO1xuICAgICAgICAgICAgaWYgKCFydWxlLnRlc3QocmF3KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGRldmljZU5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRpb246IG9wdGlvbnMuY2FwdGlvbiB8fCBvcHRpb25zLnJlZ2V4LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Strips a leading device-prefix group from `deviceNameRegex`, returning the pattern
|
|
3
|
-
* to validate the name field value (without matPrefix).
|
|
4
|
-
*
|
|
5
|
-
* - `([sS][eE][pP]|BAT)[0-9a-fA-F]{12}` → `[0-9a-fA-F]{12}`
|
|
6
|
-
* - `[a-zA-Z0-9]{1,15}` → `[a-zA-Z0-9]{1,15}` (unchanged)
|
|
7
|
-
*/
|
|
8
|
-
export function parseDeviceNameRegexBody(deviceNameRegex) {
|
|
9
|
-
const fullRegex = deviceNameRegex?.trim() ?? '';
|
|
10
|
-
if (!fullRegex) {
|
|
11
|
-
return '';
|
|
12
|
-
}
|
|
13
|
-
return stripLeadingPrefixGroup(fullRegex);
|
|
14
|
-
}
|
|
15
|
-
function stripLeadingPrefixGroup(regex) {
|
|
16
|
-
const parenMatch = regex.match(/^(\(.+?\))(.+)$/s);
|
|
17
|
-
if (parenMatch?.[2]?.trim()) {
|
|
18
|
-
return parenMatch[2];
|
|
19
|
-
}
|
|
20
|
-
const literalMatch = regex.match(/^([A-Za-z]+)(\[.+\])$/s);
|
|
21
|
-
if (literalMatch?.[2]?.trim()) {
|
|
22
|
-
return literalMatch[2];
|
|
23
|
-
}
|
|
24
|
-
return regex;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZGV2aWNlLW5hbWUtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9wYXJzZS1kZXZpY2UtbmFtZS1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxlQUEwQztJQUMvRSxNQUFNLFNBQVMsR0FBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsT0FBTyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhO0lBQzFDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRCxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pCLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNELElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDM0IsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdHJpcHMgYSBsZWFkaW5nIGRldmljZS1wcmVmaXggZ3JvdXAgZnJvbSBgZGV2aWNlTmFtZVJlZ2V4YCwgcmV0dXJuaW5nIHRoZSBwYXR0ZXJuXG4gKiB0byB2YWxpZGF0ZSB0aGUgbmFtZSBmaWVsZCB2YWx1ZSAod2l0aG91dCBtYXRQcmVmaXgpLlxuICpcbiAqIC0gYChbc1NdW2VFXVtwUF18QkFUKVswLTlhLWZBLUZdezEyfWAg4oaSIGBbMC05YS1mQS1GXXsxMn1gXG4gKiAtIGBbYS16QS1aMC05XXsxLDE1fWAg4oaSIGBbYS16QS1aMC05XXsxLDE1fWAgKHVuY2hhbmdlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGV2aWNlTmFtZVJlZ2V4Qm9keShkZXZpY2VOYW1lUmVnZXg6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZ1bGxSZWdleCA9IGRldmljZU5hbWVSZWdleD8udHJpbSgpID8/ICcnO1xuICAgIGlmICghZnVsbFJlZ2V4KSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAoZnVsbFJlZ2V4KTtcbn1cblxuZnVuY3Rpb24gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyZW5NYXRjaCA9IHJlZ2V4Lm1hdGNoKC9eKFxcKC4rP1xcKSkoLispJC9zKTtcbiAgICBpZiAocGFyZW5NYXRjaD8uWzJdPy50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVuTWF0Y2hbMl07XG4gICAgfVxuXG4gICAgY29uc3QgbGl0ZXJhbE1hdGNoID0gcmVnZXgubWF0Y2goL14oW0EtWmEtel0rKShcXFsuK1xcXSkkL3MpO1xuICAgIGlmIChsaXRlcmFsTWF0Y2g/LlsyXT8udHJpbSgpKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsTWF0Y2hbMl07XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZ2V4O1xufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare enum NotificationType {
|
|
2
|
-
info = "info",
|
|
3
|
-
error = "error",
|
|
4
|
-
success = "success",
|
|
5
|
-
warning = "warning"
|
|
6
|
-
}
|
|
7
|
-
export declare class Notification {
|
|
8
|
-
id?: number;
|
|
9
|
-
type?: NotificationType;
|
|
10
|
-
message?: string;
|
|
11
|
-
ttl: number;
|
|
12
|
-
timerId?: any;
|
|
13
|
-
constructor(data: any);
|
|
14
|
-
isInfo(): boolean;
|
|
15
|
-
isError(): boolean;
|
|
16
|
-
isSuccess(): boolean;
|
|
17
|
-
isWarning(): boolean;
|
|
18
|
-
}
|