@ts-core/angular 15.0.59 → 17.0.9
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 +20 -27
- 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,148 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
export class ListItem {
|
|
3
|
+
// --------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// Properties
|
|
6
|
+
//
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
_uid;
|
|
9
|
+
_data;
|
|
10
|
+
_label;
|
|
11
|
+
_iconId;
|
|
12
|
+
_className;
|
|
13
|
+
_sortIndex;
|
|
14
|
+
_isEnabled = true;
|
|
15
|
+
_translationId;
|
|
16
|
+
action;
|
|
17
|
+
checkEnabled;
|
|
18
|
+
// --------------------------------------------------------------------------
|
|
19
|
+
//
|
|
20
|
+
// Constructor
|
|
21
|
+
//
|
|
22
|
+
// --------------------------------------------------------------------------
|
|
23
|
+
constructor(translationId, sortIndex = NaN, data, iconId) {
|
|
24
|
+
this.data = data;
|
|
25
|
+
this.iconId = iconId;
|
|
26
|
+
this.sortIndex = sortIndex;
|
|
27
|
+
this.translationId = translationId;
|
|
28
|
+
this._uid = this.getUid();
|
|
29
|
+
}
|
|
30
|
+
// --------------------------------------------------------------------------
|
|
31
|
+
//
|
|
32
|
+
// Protected Methods
|
|
33
|
+
//
|
|
34
|
+
// --------------------------------------------------------------------------
|
|
35
|
+
commitDataProperties() { }
|
|
36
|
+
commitLabelProperties() { }
|
|
37
|
+
commitIsEnabledProperties() { }
|
|
38
|
+
commitClassNameProperties() { }
|
|
39
|
+
commitIconIdProperties() { }
|
|
40
|
+
commitSortIndexProperties() { }
|
|
41
|
+
commitTranslationIdProperties() { }
|
|
42
|
+
getUid() {
|
|
43
|
+
return `${this.translationId}_${this.sortIndex}`;
|
|
44
|
+
}
|
|
45
|
+
// --------------------------------------------------------------------------
|
|
46
|
+
//
|
|
47
|
+
// Public Methods
|
|
48
|
+
//
|
|
49
|
+
// --------------------------------------------------------------------------
|
|
50
|
+
destroy() {
|
|
51
|
+
this._data = null;
|
|
52
|
+
this.action = null;
|
|
53
|
+
this.checkEnabled = null;
|
|
54
|
+
}
|
|
55
|
+
// --------------------------------------------------------------------------
|
|
56
|
+
//
|
|
57
|
+
// Public Properties
|
|
58
|
+
//
|
|
59
|
+
// --------------------------------------------------------------------------
|
|
60
|
+
get uid() {
|
|
61
|
+
return this._uid;
|
|
62
|
+
}
|
|
63
|
+
get sortIndex() {
|
|
64
|
+
return this._sortIndex;
|
|
65
|
+
}
|
|
66
|
+
set sortIndex(value) {
|
|
67
|
+
if (value === this._sortIndex) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this._sortIndex = value;
|
|
71
|
+
if (!_.isNil(value)) {
|
|
72
|
+
this.commitSortIndexProperties();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
get isEnabled() {
|
|
76
|
+
return this._isEnabled;
|
|
77
|
+
}
|
|
78
|
+
set isEnabled(value) {
|
|
79
|
+
if (value === this._isEnabled) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this._isEnabled = value;
|
|
83
|
+
if (_.isBoolean(value)) {
|
|
84
|
+
this.commitIsEnabledProperties();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
get label() {
|
|
88
|
+
return this._label;
|
|
89
|
+
}
|
|
90
|
+
set label(value) {
|
|
91
|
+
if (value === this._label) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this._label = value;
|
|
95
|
+
if (!_.isNil(value)) {
|
|
96
|
+
this.commitLabelProperties();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
get translationId() {
|
|
100
|
+
return this._translationId;
|
|
101
|
+
}
|
|
102
|
+
set translationId(value) {
|
|
103
|
+
if (value === this._translationId) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this._translationId = value;
|
|
107
|
+
if (!_.isNil(value)) {
|
|
108
|
+
this.commitTranslationIdProperties();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
get iconId() {
|
|
112
|
+
return this._iconId;
|
|
113
|
+
}
|
|
114
|
+
set iconId(value) {
|
|
115
|
+
if (value === this._iconId) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this._iconId = value;
|
|
119
|
+
if (!_.isNil(value)) {
|
|
120
|
+
this.commitIconIdProperties();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
get className() {
|
|
124
|
+
return this._className;
|
|
125
|
+
}
|
|
126
|
+
set className(value) {
|
|
127
|
+
if (value === this._className) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this._className = value;
|
|
131
|
+
if (!_.isNil(value)) {
|
|
132
|
+
this.commitClassNameProperties();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
get data() {
|
|
136
|
+
return this._data;
|
|
137
|
+
}
|
|
138
|
+
set data(value) {
|
|
139
|
+
if (value === this._data) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
this._data = value;
|
|
143
|
+
if (!_.isNil(value)) {
|
|
144
|
+
this.commitDataProperties();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdEl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGlzdC9MaXN0SXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUc1QixNQUFNLE9BQU8sUUFBUTtJQUNqQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLElBQUksQ0FBUztJQUViLEtBQUssQ0FBSTtJQUNULE1BQU0sQ0FBUztJQUNmLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFDM0IsY0FBYyxDQUFTO0lBRTFCLE1BQU0sQ0FBdUM7SUFDN0MsWUFBWSxDQUEwQztJQUU3RCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksYUFBcUIsRUFBRSxZQUFvQixHQUFHLEVBQUUsSUFBUSxFQUFFLE1BQWU7UUFDakYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsb0JBQW9CLEtBQVUsQ0FBQztJQUMvQixxQkFBcUIsS0FBVSxDQUFDO0lBQ2hDLHlCQUF5QixLQUFVLENBQUM7SUFDcEMseUJBQXlCLEtBQVUsQ0FBQztJQUVwQyxzQkFBc0IsS0FBVSxDQUFDO0lBQ2pDLHlCQUF5QixL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T0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxLQUFhO1FBQzlCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUFRO1FBQ3BCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGlzdEl0ZW0gfSBmcm9tICcuL0lMaXN0SXRlbSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW08VCA9IGFueT4gaW1wbGVtZW50cyBJTGlzdEl0ZW08VD4sIElEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBfdWlkOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgX2RhdGE6IFQ7XG4gICAgcHJvdGVjdGVkIF9sYWJlbDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfaWNvbklkOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9jbGFzc05hbWU6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3NvcnRJbmRleDogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBfaXNFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0aW9uSWQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBhY3Rpb246IChpdGVtOiBJTGlzdEl0ZW0sIC4uLnBhcmFtcykgPT4gdm9pZDtcbiAgICBwdWJsaWMgY2hlY2tFbmFibGVkOiAoaXRlbTogSUxpc3RJdGVtLCAuLi5wYXJhbXMpID0+IGJvb2xlYW47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0aW9uSWQ6IHN0cmluZywgc29ydEluZGV4OiBudW1iZXIgPSBOYU4sIGRhdGE/OiBULCBpY29uSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy5pY29uSWQgPSBpY29uSWQ7XG4gICAgICAgIHRoaXMuc29ydEluZGV4ID0gc29ydEluZGV4O1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uSWQgPSB0cmFuc2xhdGlvbklkO1xuXG4gICAgICAgIHRoaXMuX3VpZCA9IHRoaXMuZ2V0VWlkKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0RGF0YVByb3BlcnRpZXMoKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBjb21taXRMYWJlbFByb3BlcnRpZXMoKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBjb21taXRJc0VuYWJsZWRQcm9wZXJ0aWVzKCk6IHZvaWQge31cbiAgICBwcm90ZWN0ZWQgY29tbWl0Q2xhc3NOYW1lUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0SWNvbklkUHJvcGVydGllcygpOiB2b2lkIHt9XG4gICAgcHJvdGVjdGVkIGNvbW1pdFNvcnRJbmRleFByb3BlcnRpZXMoKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBjb21taXRUcmFuc2xhdGlvbklkUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VWlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnRyYW5zbGF0aW9uSWR9XyR7dGhpcy5zb3J0SW5kZXh9YDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kYXRhID0gbnVsbDtcbiAgICAgICAgdGhpcy5hY3Rpb24gPSBudWxsO1xuICAgICAgICB0aGlzLmNoZWNrRW5hYmxlZCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IHVpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdWlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc29ydEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zb3J0SW5kZXg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgc29ydEluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9zb3J0SW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zb3J0SW5kZXggPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb21taXRTb3J0SW5kZXhQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRW5hYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0VuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKF8uaXNCb29sZWFuKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb21taXRJc0VuYWJsZWRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgICB9XG4gICAgcHVibGljIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9sYWJlbCA9IHZhbHVlO1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbW1pdExhYmVsUHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0cmFuc2xhdGlvbklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGlvbklkO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHRyYW5zbGF0aW9uSWQodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3RyYW5zbGF0aW9uSWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90cmFuc2xhdGlvbklkID0gdmFsdWU7XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0VHJhbnNsYXRpb25JZFByb3BlcnRpZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWNvbklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pY29uSWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaWNvbklkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pY29uSWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pY29uSWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb21taXRJY29uSWRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NOYW1lO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGNsYXNzTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2xhc3NOYW1lID0gdmFsdWU7XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0Q2xhc3NOYW1lUHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRhKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgICB9XG4gICAgcHVibGljIHNldCBkYXRhKHZhbHVlOiBUKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb21taXREYXRhUHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { ArrayUtil } from '@ts-core/common';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import { FilterableMapCollection } from '@ts-core/common';
|
|
4
|
+
export class ListItems extends FilterableMapCollection {
|
|
5
|
+
language;
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Properties
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
lastRefreshParams;
|
|
12
|
+
languageSubscription;
|
|
13
|
+
_isAllEnabled;
|
|
14
|
+
_isLeastOneEnabled;
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
//
|
|
17
|
+
// Constructor
|
|
18
|
+
//
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
20
|
+
constructor(language, isAutoTranslate = true) {
|
|
21
|
+
super('uid');
|
|
22
|
+
this.language = language;
|
|
23
|
+
this.lastRefreshParams = new Array();
|
|
24
|
+
if (isAutoTranslate) {
|
|
25
|
+
this.languageSubscription = language.completed.subscribe(this.translateItems);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// --------------------------------------------------------------------------
|
|
29
|
+
//
|
|
30
|
+
// Private Methods
|
|
31
|
+
//
|
|
32
|
+
// --------------------------------------------------------------------------
|
|
33
|
+
translate = (item) => {
|
|
34
|
+
item.label = this.language.translate(item.translationId);
|
|
35
|
+
};
|
|
36
|
+
translateItems = () => {
|
|
37
|
+
this.collection.forEach(this.translate);
|
|
38
|
+
};
|
|
39
|
+
translateIfNeed = (item) => {
|
|
40
|
+
if (_.isNil(item.label) && !_.isNil(item.translationId)) {
|
|
41
|
+
this.translate(item);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
translateItemsIfNeed = () => {
|
|
45
|
+
this.collection.forEach(this.translateIfNeed);
|
|
46
|
+
};
|
|
47
|
+
sort() {
|
|
48
|
+
ArrayUtil.sort(this.collection);
|
|
49
|
+
}
|
|
50
|
+
// --------------------------------------------------------------------------
|
|
51
|
+
//
|
|
52
|
+
// Public Methods
|
|
53
|
+
//
|
|
54
|
+
// --------------------------------------------------------------------------
|
|
55
|
+
complete() {
|
|
56
|
+
this.translateItemsIfNeed();
|
|
57
|
+
this.sort();
|
|
58
|
+
}
|
|
59
|
+
refresh(...params) {
|
|
60
|
+
ArrayUtil.clear(this._filtered);
|
|
61
|
+
this.lastRefreshParams = params;
|
|
62
|
+
if (_.isEmpty(this.collection)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
this._isAllEnabled = true;
|
|
66
|
+
this._isLeastOneEnabled = false;
|
|
67
|
+
for (let item of this._collection) {
|
|
68
|
+
item.isEnabled = !_.isNil(item.checkEnabled) ? item.checkEnabled(item, ...params) : true;
|
|
69
|
+
if (!item.isEnabled) {
|
|
70
|
+
this._isAllEnabled = false;
|
|
71
|
+
}
|
|
72
|
+
else if (this.filter(item)) {
|
|
73
|
+
this._filtered.push(item);
|
|
74
|
+
this._isLeastOneEnabled = true;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
actionItem(item) {
|
|
79
|
+
if (!_.isNil(item) && item.isEnabled && !_.isNil(item.action)) {
|
|
80
|
+
item.action(item, ...this.lastRefreshParams);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
destroy() {
|
|
84
|
+
if (this.isDestroyed) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
super.destroy();
|
|
88
|
+
this.language = null;
|
|
89
|
+
this.lastRefreshParams = null;
|
|
90
|
+
if (!_.isNil(this.languageSubscription)) {
|
|
91
|
+
this.languageSubscription.unsubscribe();
|
|
92
|
+
this.languageSubscription = null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// --------------------------------------------------------------------------
|
|
96
|
+
//
|
|
97
|
+
// Public Properties
|
|
98
|
+
//
|
|
99
|
+
// --------------------------------------------------------------------------
|
|
100
|
+
get isAllEnabled() {
|
|
101
|
+
return this._isAllEnabled;
|
|
102
|
+
}
|
|
103
|
+
get isLeastOneEnabled() {
|
|
104
|
+
return this._isLeastOneEnabled;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdEl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpc3QvTGlzdEl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRCxNQUFNLE9BQU8sU0FBMkMsU0FBUSx1QkFBMEI7SUFtQmxFO0lBbEJwQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLGlCQUFpQixDQUFhO0lBQzlCLG9CQUFvQixDQUFlO0lBRW5DLGFBQWEsQ0FBVTtJQUN2QixrQkFBa0IsQ0FBVTtJQUV0Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW9CLFFBQXlCLEVBQUUsa0JBQTJCLElBQUk7UUFDMUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBREcsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFHekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDckMsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNqRjtJQUNMLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG1CQUFtQjtJQUNuQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLFNBQVMsR0FBRyxDQUFDLElBQU8sRUFBUSxFQUFFO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFD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QyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElMaXN0SXRlbSB9IGZyb20gJy4vSUxpc3RJdGVtJztcbmltcG9ydCB7IEZpbHRlcmFibGVNYXBDb2xsZWN0aW9uIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zPFUgZXh0ZW5kcyBJTGlzdEl0ZW08Vj4sIFYgPSBhbnk+IGV4dGVuZHMgRmlsdGVyYWJsZU1hcENvbGxlY3Rpb248VT4ge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgbGFzdFJlZnJlc2hQYXJhbXM6IEFycmF5PGFueT47XG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcm90ZWN0ZWQgX2lzQWxsRW5hYmxlZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2lzTGVhc3RPbmVFbmFibGVkOiBib29sZWFuO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2UsIGlzQXV0b1RyYW5zbGF0ZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoJ3VpZCcpO1xuXG4gICAgICAgIHRoaXMubGFzdFJlZnJlc2hQYXJhbXMgPSBuZXcgQXJyYXkoKTtcbiAgICAgICAgaWYgKGlzQXV0b1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbiA9IGxhbmd1YWdlLmNvbXBsZXRlZC5zdWJzY3JpYmUodGhpcy50cmFuc2xhdGVJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlID0gKGl0ZW06IFUpOiB2b2lkID0+IHtcbiAgICAgICAgaXRlbS5sYWJlbCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKGl0ZW0udHJhbnNsYXRpb25JZCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVJdGVtcyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uLmZvckVhY2godGhpcy50cmFuc2xhdGUpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlSWZOZWVkID0gKGl0ZW06IFUpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKF8uaXNOaWwoaXRlbS5sYWJlbCkgJiYgIV8uaXNOaWwoaXRlbS50cmFuc2xhdGlvbklkKSkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZUl0ZW1zSWZOZWVkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb24uZm9yRWFjaCh0aGlzLnRyYW5zbGF0ZUlmTmVlZCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBzb3J0KCk6IHZvaWQge1xuICAgICAgICBBcnJheVV0aWwuc29ydCh0aGlzLmNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZUl0ZW1zSWZOZWVkKCk7XG4gICAgICAgIHRoaXMuc29ydCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWZyZXNoKC4uLnBhcmFtcyk6IHZvaWQge1xuICAgICAgICBBcnJheVV0aWwuY2xlYXIodGhpcy5fZmlsdGVyZWQpO1xuICAgICAgICB0aGlzLmxhc3RSZWZyZXNoUGFyYW1zID0gcGFyYW1zO1xuXG4gICAgICAgIGlmIChfLmlzRW1wdHkodGhpcy5jb2xsZWN0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNBbGxFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5faXNMZWFzdE9uZUVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLl9jb2xsZWN0aW9uKSB7XG4gICAgICAgICAgICBpdGVtLmlzRW5hYmxlZCA9ICFfLmlzTmlsKGl0ZW0uY2hlY2tFbmFibGVkKSA/IGl0ZW0uY2hlY2tFbmFibGVkKGl0ZW0sIC4uLnBhcmFtcykgOiB0cnVlO1xuICAgICAgICAgICAgaWYgKCFpdGVtLmlzRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzQWxsRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlcihpdGVtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNMZWFzdE9uZUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGlvbkl0ZW0oaXRlbTogVSk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwoaXRlbSkgJiYgaXRlbS5pc0VuYWJsZWQgJiYgIV8uaXNOaWwoaXRlbS5hY3Rpb24pKSB7XG4gICAgICAgICAgICBpdGVtLmFjdGlvbihpdGVtLCAuLi50aGlzLmxhc3RSZWZyZXNoUGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5sYXN0UmVmcmVzaFBhcmFtcyA9IG51bGw7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBpc0FsbEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0FsbEVuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0xlYXN0T25lRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTGVhc3RPbmVFbmFibGVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { SelectListItems } from './SelectListItems';
|
|
2
|
+
import { filter, takeUntil } from 'rxjs';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
export class RouterSelectListItems extends SelectListItems {
|
|
5
|
+
router;
|
|
6
|
+
//--------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Public Properties
|
|
9
|
+
//
|
|
10
|
+
//--------------------------------------------------------------------------
|
|
11
|
+
isDisabled;
|
|
12
|
+
//--------------------------------------------------------------------------
|
|
13
|
+
//
|
|
14
|
+
// Constructor
|
|
15
|
+
//
|
|
16
|
+
//--------------------------------------------------------------------------
|
|
17
|
+
constructor(router, language) {
|
|
18
|
+
super(language, true);
|
|
19
|
+
this.router = router;
|
|
20
|
+
this.changed
|
|
21
|
+
.pipe(filter(() => !this.isDisabled), takeUntil(this.destroyed))
|
|
22
|
+
.subscribe(item => this.setFragment(item));
|
|
23
|
+
this.router.completed
|
|
24
|
+
.pipe(filter(() => !this.isDisabled), takeUntil(this.destroyed))
|
|
25
|
+
.subscribe(() => this.setData());
|
|
26
|
+
}
|
|
27
|
+
//--------------------------------------------------------------------------
|
|
28
|
+
//
|
|
29
|
+
// Protected Methods
|
|
30
|
+
//
|
|
31
|
+
//--------------------------------------------------------------------------
|
|
32
|
+
setData() {
|
|
33
|
+
let item = this.getRouterSelectedItem();
|
|
34
|
+
this.selectedItem = !_.isNil(item) ? item : _.first(this.collection);
|
|
35
|
+
}
|
|
36
|
+
setFragment(item) {
|
|
37
|
+
let index = _.indexOf(this.collection, item);
|
|
38
|
+
this.router.setFragment(index > 0 ? item.data.toString() : null);
|
|
39
|
+
}
|
|
40
|
+
getRouterSelectedItem() {
|
|
41
|
+
return _.find(this.collection, { data: this.router.getFragment() });
|
|
42
|
+
}
|
|
43
|
+
//--------------------------------------------------------------------------
|
|
44
|
+
//
|
|
45
|
+
// Public Methods
|
|
46
|
+
//
|
|
47
|
+
//--------------------------------------------------------------------------
|
|
48
|
+
complete() {
|
|
49
|
+
let item = this.getRouterSelectedItem();
|
|
50
|
+
super.complete(!_.isNil(item) ? item.data : 0);
|
|
51
|
+
}
|
|
52
|
+
destroy() {
|
|
53
|
+
if (this.isDestroyed) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
super.destroy();
|
|
57
|
+
this.router = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyU2VsZWN0TGlzdEl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpc3Qvc2VsZWN0L1JvdXRlclNlbGVjdExpc3RJdGVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLHFCQUFrQyxTQUFRLGVBQXNDO0lBZW5FO0lBZHRCLDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw0RUFBNEU7SUFFckUsVUFBVSxDQUFVO0lBRTNCLDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw0RUFBNEU7SUFFNUUsWUFBc0IsTUFBeUIsRUFBRSxRQUF5QjtRQUN0RSxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBREosV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFFM0MsSUFBSSxDQUFDLE9BQU87YUFDUCxJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUM5QixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7YUFDaEIsSUFBSSxDQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDNUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw0RUFBNEU7SUFFbEUsT0FBTztRQUNiLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFUyxXQUFXLENBQUMsSUFBd0I7UUFDMUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFUyxxQkFBcUI7UUFDM0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUF1QixDQUFDO0lBQzlGLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNEVBQTRFO0lBRXJFLFFBQVE7UUFDWCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN4QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IFNlbGVjdExpc3RJdGVtcyB9IGZyb20gJy4vU2VsZWN0TGlzdEl0ZW1zJztcbmltcG9ydCB7IElTZWxlY3RMaXN0SXRlbSB9IGZyb20gJy4vSVNlbGVjdExpc3RJdGVtJztcbmltcG9ydCB7IFJvdXRlckJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9Sb3V0ZXJCYXNlU2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgUm91dGVyU2VsZWN0TGlzdEl0ZW1zPFUgPSBzdHJpbmc+IGV4dGVuZHMgU2VsZWN0TGlzdEl0ZW1zPElTZWxlY3RMaXN0SXRlbTxVPiwgVT4ge1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBpc0Rpc2FibGVkOiBib29sZWFuO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyQmFzZVNlcnZpY2UsIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobGFuZ3VhZ2UsIHRydWUpO1xuICAgICAgICB0aGlzLmNoYW5nZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5pc0Rpc2FibGVkKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGl0ZW0gPT4gdGhpcy5zZXRGcmFnbWVudChpdGVtKSk7XG4gICAgICAgIHRoaXMucm91dGVyLmNvbXBsZXRlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmlzRGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXREYXRhKCkpO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXREYXRhKCk6IHZvaWQge1xuICAgICAgICBsZXQgaXRlbSA9IHRoaXMuZ2V0Um91dGVyU2VsZWN0ZWRJdGVtKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gIV8uaXNOaWwoaXRlbSkgPyBpdGVtIDogXy5maXJzdCh0aGlzLmNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRGcmFnbWVudChpdGVtOiBJU2VsZWN0TGlzdEl0ZW08VT4pOiB2b2lkIHtcbiAgICAgICAgbGV0IGluZGV4ID0gXy5pbmRleE9mKHRoaXMuY29sbGVjdGlvbiwgaXRlbSk7XG4gICAgICAgIHRoaXMucm91dGVyLnNldEZyYWdtZW50KGluZGV4ID4gMCA/IGl0ZW0uZGF0YS50b1N0cmluZygpIDogbnVsbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFJvdXRlclNlbGVjdGVkSXRlbSgpOiBJU2VsZWN0TGlzdEl0ZW08VT4ge1xuICAgICAgICByZXR1cm4gXy5maW5kKHRoaXMuY29sbGVjdGlvbiwgeyBkYXRhOiB0aGlzLnJvdXRlci5nZXRGcmFnbWVudCgpIH0pIGFzIElTZWxlY3RMaXN0SXRlbTxVPjtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIGxldCBpdGVtID0gdGhpcy5nZXRSb3V0ZXJTZWxlY3RlZEl0ZW0oKTtcbiAgICAgICAgc3VwZXIuY29tcGxldGUoIV8uaXNOaWwoaXRlbSkgPyBpdGVtLmRhdGEgOiAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMucm91dGVyID0gbnVsbDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { ListItem } from '../ListItem';
|
|
3
|
+
export class SelectListItem extends ListItem {
|
|
4
|
+
// --------------------------------------------------------------------------
|
|
5
|
+
//
|
|
6
|
+
// Properties
|
|
7
|
+
//
|
|
8
|
+
// --------------------------------------------------------------------------
|
|
9
|
+
_isSelected;
|
|
10
|
+
_selectedClassName;
|
|
11
|
+
checkSelected;
|
|
12
|
+
// --------------------------------------------------------------------------
|
|
13
|
+
//
|
|
14
|
+
// Constructor
|
|
15
|
+
//
|
|
16
|
+
// --------------------------------------------------------------------------
|
|
17
|
+
constructor(translationId, sortIndex, data, checkEnabled) {
|
|
18
|
+
super(translationId, sortIndex, data);
|
|
19
|
+
this.checkEnabled = checkEnabled;
|
|
20
|
+
}
|
|
21
|
+
// --------------------------------------------------------------------------
|
|
22
|
+
//
|
|
23
|
+
// Protected Methods
|
|
24
|
+
//
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
commitIsSelectProperties() { }
|
|
27
|
+
commitSelectedClassNameProperties() { }
|
|
28
|
+
// --------------------------------------------------------------------------
|
|
29
|
+
//
|
|
30
|
+
// Public Methods
|
|
31
|
+
//
|
|
32
|
+
// --------------------------------------------------------------------------
|
|
33
|
+
destroy() {
|
|
34
|
+
super.destroy();
|
|
35
|
+
this.checkSelected = null;
|
|
36
|
+
}
|
|
37
|
+
// --------------------------------------------------------------------------
|
|
38
|
+
//
|
|
39
|
+
// Public Properties
|
|
40
|
+
//
|
|
41
|
+
// --------------------------------------------------------------------------
|
|
42
|
+
get isSelected() {
|
|
43
|
+
return this._isSelected;
|
|
44
|
+
}
|
|
45
|
+
set isSelected(value) {
|
|
46
|
+
if (value === this._isSelected) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this._isSelected = value;
|
|
50
|
+
if (!_.isNil(value)) {
|
|
51
|
+
this.commitIsSelectProperties();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
get selectedClassName() {
|
|
55
|
+
return this._selectedClassName;
|
|
56
|
+
}
|
|
57
|
+
set selectedClassName(value) {
|
|
58
|
+
if (value === this._selectedClassName) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this._selectedClassName = value;
|
|
62
|
+
if (!_.isNil(value)) {
|
|
63
|
+
this.commitSelectedClassNameProperties();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0TGlzdEl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlzdC9zZWxlY3QvU2VsZWN0TGlzdEl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd2QyxNQUFNLE9BQU8sY0FBd0IsU0FBUSxRQUFXO0lBQ3BELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsV0FBVyxDQUFVO0lBQ3JCLGtCQUFrQixDQUFTO0lBRTlCLGFBQWEsQ0FBaUQ7SUFFckUsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLGFBQXFCLEVBQUUsU0FBaUIsRUFBRSxJQUFPLEVBQUUsWUFBc0Q7UUFDakgsS0FBSyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsd0JBQXdCLEtBQVUsQ0FBQztJQUVuQyxpQ0FBaUMsS0FBVSxDQUFDO0lBRXRELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsT0FBTztRQUNWLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxLQUFjO1FBQ2hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsaUJBQWlCLENBQUMsS0FBYTtRQUN0QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDbkMsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztTQUM1QztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTZWxlY3RMaXN0SXRlbSB9IGZyb20gJy4vSVNlbGVjdExpc3RJdGVtJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vTGlzdEl0ZW0nO1xuaW1wb3J0IHsgSUxpc3RJdGVtIH0gZnJvbSAnLi4vSUxpc3RJdGVtJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdExpc3RJdGVtPFQgPSBhbnk+IGV4dGVuZHMgTGlzdEl0ZW08VD4gaW1wbGVtZW50cyBJU2VsZWN0TGlzdEl0ZW08VD4ge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX2lzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9zZWxlY3RlZENsYXNzTmFtZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGNoZWNrU2VsZWN0ZWQ/OiAoaXRlbTogSVNlbGVjdExpc3RJdGVtLCAuLi5wYXJhbXMpID0+IGJvb2xlYW47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0aW9uSWQ6IHN0cmluZywgc29ydEluZGV4OiBudW1iZXIsIGRhdGE6IFQsIGNoZWNrRW5hYmxlZD86IChpdGVtOiBJTGlzdEl0ZW0sIC4uLnBhcmFtcykgPT4gYm9vbGVhbikge1xuICAgICAgICBzdXBlcih0cmFuc2xhdGlvbklkLCBzb3J0SW5kZXgsIGRhdGEpO1xuICAgICAgICB0aGlzLmNoZWNrRW5hYmxlZCA9IGNoZWNrRW5hYmxlZDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRJc1NlbGVjdFByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdFNlbGVjdGVkQ2xhc3NOYW1lUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuY2hlY2tTZWxlY3RlZCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGlzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1NlbGVjdGVkO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzU2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNTZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbW1pdElzU2VsZWN0UHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzZWxlY3RlZENsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRDbGFzc05hbWU7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0ZWRDbGFzc05hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3NlbGVjdGVkQ2xhc3NOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRDbGFzc05hbWUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb21taXRTZWxlY3RlZENsYXNzTmFtZVByb3BlcnRpZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { ListItems } from '../ListItems';
|
|
3
|
+
import { EventEmitter } from '@angular/core';
|
|
4
|
+
export class SelectListItems extends ListItems {
|
|
5
|
+
// --------------------------------------------------------------------------
|
|
6
|
+
//
|
|
7
|
+
// Properties
|
|
8
|
+
//
|
|
9
|
+
// --------------------------------------------------------------------------
|
|
10
|
+
_selectedItem;
|
|
11
|
+
_selectedData;
|
|
12
|
+
_selectedIndex;
|
|
13
|
+
_changed;
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
//
|
|
16
|
+
// Constructor
|
|
17
|
+
//
|
|
18
|
+
// --------------------------------------------------------------------------
|
|
19
|
+
constructor(language, isAutoTranslate = true) {
|
|
20
|
+
super(language, isAutoTranslate);
|
|
21
|
+
this._changed = new EventEmitter();
|
|
22
|
+
}
|
|
23
|
+
// --------------------------------------------------------------------------
|
|
24
|
+
//
|
|
25
|
+
// Protected Methods
|
|
26
|
+
//
|
|
27
|
+
// --------------------------------------------------------------------------
|
|
28
|
+
commitSelectedItemProperties() {
|
|
29
|
+
this.selectedData = !_.isNil(this.selectedItem) ? this.selectedItem.data : null;
|
|
30
|
+
this.selectedIndex = !_.isNil(this.selectedItem) ? this.selectedItem.sortIndex : null;
|
|
31
|
+
if (!_.isNil(this.changed)) {
|
|
32
|
+
this.changed.emit(this.selectedItem);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
commitSelectedDataProperties() {
|
|
36
|
+
this.selectedItem = !_.isNil(this.selectedData) ? _.find(this.collection, item => item.data === this.selectedData) : null;
|
|
37
|
+
}
|
|
38
|
+
commitSelectedIndexProperties() {
|
|
39
|
+
this.selectedItem = !_.isNil(this.selectedIndex) ? _.find(this.collection, item => item.sortIndex === this.selectedIndex) : null;
|
|
40
|
+
}
|
|
41
|
+
selectIndexOrData(indexOrDataToSelect) {
|
|
42
|
+
if (_.isNumber(indexOrDataToSelect)) {
|
|
43
|
+
this.selectedIndex = indexOrDataToSelect;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.selectedItem = _.find(this.collection, item => item.data === indexOrDataToSelect);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// --------------------------------------------------------------------------
|
|
50
|
+
//
|
|
51
|
+
// Public Properties
|
|
52
|
+
//
|
|
53
|
+
// --------------------------------------------------------------------------
|
|
54
|
+
get selectedItem() {
|
|
55
|
+
return this._selectedItem;
|
|
56
|
+
}
|
|
57
|
+
set selectedItem(value) {
|
|
58
|
+
if (value === this._selectedItem) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this._selectedItem = value;
|
|
62
|
+
this.commitSelectedItemProperties();
|
|
63
|
+
}
|
|
64
|
+
get selectedIndex() {
|
|
65
|
+
return this._selectedIndex;
|
|
66
|
+
}
|
|
67
|
+
set selectedIndex(value) {
|
|
68
|
+
if (value === this._selectedIndex) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this._selectedIndex = value;
|
|
72
|
+
this.commitSelectedIndexProperties();
|
|
73
|
+
}
|
|
74
|
+
get selectedData() {
|
|
75
|
+
return this._selectedData;
|
|
76
|
+
}
|
|
77
|
+
set selectedData(value) {
|
|
78
|
+
if (value === this._selectedData) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this._selectedData = value;
|
|
82
|
+
this.commitSelectedDataProperties();
|
|
83
|
+
}
|
|
84
|
+
// --------------------------------------------------------------------------
|
|
85
|
+
//
|
|
86
|
+
// Public Methods
|
|
87
|
+
//
|
|
88
|
+
// --------------------------------------------------------------------------
|
|
89
|
+
complete(indexOrDataToSelect) {
|
|
90
|
+
super.complete();
|
|
91
|
+
if (!_.isNil(indexOrDataToSelect)) {
|
|
92
|
+
this.selectIndexOrData(indexOrDataToSelect);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
refresh(...params) {
|
|
96
|
+
super.refresh(...params);
|
|
97
|
+
this.refreshSelection(...params);
|
|
98
|
+
}
|
|
99
|
+
refreshSelection(...params) {
|
|
100
|
+
if (_.isEmpty(this.collection)) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
for (let item of this._collection) {
|
|
104
|
+
item.isSelected = !_.isNil(item.checkSelected) ? item.checkSelected(item, ...params) : false;
|
|
105
|
+
if (item.isSelected) {
|
|
106
|
+
this.selectedItem = item;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
destroy() {
|
|
111
|
+
if (this.isDestroyed) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
super.destroy();
|
|
115
|
+
if (!_.isNil(this._changed)) {
|
|
116
|
+
this._changed.complete();
|
|
117
|
+
this._changed = null;
|
|
118
|
+
}
|
|
119
|
+
this.selectedIndex = null;
|
|
120
|
+
}
|
|
121
|
+
// --------------------------------------------------------------------------
|
|
122
|
+
//
|
|
123
|
+
// Public Properties
|
|
124
|
+
//
|
|
125
|
+
// --------------------------------------------------------------------------
|
|
126
|
+
get changed() {
|
|
127
|
+
return this._changed;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0TGlzdEl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpc3Qvc2VsZWN0L1NlbGVjdExpc3RJdGVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsTUFBTSxPQUFPLGVBQXVELFNBQVEsU0FBZTtJQUN2Riw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLGFBQWEsQ0FBSTtJQUNqQixhQUFhLENBQUk7SUFDakIsY0FBYyxDQUFTO0lBRXZCLFFBQVEsQ0FBa0I7SUFFcEMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLFFBQXlCLEVBQUUsa0JBQTJCLElBQUk7UUFDbEUsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoRixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFdEYsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFUyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlILENBQUM7SUFFUyw2QkFBNkI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JJLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxtQkFBK0I7UUFDdkQsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztTQUM1QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLENBQUM7U0FDMUY7SUFDTCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFXLFlBQVksQ0FBQyxLQUFRO1FBQzVCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDOUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMvQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBVyxZQUFZLENBQUMsS0FBUTtRQUM1QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLFFBQVEsQ0FBQyxtQkFBZ0M7UUFDNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQUcsTUFBTTtRQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEdBQUcsTUFBTTtRQUM3QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDVjtRQUNELEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM3RixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1NBQ0o7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSVNlbGVjdExpc3RJdGVtIH0gZnJvbSAnLi9JU2VsZWN0TGlzdEl0ZW0nO1xuaW1wb3J0IHsgTGlzdEl0ZW1zIH0gZnJvbSAnLi4vTGlzdEl0ZW1zJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0TGlzdEl0ZW1zPFUgZXh0ZW5kcyBJU2VsZWN0TGlzdEl0ZW08Vj4sIFYgPSBhbnk+IGV4dGVuZHMgTGlzdEl0ZW1zPFUsIFY+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9zZWxlY3RlZEl0ZW06IFU7XG4gICAgcHJvdGVjdGVkIF9zZWxlY3RlZERhdGE6IFY7XG4gICAgcHJvdGVjdGVkIF9zZWxlY3RlZEluZGV4OiBudW1iZXI7XG5cbiAgICBwcm90ZWN0ZWQgX2NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxVPjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IobGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSwgaXNBdXRvVHJhbnNsYXRlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBzdXBlcihsYW5ndWFnZSwgaXNBdXRvVHJhbnNsYXRlKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRTZWxlY3RlZEl0ZW1Qcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0YSA9ICFfLmlzTmlsKHRoaXMuc2VsZWN0ZWRJdGVtKSA/IHRoaXMuc2VsZWN0ZWRJdGVtLmRhdGEgOiBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAhXy5pc05pbCh0aGlzLnNlbGVjdGVkSXRlbSkgPyB0aGlzLnNlbGVjdGVkSXRlbS5zb3J0SW5kZXggOiBudWxsO1xuXG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLmNoYW5nZWQpKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0U2VsZWN0ZWREYXRhUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSAhXy5pc05pbCh0aGlzLnNlbGVjdGVkRGF0YSkgPyBfLmZpbmQodGhpcy5jb2xsZWN0aW9uLCBpdGVtID0+IGl0ZW0uZGF0YSA9PT0gdGhpcy5zZWxlY3RlZERhdGEpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0U2VsZWN0ZWRJbmRleFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gIV8uaXNOaWwodGhpcy5zZWxlY3RlZEluZGV4KSA/IF8uZmluZCh0aGlzLmNvbGxlY3Rpb24sIGl0ZW0gPT4gaXRlbS5zb3J0SW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbmRleCkgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZWxlY3RJbmRleE9yRGF0YShpbmRleE9yRGF0YVRvU2VsZWN0OiBudW1iZXIgfCBWKTogdm9pZCB7XG4gICAgICAgIGlmIChfLmlzTnVtYmVyKGluZGV4T3JEYXRhVG9TZWxlY3QpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpbmRleE9yRGF0YVRvU2VsZWN0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBfLmZpbmQodGhpcy5jb2xsZWN0aW9uLCBpdGVtID0+IGl0ZW0uZGF0YSA9PT0gaW5kZXhPckRhdGFUb1NlbGVjdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtKCk6IFUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkSXRlbSh2YWx1ZTogVSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3NlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdFNlbGVjdGVkSXRlbVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0ZWRJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRTZWxlY3RlZEluZGV4UHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRhKCk6IFYge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWREYXRhO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0YSh2YWx1ZTogVikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3NlbGVjdGVkRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRGF0YSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdFNlbGVjdGVkRGF0YVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjb21wbGV0ZShpbmRleE9yRGF0YVRvU2VsZWN0PzogbnVtYmVyIHwgVik6IHZvaWQge1xuICAgICAgICBzdXBlci5jb21wbGV0ZSgpO1xuICAgICAgICBpZiAoIV8uaXNOaWwoaW5kZXhPckRhdGFUb1NlbGVjdCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SW5kZXhPckRhdGEoaW5kZXhPckRhdGFUb1NlbGVjdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVmcmVzaCguLi5wYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIucmVmcmVzaCguLi5wYXJhbXMpO1xuICAgICAgICB0aGlzLnJlZnJlc2hTZWxlY3Rpb24oLi4ucGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVmcmVzaFNlbGVjdGlvbiguLi5wYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKF8uaXNFbXB0eSh0aGlzLmNvbGxlY3Rpb24pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLl9jb2xsZWN0aW9uKSB7XG4gICAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSAhXy5pc05pbChpdGVtLmNoZWNrU2VsZWN0ZWQpID8gaXRlbS5jaGVja1NlbGVjdGVkKGl0ZW0sIC4uLnBhcmFtcykgOiBmYWxzZTtcbiAgICAgICAgICAgIGlmIChpdGVtLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuX2NoYW5nZWQpKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBjaGFuZ2VkKCk6IEV2ZW50RW1pdHRlcjxVPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGFuZ2VkO1xuICAgIH1cbn1cbiJdfQ==
|