common-header-lib 0.0.1
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 -0
- package/assets/.gitkeep +0 -0
- package/assets/i18n/ar.json +83 -0
- package/assets/i18n/de.json +83 -0
- package/assets/i18n/en.json +83 -0
- package/assets/i18n/es.json +83 -0
- package/assets/i18n/fr.json +83 -0
- package/assets/i18n/hi.json +83 -0
- package/assets/i18n/ja.json +83 -0
- package/assets/i18n/ko.json +83 -0
- package/assets/images/APP019.svg +6 -0
- package/assets/images/APP020.svg +4 -0
- package/assets/images/APP021.svg +6 -0
- package/assets/images/APP022.svg +6 -0
- package/assets/images/APP023.svg +11 -0
- package/assets/images/APP024.svg +9 -0
- package/assets/images/APP025.svg +8 -0
- package/assets/images/APP026.svg +4 -0
- package/assets/images/APP027.svg +5 -0
- package/assets/images/APP028.svg +6 -0
- package/assets/images/APP029.svg +12 -0
- package/assets/images/APP030.svg +20 -0
- package/assets/images/APP031.svg +14 -0
- package/assets/images/APP032.svg +17 -0
- package/assets/images/Frame.svg +104 -0
- package/assets/images/apps-1.svg +22 -0
- package/assets/images/bell-icon.svg +3 -0
- package/assets/images/check_circle.svg +3 -0
- package/assets/images/close copy.svg +5 -0
- package/assets/images/close.svg +5 -0
- package/assets/images/copy-img.svg +3 -0
- package/assets/images/cross-search.svg +4 -0
- package/assets/images/domain_img.svg +3 -0
- package/assets/images/east.svg +3 -0
- package/assets/images/error.svg +3 -0
- package/assets/images/filepath.svg +8 -0
- package/assets/images/flag1.svg +3 -0
- package/assets/images/gc-mail.svg +3 -0
- package/assets/images/grey-arrow.svg +3 -0
- package/assets/images/info.svg +3 -0
- package/assets/images/local.svg +3 -0
- package/assets/images/lock-pass.svg +3 -0
- package/assets/images/lock1.svg +3 -0
- package/assets/images/login-bg/default_bg.svg +448 -0
- package/assets/images/login-bg/visibility.svg +3 -0
- package/assets/images/login-bg/visibility_off.svg +3 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/logout.svg +3 -0
- package/assets/images/mail-icon.svg +3 -0
- package/assets/images/marker-pin.svg +4 -0
- package/assets/images/noti_ticket.svg +3 -0
- package/assets/images/pass-img.svg +3 -0
- package/assets/images/refresh-1.svg +3 -0
- package/assets/images/schedule.svg +1 -0
- package/assets/images/search-filter.svg +3 -0
- package/assets/images/search-icon.svg +3 -0
- package/assets/images/settings.svg +3 -0
- package/assets/images/successful.svg +10 -0
- package/assets/images/user-name.svg +3 -0
- package/assets/scss/_sidebar.scss +267 -0
- package/assets/scss/styles.scss +577 -0
- package/esm2020/common-header-lib.mjs +5 -0
- package/esm2020/lib/Validators/noSpaceAllowed.mjs +16 -0
- package/esm2020/lib/common-header-lib.component.mjs +612 -0
- package/esm2020/lib/common-header-lib.module.mjs +208 -0
- package/esm2020/lib/common-header-lib.service.mjs +200 -0
- package/esm2020/lib/components/confirm-dialog/confirm-dialog.component.mjs +49 -0
- package/esm2020/lib/components/general-configuration/general-configuration.component.mjs +402 -0
- package/esm2020/lib/components/general-configuration/landingpg-config/landingpg-config.component.mjs +124 -0
- package/esm2020/lib/components/general-configuration/timezone-configuration/timezone-configuration.component.mjs +138 -0
- package/esm2020/lib/components/grid-pagination/grid-pagination.component.mjs +39 -0
- package/esm2020/lib/components/ng-translation/ng-translation.component.mjs +65 -0
- package/esm2020/lib/components/no-service-my-access-pg/no-service-my-access-pg.component.mjs +19 -0
- package/esm2020/lib/components/notification-sidebar/notification-sidebar.component.mjs +40 -0
- package/esm2020/lib/components/side-popup/side-popup.component.mjs +34 -0
- package/esm2020/lib/components/user-mailbox/user-mailbox.component.mjs +173 -0
- package/esm2020/lib/components/user-sidebar/user-sidebar.component.mjs +279 -0
- package/esm2020/lib/components/viewpassword-popup/viewpassword-popup.component.mjs +196 -0
- package/esm2020/lib/model/data_model.mjs +217 -0
- package/esm2020/lib/pipes/custome-dateformat.pipe.mjs +27 -0
- package/esm2020/lib/pipes/date-diff.pipe.mjs +56 -0
- package/esm2020/lib/pipes/slice-to-two.pipe.mjs +34 -0
- package/esm2020/lib/services/EncrypDecryp_RSA.service.mjs +100 -0
- package/esm2020/lib/services/async-passwordcheck.service.mjs +72 -0
- package/esm2020/lib/services/cookie-storage-manager.service.mjs +78 -0
- package/esm2020/lib/services/encrpdata.service.mjs +55 -0
- package/esm2020/lib/services/encrydecrydata.service.mjs +207 -0
- package/esm2020/lib/services/event.service.mjs +133 -0
- package/esm2020/lib/services/http/http-common.service.mjs +216 -0
- package/esm2020/lib/services/http/http-general-config.service.mjs +84 -0
- package/esm2020/lib/services/rest-login-form.service.mjs +296 -0
- package/esm2020/lib/services/rest-signalr.service.mjs +100 -0
- package/esm2020/lib/services/storage.service.mjs +33 -0
- package/esm2020/lib/services/toast-msg.service.mjs +95 -0
- package/esm2020/lib/services/vapt-validation.service.mjs +31 -0
- package/esm2020/public-api.mjs +13 -0
- package/fesm2015/common-header-lib.mjs +4165 -0
- package/fesm2015/common-header-lib.mjs.map +1 -0
- package/fesm2020/common-header-lib.mjs +4146 -0
- package/fesm2020/common-header-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/Validators/noSpaceAllowed.d.ts +2 -0
- package/lib/common-header-lib.component.d.ts +148 -0
- package/lib/common-header-lib.module.d.ts +43 -0
- package/lib/common-header-lib.service.d.ts +25 -0
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +13 -0
- package/lib/components/general-configuration/general-configuration.component.d.ts +86 -0
- package/lib/components/general-configuration/landingpg-config/landingpg-config.component.d.ts +37 -0
- package/lib/components/general-configuration/timezone-configuration/timezone-configuration.component.d.ts +38 -0
- package/lib/components/grid-pagination/grid-pagination.component.d.ts +20 -0
- package/lib/components/ng-translation/ng-translation.component.d.ts +22 -0
- package/lib/components/no-service-my-access-pg/no-service-my-access-pg.component.d.ts +8 -0
- package/lib/components/notification-sidebar/notification-sidebar.component.d.ts +16 -0
- package/lib/components/side-popup/side-popup.component.d.ts +14 -0
- package/lib/components/user-mailbox/user-mailbox.component.d.ts +40 -0
- package/lib/components/user-sidebar/user-sidebar.component.d.ts +61 -0
- package/lib/components/viewpassword-popup/viewpassword-popup.component.d.ts +47 -0
- package/lib/model/data_model.d.ts +184 -0
- package/lib/pipes/custome-dateformat.pipe.d.ts +8 -0
- package/lib/pipes/date-diff.pipe.d.ts +9 -0
- package/lib/pipes/slice-to-two.pipe.d.ts +7 -0
- package/lib/services/EncrypDecryp_RSA.service.d.ts +15 -0
- package/lib/services/async-passwordcheck.service.d.ts +18 -0
- package/lib/services/cookie-storage-manager.service.d.ts +16 -0
- package/lib/services/encrpdata.service.d.ts +12 -0
- package/lib/services/encrydecrydata.service.d.ts +33 -0
- package/lib/services/event.service.d.ts +30 -0
- package/lib/services/http/http-common.service.d.ts +30 -0
- package/lib/services/http/http-general-config.service.d.ts +15 -0
- package/lib/services/rest-login-form.service.d.ts +39 -0
- package/lib/services/rest-signalr.service.d.ts +23 -0
- package/lib/services/storage.service.d.ts +11 -0
- package/lib/services/toast-msg.service.d.ts +21 -0
- package/lib/services/vapt-validation.service.d.ts +7 -0
- package/package.json +49 -0
- package/public-api.d.ts +8 -0
- package/src/assets/i18n/ar.json +83 -0
- package/src/assets/i18n/de.json +83 -0
- package/src/assets/i18n/en.json +83 -0
- package/src/assets/i18n/es.json +83 -0
- package/src/assets/i18n/fr.json +83 -0
- package/src/assets/i18n/hi.json +83 -0
- package/src/assets/i18n/ja.json +83 -0
- package/src/assets/i18n/ko.json +83 -0
- package/src/assets/images/APP019.svg +6 -0
- package/src/assets/images/APP020.svg +4 -0
- package/src/assets/images/APP021.svg +6 -0
- package/src/assets/images/APP022.svg +6 -0
- package/src/assets/images/APP023.svg +11 -0
- package/src/assets/images/APP024.svg +9 -0
- package/src/assets/images/APP025.svg +8 -0
- package/src/assets/images/APP026.svg +4 -0
- package/src/assets/images/APP027.svg +5 -0
- package/src/assets/images/APP028.svg +6 -0
- package/src/assets/images/APP029.svg +12 -0
- package/src/assets/images/APP030.svg +20 -0
- package/src/assets/images/APP031.svg +14 -0
- package/src/assets/images/APP032.svg +17 -0
- package/src/assets/images/Frame.svg +104 -0
- package/src/assets/images/apps-1.svg +22 -0
- package/src/assets/images/bell-icon.svg +3 -0
- package/src/assets/images/check_circle.svg +3 -0
- package/src/assets/images/close copy.svg +5 -0
- package/src/assets/images/close.svg +5 -0
- package/src/assets/images/copy-img.svg +3 -0
- package/src/assets/images/cross-search.svg +4 -0
- package/src/assets/images/domain_img.svg +3 -0
- package/src/assets/images/east.svg +3 -0
- package/src/assets/images/error.svg +3 -0
- package/src/assets/images/filepath.svg +8 -0
- package/src/assets/images/flag1.svg +3 -0
- package/src/assets/images/gc-mail.svg +3 -0
- package/src/assets/images/grey-arrow.svg +3 -0
- package/src/assets/images/info.svg +3 -0
- package/src/assets/images/local.svg +3 -0
- package/src/assets/images/lock-pass.svg +3 -0
- package/src/assets/images/lock1.svg +3 -0
- package/src/assets/images/login-bg/default_bg.svg +448 -0
- package/src/assets/images/login-bg/visibility.svg +3 -0
- package/src/assets/images/login-bg/visibility_off.svg +3 -0
- package/src/assets/images/logo.png +0 -0
- package/src/assets/images/logout.svg +3 -0
- package/src/assets/images/mail-icon.svg +3 -0
- package/src/assets/images/marker-pin.svg +4 -0
- package/src/assets/images/noti_ticket.svg +3 -0
- package/src/assets/images/pass-img.svg +3 -0
- package/src/assets/images/refresh-1.svg +3 -0
- package/src/assets/images/schedule.svg +1 -0
- package/src/assets/images/search-filter.svg +3 -0
- package/src/assets/images/search-icon.svg +3 -0
- package/src/assets/images/settings.svg +3 -0
- package/src/assets/images/successful.svg +10 -0
- package/src/assets/images/user-name.svg +3 -0
- package/src/assets/scss/_sidebar.scss +267 -0
- package/src/assets/scss/styles.scss +577 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "primeng/dialog";
|
|
4
|
+
export class SidePopupComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.closeDialogBox = new EventEmitter();
|
|
7
|
+
this.visible = false;
|
|
8
|
+
this.position = 'right';
|
|
9
|
+
this.header = 'Details';
|
|
10
|
+
}
|
|
11
|
+
//Method: Close the Side Panel
|
|
12
|
+
getcloseDialogBox() {
|
|
13
|
+
this.visible = false;
|
|
14
|
+
this.closeDialogBox.emit(true);
|
|
15
|
+
}
|
|
16
|
+
ngOnDestroy() {
|
|
17
|
+
this.visible = false;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
SidePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SidePopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
SidePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SidePopupComponent, selector: "app-side-popup", inputs: { visible: "visible", position: "position", header: "header" }, outputs: { closeDialogBox: "closeDialogBox" }, ngImport: i0, template: "<p-dialog [header]=\"header\" (onHide)=\"getcloseDialogBox()\" [modal]=\"true\" [draggable]=\"false\" [(visible)]=\"visible\"\r\n [position]=\"position\" [style]=\"{\r\n width: '40vw',\r\n minHeight: '100vh',\r\n right: '-15px',\r\n position: 'absolute'\r\n }\">\r\n <!-- Dynamically Change the Content of Sidebar -->\r\n <ng-content></ng-content>\r\n</p-dialog>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SidePopupComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'app-side-popup', template: "<p-dialog [header]=\"header\" (onHide)=\"getcloseDialogBox()\" [modal]=\"true\" [draggable]=\"false\" [(visible)]=\"visible\"\r\n [position]=\"position\" [style]=\"{\r\n width: '40vw',\r\n minHeight: '100vh',\r\n right: '-15px',\r\n position: 'absolute'\r\n }\">\r\n <!-- Dynamically Change the Content of Sidebar -->\r\n <ng-content></ng-content>\r\n</p-dialog>\r\n" }]
|
|
25
|
+
}], ctorParameters: function () { return []; }, propDecorators: { closeDialogBox: [{
|
|
26
|
+
type: Output
|
|
27
|
+
}], visible: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], position: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], header: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1wb3B1cC9zaWRlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tcG9uZW50cy9zaWRlLXBvcHVwL3NpZGUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVXZFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0I7UUFMVSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVcsT0FBTyxDQUFDO1FBQzNCLFdBQU0sR0FBVyxTQUFTLENBQUM7SUFFckIsQ0FBQztJQUVoQiw4QkFBOEI7SUFDOUIsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDOzsrR0FqQlUsa0JBQWtCO21HQUFsQixrQkFBa0IsNktDVi9CLGtZQVVBOzJGREFhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7MEVBTWhCLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNpZGUtcG9wdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlLXBvcHVwLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlUG9wdXBDb21wb25lbnQge1xyXG4gIGRhdGE6IGFueTtcclxuICBAT3V0cHV0KCkgY2xvc2VEaWFsb2dCb3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiBzdHJpbmcgPSAncmlnaHQnO1xyXG4gIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nID0gJ0RldGFpbHMnO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIC8vTWV0aG9kOiBDbG9zZSB0aGUgU2lkZSBQYW5lbFxyXG4gIGdldGNsb3NlRGlhbG9nQm94KCkge1xyXG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlRGlhbG9nQm94LmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8cC1kaWFsb2cgW2hlYWRlcl09XCJoZWFkZXJcIiAob25IaWRlKT1cImdldGNsb3NlRGlhbG9nQm94KClcIiBbbW9kYWxdPVwidHJ1ZVwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbKHZpc2libGUpXT1cInZpc2libGVcIlxyXG4gIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiIFtzdHlsZV09XCJ7XHJcbiAgICB3aWR0aDogJzQwdncnLFxyXG4gICAgbWluSGVpZ2h0OiAnMTAwdmgnLFxyXG4gICAgcmlnaHQ6ICctMTVweCcsXHJcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xyXG4gIH1cIj5cclxuICA8IS0tIER5bmFtaWNhbGx5IENoYW5nZSB0aGUgQ29udGVudCBvZiBTaWRlYmFyICAgLS0+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L3AtZGlhbG9nPlxyXG4iXX0=
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import { DialogService } from 'primeng/dynamicdialog';
|
|
4
|
+
import { finalize, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
// import { RESTLoginFormService } from 'src/app/shared/Services/REST-Services/rest-login-form.service';
|
|
7
|
+
// import { RESTMyaccessService } from 'src/app/shared/Services/REST-Services/rest-myaccess.service';
|
|
8
|
+
// import { EventService } from 'src/app/shared/Services/event.service';
|
|
9
|
+
import { errorMsg } from '../../model/data_model';
|
|
10
|
+
import { CommonHeaderLibService } from '../../common-header-lib.service';
|
|
11
|
+
import { HttpCommonService } from '../../services/http/http-common.service';
|
|
12
|
+
import { ViewpasswordPopupComponent } from '../viewpassword-popup/viewpassword-popup.component';
|
|
13
|
+
import { EventService } from '../../services/event.service';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
16
|
+
import * as i2 from "../../services/event.service";
|
|
17
|
+
import * as i3 from "@ngx-translate/core";
|
|
18
|
+
import * as i4 from "../../common-header-lib.service";
|
|
19
|
+
import * as i5 from "../../services/http/http-common.service";
|
|
20
|
+
import * as i6 from "@angular/common";
|
|
21
|
+
import * as i7 from "primeng/api";
|
|
22
|
+
import * as i8 from "primeng/skeleton";
|
|
23
|
+
import * as i9 from "primeng/table";
|
|
24
|
+
import * as i10 from "../no-service-my-access-pg/no-service-my-access-pg.component";
|
|
25
|
+
import * as i11 from "../grid-pagination/grid-pagination.component";
|
|
26
|
+
import * as i12 from "../../pipes/custome-dateformat.pipe";
|
|
27
|
+
export class UserMailboxComponent {
|
|
28
|
+
constructor(dialogService,
|
|
29
|
+
// private readonly _restMyaccessService: RESTMyaccessService,
|
|
30
|
+
// private readonly loginService: RESTLoginFormService,
|
|
31
|
+
_eventService, translate, libService, httpCommonService) {
|
|
32
|
+
this.dialogService = dialogService;
|
|
33
|
+
this._eventService = _eventService;
|
|
34
|
+
this.translate = translate;
|
|
35
|
+
this.libService = libService;
|
|
36
|
+
this.httpCommonService = httpCommonService;
|
|
37
|
+
this.closeMailDialogBox = new EventEmitter();
|
|
38
|
+
this.ListOfUserAssingedMails = [];
|
|
39
|
+
// private userId: string;
|
|
40
|
+
this.unsubscribeAPIEventListenerData = new Subject();
|
|
41
|
+
this.showVaultBtn = false;
|
|
42
|
+
this.SSHFileName = 'ppk';
|
|
43
|
+
this.hasUserAssignedMails = true;
|
|
44
|
+
//Pagintion
|
|
45
|
+
this.currentPgNo = 1;
|
|
46
|
+
this.perPgRows = 10;
|
|
47
|
+
this.totalCount = 0;
|
|
48
|
+
this.NoServiceMsgText = '';
|
|
49
|
+
this.isContentLoaded = false;
|
|
50
|
+
this.repeatLoader = Array.from({ length: this.perPgRows }).map((_, i) => `Item #${i}`);
|
|
51
|
+
this.apiURL = '';
|
|
52
|
+
}
|
|
53
|
+
ngOnInit() {
|
|
54
|
+
this.onLoadMethods();
|
|
55
|
+
}
|
|
56
|
+
/* Require Methods on PageLoad */
|
|
57
|
+
onLoadMethods() {
|
|
58
|
+
this.getUserEmails();
|
|
59
|
+
this.getglobalConfigDetails();
|
|
60
|
+
this._eventService.listenerUserEmail().subscribe((data) => {
|
|
61
|
+
if (data && data['component'] === 'view-pwd') {
|
|
62
|
+
if (data['refreshGrid']) {
|
|
63
|
+
this.ref?.close();
|
|
64
|
+
// this.getUserEmails();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
openViewPasswordPanel(mailDetails) {
|
|
70
|
+
this.ref = this.dialogService.open(ViewpasswordPopupComponent, {
|
|
71
|
+
header: mailDetails.sshkey_isenabled
|
|
72
|
+
? this.translate.instant('Generic_lib.SSHKey')
|
|
73
|
+
: this.translate.instant('Generic_lib.Password'),
|
|
74
|
+
styleClass: 'view-pass-details',
|
|
75
|
+
data: {
|
|
76
|
+
payload: mailDetails,
|
|
77
|
+
btnStatus: this.showVaultBtn,
|
|
78
|
+
SSHfileType: this.SSHFileName,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
// Handle the close event here
|
|
82
|
+
this.ref.onClose.subscribe((result) => {
|
|
83
|
+
this.getUserEmails();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/*Action : Fetching user Emails from a API */
|
|
87
|
+
getUserEmails() {
|
|
88
|
+
console.log('inside mailbox api ');
|
|
89
|
+
this.isContentLoaded = false;
|
|
90
|
+
let payload = {
|
|
91
|
+
// smi_user_id: this.userId,
|
|
92
|
+
pageSize: this.perPgRows,
|
|
93
|
+
pageNumber: this.currentPgNo,
|
|
94
|
+
};
|
|
95
|
+
this.httpCommonService
|
|
96
|
+
.getUserAssignedMails(payload)
|
|
97
|
+
.pipe(takeUntil(this.unsubscribeAPIEventListenerData), finalize(() => {
|
|
98
|
+
this.isContentLoaded = true;
|
|
99
|
+
}))
|
|
100
|
+
.subscribe((response) => {
|
|
101
|
+
this.ListOfUserAssingedMails = response;
|
|
102
|
+
if (this.ListOfUserAssingedMails.length > 0) {
|
|
103
|
+
this.hasUserAssignedMails = true;
|
|
104
|
+
this.getTotalNoOfRecords();
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.hasUserAssignedMails = false;
|
|
108
|
+
this.NoServiceMsgText = errorMsg.NOMAILFOUND;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//Note: Get Total No of Records for Pagination
|
|
113
|
+
getTotalNoOfRecords() {
|
|
114
|
+
if (this.ListOfUserAssingedMails.length > 0 &&
|
|
115
|
+
this.ListOfUserAssingedMails[0]['totalRecords'] != null) {
|
|
116
|
+
this.totalCount = this.ListOfUserAssingedMails[0]['totalRecords'];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/*Method : POST
|
|
120
|
+
Action : Get configuration ID based on to show hide Vault Btn*/
|
|
121
|
+
getglobalConfigDetails() {
|
|
122
|
+
this.httpCommonService
|
|
123
|
+
.getglobalConfigDetails('1', [247, 338])
|
|
124
|
+
.pipe(takeUntil(this.unsubscribeAPIEventListenerData))
|
|
125
|
+
.subscribe((data) => {
|
|
126
|
+
if (data && data.length > 0) {
|
|
127
|
+
data.forEach((element) => {
|
|
128
|
+
//For Vault Btn
|
|
129
|
+
if (element && element['id'] === 247 && element['value'] === '0') {
|
|
130
|
+
this.showVaultBtn = false;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.showVaultBtn = true;
|
|
134
|
+
}
|
|
135
|
+
//For Vault Btn
|
|
136
|
+
if (element && element['id'] === 338 && element['value'] === '1') {
|
|
137
|
+
this.SSHFileName = 'pem';
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
this.SSHFileName = 'ppk';
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
//Method: Fetch User Assigned Email based on PageNo
|
|
147
|
+
updateDataOnPageChange(pageDetails) {
|
|
148
|
+
this.currentPgNo = pageDetails['currentPgNo'];
|
|
149
|
+
this.perPgRows = pageDetails['perPgRows'];
|
|
150
|
+
console.log('currentPgNo', this.currentPgNo);
|
|
151
|
+
console.log('perPgRows', this.perPgRows);
|
|
152
|
+
this.getUserEmails();
|
|
153
|
+
}
|
|
154
|
+
closeMailBox() {
|
|
155
|
+
console.log('click');
|
|
156
|
+
this.closeMailDialogBox.emit();
|
|
157
|
+
}
|
|
158
|
+
ngOnDestroy() {
|
|
159
|
+
this.unsubscribeAPIEventListenerData.next(true);
|
|
160
|
+
this.unsubscribeAPIEventListenerData.complete();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
UserMailboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserMailboxComponent, deps: [{ token: i1.DialogService }, { token: i2.EventService }, { token: i3.TranslateService }, { token: i4.CommonHeaderLibService }, { token: i5.HttpCommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
+
UserMailboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UserMailboxComponent, selector: "app-user-mailbox", inputs: { apiURL: "apiURL" }, outputs: { closeMailDialogBox: "closeMailDialogBox" }, providers: [DialogService], ngImport: i0, template: "<div class=\"mail-content\">\r\n <div\r\n class=\"box-title my-3 d-flex justify-content-between align-items-center w-100\"\r\n >\r\n <div>\r\n {{ \"Generic_lib.MailBox\" | translate }}\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"common-bn tertiary-btn ms-auto\"\r\n (click)=\"closeMailBox()\"\r\n >\r\n <img\r\n src=\"assets/common-header-lib/images/close.svg\"\r\n class=\"imgs\"\r\n alt=\"close icon\"\r\n title=\"Close\"\r\n loading=\"lazy\"\r\n />\r\n </button>\r\n </div>\r\n\r\n <div class=\"mail-table\">\r\n <ng-container *ngIf=\"isContentLoaded && hasUserAssignedMails\">\r\n <p-table\r\n [value]=\"ListOfUserAssingedMails\"\r\n selectionMode=\"multiple\"\r\n dataKey=\"code\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.From\" | translate }}\r\n </th>\r\n\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.Subject\" | translate }}\r\n </th>\r\n\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.ViewFrom\" | translate }}\r\n </th>\r\n\r\n <th scope=\"col\"></th>\r\n\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.Action\" | translate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-userMail>\r\n <tr [ngClass]=\"{ markasRead: userMail.smi_sms_id != 1 }\">\r\n <td class=\"form-colm\">{{ userMail.smi_From_Details }}</td>\r\n <td>\r\n <div class=\"subject-colm\" title=\"{{ userMail.smi_MailSubject }}\">\r\n {{ userMail.smi_MailSubject }}\r\n </div>\r\n </td>\r\n <!-- <td class=\"view-colm\">{{userMail.smi_Received_On}}</td> -->\r\n <td class=\"view-colm\">\r\n {{ userMail.smi_Received_On | customDateFormat }}\r\n </td>\r\n <td>\r\n <div class=\"icon-colm\">\r\n <div>\r\n <img\r\n src=\"assets/common-header-lib/images/mail-icon.svg\"\r\n alt=\"Icon\"\r\n />\r\n </div>\r\n <div>\r\n <img\r\n src=\"assets/common-header-lib/images/flag1.svg\"\r\n alt=\"Icon\"\r\n />\r\n </div>\r\n <div>\r\n <img\r\n src=\"assets/common-header-lib/images/lock1.svg\"\r\n alt=\"Icon\"\r\n class=\"\"\r\n />\r\n </div>\r\n </div>\r\n </td>\r\n <td class=\"action-colm\">\r\n <button\r\n [disabled]=\"userMail.password_status === 'Close'\"\r\n (click)=\"openViewPasswordPanel(userMail)\"\r\n class=\"view-label\"\r\n >\r\n {{ \"Generic_lib.ViewPassword\" | translate }}\r\n </button>\r\n </td>\r\n </tr></ng-template\r\n >\r\n </p-table>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isContentLoaded\">\r\n <p-table\r\n [value]=\"repeatLoader\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th scope=\"col\">{{ \"Generic_lib.From\" | translate }}</th>\r\n <th scope=\"col\">{{ \"Generic_lib.Subject\" | translate }}</th>\r\n <th scope=\"col\">{{ \"Generic_lib.ViewFrom\" | translate }}</th>\r\n <th scope=\"col\"></th>\r\n <th scope=\"col\">{{ \"Generic_lib.Action\" | translate }}</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-data>\r\n <tr>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n <!-- When There is No Data Present -->\r\n <ng-container *ngIf=\"!hasUserAssignedMails\">\r\n <app-no-service-my-access-pg\r\n [heading]=\"NoServiceMsgText\"\r\n ></app-no-service-my-access-pg>\r\n </ng-container>\r\n </div>\r\n <!-- ---Pagination -->\r\n <div class=\"mail-pagination\">\r\n <app-grid-pagination\r\n [totalRecords]=\"totalCount\"\r\n (onPgChange)=\"updateDataOnPageChange($event)\"\r\n ></app-grid-pagination>\r\n </div>\r\n</div>\r\n", styles: [".mail-content{padding:0 25px}.mail-content .mail-body{background-color:#000}.mail-content .box-title{color:var(--primary-text);font-size:20px;line-height:30px;font-weight:600}.mail-content .view-label{border:none;color:var(--primary-color);font-size:13px!important;font-weight:600;cursor:pointer;padding-right:25px}.mail-content .icon-trending{position:relative;left:5px;cursor:pointer}.mail-content .disable-click{pointer-events:none}.mail-content .disable-click:hover,.mail-content .disable-click:focus{cursor:not-allowed}.subject-colm{text-overflow:ellipsis;overflow:hidden;width:500px}.markasRead{background-color:#cce5ff!important;border-left:2px solid #3b82f6!important;color:#676879!important;border-bottom:1px solid #dee2e6!important}.icon-colm div{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;vertical-align:middle;margin-right:4px;cursor:pointer}.icon-colm div img{width:16px;height:16px}.icon-colm div:hover{background-color:#fff}.icon-colm div:hover img{filter:invert(0%) sepia(4%) saturate(0%) hue-rotate(324deg) brightness(55%) contrast(105%)}.view-label{background:url(../assets/common-header-lib/images/east.svg) no-repeat 99% 5px}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i8.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i9.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "component", type: i10.NoServiceMyAccessPgComponent, selector: "app-no-service-my-access-pg", inputs: ["heading", "subHeading"] }, { kind: "component", type: i11.GridPaginationComponent, selector: "app-grid-pagination", inputs: ["currentPgNo", "rows", "totalRecords"], outputs: ["onPgChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i12.customDateFormatPipe, name: "customDateFormat" }] });
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserMailboxComponent, decorators: [{
|
|
166
|
+
type: Component,
|
|
167
|
+
args: [{ selector: 'app-user-mailbox', providers: [DialogService], template: "<div class=\"mail-content\">\r\n <div\r\n class=\"box-title my-3 d-flex justify-content-between align-items-center w-100\"\r\n >\r\n <div>\r\n {{ \"Generic_lib.MailBox\" | translate }}\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"common-bn tertiary-btn ms-auto\"\r\n (click)=\"closeMailBox()\"\r\n >\r\n <img\r\n src=\"assets/common-header-lib/images/close.svg\"\r\n class=\"imgs\"\r\n alt=\"close icon\"\r\n title=\"Close\"\r\n loading=\"lazy\"\r\n />\r\n </button>\r\n </div>\r\n\r\n <div class=\"mail-table\">\r\n <ng-container *ngIf=\"isContentLoaded && hasUserAssignedMails\">\r\n <p-table\r\n [value]=\"ListOfUserAssingedMails\"\r\n selectionMode=\"multiple\"\r\n dataKey=\"code\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.From\" | translate }}\r\n </th>\r\n\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.Subject\" | translate }}\r\n </th>\r\n\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.ViewFrom\" | translate }}\r\n </th>\r\n\r\n <th scope=\"col\"></th>\r\n\r\n <th scope=\"col\">\r\n {{ \"Generic_lib.Action\" | translate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-userMail>\r\n <tr [ngClass]=\"{ markasRead: userMail.smi_sms_id != 1 }\">\r\n <td class=\"form-colm\">{{ userMail.smi_From_Details }}</td>\r\n <td>\r\n <div class=\"subject-colm\" title=\"{{ userMail.smi_MailSubject }}\">\r\n {{ userMail.smi_MailSubject }}\r\n </div>\r\n </td>\r\n <!-- <td class=\"view-colm\">{{userMail.smi_Received_On}}</td> -->\r\n <td class=\"view-colm\">\r\n {{ userMail.smi_Received_On | customDateFormat }}\r\n </td>\r\n <td>\r\n <div class=\"icon-colm\">\r\n <div>\r\n <img\r\n src=\"assets/common-header-lib/images/mail-icon.svg\"\r\n alt=\"Icon\"\r\n />\r\n </div>\r\n <div>\r\n <img\r\n src=\"assets/common-header-lib/images/flag1.svg\"\r\n alt=\"Icon\"\r\n />\r\n </div>\r\n <div>\r\n <img\r\n src=\"assets/common-header-lib/images/lock1.svg\"\r\n alt=\"Icon\"\r\n class=\"\"\r\n />\r\n </div>\r\n </div>\r\n </td>\r\n <td class=\"action-colm\">\r\n <button\r\n [disabled]=\"userMail.password_status === 'Close'\"\r\n (click)=\"openViewPasswordPanel(userMail)\"\r\n class=\"view-label\"\r\n >\r\n {{ \"Generic_lib.ViewPassword\" | translate }}\r\n </button>\r\n </td>\r\n </tr></ng-template\r\n >\r\n </p-table>\r\n </ng-container>\r\n <ng-container *ngIf=\"!isContentLoaded\">\r\n <p-table\r\n [value]=\"repeatLoader\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th scope=\"col\">{{ \"Generic_lib.From\" | translate }}</th>\r\n <th scope=\"col\">{{ \"Generic_lib.Subject\" | translate }}</th>\r\n <th scope=\"col\">{{ \"Generic_lib.ViewFrom\" | translate }}</th>\r\n <th scope=\"col\"></th>\r\n <th scope=\"col\">{{ \"Generic_lib.Action\" | translate }}</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-data>\r\n <tr>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n <td><p-skeleton height=\"1rem\" width=\"100%\"></p-skeleton></td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n <!-- When There is No Data Present -->\r\n <ng-container *ngIf=\"!hasUserAssignedMails\">\r\n <app-no-service-my-access-pg\r\n [heading]=\"NoServiceMsgText\"\r\n ></app-no-service-my-access-pg>\r\n </ng-container>\r\n </div>\r\n <!-- ---Pagination -->\r\n <div class=\"mail-pagination\">\r\n <app-grid-pagination\r\n [totalRecords]=\"totalCount\"\r\n (onPgChange)=\"updateDataOnPageChange($event)\"\r\n ></app-grid-pagination>\r\n </div>\r\n</div>\r\n", styles: [".mail-content{padding:0 25px}.mail-content .mail-body{background-color:#000}.mail-content .box-title{color:var(--primary-text);font-size:20px;line-height:30px;font-weight:600}.mail-content .view-label{border:none;color:var(--primary-color);font-size:13px!important;font-weight:600;cursor:pointer;padding-right:25px}.mail-content .icon-trending{position:relative;left:5px;cursor:pointer}.mail-content .disable-click{pointer-events:none}.mail-content .disable-click:hover,.mail-content .disable-click:focus{cursor:not-allowed}.subject-colm{text-overflow:ellipsis;overflow:hidden;width:500px}.markasRead{background-color:#cce5ff!important;border-left:2px solid #3b82f6!important;color:#676879!important;border-bottom:1px solid #dee2e6!important}.icon-colm div{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;vertical-align:middle;margin-right:4px;cursor:pointer}.icon-colm div img{width:16px;height:16px}.icon-colm div:hover{background-color:#fff}.icon-colm div:hover img{filter:invert(0%) sepia(4%) saturate(0%) hue-rotate(324deg) brightness(55%) contrast(105%)}.view-label{background:url(../assets/common-header-lib/images/east.svg) no-repeat 99% 5px}\n"] }]
|
|
168
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.EventService }, { type: i3.TranslateService }, { type: i4.CommonHeaderLibService }, { type: i5.HttpCommonService }]; }, propDecorators: { closeMailDialogBox: [{
|
|
169
|
+
type: Output
|
|
170
|
+
}], apiURL: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}] } });
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYWlsYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1haWxib3gvdXNlci1tYWlsYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1haWxib3gvdXNlci1tYWlsYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBb0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0Isd0dBQXdHO0FBQ3hHLHFHQUFxRztBQUNyRyx3RUFBd0U7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLG9CQUFvQjtJQW9CL0IsWUFDbUIsYUFBNEI7SUFDN0MsOERBQThEO0lBQzlELHVE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U0FBUyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsRCxDQUFDOztpSEF2SlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsZ0lBRnBCLENBQUMsYUFBYSxDQUFDLDBCQ2xCNUIsaStKQTRJQTsyRkR4SGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixhQUdqQixDQUFDLGFBQWEsQ0FBQzttT0FHaEIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQWtCRSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuLy8gaW1wb3J0IHsgUkVTVExvZ2luRm9ybVNlcnZpY2UgfSBmcm9tICdzcmMvYXBwL3NoYXJlZC9TZXJ2aWNlcy9SRVNULVNlcnZpY2VzL3Jlc3QtbG9naW4tZm9ybS5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgUkVTVE15YWNjZXNzU2VydmljZSB9IGZyb20gJ3NyYy9hcHAvc2hhcmVkL1NlcnZpY2VzL1JFU1QtU2VydmljZXMvcmVzdC1teWFjY2Vzcy5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnc3JjL2FwcC9zaGFyZWQvU2VydmljZXMvZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IGVycm9yTXNnIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YV9tb2RlbCc7XHJcbmltcG9ydCB7IENvbW1vbkhlYWRlckxpYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24taGVhZGVyLWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL2h0dHAtY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3cGFzc3dvcmRQb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXdwYXNzd29yZC1wb3B1cC92aWV3cGFzc3dvcmQtcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11c2VyLW1haWxib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLW1haWxib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItbWFpbGJveC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0RpYWxvZ1NlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlck1haWxib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjbG9zZU1haWxEaWFsb2dCb3g6IGFueSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBwdWJsaWMgTGlzdE9mVXNlckFzc2luZ2VkTWFpbHMgPSBbXTtcclxuICAvLyBwcml2YXRlIHVzZXJJZDogc3RyaW5nO1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBUElFdmVudExpc3RlbmVyRGF0YTogU3ViamVjdDxib29sZWFuPiA9XHJcbiAgICBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgcmVmOiBEeW5hbWljRGlhbG9nUmVmIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzaG93VmF1bHRCdG46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgU1NIRmlsZU5hbWU6ICdwcGsnIHwgJ3BlbScgPSAncHBrJztcclxuICBwdWJsaWMgaGFzVXNlckFzc2lnbmVkTWFpbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vUGFnaW50aW9uXHJcbiAgcHJpdmF0ZSBjdXJyZW50UGdObzogbnVtYmVyID0gMTtcclxuICBwcml2YXRlIHBlclBnUm93czogbnVtYmVyID0gMTA7XHJcbiAgcHVibGljIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIE5vU2VydmljZU1zZ1RleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBpc0NvbnRlbnRMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcmVwZWF0TG9hZGVyID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5wZXJQZ1Jvd3MgfSkubWFwKFxyXG4gICAgKF8sIGkpID0+IGBJdGVtICMke2l9YCxcclxuICApO1xyXG4gIEBJbnB1dCgpIGFwaVVSTDogc3RyaW5nID0gJyc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICAvLyBwcml2YXRlIHJlYWRvbmx5IF9yZXN0TXlhY2Nlc3NTZXJ2aWNlOiBSRVNUTXlhY2Nlc3NTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSByZWFkb25seSBsb2dpblNlcnZpY2U6IFJFU1RMb2dpbkZvcm1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGliU2VydmljZTogQ29tbW9uSGVhZGVyTGliU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cENvbW1vblNlcnZpY2U6IEh0dHBDb21tb25TZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTG9hZE1ldGhvZHMoKTtcclxuICB9XHJcblxyXG4gIC8qIFJlcXVpcmUgTWV0aG9kcyBvbiBQYWdlTG9hZCAqL1xyXG4gIG9uTG9hZE1ldGhvZHMoKSB7XHJcbiAgICB0aGlzLmdldFVzZXJFbWFpbHMoKTtcclxuICAgIHRoaXMuZ2V0Z2xvYmFsQ29uZmlnRGV0YWlscygpO1xyXG5cclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5saXN0ZW5lclVzZXJFbWFpbCgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAmJiBkYXRhWydjb21wb25lbnQnXSA9PT0gJ3ZpZXctcHdkJykge1xyXG4gICAgICAgIGlmIChkYXRhWydyZWZyZXNoR3JpZCddKSB7XHJcbiAgICAgICAgICB0aGlzLnJlZj8uY2xvc2UoKTtcclxuICAgICAgICAgIC8vIHRoaXMuZ2V0VXNlckVtYWlscygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuVmlld1Bhc3N3b3JkUGFuZWwobWFpbERldGFpbHM6IGFueSkge1xyXG4gICAgdGhpcy5yZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihWaWV3cGFzc3dvcmRQb3B1cENvbXBvbmVudCwge1xyXG4gICAgICBoZWFkZXI6IG1haWxEZXRhaWxzLnNzaGtleV9pc2VuYWJsZWRcclxuICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dlbmVyaWNfbGliLlNTSEtleScpXHJcbiAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmljX2xpYi5QYXNzd29yZCcpLFxyXG4gICAgICBzdHlsZUNsYXNzOiAndmlldy1wYXNzLWRldGFpbHMnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcGF5bG9hZDogbWFpbERldGFpbHMsXHJcbiAgICAgICAgYnRuU3RhdHVzOiB0aGlzLnNob3dWYXVsdEJ0bixcclxuICAgICAgICBTU0hmaWxlVHlwZTogdGhpcy5TU0hGaWxlTmFtZSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgLy8gSGFuZGxlIHRoZSBjbG9zZSBldmVudCBoZXJlXHJcbiAgICB0aGlzLnJlZi5vbkNsb3NlLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5nZXRVc2VyRW1haWxzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qQWN0aW9uIDogRmV0Y2hpbmcgdXNlciBFbWFpbHMgZnJvbSBhIEFQSSAqL1xyXG4gIHByaXZhdGUgZ2V0VXNlckVtYWlscygpIHtcclxuICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgbWFpbGJveCBhcGkgJyk7XHJcbiAgICB0aGlzLmlzQ29udGVudExvYWRlZCA9IGZhbHNlO1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIC8vIHNtaV91c2VyX2lkOiB0aGlzLnVzZXJJZCxcclxuICAgICAgcGFnZVNpemU6IHRoaXMucGVyUGdSb3dzLFxyXG4gICAgICBwYWdlTnVtYmVyOiB0aGlzLmN1cnJlbnRQZ05vLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmh0dHBDb21tb25TZXJ2aWNlXHJcbiAgICAgIC5nZXRVc2VyQXNzaWduZWRNYWlscyhwYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFQSUV2ZW50TGlzdGVuZXJEYXRhKSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzQ29udGVudExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuTGlzdE9mVXNlckFzc2luZ2VkTWFpbHMgPSByZXNwb25zZTtcclxuICAgICAgICBpZiAodGhpcy5MaXN0T2ZVc2VyQXNzaW5nZWRNYWlscy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmhhc1VzZXJBc3NpZ25lZE1haWxzID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuZ2V0VG90YWxOb09mUmVjb3JkcygpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmhhc1VzZXJBc3NpZ25lZE1haWxzID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLk5vU2VydmljZU1zZ1RleHQgPSBlcnJvck1zZy5OT01BSUxGT1VORDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Ob3RlOiBHZXQgVG90YWwgTm8gb2YgUmVjb3JkcyBmb3IgUGFnaW5hdGlvblxyXG4gIGdldFRvdGFsTm9PZlJlY29yZHMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuTGlzdE9mVXNlckFzc2luZ2VkTWFpbHMubGVuZ3RoID4gMCAmJlxyXG4gICAgICB0aGlzLkxpc3RPZlVzZXJBc3NpbmdlZE1haWxzWzBdWyd0b3RhbFJlY29yZHMnXSAhPSBudWxsXHJcbiAgICApIHtcclxuICAgICAgdGhpcy50b3RhbENvdW50ID0gdGhpcy5MaXN0T2ZVc2VyQXNzaW5nZWRNYWlsc1swXVsndG90YWxSZWNvcmRzJ107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKk1ldGhvZCA6IFBPU1RcclxuICAgQWN0aW9uIDogR2V0IGNvbmZpZ3VyYXRpb24gSUQgYmFzZWQgb24gdG8gc2hvdyBoaWRlIFZhdWx0IEJ0biovXHJcbiAgZ2V0Z2xvYmFsQ29uZmlnRGV0YWlscygpIHtcclxuICAgIHRoaXMuaHR0cENvbW1vblNlcnZpY2VcclxuICAgICAgLmdldGdsb2JhbENvbmZpZ0RldGFpbHMoJzEnLCBbMjQ3LCAzMzhdKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFQSUV2ZW50TGlzdGVuZXJEYXRhKSlcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBkYXRhLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvL0ZvciBWYXVsdCBCdG5cclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudFsnaWQnXSA9PT0gMjQ3ICYmIGVsZW1lbnRbJ3ZhbHVlJ10gPT09ICcwJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd1ZhdWx0QnRuID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93VmF1bHRCdG4gPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vRm9yIFZhdWx0IEJ0blxyXG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50WydpZCddID09PSAzMzggJiYgZWxlbWVudFsndmFsdWUnXSA9PT0gJzEnKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5TU0hGaWxlTmFtZSA9ICdwZW0nO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuU1NIRmlsZU5hbWUgPSAncHBrJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vTWV0aG9kOiBGZXRjaCBVc2VyIEFzc2lnbmVkIEVtYWlsIGJhc2VkIG9uIFBhZ2VOb1xyXG4gIHVwZGF0ZURhdGFPblBhZ2VDaGFuZ2UocGFnZURldGFpbHM6IGFueSkge1xyXG4gICAgdGhpcy5jdXJyZW50UGdObyA9IHBhZ2VEZXRhaWxzWydjdXJyZW50UGdObyddO1xyXG4gICAgdGhpcy5wZXJQZ1Jvd3MgPSBwYWdlRGV0YWlsc1sncGVyUGdSb3dzJ107XHJcbiAgICBjb25zb2xlLmxvZygnY3VycmVudFBnTm8nLCB0aGlzLmN1cnJlbnRQZ05vKTtcclxuICAgIGNvbnNvbGUubG9nKCdwZXJQZ1Jvd3MnLCB0aGlzLnBlclBnUm93cyk7XHJcbiAgICB0aGlzLmdldFVzZXJFbWFpbHMoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTWFpbEJveCgpIHtcclxuICAgIGNvbnNvbGUubG9nKCdjbGljaycpO1xyXG5cclxuICAgIHRoaXMuY2xvc2VNYWlsRGlhbG9nQm94LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZUFQSUV2ZW50TGlzdGVuZXJEYXRhLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQVBJRXZlbnRMaXN0ZW5lckRhdGEuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1haWwtY29udGVudFwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYm94LXRpdGxlIG15LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMFwiXHJcbiAgPlxyXG4gICAgPGRpdj5cclxuICAgICAge3sgXCJHZW5lcmljX2xpYi5NYWlsQm94XCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJjb21tb24tYm4gdGVydGlhcnktYnRuIG1zLWF1dG9cIlxyXG4gICAgICAoY2xpY2spPVwiY2xvc2VNYWlsQm94KClcIlxyXG4gICAgPlxyXG4gICAgICA8aW1nXHJcbiAgICAgICAgc3JjPVwiYXNzZXRzL2NvbW1vbi1oZWFkZXItbGliL2ltYWdlcy9jbG9zZS5zdmdcIlxyXG4gICAgICAgIGNsYXNzPVwiaW1nc1wiXHJcbiAgICAgICAgYWx0PVwiY2xvc2UgaWNvblwiXHJcbiAgICAgICAgdGl0bGU9XCJDbG9zZVwiXHJcbiAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAvPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtYWlsLXRhYmxlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50TG9hZGVkICYmIGhhc1VzZXJBc3NpZ25lZE1haWxzXCI+XHJcbiAgICAgIDxwLXRhYmxlXHJcbiAgICAgICAgW3ZhbHVlXT1cIkxpc3RPZlVzZXJBc3NpbmdlZE1haWxzXCJcclxuICAgICAgICBzZWxlY3Rpb25Nb2RlPVwibXVsdGlwbGVcIlxyXG4gICAgICAgIGRhdGFLZXk9XCJjb2RlXCJcclxuICAgICAgICBbdGFibGVTdHlsZV09XCJ7ICdtaW4td2lkdGgnOiAnNTByZW0nIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5cclxuICAgICAgICAgICAgICB7eyBcIkdlbmVyaWNfbGliLkZyb21cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJHZW5lcmljX2xpYi5TdWJqZWN0XCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiR2VuZXJpY19saWIuVmlld0Zyb21cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PC90aD5cclxuXHJcbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiR2VuZXJpY19saWIuQWN0aW9uXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC11c2VyTWFpbD5cclxuICAgICAgICAgIDx0ciBbbmdDbGFzc109XCJ7IG1hcmthc1JlYWQ6IHVzZXJNYWlsLnNtaV9zbXNfaWQgIT0gMSB9XCI+XHJcbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImZvcm0tY29sbVwiPnt7IHVzZXJNYWlsLnNtaV9Gcm9tX0RldGFpbHMgfX08L3RkPlxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1YmplY3QtY29sbVwiIHRpdGxlPVwie3sgdXNlck1haWwuc21pX01haWxTdWJqZWN0IH19XCI+XHJcbiAgICAgICAgICAgICAgICB7eyB1c2VyTWFpbC5zbWlfTWFpbFN1YmplY3QgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPCEtLSA8dGQgY2xhc3M9XCJ2aWV3LWNvbG1cIj57e3VzZXJNYWlsLnNtaV9SZWNlaXZlZF9Pbn19PC90ZD4gLS0+XHJcbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZpZXctY29sbVwiPlxyXG4gICAgICAgICAgICAgIHt7IHVzZXJNYWlsLnNtaV9SZWNlaXZlZF9PbiB8IGN1c3RvbURhdGVGb3JtYXQgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbG1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvY29tbW9uLWhlYWRlci1saWIvaW1hZ2VzL21haWwtaWNvbi5zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIkljb25cIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2NvbW1vbi1oZWFkZXItbGliL2ltYWdlcy9mbGFnMS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIkljb25cIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2NvbW1vbi1oZWFkZXItbGliL2ltYWdlcy9sb2NrMS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIkljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiXCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJhY3Rpb24tY29sbVwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ1c2VyTWFpbC5wYXNzd29yZF9zdGF0dXMgPT09ICdDbG9zZSdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5WaWV3UGFzc3dvcmRQYW5lbCh1c2VyTWFpbClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ2aWV3LWxhYmVsXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBcIkdlbmVyaWNfbGliLlZpZXdQYXNzd29yZFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8L3RyPjwvbmctdGVtcGxhdGVcclxuICAgICAgICA+XHJcbiAgICAgIDwvcC10YWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NvbnRlbnRMb2FkZWRcIj5cclxuICAgICAgPHAtdGFibGVcclxuICAgICAgICBbdmFsdWVdPVwicmVwZWF0TG9hZGVyXCJcclxuICAgICAgICBbdGFibGVTdHlsZV09XCJ7ICdtaW4td2lkdGgnOiAnNTByZW0nIH1cIlxyXG4gICAgICAgIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj57eyBcIkdlbmVyaWNfbGliLkZyb21cIiB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPnt7IFwiR2VuZXJpY19saWIuU3ViamVjdFwiIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+e3sgXCJHZW5lcmljX2xpYi5WaWV3RnJvbVwiIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PC90aD5cclxuICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+e3sgXCJHZW5lcmljX2xpYi5BY3Rpb25cIiB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZGF0YT5cclxuICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRkPjxwLXNrZWxldG9uIGhlaWdodD1cIjFyZW1cIiB3aWR0aD1cIjEwMCVcIj48L3Atc2tlbGV0b24+PC90ZD5cclxuICAgICAgICAgICAgPHRkPjxwLXNrZWxldG9uIGhlaWdodD1cIjFyZW1cIiB3aWR0aD1cIjEwMCVcIj48L3Atc2tlbGV0b24+PC90ZD5cclxuICAgICAgICAgICAgPHRkPjxwLXNrZWxldG9uIGhlaWdodD1cIjFyZW1cIiB3aWR0aD1cIjEwMCVcIj48L3Atc2tlbGV0b24+PC90ZD5cclxuICAgICAgICAgICAgPHRkPjxwLXNrZWxldG9uIGhlaWdodD1cIjFyZW1cIiB3aWR0aD1cIjEwMCVcIj48L3Atc2tlbGV0b24+PC90ZD5cclxuICAgICAgICAgICAgPHRkPjxwLXNrZWxldG9uIGhlaWdodD1cIjFyZW1cIiB3aWR0aD1cIjEwMCVcIj48L3Atc2tlbGV0b24+PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLXRhYmxlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8IS0tIFdoZW4gVGhlcmUgaXMgTm8gRGF0YSBQcmVzZW50IC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNVc2VyQXNzaWduZWRNYWlsc1wiPlxyXG4gICAgICA8YXBwLW5vLXNlcnZpY2UtbXktYWNjZXNzLXBnXHJcbiAgICAgICAgW2hlYWRpbmddPVwiTm9TZXJ2aWNlTXNnVGV4dFwiXHJcbiAgICAgID48L2FwcC1uby1zZXJ2aWNlLW15LWFjY2Vzcy1wZz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gLS0tUGFnaW5hdGlvbiAgLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm1haWwtcGFnaW5hdGlvblwiPlxyXG4gICAgPGFwcC1ncmlkLXBhZ2luYXRpb25cclxuICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbENvdW50XCJcclxuICAgICAgKG9uUGdDaGFuZ2UpPVwidXBkYXRlRGF0YU9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2FwcC1ncmlkLXBhZ2luYXRpb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|