@colijnit/corecomponents_v12 12.2.26 → 12.2.27

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 (438) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +13684 -13680
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.d.ts +43 -43
  4. package/colijnit-corecomponents_v12.metadata.json +1 -1
  5. package/esm2015/colijnit-corecomponents_v12.js +43 -43
  6. package/esm2015/lib/components/article-tile/article-tile.component.js +49 -49
  7. package/esm2015/lib/components/article-tile/article-tile.module.js +34 -34
  8. package/esm2015/lib/components/base/base-input.component.js +833 -833
  9. package/esm2015/lib/components/base/base.module.js +21 -21
  10. package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +85 -85
  11. package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +20 -20
  12. package/esm2015/lib/components/base/dialog-base.component.js +5 -5
  13. package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +24 -24
  14. package/esm2015/lib/components/button/button.component.js +73 -73
  15. package/esm2015/lib/components/button/button.module.js +18 -18
  16. package/esm2015/lib/components/calendar/calendar-template.component.js +281 -281
  17. package/esm2015/lib/components/calendar/calendar.component.js +32 -32
  18. package/esm2015/lib/components/calendar/calendar.module.js +27 -27
  19. package/esm2015/lib/components/card/card.component.js +50 -50
  20. package/esm2015/lib/components/card/card.module.js +34 -34
  21. package/esm2015/lib/components/carousel/carousel.component.js +109 -109
  22. package/esm2015/lib/components/carousel/carousel.module.js +31 -31
  23. package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +293 -293
  24. package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +18 -18
  25. package/esm2015/lib/components/carousel-3d/carouselItem.js +53 -53
  26. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +72 -72
  27. package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +18 -18
  28. package/esm2015/lib/components/co-dialog/co-dialog.component.js +91 -91
  29. package/esm2015/lib/components/co-dialog/co-dialog.module.js +18 -18
  30. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +35 -35
  31. package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +16 -16
  32. package/esm2015/lib/components/collapsible/collapsible.component.js +67 -67
  33. package/esm2015/lib/components/collapsible/collapsible.module.js +18 -18
  34. package/esm2015/lib/components/color-picker/color-picker.component.js +33 -33
  35. package/esm2015/lib/components/color-picker/color-picker.module.js +20 -20
  36. package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +46 -46
  37. package/esm2015/lib/components/core-dialog/core-dialog.module.js +38 -38
  38. package/esm2015/lib/components/core-dialog/core-dialog.service.js +66 -66
  39. package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +92 -92
  40. package/esm2015/lib/components/double-calendar/double-calendar.component.js +62 -62
  41. package/esm2015/lib/components/double-calendar/double-calendar.module.js +24 -24
  42. package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +12 -12
  43. package/esm2015/lib/components/filter-item/filter-item.component.js +496 -496
  44. package/esm2015/lib/components/filter-item/filter-item.module.js +42 -42
  45. package/esm2015/lib/components/filter-item/filter-viewmodel.js +10 -10
  46. package/esm2015/lib/components/form/form.component.js +181 -181
  47. package/esm2015/lib/components/form/form.module.js +22 -22
  48. package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +48 -48
  49. package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +22 -22
  50. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +23 -23
  51. package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +18 -18
  52. package/esm2015/lib/components/icon/icon-cache.service.js +51 -51
  53. package/esm2015/lib/components/icon/icon.component.js +47 -47
  54. package/esm2015/lib/components/icon/icon.module.js +24 -24
  55. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +56 -56
  56. package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +22 -22
  57. package/esm2015/lib/components/image/image.component.js +31 -31
  58. package/esm2015/lib/components/image/image.module.js +13 -13
  59. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +71 -71
  60. package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +18 -18
  61. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +74 -74
  62. package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +25 -25
  63. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +107 -107
  64. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +26 -26
  65. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +285 -285
  66. package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +22 -22
  67. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +77 -77
  68. package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +18 -18
  69. package/esm2015/lib/components/input-scanner/bar-code-scanner.js +22 -22
  70. package/esm2015/lib/components/input-scanner/input-scanner.component.js +56 -56
  71. package/esm2015/lib/components/input-scanner/input-scanner.module.js +20 -20
  72. package/esm2015/lib/components/input-scanner/scanner.service.js +27 -27
  73. package/esm2015/lib/components/input-search/input-search.component.js +67 -63
  74. package/esm2015/lib/components/input-search/input-search.module.js +20 -20
  75. package/esm2015/lib/components/input-text/input-text.component.js +192 -192
  76. package/esm2015/lib/components/input-text/input-text.module.js +32 -32
  77. package/esm2015/lib/components/input-textarea/input-textarea.component.js +55 -55
  78. package/esm2015/lib/components/input-textarea/input-textarea.module.js +26 -26
  79. package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +6 -6
  80. package/esm2015/lib/components/level-indicator/level-indicator.component.js +29 -29
  81. package/esm2015/lib/components/level-indicator/level-indicator.module.js +14 -14
  82. package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +87 -87
  83. package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +218 -218
  84. package/esm2015/lib/components/list-of-values/list-of-values.component.js +199 -199
  85. package/esm2015/lib/components/list-of-values/list-of-values.module.js +37 -37
  86. package/esm2015/lib/components/loader/loader.component.js +16 -16
  87. package/esm2015/lib/components/loader/loader.module.js +18 -18
  88. package/esm2015/lib/components/pagination/paginate.pipe.js +98 -98
  89. package/esm2015/lib/components/pagination/pagination-instance.js +1 -1
  90. package/esm2015/lib/components/pagination/pagination.component.js +107 -107
  91. package/esm2015/lib/components/pagination/pagination.module.js +27 -27
  92. package/esm2015/lib/components/pagination/pagination.service.js +87 -87
  93. package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +136 -136
  94. package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +18 -18
  95. package/esm2015/lib/components/popup/const/popup-window-token.js +2 -2
  96. package/esm2015/lib/components/popup/interface/popup-button.js +7 -7
  97. package/esm2015/lib/components/popup/interface/popup-close-event.js +1 -1
  98. package/esm2015/lib/components/popup/interface/popup-settings.js +41 -41
  99. package/esm2015/lib/components/popup/interface/popup.js +1 -1
  100. package/esm2015/lib/components/popup/model/popup-button-globals.js +10 -10
  101. package/esm2015/lib/components/popup/model/popup-window.js +37 -37
  102. package/esm2015/lib/components/popup/popup-buttons.component.js +42 -42
  103. package/esm2015/lib/components/popup/popup-message-display.component.js +37 -37
  104. package/esm2015/lib/components/popup/popup-window-shell.component.js +141 -141
  105. package/esm2015/lib/components/popup/popup.module.js +48 -48
  106. package/esm2015/lib/components/popup/service/popup-shower.service.js +89 -89
  107. package/esm2015/lib/components/popup/service/prompt.service.js +126 -126
  108. package/esm2015/lib/components/popup/text-input-popup.component.js +33 -33
  109. package/esm2015/lib/components/responsive-text/responsive-text.component.js +17 -17
  110. package/esm2015/lib/components/responsive-text/responsive-text.module.js +18 -18
  111. package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +163 -163
  112. package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +141 -141
  113. package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +110 -110
  114. package/esm2015/lib/components/simple-grid/simple-grid.component.js +378 -378
  115. package/esm2015/lib/components/simple-grid/simple-grid.module.js +40 -40
  116. package/esm2015/lib/components/tile/tile.component.js +44 -44
  117. package/esm2015/lib/components/tile/tile.module.js +22 -22
  118. package/esm2015/lib/components/tile-select/tile-select.component.js +26 -26
  119. package/esm2015/lib/components/tile-select/tile-select.module.js +20 -20
  120. package/esm2015/lib/components/tooltip/tooltip.component.js +74 -74
  121. package/esm2015/lib/components/tooltip/tooltip.module.js +18 -18
  122. package/esm2015/lib/components/validation-error/validation-error.component.js +30 -30
  123. package/esm2015/lib/components/validation-error/validation-error.module.js +24 -24
  124. package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +10 -10
  125. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +41 -41
  126. package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +20 -20
  127. package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +3 -3
  128. package/esm2015/lib/core/constant/java-max-int.js +1 -1
  129. package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +44 -44
  130. package/esm2015/lib/core/decorator/input-boolean.decorator.js +33 -33
  131. package/esm2015/lib/core/enum/co-direction.js +8 -8
  132. package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +6 -6
  133. package/esm2015/lib/core/enum/co-document-type.enum.js +10 -10
  134. package/esm2015/lib/core/enum/co-orientation.js +16 -16
  135. package/esm2015/lib/core/enum/core-components-icon.enum.js +299 -299
  136. package/esm2015/lib/core/enum/file-type-internal.enum.js +16 -16
  137. package/esm2015/lib/core/enum/file-type.enum.js +10 -10
  138. package/esm2015/lib/core/enum/filterItem-mode.enum.js +42 -42
  139. package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +7 -7
  140. package/esm2015/lib/core/enum/keyboard-code.enum.js +73 -73
  141. package/esm2015/lib/core/enum/keyboard-key.enum.js +75 -75
  142. package/esm2015/lib/core/enum/object-right-type.enum.js +6 -6
  143. package/esm2015/lib/core/enum/popup-button-type.enum.js +11 -11
  144. package/esm2015/lib/core/enum/popup-type.enum.js +10 -10
  145. package/esm2015/lib/core/enum/table-name.enum.js +80 -80
  146. package/esm2015/lib/core/function/any-nill.function.js +5 -5
  147. package/esm2015/lib/core/function/is-nill.function.js +4 -4
  148. package/esm2015/lib/core/function/none-nill.function.js +16 -16
  149. package/esm2015/lib/core/function/not-nill.function.js +4 -4
  150. package/esm2015/lib/core/model/bounds-constrained-number-value.js +170 -170
  151. package/esm2015/lib/core/model/check-precision-and-scale-result.js +1 -1
  152. package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +1 -1
  153. package/esm2015/lib/core/model/co-document-right.bo.js +2 -2
  154. package/esm2015/lib/core/model/co-document.bo.js +120 -120
  155. package/esm2015/lib/core/model/core-components-icon-svg.js +298 -298
  156. package/esm2015/lib/core/model/element-position.js +9 -9
  157. package/esm2015/lib/core/model/event/string-prompt-result-event.js +7 -7
  158. package/esm2015/lib/core/service/form-input-user-change-listener.service.js +24 -24
  159. package/esm2015/lib/core/service/form-master.service.js +101 -101
  160. package/esm2015/lib/core/service/ng-zone-wrapper.service.js +19 -19
  161. package/esm2015/lib/core/utils/array-utils.js +263 -263
  162. package/esm2015/lib/core/utils/browser-utils.js +99 -99
  163. package/esm2015/lib/core/utils/direction-enum-utils.js +13 -13
  164. package/esm2015/lib/core/utils/event-utils.js +52 -52
  165. package/esm2015/lib/core/utils/file-utils.js +266 -266
  166. package/esm2015/lib/core/utils/number-utils.js +308 -308
  167. package/esm2015/lib/core/utils/object-utils.js +185 -185
  168. package/esm2015/lib/core/utils/string-utils.js +93 -93
  169. package/esm2015/lib/core/validator/email.validator.js +5 -5
  170. package/esm2015/lib/core/validator/equal.validator.js +10 -10
  171. package/esm2015/lib/core/validator/max-string-length.validator.js +9 -9
  172. package/esm2015/lib/core/validator/password.validator.js +30 -30
  173. package/esm2015/lib/core/validator/precision-scale.validator.js +10 -10
  174. package/esm2015/lib/core/validator/required.validator.js +4 -4
  175. package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +56 -56
  176. package/esm2015/lib/directives/clickoutside/click-outside.directive.js +70 -70
  177. package/esm2015/lib/directives/clickoutside/clickoutside.module.js +18 -18
  178. package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +52 -52
  179. package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +14 -14
  180. package/esm2015/lib/directives/overlay/overlay-parent.directive.js +18 -18
  181. package/esm2015/lib/directives/overlay/overlay.directive.js +160 -160
  182. package/esm2015/lib/directives/overlay/overlay.module.js +17 -17
  183. package/esm2015/lib/directives/ripple/ripple-ref.js +25 -25
  184. package/esm2015/lib/directives/ripple/ripple-renderer.js +159 -159
  185. package/esm2015/lib/directives/ripple/ripple.directive.js +79 -79
  186. package/esm2015/lib/directives/ripple/ripple.module.js +23 -23
  187. package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +107 -107
  188. package/esm2015/lib/directives/ripple/scrollable.directive.js +39 -39
  189. package/esm2015/lib/directives/ripple/viewport-ruler.service.js +72 -72
  190. package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +157 -157
  191. package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +18 -18
  192. package/esm2015/lib/directives/stopclick/stop-click.directive.js +37 -37
  193. package/esm2015/lib/directives/stopclick/stop-click.module.js +14 -14
  194. package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +67 -67
  195. package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +14 -14
  196. package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +18 -18
  197. package/esm2015/lib/directives/tooltip/tooltip.directive.js +77 -77
  198. package/esm2015/lib/interfaces/dialog-response.interface.js +1 -1
  199. package/esm2015/lib/interfaces/scanner-input.interface.js +1 -1
  200. package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +3 -3
  201. package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +1 -1
  202. package/esm2015/lib/model/enum/app-button-type.enum.js +10 -10
  203. package/esm2015/lib/model/enum/app-popup-type.enum.js +7 -7
  204. package/esm2015/lib/pipes/append.pipe.js +16 -16
  205. package/esm2015/lib/pipes/append.pipe.module.js +14 -14
  206. package/esm2015/lib/pipes/filter.pipe.js +15 -15
  207. package/esm2015/lib/pipes/filter.pipe.module.js +14 -14
  208. package/esm2015/lib/pipes/prepend.pipe.js +16 -16
  209. package/esm2015/lib/pipes/prepend.pipe.module.js +14 -14
  210. package/esm2015/lib/pipes/price-display-pipe.module.js +14 -14
  211. package/esm2015/lib/pipes/price-display.pipe.js +19 -19
  212. package/esm2015/lib/service/base-module-screen-config.service.js +204 -204
  213. package/esm2015/lib/service/base-module.service.js +41 -41
  214. package/esm2015/lib/service/color-sequence.service.js +22 -22
  215. package/esm2015/lib/service/overlay.service.js +72 -72
  216. package/esm2015/lib/translation/core-components-translation.module.js +28 -28
  217. package/esm2015/lib/translation/core-components-translation.service.js +16 -16
  218. package/esm2015/lib/translation/core-dictionary.service.js +28 -28
  219. package/esm2015/lib/translation/core-localize.pipe.js +25 -25
  220. package/esm2015/public-api.js +129 -129
  221. package/fesm2015/colijnit-corecomponents_v12.js +12090 -12086
  222. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  223. package/lib/components/article-tile/article-tile.component.d.ts +22 -22
  224. package/lib/components/article-tile/article-tile.module.d.ts +2 -2
  225. package/lib/components/base/base-input.component.d.ts +182 -182
  226. package/lib/components/base/base.module.d.ts +2 -2
  227. package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +21 -21
  228. package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +2 -2
  229. package/lib/components/base/dialog-base.component.d.ts +4 -4
  230. package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +15 -15
  231. package/lib/components/button/button.component.d.ts +29 -29
  232. package/lib/components/button/button.module.d.ts +2 -2
  233. package/lib/components/calendar/calendar-template.component.d.ts +60 -60
  234. package/lib/components/calendar/calendar.component.d.ts +13 -13
  235. package/lib/components/calendar/calendar.module.d.ts +2 -2
  236. package/lib/components/card/card.component.d.ts +23 -23
  237. package/lib/components/card/card.module.d.ts +2 -2
  238. package/lib/components/carousel/carousel.component.d.ts +23 -23
  239. package/lib/components/carousel/carousel.module.d.ts +6 -6
  240. package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -55
  241. package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -2
  242. package/lib/components/carousel-3d/carouselItem.d.ts +13 -13
  243. package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +17 -17
  244. package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +2 -2
  245. package/lib/components/co-dialog/co-dialog.component.d.ts +23 -23
  246. package/lib/components/co-dialog/co-dialog.module.d.ts +2 -2
  247. package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +9 -9
  248. package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +2 -2
  249. package/lib/components/collapsible/collapsible.component.d.ts +22 -22
  250. package/lib/components/collapsible/collapsible.module.d.ts +2 -2
  251. package/lib/components/color-picker/color-picker.component.d.ts +6 -6
  252. package/lib/components/color-picker/color-picker.module.d.ts +2 -2
  253. package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -20
  254. package/lib/components/core-dialog/core-dialog.module.d.ts +4 -4
  255. package/lib/components/core-dialog/core-dialog.service.d.ts +15 -15
  256. package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -12
  257. package/lib/components/double-calendar/double-calendar.component.d.ts +18 -18
  258. package/lib/components/double-calendar/double-calendar.module.d.ts +2 -2
  259. package/lib/components/filter-item/filter-item-viewmodel.d.ts +9 -9
  260. package/lib/components/filter-item/filter-item.component.d.ts +80 -80
  261. package/lib/components/filter-item/filter-item.module.d.ts +2 -2
  262. package/lib/components/filter-item/filter-viewmodel.d.ts +8 -8
  263. package/lib/components/form/form.component.d.ts +39 -39
  264. package/lib/components/form/form.module.d.ts +2 -2
  265. package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +19 -19
  266. package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +2 -2
  267. package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -8
  268. package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -2
  269. package/lib/components/icon/icon-cache.service.d.ts +20 -20
  270. package/lib/components/icon/icon.component.d.ts +17 -17
  271. package/lib/components/icon/icon.module.d.ts +2 -2
  272. package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +21 -21
  273. package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +2 -2
  274. package/lib/components/image/image.component.d.ts +20 -20
  275. package/lib/components/image/image.module.d.ts +2 -2
  276. package/lib/components/input-checkbox/input-checkbox.component.d.ts +24 -24
  277. package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -2
  278. package/lib/components/input-date-picker/input-date-picker.component.d.ts +12 -12
  279. package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -2
  280. package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +20 -20
  281. package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +2 -2
  282. package/lib/components/input-number-picker/input-number-picker.component.d.ts +73 -73
  283. package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -2
  284. package/lib/components/input-radio-button/input-radio-button.component.d.ts +19 -19
  285. package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -2
  286. package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -7
  287. package/lib/components/input-scanner/input-scanner.component.d.ts +24 -24
  288. package/lib/components/input-scanner/input-scanner.module.d.ts +2 -2
  289. package/lib/components/input-scanner/scanner.service.d.ts +11 -11
  290. package/lib/components/input-search/input-search.component.d.ts +20 -19
  291. package/lib/components/input-search/input-search.module.d.ts +2 -2
  292. package/lib/components/input-text/input-text.component.d.ts +65 -65
  293. package/lib/components/input-text/input-text.module.d.ts +2 -2
  294. package/lib/components/input-textarea/input-textarea.component.d.ts +19 -19
  295. package/lib/components/input-textarea/input-textarea.module.d.ts +2 -2
  296. package/lib/components/level-indicator/level-indicator-level.enum.d.ts +5 -5
  297. package/lib/components/level-indicator/level-indicator.component.d.ts +10 -10
  298. package/lib/components/level-indicator/level-indicator.module.d.ts +2 -2
  299. package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +25 -25
  300. package/lib/components/list-of-values/list-of-values-popup.component.d.ts +47 -47
  301. package/lib/components/list-of-values/list-of-values.component.d.ts +37 -37
  302. package/lib/components/list-of-values/list-of-values.module.d.ts +2 -2
  303. package/lib/components/loader/loader.component.d.ts +3 -3
  304. package/lib/components/loader/loader.module.d.ts +2 -2
  305. package/lib/components/pagination/paginate.pipe.d.ts +15 -15
  306. package/lib/components/pagination/pagination-instance.d.ts +14 -14
  307. package/lib/components/pagination/pagination.component.d.ts +38 -38
  308. package/lib/components/pagination/pagination.module.d.ts +2 -2
  309. package/lib/components/pagination/pagination.service.d.ts +24 -24
  310. package/lib/components/pagination-bar/pagination-bar.component.d.ts +33 -33
  311. package/lib/components/pagination-bar/pagination-bar.module.d.ts +2 -2
  312. package/lib/components/popup/const/popup-window-token.d.ts +3 -3
  313. package/lib/components/popup/interface/popup-button.d.ts +8 -8
  314. package/lib/components/popup/interface/popup-close-event.d.ts +5 -5
  315. package/lib/components/popup/interface/popup-settings.d.ts +21 -21
  316. package/lib/components/popup/interface/popup.d.ts +9 -9
  317. package/lib/components/popup/model/popup-button-globals.d.ts +9 -9
  318. package/lib/components/popup/model/popup-window.d.ts +21 -21
  319. package/lib/components/popup/popup-buttons.component.d.ts +13 -13
  320. package/lib/components/popup/popup-message-display.component.d.ts +12 -12
  321. package/lib/components/popup/popup-window-shell.component.d.ts +42 -42
  322. package/lib/components/popup/popup.module.d.ts +4 -4
  323. package/lib/components/popup/service/popup-shower.service.d.ts +17 -17
  324. package/lib/components/popup/service/prompt.service.d.ts +17 -17
  325. package/lib/components/popup/text-input-popup.component.d.ts +12 -12
  326. package/lib/components/responsive-text/responsive-text.component.d.ts +4 -4
  327. package/lib/components/responsive-text/responsive-text.module.d.ts +2 -2
  328. package/lib/components/simple-grid/base-simple-grid.component.d.ts +52 -52
  329. package/lib/components/simple-grid/simple-grid-cell.component.d.ts +30 -30
  330. package/lib/components/simple-grid/simple-grid-column.directive.d.ts +42 -42
  331. package/lib/components/simple-grid/simple-grid.component.d.ts +64 -64
  332. package/lib/components/simple-grid/simple-grid.module.d.ts +2 -2
  333. package/lib/components/tile/tile.component.d.ts +16 -16
  334. package/lib/components/tile/tile.module.d.ts +2 -2
  335. package/lib/components/tile-select/tile-select.component.d.ts +8 -8
  336. package/lib/components/tile-select/tile-select.module.d.ts +2 -2
  337. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  338. package/lib/components/tooltip/tooltip.module.d.ts +2 -2
  339. package/lib/components/validation-error/validation-error.component.d.ts +12 -12
  340. package/lib/components/validation-error/validation-error.module.d.ts +2 -2
  341. package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +8 -8
  342. package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +17 -17
  343. package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +2 -2
  344. package/lib/core/constant/default-upper-bound-for-range-components.d.ts +2 -2
  345. package/lib/core/constant/java-max-int.d.ts +1 -1
  346. package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -2
  347. package/lib/core/decorator/input-boolean.decorator.d.ts +8 -8
  348. package/lib/core/enum/co-direction.d.ts +6 -6
  349. package/lib/core/enum/co-document-image-display-kind.enum.d.ts +5 -5
  350. package/lib/core/enum/co-document-type.enum.d.ts +5 -5
  351. package/lib/core/enum/co-orientation.d.ts +6 -6
  352. package/lib/core/enum/core-components-icon.enum.d.ts +298 -298
  353. package/lib/core/enum/file-type-internal.enum.d.ts +15 -15
  354. package/lib/core/enum/file-type.enum.d.ts +5 -5
  355. package/lib/core/enum/filterItem-mode.enum.d.ts +15 -15
  356. package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -5
  357. package/lib/core/enum/keyboard-code.enum.d.ts +71 -71
  358. package/lib/core/enum/keyboard-key.enum.d.ts +70 -70
  359. package/lib/core/enum/object-right-type.enum.d.ts +5 -5
  360. package/lib/core/enum/popup-button-type.enum.d.ts +9 -9
  361. package/lib/core/enum/popup-type.enum.d.ts +9 -9
  362. package/lib/core/enum/table-name.enum.d.ts +79 -79
  363. package/lib/core/function/any-nill.function.d.ts +1 -1
  364. package/lib/core/function/is-nill.function.d.ts +1 -1
  365. package/lib/core/function/none-nill.function.d.ts +1 -1
  366. package/lib/core/function/not-nill.function.d.ts +1 -1
  367. package/lib/core/model/bounds-constrained-number-value.d.ts +46 -46
  368. package/lib/core/model/check-precision-and-scale-result.d.ts +4 -4
  369. package/lib/core/model/check-within-stepped-bounds-result.d.ts +8 -8
  370. package/lib/core/model/co-document-right.bo.d.ts +6 -6
  371. package/lib/core/model/co-document.bo.d.ts +61 -61
  372. package/lib/core/model/core-components-icon-svg.d.ts +4 -4
  373. package/lib/core/model/element-position.d.ts +7 -7
  374. package/lib/core/model/event/string-prompt-result-event.d.ts +6 -6
  375. package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -10
  376. package/lib/core/service/form-master.service.d.ts +26 -26
  377. package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -6
  378. package/lib/core/utils/array-utils.d.ts +85 -85
  379. package/lib/core/utils/browser-utils.d.ts +15 -15
  380. package/lib/core/utils/direction-enum-utils.d.ts +5 -5
  381. package/lib/core/utils/event-utils.d.ts +12 -12
  382. package/lib/core/utils/file-utils.d.ts +29 -29
  383. package/lib/core/utils/number-utils.d.ts +89 -89
  384. package/lib/core/utils/object-utils.d.ts +31 -31
  385. package/lib/core/utils/string-utils.d.ts +25 -25
  386. package/lib/core/validator/email.validator.d.ts +2 -2
  387. package/lib/core/validator/equal.validator.d.ts +2 -2
  388. package/lib/core/validator/max-string-length.validator.d.ts +2 -2
  389. package/lib/core/validator/password.validator.d.ts +3 -3
  390. package/lib/core/validator/precision-scale.validator.d.ts +2 -2
  391. package/lib/core/validator/required.validator.d.ts +2 -2
  392. package/lib/directives/clickoutside/click-outside-master.service.d.ts +15 -15
  393. package/lib/directives/clickoutside/click-outside.directive.d.ts +18 -18
  394. package/lib/directives/clickoutside/clickoutside.module.d.ts +2 -2
  395. package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +14 -14
  396. package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -2
  397. package/lib/directives/overlay/overlay-parent.directive.d.ts +6 -6
  398. package/lib/directives/overlay/overlay.directive.d.ts +25 -25
  399. package/lib/directives/overlay/overlay.module.d.ts +2 -2
  400. package/lib/directives/ripple/ripple-ref.d.ts +21 -21
  401. package/lib/directives/ripple/ripple-renderer.d.ts +56 -56
  402. package/lib/directives/ripple/ripple.directive.d.ts +56 -56
  403. package/lib/directives/ripple/ripple.module.d.ts +2 -2
  404. package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -51
  405. package/lib/directives/ripple/scrollable.directive.d.ts +20 -20
  406. package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -29
  407. package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +32 -32
  408. package/lib/directives/screen-configuration/screen-configuration.module.d.ts +2 -2
  409. package/lib/directives/stopclick/stop-click.directive.d.ts +10 -10
  410. package/lib/directives/stopclick/stop-click.module.d.ts +2 -2
  411. package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +13 -13
  412. package/lib/directives/template-wrapper/template-wrapper.module.d.ts +2 -2
  413. package/lib/directives/tooltip/tooltip-directive.module.d.ts +2 -2
  414. package/lib/directives/tooltip/tooltip.directive.d.ts +20 -20
  415. package/lib/interfaces/dialog-response.interface.d.ts +6 -6
  416. package/lib/interfaces/scanner-input.interface.d.ts +3 -3
  417. package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +3 -3
  418. package/lib/interfaces/screen-config-adapter.component.interface.d.ts +10 -10
  419. package/lib/model/enum/app-button-type.enum.d.ts +9 -9
  420. package/lib/model/enum/app-popup-type.enum.d.ts +6 -6
  421. package/lib/pipes/append.pipe.d.ts +4 -4
  422. package/lib/pipes/append.pipe.module.d.ts +2 -2
  423. package/lib/pipes/filter.pipe.d.ts +4 -4
  424. package/lib/pipes/filter.pipe.module.d.ts +2 -2
  425. package/lib/pipes/prepend.pipe.d.ts +4 -4
  426. package/lib/pipes/prepend.pipe.module.d.ts +2 -2
  427. package/lib/pipes/price-display-pipe.module.d.ts +2 -2
  428. package/lib/pipes/price-display.pipe.d.ts +4 -4
  429. package/lib/service/base-module-screen-config.service.d.ts +47 -47
  430. package/lib/service/base-module.service.d.ts +22 -22
  431. package/lib/service/color-sequence.service.d.ts +4 -4
  432. package/lib/service/overlay.service.d.ts +13 -13
  433. package/lib/translation/core-components-translation.module.d.ts +4 -4
  434. package/lib/translation/core-components-translation.service.d.ts +6 -6
  435. package/lib/translation/core-dictionary.service.d.ts +12 -12
  436. package/lib/translation/core-localize.pipe.d.ts +7 -7
  437. package/package.json +1 -1
  438. 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=