@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,127 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { DestroyableContainer } from '@ts-core/common';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
import { ResizeManager } from '../manager/ResizeManager';
|
|
5
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class AspectRatioResizeDirective extends DestroyableContainer {
|
|
8
|
+
// --------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Constructor
|
|
11
|
+
//
|
|
12
|
+
// --------------------------------------------------------------------------
|
|
13
|
+
constructor(element) {
|
|
14
|
+
super();
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
//
|
|
17
|
+
// Properties
|
|
18
|
+
//
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
20
|
+
this._ratio = NaN;
|
|
21
|
+
// --------------------------------------------------------------------------
|
|
22
|
+
//
|
|
23
|
+
// Private Methods
|
|
24
|
+
//
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
this.commitResizeProperties = () => {
|
|
27
|
+
switch (this.direction) {
|
|
28
|
+
case Direction.HORIZONTAL:
|
|
29
|
+
this.width = this.height / this.ratio;
|
|
30
|
+
break;
|
|
31
|
+
case Direction.VERTICAL:
|
|
32
|
+
this.height = this.width * this.ratio;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
this.element = ViewUtil.parseElement(element.nativeElement);
|
|
37
|
+
}
|
|
38
|
+
// --------------------------------------------------------------------------
|
|
39
|
+
//
|
|
40
|
+
// Public Methods
|
|
41
|
+
//
|
|
42
|
+
// --------------------------------------------------------------------------
|
|
43
|
+
ngAfterViewInit() {
|
|
44
|
+
this.sensor = new ResizeManager(this.element, this.commitResizeProperties, AspectRatioResizeDirective.UPDATE_DELAY);
|
|
45
|
+
if (_.isNaN(this.ratio)) {
|
|
46
|
+
this.ratio = 4 / 3;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
destroy() {
|
|
50
|
+
if (this.isDestroyed) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
super.destroy();
|
|
54
|
+
this.element = null;
|
|
55
|
+
if (!_.isNil(this.sensor)) {
|
|
56
|
+
this.sensor.destroy();
|
|
57
|
+
this.sensor = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// --------------------------------------------------------------------------
|
|
61
|
+
//
|
|
62
|
+
// Private Properties
|
|
63
|
+
//
|
|
64
|
+
// --------------------------------------------------------------------------
|
|
65
|
+
get width() {
|
|
66
|
+
return ViewUtil.getWidth(this.element);
|
|
67
|
+
}
|
|
68
|
+
set width(value) {
|
|
69
|
+
ViewUtil.setWidth(this.element, value, true);
|
|
70
|
+
}
|
|
71
|
+
get height() {
|
|
72
|
+
return ViewUtil.getHeight(this.element);
|
|
73
|
+
}
|
|
74
|
+
set height(value) {
|
|
75
|
+
ViewUtil.setHeight(this.element, value, true);
|
|
76
|
+
}
|
|
77
|
+
// --------------------------------------------------------------------------
|
|
78
|
+
//
|
|
79
|
+
// Public Properties
|
|
80
|
+
//
|
|
81
|
+
// --------------------------------------------------------------------------
|
|
82
|
+
set direction(value) {
|
|
83
|
+
if (value === this._direction || _.isNil(value)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this._direction = value;
|
|
87
|
+
this.commitResizeProperties();
|
|
88
|
+
}
|
|
89
|
+
get direction() {
|
|
90
|
+
return this._direction;
|
|
91
|
+
}
|
|
92
|
+
set ratio(value) {
|
|
93
|
+
if (value === this._ratio) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this._ratio = value;
|
|
97
|
+
this.commitResizeProperties();
|
|
98
|
+
}
|
|
99
|
+
get ratio() {
|
|
100
|
+
return this._ratio;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// --------------------------------------------------------------------------
|
|
104
|
+
//
|
|
105
|
+
// Static Properties
|
|
106
|
+
//
|
|
107
|
+
// --------------------------------------------------------------------------
|
|
108
|
+
AspectRatioResizeDirective.UPDATE_DELAY = 100;
|
|
109
|
+
AspectRatioResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AspectRatioResizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
110
|
+
AspectRatioResizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: AspectRatioResizeDirective, selector: "[vi-aspect-ratio]", inputs: { direction: ["vi-aspect-ratio", "direction"], ratio: "ratio" }, usesInheritance: true, ngImport: i0 });
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AspectRatioResizeDirective, decorators: [{
|
|
112
|
+
type: Directive,
|
|
113
|
+
args: [{
|
|
114
|
+
selector: '[vi-aspect-ratio]'
|
|
115
|
+
}]
|
|
116
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { direction: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: ['vi-aspect-ratio']
|
|
119
|
+
}], ratio: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}] } });
|
|
122
|
+
export var Direction;
|
|
123
|
+
(function (Direction) {
|
|
124
|
+
Direction["VERTICAL"] = "VERTICAL";
|
|
125
|
+
Direction["HORIZONTAL"] = "HORIZONTAL";
|
|
126
|
+
})(Direction || (Direction = {}));
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlyZWN0aXZlL0FzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUs1QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0JBQW9CO0lBcUJoRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUM7UUFuQlosNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixhQUFhO1FBQ2IsRUFBRTtRQUNGLDZFQUE2RTtRQUVyRSxXQUFNLEdBQVcsR0FBRyxDQUFDO1FBaUI3Qiw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGtCQUFrQjtRQUNsQixFQUFFO1FBQ0YsNkVBQTZFO1FBRXJFLDJCQUFzQixHQUFHLEdBQVMsRUFBRTtZQUN4QyxRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BCLEtBQUssU0FBUyxDQUFDLFVBQVU7b0JBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUN0QyxNQUFNO2dCQUNWLEtBQUssU0FBUyxDQUFDLFFBQVE7b0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FB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O21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7aUJBQ2hDO2lHQTJHYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFhYixLQUFLO3NCQURmLEtBQUs7O0FBYVYsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNqQixrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSZXNpemVNYW5hZ2VyIH0gZnJvbSAnLi4vbWFuYWdlci9SZXNpemVNYW5hZ2VyJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLWFzcGVjdC1yYXRpb10nXG59KVxuZXhwb3J0IGNsYXNzIEFzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFN0YXRpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBVUERBVEVfREVMQVk6IG51bWJlciA9IDEwMDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX3JhdGlvOiBudW1iZXIgPSBOYU47XG4gICAgcHJpdmF0ZSBfZGlyZWN0aW9uOiBEaXJlY3Rpb247XG5cbiAgICBwcml2YXRlIHNlbnNvcjogUmVzaXplTWFuYWdlcjtcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gVmlld1V0aWwucGFyc2VFbGVtZW50KGVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIGNvbW1pdFJlc2l6ZVByb3BlcnRpZXMgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgRGlyZWN0aW9uLkhPUklaT05UQUw6XG4gICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuaGVpZ2h0IC8gdGhpcy5yYXRpbztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGlyZWN0aW9uLlZFUlRJQ0FMOlxuICAgICAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy53aWR0aCAqIHRoaXMucmF0aW87XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Vuc29yID0gbmV3IFJlc2l6ZU1hbmFnZXIodGhpcy5lbGVtZW50LCB0aGlzLmNvbW1pdFJlc2l6ZVByb3BlcnRpZXMsIEFzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlLlVQREFURV9ERUxBWSk7XG5cbiAgICAgICAgaWYgKF8uaXNOYU4odGhpcy5yYXRpbykpIHtcbiAgICAgICAgICAgIHRoaXMucmF0aW8gPSA0IC8gMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuXG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLnNlbnNvcikpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vuc29yLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuc2Vuc29yID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJpdmF0ZSBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFZpZXdVdGlsLmdldFdpZHRoKHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXQgd2lkdGgodmFsdWU6IG51bWJlcikge1xuICAgICAgICBWaWV3VXRpbC5zZXRXaWR0aCh0aGlzLmVsZW1lbnQsIHZhbHVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFZpZXdVdGlsLmdldEhlaWdodCh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIFZpZXdVdGlsLnNldEhlaWdodCh0aGlzLmVsZW1lbnQsIHZhbHVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQElucHV0KCd2aS1hc3BlY3QtcmF0aW8nKVxuICAgIHB1YmxpYyBzZXQgZGlyZWN0aW9uKHZhbHVlOiBEaXJlY3Rpb24pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9kaXJlY3Rpb24gfHwgXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kaXJlY3Rpb24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRSZXNpemVQcm9wZXJ0aWVzKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZGlyZWN0aW9uKCk6IERpcmVjdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXJlY3Rpb247XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJhdGlvKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9yYXRpbykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JhdGlvID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0UmVzaXplUHJvcGVydGllcygpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJhdGlvKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYXRpbztcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIERpcmVjdGlvbiB7XG4gICAgVkVSVElDQUwgPSAnVkVSVElDQUwnLFxuICAgIEhPUklaT05UQUwgPSAnSE9SSVpPTlRBTCdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { InfiniteScrollDirective } from './InfiniteScrollDirective';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AutoScrollBottomDirective extends InfiniteScrollDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
//
|
|
9
|
+
// Properties
|
|
10
|
+
//
|
|
11
|
+
// --------------------------------------------------------------------------
|
|
12
|
+
this.triggerChanged = new EventEmitter();
|
|
13
|
+
this.triggerDelta = 0;
|
|
14
|
+
this.isScrollLocked = false;
|
|
15
|
+
this.isNeedScroll = true;
|
|
16
|
+
this.isNeedRemainScroll = false;
|
|
17
|
+
this.checkTrigger = () => {
|
|
18
|
+
this.isScrollLocked = false;
|
|
19
|
+
if (this.isNeedScroll) {
|
|
20
|
+
this.scrollBottom();
|
|
21
|
+
}
|
|
22
|
+
else if (this.isNeedRemainScroll) {
|
|
23
|
+
this.scrollRemain();
|
|
24
|
+
}
|
|
25
|
+
else if (this.triggerDelta > 0) {
|
|
26
|
+
this.triggerDelta = 0;
|
|
27
|
+
this.triggerChanged.emit();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// --------------------------------------------------------------------------
|
|
32
|
+
//
|
|
33
|
+
// Private Methods
|
|
34
|
+
//
|
|
35
|
+
// --------------------------------------------------------------------------
|
|
36
|
+
initialize() {
|
|
37
|
+
if (!this._scrollValue) {
|
|
38
|
+
this._scrollValue = this.scrollHeight;
|
|
39
|
+
}
|
|
40
|
+
super.initialize();
|
|
41
|
+
}
|
|
42
|
+
scrollRemain() {
|
|
43
|
+
this.isNeedRemainScroll = false;
|
|
44
|
+
this.scrollTo(this.scrollHeight - this.lastScrollHeight);
|
|
45
|
+
}
|
|
46
|
+
scrollBottom() {
|
|
47
|
+
this.scrollTo(this.scrollHeight);
|
|
48
|
+
}
|
|
49
|
+
// --------------------------------------------------------------------------
|
|
50
|
+
//
|
|
51
|
+
// Event Handlers
|
|
52
|
+
//
|
|
53
|
+
// --------------------------------------------------------------------------
|
|
54
|
+
scrollChangedHandler() {
|
|
55
|
+
super.scrollChangedHandler();
|
|
56
|
+
if (!this.isInitialized || this.isScrollLocked) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
let value = this.scrollTop;
|
|
60
|
+
let bottomValue = value + this.clientHeight + this.elementHeight;
|
|
61
|
+
this.isNeedScroll = bottomValue >= this.scrollHeight;
|
|
62
|
+
this.isNeedRemainScroll = value <= this.elementHeight;
|
|
63
|
+
if (this.isNeedRemainScroll) {
|
|
64
|
+
this.lastScrollHeight = this.scrollHeight;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// --------------------------------------------------------------------------
|
|
68
|
+
//
|
|
69
|
+
// Public Methods
|
|
70
|
+
//
|
|
71
|
+
// --------------------------------------------------------------------------
|
|
72
|
+
destroy() {
|
|
73
|
+
if (this.isDestroyed) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
super.destroy();
|
|
77
|
+
clearTimeout(this.triggerTimer);
|
|
78
|
+
this.triggerTimer = null;
|
|
79
|
+
this.trigger = null;
|
|
80
|
+
}
|
|
81
|
+
// --------------------------------------------------------------------------
|
|
82
|
+
//
|
|
83
|
+
// Public Properties
|
|
84
|
+
//
|
|
85
|
+
// --------------------------------------------------------------------------
|
|
86
|
+
set trigger(value) {
|
|
87
|
+
if (value === this._trigger) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (!isNaN(this._trigger) && !isNaN(value)) {
|
|
91
|
+
this.triggerDelta = value - this._trigger;
|
|
92
|
+
}
|
|
93
|
+
this._trigger = value;
|
|
94
|
+
if (!this.isInitialized) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.isScrollLocked = true;
|
|
98
|
+
clearTimeout(this.triggerTimer);
|
|
99
|
+
this.triggerTimer = setTimeout(this.checkTrigger, InfiniteScrollDirective.INITIALIZATION_DELAY);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
AutoScrollBottomDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AutoScrollBottomDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
103
|
+
AutoScrollBottomDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: AutoScrollBottomDirective, selector: "[vi-auto-scroll-bottom]", inputs: { trigger: ["vi-auto-bottom-scroll", "trigger"] }, outputs: { triggerChanged: "triggerChanged" }, usesInheritance: true, ngImport: i0 });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AutoScrollBottomDirective, decorators: [{
|
|
105
|
+
type: Directive,
|
|
106
|
+
args: [{
|
|
107
|
+
selector: '[vi-auto-scroll-bottom]'
|
|
108
|
+
}]
|
|
109
|
+
}], propDecorators: { triggerChanged: [{
|
|
110
|
+
type: Output
|
|
111
|
+
}], trigger: [{
|
|
112
|
+
type: Input,
|
|
113
|
+
args: ['vi-auto-bottom-scroll']
|
|
114
|
+
}] } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b1Njcm9sbEJvdHRvbURpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvQXV0b1Njcm9sbEJvdHRvbURpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUlwRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBSHRFOztRQUlJLDZFQUE2RTtRQUM3RSxFQUFFO1FBQ0YsYUFBYTtRQUNiLEVBQUU7UUFDRiw2RUFBNkU7UUFHdEUsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUk3RCxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUV6QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3Qix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFlbEMsaUJBQVksR0FBRyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDdkI7aUJBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFO2dCQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQztLQTBFTDtJQWpHRyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFr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QU87c0JBRGpCLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9JbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSc7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS1hdXRvLXNjcm9sbC1ib3R0b21dJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvU2Nyb2xsQm90dG9tRGlyZWN0aXZlIGV4dGVuZHMgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0cmlnZ2VyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBfdHJpZ2dlcjogYW55O1xuICAgIHByaXZhdGUgdHJpZ2dlclRpbWVyOiBhbnk7XG4gICAgcHJpdmF0ZSB0cmlnZ2VyRGVsdGE6IG51bWJlciA9IDA7XG5cbiAgICBwcml2YXRlIGlzU2Nyb2xsTG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBsYXN0U2Nyb2xsSGVpZ2h0OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIGlzTmVlZFNjcm9sbDogYm9vbGVhbiA9IHRydWU7XG4gICAgcHJpdmF0ZSBpc05lZWRSZW1haW5TY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc2Nyb2xsVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFZhbHVlID0gdGhpcy5zY3JvbGxIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGVja1RyaWdnZXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxMb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaXNOZWVkU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEJvdHRvbSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNOZWVkUmVtYWluU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFJlbWFpbigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHJpZ2dlckRlbHRhID4gMCkge1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyRGVsdGEgPSAwO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyQ2hhbmdlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNjcm9sbFJlbWFpbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc05lZWRSZW1haW5TY3JvbGwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLnNjcm9sbEhlaWdodCAtIHRoaXMubGFzdFNjcm9sbEhlaWdodCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNjcm9sbEJvdHRvbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLnNjcm9sbEhlaWdodCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxDaGFuZ2VkSGFuZGxlcigpIHtcbiAgICAgICAgc3VwZXIuc2Nyb2xsQ2hhbmdlZEhhbmRsZXIoKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQgfHwgdGhpcy5pc1Njcm9sbExvY2tlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5zY3JvbGxUb3A7XG4gICAgICAgIGxldCBib3R0b21WYWx1ZSA9IHZhbHVlICsgdGhpcy5jbGllbnRIZWlnaHQgKyB0aGlzLmVsZW1lbnRIZWlnaHQ7XG5cbiAgICAgICAgdGhpcy5pc05lZWRTY3JvbGwgPSBib3R0b21WYWx1ZSA+PSB0aGlzLnNjcm9sbEhlaWdodDtcbiAgICAgICAgdGhpcy5pc05lZWRSZW1haW5TY3JvbGwgPSB2YWx1ZSA8PSB0aGlzLmVsZW1lbnRIZWlnaHQ7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNOZWVkUmVtYWluU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RTY3JvbGxIZWlnaHQgPSB0aGlzLnNjcm9sbEhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHJpZ2dlclRpbWVyKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyVGltZXIgPSBudWxsO1xuICAgICAgICB0aGlzLnRyaWdnZXIgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoJ3ZpLWF1dG8tYm90dG9tLXNjcm9sbCcpXG4gICAgcHVibGljIHNldCB0cmlnZ2VyKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl90cmlnZ2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc05hTih0aGlzLl90cmlnZ2VyKSAmJiAhaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJEZWx0YSA9IHZhbHVlIC0gdGhpcy5fdHJpZ2dlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3RyaWdnZXIgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzU2Nyb2xsTG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHJpZ2dlclRpbWVyKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyVGltZXIgPSBzZXRUaW1lb3V0KHRoaXMuY2hlY2tUcmlnZ2VyLCBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZS5JTklUSUFMSVpBVElPTl9ERUxBWSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import { Destroyable } from '@ts-core/common';
|
|
3
|
+
import { DateUtil } from '@ts-core/common/util';
|
|
4
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ClickToCopyDirective extends Destroyable {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.selectionRemove = () => ViewUtil.selectContent(null);
|
|
10
|
+
}
|
|
11
|
+
// --------------------------------------------------------------------------
|
|
12
|
+
//
|
|
13
|
+
// Event Handlers
|
|
14
|
+
//
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
clickHandler(event) {
|
|
17
|
+
ViewUtil.selectContent(this.element, true);
|
|
18
|
+
clearTimeout(this.selectionClearTimer);
|
|
19
|
+
this.selectionClearTimer = setTimeout(this.selectionRemove, DateUtil.MILISECONDS_SECOND / 2);
|
|
20
|
+
}
|
|
21
|
+
// --------------------------------------------------------------------------
|
|
22
|
+
//
|
|
23
|
+
// Public Methods
|
|
24
|
+
//
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
destroy() {
|
|
27
|
+
if (this.isDestroyed) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
super.destroy();
|
|
31
|
+
this.element = null;
|
|
32
|
+
clearTimeout(this.selectionClearTimer);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ClickToCopyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ClickToCopyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
ClickToCopyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ClickToCopyDirective, selector: "[vi-click-to-copy]", inputs: { element: ["vi-click-to-copy", "element"] }, host: { listeners: { "click": "clickHandler($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ClickToCopyDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[vi-click-to-copy]'
|
|
41
|
+
}]
|
|
42
|
+
}], propDecorators: { element: [{
|
|
43
|
+
type: Input,
|
|
44
|
+
args: ['vi-click-to-copy']
|
|
45
|
+
}], clickHandler: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['click', ['$event']]
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpY2tUb0NvcHlEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlyZWN0aXZlL0NsaWNrVG9Db3B5RGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFIckQ7O1FBNEJZLG9CQUFlLEdBQUcsR0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQWlCdEU7SUEvQkcsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUdyRSxZQUFZLENBQUMsS0FBaUI7UUFDbEMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFJRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMzQyxDQUFDOztpSEF6Q1Esb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQzs4QkFTVSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsa0JBQWtCO2dCQVdqQixZQUFZO3NCQURuQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRGF0ZVV0aWwgfSBmcm9tICdAdHMtY29yZS9jb21tb24vdXRpbCc7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS1jbGljay10by1jb3B5XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tUb0NvcHlEaXJlY3RpdmUgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQElucHV0KCd2aS1jbGljay10by1jb3B5JylcbiAgICBwdWJsaWMgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25DbGVhclRpbWVyOiBhbnk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHByaXZhdGUgY2xpY2tIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIFZpZXdVdGlsLnNlbGVjdENvbnRlbnQodGhpcy5lbGVtZW50LCB0cnVlKTtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zZWxlY3Rpb25DbGVhclRpbWVyKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DbGVhclRpbWVyID0gc2V0VGltZW91dCh0aGlzLnNlbGVjdGlvblJlbW92ZSwgRGF0ZVV0aWwuTUlMSVNFQ09ORFNfU0VDT05EIC8gMik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25SZW1vdmUgPSAoKTogdm9pZCA9PiBWaWV3VXRpbC5zZWxlY3RDb250ZW50KG51bGwpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zZWxlY3Rpb25DbGVhclRpbWVyKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, HostListener } from '@angular/core';
|
|
2
|
+
import { Destroyable } from '@ts-core/common';
|
|
3
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ClickToSelectDirective extends Destroyable {
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Constructor
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
constructor(element) {
|
|
12
|
+
super();
|
|
13
|
+
this.element = ViewUtil.parseElement(element.nativeElement);
|
|
14
|
+
}
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
//
|
|
17
|
+
// Event Handlers
|
|
18
|
+
//
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
20
|
+
clickHandler(event) {
|
|
21
|
+
if (event.detail >= 3) {
|
|
22
|
+
ViewUtil.selectContent(this.element, true);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
//
|
|
27
|
+
// Public Methods
|
|
28
|
+
//
|
|
29
|
+
// --------------------------------------------------------------------------
|
|
30
|
+
destroy() {
|
|
31
|
+
if (this.isDestroyed) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
super.destroy();
|
|
35
|
+
this.element = null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ClickToSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ClickToSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
39
|
+
ClickToSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ClickToSelectDirective, selector: "[vi-click-to-select]", host: { listeners: { "click": "clickHandler($event)" } }, usesInheritance: true, ngImport: i0 });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ClickToSelectDirective, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: '[vi-click-to-select]'
|
|
44
|
+
}]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickHandler: [{
|
|
46
|
+
type: HostListener,
|
|
47
|
+
args: ['click', ['$event']]
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUs1QyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQVNuRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBR3JFLFlBQVksQ0FBQyxLQUFpQjtRQUNsQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ25CLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7O21IQTdDUSxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DO2lHQTRCVyxZQUFZO3NCQURuQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS1jbGljay10by1zZWxlY3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBDbGlja1RvU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IFZpZXdVdGlsLnBhcnNlRWxlbWVudChlbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBjbGlja0hhbmRsZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmRldGFpbCA+PSAzKSB7XG4gICAgICAgICAgICBWaWV3VXRpbC5zZWxlY3RDb250ZW50KHRoaXMuZWxlbWVudCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { Destroyable } from '@ts-core/common';
|
|
3
|
+
import { FocusManager } from '../manager/FocusManager';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FocusDirective extends Destroyable {
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Constructor
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
constructor(element) {
|
|
12
|
+
super();
|
|
13
|
+
// --------------------------------------------------------------------------
|
|
14
|
+
//
|
|
15
|
+
// Private Methods
|
|
16
|
+
//
|
|
17
|
+
// --------------------------------------------------------------------------
|
|
18
|
+
this.focus = () => this.manager.focus();
|
|
19
|
+
this.manager = new FocusManager(element);
|
|
20
|
+
}
|
|
21
|
+
// --------------------------------------------------------------------------
|
|
22
|
+
//
|
|
23
|
+
// Public Methods
|
|
24
|
+
//
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
destroy() {
|
|
27
|
+
if (this.isDestroyed) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
super.destroy();
|
|
31
|
+
this.manager.destroy();
|
|
32
|
+
this.manager = null;
|
|
33
|
+
}
|
|
34
|
+
// --------------------------------------------------------------------------
|
|
35
|
+
//
|
|
36
|
+
// Public Properties
|
|
37
|
+
//
|
|
38
|
+
// --------------------------------------------------------------------------
|
|
39
|
+
set trigger(value) {
|
|
40
|
+
this.focus();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
FocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
+
FocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: FocusDirective, selector: "[vi-focus]", inputs: { trigger: ["vi-focus", "trigger"] }, usesInheritance: true, ngImport: i0 });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FocusDirective, decorators: [{
|
|
46
|
+
type: Directive,
|
|
47
|
+
args: [{
|
|
48
|
+
selector: '[vi-focus]'
|
|
49
|
+
}]
|
|
50
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { trigger: [{
|
|
51
|
+
type: Input,
|
|
52
|
+
args: ['vi-focus']
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9jdXNEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlyZWN0aXZlL0ZvY3VzRGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxjQUF3QixTQUFRLFdBQVc7SUFTcEQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE9BQW1CO1FBQzNCLEtBQUssRUFBRSxDQUFDO1FBSVosNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixrQkFBa0I7UUFDbEIsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxVQUFLLEdBQUcsR0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQVQvQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFVRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFDVyxPQUFPLENBQUMsS0FBUTtRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7MkdBckRRLGNBQWM7K0ZBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO2lCQUN6QjtpR0FvRGMsT0FBTztzQkFEakIsS0FBSzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRm9jdXNNYW5hZ2VyIH0gZnJvbSAnLi4vbWFuYWdlci9Gb2N1c01hbmFnZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS1mb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzRGlyZWN0aXZlPFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgbWFuYWdlcjogRm9jdXNNYW5hZ2VyO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tYW5hZ2VyID0gbmV3IEZvY3VzTWFuYWdlcihlbGVtZW50KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBmb2N1cyA9ICgpOiB2b2lkID0+IHRoaXMubWFuYWdlci5mb2N1cygpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLm1hbmFnZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLm1hbmFnZXIgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoJ3ZpLWZvY3VzJylcbiAgICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { Destroyable } from '@ts-core/common';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class HTMLContentTitleDirective extends Destroyable {
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
//
|
|
9
|
+
// Constructor
|
|
10
|
+
//
|
|
11
|
+
// --------------------------------------------------------------------------
|
|
12
|
+
constructor(element) {
|
|
13
|
+
super();
|
|
14
|
+
this.element = element;
|
|
15
|
+
}
|
|
16
|
+
// --------------------------------------------------------------------------
|
|
17
|
+
//
|
|
18
|
+
// Private Methods
|
|
19
|
+
//
|
|
20
|
+
// --------------------------------------------------------------------------
|
|
21
|
+
commitValueProperties() {
|
|
22
|
+
let title = this.value;
|
|
23
|
+
if (!_.isEmpty(title)) {
|
|
24
|
+
title = title.replace(/<br\s*[\/]?>/g, '\n');
|
|
25
|
+
title = title.replace(/<[^>]*>/g, '');
|
|
26
|
+
}
|
|
27
|
+
ViewUtil.setProperty(this.element, 'title', title);
|
|
28
|
+
ViewUtil.setProperty(this.element, 'innerHTML', this.value);
|
|
29
|
+
}
|
|
30
|
+
// --------------------------------------------------------------------------
|
|
31
|
+
//
|
|
32
|
+
// Public Methods
|
|
33
|
+
//
|
|
34
|
+
// --------------------------------------------------------------------------
|
|
35
|
+
destroy() {
|
|
36
|
+
if (this.isDestroyed) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
super.destroy();
|
|
40
|
+
this._value = null;
|
|
41
|
+
}
|
|
42
|
+
// --------------------------------------------------------------------------
|
|
43
|
+
//
|
|
44
|
+
// Public Properties
|
|
45
|
+
//
|
|
46
|
+
// --------------------------------------------------------------------------
|
|
47
|
+
set value(value) {
|
|
48
|
+
if (value === this._value) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this._value = value;
|
|
52
|
+
if (!_.isNil(value)) {
|
|
53
|
+
this.commitValueProperties();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
get value() {
|
|
57
|
+
return this._value;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
HTMLContentTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HTMLContentTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
61
|
+
HTMLContentTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: HTMLContentTitleDirective, selector: "[vi-html-content-title]", inputs: { value: ["vi-html-content-title", "value"] }, usesInheritance: true, ngImport: i0 });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HTMLContentTitleDirective, decorators: [{
|
|
63
|
+
type: Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: '[vi-html-content-title]'
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { value: [{
|
|
68
|
+
type: Input,
|
|
69
|
+
args: ['vi-html-content-title']
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUs1QyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsV0FBVztJQVN0RCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLE9BQW1CO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUV6QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxxQkFBcUI7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0MsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU87U0FDVjtRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUNXLEtBQUssQ0FBQyxLQUFhO1FBQzFCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7O3NIQW5FUSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3RDO2lHQXlEYyxLQUFLO3NCQURmLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktaHRtbC1jb250ZW50LXRpdGxlXSdcbn0pXG5leHBvcnQgY2xhc3MgSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZSBleHRlbmRzIERlc3Ryb3lhYmxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX3ZhbHVlOiBzdHJpbmc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRWYWx1ZVByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGxldCB0aXRsZSA9IHRoaXMudmFsdWU7XG4gICAgICAgIGlmICghXy5pc0VtcHR5KHRpdGxlKSkge1xuICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKC88YnJcXHMqW1xcL10/Pi9nLCAnXFxuJyk7XG4gICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnJlcGxhY2UoLzxbXj5dKj4vZywgJycpO1xuICAgICAgICB9XG4gICAgICAgIFZpZXdVdGlsLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ3RpdGxlJywgdGl0bGUpO1xuICAgICAgICBWaWV3VXRpbC5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnQsICdpbm5lckhUTUwnLCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBJbnB1dCgndmktaHRtbC1jb250ZW50LXRpdGxlJylcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0VmFsdWVQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ScrollDirective } from './ScrollDirective';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class InfiniteScrollDirective extends ScrollDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
//
|
|
9
|
+
// Properties
|
|
10
|
+
//
|
|
11
|
+
// --------------------------------------------------------------------------
|
|
12
|
+
this.top = new EventEmitter();
|
|
13
|
+
this.bottom = new EventEmitter();
|
|
14
|
+
this.elementHeight = 50;
|
|
15
|
+
}
|
|
16
|
+
// --------------------------------------------------------------------------
|
|
17
|
+
//
|
|
18
|
+
// Event Handlers
|
|
19
|
+
//
|
|
20
|
+
// --------------------------------------------------------------------------
|
|
21
|
+
scrollChangedHandler() {
|
|
22
|
+
super.scrollChangedHandler();
|
|
23
|
+
if (!this.isInitialized) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
let value = this.scrollTop;
|
|
27
|
+
let bottomValue = value + this.clientHeight + this.elementHeight;
|
|
28
|
+
if (bottomValue >= this.scrollHeight) {
|
|
29
|
+
this.bottom.next(value);
|
|
30
|
+
}
|
|
31
|
+
else if (value <= this.elementHeight) {
|
|
32
|
+
this.top.next(value);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// --------------------------------------------------------------------------
|
|
36
|
+
//
|
|
37
|
+
// Public Methods
|
|
38
|
+
//
|
|
39
|
+
// --------------------------------------------------------------------------
|
|
40
|
+
destroy() {
|
|
41
|
+
if (this.isDestroyed) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
super.destroy();
|
|
45
|
+
this.top = null;
|
|
46
|
+
this.bottom = null;
|
|
47
|
+
}
|
|
48
|
+
// --------------------------------------------------------------------------
|
|
49
|
+
//
|
|
50
|
+
// Private Properties
|
|
51
|
+
//
|
|
52
|
+
// --------------------------------------------------------------------------
|
|
53
|
+
get clientHeight() {
|
|
54
|
+
return this.element.clientHeight;
|
|
55
|
+
}
|
|
56
|
+
get scrollHeight() {
|
|
57
|
+
return this.element.scrollHeight;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
InfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InfiniteScrollDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
61
|
+
InfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: InfiniteScrollDirective, selector: "[vi-infinite-scroll]", inputs: { elementHeight: "elementHeight" }, outputs: { top: "top", bottom: "bottom" }, usesInheritance: true, ngImport: i0 });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
|
|
63
|
+
type: Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: '[vi-infinite-scroll]'
|
|
66
|
+
}]
|
|
67
|
+
}], propDecorators: { top: [{
|
|
68
|
+
type: Output
|
|
69
|
+
}], bottom: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}], elementHeight: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}] } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlyZWN0aXZlL0luZmluaXRlU2Nyb2xsRGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQUg1RDs7UUFJSSw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGFBQWE7UUFDYixFQUFFO1FBQ0YsNkVBQTZFO1FBR3RFLFFBQUcsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQyxXQUFNLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbEQsa0JBQWEsR0FBVyxFQUFFLENBQUM7S0FtRHJDO0lBakRHLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsaUJBQWlCO0lBQ2pCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsb0JBQW9CO1FBQzFCLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLE9BQU87U0FDVjtRQUNELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0IsSUFBSSxXQUFXLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVqRSxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO2FBQU0sSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQWMsWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFjLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNyQyxDQUFDOztvSEEvRFEsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNuQzs4QkFTVSxHQUFHO3NCQURULE1BQU07Z0JBR0EsTUFBTTtzQkFEWixNQUFNO2dCQUlBLGFBQWE7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9TY3JvbGxEaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2aS1pbmZpbml0ZS1zY3JvbGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSBleHRlbmRzIFNjcm9sbERpcmVjdGl2ZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRvcDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGJvdHRvbTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbGVtZW50SGVpZ2h0OiBudW1iZXIgPSA1MDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgc2Nyb2xsQ2hhbmdlZEhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNjcm9sbENoYW5nZWRIYW5kbGVyKCk7XG4gICAgICAgIGlmICghdGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5zY3JvbGxUb3A7XG4gICAgICAgIGxldCBib3R0b21WYWx1ZSA9IHZhbHVlICsgdGhpcy5jbGllbnRIZWlnaHQgKyB0aGlzLmVsZW1lbnRIZWlnaHQ7XG5cbiAgICAgICAgaWYgKGJvdHRvbVZhbHVlID49IHRoaXMuc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmJvdHRvbS5uZXh0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA8PSB0aGlzLmVsZW1lbnRIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMudG9wLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLnRvcCA9IG51bGw7XG4gICAgICAgIHRoaXMuYm90dG9tID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByaXZhdGUgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgY2xpZW50SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0IHNjcm9sbEhlaWdodCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfVxufVxuIl19
|