@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,79 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as interact from 'interactjs';
|
|
3
|
+
import { Destroyable } from '@ts-core/common';
|
|
4
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
5
|
+
import * as _ from 'lodash';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class ResizeDirective extends Destroyable {
|
|
8
|
+
// --------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Constructor
|
|
11
|
+
//
|
|
12
|
+
// --------------------------------------------------------------------------
|
|
13
|
+
constructor(element) {
|
|
14
|
+
super();
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
//
|
|
17
|
+
// Properties
|
|
18
|
+
//
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
20
|
+
this.resize = new EventEmitter();
|
|
21
|
+
this.isTop = false;
|
|
22
|
+
this.isLeft = false;
|
|
23
|
+
this.isRight = false;
|
|
24
|
+
this.isBottom = false;
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
//
|
|
27
|
+
// Event Handlers
|
|
28
|
+
//
|
|
29
|
+
// --------------------------------------------------------------------------
|
|
30
|
+
this.resizeHandler = (event) => {
|
|
31
|
+
if (event.dx !== 0 || event.dy !== 0) {
|
|
32
|
+
this.resize.emit(event);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
this.interactable = interact.default(ViewUtil.parseElement(element));
|
|
36
|
+
// this.interactable.styleCursor(false);
|
|
37
|
+
let param = {};
|
|
38
|
+
param.top = this.isTop;
|
|
39
|
+
param.left = this.isLeft;
|
|
40
|
+
param.right = this.isRight;
|
|
41
|
+
param.bottom = this.isBottom;
|
|
42
|
+
this.interactable.resizable(param);
|
|
43
|
+
this.interactable.on('resizemove', this.resizeHandler);
|
|
44
|
+
}
|
|
45
|
+
// --------------------------------------------------------------------------
|
|
46
|
+
//
|
|
47
|
+
// Public Methods
|
|
48
|
+
//
|
|
49
|
+
// --------------------------------------------------------------------------
|
|
50
|
+
destroy() {
|
|
51
|
+
if (this.isDestroyed) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
super.destroy();
|
|
55
|
+
if (!_.isNil(this.interactable)) {
|
|
56
|
+
this.interactable.unset();
|
|
57
|
+
this.interactable = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ResizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
62
|
+
ResizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ResizeDirective, selector: "[vi-resize]", inputs: { isTop: "isTop", isLeft: "isLeft", isRight: "isRight", isBottom: "isBottom" }, outputs: { resize: "resize" }, usesInheritance: true, ngImport: i0 });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ResizeDirective, decorators: [{
|
|
64
|
+
type: Directive,
|
|
65
|
+
args: [{
|
|
66
|
+
selector: '[vi-resize]'
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { resize: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], isTop: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], isLeft: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], isRight: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], isBottom: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzaXplRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9SZXNpemVEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUs1QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBcUI1Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUM7UUEzQlosNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixhQUFhO1FBQ2IsRUFBRTtRQUNGLDZFQUE2RTtRQUd0RSxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHL0MsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV2QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQXlCakMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixrQkFBa0I7UUFDbEIsRUFBRTtRQUNGLDZFQUE2RTtRQUVyRSxrQkFBYSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUM7UUF0QkUsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRSx3Q0FBd0M7UUFFeEMsSUFBSSxLQUFLLEdBQUcsRUFBUyxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN2QixLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekIsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFjRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQzs7NEdBdEVRLGVBQWU7Z0dBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO2lCQUMxQjtpR0FTVSxNQUFNO3NCQURaLE1BQU07Z0JBSUEsS0FBSztzQkFEWCxLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0YWJsZSB9IGZyb20gJ0BpbnRlcmFjdGpzL3R5cGVzJztcbmltcG9ydCAqIGFzIGludGVyYWN0IGZyb20gJ2ludGVyYWN0anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktcmVzaXplXSdcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXplRGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZXNpemU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNUb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0xlZnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc1JpZ2h0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNCb3R0b206IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW50ZXJhY3RhYmxlOiBJbnRlcmFjdGFibGU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuaW50ZXJhY3RhYmxlID0gaW50ZXJhY3QuZGVmYXVsdChWaWV3VXRpbC5wYXJzZUVsZW1lbnQoZWxlbWVudCkpO1xuICAgICAgICAvLyB0aGlzLmludGVyYWN0YWJsZS5zdHlsZUN1cnNvcihmYWxzZSk7XG5cbiAgICAgICAgbGV0IHBhcmFtID0ge30gYXMgYW55O1xuICAgICAgICBwYXJhbS50b3AgPSB0aGlzLmlzVG9wO1xuICAgICAgICBwYXJhbS5sZWZ0ID0gdGhpcy5pc0xlZnQ7XG4gICAgICAgIHBhcmFtLnJpZ2h0ID0gdGhpcy5pc1JpZ2h0O1xuICAgICAgICBwYXJhbS5ib3R0b20gPSB0aGlzLmlzQm90dG9tO1xuICAgICAgICB0aGlzLmludGVyYWN0YWJsZS5yZXNpemFibGUocGFyYW0pO1xuICAgICAgICB0aGlzLmludGVyYWN0YWJsZS5vbigncmVzaXplbW92ZScsIHRoaXMucmVzaXplSGFuZGxlcik7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgcmVzaXplSGFuZGxlciA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5keCAhPT0gMCB8fCBldmVudC5keSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemUuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5pbnRlcmFjdGFibGUpKSB7XG4gICAgICAgICAgICB0aGlzLmludGVyYWN0YWJsZS51bnNldCgpO1xuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGFibGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import { Destroyable } from '@ts-core/common';
|
|
4
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ScrollDirective extends Destroyable {
|
|
7
|
+
// --------------------------------------------------------------------------
|
|
8
|
+
//
|
|
9
|
+
// Constructor
|
|
10
|
+
//
|
|
11
|
+
// --------------------------------------------------------------------------
|
|
12
|
+
constructor(element) {
|
|
13
|
+
super();
|
|
14
|
+
// --------------------------------------------------------------------------
|
|
15
|
+
//
|
|
16
|
+
// Properties
|
|
17
|
+
//
|
|
18
|
+
// --------------------------------------------------------------------------
|
|
19
|
+
this.scrolled = new EventEmitter();
|
|
20
|
+
this.delay = 100;
|
|
21
|
+
this.isInitialized = false;
|
|
22
|
+
this._scrollValue = 0;
|
|
23
|
+
this.scrollChanged = () => {
|
|
24
|
+
this.scrollChangedHandler();
|
|
25
|
+
};
|
|
26
|
+
this.initializeHandler = () => {
|
|
27
|
+
this.initialize();
|
|
28
|
+
};
|
|
29
|
+
this.element = ViewUtil.parseElement(element);
|
|
30
|
+
this.timer = setTimeout(this.initializeHandler, ScrollDirective.INITIALIZATION_DELAY);
|
|
31
|
+
}
|
|
32
|
+
// --------------------------------------------------------------------------
|
|
33
|
+
//
|
|
34
|
+
// Private Methods
|
|
35
|
+
//
|
|
36
|
+
// --------------------------------------------------------------------------
|
|
37
|
+
initialize() {
|
|
38
|
+
if (this.scrollValue) {
|
|
39
|
+
this.scrollTo(this.scrollValue);
|
|
40
|
+
}
|
|
41
|
+
this.isInitialized = true;
|
|
42
|
+
}
|
|
43
|
+
scrollTo(value) {
|
|
44
|
+
this._scrollValue = value;
|
|
45
|
+
this.element.scrollTop = value;
|
|
46
|
+
}
|
|
47
|
+
// --------------------------------------------------------------------------
|
|
48
|
+
//
|
|
49
|
+
// Event Handlers
|
|
50
|
+
//
|
|
51
|
+
// --------------------------------------------------------------------------
|
|
52
|
+
scrollHandler() {
|
|
53
|
+
if (!this.isInitialized) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
clearTimeout(this.timer);
|
|
57
|
+
this.timer = setTimeout(this.scrollChanged, this.delay);
|
|
58
|
+
}
|
|
59
|
+
scrollChangedHandler() {
|
|
60
|
+
this._scrollValue = this.scrollTop;
|
|
61
|
+
this.scrolled.next(this._scrollValue);
|
|
62
|
+
}
|
|
63
|
+
// --------------------------------------------------------------------------
|
|
64
|
+
//
|
|
65
|
+
// Private Properties
|
|
66
|
+
//
|
|
67
|
+
// --------------------------------------------------------------------------
|
|
68
|
+
get scrollTop() {
|
|
69
|
+
return this.element.scrollTop;
|
|
70
|
+
}
|
|
71
|
+
// --------------------------------------------------------------------------
|
|
72
|
+
//
|
|
73
|
+
// Public Methods
|
|
74
|
+
//
|
|
75
|
+
// --------------------------------------------------------------------------
|
|
76
|
+
destroy() {
|
|
77
|
+
if (this.isDestroyed) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
super.destroy();
|
|
81
|
+
this.element = null;
|
|
82
|
+
this.isInitialized = false;
|
|
83
|
+
clearTimeout(this.timer);
|
|
84
|
+
this.timer = null;
|
|
85
|
+
this._scrollValue = 0;
|
|
86
|
+
}
|
|
87
|
+
// --------------------------------------------------------------------------
|
|
88
|
+
//
|
|
89
|
+
// Public Properties
|
|
90
|
+
//
|
|
91
|
+
// --------------------------------------------------------------------------
|
|
92
|
+
set scrollValue(value) {
|
|
93
|
+
if (value === this._scrollValue || _.isNaN(value)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this._scrollValue = value;
|
|
97
|
+
if (this.isInitialized) {
|
|
98
|
+
this.scrollTo(value);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
get scrollValue() {
|
|
102
|
+
return this._scrollValue;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// --------------------------------------------------------------------------
|
|
106
|
+
//
|
|
107
|
+
// Static Properties
|
|
108
|
+
//
|
|
109
|
+
// --------------------------------------------------------------------------
|
|
110
|
+
ScrollDirective.INITIALIZATION_DELAY = 1;
|
|
111
|
+
ScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
112
|
+
ScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ScrollDirective, selector: "[vi-scroll]", inputs: { delay: "delay", scrollValue: "scrollValue" }, outputs: { scrolled: "scrolled" }, host: { listeners: { "scroll": "scrollHandler()" } }, usesInheritance: true, ngImport: i0 });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ScrollDirective, decorators: [{
|
|
114
|
+
type: Directive,
|
|
115
|
+
args: [{
|
|
116
|
+
selector: '[vi-scroll]'
|
|
117
|
+
}]
|
|
118
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrolled: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], delay: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], scrollHandler: [{
|
|
123
|
+
type: HostListener,
|
|
124
|
+
args: ['scroll']
|
|
125
|
+
}], scrollValue: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}] } });
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nyb2xsRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9TY3JvbGxEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBVztJQTBCNUMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE9BQW1CO1FBQzNCLEtBQUssRUFBRSxDQUFDO1FBeEJaLDZFQUE2RTtRQUM3RSxFQUFFO1FBQ0YsYUFBYTtRQUNiLEVBQUU7UUFDRiw2RUFBNkU7UUFHdEUsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBELFVBQUssR0FBVyxHQUFHLENBQUM7UUFJakIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsaUJBQVksR0FBVyxDQUFDLENBQUM7UUErQzNCLGtCQUFhLEdBQUcsR0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQztRQU9RLHNCQUFpQixHQUFHLEdBQVMsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDO1FBaERFLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsVUFBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBR3JFLGFBQWE7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsT0FBTztTQUNWO1FBQ0QsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBTVMsb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQU1ELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBYyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsaUJBQWlCO0lBQ2pCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFFM0IsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUNXLFdBQVcsQ0FBQyxLQUFhO1FBQ2hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7O0FBcklELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0Ysb0JBQW9CO0FBQ3BCLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0Qsb0NBQW9CLEdBQVcsQ0FBRSxDQUFBOzRHQVB0QyxlQUFlO2dHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtpQkFDMUI7aUdBaUJVLFFBQVE7c0JBRGQsTUFBTTtnQkFHQSxLQUFLO3NCQURYLEtBQUs7Z0JBOENFLGFBQWE7c0JBRHBCLFlBQVk7dUJBQUMsUUFBUTtnQkE0RFgsV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXNjcm9sbF0nXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbERpcmVjdGl2ZSBleHRlbmRzIERlc3Ryb3lhYmxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFN0YXRpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBJTklUSUFMSVpBVElPTl9ERUxBWTogbnVtYmVyID0gMTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzY3JvbGxlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVsYXk6IG51bWJlciA9IDEwMDtcblxuICAgIHByaXZhdGUgdGltZXI6IGFueTtcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgcHJvdGVjdGVkIGlzSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsVmFsdWU6IG51bWJlciA9IDA7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBWaWV3VXRpbC5wYXJzZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KHRoaXMuaW5pdGlhbGl6ZUhhbmRsZXIsIFNjcm9sbERpcmVjdGl2ZS5JTklUSUFMSVpBVElPTl9ERUxBWSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8odGhpcy5zY3JvbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2Nyb2xsVG8odmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcpXG4gICAgcHJpdmF0ZSBzY3JvbGxIYW5kbGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQodGhpcy5zY3JvbGxDaGFuZ2VkLCB0aGlzLmRlbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbENoYW5nZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsQ2hhbmdlZEhhbmRsZXIoKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNjcm9sbENoYW5nZWRIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxWYWx1ZSA9IHRoaXMuc2Nyb2xsVG9wO1xuICAgICAgICB0aGlzLnNjcm9sbGVkLm5leHQodGhpcy5fc2Nyb2xsVmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJpdmF0ZSBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldCBzY3JvbGxUb3AoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5zY3JvbGxUb3A7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3Njcm9sbFZhbHVlID0gMDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNjcm9sbFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9zY3JvbGxWYWx1ZSB8fCBfLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Njcm9sbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8odmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY3JvbGxWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsVmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
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 SelectOnFocusDirective extends Destroyable {
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Constructor
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
constructor(element) {
|
|
12
|
+
super();
|
|
13
|
+
this.element = element;
|
|
14
|
+
}
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
//
|
|
17
|
+
// Event Handlers
|
|
18
|
+
//
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
20
|
+
focusHandler() {
|
|
21
|
+
ViewUtil.selectContent(this.element.nativeElement);
|
|
22
|
+
}
|
|
23
|
+
// --------------------------------------------------------------------------
|
|
24
|
+
//
|
|
25
|
+
// Public Methods
|
|
26
|
+
//
|
|
27
|
+
// --------------------------------------------------------------------------
|
|
28
|
+
destroy() {
|
|
29
|
+
if (this.isDestroyed) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
super.destroy();
|
|
33
|
+
this.element = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
SelectOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectOnFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
SelectOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: SelectOnFocusDirective, selector: "[vi-select-on-focus]", host: { listeners: { "focus": "focusHandler()" } }, usesInheritance: true, ngImport: i0 });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SelectOnFocusDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: '[vi-select-on-focus]'
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { focusHandler: [{
|
|
44
|
+
type: HostListener,
|
|
45
|
+
args: ['focus']
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUs1QyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQUNuRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW9CLE9BQW1CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFEsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUV2QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUdyRSxZQUFZO1FBQ2hCLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU87U0FDVjtRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDOzttSEFsQ1Esc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNuQztpR0FtQlcsWUFBWTtzQkFEbkIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXNlbGVjdC1vbi1mb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9uRm9jdXNEaXJlY3RpdmUgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0RXZlbnQgSGFuZGxlcnNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHJpdmF0ZSBmb2N1c0hhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLnNlbGVjdENvbnRlbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IG51bGw7XG4gICAgfVxufVxuIl19
|
|
File without changes
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { message } from './validate';
|
|
3
|
+
import { ValueAccessor } from './ValueAccessor';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FormElementSync extends ValueAccessor {
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
//
|
|
8
|
+
// Constructor
|
|
9
|
+
//
|
|
10
|
+
// --------------------------------------------------------------------------
|
|
11
|
+
constructor(validators) {
|
|
12
|
+
super();
|
|
13
|
+
this.validators = validators;
|
|
14
|
+
this.validate = () => {
|
|
15
|
+
if (!this.validators || this.validators.length === 0) {
|
|
16
|
+
this._validationError = null;
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
let failure = null;
|
|
20
|
+
for (let item of this.validators) {
|
|
21
|
+
failure = typeof item === 'function' ? item(this.model.control) : item.validate(this.model.control);
|
|
22
|
+
if (failure) {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
this._validationError = failure ? message(failure, Object.keys(failure)[0]) : null;
|
|
27
|
+
return failure;
|
|
28
|
+
};
|
|
29
|
+
this.isErrorState = (control, form) => {
|
|
30
|
+
return this.invalid;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// --------------------------------------------------------------------------
|
|
34
|
+
//
|
|
35
|
+
// Protected Methods
|
|
36
|
+
//
|
|
37
|
+
// --------------------------------------------------------------------------
|
|
38
|
+
valueChanged() {
|
|
39
|
+
super.valueChanged();
|
|
40
|
+
setTimeout(this.validate);
|
|
41
|
+
}
|
|
42
|
+
get valid() {
|
|
43
|
+
return !this.invalid;
|
|
44
|
+
}
|
|
45
|
+
get invalid() {
|
|
46
|
+
return this._validationError != null;
|
|
47
|
+
}
|
|
48
|
+
get validationError() {
|
|
49
|
+
return this._validationError;
|
|
50
|
+
}
|
|
51
|
+
// --------------------------------------------------------------------------
|
|
52
|
+
//
|
|
53
|
+
// Public Methods
|
|
54
|
+
//
|
|
55
|
+
// --------------------------------------------------------------------------
|
|
56
|
+
ngAfterContentInit() {
|
|
57
|
+
this.validate();
|
|
58
|
+
}
|
|
59
|
+
ngOnDestroy() {
|
|
60
|
+
clearTimeout(this.timer);
|
|
61
|
+
this.timer = null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
FormElementSync.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormElementSync, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
65
|
+
FormElementSync.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormElementSync });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FormElementSync, decorators: [{
|
|
67
|
+
type: Injectable
|
|
68
|
+
}], ctorParameters: function () { return [{ type: Array }]; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUVsZW1lbnRTeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zvcm0vRm9ybUVsZW1lbnRTeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQW9CLE1BQU0sWUFBWSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHaEQsTUFBTSxPQUFnQixlQUFtQixTQUFRLGFBQWdCO0lBVzdELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBb0IsVUFBMEM7UUFDMUQsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFnQztRQWVwRCxhQUFRLEdBQUcsR0FBcUIsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxJQUFJLE9BQU8sR0FBcUIsSUFBSSxDQUFDO1lBQ3JDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDcEcsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsTUFBTTtpQkFDVDthQUNKO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuRixPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUM7UUFjUSxpQkFBWSxHQUFHLENBQUMsT0FBMkIsRUFBRSxJQUF3QyxFQUFXLEVBQUU7WUFDeEcsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztJQTVDRixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxZQUFZO1FBQ2xCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFtQkQsSUFBVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFNRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLGtCQUFrQjtRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLFdBQVc7UUFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7OzRHQTlFaUIsZUFBZSxrQkFpQkQsS0FBSztnSEFqQm5CLGVBQWU7MkZBQWYsZUFBZTtrQkFEcEMsVUFBVTswREFrQnlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSwgTmdNb2RlbCwgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1lc3NhZ2UsIFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuL3ZhbGlkYXRlJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL1ZhbHVlQWNjZXNzb3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUVsZW1lbnRTeW5jPFQ+IGV4dGVuZHMgVmFsdWVBY2Nlc3NvcjxUPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG1vZGVsOiBOZ01vZGVsO1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGlvbkVycm9yOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHRpbWVyOiBhbnk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWxpZGF0b3JzOiBBcnJheTxWYWxpZGF0b3IgfCBWYWxpZGF0b3JGbj4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIudmFsdWVDaGFuZ2VkKCk7XG4gICAgICAgIHNldFRpbWVvdXQodGhpcy52YWxpZGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlID0gKCk6IFZhbGlkYXRpb25SZXN1bHQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdG9ycyB8fCB0aGlzLnZhbGlkYXRvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uRXJyb3IgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmFpbHVyZTogVmFsaWRhdGlvblJlc3VsdCA9IG51bGw7XG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy52YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICBmYWlsdXJlID0gdHlwZW9mIGl0ZW0gPT09ICdmdW5jdGlvbicgPyBpdGVtKHRoaXMubW9kZWwuY29udHJvbCkgOiBpdGVtLnZhbGlkYXRlKHRoaXMubW9kZWwuY29udHJvbCk7XG4gICAgICAgICAgICBpZiAoZmFpbHVyZSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25FcnJvciA9IGZhaWx1cmUgPyBtZXNzYWdlKGZhaWx1cmUsIE9iamVjdC5rZXlzKGZhaWx1cmUpWzBdKSA6IG51bGw7XG4gICAgICAgIHJldHVybiBmYWlsdXJlO1xuICAgIH07XG5cbiAgICBwdWJsaWMgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0aW9uRXJyb3IgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbkVycm9yO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc0Vycm9yU3RhdGUgPSAoY29udHJvbDogRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludmFsaWQ7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Validators } from '@angular/forms';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
let normalizeValidator = (validator) => {
|
|
5
|
+
let func = validator.validate.bind(validator);
|
|
6
|
+
if (typeof func === 'function') {
|
|
7
|
+
return (control) => func(control);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return validator;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export let composeValidators = (validators) => {
|
|
14
|
+
if (_.isEmpty(validators)) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return Validators.compose(validators.map(normalizeValidator));
|
|
18
|
+
};
|
|
19
|
+
export let validate = (validators, asyncValidators) => {
|
|
20
|
+
return (control) => {
|
|
21
|
+
let synchronousValid = () => composeValidators(validators)(control);
|
|
22
|
+
if (asyncValidators) {
|
|
23
|
+
let asyncValidator = composeValidators(asyncValidators);
|
|
24
|
+
return asyncValidator(control).map(v => {
|
|
25
|
+
let secondary = synchronousValid();
|
|
26
|
+
if (secondary || v) {
|
|
27
|
+
return Object.assign({}, secondary, v);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (validators) {
|
|
32
|
+
return of(synchronousValid());
|
|
33
|
+
}
|
|
34
|
+
return of(null);
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export const message = (validator, key) => {
|
|
38
|
+
if (!key) {
|
|
39
|
+
return 'Validation failed: ' + validator.toString();
|
|
40
|
+
}
|
|
41
|
+
switch (key) {
|
|
42
|
+
case 'required':
|
|
43
|
+
return 'Please enter a value';
|
|
44
|
+
case 'pattern':
|
|
45
|
+
return 'Value does not match required pattern';
|
|
46
|
+
case 'minlength':
|
|
47
|
+
return 'Value must be N characters';
|
|
48
|
+
case 'maxlength':
|
|
49
|
+
return 'Value must be a maximum of N characters';
|
|
50
|
+
}
|
|
51
|
+
let value = validator[key];
|
|
52
|
+
switch (typeof value) {
|
|
53
|
+
case 'string':
|
|
54
|
+
return value;
|
|
55
|
+
default:
|
|
56
|
+
return 'Validation failed: ' + key;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybS92YWxpZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFZMUIsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLFNBQWtDLEVBQWtDLEVBQUU7SUFDNUYsSUFBSSxJQUFJLEdBQUksU0FBdUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdELElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDdEQ7U0FBTTtRQUNILE9BQXVDLFNBQVMsQ0FBQztLQUNwRDtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHLENBQUMsVUFBMEIsRUFBa0MsRUFBRTtJQUMxRixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDdkIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxVQUEwQixFQUFFLGVBQW9DLEVBQUUsRUFBRTtJQUN2RixPQUFPLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2hDLElBQUksZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEQsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLFNBQVMsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMxQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLFVBQVUsRUFBRTtZQUNaLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUNqQztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQTJCLEVBQUUsR0FBVyxFQUFVLEVBQUU7SUFDeEUsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNOLE9BQU8scUJBQXFCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3ZEO0lBRUQsUUFBUSxHQUFHLEVBQUU7UUFDVCxLQUFLLFVBQVU7WUFDWCxPQUFPLHNCQUFzQixDQUFDO1FBQ2xDLEtBQUssU0FBUztZQUNWLE9BQU8sdUNBQXVDLENBQUM7UUFDbkQsS0FBSyxXQUFXO1lBQ1osT0FBTyw0QkFBNEIsQ0FBQztRQUN4QyxLQUFLLFdBQVc7WUFDWixPQUFPLHlDQUF5QyxDQUFDO0tBQ3hEO0lBRUQsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLFFBQVEsT0FBTyxLQUFLLEVBQUU7UUFDbEIsS0FBSyxRQUFRO1lBQ1QsT0FBTyxLQUFlLENBQUM7UUFDM0I7WUFDSSxPQUFPLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztLQUMxQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIEV4cG9ydCBQcm9wZXJ0aWVzXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGlvblJlc3VsdCA9IHsgW3ZhbGlkYXRvcjogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbiB9O1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yQXJyYXkgPSBBcnJheTxWYWxpZGF0b3IgfCBWYWxpZGF0b3JGbj47XG5leHBvcnQgdHlwZSBBc3luY1ZhbGlkYXRvckFycmF5ID0gQXJyYXk8VmFsaWRhdG9yIHwgQXN5bmNWYWxpZGF0b3JGbj47XG5cbmxldCBub3JtYWxpemVWYWxpZGF0b3IgPSAodmFsaWRhdG9yOiBWYWxpZGF0b3IgfCBWYWxpZGF0b3JGbik6IFZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbiA9PiB7XG4gICAgbGV0IGZ1bmMgPSAodmFsaWRhdG9yIGFzIFZhbGlkYXRvcikudmFsaWRhdGUuYmluZCh2YWxpZGF0b3IpO1xuICAgIGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gZnVuYyhjb250cm9sKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPFZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbj52YWxpZGF0b3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGxldCBjb21wb3NlVmFsaWRhdG9ycyA9ICh2YWxpZGF0b3JzOiBWYWxpZGF0b3JBcnJheSk6IEFzeW5jVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbiA9PiB7XG4gICAgaWYgKF8uaXNFbXB0eSh2YWxpZGF0b3JzKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZGF0b3JzLm1hcChub3JtYWxpemVWYWxpZGF0b3IpKTtcbn07XG5cbmV4cG9ydCBsZXQgdmFsaWRhdGUgPSAodmFsaWRhdG9yczogVmFsaWRhdG9yQXJyYXksIGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JBcnJheSkgPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICAgIGxldCBzeW5jaHJvbm91c1ZhbGlkID0gKCkgPT4gY29tcG9zZVZhbGlkYXRvcnModmFsaWRhdG9ycykoY29udHJvbCk7XG4gICAgICAgIGlmIChhc3luY1ZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgIGxldCBhc3luY1ZhbGlkYXRvciA9IGNvbXBvc2VWYWxpZGF0b3JzKGFzeW5jVmFsaWRhdG9ycyk7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmNWYWxpZGF0b3IoY29udHJvbCkubWFwKHYgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBzZWNvbmRhcnkgPSBzeW5jaHJvbm91c1ZhbGlkKCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlY29uZGFyeSB8fCB2KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzZWNvbmRhcnksIHYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoc3luY2hyb25vdXNWYWxpZCgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlID0gKHZhbGlkYXRvcjogVmFsaWRhdGlvblJlc3VsdCwga2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICgha2V5KSB7XG4gICAgICAgIHJldHVybiAnVmFsaWRhdGlvbiBmYWlsZWQ6ICcgKyB2YWxpZGF0b3IudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlICdyZXF1aXJlZCc6XG4gICAgICAgICAgICByZXR1cm4gJ1BsZWFzZSBlbnRlciBhIHZhbHVlJztcbiAgICAgICAgY2FzZSAncGF0dGVybic6XG4gICAgICAgICAgICByZXR1cm4gJ1ZhbHVlIGRvZXMgbm90IG1hdGNoIHJlcXVpcmVkIHBhdHRlcm4nO1xuICAgICAgICBjYXNlICdtaW5sZW5ndGgnOlxuICAgICAgICAgICAgcmV0dXJuICdWYWx1ZSBtdXN0IGJlIE4gY2hhcmFjdGVycyc7XG4gICAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgICAgICByZXR1cm4gJ1ZhbHVlIG11c3QgYmUgYSBtYXhpbXVtIG9mIE4gY2hhcmFjdGVycyc7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gdmFsaWRhdG9yW2tleV07XG4gICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJ1ZhbGlkYXRpb24gZmFpbGVkOiAnICsga2V5O1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { Destroyable } from '@ts-core/common';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { ViewUtil } from '../util/ViewUtil';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@ts-core/frontend/language";
|
|
8
|
+
export class LanguageDirective extends Destroyable {
|
|
9
|
+
// --------------------------------------------------------------------------
|
|
10
|
+
//
|
|
11
|
+
// Constructor
|
|
12
|
+
//
|
|
13
|
+
// --------------------------------------------------------------------------
|
|
14
|
+
constructor(element, language) {
|
|
15
|
+
super();
|
|
16
|
+
this.element = element;
|
|
17
|
+
this.language = language;
|
|
18
|
+
language.completed.pipe(takeUntil(this.destroyed)).subscribe(() => this.translate);
|
|
19
|
+
}
|
|
20
|
+
// --------------------------------------------------------------------------
|
|
21
|
+
//
|
|
22
|
+
// Protected Methods
|
|
23
|
+
//
|
|
24
|
+
// --------------------------------------------------------------------------
|
|
25
|
+
translate() {
|
|
26
|
+
if (_.isNil(this.key)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
let value = this.language.translate(this.key, this.params);
|
|
30
|
+
ViewUtil.setProperty(this.element, 'innerHTML', value);
|
|
31
|
+
if (this.isNeedTitle) {
|
|
32
|
+
ViewUtil.setProperty(this.element, 'title', value);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// --------------------------------------------------------------------------
|
|
36
|
+
//
|
|
37
|
+
// Public Methods
|
|
38
|
+
//
|
|
39
|
+
// --------------------------------------------------------------------------
|
|
40
|
+
destroy() {
|
|
41
|
+
if (this.isDestroyed) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
super.destroy();
|
|
45
|
+
this.language = null;
|
|
46
|
+
this._key = null;
|
|
47
|
+
this._params = null;
|
|
48
|
+
}
|
|
49
|
+
// --------------------------------------------------------------------------
|
|
50
|
+
//
|
|
51
|
+
// Public Properties
|
|
52
|
+
//
|
|
53
|
+
// --------------------------------------------------------------------------
|
|
54
|
+
set key(value) {
|
|
55
|
+
if (value === this._key) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this._key = value;
|
|
59
|
+
if (!_.isNil(value)) {
|
|
60
|
+
this.translate();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
get key() {
|
|
64
|
+
return this._key;
|
|
65
|
+
}
|
|
66
|
+
set params(value) {
|
|
67
|
+
if (value === this._params) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this._params = value;
|
|
71
|
+
this.translate();
|
|
72
|
+
}
|
|
73
|
+
get params() {
|
|
74
|
+
return this._params;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
LanguageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LanguageDirective, deps: [{ token: i0.ElementRef }, { token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
+
LanguageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: LanguageDirective, selector: "[vi-translate]", inputs: { isNeedTitle: "isNeedTitle", key: ["vi-translate", "key"], params: "params" }, usesInheritance: true, ngImport: i0 });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LanguageDirective, decorators: [{
|
|
80
|
+
type: Directive,
|
|
81
|
+
args: [{
|
|
82
|
+
selector: '[vi-translate]'
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LanguageService }]; }, propDecorators: { isNeedTitle: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], key: [{
|
|
87
|
+
type: Input,
|
|
88
|
+
args: ['vi-translate']
|
|
89
|
+
}], params: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}] } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFuZ3VhZ2VEaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFuZ3VhZ2UvTGFuZ3VhZ2VEaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUs1QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQWE5Qyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLE9BQW1CLEVBQVksUUFBeUI7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFMUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsU0FBUztRQUNmLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGlCQUFpQjtJQUNqQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLElBQ1csR0FBRyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUNyQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFVO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDeEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7OEdBMUZRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7K0hBU1UsV0FBVztzQkFEakIsS0FBSztnQkE0REssR0FBRztzQkFEYixLQUFLO3VCQUFDLGNBQWM7Z0JBZVYsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXRyYW5zbGF0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlRGlyZWN0aXZlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzTmVlZFRpdGxlOiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIF9rZXk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3BhcmFtczogYW55O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBsYW5ndWFnZS5jb21wbGV0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50cmFuc2xhdGUpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLmtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB2YWx1ZSA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRoaXMua2V5LCB0aGlzLnBhcmFtcyk7XG4gICAgICAgIFZpZXdVdGlsLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ2lubmVySFRNTCcsIHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaXNOZWVkVGl0bGUpIHtcbiAgICAgICAgICAgIFZpZXdVdGlsLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudCwgJ3RpdGxlJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9rZXkgPSBudWxsO1xuICAgICAgICB0aGlzLl9wYXJhbXMgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoJ3ZpLXRyYW5zbGF0ZScpXG4gICAgcHVibGljIHNldCBrZXkodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2tleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2tleSA9IHZhbHVlO1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBnZXQga2V5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHBhcmFtcyh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fcGFyYW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcGFyYW1zID0gdmFsdWU7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcGFyYW1zKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJhbXM7XG4gICAgfVxufVxuIl19
|