@huntsman-cancer-institute/notification 15.7.5 → 15.7.6
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/esm2020/components/notification-dropdown.component.mjs +95 -95
- package/fesm2015/huntsman-cancer-institute-notification.mjs +94 -94
- package/fesm2015/huntsman-cancer-institute-notification.mjs.map +1 -1
- package/fesm2020/huntsman-cancer-institute-notification.mjs +94 -94
- package/fesm2020/huntsman-cancer-institute-notification.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -65,107 +65,107 @@ export class NotificationDropdown extends NavComponent {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
NotificationDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationDropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: i1.NavigationService }, { token: i0.ChangeDetectorRef }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
NotificationDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationDropdown, selector: "hci-notification-dropdown", host: { classAttribute: "hci-notification-dropdown" }, usesInheritance: true, ngImport: i0, template: `
|
|
69
|
-
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
70
|
-
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
71
|
-
<i class="{{iClass}}"></i>
|
|
72
|
-
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
73
|
-
</a>
|
|
74
|
-
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
75
|
-
<div class="d-flex">
|
|
76
|
-
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
77
|
-
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
78
|
-
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
79
|
-
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
80
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
81
|
-
</button>
|
|
82
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
83
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
84
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
85
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
90
|
-
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
91
|
-
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
92
|
-
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
93
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
94
|
-
</button>
|
|
95
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
96
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
97
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
98
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
99
|
-
</div>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
<div class="notification-item-container">
|
|
104
|
-
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
105
|
-
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
106
|
-
</ng-container>
|
|
107
|
-
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
108
|
-
<div class="empty">
|
|
109
|
-
(No matching notifications)
|
|
110
|
-
</div>
|
|
111
|
-
</ng-container>
|
|
112
|
-
</div>
|
|
113
|
-
</ul>
|
|
114
|
-
</li>
|
|
68
|
+
NotificationDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationDropdown, selector: "hci-notification-dropdown", host: { classAttribute: "hci-notification-dropdown" }, usesInheritance: true, ngImport: i0, template: `
|
|
69
|
+
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
70
|
+
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
71
|
+
<i class="{{iClass}}"></i>
|
|
72
|
+
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
73
|
+
</a>
|
|
74
|
+
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
75
|
+
<div class="d-flex">
|
|
76
|
+
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
77
|
+
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
78
|
+
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
79
|
+
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
80
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
81
|
+
</button>
|
|
82
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
83
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
84
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
85
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
90
|
+
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
91
|
+
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
92
|
+
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
93
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
94
|
+
</button>
|
|
95
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
96
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
97
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
98
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="notification-item-container">
|
|
104
|
+
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
105
|
+
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
106
|
+
</ng-container>
|
|
107
|
+
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
108
|
+
<div class="empty">
|
|
109
|
+
(No matching notifications)
|
|
110
|
+
</div>
|
|
111
|
+
</ng-container>
|
|
112
|
+
</div>
|
|
113
|
+
</ul>
|
|
114
|
+
</li>
|
|
115
115
|
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.BadgeComponent, selector: "hci-badge", inputs: ["countSubject", "countLoading"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "component", type: i5.NotificationItemComponent, selector: "hci-notification-item", inputs: ["popup", "notification"] }, { kind: "pipe", type: i6.NotificationFilterPipe, name: "notificationFilter" }] });
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationDropdown, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
118
|
args: [{
|
|
119
119
|
selector: "hci-notification-dropdown",
|
|
120
|
-
template: `
|
|
121
|
-
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
122
|
-
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
123
|
-
<i class="{{iClass}}"></i>
|
|
124
|
-
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
125
|
-
</a>
|
|
126
|
-
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
127
|
-
<div class="d-flex">
|
|
128
|
-
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
129
|
-
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
130
|
-
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
131
|
-
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
132
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
133
|
-
</button>
|
|
134
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
135
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
136
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
137
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
142
|
-
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
143
|
-
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
144
|
-
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
145
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
146
|
-
</button>
|
|
147
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
148
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
149
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
150
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
151
|
-
</div>
|
|
152
|
-
</div>
|
|
153
|
-
</div>
|
|
154
|
-
</div>
|
|
155
|
-
<div class="notification-item-container">
|
|
156
|
-
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
157
|
-
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
158
|
-
</ng-container>
|
|
159
|
-
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
160
|
-
<div class="empty">
|
|
161
|
-
(No matching notifications)
|
|
162
|
-
</div>
|
|
163
|
-
</ng-container>
|
|
164
|
-
</div>
|
|
165
|
-
</ul>
|
|
166
|
-
</li>
|
|
120
|
+
template: `
|
|
121
|
+
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
122
|
+
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
123
|
+
<i class="{{iClass}}"></i>
|
|
124
|
+
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
125
|
+
</a>
|
|
126
|
+
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
127
|
+
<div class="d-flex">
|
|
128
|
+
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
129
|
+
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
130
|
+
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
131
|
+
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
132
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
133
|
+
</button>
|
|
134
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
135
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
136
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
137
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
142
|
+
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
143
|
+
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
144
|
+
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
145
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
146
|
+
</button>
|
|
147
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
148
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
149
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
150
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
<div class="notification-item-container">
|
|
156
|
+
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
157
|
+
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
158
|
+
</ng-container>
|
|
159
|
+
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
160
|
+
<div class="empty">
|
|
161
|
+
(No matching notifications)
|
|
162
|
+
</div>
|
|
163
|
+
</ng-container>
|
|
164
|
+
</div>
|
|
165
|
+
</ul>
|
|
166
|
+
</li>
|
|
167
167
|
`,
|
|
168
168
|
host: { class: "hci-notification-dropdown" }
|
|
169
169
|
}]
|
|
170
170
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ComponentFactoryResolver }, { type: i1.NavigationService }, { type: i0.ChangeDetectorRef }, { type: i2.NotificationService }]; } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24tZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFFOUUsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRXRGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQXVENUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFlBQVk7SUFjcEQsWUFBWSxVQUFzQixFQUN0QixRQUFtQixFQUNuQixRQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsaUJBQW9DLEVBQzVCLG1CQUF3QztRQUMxRCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUQxRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBakJyRCxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLFdBQU0sR0FBVyxVQUFVLENBQUM7UUFDNUIsV0FBTSxHQUFXLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQVcsZUFBZSxDQUFDO1FBRXpDLGFBQVEsR0FBVyxRQUFRLENBQUM7UUFDNUIsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUMzQixlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDcEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBV25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUM5SCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUU7Z0JBQzVELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN0QzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFFNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUM3QjtRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDN0I7UUFDRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7a0hBbkVVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLCtJQWxEckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0NUOzRGQUdVLG9CQUFvQjtrQkFwRGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDtvQkFDRCxJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsMkJBQTJCLEVBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsXG4gIE9uSW5pdCwgT25EZXN0cm95XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7TmF2Q29tcG9uZW50LCBOYXZpZ2F0aW9uU2VydmljZX0gZnJvbSBcIkBodW50c21hbi1jYW5jZXItaW5zdGl0dXRlL25hdmlnYXRpb25cIjtcblxuaW1wb3J0IHtOb3RpZmljYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vbm90aWZpY2F0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7Tm90aWZpY2F0aW9ufSBmcm9tIFwiLi4vbW9kZWwvbm90aWZpY2F0aW9uLmVudGl0eVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiaGNpLW5vdGlmaWNhdGlvbi1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxsaSBbaWRdPVwiaWQgKyAnLWxpJ1wiIGNsYXNzPVwiaGNpLWxpLWRkLWxpIHt7bGlDbGFzc319XCIgbmdiRHJvcGRvd24+XG4gICAgICA8YSBpZD1cIm5vdGlmaWNhdGlvbi1kcm9wZG93blwiIGNsYXNzPVwiaGNpLWxpLWRkLWEge3thQ2xhc3N9fVwiIG5nYkRyb3Bkb3duVG9nZ2xlPlxuICAgICAgICA8aSBjbGFzcz1cInt7aUNsYXNzfX1cIj48L2k+XG4gICAgICAgIDxoY2ktYmFkZ2UgKm5nSWY9XCJiYWRnZUNvdW50XCIgW2NvdW50U3ViamVjdF09XCJiYWRnZUNvdW50XCI+PC9oY2ktYmFkZ2U+XG4gICAgICA8L2E+XG4gICAgICA8dWwgbmdiRHJvcGRvd25NZW51IGFyaWEtbGFiZWxsZWRieT1cIm5vdGlmaWNhdGlvbi1kcm9wZG93blwiIGNsYXNzPVwiaGNpLWxpLWRkLXVsIG5vdGlmaWNhdGlvbi1kcm9wZG93bi1tZW51IHt7dWxDbGFzc319XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlZpZXcgT3B0aW9uc1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIj5WaWV3IHt7dmlld01vZGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiIG5nYkRyb3Bkb3duICN2aWV3RHJvcGRvd249XCJuZ2JEcm9wZG93blwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9XCJ2aWV3VW5SZWFkXCIgaWQ9XCJ2aWV3XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgYXJpYS1sYWJlbD1cIlNlbGVjdCBWaWV3IE1vZGVcIiBuZ2JEcm9wZG93blRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1hcnJvdy1jaXJjbGUtZG93blwiPjwvaT5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIiBhcmlhLWxhYmVsbGVkYnk9XCJ2aWV3XCIgbmdiRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJ2aWV3RHJvcGRvd24uY2xvc2UoKTsgdmlld01vZGUgPSAnQWxsJ1wiPkFsbDwvYT5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwidmlld0Ryb3Bkb3duLmNsb3NlKCk7IHZpZXdNb2RlID0gJ1JlYWQnXCI+UmVhZDwvYT5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwidmlld0Ryb3Bkb3duLmNsb3NlKCk7IHZpZXdNb2RlID0gJ1VucmVhZCdcIj5VbnJlYWQ8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCByaWdodFwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJDbGVhciBPcHRpb25zXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbGVhcigpXCI+Q2xlYXIge3tjbGVhck1vZGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiIG5nYkRyb3Bkb3duICNjbGVhckRyb3Bkb3duPVwibmdiRHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBhcmlhLWxhYmVsPVwiY2xlYXJSZWFkXCIgaWQ9XCJjbGVhclwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGRyb3Bkb3duLXRvZ2dsZVwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgQ2xlYXIgTW9kZVwiIG5nYkRyb3Bkb3duVG9nZ2xlPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFycm93LWNpcmNsZS1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1yaWdodFwiIGFyaWEtbGFiZWxsZWRieT1cImNsZWFyXCIgbmdiRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJjbGVhckRyb3Bkb3duLmNsb3NlKCk7IGNsZWFyTW9kZSA9ICdBbGwnOyBjbGVhcigpO1wiPkFsbDwvYT5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwiY2xlYXJEcm9wZG93bi5jbG9zZSgpOyBjbGVhck1vZGUgPSAnUmVhZCc7IGNsZWFyKCk7XCI+UmVhZDwvYT5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwiY2xlYXJEcm9wZG93bi5jbG9zZSgpOyBjbGVhck1vZGUgPSAnVW5yZWFkJzsgY2xlYXIoKTtcIj5VbnJlYWQ8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnMgfCBub3RpZmljYXRpb25GaWx0ZXI6dmlld01vZGVcIj5cbiAgICAgICAgICAgIDxoY2ktbm90aWZpY2F0aW9uLWl0ZW0gW25vdGlmaWNhdGlvbl09XCJub3RpZmljYXRpb25cIj48L2hjaS1ub3RpZmljYXRpb24taXRlbT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG5vdGlmaWNhdGlvbnMgfCBub3RpZmljYXRpb25GaWx0ZXI6dmlld01vZGUpLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICAgIChObyBtYXRjaGluZyBub3RpZmljYXRpb25zKVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC91bD5cbiAgICA8L2xpPlxuICBgLFxuICBob3N0OiB7Y2xhc3M6IFwiaGNpLW5vdGlmaWNhdGlvbi1kcm9wZG93blwifVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Ecm9wZG93biBleHRlbmRzIE5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgbGlDbGFzczogc3RyaW5nID0gbnVsbDtcbiAgcHVibGljIGFDbGFzczogc3RyaW5nID0gXCJuYXYtbGlua1wiO1xuICBwdWJsaWMgaUNsYXNzOiBzdHJpbmcgPSBudWxsO1xuICBwdWJsaWMgdWxDbGFzczogc3RyaW5nID0gXCJkcm9wZG93bi1tZW51XCI7XG5cbiAgdmlld01vZGU6IHN0cmluZyA9IFwiVW5yZWFkXCI7XG4gIGNsZWFyTW9kZTogc3RyaW5nID0gXCJSZWFkXCI7XG4gIGJhZGdlQ291bnQ6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10gPSBbXTtcblxuICBub3RpZmljYXRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgbmF2aWdhdGlvblNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIHJlbmRlcmVyLCByZXNvbHZlciwgbmF2aWdhdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5nZXROb3RpZmljYXRpb25zU3ViamVjdCgpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10pID0+IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IG5vdGlmaWNhdGlvbnM7XG4gICAgICB0aGlzLmJhZGdlQ291bnQubmV4dChub3RpZmljYXRpb25zLmZpbHRlcigobzogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBvLnN0YXR1cyA9PT0gXCJVbnJlYWRcIjtcbiAgICAgIH0pLmxlbmd0aCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIGlmICh0aGlzLmNsZWFyTW9kZSA9PT0gXCJBbGxcIikge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmNsZWFyQWxsKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNsZWFyTW9kZSA9PT0gXCJSZWFkXCIpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5jbGVhclJlYWQoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xlYXJNb2RlID09PSBcIlVucmVhZFwiKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuY2xlYXJVbnJlYWQoKTtcbiAgICB9XG4gIH1cblxuICBzZXRDb25maWcoY29uZmlnKSB7XG4gICAgdGhpcy5yb290Q2xhc3MgPSBcIm5hdi1pdGVtXCI7XG5cbiAgICBzdXBlci5zZXRDb25maWcoY29uZmlnKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbmZpZyhjb25maWcpIHtcbiAgICBzdXBlci51cGRhdGVDb25maWcoY29uZmlnKTtcblxuICAgIGlmIChjb25maWcubGlDbGFzcykge1xuICAgICAgdGhpcy5saUNsYXNzID0gY29uZmlnLmxpQ2xhc3M7XG4gICAgfVxuICAgIGlmIChjb25maWcuYUNsYXNzKSB7XG4gICAgICB0aGlzLmFDbGFzcyA9IGNvbmZpZy5hQ2xhc3M7XG4gICAgfVxuICAgIGlmIChjb25maWcuaUNsYXNzKSB7XG4gICAgICB0aGlzLmlDbGFzcyA9IGNvbmZpZy5pQ2xhc3M7XG4gICAgfVxuICAgIGlmIChjb25maWcudWxDbGFzcykge1xuICAgICAgdGhpcy51bENsYXNzID0gY29uZmlnLnVsQ2xhc3M7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24tZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFFOUUsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRXRGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQXVENUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFlBQVk7SUFjcEQsWUFBWSxVQUFzQixFQUN0QixRQUFtQixFQUNuQixRQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsaUJBQW9DLEVBQzVCLG1CQUF3QztRQUMxRCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUQxRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBakJyRCxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLFdBQU0sR0FBVyxVQUFVLENBQUM7UUFDNUIsV0FBTSxHQUFXLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQVcsZUFBZSxDQUFDO1FBRXpDLGFBQVEsR0FBVyxRQUFRLENBQUM7UUFDNUIsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUMzQixlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDcEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBV25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUM5SCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUU7Z0JBQzVELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN0QzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFFNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUM3QjtRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDN0I7UUFDRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7a0hBbkVVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLCtJQWxEckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0NUOzRGQUdVLG9CQUFvQjtrQkFwRGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDtvQkFDRCxJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsMkJBQTJCLEVBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMixcclxuICBPbkluaXQsIE9uRGVzdHJveVxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHtOYXZDb21wb25lbnQsIE5hdmlnYXRpb25TZXJ2aWNlfSBmcm9tIFwiQGh1bnRzbWFuLWNhbmNlci1pbnN0aXR1dGUvbmF2aWdhdGlvblwiO1xyXG5cclxuaW1wb3J0IHtOb3RpZmljYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vbm90aWZpY2F0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOb3RpZmljYXRpb259IGZyb20gXCIuLi9tb2RlbC9ub3RpZmljYXRpb24uZW50aXR5XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJoY2ktbm90aWZpY2F0aW9uLWRyb3Bkb3duXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxsaSBbaWRdPVwiaWQgKyAnLWxpJ1wiIGNsYXNzPVwiaGNpLWxpLWRkLWxpIHt7bGlDbGFzc319XCIgbmdiRHJvcGRvd24+XHJcbiAgICAgIDxhIGlkPVwibm90aWZpY2F0aW9uLWRyb3Bkb3duXCIgY2xhc3M9XCJoY2ktbGktZGQtYSB7e2FDbGFzc319XCIgbmdiRHJvcGRvd25Ub2dnbGU+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJ7e2lDbGFzc319XCI+PC9pPlxyXG4gICAgICAgIDxoY2ktYmFkZ2UgKm5nSWY9XCJiYWRnZUNvdW50XCIgW2NvdW50U3ViamVjdF09XCJiYWRnZUNvdW50XCI+PC9oY2ktYmFkZ2U+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPHVsIG5nYkRyb3Bkb3duTWVudSBhcmlhLWxhYmVsbGVkYnk9XCJub3RpZmljYXRpb24tZHJvcGRvd25cIiBjbGFzcz1cImhjaS1saS1kZC11bCBub3RpZmljYXRpb24tZHJvcGRvd24tbWVudSB7e3VsQ2xhc3N9fVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiVmlldyBPcHRpb25zXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCI+VmlldyB7e3ZpZXdNb2RlfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiIG5nYkRyb3Bkb3duICN2aWV3RHJvcGRvd249XCJuZ2JEcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gYXJpYS1sYWJlbD1cInZpZXdVblJlYWRcIiBpZD1cInZpZXdcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiBhcmlhLWxhYmVsPVwiU2VsZWN0IFZpZXcgTW9kZVwiIG5nYkRyb3Bkb3duVG9nZ2xlPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYXJyb3ctY2lyY2xlLWRvd25cIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1yaWdodFwiIGFyaWEtbGFiZWxsZWRieT1cInZpZXdcIiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwidmlld0Ryb3Bkb3duLmNsb3NlKCk7IHZpZXdNb2RlID0gJ0FsbCdcIj5BbGw8L2E+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwidmlld0Ryb3Bkb3duLmNsb3NlKCk7IHZpZXdNb2RlID0gJ1JlYWQnXCI+UmVhZDwvYT5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJ2aWV3RHJvcGRvd24uY2xvc2UoKTsgdmlld01vZGUgPSAnVW5yZWFkJ1wiPlVucmVhZDwvYT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgcmlnaHRcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQ2xlYXIgT3B0aW9uc1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbGVhcigpXCI+Q2xlYXIge3tjbGVhck1vZGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCIgbmdiRHJvcGRvd24gI2NsZWFyRHJvcGRvd249XCJuZ2JEcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gYXJpYS1sYWJlbD1cImNsZWFyUmVhZFwiIGlkPVwiY2xlYXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiBhcmlhLWxhYmVsPVwiU2VsZWN0IENsZWFyIE1vZGVcIiBuZ2JEcm9wZG93blRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFycm93LWNpcmNsZS1kb3duXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIiBhcmlhLWxhYmVsbGVkYnk9XCJjbGVhclwiIG5nYkRyb3Bkb3duTWVudT5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJjbGVhckRyb3Bkb3duLmNsb3NlKCk7IGNsZWFyTW9kZSA9ICdBbGwnOyBjbGVhcigpO1wiPkFsbDwvYT5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJjbGVhckRyb3Bkb3duLmNsb3NlKCk7IGNsZWFyTW9kZSA9ICdSZWFkJzsgY2xlYXIoKTtcIj5SZWFkPC9hPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cImNsZWFyRHJvcGRvd24uY2xvc2UoKTsgY2xlYXJNb2RlID0gJ1VucmVhZCc7IGNsZWFyKCk7XCI+VW5yZWFkPC9hPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24taXRlbS1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG5vdGlmaWNhdGlvbiBvZiBub3RpZmljYXRpb25zIHwgbm90aWZpY2F0aW9uRmlsdGVyOnZpZXdNb2RlXCI+XHJcbiAgICAgICAgICAgIDxoY2ktbm90aWZpY2F0aW9uLWl0ZW0gW25vdGlmaWNhdGlvbl09XCJub3RpZmljYXRpb25cIj48L2hjaS1ub3RpZmljYXRpb24taXRlbT5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihub3RpZmljYXRpb25zIHwgbm90aWZpY2F0aW9uRmlsdGVyOnZpZXdNb2RlKS5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XHJcbiAgICAgICAgICAgICAgKE5vIG1hdGNoaW5nIG5vdGlmaWNhdGlvbnMpXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2xpPlxyXG4gIGAsXHJcbiAgaG9zdDoge2NsYXNzOiBcImhjaS1ub3RpZmljYXRpb24tZHJvcGRvd25cIn1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkRyb3Bkb3duIGV4dGVuZHMgTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwdWJsaWMgbGlDbGFzczogc3RyaW5nID0gbnVsbDtcclxuICBwdWJsaWMgYUNsYXNzOiBzdHJpbmcgPSBcIm5hdi1saW5rXCI7XHJcbiAgcHVibGljIGlDbGFzczogc3RyaW5nID0gbnVsbDtcclxuICBwdWJsaWMgdWxDbGFzczogc3RyaW5nID0gXCJkcm9wZG93bi1tZW51XCI7XHJcblxyXG4gIHZpZXdNb2RlOiBzdHJpbmcgPSBcIlVucmVhZFwiO1xyXG4gIGNsZWFyTW9kZTogc3RyaW5nID0gXCJSZWFkXCI7XHJcbiAgYmFkZ2VDb3VudDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG4gIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdID0gW107XHJcblxyXG4gIG5vdGlmaWNhdGlvbnNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgICAgICAgbmF2aWdhdGlvblNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIHJlbmRlcmVyLCByZXNvbHZlciwgbmF2aWdhdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU3Vic2NyaXB0aW9uID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmdldE5vdGlmaWNhdGlvbnNTdWJqZWN0KCkuc3Vic2NyaWJlKChub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25bXSkgPT4ge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBub3RpZmljYXRpb25zO1xyXG4gICAgICB0aGlzLmJhZGdlQ291bnQubmV4dChub3RpZmljYXRpb25zLmZpbHRlcigobzogTm90aWZpY2F0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG8uc3RhdHVzID09PSBcIlVucmVhZFwiO1xyXG4gICAgICB9KS5sZW5ndGgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICBpZiAodGhpcy5jbGVhck1vZGUgPT09IFwiQWxsXCIpIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmNsZWFyQWxsKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xlYXJNb2RlID09PSBcIlJlYWRcIikge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuY2xlYXJSZWFkKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xlYXJNb2RlID09PSBcIlVucmVhZFwiKSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5jbGVhclVucmVhZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZykge1xyXG4gICAgdGhpcy5yb290Q2xhc3MgPSBcIm5hdi1pdGVtXCI7XHJcblxyXG4gICAgc3VwZXIuc2V0Q29uZmlnKGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb25maWcoY29uZmlnKSB7XHJcbiAgICBzdXBlci51cGRhdGVDb25maWcoY29uZmlnKTtcclxuXHJcbiAgICBpZiAoY29uZmlnLmxpQ2xhc3MpIHtcclxuICAgICAgdGhpcy5saUNsYXNzID0gY29uZmlnLmxpQ2xhc3M7XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLmFDbGFzcykge1xyXG4gICAgICB0aGlzLmFDbGFzcyA9IGNvbmZpZy5hQ2xhc3M7XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLmlDbGFzcykge1xyXG4gICAgICB0aGlzLmlDbGFzcyA9IGNvbmZpZy5pQ2xhc3M7XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLnVsQ2xhc3MpIHtcclxuICAgICAgdGhpcy51bENsYXNzID0gY29uZmlnLnVsQ2xhc3M7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -382,105 +382,105 @@ class NotificationDropdown extends NavComponent {
|
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
384
|
NotificationDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationDropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: i1.NavigationService }, { token: i0.ChangeDetectorRef }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
385
|
-
NotificationDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationDropdown, selector: "hci-notification-dropdown", host: { classAttribute: "hci-notification-dropdown" }, usesInheritance: true, ngImport: i0, template: `
|
|
386
|
-
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
387
|
-
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
388
|
-
<i class="{{iClass}}"></i>
|
|
389
|
-
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
390
|
-
</a>
|
|
391
|
-
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
392
|
-
<div class="d-flex">
|
|
393
|
-
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
394
|
-
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
395
|
-
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
396
|
-
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
397
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
398
|
-
</button>
|
|
399
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
400
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
401
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
402
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
403
|
-
</div>
|
|
404
|
-
</div>
|
|
405
|
-
</div>
|
|
406
|
-
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
407
|
-
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
408
|
-
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
409
|
-
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
410
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
411
|
-
</button>
|
|
412
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
413
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
414
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
415
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
416
|
-
</div>
|
|
417
|
-
</div>
|
|
418
|
-
</div>
|
|
419
|
-
</div>
|
|
420
|
-
<div class="notification-item-container">
|
|
421
|
-
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
422
|
-
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
423
|
-
</ng-container>
|
|
424
|
-
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
425
|
-
<div class="empty">
|
|
426
|
-
(No matching notifications)
|
|
427
|
-
</div>
|
|
428
|
-
</ng-container>
|
|
429
|
-
</div>
|
|
430
|
-
</ul>
|
|
431
|
-
</li>
|
|
385
|
+
NotificationDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationDropdown, selector: "hci-notification-dropdown", host: { classAttribute: "hci-notification-dropdown" }, usesInheritance: true, ngImport: i0, template: `
|
|
386
|
+
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
387
|
+
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
388
|
+
<i class="{{iClass}}"></i>
|
|
389
|
+
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
390
|
+
</a>
|
|
391
|
+
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
392
|
+
<div class="d-flex">
|
|
393
|
+
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
394
|
+
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
395
|
+
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
396
|
+
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
397
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
398
|
+
</button>
|
|
399
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
400
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
401
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
402
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
403
|
+
</div>
|
|
404
|
+
</div>
|
|
405
|
+
</div>
|
|
406
|
+
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
407
|
+
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
408
|
+
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
409
|
+
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
410
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
411
|
+
</button>
|
|
412
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
413
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
414
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
415
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
416
|
+
</div>
|
|
417
|
+
</div>
|
|
418
|
+
</div>
|
|
419
|
+
</div>
|
|
420
|
+
<div class="notification-item-container">
|
|
421
|
+
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
422
|
+
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
423
|
+
</ng-container>
|
|
424
|
+
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
425
|
+
<div class="empty">
|
|
426
|
+
(No matching notifications)
|
|
427
|
+
</div>
|
|
428
|
+
</ng-container>
|
|
429
|
+
</div>
|
|
430
|
+
</ul>
|
|
431
|
+
</li>
|
|
432
432
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.BadgeComponent, selector: "hci-badge", inputs: ["countSubject", "countLoading"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "component", type: NotificationItemComponent, selector: "hci-notification-item", inputs: ["popup", "notification"] }, { kind: "pipe", type: NotificationFilterPipe, name: "notificationFilter" }] });
|
|
433
433
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationDropdown, decorators: [{
|
|
434
434
|
type: Component,
|
|
435
435
|
args: [{
|
|
436
436
|
selector: "hci-notification-dropdown",
|
|
437
|
-
template: `
|
|
438
|
-
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
439
|
-
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
440
|
-
<i class="{{iClass}}"></i>
|
|
441
|
-
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
442
|
-
</a>
|
|
443
|
-
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
444
|
-
<div class="d-flex">
|
|
445
|
-
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
446
|
-
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
447
|
-
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
448
|
-
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
449
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
450
|
-
</button>
|
|
451
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
452
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
453
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
454
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
455
|
-
</div>
|
|
456
|
-
</div>
|
|
457
|
-
</div>
|
|
458
|
-
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
459
|
-
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
460
|
-
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
461
|
-
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
462
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
463
|
-
</button>
|
|
464
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
465
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
466
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
467
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
468
|
-
</div>
|
|
469
|
-
</div>
|
|
470
|
-
</div>
|
|
471
|
-
</div>
|
|
472
|
-
<div class="notification-item-container">
|
|
473
|
-
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
474
|
-
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
475
|
-
</ng-container>
|
|
476
|
-
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
477
|
-
<div class="empty">
|
|
478
|
-
(No matching notifications)
|
|
479
|
-
</div>
|
|
480
|
-
</ng-container>
|
|
481
|
-
</div>
|
|
482
|
-
</ul>
|
|
483
|
-
</li>
|
|
437
|
+
template: `
|
|
438
|
+
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
439
|
+
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
440
|
+
<i class="{{iClass}}"></i>
|
|
441
|
+
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
442
|
+
</a>
|
|
443
|
+
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
444
|
+
<div class="d-flex">
|
|
445
|
+
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
446
|
+
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
447
|
+
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
448
|
+
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
449
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
450
|
+
</button>
|
|
451
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
452
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
453
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
454
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
455
|
+
</div>
|
|
456
|
+
</div>
|
|
457
|
+
</div>
|
|
458
|
+
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
459
|
+
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
460
|
+
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
461
|
+
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
462
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
463
|
+
</button>
|
|
464
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
465
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
466
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
467
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
468
|
+
</div>
|
|
469
|
+
</div>
|
|
470
|
+
</div>
|
|
471
|
+
</div>
|
|
472
|
+
<div class="notification-item-container">
|
|
473
|
+
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
474
|
+
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
475
|
+
</ng-container>
|
|
476
|
+
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
477
|
+
<div class="empty">
|
|
478
|
+
(No matching notifications)
|
|
479
|
+
</div>
|
|
480
|
+
</ng-container>
|
|
481
|
+
</div>
|
|
482
|
+
</ul>
|
|
483
|
+
</li>
|
|
484
484
|
`,
|
|
485
485
|
host: { class: "hci-notification-dropdown" }
|
|
486
486
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huntsman-cancer-institute-notification.mjs","sources":["../../../projects/notification/src/notification.service.ts","../../../projects/notification/src/components/notification-item.component.ts","../../../projects/notification/src/util/notification-filter.pipe.ts","../../../projects/notification/src/components/notification-popup.component.ts","../../../projects/notification/src/components/notification-dropdown.component.ts","../../../projects/notification/src/notification.module.ts","../../../projects/notification/src/model/notification.entity.ts","../../../projects/notification/src/huntsman-cancer-institute-notification.ts"],"sourcesContent":["import {Inject, Injectable, InjectionToken, isDevMode} from \"@angular/core\";\r\n\r\nimport {Subject} from \"rxjs\";\r\n\r\nimport {Notification} from \"./model/notification.entity\";\r\n\r\nexport let NOTIFICATION_CONFIG = new InjectionToken<any>(\"notificationConfig\");\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n id: number = 0;\r\n\r\n public popupRemoveDelay: number = 5000;\r\n\r\n private notifications: Notification[] = [];\r\n private notificationsSubject: Subject<Notification[]> = new Subject<Notification[]>();\r\n\r\n constructor(@Inject(NOTIFICATION_CONFIG) private notificationConfig: any) {\r\n this.setConfig(this.notificationConfig);\r\n }\r\n\r\n getNotificationsSubject(): Subject<Notification[]> {\r\n return this.notificationsSubject;\r\n }\r\n\r\n addNotification(notification: Notification) {\r\n if (isDevMode()) {\r\n console.debug(\"addNotification\");\r\n }\r\n if (!notification.idNotification) {\r\n notification.idNotification = this.id++;\r\n }\r\n if (!notification.type) {\r\n notification.type = \"INFO\";\r\n }\r\n\r\n this.notifications.push(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n hide(notification: Notification) {\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n if (this.notifications[i].status !== \"NEW\") {\r\n return;\r\n }\r\n if (notification.type === \"INFO\") {\r\n notification.status = \"Read\";\r\n } else {\r\n notification.status = \"Unread\";\r\n }\r\n this.notifications[i] = notification;\r\n console.debug(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n acknowledge(notification: Notification) {\r\n notification.status = \"Read\";\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n discard(notification: Notification) {\r\n notification.status = \"Closed\";\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n this.notifications.splice(i, 1);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearAll() {\r\n this.notifications = [];\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearRead() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Read\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearUnread() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Unread\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n setConfig(config: any) {\r\n if (config.popupRemoveDelay) {\r\n this.popupRemoveDelay = config.popupRemoveDelay;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport {interval} from \"rxjs\";\r\nimport {take} from \"rxjs/operators\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\nimport {NotificationService} from \"../notification.service\";\r\n\r\n@Component({\r\n selector: \"hci-notification-item\",\r\n template: `\r\n <div class=\"notification-item d-flex flex-nowrap\"\r\n (click)=\"$event.stopPropagation()\"\r\n [@close]=\"'in'\"\r\n [class.info]=\"notification.type !== 'ERROR' && notification.type !== 'WARN'\"\r\n [class.warn]=\"notification.type === 'WARN'\"\r\n [class.error]=\"notification.type === 'ERROR'\">\r\n <div class=\"text\">\r\n <div class=\"icon\">\r\n <ng-container *ngIf=\"notification.type === 'INFO'\">\r\n <i class=\"fas fa-info-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'WARN'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'ERROR'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n </div>\r\n <div>\r\n <span *ngIf=\"notification.html === true\" [innerHTML]=\"notification['notification']\"></span>\r\n <span *ngIf=\"notification.html === false\">{{notification[\"notification\"]}}</span>\r\n </div>\r\n </div>\r\n <div class=\"options\">\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); acknowledge();\"\r\n ngbTooltip=\"Keep\"\r\n placement=\"left\"\r\n style=\"margin-bottom: 5px;\">\r\n <i class=\"fas fa-check\"></i>\r\n </button>\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); discard();\"\r\n ngbTooltip=\"Discard\"\r\n placement=\"left\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"close\",\r\n [\r\n state(\"in\", style({opacity: 1})),\r\n transition(\"* => void\", [\r\n animate(1000, style({opacity: 0}))\r\n ]),\r\n ]\r\n )\r\n ]\r\n})\r\nexport class NotificationItemComponent {\r\n\r\n @Input() popup: boolean = false;\r\n @Input() notification: Notification;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.popup) {\r\n interval(this.notificationService.popupRemoveDelay)\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.notificationService.hide(this.notification);\r\n });\r\n }\r\n }\r\n\r\n acknowledge() {\r\n this.notificationService.acknowledge(this.notification);\r\n }\r\n\r\n discard() {\r\n this.notificationService.discard(this.notification);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Pipe({\r\n name: \"notificationFilter\",\r\n pure: false\r\n})\r\nexport class NotificationFilterPipe implements PipeTransform {\r\n\r\n transform(list: Notification[], status: string, hasStatus?: boolean): Notification[] {\r\n return list.filter((o: Notification) => {\r\n if (status === \"All\") {\r\n return list;\r\n }\r\n if (hasStatus !== undefined) {\r\n if (hasStatus) {\r\n return o.status === status;\r\n } else {\r\n return o.status !== status;\r\n }\r\n } else {\r\n return o.status === status;\r\n }\r\n });\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {animate, query, stagger, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport {NotificationService} from \"../notification.service\";\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Component({\r\n selector: \"hci-notification-popup\",\r\n template: `\r\n <div class=\"notification-popup\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:'NEW'\">\r\n <hci-notification-item [notification]=\"notification\" [popup]=\"true\"></hci-notification-item>\r\n </ng-container>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"notificationInOut\", [\r\n transition(\"* => *\", [\r\n query(\".notification-popup-item:enter\", [\r\n animate(1000, style({ opacity: 1 }))\r\n ], {optional: true}),\r\n query(\".notification-popup-item:leave\", [\r\n animate(1000, style({ opacity: 0 }))\r\n ], {optional: true})\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class NotificationPopupComponent implements OnInit, OnDestroy {\r\n\r\n notifications: Notification[] = [];\r\n\r\n notificationsSubscription: Subscription;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\r\n this.notifications = notifications;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSubscription.unsubscribe();\r\n }\r\n}\r\n","import {\n ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Renderer2,\n OnInit, OnDestroy\n} from \"@angular/core\";\n\nimport { Subject, Subscription } from \"rxjs\";\n\nimport {NavComponent, NavigationService} from \"@huntsman-cancer-institute/navigation\";\n\nimport {NotificationService} from \"../notification.service\";\nimport {Notification} from \"../model/notification.entity\";\n\n@Component({\n selector: \"hci-notification-dropdown\",\n template: `\n <li [id]=\"id + '-li'\" class=\"hci-li-dd-li {{liClass}}\" ngbDropdown>\n <a id=\"notification-dropdown\" class=\"hci-li-dd-a {{aClass}}\" ngbDropdownToggle>\n <i class=\"{{iClass}}\"></i>\n <hci-badge *ngIf=\"badgeCount\" [countSubject]=\"badgeCount\"></hci-badge>\n </a>\n <ul ngbDropdownMenu aria-labelledby=\"notification-dropdown\" class=\"hci-li-dd-ul notification-dropdown-menu {{ulClass}}\">\n <div class=\"d-flex\">\n <div class=\"btn-group\" role=\"group\" aria-label=\"View Options\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"btn btn-secondary\">View {{viewMode}}</button>\n <div class=\"btn-group\" role=\"group\" ngbDropdown #viewDropdown=\"ngbDropdown\">\n <button aria-label=\"viewUnRead\" id=\"view\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select View Mode\" ngbDropdownToggle>\n <i class=\"fas fa-arrow-circle-down\"></i>\n </button>\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"view\" ngbDropdownMenu>\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'All'\">All</a>\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Read'\">Read</a>\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Unread'\">Unread</a>\n </div>\n </div>\n </div>\n <div class=\"btn-group right\" role=\"group\" aria-label=\"Clear Options\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"clear()\">Clear {{clearMode}}</button>\n <div class=\"btn-group\" role=\"group\" ngbDropdown #clearDropdown=\"ngbDropdown\">\n <button aria-label=\"clearRead\" id=\"clear\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select Clear Mode\" ngbDropdownToggle>\n <i class=\"fas fa-arrow-circle-down\"></i>\n </button>\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"clear\" ngbDropdownMenu>\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'All'; clear();\">All</a>\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Read'; clear();\">Read</a>\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Unread'; clear();\">Unread</a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"notification-item-container\">\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:viewMode\">\n <hci-notification-item [notification]=\"notification\"></hci-notification-item>\n </ng-container>\n <ng-container *ngIf=\"(notifications | notificationFilter:viewMode).length === 0\">\n <div class=\"empty\">\n (No matching notifications)\n </div>\n </ng-container>\n </div>\n </ul>\n </li>\n `,\n host: {class: \"hci-notification-dropdown\"}\n})\nexport class NotificationDropdown extends NavComponent implements OnInit, OnDestroy {\n\n public liClass: string = null;\n public aClass: string = \"nav-link\";\n public iClass: string = null;\n public ulClass: string = \"dropdown-menu\";\n\n viewMode: string = \"Unread\";\n clearMode: string = \"Read\";\n badgeCount: Subject<number> = new Subject<number>();\n notifications: Notification[] = [];\n\n notificationsSubscription: Subscription;\n\n constructor(elementRef: ElementRef,\n renderer: Renderer2,\n resolver: ComponentFactoryResolver,\n navigationService: NavigationService,\n changeDetectorRef: ChangeDetectorRef,\n private notificationService: NotificationService) {\n super(elementRef, renderer, resolver, navigationService, changeDetectorRef);\n }\n\n ngOnInit(): void {\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\n this.notifications = notifications;\n this.badgeCount.next(notifications.filter((o: Notification) => {\n return o.status === \"Unread\";\n }).length);\n });\n }\n\n ngOnDestroy(): void {\n this.notificationsSubscription.unsubscribe();\n }\n\n clear() {\n if (this.clearMode === \"All\") {\n this.notificationService.clearAll();\n } else if (this.clearMode === \"Read\") {\n this.notificationService.clearRead();\n } else if (this.clearMode === \"Unread\") {\n this.notificationService.clearUnread();\n }\n }\n\n setConfig(config) {\n this.rootClass = \"nav-item\";\n\n super.setConfig(config);\n }\n\n updateConfig(config) {\n super.updateConfig(config);\n\n if (config.liClass) {\n this.liClass = config.liClass;\n }\n if (config.aClass) {\n this.aClass = config.aClass;\n }\n if (config.iClass) {\n this.iClass = config.iClass;\n }\n if (config.ulClass) {\n this.ulClass = config.ulClass;\n }\n }\n}\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport {ModuleWithProviders, NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport {NavigationModule} from \"@huntsman-cancer-institute/navigation\";\r\n\r\nimport {NotificationService, NOTIFICATION_CONFIG} from \"./notification.service\";\r\nimport {NotificationPopupComponent} from \"./components/notification-popup.component\";\r\nimport {NotificationItemComponent} from \"./components/notification-item.component\";\r\nimport {NotificationFilterPipe} from \"./util/notification-filter.pipe\";\r\nimport {NotificationDropdown} from \"./components/notification-dropdown.component\";\r\n\r\n/**\r\n *\r\n */\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NavigationModule,\r\n NgbModule\r\n ],\r\n declarations: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent,\r\n NotificationDropdown,\r\n NotificationFilterPipe\r\n ],\r\n exports: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent\r\n ]\r\n})\r\nexport class NotificationModule {\r\n static forRoot(notificationConfig: any): ModuleWithProviders<NotificationModule> {\r\n return {\r\n providers: [\r\n NotificationService,\r\n {provide: NOTIFICATION_CONFIG, useValue: notificationConfig}\r\n ],\r\n ngModule: NotificationModule\r\n };\r\n }\r\n}\r\n","export class Notification {\r\n idNotification: number;\r\n notification: string;\r\n type: string;\r\n status: string;\r\n html: boolean = false;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NotificationService","i3","i3.NotificationItemComponent","i4.NotificationFilterPipe","i2.NotificationService","i5.NotificationItemComponent","i6.NotificationFilterPipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"huntsman-cancer-institute-notification.mjs","sources":["../../../projects/notification/src/notification.service.ts","../../../projects/notification/src/components/notification-item.component.ts","../../../projects/notification/src/util/notification-filter.pipe.ts","../../../projects/notification/src/components/notification-popup.component.ts","../../../projects/notification/src/components/notification-dropdown.component.ts","../../../projects/notification/src/notification.module.ts","../../../projects/notification/src/model/notification.entity.ts","../../../projects/notification/src/huntsman-cancer-institute-notification.ts"],"sourcesContent":["import {Inject, Injectable, InjectionToken, isDevMode} from \"@angular/core\";\r\n\r\nimport {Subject} from \"rxjs\";\r\n\r\nimport {Notification} from \"./model/notification.entity\";\r\n\r\nexport let NOTIFICATION_CONFIG = new InjectionToken<any>(\"notificationConfig\");\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n id: number = 0;\r\n\r\n public popupRemoveDelay: number = 5000;\r\n\r\n private notifications: Notification[] = [];\r\n private notificationsSubject: Subject<Notification[]> = new Subject<Notification[]>();\r\n\r\n constructor(@Inject(NOTIFICATION_CONFIG) private notificationConfig: any) {\r\n this.setConfig(this.notificationConfig);\r\n }\r\n\r\n getNotificationsSubject(): Subject<Notification[]> {\r\n return this.notificationsSubject;\r\n }\r\n\r\n addNotification(notification: Notification) {\r\n if (isDevMode()) {\r\n console.debug(\"addNotification\");\r\n }\r\n if (!notification.idNotification) {\r\n notification.idNotification = this.id++;\r\n }\r\n if (!notification.type) {\r\n notification.type = \"INFO\";\r\n }\r\n\r\n this.notifications.push(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n hide(notification: Notification) {\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n if (this.notifications[i].status !== \"NEW\") {\r\n return;\r\n }\r\n if (notification.type === \"INFO\") {\r\n notification.status = \"Read\";\r\n } else {\r\n notification.status = \"Unread\";\r\n }\r\n this.notifications[i] = notification;\r\n console.debug(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n acknowledge(notification: Notification) {\r\n notification.status = \"Read\";\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n discard(notification: Notification) {\r\n notification.status = \"Closed\";\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n this.notifications.splice(i, 1);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearAll() {\r\n this.notifications = [];\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearRead() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Read\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearUnread() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Unread\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n setConfig(config: any) {\r\n if (config.popupRemoveDelay) {\r\n this.popupRemoveDelay = config.popupRemoveDelay;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport {interval} from \"rxjs\";\r\nimport {take} from \"rxjs/operators\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\nimport {NotificationService} from \"../notification.service\";\r\n\r\n@Component({\r\n selector: \"hci-notification-item\",\r\n template: `\r\n <div class=\"notification-item d-flex flex-nowrap\"\r\n (click)=\"$event.stopPropagation()\"\r\n [@close]=\"'in'\"\r\n [class.info]=\"notification.type !== 'ERROR' && notification.type !== 'WARN'\"\r\n [class.warn]=\"notification.type === 'WARN'\"\r\n [class.error]=\"notification.type === 'ERROR'\">\r\n <div class=\"text\">\r\n <div class=\"icon\">\r\n <ng-container *ngIf=\"notification.type === 'INFO'\">\r\n <i class=\"fas fa-info-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'WARN'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'ERROR'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n </div>\r\n <div>\r\n <span *ngIf=\"notification.html === true\" [innerHTML]=\"notification['notification']\"></span>\r\n <span *ngIf=\"notification.html === false\">{{notification[\"notification\"]}}</span>\r\n </div>\r\n </div>\r\n <div class=\"options\">\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); acknowledge();\"\r\n ngbTooltip=\"Keep\"\r\n placement=\"left\"\r\n style=\"margin-bottom: 5px;\">\r\n <i class=\"fas fa-check\"></i>\r\n </button>\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); discard();\"\r\n ngbTooltip=\"Discard\"\r\n placement=\"left\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"close\",\r\n [\r\n state(\"in\", style({opacity: 1})),\r\n transition(\"* => void\", [\r\n animate(1000, style({opacity: 0}))\r\n ]),\r\n ]\r\n )\r\n ]\r\n})\r\nexport class NotificationItemComponent {\r\n\r\n @Input() popup: boolean = false;\r\n @Input() notification: Notification;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.popup) {\r\n interval(this.notificationService.popupRemoveDelay)\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.notificationService.hide(this.notification);\r\n });\r\n }\r\n }\r\n\r\n acknowledge() {\r\n this.notificationService.acknowledge(this.notification);\r\n }\r\n\r\n discard() {\r\n this.notificationService.discard(this.notification);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Pipe({\r\n name: \"notificationFilter\",\r\n pure: false\r\n})\r\nexport class NotificationFilterPipe implements PipeTransform {\r\n\r\n transform(list: Notification[], status: string, hasStatus?: boolean): Notification[] {\r\n return list.filter((o: Notification) => {\r\n if (status === \"All\") {\r\n return list;\r\n }\r\n if (hasStatus !== undefined) {\r\n if (hasStatus) {\r\n return o.status === status;\r\n } else {\r\n return o.status !== status;\r\n }\r\n } else {\r\n return o.status === status;\r\n }\r\n });\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {animate, query, stagger, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport {NotificationService} from \"../notification.service\";\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Component({\r\n selector: \"hci-notification-popup\",\r\n template: `\r\n <div class=\"notification-popup\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:'NEW'\">\r\n <hci-notification-item [notification]=\"notification\" [popup]=\"true\"></hci-notification-item>\r\n </ng-container>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"notificationInOut\", [\r\n transition(\"* => *\", [\r\n query(\".notification-popup-item:enter\", [\r\n animate(1000, style({ opacity: 1 }))\r\n ], {optional: true}),\r\n query(\".notification-popup-item:leave\", [\r\n animate(1000, style({ opacity: 0 }))\r\n ], {optional: true})\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class NotificationPopupComponent implements OnInit, OnDestroy {\r\n\r\n notifications: Notification[] = [];\r\n\r\n notificationsSubscription: Subscription;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\r\n this.notifications = notifications;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSubscription.unsubscribe();\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Renderer2,\r\n OnInit, OnDestroy\r\n} from \"@angular/core\";\r\n\r\nimport { Subject, Subscription } from \"rxjs\";\r\n\r\nimport {NavComponent, NavigationService} from \"@huntsman-cancer-institute/navigation\";\r\n\r\nimport {NotificationService} from \"../notification.service\";\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Component({\r\n selector: \"hci-notification-dropdown\",\r\n template: `\r\n <li [id]=\"id + '-li'\" class=\"hci-li-dd-li {{liClass}}\" ngbDropdown>\r\n <a id=\"notification-dropdown\" class=\"hci-li-dd-a {{aClass}}\" ngbDropdownToggle>\r\n <i class=\"{{iClass}}\"></i>\r\n <hci-badge *ngIf=\"badgeCount\" [countSubject]=\"badgeCount\"></hci-badge>\r\n </a>\r\n <ul ngbDropdownMenu aria-labelledby=\"notification-dropdown\" class=\"hci-li-dd-ul notification-dropdown-menu {{ulClass}}\">\r\n <div class=\"d-flex\">\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"View Options\" (click)=\"$event.stopPropagation()\">\r\n <button type=\"button\" class=\"btn btn-secondary\">View {{viewMode}}</button>\r\n <div class=\"btn-group\" role=\"group\" ngbDropdown #viewDropdown=\"ngbDropdown\">\r\n <button aria-label=\"viewUnRead\" id=\"view\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select View Mode\" ngbDropdownToggle>\r\n <i class=\"fas fa-arrow-circle-down\"></i>\r\n </button>\r\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"view\" ngbDropdownMenu>\r\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'All'\">All</a>\r\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Read'\">Read</a>\r\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Unread'\">Unread</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn-group right\" role=\"group\" aria-label=\"Clear Options\" (click)=\"$event.stopPropagation()\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"clear()\">Clear {{clearMode}}</button>\r\n <div class=\"btn-group\" role=\"group\" ngbDropdown #clearDropdown=\"ngbDropdown\">\r\n <button aria-label=\"clearRead\" id=\"clear\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select Clear Mode\" ngbDropdownToggle>\r\n <i class=\"fas fa-arrow-circle-down\"></i>\r\n </button>\r\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"clear\" ngbDropdownMenu>\r\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'All'; clear();\">All</a>\r\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Read'; clear();\">Read</a>\r\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Unread'; clear();\">Unread</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"notification-item-container\">\r\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:viewMode\">\r\n <hci-notification-item [notification]=\"notification\"></hci-notification-item>\r\n </ng-container>\r\n <ng-container *ngIf=\"(notifications | notificationFilter:viewMode).length === 0\">\r\n <div class=\"empty\">\r\n (No matching notifications)\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ul>\r\n </li>\r\n `,\r\n host: {class: \"hci-notification-dropdown\"}\r\n})\r\nexport class NotificationDropdown extends NavComponent implements OnInit, OnDestroy {\r\n\r\n public liClass: string = null;\r\n public aClass: string = \"nav-link\";\r\n public iClass: string = null;\r\n public ulClass: string = \"dropdown-menu\";\r\n\r\n viewMode: string = \"Unread\";\r\n clearMode: string = \"Read\";\r\n badgeCount: Subject<number> = new Subject<number>();\r\n notifications: Notification[] = [];\r\n\r\n notificationsSubscription: Subscription;\r\n\r\n constructor(elementRef: ElementRef,\r\n renderer: Renderer2,\r\n resolver: ComponentFactoryResolver,\r\n navigationService: NavigationService,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private notificationService: NotificationService) {\r\n super(elementRef, renderer, resolver, navigationService, changeDetectorRef);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\r\n this.notifications = notifications;\r\n this.badgeCount.next(notifications.filter((o: Notification) => {\r\n return o.status === \"Unread\";\r\n }).length);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSubscription.unsubscribe();\r\n }\r\n\r\n clear() {\r\n if (this.clearMode === \"All\") {\r\n this.notificationService.clearAll();\r\n } else if (this.clearMode === \"Read\") {\r\n this.notificationService.clearRead();\r\n } else if (this.clearMode === \"Unread\") {\r\n this.notificationService.clearUnread();\r\n }\r\n }\r\n\r\n setConfig(config) {\r\n this.rootClass = \"nav-item\";\r\n\r\n super.setConfig(config);\r\n }\r\n\r\n updateConfig(config) {\r\n super.updateConfig(config);\r\n\r\n if (config.liClass) {\r\n this.liClass = config.liClass;\r\n }\r\n if (config.aClass) {\r\n this.aClass = config.aClass;\r\n }\r\n if (config.iClass) {\r\n this.iClass = config.iClass;\r\n }\r\n if (config.ulClass) {\r\n this.ulClass = config.ulClass;\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport {ModuleWithProviders, NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport {NavigationModule} from \"@huntsman-cancer-institute/navigation\";\r\n\r\nimport {NotificationService, NOTIFICATION_CONFIG} from \"./notification.service\";\r\nimport {NotificationPopupComponent} from \"./components/notification-popup.component\";\r\nimport {NotificationItemComponent} from \"./components/notification-item.component\";\r\nimport {NotificationFilterPipe} from \"./util/notification-filter.pipe\";\r\nimport {NotificationDropdown} from \"./components/notification-dropdown.component\";\r\n\r\n/**\r\n *\r\n */\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NavigationModule,\r\n NgbModule\r\n ],\r\n declarations: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent,\r\n NotificationDropdown,\r\n NotificationFilterPipe\r\n ],\r\n exports: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent\r\n ]\r\n})\r\nexport class NotificationModule {\r\n static forRoot(notificationConfig: any): ModuleWithProviders<NotificationModule> {\r\n return {\r\n providers: [\r\n NotificationService,\r\n {provide: NOTIFICATION_CONFIG, useValue: notificationConfig}\r\n ],\r\n ngModule: NotificationModule\r\n };\r\n }\r\n}\r\n","export class Notification {\r\n idNotification: number;\r\n notification: string;\r\n type: string;\r\n status: string;\r\n html: boolean = false;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NotificationService","i3","i3.NotificationItemComponent","i4.NotificationFilterPipe","i2.NotificationService","i5.NotificationItemComponent","i6.NotificationFilterPipe"],"mappings":"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"}
|
|
@@ -386,105 +386,105 @@ class NotificationDropdown extends NavComponent {
|
|
|
386
386
|
}
|
|
387
387
|
}
|
|
388
388
|
NotificationDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationDropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: i1.NavigationService }, { token: i0.ChangeDetectorRef }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
389
|
-
NotificationDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationDropdown, selector: "hci-notification-dropdown", host: { classAttribute: "hci-notification-dropdown" }, usesInheritance: true, ngImport: i0, template: `
|
|
390
|
-
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
391
|
-
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
392
|
-
<i class="{{iClass}}"></i>
|
|
393
|
-
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
394
|
-
</a>
|
|
395
|
-
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
396
|
-
<div class="d-flex">
|
|
397
|
-
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
398
|
-
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
399
|
-
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
400
|
-
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
401
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
402
|
-
</button>
|
|
403
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
404
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
405
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
406
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
407
|
-
</div>
|
|
408
|
-
</div>
|
|
409
|
-
</div>
|
|
410
|
-
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
411
|
-
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
412
|
-
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
413
|
-
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
414
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
415
|
-
</button>
|
|
416
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
417
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
418
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
419
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
420
|
-
</div>
|
|
421
|
-
</div>
|
|
422
|
-
</div>
|
|
423
|
-
</div>
|
|
424
|
-
<div class="notification-item-container">
|
|
425
|
-
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
426
|
-
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
427
|
-
</ng-container>
|
|
428
|
-
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
429
|
-
<div class="empty">
|
|
430
|
-
(No matching notifications)
|
|
431
|
-
</div>
|
|
432
|
-
</ng-container>
|
|
433
|
-
</div>
|
|
434
|
-
</ul>
|
|
435
|
-
</li>
|
|
389
|
+
NotificationDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NotificationDropdown, selector: "hci-notification-dropdown", host: { classAttribute: "hci-notification-dropdown" }, usesInheritance: true, ngImport: i0, template: `
|
|
390
|
+
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
391
|
+
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
392
|
+
<i class="{{iClass}}"></i>
|
|
393
|
+
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
394
|
+
</a>
|
|
395
|
+
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
396
|
+
<div class="d-flex">
|
|
397
|
+
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
398
|
+
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
399
|
+
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
400
|
+
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
401
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
402
|
+
</button>
|
|
403
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
404
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
405
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
406
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
407
|
+
</div>
|
|
408
|
+
</div>
|
|
409
|
+
</div>
|
|
410
|
+
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
411
|
+
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
412
|
+
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
413
|
+
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
414
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
415
|
+
</button>
|
|
416
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
417
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
418
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
419
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
420
|
+
</div>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
</div>
|
|
424
|
+
<div class="notification-item-container">
|
|
425
|
+
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
426
|
+
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
427
|
+
</ng-container>
|
|
428
|
+
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
429
|
+
<div class="empty">
|
|
430
|
+
(No matching notifications)
|
|
431
|
+
</div>
|
|
432
|
+
</ng-container>
|
|
433
|
+
</div>
|
|
434
|
+
</ul>
|
|
435
|
+
</li>
|
|
436
436
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.BadgeComponent, selector: "hci-badge", inputs: ["countSubject", "countLoading"] }, { kind: "directive", type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "component", type: NotificationItemComponent, selector: "hci-notification-item", inputs: ["popup", "notification"] }, { kind: "pipe", type: NotificationFilterPipe, name: "notificationFilter" }] });
|
|
437
437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationDropdown, decorators: [{
|
|
438
438
|
type: Component,
|
|
439
439
|
args: [{
|
|
440
440
|
selector: "hci-notification-dropdown",
|
|
441
|
-
template: `
|
|
442
|
-
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
443
|
-
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
444
|
-
<i class="{{iClass}}"></i>
|
|
445
|
-
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
446
|
-
</a>
|
|
447
|
-
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
448
|
-
<div class="d-flex">
|
|
449
|
-
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
450
|
-
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
451
|
-
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
452
|
-
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
453
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
454
|
-
</button>
|
|
455
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
456
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
457
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
458
|
-
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
459
|
-
</div>
|
|
460
|
-
</div>
|
|
461
|
-
</div>
|
|
462
|
-
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
463
|
-
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
464
|
-
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
465
|
-
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
466
|
-
<i class="fas fa-arrow-circle-down"></i>
|
|
467
|
-
</button>
|
|
468
|
-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
469
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
470
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
471
|
-
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
472
|
-
</div>
|
|
473
|
-
</div>
|
|
474
|
-
</div>
|
|
475
|
-
</div>
|
|
476
|
-
<div class="notification-item-container">
|
|
477
|
-
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
478
|
-
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
479
|
-
</ng-container>
|
|
480
|
-
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
481
|
-
<div class="empty">
|
|
482
|
-
(No matching notifications)
|
|
483
|
-
</div>
|
|
484
|
-
</ng-container>
|
|
485
|
-
</div>
|
|
486
|
-
</ul>
|
|
487
|
-
</li>
|
|
441
|
+
template: `
|
|
442
|
+
<li [id]="id + '-li'" class="hci-li-dd-li {{liClass}}" ngbDropdown>
|
|
443
|
+
<a id="notification-dropdown" class="hci-li-dd-a {{aClass}}" ngbDropdownToggle>
|
|
444
|
+
<i class="{{iClass}}"></i>
|
|
445
|
+
<hci-badge *ngIf="badgeCount" [countSubject]="badgeCount"></hci-badge>
|
|
446
|
+
</a>
|
|
447
|
+
<ul ngbDropdownMenu aria-labelledby="notification-dropdown" class="hci-li-dd-ul notification-dropdown-menu {{ulClass}}">
|
|
448
|
+
<div class="d-flex">
|
|
449
|
+
<div class="btn-group" role="group" aria-label="View Options" (click)="$event.stopPropagation()">
|
|
450
|
+
<button type="button" class="btn btn-secondary">View {{viewMode}}</button>
|
|
451
|
+
<div class="btn-group" role="group" ngbDropdown #viewDropdown="ngbDropdown">
|
|
452
|
+
<button aria-label="viewUnRead" id="view" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select View Mode" ngbDropdownToggle>
|
|
453
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
454
|
+
</button>
|
|
455
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="view" ngbDropdownMenu>
|
|
456
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'All'">All</a>
|
|
457
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Read'">Read</a>
|
|
458
|
+
<a class="dropdown-item" (click)="viewDropdown.close(); viewMode = 'Unread'">Unread</a>
|
|
459
|
+
</div>
|
|
460
|
+
</div>
|
|
461
|
+
</div>
|
|
462
|
+
<div class="btn-group right" role="group" aria-label="Clear Options" (click)="$event.stopPropagation()">
|
|
463
|
+
<button type="button" class="btn btn-secondary" (click)="clear()">Clear {{clearMode}}</button>
|
|
464
|
+
<div class="btn-group" role="group" ngbDropdown #clearDropdown="ngbDropdown">
|
|
465
|
+
<button aria-label="clearRead" id="clear" type="button" class="btn btn-secondary dropdown-toggle" aria-label="Select Clear Mode" ngbDropdownToggle>
|
|
466
|
+
<i class="fas fa-arrow-circle-down"></i>
|
|
467
|
+
</button>
|
|
468
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="clear" ngbDropdownMenu>
|
|
469
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'All'; clear();">All</a>
|
|
470
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Read'; clear();">Read</a>
|
|
471
|
+
<a class="dropdown-item" (click)="clearDropdown.close(); clearMode = 'Unread'; clear();">Unread</a>
|
|
472
|
+
</div>
|
|
473
|
+
</div>
|
|
474
|
+
</div>
|
|
475
|
+
</div>
|
|
476
|
+
<div class="notification-item-container">
|
|
477
|
+
<ng-container *ngFor="let notification of notifications | notificationFilter:viewMode">
|
|
478
|
+
<hci-notification-item [notification]="notification"></hci-notification-item>
|
|
479
|
+
</ng-container>
|
|
480
|
+
<ng-container *ngIf="(notifications | notificationFilter:viewMode).length === 0">
|
|
481
|
+
<div class="empty">
|
|
482
|
+
(No matching notifications)
|
|
483
|
+
</div>
|
|
484
|
+
</ng-container>
|
|
485
|
+
</div>
|
|
486
|
+
</ul>
|
|
487
|
+
</li>
|
|
488
488
|
`,
|
|
489
489
|
host: { class: "hci-notification-dropdown" }
|
|
490
490
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huntsman-cancer-institute-notification.mjs","sources":["../../../projects/notification/src/notification.service.ts","../../../projects/notification/src/model/notification.entity.ts","../../../projects/notification/src/components/notification-item.component.ts","../../../projects/notification/src/util/notification-filter.pipe.ts","../../../projects/notification/src/components/notification-popup.component.ts","../../../projects/notification/src/components/notification-dropdown.component.ts","../../../projects/notification/src/notification.module.ts","../../../projects/notification/src/huntsman-cancer-institute-notification.ts"],"sourcesContent":["import {Inject, Injectable, InjectionToken, isDevMode} from \"@angular/core\";\r\n\r\nimport {Subject} from \"rxjs\";\r\n\r\nimport {Notification} from \"./model/notification.entity\";\r\n\r\nexport let NOTIFICATION_CONFIG = new InjectionToken<any>(\"notificationConfig\");\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n id: number = 0;\r\n\r\n public popupRemoveDelay: number = 5000;\r\n\r\n private notifications: Notification[] = [];\r\n private notificationsSubject: Subject<Notification[]> = new Subject<Notification[]>();\r\n\r\n constructor(@Inject(NOTIFICATION_CONFIG) private notificationConfig: any) {\r\n this.setConfig(this.notificationConfig);\r\n }\r\n\r\n getNotificationsSubject(): Subject<Notification[]> {\r\n return this.notificationsSubject;\r\n }\r\n\r\n addNotification(notification: Notification) {\r\n if (isDevMode()) {\r\n console.debug(\"addNotification\");\r\n }\r\n if (!notification.idNotification) {\r\n notification.idNotification = this.id++;\r\n }\r\n if (!notification.type) {\r\n notification.type = \"INFO\";\r\n }\r\n\r\n this.notifications.push(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n hide(notification: Notification) {\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n if (this.notifications[i].status !== \"NEW\") {\r\n return;\r\n }\r\n if (notification.type === \"INFO\") {\r\n notification.status = \"Read\";\r\n } else {\r\n notification.status = \"Unread\";\r\n }\r\n this.notifications[i] = notification;\r\n console.debug(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n acknowledge(notification: Notification) {\r\n notification.status = \"Read\";\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n discard(notification: Notification) {\r\n notification.status = \"Closed\";\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n this.notifications.splice(i, 1);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearAll() {\r\n this.notifications = [];\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearRead() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Read\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearUnread() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Unread\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n setConfig(config: any) {\r\n if (config.popupRemoveDelay) {\r\n this.popupRemoveDelay = config.popupRemoveDelay;\r\n }\r\n }\r\n\r\n}\r\n","export class Notification {\r\n idNotification: number;\r\n notification: string;\r\n type: string;\r\n status: string;\r\n html: boolean = false;\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport {interval} from \"rxjs\";\r\nimport {take} from \"rxjs/operators\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\nimport {NotificationService} from \"../notification.service\";\r\n\r\n@Component({\r\n selector: \"hci-notification-item\",\r\n template: `\r\n <div class=\"notification-item d-flex flex-nowrap\"\r\n (click)=\"$event.stopPropagation()\"\r\n [@close]=\"'in'\"\r\n [class.info]=\"notification.type !== 'ERROR' && notification.type !== 'WARN'\"\r\n [class.warn]=\"notification.type === 'WARN'\"\r\n [class.error]=\"notification.type === 'ERROR'\">\r\n <div class=\"text\">\r\n <div class=\"icon\">\r\n <ng-container *ngIf=\"notification.type === 'INFO'\">\r\n <i class=\"fas fa-info-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'WARN'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'ERROR'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n </div>\r\n <div>\r\n <span *ngIf=\"notification.html === true\" [innerHTML]=\"notification['notification']\"></span>\r\n <span *ngIf=\"notification.html === false\">{{notification[\"notification\"]}}</span>\r\n </div>\r\n </div>\r\n <div class=\"options\">\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); acknowledge();\"\r\n ngbTooltip=\"Keep\"\r\n placement=\"left\"\r\n style=\"margin-bottom: 5px;\">\r\n <i class=\"fas fa-check\"></i>\r\n </button>\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); discard();\"\r\n ngbTooltip=\"Discard\"\r\n placement=\"left\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"close\",\r\n [\r\n state(\"in\", style({opacity: 1})),\r\n transition(\"* => void\", [\r\n animate(1000, style({opacity: 0}))\r\n ]),\r\n ]\r\n )\r\n ]\r\n})\r\nexport class NotificationItemComponent {\r\n\r\n @Input() popup: boolean = false;\r\n @Input() notification: Notification;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.popup) {\r\n interval(this.notificationService.popupRemoveDelay)\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.notificationService.hide(this.notification);\r\n });\r\n }\r\n }\r\n\r\n acknowledge() {\r\n this.notificationService.acknowledge(this.notification);\r\n }\r\n\r\n discard() {\r\n this.notificationService.discard(this.notification);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Pipe({\r\n name: \"notificationFilter\",\r\n pure: false\r\n})\r\nexport class NotificationFilterPipe implements PipeTransform {\r\n\r\n transform(list: Notification[], status: string, hasStatus?: boolean): Notification[] {\r\n return list.filter((o: Notification) => {\r\n if (status === \"All\") {\r\n return list;\r\n }\r\n if (hasStatus !== undefined) {\r\n if (hasStatus) {\r\n return o.status === status;\r\n } else {\r\n return o.status !== status;\r\n }\r\n } else {\r\n return o.status === status;\r\n }\r\n });\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {animate, query, stagger, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport {NotificationService} from \"../notification.service\";\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Component({\r\n selector: \"hci-notification-popup\",\r\n template: `\r\n <div class=\"notification-popup\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:'NEW'\">\r\n <hci-notification-item [notification]=\"notification\" [popup]=\"true\"></hci-notification-item>\r\n </ng-container>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"notificationInOut\", [\r\n transition(\"* => *\", [\r\n query(\".notification-popup-item:enter\", [\r\n animate(1000, style({ opacity: 1 }))\r\n ], {optional: true}),\r\n query(\".notification-popup-item:leave\", [\r\n animate(1000, style({ opacity: 0 }))\r\n ], {optional: true})\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class NotificationPopupComponent implements OnInit, OnDestroy {\r\n\r\n notifications: Notification[] = [];\r\n\r\n notificationsSubscription: Subscription;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\r\n this.notifications = notifications;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSubscription.unsubscribe();\r\n }\r\n}\r\n","import {\n ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Renderer2,\n OnInit, OnDestroy\n} from \"@angular/core\";\n\nimport { Subject, Subscription } from \"rxjs\";\n\nimport {NavComponent, NavigationService} from \"@huntsman-cancer-institute/navigation\";\n\nimport {NotificationService} from \"../notification.service\";\nimport {Notification} from \"../model/notification.entity\";\n\n@Component({\n selector: \"hci-notification-dropdown\",\n template: `\n <li [id]=\"id + '-li'\" class=\"hci-li-dd-li {{liClass}}\" ngbDropdown>\n <a id=\"notification-dropdown\" class=\"hci-li-dd-a {{aClass}}\" ngbDropdownToggle>\n <i class=\"{{iClass}}\"></i>\n <hci-badge *ngIf=\"badgeCount\" [countSubject]=\"badgeCount\"></hci-badge>\n </a>\n <ul ngbDropdownMenu aria-labelledby=\"notification-dropdown\" class=\"hci-li-dd-ul notification-dropdown-menu {{ulClass}}\">\n <div class=\"d-flex\">\n <div class=\"btn-group\" role=\"group\" aria-label=\"View Options\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"btn btn-secondary\">View {{viewMode}}</button>\n <div class=\"btn-group\" role=\"group\" ngbDropdown #viewDropdown=\"ngbDropdown\">\n <button aria-label=\"viewUnRead\" id=\"view\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select View Mode\" ngbDropdownToggle>\n <i class=\"fas fa-arrow-circle-down\"></i>\n </button>\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"view\" ngbDropdownMenu>\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'All'\">All</a>\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Read'\">Read</a>\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Unread'\">Unread</a>\n </div>\n </div>\n </div>\n <div class=\"btn-group right\" role=\"group\" aria-label=\"Clear Options\" (click)=\"$event.stopPropagation()\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"clear()\">Clear {{clearMode}}</button>\n <div class=\"btn-group\" role=\"group\" ngbDropdown #clearDropdown=\"ngbDropdown\">\n <button aria-label=\"clearRead\" id=\"clear\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select Clear Mode\" ngbDropdownToggle>\n <i class=\"fas fa-arrow-circle-down\"></i>\n </button>\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"clear\" ngbDropdownMenu>\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'All'; clear();\">All</a>\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Read'; clear();\">Read</a>\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Unread'; clear();\">Unread</a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"notification-item-container\">\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:viewMode\">\n <hci-notification-item [notification]=\"notification\"></hci-notification-item>\n </ng-container>\n <ng-container *ngIf=\"(notifications | notificationFilter:viewMode).length === 0\">\n <div class=\"empty\">\n (No matching notifications)\n </div>\n </ng-container>\n </div>\n </ul>\n </li>\n `,\n host: {class: \"hci-notification-dropdown\"}\n})\nexport class NotificationDropdown extends NavComponent implements OnInit, OnDestroy {\n\n public liClass: string = null;\n public aClass: string = \"nav-link\";\n public iClass: string = null;\n public ulClass: string = \"dropdown-menu\";\n\n viewMode: string = \"Unread\";\n clearMode: string = \"Read\";\n badgeCount: Subject<number> = new Subject<number>();\n notifications: Notification[] = [];\n\n notificationsSubscription: Subscription;\n\n constructor(elementRef: ElementRef,\n renderer: Renderer2,\n resolver: ComponentFactoryResolver,\n navigationService: NavigationService,\n changeDetectorRef: ChangeDetectorRef,\n private notificationService: NotificationService) {\n super(elementRef, renderer, resolver, navigationService, changeDetectorRef);\n }\n\n ngOnInit(): void {\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\n this.notifications = notifications;\n this.badgeCount.next(notifications.filter((o: Notification) => {\n return o.status === \"Unread\";\n }).length);\n });\n }\n\n ngOnDestroy(): void {\n this.notificationsSubscription.unsubscribe();\n }\n\n clear() {\n if (this.clearMode === \"All\") {\n this.notificationService.clearAll();\n } else if (this.clearMode === \"Read\") {\n this.notificationService.clearRead();\n } else if (this.clearMode === \"Unread\") {\n this.notificationService.clearUnread();\n }\n }\n\n setConfig(config) {\n this.rootClass = \"nav-item\";\n\n super.setConfig(config);\n }\n\n updateConfig(config) {\n super.updateConfig(config);\n\n if (config.liClass) {\n this.liClass = config.liClass;\n }\n if (config.aClass) {\n this.aClass = config.aClass;\n }\n if (config.iClass) {\n this.iClass = config.iClass;\n }\n if (config.ulClass) {\n this.ulClass = config.ulClass;\n }\n }\n}\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport {ModuleWithProviders, NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport {NavigationModule} from \"@huntsman-cancer-institute/navigation\";\r\n\r\nimport {NotificationService, NOTIFICATION_CONFIG} from \"./notification.service\";\r\nimport {NotificationPopupComponent} from \"./components/notification-popup.component\";\r\nimport {NotificationItemComponent} from \"./components/notification-item.component\";\r\nimport {NotificationFilterPipe} from \"./util/notification-filter.pipe\";\r\nimport {NotificationDropdown} from \"./components/notification-dropdown.component\";\r\n\r\n/**\r\n *\r\n */\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NavigationModule,\r\n NgbModule\r\n ],\r\n declarations: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent,\r\n NotificationDropdown,\r\n NotificationFilterPipe\r\n ],\r\n exports: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent\r\n ]\r\n})\r\nexport class NotificationModule {\r\n static forRoot(notificationConfig: any): ModuleWithProviders<NotificationModule> {\r\n return {\r\n providers: [\r\n NotificationService,\r\n {provide: NOTIFICATION_CONFIG, useValue: notificationConfig}\r\n ],\r\n ngModule: NotificationModule\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NotificationService","i3","i3.NotificationItemComponent","i4.NotificationFilterPipe","i2.NotificationService","i5.NotificationItemComponent","i6.NotificationFilterPipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"huntsman-cancer-institute-notification.mjs","sources":["../../../projects/notification/src/notification.service.ts","../../../projects/notification/src/model/notification.entity.ts","../../../projects/notification/src/components/notification-item.component.ts","../../../projects/notification/src/util/notification-filter.pipe.ts","../../../projects/notification/src/components/notification-popup.component.ts","../../../projects/notification/src/components/notification-dropdown.component.ts","../../../projects/notification/src/notification.module.ts","../../../projects/notification/src/huntsman-cancer-institute-notification.ts"],"sourcesContent":["import {Inject, Injectable, InjectionToken, isDevMode} from \"@angular/core\";\r\n\r\nimport {Subject} from \"rxjs\";\r\n\r\nimport {Notification} from \"./model/notification.entity\";\r\n\r\nexport let NOTIFICATION_CONFIG = new InjectionToken<any>(\"notificationConfig\");\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n id: number = 0;\r\n\r\n public popupRemoveDelay: number = 5000;\r\n\r\n private notifications: Notification[] = [];\r\n private notificationsSubject: Subject<Notification[]> = new Subject<Notification[]>();\r\n\r\n constructor(@Inject(NOTIFICATION_CONFIG) private notificationConfig: any) {\r\n this.setConfig(this.notificationConfig);\r\n }\r\n\r\n getNotificationsSubject(): Subject<Notification[]> {\r\n return this.notificationsSubject;\r\n }\r\n\r\n addNotification(notification: Notification) {\r\n if (isDevMode()) {\r\n console.debug(\"addNotification\");\r\n }\r\n if (!notification.idNotification) {\r\n notification.idNotification = this.id++;\r\n }\r\n if (!notification.type) {\r\n notification.type = \"INFO\";\r\n }\r\n\r\n this.notifications.push(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n hide(notification: Notification) {\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n if (this.notifications[i].status !== \"NEW\") {\r\n return;\r\n }\r\n if (notification.type === \"INFO\") {\r\n notification.status = \"Read\";\r\n } else {\r\n notification.status = \"Unread\";\r\n }\r\n this.notifications[i] = notification;\r\n console.debug(notification);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n acknowledge(notification: Notification) {\r\n notification.status = \"Read\";\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n discard(notification: Notification) {\r\n notification.status = \"Closed\";\r\n let i: number;\r\n for (i = 0; i < this.notifications.length; i++) {\r\n if (this.notifications[i].idNotification === notification.idNotification) {\r\n break;\r\n }\r\n }\r\n this.notifications.splice(i, 1);\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearAll() {\r\n this.notifications = [];\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearRead() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Read\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n clearUnread() {\r\n this.notifications = this.notifications.filter((o: Notification) => {\r\n return o.status !== \"Unread\";\r\n });\r\n this.notificationsSubject.next(this.notifications);\r\n }\r\n\r\n setConfig(config: any) {\r\n if (config.popupRemoveDelay) {\r\n this.popupRemoveDelay = config.popupRemoveDelay;\r\n }\r\n }\r\n\r\n}\r\n","export class Notification {\r\n idNotification: number;\r\n notification: string;\r\n type: string;\r\n status: string;\r\n html: boolean = false;\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport {interval} from \"rxjs\";\r\nimport {take} from \"rxjs/operators\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\nimport {NotificationService} from \"../notification.service\";\r\n\r\n@Component({\r\n selector: \"hci-notification-item\",\r\n template: `\r\n <div class=\"notification-item d-flex flex-nowrap\"\r\n (click)=\"$event.stopPropagation()\"\r\n [@close]=\"'in'\"\r\n [class.info]=\"notification.type !== 'ERROR' && notification.type !== 'WARN'\"\r\n [class.warn]=\"notification.type === 'WARN'\"\r\n [class.error]=\"notification.type === 'ERROR'\">\r\n <div class=\"text\">\r\n <div class=\"icon\">\r\n <ng-container *ngIf=\"notification.type === 'INFO'\">\r\n <i class=\"fas fa-info-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'WARN'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"notification.type === 'ERROR'\">\r\n <i class=\"fas fa-exclamation-circle fa-lg\"></i>\r\n </ng-container>\r\n </div>\r\n <div>\r\n <span *ngIf=\"notification.html === true\" [innerHTML]=\"notification['notification']\"></span>\r\n <span *ngIf=\"notification.html === false\">{{notification[\"notification\"]}}</span>\r\n </div>\r\n </div>\r\n <div class=\"options\">\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); acknowledge();\"\r\n ngbTooltip=\"Keep\"\r\n placement=\"left\"\r\n style=\"margin-bottom: 5px;\">\r\n <i class=\"fas fa-check\"></i>\r\n </button>\r\n <button class=\"btn btn-primary\"\r\n (click)=\"$event.stopPropagation(); discard();\"\r\n ngbTooltip=\"Discard\"\r\n placement=\"left\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"close\",\r\n [\r\n state(\"in\", style({opacity: 1})),\r\n transition(\"* => void\", [\r\n animate(1000, style({opacity: 0}))\r\n ]),\r\n ]\r\n )\r\n ]\r\n})\r\nexport class NotificationItemComponent {\r\n\r\n @Input() popup: boolean = false;\r\n @Input() notification: Notification;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.popup) {\r\n interval(this.notificationService.popupRemoveDelay)\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.notificationService.hide(this.notification);\r\n });\r\n }\r\n }\r\n\r\n acknowledge() {\r\n this.notificationService.acknowledge(this.notification);\r\n }\r\n\r\n discard() {\r\n this.notificationService.discard(this.notification);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Pipe({\r\n name: \"notificationFilter\",\r\n pure: false\r\n})\r\nexport class NotificationFilterPipe implements PipeTransform {\r\n\r\n transform(list: Notification[], status: string, hasStatus?: boolean): Notification[] {\r\n return list.filter((o: Notification) => {\r\n if (status === \"All\") {\r\n return list;\r\n }\r\n if (hasStatus !== undefined) {\r\n if (hasStatus) {\r\n return o.status === status;\r\n } else {\r\n return o.status !== status;\r\n }\r\n } else {\r\n return o.status === status;\r\n }\r\n });\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {animate, query, stagger, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport {NotificationService} from \"../notification.service\";\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Component({\r\n selector: \"hci-notification-popup\",\r\n template: `\r\n <div class=\"notification-popup\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:'NEW'\">\r\n <hci-notification-item [notification]=\"notification\" [popup]=\"true\"></hci-notification-item>\r\n </ng-container>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"notificationInOut\", [\r\n transition(\"* => *\", [\r\n query(\".notification-popup-item:enter\", [\r\n animate(1000, style({ opacity: 1 }))\r\n ], {optional: true}),\r\n query(\".notification-popup-item:leave\", [\r\n animate(1000, style({ opacity: 0 }))\r\n ], {optional: true})\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class NotificationPopupComponent implements OnInit, OnDestroy {\r\n\r\n notifications: Notification[] = [];\r\n\r\n notificationsSubscription: Subscription;\r\n\r\n constructor(private notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\r\n this.notifications = notifications;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSubscription.unsubscribe();\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Renderer2,\r\n OnInit, OnDestroy\r\n} from \"@angular/core\";\r\n\r\nimport { Subject, Subscription } from \"rxjs\";\r\n\r\nimport {NavComponent, NavigationService} from \"@huntsman-cancer-institute/navigation\";\r\n\r\nimport {NotificationService} from \"../notification.service\";\r\nimport {Notification} from \"../model/notification.entity\";\r\n\r\n@Component({\r\n selector: \"hci-notification-dropdown\",\r\n template: `\r\n <li [id]=\"id + '-li'\" class=\"hci-li-dd-li {{liClass}}\" ngbDropdown>\r\n <a id=\"notification-dropdown\" class=\"hci-li-dd-a {{aClass}}\" ngbDropdownToggle>\r\n <i class=\"{{iClass}}\"></i>\r\n <hci-badge *ngIf=\"badgeCount\" [countSubject]=\"badgeCount\"></hci-badge>\r\n </a>\r\n <ul ngbDropdownMenu aria-labelledby=\"notification-dropdown\" class=\"hci-li-dd-ul notification-dropdown-menu {{ulClass}}\">\r\n <div class=\"d-flex\">\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"View Options\" (click)=\"$event.stopPropagation()\">\r\n <button type=\"button\" class=\"btn btn-secondary\">View {{viewMode}}</button>\r\n <div class=\"btn-group\" role=\"group\" ngbDropdown #viewDropdown=\"ngbDropdown\">\r\n <button aria-label=\"viewUnRead\" id=\"view\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select View Mode\" ngbDropdownToggle>\r\n <i class=\"fas fa-arrow-circle-down\"></i>\r\n </button>\r\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"view\" ngbDropdownMenu>\r\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'All'\">All</a>\r\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Read'\">Read</a>\r\n <a class=\"dropdown-item\" (click)=\"viewDropdown.close(); viewMode = 'Unread'\">Unread</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn-group right\" role=\"group\" aria-label=\"Clear Options\" (click)=\"$event.stopPropagation()\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"clear()\">Clear {{clearMode}}</button>\r\n <div class=\"btn-group\" role=\"group\" ngbDropdown #clearDropdown=\"ngbDropdown\">\r\n <button aria-label=\"clearRead\" id=\"clear\" type=\"button\" class=\"btn btn-secondary dropdown-toggle\" aria-label=\"Select Clear Mode\" ngbDropdownToggle>\r\n <i class=\"fas fa-arrow-circle-down\"></i>\r\n </button>\r\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"clear\" ngbDropdownMenu>\r\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'All'; clear();\">All</a>\r\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Read'; clear();\">Read</a>\r\n <a class=\"dropdown-item\" (click)=\"clearDropdown.close(); clearMode = 'Unread'; clear();\">Unread</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"notification-item-container\">\r\n <ng-container *ngFor=\"let notification of notifications | notificationFilter:viewMode\">\r\n <hci-notification-item [notification]=\"notification\"></hci-notification-item>\r\n </ng-container>\r\n <ng-container *ngIf=\"(notifications | notificationFilter:viewMode).length === 0\">\r\n <div class=\"empty\">\r\n (No matching notifications)\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ul>\r\n </li>\r\n `,\r\n host: {class: \"hci-notification-dropdown\"}\r\n})\r\nexport class NotificationDropdown extends NavComponent implements OnInit, OnDestroy {\r\n\r\n public liClass: string = null;\r\n public aClass: string = \"nav-link\";\r\n public iClass: string = null;\r\n public ulClass: string = \"dropdown-menu\";\r\n\r\n viewMode: string = \"Unread\";\r\n clearMode: string = \"Read\";\r\n badgeCount: Subject<number> = new Subject<number>();\r\n notifications: Notification[] = [];\r\n\r\n notificationsSubscription: Subscription;\r\n\r\n constructor(elementRef: ElementRef,\r\n renderer: Renderer2,\r\n resolver: ComponentFactoryResolver,\r\n navigationService: NavigationService,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private notificationService: NotificationService) {\r\n super(elementRef, renderer, resolver, navigationService, changeDetectorRef);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.notificationsSubscription = this.notificationService.getNotificationsSubject().subscribe((notifications: Notification[]) => {\r\n this.notifications = notifications;\r\n this.badgeCount.next(notifications.filter((o: Notification) => {\r\n return o.status === \"Unread\";\r\n }).length);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSubscription.unsubscribe();\r\n }\r\n\r\n clear() {\r\n if (this.clearMode === \"All\") {\r\n this.notificationService.clearAll();\r\n } else if (this.clearMode === \"Read\") {\r\n this.notificationService.clearRead();\r\n } else if (this.clearMode === \"Unread\") {\r\n this.notificationService.clearUnread();\r\n }\r\n }\r\n\r\n setConfig(config) {\r\n this.rootClass = \"nav-item\";\r\n\r\n super.setConfig(config);\r\n }\r\n\r\n updateConfig(config) {\r\n super.updateConfig(config);\r\n\r\n if (config.liClass) {\r\n this.liClass = config.liClass;\r\n }\r\n if (config.aClass) {\r\n this.aClass = config.aClass;\r\n }\r\n if (config.iClass) {\r\n this.iClass = config.iClass;\r\n }\r\n if (config.ulClass) {\r\n this.ulClass = config.ulClass;\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016 Huntsman Cancer Institute at the University of Utah, Confidential and Proprietary\r\n */\r\nimport {ModuleWithProviders, NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport {NavigationModule} from \"@huntsman-cancer-institute/navigation\";\r\n\r\nimport {NotificationService, NOTIFICATION_CONFIG} from \"./notification.service\";\r\nimport {NotificationPopupComponent} from \"./components/notification-popup.component\";\r\nimport {NotificationItemComponent} from \"./components/notification-item.component\";\r\nimport {NotificationFilterPipe} from \"./util/notification-filter.pipe\";\r\nimport {NotificationDropdown} from \"./components/notification-dropdown.component\";\r\n\r\n/**\r\n *\r\n */\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NavigationModule,\r\n NgbModule\r\n ],\r\n declarations: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent,\r\n NotificationDropdown,\r\n NotificationFilterPipe\r\n ],\r\n exports: [\r\n NotificationPopupComponent,\r\n NotificationItemComponent\r\n ]\r\n})\r\nexport class NotificationModule {\r\n static forRoot(notificationConfig: any): ModuleWithProviders<NotificationModule> {\r\n return {\r\n providers: [\r\n NotificationService,\r\n {provide: NOTIFICATION_CONFIG, useValue: notificationConfig}\r\n ],\r\n ngModule: NotificationModule\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NotificationService","i3","i3.NotificationItemComponent","i4.NotificationFilterPipe","i2.NotificationService","i5.NotificationItemComponent","i6.NotificationFilterPipe"],"mappings":"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"}
|