@churchillliving/se-ui-toolkit 6.55.144 → 6.55.145
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.
|
@@ -124,6 +124,27 @@ export class MenuBarComponent {
|
|
|
124
124
|
menu.hidden =
|
|
125
125
|
menu.items.length === menu.items.filter((x) => x.hidden).length;
|
|
126
126
|
}
|
|
127
|
+
else {
|
|
128
|
+
// handle top-level items with no sub-items
|
|
129
|
+
let permissions = menu.permissions;
|
|
130
|
+
if (permissions && permissions.length > 0) {
|
|
131
|
+
let visible = false;
|
|
132
|
+
permissions.forEach((permission) => {
|
|
133
|
+
if (permission.roles && permission.roles.length > 0) {
|
|
134
|
+
const isValid = permission.roles.some((role) => hasRole(role));
|
|
135
|
+
if (permission.type === EPermissionType.VIEW && isValid) {
|
|
136
|
+
visible = true;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
menu.hidden = !visible;
|
|
141
|
+
}
|
|
142
|
+
this.totalItems++;
|
|
143
|
+
if (menu.hidden) {
|
|
144
|
+
menu.style = { display: 'none' };
|
|
145
|
+
this.hiddenItems++;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
127
148
|
});
|
|
128
149
|
}
|
|
129
150
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuBarComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.CookieService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -149,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
149
170
|
}], onClickEvent: [{
|
|
150
171
|
type: Output
|
|
151
172
|
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9tZW51LWJhci9tZW51LWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL21lbnUtYmFyL21lbnUtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBSS9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFPOUQsTUFBTSxPQUFPLGdCQUFnQjtJQW1CM0IsWUFDVSxXQUFrQyxFQUNsQyxhQUE0QixFQUM3QixNQUFjO1FBRmIsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFyQmQsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFRL0IsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV4RCxvQkFBZSxHQUFlLEVBQUUsQ0FBQztRQUNqQyx1QkFBa0IsR0FBZSxFQUFFLENBQUM7UUFDcEMsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFRLENBQUMsQ0FBQTtRQUNuQixnQkFBVyxHQUFRLENBQUMsQ0FBQTtRQUMzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBYSxFQUFFLENBQUM7UUFDckIsb0JBQWUsR0FBWSxLQUFLLENBQUM7SUFLN0IsQ0FBQztJQUVM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IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgSU1lbnUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbWVudS5tb2RlbCc7XG5pbXBvcnQgeyBFUGVybWlzc2lvblR5cGUsIElQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXItaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGhhc1JvbGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLW1lbnUtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGhpZGRlblBhbmVsTWVudTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHRvb2xUaXA6IHN0cmluZztcbiAgLy8gQElucHV0KCkgbWVudUJhY2tDb2xvcjogc3RyaW5nO1xuICBASW5wdXQoKSBtZW51SXRlbXNUb3A6IElNZW51W107XG4gIEBJbnB1dCgpIG1lbnVJdGVtc0JvdHRvbTogSU1lbnVbXTtcbiAgQElucHV0KCkgbWVudUZvb3Rlcjogc3RyaW5nO1xuICBASW5wdXQoKSBtZW51VGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZHNob3RQYXRoOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBtZW51QmFySXRlbXNUb3A6IE1lbnVJdGVtW10gPSBbXTtcbiAgcHVibGljIG1lbnVCYXJJdGVtc0JvdHRvbTogTWVudUl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgbWVudUJhckl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIHB1YmxpYyB0b3RhbEl0ZW1zOm51bWJlcj0wXG4gIHB1YmxpYyBoaWRkZW5JdGVtczpudW1iZXI9MFxuICB0b2dnbGVNZW51OiBib29sZWFuID0gZmFsc2U7XG4gIHJvbGVzOiBzdHJpbmdbXSA9IFtdO1xuICBpc01lbnViYXJIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zdCB0b2dnbGVNZW51ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvZ2dsZU1lbnUnKTtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3RvZ2dsZU1lbnUnKTtcblxuICAgIGlmICh0b2dnbGVNZW51KSB7XG4gICAgICB0aGlzLnRvZ2dsZU1lbnUgPSBKU09OLnBhcnNlKHRvZ2dsZU1lbnUpO1xuICAgIH0gZWxzZSBpZiAoY29va2llVmFsdWUpIHtcbiAgICAgIHRoaXMudG9nZ2xlTWVudSA9IEpTT04ucGFyc2UoY29va2llVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZXMgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJSb2xlcygpO1xuXG4gICAgLy8gYXBwbHkgdXNlciByb2xlIHBlcm1pc3Npb25zXG4gICAgdGhpcy5hcHBseVVzZXJQZXJtaXNzaW9ucygpO1xuICAgIHRoaXMubWVudUJhckl0ZW1zVG9wID0gdGhpcy5tZW51SXRlbXNUb3AubWFwKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIHN0eWxlOiB4LmhpZGRlbiA/IHsgZGlzcGxheTogJ25vbmUnIH0gOiB4LnN0eWxlLFxuICAgICAgdG9vbHRpcDogdGhpcy50b2dnbGVNZW51ICYmIHRoaXMuc2V0TWVudVRvb2x0aXAoeCksXG4gICAgICBpdGVtczogeC5pdGVtcz8ubWFwKChzdWJJdGVtKSA9PiAoe1xuICAgICAgICAuLi5zdWJJdGVtLFxuICAgICAgICB0aXRsZTogdGhpcy50b2dnbGVNZW51ID8gdGhpcy5zZXRNZW51VG9vbHRpcChzdWJJdGVtKSA6ICcnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLnRvZ2dsZU1lbnUgPyB0aGlzLnNldE1lbnVUb29sdGlwKHN1Ykl0ZW0pIDogJycsXG4gICAgICB9KSksXG4gICAgfSkpO1xuXG4gICAgdGhpcy5tZW51QmFySXRlbXNCb3R0b20gPSB0aGlzLm1lbnVJdGVtc0JvdHRvbT8ubWFwKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIHN0eWxlOiB4LmhpZGRlbiA/IHsgZGlzcGxheTogJ25vbmUnIH0gOiB4LnN0eWxlLFxuICAgICAgaXRlbXM6IHguaXRlbXM/Lm1hcCgoc3ViSXRlbSkgPT4gKHtcbiAgICAgICAgLi4uc3ViSXRlbSxcbiAgICAgICAgdGl0bGU6IHRoaXMudG9nZ2xlTWVudSA/IHRoaXMuc2V0TWVudVRvb2x0aXAoc3ViSXRlbSkgOiAnJyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy50b2dnbGVNZW51ID8gdGhpcy5zZXRNZW51VG9vbHRpcChzdWJJdGVtKSA6ICcnLFxuICAgICAgfSkpLFxuICAgIH0pKTtcbiAgfVxuICBzZXRNZW51VG9vbHRpcCh4OiBJTWVudSk6IGFueSB7XG4gICBpZih4LmxhYmVsKSB7XG4gICAgcmV0dXJuIHgudG9vbHRpcCA9IHgubGFiZWw7XG4gICB9XG4gIH1cblxuICB0b2dnbGVTaWRlYmFyKCkge1xuICAgIHRoaXMudG9nZ2xlTWVudSA9ICF0aGlzLnRvZ2dsZU1lbnU7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RvZ2dsZU1lbnUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRvZ2dsZU1lbnUpKTtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCd0b2dnbGVNZW51JywgSlNPTi5zdHJpbmdpZnkodGhpcy50b2dnbGVNZW51KSk7XG4gICAgdGhpcy5tZW51QmFySXRlbXNUb3AgPSB0aGlzLm1lbnVCYXJJdGVtc1RvcC5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgdG9vbHRpcDogdGhpcy50b2dnbGVNZW51ICYmIHRoaXMuc2V0TWVudVRvb2x0aXAoaXRlbSksXG4gICAgICBpdGVtczogaXRlbS5pdGVtcz8ubWFwKChzdWJJdGVtKSA9PiAoe1xuICAgICAgICAuLi5zdWJJdGVtLFxuICAgICAgICB0aXRsZTogdGhpcy50b2dnbGVNZW51ID8gdGhpcy5zZXRNZW51VG9vbHRpcChzdWJJdGVtKSA6ICcnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLnRvZ2dsZU1lbnUgPyB0aGlzLnNldE1lbnVUb29sdGlwKHN1Ykl0ZW0pIDogJycsXG4gICAgICB9KSksXG4gICAgfSkpXG4gIH1cblxuICBjbGlja0V2ZW50KCkge1xuICAgIHRoaXMub25DbGlja0V2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIC8vIGFwcGx5IHVzZXIgcm9sZSBwZXJtaXNzaW9uc1xuICBhcHBseVVzZXJQZXJtaXNzaW9ucygpIHtcblxuXG5cbiAgICBpZiAodGhpcy5tZW51SXRlbXNUb3AgfHwgdGhpcy5tZW51QmFySXRlbXNCb3R0b20pIHsgICAgXG4gICAgICAgdGhpcy5tZW51SXRlbXNUb3A/ICAgdGhpcy5zZXRVc2VyUGVybWlzc2lvbnNCYXNlZE9uTWVudUl0ZW1zTGlzdCh0aGlzLm1lbnVJdGVtc1RvcCk6JycgICAgICAgICAgICAgICBcbiAgICAgICB0aGlzLm1lbnVJdGVtc0JvdHRvbT8gIHRoaXMuc2V0VXNlclBlcm1pc3Npb25zQmFzZWRPbk1lbnVJdGVtc0xpc3QodGhpcy5tZW51SXRlbXNCb3R0b20pOicnICAgXG4gICAgICAgdGhpcy5pc01lbnViYXJIaWRkZW4gPSB0aGlzLnRvdGFsSXRlbXMgPiAwICYmIHRoaXMudG90YWxJdGVtcyA9PT10aGlzLmhpZGRlbkl0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIHNldFVzZXJQZXJtaXNzaW9uc0Jhc2VkT25NZW51SXRlbXNMaXN0KG1lbnVJdGVtczogSU1lbnVbXSl7XG4gICAgbWVudUl0ZW1zLmZvckVhY2goKG1lbnUpID0+IHtcbiAgICAgIGlmIChtZW51Lml0ZW1zKSB7XG4gICAgICAgIG1lbnUuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGxldCBwZXJtaXNzaW9uczogYW55ID0gaXRlbS5wZXJtaXNzaW9ucztcbiAgICAgICAgICBpZiAoIXBlcm1pc3Npb25zKSBwZXJtaXNzaW9ucyA9IG1lbnUucGVybWlzc2lvbnM7XG4gICAgICAgICAgbGV0IGhhc1ZhbGlkRWRpdFBlcm1pc3Npb24gPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChwZXJtaXNzaW9ucyAmJiBwZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKChwZXJtaXNzaW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlzVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgaWYgKHBlcm1pc3Npb24ucm9sZXMgJiYgcGVybWlzc2lvbi5yb2xlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IHBlcm1pc3Npb24ucm9sZXMuc29tZSgocm9sZSk9PiBoYXNSb2xlKHJvbGUpKTtcbiAgICAgICAgICAgICAgICBpZiAocGVybWlzc2lvbi50eXBlID09PSBFUGVybWlzc2lvblR5cGUuVklFVykge1xuICAgICAgICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzVmFsaWRFZGl0UGVybWlzc2lvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMrKztcblxuICAgICAgICAgIGlmIChpdGVtLmhpZGRlbikge1xuICAgICAgICAgICAgaXRlbS5zdHlsZSA9IHsgZGlzcGxheTogJ25vbmUnIH07XG4gICAgICAgICAgICB0aGlzLmhpZGRlbkl0ZW1zKys7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBpZiBhbGwgaXRlbXMgb2YgbWVudSBpcyBoaWRkZW4gdGhlbiBoaWRlIG1lbnUgYXMgd2VsbFxuICAgICAgICBtZW51LmhpZGRlbiA9XG4gICAgICAgICAgbWVudS5pdGVtcy5sZW5ndGggPT09IG1lbnUuaXRlbXMuZmlsdGVyKCh4KSA9PiB4LmhpZGRlbikubGVuZ3RoO1xuICAgICAgfVxuICAgIH0pOyAgICBcbiAgfVxufSIsIjxuZy10ZW1wbGF0ZSAjdGVzdGF2YXRhcj5cbiAgPHAtYXZhdGFyIHBCYWRnZSAoY2xpY2spPVwiY2xpY2tFdmVudCgpXCIgW2ltYWdlXT1cImhlYWRzaG90UGF0aFwiIHNpemU9XCJ4bGFyZ2VcIiBbaGlkZGVuXT1cIiF0aGlzLmhlYWRzaG90UGF0aCBcIlxuICAgIHNoYXBlPVwiY2lyY2xlXCIgY2xhc3M9XCJwci0zXCIgW3RpdGxlXT1cInRvb2xUaXBcIj48L3AtYXZhdGFyPlxuICA8cC1hdmF0YXIgcEJhZGdlIChjbGljayk9XCJjbGlja0V2ZW50KClcIiBpY29uPVwicGkgcGktdXNlclwiIHNpemU9XCJ4bGFyZ2VcIiBbaGlkZGVuXT1cInRoaXMuaGVhZHNob3RQYXRoXCIgc2hhcGU9XCJjaXJjbGVcIlxuICAgIGNsYXNzPVwicHItM1wiIFt0aXRsZV09XCJ0b29sVGlwXCI+PC9wLWF2YXRhcj5cbjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwid3JhcHBlciBtZW51LWJhci13cmFwcGVyIG1haW4tbWVudS1iYXIgbWVudS1iYXItY29tcG9uZW50XCIgKm5nSWY9XCJoaWRkZW5QYW5lbE1lbnVcIj5cbiAgPGRpdiAqbmdJZj1cIiFpc01lbnViYXJIaWRkZW5cIiBjbGFzcz1cInAtMCBzaWRlYmFyXCIgW25nQ2xhc3NdPVwidG9nZ2xlTWVudSA/ICdoaWRlLW5hdicgOiAnJ1wiPlxuICAgIDwhLS0gW3N0eWxlXT1cInsgYmFja2dyb3VuZENvbG9yOiBtZW51QmFja0NvbG9yIH1cIiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdG9nZ2xlLWJ0blwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlc3RhdmF0YXJcIj48L25nLXRlbXBsYXRlPlxuXG4gICAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ0biBob3Zlci1zY2FsZVwiIChjbGljayk9XCJ0b2dnbGVTaWRlYmFyKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyB0b2dnbGUtaWNvblwiIFtuZ0NsYXNzXT1cInRvZ2dsZU1lbnUgPyAncGktY2hldnJvbi1yaWdodCcgOiAncGktY2hldnJvbi1sZWZ0J1wiPjwvaT5cblxuICAgICAgICA8c3Bhbj57eyBtZW51VGl0bGUgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmF2IGNsYXNzPVwibmF2YmFyIG5hdmJhci1leHBhbmQtbGcgcC0wIGdyb3ctMVwiIFtuZ0NsYXNzXT1cInRvZ2dsZU1lbnUgPyAnaGlkZS1uYXYnIDogJydcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLW1lbnUtbWVudXMtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLW1lbnUtbWFpbi1tZW51LXdyYXBwZXJcIj5cbiAgICAgICAgICA8cC1wYW5lbE1lbnUgW21vZGVsXT1cIm1lbnVCYXJJdGVtc1RvcFwiIGNsYXNzPVwibWVudVNpZGViYXIgZmlyc3RcIj48L3AtcGFuZWxNZW51PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbS1tZW51LW1haW4tbWVudS13cmFwcGVyXCI+XG4gICAgICAgICAgPHAtcGFuZWxNZW51IFttb2RlbF09XCJtZW51QmFySXRlbXNCb3R0b21cIiBjbGFzcz1cIm1lbnVTaWRlYmFyIHNlY29uZFwiPjwvcC1wYW5lbE1lbnU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG4gICAgPGRpdiBjbGFzcz1cIm5hdi1mb290ZXIgbS0yXCIgW2lubmVySHRtbF09XCJtZW51Rm9vdGVyXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9tZW51LWJhci9tZW51LWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL21lbnUtYmFyL21lbnUtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBSS9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFPOUQsTUFBTSxPQUFPLGdCQUFnQjtJQW1CM0IsWUFDVSxXQUFrQyxFQUNsQyxhQUE0QixFQUM3QixNQUFjO1FBRmIsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFyQmQsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFRL0IsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV4RCxvQkFBZSxHQUFlLEVBQUUsQ0FBQztRQUNqQyx1QkFBa0IsR0FBZSxFQUFFLENBQUM7UUFDcEMsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFRLENBQUMsQ0FBQTtRQUNuQixnQkFBVyxHQUFRLENBQUMsQ0FBQTtRQUMzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFVBQUssR0FBYSxFQUFFLENBQUM7UUFDckIsb0JBQWUsR0FBWSxLQUFLLENBQUM7SUFLN0IsQ0FBQztJQUVM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LEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUMvRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQ0FDeEQsT0FBTyxHQUFHLElBQUksQ0FBQzs0QkFDakIsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ3pCLENBQUM7Z0JBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUVsQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztrSUFsS1UsZ0JBQWdCO3NIQUFoQixnQkFBZ0IseVVDZDdCLHNuREE4Qk07OzRGRGhCTyxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTsySUFLZCxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgSU1lbnUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbWVudS5tb2RlbCc7XG5pbXBvcnQgeyBFUGVybWlzc2lvblR5cGUsIElQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXItaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGhhc1JvbGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLW1lbnUtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGhpZGRlblBhbmVsTWVudTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHRvb2xUaXA6IHN0cmluZztcbiAgLy8gQElucHV0KCkgbWVudUJhY2tDb2xvcjogc3RyaW5nO1xuICBASW5wdXQoKSBtZW51SXRlbXNUb3A6IElNZW51W107XG4gIEBJbnB1dCgpIG1lbnVJdGVtc0JvdHRvbTogSU1lbnVbXTtcbiAgQElucHV0KCkgbWVudUZvb3Rlcjogc3RyaW5nO1xuICBASW5wdXQoKSBtZW51VGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZHNob3RQYXRoOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBtZW51QmFySXRlbXNUb3A6IE1lbnVJdGVtW10gPSBbXTtcbiAgcHVibGljIG1lbnVCYXJJdGVtc0JvdHRvbTogTWVudUl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgbWVudUJhckl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIHB1YmxpYyB0b3RhbEl0ZW1zOm51bWJlcj0wXG4gIHB1YmxpYyBoaWRkZW5JdGVtczpudW1iZXI9MFxuICB0b2dnbGVNZW51OiBib29sZWFuID0gZmFsc2U7XG4gIHJvbGVzOiBzdHJpbmdbXSA9IFtdO1xuICBpc01lbnViYXJIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zdCB0b2dnbGVNZW51ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvZ2dsZU1lbnUnKTtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3RvZ2dsZU1lbnUnKTtcblxuICAgIGlmICh0b2dnbGVNZW51KSB7XG4gICAgICB0aGlzLnRvZ2dsZU1lbnUgPSBKU09OLnBhcnNlKHRvZ2dsZU1lbnUpO1xuICAgIH0gZWxzZSBpZiAoY29va2llVmFsdWUpIHtcbiAgICAgIHRoaXMudG9nZ2xlTWVudSA9IEpTT04ucGFyc2UoY29va2llVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMucm9sZXMgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJSb2xlcygpO1xuXG4gICAgLy8gYXBwbHkgdXNlciByb2xlIHBlcm1pc3Npb25zXG4gICAgdGhpcy5hcHBseVVzZXJQZXJtaXNzaW9ucygpO1xuICAgIHRoaXMubWVudUJhckl0ZW1zVG9wID0gdGhpcy5tZW51SXRlbXNUb3AubWFwKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIHN0eWxlOiB4LmhpZGRlbiA/IHsgZGlzcGxheTogJ25vbmUnIH0gOiB4LnN0eWxlLFxuICAgICAgdG9vbHRpcDogdGhpcy50b2dnbGVNZW51ICYmIHRoaXMuc2V0TWVudVRvb2x0aXAoeCksXG4gICAgICBpdGVtczogeC5pdGVtcz8ubWFwKChzdWJJdGVtKSA9PiAoe1xuICAgICAgICAuLi5zdWJJdGVtLFxuICAgICAgICB0aXRsZTogdGhpcy50b2dnbGVNZW51ID8gdGhpcy5zZXRNZW51VG9vbHRpcChzdWJJdGVtKSA6ICcnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLnRvZ2dsZU1lbnUgPyB0aGlzLnNldE1lbnVUb29sdGlwKHN1Ykl0ZW0pIDogJycsXG4gICAgICB9KSksXG4gICAgfSkpO1xuXG4gICAgdGhpcy5tZW51QmFySXRlbXNCb3R0b20gPSB0aGlzLm1lbnVJdGVtc0JvdHRvbT8ubWFwKCh4KSA9PiAoe1xuICAgICAgLi4ueCxcbiAgICAgIHN0eWxlOiB4LmhpZGRlbiA/IHsgZGlzcGxheTogJ25vbmUnIH0gOiB4LnN0eWxlLFxuICAgICAgaXRlbXM6IHguaXRlbXM/Lm1hcCgoc3ViSXRlbSkgPT4gKHtcbiAgICAgICAgLi4uc3ViSXRlbSxcbiAgICAgICAgdGl0bGU6IHRoaXMudG9nZ2xlTWVudSA/IHRoaXMuc2V0TWVudVRvb2x0aXAoc3ViSXRlbSkgOiAnJyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy50b2dnbGVNZW51ID8gdGhpcy5zZXRNZW51VG9vbHRpcChzdWJJdGVtKSA6ICcnLFxuICAgICAgfSkpLFxuICAgIH0pKTtcbiAgfVxuICBzZXRNZW51VG9vbHRpcCh4OiBJTWVudSk6IGFueSB7XG4gICBpZih4LmxhYmVsKSB7XG4gICAgcmV0dXJuIHgudG9vbHRpcCA9IHgubGFiZWw7XG4gICB9XG4gIH1cblxuICB0b2dnbGVTaWRlYmFyKCkge1xuICAgIHRoaXMudG9nZ2xlTWVudSA9ICF0aGlzLnRvZ2dsZU1lbnU7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RvZ2dsZU1lbnUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRvZ2dsZU1lbnUpKTtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCd0b2dnbGVNZW51JywgSlNPTi5zdHJpbmdpZnkodGhpcy50b2dnbGVNZW51KSk7XG4gICAgdGhpcy5tZW51QmFySXRlbXNUb3AgPSB0aGlzLm1lbnVCYXJJdGVtc1RvcC5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgdG9vbHRpcDogdGhpcy50b2dnbGVNZW51ICYmIHRoaXMuc2V0TWVudVRvb2x0aXAoaXRlbSksXG4gICAgICBpdGVtczogaXRlbS5pdGVtcz8ubWFwKChzdWJJdGVtKSA9PiAoe1xuICAgICAgICAuLi5zdWJJdGVtLFxuICAgICAgICB0aXRsZTogdGhpcy50b2dnbGVNZW51ID8gdGhpcy5zZXRNZW51VG9vbHRpcChzdWJJdGVtKSA6ICcnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLnRvZ2dsZU1lbnUgPyB0aGlzLnNldE1lbnVUb29sdGlwKHN1Ykl0ZW0pIDogJycsXG4gICAgICB9KSksXG4gICAgfSkpXG4gIH1cblxuICBjbGlja0V2ZW50KCkge1xuICAgIHRoaXMub25DbGlja0V2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIC8vIGFwcGx5IHVzZXIgcm9sZSBwZXJtaXNzaW9uc1xuICBhcHBseVVzZXJQZXJtaXNzaW9ucygpIHtcblxuXG5cbiAgICBpZiAodGhpcy5tZW51SXRlbXNUb3AgfHwgdGhpcy5tZW51QmFySXRlbXNCb3R0b20pIHsgICAgXG4gICAgICAgdGhpcy5tZW51SXRlbXNUb3A/ICAgdGhpcy5zZXRVc2VyUGVybWlzc2lvbnNCYXNlZE9uTWVudUl0ZW1zTGlzdCh0aGlzLm1lbnVJdGVtc1RvcCk6JycgICAgICAgICAgICAgICBcbiAgICAgICB0aGlzLm1lbnVJdGVtc0JvdHRvbT8gIHRoaXMuc2V0VXNlclBlcm1pc3Npb25zQmFzZWRPbk1lbnVJdGVtc0xpc3QodGhpcy5tZW51SXRlbXNCb3R0b20pOicnICAgXG4gICAgICAgdGhpcy5pc01lbnViYXJIaWRkZW4gPSB0aGlzLnRvdGFsSXRlbXMgPiAwICYmIHRoaXMudG90YWxJdGVtcyA9PT10aGlzLmhpZGRlbkl0ZW1zO1xuICAgIH1cbiAgfVxuXG4gIHNldFVzZXJQZXJtaXNzaW9uc0Jhc2VkT25NZW51SXRlbXNMaXN0KG1lbnVJdGVtczogSU1lbnVbXSl7XG4gICAgbWVudUl0ZW1zLmZvckVhY2goKG1lbnUpID0+IHtcbiAgICAgIGlmIChtZW51Lml0ZW1zKSB7XG4gICAgICAgIG1lbnUuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGxldCBwZXJtaXNzaW9uczogYW55ID0gaXRlbS5wZXJtaXNzaW9ucztcbiAgICAgICAgICBpZiAoIXBlcm1pc3Npb25zKSBwZXJtaXNzaW9ucyA9IG1lbnUucGVybWlzc2lvbnM7XG4gICAgICAgICAgbGV0IGhhc1ZhbGlkRWRpdFBlcm1pc3Npb24gPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChwZXJtaXNzaW9ucyAmJiBwZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKChwZXJtaXNzaW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IGlzVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgaWYgKHBlcm1pc3Npb24ucm9sZXMgJiYgcGVybWlzc2lvbi5yb2xlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IHBlcm1pc3Npb24ucm9sZXMuc29tZSgocm9sZSk9PiBoYXNSb2xlKHJvbGUpKTtcbiAgICAgICAgICAgICAgICBpZiAocGVybWlzc2lvbi50eXBlID09PSBFUGVybWlzc2lvblR5cGUuVklFVykge1xuICAgICAgICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzVmFsaWRFZGl0UGVybWlzc2lvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcysrO1xuXG4gICAgICAgICAgaWYgKGl0ZW0uaGlkZGVuKSB7XG4gICAgICAgICAgICBpdGVtLnN0eWxlID0geyBkaXNwbGF5OiAnbm9uZScgfTtcbiAgICAgICAgICAgIHRoaXMuaGlkZGVuSXRlbXMrKztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGlmIGFsbCBpdGVtcyBvZiBtZW51IGlzIGhpZGRlbiB0aGVuIGhpZGUgbWVudSBhcyB3ZWxsXG4gICAgICAgIG1lbnUuaGlkZGVuID1cbiAgICAgICAgICBtZW51Lml0ZW1zLmxlbmd0aCA9PT0gbWVudS5pdGVtcy5maWx0ZXIoKHgpID0+IHguaGlkZGVuKS5sZW5ndGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBoYW5kbGUgdG9wLWxldmVsIGl0ZW1zIHdpdGggbm8gc3ViLWl0ZW1zXG4gICAgICAgIGxldCBwZXJtaXNzaW9uczogYW55ID0gbWVudS5wZXJtaXNzaW9ucztcbiAgICAgICAgaWYgKHBlcm1pc3Npb25zICYmIHBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBsZXQgdmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHBlcm1pc3Npb25zLmZvckVhY2goKHBlcm1pc3Npb246IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb24ucm9sZXMgJiYgcGVybWlzc2lvbi5yb2xlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBwZXJtaXNzaW9uLnJvbGVzLnNvbWUoKHJvbGUpID0+IGhhc1JvbGUocm9sZSkpO1xuICAgICAgICAgICAgICBpZiAocGVybWlzc2lvbi50eXBlID09PSBFUGVybWlzc2lvblR5cGUuVklFVyAmJiBpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBtZW51LmhpZGRlbiA9ICF2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zKys7XG5cbiAgICAgICAgaWYgKG1lbnUuaGlkZGVuKSB7XG4gICAgICAgICAgbWVudS5zdHlsZSA9IHsgZGlzcGxheTogJ25vbmUnIH07XG4gICAgICAgICAgdGhpcy5oaWRkZW5JdGVtcysrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3Rlc3RhdmF0YXI+XG4gIDxwLWF2YXRhciBwQmFkZ2UgKGNsaWNrKT1cImNsaWNrRXZlbnQoKVwiIFtpbWFnZV09XCJoZWFkc2hvdFBhdGhcIiBzaXplPVwieGxhcmdlXCIgW2hpZGRlbl09XCIhdGhpcy5oZWFkc2hvdFBhdGggXCJcbiAgICBzaGFwZT1cImNpcmNsZVwiIGNsYXNzPVwicHItM1wiIFt0aXRsZV09XCJ0b29sVGlwXCI+PC9wLWF2YXRhcj5cbiAgPHAtYXZhdGFyIHBCYWRnZSAoY2xpY2spPVwiY2xpY2tFdmVudCgpXCIgaWNvbj1cInBpIHBpLXVzZXJcIiBzaXplPVwieGxhcmdlXCIgW2hpZGRlbl09XCJ0aGlzLmhlYWRzaG90UGF0aFwiIHNoYXBlPVwiY2lyY2xlXCJcbiAgICBjbGFzcz1cInByLTNcIiBbdGl0bGVdPVwidG9vbFRpcFwiPjwvcC1hdmF0YXI+XG48L25nLXRlbXBsYXRlPlxuPGRpdiBjbGFzcz1cIndyYXBwZXIgbWVudS1iYXItd3JhcHBlciBtYWluLW1lbnUtYmFyIG1lbnUtYmFyLWNvbXBvbmVudFwiICpuZ0lmPVwiaGlkZGVuUGFuZWxNZW51XCI+XG4gIDxkaXYgKm5nSWY9XCIhaXNNZW51YmFySGlkZGVuXCIgY2xhc3M9XCJwLTAgc2lkZWJhclwiIFtuZ0NsYXNzXT1cInRvZ2dsZU1lbnUgPyAnaGlkZS1uYXYnIDogJydcIj5cbiAgICA8IS0tIFtzdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogbWVudUJhY2tDb2xvciB9XCIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRvZ2dsZS1idG5cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZXN0YXZhdGFyXCI+PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idG4gaG92ZXItc2NhbGVcIiAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgdG9nZ2xlLWljb25cIiBbbmdDbGFzc109XCJ0b2dnbGVNZW51ID8gJ3BpLWNoZXZyb24tcmlnaHQnIDogJ3BpLWNoZXZyb24tbGVmdCdcIj48L2k+XG5cbiAgICAgICAgPHNwYW4+e3sgbWVudVRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG5hdiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLWxnIHAtMCBncm93LTFcIiBbbmdDbGFzc109XCJ0b2dnbGVNZW51ID8gJ2hpZGUtbmF2JyA6ICcnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFpbi1tZW51LW1lbnVzLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1tZW51LW1haW4tbWVudS13cmFwcGVyXCI+XG4gICAgICAgICAgPHAtcGFuZWxNZW51IFttb2RlbF09XCJtZW51QmFySXRlbXNUb3BcIiBjbGFzcz1cIm1lbnVTaWRlYmFyIGZpcnN0XCI+PC9wLXBhbmVsTWVudT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbWVudS1tYWluLW1lbnUtd3JhcHBlclwiPlxuICAgICAgICAgIDxwLXBhbmVsTWVudSBbbW9kZWxdPVwibWVudUJhckl0ZW1zQm90dG9tXCIgY2xhc3M9XCJtZW51U2lkZWJhciBzZWNvbmRcIj48L3AtcGFuZWxNZW51PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICAgIDxkaXYgY2xhc3M9XCJuYXYtZm9vdGVyIG0tMlwiIFtpbm5lckh0bWxdPVwibWVudUZvb3RlclwiPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -14485,6 +14485,27 @@ class MenuBarComponent {
|
|
|
14485
14485
|
menu.hidden =
|
|
14486
14486
|
menu.items.length === menu.items.filter((x) => x.hidden).length;
|
|
14487
14487
|
}
|
|
14488
|
+
else {
|
|
14489
|
+
// handle top-level items with no sub-items
|
|
14490
|
+
let permissions = menu.permissions;
|
|
14491
|
+
if (permissions && permissions.length > 0) {
|
|
14492
|
+
let visible = false;
|
|
14493
|
+
permissions.forEach((permission) => {
|
|
14494
|
+
if (permission.roles && permission.roles.length > 0) {
|
|
14495
|
+
const isValid = permission.roles.some((role) => hasRole(role));
|
|
14496
|
+
if (permission.type === EPermissionType.VIEW && isValid) {
|
|
14497
|
+
visible = true;
|
|
14498
|
+
}
|
|
14499
|
+
}
|
|
14500
|
+
});
|
|
14501
|
+
menu.hidden = !visible;
|
|
14502
|
+
}
|
|
14503
|
+
this.totalItems++;
|
|
14504
|
+
if (menu.hidden) {
|
|
14505
|
+
menu.style = { display: 'none' };
|
|
14506
|
+
this.hiddenItems++;
|
|
14507
|
+
}
|
|
14508
|
+
}
|
|
14488
14509
|
});
|
|
14489
14510
|
}
|
|
14490
14511
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuBarComponent, deps: [{ token: AuthenticationService }, { token: i2$4.CookieService }, { token: i6.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|