@eui/core 16.1.1 → 17.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/classes/UpdateUserRightsAction.html +3 -3
- package/docs/dependencies.html +2 -2
- package/docs/injectables/CoreAppEffects.html +12 -10
- package/docs/injectables/{UxDynamicMenuService.html → EuiDynamicMenuService.html} +10 -10
- package/docs/injectables/EuiPermissionService.html +4 -4
- package/docs/injectables/{UxTimezoneService.html → EuiTimezoneService.html} +5 -5
- package/docs/injectables/UxAppShellService.html +123 -1207
- package/docs/interfaces/{TimeZone.html → EuiTimeZone.html} +3 -3
- package/docs/interfaces/UIState.html +8 -8
- package/docs/js/menu-wc.js +9 -9
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +705 -705
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +66 -0
- package/esm2022/lib/services/errors/http-error-handler-callback-functions.mjs +5 -4
- package/esm2022/lib/services/eui-timezone.service.mjs +716 -0
- package/esm2022/lib/services/i18n/i18n.service.mjs +5 -5
- package/esm2022/lib/services/index.mjs +3 -3
- package/esm2022/lib/services/permission/permission.service.mjs +2 -2
- package/esm2022/lib/services/store/actions/user.actions.mjs +1 -1
- package/esm2022/lib/services/store/effects/app.effects.mjs +13 -3
- package/esm2022/lib/services/ux-app-shell.service.mjs +3 -149
- package/esm2022/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +26 -17
- package/fesm2022/eui-core.mjs +63 -189
- package/fesm2022/eui-core.mjs.map +1 -1
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts +15 -0
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts.map +1 -0
- package/lib/services/errors/http-error-handler-callback-functions.d.ts.map +1 -1
- package/lib/services/{ux-timezone.service.d.ts → eui-timezone.service.d.ts} +9 -9
- package/lib/services/eui-timezone.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +2 -2
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/permission/permission.service.d.ts +7 -7
- package/lib/services/permission/permission.service.d.ts.map +1 -1
- package/lib/services/store/actions/user.actions.d.ts +3 -3
- package/lib/services/store/actions/user.actions.d.ts.map +1 -1
- package/lib/services/store/effects/app.effects.d.ts.map +1 -1
- package/lib/services/ux-app-shell.service.d.ts +8 -31
- package/lib/services/ux-app-shell.service.d.ts.map +1 -1
- package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts.map +1 -1
- package/package.json +2 -2
- package/esm2022/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +0 -66
- package/esm2022/lib/services/ux-timezone.service.mjs +0 -717
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +0 -15
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts.map +0 -1
- package/lib/services/ux-timezone.service.d.ts.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EuiMenuItem } from '@eui/base';
|
|
2
|
+
import { EuiPermissionService } from '../permission/permission.service';
|
|
3
|
+
import { StoreService } from '../store/store.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class EuiDynamicMenuService {
|
|
6
|
+
private uxPermission;
|
|
7
|
+
private store;
|
|
8
|
+
menuLinks: Array<any>;
|
|
9
|
+
constructor(uxPermission: EuiPermissionService, store: StoreService);
|
|
10
|
+
getMenuLinks(): any[];
|
|
11
|
+
filterEuiMenuItemsWithRights(links: Array<EuiMenuItem>): Array<EuiMenuItem>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EuiDynamicMenuService, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EuiDynamicMenuService>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=dynamic-menu.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-menu.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/dynamic-menu/dynamic-menu.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;;AAEtD,qBAGa,qBAAqB;IAKlB,OAAO,CAAC,YAAY;IAAwB,OAAO,CAAC,KAAK;IAJrE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;gBAIP,YAAY,EAAE,oBAAoB,EAAU,KAAK,EAAE,YAAY;IAQnF,YAAY;IAIZ,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;yCAjBlE,qBAAqB;6CAArB,qBAAqB;CAuDjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-error-handler-callback-functions.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/errors/http-error-handler-callback-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,QAEhE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,QAElE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,QAGlF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"http-error-handler-callback-functions.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/errors/http-error-handler-callback-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,QAEhE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,QAElE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,QAGlF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,QAIpF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const EUI_COUNTRIES: {
|
|
3
3
|
AF: string;
|
|
4
4
|
AX: string;
|
|
5
5
|
AL: string;
|
|
@@ -248,12 +248,12 @@ export declare const UX_COUNTRIES: {
|
|
|
248
248
|
ZM: string;
|
|
249
249
|
ZW: string;
|
|
250
250
|
};
|
|
251
|
-
export interface
|
|
251
|
+
export interface EuiTimeZone {
|
|
252
252
|
name: string;
|
|
253
253
|
desc: string;
|
|
254
254
|
}
|
|
255
|
-
export declare const
|
|
256
|
-
export declare class
|
|
255
|
+
export declare const EUI_TIMEZONES: EuiTimeZone[];
|
|
256
|
+
export declare class EuiTimezoneService {
|
|
257
257
|
/**
|
|
258
258
|
* Convert country ISO code to country name (in english)
|
|
259
259
|
*/
|
|
@@ -262,9 +262,9 @@ export declare class UxTimezoneService {
|
|
|
262
262
|
* Gets the list of ISO-codes for all countries
|
|
263
263
|
*/
|
|
264
264
|
getCountries(): string[];
|
|
265
|
-
getTimezones():
|
|
266
|
-
getTimezone(tz: string):
|
|
267
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
268
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
265
|
+
getTimezones(): EuiTimeZone[];
|
|
266
|
+
getTimezone(tz: string): EuiTimeZone;
|
|
267
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EuiTimezoneService, never>;
|
|
268
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EuiTimezoneService>;
|
|
269
269
|
}
|
|
270
|
-
//# sourceMappingURL=
|
|
270
|
+
//# sourceMappingURL=eui-timezone.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eui-timezone.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/eui-timezone.service.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwPzB,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,aAAa,EAAE,WAAW,EAibtC,CAAC;AAEF,qBACa,kBAAkB;IAC3B;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIhC;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAQxB,YAAY,IAAI,WAAW,EAAE;IAI7B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;yCAvB3B,kBAAkB;6CAAlB,kBAAkB;CA0B9B"}
|
package/lib/services/index.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ export * from './store/index';
|
|
|
5
5
|
export * from './queue/index';
|
|
6
6
|
export * from './i18n/index';
|
|
7
7
|
export * from './permission/permission.service';
|
|
8
|
-
export * from './
|
|
8
|
+
export * from './dynamic-menu/dynamic-menu.service';
|
|
9
9
|
export * from './ux-error-feedback/ux-error-feedback.service';
|
|
10
10
|
export * from './ux-error-feedback/ux-error-handler.operator';
|
|
11
11
|
export * from './ux-dynamic-component/ux-dynamic-component.service';
|
|
12
12
|
export * from './ux-app-shell.service';
|
|
13
|
-
export * from './
|
|
13
|
+
export * from './eui-timezone.service';
|
|
14
14
|
export * from './storage/index';
|
|
15
15
|
export * from './locale/index';
|
|
16
16
|
export * from './log/index';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iCAAiC,CAAC;AAChD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { EuiService, EuiServiceStatus,
|
|
1
|
+
import { EuiService, EuiServiceStatus, EuiUserRight } from '@eui/base';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { LogService } from '../log/log.service';
|
|
4
4
|
import { StoreService } from '../store/store.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class EuiPermissionService extends EuiService<
|
|
6
|
+
export declare class EuiPermissionService extends EuiService<EuiUserRight[]> {
|
|
7
7
|
private log;
|
|
8
8
|
protected store: StoreService;
|
|
9
9
|
private readonly logger;
|
|
@@ -12,17 +12,17 @@ export declare class EuiPermissionService extends EuiService<UxUserRight[]> {
|
|
|
12
12
|
* initialize the service by providing a state
|
|
13
13
|
* @param rights
|
|
14
14
|
*/
|
|
15
|
-
init(rights:
|
|
16
|
-
protected get userRights():
|
|
15
|
+
init(rights: EuiUserRight[]): Observable<EuiServiceStatus>;
|
|
16
|
+
protected get userRights(): EuiUserRight[];
|
|
17
17
|
/**
|
|
18
18
|
* get the user's Rights from the state
|
|
19
19
|
*/
|
|
20
|
-
getState<K =
|
|
20
|
+
getState<K = EuiUserRight[]>(): Observable<K>;
|
|
21
21
|
/**
|
|
22
22
|
* update the state with the given user's rights
|
|
23
23
|
* @param rights
|
|
24
24
|
*/
|
|
25
|
-
updateState(rights:
|
|
25
|
+
updateState(rights: EuiUserRight[]): void;
|
|
26
26
|
/**
|
|
27
27
|
* accepts a string of right and or a permission. In string first comes the right and or followed by permission in
|
|
28
28
|
* a dot separated way e.g. 'RIGHT.PERMISSION' or 'RIGHT'. The string can contain more that 2 separated fields.
|
|
@@ -44,7 +44,7 @@ export declare class EuiPermissionService extends EuiService<UxUserRight[]> {
|
|
|
44
44
|
checkPermission(rightId: string, permission: string): boolean;
|
|
45
45
|
/**
|
|
46
46
|
* checks whether a user have all rights passed as an argument
|
|
47
|
-
* @param rights an array of
|
|
47
|
+
* @param rights an array of EuiUserRight
|
|
48
48
|
*/
|
|
49
49
|
private haveAllRights;
|
|
50
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<EuiPermissionService, [{ optional: true; }, null]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/permission/permission.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAiB,
|
|
1
|
+
{"version":3,"file":"permission.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/permission/permission.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAiB,YAAY,EAAU,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;;AAItD,qBAGa,oBAAqB,SAAQ,UAAU,CAAC,YAAY,EAAE,CAAC;IAGxC,OAAO,CAAC,GAAG;IAAc,SAAS,CAAC,KAAK,EAAE,YAAY;IAF9E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEA,GAAG,EAAE,UAAU,EAAY,KAAK,EAAE,YAAY;IAO9E;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAa1D,SAAS,KAAK,UAAU,IAAI,YAAY,EAAE,CAEzC;IAED;;OAEG;IACH,QAAQ,CAAC,CAAC,GAAG,YAAY,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC;IAI7C;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE;IAIlC;;;;;;OAMG;IACH,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO;IAmB9D;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAO7D;;;OAGG;IACH,OAAO,CAAC,aAAa;yCAhGZ,oBAAoB;6CAApB,oBAAoB;CAuGhC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Action } from '@ngrx/store';
|
|
2
|
-
import { UserState, UserDetails, UserPreferences,
|
|
2
|
+
import { UserState, UserDetails, UserPreferences, EuiUserRight } from '@eui/base';
|
|
3
3
|
export declare enum CoreUserActionTypes {
|
|
4
4
|
UPDATE_USER_STATE = "[User] Update User state",
|
|
5
5
|
UPDATE_USER_DETAILS = "[User] Update details",
|
|
@@ -23,9 +23,9 @@ export declare class UpdateUserPreferencesAction implements Action {
|
|
|
23
23
|
constructor(payload: UserPreferences);
|
|
24
24
|
}
|
|
25
25
|
export declare class UpdateUserRightsAction implements Action {
|
|
26
|
-
payload:
|
|
26
|
+
payload: EuiUserRight[];
|
|
27
27
|
type: CoreUserActionTypes;
|
|
28
|
-
constructor(payload:
|
|
28
|
+
constructor(payload: EuiUserRight[]);
|
|
29
29
|
}
|
|
30
30
|
export declare class UpdateUserDashboardAction implements Action {
|
|
31
31
|
payload: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.actions.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/store/actions/user.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"user.actions.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/store/actions/user.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAElF,oBAAY,mBAAmB;IAC3B,iBAAiB,6BAA6B;IAC9C,mBAAmB,0BAA0B;IAC7C,uBAAuB,8BAA8B;IACrD,kBAAkB,yBAAyB;IAC3C,qBAAqB,4BAA4B;CACpD;AAED,qBAAa,qBAAsB,YAAW,MAAM;IAG7B,OAAO,EAAE,SAAS;IAFrC,IAAI,sBAAyC;gBAE1B,OAAO,EAAE,SAAS;CACxC;AAED,qBAAa,uBAAwB,YAAW,MAAM;IAG/B,OAAO,EAAE,WAAW;IAFvC,IAAI,sBAA2C;gBAE5B,OAAO,EAAE,WAAW;CAC1C;AAED,qBAAa,2BAA4B,YAAW,MAAM;IAGnC,OAAO,EAAE,eAAe;IAF3C,IAAI,sBAA+C;gBAEhC,OAAO,EAAE,eAAe;CAC9C;AAED,qBAAa,sBAAuB,YAAW,MAAM;IAG9B,OAAO,EAAE,YAAY,EAAE;IAF1C,IAAI,sBAA0C;gBAE3B,OAAO,EAAE,YAAY,EAAE;CAC7C;AAED,qBAAa,yBAA0B,YAAW,MAAM;IAGjC,OAAO,EAAE,GAAG;IAF/B,IAAI,sBAA6C;gBAE9B,OAAO,EAAE,GAAG;CAClC;AAED,MAAM,MAAM,eAAe,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,sBAAsB,GAAG,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.effects.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/store/effects/app.effects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAwB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAoB,MAAM,MAAM,CAAC;AAIpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;;AAE7C,qBACa,cAAc;
|
|
1
|
+
{"version":3,"file":"app.effects.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/store/effects/app.effects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAwB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAoB,MAAM,MAAM,CAAC;AAIpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;;AAE7C,qBACa,cAAc;IA6DnB,SAAS,CAAC,OAAO,EAAE,OAAO;IAEY,SAAS,CAAC,oBAAoB,EAAE,OAAO,GAAG,gBAAgB;IAChG,SAAS,CAAC,gBAAgB,EAAE,gBAAgB;IAC5C,SAAS,CAAC,SAAS,EAAE,iBAAiB;IAhE1C,2BAA2B,EAAE,UAAU,CAAC,MAAM,CAAC,CAI7C;IAEF,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAUhC;IAEF,mBAAmB,qEAuCjB;gBAGY,OAAO,EAAE,OAAO,EAEsB,oBAAoB,EAAE,OAAO,GAAG,gBAAgB,EACtF,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,iBAAiB;yCAjEjC,cAAc;6CAAd,cAAc;CAmE1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import {
|
|
3
|
-
import { GlobalConfig,
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { GlobalConfig, EuiLanguage, EuiMenuItem } from '@eui/base';
|
|
4
4
|
import { I18nService } from './i18n';
|
|
5
5
|
import { Router } from '@angular/router';
|
|
6
6
|
import { StoreService } from './store/store.service';
|
|
@@ -35,13 +35,13 @@ export interface UIState {
|
|
|
35
35
|
breakpoint?: string;
|
|
36
36
|
wrapperClasses?: string;
|
|
37
37
|
breakpoints?: any;
|
|
38
|
-
menuLinks?:
|
|
39
|
-
sidebarLinks?:
|
|
40
|
-
combinedLinks?:
|
|
38
|
+
menuLinks?: EuiMenuItem[];
|
|
39
|
+
sidebarLinks?: EuiMenuItem[];
|
|
40
|
+
combinedLinks?: EuiMenuItem[];
|
|
41
41
|
isBlockDocumentActive?: boolean;
|
|
42
42
|
deviceInfo: any;
|
|
43
43
|
activeLanguage: string;
|
|
44
|
-
languages: (string |
|
|
44
|
+
languages: (string | EuiLanguage)[];
|
|
45
45
|
appMetadata: any;
|
|
46
46
|
hasModalActive?: boolean;
|
|
47
47
|
isDimmerActive?: boolean;
|
|
@@ -53,14 +53,6 @@ export declare class UxAppShellService {
|
|
|
53
53
|
private router;
|
|
54
54
|
private storeService;
|
|
55
55
|
private i18nService;
|
|
56
|
-
growlMessages: any[];
|
|
57
|
-
isGrowlSticky: boolean;
|
|
58
|
-
isCloseAllSticky: boolean;
|
|
59
|
-
growlLife: number;
|
|
60
|
-
growlPosition: string;
|
|
61
|
-
growlCallback: any;
|
|
62
|
-
activeModals: UxModal[];
|
|
63
|
-
openModalId: BehaviorSubject<string>;
|
|
64
56
|
navigationStartCustomHandler: () => void;
|
|
65
57
|
navigationEndCustomHandler: () => void;
|
|
66
58
|
get state$(): Observable<UIState>;
|
|
@@ -73,8 +65,8 @@ export declare class UxAppShellService {
|
|
|
73
65
|
get isSidebarHover(): boolean;
|
|
74
66
|
set isSidebarActive(isActive: boolean);
|
|
75
67
|
set isSidebarInnerActive(isOpen: boolean);
|
|
76
|
-
set sidebarLinks(links:
|
|
77
|
-
set menuLinks(links:
|
|
68
|
+
set sidebarLinks(links: EuiMenuItem[]);
|
|
69
|
+
set menuLinks(links: EuiMenuItem[]);
|
|
78
70
|
set isBlockDocumentActive(isActive: boolean);
|
|
79
71
|
get hasHeader(): boolean;
|
|
80
72
|
get isDimmerActive(): boolean;
|
|
@@ -125,21 +117,6 @@ export declare class UxAppShellService {
|
|
|
125
117
|
* Example for 50% width: calc(var(--eui-app-vw, 1vw) * 50);
|
|
126
118
|
*/
|
|
127
119
|
setAppViewportCssVars(): void;
|
|
128
|
-
/**
|
|
129
|
-
* displays a growl UxMessage item, isSticky
|
|
130
|
-
*/
|
|
131
|
-
growl(msg: UxMessage, isSticky?: boolean, isMultiple?: boolean, life?: number, position?: string, callback?: () => void): void;
|
|
132
|
-
clearGrowl(): void;
|
|
133
|
-
growlSuccess(msg: string, position?: string): void;
|
|
134
|
-
growlError(msg: string, position?: string): void;
|
|
135
|
-
growlWarning(msg: string, position?: string): void;
|
|
136
|
-
growlInfo(msg: string, position?: string): void;
|
|
137
|
-
openModal(modalId?: string): void;
|
|
138
|
-
openMessageBox(messageBoxId?: string): void;
|
|
139
|
-
closeMessageBox(messageBoxId?: string): void;
|
|
140
|
-
isModalOpen(modalId?: string): boolean;
|
|
141
|
-
closeModal(modalId?: string): void;
|
|
142
|
-
findModalIndex(modalId: string): number;
|
|
143
120
|
private getCssVarValue;
|
|
144
121
|
private setCssVar;
|
|
145
122
|
private _setCssVarValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux-app-shell.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/ux-app-shell.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"ux-app-shell.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/ux-app-shell.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux-error-feedback.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/ux-error-feedback/ux-error-feedback.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,wBAAwB,EACxB,mBAAmB,EAEtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;;AAGvD,qBAGa,sBAAsB;IAGnB,OAAO,CAAC,SAAS;IAAqB,OAAO,CAAC,gBAAgB;IAF1E,MAAM,oCAA2C;gBAE7B,SAAS,EAAE,iBAAiB,EAAU,gBAAgB,EAAE,gBAAgB;IAE5F;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;IAQlG;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ux-error-feedback.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/ux-error-feedback/ux-error-feedback.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,wBAAwB,EACxB,mBAAmB,EAEtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;;AAGvD,qBAGa,sBAAsB;IAGnB,OAAO,CAAC,SAAS;IAAqB,OAAO,CAAC,gBAAgB;IAF1E,MAAM,oCAA2C;gBAE7B,SAAS,EAAE,iBAAiB,EAAU,gBAAgB,EAAE,gBAAgB;IAE5F;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;IAQlG;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,mBAAmB;IA2BnC,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAIxC,uBAAuB,IAAI,cAAc;IAIzC,wBAAwB,IAAI,cAAc;yCAtDjC,sBAAsB;6CAAtB,sBAAsB;CAyDlC;AAED,qBAAa,cAAc;IAIX,OAAO,CAAC,sBAAsB;IAA0B,OAAO,CAAC,QAAQ,CAAC;IAHrF,QAAQ,CAAC,iBAAiB,oDAA4B;IACtD,OAAO,CAAC,EAAE,CAA4B;gBAElB,sBAAsB,EAAE,sBAAsB,EAAU,QAAQ,CAAC,EAAE,OAAO;IAE9F,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;IAQ7E,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM;IAQ3B,UAAU,CAAC,GAAG,EAAE,mBAAmB;IAInC,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC;CAOjD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eui/core",
|
|
3
|
-
"version": "
|
|
4
|
-
"tag": "
|
|
3
|
+
"version": "17.0.0-next.1",
|
|
4
|
+
"tag": "next",
|
|
5
5
|
"description": "eUI core package - holding UI components for Desktop applications",
|
|
6
6
|
"homepage": "https://eui.ecdevops.eu",
|
|
7
7
|
"author": "ec.europa.eui@gmail.com",
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { getUserState } from '@eui/base';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../permission/permission.service";
|
|
5
|
-
import * as i2 from "../store/store.service";
|
|
6
|
-
export class UxDynamicMenuService {
|
|
7
|
-
// TODO: it should be moved euiservice, or it should be static
|
|
8
|
-
// TODO: can we moved that service inside the module of the component that's using it?
|
|
9
|
-
constructor(uxPermission, store) {
|
|
10
|
-
this.uxPermission = uxPermission;
|
|
11
|
-
this.store = store;
|
|
12
|
-
this.menuLinks = [];
|
|
13
|
-
this.store.select(getUserState).subscribe((user) => {
|
|
14
|
-
if (user.menuLinks) {
|
|
15
|
-
this.menuLinks = user.menuLinks;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
getMenuLinks() {
|
|
20
|
-
return this.menuLinks;
|
|
21
|
-
}
|
|
22
|
-
filterUxLinksWithRights(links) {
|
|
23
|
-
return links.filter((link) => {
|
|
24
|
-
if (link.hasChildren) {
|
|
25
|
-
link.children = this.filterUxLinksWithRights(link.children);
|
|
26
|
-
}
|
|
27
|
-
// First check if the user is denied access:
|
|
28
|
-
if (link.deniedRightId) {
|
|
29
|
-
if (this.uxPermission.checkRight(link.deniedRightId)) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (link.deniedRightIds) {
|
|
34
|
-
for (const deniedRightId of link.deniedRightIds) {
|
|
35
|
-
if (this.uxPermission.checkRight(deniedRightId)) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// Then check if the user needs to be allowed access explicitly:
|
|
41
|
-
if (link.allowedRightId) {
|
|
42
|
-
return this.uxPermission.checkRight(link.allowedRightId);
|
|
43
|
-
}
|
|
44
|
-
if (link.allowedRightIds) {
|
|
45
|
-
for (const allowedRightId of link.allowedRightIds) {
|
|
46
|
-
if (this.uxPermission.checkRight(allowedRightId)) {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
// User doesn't have one of the allowed rights. Deny access:
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
// Access to the menu item is not denied, therefore allow it:
|
|
54
|
-
return true;
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: UxDynamicMenuService, deps: [{ token: i1.EuiPermissionService }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: UxDynamicMenuService, providedIn: 'root' }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: UxDynamicMenuService, decorators: [{
|
|
61
|
-
type: Injectable,
|
|
62
|
-
args: [{
|
|
63
|
-
providedIn: 'root',
|
|
64
|
-
}]
|
|
65
|
-
}], ctorParameters: function () { return [{ type: i1.EuiPermissionService }, { type: i2.StoreService }]; } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3V4LWR5bmFtaWMtbWVudS91eC1keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUc3Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQW9CLFlBQWtDLEVBQVUsS0FBbUI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUpuRixjQUFTLEdBQWUsRUFBRSxDQUFDO1FBS3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBb0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDL0Q7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtvQkFDbEQsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxLQUFLLENBQUM7cUJBQ2hCO2lCQUNKO2FBQ0o7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsS0FBSyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFO3dCQUM5QyxPQUFPLElBQUksQ0FBQztxQkFDZjtpQkFDSjtnQkFDRCw0REFBNEQ7Z0JBQzVELE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBRUQsNkRBQTZEO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztpSUF0RFEsb0JBQW9CO3FJQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFVzZXJTdGF0ZSwgVXhMaW5rIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEV1aVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFV4RHluYW1pY01lbnVTZXJ2aWNlIHtcbiAgICBtZW51TGlua3M6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIC8vIFRPRE86IGl0IHNob3VsZCBiZSBtb3ZlZCBldWlzZXJ2aWNlLCBvciBpdCBzaG91bGQgYmUgc3RhdGljXG4gICAgLy8gVE9ETzogY2FuIHdlIG1vdmVkIHRoYXQgc2VydmljZSBpbnNpZGUgdGhlIG1vZHVsZSBvZiB0aGUgY29tcG9uZW50IHRoYXQncyB1c2luZyBpdD9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV4UGVybWlzc2lvbjogRXVpUGVybWlzc2lvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlU2VydmljZSkge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyU3RhdGUpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51TGlua3MgPSB1c2VyLm1lbnVMaW5rcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWVudUxpbmtzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51TGlua3M7XG4gICAgfVxuXG4gICAgZmlsdGVyVXhMaW5rc1dpdGhSaWdodHMobGlua3M6IEFycmF5PFV4TGluaz4pOiBBcnJheTxVeExpbms+IHtcbiAgICAgICAgcmV0dXJuIGxpbmtzLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBsaW5rLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJVeExpbmtzV2l0aFJpZ2h0cyhsaW5rLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhlIHVzZXIgaXMgZGVuaWVkIGFjY2VzczpcbiAgICAgICAgICAgIGlmIChsaW5rLmRlbmllZFJpZ2h0SWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy51eFBlcm1pc3Npb24uY2hlY2tSaWdodChsaW5rLmRlbmllZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGluay5kZW5pZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZGVuaWVkUmlnaHRJZCBvZiBsaW5rLmRlbmllZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGRlbmllZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHVzZXIgbmVlZHMgdG8gYmUgYWxsb3dlZCBhY2Nlc3MgZXhwbGljaXRseTpcbiAgICAgICAgICAgIGlmIChsaW5rLmFsbG93ZWRSaWdodElkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXhQZXJtaXNzaW9uLmNoZWNrUmlnaHQobGluay5hbGxvd2VkUmlnaHRJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGluay5hbGxvd2VkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFsbG93ZWRSaWdodElkIG9mIGxpbmsuYWxsb3dlZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGFsbG93ZWRSaWdodElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVXNlciBkb2Vzbid0IGhhdmUgb25lIG9mIHRoZSBhbGxvd2VkIHJpZ2h0cy4gRGVueSBhY2Nlc3M6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY2Nlc3MgdG8gdGhlIG1lbnUgaXRlbSBpcyBub3QgZGVuaWVkLCB0aGVyZWZvcmUgYWxsb3cgaXQ6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|