@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.
Files changed (362) hide show
  1. package/VICommonModule.d.ts +34 -2
  2. package/application/ApplicationBaseComponent.d.ts +9 -5
  3. package/application/ApplicationComponent.d.ts +2 -6
  4. package/asset/AssetBackgroundDirective.d.ts +3 -0
  5. package/asset/AssetBackgroundPipe.d.ts +3 -0
  6. package/asset/AssetFilePipe.d.ts +3 -0
  7. package/asset/AssetIconPipe.d.ts +3 -0
  8. package/asset/AssetImagePipe.d.ts +3 -0
  9. package/asset/AssetModule.d.ts +12 -0
  10. package/asset/AssetSoundPipe.d.ts +3 -0
  11. package/asset/AssetVideoPipe.d.ts +3 -0
  12. package/bottomSheet/BottomSheetModule.d.ts +10 -0
  13. package/bottomSheet/BottomSheetService.d.ts +3 -0
  14. package/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.d.ts +3 -0
  15. package/component/VIComponentModule.d.ts +28 -0
  16. package/component/cdk-table/CdkTableBaseComponent.d.ts +6 -3
  17. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +5 -5
  18. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +2 -2
  19. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +2 -6
  20. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +3 -0
  21. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +3 -0
  22. package/component/cdk-table/column/CdkTableCellClassNamePipe.d.ts +3 -0
  23. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +3 -0
  24. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +3 -0
  25. package/component/cdk-table/column/CdkTableColumnValuePipe.d.ts +3 -0
  26. package/component/cdk-table/column/ICdkTableColumn.d.ts +1 -1
  27. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +3 -0
  28. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +3 -0
  29. package/component/language/language-selector/language-selector.component.d.ts +3 -0
  30. package/component/menu-list/menu-list.component.d.ts +3 -0
  31. package/component/select-list/select-list.component.d.ts +3 -0
  32. package/component/tab-group/tab-group.component.d.ts +3 -0
  33. package/cookie/CookieModule.d.ts +4 -0
  34. package/directive/AspectRatioResizeDirective.d.ts +3 -0
  35. package/directive/AutoScrollBottomDirective.d.ts +3 -0
  36. package/directive/ClickToCopyDirective.d.ts +3 -0
  37. package/directive/ClickToSelectDirective.d.ts +3 -0
  38. package/directive/FocusDirective.d.ts +3 -0
  39. package/directive/HTMLContentTitleDirective.d.ts +3 -0
  40. package/directive/InfiniteScrollDirective.d.ts +3 -0
  41. package/directive/ResizeDirective.d.ts +3 -0
  42. package/directive/ScrollDirective.d.ts +3 -0
  43. package/directive/SelectOnFocusDirective.d.ts +3 -0
  44. package/{esm2015/ApplicationInjector.js → esm2020/ApplicationInjector.mjs} +0 -0
  45. package/esm2020/VICommonModule.mjs +145 -0
  46. package/esm2020/application/ApplicationBaseComponent.mjs +87 -0
  47. package/esm2020/application/ApplicationComponent.mjs +53 -0
  48. package/{esm2015/application/MessageBaseComponent.js → esm2020/application/MessageBaseComponent.mjs} +0 -0
  49. package/{esm2015/application/ShellBaseComponent.js → esm2020/application/ShellBaseComponent.mjs} +0 -0
  50. package/esm2020/asset/AssetBackgroundDirective.mjs +150 -0
  51. package/esm2020/asset/AssetBackgroundPipe.mjs +22 -0
  52. package/esm2020/asset/AssetFilePipe.mjs +22 -0
  53. package/esm2020/asset/AssetIconPipe.mjs +22 -0
  54. package/esm2020/asset/AssetImagePipe.mjs +22 -0
  55. package/esm2020/asset/AssetModule.mjs +24 -0
  56. package/esm2020/asset/AssetSoundPipe.mjs +22 -0
  57. package/esm2020/asset/AssetVideoPipe.mjs +22 -0
  58. package/esm2020/bottomSheet/BottomSheetImpl.mjs +230 -0
  59. package/esm2020/bottomSheet/BottomSheetModule.mjs +45 -0
  60. package/esm2020/bottomSheet/BottomSheetService.mjs +99 -0
  61. package/{esm2015/bottomSheet/component/BottomSheetBaseComponent.js → esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs} +0 -0
  62. package/esm2020/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.mjs +60 -0
  63. package/esm2020/component/VIComponentModule.mjs +105 -0
  64. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +188 -0
  65. package/{esm2015/component/cdk-table/CdkTableDataSource.js → esm2020/component/cdk-table/CdkTableDataSource.mjs} +0 -0
  66. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +94 -0
  67. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +49 -0
  68. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +57 -0
  69. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +35 -0
  70. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +63 -0
  71. package/esm2020/component/cdk-table/column/CdkTableCellClassNamePipe.mjs +21 -0
  72. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +22 -0
  73. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +22 -0
  74. package/esm2020/component/cdk-table/column/CdkTableColumnValuePipe.mjs +22 -0
  75. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +2 -0
  76. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +22 -0
  77. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +22 -0
  78. package/{esm2015/component/cdk-table/row/ICdkTableRow.js → esm2020/component/cdk-table/row/ICdkTableRow.mjs} +0 -0
  79. package/esm2020/component/language/language-selector/language-selector.component.mjs +79 -0
  80. package/esm2020/component/menu-list/menu-list.component.mjs +16 -0
  81. package/esm2020/component/select-list/select-list.component.mjs +17 -0
  82. package/esm2020/component/tab-group/tab-group.component.mjs +71 -0
  83. package/esm2020/cookie/CookieModule.mjs +37 -0
  84. package/{esm2015/cookie/CookieOptions.js → esm2020/cookie/CookieOptions.mjs} +0 -0
  85. package/{esm2015/cookie/CookieService.js → esm2020/cookie/CookieService.mjs} +1 -1
  86. package/esm2020/directive/AspectRatioResizeDirective.mjs +127 -0
  87. package/esm2020/directive/AutoScrollBottomDirective.mjs +115 -0
  88. package/esm2020/directive/ClickToCopyDirective.mjs +49 -0
  89. package/esm2020/directive/ClickToSelectDirective.mjs +49 -0
  90. package/esm2020/directive/FocusDirective.mjs +54 -0
  91. package/esm2020/directive/HTMLContentTitleDirective.mjs +71 -0
  92. package/esm2020/directive/InfiniteScrollDirective.mjs +74 -0
  93. package/esm2020/directive/ResizeDirective.mjs +79 -0
  94. package/esm2020/directive/ScrollDirective.mjs +128 -0
  95. package/esm2020/directive/SelectOnFocusDirective.mjs +47 -0
  96. package/{esm2015/form/FormElementAsync.js → esm2020/form/FormElementAsync.mjs} +0 -0
  97. package/esm2020/form/FormElementSync.mjs +69 -0
  98. package/{esm2015/form/ValueAccessor.js → esm2020/form/ValueAccessor.mjs} +0 -0
  99. package/esm2020/form/validate.mjs +59 -0
  100. package/esm2020/language/LanguageDirective.mjs +92 -0
  101. package/esm2020/language/LanguageHasDirective.mjs +93 -0
  102. package/esm2020/language/LanguageMatPaginatorIntl.mjs +62 -0
  103. package/esm2020/language/LanguageModule.mjs +67 -0
  104. package/{esm2015/language/LanguageMomentDateAdapter.js → esm2020/language/LanguageMomentDateAdapter.mjs} +2 -4
  105. package/esm2020/language/LanguagePipe.mjs +58 -0
  106. package/esm2020/language/LanguagePipeHas.mjs +56 -0
  107. package/esm2020/language/LanguagePipeHasPure.mjs +40 -0
  108. package/esm2020/language/LanguagePipePure.mjs +39 -0
  109. package/{esm2015/language/LanguageRequireResolver.js → esm2020/language/LanguageRequireResolver.mjs} +0 -0
  110. package/esm2020/language/LanguageResolver.mjs +21 -0
  111. package/{esm2015/list/IListItem.js → esm2020/list/IListItem.mjs} +0 -0
  112. package/{esm2015/list/ListItem.js → esm2020/list/ListItem.mjs} +0 -0
  113. package/{esm2015/list/ListItems.js → esm2020/list/ListItems.mjs} +0 -0
  114. package/{esm2015/list/select/ISelectListItem.js → esm2020/list/select/ISelectListItem.mjs} +0 -0
  115. package/{esm2015/list/select/SelectListItem.js → esm2020/list/select/SelectListItem.mjs} +0 -0
  116. package/{esm2015/list/select/SelectListItems.js → esm2020/list/select/SelectListItems.mjs} +0 -0
  117. package/esm2020/login/LoginBaseService.mjs +187 -0
  118. package/esm2020/login/LoginGuard.mjs +29 -0
  119. package/esm2020/login/LoginRedirectResolver.mjs +21 -0
  120. package/esm2020/login/LoginRequireResolver.mjs +36 -0
  121. package/esm2020/login/LoginResolver.mjs +28 -0
  122. package/{esm2015/manager/FocusManager.js → esm2020/manager/FocusManager.mjs} +0 -0
  123. package/{esm2015/manager/ResizeManager.js → esm2020/manager/ResizeManager.mjs} +0 -0
  124. package/{esm2015/menu/MenuItem.js → esm2020/menu/MenuItem.mjs} +0 -0
  125. package/{esm2015/menu/MenuItemBase.js → esm2020/menu/MenuItemBase.mjs} +0 -0
  126. package/{esm2015/menu/MenuItems.js → esm2020/menu/MenuItems.mjs} +0 -0
  127. package/{esm2015/menu/NavigationMenuItem.js → esm2020/menu/NavigationMenuItem.mjs} +0 -0
  128. package/esm2020/module/LazyModuleLoader.mjs +89 -0
  129. package/{esm2015/notification/INotification.js → esm2020/notification/INotification.mjs} +0 -0
  130. package/esm2020/notification/INotificationContent.mjs +131 -0
  131. package/{esm2015/notification/NotificationConfig.js → esm2020/notification/NotificationConfig.mjs} +0 -0
  132. package/{esm2015/notification/NotificationFactory.js → esm2020/notification/NotificationFactory.mjs} +0 -0
  133. package/esm2020/notification/NotificationImpl.mjs +139 -0
  134. package/esm2020/notification/NotificationModule.mjs +53 -0
  135. package/{esm2015/notification/NotificationProperties.js → esm2020/notification/NotificationProperties.mjs} +0 -0
  136. package/esm2020/notification/NotificationService.mjs +239 -0
  137. package/{esm2015/notification/component/NotificationBaseComponent.js → esm2020/notification/component/NotificationBaseComponent.mjs} +0 -0
  138. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +49 -0
  139. package/esm2020/notification/component/notification/notification.component.mjs +61 -0
  140. package/esm2020/pipe/CamelCasePipe.mjs +31 -0
  141. package/esm2020/pipe/FinancePipe.mjs +53 -0
  142. package/esm2020/pipe/MomentDateAdaptivePipe.mjs +51 -0
  143. package/esm2020/pipe/MomentDateFromNowPipe.mjs +22 -0
  144. package/esm2020/pipe/MomentDatePipe.mjs +71 -0
  145. package/esm2020/pipe/MomentTimePipe.mjs +35 -0
  146. package/esm2020/pipe/NgModelErrorPipe.mjs +42 -0
  147. package/esm2020/pipe/PrettifyPipe.mjs +38 -0
  148. package/esm2020/pipe/SanitizePipe.mjs +47 -0
  149. package/esm2020/pipe/StartCasePipe.mjs +24 -0
  150. package/esm2020/pipe/TimePipe.mjs +37 -0
  151. package/esm2020/pipe/TruncatePipe.mjs +25 -0
  152. package/esm2020/public-api.mjs +160 -0
  153. package/{esm2015/question/IQuestion.js → esm2020/question/IQuestion.mjs} +0 -0
  154. package/{esm2015/question/QuestionManager.js → esm2020/question/QuestionManager.mjs} +0 -0
  155. package/esm2020/service/BootstrapBreakpointService.mjs +116 -0
  156. package/{esm2015/service/PipeBaseService.js → esm2020/service/PipeBaseService.mjs} +0 -0
  157. package/esm2020/service/RouterBaseService.mjs +214 -0
  158. package/{esm2015/service/route/CanDeactivateGuard.js → esm2020/service/route/CanDeactivateGuard.mjs} +0 -0
  159. package/{esm2015/service/route/IRouterDeactivatable.js → esm2020/service/route/IRouterDeactivatable.mjs} +0 -0
  160. package/esm2020/theme/ThemeAssetBackgroundDirective.mjs +36 -0
  161. package/esm2020/theme/ThemeAssetDirective.mjs +219 -0
  162. package/esm2020/theme/ThemeAssetImageDirective.mjs +34 -0
  163. package/esm2020/theme/ThemeModule.mjs +62 -0
  164. package/esm2020/theme/ThemeStyleDirective.mjs +115 -0
  165. package/esm2020/theme/ThemeStyleHoverDirective.mjs +107 -0
  166. package/esm2020/theme/ThemeToggleDirective.mjs +62 -0
  167. package/esm2020/transport/TransportLazy.mjs +91 -0
  168. package/esm2020/transport/TransportLazyModule.mjs +28 -0
  169. package/esm2020/transport/TransportLazyModuleLoadedEvent.mjs +18 -0
  170. package/esm2020/ts-core-angular.mjs +5 -0
  171. package/{esm2015/user/IUser.js → esm2020/user/IUser.mjs} +0 -0
  172. package/esm2020/user/UserBaseService.mjs +105 -0
  173. package/{esm2015/util/ViewUtil.js → esm2020/util/ViewUtil.mjs} +0 -0
  174. package/{esm2015/window/IWindow.js → esm2020/window/IWindow.mjs} +0 -0
  175. package/esm2020/window/IWindowContent.mjs +124 -0
  176. package/{esm2015/window/WindowBase.js → esm2020/window/WindowBase.mjs} +0 -0
  177. package/{esm2015/window/WindowConfig.js → esm2020/window/WindowConfig.mjs} +0 -0
  178. package/{esm2015/window/WindowFactory.js → esm2020/window/WindowFactory.mjs} +0 -0
  179. package/esm2020/window/WindowImpl.mjs +319 -0
  180. package/esm2020/window/WindowModule.mjs +59 -0
  181. package/{esm2015/window/WindowProperties.js → esm2020/window/WindowProperties.mjs} +0 -0
  182. package/esm2020/window/WindowService.mjs +338 -0
  183. package/{esm2015/window/component/WindowBaseComponent.js → esm2020/window/component/WindowBaseComponent.mjs} +0 -0
  184. package/esm2020/window/component/WindowDragAreaDirective.mjs +97 -0
  185. package/{esm2015/window/component/WindowDragable.js → esm2020/window/component/WindowDragable.mjs} +1 -1
  186. package/esm2020/window/component/WindowElement.mjs +85 -0
  187. package/{esm2015/window/component/WindowQuestionBaseComponent.js → esm2020/window/component/WindowQuestionBaseComponent.mjs} +0 -0
  188. package/{esm2015/window/component/WindowResizeable.js → esm2020/window/component/WindowResizeable.mjs} +1 -1
  189. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +60 -0
  190. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +80 -0
  191. package/esm2020/window/component/window-question/window-question.component.mjs +50 -0
  192. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +59 -0
  193. package/fesm2015/{ts-core-angular.js → ts-core-angular.mjs} +5106 -4696
  194. package/fesm2015/ts-core-angular.mjs.map +1 -0
  195. package/fesm2020/ts-core-angular.mjs +9510 -0
  196. package/fesm2020/ts-core-angular.mjs.map +1 -0
  197. package/form/FormElementSync.d.ts +3 -0
  198. package/language/LanguageDirective.d.ts +3 -0
  199. package/language/LanguageHasDirective.d.ts +3 -0
  200. package/language/LanguageMatPaginatorIntl.d.ts +3 -0
  201. package/language/LanguageModule.d.ts +11 -0
  202. package/language/LanguagePipe.d.ts +3 -0
  203. package/language/LanguagePipeHas.d.ts +3 -0
  204. package/language/LanguagePipeHasPure.d.ts +3 -0
  205. package/language/LanguagePipePure.d.ts +3 -0
  206. package/language/LanguageResolver.d.ts +3 -0
  207. package/login/LoginGuard.d.ts +5 -2
  208. package/login/LoginRedirectResolver.d.ts +3 -0
  209. package/login/LoginRequireResolver.d.ts +2 -2
  210. package/login/LoginResolver.d.ts +3 -0
  211. package/module/LazyModuleLoader.d.ts +24 -0
  212. package/notification/INotificationContent.d.ts +3 -0
  213. package/notification/NotificationModule.d.ts +14 -0
  214. package/notification/NotificationService.d.ts +3 -0
  215. package/notification/component/NotificationQuestionBaseComponent.d.ts +3 -0
  216. package/notification/component/notification/notification.component.d.ts +3 -0
  217. package/package.json +44 -30
  218. package/pipe/CamelCasePipe.d.ts +3 -0
  219. package/pipe/FinancePipe.d.ts +3 -0
  220. package/pipe/MomentDateAdaptivePipe.d.ts +3 -0
  221. package/pipe/MomentDateFromNowPipe.d.ts +3 -0
  222. package/pipe/MomentDatePipe.d.ts +3 -0
  223. package/pipe/MomentTimePipe.d.ts +3 -0
  224. package/pipe/NgModelErrorPipe.d.ts +3 -0
  225. package/pipe/PrettifyPipe.d.ts +3 -0
  226. package/pipe/SanitizePipe.d.ts +3 -0
  227. package/pipe/StartCasePipe.d.ts +3 -0
  228. package/pipe/TimePipe.d.ts +3 -0
  229. package/pipe/TruncatePipe.d.ts +3 -0
  230. package/public-api.d.ts +29 -9
  231. package/service/BootstrapBreakpointService.d.ts +3 -0
  232. package/theme/ThemeAssetBackgroundDirective.d.ts +3 -0
  233. package/theme/ThemeAssetDirective.d.ts +3 -0
  234. package/theme/ThemeAssetImageDirective.d.ts +3 -0
  235. package/theme/ThemeModule.d.ts +10 -0
  236. package/theme/ThemeStyleDirective.d.ts +3 -0
  237. package/theme/ThemeStyleHoverDirective.d.ts +3 -0
  238. package/theme/ThemeToggleDirective.d.ts +3 -0
  239. package/transport/TransportLazy.d.ts +15 -0
  240. package/transport/TransportLazyModule.d.ts +16 -0
  241. package/transport/TransportLazyModuleLoadedEvent.d.ts +6 -0
  242. package/ts-core-angular.d.ts +1 -24
  243. package/user/UserBaseService.d.ts +1 -1
  244. package/window/IWindowContent.d.ts +3 -0
  245. package/window/WindowModule.d.ts +20 -0
  246. package/window/WindowService.d.ts +3 -0
  247. package/window/component/WindowDragAreaDirective.d.ts +3 -0
  248. package/window/component/WindowDragable.d.ts +1 -1
  249. package/window/component/WindowElement.d.ts +3 -0
  250. package/window/component/WindowResizeable.d.ts +1 -1
  251. package/window/component/window-close-element/window-close-element.component.d.ts +3 -0
  252. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +3 -0
  253. package/window/component/window-question/window-question.component.d.ts +3 -0
  254. package/window/component/window-resize-element/window-resize-element.component.d.ts +3 -0
  255. package/application/ApplicationComponent2.d.ts +0 -19
  256. package/bundles/ts-core-angular.umd.js +0 -10984
  257. package/bundles/ts-core-angular.umd.js.map +0 -1
  258. package/bundles/ts-core-angular.umd.min.js +0 -2
  259. package/bundles/ts-core-angular.umd.min.js.map +0 -1
  260. package/esm2015/VICommonModule.js +0 -98
  261. package/esm2015/application/ApplicationBaseComponent.js +0 -80
  262. package/esm2015/application/ApplicationComponent.js +0 -57
  263. package/esm2015/application/ApplicationComponent2.js +0 -53
  264. package/esm2015/asset/AssetBackgroundDirective.js +0 -144
  265. package/esm2015/asset/AssetBackgroundPipe.js +0 -18
  266. package/esm2015/asset/AssetFilePipe.js +0 -18
  267. package/esm2015/asset/AssetIconPipe.js +0 -18
  268. package/esm2015/asset/AssetImagePipe.js +0 -18
  269. package/esm2015/asset/AssetModule.js +0 -19
  270. package/esm2015/asset/AssetSoundPipe.js +0 -18
  271. package/esm2015/asset/AssetVideoPipe.js +0 -18
  272. package/esm2015/bottomSheet/BottomSheetImpl.js +0 -231
  273. package/esm2015/bottomSheet/BottomSheetModule.js +0 -40
  274. package/esm2015/bottomSheet/BottomSheetService.js +0 -103
  275. package/esm2015/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.js +0 -63
  276. package/esm2015/component/VIComponentModule.js +0 -67
  277. package/esm2015/component/cdk-table/CdkTableBaseComponent.js +0 -176
  278. package/esm2015/component/cdk-table/CdkTableFilterableMapCollection.js +0 -94
  279. package/esm2015/component/cdk-table/CdkTablePaginableBookmarkMapCollection.js +0 -49
  280. package/esm2015/component/cdk-table/CdkTablePaginableMapCollection.js +0 -57
  281. package/esm2015/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.js +0 -24
  282. package/esm2015/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.js +0 -52
  283. package/esm2015/component/cdk-table/column/CdkTableCellClassNamePipe.js +0 -17
  284. package/esm2015/component/cdk-table/column/CdkTableColumnClassNamePipe.js +0 -18
  285. package/esm2015/component/cdk-table/column/CdkTableColumnStyleNamePipe.js +0 -18
  286. package/esm2015/component/cdk-table/column/CdkTableColumnValuePipe.js +0 -18
  287. package/esm2015/component/cdk-table/column/ICdkTableColumn.js +0 -2
  288. package/esm2015/component/cdk-table/row/CdkTableRowClassNamePipe.js +0 -18
  289. package/esm2015/component/cdk-table/row/CdkTableRowStyleNamePipe.js +0 -18
  290. package/esm2015/component/language/language-selector/language-selector.component.js +0 -75
  291. package/esm2015/component/menu-list/menu-list.component.js +0 -14
  292. package/esm2015/component/select-list/select-list.component.js +0 -14
  293. package/esm2015/component/tab-group/tab-group.component.js +0 -68
  294. package/esm2015/cookie/CookieModule.js +0 -33
  295. package/esm2015/directive/AspectRatioResizeDirective.js +0 -125
  296. package/esm2015/directive/AutoScrollBottomDirective.js +0 -107
  297. package/esm2015/directive/ClickToCopyDirective.js +0 -48
  298. package/esm2015/directive/ClickToSelectDirective.js +0 -48
  299. package/esm2015/directive/FocusDirective.js +0 -53
  300. package/esm2015/directive/HTMLContentTitleDirective.js +0 -70
  301. package/esm2015/directive/InfiniteScrollDirective.js +0 -69
  302. package/esm2015/directive/ResizeDirective.js +0 -75
  303. package/esm2015/directive/ScrollDirective.js +0 -124
  304. package/esm2015/directive/SelectOnFocusDirective.js +0 -46
  305. package/esm2015/form/FormElementSync.js +0 -62
  306. package/esm2015/form/validate.js +0 -61
  307. package/esm2015/language/LanguageDirective.js +0 -90
  308. package/esm2015/language/LanguageHasDirective.js +0 -93
  309. package/esm2015/language/LanguageMatPaginatorIntl.js +0 -54
  310. package/esm2015/language/LanguageModule.js +0 -62
  311. package/esm2015/language/LanguagePipe.js +0 -57
  312. package/esm2015/language/LanguagePipeHas.js +0 -55
  313. package/esm2015/language/LanguagePipeHasPure.js +0 -39
  314. package/esm2015/language/LanguagePipePure.js +0 -38
  315. package/esm2015/language/LanguageResolver.js +0 -23
  316. package/esm2015/login/LoginBaseService.js +0 -197
  317. package/esm2015/login/LoginGuard.js +0 -31
  318. package/esm2015/login/LoginRedirectResolver.js +0 -19
  319. package/esm2015/login/LoginRequireResolver.js +0 -36
  320. package/esm2015/login/LoginResolver.js +0 -30
  321. package/esm2015/notification/INotificationContent.js +0 -126
  322. package/esm2015/notification/NotificationImpl.js +0 -140
  323. package/esm2015/notification/NotificationModule.js +0 -40
  324. package/esm2015/notification/NotificationService.js +0 -248
  325. package/esm2015/notification/component/NotificationQuestionBaseComponent.js +0 -43
  326. package/esm2015/notification/component/notification/notification.component.js +0 -64
  327. package/esm2015/pipe/CamelCasePipe.js +0 -28
  328. package/esm2015/pipe/FinancePipe.js +0 -49
  329. package/esm2015/pipe/MomentDateAdaptivePipe.js +0 -47
  330. package/esm2015/pipe/MomentDateFromNowPipe.js +0 -18
  331. package/esm2015/pipe/MomentDatePipe.js +0 -67
  332. package/esm2015/pipe/MomentTimePipe.js +0 -31
  333. package/esm2015/pipe/NgModelErrorPipe.js +0 -41
  334. package/esm2015/pipe/PrettifyPipe.js +0 -35
  335. package/esm2015/pipe/SanitizePipe.js +0 -46
  336. package/esm2015/pipe/StartCasePipe.js +0 -20
  337. package/esm2015/pipe/TimePipe.js +0 -33
  338. package/esm2015/pipe/TruncatePipe.js +0 -21
  339. package/esm2015/public-api.js +0 -155
  340. package/esm2015/service/BootstrapBreakpointService.js +0 -118
  341. package/esm2015/service/RouterBaseService.js +0 -223
  342. package/esm2015/theme/ThemeAssetBackgroundDirective.js +0 -37
  343. package/esm2015/theme/ThemeAssetDirective.js +0 -204
  344. package/esm2015/theme/ThemeAssetImageDirective.js +0 -35
  345. package/esm2015/theme/ThemeModule.js +0 -57
  346. package/esm2015/theme/ThemeStyleDirective.js +0 -113
  347. package/esm2015/theme/ThemeStyleHoverDirective.js +0 -105
  348. package/esm2015/theme/ThemeToggleDirective.js +0 -61
  349. package/esm2015/ts-core-angular.js +0 -28
  350. package/esm2015/user/UserBaseService.js +0 -105
  351. package/esm2015/window/IWindowContent.js +0 -115
  352. package/esm2015/window/WindowImpl.js +0 -320
  353. package/esm2015/window/WindowModule.js +0 -46
  354. package/esm2015/window/WindowService.js +0 -349
  355. package/esm2015/window/component/WindowDragAreaDirective.js +0 -96
  356. package/esm2015/window/component/WindowElement.js +0 -78
  357. package/esm2015/window/component/window-close-element/window-close-element.component.js +0 -63
  358. package/esm2015/window/component/window-minimize-element/window-minimize-element.component.js +0 -83
  359. package/esm2015/window/component/window-question/window-question.component.js +0 -50
  360. package/esm2015/window/component/window-resize-element/window-resize-element.component.js +0 -62
  361. package/fesm2015/ts-core-angular.js.map +0 -1
  362. package/ts-core-angular.metadata.json +0 -1
