@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,31 @@
|
|
|
1
|
+
import { Destroyable } from '@ts-core/common';
|
|
2
|
+
export class IWindow extends Destroyable {
|
|
3
|
+
// --------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// Public Properties
|
|
6
|
+
//
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
isOnTop = false;
|
|
9
|
+
isDisabled = false;
|
|
10
|
+
isMinimized = false;
|
|
11
|
+
events;
|
|
12
|
+
container;
|
|
13
|
+
wrapper;
|
|
14
|
+
backdrop;
|
|
15
|
+
config;
|
|
16
|
+
content;
|
|
17
|
+
}
|
|
18
|
+
export var WindowEvent;
|
|
19
|
+
(function (WindowEvent) {
|
|
20
|
+
WindowEvent["OPENED"] = "OPENED";
|
|
21
|
+
WindowEvent["CLOSED"] = "CLOSED";
|
|
22
|
+
WindowEvent["CONTENT_READY"] = "CONTENT_READY";
|
|
23
|
+
WindowEvent["MOVED"] = "MOVED";
|
|
24
|
+
WindowEvent["RESIZED"] = "RESIZED";
|
|
25
|
+
WindowEvent["DISABLED_CHANGED"] = "DISABLED_CHANGED";
|
|
26
|
+
WindowEvent["MINIMIZED_CHANGED"] = "MINIMIZED_CHANGED";
|
|
27
|
+
WindowEvent["IS_ON_TOP_CHANGED"] = "IS_ON_TOP_CHANGED";
|
|
28
|
+
WindowEvent["EXPAND"] = "EXPAND";
|
|
29
|
+
WindowEvent["SET_ON_TOP"] = "SET_ON_TOP";
|
|
30
|
+
})(WindowEvent || (WindowEvent = {}));
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVdpbmRvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvSVdpbmRvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJOUMsTUFBTSxPQUFnQixPQUFpQixTQUFRLFdBQVc7SUEyQnRELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN6QixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFM0IsTUFBTSxDQUFxQjtJQUMzQixTQUFTLENBQWM7SUFDdkIsT0FBTyxDQUFjO0lBQ3JCLFFBQVEsQ0FBYztJQUV0QixNQUFNLENBQW1CO0lBQ3pCLE9BQU8sQ0FBb0I7Q0FDdkM7QUFFRCxNQUFNLENBQU4sSUFBWSxXQWFYO0FBYkQsV0FBWSxXQUFXO0lBQ25CLGdDQUFpQixDQUFBO0lBQ2pCLGdDQUFpQixDQUFBO0lBQ2pCLDhDQUErQixDQUFBO0lBRS9CLDhCQUFlLENBQUE7SUFDZixrQ0FBbUIsQ0FBQTtJQUNuQixvREFBcUMsQ0FBQTtJQUNyQyxzREFBdUMsQ0FBQTtJQUN2QyxzREFBdUMsQ0FBQTtJQUV2QyxnQ0FBaUIsQ0FBQTtJQUNqQix3Q0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBYlcsV0FBVyxLQUFYLFdBQVcsUUFhdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4vSVdpbmRvd0NvbnRlbnQnO1xuaW1wb3J0IHsgSVdpbmRvd0NvbmZpZyB9IGZyb20gJy4vSVdpbmRvd0NvbmZpZyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJV2luZG93PFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBhYnN0cmFjdCBjbG9zZSgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgYmxpbmsoKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzaGFrZSgpOiB2b2lkO1xuICAgIGFic3RyYWN0IHNldE9uVG9wKCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBnZXRXaWR0aCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0SGVpZ2h0KCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBzZXRXaWR0aCh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzZXRIZWlnaHQodmFsdWU6IG51bWJlcik6IHZvaWQ7XG4gICAgYWJzdHJhY3Qgc2V0U2l6ZSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBnZXRYKCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBnZXRZKCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBzZXRYKHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuICAgIGFic3RyYWN0IHNldFkodmFsdWU6IG51bWJlcik6IHZvaWQ7XG4gICAgYWJzdHJhY3QgbW92ZSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBlbWl0KGV2ZW50OiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBpc09uVG9wOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNNaW5pbWl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IGV2ZW50czogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IGNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG4gICAgcmVhZG9ubHkgd3JhcHBlcjogSFRNTEVsZW1lbnQ7XG4gICAgcmVhZG9ubHkgYmFja2Ryb3A6IEhUTUxFbGVtZW50O1xuXG4gICAgcmVhZG9ubHkgY29uZmlnOiBJV2luZG93Q29uZmlnPFQ+O1xuICAgIHJlYWRvbmx5IGNvbnRlbnQ6IElXaW5kb3dDb250ZW50PFQ+O1xufVxuXG5leHBvcnQgZW51bSBXaW5kb3dFdmVudCB7XG4gICAgT1BFTkVEID0gJ09QRU5FRCcsXG4gICAgQ0xPU0VEID0gJ0NMT1NFRCcsXG4gICAgQ09OVEVOVF9SRUFEWSA9ICdDT05URU5UX1JFQURZJyxcblxuICAgIE1PVkVEID0gJ01PVkVEJyxcbiAgICBSRVNJWkVEID0gJ1JFU0laRUQnLFxuICAgIERJU0FCTEVEX0NIQU5HRUQgPSAnRElTQUJMRURfQ0hBTkdFRCcsXG4gICAgTUlOSU1JWkVEX0NIQU5HRUQgPSAnTUlOSU1JWkVEX0NIQU5HRUQnLFxuICAgIElTX09OX1RPUF9DSEFOR0VEID0gJ0lTX09OX1RPUF9DSEFOR0VEJyxcblxuICAgIEVYUEFORCA9ICdFWFBBTkQnLFxuICAgIFNFVF9PTl9UT1AgPSAnU0VUX09OX1RPUCdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { ViewContainerRef, Inject, Optional, Component, InjectionToken, Input } from '@angular/core';
|
|
2
|
+
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
+
import { WindowEvent } from './IWindow';
|
|
4
|
+
import * as _ from 'lodash';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class IWindowContent extends DestroyableContainer {
|
|
7
|
+
container;
|
|
8
|
+
// --------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Properties=
|
|
11
|
+
//
|
|
12
|
+
// --------------------------------------------------------------------------
|
|
13
|
+
_window;
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
//
|
|
16
|
+
// Constructor
|
|
17
|
+
//
|
|
18
|
+
// --------------------------------------------------------------------------
|
|
19
|
+
constructor(container) {
|
|
20
|
+
super();
|
|
21
|
+
this.container = container;
|
|
22
|
+
}
|
|
23
|
+
// --------------------------------------------------------------------------
|
|
24
|
+
//
|
|
25
|
+
// Private Methods
|
|
26
|
+
//
|
|
27
|
+
// --------------------------------------------------------------------------
|
|
28
|
+
commitWindowProperties() {
|
|
29
|
+
this.commitConfigProperties();
|
|
30
|
+
}
|
|
31
|
+
commitConfigProperties() { }
|
|
32
|
+
// --------------------------------------------------------------------------
|
|
33
|
+
//
|
|
34
|
+
// Public Methods
|
|
35
|
+
//
|
|
36
|
+
// --------------------------------------------------------------------------
|
|
37
|
+
ngAfterViewInit() {
|
|
38
|
+
this.emit(WindowEvent.CONTENT_READY);
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
// do nothing, window will destroy content after closing
|
|
42
|
+
if (_.isNil(this.window)) {
|
|
43
|
+
super.ngOnDestroy();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
blink() {
|
|
47
|
+
if (!_.isNil(this.window)) {
|
|
48
|
+
this.window.blink();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
shake() {
|
|
52
|
+
if (!_.isNil(this.window)) {
|
|
53
|
+
this.window.shake();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
emit(event) {
|
|
57
|
+
if (!_.isNil(this.window)) {
|
|
58
|
+
this.window.emit(event);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
close() {
|
|
62
|
+
if (!_.isNil(this.window)) {
|
|
63
|
+
this.window.close();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
destroy() {
|
|
67
|
+
if (this.isDestroyed) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
super.destroy();
|
|
71
|
+
this.window = null;
|
|
72
|
+
this.container = null;
|
|
73
|
+
}
|
|
74
|
+
// --------------------------------------------------------------------------
|
|
75
|
+
//
|
|
76
|
+
// Proxy Public Properties
|
|
77
|
+
//
|
|
78
|
+
// --------------------------------------------------------------------------
|
|
79
|
+
get data() {
|
|
80
|
+
return !_.isNil(this.config) ? this.config.data : null;
|
|
81
|
+
}
|
|
82
|
+
get isOnTop() {
|
|
83
|
+
return !_.isNil(this.window) ? this.window.isOnTop : false;
|
|
84
|
+
}
|
|
85
|
+
get isMinimized() {
|
|
86
|
+
return !_.isNil(this.window) ? this.window.isMinimized : false;
|
|
87
|
+
}
|
|
88
|
+
get events() {
|
|
89
|
+
return !_.isNil(this.window) ? this.window.events : null;
|
|
90
|
+
}
|
|
91
|
+
get isDisabled() {
|
|
92
|
+
return !_.isNil(this.window) ? this.window.isDisabled : false;
|
|
93
|
+
}
|
|
94
|
+
set isDisabled(value) {
|
|
95
|
+
if (!_.isNil(this.window)) {
|
|
96
|
+
this.window.isDisabled = value;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// --------------------------------------------------------------------------
|
|
100
|
+
//
|
|
101
|
+
// Public Properties
|
|
102
|
+
//
|
|
103
|
+
// --------------------------------------------------------------------------
|
|
104
|
+
get element() {
|
|
105
|
+
if (_.isNil(this.container)) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return this.container instanceof ViewContainerRef ? this.container.element : this.container;
|
|
109
|
+
}
|
|
110
|
+
get config() {
|
|
111
|
+
return !_.isNil(this.window) ? this.window.config : null;
|
|
112
|
+
}
|
|
113
|
+
get window() {
|
|
114
|
+
return this._window;
|
|
115
|
+
}
|
|
116
|
+
set window(value) {
|
|
117
|
+
if (value === this._window) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
this._window = value;
|
|
121
|
+
if (!_.isNil(value)) {
|
|
122
|
+
this.commitWindowProperties();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IWindowContent, deps: [{ token: WINDOW_CONTENT_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: IWindowContent, selector: "ng-component", inputs: { isDisabled: "isDisabled", window: "window" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
127
|
+
}
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IWindowContent, decorators: [{
|
|
129
|
+
type: Component,
|
|
130
|
+
args: [{ template: '' }]
|
|
131
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
132
|
+
type: Optional
|
|
133
|
+
}, {
|
|
134
|
+
type: Inject,
|
|
135
|
+
args: [WINDOW_CONTENT_CONTAINER]
|
|
136
|
+
}] }], propDecorators: { isDisabled: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], window: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}] } });
|
|
141
|
+
export const WINDOW_CONTENT_CONTAINER = new InjectionToken('WINDOW_CONTENT_CONTAINER');
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVdpbmRvd0NvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2luZG93L0lXaW5kb3dDb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQVcsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUc1QixNQUFNLE9BQWdCLGNBQXdCLFNBQVEsb0JBQW9CO0lBZUw7SUFkakUsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxPQUFPLENBQWE7SUFFOUIsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFpRSxTQUFpQztRQUM5RixLQUFLLEVBQUUsQ0FBQztRQURxRCxjQUFTLEdBQVQsU0FBUyxDQUF3QjtJQUVsRyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixtQkFBbUI7SUFDbkIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVTLHNCQUFzQixLQUFVLENBQUM7SUFFM0MsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxXQUFXO1FBQ2Qsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxD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cG9ydCB7IEFmdGVyVmlld0luaXQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIEluamVjdCwgT3B0aW9uYWwsIENvbXBvbmVudCwgSW5qZWN0aW9uVG9rZW4sIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBJV2luZG93LCBXaW5kb3dFdmVudCB9IGZyb20gJy4vSVdpbmRvdyc7XG5pbXBvcnQgeyBJV2luZG93Q29uZmlnIH0gZnJvbSAnLi9JV2luZG93Q29uZmlnJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElXaW5kb3dDb250ZW50PFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3BlcnRpZXM9XG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF93aW5kb3c6IElXaW5kb3c8VD47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1dfQ09OVEVOVF9DT05UQUlORVIpIHB1YmxpYyBjb250YWluZXI6IFdpbmRvd0NvbnRlbnRDb250YWluZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRXaW5kb3dQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbW1pdENvbmZpZ1Byb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0Q29uZmlnUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LkNPTlRFTlRfUkVBRFkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gZG8gbm90aGluZywgd2luZG93IHdpbGwgZGVzdHJveSBjb250ZW50IGFmdGVyIGNsb3NpbmdcbiAgICAgICAgaWYgKF8uaXNOaWwodGhpcy53aW5kb3cpKSB7XG4gICAgICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGJsaW5rKCk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy53aW5kb3cpKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5ibGluaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNoYWtlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy53aW5kb3cpKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5zaGFrZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy53aW5kb3cpKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMud2luZG93KSkge1xuICAgICAgICAgICAgdGhpcy53aW5kb3cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLndpbmRvdyA9IG51bGw7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3h5IFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBkYXRhKCk6IFQge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5jb25maWcpID8gdGhpcy5jb25maWcuZGF0YSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc09uVG9wKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy53aW5kb3cpID8gdGhpcy53aW5kb3cuaXNPblRvcCA6IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNNaW5pbWl6ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLndpbmRvdykgPyB0aGlzLndpbmRvdy5pc01pbmltaXplZCA6IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLndpbmRvdykgPyB0aGlzLndpbmRvdy5ldmVudHMgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMud2luZG93KSA/IHRoaXMud2luZG93LmlzRGlzYWJsZWQgOiBmYWxzZTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMud2luZG93KSkge1xuICAgICAgICAgICAgdGhpcy53aW5kb3cuaXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudCgpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgaWYgKF8uaXNOaWwodGhpcy5jb250YWluZXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIgaW5zdGFuY2VvZiBWaWV3Q29udGFpbmVyUmVmID8gdGhpcy5jb250YWluZXIuZWxlbWVudCA6IHRoaXMuY29udGFpbmVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29uZmlnKCk6IElXaW5kb3dDb25maWc8VD4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy53aW5kb3cpID8gdGhpcy53aW5kb3cuY29uZmlnIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpbmRvdygpOiBJV2luZG93PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpbmRvdztcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHdpbmRvdyh2YWx1ZTogSVdpbmRvdzxUPikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3dpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dpbmRvdyA9IHZhbHVlO1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbW1pdFdpbmRvd1Byb3BlcnRpZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgV2luZG93Q29udGVudENvbnRhaW5lciA9IEVsZW1lbnRSZWYgfCBWaWV3Q29udGFpbmVyUmVmO1xuZXhwb3J0IGNvbnN0IFdJTkRPV19DT05URU5UX0NPTlRBSU5FUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3dDb250ZW50Q29udGFpbmVyPignV0lORE9XX0NPTlRFTlRfQ09OVEFJTkVSJyk7XG4iXX0=
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
+
import { WindowAlign } from './IWindowConfig';
|
|
4
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
5
|
+
export class WindowBase extends DestroyableContainer {
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Static Methods
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
static parseX(value, config) {
|
|
12
|
+
value = Math.max(value, config.elementMinX);
|
|
13
|
+
value = Math.min(value, config.elementMaxX);
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
static parseY(value, config) {
|
|
17
|
+
value = Math.max(value, config.elementMinY);
|
|
18
|
+
value = Math.min(value, config.elementMaxY);
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
static parseWidth(value, config) {
|
|
22
|
+
value = Math.max(value, config.elementMinWidth);
|
|
23
|
+
value = Math.min(value, config.elementMaxWidth);
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
static parseHeight(value, config) {
|
|
27
|
+
value = Math.max(value, config.elementMinHeight);
|
|
28
|
+
value = Math.min(value, config.elementMaxHeight);
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
// --------------------------------------------------------------------------
|
|
32
|
+
//
|
|
33
|
+
// Properties
|
|
34
|
+
//
|
|
35
|
+
// --------------------------------------------------------------------------
|
|
36
|
+
_x = NaN;
|
|
37
|
+
_width = NaN;
|
|
38
|
+
_y = NaN;
|
|
39
|
+
_height = NaN;
|
|
40
|
+
// --------------------------------------------------------------------------
|
|
41
|
+
//
|
|
42
|
+
// Constructor
|
|
43
|
+
//
|
|
44
|
+
// --------------------------------------------------------------------------
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
}
|
|
48
|
+
setProperties() {
|
|
49
|
+
let config = this.getConfig();
|
|
50
|
+
if (!_.isNaN(config.defaultWidth)) {
|
|
51
|
+
this.width = config.defaultWidth;
|
|
52
|
+
}
|
|
53
|
+
if (!_.isNaN(config.defaultHeight)) {
|
|
54
|
+
this.height = config.defaultHeight;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
setPosition() {
|
|
58
|
+
let config = this.getConfig();
|
|
59
|
+
switch (config.horizontalAlign) {
|
|
60
|
+
case WindowAlign.START:
|
|
61
|
+
this.x = !_.isNaN(this.paddingLeft) ? this.paddingLeft : 0;
|
|
62
|
+
break;
|
|
63
|
+
case WindowAlign.END:
|
|
64
|
+
let value = ViewUtil.getStageWidth() - this.calculateWidth();
|
|
65
|
+
if (!_.isNaN(this.paddingRight)) {
|
|
66
|
+
value -= this.paddingRight;
|
|
67
|
+
}
|
|
68
|
+
this.x = value;
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
this.x = (ViewUtil.getStageWidth() - this.calculateWidth()) / 2;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
switch (config.verticalAlign) {
|
|
75
|
+
case WindowAlign.START:
|
|
76
|
+
this.y = !_.isNaN(this.paddingTop) ? this.paddingTop : 0;
|
|
77
|
+
break;
|
|
78
|
+
case WindowAlign.END:
|
|
79
|
+
let value = ViewUtil.getStageHeight() - this.calculateHeight();
|
|
80
|
+
if (!_.isNaN(this.paddingBottom)) {
|
|
81
|
+
value -= this.paddingBottom;
|
|
82
|
+
}
|
|
83
|
+
this.y = value;
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
this.y = (ViewUtil.getStageHeight() - this.calculateHeight()) / 2;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
clearSize() {
|
|
91
|
+
this._x = NaN;
|
|
92
|
+
this._y = NaN;
|
|
93
|
+
this._width = NaN;
|
|
94
|
+
this._height = NaN;
|
|
95
|
+
}
|
|
96
|
+
commitSizeProperties() { }
|
|
97
|
+
commitPositionProperties() { }
|
|
98
|
+
updatePosition = () => this.setPosition();
|
|
99
|
+
// --------------------------------------------------------------------------
|
|
100
|
+
//
|
|
101
|
+
// Public Methods
|
|
102
|
+
//
|
|
103
|
+
// --------------------------------------------------------------------------
|
|
104
|
+
calculateWidth() {
|
|
105
|
+
return !_.isNaN(this.width) ? this.width : ViewUtil.getWidth(this.getContainer());
|
|
106
|
+
}
|
|
107
|
+
calculateHeight() {
|
|
108
|
+
return !_.isNaN(this.height) ? this.height : ViewUtil.getHeight(this.getContainer());
|
|
109
|
+
}
|
|
110
|
+
// --------------------------------------------------------------------------
|
|
111
|
+
//
|
|
112
|
+
// Private Properties
|
|
113
|
+
//
|
|
114
|
+
// --------------------------------------------------------------------------
|
|
115
|
+
get width() {
|
|
116
|
+
return this._width;
|
|
117
|
+
}
|
|
118
|
+
set width(value) {
|
|
119
|
+
value = WindowBase.parseWidth(value, this.getConfig());
|
|
120
|
+
if (value === this._width) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this._width = value;
|
|
124
|
+
this.commitSizeProperties();
|
|
125
|
+
}
|
|
126
|
+
get height() {
|
|
127
|
+
return this._height;
|
|
128
|
+
}
|
|
129
|
+
set height(value) {
|
|
130
|
+
value = WindowBase.parseWidth(value, this.getConfig());
|
|
131
|
+
if (value === this._height) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
this._height = value;
|
|
135
|
+
this.commitSizeProperties();
|
|
136
|
+
}
|
|
137
|
+
// --------------------------------------------------------------------------
|
|
138
|
+
//
|
|
139
|
+
// Public Properties
|
|
140
|
+
//
|
|
141
|
+
// --------------------------------------------------------------------------
|
|
142
|
+
get x() {
|
|
143
|
+
return this._x;
|
|
144
|
+
}
|
|
145
|
+
set x(value) {
|
|
146
|
+
value = WindowBase.parseX(value, this.getConfig());
|
|
147
|
+
if (value === this._x) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
this._x = value;
|
|
151
|
+
this.commitPositionProperties();
|
|
152
|
+
}
|
|
153
|
+
get y() {
|
|
154
|
+
return this._y;
|
|
155
|
+
}
|
|
156
|
+
set y(value) {
|
|
157
|
+
value = WindowBase.parseY(value, this.getConfig());
|
|
158
|
+
if (value === this._y) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
this._y = value;
|
|
162
|
+
this.commitPositionProperties();
|
|
163
|
+
}
|
|
164
|
+
get paddingTop() {
|
|
165
|
+
return this.getConfig().paddingTop;
|
|
166
|
+
}
|
|
167
|
+
get paddingLeft() {
|
|
168
|
+
return this.getConfig().paddingLeft;
|
|
169
|
+
}
|
|
170
|
+
get paddingRight() {
|
|
171
|
+
return this.getConfig().paddingRight;
|
|
172
|
+
}
|
|
173
|
+
get paddingBottom() {
|
|
174
|
+
return this.getConfig().paddingBottom;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93QmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQWdCLFVBQW9CLFNBQVEsb0JBQW9CO0lBQ2xFLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsTUFBTSxDQUFDLE1BQU0sQ0FBSSxLQUFhLEVBQUUsTUFBd0I7UUFDOUQsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxNQUFNLENBQUMsTUFBTSxDQUFJLEtBQWEsRUFBRSxNQUF3QjtRQUM5RCxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVTLE1BQU0sQ0FBQyxVQUFVLENBQUksS0FBYSxFQUFFLE1BQXdCO1FBQ2xFLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFB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QUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxDQUFDLENBQUMsS0FBYTtRQUN0QixLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNoQixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBJV2luZG93Q29uZmlnLCBXaW5kb3dBbGlnbiB9IGZyb20gJy4vSVdpbmRvd0NvbmZpZyc7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2luZG93QmFzZTxUID0gYW55PiBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRTdGF0aWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzdGF0aWMgcGFyc2VYPFQ+KHZhbHVlOiBudW1iZXIsIGNvbmZpZzogSVdpbmRvd0NvbmZpZzxUPik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIGNvbmZpZy5lbGVtZW50TWluWCk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4odmFsdWUsIGNvbmZpZy5lbGVtZW50TWF4WCk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3RhdGljIHBhcnNlWTxUPih2YWx1ZTogbnVtYmVyLCBjb25maWc6IElXaW5kb3dDb25maWc8VD4pOiBudW1iZXIge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHZhbHVlLCBjb25maWcuZWxlbWVudE1pblkpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCBjb25maWcuZWxlbWVudE1heFkpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBwYXJzZVdpZHRoPFQ+KHZhbHVlOiBudW1iZXIsIGNvbmZpZzogSVdpbmRvd0NvbmZpZzxUPik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIGNvbmZpZy5lbGVtZW50TWluV2lkdGgpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCBjb25maWcuZWxlbWVudE1heFdpZHRoKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdGF0aWMgcGFyc2VIZWlnaHQ8VD4odmFsdWU6IG51bWJlciwgY29uZmlnOiBJV2luZG93Q29uZmlnPFQ+KTogbnVtYmVyIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgY29uZmlnLmVsZW1lbnRNaW5IZWlnaHQpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCBjb25maWcuZWxlbWVudE1heEhlaWdodCk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF94OiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF93aWR0aDogbnVtYmVyID0gTmFOO1xuXG4gICAgcHJvdGVjdGVkIF95OiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF9oZWlnaHQ6IG51bWJlciA9IE5hTjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29uZmlnKCk6IElXaW5kb3dDb25maWc8VD47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRhaW5lcigpOiBIVE1MRWxlbWVudDtcblxuICAgIHByb3RlY3RlZCBzZXRQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBsZXQgY29uZmlnID0gdGhpcy5nZXRDb25maWcoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKGNvbmZpZy5kZWZhdWx0V2lkdGgpKSB7XG4gICAgICAgICAgICB0aGlzLndpZHRoID0gY29uZmlnLmRlZmF1bHRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4oY29uZmlnLmRlZmF1bHRIZWlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLmhlaWdodCA9IGNvbmZpZy5kZWZhdWx0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBsZXQgY29uZmlnID0gdGhpcy5nZXRDb25maWcoKTtcblxuICAgICAgICBzd2l0Y2ggKGNvbmZpZy5ob3Jpem9udGFsQWxpZ24pIHtcbiAgICAgICAgICAgIGNhc2UgV2luZG93QWxpZ24uU1RBUlQ6XG4gICAgICAgICAgICAgICAgdGhpcy54ID0gIV8uaXNOYU4odGhpcy5wYWRkaW5nTGVmdCkgPyB0aGlzLnBhZGRpbmdMZWZ0IDogMDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgV2luZG93QWxpZ24uRU5EOlxuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKSAtIHRoaXMuY2FsY3VsYXRlV2lkdGgoKTtcbiAgICAgICAgICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nUmlnaHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlIC09IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnggPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy54ID0gKFZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKSAtIHRoaXMuY2FsY3VsYXRlV2lkdGgoKSkgLyAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChjb25maWcudmVydGljYWxBbGlnbikge1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5TVEFSVDpcbiAgICAgICAgICAgICAgICB0aGlzLnkgPSAhXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApID8gdGhpcy5wYWRkaW5nVG9wIDogMDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgV2luZG93QWxpZ24uRU5EOlxuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCkgLSB0aGlzLmNhbGN1bGF0ZUhlaWdodCgpO1xuICAgICAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdCb3R0b20pKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlIC09IHRoaXMucGFkZGluZ0JvdHRvbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy55ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMueSA9IChWaWV3VXRpbC5nZXRTdGFnZUhlaWdodCgpIC0gdGhpcy5jYWxjdWxhdGVIZWlnaHQoKSkgLyAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyU2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5feCA9IE5hTjtcbiAgICAgICAgdGhpcy5feSA9IE5hTjtcbiAgICAgICAgdGhpcy5fd2lkdGggPSBOYU47XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IE5hTjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0U2l6ZVByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdFBvc2l0aW9uUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlUG9zaXRpb24gPSAoKTogdm9pZCA9PiB0aGlzLnNldFBvc2l0aW9uKCk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjYWxjdWxhdGVXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gIV8uaXNOYU4odGhpcy53aWR0aCkgPyB0aGlzLndpZHRoIDogVmlld1V0aWwuZ2V0V2lkdGgodGhpcy5nZXRDb250YWluZXIoKSk7XG4gICAgfVxuICAgIHB1YmxpYyBjYWxjdWxhdGVIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmFOKHRoaXMuaGVpZ2h0KSA/IHRoaXMuaGVpZ2h0IDogVmlld1V0aWwuZ2V0SGVpZ2h0KHRoaXMuZ2V0Q29udGFpbmVyKCkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByaXZhdGUgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSBXaW5kb3dCYXNlLnBhcnNlV2lkdGgodmFsdWUsIHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3dpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fd2lkdGggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRTaXplUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXQgaGVpZ2h0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSBXaW5kb3dCYXNlLnBhcnNlV2lkdGgodmFsdWUsIHRoaXMuZ2V0Q29uZmlnKCkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2hlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hlaWdodCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdFNpemVQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IHgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3g7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB4KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSBXaW5kb3dCYXNlLnBhcnNlWCh2YWx1ZSwgdGhpcy5nZXRDb25maWcoKSk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5feCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRQb3NpdGlvblByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3k7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSBXaW5kb3dCYXNlLnBhcnNlWSh2YWx1ZSwgdGhpcy5nZXRDb25maWcoKSk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5feSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3kgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRQb3NpdGlvblByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhZGRpbmdUb3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlnKCkucGFkZGluZ1RvcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhZGRpbmdMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZygpLnBhZGRpbmdMZWZ0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFkZGluZ1JpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZygpLnBhZGRpbmdSaWdodDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhZGRpbmdCb3R0b20oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlnKCkucGFkZGluZ0JvdHRvbTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExtendedError } from '@ts-core/common';
|
|
2
|
+
export class WindowClosedError extends ExtendedError {
|
|
3
|
+
// --------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// Static Methods
|
|
6
|
+
//
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
static CODE = ExtendedError.DEFAULT_ERROR_CODE;
|
|
9
|
+
static MESSAGE = 'WINDOW_CLOSED';
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
//
|
|
12
|
+
// Constructor
|
|
13
|
+
//
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
constructor(message = WindowClosedError.MESSAGE, code = WindowClosedError.CODE) {
|
|
16
|
+
super(message, code);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93Q2xvc2VkRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2luZG93L1dpbmRvd0Nsb3NlZEVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdoRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBMkI7SUFDOUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxNQUFNLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUMvQyxNQUFNLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztJQUV4Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksVUFBa0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQWUsaUJBQWlCLENBQUMsSUFBSTtRQUMxRixLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHRlbmRlZEVycm9yIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIFdpbmRvd0Nsb3NlZEVycm9yIGV4dGVuZHMgRXh0ZW5kZWRFcnJvcjx2b2lkLCBudW1iZXI+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBDT0RFID0gRXh0ZW5kZWRFcnJvci5ERUZBVUxUX0VSUk9SX0NPREU7XG4gICAgcHVibGljIHN0YXRpYyBNRVNTQUdFID0gJ1dJTkRPV19DTE9TRUQnO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IFdpbmRvd0Nsb3NlZEVycm9yLk1FU1NBR0UsIGNvZGU6IG51bWJlciA9IFdpbmRvd0Nsb3NlZEVycm9yLkNPREUpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSwgY29kZSk7XG4gICAgfVxufVxuIl19
|