@ts-core/angular 15.0.60 → 17.0.10
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/asset/AssetBackgroundDirective.d.ts +1 -1
- package/cookie/CookieService.d.ts +1 -3
- package/directive/AspectRatioResizeDirective.d.ts +1 -1
- package/directive/AutoScrollBottomDirective.d.ts +1 -1
- package/directive/ClickToCopyDirective.d.ts +1 -1
- package/directive/FocusDirective.d.ts +1 -1
- package/directive/HTMLContentTitleDirective.d.ts +1 -1
- package/directive/HTMLTitleDirective.d.ts +1 -1
- package/directive/InfiniteScrollDirective.d.ts +1 -1
- package/directive/ResizeDirective.d.ts +1 -1
- package/directive/ScrollCheckDirective.d.ts +1 -1
- package/directive/ScrollDirective.d.ts +1 -1
- package/esm2022/VIModule.mjs +190 -0
- package/esm2022/application/ApplicationBaseComponent.mjs +96 -0
- package/esm2022/application/ApplicationComponent.mjs +64 -0
- package/esm2022/application/MessageBaseComponent.mjs +60 -0
- package/esm2022/asset/AssetBackgroundDirective.mjs +152 -0
- package/{esm2020 → esm2022}/asset/AssetBackgroundPipe.mjs +4 -4
- package/{esm2020 → esm2022}/asset/AssetFilePipe.mjs +4 -4
- package/{esm2020 → esm2022}/asset/AssetIconPipe.mjs +4 -4
- package/{esm2020 → esm2022}/asset/AssetImagePipe.mjs +4 -4
- package/{esm2020 → esm2022}/asset/AssetModule.mjs +5 -5
- package/{esm2020 → esm2022}/asset/AssetSoundPipe.mjs +4 -4
- package/{esm2020 → esm2022}/asset/AssetVideoPipe.mjs +4 -4
- package/{esm2020 → esm2022}/cookie/CookieModule.mjs +5 -5
- package/{esm2020 → esm2022}/cookie/CookieOptions.mjs +7 -1
- package/esm2022/cookie/CookieService.mjs +71 -0
- package/esm2022/directive/AspectRatioResizeDirective.mjs +134 -0
- package/esm2022/directive/AutoScrollBottomDirective.mjs +122 -0
- package/esm2022/directive/ClickToCopyDirective.mjs +53 -0
- package/esm2022/directive/ClickToSelectDirective.mjs +55 -0
- package/esm2022/directive/FocusDirective.mjs +60 -0
- package/esm2022/directive/HTMLContentTitleDirective.mjs +74 -0
- package/esm2022/directive/HTMLTitleDirective.mjs +73 -0
- package/esm2022/directive/InfiniteScrollDirective.mjs +71 -0
- package/{esm2020 → esm2022}/directive/IsBrowserDirective.mjs +5 -5
- package/{esm2020 → esm2022}/directive/IsServerDirective.mjs +5 -5
- package/esm2022/directive/ResizeDirective.mjs +80 -0
- package/esm2022/directive/ScrollCheckDirective.mjs +104 -0
- package/esm2022/directive/ScrollDirective.mjs +120 -0
- package/esm2022/directive/SelectOnFocusDirective.mjs +48 -0
- package/esm2022/directive/StructureDirective.mjs +80 -0
- package/esm2022/language/LanguageDirective.mjs +102 -0
- package/esm2022/language/LanguageHasDirective.mjs +87 -0
- package/{esm2020 → esm2022}/language/LanguageModule.mjs +5 -5
- package/esm2022/language/LanguagePipe.mjs +88 -0
- package/esm2022/language/LanguagePipeHas.mjs +64 -0
- package/esm2022/language/LanguagePipeHasPure.mjs +41 -0
- package/esm2022/language/LanguagePipePure.mjs +40 -0
- package/esm2022/language/LanguageRequireResolver.mjs +37 -0
- package/{esm2020 → esm2022}/language/LanguageResolver.mjs +5 -5
- package/esm2022/list/ListItem.mjs +148 -0
- package/esm2022/list/ListItems.mjs +107 -0
- package/esm2022/list/select/RouterSelectListItems.mjs +60 -0
- package/esm2022/list/select/SelectListItem.mjs +67 -0
- package/esm2022/list/select/SelectListItems.mjs +130 -0
- package/esm2022/login/LoginBaseService.mjs +191 -0
- package/esm2022/login/LoginGuard.mjs +41 -0
- package/esm2022/login/LoginIfCanGuard.mjs +55 -0
- package/esm2022/login/LoginNotGuard.mjs +41 -0
- package/esm2022/login/LoginRequireResolver.mjs +40 -0
- package/{esm2020 → esm2022}/login/LoginResolver.mjs +6 -6
- package/esm2022/login/LoginTokenStorage.mjs +18 -0
- package/esm2022/manager/FocusManager.mjs +54 -0
- package/esm2022/manager/ResizeManager.mjs +90 -0
- package/esm2022/menu/MenuItem.mjs +20 -0
- package/esm2022/menu/MenuItemBase.mjs +56 -0
- package/esm2022/menu/MenuItems.mjs +111 -0
- package/esm2022/menu/NavigationMenuItem.mjs +20 -0
- package/esm2022/module/LazyModuleLoader.mjs +97 -0
- package/esm2022/notification/INotification.mjs +16 -0
- package/esm2022/notification/INotificationContent.mjs +141 -0
- package/esm2022/notification/NotificationConfig.mjs +27 -0
- package/{esm2020 → esm2022}/pipe/CamelCasePipe.mjs +4 -4
- package/esm2022/pipe/FinancePipe.mjs +53 -0
- package/esm2022/pipe/MomentDateAdaptivePipe.mjs +51 -0
- package/{esm2020 → esm2022}/pipe/MomentDateFromNowPipe.mjs +4 -4
- package/esm2022/pipe/MomentDatePipe.mjs +71 -0
- package/esm2022/pipe/MomentTimePipe.mjs +35 -0
- package/esm2022/pipe/NgModelErrorPipe.mjs +43 -0
- package/esm2022/pipe/PrettifyPipe.mjs +38 -0
- package/esm2022/pipe/SanitizePipe.mjs +48 -0
- package/{esm2020 → esm2022}/pipe/StartCasePipe.mjs +4 -4
- package/esm2022/pipe/TimePipe.mjs +38 -0
- package/{esm2020 → esm2022}/pipe/TruncatePipe.mjs +4 -4
- package/esm2022/public-api.mjs +138 -0
- package/esm2022/question/QuestionManager.mjs +107 -0
- package/esm2022/service/PipeBaseService.mjs +140 -0
- package/esm2022/service/PlatformService.mjs +45 -0
- package/esm2022/service/RouterBaseService.mjs +236 -0
- package/esm2022/storage/DateValueStorage.mjs +46 -0
- package/esm2022/storage/LocalStorageService.mjs +58 -0
- package/esm2022/storage/ValueStorage.mjs +75 -0
- package/{esm2020 → esm2022}/theme/ThemeAssetBackgroundDirective.mjs +5 -5
- package/esm2022/theme/ThemeAssetDirective.mjs +251 -0
- package/{esm2020 → esm2022}/theme/ThemeAssetIconDirective.mjs +5 -5
- package/{esm2020 → esm2022}/theme/ThemeAssetImageDirective.mjs +5 -5
- package/{esm2020 → esm2022}/theme/ThemeModule.mjs +15 -15
- package/esm2022/theme/ThemeStyleDirective.mjs +125 -0
- package/esm2022/theme/ThemeStyleHoverDirective.mjs +107 -0
- package/esm2022/theme/ThemeToggleDirective.mjs +63 -0
- package/esm2022/transport/TransportLazy.mjs +93 -0
- package/esm2022/transport/TransportLazyModule.mjs +30 -0
- package/esm2022/transport/TransportLazyModuleLoadedEvent.mjs +18 -0
- package/esm2022/user/IUser.mjs +9 -0
- package/esm2022/user/UserBaseService.mjs +124 -0
- package/esm2022/util/ViewUtil.mjs +589 -0
- package/esm2022/window/IWindow.mjs +31 -0
- package/esm2022/window/IWindowContent.mjs +142 -0
- package/esm2022/window/WindowBase.mjs +177 -0
- package/esm2022/window/WindowClosedError.mjs +19 -0
- package/esm2022/window/WindowConfig.mjs +218 -0
- package/{fesm2020 → fesm2022}/ts-core-angular.mjs +1118 -958
- package/fesm2022/ts-core-angular.mjs.map +1 -0
- package/language/LanguageDirective.d.ts +1 -1
- package/language/LanguageHasDirective.d.ts +1 -1
- package/module/LazyModuleLoader.d.ts +1 -1
- package/notification/INotificationContent.d.ts +1 -1
- package/notification/NotificationConfig.d.ts +1 -1
- package/notification/NotificationService.d.ts +1 -1
- package/package.json +19 -26
- package/pipe/MomentDatePipe.d.ts +1 -1
- package/public-api.d.ts +0 -2
- package/theme/ThemeAssetBackgroundDirective.d.ts +1 -1
- package/theme/ThemeAssetDirective.d.ts +1 -1
- package/theme/ThemeAssetIconDirective.d.ts +1 -1
- package/theme/ThemeAssetImageDirective.d.ts +1 -1
- package/theme/ThemeStyleDirective.d.ts +1 -1
- package/theme/ThemeStyleHoverDirective.d.ts +1 -1
- package/user/IUser.d.ts +1 -1
- package/util/ViewUtil.d.ts +1 -1
- package/window/IWindowContent.d.ts +2 -2
- package/window/WindowConfig.d.ts +1 -1
- package/window/WindowService.d.ts +1 -1
- package/esm2020/VIModule.mjs +0 -187
- package/esm2020/application/ApplicationBaseComponent.mjs +0 -88
- package/esm2020/application/ApplicationComponent.mjs +0 -58
- package/esm2020/application/MessageBaseComponent.mjs +0 -52
- package/esm2020/asset/AssetBackgroundDirective.mjs +0 -150
- package/esm2020/cookie/CookieService.mjs +0 -79
- package/esm2020/directive/AspectRatioResizeDirective.mjs +0 -131
- package/esm2020/directive/AutoScrollBottomDirective.mjs +0 -122
- package/esm2020/directive/ClickToCopyDirective.mjs +0 -49
- package/esm2020/directive/ClickToSelectDirective.mjs +0 -49
- package/esm2020/directive/FocusDirective.mjs +0 -54
- package/esm2020/directive/HTMLContentTitleDirective.mjs +0 -67
- package/esm2020/directive/HTMLTitleDirective.mjs +0 -66
- package/esm2020/directive/InfiniteScrollDirective.mjs +0 -74
- package/esm2020/directive/ResizeDirective.mjs +0 -79
- package/esm2020/directive/ScrollCheckDirective.mjs +0 -102
- package/esm2020/directive/ScrollDirective.mjs +0 -118
- package/esm2020/directive/SelectOnFocusDirective.mjs +0 -47
- package/esm2020/directive/StructureDirective.mjs +0 -71
- package/esm2020/form/FormElementAsync.mjs +0 -27
- package/esm2020/form/FormElementSync.mjs +0 -69
- package/esm2020/form/ValueAccessor.mjs +0 -62
- package/esm2020/form/validate.mjs +0 -59
- package/esm2020/language/LanguageDirective.mjs +0 -92
- package/esm2020/language/LanguageHasDirective.mjs +0 -80
- package/esm2020/language/LanguagePipe.mjs +0 -78
- package/esm2020/language/LanguagePipeHas.mjs +0 -56
- package/esm2020/language/LanguagePipeHasPure.mjs +0 -40
- package/esm2020/language/LanguagePipePure.mjs +0 -39
- package/esm2020/language/LanguageRequireResolver.mjs +0 -36
- package/esm2020/list/ListItem.mjs +0 -134
- package/esm2020/list/ListItems.mjs +0 -97
- package/esm2020/list/select/RouterSelectListItems.mjs +0 -53
- package/esm2020/list/select/SelectListItem.mjs +0 -59
- package/esm2020/list/select/SelectListItems.mjs +0 -121
- package/esm2020/login/LoginBaseService.mjs +0 -184
- package/esm2020/login/LoginGuard.mjs +0 -40
- package/esm2020/login/LoginIfCanGuard.mjs +0 -54
- package/esm2020/login/LoginNotGuard.mjs +0 -40
- package/esm2020/login/LoginRequireResolver.mjs +0 -39
- package/esm2020/login/LoginTokenStorage.mjs +0 -18
- package/esm2020/manager/FocusManager.mjs +0 -46
- package/esm2020/manager/ResizeManager.mjs +0 -81
- package/esm2020/menu/MenuItem.mjs +0 -13
- package/esm2020/menu/MenuItemBase.mjs +0 -46
- package/esm2020/menu/MenuItems.mjs +0 -102
- package/esm2020/menu/NavigationMenuItem.mjs +0 -14
- package/esm2020/module/LazyModuleLoader.mjs +0 -89
- package/esm2020/notification/INotification.mjs +0 -7
- package/esm2020/notification/INotificationContent.mjs +0 -132
- package/esm2020/notification/NotificationConfig.mjs +0 -16
- package/esm2020/pipe/FinancePipe.mjs +0 -53
- package/esm2020/pipe/MomentDateAdaptivePipe.mjs +0 -51
- package/esm2020/pipe/MomentDatePipe.mjs +0 -71
- package/esm2020/pipe/MomentTimePipe.mjs +0 -35
- package/esm2020/pipe/NgModelErrorPipe.mjs +0 -42
- package/esm2020/pipe/PrettifyPipe.mjs +0 -38
- package/esm2020/pipe/SanitizePipe.mjs +0 -47
- package/esm2020/pipe/TimePipe.mjs +0 -38
- package/esm2020/public-api.mjs +0 -141
- package/esm2020/question/QuestionManager.mjs +0 -93
- package/esm2020/service/PipeBaseService.mjs +0 -132
- package/esm2020/service/PlatformService.mjs +0 -38
- package/esm2020/service/RouterBaseService.mjs +0 -224
- package/esm2020/storage/DateValueStorage.mjs +0 -49
- package/esm2020/storage/LocalStorageService.mjs +0 -57
- package/esm2020/storage/ValueStorage.mjs +0 -67
- package/esm2020/theme/ThemeAssetDirective.mjs +0 -240
- package/esm2020/theme/ThemeStyleDirective.mjs +0 -115
- package/esm2020/theme/ThemeStyleHoverDirective.mjs +0 -107
- package/esm2020/theme/ThemeToggleDirective.mjs +0 -62
- package/esm2020/transport/TransportLazy.mjs +0 -92
- package/esm2020/transport/TransportLazyModule.mjs +0 -28
- package/esm2020/transport/TransportLazyModuleLoadedEvent.mjs +0 -18
- package/esm2020/user/IUser.mjs +0 -3
- package/esm2020/user/UserBaseService.mjs +0 -116
- package/esm2020/util/ViewUtil.mjs +0 -589
- package/esm2020/window/IWindow.mjs +0 -33
- package/esm2020/window/IWindowContent.mjs +0 -135
- package/esm2020/window/WindowBase.mjs +0 -177
- package/esm2020/window/WindowClosedError.mjs +0 -19
- package/esm2020/window/WindowConfig.mjs +0 -197
- package/fesm2015/ts-core-angular.mjs +0 -7015
- package/fesm2015/ts-core-angular.mjs.map +0 -1
- package/fesm2020/ts-core-angular.mjs.map +0 -1
- package/form/FormElementAsync.d.ts +0 -13
- package/form/FormElementSync.d.ts +0 -22
- package/form/ValueAccessor.d.ts +0 -16
- package/form/validate.d.ts +0 -9
- /package/{esm2020 → esm2022}/ApplicationInjector.mjs +0 -0
- /package/{esm2020 → esm2022}/bottomSheet/BottomSheetService.mjs +0 -0
- /package/{esm2020 → esm2022}/list/IListItem.mjs +0 -0
- /package/{esm2020 → esm2022}/list/select/ISelectListItem.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/INotificationConfig.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/NotificationService.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/NotificationServiceEvent.mjs +0 -0
- /package/{esm2020 → esm2022}/question/IQuestion.mjs +0 -0
- /package/{esm2020 → esm2022}/service/route/CanDeactivateGuard.mjs +0 -0
- /package/{esm2020 → esm2022}/service/route/IRouterDeactivatable.mjs +0 -0
- /package/{esm2020 → esm2022}/storage/BooleanValueStorage.mjs +0 -0
- /package/{esm2020 → esm2022}/storage/IValueStorage.mjs +0 -0
- /package/{esm2020 → esm2022}/ts-core-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/window/IWindowConfig.mjs +0 -0
- /package/{esm2020 → esm2022}/window/WindowService.mjs +0 -0
- /package/{esm2020 → esm2022}/window/WindowServiceEvent.mjs +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { BehaviorSubject, distinctUntilChanged } from 'rxjs';
|
|
3
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
4
|
+
export class ResizeManager {
|
|
5
|
+
// --------------------------------------------------------------------------
|
|
6
|
+
//
|
|
7
|
+
// Static Methods
|
|
8
|
+
//
|
|
9
|
+
// --------------------------------------------------------------------------
|
|
10
|
+
static isSizeValid(item) {
|
|
11
|
+
if (_.isNil(item) || item.width <= 0 || item.height <= 0) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
// --------------------------------------------------------------------------
|
|
17
|
+
//
|
|
18
|
+
// Properties
|
|
19
|
+
//
|
|
20
|
+
// --------------------------------------------------------------------------
|
|
21
|
+
size;
|
|
22
|
+
sensor;
|
|
23
|
+
subject;
|
|
24
|
+
element;
|
|
25
|
+
// protected sensor: ResizeSensor;
|
|
26
|
+
// --------------------------------------------------------------------------
|
|
27
|
+
//
|
|
28
|
+
// Constructor
|
|
29
|
+
//
|
|
30
|
+
// --------------------------------------------------------------------------
|
|
31
|
+
constructor(element) {
|
|
32
|
+
this.element = ViewUtil.parseElement(element);
|
|
33
|
+
this.subject = new BehaviorSubject({ width: ViewUtil.getWidth(this.element), height: ViewUtil.getHeight(this.element) });
|
|
34
|
+
// Could be undefined in ssr
|
|
35
|
+
try {
|
|
36
|
+
this.sensor = new ResizeObserver(this.handler2);
|
|
37
|
+
this.sensor.observe(this.element);
|
|
38
|
+
}
|
|
39
|
+
catch (error) { }
|
|
40
|
+
}
|
|
41
|
+
// --------------------------------------------------------------------------
|
|
42
|
+
//
|
|
43
|
+
// Event Handlers
|
|
44
|
+
//
|
|
45
|
+
// --------------------------------------------------------------------------
|
|
46
|
+
handlerItem = (item) => {
|
|
47
|
+
if (!ResizeManager.isSizeValid(item)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!_.isNil(this.size) && item.width === this.size.width && item.height === this.size.height) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.size = item;
|
|
54
|
+
this.subject.next(item);
|
|
55
|
+
};
|
|
56
|
+
handler2 = (items) => {
|
|
57
|
+
if (!_.isEmpty(items)) {
|
|
58
|
+
this.handlerItem(items[0].contentRect);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
// --------------------------------------------------------------------------
|
|
62
|
+
//
|
|
63
|
+
// Public Properties
|
|
64
|
+
//
|
|
65
|
+
// --------------------------------------------------------------------------
|
|
66
|
+
get changed() {
|
|
67
|
+
return this.subject.asObservable().pipe(distinctUntilChanged(_.isEqual));
|
|
68
|
+
}
|
|
69
|
+
get value() {
|
|
70
|
+
return this.subject.getValue();
|
|
71
|
+
}
|
|
72
|
+
// --------------------------------------------------------------------------
|
|
73
|
+
//
|
|
74
|
+
// Public Methods
|
|
75
|
+
//
|
|
76
|
+
// --------------------------------------------------------------------------
|
|
77
|
+
destroy() {
|
|
78
|
+
if (!_.isNil(this.sensor)) {
|
|
79
|
+
this.sensor.unobserve(this.element);
|
|
80
|
+
this.sensor.disconnect();
|
|
81
|
+
this.sensor = null;
|
|
82
|
+
}
|
|
83
|
+
if (!_.isNil(this.subject)) {
|
|
84
|
+
this.subject.complete();
|
|
85
|
+
this.subject = null;
|
|
86
|
+
}
|
|
87
|
+
this.element = null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzaXplTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYW5hZ2VyL1Jlc2l6ZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFXO1FBQ2pDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUN0RCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLElBQUksQ0FBUTtJQUNaLE1BQU0sQ0FBaUI7SUFDdkIsT0FBTyxDQUF5QjtJQUNoQyxPQUFPLENBQWM7SUFFL0Isa0NBQWtDO0lBRWxDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxPQUFxQjtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXpILDRCQUE0QjtRQUM1QixJQUFJO1lBQ0EsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JDO1FBQUMsT0FBTyxLQUFLLEVBQUUsR0FBRTtJQUN0QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxXQUFXLEdBQUcsQ0FBQyxJQUFXLEVBQUUsRUFBRTtRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNGLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUVRLFFBQVEsR0FBRyxDQUFDLEtBQWlDLEVBQUUsRUFBRTtRQUN2RCxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMxQztJQUNMLENBQUMsQ0FBQztJQUVGLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEZXN0cm95YWJsZSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJVmlld0VsZW1lbnQsIFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBSZXNpemVNYW5hZ2VyIGltcGxlbWVudHMgSURlc3Ryb3lhYmxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBpc1NpemVWYWxpZChpdGVtOiBJU2l6ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoXy5pc05pbChpdGVtKSB8fCBpdGVtLndpZHRoIDw9IDAgfHwgaXRlbS5oZWlnaHQgPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzaXplOiBJU2l6ZTtcbiAgICBwcm90ZWN0ZWQgc2Vuc29yOiBSZXNpemVPYnNlcnZlcjtcbiAgICBwcm90ZWN0ZWQgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PElTaXplPjtcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyBwcm90ZWN0ZWQgc2Vuc29yOiBSZXNpemVTZW5zb3I7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogSVZpZXdFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IFZpZXdVdGlsLnBhcnNlRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgdGhpcy5zdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7IHdpZHRoOiBWaWV3VXRpbC5nZXRXaWR0aCh0aGlzLmVsZW1lbnQpLCBoZWlnaHQ6IFZpZXdVdGlsLmdldEhlaWdodCh0aGlzLmVsZW1lbnQpIH0pO1xuXG4gICAgICAgIC8vIENvdWxkIGJlIHVuZGVmaW5lZCBpbiBzc3JcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc2Vuc29yID0gbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuaGFuZGxlcjIpO1xuICAgICAgICAgICAgdGhpcy5zZW5zb3Iub2JzZXJ2ZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZXJJdGVtID0gKGl0ZW06IElTaXplKSA9PiB7XG4gICAgICAgIGlmICghUmVzaXplTWFuYWdlci5pc1NpemVWYWxpZChpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLnNpemUpICYmIGl0ZW0ud2lkdGggPT09IHRoaXMuc2l6ZS53aWR0aCAmJiBpdGVtLmhlaWdodCA9PT0gdGhpcy5zaXplLmhlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2l6ZSA9IGl0ZW07XG4gICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KGl0ZW0pO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlcjIgPSAoaXRlbXM6IEFycmF5PFJlc2l6ZU9ic2VydmVyRW50cnk+KSA9PiB7XG4gICAgICAgIGlmICghXy5pc0VtcHR5KGl0ZW1zKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVySXRlbShpdGVtc1swXS5jb250ZW50UmVjdCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgY2hhbmdlZCgpOiBPYnNlcnZhYmxlPElTaXplPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZChfLmlzRXF1YWwpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IElTaXplIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuc2Vuc29yKSkge1xuICAgICAgICAgICAgdGhpcy5zZW5zb3IudW5vYnNlcnZlKHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLnNlbnNvci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB0aGlzLnNlbnNvciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuc3ViamVjdCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgdGhpcy5zdWJqZWN0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2l6ZSB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MenuItemBase } from './MenuItemBase';
|
|
2
|
+
export class MenuItem extends MenuItemBase {
|
|
3
|
+
// --------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// Properties
|
|
6
|
+
//
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
flag;
|
|
9
|
+
select;
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
//
|
|
12
|
+
// Constructor
|
|
13
|
+
//
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
constructor(nameId, sortIndex, flag, iconId) {
|
|
16
|
+
super(nameId, sortIndex, iconId);
|
|
17
|
+
this.flag = flag || 'none';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudUl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVudS9NZW51SXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBQ3RDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsSUFBSSxDQUFTO0lBQ2IsTUFBTSxDQUEyQjtJQUV4Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBZSxFQUFFLFNBQWtCLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFDM0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtQmFzZSB9IGZyb20gJy4vTWVudUl0ZW1CYXNlJztcblxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtIGV4dGVuZHMgTWVudUl0ZW1CYXNlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGZsYWc6IHN0cmluZztcbiAgICBwdWJsaWMgc2VsZWN0OiAoaXRlbTogTWVudUl0ZW0pID0+IHZvaWQ7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKG5hbWVJZD86IHN0cmluZywgc29ydEluZGV4PzogbnVtYmVyLCBmbGFnPzogc3RyaW5nLCBpY29uSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobmFtZUlkLCBzb3J0SW5kZXgsIGljb25JZCk7XG4gICAgICAgIHRoaXMuZmxhZyA9IGZsYWcgfHwgJ25vbmUnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export class MenuItemBase {
|
|
2
|
+
nameId;
|
|
3
|
+
sortIndex;
|
|
4
|
+
iconId;
|
|
5
|
+
// --------------------------------------------------------------------------
|
|
6
|
+
//
|
|
7
|
+
// Properties
|
|
8
|
+
//
|
|
9
|
+
// --------------------------------------------------------------------------
|
|
10
|
+
_name;
|
|
11
|
+
_isEnabled = true;
|
|
12
|
+
checkEnabled;
|
|
13
|
+
// --------------------------------------------------------------------------
|
|
14
|
+
//
|
|
15
|
+
// Constructor
|
|
16
|
+
//
|
|
17
|
+
// --------------------------------------------------------------------------
|
|
18
|
+
constructor(nameId, sortIndex = NaN, iconId) {
|
|
19
|
+
this.nameId = nameId;
|
|
20
|
+
this.sortIndex = sortIndex;
|
|
21
|
+
this.iconId = iconId;
|
|
22
|
+
}
|
|
23
|
+
// --------------------------------------------------------------------------
|
|
24
|
+
//
|
|
25
|
+
// Protected Methods
|
|
26
|
+
//
|
|
27
|
+
// --------------------------------------------------------------------------
|
|
28
|
+
commitNameProperties() { }
|
|
29
|
+
commitIsEnabledProperties() { }
|
|
30
|
+
// --------------------------------------------------------------------------
|
|
31
|
+
//
|
|
32
|
+
// Public Methods
|
|
33
|
+
//
|
|
34
|
+
// --------------------------------------------------------------------------
|
|
35
|
+
get isEnabled() {
|
|
36
|
+
return this._isEnabled;
|
|
37
|
+
}
|
|
38
|
+
set isEnabled(value) {
|
|
39
|
+
if (value === this._isEnabled) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this._isEnabled = value;
|
|
43
|
+
this.commitIsEnabledProperties();
|
|
44
|
+
}
|
|
45
|
+
get name() {
|
|
46
|
+
return this._name;
|
|
47
|
+
}
|
|
48
|
+
set name(value) {
|
|
49
|
+
if (value === this._name) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this._name = value;
|
|
53
|
+
this.commitNameProperties();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudUl0ZW1CYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbnUvTWVudUl0ZW1CYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBa0JGO0lBQXVCO0lBQWdDO0lBakIxRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLEtBQUssQ0FBUztJQUNkLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFFOUIsWUFBWSxDQUFrQztJQUVyRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW1CLE1BQWMsRUFBUyxZQUFvQixHQUFHLEVBQVMsTUFBZTtRQUF0RSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFTLFdBQU0sR0FBTixNQUFNLENBQVM7SUFBRyxDQUFDO0lBRTdGLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsb0JBQW9CLEtBQVUsQ0FBQztJQUMvQix5QkFBeUIsS0FBVSxDQUFDO0lBRTlDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsS0FBYztRQUMvQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWE7UUFDekIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN0QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTWVudUl0ZW1CYXNlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9uYW1lOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9pc0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHVibGljIGNoZWNrRW5hYmxlZDogKGl0ZW06IE1lbnVJdGVtQmFzZSkgPT4gYm9vbGVhbjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIG5hbWVJZDogc3RyaW5nLCBwdWJsaWMgc29ydEluZGV4OiBudW1iZXIgPSBOYU4sIHB1YmxpYyBpY29uSWQ/OiBzdHJpbmcpIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXROYW1lUHJvcGVydGllcygpOiB2b2lkIHt9XG4gICAgcHJvdGVjdGVkIGNvbW1pdElzRW5hYmxlZFByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRW5hYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0VuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc0VuYWJsZWRQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX25hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0TmFtZVByb3BlcnRpZXMoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { DestroyableContainer } from '@ts-core/common';
|
|
2
|
+
import { ArrayUtil } from '@ts-core/common';
|
|
3
|
+
import { filter, takeUntil } from 'rxjs';
|
|
4
|
+
export class MenuItems extends DestroyableContainer {
|
|
5
|
+
language;
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Properties
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
_items;
|
|
12
|
+
_enabledItems;
|
|
13
|
+
filterFunction;
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
//
|
|
16
|
+
// Constructor
|
|
17
|
+
//
|
|
18
|
+
// --------------------------------------------------------------------------
|
|
19
|
+
constructor(language, filterFunction, isAutoTranslate = false) {
|
|
20
|
+
super();
|
|
21
|
+
this.language = language;
|
|
22
|
+
this._items = [];
|
|
23
|
+
this._enabledItems = [];
|
|
24
|
+
this.filterFunction = filterFunction;
|
|
25
|
+
language.completed
|
|
26
|
+
.pipe(filter(() => isAutoTranslate), takeUntil(this.destroyed))
|
|
27
|
+
.subscribe(() => this.translateItems(this._items));
|
|
28
|
+
}
|
|
29
|
+
// --------------------------------------------------------------------------
|
|
30
|
+
//
|
|
31
|
+
// Private Methods
|
|
32
|
+
//
|
|
33
|
+
// --------------------------------------------------------------------------
|
|
34
|
+
translateItems(items) {
|
|
35
|
+
for (let item of items) {
|
|
36
|
+
this.translateItem(item);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
translateItem(item) {
|
|
40
|
+
item.name = this.language.translate(item.nameId);
|
|
41
|
+
}
|
|
42
|
+
checkEnabledItems(items) {
|
|
43
|
+
ArrayUtil.sort(items);
|
|
44
|
+
let isMainItems = items === this._items;
|
|
45
|
+
let isAllEnabled = true;
|
|
46
|
+
if (isMainItems) {
|
|
47
|
+
ArrayUtil.clear(this._enabledItems);
|
|
48
|
+
}
|
|
49
|
+
for (let item of items) {
|
|
50
|
+
if (!item.name && item.nameId) {
|
|
51
|
+
this.translateItem(item);
|
|
52
|
+
}
|
|
53
|
+
let isEnabled = item.checkEnabled ? item.checkEnabled(item) : true;
|
|
54
|
+
if (isEnabled && this.filterFunction) {
|
|
55
|
+
isEnabled = this.filterFunction(item);
|
|
56
|
+
}
|
|
57
|
+
item.isEnabled = isEnabled;
|
|
58
|
+
if (isEnabled) {
|
|
59
|
+
this._enabledItems.push(item);
|
|
60
|
+
}
|
|
61
|
+
if (isAllEnabled && !isEnabled) {
|
|
62
|
+
isAllEnabled = false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return isAllEnabled;
|
|
66
|
+
}
|
|
67
|
+
// --------------------------------------------------------------------------
|
|
68
|
+
//
|
|
69
|
+
// Public Methods
|
|
70
|
+
//
|
|
71
|
+
// --------------------------------------------------------------------------
|
|
72
|
+
add(item) {
|
|
73
|
+
this._items.push(item);
|
|
74
|
+
return item;
|
|
75
|
+
}
|
|
76
|
+
remove(item) {
|
|
77
|
+
let index = this._items.indexOf(item);
|
|
78
|
+
if (index > -1) {
|
|
79
|
+
this._items.slice(index, 1);
|
|
80
|
+
}
|
|
81
|
+
return item;
|
|
82
|
+
}
|
|
83
|
+
checkEnabled(...args) {
|
|
84
|
+
return this.checkEnabledItems(this._items);
|
|
85
|
+
}
|
|
86
|
+
// --------------------------------------------------------------------------
|
|
87
|
+
//
|
|
88
|
+
// Interface Methods
|
|
89
|
+
//
|
|
90
|
+
// --------------------------------------------------------------------------
|
|
91
|
+
destroy() {
|
|
92
|
+
if (this.isDestroyed) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
super.destroy();
|
|
96
|
+
this._items = null;
|
|
97
|
+
this._enabledItems = null;
|
|
98
|
+
}
|
|
99
|
+
// --------------------------------------------------------------------------
|
|
100
|
+
//
|
|
101
|
+
// Public Properties
|
|
102
|
+
//
|
|
103
|
+
// --------------------------------------------------------------------------
|
|
104
|
+
get items() {
|
|
105
|
+
return this._items;
|
|
106
|
+
}
|
|
107
|
+
get enabledItems() {
|
|
108
|
+
return this._enabledItems;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudUl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbnUvTWVudUl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJekMsTUFBTSxPQUFPLFNBQVUsU0FBUSxvQkFBb0I7SUFpQjNCO0lBaEJwQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLE1BQU0sQ0FBc0I7SUFDNUIsYUFBYSxDQUFzQjtJQUNuQyxjQUFjLENBQWtDO0lBRTFELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBb0IsUUFBeUIsRUFBRSxjQUE0QyxFQUFFLGtCQUEyQixLQUFLO1FBQ3pILEtBQUssRUFBRSxDQUFDO1FBRFEsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFHekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFFckMsUUFBUSxDQUFDLFNBQVM7YUFDYixJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG1CQUFt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QUU3RSxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveWFibGVDb250YWluZXIsIExvYWRhYmxlRXZlbnQgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4vTWVudUl0ZW0nO1xuaW1wb3J0IHsgTWVudUl0ZW1CYXNlIH0gZnJvbSAnLi9NZW51SXRlbUJhc2UnO1xuXG5leHBvcnQgY2xhc3MgTWVudUl0ZW1zIGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX2l0ZW1zOiBBcnJheTxNZW51SXRlbUJhc2U+O1xuICAgIHByb3RlY3RlZCBfZW5hYmxlZEl0ZW1zOiBBcnJheTxNZW51SXRlbUJhc2U+O1xuICAgIHByb3RlY3RlZCBmaWx0ZXJGdW5jdGlvbjogKGl0ZW06IE1lbnVJdGVtQmFzZSkgPT4gYm9vbGVhbjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlLCBmaWx0ZXJGdW5jdGlvbj86IChpdGVtOiBNZW51SXRlbSkgPT4gYm9vbGVhbiwgaXNBdXRvVHJhbnNsYXRlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLl9pdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLl9lbmFibGVkSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5maWx0ZXJGdW5jdGlvbiA9IGZpbHRlckZ1bmN0aW9uO1xuXG4gICAgICAgIGxhbmd1YWdlLmNvbXBsZXRlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IGlzQXV0b1RyYW5zbGF0ZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyYW5zbGF0ZUl0ZW1zKHRoaXMuX2l0ZW1zKSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVJdGVtcyhpdGVtczogQXJyYXk8TWVudUl0ZW1CYXNlPik6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZUl0ZW0oaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zbGF0ZUl0ZW0oaXRlbTogTWVudUl0ZW1CYXNlKTogdm9pZCB7XG4gICAgICAgIGl0ZW0ubmFtZSA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKGl0ZW0ubmFtZUlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrRW5hYmxlZEl0ZW1zKGl0ZW1zOiBBcnJheTxNZW51SXRlbUJhc2U+KTogYm9vbGVhbiB7XG4gICAgICAgIEFycmF5VXRpbC5zb3J0KGl0ZW1zKTtcbiAgICAgICAgbGV0IGlzTWFpbkl0ZW1zID0gaXRlbXMgPT09IHRoaXMuX2l0ZW1zO1xuICAgICAgICBsZXQgaXNBbGxFbmFibGVkID0gdHJ1ZTtcblxuICAgICAgICBpZiAoaXNNYWluSXRlbXMpIHtcbiAgICAgICAgICAgIEFycmF5VXRpbC5jbGVhcih0aGlzLl9lbmFibGVkSXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgaWYgKCFpdGVtLm5hbWUgJiYgaXRlbS5uYW1lSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZUl0ZW0oaXRlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBpc0VuYWJsZWQgPSBpdGVtLmNoZWNrRW5hYmxlZCA/IGl0ZW0uY2hlY2tFbmFibGVkKGl0ZW0pIDogdHJ1ZTtcbiAgICAgICAgICAgIGlmIChpc0VuYWJsZWQgJiYgdGhpcy5maWx0ZXJGdW5jdGlvbikge1xuICAgICAgICAgICAgICAgIGlzRW5hYmxlZCA9IHRoaXMuZmlsdGVyRnVuY3Rpb24oaXRlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGl0ZW0uaXNFbmFibGVkID0gaXNFbmFibGVkO1xuICAgICAgICAgICAgaWYgKGlzRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuYWJsZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNBbGxFbmFibGVkICYmICFpc0VuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBpc0FsbEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBbGxFbmFibGVkO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFkZChpdGVtOiBNZW51SXRlbUJhc2UpOiBNZW51SXRlbUJhc2Uge1xuICAgICAgICB0aGlzLl9pdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGl0ZW06IE1lbnVJdGVtQmFzZSk6IE1lbnVJdGVtQmFzZSB7XG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuX2l0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtcy5zbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrRW5hYmxlZCguLi5hcmdzKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrRW5hYmxlZEl0ZW1zKHRoaXMuX2l0ZW1zKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRJbnRlcmZhY2UgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLl9pdGVtcyA9IG51bGw7XG4gICAgICAgIHRoaXMuX2VuYWJsZWRJdGVtcyA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEFycmF5PE1lbnVJdGVtQmFzZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbmFibGVkSXRlbXMoKTogQXJyYXk8TWVudUl0ZW1CYXNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbmFibGVkSXRlbXM7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MenuItem } from './MenuItem';
|
|
2
|
+
export class NavigationMenuItem extends MenuItem {
|
|
3
|
+
// --------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// Properties
|
|
6
|
+
//
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
url;
|
|
9
|
+
isActive = false;
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
//
|
|
12
|
+
// Constructor
|
|
13
|
+
//
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
constructor(nameId, sortIndex, iconId, url) {
|
|
16
|
+
super(nameId, sortIndex, null, iconId);
|
|
17
|
+
this.url = url;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF2aWdhdGlvbk1lbnVJdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbnUvTmF2aWdhdGlvbk1lbnVJdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFFBQVE7SUFDNUMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxHQUFHLENBQVM7SUFDWixRQUFRLEdBQVksS0FBSyxDQUFDO0lBR2pDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxNQUFlLEVBQUUsU0FBa0IsRUFBRSxNQUFlLEVBQUUsR0FBWTtRQUMxRSxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuL01lbnVJdGVtJztcblxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25NZW51SXRlbSBleHRlbmRzIE1lbnVJdGVtIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBkZWNsYXJlIHNlbGVjdDogKGl0ZW06IE5hdmlnYXRpb25NZW51SXRlbSkgPT4gdm9pZDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IobmFtZUlkPzogc3RyaW5nLCBzb3J0SW5kZXg/OiBudW1iZXIsIGljb25JZD86IHN0cmluZywgdXJsPzogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG5hbWVJZCwgc29ydEluZGV4LCBudWxsLCBpY29uSWQpO1xuICAgICAgICB0aGlzLnVybCA9IHVybDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Injectable, NgModuleFactory } from '@angular/core';
|
|
2
|
+
import { Loadable, LoadableEvent } from '@ts-core/common';
|
|
3
|
+
import { ExtendedError } from '@ts-core/common';
|
|
4
|
+
import { MapCollection } from '@ts-core/common';
|
|
5
|
+
import { ObservableData } from '@ts-core/common';
|
|
6
|
+
import * as _ from 'lodash';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class LazyModuleLoader extends Loadable {
|
|
9
|
+
compiler;
|
|
10
|
+
injector;
|
|
11
|
+
//--------------------------------------------------------------------------
|
|
12
|
+
//
|
|
13
|
+
// Properties
|
|
14
|
+
//
|
|
15
|
+
//--------------------------------------------------------------------------
|
|
16
|
+
_modules;
|
|
17
|
+
//--------------------------------------------------------------------------
|
|
18
|
+
//
|
|
19
|
+
// Constructor
|
|
20
|
+
//
|
|
21
|
+
//--------------------------------------------------------------------------
|
|
22
|
+
constructor(compiler, injector) {
|
|
23
|
+
super();
|
|
24
|
+
this.compiler = compiler;
|
|
25
|
+
this.injector = injector;
|
|
26
|
+
this._modules = new MapCollection('id');
|
|
27
|
+
}
|
|
28
|
+
//--------------------------------------------------------------------------
|
|
29
|
+
//
|
|
30
|
+
// Protected Methods
|
|
31
|
+
//
|
|
32
|
+
//--------------------------------------------------------------------------
|
|
33
|
+
async load(item) {
|
|
34
|
+
item.reference = await this.loadReference(item.path);
|
|
35
|
+
}
|
|
36
|
+
async loadReference(path) {
|
|
37
|
+
let moduleFactory = null;
|
|
38
|
+
let elementModuleOrFactory = await path();
|
|
39
|
+
if (elementModuleOrFactory instanceof NgModuleFactory) {
|
|
40
|
+
moduleFactory = elementModuleOrFactory;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
moduleFactory = await this.compiler.compileModuleAsync(elementModuleOrFactory);
|
|
44
|
+
}
|
|
45
|
+
return moduleFactory.create(this.injector);
|
|
46
|
+
}
|
|
47
|
+
isNeedLoad(item) {
|
|
48
|
+
return _.isNil(item.reference);
|
|
49
|
+
}
|
|
50
|
+
//--------------------------------------------------------------------------
|
|
51
|
+
//
|
|
52
|
+
// Public Methods
|
|
53
|
+
//
|
|
54
|
+
//--------------------------------------------------------------------------
|
|
55
|
+
async loadIfNeed(id) {
|
|
56
|
+
let item = this.modules.get(id);
|
|
57
|
+
if (_.isNil(item)) {
|
|
58
|
+
throw new ExtendedError(`Unable to find "${id}" module: it must be registered first`);
|
|
59
|
+
}
|
|
60
|
+
if (!this.isNeedLoad(item)) {
|
|
61
|
+
return item;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
this.observer.next(new ObservableData(LoadableEvent.STARTED));
|
|
65
|
+
await this.load(item);
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
this.observer.next(new ObservableData(LoadableEvent.FINISHED));
|
|
69
|
+
}
|
|
70
|
+
return item;
|
|
71
|
+
}
|
|
72
|
+
destroy() {
|
|
73
|
+
if (this.isDestroyed) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
super.destroy();
|
|
77
|
+
if (!_.isNil(this._modules)) {
|
|
78
|
+
this._modules.destroy();
|
|
79
|
+
this._modules = null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//--------------------------------------------------------------------------
|
|
83
|
+
//
|
|
84
|
+
// Public Properties
|
|
85
|
+
//
|
|
86
|
+
//--------------------------------------------------------------------------
|
|
87
|
+
get modules() {
|
|
88
|
+
return this._modules;
|
|
89
|
+
}
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LazyModuleLoader, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LazyModuleLoader, providedIn: 'root' });
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LazyModuleLoader, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{ providedIn: 'root' }]
|
|
96
|
+
}], ctorParameters: () => [{ type: i0.Compiler }, { type: i0.Injector }] });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF6eU1vZHVsZUxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGUvTGF6eU1vZHVsZUxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksVUFBVSxFQUFZLGVBQWUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7QUFHNUIsTUFBTSxPQUFPLGdCQUE4RCxTQUFRLFFBQVE7SUFlakU7SUFBOEI7SUFkcEQsNEVBQTRFO0lBQzVFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDRFQUE0RTtJQUVsRSxRQUFRLENBQW1CO0lBRXJDLDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw0RUFBNEU7SUFFNUUsWUFBc0IsUUFBa0IsRUFBWSxRQUFrQjtRQUNsRSxLQUFLLEVBQUUsQ0FBQztRQURVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRWxFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw0RUFBNEU7SUFFbEUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFPO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsS0FBSyxDQUFDLGFBQWEsQ0FBSSxJQUF1QjtRQUNwRCxJQUFJLGFBQWEsR0FBdUIsSUFBSSxDQUFDO1FBQzdDLElBQUksc0JBQXNCLEdBQWlDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDeEUsSUFBSSxzQkFBc0IsWUFBWSxlQUFlLEVBQUU7WUFDbkQsYUFBYSxHQUFHLHNCQUFzQixDQUFDO1NBQzFDO2FBQU07WUFDSCxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDbEY7UUFDRCxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBTztRQUN4QixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNEVBQTRFO0lBRXJFLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBVTtRQUM5QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDZixNQUFNLElBQUksYUFBYSxDQUFDLG1CQUFtQixFQUFFLHVDQUF1QyxDQUFDLENBQUM7U0FDekY7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBSTtZQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzlELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjtnQkFBUztZQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw0RUFBNEU7SUFFNUUsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7dUdBeEZRLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBREgsTUFBTTs7MkZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21waWxlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nTW9kdWxlRmFjdG9yeSwgTmdNb2R1bGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRhYmxlLCBMb2FkYWJsZUV2ZW50IH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IEV4dGVuZGVkRXJyb3IgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgTWFwQ29sbGVjdGlvbiB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTGF6eU1vZHVsZUxvYWRlcjxUIGV4dGVuZHMgSUxhenlNb2R1bGVEYXRhID0gSUxhenlNb2R1bGVEYXRhPiBleHRlbmRzIExvYWRhYmxlIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9tb2R1bGVzOiBNYXBDb2xsZWN0aW9uPFQ+O1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29tcGlsZXI6IENvbXBpbGVyLCBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX21vZHVsZXMgPSBuZXcgTWFwQ29sbGVjdGlvbignaWQnKTtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9hZChpdGVtOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGl0ZW0ucmVmZXJlbmNlID0gYXdhaXQgdGhpcy5sb2FkUmVmZXJlbmNlKGl0ZW0ucGF0aCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGxvYWRSZWZlcmVuY2U8VD4ocGF0aDogTGF6eU1vZHVsZVBhdGg8VD4pOiBQcm9taXNlPE5nTW9kdWxlUmVmPFQ+PiB7XG4gICAgICAgIGxldCBtb2R1bGVGYWN0b3J5OiBOZ01vZHVsZUZhY3Rvcnk8VD4gPSBudWxsO1xuICAgICAgICBsZXQgZWxlbWVudE1vZHVsZU9yRmFjdG9yeTogTmdNb2R1bGVGYWN0b3J5PFQ+IHwgVHlwZTxUPiA9IGF3YWl0IHBhdGgoKTtcbiAgICAgICAgaWYgKGVsZW1lbnRNb2R1bGVPckZhY3RvcnkgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkpIHtcbiAgICAgICAgICAgIG1vZHVsZUZhY3RvcnkgPSBlbGVtZW50TW9kdWxlT3JGYWN0b3J5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbW9kdWxlRmFjdG9yeSA9IGF3YWl0IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKGVsZW1lbnRNb2R1bGVPckZhY3RvcnkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNOZWVkTG9hZChpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBfLmlzTmlsKGl0ZW0ucmVmZXJlbmNlKTtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZElmTmVlZChpZDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGxldCBpdGVtID0gdGhpcy5tb2R1bGVzLmdldChpZCk7XG4gICAgICAgIGlmIChfLmlzTmlsKGl0ZW0pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXh0ZW5kZWRFcnJvcihgVW5hYmxlIHRvIGZpbmQgXCIke2lkfVwiIG1vZHVsZTogaXQgbXVzdCBiZSByZWdpc3RlcmVkIGZpcnN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlzTmVlZExvYWQoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkKGl0ZW0pO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLl9tb2R1bGVzKSkge1xuICAgICAgICAgICAgdGhpcy5fbW9kdWxlcy5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLl9tb2R1bGVzID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgbW9kdWxlcygpOiBNYXBDb2xsZWN0aW9uPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZHVsZXM7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYXp5TW9kdWxlRGF0YTxUID0gYW55PiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBwYXRoPzogTGF6eU1vZHVsZVBhdGg8VD47XG4gICAgcmVmZXJlbmNlPzogTmdNb2R1bGVSZWY8VD47XG59XG5cbmV4cG9ydCB0eXBlIExhenlNb2R1bGVQYXRoPFQ+ID0gKCkgPT4gUHJvbWlzZTxOZ01vZHVsZUZhY3Rvcnk8VD4gfCBUeXBlPFQ+PjtcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class INotification {
|
|
2
|
+
// --------------------------------------------------------------------------
|
|
3
|
+
//
|
|
4
|
+
// Interface Methods
|
|
5
|
+
//
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
events;
|
|
8
|
+
container;
|
|
9
|
+
config;
|
|
10
|
+
content;
|
|
11
|
+
}
|
|
12
|
+
export var NotificationEvent;
|
|
13
|
+
(function (NotificationEvent) {
|
|
14
|
+
NotificationEvent["REMOVED"] = "REMOVED";
|
|
15
|
+
})(NotificationEvent || (NotificationEvent = {}));
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU5vdGlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vSU5vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQWdCLGFBQWE7SUF5Qi9CLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFcEUsTUFBTSxDQUFxQjtJQUMzQixTQUFTLENBQWM7SUFFdkIsTUFBTSxDQUF5QjtJQUMvQixPQUFPLENBQTBCO0NBQzdDO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBRVg7QUFGRCxXQUFZLGlCQUFpQjtJQUN6Qix3Q0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBRlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUU1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEZXN0cm95YWJsZSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uQ29udGVudCB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbkNvbmZpZyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJTm90aWZpY2F0aW9uPFQgPSBhbnk+IGltcGxlbWVudHMgSURlc3Ryb3lhYmxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgYWJzdHJhY3QgZ2V0WCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0WSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3Qgc2V0WCh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzZXRZKHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuICAgIGFic3RyYWN0IG1vdmUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgZ2V0V2lkdGgoKTogbnVtYmVyO1xuICAgIGFic3RyYWN0IGdldEhlaWdodCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3Qgc2V0V2lkdGgodmFsdWU6IG51bWJlcik6IHZvaWQ7XG4gICAgYWJzdHJhY3Qgc2V0SGVpZ2h0KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuICAgIGFic3RyYWN0IHNldFNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgY2xvc2UoKTogdm9pZDtcbiAgICBhYnN0cmFjdCByZW1vdmUoKTogdm9pZDtcbiAgICBhYnN0cmFjdCBkZXN0cm95KCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBlbWl0KGV2ZW50OiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0SW50ZXJmYWNlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICByZWFkb25seSBldmVudHM6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICByZWFkb25seSBjb250YWluZXI6IEhUTUxFbGVtZW50O1xuXG4gICAgcmVhZG9ubHkgY29uZmlnOiBJTm90aWZpY2F0aW9uQ29uZmlnPFQ+O1xuICAgIHJlYWRvbmx5IGNvbnRlbnQ6IElOb3RpZmljYXRpb25Db250ZW50PFQ+O1xufVxuXG5leHBvcnQgZW51bSBOb3RpZmljYXRpb25FdmVudCB7XG4gICAgUkVNT1ZFRCA9ICdSRU1PVkVEJ1xufVxuIl19
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
+
import { WindowEvent } from '../window/IWindow';
|
|
4
|
+
import * as _ from 'lodash';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class INotificationContent extends DestroyableContainer {
|
|
7
|
+
container;
|
|
8
|
+
// --------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Properties
|
|
11
|
+
//
|
|
12
|
+
// --------------------------------------------------------------------------
|
|
13
|
+
timer;
|
|
14
|
+
_config;
|
|
15
|
+
_notification;
|
|
16
|
+
// --------------------------------------------------------------------------
|
|
17
|
+
//
|
|
18
|
+
// Constructor
|
|
19
|
+
//
|
|
20
|
+
// --------------------------------------------------------------------------
|
|
21
|
+
constructor(container) {
|
|
22
|
+
super();
|
|
23
|
+
this.container = container;
|
|
24
|
+
}
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
//
|
|
27
|
+
// Private Methods
|
|
28
|
+
//
|
|
29
|
+
// --------------------------------------------------------------------------
|
|
30
|
+
commitNotificationProperties() {
|
|
31
|
+
this.config = this.notification.config;
|
|
32
|
+
}
|
|
33
|
+
commitConfigProperties() {
|
|
34
|
+
this.clearTimer();
|
|
35
|
+
if (this.config.closeDuration > 0) {
|
|
36
|
+
this.timer = setTimeout(this.timerHandler, this.config.closeDuration);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
clearTimer() {
|
|
40
|
+
if (!_.isNil(this.timer)) {
|
|
41
|
+
clearTimeout(this.timer);
|
|
42
|
+
this.timer = null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
timerHandler = () => this.handleCloseClick();
|
|
46
|
+
// --------------------------------------------------------------------------
|
|
47
|
+
//
|
|
48
|
+
// Public Methods
|
|
49
|
+
//
|
|
50
|
+
// --------------------------------------------------------------------------
|
|
51
|
+
close() {
|
|
52
|
+
if (!_.isNil(this.notification)) {
|
|
53
|
+
this.notification.close();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
remove() {
|
|
57
|
+
if (!_.isNil(this.notification)) {
|
|
58
|
+
this.notification.remove();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
emit(event) {
|
|
62
|
+
if (!_.isNil(this.notification)) {
|
|
63
|
+
this.notification.emit(event);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
destroy() {
|
|
67
|
+
if (this.isDestroyed) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
super.destroy();
|
|
71
|
+
this.clearTimer();
|
|
72
|
+
this.config = null;
|
|
73
|
+
this.notification = null;
|
|
74
|
+
}
|
|
75
|
+
// --------------------------------------------------------------------------
|
|
76
|
+
//
|
|
77
|
+
// Event Handlers
|
|
78
|
+
//
|
|
79
|
+
// --------------------------------------------------------------------------
|
|
80
|
+
ngAfterViewInit() {
|
|
81
|
+
this.emit(WindowEvent.CONTENT_READY);
|
|
82
|
+
}
|
|
83
|
+
handleCloseClick() {
|
|
84
|
+
this.clearTimer();
|
|
85
|
+
if (!_.isNil(this.config) && this.config.isRemoveAfterClose) {
|
|
86
|
+
this.remove();
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.close();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// --------------------------------------------------------------------------
|
|
93
|
+
//
|
|
94
|
+
// Proxy Public Properties
|
|
95
|
+
//
|
|
96
|
+
// --------------------------------------------------------------------------
|
|
97
|
+
get data() {
|
|
98
|
+
return this.config ? this.config.data : null;
|
|
99
|
+
}
|
|
100
|
+
get events() {
|
|
101
|
+
return this.notification ? this.notification.events : null;
|
|
102
|
+
}
|
|
103
|
+
// --------------------------------------------------------------------------
|
|
104
|
+
//
|
|
105
|
+
// Public Properties
|
|
106
|
+
//
|
|
107
|
+
// --------------------------------------------------------------------------
|
|
108
|
+
get notification() {
|
|
109
|
+
return this._notification;
|
|
110
|
+
}
|
|
111
|
+
set notification(value) {
|
|
112
|
+
if (value === this._notification) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this._notification = value;
|
|
116
|
+
if (this._notification) {
|
|
117
|
+
this.commitNotificationProperties();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
set config(value) {
|
|
121
|
+
if (value === this._config) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
this._config = value;
|
|
125
|
+
if (this._config) {
|
|
126
|
+
this.commitConfigProperties();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
get config() {
|
|
130
|
+
return this._config;
|
|
131
|
+
}
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: INotificationContent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: INotificationContent, selector: "ng-component", inputs: { config: "config" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
134
|
+
}
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: INotificationContent, decorators: [{
|
|
136
|
+
type: Component,
|
|
137
|
+
args: [{ template: '' }]
|
|
138
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { config: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}] } });
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU5vdGlmaWNhdGlvbkNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm90aWZpY2F0aW9uL0lOb3RpZmljYXRpb25Db250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUc1QixNQUFNLE9BQWdCLG9CQUE4QixTQUFRLG9CQUFvQjtJQWlCekQ7SUFoQm5CLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsS0FBSyxDQUFNO0lBQ1gsT0FBTyxDQUF5QjtJQUNoQyxhQUFhLENBQW1CO0lBRTFDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBbUIsU0FBMkI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFETyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUU5QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixtQkFBbUI7SUFDbkIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRVMsc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUks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QUFLLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLEtBQTZCO1FBQzNDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDeEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBQ0QsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7dUdBakppQixvQkFBb0I7MkZBQXBCLG9CQUFvQix5R0FEbkIsRUFBRTs7MkZBQ0gsb0JBQW9CO2tCQUR6QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtxRkF1SVosTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlQ29udGFpbmVyIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuL0lOb3RpZmljYXRpb24nO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbkNvbmZpZyc7XG5pbXBvcnQgeyBXaW5kb3dFdmVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93JztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElOb3RpZmljYXRpb25Db250ZW50PFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgdGltZXI6IGFueTtcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZzogSU5vdGlmaWNhdGlvbkNvbmZpZzxUPjtcbiAgICBwcm90ZWN0ZWQgX25vdGlmaWNhdGlvbjogSU5vdGlmaWNhdGlvbjxUPjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgQ29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0Tm90aWZpY2F0aW9uUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSB0aGlzLm5vdGlmaWNhdGlvbi5jb25maWc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdENvbmZpZ1Byb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lcigpO1xuICAgICAgICBpZiAodGhpcy5jb25maWcuY2xvc2VEdXJhdGlvbiA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KHRoaXMudGltZXJIYW5kbGVyLCB0aGlzLmNvbmZpZy5jbG9zZUR1cmF0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhclRpbWVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy50aW1lcikpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRpbWVySGFuZGxlciA9ICgpOiB2b2lkID0+IHRoaXMuaGFuZGxlQ2xvc2VDbGljaygpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMubm90aWZpY2F0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLm5vdGlmaWNhdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5ub3RpZmljYXRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gICAgICAgIHRoaXMuY29uZmlnID0gbnVsbDtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24gPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgRXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuQ09OVEVOVF9SRUFEWSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNsb3NlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lcigpO1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5jb25maWcpICYmIHRoaXMuY29uZmlnLmlzUmVtb3ZlQWZ0ZXJDbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJveHkgUHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGRhdGEoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZyA/IHRoaXMuY29uZmlnLmRhdGEgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbiA/IHRoaXMubm90aWZpY2F0aW9uLmV2ZW50cyA6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgbm90aWZpY2F0aW9uKCk6IElOb3RpZmljYXRpb248VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG5vdGlmaWNhdGlvbih2YWx1ZTogSU5vdGlmaWNhdGlvbjxUPikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX25vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbiA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fbm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbW1pdE5vdGlmaWNhdGlvblByb3BlcnRpZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb25maWcodmFsdWU6IElOb3RpZmljYXRpb25Db25maWc8VD4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9jb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb25maWcgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5jb21taXRDb25maWdQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGdldCBjb25maWcoKTogSU5vdGlmaWNhdGlvbkNvbmZpZzxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gICAgfVxufVxuIl19
|