ng-virtual-list 18.11.2 → 18.12.0
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 +115 -111
- package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +170 -61
- package/esm2022/lib/components/ng-list-item/const/index.mjs +41 -2
- package/esm2022/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +55 -51
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +5 -5
- package/esm2022/lib/components/ng-list-item/utils/create-display-id.mjs +7 -1
- package/esm2022/lib/components/ng-list-item/utils/get-element-by-index.mjs +17 -3
- package/esm2022/lib/components/ng-list-item/utils/index.mjs +3 -2
- package/esm2022/lib/components/ng-list-item/utils/matrix-3d.mjs +18 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +172 -47
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +32 -16
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +5 -5
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +58 -34
- package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +37 -7
- package/esm2022/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +58 -28
- package/esm2022/lib/components/ng-scroll-bar/const/index.mjs +8 -1
- package/esm2022/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +236 -88
- package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +170 -44
- package/esm2022/lib/components/ng-scroll-view/const/index.mjs +4 -2
- package/esm2022/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
- package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +610 -99
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +7 -1
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +12 -0
- package/esm2022/lib/components/ng-scroll-view/utils/get-dir.mjs +10 -0
- package/esm2022/lib/components/ng-scroll-view/utils/index.mjs +4 -2
- package/esm2022/lib/components/ng-scroll-view/utils/matrix-3d.mjs +15 -0
- package/esm2022/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
- package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +342 -160
- package/esm2022/lib/const/index.mjs +50 -10
- package/esm2022/lib/core/cache-map.mjs +1 -54
- package/esm2022/lib/core/const/index.mjs +3 -0
- package/esm2022/lib/core/enums/index.mjs +3 -0
- package/esm2022/lib/core/enums/item-display-methods.mjs +14 -0
- package/esm2022/lib/core/events/index.mjs +3 -0
- package/esm2022/lib/core/events/track-box-events.mjs +12 -0
- package/esm2022/lib/core/interfaces/get-item-position-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/get-metrics-returns.mjs +2 -0
- package/esm2022/lib/core/interfaces/index.mjs +2 -0
- package/esm2022/lib/core/interfaces/item.mjs +2 -0
- package/esm2022/lib/core/interfaces/metrics.mjs +2 -0
- package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/update-collection-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/update-collection-returns.mjs +2 -0
- package/esm2022/lib/core/track-box.mjs +601 -191
- package/esm2022/lib/core/tracker.mjs +14 -8
- package/esm2022/lib/core/types/cache-map-events.mjs +2 -0
- package/esm2022/lib/core/types/cache-map-listeners.mjs +2 -0
- package/esm2022/lib/core/types/cache.mjs +2 -0
- package/esm2022/lib/core/types/index.mjs +2 -0
- package/esm2022/lib/core/types/on-change-event-listener.mjs +2 -0
- package/esm2022/lib/core/types/on-tick-event-listener.mjs +2 -0
- package/esm2022/lib/core/utils/get-service-id-prop.mjs +10 -0
- package/esm2022/lib/core/utils/index.mjs +3 -0
- package/esm2022/lib/directives/index.mjs +3 -3
- package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +34 -13
- package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +67 -0
- package/esm2022/lib/directives/virtual-click/virtual-click.module.mjs +19 -0
- package/esm2022/lib/enums/alignments.mjs +12 -0
- package/esm2022/lib/enums/collapsing-modes.mjs +22 -0
- package/esm2022/lib/enums/index.mjs +8 -4
- package/esm2022/lib/enums/selecting-modes-types.mjs +22 -0
- package/esm2022/lib/enums/selecting-modes.mjs +22 -0
- package/esm2022/lib/enums/snap-to-item-aligns.mjs +22 -0
- package/esm2022/lib/enums/spreading-modes.mjs +18 -0
- package/esm2022/lib/interfaces/animation-params.mjs +1 -1
- package/esm2022/lib/interfaces/base-virtual-list-item-component.mjs +2 -9
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/item-transformation.mjs +2 -0
- package/esm2022/lib/interfaces/point.mjs +2 -0
- package/esm2022/lib/interfaces/scroll-options.mjs +1 -1
- package/esm2022/lib/interfaces/scroll-params.mjs +1 -1
- package/esm2022/lib/models/item-config-map.model.mjs +1 -1
- package/esm2022/lib/models/item.model.mjs +1 -1
- package/esm2022/lib/models/render-item-config.model.mjs +1 -1
- package/esm2022/lib/models/render-item-measures.model.mjs +1 -1
- package/esm2022/lib/ng-virtual-list-public.service.mjs +6 -7
- package/esm2022/lib/ng-virtual-list.component.mjs +2033 -903
- package/esm2022/lib/ng-virtual-list.service.mjs +91 -30
- package/esm2022/lib/transformations/deck-of-cards-3d.mjs +57 -0
- package/esm2022/lib/transformations/deck-of-cards.mjs +54 -0
- package/esm2022/lib/transformations/event-horizon.mjs +47 -0
- package/esm2022/lib/transformations/index.mjs +13 -0
- package/esm2022/lib/transformations/linear.mjs +47 -0
- package/esm2022/lib/transformations/swipe-3d.mjs +51 -0
- package/esm2022/lib/types/alignment.mjs +2 -0
- package/esm2022/lib/types/arithmetic-expression.mjs +2 -0
- package/esm2022/lib/types/collapsing-mode.mjs +2 -0
- package/esm2022/lib/types/collection-mode.mjs +2 -0
- package/esm2022/lib/types/color.mjs +2 -0
- package/esm2022/lib/types/direction.mjs +2 -0
- package/esm2022/lib/types/float-or-persentage-value.mjs +2 -0
- package/esm2022/lib/types/focus-item-params.mjs +1 -1
- package/esm2022/lib/types/gradient-color-position.mjs +1 -1
- package/esm2022/lib/types/index.mjs +1 -1
- package/esm2022/lib/types/item-transform.mjs +2 -0
- package/esm2022/lib/types/scroll-direction.mjs +1 -1
- package/esm2022/lib/types/selecting-mode.mjs +2 -0
- package/esm2022/lib/types/snap-to-item-align.mjs +2 -0
- package/esm2022/lib/types/snapping-distance.mjs +2 -0
- package/esm2022/lib/types/snapping-method.mjs +2 -0
- package/esm2022/lib/types/spreading-mode.mjs +2 -0
- package/esm2022/lib/types/text-direction.mjs +2 -0
- package/esm2022/lib/utils/animator/animator.mjs +28 -8
- package/esm2022/lib/utils/animator/const/index.mjs +2 -0
- package/esm2022/lib/utils/animator/index.mjs +3 -2
- package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +2 -0
- package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
- package/esm2022/lib/utils/animator/interfaces/index.mjs +2 -0
- package/esm2022/lib/utils/animator/types/easing.mjs +1 -1
- package/esm2022/lib/utils/disposable-component.mjs +27 -0
- package/esm2022/lib/utils/event-emitter/event-emitter.mjs +1 -1
- package/esm2022/lib/utils/get-scroll-state-version.mjs +12 -0
- package/esm2022/lib/utils/is-collapse-mode.mjs +18 -0
- package/esm2022/lib/utils/is-collection-mode.mjs +1 -1
- package/esm2022/lib/utils/is-direction.mjs +1 -1
- package/esm2022/lib/utils/is-persentage-value.mjs +14 -0
- package/esm2022/lib/utils/is-select-mode.mjs +18 -0
- package/esm2022/lib/utils/is-spreading-mode.mjs +15 -0
- package/esm2022/lib/utils/list-validators.mjs +1 -1
- package/esm2022/lib/utils/normalize-collection.mjs +42 -0
- package/esm2022/lib/utils/object.mjs +1 -1
- package/esm2022/lib/utils/parse-arithmetic-expression.mjs +53 -0
- package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +17 -0
- package/esm2022/lib/utils/scrolling-direction.mjs +29 -0
- package/esm2022/lib/utils/snapping-method.mjs +1 -1
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/ng-virtual-list.mjs +7545 -3904
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +40 -16
- package/lib/components/ng-list-item/const/index.d.ts +3 -1
- package/lib/components/ng-list-item/interfaces/template-context.d.ts +1 -1
- package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +5 -2
- package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +2 -2
- package/lib/components/ng-list-item/utils/create-display-id.d.ts +6 -0
- package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -1
- package/lib/components/ng-list-item/utils/index.d.ts +2 -1
- package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -0
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +69 -26
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +2 -2
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +2 -2
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +33 -12
- package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +1 -0
- package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +20 -17
- package/lib/components/ng-scroll-bar/const/index.d.ts +2 -0
- package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +2 -2
- package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +75 -24
- package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +49 -16
- package/lib/components/ng-scroll-view/const/index.d.ts +3 -1
- package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +4 -1
- package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +79 -11
- package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +6 -0
- package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/index.d.ts +3 -1
- package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -0
- package/lib/components/ng-scroller/enums/scroller-directions.d.ts +2 -1
- package/lib/components/ng-scroller/ng-scroller.component.d.ts +111 -47
- package/lib/const/index.d.ts +46 -5
- package/lib/core/cache-map.d.ts +0 -10
- package/lib/core/const/index.d.ts +1 -0
- package/lib/core/enums/index.d.ts +2 -0
- package/lib/core/enums/item-display-methods.d.ts +12 -0
- package/lib/core/events/index.d.ts +2 -0
- package/lib/core/events/track-box-events.d.ts +10 -0
- package/lib/core/interfaces/get-item-position-options.d.ts +10 -0
- package/lib/core/interfaces/get-metrics-returns.d.ts +11 -0
- package/lib/core/interfaces/index.d.ts +8 -0
- package/lib/core/interfaces/item.d.ts +9 -0
- package/lib/core/interfaces/metrics.d.ts +51 -0
- package/lib/core/interfaces/recalculate-metrics-options.d.ts +32 -0
- package/lib/core/interfaces/update-collection-options.d.ts +10 -0
- package/lib/core/interfaces/update-collection-returns.d.ts +14 -0
- package/lib/core/track-box.d.ts +25 -95
- package/lib/core/tracker.d.ts +1 -1
- package/lib/core/types/cache-map-events.d.ts +8 -0
- package/lib/core/types/cache-map-listeners.d.ts +9 -0
- package/lib/core/types/cache.d.ts +12 -0
- package/lib/core/types/index.d.ts +6 -0
- package/lib/core/types/on-change-event-listener.d.ts +7 -0
- package/lib/core/types/on-tick-event-listener.d.ts +7 -0
- package/lib/core/utils/get-service-id-prop.d.ts +7 -0
- package/lib/core/utils/index.d.ts +2 -0
- package/lib/directives/index.d.ts +2 -2
- package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +16 -6
- package/lib/directives/virtual-click/virtual-click.directive.d.ts +22 -0
- package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -0
- package/lib/enums/alignments.d.ts +10 -0
- package/lib/enums/collapsing-modes.d.ts +20 -0
- package/lib/enums/index.d.ts +7 -9
- package/lib/enums/{method-for-selecting-types.d.ts → selecting-modes-types.d.ts} +3 -3
- package/lib/enums/{methods-for-selecting.d.ts → selecting-modes.d.ts} +3 -3
- package/lib/enums/snap-to-item-aligns.d.ts +20 -0
- package/lib/enums/spreading-modes.d.ts +16 -0
- package/lib/interfaces/animation-params.d.ts +1 -0
- package/lib/interfaces/base-virtual-list-item-component.d.ts +13 -13
- package/lib/interfaces/index.d.ts +3 -2
- package/lib/interfaces/item-transformation.d.ts +22 -0
- package/lib/interfaces/point.d.ts +16 -0
- package/lib/interfaces/scroll-options.d.ts +4 -0
- package/lib/interfaces/scroll-params.d.ts +3 -2
- package/lib/models/item-config-map.model.d.ts +5 -0
- package/lib/models/item.model.d.ts +7 -0
- package/lib/models/render-item-config.model.d.ts +50 -0
- package/lib/models/render-item-measures.model.d.ts +71 -0
- package/lib/ng-virtual-list-public.service.d.ts +4 -5
- package/lib/ng-virtual-list.component.d.ts +462 -135
- package/lib/ng-virtual-list.service.d.ts +33 -12
- package/lib/transformations/deck-of-cards-3d.d.ts +54 -0
- package/lib/transformations/deck-of-cards.d.ts +50 -0
- package/lib/transformations/event-horizon.d.ts +26 -0
- package/lib/transformations/index.d.ts +7 -0
- package/lib/transformations/linear.d.ts +26 -0
- package/lib/transformations/swipe-3d.d.ts +38 -0
- package/lib/types/alignment.d.ts +8 -0
- package/lib/types/arithmetic-expression.d.ts +10 -0
- package/lib/types/collapsing-mode.d.ts +8 -0
- package/lib/{enums → types}/collection-mode.d.ts +1 -1
- package/lib/types/color.d.ts +4 -0
- package/lib/{enums → types}/direction.d.ts +1 -1
- package/lib/types/float-or-persentage-value.d.ts +7 -0
- package/lib/types/focus-item-params.d.ts +6 -0
- package/lib/types/gradient-color-position.d.ts +1 -1
- package/lib/types/index.d.ts +15 -1
- package/lib/types/item-transform.d.ts +9 -0
- package/lib/types/scroll-direction.d.ts +2 -0
- package/lib/types/selecting-mode.d.ts +8 -0
- package/lib/types/snap-to-item-align.d.ts +8 -0
- package/lib/types/snapping-distance.d.ts +8 -0
- package/lib/{enums → types}/snapping-method.d.ts +1 -1
- package/lib/types/spreading-mode.d.ts +8 -0
- package/lib/{enums → types}/text-direction.d.ts +1 -1
- package/lib/utils/animator/animator.d.ts +10 -17
- package/lib/utils/animator/const/index.d.ts +1 -0
- package/lib/utils/animator/index.d.ts +2 -1
- package/lib/utils/animator/interfaces/animator-params.d.ts +18 -0
- package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -0
- package/lib/utils/animator/interfaces/index.d.ts +3 -0
- package/lib/utils/animator/types/easing.d.ts +6 -0
- package/lib/utils/disposable-component.d.ts +15 -0
- package/lib/utils/get-scroll-state-version.d.ts +1 -0
- package/lib/utils/is-collapse-mode.d.ts +8 -0
- package/lib/utils/is-collection-mode.d.ts +1 -1
- package/lib/utils/is-direction.d.ts +1 -1
- package/lib/utils/is-persentage-value.d.ts +7 -0
- package/lib/utils/is-select-mode.d.ts +8 -0
- package/lib/utils/is-spreading-mode.d.ts +8 -0
- package/lib/utils/list-validators.d.ts +1 -1
- package/lib/utils/normalize-collection.d.ts +8 -0
- package/lib/utils/object.d.ts +1 -1
- package/lib/utils/parse-arithmetic-expression.d.ts +8 -0
- package/lib/utils/parse-float-or-persentage-value.d.ts +7 -0
- package/lib/utils/scrolling-direction.d.ts +17 -0
- package/lib/utils/snapping-method.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/esm2022/lib/components/ng-scroller/const/index.mjs +0 -2
- package/esm2022/lib/directives/item-click/item-click.directive.mjs +0 -59
- package/esm2022/lib/directives/item-click/item-click.module.mjs +0 -19
- package/esm2022/lib/enums/collection-mode.mjs +0 -2
- package/esm2022/lib/enums/direction.mjs +0 -2
- package/esm2022/lib/enums/method-for-selecting-types.mjs +0 -22
- package/esm2022/lib/enums/method-for-selecting.mjs +0 -2
- package/esm2022/lib/enums/methods-for-selecting.mjs +0 -22
- package/esm2022/lib/enums/snapping-method.mjs +0 -2
- package/esm2022/lib/enums/text-direction.mjs +0 -2
- package/esm2022/lib/utils/is-method-for-selecting.mjs +0 -18
- package/lib/components/ng-scroller/const/index.d.ts +0 -1
- package/lib/directives/item-click/item-click.directive.d.ts +0 -19
- package/lib/directives/item-click/item-click.module.d.ts +0 -8
- package/lib/enums/method-for-selecting.d.ts +0 -8
- package/lib/utils/is-method-for-selecting.d.ts +0 -8
package/lib/core/track-box.d.ts
CHANGED
|
@@ -3,98 +3,14 @@ import { IRenderVirtualListCollection } from "../models/render-collection.model"
|
|
|
3
3
|
import { Id } from "../types/id";
|
|
4
4
|
import { CacheMap } from "./cache-map";
|
|
5
5
|
import { Tracker } from "./tracker";
|
|
6
|
-
import { ISize } from "../interfaces";
|
|
7
|
-
import { HEIGHT_PROP_NAME, WIDTH_PROP_NAME } from "../const";
|
|
6
|
+
import { IRect, ISize } from "../interfaces";
|
|
8
7
|
import { IVirtualListItemConfigMap } from "../models";
|
|
9
8
|
import { CMap } from '../utils/cmap';
|
|
10
9
|
import { BaseVirtualListItemComponent } from "../components/ng-list-item/base";
|
|
11
10
|
import { PrerenderCache } from "../components/ng-prerender-container/types/cache";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
export interface IMetrics {
|
|
17
|
-
delta: number;
|
|
18
|
-
normalizedItemWidth: number;
|
|
19
|
-
normalizedItemHeight: number;
|
|
20
|
-
width: number;
|
|
21
|
-
height: number;
|
|
22
|
-
dynamicSize: boolean;
|
|
23
|
-
itemSize: number;
|
|
24
|
-
itemsFromStartToScrollEnd: number;
|
|
25
|
-
itemsFromStartToDisplayEnd: number;
|
|
26
|
-
itemsOnDisplayWeight: number;
|
|
27
|
-
itemsOnDisplayLength: number;
|
|
28
|
-
isVertical: boolean;
|
|
29
|
-
leftHiddenItemsWeight: number;
|
|
30
|
-
leftItemLength: number;
|
|
31
|
-
leftItemsWeight: 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
|
-
snap: boolean;
|
|
39
|
-
snipedPos: 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
|
-
}
|
|
49
|
-
export interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
|
|
50
|
-
bounds: ISize;
|
|
51
|
-
collection: C;
|
|
52
|
-
isVertical: boolean;
|
|
53
|
-
itemSize: number;
|
|
54
|
-
bufferSize: number;
|
|
55
|
-
maxBufferSize: number;
|
|
56
|
-
dynamicSize: boolean;
|
|
57
|
-
scrollSize: number;
|
|
58
|
-
snap: boolean;
|
|
59
|
-
enabledBufferOptimization: boolean;
|
|
60
|
-
fromItemId?: Id;
|
|
61
|
-
previousTotalSize: number;
|
|
62
|
-
crudDetected: boolean;
|
|
63
|
-
deletedItemsMap: {
|
|
64
|
-
[index: number]: ISize;
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
export interface IGetItemPositionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
|
|
68
|
-
}
|
|
69
|
-
export interface IUpdateCollectionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
|
|
70
|
-
}
|
|
71
|
-
export type CacheMapEvents = TrackBoxEvents;
|
|
72
|
-
export type OnChangeEventListener = (version: number) => void;
|
|
73
|
-
export type OnTickEventListener = () => void;
|
|
74
|
-
export type CacheMapListeners = OnChangeEventListener | OnTickEventListener;
|
|
75
|
-
export declare enum ItemDisplayMethods {
|
|
76
|
-
CREATE = 0,
|
|
77
|
-
UPDATE = 1,
|
|
78
|
-
DELETE = 2,
|
|
79
|
-
NOT_CHANGED = 3
|
|
80
|
-
}
|
|
81
|
-
export interface IUpdateCollectionReturns {
|
|
82
|
-
displayItems: IRenderVirtualListCollection;
|
|
83
|
-
totalSize: number;
|
|
84
|
-
delta: number;
|
|
85
|
-
crudDetected: boolean;
|
|
86
|
-
}
|
|
87
|
-
export interface IGetMetricsReturns {
|
|
88
|
-
totalSize: number;
|
|
89
|
-
delta: number;
|
|
90
|
-
crudDetected: boolean;
|
|
91
|
-
}
|
|
92
|
-
interface IItem<I = any> {
|
|
93
|
-
[prop: string]: I;
|
|
94
|
-
}
|
|
95
|
-
type Cache = ISize & {
|
|
96
|
-
method?: ItemDisplayMethods;
|
|
97
|
-
} & IItem;
|
|
11
|
+
import { ScrollDirection } from "../types";
|
|
12
|
+
import { IGetItemPositionOptions, IGetMetricsReturns, IItem, IMetrics, IRecalculateMetricsOptions, IUpdateCollectionOptions, IUpdateCollectionReturns } from "./interfaces";
|
|
13
|
+
import { Cache, CacheMapEvents, CacheMapListeners } from "./types";
|
|
98
14
|
/**
|
|
99
15
|
* An object that performs tracking, calculations and caching.
|
|
100
16
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/track-box.ts
|
|
@@ -109,6 +25,16 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
|
|
|
109
25
|
set displayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
110
26
|
protected _snappedDisplayComponents: Array<ComponentRef<C>> | null | undefined;
|
|
111
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);
|
|
112
38
|
protected _isSnappingMethodAdvanced: boolean;
|
|
113
39
|
set isSnappingMethodAdvanced(v: boolean);
|
|
114
40
|
protected _isLazy: boolean;
|
|
@@ -118,10 +44,10 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
|
|
|
118
44
|
*/
|
|
119
45
|
set trackingPropertyName(v: string);
|
|
120
46
|
protected _trackingPropertyName: string;
|
|
121
|
-
set isScrollStart(v: boolean);
|
|
122
47
|
protected _isScrollStart: boolean;
|
|
123
|
-
set
|
|
48
|
+
set isScrollStart(v: boolean);
|
|
124
49
|
protected _isScrollEnd: boolean;
|
|
50
|
+
set isScrollEnd(v: boolean);
|
|
125
51
|
protected _isScrollSnapToStart: boolean;
|
|
126
52
|
get isSnappedToStart(): boolean;
|
|
127
53
|
protected _isScrollSnapToEnd: boolean;
|
|
@@ -182,7 +108,7 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
|
|
|
182
108
|
*/
|
|
183
109
|
updateCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IUpdateCollectionReturns;
|
|
184
110
|
protected _previousScrollSize: number;
|
|
185
|
-
protected updateAdaptiveBufferParams(metrics: IMetrics
|
|
111
|
+
protected updateAdaptiveBufferParams<I extends IItem>(metrics: IMetrics<I>, totalItemsLength: number): void;
|
|
186
112
|
protected startResetBufferSizeTimer(): void;
|
|
187
113
|
protected disposeClearBufferSizeTimer(): void;
|
|
188
114
|
/**
|
|
@@ -195,15 +121,15 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
|
|
|
195
121
|
/**
|
|
196
122
|
* Calculates list metrics
|
|
197
123
|
*/
|
|
198
|
-
protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics
|
|
124
|
+
protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics<I>;
|
|
199
125
|
refreshCache(cache: PrerenderCache): void;
|
|
200
|
-
clearDelta(
|
|
126
|
+
clearDelta(): void;
|
|
201
127
|
changes(immediately?: boolean, force?: boolean): void;
|
|
202
128
|
/**
|
|
203
129
|
* Returns true if the bounds of at least one screen object have changed.
|
|
204
130
|
*/
|
|
205
131
|
checkBoundsOfElements(): boolean;
|
|
206
|
-
protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics): IRenderVirtualListCollection;
|
|
132
|
+
protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, actualItems: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics<I>): IRenderVirtualListCollection;
|
|
207
133
|
resetPositions(): void;
|
|
208
134
|
/**
|
|
209
135
|
* tracking by propName
|
|
@@ -214,10 +140,14 @@ export declare class TrackBox<C extends BaseVirtualListItemComponent = any> exte
|
|
|
214
140
|
}): void;
|
|
215
141
|
untrackComponentByIdProperty(component?: C | undefined): void;
|
|
216
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;
|
|
217
148
|
private _debouncedIsScrollStartOff;
|
|
218
149
|
protected cacheElements(isVertical: boolean, itemSize: number): void;
|
|
219
150
|
resetCacheChunkInfo(): void;
|
|
220
151
|
cacheClean(): void;
|
|
221
152
|
dispose(): void;
|
|
222
153
|
}
|
|
223
|
-
export {};
|
package/lib/core/tracker.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ export declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
|
47
47
|
/**
|
|
48
48
|
* tracking by propName
|
|
49
49
|
*/
|
|
50
|
-
track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection): void;
|
|
50
|
+
track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection, trackBy: string): void;
|
|
51
51
|
untrackComponentByIdProperty(component?: C): void;
|
|
52
52
|
clearTrackMap(): void;
|
|
53
53
|
dispose(): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TrackBoxEvents } from "../events";
|
|
2
|
+
/**
|
|
3
|
+
* CacheMapEvents
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/cache-map-events.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export type CacheMapEvents = TrackBoxEvents;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OnChangeEventListener } from "./on-change-event-listener";
|
|
2
|
+
import { OnTickEventListener } from "./on-tick-event-listener";
|
|
3
|
+
/**
|
|
4
|
+
* CacheMapListeners
|
|
5
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/cache-map-listeners.ts
|
|
6
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
7
|
+
* @email djonnyx@gmail.com
|
|
8
|
+
*/
|
|
9
|
+
export type CacheMapListeners = OnChangeEventListener | OnTickEventListener;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ISize } from "../../interfaces";
|
|
2
|
+
import { ItemDisplayMethods } from "../enums";
|
|
3
|
+
import { IItem } from "../interfaces";
|
|
4
|
+
/**
|
|
5
|
+
* Cache
|
|
6
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/cache.ts
|
|
7
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
8
|
+
* @email djonnyx@gmail.com
|
|
9
|
+
*/
|
|
10
|
+
export type Cache = ISize & {
|
|
11
|
+
method?: ItemDisplayMethods;
|
|
12
|
+
} & IItem;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Cache } from './cache';
|
|
2
|
+
import { CacheMapEvents } from './cache-map-events';
|
|
3
|
+
import { CacheMapListeners } from './cache-map-listeners';
|
|
4
|
+
import { OnChangeEventListener } from './on-change-event-listener';
|
|
5
|
+
import { OnTickEventListener } from './on-tick-event-listener';
|
|
6
|
+
export type { Cache, CacheMapEvents, CacheMapListeners, OnChangeEventListener, OnTickEventListener, };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OnChangeEventListener
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/on-change-event-listener.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export type OnChangeEventListener = (version: number) => void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OnTickEventListener
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/types/on-tick-event-listener.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export type OnTickEventListener = () => void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getServiceIdProp
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/core/utils/get-service-id-prop.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export declare const getServiceIdProp: (trackBy: string) => string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { LocaleSensitiveModule } from './locale-sensitive/locale-sensitive.module';
|
|
2
|
-
import {
|
|
3
|
-
export { LocaleSensitiveModule,
|
|
2
|
+
import { VirtualClickModule } from './virtual-click/virtual-click.module';
|
|
3
|
+
export { LocaleSensitiveModule, VirtualClickModule, };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ElementRef, OnDestroy } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
2
3
|
import { ScrollerDirections } from '../../components/ng-scroller/enums';
|
|
4
|
+
import { TextDirection } from '../../types';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
/**
|
|
5
7
|
* LocaleSensitiveDirective
|
|
@@ -9,11 +11,19 @@ import * as i0 from "@angular/core";
|
|
|
9
11
|
* @author Evgenii Alexandrovich Grebennikov
|
|
10
12
|
* @email djonnyx@gmail.com
|
|
11
13
|
*/
|
|
12
|
-
export declare class LocaleSensitiveDirective {
|
|
13
|
-
langTextDir: import("@angular/core").InputSignal<TextDirection>;
|
|
14
|
-
listDir: import("@angular/core").InputSignal<ScrollerDirections>;
|
|
14
|
+
export declare class LocaleSensitiveDirective implements OnDestroy {
|
|
15
15
|
private _elementRef;
|
|
16
|
-
|
|
16
|
+
protected _$unsubscribe: Subject<void>;
|
|
17
|
+
private _$langTextDir;
|
|
18
|
+
readonly $langTextDir: import("rxjs").Observable<TextDirection>;
|
|
19
|
+
set langTextDir(v: TextDirection);
|
|
20
|
+
get langTextDir(): TextDirection;
|
|
21
|
+
private _$listDir;
|
|
22
|
+
readonly $listDir: import("rxjs").Observable<ScrollerDirections | null>;
|
|
23
|
+
set listDir(v: ScrollerDirections | null);
|
|
24
|
+
get listDir(): ScrollerDirections | null;
|
|
25
|
+
constructor(_elementRef: ElementRef<HTMLElement>);
|
|
26
|
+
ngOnDestroy(): void;
|
|
17
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<LocaleSensitiveDirective, never>;
|
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<LocaleSensitiveDirective, "[localeSensitive]", never, { "langTextDir": { "alias": "langTextDir"; "required": false;
|
|
28
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LocaleSensitiveDirective, "[localeSensitive]", never, { "langTextDir": { "alias": "langTextDir"; "required": false; }; "listDir": { "alias": "listDir"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
29
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* ItemClickDirective
|
|
6
|
+
* Maximum performance for extremely large lists.
|
|
7
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
8
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/directives/item-click/item-click.directive.ts
|
|
9
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
10
|
+
* @email djonnyx@gmail.com
|
|
11
|
+
*/
|
|
12
|
+
export declare class VirtualClickDirective implements OnDestroy {
|
|
13
|
+
private _elementRef;
|
|
14
|
+
protected _$unsubscribe: Subject<void>;
|
|
15
|
+
private _maxDistance;
|
|
16
|
+
set maxDistance(v: number | null);
|
|
17
|
+
onVirtualClick: EventEmitter<PointerEvent | TouchEvent>;
|
|
18
|
+
constructor(_elementRef: ElementRef);
|
|
19
|
+
ngOnDestroy(): void;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VirtualClickDirective, never>;
|
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<VirtualClickDirective, "[virtualClick]", never, { "maxDistance": { "alias": "maxClickDistance"; "required": false; }; }, { "onVirtualClick": "onVirtualClick"; }, never, never, false, never>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./virtual-click.directive";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
export declare class VirtualClickModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VirtualClickModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<VirtualClickModule, [typeof i1.VirtualClickDirective], [typeof i2.CommonModule], [typeof i1.VirtualClickDirective]>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<VirtualClickModule>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alignments
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/alignments.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export declare enum Alignments {
|
|
8
|
+
NONE = "none",
|
|
9
|
+
CENTER = "center"
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modes for collapsing list items.
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/collapsing-modes.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export declare enum CollapsingModes {
|
|
8
|
+
/**
|
|
9
|
+
* List items are not selectable.
|
|
10
|
+
*/
|
|
11
|
+
NONE = "none",
|
|
12
|
+
/**
|
|
13
|
+
* List items are collapsed one by one.
|
|
14
|
+
*/
|
|
15
|
+
MULTI_COLLAPSE = "multi-collapse",
|
|
16
|
+
/**
|
|
17
|
+
* Accordion collapsible list items.
|
|
18
|
+
*/
|
|
19
|
+
ACCORDION = "accordion"
|
|
20
|
+
}
|
package/lib/enums/index.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Alignments } from "./alignments";
|
|
2
2
|
import { CollectionModes } from "./collection-modes";
|
|
3
3
|
import { Directions } from "./directions";
|
|
4
|
-
import { Direction } from "./direction";
|
|
5
|
-
import { MethodsForSelecting } from "./methods-for-selecting";
|
|
6
|
-
import { MethodForSelecting } from "./method-for-selecting";
|
|
7
|
-
import { SnappingMethods } from "./snapping-methods";
|
|
8
|
-
import { SnappingMethod } from "./snapping-method";
|
|
9
4
|
import { FocusAlignments } from "./focus-alignments";
|
|
5
|
+
import { CollapsingModes } from "./collapsing-modes";
|
|
6
|
+
import { SelectingModes } from "./selecting-modes";
|
|
7
|
+
import { SnapToItemAligns } from "./snap-to-item-aligns";
|
|
8
|
+
import { SnappingMethods } from "./snapping-methods";
|
|
9
|
+
import { SpreadingModes } from "./spreading-modes";
|
|
10
10
|
import { TextDirections } from './text-directions';
|
|
11
|
-
|
|
12
|
-
export { CollectionModes, Directions, MethodsForSelecting, SnappingMethods, FocusAlignments, TextDirections, };
|
|
13
|
-
export type { CollectionMode, Direction, MethodForSelecting, SnappingMethod, TextDirection, };
|
|
11
|
+
export { Alignments, CollapsingModes, CollectionModes, Directions, FocusAlignments, SelectingModes, SnappingMethods, SnapToItemAligns, SpreadingModes, TextDirections, };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/
|
|
2
|
+
* Mods for selecting list items.
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/selecting-modes-types.ts
|
|
4
4
|
* @author Evgenii Alexandrovich Grebennikov
|
|
5
5
|
* @email djonnyx@gmail.com
|
|
6
6
|
*/
|
|
7
|
-
export declare enum
|
|
7
|
+
export declare enum SelectingModesTypes {
|
|
8
8
|
/**
|
|
9
9
|
* List items are not selectable.
|
|
10
10
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/
|
|
2
|
+
* Mods for selecting list items.
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/selecting-modes.ts
|
|
4
4
|
* @author Evgenii Alexandrovich Grebennikov
|
|
5
5
|
* @email djonnyx@gmail.com
|
|
6
6
|
*/
|
|
7
|
-
export declare enum
|
|
7
|
+
export declare enum SelectingModes {
|
|
8
8
|
/**
|
|
9
9
|
* List items are not selectable.
|
|
10
10
|
*/
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SnapToAtemAligns.
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/snap-to-item-aligns.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export declare enum SnapToItemAligns {
|
|
8
|
+
/**
|
|
9
|
+
* An anchor indicates the beginning of an element.
|
|
10
|
+
*/
|
|
11
|
+
START = "start",
|
|
12
|
+
/**
|
|
13
|
+
* The anchor points to the middle of the element.
|
|
14
|
+
*/
|
|
15
|
+
CENTER = "center",
|
|
16
|
+
/**
|
|
17
|
+
* An anchor indicates the end of an element.
|
|
18
|
+
*/
|
|
19
|
+
END = "end"
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SpreadingModes.
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/enums/spreading-modes.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export declare enum SpreadingModes {
|
|
8
|
+
/**
|
|
9
|
+
* List elements are ordered according to the collection sequence.
|
|
10
|
+
*/
|
|
11
|
+
NORMAL = "normal",
|
|
12
|
+
/**
|
|
13
|
+
* List elements are ordered cyclically, forming an infinite list.
|
|
14
|
+
*/
|
|
15
|
+
INFINITY = "infinity"
|
|
16
|
+
}
|
|
@@ -3,21 +3,21 @@ import { Id } from '../types';
|
|
|
3
3
|
import { ISize } from './size';
|
|
4
4
|
import { IRenderVirtualListItem } from '../models/render-item.model';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* IBaseVirtualListItemComponent
|
|
7
7
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/interfaces/base-virtual-list-item-component.ts
|
|
8
8
|
* @author Evgenii Alexandrovich Grebennikov
|
|
9
9
|
* @email djonnyx@gmail.com
|
|
10
10
|
*/
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
export interface IBaseVirtualListItemComponent {
|
|
12
|
+
get id(): number;
|
|
13
|
+
regular: boolean;
|
|
14
|
+
set regularLength(v: string);
|
|
15
|
+
set item(v: IRenderVirtualListItem | null | undefined);
|
|
16
|
+
get item(): IRenderVirtualListItem | null | undefined;
|
|
17
|
+
get itemId(): Id | undefined;
|
|
18
|
+
set renderer(v: TemplateRef<any> | undefined);
|
|
19
|
+
get element(): HTMLElement;
|
|
20
|
+
getBounds(): ISize;
|
|
21
|
+
show(): void;
|
|
22
|
+
hide(): void;
|
|
23
23
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IAnimationParams } from './animation-params';
|
|
2
|
-
import {
|
|
2
|
+
import { IPoint } from './point';
|
|
3
3
|
import { IRect } from './rect';
|
|
4
4
|
import { IRenderStabilizerOptions } from './render-stabilizer-options';
|
|
5
5
|
import { IScrollEvent } from './scroll-event';
|
|
@@ -7,4 +7,5 @@ import { IScrollOptions } from './scroll-options';
|
|
|
7
7
|
import { IScrollParams } from './scroll-params';
|
|
8
8
|
import { ISize } from './size';
|
|
9
9
|
import { IScrollingSettings } from './scrolling-settings';
|
|
10
|
-
|
|
10
|
+
import { IItemTransformation } from './item-transformation';
|
|
11
|
+
export type { IAnimationParams, IItemTransformation, IPoint, IRect, IRenderStabilizerOptions, IScrollEvent, IScrollOptions, IScrollParams, ISize, IScrollingSettings, };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Color } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* IItemTransformation
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/prerender-container/interfaces/item-transformation.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export interface IItemTransformation {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
rotationX: number;
|
|
13
|
+
rotationY: number;
|
|
14
|
+
rotationZ: number;
|
|
15
|
+
scaleX: number;
|
|
16
|
+
scaleY: number;
|
|
17
|
+
scaleZ: number;
|
|
18
|
+
opacity: number;
|
|
19
|
+
filter?: string;
|
|
20
|
+
blendColor?: Color | null;
|
|
21
|
+
zIndex: number | string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPoint
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/interfaces/point.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export interface IPoint {
|
|
8
|
+
/**
|
|
9
|
+
* X coordinate.
|
|
10
|
+
*/
|
|
11
|
+
x: number;
|
|
12
|
+
/**
|
|
13
|
+
* Y coordinate.
|
|
14
|
+
*/
|
|
15
|
+
y: number;
|
|
16
|
+
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { Id } from "../types";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* IScrollParams
|
|
4
4
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/18.x/projects/ng-virtual-list/src/lib/interfaces/scroll-options.ts
|
|
5
5
|
* @author Evgenii Alexandrovich Grebennikov
|
|
6
6
|
* @email djonnyx@gmail.com
|
|
7
7
|
*/
|
|
8
8
|
export interface IScrollParams {
|
|
9
9
|
id: Id;
|
|
10
|
-
behavior?: ScrollBehavior;
|
|
10
|
+
behavior?: ScrollBehavior | "auto" | "instant" | "smooth";
|
|
11
11
|
blending?: boolean;
|
|
12
12
|
iteration?: number;
|
|
13
13
|
isLastIteration?: boolean;
|
|
14
14
|
scrollCalled?: boolean;
|
|
15
|
+
delay?: number;
|
|
15
16
|
cb?: () => void;
|
|
16
17
|
}
|
|
@@ -27,4 +27,9 @@ export interface IVirtualListItemConfig {
|
|
|
27
27
|
* Default value is `true`.
|
|
28
28
|
*/
|
|
29
29
|
selectable?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Determines the size of an element when rendering lists with cell divisions. If sticky is 1 or 2, fullSize automatically becomes true.
|
|
32
|
+
* The default value is false.
|
|
33
|
+
*/
|
|
34
|
+
fullSize?: boolean;
|
|
30
35
|
}
|
|
@@ -6,5 +6,12 @@
|
|
|
6
6
|
* @email djonnyx@gmail.com
|
|
7
7
|
*/
|
|
8
8
|
export type IVirtualListItem<E = Object> = E & {
|
|
9
|
+
/**
|
|
10
|
+
* The type of the collection item. Items with different types are cached in separate pools.
|
|
11
|
+
*/
|
|
12
|
+
type?: string | symbol;
|
|
13
|
+
/**
|
|
14
|
+
* Props.
|
|
15
|
+
*/
|
|
9
16
|
[x: string]: any;
|
|
10
17
|
};
|