nuxeo-development-framework 6.2.10 → 6.2.11
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/bundles/nuxeo-development-framework.umd.js +31 -32
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +30 -32
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +1 -1
- package/esm2015/lib/components/ndf-panel/component/ndf-panel.component.js +1 -1
- package/esm2015/lib/components/ndf-tabs/component/ndf-tabs.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +32 -33
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +8 -8
- package/package.json +2 -2
|
@@ -50,7 +50,7 @@ export class CommentsListComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
CommentsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentsListComponent, deps: [{ token: i1.CommentApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
CommentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentsListComponent, selector: "app-comments-list", inputs: { entityId: "entityId", pageSize: "pageSize", loaderType: "loaderType", showCommentActions: "showCommentActions" }, viewQueries: [{ propertyName: "scrollDiv", first: true, predicate: ["scrollDiv"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"comments.length !== 0\"\r\n class=\"scroll-div overflow-auto dark-scroll\"\r\n #scrollDiv\r\n infinite-scroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"distance\"\r\n [infiniteScrollDisabled]=\"infiniteScrollDisabled\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScroll($event)\"\r\n>\r\n <app-comment-item\r\n [loaderType]=\"loaderType\"\r\n class=\"mb-2\"\r\n *ngFor=\"let comment of comments\"\r\n [comment]=\"comment\"\r\n [showCommentActions]=\"showCommentActions\"\r\n (refreshCommentList)=\"refreshList()\"\r\n >\r\n </app-comment-item>\r\n <div *ngIf=\"fetching && loaderType === 'scroll'\">\r\n <mat-spinner [diameter]=\"30\"></mat-spinner>\r\n </div>\r\n <div\r\n class=\"button-wrapper\"\r\n *ngIf=\"!infiniteScrollDisabled && loaderType === 'button'\"\r\n >\r\n <cts-button\r\n [theme]=\"'outline-dark'\"\r\n [size]=\"'regular'\"\r\n (onClick)=\"onScroll($event)\"\r\n [loading]=\"fetching\"\r\n >\r\n {{ \"comment.loadMore\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"comments.length === 0 && !fetching\"\r\n class=\"No-Items flex justify-center\"\r\n>\r\n <cts-no-data img=\"assets/images/empty-state/empty-comments.png\" [message]=\"'comment.nocomment'\"></cts-no-data>\r\n</div>\r\n", styles: [".text-style{color:#fff}.containerHeight{min-height:400px;max-height:auto}.titleStyle{font-size:24px}.padding-50{padding:50px}.p-20px{padding:20px}.mt-33{margin-top:33px}.mt-24px{margin-top:24px}.mb-20px{margin-bottom:20px}.mb-30{margin-bottom:30px}.mt-30{margin-top:30px}.avatar{width:40px;height:40px;border-radius:50%}.btn{width:123px;height:40px}.submibtn{width:171px;height:40px}.btnText{font-size:14px;color:#fff}.CardFont{font-size:14px}.border{border-width:1px}.gridContainer{display:grid;grid-template-columns:40px auto;grid-column-gap:5px;column-gap:5px;margin-bottom:20px}.container{height:110px}.mat-grid-tile{background-color:#00f}.avatarContainer{height:40px;width:40px}.col .containerHeight{min-height:260px;max-height:auto}.gap-40px{grid-row-gap:40px;row-gap:40px}.scroll-div{max-height:100%;display:flex;flex-direction:column;flex:1}.button-wrapper{width:150px}.comment-spinner{width:100%;display:grid;place-items:center}\n"], components: [{ type: i2.CommentItemComponent, selector: "app-comment-item", inputs: ["comment", "loaderType", "showCommentActions"], outputs: ["refreshCommentList"] }, { type: i3.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i4.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }, { type: i5.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
53
|
+
CommentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentsListComponent, selector: "app-comments-list", inputs: { entityId: "entityId", pageSize: "pageSize", loaderType: "loaderType", showCommentActions: "showCommentActions" }, viewQueries: [{ propertyName: "scrollDiv", first: true, predicate: ["scrollDiv"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"comments.length !== 0\"\r\n class=\"scroll-div overflow-auto dark-scroll\"\r\n #scrollDiv\r\n infinite-scroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"distance\"\r\n [infiniteScrollDisabled]=\"infiniteScrollDisabled\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScroll($event)\"\r\n>\r\n <app-comment-item\r\n [loaderType]=\"loaderType\"\r\n class=\"mb-2\"\r\n *ngFor=\"let comment of comments\"\r\n [comment]=\"comment\"\r\n [showCommentActions]=\"showCommentActions\"\r\n (refreshCommentList)=\"refreshList()\"\r\n >\r\n </app-comment-item>\r\n <div *ngIf=\"fetching && loaderType === 'scroll'\">\r\n <mat-spinner [diameter]=\"30\"></mat-spinner>\r\n </div>\r\n <div\r\n class=\"button-wrapper\"\r\n *ngIf=\"!infiniteScrollDisabled && loaderType === 'button'\"\r\n >\r\n <cts-button\r\n [theme]=\"'outline-dark'\"\r\n [size]=\"'regular'\"\r\n (onClick)=\"onScroll($event)\"\r\n [loading]=\"fetching\"\r\n >\r\n {{ \"comment.loadMore\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"comments.length === 0 && !fetching\"\r\n class=\"No-Items flex justify-center\"\r\n>\r\n <cts-no-data img=\"assets/images/empty-state/empty-comments.png\" [message]=\"'comment.nocomment'\"></cts-no-data>\r\n</div>\r\n", styles: [".text-style{color:#fff}.containerHeight{min-height:400px;max-height:auto}.titleStyle{font-size:24px}.padding-50{padding:50px}.p-20px{padding:20px}.mt-33{margin-top:33px}.mt-24px{margin-top:24px}.mb-20px{margin-bottom:20px}.mb-30{margin-bottom:30px}.mt-30{margin-top:30px}.avatar{width:40px;height:40px;border-radius:50%}.btn{width:123px;height:40px}.submibtn{width:171px;height:40px}.btnText{font-size:14px;color:#fff}.input-group-append .btn{width:auto;height:auto}.CardFont{font-size:14px}.border{border-width:1px}.gridContainer{display:grid;grid-template-columns:40px auto;grid-column-gap:5px;column-gap:5px;margin-bottom:20px}.container{height:110px}.mat-grid-tile{background-color:#00f}.avatarContainer{height:40px;width:40px}.col .containerHeight{min-height:260px;max-height:auto}.gap-40px{grid-row-gap:40px;row-gap:40px}.scroll-div{max-height:100%;display:flex;flex-direction:column;flex:1}.button-wrapper{width:150px}.comment-spinner{width:100%;display:grid;place-items:center}\n"], components: [{ type: i2.CommentItemComponent, selector: "app-comment-item", inputs: ["comment", "loaderType", "showCommentActions"], outputs: ["refreshCommentList"] }, { type: i3.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i4.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }, { type: i5.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentsListComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from
|
|
2
|
-
import {
|
|
3
|
-
import { take } from "rxjs/operators";
|
|
4
|
-
import { ConfirmCallerDialogComponent } from "../../../confirm-caller/confirm-caller.dialog";
|
|
5
|
-
import { CorrespondenceRelationCreateFormComponent } from "../correspondence-relation-create-form/correspondence-relation-create-form.component";
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { take } from 'rxjs/operators';
|
|
6
3
|
import { GeneralNotificationPopupComponent } from '../../../../shared/components/general-notification-popup/general-notification-popup.component';
|
|
4
|
+
import { ConfirmCallerDialogComponent } from '../../../confirm-caller/confirm-caller.dialog';
|
|
5
|
+
import { CorrespondenceRelationCreateFormComponent } from '../correspondence-relation-create-form/correspondence-relation-create-form.component';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
import * as i1 from "@angular/material/dialog";
|
|
9
8
|
import * as i2 from "../../services/correspondence-realation.service";
|
|
@@ -44,20 +43,19 @@ export class CorrespondenceRelationComponent {
|
|
|
44
43
|
data = {
|
|
45
44
|
exist_relations_list: this.relations_list.value,
|
|
46
45
|
correspondance: this.correspondance,
|
|
47
|
-
corr_id: this.corr_id
|
|
46
|
+
corr_id: this.corr_id
|
|
48
47
|
};
|
|
49
48
|
else
|
|
50
49
|
data = { exist_relations_list: [] };
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const dialogRef = this.dialog.open(CorrespondenceRelationCreateFormComponent, dialogConfig);
|
|
50
|
+
const dialogRef = this.dialog.open(CorrespondenceRelationCreateFormComponent, {
|
|
51
|
+
panelClass: 'custom-dialog-container',
|
|
52
|
+
width: 'min(94%,760px)',
|
|
53
|
+
maxWidth: '98vw',
|
|
54
|
+
height: '80vh',
|
|
55
|
+
disableClose: true,
|
|
56
|
+
direction: this.userPreference.locale === 'ar' ? 'rtl' : 'ltr',
|
|
57
|
+
data: data
|
|
58
|
+
});
|
|
61
59
|
dialogRef.afterClosed().subscribe((result) => {
|
|
62
60
|
if (result) {
|
|
63
61
|
this.reload = true;
|
|
@@ -95,20 +93,20 @@ export class CorrespondenceRelationComponent {
|
|
|
95
93
|
});
|
|
96
94
|
}
|
|
97
95
|
handleActions(event) {
|
|
98
|
-
if (event.action ===
|
|
96
|
+
if (event.action === 'view') {
|
|
99
97
|
this.view_Corres(event.item);
|
|
100
98
|
}
|
|
101
|
-
else if (event.action ===
|
|
99
|
+
else if (event.action === 'delete') {
|
|
102
100
|
this.deleteRelation(event.item);
|
|
103
101
|
}
|
|
104
|
-
else if (event.action ===
|
|
102
|
+
else if (event.action === 'show') {
|
|
105
103
|
this.showCorrespondenceInViewer(event.item.uid);
|
|
106
104
|
}
|
|
107
105
|
}
|
|
108
106
|
view_Corres(relation) {
|
|
109
107
|
if (relation.uid) {
|
|
110
108
|
let url = window.location.href;
|
|
111
|
-
window.open(url.replace(this.corr_id, relation.uid),
|
|
109
|
+
window.open(url.replace(this.corr_id, relation.uid), '_blank');
|
|
112
110
|
}
|
|
113
111
|
else {
|
|
114
112
|
this.openGeneralNotificationPopup();
|
|
@@ -136,14 +134,14 @@ export class CorrespondenceRelationComponent {
|
|
|
136
134
|
openConfirmDialog(functionToPerform, title, msg) {
|
|
137
135
|
return this.dialog
|
|
138
136
|
.open(ConfirmCallerDialogComponent, {
|
|
139
|
-
width:
|
|
140
|
-
panelClass:
|
|
137
|
+
width: 'min(80%,400px)',
|
|
138
|
+
panelClass: 'relation-confirm-dialog',
|
|
141
139
|
data: {
|
|
142
140
|
call: functionToPerform,
|
|
143
|
-
title:
|
|
141
|
+
title: 'genericConfirm',
|
|
144
142
|
toastrTitle: title,
|
|
145
|
-
toastrMsg: msg
|
|
146
|
-
}
|
|
143
|
+
toastrMsg: msg
|
|
144
|
+
}
|
|
147
145
|
})
|
|
148
146
|
.afterClosed()
|
|
149
147
|
.pipe(take(1));
|
|
@@ -152,9 +150,9 @@ export class CorrespondenceRelationComponent {
|
|
|
152
150
|
let functionToPerform = () => {
|
|
153
151
|
return this.corrrelationsvc.Delete_Named_Relation(this.corr_id, relateddoc.relationId, relateddoc.uid);
|
|
154
152
|
};
|
|
155
|
-
let title =
|
|
156
|
-
let msg =
|
|
157
|
-
this.openConfirmDialog(functionToPerform,
|
|
153
|
+
let title = '';
|
|
154
|
+
let msg = '';
|
|
155
|
+
this.openConfirmDialog(functionToPerform, 'Success', 'correspondence-relation.deleted_success').subscribe((data) => {
|
|
158
156
|
if (data) {
|
|
159
157
|
this.corrrelationsvc.getUpdatedRelation.next();
|
|
160
158
|
}
|
|
@@ -166,9 +164,9 @@ CorrespondenceRelationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
166
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationComponent, decorators: [{
|
|
167
165
|
type: Component,
|
|
168
166
|
args: [{
|
|
169
|
-
selector:
|
|
170
|
-
templateUrl:
|
|
171
|
-
styleUrls: [
|
|
167
|
+
selector: 'cts-correspondence-relation',
|
|
168
|
+
templateUrl: './correspondence-relation.component.html',
|
|
169
|
+
styleUrls: ['./correspondence-relation.component.scss']
|
|
172
170
|
}]
|
|
173
171
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.CorrespondenceRelationService }, { type: i3.CustomToastrService }, { type: i4.ViewerFilesService }, { type: i5.DocumentsService }, { type: i6.UserPreferencesService }, { type: i7.NuxeoService }]; }, propDecorators: { corr_id: [{
|
|
174
172
|
type: Input
|
|
@@ -181,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
181
179
|
}], openDialogFromOutside: [{
|
|
182
180
|
type: Output
|
|
183
181
|
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtcmVsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtcmVsYXRpb24vY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUtqSixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFNbEosTUFBTSxPQUFPLCtCQUErQjtJQWMxQyxZQUNTLE1BQWlCLEVBQ2hCLGVBQThDLEVBQzlDLE1BQTJCLEVBQzNCLGtCQUFzQyxFQUN0QyxZQUE4QixFQUM5QixjQUFzQyxFQUN2QyxZQUEwQjtRQU4xQixXQUFNLEdBQU4sTUFBTSxDQUFX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QkFDUixJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs2SEFyS1UsK0JBQStCO2lIQUEvQiwrQkFBK0Isc1VDakI1QywraUNBNEJBOzRGRFhhLCtCQUErQjtrQkFMM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsMENBQTBDO29CQUN2RCxTQUFTLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztpQkFDeEQ7OFNBR0MsT0FBTztzQkFETixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFHTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBR04sb0NBQW9DO3NCQURuQyxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9jb3JyZXNwb25kZW5jZS1yZWFsYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IENvbmZpcm1DYWxsZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlybS1jYWxsZXIvY29uZmlybS1jYWxsZXIuZGlhbG9nXCI7XHJcbmltcG9ydCB7IENvcnJlc3BvbmRlbmNlUmVsYXRpb25DcmVhdGVGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWaWV3ZXJGaWxlc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdmlld2VyLWZpbGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3VzZXIvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcnJlc3BvbmRlbmNlUmVsYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgY29ycl9pZDtcclxuICAvKiogQ29ycmVzcG9uZGFuY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIGNvcnJlc3BvbmRhbmNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2FuT3BlbkRpYWxvZ0Zyb21PdXRzaWRlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICByZW1vdmVSZWxhdGlvblRpdGxlRnJvbUV4cGFuc2lvbkxpc3QgPSBmYWxzZVxyXG4gIHJlbGF0aW9uc19saXN0OiBhbnk7XHJcbiAgcmVsb2FkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgb3BlbkRpYWxvZ0Zyb21PdXRzaWRlICA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY29ycnJlbGF0aW9uc3ZjOiBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3ZXJGaWxlc1NlcnZpY2U6IFZpZXdlckZpbGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQXBpOiBEb2N1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZTogVXNlclByZWZlcmVuY2VzU2VydmljZSxcclxuICAgIHB1YmxpYyBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZygpIHtcclxuICAgIGlmKCF0aGlzLmNhbk9wZW5EaWFsb2dGcm9tT3V0c2lkZSl7XHJcbiAgICAgIGxldCBkYXRhID0ge307XHJcbiAgICAgIGlmICh0aGlzLnJlbGF0aW9uc19saXN0KVxyXG4gICAgICAgIGRhdGEgPSB7XHJcbiAgICAgICAgICBleGlzdF9yZWxhdGlvbnNfbGlzdDogdGhpcy5yZWxhdGlvbnNfbGlzdC52YWx1ZSxcclxuICAgICAgICAgIGNvcnJlc3BvbmRhbmNlOiB0aGlzLmNvcnJlc3BvbmRhbmNlLFxyXG4gICAgICAgICAgY29ycl9pZDogdGhpcy5jb3JyX2lkLFxyXG4gICAgICAgIH07XHJcbiAgICAgIGVsc2UgZGF0YSA9IHsgZXhpc3RfcmVsYXRpb25zX2xpc3Q6IFtdIH07XHJcbiAgICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgICAgZGlhbG9nQ29uZmlnLmRhdGEgPSBkYXRhO1xyXG4gICAgICBkaWFsb2dDb25maWcuZGlyZWN0aW9uID1cclxuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlLmxvY2FsZSA9PT0gXCJhclwiID8gXCJydGxcIiA6IFwibHRyXCI7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID0gXCJjdXN0b20tZGlhbG9nLWNvbnRhaW5lclwiO1xyXG4gICAgICBkaWFsb2dDb25maWcud2lkdGggPSBcIm1pbig5NCUsNzYwcHgpXCI7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5tYXhXaWR0aCA9IFwiOTh2d1wiO1xyXG4gICAgICBkaWFsb2dDb25maWcuaGVpZ2h0ID0gXCI4MHZoXCI7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFxyXG4gICAgICAgIENvcnJlc3BvbmRlbmNlUmVsYXRpb25DcmVhdGVGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIGRpYWxvZ0NvbmZpZ1xyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMucmVsb2FkID0gdHJ1ZTtcclxuICAgICAgICAgIC8vIHRoaXMuY29ycnJlbGF0aW9uc3ZjXHJcbiAgICAgICAgICAvLyAgIC5jcmVhdGVfTmFtZWRfUmVsYXRpb24odGhpcy5jb3JyX2lkLCByZXN1bHQucmVsYXRpb25uYW1lLCByZXN1bHQuZG9jcylcclxuICAgICAgICAgIC8vICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIC8vICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgLy8gICAgICAgdGhpcy5yZWxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgLy8gICAgICAgdGhpcy5jb3JycmVsYXRpb25zdmMuZ2V0VXBkYXRlZFJlbGF0aW9uLm5leHQoKTtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMudG9hc3RyLnNob3coXHJcbiAgICAgICAgICAvLyAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgIC8vICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgLy8gICAgICAgICAnUmVhbGF0aW9uIFN1Y2Nlc3NmdWx5IGFkZGVkJ1xyXG4gICAgICAgICAgLy8gICAgICAgKTtcclxuICAgICAgICAgIC8vICAgICB9LFxyXG4gICAgICAgICAgLy8gICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2Vycm9yJywgJ2Vycm9yJyxcclxuICAgICAgICAgIC8vICAgICAgICAgZXJyLnJldC5tZXNzYWdlID9cclxuICAgICAgICAgIC8vICAgICAgICAgICBgZXJyb3JzLiR7ZXJyLnJldC5jb2RlfWBcclxuICAgICAgICAgIC8vICAgICAgICAgICA6ICdnZW5lcmljRXJyb3InKTtcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm9wZW5EaWFsb2dGcm9tT3V0c2lkZS5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG4gICBcclxuICB9XHJcblxyXG4gIGdldGFsbHJlbGF0ZWQoKSB7XHJcbiAgICB0aGlzLmNvcnJyZWxhdGlvbnN2Y1xyXG4gICAgICAuZ2V0X0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uX1dpdGhvdXRSZXBseSh0aGlzLmNvcnJfaWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcclxuICAgICAgICB0aGlzLnJlbGF0aW9uc19saXN0ID0gcmVzdWx0cztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3Rpb25zKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWN0aW9uID09PSBcInZpZXdcIikge1xyXG4gICAgICB0aGlzLnZpZXdfQ29ycmVzKGV2ZW50Lml0ZW0pO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT09IFwiZGVsZXRlXCIpIHtcclxuICAgICAgdGhpcy5kZWxldGVSZWxhdGlvbihldmVudC5pdGVtKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQuYWN0aW9uID09PSBcInNob3dcIikge1xyXG4gICAgICB0aGlzLnNob3dDb3JyZXNwb25kZW5jZUluVmlld2VyKGV2ZW50Lml0ZW0udWlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZpZXdfQ29ycmVzKHJlbGF0aW9uKSB7XHJcbiAgICBpZihyZWxhdGlvbi51aWQpe1xyXG4gICAgICBsZXQgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHVybC5yZXBsYWNlKHRoaXMuY29ycl9pZCwgcmVsYXRpb24udWlkKSwgXCJfYmxhbmtcIik7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5vcGVuR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgIG9wZW5HZW5lcmFsTm90aWZpY2F0aW9uUG9wdXAoKXtcclxuICAgICAgdGhpcy5kaWFsb2dcclxuICAgICAgICAub3BlbihHZW5lcmFsTm90aWZpY2F0aW9uUG9wdXBDb21wb25lbnQsIHtcclxuICAgICAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ3VwZGF0ZWQtZGVzaWduLWRpYWxvZydcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgLnBpcGUodGFrZSgxKSk7XHJcbiAgICB9XHJcblxyXG4gIHNob3dDb3JyZXNwb25kZW5jZUluVmlld2VyKGNvcnJlc19pZCkge1xyXG4gICAgaWYoY29ycmVzX2lkKXtcclxuICAgIHRoaXMuZG9jdW1lbnRzQXBpLmdldERvY3VtZW50KGNvcnJlc19pZCkuc3Vic2NyaWJlKChmaWxlKSA9PiB7XHJcbiAgICAgIHRoaXMudmlld2VyRmlsZXNTZXJ2aWNlLnVwZGF0ZVZpZXdlci5uZXh0KGZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5vcGVuR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Db25maXJtRGlhbG9nKGZ1bmN0aW9uVG9QZXJmb3JtLCB0aXRsZSwgbXNnKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dcclxuICAgICAgLm9wZW4oQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgICAgcGFuZWxDbGFzczogXCJyZWxhdGlvbi1jb25maXJtLWRpYWxvZ1wiLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNhbGw6IGZ1bmN0aW9uVG9QZXJmb3JtLFxyXG4gICAgICAgICAgdGl0bGU6IFwiZ2VuZXJpY0NvbmZpcm1cIixcclxuICAgICAgICAgIHRvYXN0clRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgIHRvYXN0ck1zZzogbXNnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpO1xyXG4gIH1cclxuICBkZWxldGVSZWxhdGlvbihyZWxhdGVkZG9jKSB7XHJcbiAgICBsZXQgZnVuY3Rpb25Ub1BlcmZvcm0gPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvcnJyZWxhdGlvbnN2Yy5EZWxldGVfTmFtZWRfUmVsYXRpb24oXHJcbiAgICAgICAgdGhpcy5jb3JyX2lkLFxyXG4gICAgICAgIHJlbGF0ZWRkb2MucmVsYXRpb25JZCxcclxuICAgICAgICByZWxhdGVkZG9jLnVpZFxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGxldCB0aXRsZSA9IFwiXCI7XHJcbiAgICBsZXQgbXNnID0gXCJcIjtcclxuICAgIHRoaXMub3BlbkNvbmZpcm1EaWFsb2coXHJcbiAgICAgIGZ1bmN0aW9uVG9QZXJmb3JtLFxyXG4gICAgICBcIlN1Y2Nlc3NcIixcclxuICAgICAgXCJjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5kZWxldGVkX3N1Y2Nlc3NcIlxyXG4gICAgKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICB0aGlzLmNvcnJyZWxhdGlvbnN2Yy5nZXRVcGRhdGVkUmVsYXRpb24ubmV4dCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aW9ucy1jb250YWluZXJcIj5cclxuICA8ZGl2ICBjbGFzcz1cIm1iLTMgcmVsYXRpb25zLXJlcGx5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyXCI+XHJcbiAgICAgIDxkaXY+e3sgXCJjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5yZXBseV9yZWxhdGlvblwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tcmVwbHlcclxuICAgICAgW2NvcnJlc3BvbmRlbmNlX2lkXT1cImNvcnJfaWRcIlxyXG4gICAgICAoYWN0aW9uY2xpY2tlZCk9XCJoYW5kbGVBY3Rpb25zKCRldmVudClcIlxyXG4gICAgPjwvY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLXJlcGx5PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibWItMiByZWxhdGlvbnMtbGlzdGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInN1YmhlYWRlclwiPlxyXG4gICAgICA8ZGl2Pnt7IFwiY29ycmVzcG9uZGVuY2UtcmVsYXRpb24udGl0bGVcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiXCIgKnBlcm1pc3Npb249XCJ7XHJcbiAgICAgICAgbmFtZTogJ0FkZFJlbGF0ZWRDb3JyZXNwb25kZW5jZScsXHJcbiAgICAgICAgZW50aXR5OiBjb3JyZXNwb25kYW5jZSAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyXHJcbiAgICAgIH1cIiAoY2xpY2spPVwib3BlbkRpYWxvZygpXCI+PG1hdC1pY29uPmFkZDwvbWF0LWljb24+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tbGlzdFxyXG4gICAgICBbY29ycmVzcG9uZGVuY2VfaWRdPVwiY29ycl9pZFwiXHJcbiAgICAgIFtyZWxvYWRdPVwicmVsb2FkXCJcclxuICAgICAgW3JlbW92ZVJlbGF0aW9uVGl0bGVGcm9tRXhwYW5zaW9uTGlzdF09XCJyZW1vdmVSZWxhdGlvblRpdGxlRnJvbUV4cGFuc2lvbkxpc3RcIlxyXG4gICAgPjwvY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWxpc3Q+XHJcbiAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtcmVsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtcmVsYXRpb24vY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtGQUErRixDQUFDO0FBQ2xKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBSzdGLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHNGQUFzRixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU1qSixNQUFNLE9BQU8sK0JBQStCO0lBYzFDLFlBQ1MsTUFBaUIsRUFDaEIsZUFBOEMsRUFDOUMsTUFBMkIsRUFDM0Isa0JBQXNDLEVBQ3RDLFlBQThCLEVBQzlCLGNBQXNDLEVBQ3ZDLFlBQTBCO1FBTjFCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLFdBQU0sR0FB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QUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7aUJBQ3hEOzhTQUdDLE9BQU87c0JBRE4sS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sd0JBQXdCO3NCQUR2QixLQUFLO2dCQUdOLG9DQUFvQztzQkFEbkMsS0FBSztnQkFLTixxQkFBcUI7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3VzZXIvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLmRpYWxvZyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvcnJlc3BvbmRlbmNlLXJlYWxhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2VyRmlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWZpbGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JyZXNwb25kZW5jZVJlbGF0aW9uQ3JlYXRlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29ycmVzcG9uZGVuY2UtcmVsYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvcnJlc3BvbmRlbmNlUmVsYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgY29ycl9pZDtcclxuICAvKiogQ29ycmVzcG9uZGFuY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIGNvcnJlc3BvbmRhbmNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2FuT3BlbkRpYWxvZ0Zyb21PdXRzaWRlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICByZW1vdmVSZWxhdGlvblRpdGxlRnJvbUV4cGFuc2lvbkxpc3QgPSBmYWxzZTtcclxuICByZWxhdGlvbnNfbGlzdDogYW55O1xyXG4gIHJlbG9hZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9wZW5EaWFsb2dGcm9tT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY29ycnJlbGF0aW9uc3ZjOiBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3ZXJGaWxlc1NlcnZpY2U6IFZpZXdlckZpbGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQXBpOiBEb2N1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZTogVXNlclByZWZlcmVuY2VzU2VydmljZSxcclxuICAgIHB1YmxpYyBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZygpIHtcclxuICAgIGlmICghdGhpcy5jYW5PcGVuRGlhbG9nRnJvbU91dHNpZGUpIHtcclxuICAgICAgbGV0IGRhdGEgPSB7fTtcclxuICAgICAgaWYgKHRoaXMucmVsYXRpb25zX2xpc3QpXHJcbiAgICAgICAgZGF0YSA9IHtcclxuICAgICAgICAgIGV4aXN0X3JlbGF0aW9uc19saXN0OiB0aGlzLnJlbGF0aW9uc19saXN0LnZhbHVlLFxyXG4gICAgICAgICAgY29ycmVzcG9uZGFuY2U6IHRoaXMuY29ycmVzcG9uZGFuY2UsXHJcbiAgICAgICAgICBjb3JyX2lkOiB0aGlzLmNvcnJfaWRcclxuICAgICAgICB9O1xyXG4gICAgICBlbHNlIGRhdGEgPSB7IGV4aXN0X3JlbGF0aW9uc19saXN0OiBbXSB9O1xyXG5cclxuXHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oXHJcbiAgICAgICAgQ29ycmVzcG9uZGVuY2VSZWxhdGlvbkNyZWF0ZUZvcm1Db21wb25lbnQsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2N1c3RvbS1kaWFsb2ctY29udGFpbmVyJyxcclxuICAgICAgICAgIHdpZHRoOiAnbWluKDk0JSw3NjBweCknLFxyXG4gICAgICAgICAgbWF4V2lkdGg6ICc5OHZ3JyxcclxuICAgICAgICAgIGhlaWdodDogJzgwdmgnLFxyXG4gICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnVzZXJQcmVmZXJlbmNlLmxvY2FsZSA9PT0gJ2FyJyA/ICdydGwnIDogJ2x0cicsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG5cclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLnJlbG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAvLyB0aGlzLmNvcnJyZWxhdGlvbnN2Y1xyXG4gICAgICAgICAgLy8gICAuY3JlYXRlX05hbWVkX1JlbGF0aW9uKHRoaXMuY29ycl9pZCwgcmVzdWx0LnJlbGF0aW9ubmFtZSwgcmVzdWx0LmRvY3MpXHJcbiAgICAgICAgICAvLyAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAvLyAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMucmVsb2FkID0gdHJ1ZTtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5uZXh0KCk7XHJcbiAgICAgICAgICAvLyAgICAgICB0aGlzLnRvYXN0ci5zaG93KFxyXG4gICAgICAgICAgLy8gICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAvLyAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgIC8vICAgICAgICAgJ1JlYWxhdGlvbiBTdWNjZXNzZnVseSBhZGRlZCdcclxuICAgICAgICAgIC8vICAgICAgICk7XHJcbiAgICAgICAgICAvLyAgICAgfSxcclxuICAgICAgICAgIC8vICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdlcnJvcicsICdlcnJvcicsXHJcbiAgICAgICAgICAvLyAgICAgICAgIGVyci5yZXQubWVzc2FnZSA/XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgYGVycm9ycy4ke2Vyci5yZXQuY29kZX1gXHJcbiAgICAgICAgICAvLyAgICAgICAgICAgOiAnZ2VuZXJpY0Vycm9yJyk7XHJcbiAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgLy8gICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW5EaWFsb2dGcm9tT3V0c2lkZS5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0YWxscmVsYXRlZCgpIHtcclxuICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjXHJcbiAgICAgIC5nZXRfQ29ycmVzcG9uZGVuY2VfUmVsYXRpb25fV2l0aG91dFJlcGx5KHRoaXMuY29ycl9pZClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0cykgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsYXRpb25zX2xpc3QgPSByZXN1bHRzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUFjdGlvbnMoZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5hY3Rpb24gPT09ICd2aWV3Jykge1xyXG4gICAgICB0aGlzLnZpZXdfQ29ycmVzKGV2ZW50Lml0ZW0pO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT09ICdkZWxldGUnKSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlUmVsYXRpb24oZXZlbnQuaXRlbSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFjdGlvbiA9PT0gJ3Nob3cnKSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvcnJlc3BvbmRlbmNlSW5WaWV3ZXIoZXZlbnQuaXRlbS51aWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmlld19Db3JyZXMocmVsYXRpb24pIHtcclxuICAgIGlmIChyZWxhdGlvbi51aWQpIHtcclxuICAgICAgbGV0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICB3aW5kb3cub3Blbih1cmwucmVwbGFjZSh0aGlzLmNvcnJfaWQsIHJlbGF0aW9uLnVpZCksICdfYmxhbmsnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub3BlbkdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cCgpIHtcclxuICAgIHRoaXMuZGlhbG9nXHJcbiAgICAgIC5vcGVuKEdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cENvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6ICd1cGRhdGVkLWRlc2lnbi1kaWFsb2cnXHJcbiAgICAgIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NvcnJlc3BvbmRlbmNlSW5WaWV3ZXIoY29ycmVzX2lkKSB7XHJcbiAgICBpZiAoY29ycmVzX2lkKSB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRzQXBpLmdldERvY3VtZW50KGNvcnJlc19pZCkuc3Vic2NyaWJlKChmaWxlKSA9PiB7XHJcbiAgICAgICAgdGhpcy52aWV3ZXJGaWxlc1NlcnZpY2UudXBkYXRlVmlld2VyLm5leHQoZmlsZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcGVuR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Db25maXJtRGlhbG9nKGZ1bmN0aW9uVG9QZXJmb3JtLCB0aXRsZSwgbXNnKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dcclxuICAgICAgLm9wZW4oQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiAnbWluKDgwJSw0MDBweCknLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdyZWxhdGlvbi1jb25maXJtLWRpYWxvZycsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgY2FsbDogZnVuY3Rpb25Ub1BlcmZvcm0sXHJcbiAgICAgICAgICB0aXRsZTogJ2dlbmVyaWNDb25maXJtJyxcclxuICAgICAgICAgIHRvYXN0clRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgIHRvYXN0ck1zZzogbXNnXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAucGlwZSh0YWtlKDEpKTtcclxuICB9XHJcbiAgZGVsZXRlUmVsYXRpb24ocmVsYXRlZGRvYykge1xyXG4gICAgbGV0IGZ1bmN0aW9uVG9QZXJmb3JtID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb3JycmVsYXRpb25zdmMuRGVsZXRlX05hbWVkX1JlbGF0aW9uKFxyXG4gICAgICAgIHRoaXMuY29ycl9pZCxcclxuICAgICAgICByZWxhdGVkZG9jLnJlbGF0aW9uSWQsXHJcbiAgICAgICAgcmVsYXRlZGRvYy51aWRcclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBsZXQgdGl0bGUgPSAnJztcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIHRoaXMub3BlbkNvbmZpcm1EaWFsb2coXHJcbiAgICAgIGZ1bmN0aW9uVG9QZXJmb3JtLFxyXG4gICAgICAnU3VjY2VzcycsXHJcbiAgICAgICdjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5kZWxldGVkX3N1Y2Nlc3MnXHJcbiAgICApLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5uZXh0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpb25zLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgIGNsYXNzPVwibWItMyByZWxhdGlvbnMtcmVwbHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzdWJoZWFkZXJcIj5cclxuICAgICAgPGRpdj57eyBcImNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLnJlcGx5X3JlbGF0aW9uXCIgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGN0cy1jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi1yZXBseVxyXG4gICAgICBbY29ycmVzcG9uZGVuY2VfaWRdPVwiY29ycl9pZFwiXHJcbiAgICAgIChhY3Rpb25jbGlja2VkKT1cImhhbmRsZUFjdGlvbnMoJGV2ZW50KVwiXHJcbiAgICA+PC9jdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tcmVwbHk+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtYi0yIHJlbGF0aW9ucy1saXN0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyXCI+XHJcbiAgICAgIDxkaXY+e3sgXCJjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi50aXRsZVwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcIiAqcGVybWlzc2lvbj1cIntcclxuICAgICAgICBuYW1lOiAnQWRkUmVsYXRlZENvcnJlc3BvbmRlbmNlJyxcclxuICAgICAgICBlbnRpdHk6IGNvcnJlc3BvbmRhbmNlICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJcclxuICAgICAgfVwiIChjbGljayk9XCJvcGVuRGlhbG9nKClcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGN0cy1jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi1saXN0XHJcbiAgICAgIFtjb3JyZXNwb25kZW5jZV9pZF09XCJjb3JyX2lkXCJcclxuICAgICAgW3JlbG9hZF09XCJyZWxvYWRcIlxyXG4gICAgICBbcmVtb3ZlUmVsYXRpb25UaXRsZUZyb21FeHBhbnNpb25MaXN0XT1cInJlbW92ZVJlbGF0aW9uVGl0bGVGcm9tRXhwYW5zaW9uTGlzdFwiXHJcbiAgICA+PC9jdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tbGlzdD5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuIl19
|
package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js
CHANGED
|
@@ -91,7 +91,7 @@ export class VersionsComponent {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
VersionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VersionsComponent, deps: [{ token: i1.ViewerFilesService }, { token: i2.TranslationService }, { token: i3.DocumentsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file", actions: "actions", currentTranslation: "currentTranslation", originTranslation: "originTranslation", historyTranslation: "historyTranslation", showUserCard: "showUserCard" }, outputs: { handleActions: "handleActions" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ currentTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n [actions]=\"actions\" (itemClicked)=\"showVersion(file)\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(file)}}\r\n </div>\r\n {{getVersion(file)}}\r\n -\r\n {{ file.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments original-section\" *ngIf=\"versions.length > 0\" >\r\n <div class=\"subheader\">\r\n <div>{{ originTranslation | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"versions[versions.length -1]\" [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\" [actions]=\"actions\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\" (actionclicked)=\"handleAction($event)\">\r\n\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" [ngClass]=\"{'viewer-attachment-with-user-card' : showUserCard}\" *permission=\"{name: 'viewVersions', entity: file}\">\r\n <div class=\"subheader\">\r\n <div> {{ historyTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + '-' + getVersion(version)\" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\" [actions]=\"actions\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(version)}}\r\n </div>\r\n {{getVersion(version)}}\r\n -\r\n {{ version.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n <span class=\"version-contributor font-weight-bold\">\r\n\r\n {{\r\n version.properties.lastContributor.id === 'system' ?\r\n ('SYSTEM_ADMIN' | translate) : (\r\n isArabic ? (version.properties.lastContributor.fullNameAr ? version.properties.lastContributor.fullNameAr : (version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)) : \r\n ( version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)\r\n )\r\n }}\r\n <div class=\"contributor-card-details\" (click)=\"$event.stopPropagation()\" *ngIf=\"showUserCard\">\r\n <div class=\"user-img\">\r\n <img class=\"user-avatar\" [src]=\"version.properties.lastContributor.avatar\">\r\n </div>\r\n <div class=\"user-details\">\r\n <div class=\"user-name\">{{isArabic ? version.properties.lastContributor.fullNameAr : version.properties.lastContributor.fullName}}</div>\r\n <div class=\"user-position\">{{(isArabic && version.properties.lastContributor.jobGradeAr) ? version.properties.lastContributor.jobGradeAr : (version.properties.lastContributor.jobGrade ? version.properties.lastContributor.jobGrade : '--')}}</div>\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div class=\"version-loading\" *ngIf=\"fetching\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n <div *ngIf=\"(!fetching && versions.length === 0)\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n</div>\r\n<ng-template #noEntry>\r\n\r\n</ng-template>", styles: [".viewer-attachments .attachments-list .version-contributor{position:relative}.viewer-attachments .attachments-list .version-contributor .contributor-card-details{position:absolute;z-index:99999;display:none;min-width:250px;padding:28px 16px;align-items:center;grid-gap:8px;gap:8px;border-radius:4px;background:#
|
|
94
|
+
VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file", actions: "actions", currentTranslation: "currentTranslation", originTranslation: "originTranslation", historyTranslation: "historyTranslation", showUserCard: "showUserCard" }, outputs: { handleActions: "handleActions" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ currentTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n [actions]=\"actions\" (itemClicked)=\"showVersion(file)\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(file)}}\r\n </div>\r\n {{getVersion(file)}}\r\n -\r\n {{ file.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments original-section\" *ngIf=\"versions.length > 0\" >\r\n <div class=\"subheader\">\r\n <div>{{ originTranslation | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"versions[versions.length -1]\" [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\" [actions]=\"actions\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\" (actionclicked)=\"handleAction($event)\">\r\n\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" [ngClass]=\"{'viewer-attachment-with-user-card' : showUserCard}\" *permission=\"{name: 'viewVersions', entity: file}\">\r\n <div class=\"subheader\">\r\n <div> {{ historyTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + '-' + getVersion(version)\" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\" [actions]=\"actions\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(version)}}\r\n </div>\r\n {{getVersion(version)}}\r\n -\r\n {{ version.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n <span class=\"version-contributor font-weight-bold\">\r\n\r\n {{\r\n version.properties.lastContributor.id === 'system' ?\r\n ('SYSTEM_ADMIN' | translate) : (\r\n isArabic ? (version.properties.lastContributor.fullNameAr ? version.properties.lastContributor.fullNameAr : (version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)) : \r\n ( version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)\r\n )\r\n }}\r\n <div class=\"contributor-card-details\" (click)=\"$event.stopPropagation()\" *ngIf=\"showUserCard\">\r\n <div class=\"user-img\">\r\n <img class=\"user-avatar\" [src]=\"version.properties.lastContributor.avatar\">\r\n </div>\r\n <div class=\"user-details\">\r\n <div class=\"user-name\">{{isArabic ? version.properties.lastContributor.fullNameAr : version.properties.lastContributor.fullName}}</div>\r\n <div class=\"user-position\">{{(isArabic && version.properties.lastContributor.jobGradeAr) ? version.properties.lastContributor.jobGradeAr : (version.properties.lastContributor.jobGrade ? version.properties.lastContributor.jobGrade : '--')}}</div>\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div class=\"version-loading\" *ngIf=\"fetching\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n <div *ngIf=\"(!fetching && versions.length === 0)\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n</div>\r\n<ng-template #noEntry>\r\n\r\n</ng-template>", styles: [".viewer-attachments .attachments-list .version-contributor{position:relative}.viewer-attachments .attachments-list .version-contributor .contributor-card-details{position:absolute;z-index:99999;display:none;min-width:250px;padding:28px 16px;align-items:center;grid-gap:8px;gap:8px;border-radius:4px;background:#fff;cursor:default;box-shadow:0 -1px 4px #1c34541a,0 1px 4px -1px #1c345426}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-img img{width:40px;height:40px;min-width:40px;border-radius:48px;border:1px solid var(--Outline-Card, #dcdce4)}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details{text-align:start}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details .user-name{color:#234990;font-size:14px;font-family:var(--main-title-font-family, \"semiBoldPoppins\");font-weight:bold}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details .user-position{color:#5d6481;font-size:12px}.viewer-attachments .attachments-list .version-contributor:hover .contributor-card-details{display:flex}.viewer-attachments .attachments-list .mat-list-items .description .file-size{display:none}.viewer-attachments .version-loading{display:flex;justify-content:center;padding:10px 0}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i5.ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i7.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i10.TranslatePipe, "localizedDate": i11.LocalizedDatePipe } });
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VersionsComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{
|
|
@@ -7,7 +7,7 @@ export class NdfPanelComponent {
|
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
NdfPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
NdfPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfPanelComponent, selector: "ndf-panel", inputs: { maxBodyHeight: "maxBodyHeight" }, queries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeader"], descendants: true, read: TemplateRef }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, read: TemplateRef }, { propertyName: "panelFooter", first: true, predicate: ["panelFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"scroll-panel\">\r\n\t<div class=\"header\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelHeader\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"body\" [style.maxHeight]=\"maxBodyHeight\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelBody\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"footer\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelFooter\"></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [".scroll-panel{display:var(--ndf-panel-display, flex);flex-direction:var(--ndf-panel-flex-direction, column);height:var(--ndf-panel-height, calc(
|
|
10
|
+
NdfPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfPanelComponent, selector: "ndf-panel", inputs: { maxBodyHeight: "maxBodyHeight" }, queries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeader"], descendants: true, read: TemplateRef }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, read: TemplateRef }, { propertyName: "panelFooter", first: true, predicate: ["panelFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"scroll-panel\">\r\n\t<div class=\"header\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelHeader\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"body\" [style.maxHeight]=\"maxBodyHeight\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelBody\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"footer\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelFooter\"></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [".scroll-panel{display:var(--ndf-panel-display, flex);flex-direction:var(--ndf-panel-flex-direction, column);height:var(--ndf-panel-height, calc(100dvh - 65px));border:1px solid var(--ndf-panel-main-border)}.header{flex:var(--ndf-panel-header-flex, 0 0 auto);color:var(--ndf-panel-color, #3b3b3c);background-color:var(--ndf-panel-bg, #f6f9f5);border-bottom:1px solid var(--ndf-panel-border-color, #e7e7e7)}.footer{border-top:1px solid var(--ndf-panel-border-color, #e7e7e7)}.body{flex:var(--ndf-panel-body-flex, 1 1 auto);overflow-y:var(--ndf-panel-body-overflow-y, auto);min-height:var(--ndf-panel-body-min-height, 0)}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{
|
|
@@ -86,7 +86,7 @@ export class NdfTabsComponent extends BaseComponent {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
NdfTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTabsComponent, deps: [{ token: i0.Injector }, { token: i1.EvaluatorsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
NdfTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfTabsComponent, selector: "ndf-tabs", inputs: { tabs: "tabs", activeTab: "activeTab", isAllowdTabFn: "isAllowdTabFn", showHeader: "showHeader" }, outputs: { activeTabEmitter: "activeTabEmitter" }, host: { classAttribute: "w-full h-full" }, queries: [{ propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true, read: TemplateRef }, { propertyName: "headerOptions", first: true, predicate: ["headerOptions"], descendants: true, read: TemplateRef }, { propertyName: "tabBody", first: true, predicate: ["tabBody"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col ndf-tabs-wrapper rounded-md px-0.5\" *ngIf=\"!checkingPermission\">\r\n\t<div\r\n\t\tclass=\"tabs-header flex justify-between items-center w-full border-b print:hidden\"\r\n\t\t[@visibilitySlide]=\"showHeader\"\r\n\t\t[class.overflow-hidden]=\"!showHeader\"\r\n\t>\r\n\t\t<div class=\"tabs-wrapper flex justify-start items-center gap-2.5 self-stretch\">\r\n\t\t\t<ng-container *ngFor=\"let tab of tabs\">\r\n\t\t\t\t<ng-container *ngIf=\"isEnabledTab(tab) && isAllowdTabFn(tab)\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'selected-tab': activeTab === tab.id\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\tclass=\"tab-item flex p-4 justify-center items-center gap-2.5 rounded-t-md font-medium text-xl cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"activateTab(tab)\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"tabHeader || defaultHeader\"\r\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: tab }\"\r\n\t\t\t\t\t\t></ng-template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<ng-template\r\n\t\t\t[ngTemplateOutlet]=\"headerOptions\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: activatedTab }\"\r\n\t\t></ng-template>\r\n\t</div>\r\n\t<ng-template\r\n\t\t[ngTemplateOutlet]=\"tabBody || defaultBody\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: activatedTab }\"\r\n\t></ng-template>\r\n</div>\r\n\r\n<ng-template #defaultHeader let-tab>{{ tab.label | translate }}</ng-template>\r\n<ng-template #defaultBody>Default Body</ng-template>\r\n", styles: [":host{display:block}.ndf-tabs-wrapper{background-color:var(--ndf-tabs-body, #fff);border-radius:8px 8px 0 0;overflow:var(--ndf-tabs-wrapper-overflow, auto);height:var(--ndf-tabs-wrapper-height, calc(
|
|
89
|
+
NdfTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfTabsComponent, selector: "ndf-tabs", inputs: { tabs: "tabs", activeTab: "activeTab", isAllowdTabFn: "isAllowdTabFn", showHeader: "showHeader" }, outputs: { activeTabEmitter: "activeTabEmitter" }, host: { classAttribute: "w-full h-full" }, queries: [{ propertyName: "tabHeader", first: true, predicate: ["tabHeader"], descendants: true, read: TemplateRef }, { propertyName: "headerOptions", first: true, predicate: ["headerOptions"], descendants: true, read: TemplateRef }, { propertyName: "tabBody", first: true, predicate: ["tabBody"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col ndf-tabs-wrapper rounded-md px-0.5\" *ngIf=\"!checkingPermission\">\r\n\t<div\r\n\t\tclass=\"tabs-header flex justify-between items-center w-full border-b print:hidden\"\r\n\t\t[@visibilitySlide]=\"showHeader\"\r\n\t\t[class.overflow-hidden]=\"!showHeader\"\r\n\t>\r\n\t\t<div class=\"tabs-wrapper flex justify-start items-center gap-2.5 self-stretch\">\r\n\t\t\t<ng-container *ngFor=\"let tab of tabs\">\r\n\t\t\t\t<ng-container *ngIf=\"isEnabledTab(tab) && isAllowdTabFn(tab)\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'selected-tab': activeTab === tab.id\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\tclass=\"tab-item flex p-4 justify-center items-center gap-2.5 rounded-t-md font-medium text-xl cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"activateTab(tab)\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"tabHeader || defaultHeader\"\r\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: tab }\"\r\n\t\t\t\t\t\t></ng-template>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<ng-template\r\n\t\t\t[ngTemplateOutlet]=\"headerOptions\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: activatedTab }\"\r\n\t\t></ng-template>\r\n\t</div>\r\n\t<ng-template\r\n\t\t[ngTemplateOutlet]=\"tabBody || defaultBody\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: activatedTab }\"\r\n\t></ng-template>\r\n</div>\r\n\r\n<ng-template #defaultHeader let-tab>{{ tab.label | translate }}</ng-template>\r\n<ng-template #defaultBody>Default Body</ng-template>\r\n", styles: [":host{display:block}.ndf-tabs-wrapper{background-color:var(--ndf-tabs-body, #fff);border-radius:8px 8px 0 0;overflow:var(--ndf-tabs-wrapper-overflow, auto);height:var(--ndf-tabs-wrapper-height, calc(100dvh - 100px))}.ndf-tabs-wrapper .tabs-header{background-color:var(--ndf-tabs-header, #fff)}@media print{.ndf-tabs-wrapper{--ndf-tabs-wrapper-overflow: visible;--ndf-tabs-wrapper-height: auto}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i3.TranslatePipe }, animations: [
|
|
90
90
|
trigger('visibilitySlide', [
|
|
91
91
|
state('true', style({ height: '*', visibility: '*' })),
|
|
92
92
|
state('false', style({ height: '0', visibility: 'hidden' })),
|
|
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
130
130
|
}], activeTabEmitter: [{
|
|
131
131
|
type: Output
|
|
132
132
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLXRhYnMvY29tcG9uZW50L25kZi10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi10YWJzL2NvbXBvbmVudC9uZGYtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBaUIzRCxNQUFNLE9BQU8sZ0JBQTZDLFNBQVEsYUFBYTtJQW1COUUsWUFDQyxRQUFrQixFQUNELGlCQUFvQztRQUVyRCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFGQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBZDdDLGtCQUFhLEdBQXdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFbEQsZ0JB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QzVELFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7NEJBQ3RELFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNyRCxDQUFDO3FCQUNGO2lCQUNEOytIQUVrRCxTQUFTO3NCQUExRCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ00sYUFBYTtzQkFBbEUsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNKLE9BQU87c0JBQXRELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDckMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQU9JLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFRhYlR5cGUgfSBmcm9tICcuLi90YWIudHlwZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEV2YWx1YXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL3Blcm1pc3Npb25zL2V2YWx1YXRvcnMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ25kZi10YWJzJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbmRmLXRhYnMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL25kZi10YWJzLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDogeyBjbGFzczogJ3ctZnVsbCBoLWZ1bGwnIH0sXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcigndmlzaWJpbGl0eVNsaWRlJywgW1xyXG5cdFx0XHRzdGF0ZSgndHJ1ZScsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIHZpc2liaWxpdHk6ICcqJyB9KSksXHJcblx0XHRcdHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcclxuXHRcdFx0dHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzE1MG1zIGVhc2Utb3V0JykpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCd0cnVlID0+IGZhbHNlJywgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpKVxyXG5cdFx0XSlcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZUYWJzQ29tcG9uZW50PFQgZXh0ZW5kcyBUYWJUeXBlPFRbJ2lkJ10+PiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBDb250ZW50Q2hpbGQoJ3RhYkhlYWRlcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGFiSGVhZGVyPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAQ29udGVudENoaWxkKCdoZWFkZXJPcHRpb25zJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBoZWFkZXJPcHRpb25zPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAQ29udGVudENoaWxkKCd0YWJCb2R5JywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0YWJCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBJbnB1dCgpIHRhYnM6IFRbXTtcclxuXHRASW5wdXQoKSBhY3RpdmVUYWI6IFRbJ2lkJ107XHJcblxyXG5cdEBJbnB1dCgpIGlzQWxsb3dkVGFiRm46ICh0YWI6IFQpID0+IGJvb2xlYW4gPSAoXykgPT4gdHJ1ZTtcclxuXHJcblx0cHJpdmF0ZSBfc2hvd0hlYWRlciA9IHRydWU7XHJcblx0QElucHV0KCkgc2V0IHNob3dIZWFkZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX3Nob3dIZWFkZXIgPSB2YWx1ZTtcclxuXHR9XHJcblx0Z2V0IHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fc2hvd0hlYWRlcjtcclxuXHR9XHJcblxyXG5cdEBPdXRwdXQoKSBhY3RpdmVUYWJFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cdGNoZWNraW5nUGVybWlzc2lvbiA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0aW5qZWN0b3I6IEluamVjdG9yLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBldmFsdWF0b3JzU2VydmljZTogRXZhbHVhdG9yc1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHR9XHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmNoZWNrVGFic1Blcm1pc3Npb25zKCk7XHJcblx0fVxyXG5cclxuXHRjaGVja1RhYnNQZXJtaXNzaW9ucygpIHtcclxuXHRcdHRoaXMuY2hlY2tpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcclxuXHJcblx0XHRjb25zdCBwZXJtaXNzaW9uQ2FsbHM6IE9ic2VydmFibGU8eyBpZDogVFsnaWQnXTsgZW5hYmxlZDogYm9vbGVhbjsgc2Vjb25kYXJ5VGFiPzogYm9vbGVhbiB9PltdID0gW107XHJcblxyXG5cdFx0Y29uc3QgY3JlYXRlUGVybWlzc2lvbkNhbGwgPSAoXHJcblx0XHRcdGlkOiBUWydpZCddLFxyXG5cdFx0XHRwZXJtaXNzaW9uPzogc3RyaW5nLFxyXG5cdFx0XHRzZWNvbmRhcnlUYWI6IGJvb2xlYW4gPSBmYWxzZVxyXG5cdFx0KTogT2JzZXJ2YWJsZTx7IGlkOiBUWydpZCddOyBlbmFibGVkOiBib29sZWFuOyBzZWNvbmRhcnlUYWI/OiBib29sZWFuIH0+ID0+IHtcclxuXHRcdFx0aWYgKHBlcm1pc3Npb24pIHtcclxuXHRcdFx0XHRyZXR1cm4gZnJvbSh0aGlzLmV2YWx1YXRvcnNTZXJ2aWNlLmV2YWx1YXRlUnVsZShwZXJtaXNzaW9uKSkucGlwZShcclxuXHRcdFx0XHRcdG1hcCgocmVzKSA9PiAoeyBpZCwgZW5hYmxlZDogcmVzLCBzZWNvbmRhcnlUYWIgfSkpXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gb2YoeyBpZCwgZW5hYmxlZDogdHJ1ZSwgc2Vjb25kYXJ5VGFiIH0pO1xyXG5cdFx0fTtcclxuXHJcblx0XHR0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XHJcblx0XHRcdHBlcm1pc3Npb25DYWxscy5wdXNoKGNyZWF0ZVBlcm1pc3Npb25DYWxsKHRhYi5pZCwgdGFiLnBlcm1pc3Npb24pKTtcclxuXHJcblx0XHRcdHRhYi5zZWNvbmRhcnlfdGFicz8uZm9yRWFjaCgoc3ViVGFiKSA9PiB7XHJcblx0XHRcdFx0cGVybWlzc2lvbkNhbGxzLnB1c2goY3JlYXRlUGVybWlzc2lvbkNhbGwoc3ViVGFiLmlkLCBzdWJUYWIucGVybWlzc2lvbiwgdHJ1ZSkpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdGZvcmtKb2luKHBlcm1pc3Npb25DYWxscylcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG5cdFx0XHRcdHRhcCgocmVzdWx0cykgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3Qgc2Vjb25kYXJ5VGFic1Blcm1zID0gcmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc2Vjb25kYXJ5VGFiKTtcclxuXHRcdFx0XHRcdGNvbnN0IHByaW1hcnlUYWJzUGVybXMgPSByZXN1bHRzLmZpbHRlcigocikgPT4gIXIuc2Vjb25kYXJ5VGFiKTtcclxuXHJcblx0XHRcdFx0XHRsZXQgZmlsdGVyZWRUYWJzID0gY2xvbmVEZWVwKHRoaXMudGFicyk7XHJcblxyXG5cdFx0XHRcdFx0ZmlsdGVyZWRUYWJzID0gZmlsdGVyZWRUYWJzXHJcblx0XHRcdFx0XHRcdC5maWx0ZXIoKHRhYikgPT4gcHJpbWFyeVRhYnNQZXJtcy5zb21lKChwKSA9PiBwLmlkID09PSB0YWIuaWQgJiYgcC5lbmFibGVkKSlcclxuXHRcdFx0XHRcdFx0Lm1hcCgodGFiKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHRhYi5zZWNvbmRhcnlfdGFicz8ubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0YWIuc2Vjb25kYXJ5X3RhYnMgPSB0YWIuc2Vjb25kYXJ5X3RhYnMuZmlsdGVyKChzdWIpID0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHNlY29uZGFyeVRhYnNQZXJtcy5zb21lKChwKSA9PiBwLmlkID09PSBzdWIuaWQgJiYgcC5lbmFibGVkKVxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRhYjtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdFx0dGhpcy50YWJzID0gZmlsdGVyZWRUYWJzO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0aWYgKHRoaXMudGFicy5sZW5ndGggJiYgIXRoaXMuYWN0aXZlVGFiKSB7XHJcblx0XHRcdFx0XHR0aGlzLmFjdGl2YXRlVGFiKHRoaXMudGFic1swXSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuY2hlY2tpbmdQZXJtaXNzaW9uID0gZmFsc2U7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHRnZXQgYWN0aXZhdGVkVGFiSWQoKTogVFsnaWQnXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3RpdmVUYWIgPz8gdGhpcy50YWJzPy5bMF0/LmlkO1xyXG5cdH1cclxuXHJcblx0Z2V0IGFjdGl2YXRlZFRhYigpOiBUWydpZCddIHtcclxuXHRcdHJldHVybiB0aGlzLnRhYnMuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gdGhpcy5hY3RpdmF0ZWRUYWJJZCk7XHJcblx0fVxyXG5cclxuXHRhY3RpdmF0ZVRhYih0YWI6IFQpIHtcclxuXHRcdHRoaXMuYWN0aXZlVGFiID0gdGFiLmlkO1xyXG5cdFx0dGhpcy5hY3RpdmVUYWJFbWl0dGVyLmVtaXQodGFiKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcblx0XHR0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcblx0fVxyXG5cclxuXHRpc0VuYWJsZWRUYWIodGFiSWQ6IFQpIHtcclxuXHRcdHJldHVybiB0YWJJZC5pc0VuYWJsZSA/PyB0cnVlO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBuZGYtdGFicy13cmFwcGVyIHJvdW5kZWQtbWQgICBweC0wLjVcIiAqbmdJZj1cIiFjaGVja2luZ1Blcm1pc3Npb25cIj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInRhYnMtaGVhZGVyIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciB3LWZ1bGwgYm9yZGVyLWIgcHJpbnQ6aGlkZGVuXCJcclxuXHRcdFtAdmlzaWJpbGl0eVNsaWRlXT1cInNob3dIZWFkZXJcIlxyXG5cdFx0W2NsYXNzLm92ZXJmbG93LWhpZGRlbl09XCIhc2hvd0hlYWRlclwiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYnMtd3JhcHBlciBmbGV4IGp1c3RpZnktc3RhcnQgaXRlbXMtY2VudGVyIGdhcC0yLjUgc2VsZi1zdHJldGNoXCI+XHJcblx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRW5hYmxlZFRhYih0YWIpICYmIGlzQWxsb3dkVGFiRm4odGFiKVwiPlxyXG5cdFx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0XHRbbmdDbGFzc109XCJ7XHJcblx0XHRcdFx0XHRcdFx0J3NlbGVjdGVkLXRhYic6IGFjdGl2ZVRhYiA9PT0gdGFiLmlkXHJcblx0XHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cInRhYi1pdGVtIGZsZXggcC00IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBnYXAtMi41IHJvdW5kZWQtdC1tZCBmb250LW1lZGl1bSB0ZXh0LXhsIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImFjdGl2YXRlVGFiKHRhYilcIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGVcclxuXHRcdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJIZWFkZXIgfHwgZGVmYXVsdEhlYWRlclwiXHJcblx0XHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0YWIgfVwiXHJcblx0XHRcdFx0XHRcdD48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy1jb250YWluZXI+XHJcblx0XHRcdDwvbmctY29udGFpbmVyPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8bmctdGVtcGxhdGVcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyT3B0aW9uc1wiXHJcblx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogYWN0aXZhdGVkVGFiIH1cIlxyXG5cdFx0PjwvbmctdGVtcGxhdGU+XHJcblx0PC9kaXY+XHJcblx0PG5nLXRlbXBsYXRlXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJCb2R5IHx8IGRlZmF1bHRCb2R5XCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogYWN0aXZhdGVkVGFiIH1cIlxyXG5cdD48L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlciBsZXQtdGFiPnt7IHRhYi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJvZHk+RGVmYXVsdCBCb2R5PC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLXRhYnMvY29tcG9uZW50L25kZi10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi10YWJzL2NvbXBvbmVudC9uZGYtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBaUIzRCxNQUFNLE9BQU8sZ0JBQTZDLFNBQVEsYUFBYTtJQW1COUUsWUFDQyxRQUFrQixFQUNELGlCQUFvQztRQUVyRCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFGQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBZDdDLGtCQUFhLEdBQXdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFbEQsZ0JB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QzVELFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7NEJBQ3RELFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNyRCxDQUFDO3FCQUNGO2lCQUNEOytIQUVrRCxTQUFTO3NCQUExRCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ00sYUFBYTtzQkFBbEUsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNKLE9BQU87c0JBQXRELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDckMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQU9JLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFRhYlR5cGUgfSBmcm9tICcuLi90YWIudHlwZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEV2YWx1YXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL3Blcm1pc3Npb25zL2V2YWx1YXRvcnMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ25kZi10YWJzJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbmRmLXRhYnMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL25kZi10YWJzLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDogeyBjbGFzczogJ3ctZnVsbCBoLWZ1bGwnIH0sXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcigndmlzaWJpbGl0eVNsaWRlJywgW1xyXG5cdFx0XHRzdGF0ZSgndHJ1ZScsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIHZpc2liaWxpdHk6ICcqJyB9KSksXHJcblx0XHRcdHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcclxuXHRcdFx0dHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzE1MG1zIGVhc2Utb3V0JykpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCd0cnVlID0+IGZhbHNlJywgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpKVxyXG5cdFx0XSlcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZUYWJzQ29tcG9uZW50PFQgZXh0ZW5kcyBUYWJUeXBlPFRbJ2lkJ10+PiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBDb250ZW50Q2hpbGQoJ3RhYkhlYWRlcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGFiSGVhZGVyPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAQ29udGVudENoaWxkKCdoZWFkZXJPcHRpb25zJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBoZWFkZXJPcHRpb25zPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAQ29udGVudENoaWxkKCd0YWJCb2R5JywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0YWJCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBJbnB1dCgpIHRhYnM6IFRbXTtcclxuXHRASW5wdXQoKSBhY3RpdmVUYWI6IFRbJ2lkJ107XHJcblxyXG5cdEBJbnB1dCgpIGlzQWxsb3dkVGFiRm46ICh0YWI6IFQpID0+IGJvb2xlYW4gPSAoXykgPT4gdHJ1ZTtcclxuXHJcblx0cHJpdmF0ZSBfc2hvd0hlYWRlciA9IHRydWU7XHJcblx0QElucHV0KCkgc2V0IHNob3dIZWFkZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMuX3Nob3dIZWFkZXIgPSB2YWx1ZTtcclxuXHR9XHJcblx0Z2V0IHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fc2hvd0hlYWRlcjtcclxuXHR9XHJcblxyXG5cdEBPdXRwdXQoKSBhY3RpdmVUYWJFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cdGNoZWNraW5nUGVybWlzc2lvbiA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0aW5qZWN0b3I6IEluamVjdG9yLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBldmFsdWF0b3JzU2VydmljZTogRXZhbHVhdG9yc1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHR9XHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmNoZWNrVGFic1Blcm1pc3Npb25zKCk7XHJcblx0fVxyXG5cclxuXHRjaGVja1RhYnNQZXJtaXNzaW9ucygpIHtcclxuXHRcdHRoaXMuY2hlY2tpbmdQZXJtaXNzaW9uID0gdHJ1ZTtcclxuXHJcblx0XHRjb25zdCBwZXJtaXNzaW9uQ2FsbHM6IE9ic2VydmFibGU8eyBpZDogVFsnaWQnXTsgZW5hYmxlZDogYm9vbGVhbjsgc2Vjb25kYXJ5VGFiPzogYm9vbGVhbiB9PltdID0gW107XHJcblxyXG5cdFx0Y29uc3QgY3JlYXRlUGVybWlzc2lvbkNhbGwgPSAoXHJcblx0XHRcdGlkOiBUWydpZCddLFxyXG5cdFx0XHRwZXJtaXNzaW9uPzogc3RyaW5nLFxyXG5cdFx0XHRzZWNvbmRhcnlUYWI6IGJvb2xlYW4gPSBmYWxzZVxyXG5cdFx0KTogT2JzZXJ2YWJsZTx7IGlkOiBUWydpZCddOyBlbmFibGVkOiBib29sZWFuOyBzZWNvbmRhcnlUYWI/OiBib29sZWFuIH0+ID0+IHtcclxuXHRcdFx0aWYgKHBlcm1pc3Npb24pIHtcclxuXHRcdFx0XHRyZXR1cm4gZnJvbSh0aGlzLmV2YWx1YXRvcnNTZXJ2aWNlLmV2YWx1YXRlUnVsZShwZXJtaXNzaW9uKSkucGlwZShcclxuXHRcdFx0XHRcdG1hcCgocmVzKSA9PiAoeyBpZCwgZW5hYmxlZDogcmVzLCBzZWNvbmRhcnlUYWIgfSkpXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gb2YoeyBpZCwgZW5hYmxlZDogdHJ1ZSwgc2Vjb25kYXJ5VGFiIH0pO1xyXG5cdFx0fTtcclxuXHJcblx0XHR0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XHJcblx0XHRcdHBlcm1pc3Npb25DYWxscy5wdXNoKGNyZWF0ZVBlcm1pc3Npb25DYWxsKHRhYi5pZCwgdGFiLnBlcm1pc3Npb24pKTtcclxuXHJcblx0XHRcdHRhYi5zZWNvbmRhcnlfdGFicz8uZm9yRWFjaCgoc3ViVGFiKSA9PiB7XHJcblx0XHRcdFx0cGVybWlzc2lvbkNhbGxzLnB1c2goY3JlYXRlUGVybWlzc2lvbkNhbGwoc3ViVGFiLmlkLCBzdWJUYWIucGVybWlzc2lvbiwgdHJ1ZSkpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdGZvcmtKb2luKHBlcm1pc3Npb25DYWxscylcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG5cdFx0XHRcdHRhcCgocmVzdWx0cykgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3Qgc2Vjb25kYXJ5VGFic1Blcm1zID0gcmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc2Vjb25kYXJ5VGFiKTtcclxuXHRcdFx0XHRcdGNvbnN0IHByaW1hcnlUYWJzUGVybXMgPSByZXN1bHRzLmZpbHRlcigocikgPT4gIXIuc2Vjb25kYXJ5VGFiKTtcclxuXHJcblx0XHRcdFx0XHRsZXQgZmlsdGVyZWRUYWJzID0gY2xvbmVEZWVwKHRoaXMudGFicyk7XHJcblxyXG5cdFx0XHRcdFx0ZmlsdGVyZWRUYWJzID0gZmlsdGVyZWRUYWJzXHJcblx0XHRcdFx0XHRcdC5maWx0ZXIoKHRhYikgPT4gcHJpbWFyeVRhYnNQZXJtcy5zb21lKChwKSA9PiBwLmlkID09PSB0YWIuaWQgJiYgcC5lbmFibGVkKSlcclxuXHRcdFx0XHRcdFx0Lm1hcCgodGFiKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHRhYi5zZWNvbmRhcnlfdGFicz8ubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0YWIuc2Vjb25kYXJ5X3RhYnMgPSB0YWIuc2Vjb25kYXJ5X3RhYnMuZmlsdGVyKChzdWIpID0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHNlY29uZGFyeVRhYnNQZXJtcy5zb21lKChwKSA9PiBwLmlkID09PSBzdWIuaWQgJiYgcC5lbmFibGVkKVxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRhYjtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdFx0dGhpcy50YWJzID0gZmlsdGVyZWRUYWJzO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0aWYgKHRoaXMudGFicy5sZW5ndGggJiYgIXRoaXMuYWN0aXZlVGFiKSB7XHJcblx0XHRcdFx0XHR0aGlzLmFjdGl2YXRlVGFiKHRoaXMudGFic1swXSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuY2hlY2tpbmdQZXJtaXNzaW9uID0gZmFsc2U7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHRnZXQgYWN0aXZhdGVkVGFiSWQoKTogVFsnaWQnXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3RpdmVUYWIgPz8gdGhpcy50YWJzPy5bMF0/LmlkO1xyXG5cdH1cclxuXHJcblx0Z2V0IGFjdGl2YXRlZFRhYigpOiBUWydpZCddIHtcclxuXHRcdHJldHVybiB0aGlzLnRhYnMuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gdGhpcy5hY3RpdmF0ZWRUYWJJZCk7XHJcblx0fVxyXG5cclxuXHRhY3RpdmF0ZVRhYih0YWI6IFQpIHtcclxuXHRcdHRoaXMuYWN0aXZlVGFiID0gdGFiLmlkO1xyXG5cdFx0dGhpcy5hY3RpdmVUYWJFbWl0dGVyLmVtaXQodGFiKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcblx0XHR0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcblx0fVxyXG5cclxuXHRpc0VuYWJsZWRUYWIodGFiSWQ6IFQpIHtcclxuXHRcdHJldHVybiB0YWJJZC5pc0VuYWJsZSA/PyB0cnVlO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBuZGYtdGFicy13cmFwcGVyIHJvdW5kZWQtbWQgICBweC0wLjVcIiAqbmdJZj1cIiFjaGVja2luZ1Blcm1pc3Npb25cIj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInRhYnMtaGVhZGVyIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciB3LWZ1bGwgYm9yZGVyLWIgcHJpbnQ6aGlkZGVuXCJcclxuXHRcdFtAdmlzaWJpbGl0eVNsaWRlXT1cInNob3dIZWFkZXJcIlxyXG5cdFx0W2NsYXNzLm92ZXJmbG93LWhpZGRlbl09XCIhc2hvd0hlYWRlclwiXHJcblx0PlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYnMtd3JhcHBlciBmbGV4IGp1c3RpZnktc3RhcnQgaXRlbXMtY2VudGVyIGdhcC0yLjUgc2VsZi1zdHJldGNoXCI+XHJcblx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRW5hYmxlZFRhYih0YWIpICYmIGlzQWxsb3dkVGFiRm4odGFiKVwiPlxyXG5cdFx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0XHRbbmdDbGFzc109XCJ7XHJcblx0XHRcdFx0XHRcdFx0J3NlbGVjdGVkLXRhYic6IGFjdGl2ZVRhYiA9PT0gdGFiLmlkXHJcblx0XHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cInRhYi1pdGVtIGZsZXggcC00IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBnYXAtMi41IHJvdW5kZWQtdC1tZCBmb250LW1lZGl1bSB0ZXh0LXhsIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImFjdGl2YXRlVGFiKHRhYilcIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGVcclxuXHRcdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJIZWFkZXIgfHwgZGVmYXVsdEhlYWRlclwiXHJcblx0XHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0YWIgfVwiXHJcblx0XHRcdFx0XHRcdD48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy1jb250YWluZXI+XHJcblx0XHRcdDwvbmctY29udGFpbmVyPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8bmctdGVtcGxhdGVcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyT3B0aW9uc1wiXHJcblx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogYWN0aXZhdGVkVGFiIH1cIlxyXG5cdFx0PjwvbmctdGVtcGxhdGU+XHJcblx0PC9kaXY+XHJcblx0PG5nLXRlbXBsYXRlXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJCb2R5IHx8IGRlZmF1bHRCb2R5XCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogYWN0aXZhdGVkVGFiIH1cIlxyXG5cdD48L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlciBsZXQtdGFiPnt7IHRhYi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJvZHk+RGVmYXVsdCBCb2R5PC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -107,7 +107,7 @@ export class NotificationsButtonComponent extends BaseNotification {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
NotificationsButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsButtonComponent, deps: [{ token: i0.Injector }, { token: i1.TranslationService }, { token: i2.CustomToastrService }, { token: i0.ChangeDetectorRef }, { token: NOTIFICATIONS_LIST_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
-
NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { styleClass: "styleClass", badgeOptions: "badgeOptions", shouldMarkAsUnread: "shouldMarkAsUnread", ignoredToastEvents: "ignoredToastEvents" }, outputs: { listItemClick: "listItemClick", openSettings: "openSettings", openNotifications: "openNotifications", onNotification: "onNotification" }, host: { classAttribute: "inline-flex justify-center items-center notification-button" }, queries: [{ propertyName: "customIconTemplate", first: true, predicate: NOTIFICATION_ICON, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<button\r\n *ngIf=\"panelMode === panelModeEnum.panel\"\r\n [matMenuTriggerFor]=\"notifications\"\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n>\r\n <ng-container [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\">\r\n </ng-container>\r\n</button>\r\n\r\n<mat-menu #notifications=\"matMenu\" class=\"notification-list-panel\">\r\n <ng-template matMenuContent>\r\n <app-notifications-list\r\n (itemClicked)=\"listItemClick.emit($event); notifications.closed.emit()\"\r\n (openSettings)=\"openSettings.emit($event); notifications.closed.emit()\"\r\n (openNotifications)=\"\r\n openNotifications.emit($event); notifications.closed.emit()\r\n \"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n <div class=\"notification-list-panel__footer flex justify-center\">\r\n <ng-content select=\"[notifications-footer]\"></ng-content>\r\n </div>\r\n</mat-menu>\r\n\r\n<ng-container *ngIf=\"panelMode === panelModeEnum.sidebar\">\r\n <button\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n (click)=\"toggleSideBar()\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\"\r\n >\r\n </ng-container>\r\n </button>\r\n <app-notifications-sidebar\r\n [(visible)]=\"isSidebarOpened\"\r\n (visibleChange)=\"refreshUnreadCount()\"\r\n [position]=\"sidebarPosition$ | async\"\r\n >\r\n <ng-template appNotificationSidebarContent>\r\n <app-notifications-list\r\n class=\"notifications-sidebar\"\r\n (itemClicked)=\"\r\n listItemClick.emit($event); toggleSideBar(false); refreshUnreadCount()\r\n \"\r\n (openSettings)=\"openSettings.emit($event); toggleSideBar(false)\"\r\n (openNotifications)=\"\r\n openNotifications.emit($event); toggleSideBar(false)\r\n \"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n </app-notifications-sidebar>\r\n</ng-container>\r\n\r\n<ng-template #defaultIconTemplate>\r\n <i class=\"bi bi-bell bell notification-button-icon\"></i>\r\n</ng-template>\r\n", styles: [".notification-button{font-size:var(--not-btn-font-size, 1.5rem);width:var(--not-btn-width, 40px)}.notification-button .mat-badge-content{text-overflow:unset;width:18px;height:18px;line-height:18px}.notification-button-icon{font-size:var(--not-btn-icon-size, inherit)}.notification-list-panel{--width: var(--nos-panel-width, min(80vw, 450px));width:var(--width);border-radius:var(--nos-panel-radius, 5px);overflow:hidden;-webkit-overflow-scrolling:touch;outline:0;background:var(--nos-panel-background, #fff)}.notification-list-panel.mat-menu-panel{max-width:var(--width);max-height:var(--nos-panel-max-height, var(--height))}.notification-list-panel__navigate-btn{background:var(--not-btn-background, transparent);border-radius:var(--not-btn-radius, 5px);padding:var(--not-btn-padding, .5rem 1rem);margin:var(--not-btn-margin, .5rem 0);color:var(--not-btn-color, currentColor);width:var(--not-btn-width, 90%)}.notification-list-panel__navigate-btn:hover{--not-btn-background: var(--not-btn-hover-background, #f0f0f0);--not-btn-color: var(--not-btn-hover-color);-webkit-text-decoration:var(--not-btn-decoration, none);text-decoration:var(--not-btn-decoration, none)}.notification-list-panel__navigate-btn:active{--not-btn-background: var(--not-btn-active-background, #e2e2e2);--not-btn-color: var(--not-btn-active-color)}.notifications-sidebar{--nto-list-header-padding: var(--sidebar-list-header-padding, 1rem);--nto-list-height: var(--sidebar-list-height, calc(
|
|
110
|
+
NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { styleClass: "styleClass", badgeOptions: "badgeOptions", shouldMarkAsUnread: "shouldMarkAsUnread", ignoredToastEvents: "ignoredToastEvents" }, outputs: { listItemClick: "listItemClick", openSettings: "openSettings", openNotifications: "openNotifications", onNotification: "onNotification" }, host: { classAttribute: "inline-flex justify-center items-center notification-button" }, queries: [{ propertyName: "customIconTemplate", first: true, predicate: NOTIFICATION_ICON, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<button\r\n *ngIf=\"panelMode === panelModeEnum.panel\"\r\n [matMenuTriggerFor]=\"notifications\"\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n>\r\n <ng-container [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\">\r\n </ng-container>\r\n</button>\r\n\r\n<mat-menu #notifications=\"matMenu\" class=\"notification-list-panel\">\r\n <ng-template matMenuContent>\r\n <app-notifications-list\r\n (itemClicked)=\"listItemClick.emit($event); notifications.closed.emit()\"\r\n (openSettings)=\"openSettings.emit($event); notifications.closed.emit()\"\r\n (openNotifications)=\"\r\n openNotifications.emit($event); notifications.closed.emit()\r\n \"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n <div class=\"notification-list-panel__footer flex justify-center\">\r\n <ng-content select=\"[notifications-footer]\"></ng-content>\r\n </div>\r\n</mat-menu>\r\n\r\n<ng-container *ngIf=\"panelMode === panelModeEnum.sidebar\">\r\n <button\r\n [matBadge]=\"newNotificationCount$ | async\"\r\n [matBadgeHidden]=\"!(showBadge$ | async)\"\r\n [matBadgeSize]=\"badgeOptions.size\"\r\n [matBadgeColor]=\"badgeOptions.color\"\r\n [matBadgePosition]=\"badgeOptions.position\"\r\n [class]=\"styleClass\"\r\n (click)=\"toggleSideBar()\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"customIconTemplate || defaultIconTemplate\"\r\n >\r\n </ng-container>\r\n </button>\r\n <app-notifications-sidebar\r\n [(visible)]=\"isSidebarOpened\"\r\n (visibleChange)=\"refreshUnreadCount()\"\r\n [position]=\"sidebarPosition$ | async\"\r\n >\r\n <ng-template appNotificationSidebarContent>\r\n <app-notifications-list\r\n class=\"notifications-sidebar\"\r\n (itemClicked)=\"\r\n listItemClick.emit($event); toggleSideBar(false); refreshUnreadCount()\r\n \"\r\n (openSettings)=\"openSettings.emit($event); toggleSideBar(false)\"\r\n (openNotifications)=\"\r\n openNotifications.emit($event); toggleSideBar(false)\r\n \"\r\n (markAllRead)=\"refreshUnreadCount()\"\r\n ></app-notifications-list>\r\n </ng-template>\r\n </app-notifications-sidebar>\r\n</ng-container>\r\n\r\n<ng-template #defaultIconTemplate>\r\n <i class=\"bi bi-bell bell notification-button-icon\"></i>\r\n</ng-template>\r\n", styles: [".notification-button{font-size:var(--not-btn-font-size, 1.5rem);width:var(--not-btn-width, 40px)}.notification-button .mat-badge-content{text-overflow:unset;width:18px;height:18px;line-height:18px}.notification-button-icon{font-size:var(--not-btn-icon-size, inherit)}.notification-list-panel{--width: var(--nos-panel-width, min(80vw, 450px));width:var(--width);border-radius:var(--nos-panel-radius, 5px);overflow:hidden;-webkit-overflow-scrolling:touch;outline:0;background:var(--nos-panel-background, #fff)}.notification-list-panel.mat-menu-panel{max-width:var(--width);max-height:var(--nos-panel-max-height, var(--height))}.notification-list-panel__navigate-btn{background:var(--not-btn-background, transparent);border-radius:var(--not-btn-radius, 5px);padding:var(--not-btn-padding, .5rem 1rem);margin:var(--not-btn-margin, .5rem 0);color:var(--not-btn-color, currentColor);width:var(--not-btn-width, 90%)}.notification-list-panel__navigate-btn:hover{--not-btn-background: var(--not-btn-hover-background, #f0f0f0);--not-btn-color: var(--not-btn-hover-color);-webkit-text-decoration:var(--not-btn-decoration, none);text-decoration:var(--not-btn-decoration, none)}.notification-list-panel__navigate-btn:active{--not-btn-background: var(--not-btn-active-background, #e2e2e2);--not-btn-color: var(--not-btn-active-color)}.notifications-sidebar{--nto-list-header-padding: var(--sidebar-list-header-padding, 1rem);--nto-list-height: var(--sidebar-list-height, calc(100dvh - 100px))}\n"], components: [{ type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i4.NotificationsListComponent, selector: "app-notifications-list", outputs: ["openSettings", "openNotifications"] }, { type: i5.NotificationsSidebarComponent, selector: "app-notifications-sidebar", inputs: ["appendToBody", "clearOnCLose", "visible", "position"], outputs: ["visibleChange", "onShow", "onHide"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i8.NotificationSidebarContentDirective, selector: "[appNotificationSidebarContent]" }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
111
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsButtonComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
113
|
args: [{
|
|
@@ -61,7 +61,7 @@ export class NdfNuxeoDialog extends BaseComponent {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
NdfNuxeoDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
-
NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", panelClass: "panelClass", bodyClass: "bodyClass", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper flex flex-col h-full\" [class]=\"data?.dialogConfig?.panelClass ?? panelClass\">\r\n\t<div\r\n\t\tclass=\"dialog-header flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7\"\r\n\t>\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\">{{ data?.dialogConfig?.subTitle || subTitle }}</span>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\"> </mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div\r\n\t\t#dialogBody\r\n\t\tclass=\"dialog-body flex flex-col {{bodyClass}} overflow-y-auto relative z-99\"\r\n\t\t[ngClass]=\"{'overflow-hidden': loading}\"\r\n\t>\r\n\t\t<ng-container *ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate ; context: { dialog: this }\"></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div class=\"ndf-dialog-overlay z-999\" [ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"ndf-dialog-loader z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner [value]=\"90\" [strokeWidth]=\"4\" overlay=\"true\" [diameter]=\"40\" color=\"primary\"> </mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"block w-full h-px absolute inset-0 z-9999\" *ngIf=\"loaderMode === 'progressBar'\">\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-between p-6 pt-0 gap-x-4\">\r\n\t\t<span>\r\n\t\t\t<ng-container *ngTemplateOutlet=\"footerTemplate; context: { dialog: this }\"></ng-container>\r\n\t\t</span>\r\n\t\t<span class=\"flex gap-x-4\">\r\n\t\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">{{\"BUTTONS.CANCEL\" | translate}}</button>\r\n\t\t\t<ng-container\r\n\t\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t\t></ng-container>\r\n\t\t</span>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper .dialog-body{height:100%;max-height:var(--dialog-body-max-height, calc(
|
|
64
|
+
NdfNuxeoDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: { dialogTitle: "dialogTitle", subTitle: "subTitle", panelClass: "panelClass", bodyClass: "bodyClass", loaderMode: "loaderMode" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }], viewQueries: [{ propertyName: "dialogBody", first: true, predicate: ["dialogBody"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div SetDirRtl class=\"ndf-dialog-wrapper flex flex-col h-full\" [class]=\"data?.dialogConfig?.panelClass ?? panelClass\">\r\n\t<div\r\n\t\tclass=\"dialog-header flex h-20 p-6 justify-between items-center w-full bg-vapor text-blue-munsell text-xl not-italic font-bold leading-7\"\r\n\t>\r\n\t\t<div class=\"flex flex-col\">\r\n\t\t\t<span>{{ data?.dialogConfig?.title || dialogTitle }}</span>\r\n\t\t\t<span class=\"text-base font-normal\">{{ data?.dialogConfig?.subTitle || subTitle }}</span>\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\tclass=\"flex items-center justify-center rounded-full bg-anti-flash-white w-10 h-10\"\r\n\t\t\t(click)=\"executeAction()\"\r\n\t\t\tmatTooltip=\"{{'BUTTONS.CLOSE' | translate}}\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"icon-size-3.5\" [svgIcon]=\"'icons:cancel-icon'\"> </mat-icon>\r\n\t\t</button>\r\n\t</div>\r\n\t<div\r\n\t\t#dialogBody\r\n\t\tclass=\"dialog-body flex flex-col {{bodyClass}} overflow-y-auto relative z-99\"\r\n\t\t[ngClass]=\"{'overflow-hidden': loading}\"\r\n\t>\r\n\t\t<ng-container *ngTemplateOutlet=\"data?.dialogConfig?.contentTemplate || contentTemplate ; context: { dialog: this }\"></ng-container>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<div class=\"ndf-dialog-overlay z-999\" [ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"></div>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"ndf-dialog-loader z-9999\"\r\n\t\t\t\t*ngIf=\"loaderMode === 'spinner'\"\r\n\t\t\t\t[ngStyle]=\"{'top': dialogBodyTopOffset + 'px'}\"\r\n\t\t\t>\r\n\t\t\t\t<mat-spinner [value]=\"90\" [strokeWidth]=\"4\" overlay=\"true\" [diameter]=\"40\" color=\"primary\"> </mat-spinner>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"block w-full h-px absolute inset-0 z-9999\" *ngIf=\"loaderMode === 'progressBar'\">\r\n\t\t\t\t<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"flex w-full justify-between p-6 pt-0 gap-x-4\">\r\n\t\t<span>\r\n\t\t\t<ng-container *ngTemplateOutlet=\"footerTemplate; context: { dialog: this }\"></ng-container>\r\n\t\t</span>\r\n\t\t<span class=\"flex gap-x-4\">\r\n\t\t\t<button class=\"cancelation-button\" (click)=\"executeAction()\">{{\"BUTTONS.CANCEL\" | translate}}</button>\r\n\t\t\t<ng-container\r\n\t\t\t\t*ngTemplateOutlet=\"(data?.dialogConfig?.actionsTemplate || actionsTemplate); context: { dialog: this }\"\r\n\t\t\t></ng-container>\r\n\t\t</span>\r\n\t</div>\r\n</div>\r\n", styles: ["::ng-deep .ndf-dialog .mat-dialog-container{overflow:hidden!important;border-radius:8px!important}.ndf-dialog-wrapper .dialog-body{height:100%;max-height:var(--dialog-body-max-height, calc(100dvh - 208px))}.ndf-dialog-wrapper .dialog-body .ndf-dialog-overlay,.ndf-dialog-wrapper .dialog-body .ndf-dialog-loader{display:flex;width:100%;height:100%;align-items:center;justify-content:center;position:absolute;left:0px;bottom:0px;right:0px}.ndf-dialog-wrapper .dialog-body .ndf-dialog-overlay{background-color:#cbd5e166}:host{height:100%;display:block}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfNuxeoDialog, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
67
|
args: [{
|