@@ -1,155 +0,0 @@
1
- /* ======= */
2
- export * from './application/ApplicationBaseComponent';
3
- export * from './application/ApplicationComponent';
4
- export * from './application/ApplicationComponent2';
5
- export * from './application/MessageBaseComponent';
6
- export * from './application/ShellBaseComponent';
7
- /* ======= */
8
- export * from './ApplicationInjector';
9
- /* ======= */
10
- export * from './asset/AssetBackgroundDirective';
11
- export * from './asset/AssetBackgroundPipe';
12
- export * from './asset/AssetIconPipe';
13
- export * from './asset/AssetImagePipe';
14
- export * from './asset/AssetModule';
15
- /* ======= */
16
- export * from './component/language/language-selector/language-selector.component';
17
- /*
18
- export * from './component/notification/notification/notification.component';
19
- export * from './component/notification/NotificationBaseComponent';
20
- export * from './component/notification/NotificationQuestionBaseComponent';
21
- export * from './component/window/close-window-element/close-window-element.component';
22
- export * from './component/window/minimize-window-element/minimize-window-element.component';
23
- export * from './component/window/question/question.component';
24
- export * from './component/window/resize-window-element/resize-window-element.component';
25
-
26
-
27
- export * from './component/window/WindowBaseComponent';
28
- export * from './component/window/WindowDragable';
29
- export * from './component/window/WindowDragAreaDirective';
30
- export * from './component/window/WindowElement';
31
- export * from './component/window/WindowQuestionBaseComponent';
32
- export * from './component/window/WindowResizeable';
33
- */
34
- export * from './component/cdk-table/CdkTableDataSource';
35
- export * from './component/cdk-table/CdkTablePaginableMapCollection';
36
- export * from './component/cdk-table/CdkTablePaginableBookmarkMapCollection';
37
- export * from './component/VIComponentModule';
38
- export * from './component/menu-list/menu-list.component';
39
- export * from './component/select-list/select-list.component';
40
- export * from './component/tab-group/tab-group.component';
41
- export * from './component/cdk-table/CdkTableDataSource';
42
- export * from './component/cdk-table/CdkTablePaginableMapCollection';
43
- export * from './component/cdk-table/CdkTableFilterableMapCollection';
44
- export * from './component/cdk-table/CdkTablePaginableBookmarkMapCollection';
45
- export * from './component/cdk-table/row/ICdkTableRow';
46
- export * from './component/cdk-table/column/ICdkTableColumn';
47
- export * from './component/cdk-table/CdkTableBaseComponent';
48
- /* ======= */
49
- export * from './cookie/CookieModule';
50
- export * from './cookie/CookieOptions';
51
- export * from './cookie/CookieService';
52
- /* ======= */
53
- export * from './directive/AspectRatioResizeDirective';
54
- export * from './directive/AutoScrollBottomDirective';
55
- export * from './directive/ClickToCopyDirective';
56
- export * from './directive/ClickToSelectDirective';
57
- export * from './directive/FocusDirective';
58
- export * from './directive/SelectOnFocusDirective';
59
- export * from './directive/InfiniteScrollDirective';
60
- export * from './directive/ResizeDirective';
61
- export * from './directive/ScrollDirective';
62
- export * from './directive/HTMLContentTitleDirective';
63
- /* ======= */
64
- export * from './form/FormElementAsync';
65
- export * from './form/FormElementSync';
66
- /* ======= */
67
- export * from './language/LanguageMatPaginatorIntl';
68
- export * from './language/LanguageModule';
69
- export * from './language/LanguageMomentDateAdapter';
70
- export * from './language/LanguagePipe';
71
- export * from './language/LanguagePipePure';
72
- export * from './language/LanguagePipeHas';
73
- export * from './language/LanguagePipeHasPure';
74
- export * from './language/LanguageResolver';
75
- export * from './language/LanguageRequireResolver';
76
- export * from './language/LanguageDirective';
77
- export * from './language/LanguageHasDirective';
78
- /* ======= */
79
- export * from './login/LoginBaseService';
80
- export * from './login/LoginGuard';
81
- export * from './login/LoginRedirectResolver';
82
- export * from './login/LoginRequireResolver';
83
- export * from './login/LoginResolver';
84
- /* ======= */
85
- export * from './manager/FocusManager';
86
- export * from './manager/ResizeManager';
87
- /* ======= */
88
- export * from './menu/MenuItem';
89
- export * from './menu/MenuItemBase';
90
- export * from './menu/MenuItems';
91
- export * from './menu/NavigationMenuItem';
92
- /* ======= */
93
- export * from './list/IListItem';
94
- export * from './list/ListItem';
95
- export * from './list/ListItems';
96
- export * from './list/select/ISelectListItem';
97
- export * from './list/select/SelectListItem';
98
- export * from './list/select/SelectListItems';
99
- /* ======= */
100
- export * from './notification/INotification';
101
- export * from './notification/INotificationContent';
102
- export * from './notification/NotificationConfig';
103
- export * from './notification/NotificationFactory';
104
- export * from './notification/NotificationModule';
105
- export * from './notification/NotificationProperties';
106
- export * from './notification/NotificationService';
107
- /* ======= */
108
- export * from './bottomSheet/BottomSheetService';
109
- /* ======= */
110
- export * from './pipe/CamelCasePipe';
111
- export * from './pipe/FinancePipe';
112
- export * from './pipe/MomentDateAdaptivePipe';
113
- export * from './pipe/MomentDateFromNowPipe';
114
- export * from './pipe/MomentDatePipe';
115
- export * from './pipe/MomentTimePipe';
116
- export * from './pipe/NgModelErrorPipe';
117
- export * from './pipe/SanitizePipe';
118
- export * from './pipe/StartCasePipe';
119
- export * from './pipe/TruncatePipe';
120
- export * from './pipe/PrettifyPipe';
121
- export * from './pipe/TimePipe';
122
- /* ======= */
123
- export * from './question/IQuestion';
124
- export * from './question/QuestionManager';
125
- export * from './service/PipeBaseService';
126
- export * from './service/BootstrapBreakpointService';
127
- /* ======= */
128
- export * from './service/RouterBaseService';
129
- export * from './service/route/CanDeactivateGuard';
130
- export * from './service/route/IRouterDeactivatable';
131
- /* ======= */
132
- export * from './theme/ThemeStyleHoverDirective';
133
- export * from './theme/ThemeStyleDirective';
134
- export * from './theme/ThemeAssetBackgroundDirective';
135
- export * from './theme/ThemeAssetImageDirective';
136
- export * from './theme/ThemeAssetDirective';
137
- export * from './theme/ThemeModule';
138
- export * from './theme/ThemeToggleDirective';
139
- /* ======= */
140
- export * from './user/IUser';
141
- export * from './user/UserBaseService';
142
- /* ======= */
143
- export * from './util/ViewUtil';
144
- export * from './VICommonModule';
145
- /* ======= */
146
- export * from './window/IWindow';
147
- export * from './window/IWindowContent';
148
- export * from './window/WindowBase';
149
- export * from './window/WindowConfig';
150
- export * from './window/WindowFactory';
151
- export * from './window/WindowImpl';
152
- export * from './window/WindowModule';
153
- export * from './window/WindowProperties';
154
- export * from './window/WindowService';
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDYixjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsYUFBYTtBQUNiLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsYUFBYTtBQUNiLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxhQUFhO0FBQ2IsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRjs7Ozs7Ozs7Ozs7Ozs7OztFQWdCRTtBQUVGLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxhQUFhO0FBQ2IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsYUFBYTtBQUNiLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx1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Q2IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxhQUFhO0FBQ2IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT0gKi9cbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24vQXBwbGljYXRpb25CYXNlQ29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24vQXBwbGljYXRpb25Db21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi9BcHBsaWNhdGlvbkNvbXBvbmVudDInO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi9NZXNzYWdlQmFzZUNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uL1NoZWxsQmFzZUNvbXBvbmVudCc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL0FwcGxpY2F0aW9uSW5qZWN0b3InO1xuLyogPT09PT09PSAqL1xuZXhwb3J0ICogZnJvbSAnLi9hc3NldC9Bc3NldEJhY2tncm91bmREaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NldC9Bc3NldEJhY2tncm91bmRQaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXQvQXNzZXRJY29uUGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0L0Fzc2V0SW1hZ2VQaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXQvQXNzZXRNb2R1bGUnO1xuLyogPT09PT09PSAqL1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvbGFuZ3VhZ2UvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Jztcbi8qXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblF1ZXN0aW9uQmFzZUNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC93aW5kb3cvY2xvc2Utd2luZG93LWVsZW1lbnQvY2xvc2Utd2luZG93LWVsZW1lbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy9taW5pbWl6ZS13aW5kb3ctZWxlbWVudC9taW5pbWl6ZS13aW5kb3ctZWxlbWVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvd2luZG93L3F1ZXN0aW9uL3F1ZXN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC93aW5kb3cvcmVzaXplLXdpbmRvdy1lbGVtZW50L3Jlc2l6ZS13aW5kb3ctZWxlbWVudC5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy9XaW5kb3dCYXNlQ29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3dpbmRvdy9XaW5kb3dEcmFnYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC93aW5kb3cvV2luZG93RHJhZ0FyZWFEaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvd2luZG93L1dpbmRvd0VsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvd2luZG93L1dpbmRvd1F1ZXN0aW9uQmFzZUNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC93aW5kb3cvV2luZG93UmVzaXplYWJsZSc7XG4qL1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9jZGstdGFibGUvQ2RrVGFibGVEYXRhU291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L2Nkay10YWJsZS9DZGtUYWJsZVBhZ2luYWJsZU1hcENvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvY2RrLXRhYmxlL0Nka1RhYmxlUGFnaW5hYmxlQm9va21hcmtNYXBDb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L1ZJQ29tcG9uZW50TW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvbWVudS1saXN0L21lbnUtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvc2VsZWN0LWxpc3Qvc2VsZWN0LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L2Nkay10YWJsZS9DZGtUYWJsZURhdGFTb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvY2RrLXRhYmxlL0Nka1RhYmxlUGFnaW5hYmxlTWFwQ29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9jZGstdGFibGUvQ2RrVGFibGVGaWx0ZXJhYmxlTWFwQ29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9jZGstdGFibGUvQ2RrVGFibGVQYWdpbmFibGVCb29rbWFya01hcENvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvY2RrLXRhYmxlL3Jvdy9JQ2RrVGFibGVSb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvY2RrLXRhYmxlL2NvbHVtbi9JQ2RrVGFibGVDb2x1bW4nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvY2RrLXRhYmxlL0Nka1RhYmxlQmFzZUNvbXBvbmVudCc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL2Nvb2tpZS9Db29raWVNb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb29raWUvQ29va2llT3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Nvb2tpZS9Db29raWVTZXJ2aWNlJztcbi8qID09PT09PT0gKi9cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlL0FzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlL0F1dG9TY3JvbGxCb3R0b21EaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUvQ2xpY2tUb0NvcHlEaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUvQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS9Gb2N1c0RpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS9TZWxlY3RPbkZvY3VzRGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlL0luZmluaXRlU2Nyb2xsRGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlL1Jlc2l6ZURpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS9TY3JvbGxEaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUvSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0vRm9ybUVsZW1lbnRBc3luYyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0vRm9ybUVsZW1lbnRTeW5jJztcbi8qID09PT09PT0gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VNYXRQYWdpbmF0b3JJbnRsJztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VNb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZS9MYW5ndWFnZU1vbWVudERhdGVBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VQaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VQaXBlUHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlL0xhbmd1YWdlUGlwZUhhcyc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlL0xhbmd1YWdlUGlwZUhhc1B1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZS9MYW5ndWFnZVJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VSZXF1aXJlUmVzb2x2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZS9MYW5ndWFnZURpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlL0xhbmd1YWdlSGFzRGlyZWN0aXZlJztcbi8qID09PT09PT0gKi9cbmV4cG9ydCAqIGZyb20gJy4vbG9naW4vTG9naW5CYXNlU2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2luL0xvZ2luR3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dpbi9Mb2dpblJlZGlyZWN0UmVzb2x2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dpbi9Mb2dpblJlcXVpcmVSZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2luL0xvZ2luUmVzb2x2ZXInO1xuLyogPT09PT09PSAqL1xuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2VyL0ZvY3VzTWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL21hbmFnZXIvUmVzaXplTWFuYWdlcic7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL21lbnUvTWVudUl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51L01lbnVJdGVtQmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUvTWVudUl0ZW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS9OYXZpZ2F0aW9uTWVudUl0ZW0nO1xuLyogPT09PT09PSAqL1xuZXhwb3J0ICogZnJvbSAnLi9saXN0L0lMaXN0SXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QvTGlzdEl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0L0xpc3RJdGVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qvc2VsZWN0L0lTZWxlY3RMaXN0SXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qvc2VsZWN0L1NlbGVjdExpc3RJdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC9zZWxlY3QvU2VsZWN0TGlzdEl0ZW1zJztcbi8qID09PT09PT0gKi9cbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL0lOb3RpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vSU5vdGlmaWNhdGlvbkNvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbkZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uTW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblByb3BlcnRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vTm90aWZpY2F0aW9uU2VydmljZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0U2VydmljZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL3BpcGUvQ2FtZWxDYXNlUGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGUvRmluYW5jZVBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlL01vbWVudERhdGVBZGFwdGl2ZVBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlL01vbWVudERhdGVGcm9tTm93UGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGUvTW9tZW50RGF0ZVBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlL01vbWVudFRpbWVQaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9OZ01vZGVsRXJyb3JQaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9TYW5pdGl6ZVBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlL1N0YXJ0Q2FzZVBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlL1RydW5jYXRlUGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGUvUHJldHRpZnlQaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9UaW1lUGlwZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL3F1ZXN0aW9uL0lRdWVzdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXN0aW9uL1F1ZXN0aW9uTWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UvUGlwZUJhc2VTZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9Cb290c3RyYXBCcmVha3BvaW50U2VydmljZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UvUm91dGVyQmFzZVNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL3JvdXRlL0NhbkRlYWN0aXZhdGVHdWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2Uvcm91dGUvSVJvdXRlckRlYWN0aXZhdGFibGUnO1xuLyogPT09PT09PSAqL1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS9UaGVtZVN0eWxlSG92ZXJEaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS9UaGVtZVN0eWxlRGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUvVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS9UaGVtZUFzc2V0SW1hZ2VEaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS9UaGVtZUFzc2V0RGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUvVGhlbWVNb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS9UaGVtZVRvZ2dsZURpcmVjdGl2ZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL3VzZXIvSVVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyL1VzZXJCYXNlU2VydmljZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL3V0aWwvVmlld1V0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9WSUNvbW1vbk1vZHVsZSc7XG4vKiA9PT09PT09ICovXG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy9JV2luZG93JztcbmV4cG9ydCAqIGZyb20gJy4vd2luZG93L0lXaW5kb3dDb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vd2luZG93L1dpbmRvd0Jhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3cvV2luZG93Q29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vd2luZG93L1dpbmRvd0ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3cvV2luZG93SW1wbCc7XG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy9XaW5kb3dNb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi93aW5kb3cvV2luZG93UHJvcGVydGllcyc7XG5leHBvcnQgKiBmcm9tICcuL3dpbmRvdy9XaW5kb3dTZXJ2aWNlJztcbiJdfQ==
@@ -1,118 +0,0 @@
1
- import { BreakpointObserver } from '@angular/cdk/layout';
2
- import { Injectable } from '@angular/core';
3
- import { DestroyableContainer } from '@ts-core/common';
4
- import { ObservableData } from '@ts-core/common/observer';
5
- import * as _ from 'lodash';
6
- import { merge, Subject } from 'rxjs';
7
- import { filter, map, takeUntil } from 'rxjs/operators';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/cdk/layout";
10
- export class BootstrapBreakpointService extends DestroyableContainer {
11
- // --------------------------------------------------------------------------
12
- //
13
- // Constructor
14
- //
15
- // --------------------------------------------------------------------------
16
- constructor(service) {
17
- super();
18
- this.service = service;
19
- this.observer = new Subject();
20
- this.initialize();
21
- }
22
- // --------------------------------------------------------------------------
23
- //
24
- // Protected Methods
25
- //
26
- // --------------------------------------------------------------------------
27
- initialize(sm = BootstrapBreakpointService.DEFAULT_SM, md = BootstrapBreakpointService.DEFAULT_MD, lg = BootstrapBreakpointService.DEFAULT_LG, xl = BootstrapBreakpointService.DEFAULT_XL, xxl = BootstrapBreakpointService.DEFAULT_XXL) {
28
- this.items = [
29
- { name: BootstrapBreakpoint.XXL, value: `(min-width: ${xxl}px)` },
30
- { name: BootstrapBreakpoint.XL, value: `(min-width: ${xl}px)` },
31
- { name: BootstrapBreakpoint.LG, value: `(min-width: ${lg}px)` },
32
- { name: BootstrapBreakpoint.MD, value: `(min-width: ${md}px)` },
33
- { name: BootstrapBreakpoint.SM, value: `(min-width: 0px)` }
34
- ];
35
- merge(...this.items.map(item => this.service.observe(item.value)))
36
- .pipe(takeUntil(this.destroyed))
37
- .subscribe(() => this.setBreakpoint(this.getBreakpoint()));
38
- }
39
- getBreakpoint() {
40
- for (let item of this.items) {
41
- if (this.service.isMatched(item.value)) {
42
- return item.name;
43
- }
44
- }
45
- return null;
46
- }
47
- setBreakpoint(value) {
48
- if (value === this._breakpoint) {
49
- return;
50
- }
51
- this._breakpoint = value;
52
- this.observer.next(new ObservableData(BootstrapBreakpointServiceEvent.CHANGED, this.breakpoint));
53
- }
54
- // --------------------------------------------------------------------------
55
- //
56
- // Public Methods
57
- //
58
- // --------------------------------------------------------------------------
59
- isEqual(item) {
60
- return item === this.breakpoint;
61
- }
62
- isUp(item) {
63
- return _.findIndex(this.items, { name: this.breakpoint }) < _.findIndex(this.items, { name: item });
64
- }
65
- isUpOrEqual(item) {
66
- return this.isEqual(item) || this.isUp(item);
67
- }
68
- isDown(item) {
69
- return _.findIndex(this.items, { name: this.breakpoint }) > _.findIndex(this.items, { name: item });
70
- }
71
- isDownOrEqual(item) {
72
- return this.isEqual(item) || this.isDown(item);
73
- }
74
- // --------------------------------------------------------------------------
75
- //
76
- // Public Properties
77
- //
78
- // --------------------------------------------------------------------------
79
- get breakpoint() {
80
- return this._breakpoint;
81
- }
82
- get events() {
83
- return this.observer.asObservable();
84
- }
85
- get changed() {
86
- return this.events.pipe(filter(item => item.type === BootstrapBreakpointServiceEvent.CHANGED), map(item => item.data));
87
- }
88
- }
89
- // --------------------------------------------------------------------------
90
- //
91
- // Constants
92
- //
93
- // --------------------------------------------------------------------------
94
- BootstrapBreakpointService.DEFAULT_SM = 576;
95
- BootstrapBreakpointService.DEFAULT_MD = 768;
96
- BootstrapBreakpointService.DEFAULT_LG = 992;
97
- BootstrapBreakpointService.DEFAULT_XL = 1200;
98
- BootstrapBreakpointService.DEFAULT_XXL = 1400;
99
- BootstrapBreakpointService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BootstrapBreakpointService_Factory() { return new BootstrapBreakpointService(i0.ɵɵinject(i1.BreakpointObserver)); }, token: BootstrapBreakpointService, providedIn: "root" });
100
- BootstrapBreakpointService.decorators = [
101
- { type: Injectable, args: [{ providedIn: 'root' },] }
102
- ];
103
- BootstrapBreakpointService.ctorParameters = () => [
104
- { type: BreakpointObserver }
105
- ];
106
- export var BootstrapBreakpointServiceEvent;
107
- (function (BootstrapBreakpointServiceEvent) {
108
- BootstrapBreakpointServiceEvent["CHANGED"] = "CHANGED";
109
- })(BootstrapBreakpointServiceEvent || (BootstrapBreakpointServiceEvent = {}));
110
- export var BootstrapBreakpoint;
111
- (function (BootstrapBreakpoint) {
112
- BootstrapBreakpoint["SM"] = "sm";
113
- BootstrapBreakpoint["MD"] = "md";
114
- BootstrapBreakpoint["LG"] = "lg";
115
- BootstrapBreakpoint["XL"] = "xl";
116
- BootstrapBreakpoint["XXL"] = "xxl";
117
- })(BootstrapBreakpoint || (BootstrapBreakpoint = {}));
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdHN0cmFwQnJlYWtwb2ludFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZS9Cb290c3RyYXBCcmVha3BvaW50U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxvQkFBb0I7SUFrQmhFLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBc0IsT0FBMkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUU3QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLFVBQVUsQ0FDaEIsS0FBYSwwQkFBMEIsQ0FBQyxVQUFVLEVBQ2xELEtBQWEsMEJBQTBCLENBQUMsVUFBVSxFQUNsRCxLQUFhLDBCQUEwQixDQUFDLFVBQVUsRUFDbEQsS0FBYSwwQkFBMEIsQ0FB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O0lBQ1QsZ0NBQVMsQ0FBQTtJQUNULGdDQUFTLENBQUE7SUFDVCxnQ0FBUyxDQUFBO0lBQ1Qsa0NBQVcsQ0FBQTtBQUNmLENBQUMsRUFOVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBTTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEJvb3RzdHJhcEJyZWFrcG9pbnRTZXJ2aWNlIGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0YW50c1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9TTSA9IDU3NjtcbiAgICBwdWJsaWMgc3RhdGljIERFRkFVTFRfTUQgPSA3Njg7XG4gICAgcHVibGljIHN0YXRpYyBERUZBVUxUX0xHID0gOTkyO1xuICAgIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9YTCA9IDEyMDA7XG4gICAgcHVibGljIHN0YXRpYyBERUZBVUxUX1hYTCA9IDE0MDA7XG5cbiAgICBwcm90ZWN0ZWQgX2JyZWFrcG9pbnQ6IEJvb3RzdHJhcEJyZWFrcG9pbnQ7XG4gICAgcHJvdGVjdGVkIGl0ZW1zOiBBcnJheTxJQnJlYWtwb2ludEl0ZW0+O1xuXG4gICAgcHJvdGVjdGVkIG9ic2VydmVyOiBTdWJqZWN0PE9ic2VydmFibGVEYXRhPEJvb3RzdHJhcEJyZWFrcG9pbnRTZXJ2aWNlRXZlbnQsIEJvb3RzdHJhcEJyZWFrcG9pbnQ+PjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZShcbiAgICAgICAgc206IG51bWJlciA9IEJvb3RzdHJhcEJyZWFrcG9pbnRTZXJ2aWNlLkRFRkFVTFRfU00sXG4gICAgICAgIG1kOiBudW1iZXIgPSBCb290c3RyYXBCcmVha3BvaW50U2VydmljZS5ERUZBVUxUX01ELFxuICAgICAgICBsZzogbnVtYmVyID0gQm9vdHN0cmFwQnJlYWtwb2ludFNlcnZpY2UuREVGQVVMVF9MRyxcbiAgICAgICAgeGw6IG51bWJlciA9IEJvb3RzdHJhcEJyZWFrcG9pbnRTZXJ2aWNlLkRFRkFVTFRfWEwsXG4gICAgICAgIHh4bDogbnVtYmVyID0gQm9vdHN0cmFwQnJlYWtwb2ludFNlcnZpY2UuREVGQVVMVF9YWExcbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IFtcbiAgICAgICAgICAgIHsgbmFtZTogQm9vdHN0cmFwQnJlYWtwb2ludC5YWEwsIHZhbHVlOiBgKG1pbi13aWR0aDogJHt4eGx9cHgpYCB9LFxuICAgICAgICAgICAgeyBuYW1lOiBCb290c3RyYXBCcmVha3BvaW50LlhMLCB2YWx1ZTogYChtaW4td2lkdGg6ICR7eGx9cHgpYCB9LFxuICAgICAgICAgICAgeyBuYW1lOiBCb290c3RyYXBCcmVha3BvaW50LkxHLCB2YWx1ZTogYChtaW4td2lkdGg6ICR7bGd9cHgpYCB9LFxuICAgICAgICAgICAgeyBuYW1lOiBCb290c3RyYXBCcmVha3BvaW50Lk1ELCB2YWx1ZTogYChtaW4td2lkdGg6ICR7bWR9cHgpYCB9LFxuICAgICAgICAgICAgeyBuYW1lOiBCb290c3RyYXBCcmVha3BvaW50LlNNLCB2YWx1ZTogYChtaW4td2lkdGg6IDBweClgIH1cbiAgICAgICAgXTtcblxuICAgICAgICBtZXJnZSguLi50aGlzLml0ZW1zLm1hcChpdGVtID0+IHRoaXMuc2VydmljZS5vYnNlcnZlKGl0ZW0udmFsdWUpKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0QnJlYWtwb2ludCh0aGlzLmdldEJyZWFrcG9pbnQoKSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCcmVha3BvaW50KCk6IEJvb3RzdHJhcEJyZWFrcG9pbnQge1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2UuaXNNYXRjaGVkKGl0ZW0udmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0QnJlYWtwb2ludCh2YWx1ZTogQm9vdHN0cmFwQnJlYWtwb2ludCk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2JyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9icmVha3BvaW50ID0gdmFsdWU7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoQm9vdHN0cmFwQnJlYWtwb2ludFNlcnZpY2VFdmVudC5DSEFOR0VELCB0aGlzLmJyZWFrcG9pbnQpKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBpc0VxdWFsKGl0ZW06IEJvb3RzdHJhcEJyZWFrcG9pbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gPT09IHRoaXMuYnJlYWtwb2ludDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNVcChpdGVtOiBCb290c3RyYXBCcmVha3BvaW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBfLmZpbmRJbmRleCh0aGlzLml0ZW1zLCB7IG5hbWU6IHRoaXMuYnJlYWtwb2ludCB9KSA8IF8uZmluZEluZGV4KHRoaXMuaXRlbXMsIHsgbmFtZTogaXRlbSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNVcE9yRXF1YWwoaXRlbTogQm9vdHN0cmFwQnJlYWtwb2ludCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0VxdWFsKGl0ZW0pIHx8IHRoaXMuaXNVcChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEb3duKGl0ZW06IEJvb3RzdHJhcEJyZWFrcG9pbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIF8uZmluZEluZGV4KHRoaXMuaXRlbXMsIHsgbmFtZTogdGhpcy5icmVha3BvaW50IH0pID4gXy5maW5kSW5kZXgodGhpcy5pdGVtcywgeyBuYW1lOiBpdGVtIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Rvd25PckVxdWFsKGl0ZW06IEJvb3RzdHJhcEJyZWFrcG9pbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNFcXVhbChpdGVtKSB8fCB0aGlzLmlzRG93bihpdGVtKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgYnJlYWtwb2ludCgpOiBCb290c3RyYXBCcmVha3BvaW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxPYnNlcnZhYmxlRGF0YTxCb290c3RyYXBCcmVha3BvaW50U2VydmljZUV2ZW50LCBCb290c3RyYXBCcmVha3BvaW50Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNoYW5nZWQoKTogT2JzZXJ2YWJsZTxCb290c3RyYXBCcmVha3BvaW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSBCb290c3RyYXBCcmVha3BvaW50U2VydmljZUV2ZW50LkNIQU5HRUQpLFxuICAgICAgICAgICAgbWFwKGl0ZW0gPT4gaXRlbS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIElCcmVha3BvaW50SXRlbSB7XG4gICAgbmFtZTogQm9vdHN0cmFwQnJlYWtwb2ludDtcbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBCb290c3RyYXBCcmVha3BvaW50U2VydmljZUV2ZW50IHtcbiAgICBDSEFOR0VEID0gJ0NIQU5HRUQnXG59XG5cbmV4cG9ydCBlbnVtIEJvb3RzdHJhcEJyZWFrcG9pbnQge1xuICAgIFNNID0gJ3NtJyxcbiAgICBNRCA9ICdtZCcsXG4gICAgTEcgPSAnbGcnLFxuICAgIFhMID0gJ3hsJyxcbiAgICBYWEwgPSAneHhsJ1xufVxuIl19
@@ -1,223 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, NavigationStart } from '@angular/router';
3
- import { Loadable, LoadableEvent, LoadableStatus } from '@ts-core/common';
4
- import { ObservableData } from '@ts-core/common/observer';
5
- import * as _ from 'lodash';
6
- import { Subject } from 'rxjs';
7
- import { takeUntil } from 'rxjs/operators';
8
- export class RouterBaseService extends Loadable {
9
- // --------------------------------------------------------------------------
10
- //
11
- // Constructor
12
- //
13
- // --------------------------------------------------------------------------
14
- constructor(_router, window) {
15
- super();
16
- this._router = _router;
17
- this.window = window;
18
- this.isNeedUpdateExtras = false;
19
- this.params = new Map();
20
- this.observer = new Subject();
21
- this._lastUrl = this.url;
22
- this.window.getParams().forEach((value, key) => this.params.set(key, value));
23
- this.initializeObservers();
24
- }
25
- // --------------------------------------------------------------------------
26
- //
27
- // Private Methods
28
- //
29
- // --------------------------------------------------------------------------
30
- initializeObservers() {
31
- this.router.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
32
- if (event instanceof NavigationStart) {
33
- this._previousUrl = this.url;
34
- this.status = LoadableStatus.LOADING;
35
- }
36
- else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {
37
- if (event instanceof NavigationEnd) {
38
- this._lastUrl = event.url;
39
- }
40
- this.status = LoadableStatus.LOADED;
41
- }
42
- });
43
- }
44
- applyExtras(extras) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- let params = {};
47
- params.queryParams = this.getQueryParams();
48
- if (!_.isNil(extras)) {
49
- Object.assign(params, extras);
50
- }
51
- if (!this.isLoading) {
52
- return this.router.navigate([], params);
53
- }
54
- this.extrasToApply = extras;
55
- this.isNeedUpdateExtras = true;
56
- return false;
57
- });
58
- }
59
- getQueryParams() {
60
- let params = {};
61
- this.params.forEach((value, key) => (params[key] = value));
62
- return params;
63
- }
64
- commitStatusChangedProperties(oldStatus, newStatus) {
65
- super.commitStatusChangedProperties(oldStatus, newStatus);
66
- switch (newStatus) {
67
- case LoadableStatus.LOADING:
68
- this.observer.next(new ObservableData(LoadableEvent.STARTED));
69
- break;
70
- case LoadableStatus.LOADED:
71
- if (this.isNeedUpdateExtras) {
72
- this.isNeedUpdateExtras = false;
73
- this.applyExtras(this.extrasToApply);
74
- }
75
- this.observer.next(new ObservableData(LoadableEvent.COMPLETE, { url: this.url, previousUrl: this.previousUrl }));
76
- break;
77
- }
78
- if (newStatus === LoadableStatus.LOADED || newStatus === LoadableStatus.ERROR) {
79
- this.observer.next(new ObservableData(LoadableEvent.FINISHED));
80
- }
81
- }
82
- // --------------------------------------------------------------------------
83
- //
84
- // Navigate Methods
85
- //
86
- // --------------------------------------------------------------------------
87
- navigate(url, extras, isClearParams) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- if (isClearParams) {
90
- this.params.clear();
91
- }
92
- let params = {};
93
- params.queryParams = this.getQueryParams();
94
- if (!_.isNil(extras)) {
95
- Object.assign(params, extras);
96
- }
97
- return this.router.navigateByUrl(url, params);
98
- });
99
- }
100
- navigateToExternalUrl(url, target = '_blank') {
101
- this.window.open(url, target);
102
- }
103
- navigateToLast(extras) {
104
- return this.navigate(this.lastUrl, extras);
105
- }
106
- navigateIfNotLoading(url, extras) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- return !this.isLoading ? this.navigate(url, extras) : false;
109
- });
110
- }
111
- reload() {
112
- location.reload();
113
- }
114
- // --------------------------------------------------------------------------
115
- //
116
- // Public Methods
117
- //
118
- // --------------------------------------------------------------------------
119
- isUrlActive(item, isExact = false) {
120
- if (isExact) {
121
- return this.router.isActive(item, isExact);
122
- }
123
- if (_.isString(item)) {
124
- item = this.router.parseUrl(item);
125
- }
126
- let current = this.router.parseUrl(this.urlTree.toString());
127
- item.fragment = current.fragment = null;
128
- item.queryParams = current.queryParams = {};
129
- return item.toString() === current.toString();
130
- }
131
- // --------------------------------------------------------------------------
132
- //
133
- // Public Param Methods
134
- //
135
- // --------------------------------------------------------------------------
136
- getParams() {
137
- let params = {};
138
- this.params.forEach((value, key) => (params[key] = value));
139
- return params;
140
- }
141
- hasParam(name) {
142
- return this.params.has(name);
143
- }
144
- getParam(name, defaultValue) {
145
- return this.hasParam(name) ? this.params.get(name) : defaultValue;
146
- }
147
- setParam(name, value, extras) {
148
- if (!_.isNil(value)) {
149
- value = value.toString().trim();
150
- if (_.isEmpty(value)) {
151
- value = null;
152
- }
153
- }
154
- if (!_.isNil(value)) {
155
- this.params.set(name, value);
156
- }
157
- else {
158
- this.params.delete(name);
159
- }
160
- if (!_.isNil(extras)) {
161
- extras = { replaceUrl: true };
162
- }
163
- this.applyExtras(extras);
164
- }
165
- removeParam(name, extras) {
166
- if (this.hasParam(name)) {
167
- this.setParam(name, null, extras);
168
- }
169
- }
170
- clearParams(extras) {
171
- this.params.clear();
172
- if (!_.isNil(extras)) {
173
- extras = { replaceUrl: true };
174
- }
175
- this.applyExtras(extras);
176
- }
177
- get hasParams() {
178
- return this.params.size > 0;
179
- }
180
- // --------------------------------------------------------------------------
181
- //
182
- // Fragment Methods
183
- //
184
- // --------------------------------------------------------------------------
185
- getFragment(snapshot, defaultValue) {
186
- if (snapshot instanceof ActivatedRoute) {
187
- snapshot = snapshot.snapshot;
188
- }
189
- return !_.isNil(snapshot.fragment) ? snapshot.fragment : defaultValue;
190
- }
191
- setFragment(value) {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- return this.applyExtras({ fragment: value });
194
- });
195
- }
196
- // --------------------------------------------------------------------------
197
- //
198
- // Public Url Methods
199
- //
200
- // --------------------------------------------------------------------------
201
- get url() {
202
- return this.router.url;
203
- }
204
- get urlTree() {
205
- return this.router.parseUrl(this.url);
206
- }
207
- get lastUrl() {
208
- return this._lastUrl;
209
- }
210
- get lastUrlTree() {
211
- return this.router.parseUrl(this.lastUrl);
212
- }
213
- get previousUrl() {
214
- return this._previousUrl;
215
- }
216
- get previousUrlTree() {
217
- return this.router.parseUrl(this.previousUrl);
218
- }
219
- get router() {
220
- return this._router;
221
- }
222
- }
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyQmFzZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZS9Sb3V0ZXJCYXNlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGNBQWMsRUFFZCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBR2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUEwQztJQWU3RSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLE9BQWUsRUFBWSxNQUEyQjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQVhsRSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFhMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENB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LEdBQUc7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWN0aXZhdGVkUm91dGUsXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICAgIE5hdmlnYXRpb25FbmQsXG4gICAgTmF2aWdhdGlvbkVycm9yLFxuICAgIE5hdmlnYXRpb25FeHRyYXMsXG4gICAgTmF2aWdhdGlvblN0YXJ0LFxuICAgIFJvdXRlcixcbiAgICBVcmxUcmVlXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2FkYWJsZSwgTG9hZGFibGVFdmVudCwgTG9hZGFibGVTdGF0dXMgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZURhdGEgfSBmcm9tICdAdHMtY29yZS9jb21tb24vb2JzZXJ2ZXInO1xuaW1wb3J0IHsgTmF0aXZlV2luZG93U2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL3NlcnZpY2UvTmF0aXZlV2luZG93U2VydmljZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXJCYXNlU2VydmljZSBleHRlbmRzIExvYWRhYmxlPHZvaWQsIFJvdXRlckJhc2VTZXJ2aWNlRXZlbnREYXRhPiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBwYXJhbXM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICBwcm90ZWN0ZWQgZXh0cmFzVG9BcHBseTogTmF2aWdhdGlvbkV4dHJhcztcbiAgICBwcm90ZWN0ZWQgaXNOZWVkVXBkYXRlRXh0cmFzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgX2xhc3RVcmw6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3ByZXZpb3VzVXJsOiBzdHJpbmc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsIHByb3RlY3RlZCB3aW5kb3c6IE5hdGl2ZVdpbmRvd1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIHRoaXMuX2xhc3RVcmwgPSB0aGlzLnVybDtcbiAgICAgICAgdGhpcy53aW5kb3cuZ2V0UGFyYW1zKCkuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4gdGhpcy5wYXJhbXMuc2V0KGtleSwgdmFsdWUpKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplT2JzZXJ2ZXJzKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemVPYnNlcnZlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcmV2aW91c1VybCA9IHRoaXMudXJsO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BRElORztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcikge1xuICAgICAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFzdFVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FERUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBhcHBseUV4dHJhcyhleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyBOYXZpZ2F0aW9uRXh0cmFzO1xuICAgICAgICBwYXJhbXMucXVlcnlQYXJhbXMgPSB0aGlzLmdldFF1ZXJ5UGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKGV4dHJhcykpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBleHRyYXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCBwYXJhbXMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXh0cmFzVG9BcHBseSA9IGV4dHJhcztcbiAgICAgICAgdGhpcy5pc05lZWRVcGRhdGVFeHRyYXMgPSB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFF1ZXJ5UGFyYW1zKCk6IGFueSB7XG4gICAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyBhbnk7XG4gICAgICAgIHRoaXMucGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IChwYXJhbXNba2V5XSA9IHZhbHVlKSk7XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdFN0YXR1c0NoYW5nZWRQcm9wZXJ0aWVzKG9sZFN0YXR1czogTG9hZGFibGVTdGF0dXMsIG5ld1N0YXR1czogTG9hZGFibGVTdGF0dXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuY29tbWl0U3RhdHVzQ2hhbmdlZFByb3BlcnRpZXMob2xkU3RhdHVzLCBuZXdTdGF0dXMpO1xuXG4gICAgICAgIHN3aXRjaCAobmV3U3RhdHVzKSB7XG4gICAgICAgICAgICBjYXNlIExvYWRhYmxlU3RhdHVzLkxPQURJTkc6XG4gICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTG9hZGFibGVTdGF0dXMuTE9BREVEOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTmVlZFVwZGF0ZUV4dHJhcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTmVlZFVwZGF0ZUV4dHJhcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGx5RXh0cmFzKHRoaXMuZXh0cmFzVG9BcHBseSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5DT01QTEVURSwgeyB1cmw6IHRoaXMudXJsLCBwcmV2aW91c1VybDogdGhpcy5wcmV2aW91c1VybCB9KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3U3RhdHVzID09PSBMb2FkYWJsZVN0YXR1cy5MT0FERUQgfHwgbmV3U3RhdHVzID09PSBMb2FkYWJsZVN0YXR1cy5FUlJPUikge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHROYXZpZ2F0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFzeW5jIG5hdmlnYXRlKHVybDogc3RyaW5nLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzLCBpc0NsZWFyUGFyYW1zPzogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoaXNDbGVhclBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5wYXJhbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyBOYXZpZ2F0aW9uRXh0cmFzO1xuICAgICAgICBwYXJhbXMucXVlcnlQYXJhbXMgPSB0aGlzLmdldFF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIGlmICghXy5pc05pbChleHRyYXMpKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgZXh0cmFzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5hdmlnYXRlVG9FeHRlcm5hbFVybCh1cmw6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcgPSAnX2JsYW5rJyk6IHZvaWQge1xuICAgICAgICB0aGlzLndpbmRvdy5vcGVuKHVybCwgdGFyZ2V0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmF2aWdhdGVUb0xhc3QoZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZSh0aGlzLmxhc3RVcmwsIGV4dHJhcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG5hdmlnYXRlSWZOb3RMb2FkaW5nKHVybDogc3RyaW5nLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0xvYWRpbmcgPyB0aGlzLm5hdmlnYXRlKHVybCwgZXh0cmFzKSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoKTogdm9pZCB7XG4gICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGlzVXJsQWN0aXZlKGl0ZW06IHN0cmluZyB8IFVybFRyZWUsIGlzRXhhY3Q6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXNFeGFjdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKGl0ZW0sIGlzRXhhY3QpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzU3RyaW5nKGl0ZW0pKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwoaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMudXJsVHJlZS50b1N0cmluZygpKTtcbiAgICAgICAgaXRlbS5mcmFnbWVudCA9IGN1cnJlbnQuZnJhZ21lbnQgPSBudWxsO1xuICAgICAgICBpdGVtLnF1ZXJ5UGFyYW1zID0gY3VycmVudC5xdWVyeVBhcmFtcyA9IHt9O1xuICAgICAgICByZXR1cm4gaXRlbS50b1N0cmluZygpID09PSBjdXJyZW50LnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFBhcmFtIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0UGFyYW1zPFQgPSBhbnk+KCk6IFQge1xuICAgICAgICBsZXQgcGFyYW1zID0ge30gYXMgYW55O1xuICAgICAgICB0aGlzLnBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiAocGFyYW1zW2tleV0gPSB2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNQYXJhbShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyYW1zLmhhcyhuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFyYW08VCA9IHN0cmluZz4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1BhcmFtKG5hbWUpID8gKHRoaXMucGFyYW1zLmdldChuYW1lKSBhcyBhbnkpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXJhbShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnRyaW0oKTtcbiAgICAgICAgICAgIGlmIChfLmlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMucGFyYW1zLnNldChuYW1lLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcy5kZWxldGUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmlsKGV4dHJhcykpIHtcbiAgICAgICAgICAgIGV4dHJhcyA9IHsgcmVwbGFjZVVybDogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBwbHlFeHRyYXMoZXh0cmFzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlUGFyYW0obmFtZTogc3RyaW5nLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc1BhcmFtKG5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBhcmFtKG5hbWUsIG51bGwsIGV4dHJhcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJQYXJhbXMoZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmFtcy5jbGVhcigpO1xuICAgICAgICBpZiAoIV8uaXNOaWwoZXh0cmFzKSkge1xuICAgICAgICAgICAgZXh0cmFzID0geyByZXBsYWNlVXJsOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcHBseUV4dHJhcyhleHRyYXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzUGFyYW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJhbXMuc2l6ZSA+IDA7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0RnJhZ21lbnQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRGcmFnbWVudChzbmFwc2hvdDogQWN0aXZhdGVkUm91dGUgfCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoc25hcHNob3QgaW5zdGFuY2VvZiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICAgICAgc25hcHNob3QgPSBzbmFwc2hvdC5zbmFwc2hvdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIV8uaXNOaWwoc25hcHNob3QuZnJhZ21lbnQpID8gc25hcHNob3QuZnJhZ21lbnQgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldEZyYWdtZW50KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwbHlFeHRyYXMoeyBmcmFnbWVudDogdmFsdWUgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFVybCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnVybDtcbiAgICB9XG4gICAgcHVibGljIGdldCB1cmxUcmVlKCk6IFVybFRyZWUge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy51cmwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGFzdFVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFVybDtcbiAgICB9XG4gICAgcHVibGljIGdldCBsYXN0VXJsVHJlZSgpOiBVcmxUcmVlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMubGFzdFVybCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwcmV2aW91c1VybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNVcmw7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcHJldmlvdXNVcmxUcmVlKCk6IFVybFRyZWUge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5wcmV2aW91c1VybCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3V0ZXIoKTogUm91dGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JvdXRlcjtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyQmFzZVNlcnZpY2VFdmVudERhdGEge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHByZXZpb3VzVXJsOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { Directive, ElementRef } from '@angular/core';
2
- import { ThemeAssetService, ThemeService } from '@ts-core/frontend/theme';
3
- import { ViewUtil } from '../util/ViewUtil';
4
- import { ThemeAssetDirective } from './ThemeAssetDirective';
5
- export class ThemeAssetBackgroundDirective extends ThemeAssetDirective {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Constructor
9
- //
10
- // --------------------------------------------------------------------------
11
- constructor(element, theme, themeAsset) {
12
- super(element, theme, themeAsset);
13
- }
14
- // --------------------------------------------------------------------------
15
- //
16
- // Private Methods
17
- //
18
- // --------------------------------------------------------------------------
19
- commitSourceProperties() {
20
- let value = 'url(' + this.source + ')';
21
- ViewUtil.setStyle(this.element, 'backgroundImage', value);
22
- }
23
- removeSourceProperties() {
24
- ViewUtil.removeStyle(this.element, 'backgroundImage');
25
- }
26
- }
27
- ThemeAssetBackgroundDirective.decorators = [
28
- { type: Directive, args: [{
29
- selector: '[vi-theme-background]'
30
- },] }
31
- ];
32
- ThemeAssetBackgroundDirective.ctorParameters = () => [
33
- { type: ElementRef },
34
- { type: ThemeService },
35
- { type: ThemeAssetService }
36
- ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs1RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsbUJBQW1CO0lBQ2xFLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxPQUFtQixFQUFFLEtBQW1CLEVBQUUsVUFBNkI7UUFDL0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsc0JBQXNCO1FBQzVCLElBQUksS0FBSyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUN2QyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLHNCQUFzQjtRQUM1QixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7WUEzQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7YUFDcEM7OztZQVBtQixVQUFVO1lBQ0YsWUFBWTtZQUEvQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lQXNzZXRTZXJ2aWNlLCBUaGVtZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZC90aGVtZSc7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuaW1wb3J0IHsgVGhlbWVBc3NldERpcmVjdGl2ZSB9IGZyb20gJy4vVGhlbWVBc3NldERpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXRoZW1lLWJhY2tncm91bmRdJ1xufSlcbmV4cG9ydCBjbGFzcyBUaGVtZUFzc2V0QmFja2dyb3VuZERpcmVjdGl2ZSBleHRlbmRzIFRoZW1lQXNzZXREaXJlY3RpdmUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmLCB0aGVtZTogVGhlbWVTZXJ2aWNlLCB0aGVtZUFzc2V0OiBUaGVtZUFzc2V0U2VydmljZSkge1xuICAgICAgICBzdXBlcihlbGVtZW50LCB0aGVtZSwgdGhlbWVBc3NldCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0U291cmNlUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlID0gJ3VybCgnICsgdGhpcy5zb3VyY2UgKyAnKSc7XG4gICAgICAgIFZpZXdVdGlsLnNldFN0eWxlKHRoaXMuZWxlbWVudCwgJ2JhY2tncm91bmRJbWFnZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVtb3ZlU291cmNlUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgVmlld1V0aWwucmVtb3ZlU3R5bGUodGhpcy5lbGVtZW50LCAnYmFja2dyb3VuZEltYWdlJyk7XG4gICAgfVxufVxuIl19