@ts-core/angular 11.0.87 → 13.0.2
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/VICommonModule.d.ts +34 -2
- package/application/ApplicationBaseComponent.d.ts +9 -5
- package/application/ApplicationComponent.d.ts +2 -6
- package/asset/AssetBackgroundDirective.d.ts +3 -0
- package/asset/AssetBackgroundPipe.d.ts +3 -0
- package/asset/AssetFilePipe.d.ts +3 -0
- package/asset/AssetIconPipe.d.ts +3 -0
- package/asset/AssetImagePipe.d.ts +3 -0
- package/asset/AssetModule.d.ts +12 -0
- package/asset/AssetSoundPipe.d.ts +3 -0
- package/asset/AssetVideoPipe.d.ts +3 -0
- package/bottomSheet/BottomSheetModule.d.ts +10 -0
- package/bottomSheet/BottomSheetService.d.ts +3 -0
- package/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.d.ts +3 -0
- package/component/VIComponentModule.d.ts +28 -0
- package/component/cdk-table/CdkTableBaseComponent.d.ts +6 -3
- package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +5 -5
- package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +2 -2
- package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +2 -6
- package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +3 -0
- package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +3 -0
- package/component/cdk-table/column/CdkTableCellClassNamePipe.d.ts +3 -0
- package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +3 -0
- package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +3 -0
- package/component/cdk-table/column/CdkTableColumnValuePipe.d.ts +3 -0
- package/component/cdk-table/column/ICdkTableColumn.d.ts +1 -1
- package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +3 -0
- package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +3 -0
- package/component/language/language-selector/language-selector.component.d.ts +3 -0
- package/component/menu-list/menu-list.component.d.ts +3 -0
- package/component/select-list/select-list.component.d.ts +3 -0
- package/component/tab-group/tab-group.component.d.ts +3 -0
- package/cookie/CookieModule.d.ts +4 -0
- package/directive/AspectRatioResizeDirective.d.ts +3 -0
- package/directive/AutoScrollBottomDirective.d.ts +3 -0
- package/directive/ClickToCopyDirective.d.ts +3 -0
- package/directive/ClickToSelectDirective.d.ts +3 -0
- package/directive/FocusDirective.d.ts +3 -0
- package/directive/HTMLContentTitleDirective.d.ts +3 -0
- package/directive/InfiniteScrollDirective.d.ts +3 -0
- package/directive/ResizeDirective.d.ts +3 -0
- package/directive/ScrollDirective.d.ts +3 -0
- package/directive/SelectOnFocusDirective.d.ts +3 -0
- package/{esm2015/ApplicationInjector.js → esm2020/ApplicationInjector.mjs} +0 -0
- package/esm2020/VICommonModule.mjs +145 -0
- package/esm2020/application/ApplicationBaseComponent.mjs +87 -0
- package/esm2020/application/ApplicationComponent.mjs +53 -0
- package/{esm2015/application/MessageBaseComponent.js → esm2020/application/MessageBaseComponent.mjs} +0 -0
- package/{esm2015/application/ShellBaseComponent.js → esm2020/application/ShellBaseComponent.mjs} +0 -0
- package/esm2020/asset/AssetBackgroundDirective.mjs +150 -0
- package/esm2020/asset/AssetBackgroundPipe.mjs +22 -0
- package/esm2020/asset/AssetFilePipe.mjs +22 -0
- package/esm2020/asset/AssetIconPipe.mjs +22 -0
- package/esm2020/asset/AssetImagePipe.mjs +22 -0
- package/esm2020/asset/AssetModule.mjs +24 -0
- package/esm2020/asset/AssetSoundPipe.mjs +22 -0
- package/esm2020/asset/AssetVideoPipe.mjs +22 -0
- package/esm2020/bottomSheet/BottomSheetImpl.mjs +230 -0
- package/esm2020/bottomSheet/BottomSheetModule.mjs +45 -0
- package/esm2020/bottomSheet/BottomSheetService.mjs +99 -0
- package/{esm2015/bottomSheet/component/BottomSheetBaseComponent.js → esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs} +0 -0
- package/esm2020/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.mjs +60 -0
- package/esm2020/component/VIComponentModule.mjs +105 -0
- package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +188 -0
- package/{esm2015/component/cdk-table/CdkTableDataSource.js → esm2020/component/cdk-table/CdkTableDataSource.mjs} +0 -0
- package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +94 -0
- package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +49 -0
- package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +57 -0
- package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +35 -0
- package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +63 -0
- package/esm2020/component/cdk-table/column/CdkTableCellClassNamePipe.mjs +21 -0
- package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +22 -0
- package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +22 -0
- package/esm2020/component/cdk-table/column/CdkTableColumnValuePipe.mjs +22 -0
- package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +2 -0
- package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +22 -0
- package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +22 -0
- package/{esm2015/component/cdk-table/row/ICdkTableRow.js → esm2020/component/cdk-table/row/ICdkTableRow.mjs} +0 -0
- package/esm2020/component/language/language-selector/language-selector.component.mjs +79 -0
- package/esm2020/component/menu-list/menu-list.component.mjs +16 -0
- package/esm2020/component/select-list/select-list.component.mjs +17 -0
- package/esm2020/component/tab-group/tab-group.component.mjs +71 -0
- package/esm2020/cookie/CookieModule.mjs +37 -0
- package/{esm2015/cookie/CookieOptions.js → esm2020/cookie/CookieOptions.mjs} +0 -0
- package/{esm2015/cookie/CookieService.js → esm2020/cookie/CookieService.mjs} +1 -1
- package/esm2020/directive/AspectRatioResizeDirective.mjs +127 -0
- package/esm2020/directive/AutoScrollBottomDirective.mjs +115 -0
- package/esm2020/directive/ClickToCopyDirective.mjs +49 -0
- package/esm2020/directive/ClickToSelectDirective.mjs +49 -0
- package/esm2020/directive/FocusDirective.mjs +54 -0
- package/esm2020/directive/HTMLContentTitleDirective.mjs +71 -0
- package/esm2020/directive/InfiniteScrollDirective.mjs +74 -0
- package/esm2020/directive/ResizeDirective.mjs +79 -0
- package/esm2020/directive/ScrollDirective.mjs +128 -0
- package/esm2020/directive/SelectOnFocusDirective.mjs +47 -0
- package/{esm2015/form/FormElementAsync.js → esm2020/form/FormElementAsync.mjs} +0 -0
- package/esm2020/form/FormElementSync.mjs +69 -0
- package/{esm2015/form/ValueAccessor.js → esm2020/form/ValueAccessor.mjs} +0 -0
- package/esm2020/form/validate.mjs +59 -0
- package/esm2020/language/LanguageDirective.mjs +92 -0
- package/esm2020/language/LanguageHasDirective.mjs +93 -0
- package/esm2020/language/LanguageMatPaginatorIntl.mjs +62 -0
- package/esm2020/language/LanguageModule.mjs +67 -0
- package/{esm2015/language/LanguageMomentDateAdapter.js → esm2020/language/LanguageMomentDateAdapter.mjs} +2 -4
- package/esm2020/language/LanguagePipe.mjs +58 -0
- package/esm2020/language/LanguagePipeHas.mjs +56 -0
- package/esm2020/language/LanguagePipeHasPure.mjs +40 -0
- package/esm2020/language/LanguagePipePure.mjs +39 -0
- package/{esm2015/language/LanguageRequireResolver.js → esm2020/language/LanguageRequireResolver.mjs} +0 -0
- package/esm2020/language/LanguageResolver.mjs +21 -0
- package/{esm2015/list/IListItem.js → esm2020/list/IListItem.mjs} +0 -0
- package/{esm2015/list/ListItem.js → esm2020/list/ListItem.mjs} +0 -0
- package/{esm2015/list/ListItems.js → esm2020/list/ListItems.mjs} +0 -0
- package/{esm2015/list/select/ISelectListItem.js → esm2020/list/select/ISelectListItem.mjs} +0 -0
- package/{esm2015/list/select/SelectListItem.js → esm2020/list/select/SelectListItem.mjs} +0 -0
- package/{esm2015/list/select/SelectListItems.js → esm2020/list/select/SelectListItems.mjs} +0 -0
- package/esm2020/login/LoginBaseService.mjs +187 -0
- package/esm2020/login/LoginGuard.mjs +29 -0
- package/esm2020/login/LoginRedirectResolver.mjs +21 -0
- package/esm2020/login/LoginRequireResolver.mjs +36 -0
- package/esm2020/login/LoginResolver.mjs +28 -0
- package/{esm2015/manager/FocusManager.js → esm2020/manager/FocusManager.mjs} +0 -0
- package/{esm2015/manager/ResizeManager.js → esm2020/manager/ResizeManager.mjs} +0 -0
- package/{esm2015/menu/MenuItem.js → esm2020/menu/MenuItem.mjs} +0 -0
- package/{esm2015/menu/MenuItemBase.js → esm2020/menu/MenuItemBase.mjs} +0 -0
- package/{esm2015/menu/MenuItems.js → esm2020/menu/MenuItems.mjs} +0 -0
- package/{esm2015/menu/NavigationMenuItem.js → esm2020/menu/NavigationMenuItem.mjs} +0 -0
- package/esm2020/module/LazyModuleLoader.mjs +89 -0
- package/{esm2015/notification/INotification.js → esm2020/notification/INotification.mjs} +0 -0
- package/esm2020/notification/INotificationContent.mjs +131 -0
- package/{esm2015/notification/NotificationConfig.js → esm2020/notification/NotificationConfig.mjs} +0 -0
- package/{esm2015/notification/NotificationFactory.js → esm2020/notification/NotificationFactory.mjs} +0 -0
- package/esm2020/notification/NotificationImpl.mjs +139 -0
- package/esm2020/notification/NotificationModule.mjs +53 -0
- package/{esm2015/notification/NotificationProperties.js → esm2020/notification/NotificationProperties.mjs} +0 -0
- package/esm2020/notification/NotificationService.mjs +239 -0
- package/{esm2015/notification/component/NotificationBaseComponent.js → esm2020/notification/component/NotificationBaseComponent.mjs} +0 -0
- package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +49 -0
- package/esm2020/notification/component/notification/notification.component.mjs +61 -0
- package/esm2020/pipe/CamelCasePipe.mjs +31 -0
- package/esm2020/pipe/FinancePipe.mjs +53 -0
- package/esm2020/pipe/MomentDateAdaptivePipe.mjs +51 -0
- package/esm2020/pipe/MomentDateFromNowPipe.mjs +22 -0
- package/esm2020/pipe/MomentDatePipe.mjs +71 -0
- package/esm2020/pipe/MomentTimePipe.mjs +35 -0
- package/esm2020/pipe/NgModelErrorPipe.mjs +42 -0
- package/esm2020/pipe/PrettifyPipe.mjs +38 -0
- package/esm2020/pipe/SanitizePipe.mjs +47 -0
- package/esm2020/pipe/StartCasePipe.mjs +24 -0
- package/esm2020/pipe/TimePipe.mjs +37 -0
- package/esm2020/pipe/TruncatePipe.mjs +25 -0
- package/esm2020/public-api.mjs +160 -0
- package/{esm2015/question/IQuestion.js → esm2020/question/IQuestion.mjs} +0 -0
- package/{esm2015/question/QuestionManager.js → esm2020/question/QuestionManager.mjs} +0 -0
- package/esm2020/service/BootstrapBreakpointService.mjs +116 -0
- package/{esm2015/service/PipeBaseService.js → esm2020/service/PipeBaseService.mjs} +0 -0
- package/esm2020/service/RouterBaseService.mjs +214 -0
- package/{esm2015/service/route/CanDeactivateGuard.js → esm2020/service/route/CanDeactivateGuard.mjs} +0 -0
- package/{esm2015/service/route/IRouterDeactivatable.js → esm2020/service/route/IRouterDeactivatable.mjs} +0 -0
- package/esm2020/theme/ThemeAssetBackgroundDirective.mjs +36 -0
- package/esm2020/theme/ThemeAssetDirective.mjs +219 -0
- package/esm2020/theme/ThemeAssetImageDirective.mjs +34 -0
- package/esm2020/theme/ThemeModule.mjs +62 -0
- package/esm2020/theme/ThemeStyleDirective.mjs +115 -0
- package/esm2020/theme/ThemeStyleHoverDirective.mjs +107 -0
- package/esm2020/theme/ThemeToggleDirective.mjs +62 -0
- package/esm2020/transport/TransportLazy.mjs +91 -0
- package/esm2020/transport/TransportLazyModule.mjs +28 -0
- package/esm2020/transport/TransportLazyModuleLoadedEvent.mjs +18 -0
- package/esm2020/ts-core-angular.mjs +5 -0
- package/{esm2015/user/IUser.js → esm2020/user/IUser.mjs} +0 -0
- package/esm2020/user/UserBaseService.mjs +105 -0
- package/{esm2015/util/ViewUtil.js → esm2020/util/ViewUtil.mjs} +0 -0
- package/{esm2015/window/IWindow.js → esm2020/window/IWindow.mjs} +0 -0
- package/esm2020/window/IWindowContent.mjs +124 -0
- package/{esm2015/window/WindowBase.js → esm2020/window/WindowBase.mjs} +0 -0
- package/{esm2015/window/WindowConfig.js → esm2020/window/WindowConfig.mjs} +0 -0
- package/{esm2015/window/WindowFactory.js → esm2020/window/WindowFactory.mjs} +0 -0
- package/esm2020/window/WindowImpl.mjs +319 -0
- package/esm2020/window/WindowModule.mjs +59 -0
- package/{esm2015/window/WindowProperties.js → esm2020/window/WindowProperties.mjs} +0 -0
- package/esm2020/window/WindowService.mjs +338 -0
- package/{esm2015/window/component/WindowBaseComponent.js → esm2020/window/component/WindowBaseComponent.mjs} +0 -0
- package/esm2020/window/component/WindowDragAreaDirective.mjs +97 -0
- package/{esm2015/window/component/WindowDragable.js → esm2020/window/component/WindowDragable.mjs} +1 -1
- package/esm2020/window/component/WindowElement.mjs +85 -0
- package/{esm2015/window/component/WindowQuestionBaseComponent.js → esm2020/window/component/WindowQuestionBaseComponent.mjs} +0 -0
- package/{esm2015/window/component/WindowResizeable.js → esm2020/window/component/WindowResizeable.mjs} +1 -1
- package/esm2020/window/component/window-close-element/window-close-element.component.mjs +60 -0
- package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +80 -0
- package/esm2020/window/component/window-question/window-question.component.mjs +50 -0
- package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +59 -0
- package/fesm2015/{ts-core-angular.js → ts-core-angular.mjs} +5106 -4696
- package/fesm2015/ts-core-angular.mjs.map +1 -0
- package/fesm2020/ts-core-angular.mjs +9510 -0
- package/fesm2020/ts-core-angular.mjs.map +1 -0
- package/form/FormElementSync.d.ts +3 -0
- package/language/LanguageDirective.d.ts +3 -0
- package/language/LanguageHasDirective.d.ts +3 -0
- package/language/LanguageMatPaginatorIntl.d.ts +3 -0
- package/language/LanguageModule.d.ts +11 -0
- package/language/LanguagePipe.d.ts +3 -0
- package/language/LanguagePipeHas.d.ts +3 -0
- package/language/LanguagePipeHasPure.d.ts +3 -0
- package/language/LanguagePipePure.d.ts +3 -0
- package/language/LanguageResolver.d.ts +3 -0
- package/login/LoginGuard.d.ts +5 -2
- package/login/LoginRedirectResolver.d.ts +3 -0
- package/login/LoginRequireResolver.d.ts +2 -2
- package/login/LoginResolver.d.ts +3 -0
- package/module/LazyModuleLoader.d.ts +24 -0
- package/notification/INotificationContent.d.ts +3 -0
- package/notification/NotificationModule.d.ts +14 -0
- package/notification/NotificationService.d.ts +3 -0
- package/notification/component/NotificationQuestionBaseComponent.d.ts +3 -0
- package/notification/component/notification/notification.component.d.ts +3 -0
- package/package.json +44 -30
- package/pipe/CamelCasePipe.d.ts +3 -0
- package/pipe/FinancePipe.d.ts +3 -0
- package/pipe/MomentDateAdaptivePipe.d.ts +3 -0
- package/pipe/MomentDateFromNowPipe.d.ts +3 -0
- package/pipe/MomentDatePipe.d.ts +3 -0
- package/pipe/MomentTimePipe.d.ts +3 -0
- package/pipe/NgModelErrorPipe.d.ts +3 -0
- package/pipe/PrettifyPipe.d.ts +3 -0
- package/pipe/SanitizePipe.d.ts +3 -0
- package/pipe/StartCasePipe.d.ts +3 -0
- package/pipe/TimePipe.d.ts +3 -0
- package/pipe/TruncatePipe.d.ts +3 -0
- package/public-api.d.ts +29 -9
- package/service/BootstrapBreakpointService.d.ts +3 -0
- package/theme/ThemeAssetBackgroundDirective.d.ts +3 -0
- package/theme/ThemeAssetDirective.d.ts +3 -0
- package/theme/ThemeAssetImageDirective.d.ts +3 -0
- package/theme/ThemeModule.d.ts +10 -0
- package/theme/ThemeStyleDirective.d.ts +3 -0
- package/theme/ThemeStyleHoverDirective.d.ts +3 -0
- package/theme/ThemeToggleDirective.d.ts +3 -0
- package/transport/TransportLazy.d.ts +15 -0
- package/transport/TransportLazyModule.d.ts +16 -0
- package/transport/TransportLazyModuleLoadedEvent.d.ts +6 -0
- package/ts-core-angular.d.ts +1 -24
- package/user/UserBaseService.d.ts +1 -1
- package/window/IWindowContent.d.ts +3 -0
- package/window/WindowModule.d.ts +20 -0
- package/window/WindowService.d.ts +3 -0
- package/window/component/WindowDragAreaDirective.d.ts +3 -0
- package/window/component/WindowDragable.d.ts +1 -1
- package/window/component/WindowElement.d.ts +3 -0
- package/window/component/WindowResizeable.d.ts +1 -1
- package/window/component/window-close-element/window-close-element.component.d.ts +3 -0
- package/window/component/window-minimize-element/window-minimize-element.component.d.ts +3 -0
- package/window/component/window-question/window-question.component.d.ts +3 -0
- package/window/component/window-resize-element/window-resize-element.component.d.ts +3 -0
- package/application/ApplicationComponent2.d.ts +0 -19
- package/bundles/ts-core-angular.umd.js +0 -10984
- package/bundles/ts-core-angular.umd.js.map +0 -1
- package/bundles/ts-core-angular.umd.min.js +0 -2
- package/bundles/ts-core-angular.umd.min.js.map +0 -1
- package/esm2015/VICommonModule.js +0 -98
- package/esm2015/application/ApplicationBaseComponent.js +0 -80
- package/esm2015/application/ApplicationComponent.js +0 -57
- package/esm2015/application/ApplicationComponent2.js +0 -53
- package/esm2015/asset/AssetBackgroundDirective.js +0 -144
- package/esm2015/asset/AssetBackgroundPipe.js +0 -18
- package/esm2015/asset/AssetFilePipe.js +0 -18
- package/esm2015/asset/AssetIconPipe.js +0 -18
- package/esm2015/asset/AssetImagePipe.js +0 -18
- package/esm2015/asset/AssetModule.js +0 -19
- package/esm2015/asset/AssetSoundPipe.js +0 -18
- package/esm2015/asset/AssetVideoPipe.js +0 -18
- package/esm2015/bottomSheet/BottomSheetImpl.js +0 -231
- package/esm2015/bottomSheet/BottomSheetModule.js +0 -40
- package/esm2015/bottomSheet/BottomSheetService.js +0 -103
- package/esm2015/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.js +0 -63
- package/esm2015/component/VIComponentModule.js +0 -67
- package/esm2015/component/cdk-table/CdkTableBaseComponent.js +0 -176
- package/esm2015/component/cdk-table/CdkTableFilterableMapCollection.js +0 -94
- package/esm2015/component/cdk-table/CdkTablePaginableBookmarkMapCollection.js +0 -49
- package/esm2015/component/cdk-table/CdkTablePaginableMapCollection.js +0 -57
- package/esm2015/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.js +0 -24
- package/esm2015/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.js +0 -52
- package/esm2015/component/cdk-table/column/CdkTableCellClassNamePipe.js +0 -17
- package/esm2015/component/cdk-table/column/CdkTableColumnClassNamePipe.js +0 -18
- package/esm2015/component/cdk-table/column/CdkTableColumnStyleNamePipe.js +0 -18
- package/esm2015/component/cdk-table/column/CdkTableColumnValuePipe.js +0 -18
- package/esm2015/component/cdk-table/column/ICdkTableColumn.js +0 -2
- package/esm2015/component/cdk-table/row/CdkTableRowClassNamePipe.js +0 -18
- package/esm2015/component/cdk-table/row/CdkTableRowStyleNamePipe.js +0 -18
- package/esm2015/component/language/language-selector/language-selector.component.js +0 -75
- package/esm2015/component/menu-list/menu-list.component.js +0 -14
- package/esm2015/component/select-list/select-list.component.js +0 -14
- package/esm2015/component/tab-group/tab-group.component.js +0 -68
- package/esm2015/cookie/CookieModule.js +0 -33
- package/esm2015/directive/AspectRatioResizeDirective.js +0 -125
- package/esm2015/directive/AutoScrollBottomDirective.js +0 -107
- package/esm2015/directive/ClickToCopyDirective.js +0 -48
- package/esm2015/directive/ClickToSelectDirective.js +0 -48
- package/esm2015/directive/FocusDirective.js +0 -53
- package/esm2015/directive/HTMLContentTitleDirective.js +0 -70
- package/esm2015/directive/InfiniteScrollDirective.js +0 -69
- package/esm2015/directive/ResizeDirective.js +0 -75
- package/esm2015/directive/ScrollDirective.js +0 -124
- package/esm2015/directive/SelectOnFocusDirective.js +0 -46
- package/esm2015/form/FormElementSync.js +0 -62
- package/esm2015/form/validate.js +0 -61
- package/esm2015/language/LanguageDirective.js +0 -90
- package/esm2015/language/LanguageHasDirective.js +0 -93
- package/esm2015/language/LanguageMatPaginatorIntl.js +0 -54
- package/esm2015/language/LanguageModule.js +0 -62
- package/esm2015/language/LanguagePipe.js +0 -57
- package/esm2015/language/LanguagePipeHas.js +0 -55
- package/esm2015/language/LanguagePipeHasPure.js +0 -39
- package/esm2015/language/LanguagePipePure.js +0 -38
- package/esm2015/language/LanguageResolver.js +0 -23
- package/esm2015/login/LoginBaseService.js +0 -197
- package/esm2015/login/LoginGuard.js +0 -31
- package/esm2015/login/LoginRedirectResolver.js +0 -19
- package/esm2015/login/LoginRequireResolver.js +0 -36
- package/esm2015/login/LoginResolver.js +0 -30
- package/esm2015/notification/INotificationContent.js +0 -126
- package/esm2015/notification/NotificationImpl.js +0 -140
- package/esm2015/notification/NotificationModule.js +0 -40
- package/esm2015/notification/NotificationService.js +0 -248
- package/esm2015/notification/component/NotificationQuestionBaseComponent.js +0 -43
- package/esm2015/notification/component/notification/notification.component.js +0 -64
- package/esm2015/pipe/CamelCasePipe.js +0 -28
- package/esm2015/pipe/FinancePipe.js +0 -49
- package/esm2015/pipe/MomentDateAdaptivePipe.js +0 -47
- package/esm2015/pipe/MomentDateFromNowPipe.js +0 -18
- package/esm2015/pipe/MomentDatePipe.js +0 -67
- package/esm2015/pipe/MomentTimePipe.js +0 -31
- package/esm2015/pipe/NgModelErrorPipe.js +0 -41
- package/esm2015/pipe/PrettifyPipe.js +0 -35
- package/esm2015/pipe/SanitizePipe.js +0 -46
- package/esm2015/pipe/StartCasePipe.js +0 -20
- package/esm2015/pipe/TimePipe.js +0 -33
- package/esm2015/pipe/TruncatePipe.js +0 -21
- package/esm2015/public-api.js +0 -155
- package/esm2015/service/BootstrapBreakpointService.js +0 -118
- package/esm2015/service/RouterBaseService.js +0 -223
- package/esm2015/theme/ThemeAssetBackgroundDirective.js +0 -37
- package/esm2015/theme/ThemeAssetDirective.js +0 -204
- package/esm2015/theme/ThemeAssetImageDirective.js +0 -35
- package/esm2015/theme/ThemeModule.js +0 -57
- package/esm2015/theme/ThemeStyleDirective.js +0 -113
- package/esm2015/theme/ThemeStyleHoverDirective.js +0 -105
- package/esm2015/theme/ThemeToggleDirective.js +0 -61
- package/esm2015/ts-core-angular.js +0 -28
- package/esm2015/user/UserBaseService.js +0 -105
- package/esm2015/window/IWindowContent.js +0 -115
- package/esm2015/window/WindowImpl.js +0 -320
- package/esm2015/window/WindowModule.js +0 -46
- package/esm2015/window/WindowService.js +0 -349
- package/esm2015/window/component/WindowDragAreaDirective.js +0 -96
- package/esm2015/window/component/WindowElement.js +0 -78
- package/esm2015/window/component/window-close-element/window-close-element.component.js +0 -63
- package/esm2015/window/component/window-minimize-element/window-minimize-element.component.js +0 -83
- package/esm2015/window/component/window-question/window-question.component.js +0 -50
- package/esm2015/window/component/window-resize-element/window-resize-element.component.js +0 -62
- package/fesm2015/ts-core-angular.js.map +0 -1
- package/ts-core-angular.metadata.json +0 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Subject, filter, takeUntil } from 'rxjs';
|
|
2
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
3
|
+
import { WindowEvent } from '../window/IWindow';
|
|
4
|
+
import { WindowBase } from '../window/WindowBase';
|
|
5
|
+
import { NotificationEvent } from './INotification';
|
|
6
|
+
import * as _ from 'lodash';
|
|
7
|
+
export class NotificationImpl extends WindowBase {
|
|
8
|
+
// --------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Constructor
|
|
11
|
+
//
|
|
12
|
+
// --------------------------------------------------------------------------
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
super();
|
|
15
|
+
this.setClosed = () => {
|
|
16
|
+
this.emit(WindowEvent.CLOSED);
|
|
17
|
+
this.destroy();
|
|
18
|
+
};
|
|
19
|
+
this.setOpened = () => {
|
|
20
|
+
this.emit(WindowEvent.OPENED);
|
|
21
|
+
};
|
|
22
|
+
this.observer = new Subject();
|
|
23
|
+
this.properties = properties;
|
|
24
|
+
this.content.notification = this;
|
|
25
|
+
// Have to save for unsubscribe on destroy
|
|
26
|
+
this._container = this.properties.overlay.overlayElement;
|
|
27
|
+
this.setProperties();
|
|
28
|
+
this.getReference().afterOpened().pipe(takeUntil(this.destroyed)).subscribe(this.setOpened);
|
|
29
|
+
this.getReference().afterClosed().pipe(takeUntil(this.destroyed)).subscribe(this.setClosed);
|
|
30
|
+
this.observer
|
|
31
|
+
.pipe(filter(event => event === WindowEvent.CONTENT_READY), takeUntil(this.destroyed))
|
|
32
|
+
.subscribe(this.updatePosition);
|
|
33
|
+
}
|
|
34
|
+
// --------------------------------------------------------------------------
|
|
35
|
+
//
|
|
36
|
+
// Protected Methods
|
|
37
|
+
//
|
|
38
|
+
// --------------------------------------------------------------------------
|
|
39
|
+
setProperties() {
|
|
40
|
+
super.setProperties();
|
|
41
|
+
ViewUtil.addClass(this.container, 'vi-notification');
|
|
42
|
+
}
|
|
43
|
+
getConfig() {
|
|
44
|
+
return this.properties.config;
|
|
45
|
+
}
|
|
46
|
+
getContainer() {
|
|
47
|
+
return this.container;
|
|
48
|
+
}
|
|
49
|
+
getReference() {
|
|
50
|
+
return this.properties.reference;
|
|
51
|
+
}
|
|
52
|
+
// --------------------------------------------------------------------------
|
|
53
|
+
//
|
|
54
|
+
// Public Methods
|
|
55
|
+
//
|
|
56
|
+
// --------------------------------------------------------------------------
|
|
57
|
+
emit(event) {
|
|
58
|
+
this.observer.next(event);
|
|
59
|
+
}
|
|
60
|
+
close() {
|
|
61
|
+
this.getReference().close();
|
|
62
|
+
}
|
|
63
|
+
remove() {
|
|
64
|
+
this.close();
|
|
65
|
+
this.observer.next(NotificationEvent.REMOVED);
|
|
66
|
+
}
|
|
67
|
+
destroy() {
|
|
68
|
+
if (this.isDestroyed) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
super.destroy();
|
|
72
|
+
if (!_.isNil(this.observer)) {
|
|
73
|
+
this.observer.complete();
|
|
74
|
+
this.observer = null;
|
|
75
|
+
}
|
|
76
|
+
this.properties = null;
|
|
77
|
+
this._container = null;
|
|
78
|
+
}
|
|
79
|
+
// --------------------------------------------------------------------------
|
|
80
|
+
//
|
|
81
|
+
// Size Methods
|
|
82
|
+
//
|
|
83
|
+
// --------------------------------------------------------------------------
|
|
84
|
+
getWidth() {
|
|
85
|
+
return this.calculateWidth();
|
|
86
|
+
}
|
|
87
|
+
getHeight() {
|
|
88
|
+
return this.calculateHeight();
|
|
89
|
+
}
|
|
90
|
+
setWidth(value) {
|
|
91
|
+
this.width = value;
|
|
92
|
+
}
|
|
93
|
+
setHeight(value) {
|
|
94
|
+
this.height = value;
|
|
95
|
+
}
|
|
96
|
+
setSize(width, height) {
|
|
97
|
+
this.setWidth(width);
|
|
98
|
+
this.setHeight(height);
|
|
99
|
+
}
|
|
100
|
+
// --------------------------------------------------------------------------
|
|
101
|
+
//
|
|
102
|
+
// Move Methods
|
|
103
|
+
//
|
|
104
|
+
// --------------------------------------------------------------------------
|
|
105
|
+
getX() {
|
|
106
|
+
return this.x;
|
|
107
|
+
}
|
|
108
|
+
setX(value) {
|
|
109
|
+
this.x = value;
|
|
110
|
+
}
|
|
111
|
+
getY() {
|
|
112
|
+
return this.y;
|
|
113
|
+
}
|
|
114
|
+
setY(value) {
|
|
115
|
+
this.y = value;
|
|
116
|
+
}
|
|
117
|
+
move(x, y) {
|
|
118
|
+
this.setX(x);
|
|
119
|
+
this.setY(y);
|
|
120
|
+
}
|
|
121
|
+
// --------------------------------------------------------------------------
|
|
122
|
+
//
|
|
123
|
+
// Public Properties
|
|
124
|
+
//
|
|
125
|
+
// --------------------------------------------------------------------------
|
|
126
|
+
get events() {
|
|
127
|
+
return this.observer.asObservable();
|
|
128
|
+
}
|
|
129
|
+
get config() {
|
|
130
|
+
return this.properties.config;
|
|
131
|
+
}
|
|
132
|
+
get content() {
|
|
133
|
+
return this.properties.reference ? this.properties.reference.componentInstance : null;
|
|
134
|
+
}
|
|
135
|
+
get container() {
|
|
136
|
+
return this._container;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uSW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uSW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSW5FLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxnQkFBMEIsU0FBUSxVQUFVO0lBY3JELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUFrQztRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQWdDRixjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFUSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQXRDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRWpDLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUV6RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVGLElBQUksQ0FBQyxRQUFRO2FBQ1IsSUFBSSxDQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQ3BELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzVCO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxhQUFhO1FBQ25CLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QixRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBV1MsU0FBUztRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUNTLFlBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDUyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsSUFBSSxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLEtBQUs7UUFDUixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixnQkFBZ0I7SUFDaEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLElBQUk7UUFDUCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVNLElBQUksQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFFTSxJQUFJO1FBQ1AsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDTSxJQUFJLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRU0sSUFBSSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBXaW5kb3dFdmVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93JztcbmltcG9ydCB7IFdpbmRvd0Jhc2UgfSBmcm9tICcuLi93aW5kb3cvV2luZG93QmFzZSc7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25FdmVudCB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uQ29udGVudCB9IGZyb20gJy4vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29uZmlnIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25Db25maWcnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUHJvcGVydGllcyB9IGZyb20gJy4vTm90aWZpY2F0aW9uUHJvcGVydGllcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25JbXBsPFQgPSBhbnk+IGV4dGVuZHMgV2luZG93QmFzZSBpbXBsZW1lbnRzIElOb3RpZmljYXRpb24ge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllczogTm90aWZpY2F0aW9uUHJvcGVydGllcztcblxuICAgIHByb3RlY3RlZCB0aW1lcjogYW55O1xuICAgIHByb3RlY3RlZCBvYnNlcnZlcjogU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6IE5vdGlmaWNhdGlvblByb3BlcnRpZXMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICAgICAgdGhpcy5jb250ZW50Lm5vdGlmaWNhdGlvbiA9IHRoaXM7XG5cbiAgICAgICAgLy8gSGF2ZSB0byBzYXZlIGZvciB1bnN1YnNjcmliZSBvbiBkZXN0cm95XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IHRoaXMucHJvcGVydGllcy5vdmVybGF5Lm92ZXJsYXlFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuc2V0UHJvcGVydGllcygpO1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmFmdGVyT3BlbmVkKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodGhpcy5zZXRPcGVuZWQpO1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUodGhpcy5zZXRDbG9zZWQpO1xuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCA9PT0gV2luZG93RXZlbnQuQ09OVEVOVF9SRUFEWSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZVBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgVmlld1V0aWwuYWRkQ2xhc3ModGhpcy5jb250YWluZXIsICd2aS1ub3RpZmljYXRpb24nKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0Q2xvc2VkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuQ0xPU0VEKTtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBzZXRPcGVuZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5PUEVORUQpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q29uZmlnKCk6IE5vdGlmaWNhdGlvbkNvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BlcnRpZXMuY29uZmlnO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0Q29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0UmVmZXJlbmNlKCk6IE1hdERpYWxvZ1JlZjxJTm90aWZpY2F0aW9uQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGVtaXQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KE5vdGlmaWNhdGlvbkV2ZW50LlJFTU9WRUQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBTaXplIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlV2lkdGgoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUhlaWdodCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRXaWR0aCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2lkdGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SGVpZ2h0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2l6ZSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFdpZHRoKHdpZHRoKTtcbiAgICAgICAgdGhpcy5zZXRIZWlnaHQoaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIE1vdmUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRYKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLng7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFgodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0WSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy55O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0WSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMueSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtb3ZlKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0WCh4KTtcbiAgICAgICAgdGhpcy5zZXRZKHkpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbmZpZygpOiBOb3RpZmljYXRpb25Db25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLmNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRlbnQoKTogSU5vdGlmaWNhdGlvbkNvbnRlbnQ8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLnJlZmVyZW5jZSA/IHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2UuY29tcG9uZW50SW5zdGFuY2UgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
|
|
6
|
+
import { LanguageService } from '@ts-core/frontend/language';
|
|
7
|
+
import { LanguageModule } from '../language/LanguageModule';
|
|
8
|
+
import { NotificationBaseComponent } from './component/NotificationBaseComponent';
|
|
9
|
+
import { NotificationComponent } from './component/notification/notification.component';
|
|
10
|
+
import { NotificationFactory } from './NotificationFactory';
|
|
11
|
+
import { NotificationService } from './NotificationService';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
const IMPORTS = [CommonModule, FormsModule, MatDialogModule, MatButtonModule, LanguageModule];
|
|
14
|
+
const ENTRY_COMPONENTS = [];
|
|
15
|
+
const DECLARATIONS = [NotificationComponent, ...ENTRY_COMPONENTS];
|
|
16
|
+
const EXPORTS = [...DECLARATIONS];
|
|
17
|
+
export class NotificationModule {
|
|
18
|
+
// --------------------------------------------------------------------------
|
|
19
|
+
//
|
|
20
|
+
// Static Methods
|
|
21
|
+
//
|
|
22
|
+
// --------------------------------------------------------------------------
|
|
23
|
+
static forRoot() {
|
|
24
|
+
return {
|
|
25
|
+
ngModule: NotificationService,
|
|
26
|
+
providers: [
|
|
27
|
+
{
|
|
28
|
+
provide: NotificationService,
|
|
29
|
+
deps: [MatDialog, LanguageService],
|
|
30
|
+
useFactory: notificationServiceFactory
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
NotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
+
NotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationModule, declarations: [NotificationComponent], imports: [CommonModule, FormsModule, MatDialogModule, MatButtonModule, LanguageModule], exports: [NotificationComponent] });
|
|
38
|
+
NotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationModule, imports: [IMPORTS] });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationModule, decorators: [{
|
|
40
|
+
type: NgModule,
|
|
41
|
+
args: [{
|
|
42
|
+
imports: IMPORTS,
|
|
43
|
+
declarations: DECLARATIONS,
|
|
44
|
+
exports: EXPORTS
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
export function notificationServiceFactory(dialog, language) {
|
|
48
|
+
let item = new NotificationService(dialog, language);
|
|
49
|
+
item.factory = new NotificationFactory(NotificationBaseComponent);
|
|
50
|
+
item.questionComponent = NotificationComponent;
|
|
51
|
+
return item;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25Nb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUM5RixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUM1QixNQUFNLFlBQVksR0FBRyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztBQUVsRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFNbEMsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxPQUFPO1FBQ2pCLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO29CQUNsQyxVQUFVLEVBQUUsMEJBQTBCO2lCQUN6QzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OytHQWxCUSxrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFSVCxxQkFBcUIsYUFGMUIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGNBQWMsYUFFdEUscUJBQXFCO2dIQVE5QixrQkFBa0IsWUFKbEIsT0FBTzsyRkFJUCxrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsT0FBTztpQkFDbkI7O0FBc0JELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxNQUFpQixFQUFFLFFBQXlCO0lBQ25GLElBQUksSUFBSSxHQUFHLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztJQUMvQyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZC9sYW5ndWFnZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZHVsZSB9IGZyb20gJy4uL2xhbmd1YWdlL0xhbmd1YWdlTW9kdWxlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9Ob3RpZmljYXRpb25CYXNlQ29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkZhY3RvcnkgfSBmcm9tICcuL05vdGlmaWNhdGlvbkZhY3RvcnknO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vTm90aWZpY2F0aW9uU2VydmljZSc7XG5cbmNvbnN0IElNUE9SVFMgPSBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIExhbmd1YWdlTW9kdWxlXTtcbmNvbnN0IEVOVFJZX0NPTVBPTkVOVFMgPSBbXTtcbmNvbnN0IERFQ0xBUkFUSU9OUyA9IFtOb3RpZmljYXRpb25Db21wb25lbnQsIC4uLkVOVFJZX0NPTVBPTkVOVFNdO1xuXG5jb25zdCBFWFBPUlRTID0gWy4uLkRFQ0xBUkFUSU9OU107XG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IElNUE9SVFMsXG4gICAgZGVjbGFyYXRpb25zOiBERUNMQVJBVElPTlMsXG4gICAgZXhwb3J0czogRVhQT1JUU1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Nb2R1bGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tm90aWZpY2F0aW9uTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW01hdERpYWxvZywgTGFuZ3VhZ2VTZXJ2aWNlXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbm90aWZpY2F0aW9uU2VydmljZUZhY3RvcnlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm90aWZpY2F0aW9uU2VydmljZUZhY3RvcnkoZGlhbG9nOiBNYXREaWFsb2csIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2UpOiBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICBsZXQgaXRlbSA9IG5ldyBOb3RpZmljYXRpb25TZXJ2aWNlKGRpYWxvZywgbGFuZ3VhZ2UpO1xuICAgIGl0ZW0uZmFjdG9yeSA9IG5ldyBOb3RpZmljYXRpb25GYWN0b3J5KE5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQpO1xuICAgIGl0ZW0ucXVlc3Rpb25Db21wb25lbnQgPSBOb3RpZmljYXRpb25Db21wb25lbnQ7XG4gICAgcmV0dXJuIGl0ZW07XG59XG4iXX0=
|
|
File without changes
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ObservableData } from '@ts-core/common/observer';
|
|
3
|
+
import { ArrayUtil, DateUtil, ObjectUtil } from '@ts-core/common/util';
|
|
4
|
+
import * as _ from 'lodash';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { QuestionMode } from '../question/IQuestion';
|
|
7
|
+
import { QuestionManager } from '../question/QuestionManager';
|
|
8
|
+
import { WindowEvent } from '../window/IWindow';
|
|
9
|
+
import { WindowAlign } from '../window/WindowConfig';
|
|
10
|
+
import { NotificationEvent } from './INotification';
|
|
11
|
+
import { NotificationConfig } from './NotificationConfig';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/dialog";
|
|
14
|
+
import * as i2 from "@ts-core/frontend/language";
|
|
15
|
+
export class NotificationService {
|
|
16
|
+
// --------------------------------------------------------------------------
|
|
17
|
+
//
|
|
18
|
+
// Constructor
|
|
19
|
+
//
|
|
20
|
+
// --------------------------------------------------------------------------
|
|
21
|
+
constructor(dialog, language) {
|
|
22
|
+
this.gapY = 25;
|
|
23
|
+
this.minWidth = 25;
|
|
24
|
+
this.minHeight = 25;
|
|
25
|
+
this.paddingTop = 25;
|
|
26
|
+
this.paddingLeft = 25;
|
|
27
|
+
this.paddingRight = 25;
|
|
28
|
+
this.paddingBottom = 25;
|
|
29
|
+
this.defaultCloseDuration = 10 * DateUtil.MILISECONDS_SECOND;
|
|
30
|
+
this._configs = [];
|
|
31
|
+
this._closedConfigs = [];
|
|
32
|
+
this._notifications = new Map();
|
|
33
|
+
this.dialog = dialog;
|
|
34
|
+
this.language = language;
|
|
35
|
+
this.observer = new Subject();
|
|
36
|
+
}
|
|
37
|
+
// --------------------------------------------------------------------------
|
|
38
|
+
//
|
|
39
|
+
// Public Methods
|
|
40
|
+
//
|
|
41
|
+
// --------------------------------------------------------------------------
|
|
42
|
+
open(component, config) {
|
|
43
|
+
let notification = null;
|
|
44
|
+
if (!_.isNil(config.id)) {
|
|
45
|
+
notification = this.getById(config.id);
|
|
46
|
+
if (notification) {
|
|
47
|
+
return notification.content;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
this.setDefaultProperties(config);
|
|
51
|
+
let reference = this.dialog.open(component, config);
|
|
52
|
+
notification = this.factory.create({ config, reference, overlay: reference._overlayRef });
|
|
53
|
+
let subscription = notification.events.subscribe(event => {
|
|
54
|
+
switch (event) {
|
|
55
|
+
case WindowEvent.OPENED:
|
|
56
|
+
this.add(config, reference.componentInstance);
|
|
57
|
+
this.checkPosition(notification);
|
|
58
|
+
if (config.sound) {
|
|
59
|
+
// Assets.playSound(config.sound);
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
case WindowEvent.CLOSED:
|
|
63
|
+
subscription.unsubscribe();
|
|
64
|
+
this.close(config);
|
|
65
|
+
break;
|
|
66
|
+
case NotificationEvent.REMOVED:
|
|
67
|
+
subscription.unsubscribe();
|
|
68
|
+
this.remove(config);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return notification.content;
|
|
73
|
+
}
|
|
74
|
+
// --------------------------------------------------------------------------
|
|
75
|
+
//
|
|
76
|
+
// Private Methods
|
|
77
|
+
//
|
|
78
|
+
// --------------------------------------------------------------------------
|
|
79
|
+
getById(id) {
|
|
80
|
+
let item = _.find(Array.from(this._notifications.values()), item => item.config.id === id);
|
|
81
|
+
return !_.isNil(item) ? item.notification : null;
|
|
82
|
+
}
|
|
83
|
+
setDefaultProperties(config) {
|
|
84
|
+
if (_.isNaN(config.defaultMinWidth)) {
|
|
85
|
+
config.defaultMinWidth = this.minWidth;
|
|
86
|
+
}
|
|
87
|
+
if (_.isNaN(config.defaultMinHeight)) {
|
|
88
|
+
config.defaultMinHeight = this.minHeight;
|
|
89
|
+
}
|
|
90
|
+
if (_.isNaN(config.paddingTop)) {
|
|
91
|
+
config.paddingTop = this.paddingTop;
|
|
92
|
+
}
|
|
93
|
+
if (_.isNaN(config.paddingLeft)) {
|
|
94
|
+
config.paddingLeft = this.paddingLeft;
|
|
95
|
+
}
|
|
96
|
+
if (_.isNaN(config.paddingRight)) {
|
|
97
|
+
config.paddingRight = this.paddingRight;
|
|
98
|
+
}
|
|
99
|
+
if (_.isNaN(config.paddingBottom)) {
|
|
100
|
+
config.paddingBottom = this.paddingBottom;
|
|
101
|
+
}
|
|
102
|
+
if (_.isNaN(config.closeDuration)) {
|
|
103
|
+
config.closeDuration = this.defaultCloseDuration;
|
|
104
|
+
}
|
|
105
|
+
config.verticalAlign = WindowAlign.START;
|
|
106
|
+
config.horizontalAlign = WindowAlign.END;
|
|
107
|
+
config.setDefaultProperties();
|
|
108
|
+
}
|
|
109
|
+
checkPosition(item) {
|
|
110
|
+
let previous = this.getPrevious(item);
|
|
111
|
+
if (!_.isNil(previous)) {
|
|
112
|
+
item.setY(previous.getY() + previous.getHeight() + this.gapY);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
getPrevious(value) {
|
|
116
|
+
if (this.notifications.size === 0) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
let items = Array.from(this.notifications.values());
|
|
120
|
+
for (let i = 0; i < items.length; i++) {
|
|
121
|
+
if (items[i].notification === value) {
|
|
122
|
+
if (i === 0) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
return items[i - 1].notification;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
// --------------------------------------------------------------------------
|
|
131
|
+
//
|
|
132
|
+
// Setters Methods
|
|
133
|
+
//
|
|
134
|
+
// --------------------------------------------------------------------------
|
|
135
|
+
add(config, content) {
|
|
136
|
+
this._configs.push(config);
|
|
137
|
+
this.observer.next(new ObservableData(NotificationServiceEvent.ADDED, config));
|
|
138
|
+
this._notifications.set(config, content);
|
|
139
|
+
this.observer.next(new ObservableData(NotificationServiceEvent.OPENED, content.notification));
|
|
140
|
+
}
|
|
141
|
+
// --------------------------------------------------------------------------
|
|
142
|
+
//
|
|
143
|
+
// Help Methods
|
|
144
|
+
//
|
|
145
|
+
// --------------------------------------------------------------------------
|
|
146
|
+
get(value) {
|
|
147
|
+
if (_.isNil(value)) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
if (value instanceof NotificationConfig) {
|
|
151
|
+
return value;
|
|
152
|
+
}
|
|
153
|
+
let id = value.toString();
|
|
154
|
+
if (ObjectUtil.instanceOf(value, ['id'])) {
|
|
155
|
+
id = value.id;
|
|
156
|
+
}
|
|
157
|
+
for (let item of this.configs) {
|
|
158
|
+
if (item.id === id) {
|
|
159
|
+
return item;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
has(value) {
|
|
165
|
+
return !_.isNil(this.get(value));
|
|
166
|
+
}
|
|
167
|
+
remove(value) {
|
|
168
|
+
let config = this.get(value);
|
|
169
|
+
if (_.isNil(config)) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
this.close(config);
|
|
173
|
+
ArrayUtil.remove(this._configs, config);
|
|
174
|
+
ArrayUtil.remove(this._closedConfigs, config);
|
|
175
|
+
this.observer.next(new ObservableData(NotificationServiceEvent.REMOVED, config));
|
|
176
|
+
config.destroy();
|
|
177
|
+
}
|
|
178
|
+
removeAll() {
|
|
179
|
+
this.configs.forEach(item => this.remove(item));
|
|
180
|
+
}
|
|
181
|
+
close(value) {
|
|
182
|
+
let config = this.get(value);
|
|
183
|
+
if (_.isNil(config)) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
let notification = this._notifications.get(config);
|
|
187
|
+
if (_.isNil(notification)) {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
notification.close();
|
|
191
|
+
this._notifications.delete(config);
|
|
192
|
+
this._closedConfigs.push(config);
|
|
193
|
+
this.observer.next(new ObservableData(NotificationServiceEvent.CLOSED, notification.notification));
|
|
194
|
+
return notification.notification;
|
|
195
|
+
}
|
|
196
|
+
info(translationId, translation, questionOptions, configOptions) {
|
|
197
|
+
let text = this.language.translate(translationId, translation);
|
|
198
|
+
let data = new QuestionManager(_.assign(questionOptions, { mode: QuestionMode.INFO, text }));
|
|
199
|
+
let config = _.assign(new NotificationConfig(data), configOptions);
|
|
200
|
+
return this.open(this.questionComponent, config).config.data;
|
|
201
|
+
}
|
|
202
|
+
question(translationId, translation, questionOptions, configOptions) {
|
|
203
|
+
let text = this.language.translate(translationId, translation);
|
|
204
|
+
let data = new QuestionManager(_.assign(questionOptions, { mode: QuestionMode.QUESTION, text }));
|
|
205
|
+
let config = _.assign(new NotificationConfig(data), configOptions);
|
|
206
|
+
return this.open(this.questionComponent, config).config.data;
|
|
207
|
+
}
|
|
208
|
+
// --------------------------------------------------------------------------
|
|
209
|
+
//
|
|
210
|
+
// Public Properties
|
|
211
|
+
//
|
|
212
|
+
// --------------------------------------------------------------------------
|
|
213
|
+
get events() {
|
|
214
|
+
return this.observer.asObservable();
|
|
215
|
+
}
|
|
216
|
+
get configs() {
|
|
217
|
+
return this._configs;
|
|
218
|
+
}
|
|
219
|
+
get closedConfigs() {
|
|
220
|
+
return this._closedConfigs;
|
|
221
|
+
}
|
|
222
|
+
get notifications() {
|
|
223
|
+
return this._notifications;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationService, deps: [{ token: i1.MatDialog }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
227
|
+
NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationService, providedIn: 'root' });
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationService, decorators: [{
|
|
229
|
+
type: Injectable,
|
|
230
|
+
args: [{ providedIn: 'root' }]
|
|
231
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.LanguageService }]; } });
|
|
232
|
+
export var NotificationServiceEvent;
|
|
233
|
+
(function (NotificationServiceEvent) {
|
|
234
|
+
NotificationServiceEvent["OPENED"] = "OPENED";
|
|
235
|
+
NotificationServiceEvent["CLOSED"] = "CLOSED";
|
|
236
|
+
NotificationServiceEvent["ADDED"] = "ADDED";
|
|
237
|
+
NotificationServiceEvent["REMOVED"] = "REMOVED";
|
|
238
|
+
})(NotificationServiceEvent || (NotificationServiceEvent = {}));
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBK0IsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUlyRixNQUFNLE9BQU8sbUJBQW1CO0lBK0I1Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBaUIsRUFBRSxRQUF5QjtRQWxCakQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEVBQUUs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LENBQUMsTUFBTSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7O2dIQTlRUSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBb1JsQyxNQUFNLENBQU4sSUFBWSx3QkFLWDtBQUxELFdBQVksd0JBQXdCO0lBQ2hDLDZDQUFpQixDQUFBO0lBQ2pCLDZDQUFpQixDQUFBO0lBQ2pCLDJDQUFlLENBQUE7SUFDZiwrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQUtuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL29ic2VydmVyJztcbmltcG9ydCB7IEFycmF5VXRpbCwgRGF0ZVV0aWwsIE9iamVjdFV0aWwgfSBmcm9tICdAdHMtY29yZS9jb21tb24vdXRpbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZC9sYW5ndWFnZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJUXVlc3Rpb24sIElRdWVzdGlvbk9wdGlvbnMsIFF1ZXN0aW9uTW9kZSB9IGZyb20gJy4uL3F1ZXN0aW9uL0lRdWVzdGlvbic7XG5pbXBvcnQgeyBRdWVzdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9xdWVzdGlvbi9RdWVzdGlvbk1hbmFnZXInO1xuaW1wb3J0IHsgV2luZG93RXZlbnQgfSBmcm9tICcuLi93aW5kb3cvSVdpbmRvdyc7XG5pbXBvcnQgeyBXaW5kb3dBbGlnbiB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dDb25maWcnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiwgTm90aWZpY2F0aW9uRXZlbnQgfSBmcm9tICcuL0lOb3RpZmljYXRpb24nO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbkNvbnRlbnQgfSBmcm9tICcuL0lOb3RpZmljYXRpb25Db250ZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNvbmZpZywgTm90aWZpY2F0aW9uQ29uZmlnT3B0aW9ucyB9IGZyb20gJy4vTm90aWZpY2F0aW9uQ29uZmlnJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkZhY3RvcnkgfSBmcm9tICcuL05vdGlmaWNhdGlvbkZhY3RvcnknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZmFjdG9yeTogTm90aWZpY2F0aW9uRmFjdG9yeTxJTm90aWZpY2F0aW9uPjtcbiAgICBwdWJsaWMgcXVlc3Rpb25Db21wb25lbnQ6IENvbXBvbmVudFR5cGU8SU5vdGlmaWNhdGlvbkNvbnRlbnQ8YW55Pj47XG5cbiAgICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2c7XG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2U7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ3M6IEFycmF5PE5vdGlmaWNhdGlvbkNvbmZpZz47XG4gICAgcHJvdGVjdGVkIF9jbG9zZWRDb25maWdzOiBBcnJheTxOb3RpZmljYXRpb25Db25maWc+O1xuICAgIHByb3RlY3RlZCBfbm90aWZpY2F0aW9uczogTWFwPE5vdGlmaWNhdGlvbkNvbmZpZywgSU5vdGlmaWNhdGlvbkNvbnRlbnQ8YW55Pj47XG5cbiAgICBwcml2YXRlIG9ic2VydmVyOiBTdWJqZWN0PE9ic2VydmFibGVEYXRhPE5vdGlmaWNhdGlvblNlcnZpY2VFdmVudCwgSU5vdGlmaWNhdGlvbiB8IE5vdGlmaWNhdGlvbkNvbmZpZz4+O1xuXG4gICAgcHVibGljIGdhcFk6IG51bWJlciA9IDI1O1xuXG4gICAgcHVibGljIG1pbldpZHRoOiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgbWluSGVpZ2h0OiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBwYWRkaW5nVG9wOiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgcGFkZGluZ0xlZnQ6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBwYWRkaW5nUmlnaHQ6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBwYWRkaW5nQm90dG9tOiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBkZWZhdWx0Q2xvc2VEdXJhdGlvbjogbnVtYmVyID0gMTAgKiBEYXRlVXRpbC5NSUxJU0VDT05EU19TRUNPTkQ7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGRpYWxvZzogTWF0RGlhbG9nLCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ3MgPSBbXTtcbiAgICAgICAgdGhpcy5fY2xvc2VkQ29uZmlncyA9IFtdO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nID0gZGlhbG9nO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIG9wZW48VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPElOb3RpZmljYXRpb25Db250ZW50PFQ+PiwgY29uZmlnOiBOb3RpZmljYXRpb25Db25maWcpOiBJTm90aWZpY2F0aW9uQ29udGVudDxUPiB7XG4gICAgICAgIGxldCBub3RpZmljYXRpb24gPSBudWxsO1xuICAgICAgICBpZiAoIV8uaXNOaWwoY29uZmlnLmlkKSkge1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uID0gdGhpcy5nZXRCeUlkKGNvbmZpZy5pZCk7XG4gICAgICAgICAgICBpZiAobm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi5jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXREZWZhdWx0UHJvcGVydGllcyhjb25maWcpO1xuXG4gICAgICAgIGxldCByZWZlcmVuY2U6IE1hdERpYWxvZ1JlZjxJTm90aWZpY2F0aW9uQ29udGVudDxUPj4gPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcbiAgICAgICAgbm90aWZpY2F0aW9uID0gdGhpcy5mYWN0b3J5LmNyZWF0ZSh7IGNvbmZpZywgcmVmZXJlbmNlLCBvdmVybGF5OiAocmVmZXJlbmNlIGFzIGFueSkuX292ZXJsYXlSZWYgfSk7XG5cbiAgICAgICAgbGV0IHN1YnNjcmlwdGlvbiA9IG5vdGlmaWNhdGlvbi5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFdpbmRvd0V2ZW50Lk9QRU5FRDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGQoY29uZmlnLCByZWZlcmVuY2UuY29tcG9uZW50SW5zdGFuY2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrUG9zaXRpb24obm90aWZpY2F0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5zb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXNzZXRzLnBsYXlTb3VuZChjb25maWcuc291bmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dFdmVudC5DTE9TRUQ6XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBOb3RpZmljYXRpb25FdmVudC5SRU1PVkVEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmUoY29uZmlnKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uLmNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBnZXRCeUlkKGlkOiBzdHJpbmcpOiBJTm90aWZpY2F0aW9uIHtcbiAgICAgICAgbGV0IGl0ZW0gPSBfLmZpbmQoQXJyYXkuZnJvbSh0aGlzLl9ub3RpZmljYXRpb25zLnZhbHVlcygpKSwgaXRlbSA9PiBpdGVtLmNvbmZpZy5pZCA9PT0gaWQpO1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwoaXRlbSkgPyBpdGVtLm5vdGlmaWNhdGlvbiA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0UHJvcGVydGllcyhjb25maWc6IE5vdGlmaWNhdGlvbkNvbmZpZyk6IHZvaWQge1xuICAgICAgICBpZiAoXy5pc05hTihjb25maWcuZGVmYXVsdE1pbldpZHRoKSkge1xuICAgICAgICAgICAgY29uZmlnLmRlZmF1bHRNaW5XaWR0aCA9IHRoaXMubWluV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLmRlZmF1bHRNaW5IZWlnaHQpKSB7XG4gICAgICAgICAgICBjb25maWcuZGVmYXVsdE1pbkhlaWdodCA9IHRoaXMubWluSGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICBjb25maWcucGFkZGluZ1RvcCA9IHRoaXMucGFkZGluZ1RvcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcucGFkZGluZ0xlZnQpKSB7XG4gICAgICAgICAgICBjb25maWcucGFkZGluZ0xlZnQgPSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5wYWRkaW5nUmlnaHQpKSB7XG4gICAgICAgICAgICBjb25maWcucGFkZGluZ1JpZ2h0ID0gdGhpcy5wYWRkaW5nUmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLnBhZGRpbmdCb3R0b20pKSB7XG4gICAgICAgICAgICBjb25maWcucGFkZGluZ0JvdHRvbSA9IHRoaXMucGFkZGluZ0JvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5jbG9zZUR1cmF0aW9uKSkge1xuICAgICAgICAgICAgY29uZmlnLmNsb3NlRHVyYXRpb24gPSB0aGlzLmRlZmF1bHRDbG9zZUR1cmF0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uZmlnLnZlcnRpY2FsQWxpZ24gPSBXaW5kb3dBbGlnbi5TVEFSVDtcbiAgICAgICAgY29uZmlnLmhvcml6b250YWxBbGlnbiA9IFdpbmRvd0FsaWduLkVORDtcbiAgICAgICAgY29uZmlnLnNldERlZmF1bHRQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1Bvc2l0aW9uKGl0ZW06IElOb3RpZmljYXRpb24pOiB2b2lkIHtcbiAgICAgICAgbGV0IHByZXZpb3VzID0gdGhpcy5nZXRQcmV2aW91cyhpdGVtKTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHByZXZpb3VzKSkge1xuICAgICAgICAgICAgaXRlbS5zZXRZKHByZXZpb3VzLmdldFkoKSArIHByZXZpb3VzLmdldEhlaWdodCgpICsgdGhpcy5nYXBZKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldmlvdXModmFsdWU6IElOb3RpZmljYXRpb24pOiBJTm90aWZpY2F0aW9uIHtcbiAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9ucy5zaXplID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpdGVtcyA9IEFycmF5LmZyb20odGhpcy5ub3RpZmljYXRpb25zLnZhbHVlcygpKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGl0ZW1zW2ldLm5vdGlmaWNhdGlvbiA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1zW2kgLSAxXS5ub3RpZmljYXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U2V0dGVycyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBhZGQ8VD4oY29uZmlnOiBOb3RpZmljYXRpb25Db25maWcsIGNvbnRlbnQ6IElOb3RpZmljYXRpb25Db250ZW50PFQ+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ3MucHVzaChjb25maWcpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKE5vdGlmaWNhdGlvblNlcnZpY2VFdmVudC5BRERFRCwgY29uZmlnKSk7XG5cbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucy5zZXQoY29uZmlnLCBjb250ZW50KTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQuT1BFTkVELCBjb250ZW50Lm5vdGlmaWNhdGlvbikpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdEhlbHAgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQodmFsdWU6IE5vdGlmaWNhdGlvbklkKTogTm90aWZpY2F0aW9uQ29uZmlnIHtcbiAgICAgICAgaWYgKF8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBOb3RpZmljYXRpb25Db25maWcpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpZCA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmluc3RhbmNlT2Y8Tm90aWZpY2F0aW9uQ29uZmlnT3B0aW9ucz4odmFsdWUsIFsnaWQnXSkpIHtcbiAgICAgICAgICAgIGlkID0gdmFsdWUuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmNvbmZpZ3MpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSBpZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXModmFsdWU6IE5vdGlmaWNhdGlvbklkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLmdldCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUodmFsdWU6IE5vdGlmaWNhdGlvbklkKTogdm9pZCB7XG4gICAgICAgIGxldCBjb25maWcgPSB0aGlzLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmIChfLmlzTmlsKGNvbmZpZykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xvc2UoY29uZmlnKTtcbiAgICAgICAgQXJyYXlVdGlsLnJlbW92ZSh0aGlzLl9jb25maWdzLCBjb25maWcpO1xuICAgICAgICBBcnJheVV0aWwucmVtb3ZlKHRoaXMuX2Nsb3NlZENvbmZpZ3MsIGNvbmZpZyk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTm90aWZpY2F0aW9uU2VydmljZUV2ZW50LlJFTU9WRUQsIGNvbmZpZykpO1xuICAgICAgICBjb25maWcuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlncy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5yZW1vdmUoaXRlbSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSh2YWx1ZTogTm90aWZpY2F0aW9uSWQpOiBJTm90aWZpY2F0aW9uIHtcbiAgICAgICAgbGV0IGNvbmZpZyA9IHRoaXMuZ2V0KHZhbHVlKTtcbiAgICAgICAgaWYgKF8uaXNOaWwoY29uZmlnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbm90aWZpY2F0aW9uID0gdGhpcy5fbm90aWZpY2F0aW9ucy5nZXQoY29uZmlnKTtcbiAgICAgICAgaWYgKF8uaXNOaWwobm90aWZpY2F0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBub3RpZmljYXRpb24uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucy5kZWxldGUoY29uZmlnKTtcblxuICAgICAgICB0aGlzLl9jbG9zZWRDb25maWdzLnB1c2goY29uZmlnKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQuQ0xPU0VELCBub3RpZmljYXRpb24ubm90aWZpY2F0aW9uKSk7XG4gICAgICAgIHJldHVybiBub3RpZmljYXRpb24ubm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbmZvKHRyYW5zbGF0aW9uSWQ/OiBzdHJpbmcsIHRyYW5zbGF0aW9uPzogYW55LCBxdWVzdGlvbk9wdGlvbnM/OiBJUXVlc3Rpb25PcHRpb25zLCBjb25maWdPcHRpb25zPzogTm90aWZpY2F0aW9uQ29uZmlnT3B0aW9ucyk6IElRdWVzdGlvbiB7XG4gICAgICAgIGxldCB0ZXh0ID0gdGhpcy5sYW5ndWFnZS50cmFuc2xhdGUodHJhbnNsYXRpb25JZCwgdHJhbnNsYXRpb24pO1xuICAgICAgICBsZXQgZGF0YSA9IG5ldyBRdWVzdGlvbk1hbmFnZXIoXy5hc3NpZ24ocXVlc3Rpb25PcHRpb25zLCB7IG1vZGU6IFF1ZXN0aW9uTW9kZS5JTkZPLCB0ZXh0IH0pKTtcbiAgICAgICAgbGV0IGNvbmZpZyA9IF8uYXNzaWduKG5ldyBOb3RpZmljYXRpb25Db25maWcoZGF0YSksIGNvbmZpZ09wdGlvbnMpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKHRoaXMucXVlc3Rpb25Db21wb25lbnQsIGNvbmZpZykuY29uZmlnLmRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIHF1ZXN0aW9uKHRyYW5zbGF0aW9uSWQ/OiBzdHJpbmcsIHRyYW5zbGF0aW9uPzogYW55LCBxdWVzdGlvbk9wdGlvbnM/OiBJUXVlc3Rpb25PcHRpb25zLCBjb25maWdPcHRpb25zPzogTm90aWZpY2F0aW9uQ29uZmlnT3B0aW9ucyk6IElRdWVzdGlvbiB7XG4gICAgICAgIGxldCB0ZXh0ID0gdGhpcy5sYW5ndWFnZS50cmFuc2xhdGUodHJhbnNsYXRpb25JZCwgdHJhbnNsYXRpb24pO1xuICAgICAgICBsZXQgZGF0YSA9IG5ldyBRdWVzdGlvbk1hbmFnZXIoXy5hc3NpZ24ocXVlc3Rpb25PcHRpb25zLCB7IG1vZGU6IFF1ZXN0aW9uTW9kZS5RVUVTVElPTiwgdGV4dCB9KSk7XG4gICAgICAgIGxldCBjb25maWcgPSBfLmFzc2lnbihuZXcgTm90aWZpY2F0aW9uQ29uZmlnKGRhdGEpLCBjb25maWdPcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3Blbih0aGlzLnF1ZXN0aW9uQ29tcG9uZW50LCBjb25maWcpLmNvbmZpZy5kYXRhO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxPYnNlcnZhYmxlRGF0YTxOb3RpZmljYXRpb25TZXJ2aWNlRXZlbnQsIE5vdGlmaWNhdGlvbkNvbmZpZyB8IElOb3RpZmljYXRpb24+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29uZmlncygpOiBBcnJheTxOb3RpZmljYXRpb25Db25maWc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3M7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjbG9zZWRDb25maWdzKCk6IEFycmF5PE5vdGlmaWNhdGlvbkNvbmZpZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xvc2VkQ29uZmlncztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5vdGlmaWNhdGlvbnMoKTogTWFwPE5vdGlmaWNhdGlvbkNvbmZpZywgSU5vdGlmaWNhdGlvbkNvbnRlbnQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9ucztcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbklkID0gc3RyaW5nIHwgTm90aWZpY2F0aW9uQ29uZmlnIHwgTm90aWZpY2F0aW9uQ29uZmlnT3B0aW9ucztcblxuZXhwb3J0IGVudW0gTm90aWZpY2F0aW9uU2VydmljZUV2ZW50IHtcbiAgICBPUEVORUQgPSAnT1BFTkVEJyxcbiAgICBDTE9TRUQgPSAnQ0xPU0VEJyxcbiAgICBBRERFRCA9ICdBRERFRCcsXG4gICAgUkVNT1ZFRCA9ICdSRU1PVkVEJ1xufVxuIl19
|
|
File without changes
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { HostListener, Injectable } from '@angular/core';
|
|
2
|
+
import { INotificationContent } from '../../notification/INotificationContent';
|
|
3
|
+
import { ViewUtil } from '../../util/ViewUtil';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NotificationQuestionBaseComponent extends INotificationContent {
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Protected Methods
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
commitConfigProperties() {
|
|
12
|
+
super.commitConfigProperties();
|
|
13
|
+
if (this.isInfo) {
|
|
14
|
+
ViewUtil.addClass(this.container, 'mouse-active');
|
|
15
|
+
}
|
|
16
|
+
this.data.closePromise.then(() => {
|
|
17
|
+
if (!this.isDestroyed) {
|
|
18
|
+
this.remove();
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
// --------------------------------------------------------------------------
|
|
23
|
+
//
|
|
24
|
+
// Event Handlers
|
|
25
|
+
//
|
|
26
|
+
// --------------------------------------------------------------------------
|
|
27
|
+
clickHandler() {
|
|
28
|
+
if (this.isInfo) {
|
|
29
|
+
this.data.closeClickHandler();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// --------------------------------------------------------------------------
|
|
33
|
+
//
|
|
34
|
+
// Protected Properties
|
|
35
|
+
//
|
|
36
|
+
// --------------------------------------------------------------------------
|
|
37
|
+
get isInfo() {
|
|
38
|
+
return this.data ? this.data.isInfo : false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
NotificationQuestionBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationQuestionBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
NotificationQuestionBaseComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationQuestionBaseComponent });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NotificationQuestionBaseComponent, decorators: [{
|
|
44
|
+
type: Injectable
|
|
45
|
+
}], propDecorators: { clickHandler: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['click']
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUXVlc3Rpb25CYXNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vdGlmaWNhdGlvbi9jb21wb25lbnQvTm90aWZpY2F0aW9uUXVlc3Rpb25CYXNlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHL0MsTUFBTSxPQUFnQixpQ0FBa0MsU0FBUSxvQkFBcUM7SUFDakcsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxzQkFBc0I7UUFDNUIsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUd0RSxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBYyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDOzs4SEExQ2lCLGlDQUFpQztrSUFBakMsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBRHRELFVBQVU7OEJBNkJBLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvc3RMaXN0ZW5lciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbkNvbnRlbnQgfSBmcm9tICcuLi8uLi9ub3RpZmljYXRpb24vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuaW1wb3J0IHsgUXVlc3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vcXVlc3Rpb24vUXVlc3Rpb25NYW5hZ2VyJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb3RpZmljYXRpb25RdWVzdGlvbkJhc2VDb21wb25lbnQgZXh0ZW5kcyBJTm90aWZpY2F0aW9uQ29udGVudDxRdWVzdGlvbk1hbmFnZXI+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRDb25maWdQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5jb21taXRDb25maWdQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNJbmZvKSB7XG4gICAgICAgICAgICBWaWV3VXRpbC5hZGRDbGFzcyh0aGlzLmNvbnRhaW5lciwgJ21vdXNlLWFjdGl2ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhLmNsb3NlUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIHB1YmxpYyBjbGlja0hhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzSW5mbykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLmNsb3NlQ2xpY2tIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm90ZWN0ZWQgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNJbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhID8gdGhpcy5kYXRhLmlzSW5mbyA6IGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
|