nuxeo-development-framework 3.8.2 → 3.8.3
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 +32267 -30524
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +154 -0
- package/esm2015/lib/components/notifications/components/base-notifications.component.js +35 -0
- package/esm2015/lib/components/notifications/components/index.js +7 -0
- package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +44 -0
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +41 -129
- package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +34 -0
- package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +26 -0
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +75 -165
- package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +59 -0
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +53 -175
- package/esm2015/lib/components/notifications/components/notifications-list/options.js +24 -0
- package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +43 -0
- package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +28 -0
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +30 -0
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +163 -0
- package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +28 -0
- package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +158 -0
- package/esm2015/lib/components/notifications/constants/date.js +8 -0
- package/esm2015/lib/components/notifications/constants/index.js +5 -0
- package/esm2015/lib/components/notifications/constants/pagination.js +5 -0
- package/esm2015/lib/components/notifications/constants/panel.js +5 -0
- package/esm2015/lib/components/notifications/constants/status.js +10 -0
- package/esm2015/lib/components/notifications/containers/index.js +3 -0
- package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +98 -0
- package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +18 -0
- package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +67 -0
- package/esm2015/lib/components/notifications/directives/button.directive.js +28 -0
- package/esm2015/lib/components/notifications/directives/index.js +3 -0
- package/esm2015/lib/components/notifications/directives/notification.directive.js +28 -0
- package/esm2015/lib/components/notifications/index.js +2 -0
- package/esm2015/lib/components/notifications/models/common.js +2 -0
- package/esm2015/lib/components/notifications/models/index.js +11 -0
- package/esm2015/lib/components/notifications/models/notification-definition.model.js +2 -0
- package/esm2015/lib/components/notifications/models/notification-options.js +2 -0
- package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +2 -0
- package/esm2015/lib/components/notifications/models/notification-subscription.model.js +2 -0
- package/esm2015/lib/components/notifications/models/notification.model.js +2 -0
- package/esm2015/lib/components/notifications/models/notifications-list-options.js +3 -0
- package/esm2015/lib/components/notifications/models/paging-response.model.js +2 -0
- package/esm2015/lib/components/notifications/models/params.model.js +2 -0
- package/esm2015/lib/components/notifications/models/vocabularies.js +2 -0
- package/esm2015/lib/components/notifications/notifications.module.js +80 -46
- package/esm2015/lib/components/notifications/public-api.js +9 -0
- package/esm2015/lib/components/notifications/services/index.js +2 -0
- package/esm2015/lib/components/notifications/services/listener.service.js +19 -0
- package/esm2015/lib/components/notifications/services/notifications.service.js +155 -0
- package/esm2015/lib/components/notifications/services/params.service.js +31 -0
- package/esm2015/lib/components/notifications/services/response.service.js +65 -0
- package/esm2015/lib/components/notifications/utilities/index.js +2 -0
- package/esm2015/lib/components/notifications/utilities/response.adapter.js +12 -0
- package/esm2015/lib/components/{notifications → toasts}/components/notification-toast/notification-toast.component.js +7 -11
- package/esm2015/lib/components/toasts/index.js +2 -0
- package/esm2015/lib/components/toasts/public-api.js +3 -0
- package/esm2015/lib/components/toasts/toasts.module.js +19 -0
- package/esm2015/lib/core/models/api-response.model.js +2 -0
- package/esm2015/lib/core/models/automation-response.model.js +2 -0
- package/esm2015/lib/core/models/base-response.models.js +2 -0
- package/esm2015/lib/core/models/index.js +5 -0
- package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +3 -3
- package/esm2015/lib/core/services/translation/translation.service.js +3 -3
- package/esm2015/public-api.js +136 -142
- package/fesm2015/nuxeo-development-framework.js +25617 -24039
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/notifications/components/base-list-notfications.component.d.ts +40 -0
- package/lib/components/notifications/components/base-notifications.component.d.ts +20 -0
- package/lib/components/notifications/components/index.d.ts +6 -0
- package/lib/components/notifications/components/notification-item/get-icon.pipe.d.ts +8 -0
- package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +21 -22
- package/lib/components/notifications/components/notification-source-select/notification-source-select.component.d.ts +12 -0
- package/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.d.ts +8 -0
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +29 -30
- package/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.d.ts +19 -0
- package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +15 -54
- package/lib/components/notifications/components/notifications-list/options.d.ts +2 -0
- package/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.d.ts +15 -0
- package/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.d.ts +8 -0
- package/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.d.ts +3 -0
- package/lib/components/notifications/components/notifications-settings/notifications-settings.component.d.ts +40 -0
- package/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.d.ts +9 -0
- package/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.d.ts +43 -0
- package/lib/components/notifications/constants/date.d.ts +7 -0
- package/lib/components/notifications/constants/index.d.ts +4 -0
- package/lib/components/notifications/constants/pagination.d.ts +4 -0
- package/lib/components/notifications/constants/panel.d.ts +4 -0
- package/lib/components/notifications/constants/status.d.ts +9 -0
- package/lib/components/notifications/containers/index.d.ts +2 -0
- package/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.d.ts +27 -0
- package/lib/components/notifications/containers/notifications-list-container/options.d.ts +2 -0
- package/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.d.ts +22 -0
- package/lib/components/notifications/directives/button.directive.d.ts +9 -0
- package/lib/components/notifications/directives/index.d.ts +2 -0
- package/lib/components/notifications/directives/notification.directive.d.ts +9 -0
- package/lib/components/notifications/index.d.ts +1 -0
- package/lib/components/notifications/models/common.d.ts +64 -0
- package/lib/components/notifications/models/index.d.ts +10 -0
- package/lib/components/notifications/models/notification-definition.model.d.ts +17 -0
- package/lib/components/notifications/models/notification-options.d.ts +7 -0
- package/lib/components/notifications/models/notification-setting.presenter.d.ts +24 -0
- package/lib/components/notifications/models/notification-subscription.model.d.ts +13 -0
- package/lib/components/notifications/models/notification.model.d.ts +16 -0
- package/lib/components/notifications/models/notifications-list-options.d.ts +34 -0
- package/lib/components/notifications/models/paging-response.model.d.ts +12 -0
- package/lib/components/notifications/models/params.model.d.ts +6 -0
- package/lib/components/notifications/models/vocabularies.d.ts +12 -0
- package/lib/components/notifications/notifications.module.d.ts +32 -16
- package/lib/components/notifications/public-api.d.ts +8 -0
- package/lib/components/notifications/services/index.d.ts +1 -0
- package/lib/components/notifications/services/listener.service.d.ts +8 -0
- package/lib/components/notifications/services/notifications.service.d.ts +55 -0
- package/lib/components/notifications/services/params.service.d.ts +19 -0
- package/lib/components/notifications/services/response.service.d.ts +19 -0
- package/lib/components/notifications/utilities/index.d.ts +1 -0
- package/lib/components/notifications/utilities/response.adapter.d.ts +3 -0
- package/lib/components/{notifications → toasts}/components/notification-toast/notification-toast.component.d.ts +1 -3
- package/lib/components/toasts/index.d.ts +1 -0
- package/lib/components/toasts/public-api.d.ts +2 -0
- package/lib/components/toasts/toasts.module.d.ts +8 -0
- package/lib/core/models/api-response.model.d.ts +24 -0
- package/lib/core/models/automation-response.model.d.ts +24 -0
- package/lib/core/models/base-response.models.d.ts +12 -0
- package/lib/core/models/index.d.ts +4 -0
- package/lib/core/services/nuxeo/nuxeo.service.d.ts +1 -1
- package/lib/core/services/translation/translation.service.d.ts +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +130 -136
- package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +0 -22
- package/esm2015/lib/components/notifications/notifications.service.js +0 -358
- package/lib/components/notifications/components/notification-options/notification-options.component.d.ts +0 -10
- package/lib/components/notifications/notifications.service.d.ts +0 -87
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Directive, EventEmitter, Output, } from '@angular/core';
|
|
2
|
+
import { finalize, map, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
3
|
+
import { NOTIFICATION_STATUS, PAGINATION_MODE } from '../constants';
|
|
4
|
+
import { ListenerService } from '../services/listener.service';
|
|
5
|
+
import { ParamsService } from '../services/params.service';
|
|
6
|
+
import { ResponseService } from '../services/response.service';
|
|
7
|
+
import { BaseNotification } from './base-notifications.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class BaseListNotifications extends BaseNotification {
|
|
10
|
+
constructor(inject) {
|
|
11
|
+
super(inject);
|
|
12
|
+
this.inject = inject;
|
|
13
|
+
this.markAllRead = new EventEmitter();
|
|
14
|
+
this.itemClicked = new EventEmitter();
|
|
15
|
+
this._paramsService = this.inject.get(ParamsService);
|
|
16
|
+
this._responseService = this.inject.get(ResponseService);
|
|
17
|
+
this._listenerService = this.inject.get(ListenerService);
|
|
18
|
+
this._cdr = this.inject.get(ChangeDetectorRef);
|
|
19
|
+
this.response$ = this._responseService.response$;
|
|
20
|
+
this.trackByFn = (_, item) => item.uid;
|
|
21
|
+
this.isLoadingResult = false;
|
|
22
|
+
this.direction$ = this._translationService.isArabic$.pipe(map((isArabic) => (isArabic ? 'rtl' : 'ltr')));
|
|
23
|
+
this.paginationModeEnum = PAGINATION_MODE;
|
|
24
|
+
this._listenerService.onUpdate$
|
|
25
|
+
.pipe(switchMap((data) => this._updateList()), takeUntil(this.destroy$))
|
|
26
|
+
.subscribe((res) => {
|
|
27
|
+
this._responseService.setResponse(res, true);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
markAllAsRead(event) {
|
|
31
|
+
this.notificationsService
|
|
32
|
+
.markAllAsRead()
|
|
33
|
+
.pipe(takeUntil(this.destroy$))
|
|
34
|
+
.subscribe((res) => {
|
|
35
|
+
this._listenerService.triggerUpdate('markAllAsRead');
|
|
36
|
+
this.markAllRead.emit(event);
|
|
37
|
+
this._responseService.resetPagination();
|
|
38
|
+
this._paramsService.applyParams({
|
|
39
|
+
override: true,
|
|
40
|
+
params: {
|
|
41
|
+
currentPageIndex: 0,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
onScrollDown() {
|
|
47
|
+
if (this._responseService.totalItems > this._responseService.itemsLength &&
|
|
48
|
+
!this.isLoadingResult) {
|
|
49
|
+
this._responseService.increasePage();
|
|
50
|
+
this._paramsService.applyParams({
|
|
51
|
+
override: false,
|
|
52
|
+
params: Object.assign(Object.assign({}, this._paramsService.activatedQuery.params), { currentPageIndex: this._responseService.selectedPage }),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
changePage(page) {
|
|
57
|
+
this._responseService.setPage(page);
|
|
58
|
+
this._paramsService.applyParams({
|
|
59
|
+
override: true,
|
|
60
|
+
params: Object.assign(Object.assign({}, this._paramsService.activatedQuery.params), { currentPageIndex: this._responseService.selectedPage }),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
onItemClick(notification) {
|
|
64
|
+
var _a;
|
|
65
|
+
this.itemClicked.emit(notification);
|
|
66
|
+
if (((_a = notification.properties) === null || _a === void 0 ? void 0 : _a['notif_cnt:status']) !== NOTIFICATION_STATUS.read) {
|
|
67
|
+
this.markAsRead(notification);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
markAsRead(notification) {
|
|
71
|
+
this.notificationsService
|
|
72
|
+
.markAsRead(notification.uid)
|
|
73
|
+
.pipe(takeUntil(this.destroy$))
|
|
74
|
+
.subscribe((res) => {
|
|
75
|
+
this._listenerService.triggerUpdate('markAsRead');
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
markAsUnread(notification) {
|
|
79
|
+
this.notificationsService
|
|
80
|
+
.markAsUnread(notification.uid)
|
|
81
|
+
.pipe(takeUntil(this.destroy$))
|
|
82
|
+
.subscribe((res) => {
|
|
83
|
+
this._listenerService.triggerUpdate('markAsUnread');
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
markAsDeleted(notification) {
|
|
87
|
+
this.notificationsService
|
|
88
|
+
.markAsDeleted(notification.uid)
|
|
89
|
+
.pipe(takeUntil(this.destroy$))
|
|
90
|
+
.subscribe((res) => {
|
|
91
|
+
this._listenerService.triggerUpdate('markAsDeleted');
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
_applyFilter(params) {
|
|
95
|
+
this._responseService.resetPagination();
|
|
96
|
+
this._paramsService.applyParams({
|
|
97
|
+
override: true,
|
|
98
|
+
params,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
_prepareData() {
|
|
102
|
+
let isOverride = false;
|
|
103
|
+
this._paramsService.params$
|
|
104
|
+
.pipe(tap((query) => {
|
|
105
|
+
isOverride = query.override;
|
|
106
|
+
this.isLoadingResult = true;
|
|
107
|
+
this._cdr.detectChanges();
|
|
108
|
+
}), switchMap((query) => {
|
|
109
|
+
return this.notificationsService.getNotifications(query.params).pipe(finalize(() => {
|
|
110
|
+
this.isLoadingResult = false;
|
|
111
|
+
this._cdr.detectChanges();
|
|
112
|
+
}));
|
|
113
|
+
}), takeUntil(this.destroy$))
|
|
114
|
+
.subscribe((res) => {
|
|
115
|
+
this._responseService.setResponse(res, isOverride);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
_prepareLanguage() {
|
|
119
|
+
this._translationService.isArabic$
|
|
120
|
+
.pipe(map((data) => (data ? 'ar-AR' : 'en-US')), takeUntil(this.destroy$))
|
|
121
|
+
.subscribe((res) => {
|
|
122
|
+
this.currentLang = res;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
_updateList() {
|
|
126
|
+
const query = this._paramsService.activatedQuery;
|
|
127
|
+
const payload = Object.assign(Object.assign({}, query), { currentPageIndex: 0 });
|
|
128
|
+
if (!this.options) {
|
|
129
|
+
return this.notificationsService.getNotificationsMongo(payload);
|
|
130
|
+
}
|
|
131
|
+
if (this.options.paginationMode === PAGINATION_MODE.navigator) {
|
|
132
|
+
Object.assign(payload, {
|
|
133
|
+
currentPageIndex: this._responseService.selectedPage,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
if (this.options.paginationMode === PAGINATION_MODE.scroll) {
|
|
137
|
+
const page = this._responseService.selectedPage + 1;
|
|
138
|
+
Object.assign(payload, {
|
|
139
|
+
pageSize: Math.floor(page * ((query === null || query === void 0 ? void 0 : query.pageSize) || 20)),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return this.notificationsService.getNotificationsMongo(payload);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
BaseListNotifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseListNotifications, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
146
|
+
BaseListNotifications.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseListNotifications, outputs: { markAllRead: "markAllRead", itemClicked: "itemClicked" }, usesInheritance: true, ngImport: i0 });
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseListNotifications, decorators: [{
|
|
148
|
+
type: Directive
|
|
149
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { markAllRead: [{
|
|
150
|
+
type: Output
|
|
151
|
+
}], itemClicked: [{
|
|
152
|
+
type: Output
|
|
153
|
+
}] } });
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LW5vdGZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvY29tcG9uZW50cy9iYXNlLWxpc3Qtbm90ZmljYXRpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBRVosTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU1wRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQXdCekQsWUFBc0IsTUFBZ0I7UUFDcEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRE0sV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQXZCNUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFcEQsbUJBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJ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QUFDLElBQUksR0FBRyxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFFBQVEsS0FBSSxFQUFFLENBQUMsQ0FBQzthQUNyRCxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7O21IQXJMVSxxQkFBcUI7dUdBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxTQUFTOytGQUVFLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE5PVElGSUNBVElPTl9TVEFUVVMsIFBBR0lOQVRJT05fTU9ERSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7XHJcbiAgTm90aWZpY2F0aW9uTW9kZWwsXHJcbiAgTm90aWZpY2F0aW9uc0xpc3RPcHRpb25zLFxyXG4gIFBheWxvYWRQYXJhbXNNb2RlbCxcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBMaXN0ZW5lclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9saXN0ZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFyYW1zU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BhcmFtcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVzcG9uc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVzcG9uc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VOb3RpZmljYXRpb24gfSBmcm9tICcuL2Jhc2Utbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlTGlzdE5vdGlmaWNhdGlvbnMgZXh0ZW5kcyBCYXNlTm90aWZpY2F0aW9uIHtcclxuICBAT3V0cHV0KCkgbWFya0FsbFJlYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90aWZpY2F0aW9uTW9kZWw+KCk7XHJcblxyXG4gIHByb3RlY3RlZCBfcGFyYW1zU2VydmljZSA9IHRoaXMuaW5qZWN0LmdldChQYXJhbXNTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgX3Jlc3BvbnNlU2VydmljZSA9IHRoaXMuaW5qZWN0LmdldChSZXNwb25zZVNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCBfbGlzdGVuZXJTZXJ2aWNlID0gdGhpcy5pbmplY3QuZ2V0KExpc3RlbmVyU2VydmljZSk7XHJcblxyXG4gIHByb3RlY3RlZCBfY2RyID0gdGhpcy5pbmplY3QuZ2V0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgcmVhZG9ubHkgcmVzcG9uc2UkID0gdGhpcy5fcmVzcG9uc2VTZXJ2aWNlLnJlc3BvbnNlJDtcclxuXHJcbiAgdHJhY2tCeUZuID0gKF86IG51bWJlciwgaXRlbTogTm90aWZpY2F0aW9uTW9kZWwpID0+IGl0ZW0udWlkO1xyXG5cclxuICBpc0xvYWRpbmdSZXN1bHQgPSBmYWxzZTtcclxuXHJcbiAgY3VycmVudExhbmc6IHN0cmluZztcclxuXHJcbiAgZGlyZWN0aW9uJCA9IHRoaXMuX3RyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYyQucGlwZShcclxuICAgIG1hcCgoaXNBcmFiaWMpID0+IChpc0FyYWJpYyA/ICdydGwnIDogJ2x0cicpKVxyXG4gICk7XHJcblxyXG4gIG9wdGlvbnM6IE5vdGlmaWNhdGlvbnNMaXN0T3B0aW9ucztcclxuICBwYWdpbmF0aW9uTW9kZUVudW0gPSBQQUdJTkFUSU9OX01PREU7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdDogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKGluamVjdCk7XHJcblxyXG4gICAgdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLm9uVXBkYXRlJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKGRhdGEpID0+IHRoaXMuX3VwZGF0ZUxpc3QoKSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzcG9uc2VTZXJ2aWNlLnNldFJlc3BvbnNlKHJlcywgdHJ1ZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbWFya0FsbEFzUmVhZChldmVudCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZVxyXG4gICAgICAubWFya0FsbEFzUmVhZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLnRyaWdnZXJVcGRhdGUoJ21hcmtBbGxBc1JlYWQnKTtcclxuICAgICAgICB0aGlzLm1hcmtBbGxSZWFkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIHRoaXMuX3Jlc3BvbnNlU2VydmljZS5yZXNldFBhZ2luYXRpb24oKTtcclxuICAgICAgICB0aGlzLl9wYXJhbXNTZXJ2aWNlLmFwcGx5UGFyYW1zKHtcclxuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxyXG4gICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU2Nyb2xsRG93bigpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5fcmVzcG9uc2VTZXJ2aWNlLnRvdGFsSXRlbXMgPiB0aGlzLl9yZXNwb25zZVNlcnZpY2UuaXRlbXNMZW5ndGggJiZcclxuICAgICAgIXRoaXMuaXNMb2FkaW5nUmVzdWx0XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5fcmVzcG9uc2VTZXJ2aWNlLmluY3JlYXNlUGFnZSgpO1xyXG4gICAgICB0aGlzLl9wYXJhbXNTZXJ2aWNlLmFwcGx5UGFyYW1zKHtcclxuICAgICAgICBvdmVycmlkZTogZmFsc2UsXHJcbiAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAuLi50aGlzLl9wYXJhbXNTZXJ2aWNlLmFjdGl2YXRlZFF1ZXJ5LnBhcmFtcyxcclxuICAgICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IHRoaXMuX3Jlc3BvbnNlU2VydmljZS5zZWxlY3RlZFBhZ2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKHBhZ2U6IG51bWJlcikge1xyXG4gICAgdGhpcy5fcmVzcG9uc2VTZXJ2aWNlLnNldFBhZ2UocGFnZSk7XHJcbiAgICB0aGlzLl9wYXJhbXNTZXJ2aWNlLmFwcGx5UGFyYW1zKHtcclxuICAgICAgb3ZlcnJpZGU6IHRydWUsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIC4uLnRoaXMuX3BhcmFtc1NlcnZpY2UuYWN0aXZhdGVkUXVlcnkucGFyYW1zLFxyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IHRoaXMuX3Jlc3BvbnNlU2VydmljZS5zZWxlY3RlZFBhZ2UsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uSXRlbUNsaWNrKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uTW9kZWwpIHtcclxuICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChub3RpZmljYXRpb24pO1xyXG4gICAgaWYgKG5vdGlmaWNhdGlvbi5wcm9wZXJ0aWVzPy5bJ25vdGlmX2NudDpzdGF0dXMnXSAhPT0gTk9USUZJQ0FUSU9OX1NUQVRVUy5yZWFkKSB7XHJcbiAgICAgIHRoaXMubWFya0FzUmVhZChub3RpZmljYXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWFya0FzUmVhZChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1vZGVsKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlXHJcbiAgICAgIC5tYXJrQXNSZWFkKG5vdGlmaWNhdGlvbi51aWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLnRyaWdnZXJVcGRhdGUoJ21hcmtBc1JlYWQnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBtYXJrQXNVbnJlYWQobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZVxyXG4gICAgICAubWFya0FzVW5yZWFkKG5vdGlmaWNhdGlvbi51aWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLnRyaWdnZXJVcGRhdGUoJ21hcmtBc1VucmVhZCcpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG1hcmtBc0RlbGV0ZWQobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25Nb2RlbCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZVxyXG4gICAgICAubWFya0FzRGVsZXRlZChub3RpZmljYXRpb24udWlkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuX2xpc3RlbmVyU2VydmljZS50cmlnZ2VyVXBkYXRlKCdtYXJrQXNEZWxldGVkJyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9hcHBseUZpbHRlcihwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuICAgIHRoaXMuX3Jlc3BvbnNlU2VydmljZS5yZXNldFBhZ2luYXRpb24oKTtcclxuICAgIHRoaXMuX3BhcmFtc1NlcnZpY2UuYXBwbHlQYXJhbXMoe1xyXG4gICAgICBvdmVycmlkZTogdHJ1ZSxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3ByZXBhcmVEYXRhKCkge1xyXG4gICAgbGV0IGlzT3ZlcnJpZGUgPSBmYWxzZTtcclxuICAgIHRoaXMuX3BhcmFtc1NlcnZpY2UucGFyYW1zJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YXAoKHF1ZXJ5KSA9PiB7XHJcbiAgICAgICAgICBpc092ZXJyaWRlID0gcXVlcnkub3ZlcnJpZGU7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgocXVlcnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmdldE5vdGlmaWNhdGlvbnMocXVlcnkucGFyYW1zKS5waXBlKFxyXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdSZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNwb25zZVNlcnZpY2Uuc2V0UmVzcG9uc2UocmVzLCBpc092ZXJyaWRlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3ByZXBhcmVMYW5ndWFnZSgpIHtcclxuICAgIHRoaXMuX3RyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYyRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiAoZGF0YSA/ICdhci1BUicgOiAnZW4tVVMnKSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGFuZyA9IHJlcztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3VwZGF0ZUxpc3QoKSB7XHJcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuX3BhcmFtc1NlcnZpY2UuYWN0aXZhdGVkUXVlcnk7XHJcblxyXG4gICAgY29uc3QgcGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0geyAuLi5xdWVyeSwgY3VycmVudFBhZ2VJbmRleDogMCB9O1xyXG5cclxuICAgIGlmICghdGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmdldE5vdGlmaWNhdGlvbnNNb25nbyhwYXlsb2FkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnBhZ2luYXRpb25Nb2RlID09PSBQQUdJTkFUSU9OX01PREUubmF2aWdhdG9yKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24ocGF5bG9hZCwge1xyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IHRoaXMuX3Jlc3BvbnNlU2VydmljZS5zZWxlY3RlZFBhZ2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMucGFnaW5hdGlvbk1vZGUgPT09IFBBR0lOQVRJT05fTU9ERS5zY3JvbGwpIHtcclxuICAgICAgY29uc3QgcGFnZSA9IHRoaXMuX3Jlc3BvbnNlU2VydmljZS5zZWxlY3RlZFBhZ2UgKyAxO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHBheWxvYWQsIHtcclxuICAgICAgICBwYWdlU2l6ZTogTWF0aC5mbG9vcihwYWdlICogKHF1ZXJ5Py5wYWdlU2l6ZSB8fCAyMCkpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5nZXROb3RpZmljYXRpb25zTW9uZ28ocGF5bG9hZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { TranslationService } from '../../../Core/services/translation/translation.service';
|
|
5
|
+
import { NotificationsService } from '../services/notifications.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class DestroySubject {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.destroy$ = new Subject();
|
|
10
|
+
}
|
|
11
|
+
ngOnDestroy() {
|
|
12
|
+
this.destroy$.next();
|
|
13
|
+
this.destroy$.complete();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
DestroySubject.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DestroySubject, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
+
DestroySubject.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DestroySubject, ngImport: i0 });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DestroySubject, decorators: [{
|
|
19
|
+
type: Directive
|
|
20
|
+
}] });
|
|
21
|
+
export class BaseNotification extends DestroySubject {
|
|
22
|
+
constructor(inject) {
|
|
23
|
+
super();
|
|
24
|
+
this.inject = inject;
|
|
25
|
+
this.notificationsService = this.inject.get(NotificationsService);
|
|
26
|
+
this._translationService = this.inject.get(TranslationService);
|
|
27
|
+
this.direction$ = this._translationService.isArabic$.pipe(map((isArabic) => (isArabic ? 'rtl' : 'ltr')));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
BaseNotification.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseNotification, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
+
BaseNotification.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseNotification, usesInheritance: true, ngImport: i0 });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseNotification, decorators: [{
|
|
33
|
+
type: Directive
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ub3RpZmljYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy9jb21wb25lbnRzL2Jhc2Utbm90aWZpY2F0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR3pFLE1BQU0sT0FBZ0IsY0FBYztJQURwQztRQUVFLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBS2hDO0lBSkMsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs0R0FMbUIsY0FBYztnR0FBZCxjQUFjOzRGQUFkLGNBQWM7a0JBRG5DLFNBQVM7O0FBVVYsTUFBTSxPQUFnQixnQkFBaUIsU0FBUSxjQUFjO0lBUTNELFlBQXNCLE1BQWdCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFksV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQVB0Qix5QkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFELHdCQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEUsZUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlDLENBQUM7SUFJRixDQUFDOzs4R0FWbUIsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFEckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub3RpZmljYXRpb25zLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXN0cm95U3ViamVjdCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOb3RpZmljYXRpb24gZXh0ZW5kcyBEZXN0cm95U3ViamVjdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3QuZ2V0KE5vdGlmaWNhdGlvbnNTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3RyYW5zbGF0aW9uU2VydmljZSA9IHRoaXMuaW5qZWN0LmdldChUcmFuc2xhdGlvblNlcnZpY2UpO1xyXG5cclxuICByZWFkb25seSBkaXJlY3Rpb24kID0gdGhpcy5fdHJhbnNsYXRpb25TZXJ2aWNlLmlzQXJhYmljJC5waXBlKFxyXG4gICAgbWFwKChpc0FyYWJpYykgPT4gKGlzQXJhYmljID8gJ3J0bCcgOiAnbHRyJykpXHJcbiAgKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdDogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './notification-item/notification-item.component';
|
|
2
|
+
export * from './notification-source-select/notification-source-select.component';
|
|
3
|
+
export * from './notification-status-toggle/notification-status-toggle.component';
|
|
4
|
+
export * from './notifications-button/notifications-button.component';
|
|
5
|
+
export * from './notifications-date-select/notifications-date-select.component';
|
|
6
|
+
export * from './notifications-list/notifications-list.component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tc291cmNlLXNlbGVjdC9ub3RpZmljYXRpb24tc291cmNlLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1zdGF0dXMtdG9nZ2xlL25vdGlmaWNhdGlvbi1zdGF0dXMtdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9ucy1idXR0b24vbm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zLWRhdGUtc2VsZWN0L25vdGlmaWNhdGlvbnMtZGF0ZS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zLWxpc3Qvbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GetIconPipe {
|
|
4
|
+
transform(data, options) {
|
|
5
|
+
if (!data || !options) {
|
|
6
|
+
return '';
|
|
7
|
+
}
|
|
8
|
+
if (options.property && Object.keys((options === null || options === void 0 ? void 0 : options.types) || {}).length) {
|
|
9
|
+
const key = resolveData(data, options.property);
|
|
10
|
+
return options.types[key] || (options === null || options === void 0 ? void 0 : options.default);
|
|
11
|
+
}
|
|
12
|
+
return (options === null || options === void 0 ? void 0 : options.default) || '';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
GetIconPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
GetIconPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetIconPipe, name: "getIcon" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetIconPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'getIcon',
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
function resolveData(data, field) {
|
|
24
|
+
if (data && field) {
|
|
25
|
+
if (field.indexOf('.') == -1) {
|
|
26
|
+
return data[field];
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
let fields = field.split('.');
|
|
30
|
+
let value = data;
|
|
31
|
+
for (let i = 0, len = fields.length; i < len; ++i) {
|
|
32
|
+
if (value == null) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
value = value[fields[i]];
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWljb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1pdGVtL2dldC1pY29uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxJQUF1QixFQUFFLE9BQTBDO1FBQzNFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDckIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssS0FBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDaEUsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFJLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLENBQUEsQ0FBQztTQUMvQztRQUVELE9BQU8sQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTyxLQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzt5R0FaVSxXQUFXO3VHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEI7O0FBZ0JELFNBQVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsS0FBYTtJQUN6RCxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO2FBQU07WUFDTCxJQUFJLE1BQU0sR0FBYSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztZQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7b0JBQ2pCLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7U0FBTTtRQUNMLE9BQU8sSUFBSSxDQUFDO0tBQ2I7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2RlbCwgTm90aWZpY2F0aW9uc0xpc3RPcHRpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ2V0SWNvbicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZXRJY29uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShkYXRhOiBOb3RpZmljYXRpb25Nb2RlbCwgb3B0aW9uczogTm90aWZpY2F0aW9uc0xpc3RPcHRpb25zWydpY29ucyddKTogc3RyaW5nIHtcclxuICAgIGlmICghZGF0YSB8fCAhb3B0aW9ucykge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9wdGlvbnMucHJvcGVydHkgJiYgT2JqZWN0LmtleXMob3B0aW9ucz8udHlwZXMgfHwge30pLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBrZXkgPSByZXNvbHZlRGF0YShkYXRhLCBvcHRpb25zLnByb3BlcnR5KTtcclxuICAgICAgcmV0dXJuIG9wdGlvbnMudHlwZXNba2V5XSB8fCBvcHRpb25zPy5kZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcHRpb25zPy5kZWZhdWx0IHx8ICcnO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcmVzb2x2ZURhdGEoZGF0YTogTm90aWZpY2F0aW9uTW9kZWwsIGZpZWxkOiBzdHJpbmcpOiBhbnkge1xyXG4gIGlmIChkYXRhICYmIGZpZWxkKSB7XHJcbiAgICBpZiAoZmllbGQuaW5kZXhPZignLicpID09IC0xKSB7XHJcbiAgICAgIHJldHVybiBkYXRhW2ZpZWxkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBmaWVsZHM6IHN0cmluZ1tdID0gZmllbGQuc3BsaXQoJy4nKTtcclxuICAgICAgbGV0IHZhbHVlID0gZGF0YTtcclxuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGZpZWxkcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsdWUgPSB2YWx1ZVtmaWVsZHNbaV1dO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,143 +1,55 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { NOTIFICATION_STATUS } from '../../constants';
|
|
3
|
+
import { DestroySubject } from '../base-notifications.component';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "@angular/
|
|
5
|
-
import * as i3 from "@angular/material/
|
|
6
|
-
import * as i4 from "@angular/
|
|
7
|
-
import * as i5 from "
|
|
8
|
-
import * as i6 from "
|
|
9
|
-
import * as i7 from "@
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.update = new EventEmitter();
|
|
18
|
-
this.arContent = "";
|
|
19
|
-
this.enContent = "";
|
|
20
|
-
this.lang = 'en';
|
|
5
|
+
import * as i1 from "@angular/material/button";
|
|
6
|
+
import * as i2 from "@angular/material/icon";
|
|
7
|
+
import * as i3 from "@angular/material/menu";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "./get-icon.pipe";
|
|
10
|
+
import * as i6 from "../../../../pipes/time-ago.pipe";
|
|
11
|
+
import * as i7 from "@ngx-translate/core";
|
|
12
|
+
export class NotificationItemComponent extends DestroySubject {
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
this.markAsUnread = new EventEmitter();
|
|
16
|
+
this.markAsRead = new EventEmitter();
|
|
17
|
+
this.markAsDeleted = new EventEmitter();
|
|
18
|
+
this.status = NOTIFICATION_STATUS;
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
toggleRead(event) {
|
|
26
|
-
this.update.emit({ action: "status", notification: this.notification });
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
this.langSubscription = this.translationSrvice.isArabic.subscribe(res => {
|
|
30
|
-
this.lang = res ? 'ar' : 'en';
|
|
31
|
-
});
|
|
32
|
-
// this.notification.notificationContents.forEach((res) => {
|
|
33
|
-
// if (res.lang === "AR") {
|
|
34
|
-
// this.arContent = res.message;
|
|
35
|
-
// }
|
|
36
|
-
// if (res.lang === "EN") {
|
|
37
|
-
// this.enContent = res.message;
|
|
38
|
-
// }
|
|
39
|
-
// });
|
|
20
|
+
set notification(value) {
|
|
21
|
+
this._notification = value;
|
|
40
22
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.notification.notificationContents.forEach((res) => {
|
|
44
|
-
if (res.lang === "AR") {
|
|
45
|
-
this.arContent = res.message;
|
|
46
|
-
}
|
|
47
|
-
if (res.lang === "EN") {
|
|
48
|
-
this.enContent = res.message;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.notification.notificationContents.forEach((res) => {
|
|
54
|
-
if (res.lang === "AR") {
|
|
55
|
-
this.arContent = res.message.replace("رقم", "رقم -");
|
|
56
|
-
if (res.message.includes('ExtRequest') || res.message.includes('IntRequest')) {
|
|
57
|
-
this.arContent = res.message.replace("المستند", "الطلب");
|
|
58
|
-
this.arContent = this.arContent.replace(('IntRequest'), "رقم - ");
|
|
59
|
-
this.arContent = this.arContent.replace(('ExtRequest'), "رقم - ");
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (res.lang === "EN") {
|
|
63
|
-
this.enContent = res.message.replace("correspondence", "correspondence -");
|
|
64
|
-
if (res.message.includes('ExtRequest') || res.message.includes('IntRequest')) {
|
|
65
|
-
this.enContent = res.message.replace("document", "request");
|
|
66
|
-
this.enContent = this.enContent.replace(('IntRequest'), "number - ");
|
|
67
|
-
this.enContent = this.enContent.replace(('ExtRequest'), "number - ");
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
23
|
+
get notification() {
|
|
24
|
+
return this._notification;
|
|
72
25
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
component: NotificationOptionsComponent,
|
|
77
|
-
cssClass: 'notification-options',
|
|
78
|
-
event: event,
|
|
79
|
-
showBackdrop: false,
|
|
80
|
-
});
|
|
81
|
-
await popover.present();
|
|
82
|
-
const { data } = await popover.onDidDismiss();
|
|
83
|
-
if (data && this.notification) {
|
|
84
|
-
this.updateNotification(data);
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
} */
|
|
89
|
-
updateNotification(data) {
|
|
90
|
-
this.update.emit({ action: data, notification: this.notification });
|
|
91
|
-
}
|
|
92
|
-
navigateToDetais(corrId) {
|
|
93
|
-
let sourceType = this.notification.sourceType;
|
|
94
|
-
const isAssignmentOrApproval = sourceType === "approval" || sourceType === "assignment";
|
|
95
|
-
const correspondence = sourceType === "correspondence";
|
|
96
|
-
const assignment = sourceType === "assignment";
|
|
97
|
-
const approval = sourceType === "approval";
|
|
98
|
-
const memo = sourceType === "memo";
|
|
99
|
-
const general = sourceType === "general";
|
|
100
|
-
const workspace = sourceType === "corrWorkspace";
|
|
101
|
-
const id = memo ? this.notification.sourceId : corrId;
|
|
102
|
-
if (corrId) {
|
|
103
|
-
this.router.navigate([
|
|
104
|
-
{
|
|
105
|
-
outlets: { viewer: ["view", id] },
|
|
106
|
-
},
|
|
107
|
-
], {
|
|
108
|
-
queryParams: Object.assign(Object.assign(Object.assign({ location: this.router.url }, (approval && { approvalMode: true })), (assignment && { assignmentMode: true })), (assignment && {
|
|
109
|
-
assignmentId: this.notification.data.assignmentId,
|
|
110
|
-
})),
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
if (workspace) {
|
|
114
|
-
this.router.navigate([{ outlets: { viewer: ['workspace-viewer', this.notification.sourceId] } }], {
|
|
115
|
-
queryParams: { location: this.router.url },
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
if (memo) {
|
|
119
|
-
this.router.navigate([{ outlets: { viewer: ["memo", id] } }], {
|
|
120
|
-
queryParams: { location: this.router.url },
|
|
121
|
-
});
|
|
122
|
-
}
|
|
26
|
+
closeMenu(event, menu) {
|
|
27
|
+
event.stopPropagation();
|
|
28
|
+
menu.closed.emit();
|
|
123
29
|
}
|
|
124
30
|
}
|
|
125
|
-
NotificationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationItemComponent, deps: [
|
|
126
|
-
NotificationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationItemComponent, selector: "app-notification-item", inputs: { notification: "notification", isArabic: "isArabic" }, outputs: { update: "update" }, host: { classAttribute: "notification-item" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"notification-item\">\r\n <mat-list-item\r\n (click)=\"navigateToDetais(notification.data.correspondenceId)\"\r\n [ngClass]=\"{ unread: notification.status != 'READ' }\"\r\n >\r\n <p [dir]=\"isArabic ? 'rtl' : 'ltr'\" mat-line class=\"wrap\">{{ isArabic ? arContent : enContent }}</p>\r\n <p mat-line class=\"time-ago\">{{ notification?.sendDate | timeAgo: lang }}</p>\r\n <button\r\n class=\"mat-icon-button\"\r\n (click)=\"stop($event)\"\r\n [matMenuTriggerFor]=\"appMenu\"\r\n mat-icon-button\r\n >\r\n <mat-icon class=\"mat-24 notification-item-ActionsTrigger\">more_vert</mat-icon>\r\n </button>\r\n <mat-menu class=\"notificationItemActions\" #appMenu=\"matMenu\">\r\n <div class=\"actionsContainer\" (click)=\"stop($event)\">\r\n <mat-list-item\r\n (click)=\"toggleRead($event)\"\r\n class=\"user-option mat-menu-item\"\r\n >\r\n <mat-icon *ngIf=\"notification.status === 'READ'\" class=\"option-icon\"\r\n >check_circle_outline</mat-icon\r\n >\r\n <mat-icon *ngIf=\"notification.status != 'READ'\" class=\"option-icon\"\r\n >check_circle</mat-icon\r\n >\r\n <span class=\"read_unread_action\">{{\r\n (notification.status === \"READ\"\r\n ? \"notifications.markAsUnread\"\r\n : \"notifications.markAsRead\"\r\n ) | translate\r\n }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item\r\n (click)=\"updateNotification('delete')\"\r\n class=\"user-option mat-menu-item\"\r\n >\r\n <mat-icon class=\"option-icon\">remove_circle</mat-icon>\r\n <span class=\"remove_action\">{{ \"notifications.delete\" | translate }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-menu>\r\n </mat-list-item>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.user-option{cursor:pointer}.notification-item .mat-icon-button{background:none;border:none;margin:0;padding:0}.notification-item mat-list-item{border:1px solid #b4bac6;height:80px;font-size:11px}.notification-item mat-list-item:hover{cursor:pointer}.notification-item mat-list-item p{font-size:12px}.notification-item mat-list-item.unread{background:#f7f8f9}.notification-item mat-list-item .time-ago{font-size:11px!important;opacity:.8}.notification-item mat-list-item .options{opacity:0;transition:.3s}.notification-item mat-list-item .options ion-button{margin:0!important}.notification-item mat-list-item .options:focus{opacity:1}.notification-item mat-list-item:hover .options{opacity:1}.notification-item .type{padding:2px;margin:0;height:18px}.rtl .notification-item .mat-list-item-content{flex-direction:row-reverse}\n"], components: [{ type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.MatLine, selector: "[mat-line], [matLine]" }, { type: i8.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "timeAgo": i9.TimeAgoPipe, "translate": i10.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
31
|
+
NotificationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
NotificationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationItemComponent, selector: "app-notification-item", inputs: { iconOptions: "iconOptions", currentLang: "currentLang", notification: "notification" }, outputs: { markAsUnread: "markAsUnread", markAsRead: "markAsRead", markAsDeleted: "markAsDeleted" }, usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"notification?.properties as properties\"\r\n class=\"notification-item\"\r\n [class.new-item]=\"properties['notif_cnt:status'] == status.new\"\r\n [class.unread-item]=\"properties['notif_cnt:status'] == status.unRead\"\r\n>\r\n <div class=\"notification-item__icon\">\r\n <div class=\"notification-item__icon__wrapper\" *ngIf=\"iconOptions?.active\">\r\n <i [class]=\"notification | getIcon : iconOptions\"></i>\r\n </div>\r\n </div>\r\n <div class=\"notification-item__content\">\r\n <p class=\"notification-item__message line-clamp-2\">\r\n {{\r\n currentLang === 'ar-AR'\r\n ? properties['notif_cnt:arMessage']\r\n : properties['notif_cnt:enMessage']\r\n }}\r\n </p>\r\n <button\r\n class=\"mat-icon-button\"\r\n [matMenuTriggerFor]=\"appMenu\"\r\n mat-icon-button\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <mat-icon class=\"mat-24\">more_horiz</mat-icon>\r\n </button>\r\n <span class=\"notification-item__date\">{{\r\n properties['dc:created'] | timeAgo : currentLang\r\n }}</span>\r\n </div>\r\n\r\n <mat-menu class=\"notification-item__actions\" #appMenu=\"matMenu\">\r\n <span (click)=\"closeMenu($event, appMenu)\">\r\n <button\r\n *ngIf=\"properties['notif_cnt:status'] == status.read\"\r\n mat-menu-item\r\n class=\"notification-item__actions__item\"\r\n (click)=\"markAsUnread.emit(notification)\"\r\n >\r\n <span class=\"mx-1\">{{ 'notifications.markAsUnread' | translate }}</span>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"\r\n properties['notif_cnt:status'] == status.new ||\r\n properties['notif_cnt:status'] == status.unRead\r\n \"\r\n mat-menu-item\r\n class=\"notification-item__actions__item\"\r\n (click)=\"markAsRead.emit(notification)\"\r\n >\r\n <span class=\"mx-1\">{{ 'notifications.markAsRead' | translate }}</span>\r\n </button>\r\n\r\n <button\r\n mat-menu-item\r\n (click)=\"markAsDeleted.emit(notification)\"\r\n class=\"notification-item__actions__item\"\r\n >\r\n <span>{{ 'notifications.delete' | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [".notification-item{display:var(--n-item-display, grid);grid-template-columns:var(--n-item-columns, auto 1fr);grid-gap:var(--n-item-gap, .5rem);gap:var(--n-item-gap, .5rem);padding:var(--n-items-padding, .5rem 1rem);border:var(--n-item-border, solid #eee);border-width:var(--n-item-border-width, 0 0 1px 0);background:var(--n-item-background, transparent);min-height:var(--n-item-height, 85px)}.notification-item.new-item{--n-item-background: var(--n-status-new-color, #fcfcfc)}.notification-item.unread-item{--n-item-background: var(--n-status-unread-color, #fcfcfc)}.notification-item__icon{display:var(--n-item-icon-display, flex);align-items:var(--n-item-icon-align-items, center)}.notification-item__icon__wrapper{width:var(--n-item-icon-width, 56px);height:var(--n-item-icon-height, 56px);background:var(--n-item-icon-background, rgba(0, 0, 0, .025));color:var(--n-item-icon-color, #636363);font-size:var(--n-item-icon-size, 1.5rem);border-radius:var(--n-item-icon-radius, 50%);display:grid;place-items:center}.notification-item__content{display:var(--n-item-content-display, grid);grid-template-columns:var(--n-item-content-columns, 1fr auto);grid-gap:var(--n-item-gap, .2rem);gap:var(--n-item-gap, .2rem)}.notification-item__message{margin-bottom:0;font-size:var(--n-item-font-size, .9rem);color:var(--n-item-message-color)}.notification-item__date{font-size:var(--n-item-date-size, .8rem);text-align:var(--n-item-date-align, end);grid-column:var(--n-item-date-column, span 2);padding:var(--n-item-date-padding, 0 11px);color:var(--n-item-date-color)}.notification-item__actions{border-radius:var(--n-actions-radius, 4px);background:var(--n-actions-background, #fff);box-shadow:var(--n-actions-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.notification-item__actions .mat-menu-content:not(:empty){padding:var(--n-actions--menu-padding, .5rem)}.notification-item__actions__item{text-align:var(--action-item-align, start)!important;background:var(--action-item-background, transparent)!important;color:var(--action-item-color, #28282d);padding:var(--action-item-padding, .4rem);height:var(--action-item-height, 38px);line-height:var(--action-item-line, 38px);border-radius:var(--action-item-radius, 4px);font-size:var(--action-item-size, 14px)}.notification-item__actions__item:hover{--action-item-background: var(--action-hover-background, #e6f7ff);--action-item-color: var(--action-hover-color, #005fdb)}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "getIcon": i5.GetIconPipe, "timeAgo": i6.TimeAgoPipe, "translate": i7.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
127
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationItemComponent, decorators: [{
|
|
128
34
|
type: Component,
|
|
129
35
|
args: [{
|
|
130
|
-
selector:
|
|
131
|
-
styleUrls: [
|
|
132
|
-
templateUrl:
|
|
133
|
-
|
|
36
|
+
selector: 'app-notification-item',
|
|
37
|
+
styleUrls: ['./notification-item.component.scss'],
|
|
38
|
+
templateUrl: './notification-item.component.html',
|
|
39
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
134
40
|
encapsulation: ViewEncapsulation.None,
|
|
135
41
|
}]
|
|
136
|
-
}], ctorParameters: function () { return [
|
|
42
|
+
}], ctorParameters: function () { return []; }, propDecorators: { iconOptions: [{
|
|
137
43
|
type: Input
|
|
138
|
-
}],
|
|
139
|
-
type:
|
|
140
|
-
}],
|
|
44
|
+
}], currentLang: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], notification: [{
|
|
141
47
|
type: Input
|
|
48
|
+
}], markAsUnread: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}], markAsRead: [{
|
|
51
|
+
type: Output
|
|
52
|
+
}], markAsDeleted: [{
|
|
53
|
+
type: Output
|
|
142
54
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQVl2QixNQUFNLE9BQU8seUJBQXlCO0lBU3BDLFlBQW9CLGlCQUFxQyxFQUFVLE1BQWM7UUFBN0Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQdkUsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpELGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFHLElBQUksQ0FBQztJQUd5RSxDQUFDO0lBRXRGLElBQUksQ0FBQyxLQUFLO1FBQ1IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFB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QWYsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtbm90aWZpY2F0aW9uLWl0ZW1cIixcclxuICBzdHlsZVVybHM6IFtcIi4vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIGhvc3Q6IHsgY2xhc3M6IFwibm90aWZpY2F0aW9uLWl0ZW1cIiB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBub3RpZmljYXRpb247XHJcbiAgQE91dHB1dCgpIHVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgaXNBcmFiaWM7XHJcbiAgYXJDb250ZW50ID0gXCJcIjtcclxuICBlbkNvbnRlbnQgPSBcIlwiO1xyXG4gIGxhbmcgPSAnZW4nO1xyXG4gIGxhbmdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGlvblNydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgc3RvcChldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIHRvZ2dsZVJlYWQoZXZlbnQpIHtcclxuICAgIHRoaXMudXBkYXRlLmVtaXQoeyBhY3Rpb246IFwic3RhdHVzXCIsIG5vdGlmaWNhdGlvbjogdGhpcy5ub3RpZmljYXRpb24gfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sYW5nU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGlvblNydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0gcmVzID8gJ2FyJyA6ICdlbic7XHJcbiAgICB9KVxyXG4gICAgLy8gdGhpcy5ub3RpZmljYXRpb24ubm90aWZpY2F0aW9uQ29udGVudHMuZm9yRWFjaCgocmVzKSA9PiB7XHJcbiAgICAvLyAgIGlmIChyZXMubGFuZyA9PT0gXCJBUlwiKSB7XHJcbiAgICAvLyAgICAgdGhpcy5hckNvbnRlbnQgPSByZXMubWVzc2FnZTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gICBpZiAocmVzLmxhbmcgPT09IFwiRU5cIikge1xyXG4gICAgLy8gICAgIHRoaXMuZW5Db250ZW50ID0gcmVzLm1lc3NhZ2U7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ub3RpZmljYXRpb24uZGF0YS5jb3JyZXNwb25kZW5jZVJlZmVyZW5jZU51bWJlcikge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5ub3RpZmljYXRpb25Db250ZW50cy5mb3JFYWNoKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzLmxhbmcgPT09IFwiQVJcIikge1xyXG4gICAgICAgICAgdGhpcy5hckNvbnRlbnQgPSByZXMubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlcy5sYW5nID09PSBcIkVOXCIpIHtcclxuICAgICAgICAgIHRoaXMuZW5Db250ZW50ID0gcmVzLm1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbkNvbnRlbnRzLmZvckVhY2goKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMubGFuZyA9PT0gXCJBUlwiKSB7XHJcbiAgICAgICAgICB0aGlzLmFyQ29udGVudCA9IHJlcy5tZXNzYWdlLnJlcGxhY2UoXCLYsdmC2YVcIiwgXCLYsdmC2YUgLVwiKTtcclxuICAgICAgICAgIGlmIChyZXMubWVzc2FnZS5pbmNsdWRlcygnRXh0UmVxdWVzdCcpIHx8IHJlcy5tZXNzYWdlLmluY2x1ZGVzKCdJbnRSZXF1ZXN0JykpIHtcclxuICAgICAgICAgICAgdGhpcy5hckNvbnRlbnQgPSByZXMubWVzc2FnZS5yZXBsYWNlKFwi2KfZhNmF2LPYqtmG2K9cIiwgXCLYp9mE2LfZhNioXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFyQ29udGVudCA9IHRoaXMuYXJDb250ZW50LnJlcGxhY2UoKCdJbnRSZXF1ZXN0JyksIFwi2LHZgtmFIC0gXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFyQ29udGVudCA9IHRoaXMuYXJDb250ZW50LnJlcGxhY2UoKCdFeHRSZXF1ZXN0JyksIFwi2LHZgtmFIC0gXCIpO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlcy5sYW5nID09PSBcIkVOXCIpIHtcclxuICAgICAgICAgIHRoaXMuZW5Db250ZW50ID0gcmVzLm1lc3NhZ2UucmVwbGFjZShcImNvcnJlc3BvbmRlbmNlXCIsIFwiY29ycmVzcG9uZGVuY2UgLVwiKTtcclxuICAgICAgICAgIGlmIChyZXMubWVzc2FnZS5pbmNsdWRlcygnRXh0UmVxdWVzdCcpIHx8IHJlcy5tZXNzYWdlLmluY2x1ZGVzKCdJbnRSZXF1ZXN0JykpIHtcclxuICAgICAgICAgICAgdGhpcy5lbkNvbnRlbnQgPSByZXMubWVzc2FnZS5yZXBsYWNlKFwiZG9jdW1lbnRcIiwgXCJyZXF1ZXN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmVuQ29udGVudCA9IHRoaXMuZW5Db250ZW50LnJlcGxhY2UoKCdJbnRSZXF1ZXN0JyksIFwibnVtYmVyIC0gXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmVuQ29udGVudCA9IHRoaXMuZW5Db250ZW50LnJlcGxhY2UoKCdFeHRSZXF1ZXN0JyksIFwibnVtYmVyIC0gXCIpO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKiBhc3luYyBzaG93T3B0aW9ucyhldmVudCkge1xyXG4gICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3BvdmVyQ3RybC5jcmVhdGUoe1xyXG4gICAgICAgICAgIGNvbXBvbmVudDogTm90aWZpY2F0aW9uT3B0aW9uc0NvbXBvbmVudCxcclxuICAgICAgICAgICBjc3NDbGFzczogJ25vdGlmaWNhdGlvbi1vcHRpb25zJyxcclxuICAgICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgIH0pO1xyXG4gICAgICAgYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XHJcbiAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHBvcG92ZXIub25EaWREaXNtaXNzKCk7XHJcbiAgICAgICBpZiAoZGF0YSAmJiB0aGlzLm5vdGlmaWNhdGlvbikge1xyXG4gICAgICAgICAgIHRoaXMudXBkYXRlTm90aWZpY2F0aW9uKGRhdGEpO1xyXG5cclxuICAgICAgIH1cclxuXHJcbiAgIH0gKi9cclxuICB1cGRhdGVOb3RpZmljYXRpb24oZGF0YSkge1xyXG4gICAgdGhpcy51cGRhdGUuZW1pdCh7IGFjdGlvbjogZGF0YSwgbm90aWZpY2F0aW9uOiB0aGlzLm5vdGlmaWNhdGlvbiB9KTtcclxuICB9XHJcbiAgbmF2aWdhdGVUb0RldGFpcyhjb3JySWQpIHtcclxuICAgIGxldCBzb3VyY2VUeXBlID0gdGhpcy5ub3RpZmljYXRpb24uc291cmNlVHlwZTtcclxuICAgIGNvbnN0IGlzQXNzaWdubWVudE9yQXBwcm92YWw6IGJvb2xlYW4gPVxyXG4gICAgICBzb3VyY2VUeXBlID09PSBcImFwcHJvdmFsXCIgfHwgc291cmNlVHlwZSA9PT0gXCJhc3NpZ25tZW50XCI7XHJcbiAgICBjb25zdCBjb3JyZXNwb25kZW5jZSA9IHNvdXJjZVR5cGUgPT09IFwiY29ycmVzcG9uZGVuY2VcIjtcclxuICAgIGNvbnN0IGFzc2lnbm1lbnQgPSBzb3VyY2VUeXBlID09PSBcImFzc2lnbm1lbnRcIjtcclxuICAgIGNvbnN0IGFwcHJvdmFsID0gc291cmNlVHlwZSA9PT0gXCJhcHByb3ZhbFwiO1xyXG4gICAgY29uc3QgbWVtbyA9IHNvdXJjZVR5cGUgPT09IFwibWVtb1wiO1xyXG4gICAgY29uc3QgZ2VuZXJhbCA9IHNvdXJjZVR5cGUgPT09IFwiZ2VuZXJhbFwiO1xyXG4gICAgY29uc3Qgd29ya3NwYWNlID0gc291cmNlVHlwZSA9PT0gXCJjb3JyV29ya3NwYWNlXCJcclxuICAgIGNvbnN0IGlkID0gbWVtbyA/IHRoaXMubm90aWZpY2F0aW9uLnNvdXJjZUlkIDogY29ycklkO1xyXG4gICAgaWYgKGNvcnJJZCkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcclxuICAgICAgICBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG91dGxldHM6IHsgdmlld2VyOiBbXCJ2aWV3XCIsIGlkXSB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgIC4uLihhcHByb3ZhbCAmJiB7IGFwcHJvdmFsTW9kZTogdHJ1ZSB9KSxcclxuICAgICAgICAgICAgLi4uKGFzc2lnbm1lbnQgJiYgeyBhc3NpZ25tZW50TW9kZTogdHJ1ZSB9KSxcclxuICAgICAgICAgICAgLi4uKGFzc2lnbm1lbnQgJiYge1xyXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnRJZDogdGhpcy5ub3RpZmljYXRpb24uZGF0YS5hc3NpZ25tZW50SWQsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZih3b3Jrc3BhY2Upe1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcclxuICAgICAgICBbeyBvdXRsZXRzOiB7IHZpZXdlcjogWyd3b3Jrc3BhY2Utdmlld2VyJyAsdGhpcy5ub3RpZmljYXRpb24uc291cmNlSWRdIH0gfV0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgaWYgKG1lbW8pIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3sgb3V0bGV0czogeyB2aWV3ZXI6IFtcIm1lbW9cIiwgaWRdIH0gfV0sIHtcclxuICAgICAgICBxdWVyeVBhcmFtczogeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1cIj5cclxuICA8bWF0LWxpc3QtaXRlbVxyXG4gICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9EZXRhaXMobm90aWZpY2F0aW9uLmRhdGEuY29ycmVzcG9uZGVuY2VJZClcIlxyXG4gICAgW25nQ2xhc3NdPVwieyB1bnJlYWQ6IG5vdGlmaWNhdGlvbi5zdGF0dXMgIT0gJ1JFQUQnIH1cIlxyXG4gID5cclxuICAgIDxwIFtkaXJdPVwiaXNBcmFiaWMgPyAncnRsJyA6ICdsdHInXCIgbWF0LWxpbmUgY2xhc3M9XCJ3cmFwXCI+e3sgaXNBcmFiaWMgPyBhckNvbnRlbnQgOiBlbkNvbnRlbnQgfX08L3A+XHJcbiAgICA8cCBtYXQtbGluZSBjbGFzcz1cInRpbWUtYWdvXCI+e3sgbm90aWZpY2F0aW9uPy5zZW5kRGF0ZSB8IHRpbWVBZ286IGxhbmcgIH19PC9wPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cIm1hdC1pY29uLWJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJzdG9wKCRldmVudClcIlxyXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYXBwTWVudVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtMjQgbm90aWZpY2F0aW9uLWl0ZW0tQWN0aW9uc1RyaWdnZXJcIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgY2xhc3M9XCJub3RpZmljYXRpb25JdGVtQWN0aW9uc1wiICNhcHBNZW51PVwibWF0TWVudVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc0NvbnRhaW5lclwiIChjbGljayk9XCJzdG9wKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbVxyXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVJlYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBjbGFzcz1cInVzZXItb3B0aW9uIG1hdC1tZW51LWl0ZW1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm5vdGlmaWNhdGlvbi5zdGF0dXMgPT09ICdSRUFEJ1wiIGNsYXNzPVwib3B0aW9uLWljb25cIlxyXG4gICAgICAgICAgICA+Y2hlY2tfY2lyY2xlX291dGxpbmU8L21hdC1pY29uXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJub3RpZmljYXRpb24uc3RhdHVzICE9ICdSRUFEJ1wiIGNsYXNzPVwib3B0aW9uLWljb25cIlxyXG4gICAgICAgICAgICA+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWFkX3VucmVhZF9hY3Rpb25cIj57e1xyXG4gICAgICAgICAgICAobm90aWZpY2F0aW9uLnN0YXR1cyA9PT0gXCJSRUFEXCJcclxuICAgICAgICAgICAgICA/IFwibm90aWZpY2F0aW9ucy5tYXJrQXNVbnJlYWRcIlxyXG4gICAgICAgICAgICAgIDogXCJub3RpZmljYXRpb25zLm1hcmtBc1JlYWRcIlxyXG4gICAgICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVOb3RpZmljYXRpb24oJ2RlbGV0ZScpXCJcclxuICAgICAgICAgIGNsYXNzPVwidXNlci1vcHRpb24gbWF0LW1lbnUtaXRlbVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3B0aW9uLWljb25cIj5yZW1vdmVfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVtb3ZlX2FjdGlvblwiPnt7IFwibm90aWZpY2F0aW9ucy5kZWxldGVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7O0FBU2pFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0lBbUIzRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBTkEsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNyRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUV2RCxXQUFNLEdBQUcsbUJBQW1CLENBQUM7SUFHdEMsQ0FBQztJQWZELElBQWEsWUFBWSxDQUFDLEtBQXdCO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQVdELFNBQVMsQ0FBQyxLQUFZLEVBQUUsSUFBYTtRQUNuQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOzt1SEExQlUseUJBQXlCOzJHQUF6Qix5QkFBeUIsMlJDckJ0Qywyd0VBaUVBOzRGRDVDYSx5QkFBeUI7a0JBUHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ2pELFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MEVBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBUUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWF0TWVudSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBOT1RJRklDQVRJT05fU1RBVFVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uTW9kZWwsIE5vdGlmaWNhdGlvbnNMaXN0T3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IERlc3Ryb3lTdWJqZWN0IH0gZnJvbSAnLi4vYmFzZS1ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RpZmljYXRpb24taXRlbScsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJveVN1YmplY3Qge1xyXG5cclxuICBASW5wdXQoKSBpY29uT3B0aW9uczogTm90aWZpY2F0aW9uc0xpc3RPcHRpb25zWydpY29ucyddO1xyXG5cclxuICBASW5wdXQoKSBjdXJyZW50TGFuZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uTW9kZWw7XHJcbiAgQElucHV0KCkgc2V0IG5vdGlmaWNhdGlvbih2YWx1ZTogTm90aWZpY2F0aW9uTW9kZWwpIHtcclxuICAgIHRoaXMuX25vdGlmaWNhdGlvbiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5vdGlmaWNhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb247XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgbWFya0FzVW5yZWFkID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpZmljYXRpb25Nb2RlbD4oKTtcclxuICBAT3V0cHV0KCkgbWFya0FzUmVhZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90aWZpY2F0aW9uTW9kZWw+KCk7XHJcbiAgQE91dHB1dCgpIG1hcmtBc0RlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vdGlmaWNhdGlvbk1vZGVsPigpO1xyXG5cclxuICByZWFkb25seSBzdGF0dXMgPSBOT1RJRklDQVRJT05fU1RBVFVTO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTWVudShldmVudDogRXZlbnQsIG1lbnU6IE1hdE1lbnUpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgbWVudS5jbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgKm5nSWY9XCJub3RpZmljYXRpb24/LnByb3BlcnRpZXMgYXMgcHJvcGVydGllc1wiXHJcbiAgY2xhc3M9XCJub3RpZmljYXRpb24taXRlbVwiXHJcbiAgW2NsYXNzLm5ldy1pdGVtXT1cInByb3BlcnRpZXNbJ25vdGlmX2NudDpzdGF0dXMnXSA9PSBzdGF0dXMubmV3XCJcclxuICBbY2xhc3MudW5yZWFkLWl0ZW1dPVwicHJvcGVydGllc1snbm90aWZfY250OnN0YXR1cyddID09IHN0YXR1cy51blJlYWRcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pdGVtX19pY29uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1fX2ljb25fX3dyYXBwZXJcIiAqbmdJZj1cImljb25PcHRpb25zPy5hY3RpdmVcIj5cclxuICAgICAgPGkgW2NsYXNzXT1cIm5vdGlmaWNhdGlvbiB8IGdldEljb24gOiBpY29uT3B0aW9uc1wiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24taXRlbV9fY29udGVudFwiPlxyXG4gICAgPHAgY2xhc3M9XCJub3RpZmljYXRpb24taXRlbV9fbWVzc2FnZSBsaW5lLWNsYW1wLTJcIj5cclxuICAgICAge3tcclxuICAgICAgICBjdXJyZW50TGFuZyA9PT0gJ2FyLUFSJ1xyXG4gICAgICAgICAgPyBwcm9wZXJ0aWVzWydub3RpZl9jbnQ6YXJNZXNzYWdlJ11cclxuICAgICAgICAgIDogcHJvcGVydGllc1snbm90aWZfY250OmVuTWVzc2FnZSddXHJcbiAgICAgIH19XHJcbiAgICA8L3A+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwibWF0LWljb24tYnV0dG9uXCJcclxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFwcE1lbnVcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC0yNFwiPm1vcmVfaG9yaXo8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pdGVtX19kYXRlXCI+e3tcclxuICAgICAgcHJvcGVydGllc1snZGM6Y3JlYXRlZCddIHwgdGltZUFnbyA6IGN1cnJlbnRMYW5nXHJcbiAgICB9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1hdC1tZW51IGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1fX2FjdGlvbnNcIiAjYXBwTWVudT1cIm1hdE1lbnVcIj5cclxuICAgIDxzcGFuIChjbGljayk9XCJjbG9zZU1lbnUoJGV2ZW50LCBhcHBNZW51KVwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJwcm9wZXJ0aWVzWydub3RpZl9jbnQ6c3RhdHVzJ10gPT0gc3RhdHVzLnJlYWRcIlxyXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pdGVtX19hY3Rpb25zX19pdGVtXCJcclxuICAgICAgICAoY2xpY2spPVwibWFya0FzVW5yZWFkLmVtaXQobm90aWZpY2F0aW9uKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTFcIj57eyAnbm90aWZpY2F0aW9ucy5tYXJrQXNVbnJlYWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgcHJvcGVydGllc1snbm90aWZfY250OnN0YXR1cyddID09IHN0YXR1cy5uZXcgfHxcclxuICAgICAgICAgIHByb3BlcnRpZXNbJ25vdGlmX2NudDpzdGF0dXMnXSA9PSBzdGF0dXMudW5SZWFkXHJcbiAgICAgICAgXCJcclxuICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taXRlbV9fYWN0aW9uc19faXRlbVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm1hcmtBc1JlYWQuZW1pdChub3RpZmljYXRpb24pXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPnt7ICdub3RpZmljYXRpb25zLm1hcmtBc1JlYWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgKGNsaWNrKT1cIm1hcmtBc0RlbGV0ZWQuZW1pdChub3RpZmljYXRpb24pXCJcclxuICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pdGVtX19hY3Rpb25zX19pdGVtXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuPnt7ICdub3RpZmljYXRpb25zLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { BaseNotification } from '../base-notifications.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/button";
|
|
5
|
+
import * as i2 from "@angular/material/menu";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/cdk/bidi";
|
|
8
|
+
import * as i5 from "@ngx-translate/core";
|
|
9
|
+
export class NotificationSourceSelectComponent extends BaseNotification {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.sourceTypes$ = this.notificationsService.getSourceTypes();
|
|
13
|
+
this.typeChanged = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
selectFilterType(type) {
|
|
16
|
+
this.selectedFilterType = type;
|
|
17
|
+
this.typeChanged.emit(type === null || type === void 0 ? void 0 : type.id);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
NotificationSourceSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationSourceSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
NotificationSourceSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationSourceSelectComponent, selector: "app-notification-source-select", outputs: { typeChanged: "typeChanged" }, usesInheritance: true, ngImport: i0, template: "<span [dir]=\"direction$ | async\" *ngIf=\"sourceTypes$ | async as sourceTypes\">\r\n <button\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"type-filter-trigger px-2\"\r\n [matMenuTriggerFor]=\"filterTypeMenu\"\r\n #filterTypeMenuTrigger=\"matMenuTrigger\"\r\n mat-stroked-button\r\n >\r\n <span>{{\r\n (selectedFilterType\r\n ? 'vocabulary.VOC_Notf_SourceTypes.' + selectedFilterType.properties.id\r\n : 'notifications.allTypes'\r\n ) | translate\r\n }}</span>\r\n <span class=\"icon icon-chevron-down\"></span>\r\n </button>\r\n <mat-menu class=\"source-type-select-menu\" #filterTypeMenu=\"matMenu\">\r\n <span (click)=\"$event.stopPropagation()\">\r\n <button\r\n mat-menu-item\r\n class=\"source-type-select-menu__option\"\r\n (click)=\"selectFilterType(null); filterTypeMenuTrigger.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.all' | translate }}</span>\r\n </button>\r\n <button\r\n mat-menu-item\r\n class=\"source-type-select-menu__option\"\r\n *ngFor=\"let type of sourceTypes\"\r\n (click)=\"selectFilterType(type); filterTypeMenuTrigger.closed.emit()\"\r\n >\r\n <span>{{\r\n 'vocabulary.VOC_Notf_SourceTypes.' + type?.properties.id | translate\r\n }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".source-type-select-menu{box-shadow:var(--source-type-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.source-type-select-menu .mat-menu-content:not(:empty){padding:var(--source-type-menu-padding, .5rem)}.source-type-select-menu__option{background:var(--source-type-option-background, transparent)!important;border-radius:var(--source-type-option-radius, 4px);font-size:var(--source-type-option-size, 14px);color:var(--source-type-option-color, #28282d);height:var(--source-type-option-height, 38px);line-height:var(--source-type-option-line-height, 38px)}.source-type-select-menu__option:hover{--source-type-option-background: var(--source-type-option-hover-background, #e6f7ff);--source-type-option-color: var(--source-type-option-hover-color, #005fdb)}.source-type-select-menu__option .mat-icon{color:currentColor}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe, "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationSourceSelectComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{
|
|
25
|
+
selector: 'app-notification-source-select',
|
|
26
|
+
templateUrl: './notification-source-select.component.html',
|
|
27
|
+
styleUrls: ['./notification-source-select.component.scss'],
|
|
28
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
|
+
encapsulation: ViewEncapsulation.None,
|
|
30
|
+
}]
|
|
31
|
+
}], propDecorators: { typeChanged: [{
|
|
32
|
+
type: Output
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNvdXJjZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXNvdXJjZS1zZWxlY3Qvbm90aWZpY2F0aW9uLXNvdXJjZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXNvdXJjZS1zZWxlY3Qvbm90aWZpY2F0aW9uLXNvdXJjZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFTbkUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGdCQUFnQjtJQVB2RTs7UUFRRSxpQkFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FTcEQ7SUFKQyxnQkFBZ0IsQ0FBQyxJQUFvQjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDOzsrSEFWVSxpQ0FBaUM7bUhBQWpDLGlDQUFpQyxzSUNqQjlDLGc0Q0FzQ0E7NEZEckJhLGlDQUFpQztrQkFQN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUsNkNBQTZDO29CQUMxRCxTQUFTLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQztvQkFDMUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs4QkFHVyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVm9jYWJ1bGFyeVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCYXNlTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vYmFzZS1ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RpZmljYXRpb24tc291cmNlLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi1zb3VyY2Utc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tc291cmNlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Tb3VyY2VTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlTm90aWZpY2F0aW9uIHtcclxuICBzb3VyY2VUeXBlcyQgPSB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmdldFNvdXJjZVR5cGVzKCk7XHJcbiAgQE91dHB1dCgpIHR5cGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHNlbGVjdGVkRmlsdGVyVHlwZTogVm9jYWJ1bGFyeVR5cGUgfCBudWxsO1xyXG5cclxuXHJcbiAgc2VsZWN0RmlsdGVyVHlwZSh0eXBlOiBWb2NhYnVsYXJ5VHlwZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlclR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy50eXBlQ2hhbmdlZC5lbWl0KHR5cGU/LmlkKTtcclxuICB9XHJcbn1cclxuIiwiPHNwYW4gW2Rpcl09XCJkaXJlY3Rpb24kIHwgYXN5bmNcIiAqbmdJZj1cInNvdXJjZVR5cGVzJCB8IGFzeW5jIGFzIHNvdXJjZVR5cGVzXCI+XHJcbiAgPGJ1dHRvblxyXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICBjbGFzcz1cInR5cGUtZmlsdGVyLXRyaWdnZXIgcHgtMlwiXHJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZmlsdGVyVHlwZU1lbnVcIlxyXG4gICAgI2ZpbHRlclR5cGVNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAgIG1hdC1zdHJva2VkLWJ1dHRvblxyXG4gID5cclxuICAgIDxzcGFuPnt7XHJcbiAgICAgIChzZWxlY3RlZEZpbHRlclR5cGVcclxuICAgICAgICA/ICd2b2NhYnVsYXJ5LlZPQ19Ob3RmX1NvdXJjZVR5cGVzLicgKyBzZWxlY3RlZEZpbHRlclR5cGUucHJvcGVydGllcy5pZFxyXG4gICAgICAgIDogJ25vdGlmaWNhdGlvbnMuYWxsVHlwZXMnXHJcbiAgICAgICkgfCB0cmFuc2xhdGVcclxuICAgIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpY29uIGljb24tY2hldnJvbi1kb3duXCI+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSBjbGFzcz1cInNvdXJjZS10eXBlLXNlbGVjdC1tZW51XCIgI2ZpbHRlclR5cGVNZW51PVwibWF0TWVudVwiPlxyXG4gICAgPHNwYW4gKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgIGNsYXNzPVwic291cmNlLXR5cGUtc2VsZWN0LW1lbnVfX29wdGlvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpbHRlclR5cGUobnVsbCk7IGZpbHRlclR5cGVNZW51VHJpZ2dlci5jbG9zZWQuZW1pdCgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuPnt7ICdub3RpZmljYXRpb25zLmFsbCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgIGNsYXNzPVwic291cmNlLXR5cGUtc2VsZWN0LW1lbnVfX29wdGlvblwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2Ygc291cmNlVHlwZXNcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RGaWx0ZXJUeXBlKHR5cGUpOyBmaWx0ZXJUeXBlTWVudVRyaWdnZXIuY2xvc2VkLmVtaXQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3Bhbj57e1xyXG4gICAgICAgICAgJ3ZvY2FidWxhcnkuVk9DX05vdGZfU291cmNlVHlwZXMuJyArIHR5cGU/LnByb3BlcnRpZXMuaWQgfCB0cmFuc2xhdGVcclxuICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9zcGFuPlxyXG4iXX0=
|