@colijnit/corecomponents_v12 12.2.20 → 12.2.22

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 (436) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +13656 -13656
  2. package/colijnit-corecomponents_v12.d.ts +43 -43
  3. package/esm2015/colijnit-corecomponents_v12.js +43 -43
  4. package/esm2015/lib/components/article-tile/article-tile.component.js +49 -49
  5. package/esm2015/lib/components/article-tile/article-tile.module.js +34 -34
  6. package/esm2015/lib/components/base/base-input.component.js +833 -833
  7. package/esm2015/lib/components/base/base.module.js +21 -21
  8. package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +85 -85
  9. package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +20 -20
  10. package/esm2015/lib/components/base/dialog-base.component.js +5 -5
  11. package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +24 -24
  12. package/esm2015/lib/components/button/button.component.js +73 -73
  13. package/esm2015/lib/components/button/button.module.js +18 -18
  14. package/esm2015/lib/components/calendar/calendar-template.component.js +281 -281
  15. package/esm2015/lib/components/calendar/calendar.component.js +32 -32
  16. package/esm2015/lib/components/calendar/calendar.module.js +27 -27
  17. package/esm2015/lib/components/card/card.component.js +50 -50
  18. package/esm2015/lib/components/card/card.module.js +34 -34
  19. package/esm2015/lib/components/carousel/carousel.component.js +109 -109
  20. package/esm2015/lib/components/carousel/carousel.module.js +31 -31
  21. package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +293 -293
  22. package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +18 -18
  23. package/esm2015/lib/components/carousel-3d/carouselItem.js +53 -53
  24. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +72 -72
  25. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +18 -18
  26. package/esm2015/lib/components/co-dialog/co-dialog.component.js +91 -91
  27. package/esm2015/lib/components/co-dialog/co-dialog.module.js +18 -18
  28. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +35 -35
  29. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +16 -16
  30. package/esm2015/lib/components/collapsible/collapsible.component.js +67 -67
  31. package/esm2015/lib/components/collapsible/collapsible.module.js +18 -18
  32. package/esm2015/lib/components/color-picker/color-picker.component.js +33 -33
  33. package/esm2015/lib/components/color-picker/color-picker.module.js +20 -20
  34. package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +46 -46
  35. package/esm2015/lib/components/core-dialog/core-dialog.module.js +38 -38
  36. package/esm2015/lib/components/core-dialog/core-dialog.service.js +66 -66
  37. package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +92 -92
  38. package/esm2015/lib/components/double-calendar/double-calendar.component.js +62 -62
  39. package/esm2015/lib/components/double-calendar/double-calendar.module.js +24 -24
  40. package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +12 -12
  41. package/esm2015/lib/components/filter-item/filter-item.component.js +496 -496
  42. package/esm2015/lib/components/filter-item/filter-item.module.js +42 -42
  43. package/esm2015/lib/components/filter-item/filter-viewmodel.js +10 -10
  44. package/esm2015/lib/components/form/form.component.js +181 -181
  45. package/esm2015/lib/components/form/form.module.js +22 -22
  46. package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +48 -48
  47. package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +22 -22
  48. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +23 -23
  49. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +18 -18
  50. package/esm2015/lib/components/icon/icon-cache.service.js +51 -51
  51. package/esm2015/lib/components/icon/icon.component.js +47 -47
  52. package/esm2015/lib/components/icon/icon.module.js +24 -24
  53. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +56 -56
  54. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +22 -22
  55. package/esm2015/lib/components/image/image.component.js +31 -31
  56. package/esm2015/lib/components/image/image.module.js +13 -13
  57. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +71 -71
  58. package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +18 -18
  59. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +74 -74
  60. package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +25 -25
  61. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +107 -107
  62. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +26 -26
  63. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +285 -285
  64. package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +22 -22
  65. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +77 -77
  66. package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +18 -18
  67. package/esm2015/lib/components/input-scanner/bar-code-scanner.js +22 -22
  68. package/esm2015/lib/components/input-scanner/input-scanner.component.js +54 -54
  69. package/esm2015/lib/components/input-scanner/input-scanner.module.js +20 -20
  70. package/esm2015/lib/components/input-scanner/scanner.service.js +27 -27
  71. package/esm2015/lib/components/input-search/input-search.component.js +59 -59
  72. package/esm2015/lib/components/input-search/input-search.module.js +20 -20
  73. package/esm2015/lib/components/input-text/input-text.component.js +179 -179
  74. package/esm2015/lib/components/input-text/input-text.module.js +32 -32
  75. package/esm2015/lib/components/input-textarea/input-textarea.component.js +55 -55
  76. package/esm2015/lib/components/input-textarea/input-textarea.module.js +26 -26
  77. package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +6 -6
  78. package/esm2015/lib/components/level-indicator/level-indicator.component.js +29 -29
  79. package/esm2015/lib/components/level-indicator/level-indicator.module.js +14 -14
  80. package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +87 -87
  81. package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +218 -218
  82. package/esm2015/lib/components/list-of-values/list-of-values.component.js +199 -199
  83. package/esm2015/lib/components/list-of-values/list-of-values.module.js +37 -37
  84. package/esm2015/lib/components/loader/loader.component.js +16 -16
  85. package/esm2015/lib/components/loader/loader.module.js +18 -18
  86. package/esm2015/lib/components/pagination/paginate.pipe.js +98 -98
  87. package/esm2015/lib/components/pagination/pagination-instance.js +1 -1
  88. package/esm2015/lib/components/pagination/pagination.component.js +107 -107
  89. package/esm2015/lib/components/pagination/pagination.module.js +27 -27
  90. package/esm2015/lib/components/pagination/pagination.service.js +87 -87
  91. package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +136 -136
  92. package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +18 -18
  93. package/esm2015/lib/components/popup/const/popup-window-token.js +2 -2
  94. package/esm2015/lib/components/popup/interface/popup-button.js +7 -7
  95. package/esm2015/lib/components/popup/interface/popup-close-event.js +1 -1
  96. package/esm2015/lib/components/popup/interface/popup-settings.js +41 -41
  97. package/esm2015/lib/components/popup/interface/popup.js +1 -1
  98. package/esm2015/lib/components/popup/model/popup-button-globals.js +10 -10
  99. package/esm2015/lib/components/popup/model/popup-window.js +37 -37
  100. package/esm2015/lib/components/popup/popup-buttons.component.js +42 -42
  101. package/esm2015/lib/components/popup/popup-message-display.component.js +37 -37
  102. package/esm2015/lib/components/popup/popup-window-shell.component.js +141 -141
  103. package/esm2015/lib/components/popup/popup.module.js +48 -48
  104. package/esm2015/lib/components/popup/service/popup-shower.service.js +89 -89
  105. package/esm2015/lib/components/popup/service/prompt.service.js +126 -126
  106. package/esm2015/lib/components/popup/text-input-popup.component.js +33 -33
  107. package/esm2015/lib/components/responsive-text/responsive-text.component.js +17 -17
  108. package/esm2015/lib/components/responsive-text/responsive-text.module.js +18 -18
  109. package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +163 -163
  110. package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +141 -141
  111. package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +110 -110
  112. package/esm2015/lib/components/simple-grid/simple-grid.component.js +378 -378
  113. package/esm2015/lib/components/simple-grid/simple-grid.module.js +40 -40
  114. package/esm2015/lib/components/tile/tile.component.js +44 -44
  115. package/esm2015/lib/components/tile/tile.module.js +22 -22
  116. package/esm2015/lib/components/tile-select/tile-select.component.js +26 -26
  117. package/esm2015/lib/components/tile-select/tile-select.module.js +20 -20
  118. package/esm2015/lib/components/tooltip/tooltip.component.js +74 -74
  119. package/esm2015/lib/components/tooltip/tooltip.module.js +18 -18
  120. package/esm2015/lib/components/validation-error/validation-error.component.js +30 -30
  121. package/esm2015/lib/components/validation-error/validation-error.module.js +24 -24
  122. package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +10 -10
  123. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +41 -41
  124. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +20 -20
  125. package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +3 -3
  126. package/esm2015/lib/core/constant/java-max-int.js +1 -1
  127. package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +44 -44
  128. package/esm2015/lib/core/decorator/input-boolean.decorator.js +33 -33
  129. package/esm2015/lib/core/enum/co-direction.js +8 -8
  130. package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +6 -6
  131. package/esm2015/lib/core/enum/co-document-type.enum.js +10 -10
  132. package/esm2015/lib/core/enum/co-orientation.js +16 -16
  133. package/esm2015/lib/core/enum/core-components-icon.enum.js +299 -299
  134. package/esm2015/lib/core/enum/file-type-internal.enum.js +16 -16
  135. package/esm2015/lib/core/enum/file-type.enum.js +10 -10
  136. package/esm2015/lib/core/enum/filterItem-mode.enum.js +42 -42
  137. package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +7 -7
  138. package/esm2015/lib/core/enum/keyboard-code.enum.js +73 -73
  139. package/esm2015/lib/core/enum/keyboard-key.enum.js +75 -75
  140. package/esm2015/lib/core/enum/object-right-type.enum.js +6 -6
  141. package/esm2015/lib/core/enum/popup-button-type.enum.js +11 -11
  142. package/esm2015/lib/core/enum/popup-type.enum.js +10 -10
  143. package/esm2015/lib/core/enum/table-name.enum.js +80 -80
  144. package/esm2015/lib/core/function/any-nill.function.js +5 -5
  145. package/esm2015/lib/core/function/is-nill.function.js +4 -4
  146. package/esm2015/lib/core/function/none-nill.function.js +16 -16
  147. package/esm2015/lib/core/function/not-nill.function.js +4 -4
  148. package/esm2015/lib/core/model/bounds-constrained-number-value.js +170 -170
  149. package/esm2015/lib/core/model/check-precision-and-scale-result.js +1 -1
  150. package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +1 -1
  151. package/esm2015/lib/core/model/co-document-right.bo.js +2 -2
  152. package/esm2015/lib/core/model/co-document.bo.js +120 -120
  153. package/esm2015/lib/core/model/core-components-icon-svg.js +298 -298
  154. package/esm2015/lib/core/model/element-position.js +9 -9
  155. package/esm2015/lib/core/model/event/string-prompt-result-event.js +7 -7
  156. package/esm2015/lib/core/service/form-input-user-change-listener.service.js +24 -24
  157. package/esm2015/lib/core/service/form-master.service.js +101 -101
  158. package/esm2015/lib/core/service/ng-zone-wrapper.service.js +19 -19
  159. package/esm2015/lib/core/utils/array-utils.js +263 -263
  160. package/esm2015/lib/core/utils/browser-utils.js +99 -99
  161. package/esm2015/lib/core/utils/direction-enum-utils.js +13 -13
  162. package/esm2015/lib/core/utils/event-utils.js +52 -52
  163. package/esm2015/lib/core/utils/file-utils.js +266 -266
  164. package/esm2015/lib/core/utils/number-utils.js +308 -308
  165. package/esm2015/lib/core/utils/object-utils.js +185 -185
  166. package/esm2015/lib/core/utils/string-utils.js +93 -93
  167. package/esm2015/lib/core/validator/email.validator.js +5 -5
  168. package/esm2015/lib/core/validator/equal.validator.js +10 -10
  169. package/esm2015/lib/core/validator/max-string-length.validator.js +9 -9
  170. package/esm2015/lib/core/validator/password.validator.js +30 -30
  171. package/esm2015/lib/core/validator/precision-scale.validator.js +10 -10
  172. package/esm2015/lib/core/validator/required.validator.js +4 -4
  173. package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +56 -56
  174. package/esm2015/lib/directives/clickoutside/click-outside.directive.js +70 -70
  175. package/esm2015/lib/directives/clickoutside/clickoutside.module.js +18 -18
  176. package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +52 -52
  177. package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +14 -14
  178. package/esm2015/lib/directives/overlay/overlay-parent.directive.js +18 -18
  179. package/esm2015/lib/directives/overlay/overlay.directive.js +160 -160
  180. package/esm2015/lib/directives/overlay/overlay.module.js +17 -17
  181. package/esm2015/lib/directives/ripple/ripple-ref.js +25 -25
  182. package/esm2015/lib/directives/ripple/ripple-renderer.js +159 -159
  183. package/esm2015/lib/directives/ripple/ripple.directive.js +79 -79
  184. package/esm2015/lib/directives/ripple/ripple.module.js +23 -23
  185. package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +107 -107
  186. package/esm2015/lib/directives/ripple/scrollable.directive.js +39 -39
  187. package/esm2015/lib/directives/ripple/viewport-ruler.service.js +72 -72
  188. package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +157 -157
  189. package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +18 -18
  190. package/esm2015/lib/directives/stopclick/stop-click.directive.js +37 -37
  191. package/esm2015/lib/directives/stopclick/stop-click.module.js +14 -14
  192. package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +67 -67
  193. package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +14 -14
  194. package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +18 -18
  195. package/esm2015/lib/directives/tooltip/tooltip.directive.js +77 -77
  196. package/esm2015/lib/interfaces/dialog-response.interface.js +1 -1
  197. package/esm2015/lib/interfaces/scanner-input.interface.js +1 -1
  198. package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +3 -3
  199. package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +1 -1
  200. package/esm2015/lib/model/enum/app-button-type.enum.js +10 -10
  201. package/esm2015/lib/model/enum/app-popup-type.enum.js +7 -7
  202. package/esm2015/lib/pipes/append.pipe.js +16 -16
  203. package/esm2015/lib/pipes/append.pipe.module.js +14 -14
  204. package/esm2015/lib/pipes/filter.pipe.js +15 -15
  205. package/esm2015/lib/pipes/filter.pipe.module.js +14 -14
  206. package/esm2015/lib/pipes/prepend.pipe.js +16 -16
  207. package/esm2015/lib/pipes/prepend.pipe.module.js +14 -14
  208. package/esm2015/lib/pipes/price-display-pipe.module.js +14 -14
  209. package/esm2015/lib/pipes/price-display.pipe.js +19 -19
  210. package/esm2015/lib/service/base-module-screen-config.service.js +204 -204
  211. package/esm2015/lib/service/base-module.service.js +41 -41
  212. package/esm2015/lib/service/color-sequence.service.js +22 -22
  213. package/esm2015/lib/service/overlay.service.js +72 -72
  214. package/esm2015/lib/translation/core-components-translation.module.js +28 -28
  215. package/esm2015/lib/translation/core-components-translation.service.js +16 -16
  216. package/esm2015/lib/translation/core-dictionary.service.js +28 -28
  217. package/esm2015/lib/translation/core-localize.pipe.js +25 -25
  218. package/esm2015/public-api.js +129 -129
  219. package/fesm2015/colijnit-corecomponents_v12.js +12066 -12066
  220. package/lib/components/article-tile/article-tile.component.d.ts +22 -22
  221. package/lib/components/article-tile/article-tile.module.d.ts +2 -2
  222. package/lib/components/base/base-input.component.d.ts +182 -182
  223. package/lib/components/base/base.module.d.ts +2 -2
  224. package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +21 -21
  225. package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +2 -2
  226. package/lib/components/base/dialog-base.component.d.ts +4 -4
  227. package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +15 -15
  228. package/lib/components/button/button.component.d.ts +29 -29
  229. package/lib/components/button/button.module.d.ts +2 -2
  230. package/lib/components/calendar/calendar-template.component.d.ts +60 -60
  231. package/lib/components/calendar/calendar.component.d.ts +13 -13
  232. package/lib/components/calendar/calendar.module.d.ts +2 -2
  233. package/lib/components/card/card.component.d.ts +23 -23
  234. package/lib/components/card/card.module.d.ts +2 -2
  235. package/lib/components/carousel/carousel.component.d.ts +23 -23
  236. package/lib/components/carousel/carousel.module.d.ts +6 -6
  237. package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -55
  238. package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -2
  239. package/lib/components/carousel-3d/carouselItem.d.ts +13 -13
  240. package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +17 -17
  241. package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +2 -2
  242. package/lib/components/co-dialog/co-dialog.component.d.ts +23 -23
  243. package/lib/components/co-dialog/co-dialog.module.d.ts +2 -2
  244. package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +9 -9
  245. package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +2 -2
  246. package/lib/components/collapsible/collapsible.component.d.ts +22 -22
  247. package/lib/components/collapsible/collapsible.module.d.ts +2 -2
  248. package/lib/components/color-picker/color-picker.component.d.ts +6 -6
  249. package/lib/components/color-picker/color-picker.module.d.ts +2 -2
  250. package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -20
  251. package/lib/components/core-dialog/core-dialog.module.d.ts +4 -4
  252. package/lib/components/core-dialog/core-dialog.service.d.ts +15 -15
  253. package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -12
  254. package/lib/components/double-calendar/double-calendar.component.d.ts +18 -18
  255. package/lib/components/double-calendar/double-calendar.module.d.ts +2 -2
  256. package/lib/components/filter-item/filter-item-viewmodel.d.ts +9 -9
  257. package/lib/components/filter-item/filter-item.component.d.ts +80 -80
  258. package/lib/components/filter-item/filter-item.module.d.ts +2 -2
  259. package/lib/components/filter-item/filter-viewmodel.d.ts +8 -8
  260. package/lib/components/form/form.component.d.ts +39 -39
  261. package/lib/components/form/form.module.d.ts +2 -2
  262. package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +19 -19
  263. package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +2 -2
  264. package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -8
  265. package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -2
  266. package/lib/components/icon/icon-cache.service.d.ts +20 -20
  267. package/lib/components/icon/icon.component.d.ts +17 -17
  268. package/lib/components/icon/icon.module.d.ts +2 -2
  269. package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +21 -21
  270. package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +2 -2
  271. package/lib/components/image/image.component.d.ts +20 -20
  272. package/lib/components/image/image.module.d.ts +2 -2
  273. package/lib/components/input-checkbox/input-checkbox.component.d.ts +24 -24
  274. package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -2
  275. package/lib/components/input-date-picker/input-date-picker.component.d.ts +12 -12
  276. package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -2
  277. package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +20 -20
  278. package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +2 -2
  279. package/lib/components/input-number-picker/input-number-picker.component.d.ts +73 -73
  280. package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -2
  281. package/lib/components/input-radio-button/input-radio-button.component.d.ts +19 -19
  282. package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -2
  283. package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -7
  284. package/lib/components/input-scanner/input-scanner.component.d.ts +23 -23
  285. package/lib/components/input-scanner/input-scanner.module.d.ts +2 -2
  286. package/lib/components/input-scanner/scanner.service.d.ts +11 -11
  287. package/lib/components/input-search/input-search.component.d.ts +18 -18
  288. package/lib/components/input-search/input-search.module.d.ts +2 -2
  289. package/lib/components/input-text/input-text.component.d.ts +62 -62
  290. package/lib/components/input-text/input-text.module.d.ts +2 -2
  291. package/lib/components/input-textarea/input-textarea.component.d.ts +19 -19
  292. package/lib/components/input-textarea/input-textarea.module.d.ts +2 -2
  293. package/lib/components/level-indicator/level-indicator-level.enum.d.ts +5 -5
  294. package/lib/components/level-indicator/level-indicator.component.d.ts +10 -10
  295. package/lib/components/level-indicator/level-indicator.module.d.ts +2 -2
  296. package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +25 -25
  297. package/lib/components/list-of-values/list-of-values-popup.component.d.ts +47 -47
  298. package/lib/components/list-of-values/list-of-values.component.d.ts +37 -37
  299. package/lib/components/list-of-values/list-of-values.module.d.ts +2 -2
  300. package/lib/components/list-of-values/style/_layout.scss +4 -0
  301. package/lib/components/loader/loader.component.d.ts +3 -3
  302. package/lib/components/loader/loader.module.d.ts +2 -2
  303. package/lib/components/pagination/paginate.pipe.d.ts +15 -15
  304. package/lib/components/pagination/pagination-instance.d.ts +14 -14
  305. package/lib/components/pagination/pagination.component.d.ts +38 -38
  306. package/lib/components/pagination/pagination.module.d.ts +2 -2
  307. package/lib/components/pagination/pagination.service.d.ts +24 -24
  308. package/lib/components/pagination-bar/pagination-bar.component.d.ts +33 -33
  309. package/lib/components/pagination-bar/pagination-bar.module.d.ts +2 -2
  310. package/lib/components/popup/const/popup-window-token.d.ts +3 -3
  311. package/lib/components/popup/interface/popup-button.d.ts +8 -8
  312. package/lib/components/popup/interface/popup-close-event.d.ts +5 -5
  313. package/lib/components/popup/interface/popup-settings.d.ts +21 -21
  314. package/lib/components/popup/interface/popup.d.ts +9 -9
  315. package/lib/components/popup/model/popup-button-globals.d.ts +9 -9
  316. package/lib/components/popup/model/popup-window.d.ts +21 -21
  317. package/lib/components/popup/popup-buttons.component.d.ts +13 -13
  318. package/lib/components/popup/popup-message-display.component.d.ts +12 -12
  319. package/lib/components/popup/popup-window-shell.component.d.ts +42 -42
  320. package/lib/components/popup/popup.module.d.ts +4 -4
  321. package/lib/components/popup/service/popup-shower.service.d.ts +17 -17
  322. package/lib/components/popup/service/prompt.service.d.ts +17 -17
  323. package/lib/components/popup/text-input-popup.component.d.ts +12 -12
  324. package/lib/components/responsive-text/responsive-text.component.d.ts +4 -4
  325. package/lib/components/responsive-text/responsive-text.module.d.ts +2 -2
  326. package/lib/components/simple-grid/base-simple-grid.component.d.ts +52 -52
  327. package/lib/components/simple-grid/simple-grid-cell.component.d.ts +30 -30
  328. package/lib/components/simple-grid/simple-grid-column.directive.d.ts +42 -42
  329. package/lib/components/simple-grid/simple-grid.component.d.ts +64 -64
  330. package/lib/components/simple-grid/simple-grid.module.d.ts +2 -2
  331. package/lib/components/tile/tile.component.d.ts +16 -16
  332. package/lib/components/tile/tile.module.d.ts +2 -2
  333. package/lib/components/tile-select/tile-select.component.d.ts +8 -8
  334. package/lib/components/tile-select/tile-select.module.d.ts +2 -2
  335. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  336. package/lib/components/tooltip/tooltip.module.d.ts +2 -2
  337. package/lib/components/validation-error/validation-error.component.d.ts +12 -12
  338. package/lib/components/validation-error/validation-error.module.d.ts +2 -2
  339. package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +8 -8
  340. package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +17 -17
  341. package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +2 -2
  342. package/lib/core/constant/default-upper-bound-for-range-components.d.ts +2 -2
  343. package/lib/core/constant/java-max-int.d.ts +1 -1
  344. package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -2
  345. package/lib/core/decorator/input-boolean.decorator.d.ts +8 -8
  346. package/lib/core/enum/co-direction.d.ts +6 -6
  347. package/lib/core/enum/co-document-image-display-kind.enum.d.ts +5 -5
  348. package/lib/core/enum/co-document-type.enum.d.ts +5 -5
  349. package/lib/core/enum/co-orientation.d.ts +6 -6
  350. package/lib/core/enum/core-components-icon.enum.d.ts +298 -298
  351. package/lib/core/enum/file-type-internal.enum.d.ts +15 -15
  352. package/lib/core/enum/file-type.enum.d.ts +5 -5
  353. package/lib/core/enum/filterItem-mode.enum.d.ts +15 -15
  354. package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -5
  355. package/lib/core/enum/keyboard-code.enum.d.ts +71 -71
  356. package/lib/core/enum/keyboard-key.enum.d.ts +70 -70
  357. package/lib/core/enum/object-right-type.enum.d.ts +5 -5
  358. package/lib/core/enum/popup-button-type.enum.d.ts +9 -9
  359. package/lib/core/enum/popup-type.enum.d.ts +9 -9
  360. package/lib/core/enum/table-name.enum.d.ts +79 -79
  361. package/lib/core/function/any-nill.function.d.ts +1 -1
  362. package/lib/core/function/is-nill.function.d.ts +1 -1
  363. package/lib/core/function/none-nill.function.d.ts +1 -1
  364. package/lib/core/function/not-nill.function.d.ts +1 -1
  365. package/lib/core/model/bounds-constrained-number-value.d.ts +46 -46
  366. package/lib/core/model/check-precision-and-scale-result.d.ts +4 -4
  367. package/lib/core/model/check-within-stepped-bounds-result.d.ts +8 -8
  368. package/lib/core/model/co-document-right.bo.d.ts +6 -6
  369. package/lib/core/model/co-document.bo.d.ts +61 -61
  370. package/lib/core/model/core-components-icon-svg.d.ts +4 -4
  371. package/lib/core/model/element-position.d.ts +7 -7
  372. package/lib/core/model/event/string-prompt-result-event.d.ts +6 -6
  373. package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -10
  374. package/lib/core/service/form-master.service.d.ts +26 -26
  375. package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -6
  376. package/lib/core/utils/array-utils.d.ts +85 -85
  377. package/lib/core/utils/browser-utils.d.ts +15 -15
  378. package/lib/core/utils/direction-enum-utils.d.ts +5 -5
  379. package/lib/core/utils/event-utils.d.ts +12 -12
  380. package/lib/core/utils/file-utils.d.ts +29 -29
  381. package/lib/core/utils/number-utils.d.ts +89 -89
  382. package/lib/core/utils/object-utils.d.ts +31 -31
  383. package/lib/core/utils/string-utils.d.ts +25 -25
  384. package/lib/core/validator/email.validator.d.ts +2 -2
  385. package/lib/core/validator/equal.validator.d.ts +2 -2
  386. package/lib/core/validator/max-string-length.validator.d.ts +2 -2
  387. package/lib/core/validator/password.validator.d.ts +3 -3
  388. package/lib/core/validator/precision-scale.validator.d.ts +2 -2
  389. package/lib/core/validator/required.validator.d.ts +2 -2
  390. package/lib/directives/clickoutside/click-outside-master.service.d.ts +15 -15
  391. package/lib/directives/clickoutside/click-outside.directive.d.ts +18 -18
  392. package/lib/directives/clickoutside/clickoutside.module.d.ts +2 -2
  393. package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +14 -14
  394. package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -2
  395. package/lib/directives/overlay/overlay-parent.directive.d.ts +6 -6
  396. package/lib/directives/overlay/overlay.directive.d.ts +25 -25
  397. package/lib/directives/overlay/overlay.module.d.ts +2 -2
  398. package/lib/directives/ripple/ripple-ref.d.ts +21 -21
  399. package/lib/directives/ripple/ripple-renderer.d.ts +56 -56
  400. package/lib/directives/ripple/ripple.directive.d.ts +56 -56
  401. package/lib/directives/ripple/ripple.module.d.ts +2 -2
  402. package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -51
  403. package/lib/directives/ripple/scrollable.directive.d.ts +20 -20
  404. package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -29
  405. package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +32 -32
  406. package/lib/directives/screen-configuration/screen-configuration.module.d.ts +2 -2
  407. package/lib/directives/stopclick/stop-click.directive.d.ts +10 -10
  408. package/lib/directives/stopclick/stop-click.module.d.ts +2 -2
  409. package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +13 -13
  410. package/lib/directives/template-wrapper/template-wrapper.module.d.ts +2 -2
  411. package/lib/directives/tooltip/tooltip-directive.module.d.ts +2 -2
  412. package/lib/directives/tooltip/tooltip.directive.d.ts +20 -20
  413. package/lib/interfaces/dialog-response.interface.d.ts +6 -6
  414. package/lib/interfaces/scanner-input.interface.d.ts +3 -3
  415. package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +3 -3
  416. package/lib/interfaces/screen-config-adapter.component.interface.d.ts +10 -10
  417. package/lib/model/enum/app-button-type.enum.d.ts +9 -9
  418. package/lib/model/enum/app-popup-type.enum.d.ts +6 -6
  419. package/lib/pipes/append.pipe.d.ts +4 -4
  420. package/lib/pipes/append.pipe.module.d.ts +2 -2
  421. package/lib/pipes/filter.pipe.d.ts +4 -4
  422. package/lib/pipes/filter.pipe.module.d.ts +2 -2
  423. package/lib/pipes/prepend.pipe.d.ts +4 -4
  424. package/lib/pipes/prepend.pipe.module.d.ts +2 -2
  425. package/lib/pipes/price-display-pipe.module.d.ts +2 -2
  426. package/lib/pipes/price-display.pipe.d.ts +4 -4
  427. package/lib/service/base-module-screen-config.service.d.ts +47 -47
  428. package/lib/service/base-module.service.d.ts +22 -22
  429. package/lib/service/color-sequence.service.d.ts +4 -4
  430. package/lib/service/overlay.service.d.ts +13 -13
  431. package/lib/translation/core-components-translation.module.d.ts +4 -4
  432. package/lib/translation/core-components-translation.service.d.ts +6 -6
  433. package/lib/translation/core-dictionary.service.d.ts +12 -12
  434. package/lib/translation/core-localize.pipe.d.ts +7 -7
  435. package/package.json +2 -2
  436. package/public-api.d.ts +126 -126
