sgh-navbar 0.0.31 → 0.0.32
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.
|
@@ -104,6 +104,7 @@ export class ToolbarComponent {
|
|
|
104
104
|
if (index == 0) {
|
|
105
105
|
client.selected = true;
|
|
106
106
|
this.sghNavbarSvc.setClient(client);
|
|
107
|
+
this.selectedClient = client;
|
|
107
108
|
}
|
|
108
109
|
else {
|
|
109
110
|
client.selected = false;
|
|
@@ -132,6 +133,7 @@ export class ToolbarComponent {
|
|
|
132
133
|
minWidth: 400,
|
|
133
134
|
disableClose: true
|
|
134
135
|
});
|
|
136
|
+
this.selectedClient = clientItem;
|
|
135
137
|
// unselect current selected client
|
|
136
138
|
this.unselectClientItems();
|
|
137
139
|
// select current client
|
|
@@ -170,9 +172,11 @@ export class ToolbarComponent {
|
|
|
170
172
|
}
|
|
171
173
|
selectFirstSubclient() {
|
|
172
174
|
this.toolbarData.clientList?.forEach((client) => {
|
|
173
|
-
client.
|
|
174
|
-
|
|
175
|
-
|
|
175
|
+
if (client !== this.selectedClient) {
|
|
176
|
+
client.subClientList?.forEach((scItem, index) => {
|
|
177
|
+
index == 0 ? scItem.checked = true : scItem.checked = false;
|
|
178
|
+
});
|
|
179
|
+
}
|
|
176
180
|
});
|
|
177
181
|
}
|
|
178
182
|
}
|
|
@@ -207,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
207
211
|
type: HostListener,
|
|
208
212
|
args: ['document:click']
|
|
209
213
|
}] } });
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NnaC1uYXZiYXIvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUk1QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7OztBQVd6RixNQUFNLE9BQU8sZ0JBQWdCO0lBK0QzQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBb0IsTUFBaUIsRUFBVSxZQUE4QjtRQUF6RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBM0VuRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELGdCQUFXLEdBQWdCO1lBQ2xDLFlBQVks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QVc7c0JBQW5CLEtBQUs7Z0JBZ0RJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFPeUIsaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFHOUIsV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU87Z0JBTXJCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2ZhZGVJbk91dH0gZnJvbSAnLi4vc2lkZW5hdi9oZWxwZXInO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge01hdE1lbnVUcmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xyXG5pbXBvcnQge0NsaWVudExpc3RJdGVtLCBTdWJDbGllbnRMaXN0SXRlbSwgVG9vbGJhckRhdGF9IGZyb20gXCIuL3Rvb2xiYXItZGF0YVwiO1xyXG5pbXBvcnQge1N1YkNsaWVudERpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4vc3ViLWNsaWVudC1kaWFsb2cvc3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2doTmF2YmFyU2VydmljZX0gZnJvbSBcIi4uL3NnaC1uYXZiYXIuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdG9vbGJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBmYWRlSW5PdXRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgZXhwYW5kZWQ6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHRvZ2dsZVNpZGViYXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKSB0b29sYmFyRGF0YTogVG9vbGJhckRhdGEgPSB7XHJcbiAgICB0aGVtZU9wdGlvbnM6IFt7XHJcbiAgICAgIG5hbWU6ICdTZ2gtZGVmYXVsdC10aGVtZScsXHJcbiAgICAgIHZhbHVlOiAnc2doLWRlZmF1bHQtdGhlbWUnLFxyXG4gICAgICBjaGVja2VkOiB0cnVlXHJcbiAgICB9LCB7XHJcbiAgICAgIG5hbWU6ICdTZ2gtbGlnaHQtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1saWdodC10aGVtZScsXHJcbiAgICAgIGNoZWNrZWQ6IGZhbHNlXHJcbiAgICB9LCB7XHJcbiAgICAgIG5hbWU6ICdTZ2gtYmx1ZS10aGVtZScsXHJcbiAgICAgIHZhbHVlOiAnc2doLWJsdWUtdGhlbWUnLFxyXG4gICAgICBjaGVja2VkOiBmYWxzZVxyXG4gICAgfV0sXHJcbiAgICBiZ0NvbG9yOiAnI2ZmZicsXHJcbiAgICBpbWc6ICcuLi9hc3NldHMvaW1hZ2VzL1N5bmVyZ2VuX0xvZ28tbmV3LnN2ZycsXHJcbiAgICBwcm9maWxlVmlldzogZmFsc2UsXHJcbiAgICBpc05vdGlmTmF2Q29sbGFwc2VkOiBmYWxzZSxcclxuICAgIHNlYXJjaEVuYWJsZTogdHJ1ZSxcclxuICAgIG5vdGlmaWNhdGlvbkVuYWJsZTogdHJ1ZSxcclxuICAgIHByb2ZpbGVFbmFibGU6IHRydWUsXHJcbiAgICBzZXR0aW5nc0VuYWJsZTogdHJ1ZSxcclxuICAgIGNsaWVudExpc3Q6IFt7XHJcbiAgICAgIHRleHQ6ICdDbGllbnQgMScsXHJcbiAgICAgIHZhbHVlOiAnQ0xJRU5UXzEnLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgc3ViQ2xpZW50TGlzdDogW1xyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAxJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzEnLCBjaGVja2VkOiB0cnVlfSxcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMicsIHZhbHVlOiAnU1VCX0NMSUVOVF8yJywgY2hlY2tlZDogZmFsc2V9LFxyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAzJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzMnLCBjaGVja2VkOiBmYWxzZX1cclxuICAgICAgXVxyXG4gICAgfSwge1xyXG4gICAgICB0ZXh0OiAnQ2xpZW50IDInLFxyXG4gICAgICB2YWx1ZTogJ0NMSUVOVF8yJyxcclxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxyXG4gICAgICBzdWJDbGllbnRMaXN0OiBbXHJcbiAgICAgICAge3RleHQ6ICdTdWIgQ2xpZW50IDEnLCB2YWx1ZTogJ1NVQl9DTElFTlRfMScsIGNoZWNrZWQ6IHRydWV9LFxyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAyJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzInLCBjaGVja2VkOiBmYWxzZX1cclxuICAgICAgXVxyXG4gICAgfSwge1xyXG4gICAgICB0ZXh0OiAnQ2xpZW50IDMnLFxyXG4gICAgICB2YWx1ZTogJ0NMSUVOVF8zJyxcclxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlXHJcbiAgICB9XSxcclxuICAgIHByb2ZpbGVDb250ZW50OiAnPGRpdj5wcm9maWxlIGNvbnRlbnQ8L2Rpdj4nLFxyXG4gICAgY2xpZW50Q29uZmlndXJhdGlvbkVuYWJsZTogdHJ1ZSxcclxuICAgIGFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkVuYWJsZTogdHJ1ZSxcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hJbnB1dEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGNsaWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzdWJDbGllbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgc2VhcmNoSW5wdXQgPSBcIlwiO1xyXG4gIHByaXZhdGUgcHJldjogYW55O1xyXG4gIHNlbGVjdGVkOiBhbnkgPSAnc2doLWRlZmF1bHQtdGhlbWUnO1xyXG4gIHByaXZhdGUgd2FzSW5zaWRlID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NsaWVudE1lbnVUcmlnZ2VyJykgY2xpZW50TWVudVRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgY2xpY2tJbnNpZGUoKSB7XHJcbiAgICB0aGlzLndhc0luc2lkZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycpXHJcbiAgY2xpY2tPdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMud2FzSW5zaWRlKSB7XHJcbiAgICAgIHRoaXMudG9vbGJhckRhdGEucHJvZmlsZVZpZXcgPSBmYWxzZTtcclxuICAgICAgdGhpcy50b29sYmFyRGF0YS5pc1RoZW1lQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9vbGJhckRhdGEuaXNOb3RpZk5hdkNvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy53YXNJbnNpZGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgc2doTmF2YmFyU3ZjOiBTZ2hOYXZiYXJTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgdG9nZ2xlU2lkZWJhcigpOiBib29sZWFuIHtcclxuICAgIHRoaXMudG9nZ2xlU2lkZWJhckV2ZW50LmVtaXQodGhpcy5leHBhbmRlZCk7XHJcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZU5vdGlmaWNhdGlvbkxpc3QoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLmlzTm90aWZOYXZDb2xsYXBzZWQgPSAhdGhpcy50b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkXHJcbiAgfVxyXG5cclxuICBjbGlja1Byb2ZpbGUoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLnByb2ZpbGVWaWV3ID0gIXRoaXMudG9vbGJhckRhdGEucHJvZmlsZVZpZXdcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoSW5wdXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaElucHV0RXZlbnQuZW1pdCh0aGlzLnNlYXJjaElucHV0KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGluaXRpYWxseSBzZXQgY2xpZW50IGFuZCBzdWJjbGllbnRzXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy50b29sYmFyRGF0YS5jbGllbnRMaXN0Py5mb3JFYWNoKChjbGllbnQ6IENsaWVudExpc3RJdGVtLGluZGV4KSA9PiB7XHJcbiAgICAgICAgLy8gc2VsZWN0IHRoZSBmaXJzdCBjbGllbnRcclxuICAgICAgICBpZihpbmRleCA9PSAwKXtcclxuICAgICAgICAgIGNsaWVudC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRDbGllbnQoY2xpZW50KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY2xpZW50LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW5pdFNlbGVjdGVkU3ViQ2xpZW50KGNsaWVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSwxMDApXHJcbiAgfVxyXG5cclxuICBzZXRDbGFzcyhzZWxlY3RlZDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucHJldik7XHJcbiAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHNlbGVjdGVkKTtcclxuICAgIHRoaXMucHJldiA9IHNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV2ZW50ID0gZXZlbnQ7XHJcbiAgc2VsZWN0ZWRUaGVtZTogc3RyaW5nID0gJyc7IC8vIFRvIHN0b3JlIHRoZSBzZWxlY3RlZCByYWRpbyBidXR0b24gdmFsdWVcclxuICBzZWFyY2hUZXh0OiBhbnk7XHJcblxyXG4gIG9uUmFkaW9DbGljayh0aGVtZVZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGVtZVZhbHVlO1xyXG4gICAgdGhpcy5zZXRDbGFzcyh0aGVtZVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdChldmVudCwgY2xpZW50SXRlbTogQ2xpZW50TGlzdEl0ZW0pIHsgLy8gZXZlbnQgb24gY2xpZW50IHNlbGVjdGlvblxyXG4gICAgLy8gYXQgbGVhc3Qgb25lIHN1YmNsaWVudCBzaG91bGQgZXhpc3RcclxuICAgIGlmIChjbGllbnRJdGVtLnN1YkNsaWVudExpc3QgJiYgY2xpZW50SXRlbS5zdWJDbGllbnRMaXN0Lmxlbmd0aCA+IDApIHsgLy8gaWYgc3ViIGNsaWVudHMgZXhpc3Qgb3BlbiBzdWIgY2xpZW50IGRpYWxvZ1xyXG4gICAgICBjb25zdCBzdWJDbGllbnREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFN1YkNsaWVudERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNsaWVudDogY2xpZW50SXRlbVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWluV2lkdGg6IDQwMCxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAvLyB1bnNlbGVjdCBjdXJyZW50IHNlbGVjdGVkIGNsaWVudFxyXG4gICAgICB0aGlzLnVuc2VsZWN0Q2xpZW50SXRlbXMoKTtcclxuICAgICAgLy8gc2VsZWN0IGN1cnJlbnQgY2xpZW50XHJcbiAgICAgIGNsaWVudEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAvLyBzZWxlY3QgZmlyc3QgaXRlbSBvZiBlYWNoIHN1YmNsaWVudFxyXG4gICAgICB0aGlzLnNlbGVjdEZpcnN0U3ViY2xpZW50KCk7XHJcblxyXG4gICAgICBzdWJDbGllbnREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGllbnRNZW51VHJpZ2dlci5mb2N1cygpO1xyXG4gICAgICAgIHRoaXMuc2doTmF2YmFyU3ZjLnNldENsaWVudChjbGllbnRJdGVtKTtcclxuICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJjbGllbnQoZXZlbnQuZGF0YS5zZWxlY3RlZFN1YkNsaWVudCk7XHJcblxyXG4gICAgICAgIC8vIHNldCB0aGUgc2VsZWN0ZWQgc3ViY2xpZW50IGl0ZW0gYXMgY2hlY2tlZCwgc2VhcmNoIGJ5IG5hbWUgY29tcGFyaXNvblxyXG4gICAgICAgIGxldCBzZWxlY3RlZE9iaiA9IGNsaWVudEl0ZW0uc3ViQ2xpZW50TGlzdD8uZmluZCgoc2NJdGVtKSA9PiBzY0l0ZW0udGV4dCA9PSBldmVudC5kYXRhLnNlbGVjdGVkU3ViQ2xpZW50LnRleHQpO1xyXG4gICAgICAgIHNlbGVjdGVkT2JqIS5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0U2VsZWN0ZWRTdWJDbGllbnQoY2xpZW50OiBDbGllbnRMaXN0SXRlbSkge1xyXG4gICAgY2xpZW50LnN1YkNsaWVudExpc3Q/LmZvckVhY2goKHN1YmNsaWVudDogU3ViQ2xpZW50TGlzdEl0ZW0saW5kZXgpID0+IHtcclxuICAgICAgaWYoaW5kZXggPT0gMCkge1xyXG4gICAgICAgIHN1YmNsaWVudC5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICBpZiAoY2xpZW50LnNlbGVjdGVkKSB7IC8vIHNldCB0aGUgZmlyc3Qgc3ViY2xpZW50IG9mIHRoZSBmaXJzdCBjbGllbnQgYXMgc2VsZWN0ZWRcclxuICAgICAgICAgIHRoaXMuc2doTmF2YmFyU3ZjLnNldFN1YmNsaWVudChzdWJjbGllbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHsgc3ViY2xpZW50LmNoZWNrZWQgPSBmYWxzZTsgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5zZWxlY3RDbGllbnRJdGVtcygpIHtcclxuICAgIHRoaXMudG9vbGJhckRhdGEuY2xpZW50TGlzdD8uZm9yRWFjaCgoY2xpZW50OiBDbGllbnRMaXN0SXRlbSkgPT4ge1xyXG4gICAgICBpZiAoY2xpZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgICAgY2xpZW50LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Rmlyc3RTdWJjbGllbnQoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLmNsaWVudExpc3Q/LmZvckVhY2goKGNsaWVudCkgPT4ge1xyXG4gICAgICBjbGllbnQuc3ViQ2xpZW50TGlzdD8uZm9yRWFjaCgoc2NJdGVtLGluZGV4KSA9PiB7XHJcbiAgICAgICAgaW5kZXggPT0gMCA/IHNjSXRlbS5jaGVja2VkID0gdHJ1ZTogc2NJdGVtLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxuYXYgY2xhc3M9XCJ0b29sYmFyLW1haW4td3JhcHBlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRvb2xiYXJEYXRhLmJnQ29sb3JcIiBpZD1cInRvb2xCYXJXcmFwcGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImxvZ28td3JhcHBlclwiPlxyXG4gICAgPGltZyBjbGFzcz1cImxvZ29cIiBbc3JjXT1cInRvb2xiYXJEYXRhLmltZ1wiLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbGcgZmEtYmFyc1wiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2hcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtXCIgKm5nSWY9XCJ0b29sYmFyRGF0YS5zZWFyY2hFbmFibGVcIj5cclxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiByZXF1aXJlZC8+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsLW5hbWVcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY29udGVudC1uYW1lXCI+XHJcbiAgICAgIFNlYXJjaFxyXG4gICAgPC9zcGFuPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwic2VhcmNoLXdyYXBwZXJcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaFwiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwidG9vbGJhckRhdGEubm90aWZpY2F0aW9uRW5hYmxlXCIgY2xhc3M9XCJpY29uXCIgaWQ9XCJiZWxsXCIgKGNsaWNrKT1cInRvZ2dsZU5vdGlmaWNhdGlvbkxpc3QoKVwiPlxyXG4gICAgPGkgY2xhc3M9XCJmYSBmYS1iZWxsXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ0b29sYmFyRGF0YS5wcm9maWxlRW5hYmxlXCIgY2xhc3M9XCJpY29uXCIgaWQ9XCJiZWxsM1wiIChjbGljayk9XCJjbGlja1Byb2ZpbGUoKVwiPlxyXG4gICAgPGkgY2xhc3M9XCJmYSBmYS11c2VyXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ0b29sYmFyRGF0YS5zZXR0aW5nc0VuYWJsZVwiIGNsYXNzPVwiaWNvblwiIGlkPVwiYmVsbDJcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2V0dGluZ3NNZW51XCI+XHJcbiAgICA8aSBjbGFzcz1cImZhIGZhLWdlYXJcIj48L2k+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRvb2xiYXJEYXRhLnByb2ZpbGVWaWV3XCIgY2xhc3M9XCJub3RpZmljYXRpb25zXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtbGlzdC13cmFwcGVyIHByb2ZpbGUtbGlzdC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1saXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0b29sYmFyRGF0YS5wcm9maWxlQ29udGVudFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS1TZXR0aW5ncyByZWxhdGVkIG1lbnVzIHN0YXJ0LS0+XHJcbjxtYXQtbWVudSAjc2V0dGluZ3NNZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYXBwQ29uZmlnXCIgKm5nSWY9XCJ0b29sYmFyRGF0YS5hcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25FbmFibGVcIj5BcHBsaWNhdGlvbiBTZXR0aW5nczwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbWF0TWVudVRyaWdnZXJGb3JdPVwiY2xpZW50Q29uZmlnXCIgKm5nSWY9XCJ0b29sYmFyRGF0YS5jbGllbnRDb25maWd1cmF0aW9uRW5hYmxlXCIgI2NsaWVudE1lbnVUcmlnZ2VyPkNsaWVudCBTZXR0aW5nczwvYnV0dG9uPlxyXG48L21hdC1tZW51PlxyXG48bWF0LW1lbnUgI2FwcENvbmZpZz1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJhZnRlclwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IHRoZW1lb3B0aW9uIG9mIHRvb2xiYXJEYXRhLnRoZW1lT3B0aW9uc1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGNsYXNzPVwicmFkaW9cIiAoY2xpY2spPVwib25SYWRpb0NsaWNrKHRoZW1lb3B0aW9uLnZhbHVlKVwiPlxyXG4gICAgICA8aW5wdXQgdmFsdWU9XCJ7e3RoZW1lb3B0aW9uLnZhbHVlfX1cIiBuYW1lPVwicmFkaW9cIiB0eXBlPVwicmFkaW9cIiBjaGVja2VkIFtuZ01vZGVsXT1cInNlbGVjdGVkXCJcclxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldENsYXNzKCRldmVudClcIj5cclxuICAgICAgPHNwYW4+e3t0aGVtZW9wdGlvbi5uYW1lfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuPG1hdC1tZW51ICNjbGllbnRDb25maWc9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYWZ0ZXJcIj5cclxuICA8ZGl2IHN0eWxlPVwid2lkdGg6IDI1MHB4XCIgY2xhc3M9XCJjbGllbnQtbWVudS13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwic2VhcmNoLWlucHV0XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggQ2xpZW50XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCIvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGxpc3QtaXRlbS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSB0ZXh0LXRydW5jYXRlXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdG9vbGJhckRhdGEuY2xpZW50TGlzdCB8IHNlYXJjaCA6IHNlYXJjaFRleHQ7bGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjbGllbnQtc2VsZWN0ZWQnOiBpdGVtLnNlbGVjdGVkfVwiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQsIGl0ZW0pO1wiIG1hdC1yaXBwbGU+e3tpdGVtLnRleHR9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LW1lbnU+XHJcblxyXG48IS0tU2V0dGluZ3MgcmVsYXRlZCBtZW51cyBlbmQtLT5cclxuXHJcbjxhcHAtbm9mdGlmaWNhdGlvbi1saXN0ICpuZ0lmPVwidG9vbGJhckRhdGEuaXNOb3RpZk5hdkNvbGxhcHNlZFwiPjwvYXBwLW5vZnRpZmljYXRpb24tbGlzdD5cclxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NnaC1uYXZiYXIvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUk1QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7OztBQVd6RixNQUFNLE9BQU8sZ0JBQWdCO0lBaUUzQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBb0IsTUFBaUIsRUFBVSxZQUE4QjtRQUF6RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBN0VuRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELGdCQUFXLEdBQWdCO1lBQ2xDLFlBQVks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UztLQUNWOzJGQUVVLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxhQUFhLGNBR1g7d0JBQ1YsU0FBUztxQkFDVjsrSEFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLO2dCQWdESSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBUXlCLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBSTlCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPO2dCQU1yQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmYWRlSW5PdXR9IGZyb20gJy4uL3NpZGVuYXYvaGVscGVyJztcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtNYXRNZW51VHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuaW1wb3J0IHtDbGllbnRMaXN0SXRlbSwgU3ViQ2xpZW50TGlzdEl0ZW0sIFRvb2xiYXJEYXRhfSBmcm9tIFwiLi90b29sYmFyLWRhdGFcIjtcclxuaW1wb3J0IHtTdWJDbGllbnREaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL3N1Yi1jbGllbnQtZGlhbG9nL3N1Yi1jbGllbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NnaE5hdmJhclNlcnZpY2V9IGZyb20gXCIuLi9zZ2gtbmF2YmFyLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZmFkZUluT3V0XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVTaWRlYmFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgdG9vbGJhckRhdGE6IFRvb2xiYXJEYXRhID0ge1xyXG4gICAgdGhlbWVPcHRpb25zOiBbe1xyXG4gICAgICBuYW1lOiAnU2doLWRlZmF1bHQtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1kZWZhdWx0LXRoZW1lJyxcclxuICAgICAgY2hlY2tlZDogdHJ1ZVxyXG4gICAgfSwge1xyXG4gICAgICBuYW1lOiAnU2doLWxpZ2h0LXRoZW1lJyxcclxuICAgICAgdmFsdWU6ICdzZ2gtbGlnaHQtdGhlbWUnLFxyXG4gICAgICBjaGVja2VkOiBmYWxzZVxyXG4gICAgfSwge1xyXG4gICAgICBuYW1lOiAnU2doLWJsdWUtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1ibHVlLXRoZW1lJyxcclxuICAgICAgY2hlY2tlZDogZmFsc2VcclxuICAgIH1dLFxyXG4gICAgYmdDb2xvcjogJyNmZmYnLFxyXG4gICAgaW1nOiAnLi4vYXNzZXRzL2ltYWdlcy9TeW5lcmdlbl9Mb2dvLW5ldy5zdmcnLFxyXG4gICAgcHJvZmlsZVZpZXc6IGZhbHNlLFxyXG4gICAgaXNOb3RpZk5hdkNvbGxhcHNlZDogZmFsc2UsXHJcbiAgICBzZWFyY2hFbmFibGU6IHRydWUsXHJcbiAgICBub3RpZmljYXRpb25FbmFibGU6IHRydWUsXHJcbiAgICBwcm9maWxlRW5hYmxlOiB0cnVlLFxyXG4gICAgc2V0dGluZ3NFbmFibGU6IHRydWUsXHJcbiAgICBjbGllbnRMaXN0OiBbe1xyXG4gICAgICB0ZXh0OiAnQ2xpZW50IDEnLFxyXG4gICAgICB2YWx1ZTogJ0NMSUVOVF8xJyxcclxuICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICAgIHN1YkNsaWVudExpc3Q6IFtcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMScsIHZhbHVlOiAnU1VCX0NMSUVOVF8xJywgY2hlY2tlZDogdHJ1ZX0sXHJcbiAgICAgICAge3RleHQ6ICdTdWIgQ2xpZW50IDInLCB2YWx1ZTogJ1NVQl9DTElFTlRfMicsIGNoZWNrZWQ6IGZhbHNlfSxcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMycsIHZhbHVlOiAnU1VCX0NMSUVOVF8zJywgY2hlY2tlZDogZmFsc2V9XHJcbiAgICAgIF1cclxuICAgIH0sIHtcclxuICAgICAgdGV4dDogJ0NsaWVudCAyJyxcclxuICAgICAgdmFsdWU6ICdDTElFTlRfMicsXHJcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcclxuICAgICAgc3ViQ2xpZW50TGlzdDogW1xyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAxJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzEnLCBjaGVja2VkOiB0cnVlfSxcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMicsIHZhbHVlOiAnU1VCX0NMSUVOVF8yJywgY2hlY2tlZDogZmFsc2V9XHJcbiAgICAgIF1cclxuICAgIH0sIHtcclxuICAgICAgdGV4dDogJ0NsaWVudCAzJyxcclxuICAgICAgdmFsdWU6ICdDTElFTlRfMycsXHJcbiAgICAgIHNlbGVjdGVkOiBmYWxzZVxyXG4gICAgfV0sXHJcbiAgICBwcm9maWxlQ29udGVudDogJzxkaXY+cHJvZmlsZSBjb250ZW50PC9kaXY+JyxcclxuICAgIGNsaWVudENvbmZpZ3VyYXRpb25FbmFibGU6IHRydWUsXHJcbiAgICBhcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25FbmFibGU6IHRydWUsXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgc2VhcmNoSW5wdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBjbGllbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgc3ViQ2xpZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHNlYXJjaElucHV0ID0gXCJcIjtcclxuICBwcml2YXRlIHByZXY6IGFueTtcclxuICBzZWxlY3RlZDogYW55ID0gJ3NnaC1kZWZhdWx0LXRoZW1lJztcclxuICBwcml2YXRlIHdhc0luc2lkZSA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkQ2xpZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdjbGllbnRNZW51VHJpZ2dlcicpIGNsaWVudE1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcclxuXHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBjbGlja0luc2lkZSgpIHtcclxuICAgIHRoaXMud2FzSW5zaWRlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcclxuICBjbGlja091dCgpIHtcclxuICAgIGlmICghdGhpcy53YXNJbnNpZGUpIHtcclxuICAgICAgdGhpcy50b29sYmFyRGF0YS5wcm9maWxlVmlldyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRvb2xiYXJEYXRhLmlzVGhlbWVDb2xsYXBzZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy50b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLndhc0luc2lkZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBzZ2hOYXZiYXJTdmM6IFNnaE5hdmJhclNlcnZpY2UpIHtcclxuICB9XHJcblxyXG5cclxuICB0b2dnbGVTaWRlYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy50b2dnbGVTaWRlYmFyRXZlbnQuZW1pdCh0aGlzLmV4cGFuZGVkKTtcclxuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlTm90aWZpY2F0aW9uTGlzdCgpIHtcclxuICAgIHRoaXMudG9vbGJhckRhdGEuaXNOb3RpZk5hdkNvbGxhcHNlZCA9ICF0aGlzLnRvb2xiYXJEYXRhLmlzTm90aWZOYXZDb2xsYXBzZWRcclxuICB9XHJcblxyXG4gIGNsaWNrUHJvZmlsZSgpIHtcclxuICAgIHRoaXMudG9vbGJhckRhdGEucHJvZmlsZVZpZXcgPSAhdGhpcy50b29sYmFyRGF0YS5wcm9maWxlVmlld1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dCgpIHtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXRFdmVudC5lbWl0KHRoaXMuc2VhcmNoSW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy8gaW5pdGlhbGx5IHNldCBjbGllbnQgYW5kIHN1YmNsaWVudHNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnRvb2xiYXJEYXRhLmNsaWVudExpc3Q/LmZvckVhY2goKGNsaWVudDogQ2xpZW50TGlzdEl0ZW0saW5kZXgpID0+IHtcclxuICAgICAgICAvLyBzZWxlY3QgdGhlIGZpcnN0IGNsaWVudFxyXG4gICAgICAgIGlmKGluZGV4ID09IDApe1xyXG4gICAgICAgICAgY2xpZW50LnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc2doTmF2YmFyU3ZjLnNldENsaWVudChjbGllbnQpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IGNsaWVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY2xpZW50LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW5pdFNlbGVjdGVkU3ViQ2xpZW50KGNsaWVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSwxMDApXHJcbiAgfVxyXG5cclxuICBzZXRDbGFzcyhzZWxlY3RlZDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucHJldik7XHJcbiAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHNlbGVjdGVkKTtcclxuICAgIHRoaXMucHJldiA9IHNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV2ZW50ID0gZXZlbnQ7XHJcbiAgc2VsZWN0ZWRUaGVtZTogc3RyaW5nID0gJyc7IC8vIFRvIHN0b3JlIHRoZSBzZWxlY3RlZCByYWRpbyBidXR0b24gdmFsdWVcclxuICBzZWFyY2hUZXh0OiBhbnk7XHJcblxyXG4gIG9uUmFkaW9DbGljayh0aGVtZVZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGVtZVZhbHVlO1xyXG4gICAgdGhpcy5zZXRDbGFzcyh0aGVtZVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdChldmVudCwgY2xpZW50SXRlbTogQ2xpZW50TGlzdEl0ZW0pIHsgLy8gZXZlbnQgb24gY2xpZW50IHNlbGVjdGlvblxyXG4gICAgLy8gYXQgbGVhc3Qgb25lIHN1YmNsaWVudCBzaG91bGQgZXhpc3RcclxuICAgIGlmIChjbGllbnRJdGVtLnN1YkNsaWVudExpc3QgJiYgY2xpZW50SXRlbS5zdWJDbGllbnRMaXN0Lmxlbmd0aCA+IDApIHsgLy8gaWYgc3ViIGNsaWVudHMgZXhpc3Qgb3BlbiBzdWIgY2xpZW50IGRpYWxvZ1xyXG4gICAgICBjb25zdCBzdWJDbGllbnREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFN1YkNsaWVudERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNsaWVudDogY2xpZW50SXRlbVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWluV2lkdGg6IDQwMCxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gY2xpZW50SXRlbTtcclxuICAgICAgLy8gdW5zZWxlY3QgY3VycmVudCBzZWxlY3RlZCBjbGllbnRcclxuICAgICAgdGhpcy51bnNlbGVjdENsaWVudEl0ZW1zKCk7XHJcbiAgICAgIC8vIHNlbGVjdCBjdXJyZW50IGNsaWVudFxyXG4gICAgICBjbGllbnRJdGVtLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgLy8gc2VsZWN0IGZpcnN0IGl0ZW0gb2YgZWFjaCBzdWJjbGllbnRcclxuICAgICAgdGhpcy5zZWxlY3RGaXJzdFN1YmNsaWVudCgpO1xyXG5cclxuICAgICAgc3ViQ2xpZW50RGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xpZW50TWVudVRyaWdnZXIuZm9jdXMoKTtcclxuICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRDbGllbnQoY2xpZW50SXRlbSk7XHJcbiAgICAgICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0U3ViY2xpZW50KGV2ZW50LmRhdGEuc2VsZWN0ZWRTdWJDbGllbnQpO1xyXG5cclxuICAgICAgICAvLyBzZXQgdGhlIHNlbGVjdGVkIHN1YmNsaWVudCBpdGVtIGFzIGNoZWNrZWQsIHNlYXJjaCBieSBuYW1lIGNvbXBhcmlzb25cclxuICAgICAgICBsZXQgc2VsZWN0ZWRPYmogPSBjbGllbnRJdGVtLnN1YkNsaWVudExpc3Q/LmZpbmQoKHNjSXRlbSkgPT4gc2NJdGVtLnRleHQgPT0gZXZlbnQuZGF0YS5zZWxlY3RlZFN1YkNsaWVudC50ZXh0KTtcclxuICAgICAgICBzZWxlY3RlZE9iaiEuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdFNlbGVjdGVkU3ViQ2xpZW50KGNsaWVudDogQ2xpZW50TGlzdEl0ZW0pIHtcclxuICAgIGNsaWVudC5zdWJDbGllbnRMaXN0Py5mb3JFYWNoKChzdWJjbGllbnQ6IFN1YkNsaWVudExpc3RJdGVtLGluZGV4KSA9PiB7XHJcbiAgICAgIGlmKGluZGV4ID09IDApIHtcclxuICAgICAgICBzdWJjbGllbnQuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKGNsaWVudC5zZWxlY3RlZCkgeyAvLyBzZXQgdGhlIGZpcnN0IHN1YmNsaWVudCBvZiB0aGUgZmlyc3QgY2xpZW50IGFzIHNlbGVjdGVkXHJcbiAgICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJjbGllbnQoc3ViY2xpZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7IHN1YmNsaWVudC5jaGVja2VkID0gZmFsc2U7IH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVuc2VsZWN0Q2xpZW50SXRlbXMoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLmNsaWVudExpc3Q/LmZvckVhY2goKGNsaWVudDogQ2xpZW50TGlzdEl0ZW0pID0+IHtcclxuICAgICAgaWYgKGNsaWVudC5zZWxlY3RlZCkge1xyXG4gICAgICAgIGNsaWVudC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEZpcnN0U3ViY2xpZW50KCkge1xyXG4gICAgdGhpcy50b29sYmFyRGF0YS5jbGllbnRMaXN0Py5mb3JFYWNoKChjbGllbnQpID0+IHtcclxuICAgICAgaWYoY2xpZW50ICE9PSB0aGlzLnNlbGVjdGVkQ2xpZW50KSB7XHJcbiAgICAgICAgY2xpZW50LnN1YkNsaWVudExpc3Q/LmZvckVhY2goKHNjSXRlbSxpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaW5kZXggPT0gMCA/IHNjSXRlbS5jaGVja2VkID0gdHJ1ZTogc2NJdGVtLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPG5hdiBjbGFzcz1cInRvb2xiYXItbWFpbi13cmFwcGVyXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwidG9vbGJhckRhdGEuYmdDb2xvclwiIGlkPVwidG9vbEJhcldyYXBwZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwibG9nby13cmFwcGVyXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwibG9nb1wiIFtzcmNdPVwidG9vbGJhckRhdGEuaW1nXCIvPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVTaWRlYmFyKClcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1sZyBmYS1iYXJzXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1cIiAqbmdJZj1cInRvb2xiYXJEYXRhLnNlYXJjaEVuYWJsZVwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkLz5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwtbmFtZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJjb250ZW50LW5hbWVcIj5cclxuICAgICAgU2VhcmNoXHJcbiAgICA8L3NwYW4+XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJzZWFyY2gtd3JhcHBlclwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ0b29sYmFyRGF0YS5ub3RpZmljYXRpb25FbmFibGVcIiBjbGFzcz1cImljb25cIiBpZD1cImJlbGxcIiAoY2xpY2spPVwidG9nZ2xlTm90aWZpY2F0aW9uTGlzdCgpXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhIGZhLWJlbGxcIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInRvb2xiYXJEYXRhLnByb2ZpbGVFbmFibGVcIiBjbGFzcz1cImljb25cIiBpZD1cImJlbGwzXCIgKGNsaWNrKT1cImNsaWNrUHJvZmlsZSgpXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhIGZhLXVzZXJcIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInRvb2xiYXJEYXRhLnNldHRpbmdzRW5hYmxlXCIgY2xhc3M9XCJpY29uXCIgaWQ9XCJiZWxsMlwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZXR0aW5nc01lbnVcIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtZ2VhclwiPjwvaT5cclxuICA8L2Rpdj5cclxuPC9uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidG9vbGJhckRhdGEucHJvZmlsZVZpZXdcIiBjbGFzcz1cIm5vdGlmaWNhdGlvbnNcIj5cclxuICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1saXN0LXdyYXBwZXIgcHJvZmlsZS1saXN0LXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3RcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInRvb2xiYXJEYXRhLnByb2ZpbGVDb250ZW50XCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLVNldHRpbmdzIHJlbGF0ZWQgbWVudXMgc3RhcnQtLT5cclxuPG1hdC1tZW51ICNzZXR0aW5nc01lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJhcHBDb25maWdcIiAqbmdJZj1cInRvb2xiYXJEYXRhLmFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkVuYWJsZVwiPkFwcGxpY2F0aW9uIFNldHRpbmdzPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJjbGllbnRDb25maWdcIiAqbmdJZj1cInRvb2xiYXJEYXRhLmNsaWVudENvbmZpZ3VyYXRpb25FbmFibGVcIiAjY2xpZW50TWVudVRyaWdnZXI+Q2xpZW50IFNldHRpbmdzPC9idXR0b24+XHJcbjwvbWF0LW1lbnU+XHJcbjxtYXQtbWVudSAjYXBwQ29uZmlnPVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImFmdGVyXCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgdGhlbWVvcHRpb24gb2YgdG9vbGJhckRhdGEudGhlbWVPcHRpb25zXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJyYWRpb1wiIChjbGljayk9XCJvblJhZGlvQ2xpY2sodGhlbWVvcHRpb24udmFsdWUpXCI+XHJcbiAgICAgIDxpbnB1dCB2YWx1ZT1cInt7dGhlbWVvcHRpb24udmFsdWV9fVwiIG5hbWU9XCJyYWRpb1wiIHR5cGU9XCJyYWRpb1wiIGNoZWNrZWQgW25nTW9kZWxdPVwic2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q2xhc3MoJGV2ZW50KVwiPlxyXG4gICAgICA8c3Bhbj57e3RoZW1lb3B0aW9uLm5hbWV9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L21hdC1tZW51PlxyXG48bWF0LW1lbnUgI2NsaWVudENvbmZpZz1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJhZnRlclwiPlxyXG4gIDxkaXYgc3R5bGU9XCJ3aWR0aDogMjUwcHhcIiBjbGFzcz1cImNsaWVudC1tZW51LXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBDbGllbnRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbGlzdC1pdGVtLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIHRleHQtdHJ1bmNhdGVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0b29sYmFyRGF0YS5jbGllbnRMaXN0IHwgc2VhcmNoIDogc2VhcmNoVGV4dDtsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NsaWVudC1zZWxlY3RlZCc6IGl0ZW0uc2VsZWN0ZWR9XCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VsZWN0KCRldmVudCwgaXRlbSk7XCIgbWF0LXJpcHBsZT57e2l0ZW0udGV4dH19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuXHJcbjwhLS1TZXR0aW5ncyByZWxhdGVkIG1lbnVzIGVuZC0tPlxyXG5cclxuPGFwcC1ub2Z0aWZpY2F0aW9uLWxpc3QgKm5nSWY9XCJ0b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkXCI+PC9hcHAtbm9mdGlmaWNhdGlvbi1saXN0PlxyXG4iXX0=
|
package/fesm2015/sgh-navbar.mjs
CHANGED
|
@@ -617,6 +617,7 @@ class ToolbarComponent {
|
|
|
617
617
|
if (index == 0) {
|
|
618
618
|
client.selected = true;
|
|
619
619
|
this.sghNavbarSvc.setClient(client);
|
|
620
|
+
this.selectedClient = client;
|
|
620
621
|
}
|
|
621
622
|
else {
|
|
622
623
|
client.selected = false;
|
|
@@ -645,6 +646,7 @@ class ToolbarComponent {
|
|
|
645
646
|
minWidth: 400,
|
|
646
647
|
disableClose: true
|
|
647
648
|
});
|
|
649
|
+
this.selectedClient = clientItem;
|
|
648
650
|
// unselect current selected client
|
|
649
651
|
this.unselectClientItems();
|
|
650
652
|
// select current client
|
|
@@ -688,9 +690,11 @@ class ToolbarComponent {
|
|
|
688
690
|
var _a;
|
|
689
691
|
(_a = this.toolbarData.clientList) === null || _a === void 0 ? void 0 : _a.forEach((client) => {
|
|
690
692
|
var _a;
|
|
691
|
-
(
|
|
692
|
-
|
|
693
|
-
|
|
693
|
+
if (client !== this.selectedClient) {
|
|
694
|
+
(_a = client.subClientList) === null || _a === void 0 ? void 0 : _a.forEach((scItem, index) => {
|
|
695
|
+
index == 0 ? scItem.checked = true : scItem.checked = false;
|
|
696
|
+
});
|
|
697
|
+
}
|
|
694
698
|
});
|
|
695
699
|
}
|
|
696
700
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded:boolean;\r\n client = new BehaviorSubject({});\r\n subClient = new BehaviorSubject({});\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded() {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client) {\r\n this.client.next(client);\r\n }\r\n\r\n getClient() {\r\n return this.client;\r\n }\r\n\r\n setSubclient(subclient) {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient() {\r\n return this.subClient;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <p>\r\n sgh-navbar works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n label: string;\r\n expanded?: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'app-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"!item.items || (item.items && item.items.length === 0)\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <app-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></app-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({overflow: 'hidden'}),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ]\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\"\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\"\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\"\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\"\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\"\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\"\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\"\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\"\r\n },\r\n];\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation:ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ])\r\n ]\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean;\r\n expandMenu: boolean;\r\n // @ts-ignore\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: any;\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms',\r\n keyframes([\r\n style({transform: 'rotate(0deg)', offset: '0'}),\r\n style({transform: 'rotate(2turn)', offset: '1'})\r\n ])\r\n )\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({transform: 'translateX(-100px)'}), animate('.5s ease-out', style({transform: 'translateX(0%)'}))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded:boolean;\r\n @Input() sidenavData: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n }\r\n client;\r\n subclient;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient().subscribe((client) => {\r\n this.client = client;\r\n });\r\n this.sidebarService.getSubclient().subscribe((subclient) => {\r\n this.subclient = subclient;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onItemSelected(item: any) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss']\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\n <div class=\"subclientlist-body\">\n <div>\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n <div class=\"subclientlist-btns\">\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\n </div>\n</div>\n\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-noftification-list',\r\n templateUrl: './noftification-list.component.html',\r\n styleUrls: ['./noftification-list.component.scss']\r\n})\r\nexport class NoftificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ]\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = {\r\n themeOptions: [{\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n }, {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n }, {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [{\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false},\r\n {text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n };\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<any>();\r\n @Output() subClient = new EventEmitter<any>();\r\n\r\n searchInput = \"\";\r\n private prev: any;\r\n selected: any = 'sgh-default-theme';\r\n private wasInside = false;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger: MatMenuTrigger;\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n return this.expanded;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n setTimeout(() => {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem,index) => {\r\n // select the first client\r\n if(index == 0){\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n },100)\r\n }\r\n\r\n setClass(selected: any) {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n protected readonly event = event;\r\n selectedTheme: string = ''; // To store the selected radio button value\r\n searchText: any;\r\n\r\n onRadioClick(themeValue: string) {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event, clientItem: ClientListItem) { // event on client selection\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe((event) => {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setClient(clientItem);\r\n this.sghNavbarSvc.setSubclient(event.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n let selectedObj = clientItem.subClientList?.find((scItem) => scItem.text == event.data.selectedSubClient.text);\r\n selectedObj!.checked = true;\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem) {\r\n client.subClientList?.forEach((subclient: SubClientListItem,index) => {\r\n if(index == 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems() {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient() {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n client.subClientList?.forEach((scItem,index) => {\r\n index == 0 ? scItem.checked = true: scItem.checked = false;\r\n })\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-lg fa-bars\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<app-noftification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></app-noftification-list>\r\n","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NoftificationListComponent} from \"./toolbar/noftification-list/noftification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NoftificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent\r\n ],\r\n providers: [SghNavbarService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/toolbar/toolbar.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i2.SghNavbarService","i4.MenuListItemComponent","i1","i4","i7.NoftificationListComponent","i8.SearchPipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded:boolean;\r\n client = new BehaviorSubject({});\r\n subClient = new BehaviorSubject({});\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded() {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client) {\r\n this.client.next(client);\r\n }\r\n\r\n getClient() {\r\n return this.client;\r\n }\r\n\r\n setSubclient(subclient) {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient() {\r\n return this.subClient;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <p>\r\n sgh-navbar works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n label: string;\r\n expanded?: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'app-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"!item.items || (item.items && item.items.length === 0)\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <app-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></app-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({overflow: 'hidden'}),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ]\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\"\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\"\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\"\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\"\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\"\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\"\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\"\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\"\r\n },\r\n];\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation:ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ])\r\n ]\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean;\r\n expandMenu: boolean;\r\n // @ts-ignore\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: any;\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms',\r\n keyframes([\r\n style({transform: 'rotate(0deg)', offset: '0'}),\r\n style({transform: 'rotate(2turn)', offset: '1'})\r\n ])\r\n )\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({transform: 'translateX(-100px)'}), animate('.5s ease-out', style({transform: 'translateX(0%)'}))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded:boolean;\r\n @Input() sidenavData: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n }\r\n client;\r\n subclient;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient().subscribe((client) => {\r\n this.client = client;\r\n });\r\n this.sidebarService.getSubclient().subscribe((subclient) => {\r\n this.subclient = subclient;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onItemSelected(item: any) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss']\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\n <div class=\"subclientlist-body\">\n <div>\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n <div class=\"subclientlist-btns\">\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\n </div>\n</div>\n\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-noftification-list',\r\n templateUrl: './noftification-list.component.html',\r\n styleUrls: ['./noftification-list.component.scss']\r\n})\r\nexport class NoftificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ]\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = {\r\n themeOptions: [{\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n }, {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n }, {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [{\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false},\r\n {text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n };\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<any>();\r\n @Output() subClient = new EventEmitter<any>();\r\n\r\n searchInput = \"\";\r\n private prev: any;\r\n selected: any = 'sgh-default-theme';\r\n private wasInside = false;\r\n selectedClient;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger: MatMenuTrigger;\r\n\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n return this.expanded;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n setTimeout(() => {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem,index) => {\r\n // select the first client\r\n if(index == 0){\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n this.selectedClient = client;\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n },100)\r\n }\r\n\r\n setClass(selected: any) {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n protected readonly event = event;\r\n selectedTheme: string = ''; // To store the selected radio button value\r\n searchText: any;\r\n\r\n onRadioClick(themeValue: string) {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event, clientItem: ClientListItem) { // event on client selection\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n\r\n this.selectedClient = clientItem;\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe((event) => {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setClient(clientItem);\r\n this.sghNavbarSvc.setSubclient(event.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n let selectedObj = clientItem.subClientList?.find((scItem) => scItem.text == event.data.selectedSubClient.text);\r\n selectedObj!.checked = true;\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem) {\r\n client.subClientList?.forEach((subclient: SubClientListItem,index) => {\r\n if(index == 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems() {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient() {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n if(client !== this.selectedClient) {\r\n client.subClientList?.forEach((scItem,index) => {\r\n index == 0 ? scItem.checked = true: scItem.checked = false;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-lg fa-bars\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<app-noftification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></app-noftification-list>\r\n","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NoftificationListComponent} from \"./toolbar/noftification-list/noftification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NoftificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent\r\n ],\r\n providers: [SghNavbarService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/toolbar/toolbar.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i2.SghNavbarService","i4.MenuListItemComponent","i1","i4","i7.NoftificationListComponent","i8.SearchPipe"],"mappings":"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"}
|
package/fesm2020/sgh-navbar.mjs
CHANGED
|
@@ -614,6 +614,7 @@ class ToolbarComponent {
|
|
|
614
614
|
if (index == 0) {
|
|
615
615
|
client.selected = true;
|
|
616
616
|
this.sghNavbarSvc.setClient(client);
|
|
617
|
+
this.selectedClient = client;
|
|
617
618
|
}
|
|
618
619
|
else {
|
|
619
620
|
client.selected = false;
|
|
@@ -642,6 +643,7 @@ class ToolbarComponent {
|
|
|
642
643
|
minWidth: 400,
|
|
643
644
|
disableClose: true
|
|
644
645
|
});
|
|
646
|
+
this.selectedClient = clientItem;
|
|
645
647
|
// unselect current selected client
|
|
646
648
|
this.unselectClientItems();
|
|
647
649
|
// select current client
|
|
@@ -680,9 +682,11 @@ class ToolbarComponent {
|
|
|
680
682
|
}
|
|
681
683
|
selectFirstSubclient() {
|
|
682
684
|
this.toolbarData.clientList?.forEach((client) => {
|
|
683
|
-
client.
|
|
684
|
-
|
|
685
|
-
|
|
685
|
+
if (client !== this.selectedClient) {
|
|
686
|
+
client.subClientList?.forEach((scItem, index) => {
|
|
687
|
+
index == 0 ? scItem.checked = true : scItem.checked = false;
|
|
688
|
+
});
|
|
689
|
+
}
|
|
686
690
|
});
|
|
687
691
|
}
|
|
688
692
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded:boolean;\r\n client = new BehaviorSubject({});\r\n subClient = new BehaviorSubject({});\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded() {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client) {\r\n this.client.next(client);\r\n }\r\n\r\n getClient() {\r\n return this.client;\r\n }\r\n\r\n setSubclient(subclient) {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient() {\r\n return this.subClient;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <p>\r\n sgh-navbar works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n label: string;\r\n expanded?: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'app-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"!item.items || (item.items && item.items.length === 0)\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <app-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></app-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({overflow: 'hidden'}),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ]\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\"\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\"\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\"\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\"\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\"\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\"\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\"\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\"\r\n },\r\n];\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation:ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ])\r\n ]\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean;\r\n expandMenu: boolean;\r\n // @ts-ignore\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: any;\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms',\r\n keyframes([\r\n style({transform: 'rotate(0deg)', offset: '0'}),\r\n style({transform: 'rotate(2turn)', offset: '1'})\r\n ])\r\n )\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({transform: 'translateX(-100px)'}), animate('.5s ease-out', style({transform: 'translateX(0%)'}))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded:boolean;\r\n @Input() sidenavData: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n }\r\n client;\r\n subclient;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient().subscribe((client) => {\r\n this.client = client;\r\n });\r\n this.sidebarService.getSubclient().subscribe((subclient) => {\r\n this.subclient = subclient;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onItemSelected(item: any) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss']\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\n <div class=\"subclientlist-body\">\n <div>\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n <div class=\"subclientlist-btns\">\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\n </div>\n</div>\n\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-noftification-list',\r\n templateUrl: './noftification-list.component.html',\r\n styleUrls: ['./noftification-list.component.scss']\r\n})\r\nexport class NoftificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ]\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = {\r\n themeOptions: [{\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n }, {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n }, {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [{\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false},\r\n {text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n };\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<any>();\r\n @Output() subClient = new EventEmitter<any>();\r\n\r\n searchInput = \"\";\r\n private prev: any;\r\n selected: any = 'sgh-default-theme';\r\n private wasInside = false;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger: MatMenuTrigger;\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n return this.expanded;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n setTimeout(() => {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem,index) => {\r\n // select the first client\r\n if(index == 0){\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n },100)\r\n }\r\n\r\n setClass(selected: any) {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n protected readonly event = event;\r\n selectedTheme: string = ''; // To store the selected radio button value\r\n searchText: any;\r\n\r\n onRadioClick(themeValue: string) {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event, clientItem: ClientListItem) { // event on client selection\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe((event) => {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setClient(clientItem);\r\n this.sghNavbarSvc.setSubclient(event.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n let selectedObj = clientItem.subClientList?.find((scItem) => scItem.text == event.data.selectedSubClient.text);\r\n selectedObj!.checked = true;\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem) {\r\n client.subClientList?.forEach((subclient: SubClientListItem,index) => {\r\n if(index == 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems() {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient() {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n client.subClientList?.forEach((scItem,index) => {\r\n index == 0 ? scItem.checked = true: scItem.checked = false;\r\n })\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-lg fa-bars\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<app-noftification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></app-noftification-list>\r\n","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NoftificationListComponent} from \"./toolbar/noftification-list/noftification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NoftificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent\r\n ],\r\n providers: [SghNavbarService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/toolbar/toolbar.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i2.SghNavbarService","i4.MenuListItemComponent","i1","i4","i7.NoftificationListComponent","i8.SearchPipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/noftification-list/noftification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded:boolean;\r\n client = new BehaviorSubject({});\r\n subClient = new BehaviorSubject({});\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded() {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client) {\r\n this.client.next(client);\r\n }\r\n\r\n getClient() {\r\n return this.client;\r\n }\r\n\r\n setSubclient(subclient) {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient() {\r\n return this.subClient;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <p>\r\n sgh-navbar works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n label: string;\r\n expanded?: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'app-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"!item.items || (item.items && item.items.length === 0)\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <app-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></app-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({overflow: 'hidden'}),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ]\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\"\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\"\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\"\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\"\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\"\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\"\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\"\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\"\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\"\r\n },\r\n];\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation:ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ])\r\n ]\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean;\r\n expandMenu: boolean;\r\n // @ts-ignore\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: any;\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms',\r\n keyframes([\r\n style({transform: 'rotate(0deg)', offset: '0'}),\r\n style({transform: 'rotate(2turn)', offset: '1'})\r\n ])\r\n )\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({transform: 'rotate(0deg)'})),\r\n state('expanded', style({transform: 'rotate(180deg)'})),\r\n transition('expanded <=> collapsed',\r\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\r\n ),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({transform: 'translateX(-100px)'}), animate('.5s ease-out', style({transform: 'translateX(0%)'}))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded:boolean;\r\n @Input() sidenavData: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n }\r\n client;\r\n subclient;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient().subscribe((client) => {\r\n this.client = client;\r\n });\r\n this.sidebarService.getSubclient().subscribe((subclient) => {\r\n this.subclient = subclient;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onItemSelected(item: any) {\r\n if (!item.items || !item.items.length) {\r\n this.router.navigate([item.routeLink]).then();\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <app-menu-list-item [items]=\"data.items\">\r\n </app-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"client-info-wrp\">\r\n <div>{{client?.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient?.text}}</div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss']\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\n <div class=\"subclientlist-body\">\n <div>\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n <div class=\"subclientlist-btns\">\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\n </div>\n</div>\n\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-noftification-list',\r\n templateUrl: './noftification-list.component.html',\r\n styleUrls: ['./noftification-list.component.scss']\r\n})\r\nexport class NoftificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ]\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = {\r\n themeOptions: [{\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n }, {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n }, {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [{\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false},\r\n {text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n {text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true},\r\n {text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false}\r\n ]\r\n }, {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n };\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<any>();\r\n @Output() subClient = new EventEmitter<any>();\r\n\r\n searchInput = \"\";\r\n private prev: any;\r\n selected: any = 'sgh-default-theme';\r\n private wasInside = false;\r\n selectedClient;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger: MatMenuTrigger;\r\n\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n return this.expanded;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n setTimeout(() => {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem,index) => {\r\n // select the first client\r\n if(index == 0){\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n this.selectedClient = client;\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n },100)\r\n }\r\n\r\n setClass(selected: any) {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n protected readonly event = event;\r\n selectedTheme: string = ''; // To store the selected radio button value\r\n searchText: any;\r\n\r\n onRadioClick(themeValue: string) {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event, clientItem: ClientListItem) { // event on client selection\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n\r\n this.selectedClient = clientItem;\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe((event) => {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setClient(clientItem);\r\n this.sghNavbarSvc.setSubclient(event.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n let selectedObj = clientItem.subClientList?.find((scItem) => scItem.text == event.data.selectedSubClient.text);\r\n selectedObj!.checked = true;\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem) {\r\n client.subClientList?.forEach((subclient: SubClientListItem,index) => {\r\n if(index == 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems() {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient() {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n if(client !== this.selectedClient) {\r\n client.subClientList?.forEach((scItem,index) => {\r\n index == 0 ? scItem.checked = true: scItem.checked = false;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-lg fa-bars\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<app-noftification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></app-noftification-list>\r\n","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NoftificationListComponent} from \"./toolbar/noftification-list/noftification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NoftificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent\r\n ],\r\n providers: [SghNavbarService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/toolbar/toolbar.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i2.SghNavbarService","i4.MenuListItemComponent","i1","i4","i7.NoftificationListComponent","i8.SearchPipe"],"mappings":"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"}
|