ng-virtual-list 14.12.0 → 14.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -11
- package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +309 -0
- package/{esm2022 → esm2020}/lib/components/ng-list-item/base/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-list-item/const/index.mjs +40 -40
- package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
- package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
- package/{esm2022 → esm2020}/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -20
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/create-display-id.mjs +9 -9
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/get-element-by-index.mjs +19 -19
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/index.mjs +4 -4
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/matrix-3d.mjs +12 -12
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +278 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -20
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +141 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -20
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/core/index.mjs +2 -2
- package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +201 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/events/index.mjs +5 -5
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
- package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +90 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/cache.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
- package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +27 -0
- package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +38 -36
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
- package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +260 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/const/index.mjs +9 -9
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/index.mjs +3 -3
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
- package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +856 -0
- package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +11 -11
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/get-dir.mjs +9 -9
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/index.mjs +5 -5
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/matrix-3d.mjs +9 -9
- package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
- package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
- package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +521 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
- package/{esm2022 → esm2020}/lib/components/ng-scroller/utils/index.mjs +2 -2
- package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-metrics.mjs +2 -0
- package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-params.mjs +2 -0
- package/esm2020/lib/components/ng-scroller/utils/interfaces/calculate-scroll-position-params.mjs +2 -0
- package/esm2020/lib/components/ng-scroller/utils/interfaces/index.mjs +2 -0
- package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
- package/{esm2022 → esm2020}/lib/const/index.mjs +164 -164
- package/esm2020/lib/core/cache-map.mjs +100 -0
- package/{esm2022 → esm2020}/lib/core/const/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/core/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/core/enums/item-display-methods.mjs +13 -13
- package/{esm2022 → esm2020}/lib/core/events/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/core/events/track-box-events.mjs +11 -11
- package/{esm2022 → esm2020}/lib/core/interfaces/get-item-position-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/get-metrics-returns.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/item.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/metrics.mjs +1 -1
- package/esm2020/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
- package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-returns.mjs +1 -1
- package/esm2020/lib/core/track-box.mjs +1352 -0
- package/esm2020/lib/core/tracker.mjs +209 -0
- package/{esm2022 → esm2020}/lib/core/types/cache-map-events.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/cache-map-listeners.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/cache.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/on-change-event-listener.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/on-tick-event-listener.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/utils/get-service-id-prop.mjs +9 -9
- package/{esm2022 → esm2020}/lib/core/utils/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/directives/index.mjs +3 -3
- package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +67 -0
- package/{esm2022 → esm2020}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
- package/esm2020/lib/directives/virtual-click/virtual-click.directive.mjs +66 -0
- package/{esm2022 → esm2020}/lib/directives/virtual-click/virtual-click.module.mjs +19 -19
- package/{esm2022 → esm2020}/lib/enums/alignments.mjs +11 -11
- package/{esm2022 → esm2020}/lib/enums/collapsing-modes.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/collection-modes.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/directions.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/focus-alignments.mjs +13 -13
- package/{esm2022 → esm2020}/lib/enums/index.mjs +11 -11
- package/{esm2022 → esm2020}/lib/enums/selecting-modes-types.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/selecting-modes.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/snap-to-item-aligns.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/snapping-methods.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/spreading-modes.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/text-directions.mjs +13 -13
- package/{esm2022 → esm2020}/lib/interfaces/animation-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/base-virtual-list-item-component.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/item-transformation.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/point.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/rect.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/render-stabilizer-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-event.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-to-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scrolling-settings.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/size.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/collection.model.mjs +2 -2
- package/{esm2022 → esm2020}/lib/models/component.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/display-object-config.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/display-object-measures.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/item-config-map.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/item.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/render-collection.model.mjs +2 -2
- package/{esm2022 → esm2020}/lib/models/render-item-config.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/render-item-measures.model.mjs +2 -2
- package/{esm2022 → esm2020}/lib/models/render-item.model.mjs +2 -2
- package/esm2020/lib/ng-virtual-list-public.service.mjs +122 -0
- package/esm2020/lib/ng-virtual-list.component.mjs +3255 -0
- package/{esm2022 → esm2020}/lib/ng-virtual-list.module.mjs +23 -23
- package/esm2020/lib/ng-virtual-list.service.mjs +430 -0
- package/esm2020/lib/transformations/deck-of-cards-3d.mjs +57 -0
- package/esm2020/lib/transformations/deck-of-cards.mjs +54 -0
- package/esm2020/lib/transformations/event-horizon.mjs +47 -0
- package/{esm2022 → esm2020}/lib/transformations/index.mjs +12 -12
- package/esm2020/lib/transformations/linear.mjs +47 -0
- package/esm2020/lib/transformations/swipe-3d.mjs +51 -0
- package/{esm2022 → esm2020}/lib/types/alignment.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/arithmetic-expression.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/collapsing-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/collection-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/color.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/direction.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/float-or-persentage-value.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/focus-alignment.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/focus-item-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/gradient-color-position.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/gradient-color-positions.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/id.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/item-transform.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/scroll-direction.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/selecting-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/snap-to-item-align.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/snapping-distance.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/snapping-method.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/spreading-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/text-direction.mjs +1 -1
- package/esm2020/lib/utils/animator/animator.mjs +80 -0
- package/{esm2022 → esm2020}/lib/utils/animator/const/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/utils/animator/ease.mjs +6 -6
- package/{esm2022 → esm2020}/lib/utils/animator/index.mjs +4 -4
- package/esm2020/lib/utils/animator/interfaces/animator-params.mjs +2 -0
- package/esm2020/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
- package/{esm2022 → esm2020}/lib/utils/animator/interfaces/index.mjs +1 -1
- package/esm2020/lib/utils/animator/types/easing.mjs +2 -0
- package/{esm2022 → esm2020}/lib/utils/animator/types/index.mjs +1 -1
- package/esm2020/lib/utils/buffer-interpolation.mjs +29 -0
- package/esm2020/lib/utils/cmap.mjs +34 -0
- package/esm2020/lib/utils/debounce.mjs +61 -0
- package/esm2020/lib/utils/disposable-component.mjs +29 -0
- package/esm2020/lib/utils/event-emitter/event-emitter.mjs +106 -0
- package/{esm2022 → esm2020}/lib/utils/event-emitter/index.mjs +2 -2
- package/esm2020/lib/utils/event-emitter/interfaces/event-emitter.mjs +2 -0
- package/{esm2022 → esm2020}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
- package/esm2020/lib/utils/get-scroll-state-version.mjs +12 -0
- package/{esm2022 → esm2020}/lib/utils/get-selector-by-item-id.mjs +4 -4
- package/{esm2022 → esm2020}/lib/utils/index.mjs +4 -4
- package/esm2020/lib/utils/is-collapse-mode.mjs +18 -0
- package/{esm2022 → esm2020}/lib/utils/is-collection-mode.mjs +15 -15
- package/esm2020/lib/utils/is-direction.mjs +15 -0
- package/esm2020/lib/utils/is-persentage-value.mjs +14 -0
- package/esm2020/lib/utils/is-select-mode.mjs +18 -0
- package/{esm2022 → esm2020}/lib/utils/is-spreading-mode.mjs +15 -15
- package/esm2020/lib/utils/list-validators.mjs +27 -0
- package/esm2020/lib/utils/normalize-collection.mjs +42 -0
- package/esm2020/lib/utils/object.mjs +28 -0
- package/esm2020/lib/utils/parse-arithmetic-expression.mjs +53 -0
- package/esm2020/lib/utils/parse-float-or-persentage-value.mjs +17 -0
- package/esm2020/lib/utils/screen-reader-formatter.mjs +43 -0
- package/esm2020/lib/utils/scroll-event.mjs +46 -0
- package/esm2020/lib/utils/scrolling-direction.mjs +28 -0
- package/{esm2022 → esm2020}/lib/utils/snapping-method.mjs +8 -8
- package/esm2020/lib/utils/toggle-class-name.mjs +15 -0
- package/{esm2022 → esm2020}/lib/utils/validation.mjs +55 -55
- package/{esm2022 → esm2020}/ng-virtual-list.mjs +4 -4
- package/{esm2022 → esm2020}/public-api.mjs +19 -19
- package/fesm2015/ng-virtual-list.mjs +10731 -0
- package/fesm2015/ng-virtual-list.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/ng-virtual-list.mjs +10451 -10455
- package/fesm2020/ng-virtual-list.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +83 -83
- package/lib/components/ng-list-item/base/index.d.ts +2 -2
- package/lib/components/ng-list-item/const/index.d.ts +3 -3
- package/lib/components/ng-list-item/interfaces/index.d.ts +2 -2
- package/lib/components/ng-list-item/interfaces/template-context.d.ts +42 -42
- package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +30 -30
- package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +9 -9
- package/lib/components/ng-list-item/utils/create-display-id.d.ts +7 -7
- package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -15
- package/lib/components/ng-list-item/utils/index.d.ts +4 -4
- package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -7
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -104
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -10
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -17
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -9
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +62 -62
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -9
- package/lib/components/ng-prerender-container/core/index.d.ts +2 -2
- package/lib/components/ng-prerender-container/core/prerender-track-box.d.ts +35 -35
- package/lib/components/ng-prerender-container/events/index.d.ts +6 -6
- package/lib/components/ng-prerender-container/interfaces/index.d.ts +2 -2
- package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +17 -17
- package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -40
- package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -9
- package/lib/components/ng-prerender-container/types/cache.d.ts +13 -13
- package/lib/components/ng-prerender-container/types/index.d.ts +2 -2
- package/lib/components/ng-scroll-bar/const/index.d.ts +3 -3
- package/lib/components/ng-scroll-bar/enums/index.d.ts +2 -2
- package/lib/components/ng-scroll-bar/enums/scrollbar-states.d.ts +5 -5
- package/lib/components/ng-scroll-bar/interfaces/index.d.ts +3 -3
- package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +26 -26
- package/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.d.ts +13 -13
- package/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.d.ts +16 -16
- package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +102 -102
- package/lib/components/ng-scroll-bar/ng-scroll-bar.module.d.ts +8 -8
- package/lib/components/ng-scroll-bar/ng-scroll-bar.service.d.ts +22 -22
- package/lib/components/ng-scroll-bar/types/index.d.ts +2 -2
- package/lib/components/ng-scroll-bar/types/scrollbar-state.d.ts +2 -2
- package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +89 -89
- package/lib/components/ng-scroll-view/const/index.d.ts +7 -7
- package/lib/components/ng-scroll-view/enums/index.d.ts +4 -4
- package/lib/components/ng-scroll-view/enums/scroller-direction.d.ts +10 -10
- package/lib/components/ng-scroll-view/enums/scroller-directions.d.ts +8 -8
- package/lib/components/ng-scroll-view/index.d.ts +5 -5
- package/lib/components/ng-scroll-view/interfaces/index.d.ts +2 -2
- package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +22 -22
- package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -124
- package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +10 -7
- package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -7
- package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -7
- package/lib/components/ng-scroll-view/utils/index.d.ts +5 -5
- package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -7
- package/lib/components/ng-scroll-view/utils/scroll-box.d.ts +39 -39
- package/lib/components/ng-scroller/enums/index.d.ts +4 -4
- package/lib/components/ng-scroller/enums/scroller-direction.d.ts +4 -4
- package/lib/components/ng-scroller/enums/scroller-directions.d.ts +3 -3
- package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -164
- package/lib/components/ng-scroller/ng-scroller.module.d.ts +11 -11
- package/lib/components/ng-scroller/utils/index.d.ts +2 -2
- package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-metrics.d.ts +11 -0
- package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-params.d.ts +19 -0
- package/lib/components/ng-scroller/utils/interfaces/calculate-scroll-position-params.d.ts +10 -0
- package/lib/components/ng-scroller/utils/interfaces/index.d.ts +4 -0
- package/lib/components/ng-scroller/utils/scroll-box.d.ts +23 -40
- package/lib/const/index.d.ts +153 -153
- package/lib/core/cache-map.d.ts +46 -46
- package/lib/core/const/index.d.ts +1 -1
- package/lib/core/enums/index.d.ts +2 -2
- package/lib/core/enums/item-display-methods.d.ts +12 -12
- package/lib/core/events/index.d.ts +2 -2
- package/lib/core/events/track-box-events.d.ts +10 -10
- package/lib/core/interfaces/get-item-position-options.d.ts +10 -10
- package/lib/core/interfaces/get-metrics-returns.d.ts +11 -11
- package/lib/core/interfaces/index.d.ts +8 -8
- package/lib/core/interfaces/item.d.ts +9 -9
- package/lib/core/interfaces/metrics.d.ts +51 -51
- package/lib/core/interfaces/recalculate-metrics-options.d.ts +33 -32
- package/lib/core/interfaces/update-collection-options.d.ts +10 -10
- package/lib/core/interfaces/update-collection-returns.d.ts +14 -14
- package/lib/core/track-box.d.ts +153 -153
- package/lib/core/tracker.d.ts +55 -55
- package/lib/core/types/cache-map-events.d.ts +8 -8
- package/lib/core/types/cache-map-listeners.d.ts +9 -9
- package/lib/core/types/cache.d.ts +12 -12
- package/lib/core/types/index.d.ts +6 -6
- package/lib/core/types/on-change-event-listener.d.ts +7 -7
- package/lib/core/types/on-tick-event-listener.d.ts +7 -7
- package/lib/core/utils/get-service-id-prop.d.ts +7 -7
- package/lib/core/utils/index.d.ts +2 -2
- package/lib/directives/index.d.ts +3 -3
- package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +29 -29
- package/lib/directives/locale-sensitive/locale-sensitive.module.d.ts +8 -8
- package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -22
- package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -8
- package/lib/enums/alignments.d.ts +10 -10
- package/lib/enums/collapsing-modes.d.ts +20 -20
- package/lib/enums/collection-modes.d.ts +16 -16
- package/lib/enums/directions.d.ts +16 -16
- package/lib/enums/focus-alignments.d.ts +12 -12
- package/lib/enums/index.d.ts +11 -11
- package/lib/enums/selecting-modes-types.d.ts +20 -20
- package/lib/enums/selecting-modes.d.ts +20 -20
- package/lib/enums/snap-to-item-aligns.d.ts +20 -20
- package/lib/enums/snapping-methods.d.ts +16 -16
- package/lib/enums/spreading-modes.d.ts +16 -16
- package/lib/enums/text-directions.d.ts +12 -12
- package/lib/interfaces/animation-params.d.ts +14 -14
- package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
- package/lib/interfaces/index.d.ts +11 -11
- package/lib/interfaces/item-transformation.d.ts +22 -22
- package/lib/interfaces/point.d.ts +16 -16
- package/lib/interfaces/rect.d.ts +17 -17
- package/lib/interfaces/render-stabilizer-options.d.ts +12 -12
- package/lib/interfaces/scroll-event.d.ts +58 -58
- package/lib/interfaces/scroll-options.d.ts +28 -28
- package/lib/interfaces/scroll-params.d.ts +17 -17
- package/lib/interfaces/scroll-to-params.d.ts +7 -7
- package/lib/interfaces/scrolling-settings.d.ts +38 -38
- package/lib/interfaces/size.d.ts +16 -16
- package/lib/models/collection.model.d.ts +9 -9
- package/lib/models/component.model.d.ts +3 -3
- package/lib/models/display-object-config.model.d.ts +21 -21
- package/lib/models/display-object-measures.model.d.ts +45 -45
- package/lib/models/index.d.ts +9 -9
- package/lib/models/item-config-map.model.d.ts +35 -35
- package/lib/models/item.model.d.ts +17 -17
- package/lib/models/render-collection.model.d.ts +9 -9
- package/lib/models/render-item-config.model.d.ts +119 -119
- package/lib/models/render-item-measures.model.d.ts +116 -116
- package/lib/models/render-item.model.d.ts +40 -40
- package/lib/ng-virtual-list-public.service.d.ts +92 -92
- package/lib/ng-virtual-list.component.d.ts +771 -770
- package/lib/ng-virtual-list.module.d.ts +12 -12
- package/lib/ng-virtual-list.service.d.ts +153 -153
- package/lib/transformations/deck-of-cards-3d.d.ts +54 -54
- package/lib/transformations/deck-of-cards.d.ts +50 -50
- package/lib/transformations/event-horizon.d.ts +26 -26
- package/lib/transformations/index.d.ts +7 -7
- package/lib/transformations/linear.d.ts +26 -26
- package/lib/transformations/swipe-3d.d.ts +38 -38
- package/lib/types/alignment.d.ts +8 -8
- package/lib/types/arithmetic-expression.d.ts +10 -10
- package/lib/types/collapsing-mode.d.ts +8 -8
- package/lib/types/collection-mode.d.ts +8 -8
- package/lib/types/color.d.ts +4 -4
- package/lib/types/direction.d.ts +8 -8
- package/lib/types/float-or-persentage-value.d.ts +7 -7
- package/lib/types/focus-alignment.d.ts +8 -8
- package/lib/types/focus-item-params.d.ts +13 -13
- package/lib/types/gradient-color-position.d.ts +7 -7
- package/lib/types/gradient-color-positions.d.ts +8 -8
- package/lib/types/id.d.ts +7 -7
- package/lib/types/index.d.ts +20 -20
- package/lib/types/item-transform.d.ts +9 -9
- package/lib/types/scroll-direction.d.ts +8 -8
- package/lib/types/selecting-mode.d.ts +8 -8
- package/lib/types/snap-to-item-align.d.ts +8 -8
- package/lib/types/snapping-distance.d.ts +8 -8
- package/lib/types/snapping-method.d.ts +10 -10
- package/lib/types/spreading-mode.d.ts +8 -8
- package/lib/types/text-direction.d.ts +10 -10
- package/lib/utils/animator/animator.d.ts +16 -16
- package/lib/utils/animator/const/index.d.ts +1 -1
- package/lib/utils/animator/ease.d.ts +2 -2
- package/lib/utils/animator/index.d.ts +6 -6
- package/lib/utils/animator/interfaces/animator-params.d.ts +18 -18
- package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -13
- package/lib/utils/animator/interfaces/index.d.ts +3 -3
- package/lib/utils/animator/types/easing.d.ts +7 -7
- package/lib/utils/animator/types/index.d.ts +2 -2
- package/lib/utils/buffer-interpolation.d.ts +5 -5
- package/lib/utils/cmap.d.ts +16 -16
- package/lib/utils/debounce.d.ts +25 -25
- package/lib/utils/disposable-component.d.ts +15 -15
- package/lib/utils/event-emitter/event-emitter.d.ts +42 -42
- package/lib/utils/event-emitter/index.d.ts +4 -4
- package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +37 -37
- package/lib/utils/event-emitter/interfaces/index.d.ts +2 -2
- package/lib/utils/get-scroll-state-version.d.ts +1 -1
- package/lib/utils/get-selector-by-item-id.d.ts +2 -2
- package/lib/utils/index.d.ts +6 -6
- package/lib/utils/is-collapse-mode.d.ts +8 -8
- package/lib/utils/is-collection-mode.d.ts +8 -8
- package/lib/utils/is-direction.d.ts +8 -8
- package/lib/utils/is-persentage-value.d.ts +7 -7
- package/lib/utils/is-select-mode.d.ts +8 -8
- package/lib/utils/is-spreading-mode.d.ts +8 -8
- package/lib/utils/list-validators.d.ts +2 -2
- package/lib/utils/normalize-collection.d.ts +8 -8
- package/lib/utils/object.d.ts +4 -4
- package/lib/utils/parse-arithmetic-expression.d.ts +8 -8
- package/lib/utils/parse-float-or-persentage-value.d.ts +7 -7
- package/lib/utils/screen-reader-formatter.d.ts +7 -4
- package/lib/utils/scroll-event.d.ts +48 -48
- package/lib/utils/scrolling-direction.d.ts +17 -17
- package/lib/utils/snapping-method.d.ts +3 -3
- package/lib/utils/toggle-class-name.d.ts +7 -7
- package/lib/utils/validation.d.ts +35 -35
- package/package.json +11 -5
- package/public-api.d.ts +16 -16
- package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -315
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -200
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -279
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -94
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -142
- package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -198
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -93
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -25
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -324
- package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -262
- package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -859
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -17
- package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
- package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +0 -525
- package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
- package/esm2022/lib/core/cache-map.mjs +0 -101
- package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +0 -2
- package/esm2022/lib/core/track-box.mjs +0 -1353
- package/esm2022/lib/core/tracker.mjs +0 -207
- package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -68
- package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +0 -67
- package/esm2022/lib/ng-virtual-list-public.service.mjs +0 -120
- package/esm2022/lib/ng-virtual-list.component.mjs +0 -3246
- package/esm2022/lib/ng-virtual-list.service.mjs +0 -431
- package/esm2022/lib/transformations/deck-of-cards-3d.mjs +0 -57
- package/esm2022/lib/transformations/deck-of-cards.mjs +0 -54
- package/esm2022/lib/transformations/event-horizon.mjs +0 -47
- package/esm2022/lib/transformations/linear.mjs +0 -47
- package/esm2022/lib/transformations/swipe-3d.mjs +0 -51
- package/esm2022/lib/utils/animator/animator.mjs +0 -78
- package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +0 -2
- package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +0 -2
- package/esm2022/lib/utils/animator/types/easing.mjs +0 -2
- package/esm2022/lib/utils/buffer-interpolation.mjs +0 -29
- package/esm2022/lib/utils/cmap.mjs +0 -34
- package/esm2022/lib/utils/debounce.mjs +0 -61
- package/esm2022/lib/utils/disposable-component.mjs +0 -27
- package/esm2022/lib/utils/event-emitter/event-emitter.mjs +0 -105
- package/esm2022/lib/utils/event-emitter/interfaces/event-emitter.mjs +0 -2
- package/esm2022/lib/utils/get-scroll-state-version.mjs +0 -12
- package/esm2022/lib/utils/is-collapse-mode.mjs +0 -18
- package/esm2022/lib/utils/is-direction.mjs +0 -15
- package/esm2022/lib/utils/is-persentage-value.mjs +0 -14
- package/esm2022/lib/utils/is-select-mode.mjs +0 -18
- package/esm2022/lib/utils/list-validators.mjs +0 -27
- package/esm2022/lib/utils/normalize-collection.mjs +0 -42
- package/esm2022/lib/utils/object.mjs +0 -28
- package/esm2022/lib/utils/parse-arithmetic-expression.mjs +0 -53
- package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +0 -17
- package/esm2022/lib/utils/screen-reader-formatter.mjs +0 -43
- package/esm2022/lib/utils/scroll-event.mjs +0 -48
- package/esm2022/lib/utils/scrolling-direction.mjs +0 -29
- package/esm2022/lib/utils/toggle-class-name.mjs +0 -15
- package/fesm2022/ng-virtual-list.mjs.map +0 -1
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../../const";
|
|
2
|
-
import { ItemTransform, SnapToItemAlign } from "../../types";
|
|
3
|
-
import { IItem } from "./item";
|
|
4
|
-
/**
|
|
5
|
-
* IMetrics
|
|
6
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/metrics.ts
|
|
7
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
8
|
-
* @email djonnyx@gmail.com
|
|
9
|
-
*/
|
|
10
|
-
export interface IMetrics<I extends IItem> {
|
|
11
|
-
delta: number;
|
|
12
|
-
normalizedItemWidth: number;
|
|
13
|
-
normalizedItemHeight: number;
|
|
14
|
-
width: number;
|
|
15
|
-
height: number;
|
|
16
|
-
dynamicSize: boolean;
|
|
17
|
-
divides: number;
|
|
18
|
-
itemSize: number;
|
|
19
|
-
minItemSize: number;
|
|
20
|
-
maxItemSize: number;
|
|
21
|
-
items: Array<I>;
|
|
22
|
-
itemsFromStartToScrollEnd: number;
|
|
23
|
-
itemsFromStartToDisplayEnd: number;
|
|
24
|
-
itemsOnDisplayWeight: number;
|
|
25
|
-
itemsOnDisplayLength: number;
|
|
26
|
-
isVertical: boolean;
|
|
27
|
-
leftHiddenItemsWeight: number;
|
|
28
|
-
leftItemLength: number;
|
|
29
|
-
leftItemsWeight: number;
|
|
30
|
-
leftLayoutOffset: number;
|
|
31
|
-
leftLayoutIndexOffset: number;
|
|
32
|
-
renderItems: number;
|
|
33
|
-
rightItemLength: number;
|
|
34
|
-
rightItemsWeight: number;
|
|
35
|
-
scrollSize: number;
|
|
36
|
-
leftSizeOfAddedItems: number;
|
|
37
|
-
sizeProperty: typeof HEIGHT_PROP_NAME | typeof WIDTH_PROP_NAME;
|
|
38
|
-
stickyEnabled: boolean;
|
|
39
|
-
stickyPos: number;
|
|
40
|
-
startIndex: number;
|
|
41
|
-
startPosition: number;
|
|
42
|
-
totalItemsToDisplayEndWeight: number;
|
|
43
|
-
totalLength: number;
|
|
44
|
-
totalSize: number;
|
|
45
|
-
typicalItemSize: number;
|
|
46
|
-
isFromItemIdFound: boolean;
|
|
47
|
-
isUpdating: boolean;
|
|
48
|
-
snapToItem: boolean;
|
|
49
|
-
snapToItemAlign: SnapToItemAlign;
|
|
50
|
-
itemTransform: ItemTransform | null;
|
|
51
|
-
}
|
|
1
|
+
import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../../const";
|
|
2
|
+
import { ItemTransform, SnapToItemAlign } from "../../types";
|
|
3
|
+
import { IItem } from "./item";
|
|
4
|
+
/**
|
|
5
|
+
* IMetrics
|
|
6
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/metrics.ts
|
|
7
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
8
|
+
* @email djonnyx@gmail.com
|
|
9
|
+
*/
|
|
10
|
+
export interface IMetrics<I extends IItem> {
|
|
11
|
+
delta: number;
|
|
12
|
+
normalizedItemWidth: number;
|
|
13
|
+
normalizedItemHeight: number;
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
dynamicSize: boolean;
|
|
17
|
+
divides: number;
|
|
18
|
+
itemSize: number;
|
|
19
|
+
minItemSize: number;
|
|
20
|
+
maxItemSize: number;
|
|
21
|
+
items: Array<I>;
|
|
22
|
+
itemsFromStartToScrollEnd: number;
|
|
23
|
+
itemsFromStartToDisplayEnd: number;
|
|
24
|
+
itemsOnDisplayWeight: number;
|
|
25
|
+
itemsOnDisplayLength: number;
|
|
26
|
+
isVertical: boolean;
|
|
27
|
+
leftHiddenItemsWeight: number;
|
|
28
|
+
leftItemLength: number;
|
|
29
|
+
leftItemsWeight: number;
|
|
30
|
+
leftLayoutOffset: number;
|
|
31
|
+
leftLayoutIndexOffset: number;
|
|
32
|
+
renderItems: number;
|
|
33
|
+
rightItemLength: number;
|
|
34
|
+
rightItemsWeight: number;
|
|
35
|
+
scrollSize: number;
|
|
36
|
+
leftSizeOfAddedItems: number;
|
|
37
|
+
sizeProperty: typeof HEIGHT_PROP_NAME | typeof WIDTH_PROP_NAME;
|
|
38
|
+
stickyEnabled: boolean;
|
|
39
|
+
stickyPos: number;
|
|
40
|
+
startIndex: number;
|
|
41
|
+
startPosition: number;
|
|
42
|
+
totalItemsToDisplayEndWeight: number;
|
|
43
|
+
totalLength: number;
|
|
44
|
+
totalSize: number;
|
|
45
|
+
typicalItemSize: number;
|
|
46
|
+
isFromItemIdFound: boolean;
|
|
47
|
+
isUpdating: boolean;
|
|
48
|
+
snapToItem: boolean;
|
|
49
|
+
snapToItemAlign: SnapToItemAlign;
|
|
50
|
+
itemTransform: ItemTransform | null;
|
|
51
|
+
}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import { ISize } from "../../interfaces";
|
|
2
|
-
import { Id, ItemTransform, SnapToItemAlign } from "../../types";
|
|
3
|
-
import { IItem } from "./item";
|
|
4
|
-
/**
|
|
5
|
-
* IRecalculateMetricsOptions
|
|
6
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/recalculate-metrics-options.ts
|
|
7
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
8
|
-
* @email djonnyx@gmail.com
|
|
9
|
-
*/
|
|
10
|
-
export interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { ISize } from "../../interfaces";
|
|
2
|
+
import { Alignment, Id, ItemTransform, SnapToItemAlign } from "../../types";
|
|
3
|
+
import { IItem } from "./item";
|
|
4
|
+
/**
|
|
5
|
+
* IRecalculateMetricsOptions
|
|
6
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/recalculate-metrics-options.ts
|
|
7
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
8
|
+
* @email djonnyx@gmail.com
|
|
9
|
+
*/
|
|
10
|
+
export interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
|
|
11
|
+
alignment: Alignment;
|
|
12
|
+
bounds: ISize;
|
|
13
|
+
collection: C;
|
|
14
|
+
isVertical: boolean;
|
|
15
|
+
itemSize: number;
|
|
16
|
+
minItemSize: number;
|
|
17
|
+
maxItemSize: number;
|
|
18
|
+
bufferSize: number;
|
|
19
|
+
maxBufferSize: number;
|
|
20
|
+
dynamicSize: boolean;
|
|
21
|
+
scrollSize: number;
|
|
22
|
+
stickyEnabled: boolean;
|
|
23
|
+
enabledBufferOptimization: boolean;
|
|
24
|
+
fromItemId?: Id;
|
|
25
|
+
previousTotalSize: number;
|
|
26
|
+
crudDetected: boolean;
|
|
27
|
+
deletedItemsMap: {
|
|
28
|
+
[index: number]: ISize;
|
|
29
|
+
};
|
|
30
|
+
snapToItem: boolean;
|
|
31
|
+
snapToItemAlign: SnapToItemAlign;
|
|
32
|
+
itemTransform: ItemTransform | null;
|
|
33
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { IItem } from "./item";
|
|
2
|
-
import { IRecalculateMetricsOptions } from "./recalculate-metrics-options";
|
|
3
|
-
/**
|
|
4
|
-
* IUpdateCollectionOptions
|
|
5
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-options.ts
|
|
6
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
-
* @email djonnyx@gmail.com
|
|
8
|
-
*/
|
|
9
|
-
export interface IUpdateCollectionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
|
|
10
|
-
}
|
|
1
|
+
import { IItem } from "./item";
|
|
2
|
+
import { IRecalculateMetricsOptions } from "./recalculate-metrics-options";
|
|
3
|
+
/**
|
|
4
|
+
* IUpdateCollectionOptions
|
|
5
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-options.ts
|
|
6
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
+
* @email djonnyx@gmail.com
|
|
8
|
+
*/
|
|
9
|
+
export interface IUpdateCollectionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
|
|
10
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { IRenderVirtualListCollection } from "../../models/render-collection.model";
|
|
2
|
-
/**
|
|
3
|
-
* IUpdateCollectionReturns
|
|
4
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-returns.ts
|
|
5
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
-
* @email djonnyx@gmail.com
|
|
7
|
-
*/
|
|
8
|
-
export interface IUpdateCollectionReturns {
|
|
9
|
-
displayItems: IRenderVirtualListCollection;
|
|
10
|
-
totalSize: number;
|
|
11
|
-
leftLayoutOffset: number;
|
|
12
|
-
delta: number;
|
|
13
|
-
crudDetected: boolean;
|
|
14
|
-
}
|
|
1
|
+
import { IRenderVirtualListCollection } from "../../models/render-collection.model";
|
|
2
|
+
/**
|
|
3
|
+
* IUpdateCollectionReturns
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-returns.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export interface IUpdateCollectionReturns {
|
|
9
|
+
displayItems: IRenderVirtualListCollection;
|
|
10
|
+
totalSize: number;
|
|
11
|
+
leftLayoutOffset: number;
|
|
12
|
+
delta: number;
|
|
13
|
+
crudDetected: boolean;
|
|
14
|
+
}
|
package/lib/core/track-box.d.ts
CHANGED
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
import { ComponentRef } from "@angular/core";
|
|
2
|
-
import { IRenderVirtualListCollection } from "../models/render-collection.model";
|
|
3
|
-
import { Id } from "../types/id";
|
|
4
|
-
import { CacheMap } from "./cache-map";
|
|
5
|
-
import { Tracker } from "./tracker";
|
|
6
|
-
import { IRect, ISize } from "../interfaces";
|
|
7
|
-
import { IVirtualListItemConfigMap } from "../models";
|
|
8
|
-
import { CMap } from '../utils/cmap';
|
|
9
|
-
import { BaseVirtualListItemComponent } from "../components/ng-list-item/base";
|
|
10
|
-
import { PrerenderCache } from "../components/ng-prerender-container/types/cache";
|
|
11
|
-
import { ScrollDirection } from "../types";
|
|
12
|
-
import { IGetItemPositionOptions, IGetMetricsReturns, IItem, IMetrics, IRecalculateMetricsOptions, IUpdateCollectionOptions, IUpdateCollectionReturns } from "./interfaces";
|
|
13
|
-
import { Cache, CacheMapEvents, CacheMapListeners } from "./types";
|
|
14
|
-
/**
|
|
15
|
-
* An object that performs tracking, calculations and caching.
|
|
16
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/track-box.ts
|
|
17
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
18
|
-
* @email djonnyx@gmail.com
|
|
19
|
-
*/
|
|
20
|
-
export declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends CacheMap<Id, Cache, CacheMapEvents, CacheMapListeners> {
|
|
21
|
-
protected _tracker: Tracker<C>;
|
|
22
|
-
protected _items: IRenderVirtualListCollection | null | undefined;
|
|
23
|
-
set items(v: IRenderVirtualListCollection | null | undefined);
|
|
24
|
-
protected _displayComponents: Array<ComponentRef<C>> | null | undefined;
|
|
25
|
-
set displayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
26
|
-
protected _snappedDisplayComponents: Array<ComponentRef<C>> | null | undefined;
|
|
27
|
-
set snappedDisplayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
28
|
-
protected _scrollDirection: ScrollDirection;
|
|
29
|
-
set scrollDirection(v: ScrollDirection);
|
|
30
|
-
get scrollDirection(): ScrollDirection;
|
|
31
|
-
protected _trackBy: string;
|
|
32
|
-
set trackBy(v: string);
|
|
33
|
-
get trackBy(): string;
|
|
34
|
-
protected _divides: number;
|
|
35
|
-
set divides(v: number);
|
|
36
|
-
protected _isInfinity: boolean;
|
|
37
|
-
set isInfinity(v: boolean);
|
|
38
|
-
protected _isSnappingMethodAdvanced: boolean;
|
|
39
|
-
set isSnappingMethodAdvanced(v: boolean);
|
|
40
|
-
protected _isLazy: boolean;
|
|
41
|
-
set isLazy(v: boolean);
|
|
42
|
-
/**
|
|
43
|
-
* Set the trackBy property
|
|
44
|
-
*/
|
|
45
|
-
set trackingPropertyName(v: string);
|
|
46
|
-
protected _trackingPropertyName: string;
|
|
47
|
-
protected _isScrollStart: boolean;
|
|
48
|
-
set isScrollStart(v: boolean);
|
|
49
|
-
protected _isScrollEnd: boolean;
|
|
50
|
-
set isScrollEnd(v: boolean);
|
|
51
|
-
protected _isScrollSnapToStart: boolean;
|
|
52
|
-
get isSnappedToStart(): boolean;
|
|
53
|
-
protected _isScrollSnapToEnd: boolean;
|
|
54
|
-
get isSnappedToEnd(): boolean;
|
|
55
|
-
protected _scrollStartOffset: number;
|
|
56
|
-
set scrollStartOffset(v: number);
|
|
57
|
-
get scrollStartOffset(): number;
|
|
58
|
-
protected _scrollEndOffset: number;
|
|
59
|
-
set scrollEndOffset(v: number);
|
|
60
|
-
get scrollEndOffset(): number;
|
|
61
|
-
constructor(trackingPropertyName: string);
|
|
62
|
-
protected initialize(): void;
|
|
63
|
-
set(id: Id, cache: Cache): CMap<Id, ISize>;
|
|
64
|
-
protected _previousCollection: Array<IItem> | null | undefined;
|
|
65
|
-
protected _deletedItemsMap: {
|
|
66
|
-
[index: number]: ISize;
|
|
67
|
-
};
|
|
68
|
-
protected _crudDetected: boolean;
|
|
69
|
-
get crudDetected(): boolean;
|
|
70
|
-
protected fireChangeIfNeed(): void;
|
|
71
|
-
protected fireTick(): void;
|
|
72
|
-
protected _previousTotalSize: number;
|
|
73
|
-
protected _deltaOfNewItems: number;
|
|
74
|
-
get deltaOfNewItems(): number;
|
|
75
|
-
isAdaptiveBuffer: boolean;
|
|
76
|
-
protected _bufferSequenceExtraThreshold: number;
|
|
77
|
-
protected _maxBufferSequenceLength: number;
|
|
78
|
-
protected _bufferSizeSequence: Array<number>;
|
|
79
|
-
protected _bufferSize: number;
|
|
80
|
-
get bufferSize(): number;
|
|
81
|
-
protected _defaultBufferSize: number;
|
|
82
|
-
protected _maxBufferSize: number;
|
|
83
|
-
protected _resetBufferSizeTimeout: number;
|
|
84
|
-
protected _resetBufferSizeTimer: number | undefined;
|
|
85
|
-
protected _isReseted: boolean;
|
|
86
|
-
private _prerenderedCache;
|
|
87
|
-
private _newItems;
|
|
88
|
-
protected lifeCircle(): void;
|
|
89
|
-
/**
|
|
90
|
-
* Scans the collection for deleted items and flushes the deleted item cache.
|
|
91
|
-
*/
|
|
92
|
-
resetCollection<I extends IItem, C extends Array<I>>(currentCollection: C | null | undefined, itemSize: number): void;
|
|
93
|
-
/**
|
|
94
|
-
* Update the cache of items from the list
|
|
95
|
-
*/
|
|
96
|
-
protected updateCache<I extends IItem, C extends Array<I>>(previousCollection: C | null | undefined, currentCollection: C | null | undefined, itemSize: number): void;
|
|
97
|
-
/**
|
|
98
|
-
* Finds the position of a collection element by the given Id
|
|
99
|
-
*/
|
|
100
|
-
getItemPosition<I extends IItem, C extends Array<I>>(id: Id, itemConfigMap: IVirtualListItemConfigMap, options: IGetItemPositionOptions<I, C>): number;
|
|
101
|
-
preventScrollSnapping(clearBuffer?: boolean): void;
|
|
102
|
-
/**
|
|
103
|
-
* Updates the collection of display objects
|
|
104
|
-
*/
|
|
105
|
-
getMetrics<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IGetMetricsReturns;
|
|
106
|
-
/**
|
|
107
|
-
* Updates the collection of display objects
|
|
108
|
-
*/
|
|
109
|
-
updateCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IUpdateCollectionReturns;
|
|
110
|
-
protected _previousScrollSize: number;
|
|
111
|
-
protected updateAdaptiveBufferParams<I extends IItem>(metrics: IMetrics<I>, totalItemsLength: number): void;
|
|
112
|
-
protected startResetBufferSizeTimer(): void;
|
|
113
|
-
protected disposeClearBufferSizeTimer(): void;
|
|
114
|
-
/**
|
|
115
|
-
* Calculates the entry into the overscroll area and returns the number of overscroll elements
|
|
116
|
-
*/
|
|
117
|
-
protected getElementNumToEnd<I extends IItem, C extends Array<I>>(i: number, collection: C, map: CMap<Id, ISize>, typicalItemSize: number, size: number, isVertical: boolean, indexOffset?: number, reverse?: boolean): {
|
|
118
|
-
num: number;
|
|
119
|
-
offset: number;
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Calculates list metrics
|
|
123
|
-
*/
|
|
124
|
-
protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics<I>;
|
|
125
|
-
refreshCache(cache: PrerenderCache): void;
|
|
126
|
-
clearDelta(): void;
|
|
127
|
-
changes(immediately?: boolean, force?: boolean): void;
|
|
128
|
-
/**
|
|
129
|
-
* Returns true if the bounds of at least one screen object have changed.
|
|
130
|
-
*/
|
|
131
|
-
checkBoundsOfElements(): boolean;
|
|
132
|
-
protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, actualItems: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics<I>): IRenderVirtualListCollection;
|
|
133
|
-
resetPositions(): void;
|
|
134
|
-
/**
|
|
135
|
-
* tracking by propName
|
|
136
|
-
*/
|
|
137
|
-
track(): void;
|
|
138
|
-
setDisplayObjectIndexMapById(v: {
|
|
139
|
-
[id: number]: number;
|
|
140
|
-
}): void;
|
|
141
|
-
untrackComponentByIdProperty(component?: C | undefined): void;
|
|
142
|
-
getItemBounds(id: Id): ISize | null;
|
|
143
|
-
getComponentBoundsByIntersectionPosition(position: number, maxPosition?: number | null): (IRect & {
|
|
144
|
-
id: Id | null;
|
|
145
|
-
isFirst: boolean;
|
|
146
|
-
isLast: boolean;
|
|
147
|
-
}) | null;
|
|
148
|
-
private _debouncedIsScrollStartOff;
|
|
149
|
-
protected cacheElements(isVertical: boolean, itemSize: number): void;
|
|
150
|
-
resetCacheChunkInfo(): void;
|
|
151
|
-
cacheClean(): void;
|
|
152
|
-
dispose(): void;
|
|
153
|
-
}
|
|
1
|
+
import { ComponentRef } from "@angular/core";
|
|
2
|
+
import { IRenderVirtualListCollection } from "../models/render-collection.model";
|
|
3
|
+
import { Id } from "../types/id";
|
|
4
|
+
import { CacheMap } from "./cache-map";
|
|
5
|
+
import { Tracker } from "./tracker";
|
|
6
|
+
import { IRect, ISize } from "../interfaces";
|
|
7
|
+
import { IVirtualListItemConfigMap } from "../models";
|
|
8
|
+
import { CMap } from '../utils/cmap';
|
|
9
|
+
import { BaseVirtualListItemComponent } from "../components/ng-list-item/base";
|
|
10
|
+
import { PrerenderCache } from "../components/ng-prerender-container/types/cache";
|
|
11
|
+
import { ScrollDirection } from "../types";
|
|
12
|
+
import { IGetItemPositionOptions, IGetMetricsReturns, IItem, IMetrics, IRecalculateMetricsOptions, IUpdateCollectionOptions, IUpdateCollectionReturns } from "./interfaces";
|
|
13
|
+
import { Cache, CacheMapEvents, CacheMapListeners } from "./types";
|
|
14
|
+
/**
|
|
15
|
+
* An object that performs tracking, calculations and caching.
|
|
16
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/track-box.ts
|
|
17
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
18
|
+
* @email djonnyx@gmail.com
|
|
19
|
+
*/
|
|
20
|
+
export declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends CacheMap<Id, Cache, CacheMapEvents, CacheMapListeners> {
|
|
21
|
+
protected _tracker: Tracker<C>;
|
|
22
|
+
protected _items: IRenderVirtualListCollection | null | undefined;
|
|
23
|
+
set items(v: IRenderVirtualListCollection | null | undefined);
|
|
24
|
+
protected _displayComponents: Array<ComponentRef<C>> | null | undefined;
|
|
25
|
+
set displayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
26
|
+
protected _snappedDisplayComponents: Array<ComponentRef<C>> | null | undefined;
|
|
27
|
+
set snappedDisplayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
28
|
+
protected _scrollDirection: ScrollDirection;
|
|
29
|
+
set scrollDirection(v: ScrollDirection);
|
|
30
|
+
get scrollDirection(): ScrollDirection;
|
|
31
|
+
protected _trackBy: string;
|
|
32
|
+
set trackBy(v: string);
|
|
33
|
+
get trackBy(): string;
|
|
34
|
+
protected _divides: number;
|
|
35
|
+
set divides(v: number);
|
|
36
|
+
protected _isInfinity: boolean;
|
|
37
|
+
set isInfinity(v: boolean);
|
|
38
|
+
protected _isSnappingMethodAdvanced: boolean;
|
|
39
|
+
set isSnappingMethodAdvanced(v: boolean);
|
|
40
|
+
protected _isLazy: boolean;
|
|
41
|
+
set isLazy(v: boolean);
|
|
42
|
+
/**
|
|
43
|
+
* Set the trackBy property
|
|
44
|
+
*/
|
|
45
|
+
set trackingPropertyName(v: string);
|
|
46
|
+
protected _trackingPropertyName: string;
|
|
47
|
+
protected _isScrollStart: boolean;
|
|
48
|
+
set isScrollStart(v: boolean);
|
|
49
|
+
protected _isScrollEnd: boolean;
|
|
50
|
+
set isScrollEnd(v: boolean);
|
|
51
|
+
protected _isScrollSnapToStart: boolean;
|
|
52
|
+
get isSnappedToStart(): boolean;
|
|
53
|
+
protected _isScrollSnapToEnd: boolean;
|
|
54
|
+
get isSnappedToEnd(): boolean;
|
|
55
|
+
protected _scrollStartOffset: number;
|
|
56
|
+
set scrollStartOffset(v: number);
|
|
57
|
+
get scrollStartOffset(): number;
|
|
58
|
+
protected _scrollEndOffset: number;
|
|
59
|
+
set scrollEndOffset(v: number);
|
|
60
|
+
get scrollEndOffset(): number;
|
|
61
|
+
constructor(trackingPropertyName: string);
|
|
62
|
+
protected initialize(): void;
|
|
63
|
+
set(id: Id, cache: Cache): CMap<Id, ISize>;
|
|
64
|
+
protected _previousCollection: Array<IItem> | null | undefined;
|
|
65
|
+
protected _deletedItemsMap: {
|
|
66
|
+
[index: number]: ISize;
|
|
67
|
+
};
|
|
68
|
+
protected _crudDetected: boolean;
|
|
69
|
+
get crudDetected(): boolean;
|
|
70
|
+
protected fireChangeIfNeed(): void;
|
|
71
|
+
protected fireTick(): void;
|
|
72
|
+
protected _previousTotalSize: number;
|
|
73
|
+
protected _deltaOfNewItems: number;
|
|
74
|
+
get deltaOfNewItems(): number;
|
|
75
|
+
isAdaptiveBuffer: boolean;
|
|
76
|
+
protected _bufferSequenceExtraThreshold: number;
|
|
77
|
+
protected _maxBufferSequenceLength: number;
|
|
78
|
+
protected _bufferSizeSequence: Array<number>;
|
|
79
|
+
protected _bufferSize: number;
|
|
80
|
+
get bufferSize(): number;
|
|
81
|
+
protected _defaultBufferSize: number;
|
|
82
|
+
protected _maxBufferSize: number;
|
|
83
|
+
protected _resetBufferSizeTimeout: number;
|
|
84
|
+
protected _resetBufferSizeTimer: number | undefined;
|
|
85
|
+
protected _isReseted: boolean;
|
|
86
|
+
private _prerenderedCache;
|
|
87
|
+
private _newItems;
|
|
88
|
+
protected lifeCircle(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Scans the collection for deleted items and flushes the deleted item cache.
|
|
91
|
+
*/
|
|
92
|
+
resetCollection<I extends IItem, C extends Array<I>>(currentCollection: C | null | undefined, itemSize: number): void;
|
|
93
|
+
/**
|
|
94
|
+
* Update the cache of items from the list
|
|
95
|
+
*/
|
|
96
|
+
protected updateCache<I extends IItem, C extends Array<I>>(previousCollection: C | null | undefined, currentCollection: C | null | undefined, itemSize: number): void;
|
|
97
|
+
/**
|
|
98
|
+
* Finds the position of a collection element by the given Id
|
|
99
|
+
*/
|
|
100
|
+
getItemPosition<I extends IItem, C extends Array<I>>(id: Id, itemConfigMap: IVirtualListItemConfigMap, options: IGetItemPositionOptions<I, C>): number;
|
|
101
|
+
preventScrollSnapping(clearBuffer?: boolean): void;
|
|
102
|
+
/**
|
|
103
|
+
* Updates the collection of display objects
|
|
104
|
+
*/
|
|
105
|
+
getMetrics<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IGetMetricsReturns;
|
|
106
|
+
/**
|
|
107
|
+
* Updates the collection of display objects
|
|
108
|
+
*/
|
|
109
|
+
updateCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IUpdateCollectionReturns;
|
|
110
|
+
protected _previousScrollSize: number;
|
|
111
|
+
protected updateAdaptiveBufferParams<I extends IItem>(metrics: IMetrics<I>, totalItemsLength: number): void;
|
|
112
|
+
protected startResetBufferSizeTimer(): void;
|
|
113
|
+
protected disposeClearBufferSizeTimer(): void;
|
|
114
|
+
/**
|
|
115
|
+
* Calculates the entry into the overscroll area and returns the number of overscroll elements
|
|
116
|
+
*/
|
|
117
|
+
protected getElementNumToEnd<I extends IItem, C extends Array<I>>(i: number, collection: C, map: CMap<Id, ISize>, typicalItemSize: number, size: number, isVertical: boolean, indexOffset?: number, reverse?: boolean): {
|
|
118
|
+
num: number;
|
|
119
|
+
offset: number;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Calculates list metrics
|
|
123
|
+
*/
|
|
124
|
+
protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics<I>;
|
|
125
|
+
refreshCache(cache: PrerenderCache): void;
|
|
126
|
+
clearDelta(): void;
|
|
127
|
+
changes(immediately?: boolean, force?: boolean): void;
|
|
128
|
+
/**
|
|
129
|
+
* Returns true if the bounds of at least one screen object have changed.
|
|
130
|
+
*/
|
|
131
|
+
checkBoundsOfElements(): boolean;
|
|
132
|
+
protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, actualItems: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics<I>): IRenderVirtualListCollection;
|
|
133
|
+
resetPositions(): void;
|
|
134
|
+
/**
|
|
135
|
+
* tracking by propName
|
|
136
|
+
*/
|
|
137
|
+
track(): void;
|
|
138
|
+
setDisplayObjectIndexMapById(v: {
|
|
139
|
+
[id: number]: number;
|
|
140
|
+
}): void;
|
|
141
|
+
untrackComponentByIdProperty(component?: C | undefined): void;
|
|
142
|
+
getItemBounds(id: Id): ISize | null;
|
|
143
|
+
getComponentBoundsByIntersectionPosition(position: number, maxPosition?: number | null): (IRect & {
|
|
144
|
+
id: Id | null;
|
|
145
|
+
isFirst: boolean;
|
|
146
|
+
isLast: boolean;
|
|
147
|
+
}) | null;
|
|
148
|
+
private _debouncedIsScrollStartOff;
|
|
149
|
+
protected cacheElements(isVertical: boolean, itemSize: number): void;
|
|
150
|
+
resetCacheChunkInfo(): void;
|
|
151
|
+
cacheClean(): void;
|
|
152
|
+
dispose(): void;
|
|
153
|
+
}
|
package/lib/core/tracker.d.ts
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { ComponentRef } from "@angular/core";
|
|
2
|
-
import { ScrollDirection } from "../types";
|
|
3
|
-
import { IRenderVirtualListCollection } from "../models/render-collection.model";
|
|
4
|
-
import { BaseVirtualListItemComponent } from "../components/ng-list-item/base";
|
|
5
|
-
import { ISize } from '../interfaces';
|
|
6
|
-
import { Id } from "../types";
|
|
7
|
-
import { CMap } from "../utils/cmap";
|
|
8
|
-
type TrackingPropertyId = string | number;
|
|
9
|
-
export interface IVirtualListItemComponent<I = any> {
|
|
10
|
-
getBounds(): ISize;
|
|
11
|
-
itemId: Id;
|
|
12
|
-
id: number;
|
|
13
|
-
item: I | null;
|
|
14
|
-
show: () => void;
|
|
15
|
-
hide: () => void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Tracks display items by property
|
|
19
|
-
* Maximum performance for extremely large lists.
|
|
20
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
21
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/tracker.ts
|
|
22
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
23
|
-
* @email djonnyx@gmail.com
|
|
24
|
-
*/
|
|
25
|
-
export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
26
|
-
/**
|
|
27
|
-
* display objects dictionary of indexes by id
|
|
28
|
-
*/
|
|
29
|
-
protected _displayObjectIndexMapById: {
|
|
30
|
-
[id: number]: number;
|
|
31
|
-
};
|
|
32
|
-
set displayObjectIndexMapById(v: {
|
|
33
|
-
[id: number]: number;
|
|
34
|
-
});
|
|
35
|
-
get displayObjectIndexMapById(): {
|
|
36
|
-
[id: number]: number;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Dictionary displayItems propertyNameId by items propertyNameId
|
|
40
|
-
*/
|
|
41
|
-
protected _trackMap: CMap<TrackingPropertyId, number>;
|
|
42
|
-
get trackMap(): CMap<TrackingPropertyId, number>;
|
|
43
|
-
protected _trackingPropertyName: string;
|
|
44
|
-
set trackingPropertyName(v: string);
|
|
45
|
-
constructor(trackingPropertyName: string);
|
|
46
|
-
private tearOutSnapedDisplayObjectByItemId;
|
|
47
|
-
/**
|
|
48
|
-
* tracking by propName
|
|
49
|
-
*/
|
|
50
|
-
track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection, trackBy: string): void;
|
|
51
|
-
untrackComponentByIdProperty(component?: C): void;
|
|
52
|
-
clearTrackMap(): void;
|
|
53
|
-
dispose(): void;
|
|
54
|
-
}
|
|
55
|
-
export {};
|
|
1
|
+
import { ComponentRef } from "@angular/core";
|
|
2
|
+
import { ScrollDirection } from "../types";
|
|
3
|
+
import { IRenderVirtualListCollection } from "../models/render-collection.model";
|
|
4
|
+
import { BaseVirtualListItemComponent } from "../components/ng-list-item/base";
|
|
5
|
+
import { ISize } from '../interfaces';
|
|
6
|
+
import { Id } from "../types";
|
|
7
|
+
import { CMap } from "../utils/cmap";
|
|
8
|
+
declare type TrackingPropertyId = string | number;
|
|
9
|
+
export interface IVirtualListItemComponent<I = any> {
|
|
10
|
+
getBounds(): ISize;
|
|
11
|
+
itemId: Id;
|
|
12
|
+
id: number;
|
|
13
|
+
item: I | null;
|
|
14
|
+
show: () => void;
|
|
15
|
+
hide: () => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Tracks display items by property
|
|
19
|
+
* Maximum performance for extremely large lists.
|
|
20
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
21
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/core/tracker.ts
|
|
22
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
23
|
+
* @email djonnyx@gmail.com
|
|
24
|
+
*/
|
|
25
|
+
export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
26
|
+
/**
|
|
27
|
+
* display objects dictionary of indexes by id
|
|
28
|
+
*/
|
|
29
|
+
protected _displayObjectIndexMapById: {
|
|
30
|
+
[id: number]: number;
|
|
31
|
+
};
|
|
32
|
+
set displayObjectIndexMapById(v: {
|
|
33
|
+
[id: number]: number;
|
|
34
|
+
});
|
|
35
|
+
get displayObjectIndexMapById(): {
|
|
36
|
+
[id: number]: number;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Dictionary displayItems propertyNameId by items propertyNameId
|
|
40
|
+
*/
|
|
41
|
+
protected _trackMap: CMap<TrackingPropertyId, number>;
|
|
42
|
+
get trackMap(): CMap<TrackingPropertyId, number>;
|
|
43
|
+
protected _trackingPropertyName: string;
|
|
44
|
+
set trackingPropertyName(v: string);
|
|
45
|
+
constructor(trackingPropertyName: string);
|
|
46
|
+
private tearOutSnapedDisplayObjectByItemId;
|
|
47
|
+
/**
|
|
48
|
+
* tracking by propName
|
|
49
|
+
*/
|
|
50
|
+
track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection, trackBy: string): void;
|
|
51
|
+
untrackComponentByIdProperty(component?: C): void;
|
|
52
|
+
clearTrackMap(): void;
|
|
53
|
+
dispose(): void;
|
|
54
|
+
}
|
|
55
|
+
export {};
|