@@ -1,108 +1,108 @@
1
- // NOTE: Copied and adapted to iOneJS from https://github.com/angular/material2/blob/master/src/lib/core on 14-march-2017.
2
- import { Injectable, Optional, SkipSelf } from '@angular/core';
3
- import { fromEvent, merge, Subject } from 'rxjs';
4
- import { auditTime } from 'rxjs/operators';
5
- /** Time in ms to throttle the scrolling events by default. */
6
- export const DEFAULT_SCROLL_TIME = 20;
7
- /**
8
- * Service contained all registered Scrollable references and emits an event when any one of the
9
- * Scrollable references emit a scrolled event.
10
- */
11
- export class CoScrollDispatcherService {
12
- constructor() {
13
- /** Subject for notifying that a registered scrollable reference element has been scrolled. */
14
- this._scrolled = new Subject();
15
- /** Keeps track of the global `scroll` and `resize` subscriptions. */
16
- this._globalSubscription = null;
17
- /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */
18
- this._scrolledCount = 0;
19
- /**
20
- * Map of all the scrollable references that are registered with the service and their
21
- * scroll event subscriptions.
22
- */
23
- this.scrollableReferences = new Map();
24
- }
25
- /**
26
- * Registers a Scrollable with the service and listens for its scrolled events. When the
27
- * scrollable is scrolled, the service emits the event in its scrolled observable.
28
- * @param scrollable Scrollable instance to be registered.
29
- */
30
- register(scrollable) {
31
- const scrollSubscription = scrollable.elementScrolled().subscribe(() => this._notify());
32
- this.scrollableReferences.set(scrollable, scrollSubscription);
33
- }
34
- /**
35
- * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.
36
- * @param scrollable Scrollable instance to be deregistered.
37
- */
38
- deregister(scrollable) {
39
- if (this.scrollableReferences.has(scrollable)) {
40
- this.scrollableReferences.get(scrollable).unsubscribe();
41
- this.scrollableReferences.delete(scrollable);
42
- }
43
- }
44
- /**
45
- * Subscribes to an observable that emits an event whenever any of the registered Scrollable
46
- * references (or window, document, or body) fire a scrolled event. Can provide a time in ms
47
- * to override the default "throttle" time.
48
- */
49
- scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME, callback) {
50
- // In the case of a 0ms delay, use an observable without auditTime
51
- // since it does add a perceptible delay in processing overhead.
52
- let observable = auditTimeInMs > 0 ?
53
- auditTime(auditTimeInMs) :
54
- this._scrolled.asObservable();
55
- this._scrolledCount++;
56
- if (!this._globalSubscription) {
57
- this._globalSubscription = merge(fromEvent(window.document, 'scroll'), fromEvent(window, 'resize')).subscribe(() => this._notify());
58
- }
59
- // Note that we need to do the subscribing from here, in order to be able to remove
60
- // the global event listeners once there are no more subscriptions.
61
- return observable.subscribe(callback).add(() => {
62
- this._scrolledCount--;
63
- if (this._globalSubscription && !this.scrollableReferences.size && !this._scrolledCount) {
64
- this._globalSubscription.unsubscribe();
65
- this._globalSubscription = null;
66
- }
67
- });
68
- }
69
- /** Returns all registered Scrollables that contain the provided element. */
70
- getScrollContainers(elementRef) {
71
- const scrollingContainers = [];
72
- this.scrollableReferences.forEach((subscription, scrollable) => {
73
- if (this.scrollableContainsElement(scrollable, elementRef)) {
74
- scrollingContainers.push(scrollable);
75
- }
76
- });
77
- return scrollingContainers;
78
- }
79
- /** Returns true if the element is contained within the provided Scrollable. */
80
- scrollableContainsElement(scrollable, elementRef) {
81
- let element = elementRef.nativeElement;
82
- let scrollableElement = scrollable.getElementRef().nativeElement;
83
- // Traverse through the element parents until we reach null, checking if any of the elements
84
- // are the scrollable's element.
85
- do {
86
- if (element == scrollableElement) {
87
- return true;
88
- }
89
- } while (element = element.parentElement);
90
- }
91
- /** Sends a notification that a scroll event has been fired. */
92
- _notify() {
93
- this._scrolled.next();
94
- }
95
- }
96
- CoScrollDispatcherService.decorators = [
97
- { type: Injectable }
98
- ];
99
- export function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher) {
100
- return parentDispatcher || new CoScrollDispatcherService();
101
- }
102
- export const SCROLL_DISPATCHER_PROVIDER = {
103
- // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.
104
- provide: CoScrollDispatcherService,
105
- deps: [[new Optional(), new SkipSelf(), CoScrollDispatcherService]],
106
- useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY
107
- };
1
+ // NOTE: Copied and adapted to iOneJS from https://github.com/angular/material2/blob/master/src/lib/core on 14-march-2017.
2
+ import { Injectable, Optional, SkipSelf } from '@angular/core';
3
+ import { fromEvent, merge, Subject } from 'rxjs';
4
+ import { auditTime } from 'rxjs/operators';
5
+ /** Time in ms to throttle the scrolling events by default. */
6
+ export const DEFAULT_SCROLL_TIME = 20;
7
+ /**
8
+ * Service contained all registered Scrollable references and emits an event when any one of the
9
+ * Scrollable references emit a scrolled event.
10
+ */
11
+ export class CoScrollDispatcherService {
12
+ constructor() {
13
+ /** Subject for notifying that a registered scrollable reference element has been scrolled. */
14
+ this._scrolled = new Subject();
15
+ /** Keeps track of the global `scroll` and `resize` subscriptions. */
16
+ this._globalSubscription = null;
17
+ /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */
18
+ this._scrolledCount = 0;
19
+ /**
20
+ * Map of all the scrollable references that are registered with the service and their
21
+ * scroll event subscriptions.
22
+ */
23
+ this.scrollableReferences = new Map();
24
+ }
25
+ /**
26
+ * Registers a Scrollable with the service and listens for its scrolled events. When the
27
+ * scrollable is scrolled, the service emits the event in its scrolled observable.
28
+ * @param scrollable Scrollable instance to be registered.
29
+ */
30
+ register(scrollable) {
31
+ const scrollSubscription = scrollable.elementScrolled().subscribe(() => this._notify());
32
+ this.scrollableReferences.set(scrollable, scrollSubscription);
33
+ }
34
+ /**
35
+ * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.
36
+ * @param scrollable Scrollable instance to be deregistered.
37
+ */
38
+ deregister(scrollable) {
39
+ if (this.scrollableReferences.has(scrollable)) {
40
+ this.scrollableReferences.get(scrollable).unsubscribe();
41
+ this.scrollableReferences.delete(scrollable);
42
+ }
43
+ }
44
+ /**
45
+ * Subscribes to an observable that emits an event whenever any of the registered Scrollable
46
+ * references (or window, document, or body) fire a scrolled event. Can provide a time in ms
47
+ * to override the default "throttle" time.
48
+ */
49
+ scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME, callback) {
50
+ // In the case of a 0ms delay, use an observable without auditTime
51
+ // since it does add a perceptible delay in processing overhead.
52
+ let observable = auditTimeInMs > 0 ?
53
+ auditTime(auditTimeInMs) :
54
+ this._scrolled.asObservable();
55
+ this._scrolledCount++;
56
+ if (!this._globalSubscription) {
57
+ this._globalSubscription = merge(fromEvent(window.document, 'scroll'), fromEvent(window, 'resize')).subscribe(() => this._notify());
58
+ }
59
+ // Note that we need to do the subscribing from here, in order to be able to remove
60
+ // the global event listeners once there are no more subscriptions.
61
+ return observable.subscribe(callback).add(() => {
62
+ this._scrolledCount--;
63
+ if (this._globalSubscription && !this.scrollableReferences.size && !this._scrolledCount) {
64
+ this._globalSubscription.unsubscribe();
65
+ this._globalSubscription = null;
66
+ }
67
+ });
68
+ }
69
+ /** Returns all registered Scrollables that contain the provided element. */
70
+ getScrollContainers(elementRef) {
71
+ const scrollingContainers = [];
72
+ this.scrollableReferences.forEach((subscription, scrollable) => {
73
+ if (this.scrollableContainsElement(scrollable, elementRef)) {
74
+ scrollingContainers.push(scrollable);
75
+ }
76
+ });
77
+ return scrollingContainers;
78
+ }
79
+ /** Returns true if the element is contained within the provided Scrollable. */
80
+ scrollableContainsElement(scrollable, elementRef) {
81
+ let element = elementRef.nativeElement;
82
+ let scrollableElement = scrollable.getElementRef().nativeElement;
83
+ // Traverse through the element parents until we reach null, checking if any of the elements
84
+ // are the scrollable's element.
85
+ do {
86
+ if (element == scrollableElement) {
87
+ return true;
88
+ }
89
+ } while (element = element.parentElement);
90
+ }
91
+ /** Sends a notification that a scroll event has been fired. */
92
+ _notify() {
93
+ this._scrolled.next();
94
+ }
95
+ }
96
+ CoScrollDispatcherService.decorators = [
97
+ { type: Injectable }
98
+ ];
99
+ export function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher) {
100
+ return parentDispatcher || new CoScrollDispatcherService();
101
+ }
102
+ export const SCROLL_DISPATCHER_PROVIDER = {
103
+ // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.
104
+ provide: CoScrollDispatcherService,
105
+ deps: [[new Optional(), new SkipSelf(), CoScrollDispatcherService]],
106
+ useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY
107
+ };
108
108
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9yaXBwbGUvc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwSEFBMEg7QUFDMUgsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFHM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFFdEM7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVJLDhGQUE4RjtRQUM5RixjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0MscUVBQXFFO1FBQ3JFLHdCQUFtQixHQUFpQixJQUFJLENBQUM7UUFFekMsaUdBQWlHO1FBQ3pGLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRTNCOzs7V0FHRztRQUNILHlCQUFvQixHQUE2QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBd0YvRSxDQUFDO0lBdEZHOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsVUFBaUM7UUFDdEMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXhGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxVQUFpQztRQUN4QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsZ0JBQXdCLG1CQUFtQixFQUFFLFFBQW1CO1FBQ3JFLGtFQUFrRTtRQUNsRSxnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLEdBQVEsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FDNUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQzlCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsbUZBQW1GO1FBQ25GLG1FQUFtRTtRQUNuRSxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLG1CQUFtQixDQUFDLFVBQXNCO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQTRCLEVBQUUsQ0FBQztRQUV4RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBMEIsRUFBRSxVQUFpQyxFQUFFLEVBQUU7WUFDaEcsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUN4RCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDeEM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUVELCtFQUErRTtJQUMvRSx5QkFBeUIsQ0FBQyxVQUFpQyxFQUFFLFVBQXNCO1FBQy9FLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRWpFLDRGQUE0RjtRQUM1RixnQ0FBZ0M7UUFDaEMsR0FBRztZQUNDLElBQUksT0FBTyxJQUFJLGlCQUFpQixFQUFFO2dCQUM5QixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0osUUFBUSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRTtJQUM5QyxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELE9BQU87UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7OztZQXRHSixVQUFVOztBQXlHWCxNQUFNLFVBQVUsa0NBQWtDLENBQUMsZ0JBQTJDO0lBQzFGLE9BQU8sZ0JBQWdCLElBQUksSUFBSSx5QkFBeUIsRUFBRSxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN0Qyw0RkFBNEY7SUFDNUYsT0FBTyxFQUFFLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ25FLFVBQVUsRUFBRSxrQ0FBa0M7Q0FDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5PVEU6IENvcGllZCBhbmQgYWRhcHRlZCB0byBpT25lSlMgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvYmxvYi9tYXN0ZXIvc3JjL2xpYi9jb3JlIG9uIDE0LW1hcmNoLTIwMTcuXHJcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IENvU2Nyb2xsYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsYWJsZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBhdWRpdFRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vKiogVGltZSBpbiBtcyB0byB0aHJvdHRsZSB0aGUgc2Nyb2xsaW5nIGV2ZW50cyBieSBkZWZhdWx0LiAqL1xyXG5leHBvcnQgY29uc3QgREVGQVVMVF9TQ1JPTExfVElNRSA9IDIwO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY29udGFpbmVkIGFsbCByZWdpc3RlcmVkIFNjcm9sbGFibGUgcmVmZXJlbmNlcyBhbmQgZW1pdHMgYW4gZXZlbnQgd2hlbiBhbnkgb25lIG9mIHRoZVxyXG4gKiBTY3JvbGxhYmxlIHJlZmVyZW5jZXMgZW1pdCBhIHNjcm9sbGVkIGV2ZW50LlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29TY3JvbGxEaXNwYXRjaGVyU2VydmljZSB7XHJcbiAgICAvKiogU3ViamVjdCBmb3Igbm90aWZ5aW5nIHRoYXQgYSByZWdpc3RlcmVkIHNjcm9sbGFibGUgcmVmZXJlbmNlIGVsZW1lbnQgaGFzIGJlZW4gc2Nyb2xsZWQuICovXHJcbiAgICBfc2Nyb2xsZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIC8qKiBLZWVwcyB0cmFjayBvZiB0aGUgZ2xvYmFsIGBzY3JvbGxgIGFuZCBgcmVzaXplYCBzdWJzY3JpcHRpb25zLiAqL1xyXG4gICAgX2dsb2JhbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuXHJcbiAgICAvKiogS2VlcHMgdHJhY2sgb2YgdGhlIGFtb3VudCBvZiBzdWJzY3JpcHRpb25zIHRvIGBzY3JvbGxlZGAuIFVzZWQgZm9yIGNsZWFuaW5nIHVwIGFmdGVyd2FyZHMuICovXHJcbiAgICBwcml2YXRlIF9zY3JvbGxlZENvdW50ID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1hcCBvZiBhbGwgdGhlIHNjcm9sbGFibGUgcmVmZXJlbmNlcyB0aGF0IGFyZSByZWdpc3RlcmVkIHdpdGggdGhlIHNlcnZpY2UgYW5kIHRoZWlyXHJcbiAgICAgKiBzY3JvbGwgZXZlbnQgc3Vic2NyaXB0aW9ucy5cclxuICAgICAqL1xyXG4gICAgc2Nyb2xsYWJsZVJlZmVyZW5jZXM6IE1hcDxDb1Njcm9sbGFibGVEaXJlY3RpdmUsIFN1YnNjcmlwdGlvbj4gPSBuZXcgTWFwKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWdpc3RlcnMgYSBTY3JvbGxhYmxlIHdpdGggdGhlIHNlcnZpY2UgYW5kIGxpc3RlbnMgZm9yIGl0cyBzY3JvbGxlZCBldmVudHMuIFdoZW4gdGhlXHJcbiAgICAgKiBzY3JvbGxhYmxlIGlzIHNjcm9sbGVkLCB0aGUgc2VydmljZSBlbWl0cyB0aGUgZXZlbnQgaW4gaXRzIHNjcm9sbGVkIG9ic2VydmFibGUuXHJcbiAgICAgKiBAcGFyYW0gc2Nyb2xsYWJsZSBTY3JvbGxhYmxlIGluc3RhbmNlIHRvIGJlIHJlZ2lzdGVyZWQuXHJcbiAgICAgKi9cclxuICAgIHJlZ2lzdGVyKHNjcm9sbGFibGU6IENvU2Nyb2xsYWJsZURpcmVjdGl2ZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbFN1YnNjcmlwdGlvbiA9IHNjcm9sbGFibGUuZWxlbWVudFNjcm9sbGVkKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX25vdGlmeSgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxhYmxlUmVmZXJlbmNlcy5zZXQoc2Nyb2xsYWJsZSwgc2Nyb2xsU3Vic2NyaXB0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlcmVnaXN0ZXJzIGEgU2Nyb2xsYWJsZSByZWZlcmVuY2UgYW5kIHVuc3Vic2NyaWJlcyBmcm9tIGl0cyBzY3JvbGwgZXZlbnQgb2JzZXJ2YWJsZS5cclxuICAgICAqIEBwYXJhbSBzY3JvbGxhYmxlIFNjcm9sbGFibGUgaW5zdGFuY2UgdG8gYmUgZGVyZWdpc3RlcmVkLlxyXG4gICAgICovXHJcbiAgICBkZXJlZ2lzdGVyKHNjcm9sbGFibGU6IENvU2Nyb2xsYWJsZURpcmVjdGl2ZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNjcm9sbGFibGVSZWZlcmVuY2VzLmhhcyhzY3JvbGxhYmxlKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbGFibGVSZWZlcmVuY2VzLmdldChzY3JvbGxhYmxlKS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbGFibGVSZWZlcmVuY2VzLmRlbGV0ZShzY3JvbGxhYmxlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdWJzY3JpYmVzIHRvIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBldmVudCB3aGVuZXZlciBhbnkgb2YgdGhlIHJlZ2lzdGVyZWQgU2Nyb2xsYWJsZVxyXG4gICAgICogcmVmZXJlbmNlcyAob3Igd2luZG93LCBkb2N1bWVudCwgb3IgYm9keSkgZmlyZSBhIHNjcm9sbGVkIGV2ZW50LiBDYW4gcHJvdmlkZSBhIHRpbWUgaW4gbXNcclxuICAgICAqIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IFwidGhyb3R0bGVcIiB0aW1lLlxyXG4gICAgICovXHJcbiAgICBzY3JvbGxlZChhdWRpdFRpbWVJbk1zOiBudW1iZXIgPSBERUZBVUxUX1NDUk9MTF9USU1FLCBjYWxsYmFjazogKCkgPT4gYW55KTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICAvLyBJbiB0aGUgY2FzZSBvZiBhIDBtcyBkZWxheSwgdXNlIGFuIG9ic2VydmFibGUgd2l0aG91dCBhdWRpdFRpbWVcclxuICAgICAgICAvLyBzaW5jZSBpdCBkb2VzIGFkZCBhIHBlcmNlcHRpYmxlIGRlbGF5IGluIHByb2Nlc3Npbmcgb3ZlcmhlYWQuXHJcbiAgICAgICAgbGV0IG9ic2VydmFibGU6IGFueSA9IGF1ZGl0VGltZUluTXMgPiAwID9cclxuICAgICAgICAgICAgYXVkaXRUaW1lKGF1ZGl0VGltZUluTXMpIDpcclxuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3Njcm9sbGVkQ291bnQrKztcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9uID0gbWVyZ2UoXHJcbiAgICAgICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LmRvY3VtZW50LCAnc2Nyb2xsJyksXHJcbiAgICAgICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcclxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fbm90aWZ5KCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gTm90ZSB0aGF0IHdlIG5lZWQgdG8gZG8gdGhlIHN1YnNjcmliaW5nIGZyb20gaGVyZSwgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byByZW1vdmVcclxuICAgICAgICAvLyB0aGUgZ2xvYmFsIGV2ZW50IGxpc3RlbmVycyBvbmNlIHRoZXJlIGFyZSBubyBtb3JlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGUuc3Vic2NyaWJlKGNhbGxiYWNrKS5hZGQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zY3JvbGxlZENvdW50LS07XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9uICYmICF0aGlzLnNjcm9sbGFibGVSZWZlcmVuY2VzLnNpemUgJiYgIXRoaXMuX3Njcm9sbGVkQ291bnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBSZXR1cm5zIGFsbCByZWdpc3RlcmVkIFNjcm9sbGFibGVzIHRoYXQgY29udGFpbiB0aGUgcHJvdmlkZWQgZWxlbWVudC4gKi9cclxuICAgIGdldFNjcm9sbENvbnRhaW5lcnMoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IENvU2Nyb2xsYWJsZURpcmVjdGl2ZVtdIHtcclxuICAgICAgICBjb25zdCBzY3JvbGxpbmdDb250YWluZXJzOiBDb1Njcm9sbGFibGVEaXJlY3RpdmVbXSA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLnNjcm9sbGFibGVSZWZlcmVuY2VzLmZvckVhY2goKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uLCBzY3JvbGxhYmxlOiBDb1Njcm9sbGFibGVEaXJlY3RpdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2Nyb2xsYWJsZUNvbnRhaW5zRWxlbWVudChzY3JvbGxhYmxlLCBlbGVtZW50UmVmKSkge1xyXG4gICAgICAgICAgICAgICAgc2Nyb2xsaW5nQ29udGFpbmVycy5wdXNoKHNjcm9sbGFibGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBzY3JvbGxpbmdDb250YWluZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgY29udGFpbmVkIHdpdGhpbiB0aGUgcHJvdmlkZWQgU2Nyb2xsYWJsZS4gKi9cclxuICAgIHNjcm9sbGFibGVDb250YWluc0VsZW1lbnQoc2Nyb2xsYWJsZTogQ29TY3JvbGxhYmxlRGlyZWN0aXZlLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgbGV0IHNjcm9sbGFibGVFbGVtZW50ID0gc2Nyb2xsYWJsZS5nZXRFbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgLy8gVHJhdmVyc2UgdGhyb3VnaCB0aGUgZWxlbWVudCBwYXJlbnRzIHVudGlsIHdlIHJlYWNoIG51bGwsIGNoZWNraW5nIGlmIGFueSBvZiB0aGUgZWxlbWVudHNcclxuICAgICAgICAvLyBhcmUgdGhlIHNjcm9sbGFibGUncyBlbGVtZW50LlxyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQgPT0gc2Nyb2xsYWJsZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNlbmRzIGEgbm90aWZpY2F0aW9uIHRoYXQgYSBzY3JvbGwgZXZlbnQgaGFzIGJlZW4gZmlyZWQuICovXHJcbiAgICBfbm90aWZ5KCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGVkLm5leHQoKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNDUk9MTF9ESVNQQVRDSEVSX1BST1ZJREVSX0ZBQ1RPUlkocGFyZW50RGlzcGF0Y2hlcjogQ29TY3JvbGxEaXNwYXRjaGVyU2VydmljZSkge1xyXG4gICAgcmV0dXJuIHBhcmVudERpc3BhdGNoZXIgfHwgbmV3IENvU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UoKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFNDUk9MTF9ESVNQQVRDSEVSX1BST1ZJREVSID0ge1xyXG4gICAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIFNjcm9sbERpc3BhdGNoZXIgYXZhaWxhYmxlLCB1c2UgdGhhdC4gT3RoZXJ3aXNlLCBwcm92aWRlIGEgbmV3IG9uZS5cclxuICAgIHByb3ZpZGU6IENvU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXHJcbiAgICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgQ29TY3JvbGxEaXNwYXRjaGVyU2VydmljZV1dLFxyXG4gICAgdXNlRmFjdG9yeTogU0NST0xMX0RJU1BBVENIRVJfUFJPVklERVJfRkFDVE9SWVxyXG59O1xyXG4iXX0=
@@ -1,40 +1,40 @@
1
- // NOTE: Copied and adapted to TwoDSelector from iOneJS on 9-may-2018.
2
- import { Directive, ElementRef } from '@angular/core';
3
- import { CoScrollDispatcherService } from './scroll-dispatcher.service';
4
- import { fromEvent } from 'rxjs';
5
- /**
6
- * Sends an event when the directive's element is scrolled. Registers itself with the
7
- * ScrollDispatcher service to include itself as part of its collection of scrolling events that it
8
- * can be listened to through the service.
9
- */
10
- export class CoScrollableDirective {
11
- constructor(_elementRef, _scroll) {
12
- this._elementRef = _elementRef;
13
- this._scroll = _scroll;
14
- }
15
- ngOnInit() {
16
- this._scroll.register(this);
17
- }
18
- ngOnDestroy() {
19
- this._scroll.deregister(this);
20
- }
21
- /**
22
- * Returns observable that emits when a scroll event is fired on the host element.
23
- */
24
- elementScrolled() {
25
- return fromEvent(this._elementRef.nativeElement, 'scroll');
26
- }
27
- getElementRef() {
28
- return this._elementRef;
29
- }
30
- }
31
- CoScrollableDirective.decorators = [
32
- { type: Directive, args: [{
33
- selector: '[cdk-scrollable]'
34
- },] }
35
- ];
36
- CoScrollableDirective.ctorParameters = () => [
37
- { type: ElementRef },
38
- { type: CoScrollDispatcherService }
39
- ];
1
+ // NOTE: Copied and adapted to TwoDSelector from iOneJS on 9-may-2018.
2
+ import { Directive, ElementRef } from '@angular/core';
3
+ import { CoScrollDispatcherService } from './scroll-dispatcher.service';
4
+ import { fromEvent } from 'rxjs';
5
+ /**
6
+ * Sends an event when the directive's element is scrolled. Registers itself with the
7
+ * ScrollDispatcher service to include itself as part of its collection of scrolling events that it
8
+ * can be listened to through the service.
9
+ */
10
+ export class CoScrollableDirective {
11
+ constructor(_elementRef, _scroll) {
12
+ this._elementRef = _elementRef;
13
+ this._scroll = _scroll;
14
+ }
15
+ ngOnInit() {
16
+ this._scroll.register(this);
17
+ }
18
+ ngOnDestroy() {
19
+ this._scroll.deregister(this);
20
+ }
21
+ /**
22
+ * Returns observable that emits when a scroll event is fired on the host element.
23
+ */
24
+ elementScrolled() {
25
+ return fromEvent(this._elementRef.nativeElement, 'scroll');
26
+ }
27
+ getElementRef() {
28
+ return this._elementRef;
29
+ }
30
+ }
31
+ CoScrollableDirective.decorators = [
32
+ { type: Directive, args: [{
33
+ selector: '[cdk-scrollable]'
34
+ },] }
35
+ ];
36
+ CoScrollableDirective.ctorParameters = () => [
37
+ { type: ElementRef },
38
+ { type: CoScrollDispatcherService }
39
+ ];
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvcmlwcGxlL3Njcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTtBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU3Qzs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUFvQixXQUF1QixFQUFVLE9BQWtDO1FBQW5FLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7SUFDdkYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDWCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzs7WUF4QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7YUFDL0I7OztZQVptQixVQUFVO1lBRXJCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5PVEU6IENvcGllZCBhbmQgYWRhcHRlZCB0byBUd29EU2VsZWN0b3IgZnJvbSBpT25lSlMgb24gOS1tYXktMjAxOC5cclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29TY3JvbGxEaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4vc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIFNlbmRzIGFuIGV2ZW50IHdoZW4gdGhlIGRpcmVjdGl2ZSdzIGVsZW1lbnQgaXMgc2Nyb2xsZWQuIFJlZ2lzdGVycyBpdHNlbGYgd2l0aCB0aGVcclxuICogU2Nyb2xsRGlzcGF0Y2hlciBzZXJ2aWNlIHRvIGluY2x1ZGUgaXRzZWxmIGFzIHBhcnQgb2YgaXRzIGNvbGxlY3Rpb24gb2Ygc2Nyb2xsaW5nIGV2ZW50cyB0aGF0IGl0XHJcbiAqIGNhbiBiZSBsaXN0ZW5lZCB0byB0aHJvdWdoIHRoZSBzZXJ2aWNlLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjZGstc2Nyb2xsYWJsZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb1Njcm9sbGFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9zY3JvbGw6IENvU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zY3JvbGwucmVnaXN0ZXIodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsLmRlcmVnaXN0ZXIodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgc2Nyb2xsIGV2ZW50IGlzIGZpcmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuXHJcbiAgICAgKi9cclxuICAgIGVsZW1lbnRTY3JvbGxlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RWxlbWVudFJlZigpOiBFbGVtZW50UmVmIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,73 +1,73 @@
1
- // NOTE: Copied and adapted to TwoDSelector from iOneJS on 9-may-2018.
2
- import { Injectable, Optional, SkipSelf } from '@angular/core';
3
- import { CoScrollDispatcherService } from "./scroll-dispatcher.service";
4
- /**
5
- * Simple utility for getting the bounds of the browser viewport.
6
- * @docs-private
7
- */
8
- export class CoViewportRulerService {
9
- constructor(scrollDispatcher) {
10
- // Initially cache the document rectangle.
11
- this._cacheViewportGeometry();
12
- // Subscribe to scroll and resize events and update the document rectangle on changes.
13
- scrollDispatcher.scrolled(null, () => this._cacheViewportGeometry());
14
- }
15
- /** Gets a ClientRect for the viewport's bounds. */
16
- getViewportRect(documentRect = this._documentRect) {
17
- // Use the document element's bounding rect rather than the window scroll properties
18
- // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll
19
- // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different
20
- // conceptual viewports. Under most circumstances these viewports are equivalent, but they
21
- // can disagree when the page is pinch-zoomed (on devices that support touch).
22
- // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4
23
- // We use the documentElement instead of the body because, by default (without a css reset)
24
- // browsers typically give the document body an 8px margin, which is not included in
25
- // getBoundingClientRect().
26
- const scrollPosition = this.getViewportScrollPosition(documentRect);
27
- const height = window.innerHeight;
28
- const width = window.innerWidth;
29
- return {
30
- top: scrollPosition.top,
31
- left: scrollPosition.left,
32
- bottom: scrollPosition.top + height,
33
- right: scrollPosition.left + width,
34
- height,
35
- width,
36
- };
37
- }
38
- /**
39
- * Gets the (top, left) scroll position of the viewport.
40
- * @param documentRect
41
- */
42
- getViewportScrollPosition(documentRect = this._documentRect) {
43
- // The top-left-corner of the viewport is determined by the scroll position of the document
44
- // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about
45
- // whether `document.body` or `document.documentElement` is the scrolled element, so reading
46
- // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of
47
- // `document.documentElement` works consistently, where the `top` and `left` values will
48
- // equal negative the scroll position.
49
- const top = -documentRect.top || document.body.scrollTop || window.scrollY || 0;
50
- const left = -documentRect.left || document.body.scrollLeft || window.scrollX || 0;
51
- return { top, left };
52
- }
53
- /** Caches the latest client rectangle of the document element. */
54
- _cacheViewportGeometry() {
55
- this._documentRect = document.documentElement.getBoundingClientRect();
56
- }
57
- }
58
- CoViewportRulerService.decorators = [
59
- { type: Injectable }
60
- ];
61
- CoViewportRulerService.ctorParameters = () => [
62
- { type: CoScrollDispatcherService }
63
- ];
64
- export function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler, scrollDispatcher) {
65
- return parentRuler || new CoViewportRulerService(scrollDispatcher);
66
- }
67
- export const VIEWPORT_RULER_PROVIDER = {
68
- // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.
69
- provide: CoViewportRulerService,
70
- deps: [[new Optional(), new SkipSelf(), CoViewportRulerService], CoScrollDispatcherService],
71
- useFactory: VIEWPORT_RULER_PROVIDER_FACTORY
72
- };
1
+ // NOTE: Copied and adapted to TwoDSelector from iOneJS on 9-may-2018.
2
+ import { Injectable, Optional, SkipSelf } from '@angular/core';
3
+ import { CoScrollDispatcherService } from "./scroll-dispatcher.service";
4
+ /**
5
+ * Simple utility for getting the bounds of the browser viewport.
6
+ * @docs-private
7
+ */
8
+ export class CoViewportRulerService {
9
+ constructor(scrollDispatcher) {
10
+ // Initially cache the document rectangle.
11
+ this._cacheViewportGeometry();
12
+ // Subscribe to scroll and resize events and update the document rectangle on changes.
13
+ scrollDispatcher.scrolled(null, () => this._cacheViewportGeometry());
14
+ }
15
+ /** Gets a ClientRect for the viewport's bounds. */
16
+ getViewportRect(documentRect = this._documentRect) {
17
+ // Use the document element's bounding rect rather than the window scroll properties
18
+ // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll
19
+ // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different
20
+ // conceptual viewports. Under most circumstances these viewports are equivalent, but they
21
+ // can disagree when the page is pinch-zoomed (on devices that support touch).
22
+ // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4
23
+ // We use the documentElement instead of the body because, by default (without a css reset)
24
+ // browsers typically give the document body an 8px margin, which is not included in
25
+ // getBoundingClientRect().
26
+ const scrollPosition = this.getViewportScrollPosition(documentRect);
27
+ const height = window.innerHeight;
28
+ const width = window.innerWidth;
29
+ return {
30
+ top: scrollPosition.top,
31
+ left: scrollPosition.left,
32
+ bottom: scrollPosition.top + height,
33
+ right: scrollPosition.left + width,
34
+ height,
35
+ width,
36
+ };
37
+ }
38
+ /**
39
+ * Gets the (top, left) scroll position of the viewport.
40
+ * @param documentRect
41
+ */
42
+ getViewportScrollPosition(documentRect = this._documentRect) {
43
+ // The top-left-corner of the viewport is determined by the scroll position of the document
44
+ // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about
45
+ // whether `document.body` or `document.documentElement` is the scrolled element, so reading
46
+ // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of
47
+ // `document.documentElement` works consistently, where the `top` and `left` values will
48
+ // equal negative the scroll position.
49
+ const top = -documentRect.top || document.body.scrollTop || window.scrollY || 0;
50
+ const left = -documentRect.left || document.body.scrollLeft || window.scrollX || 0;
51
+ return { top, left };
52
+ }
53
+ /** Caches the latest client rectangle of the document element. */
54
+ _cacheViewportGeometry() {
55
+ this._documentRect = document.documentElement.getBoundingClientRect();
56
+ }
57
+ }
58
+ CoViewportRulerService.decorators = [
59
+ { type: Injectable }
60
+ ];
61
+ CoViewportRulerService.ctorParameters = () => [
62
+ { type: CoScrollDispatcherService }
63
+ ];
64
+ export function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler, scrollDispatcher) {
65
+ return parentRuler || new CoViewportRulerService(scrollDispatcher);
66
+ }
67
+ export const VIEWPORT_RULER_PROVIDER = {
68
+ // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.
69
+ provide: CoViewportRulerService,
70
+ deps: [[new Optional(), new SkipSelf(), CoViewportRulerService], CoScrollDispatcherService],
71
+ useFactory: VIEWPORT_RULER_PROVIDER_FACTORY
72
+ };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtcnVsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9yaXBwbGUvdmlld3BvcnQtcnVsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzRUFBc0U7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRXRFOzs7R0FHRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7SUFLL0IsWUFBWSxnQkFBMkM7UUFDbkQsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRTlCLHNGQUFzRjtRQUN0RixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxlQUFlLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhO1FBQzdDLG9GQUFvRjtRQUNwRixtRkFBbUY7UUFDbkYsMkZBQTJGO1FBQzNGLDBGQUEwRjtRQUMxRiw4RUFBOEU7UUFDOUUsc0VBQXNFO1FBQ3RFLDJGQUEyRjtRQUMzRixvRkFBb0Y7UUFDcEYsMkJBQTJCO1FBQzNCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFFaEMsT0FBTztZQUNILEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRztZQUN2QixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7WUFDekIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxHQUFHLEdBQUcsTUFBTTtZQUNuQyxLQUFLLEVBQUUsY0FBYyxDQUFDLElBQUksR0FBRyxLQUFLO1lBQ2xDLE1BQU07WUFDTixLQUFLO1NBQ1IsQ0FBQztJQUNOLENBQUM7SUFHRDs7O09BR0c7SUFDSCx5QkFBeUIsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWE7UUFDdkQsMkZBQTJGO1FBQzNGLDBGQUEwRjtRQUMxRiw0RkFBNEY7UUFDNUYsb0ZBQW9GO1FBQ3BGLHdGQUF3RjtRQUN4RixzQ0FBc0M7UUFDdEMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUVuRixPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsc0JBQXNCO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzFFLENBQUM7OztZQTVESixVQUFVOzs7WUFOSCx5QkFBeUI7O0FBc0VqQyxNQUFNLFVBQVUsK0JBQStCLENBQUMsV0FBbUMsRUFDL0UsZ0JBQTJDO0lBQzNDLE9BQU8sV0FBVyxJQUFJLElBQUksc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkMseUZBQXlGO0lBQ3pGLE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsc0JBQXNCLENBQUMsRUFBRSx5QkFBeUIsQ0FBQztJQUMzRixVQUFVLEVBQUUsK0JBQStCO0NBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOT1RFOiBDb3BpZWQgYW5kIGFkYXB0ZWQgdG8gVHdvRFNlbGVjdG9yIGZyb20gaU9uZUpTIG9uIDktbWF5LTIwMTguXHJcbmltcG9ydCB7SW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7Q29TY3JvbGxEaXNwYXRjaGVyU2VydmljZX0gZnJvbSBcIi4vc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZVwiO1xyXG5cclxuLyoqXHJcbiAqIFNpbXBsZSB1dGlsaXR5IGZvciBnZXR0aW5nIHRoZSBib3VuZHMgb2YgdGhlIGJyb3dzZXIgdmlld3BvcnQuXHJcbiAqIEBkb2NzLXByaXZhdGVcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvVmlld3BvcnRSdWxlclNlcnZpY2Uge1xyXG5cclxuICAgIC8qKiBDYWNoZWQgZG9jdW1lbnQgY2xpZW50IHJlY3RhbmdsZS4gKi9cclxuICAgIHByaXZhdGUgX2RvY3VtZW50UmVjdD86IENsaWVudFJlY3Q7XHJcblxyXG4gICAgY29uc3RydWN0b3Ioc2Nyb2xsRGlzcGF0Y2hlcjogQ29TY3JvbGxEaXNwYXRjaGVyU2VydmljZSkge1xyXG4gICAgICAgIC8vIEluaXRpYWxseSBjYWNoZSB0aGUgZG9jdW1lbnQgcmVjdGFuZ2xlLlxyXG4gICAgICAgIHRoaXMuX2NhY2hlVmlld3BvcnRHZW9tZXRyeSgpO1xyXG5cclxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gc2Nyb2xsIGFuZCByZXNpemUgZXZlbnRzIGFuZCB1cGRhdGUgdGhlIGRvY3VtZW50IHJlY3RhbmdsZSBvbiBjaGFuZ2VzLlxyXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXIuc2Nyb2xsZWQobnVsbCwgKCkgPT4gdGhpcy5fY2FjaGVWaWV3cG9ydEdlb21ldHJ5KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBHZXRzIGEgQ2xpZW50UmVjdCBmb3IgdGhlIHZpZXdwb3J0J3MgYm91bmRzLiAqL1xyXG4gICAgZ2V0Vmlld3BvcnRSZWN0KGRvY3VtZW50UmVjdCA9IHRoaXMuX2RvY3VtZW50UmVjdCk6IENsaWVudFJlY3Qge1xyXG4gICAgICAgIC8vIFVzZSB0aGUgZG9jdW1lbnQgZWxlbWVudCdzIGJvdW5kaW5nIHJlY3QgcmF0aGVyIHRoYW4gdGhlIHdpbmRvdyBzY3JvbGwgcHJvcGVydGllc1xyXG4gICAgICAgIC8vIChlLmcuIHBhZ2VZT2Zmc2V0LCBzY3JvbGxZKSBkdWUgdG8gaW4gaXNzdWUgaW4gQ2hyb21lIGFuZCBJRSB3aGVyZSB3aW5kb3cgc2Nyb2xsXHJcbiAgICAgICAgLy8gcHJvcGVydGllcyBhbmQgY2xpZW50IGNvb3JkaW5hdGVzIChib3VuZGluZ0NsaWVudFJlY3QsIGNsaWVudFgvWSwgZXRjLikgYXJlIGluIGRpZmZlcmVudFxyXG4gICAgICAgIC8vIGNvbmNlcHR1YWwgdmlld3BvcnRzLiBVbmRlciBtb3N0IGNpcmN1bXN0YW5jZXMgdGhlc2Ugdmlld3BvcnRzIGFyZSBlcXVpdmFsZW50LCBidXQgdGhleVxyXG4gICAgICAgIC8vIGNhbiBkaXNhZ3JlZSB3aGVuIHRoZSBwYWdlIGlzIHBpbmNoLXpvb21lZCAob24gZGV2aWNlcyB0aGF0IHN1cHBvcnQgdG91Y2gpLlxyXG4gICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00ODkyMDYjYzRcclxuICAgICAgICAvLyBXZSB1c2UgdGhlIGRvY3VtZW50RWxlbWVudCBpbnN0ZWFkIG9mIHRoZSBib2R5IGJlY2F1c2UsIGJ5IGRlZmF1bHQgKHdpdGhvdXQgYSBjc3MgcmVzZXQpXHJcbiAgICAgICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGdpdmUgdGhlIGRvY3VtZW50IGJvZHkgYW4gOHB4IG1hcmdpbiwgd2hpY2ggaXMgbm90IGluY2x1ZGVkIGluXHJcbiAgICAgICAgLy8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuXHJcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB0aGlzLmdldFZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oZG9jdW1lbnRSZWN0KTtcclxuICAgICAgICBjb25zdCBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgY29uc3Qgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdG9wOiBzY3JvbGxQb3NpdGlvbi50b3AsXHJcbiAgICAgICAgICAgIGxlZnQ6IHNjcm9sbFBvc2l0aW9uLmxlZnQsXHJcbiAgICAgICAgICAgIGJvdHRvbTogc2Nyb2xsUG9zaXRpb24udG9wICsgaGVpZ2h0LFxyXG4gICAgICAgICAgICByaWdodDogc2Nyb2xsUG9zaXRpb24ubGVmdCArIHdpZHRoLFxyXG4gICAgICAgICAgICBoZWlnaHQsXHJcbiAgICAgICAgICAgIHdpZHRoLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgKHRvcCwgbGVmdCkgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSB2aWV3cG9ydC5cclxuICAgICAqIEBwYXJhbSBkb2N1bWVudFJlY3RcclxuICAgICAqL1xyXG4gICAgZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbihkb2N1bWVudFJlY3QgPSB0aGlzLl9kb2N1bWVudFJlY3QpIHtcclxuICAgICAgICAvLyBUaGUgdG9wLWxlZnQtY29ybmVyIG9mIHRoZSB2aWV3cG9ydCBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGRvY3VtZW50XHJcbiAgICAgICAgLy8gYm9keSwgbm9ybWFsbHkganVzdCAoc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wKS4gSG93ZXZlciwgQ2hyb21lIGFuZCBGaXJlZm94IGRpc2FncmVlIGFib3V0XHJcbiAgICAgICAgLy8gd2hldGhlciBgZG9jdW1lbnQuYm9keWAgb3IgYGRvY3VtZW50LmRvY3VtZW50RWxlbWVudGAgaXMgdGhlIHNjcm9sbGVkIGVsZW1lbnQsIHNvIHJlYWRpbmdcclxuICAgICAgICAvLyBgc2Nyb2xsVG9wYCBhbmQgYHNjcm9sbExlZnRgIGlzIGluY29uc2lzdGVudC4gSG93ZXZlciwgdXNpbmcgdGhlIGJvdW5kaW5nIHJlY3Qgb2ZcclxuICAgICAgICAvLyBgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50YCB3b3JrcyBjb25zaXN0ZW50bHksIHdoZXJlIHRoZSBgdG9wYCBhbmQgYGxlZnRgIHZhbHVlcyB3aWxsXHJcbiAgICAgICAgLy8gZXF1YWwgbmVnYXRpdmUgdGhlIHNjcm9sbCBwb3NpdGlvbi5cclxuICAgICAgICBjb25zdCB0b3AgPSAtZG9jdW1lbnRSZWN0LnRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCB3aW5kb3cuc2Nyb2xsWSB8fCAwO1xyXG4gICAgICAgIGNvbnN0IGxlZnQgPSAtZG9jdW1lbnRSZWN0LmxlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IHx8IHdpbmRvdy5zY3JvbGxYIHx8IDA7XHJcblxyXG4gICAgICAgIHJldHVybiB7dG9wLCBsZWZ0fTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQ2FjaGVzIHRoZSBsYXRlc3QgY2xpZW50IHJlY3RhbmdsZSBvZiB0aGUgZG9jdW1lbnQgZWxlbWVudC4gKi9cclxuICAgIF9jYWNoZVZpZXdwb3J0R2VvbWV0cnkoKSB7XHJcbiAgICAgICAgdGhpcy5fZG9jdW1lbnRSZWN0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFZJRVdQT1JUX1JVTEVSX1BST1ZJREVSX0ZBQ1RPUlkocGFyZW50UnVsZXI6IENvVmlld3BvcnRSdWxlclNlcnZpY2UsXHJcbiAgICBzY3JvbGxEaXNwYXRjaGVyOiBDb1Njcm9sbERpc3BhdGNoZXJTZXJ2aWNlKSB7XHJcbiAgICByZXR1cm4gcGFyZW50UnVsZXIgfHwgbmV3IENvVmlld3BvcnRSdWxlclNlcnZpY2Uoc2Nyb2xsRGlzcGF0Y2hlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBWSUVXUE9SVF9SVUxFUl9QUk9WSURFUiA9IHtcclxuICAgIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBWaWV3cG9ydFJ1bGVyIGF2YWlsYWJsZSwgdXNlIHRoYXQuIE90aGVyd2lzZSwgcHJvdmlkZSBhIG5ldyBvbmUuXHJcbiAgICBwcm92aWRlOiBDb1ZpZXdwb3J0UnVsZXJTZXJ2aWNlLFxyXG4gICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIENvVmlld3BvcnRSdWxlclNlcnZpY2VdLCBDb1Njcm9sbERpc3BhdGNoZXJTZXJ2aWNlXSxcclxuICAgIHVzZUZhY3Rvcnk6IFZJRVdQT1JUX1JVTEVSX1BST1ZJREVSX0ZBQ1RPUllcclxufTsiXX0=