ng-virtual-list 21.11.2 → 21.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 +75 -48
- package/fesm2022/ng-virtual-list.mjs +5416 -3100
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/package.json +3 -2
- package/types/ng-virtual-list.d.ts +1413 -531
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as ng_virtual_list from 'ng-virtual-list';
|
|
2
2
|
import * as rxjs from 'rxjs';
|
|
3
|
-
import { Observable, Subject } from 'rxjs';
|
|
3
|
+
import { Observable, Subject, BehaviorSubject } from 'rxjs';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
|
-
import {
|
|
5
|
+
import { ComponentRef, TemplateRef, Signal, ElementRef, DestroyRef, OnInit, Injector, OnDestroy } from '@angular/core';
|
|
6
6
|
import * as i2 from '@angular/common';
|
|
7
7
|
import * as i5 from '@angular/cdk/scrolling';
|
|
8
8
|
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
@@ -47,266 +47,89 @@ type Id = string | number;
|
|
|
47
47
|
* @email djonnyx@gmail.com
|
|
48
48
|
*/
|
|
49
49
|
type IVirtualListItem<E = Object> = E & {
|
|
50
|
-
[x: string]: any;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Object with configuration parameters for IRenderVirtualListItem
|
|
55
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/render-item-config.model.ts
|
|
56
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
57
|
-
* @email djonnyx@gmail.com
|
|
58
|
-
*/
|
|
59
|
-
interface IRenderVirtualListItemConfig {
|
|
60
|
-
/**
|
|
61
|
-
* Determines whether an element is new in the collection.
|
|
62
|
-
*/
|
|
63
|
-
new: boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Indicates that the element is odd.
|
|
66
|
-
*/
|
|
67
|
-
odd: boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Indicates that the element is even.
|
|
70
|
-
*/
|
|
71
|
-
even: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Determines whether an element with a `sticky` property greater than zero can collapse and collapse elements in front that do not have a `sticky` property.
|
|
74
|
-
* Default value is `false`.
|
|
75
|
-
*/
|
|
76
|
-
collapsable: boolean;
|
|
77
|
-
/**
|
|
78
|
-
* If greater than 0, the element will have a sticky position with the given zIndex.
|
|
79
|
-
*/
|
|
80
|
-
sticky: 0 | 1 | 2;
|
|
81
|
-
/**
|
|
82
|
-
* Determines whether an element can be selected or not. Default value is `true`.
|
|
83
|
-
*/
|
|
84
|
-
selectable: boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Specifies whether the element will snap.
|
|
87
|
-
*/
|
|
88
|
-
snap: boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Indicates that the element is snapped.
|
|
91
|
-
*/
|
|
92
|
-
snapped: boolean;
|
|
93
|
-
/**
|
|
94
|
-
* Indicates that the element is being shifted by another snap element.
|
|
95
|
-
*/
|
|
96
|
-
snappedOut: boolean;
|
|
97
|
-
/**
|
|
98
|
-
* Indicates that the element is a vertical list item.
|
|
99
|
-
*/
|
|
100
|
-
isVertical: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Specifies that the element adapts to the size of its content.
|
|
103
|
-
*/
|
|
104
|
-
dynamic: boolean;
|
|
105
|
-
/**
|
|
106
|
-
* Returns true if the snapping method is advanced
|
|
107
|
-
*/
|
|
108
|
-
isSnappingMethodAdvanced: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Tab index.
|
|
111
|
-
*/
|
|
112
|
-
tabIndex: number;
|
|
113
50
|
/**
|
|
114
|
-
*
|
|
51
|
+
* The type of the collection item. Items with different types are cached in separate pools.
|
|
115
52
|
*/
|
|
116
|
-
|
|
53
|
+
type?: string | symbol;
|
|
117
54
|
/**
|
|
118
|
-
*
|
|
55
|
+
* Props.
|
|
119
56
|
*/
|
|
120
|
-
|
|
121
|
-
}
|
|
57
|
+
[x: string]: any;
|
|
58
|
+
};
|
|
122
59
|
|
|
123
60
|
/**
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
127
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/animation-params.ts
|
|
61
|
+
* Alignments
|
|
62
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/alignments.ts
|
|
128
63
|
* @author Evgenii Alexandrovich Grebennikov
|
|
129
64
|
* @email djonnyx@gmail.com
|
|
130
65
|
*/
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
navigateByKeyboard: number;
|
|
66
|
+
declare enum Alignments {
|
|
67
|
+
NONE = "none",
|
|
68
|
+
CENTER = "center"
|
|
135
69
|
}
|
|
136
70
|
|
|
137
71
|
/**
|
|
138
|
-
*
|
|
139
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/
|
|
72
|
+
* Alignment
|
|
73
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/alignment.ts
|
|
140
74
|
* @author Evgenii Alexandrovich Grebennikov
|
|
141
75
|
* @email djonnyx@gmail.com
|
|
142
76
|
*/
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* When adding elements to the beginning of the collection, the scroll remains at the current position.
|
|
146
|
-
*/
|
|
147
|
-
NORMAL = "normal",
|
|
148
|
-
/**
|
|
149
|
-
* When adding elements to the beginning of the collection, the scroll is shifted by the sum of the sizes of the new elements.
|
|
150
|
-
*/
|
|
151
|
-
LAZY = "lazy"
|
|
152
|
-
}
|
|
77
|
+
type Alignment = Alignments | 'none' | 'center';
|
|
153
78
|
|
|
154
79
|
/**
|
|
155
|
-
*
|
|
156
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/
|
|
80
|
+
* FloatOrPersentageValue
|
|
81
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/float-or-persentage-value.ts
|
|
157
82
|
* @author Evgenii Alexandrovich Grebennikov
|
|
158
83
|
* @email djonnyx@gmail.com
|
|
159
84
|
*/
|
|
160
|
-
type
|
|
85
|
+
type FloatOrPersentageValue = number | `${number}%`;
|
|
161
86
|
|
|
87
|
+
type Operator = '+' | '-';
|
|
162
88
|
/**
|
|
163
|
-
*
|
|
164
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/
|
|
89
|
+
* ArithmeticExpression
|
|
90
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/arithmetic-expression.ts
|
|
165
91
|
* @author Evgenii Alexandrovich Grebennikov
|
|
166
92
|
* @email djonnyx@gmail.com
|
|
167
93
|
*/
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Horizontal axis.
|
|
171
|
-
*/
|
|
172
|
-
HORIZONTAL = "horizontal",
|
|
173
|
-
/**
|
|
174
|
-
* Vertical axis.
|
|
175
|
-
*/
|
|
176
|
-
VERTICAL = "vertical"
|
|
177
|
-
}
|
|
94
|
+
type ArithmeticExpression = FloatOrPersentageValue | `${FloatOrPersentageValue}${Operator}${FloatOrPersentageValue}` | `${FloatOrPersentageValue} ${Operator} ${FloatOrPersentageValue}`;
|
|
178
95
|
|
|
179
96
|
/**
|
|
180
|
-
*
|
|
181
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/direction.ts
|
|
182
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
183
|
-
* @email djonnyx@gmail.com
|
|
97
|
+
* @license Copyright (c) 2026 Evgenii Alexandrovich Grebennikov (djonnyx@gmail.com tg: http://t.me/djonnyx).
|
|
184
98
|
*/
|
|
185
|
-
type
|
|
99
|
+
type Color = `#${string}` | `rgb(${number},${number},${number})` | `rgba(${number},${number},${number},${number})` | `rgba(#${string},${number})`;
|
|
186
100
|
|
|
187
101
|
/**
|
|
188
|
-
*
|
|
189
|
-
*
|
|
102
|
+
* IAnimationParams
|
|
103
|
+
* Maximum performance for extremely large lists.
|
|
104
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
105
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/animation-params.ts
|
|
190
106
|
* @author Evgenii Alexandrovich Grebennikov
|
|
191
107
|
* @email djonnyx@gmail.com
|
|
192
108
|
*/
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* List items are selected one by one.
|
|
200
|
-
*/
|
|
201
|
-
SELECT = "select",
|
|
202
|
-
/**
|
|
203
|
-
* Multiple selection of list items.
|
|
204
|
-
*/
|
|
205
|
-
MULTI_SELECT = "multi-select"
|
|
109
|
+
interface IAnimationParams {
|
|
110
|
+
scrollToItem: number;
|
|
111
|
+
snapToItem: number;
|
|
112
|
+
navigateToItem: number;
|
|
113
|
+
navigateByKeyboard: number;
|
|
206
114
|
}
|
|
207
115
|
|
|
208
116
|
/**
|
|
209
|
-
*
|
|
210
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/
|
|
211
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
212
|
-
* @email djonnyx@gmail.com
|
|
213
|
-
*/
|
|
214
|
-
type MethodForSelecting = MethodsForSelecting | 'none' | 'select' | 'multi-select';
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Snapping method.
|
|
218
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/snapping-method.ts
|
|
117
|
+
* IPoint
|
|
118
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/point.ts
|
|
219
119
|
* @author Evgenii Alexandrovich Grebennikov
|
|
220
120
|
* @email djonnyx@gmail.com
|
|
221
121
|
*/
|
|
222
|
-
|
|
122
|
+
interface IPoint {
|
|
223
123
|
/**
|
|
224
|
-
*
|
|
124
|
+
* X coordinate.
|
|
225
125
|
*/
|
|
226
|
-
|
|
126
|
+
x: number;
|
|
227
127
|
/**
|
|
228
|
-
*
|
|
128
|
+
* Y coordinate.
|
|
229
129
|
*/
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Snapping method.
|
|
235
|
-
* 'standart' - Classic group visualization.
|
|
236
|
-
* 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
|
|
237
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/snapping-method.ts
|
|
238
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
239
|
-
* @email djonnyx@gmail.com
|
|
240
|
-
*/
|
|
241
|
-
type SnappingMethod = SnappingMethods | 'standart' | 'advanced';
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Focus Alignments.
|
|
245
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/focus-alignments.ts
|
|
246
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
247
|
-
* @email djonnyx@gmail.com
|
|
248
|
-
*/
|
|
249
|
-
declare enum FocusAlignments {
|
|
250
|
-
NONE = "none",
|
|
251
|
-
START = "start",
|
|
252
|
-
CENTER = "center",
|
|
253
|
-
END = "end"
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* TextDirections.
|
|
258
|
-
* RTL - right-to-left.
|
|
259
|
-
* LTR - left-to-right.
|
|
260
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/text-directions.ts
|
|
261
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
262
|
-
* @email djonnyx@gmail.com
|
|
263
|
-
*/
|
|
264
|
-
declare enum TextDirections {
|
|
265
|
-
RTL = "rtl",
|
|
266
|
-
LTR = "ltr"
|
|
130
|
+
y: number;
|
|
267
131
|
}
|
|
268
132
|
|
|
269
|
-
/**
|
|
270
|
-
* TextDirection.
|
|
271
|
-
* 'rtl' - right-to-left.
|
|
272
|
-
* 'ltr' - left-to-right.
|
|
273
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/text-direction.ts
|
|
274
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
275
|
-
* @email djonnyx@gmail.com
|
|
276
|
-
*/
|
|
277
|
-
type TextDirection = TextDirections | 'rtl' | 'ltr';
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* Focus Alignment
|
|
281
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/focus-alignment.ts
|
|
282
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
283
|
-
* @email djonnyx@gmail.com
|
|
284
|
-
*/
|
|
285
|
-
type FocusAlignment = FocusAlignments | 'none' | 'start' | 'center' | 'end';
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
* A value of -1 indicates the direction is up or left (if the list direction is horizontal).
|
|
289
|
-
* A value of 1 indicates the direction is down or right (if the list direction is horizontal).
|
|
290
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/scroll-direction.ts
|
|
291
|
-
*/
|
|
292
|
-
type ScrollDirection = -1 | 1 | 0;
|
|
293
|
-
|
|
294
|
-
/**
|
|
295
|
-
* GradientColorPosition
|
|
296
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/gradient-position.ts
|
|
297
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
298
|
-
* @email djonnyx@gmail.com
|
|
299
|
-
*/
|
|
300
|
-
type GradientColorPosition = `${string}%` | `${number}` | number | string;
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* GradientColorPositions
|
|
304
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/gradient-positions.ts
|
|
305
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
306
|
-
* @email djonnyx@gmail.com
|
|
307
|
-
*/
|
|
308
|
-
type GradientColorPositions = [GradientColorPosition, GradientColorPosition];
|
|
309
|
-
|
|
310
133
|
/**
|
|
311
134
|
* Area area Interface
|
|
312
135
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/size.ts
|
|
@@ -324,26 +147,6 @@ interface ISize {
|
|
|
324
147
|
height: number;
|
|
325
148
|
}
|
|
326
149
|
|
|
327
|
-
/**
|
|
328
|
-
* Virtual List Item Interface
|
|
329
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/base-virtual-list-item-component.ts
|
|
330
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
331
|
-
* @email djonnyx@gmail.com
|
|
332
|
-
*/
|
|
333
|
-
declare abstract class BaseVirtualListItemComponent$1 {
|
|
334
|
-
abstract get id(): number;
|
|
335
|
-
abstract regular: boolean;
|
|
336
|
-
abstract set regularLength(v: string);
|
|
337
|
-
abstract set item(v: IRenderVirtualListItem | null | undefined);
|
|
338
|
-
abstract get item(): IRenderVirtualListItem | null | undefined;
|
|
339
|
-
abstract get itemId(): Id | undefined;
|
|
340
|
-
abstract set renderer(v: TemplateRef<any> | undefined);
|
|
341
|
-
abstract get element(): HTMLElement;
|
|
342
|
-
abstract getBounds(): ISize;
|
|
343
|
-
abstract show(): void;
|
|
344
|
-
abstract hide(): void;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
150
|
/**
|
|
348
151
|
* Rectangular area interface
|
|
349
152
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/rect.ts
|
|
@@ -374,6 +177,15 @@ interface IRenderStabilizerOptions {
|
|
|
374
177
|
prepareReupdateLength?: number;
|
|
375
178
|
}
|
|
376
179
|
|
|
180
|
+
/**
|
|
181
|
+
* A value of -1 indicates the direction is up or left (if the list direction is horizontal).
|
|
182
|
+
* A value of 1 indicates the direction is down or right (if the list direction is horizontal).
|
|
183
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/scroll-direction.ts
|
|
184
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
185
|
+
* @email djonnyx@gmail.com
|
|
186
|
+
*/
|
|
187
|
+
type ScrollDirection = -1 | 1 | 0;
|
|
188
|
+
|
|
377
189
|
/**
|
|
378
190
|
* Interface IScrollEvent.
|
|
379
191
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/scroll-event.ts
|
|
@@ -455,10 +267,14 @@ interface IScrollOptions {
|
|
|
455
267
|
* Determines whether the element will have focus after scrolling is complete. Default value is true.
|
|
456
268
|
*/
|
|
457
269
|
focused?: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Delay.
|
|
272
|
+
*/
|
|
273
|
+
delay?: number;
|
|
458
274
|
}
|
|
459
275
|
|
|
460
276
|
/**
|
|
461
|
-
*
|
|
277
|
+
* IScrollParams
|
|
462
278
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/scroll-options.ts
|
|
463
279
|
* @author Evgenii Alexandrovich Grebennikov
|
|
464
280
|
* @email djonnyx@gmail.com
|
|
@@ -470,6 +286,7 @@ interface IScrollParams {
|
|
|
470
286
|
iteration?: number;
|
|
471
287
|
isLastIteration?: boolean;
|
|
472
288
|
scrollCalled?: boolean;
|
|
289
|
+
delay?: number;
|
|
473
290
|
cb?: () => void;
|
|
474
291
|
}
|
|
475
292
|
|
|
@@ -487,74 +304,661 @@ interface IScrollParams {
|
|
|
487
304
|
*/
|
|
488
305
|
interface IScrollingSettings {
|
|
489
306
|
/**
|
|
490
|
-
* Frictional force. Default value is `0.035`.
|
|
307
|
+
* Frictional force. Default value is `0.035`.
|
|
308
|
+
*/
|
|
309
|
+
frictionalForce?: number;
|
|
310
|
+
/**
|
|
311
|
+
* Maximum animation duration. Default value is `4000`.
|
|
312
|
+
*/
|
|
313
|
+
maxDuration?: number;
|
|
314
|
+
/**
|
|
315
|
+
* Mass. Default value is `0.005`.
|
|
316
|
+
*/
|
|
317
|
+
mass?: number;
|
|
318
|
+
/**
|
|
319
|
+
* Maximum scrolling distance. Default value is `12500`.
|
|
320
|
+
*/
|
|
321
|
+
maxDistance?: number;
|
|
322
|
+
/**
|
|
323
|
+
* Speed scale. Default value is `15`.
|
|
324
|
+
*/
|
|
325
|
+
speedScale?: number;
|
|
326
|
+
/**
|
|
327
|
+
* Enables scrolling performance optimization. Default value is `true`.
|
|
328
|
+
*/
|
|
329
|
+
optimization?: boolean;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* IItemTransformation
|
|
334
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/prerender-container/interfaces/item-transformation.ts
|
|
335
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
336
|
+
* @email djonnyx@gmail.com
|
|
337
|
+
*/
|
|
338
|
+
interface IItemTransformation {
|
|
339
|
+
x: number;
|
|
340
|
+
y: number;
|
|
341
|
+
z: number;
|
|
342
|
+
rotationX: number;
|
|
343
|
+
rotationY: number;
|
|
344
|
+
rotationZ: number;
|
|
345
|
+
scaleX: number;
|
|
346
|
+
scaleY: number;
|
|
347
|
+
scaleZ: number;
|
|
348
|
+
opacity: number;
|
|
349
|
+
filter?: string;
|
|
350
|
+
blendColor?: Color | null;
|
|
351
|
+
zIndex: number | string;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Sets `sticky` position, `collapsable` and `selectable` for the list item element. If `sticky` position is greater than `0`, then `sticky` position is applied.
|
|
356
|
+
* If the `sticky` value is greater than `0`, then the `sticky` position mode is enabled for the element. `1` - position start, `2` - position end. Default value is `0`.
|
|
357
|
+
* `selectable` determines whether an element can be selected or not. Default value is `true`.
|
|
358
|
+
* `collapsable` determines whether an element with a `sticky` property greater than zero can collapse and collapse elements in front that do not have a `sticky` property.
|
|
359
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/item-config-map.model.ts
|
|
360
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
361
|
+
* @email djonnyx@gmail.com
|
|
362
|
+
*/
|
|
363
|
+
interface IVirtualListItemConfigMap {
|
|
364
|
+
[id: string | number]: IVirtualListItemConfig;
|
|
365
|
+
}
|
|
366
|
+
interface IVirtualListItemConfig {
|
|
367
|
+
/**
|
|
368
|
+
* Sets `sticky` position for the element. If sticky position is greater than `0`, then `sticky` position is applied.
|
|
369
|
+
* `1` - position start, `2` - position end.
|
|
370
|
+
* Default value is `0`.
|
|
371
|
+
*/
|
|
372
|
+
sticky?: 0 | 1 | 2;
|
|
373
|
+
/**
|
|
374
|
+
* Determines whether an element with a `sticky` property greater than zero can collapse and collapse elements in front that do not have a `sticky` property.
|
|
375
|
+
* Default value is `false`.
|
|
376
|
+
*/
|
|
377
|
+
collapsable?: boolean;
|
|
378
|
+
/**
|
|
379
|
+
* Determines whether an element can be selected or not.
|
|
380
|
+
* Default value is `true`.
|
|
381
|
+
*/
|
|
382
|
+
selectable?: boolean;
|
|
383
|
+
/**
|
|
384
|
+
* Determines the size of an element when rendering lists with cell divisions. If sticky is 1 or 2, fullSize automatically becomes true.
|
|
385
|
+
* The default value is false.
|
|
386
|
+
*/
|
|
387
|
+
fullSize?: boolean;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Virtual list elements collection interface
|
|
392
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/collection.model.ts
|
|
393
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
394
|
+
* @email djonnyx@gmail.com
|
|
395
|
+
*/
|
|
396
|
+
interface IVirtualListCollection<E = Object> extends Array<IVirtualListItem<E>> {
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Display object configuration.
|
|
401
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/display-object-config.model.ts
|
|
402
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
403
|
+
* @email djonnyx@gmail.com
|
|
404
|
+
*/
|
|
405
|
+
interface IDisplayObjectConfig extends IRenderVirtualListItemConfig {
|
|
406
|
+
/**
|
|
407
|
+
* Determines whether the element has focused or not.
|
|
408
|
+
*/
|
|
409
|
+
focused: boolean;
|
|
410
|
+
/**
|
|
411
|
+
* Determines whether the element is selected or not.
|
|
412
|
+
*/
|
|
413
|
+
selected: boolean;
|
|
414
|
+
/**
|
|
415
|
+
* Determines whether the element is collapsed or not.
|
|
416
|
+
*/
|
|
417
|
+
collapsed: boolean;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Display object metrics.
|
|
422
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/display-object-measures.model.ts
|
|
423
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
424
|
+
* @email djonnyx@gmail.com
|
|
425
|
+
*/
|
|
426
|
+
interface IDisplayObjectMeasures extends IRect {
|
|
427
|
+
/**
|
|
428
|
+
* Item position
|
|
429
|
+
*/
|
|
430
|
+
position: number;
|
|
431
|
+
/**
|
|
432
|
+
* Scroll size
|
|
433
|
+
*/
|
|
434
|
+
scrollSize: number;
|
|
435
|
+
/**
|
|
436
|
+
* Item size
|
|
437
|
+
*/
|
|
438
|
+
size: number;
|
|
439
|
+
/**
|
|
440
|
+
* Bounds size
|
|
441
|
+
*/
|
|
442
|
+
boundsSize: number;
|
|
443
|
+
/**
|
|
444
|
+
* Start position in viewport
|
|
445
|
+
*/
|
|
446
|
+
absoluteStartPosition: number;
|
|
447
|
+
/**
|
|
448
|
+
* Start position in viewport (percent)
|
|
449
|
+
*/
|
|
450
|
+
absoluteStartPositionPercent: number;
|
|
451
|
+
/**
|
|
452
|
+
* End position in viewport
|
|
453
|
+
*/
|
|
454
|
+
absoluteEndPosition: number;
|
|
455
|
+
/**
|
|
456
|
+
* End position in viewport (percent)
|
|
457
|
+
*/
|
|
458
|
+
absoluteEndPositionPercent: number;
|
|
459
|
+
/**
|
|
460
|
+
* Delta is calculated for Snapping Method.ADVANCED
|
|
461
|
+
*/
|
|
462
|
+
delta: number;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Measures for IRenderVirtualListItem
|
|
467
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/render-item-measures.model.ts
|
|
468
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
469
|
+
* @email djonnyx@gmail.com
|
|
470
|
+
*/
|
|
471
|
+
interface IRenderVirtualListItemMeasures extends IRect {
|
|
472
|
+
/**
|
|
473
|
+
* The X coordinate after transformation.
|
|
474
|
+
*/
|
|
475
|
+
transformedX: number;
|
|
476
|
+
/**
|
|
477
|
+
* The Y coordinate after transformation.
|
|
478
|
+
*/
|
|
479
|
+
transformedY: number;
|
|
480
|
+
/**
|
|
481
|
+
* The Z coordinate.
|
|
482
|
+
*/
|
|
483
|
+
z: number;
|
|
484
|
+
/**
|
|
485
|
+
* Rotation X
|
|
486
|
+
*/
|
|
487
|
+
rotationX: number;
|
|
488
|
+
/**
|
|
489
|
+
* Rotation Y
|
|
490
|
+
*/
|
|
491
|
+
rotationY: number;
|
|
492
|
+
/**
|
|
493
|
+
* Rotation Z
|
|
494
|
+
*/
|
|
495
|
+
rotationZ: number;
|
|
496
|
+
/**
|
|
497
|
+
* Scale X
|
|
498
|
+
*/
|
|
499
|
+
scaleX: number;
|
|
500
|
+
/**
|
|
501
|
+
* Scale Y
|
|
502
|
+
*/
|
|
503
|
+
scaleY: number;
|
|
504
|
+
/**
|
|
505
|
+
* Scale Z
|
|
506
|
+
*/
|
|
507
|
+
scaleZ: number;
|
|
508
|
+
/**
|
|
509
|
+
* Minimal width.
|
|
510
|
+
*/
|
|
511
|
+
minWidth: number;
|
|
512
|
+
/**
|
|
513
|
+
* Minimal height.
|
|
514
|
+
*/
|
|
515
|
+
minHeight: number;
|
|
516
|
+
/**
|
|
517
|
+
* Maximum width.
|
|
518
|
+
*/
|
|
519
|
+
maxWidth: number;
|
|
520
|
+
/**
|
|
521
|
+
* Maximum height.
|
|
522
|
+
*/
|
|
523
|
+
maxHeight: number;
|
|
524
|
+
/**
|
|
525
|
+
* Item position
|
|
526
|
+
*/
|
|
527
|
+
position: number;
|
|
528
|
+
/**
|
|
529
|
+
* Scroll size
|
|
530
|
+
*/
|
|
531
|
+
scrollSize: number;
|
|
532
|
+
/**
|
|
533
|
+
* Item size
|
|
534
|
+
*/
|
|
535
|
+
size: number;
|
|
536
|
+
/**
|
|
537
|
+
* Row
|
|
538
|
+
*/
|
|
539
|
+
row: {
|
|
540
|
+
size: number;
|
|
541
|
+
/**
|
|
542
|
+
* Indicates that the element is odd.
|
|
543
|
+
*/
|
|
544
|
+
odd: boolean;
|
|
545
|
+
/**
|
|
546
|
+
* Indicates that the element is even.
|
|
547
|
+
*/
|
|
548
|
+
even: boolean;
|
|
549
|
+
};
|
|
550
|
+
/**
|
|
551
|
+
* Bounds size
|
|
552
|
+
*/
|
|
553
|
+
boundsSize: number;
|
|
554
|
+
/**
|
|
555
|
+
* Start position in viewport
|
|
556
|
+
*/
|
|
557
|
+
absoluteStartPosition: number;
|
|
558
|
+
/**
|
|
559
|
+
* Start position in viewport (percent)
|
|
560
|
+
*/
|
|
561
|
+
absoluteStartPositionPercent: number;
|
|
562
|
+
/**
|
|
563
|
+
* End position in viewport
|
|
564
|
+
*/
|
|
565
|
+
absoluteEndPosition: number;
|
|
566
|
+
/**
|
|
567
|
+
* End position in viewport (percent)
|
|
568
|
+
*/
|
|
569
|
+
absoluteEndPositionPercent: number;
|
|
570
|
+
/**
|
|
571
|
+
* Scroll direction.
|
|
572
|
+
*/
|
|
573
|
+
scrollDirection: ScrollDirection;
|
|
574
|
+
/**
|
|
575
|
+
* Delta is calculated for Snapping Method.ADVANCED
|
|
576
|
+
*/
|
|
577
|
+
delta: number;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* ItemTransform
|
|
582
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/item-transform.ts
|
|
583
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
584
|
+
* @email djonnyx@gmail.com
|
|
585
|
+
*/
|
|
586
|
+
type ItemTransform = (index: number, measures: IRenderVirtualListItemMeasures, config: IRenderVirtualListItemConfig) => IItemTransformation;
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Action modes for collection elements.
|
|
590
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/collection-modes.ts
|
|
591
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
592
|
+
* @email djonnyx@gmail.com
|
|
593
|
+
*/
|
|
594
|
+
declare enum CollectionModes {
|
|
595
|
+
/**
|
|
596
|
+
* When adding elements to the beginning of the collection, the scroll remains at the current position.
|
|
597
|
+
*/
|
|
598
|
+
NORMAL = "normal",
|
|
599
|
+
/**
|
|
600
|
+
* When adding elements to the beginning of the collection, the scroll is shifted by the sum of the sizes of the new elements.
|
|
601
|
+
*/
|
|
602
|
+
LAZY = "lazy"
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Axis of the arrangement of virtual list elements.
|
|
607
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/directions.ts
|
|
608
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
609
|
+
* @email djonnyx@gmail.com
|
|
610
|
+
*/
|
|
611
|
+
declare enum Directions {
|
|
612
|
+
/**
|
|
613
|
+
* Horizontal axis.
|
|
614
|
+
*/
|
|
615
|
+
HORIZONTAL = "horizontal",
|
|
616
|
+
/**
|
|
617
|
+
* Vertical axis.
|
|
618
|
+
*/
|
|
619
|
+
VERTICAL = "vertical"
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Focus Alignments.
|
|
624
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/focus-alignments.ts
|
|
625
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
626
|
+
* @email djonnyx@gmail.com
|
|
627
|
+
*/
|
|
628
|
+
declare enum FocusAlignments {
|
|
629
|
+
NONE = "none",
|
|
630
|
+
START = "start",
|
|
631
|
+
CENTER = "center",
|
|
632
|
+
END = "end"
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Modes for collapsing list items.
|
|
637
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/collapsing-modes.ts
|
|
638
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
639
|
+
* @email djonnyx@gmail.com
|
|
640
|
+
*/
|
|
641
|
+
declare enum CollapsingModes {
|
|
642
|
+
/**
|
|
643
|
+
* List items are not selectable.
|
|
644
|
+
*/
|
|
645
|
+
NONE = "none",
|
|
646
|
+
/**
|
|
647
|
+
* List items are collapsed one by one.
|
|
648
|
+
*/
|
|
649
|
+
MULTI_COLLAPSE = "multi-collapse",
|
|
650
|
+
/**
|
|
651
|
+
* Accordion collapsible list items.
|
|
652
|
+
*/
|
|
653
|
+
ACCORDION = "accordion"
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
/**
|
|
657
|
+
* Mods for selecting list items.
|
|
658
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/selecting-modes.ts
|
|
659
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
660
|
+
* @email djonnyx@gmail.com
|
|
661
|
+
*/
|
|
662
|
+
declare enum SelectingModes {
|
|
663
|
+
/**
|
|
664
|
+
* List items are not selectable.
|
|
665
|
+
*/
|
|
666
|
+
NONE = "none",
|
|
667
|
+
/**
|
|
668
|
+
* List items are selected one by one.
|
|
669
|
+
*/
|
|
670
|
+
SELECT = "select",
|
|
671
|
+
/**
|
|
672
|
+
* Multiple selection of list items.
|
|
673
|
+
*/
|
|
674
|
+
MULTI_SELECT = "multi-select"
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* SnapToAtemAligns.
|
|
679
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/snap-to-item-aligns.ts
|
|
680
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
681
|
+
* @email djonnyx@gmail.com
|
|
682
|
+
*/
|
|
683
|
+
declare enum SnapToItemAligns {
|
|
684
|
+
/**
|
|
685
|
+
* An anchor indicates the beginning of an element.
|
|
686
|
+
*/
|
|
687
|
+
START = "start",
|
|
688
|
+
/**
|
|
689
|
+
* The anchor points to the middle of the element.
|
|
690
|
+
*/
|
|
691
|
+
CENTER = "center",
|
|
692
|
+
/**
|
|
693
|
+
* An anchor indicates the end of an element.
|
|
694
|
+
*/
|
|
695
|
+
END = "end"
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* Snapping method.
|
|
700
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/snapping-method.ts
|
|
701
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
702
|
+
* @email djonnyx@gmail.com
|
|
703
|
+
*/
|
|
704
|
+
declare enum SnappingMethods {
|
|
705
|
+
/**
|
|
706
|
+
* The group is rendered on a background.
|
|
707
|
+
*/
|
|
708
|
+
STANDART = "standart",
|
|
709
|
+
/**
|
|
710
|
+
* A mask is applied to the viewport area so that the background is displayed underneath the attached group.
|
|
711
|
+
*/
|
|
712
|
+
ADVANCED = "advanced"
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* SpreadingModes.
|
|
717
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/spreading-modes.ts
|
|
718
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
719
|
+
* @email djonnyx@gmail.com
|
|
720
|
+
*/
|
|
721
|
+
declare enum SpreadingModes {
|
|
722
|
+
/**
|
|
723
|
+
* List elements are ordered according to the collection sequence.
|
|
724
|
+
*/
|
|
725
|
+
NORMAL = "normal",
|
|
726
|
+
/**
|
|
727
|
+
* List elements are ordered cyclically, forming an infinite list.
|
|
728
|
+
*/
|
|
729
|
+
INFINITY = "infinity"
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* TextDirections.
|
|
734
|
+
* RTL - right-to-left.
|
|
735
|
+
* LTR - left-to-right.
|
|
736
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/text-directions.ts
|
|
737
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
738
|
+
* @email djonnyx@gmail.com
|
|
739
|
+
*/
|
|
740
|
+
declare enum TextDirections {
|
|
741
|
+
RTL = "rtl",
|
|
742
|
+
LTR = "ltr"
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* Focus Alignment
|
|
747
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/focus-alignment.ts
|
|
748
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
749
|
+
* @email djonnyx@gmail.com
|
|
750
|
+
*/
|
|
751
|
+
type FocusAlignment = FocusAlignments | 'none' | 'start' | 'center' | 'end';
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
* SnappingDistance
|
|
755
|
+
* Snapping activation distance. Can be specified as a percentage of the element size or in absolute values.
|
|
756
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/snapping-distance.ts
|
|
757
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
758
|
+
* @email djonnyx@gmail.com
|
|
759
|
+
*/
|
|
760
|
+
type SnappingDistance = `${number}%` | number;
|
|
761
|
+
|
|
762
|
+
/**
|
|
763
|
+
* GradientColorPosition
|
|
764
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/gradient-position.ts
|
|
765
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
766
|
+
* @email djonnyx@gmail.com
|
|
767
|
+
*/
|
|
768
|
+
type GradientColorPosition = `${number}%` | `${number}` | number | string;
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* GradientColorPositions
|
|
772
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/gradient-positions.ts
|
|
773
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
774
|
+
* @email djonnyx@gmail.com
|
|
775
|
+
*/
|
|
776
|
+
type GradientColorPositions = [GradientColorPosition, GradientColorPosition];
|
|
777
|
+
|
|
778
|
+
/**
|
|
779
|
+
* Action modes for collection elements.
|
|
780
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/collection-mode.ts
|
|
781
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
782
|
+
* @email djonnyx@gmail.com
|
|
783
|
+
*/
|
|
784
|
+
type CollectionMode = CollectionModes | 'normal' | 'lazy';
|
|
785
|
+
|
|
786
|
+
/**
|
|
787
|
+
* Axis of the arrangement of virtual list elements.
|
|
788
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/direction.ts
|
|
789
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
790
|
+
* @email djonnyx@gmail.com
|
|
791
|
+
*/
|
|
792
|
+
type Direction = Directions | 'horizontal' | 'vertical';
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* Modes for collapsing list items.
|
|
796
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/collapsing-mode.ts
|
|
797
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
798
|
+
* @email djonnyx@gmail.com
|
|
799
|
+
*/
|
|
800
|
+
type CollapsingMode = CollapsingModes | 'none' | 'multi-collapse' | 'accordion';
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* Modes for selecting list items.
|
|
804
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/selecting-mode.ts
|
|
805
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
806
|
+
* @email djonnyx@gmail.com
|
|
807
|
+
*/
|
|
808
|
+
type SelectingMode = SelectingModes | 'none' | 'select' | 'multi-select';
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* SnapToItemAlign.
|
|
812
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/snap-to-item-align.ts
|
|
813
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
814
|
+
* @email djonnyx@gmail.com
|
|
815
|
+
*/
|
|
816
|
+
type SnapToItemAlign = SnapToItemAligns | 'start' | 'center' | 'end';
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* Snapping method.
|
|
820
|
+
* 'standart' - Classic group visualization.
|
|
821
|
+
* 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
|
|
822
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/snapping-method.ts
|
|
823
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
824
|
+
* @email djonnyx@gmail.com
|
|
825
|
+
*/
|
|
826
|
+
type SnappingMethod = SnappingMethods | 'standart' | 'advanced';
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* SpreadingMode
|
|
830
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/spreading-mode.ts
|
|
831
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
832
|
+
* @email djonnyx@gmail.com
|
|
833
|
+
*/
|
|
834
|
+
type SpreadingMode = SpreadingModes | 'normal' | 'infinity';
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
* TextDirection.
|
|
838
|
+
* 'rtl' - right-to-left.
|
|
839
|
+
* 'ltr' - left-to-right.
|
|
840
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/text-direction.ts
|
|
841
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
842
|
+
* @email djonnyx@gmail.com
|
|
843
|
+
*/
|
|
844
|
+
type TextDirection = TextDirections | 'rtl' | 'ltr';
|
|
845
|
+
|
|
846
|
+
/**
|
|
847
|
+
* Object with configuration parameters for IRenderVirtualListItem
|
|
848
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/render-item-config.model.ts
|
|
849
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
850
|
+
* @email djonnyx@gmail.com
|
|
851
|
+
*/
|
|
852
|
+
interface IRenderVirtualListItemConfig {
|
|
853
|
+
/**
|
|
854
|
+
* Determines whether an element is new in the collection.
|
|
855
|
+
*/
|
|
856
|
+
new: boolean;
|
|
857
|
+
/**
|
|
858
|
+
* Indicates that the element is odd.
|
|
859
|
+
*/
|
|
860
|
+
odd: boolean;
|
|
861
|
+
/**
|
|
862
|
+
* Indicates that the element is even.
|
|
863
|
+
*/
|
|
864
|
+
even: boolean;
|
|
865
|
+
/**
|
|
866
|
+
* Determines whether an element with a `sticky` property greater than zero can collapse and collapse elements in front that do not have a `sticky` property.
|
|
867
|
+
* Default value is `false`.
|
|
868
|
+
*/
|
|
869
|
+
collapsable: boolean;
|
|
870
|
+
/**
|
|
871
|
+
* If greater than 0, the element will have a sticky position with the given zIndex.
|
|
872
|
+
*/
|
|
873
|
+
sticky: 0 | 1 | 2;
|
|
874
|
+
/**
|
|
875
|
+
* Determines whether an element can be selected or not. Default value is `true`.
|
|
876
|
+
*/
|
|
877
|
+
selectable: boolean;
|
|
878
|
+
/**
|
|
879
|
+
* Specifies whether the element will snap.
|
|
491
880
|
*/
|
|
492
|
-
|
|
881
|
+
snap: boolean;
|
|
493
882
|
/**
|
|
494
|
-
*
|
|
883
|
+
* Indicates that the element is snapped.
|
|
495
884
|
*/
|
|
496
|
-
|
|
885
|
+
snapped: boolean;
|
|
497
886
|
/**
|
|
498
|
-
*
|
|
887
|
+
* Indicates that the element is being shifted by another snap element.
|
|
499
888
|
*/
|
|
500
|
-
|
|
889
|
+
snappedOut: boolean;
|
|
501
890
|
/**
|
|
502
|
-
*
|
|
891
|
+
* Indicates that the element is a vertical list item.
|
|
503
892
|
*/
|
|
504
|
-
|
|
893
|
+
isVertical: boolean;
|
|
505
894
|
/**
|
|
506
|
-
*
|
|
895
|
+
* Specifies that the element adapts to the size of its content.
|
|
507
896
|
*/
|
|
508
|
-
|
|
897
|
+
dynamic: boolean;
|
|
509
898
|
/**
|
|
510
|
-
*
|
|
899
|
+
* Returns true if the snapping method is advanced
|
|
511
900
|
*/
|
|
512
|
-
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* Measures for IRenderVirtualListItem
|
|
517
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/render-item-measures.model.ts
|
|
518
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
519
|
-
* @email djonnyx@gmail.com
|
|
520
|
-
*/
|
|
521
|
-
interface IRenderVirtualListItemMeasures extends IRect {
|
|
901
|
+
isSnappingMethodAdvanced: boolean;
|
|
522
902
|
/**
|
|
523
|
-
*
|
|
903
|
+
* layout offset;
|
|
524
904
|
*/
|
|
525
|
-
|
|
905
|
+
layoutOffset: number;
|
|
526
906
|
/**
|
|
527
|
-
*
|
|
907
|
+
* layout index offset;
|
|
528
908
|
*/
|
|
529
|
-
|
|
909
|
+
layoutIndexOffset: number;
|
|
530
910
|
/**
|
|
531
|
-
*
|
|
911
|
+
* Tab index.
|
|
532
912
|
*/
|
|
533
|
-
|
|
913
|
+
tabIndex: number;
|
|
534
914
|
/**
|
|
535
|
-
*
|
|
915
|
+
* z-index
|
|
536
916
|
*/
|
|
537
|
-
|
|
917
|
+
zIndex: string;
|
|
538
918
|
/**
|
|
539
|
-
*
|
|
919
|
+
* Opacity.
|
|
540
920
|
*/
|
|
541
|
-
|
|
921
|
+
opacity: number;
|
|
542
922
|
/**
|
|
543
|
-
*
|
|
923
|
+
* Filter.
|
|
544
924
|
*/
|
|
545
|
-
|
|
925
|
+
filter?: string;
|
|
546
926
|
/**
|
|
547
|
-
*
|
|
927
|
+
* Blend color.
|
|
548
928
|
*/
|
|
549
|
-
|
|
929
|
+
blendColor?: Color | null;
|
|
550
930
|
/**
|
|
551
|
-
*
|
|
931
|
+
* Determines whether an element is a stub.
|
|
552
932
|
*/
|
|
553
|
-
|
|
933
|
+
isStub?: boolean;
|
|
554
934
|
/**
|
|
555
|
-
*
|
|
935
|
+
* Division number.
|
|
556
936
|
*/
|
|
557
|
-
|
|
937
|
+
divides: number;
|
|
938
|
+
/**
|
|
939
|
+
* Snap to an item. The default value is `false`.
|
|
940
|
+
*/
|
|
941
|
+
snapToItem: boolean;
|
|
942
|
+
/**
|
|
943
|
+
* Alignment for snapToItem. Available values are `start`, `center`, and `end`. The default value is `center`.
|
|
944
|
+
*/
|
|
945
|
+
snapToItemAlign: SnapToItemAlign;
|
|
946
|
+
/**
|
|
947
|
+
* Indicates whether the element is the first in the collection.
|
|
948
|
+
*/
|
|
949
|
+
isFirst: boolean;
|
|
950
|
+
/**
|
|
951
|
+
* Indicates whether the element is the last one in the collection.
|
|
952
|
+
*/
|
|
953
|
+
isLast: boolean;
|
|
954
|
+
/**
|
|
955
|
+
* Determines the size of an element when rendering lists with cell divisions. If sticky is 1 or 2, fullSize automatically becomes true.
|
|
956
|
+
*/
|
|
957
|
+
fullSize: boolean;
|
|
958
|
+
/**
|
|
959
|
+
* Number of elements in the collection to be visualized.
|
|
960
|
+
*/
|
|
961
|
+
totalItems: number;
|
|
558
962
|
}
|
|
559
963
|
|
|
560
964
|
/**
|
|
@@ -595,111 +999,11 @@ interface IRenderVirtualListItem<E = any> {
|
|
|
595
999
|
}
|
|
596
1000
|
|
|
597
1001
|
/**
|
|
598
|
-
*
|
|
599
|
-
*
|
|
600
|
-
* `selectable` determines whether an element can be selected or not. Default value is `true`.
|
|
601
|
-
* `collapsable` determines whether an element with a `sticky` property greater than zero can collapse and collapse elements in front that do not have a `sticky` property.
|
|
602
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/item-config-map.model.ts
|
|
603
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
604
|
-
* @email djonnyx@gmail.com
|
|
605
|
-
*/
|
|
606
|
-
interface IVirtualListItemConfigMap {
|
|
607
|
-
[id: string | number]: IVirtualListItemConfig;
|
|
608
|
-
}
|
|
609
|
-
interface IVirtualListItemConfig {
|
|
610
|
-
/**
|
|
611
|
-
* Sets `sticky` position for the element. If sticky position is greater than `0`, then `sticky` position is applied.
|
|
612
|
-
* `1` - position start, `2` - position end.
|
|
613
|
-
* Default value is `0`.
|
|
614
|
-
*/
|
|
615
|
-
sticky?: 0 | 1 | 2;
|
|
616
|
-
/**
|
|
617
|
-
* Determines whether an element with a `sticky` property greater than zero can collapse and collapse elements in front that do not have a `sticky` property.
|
|
618
|
-
* Default value is `false`.
|
|
619
|
-
*/
|
|
620
|
-
collapsable?: boolean;
|
|
621
|
-
/**
|
|
622
|
-
* Determines whether an element can be selected or not.
|
|
623
|
-
* Default value is `true`.
|
|
624
|
-
*/
|
|
625
|
-
selectable?: boolean;
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
/**
|
|
629
|
-
* Virtual list elements collection interface
|
|
630
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/collection.model.ts
|
|
631
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
632
|
-
* @email djonnyx@gmail.com
|
|
633
|
-
*/
|
|
634
|
-
interface IVirtualListCollection<E = Object> extends Array<IVirtualListItem<E>> {
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
/**
|
|
638
|
-
* Display object configuration.
|
|
639
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/display-object-config.model.ts
|
|
640
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
641
|
-
* @email djonnyx@gmail.com
|
|
642
|
-
*/
|
|
643
|
-
interface IDisplayObjectConfig extends IRenderVirtualListItemConfig {
|
|
644
|
-
/**
|
|
645
|
-
* Determines whether the element has focused or not.
|
|
646
|
-
*/
|
|
647
|
-
focused: boolean;
|
|
648
|
-
/**
|
|
649
|
-
* Determines whether the element is selected or not.
|
|
650
|
-
*/
|
|
651
|
-
selected: boolean;
|
|
652
|
-
/**
|
|
653
|
-
* Determines whether the element is collapsed or not.
|
|
654
|
-
*/
|
|
655
|
-
collapsed: boolean;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
/**
|
|
659
|
-
* Display object metrics.
|
|
660
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/display-object-measures.model.ts
|
|
1002
|
+
* FocusItemParams
|
|
1003
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/types/focus-item-params.ts
|
|
661
1004
|
* @author Evgenii Alexandrovich Grebennikov
|
|
662
1005
|
* @email djonnyx@gmail.com
|
|
663
1006
|
*/
|
|
664
|
-
interface IDisplayObjectMeasures extends IRect {
|
|
665
|
-
/**
|
|
666
|
-
* Item position
|
|
667
|
-
*/
|
|
668
|
-
position: number;
|
|
669
|
-
/**
|
|
670
|
-
* Scroll size
|
|
671
|
-
*/
|
|
672
|
-
scrollSize: number;
|
|
673
|
-
/**
|
|
674
|
-
* Item size
|
|
675
|
-
*/
|
|
676
|
-
size: number;
|
|
677
|
-
/**
|
|
678
|
-
* Bounds size
|
|
679
|
-
*/
|
|
680
|
-
boundsSize: number;
|
|
681
|
-
/**
|
|
682
|
-
* Start position in viewport
|
|
683
|
-
*/
|
|
684
|
-
absoluteStartPosition: number;
|
|
685
|
-
/**
|
|
686
|
-
* Start position in viewport (percent)
|
|
687
|
-
*/
|
|
688
|
-
absoluteStartPositionPercent: number;
|
|
689
|
-
/**
|
|
690
|
-
* End position in viewport
|
|
691
|
-
*/
|
|
692
|
-
absoluteEndPosition: number;
|
|
693
|
-
/**
|
|
694
|
-
* End position in viewport (percent)
|
|
695
|
-
*/
|
|
696
|
-
absoluteEndPositionPercent: number;
|
|
697
|
-
/**
|
|
698
|
-
* Delta is calculated for Snapping Method.ADVANCED
|
|
699
|
-
*/
|
|
700
|
-
delta: number;
|
|
701
|
-
}
|
|
702
|
-
|
|
703
1007
|
type FocusItemParams = {
|
|
704
1008
|
element: HTMLElement;
|
|
705
1009
|
position: number;
|
|
@@ -724,7 +1028,7 @@ declare class NgVirtualListPublicService {
|
|
|
724
1028
|
/**
|
|
725
1029
|
* Informs about a click on a list item.
|
|
726
1030
|
*/
|
|
727
|
-
get $
|
|
1031
|
+
get $virtualClick(): Observable<IRenderVirtualListItem<any> | null>;
|
|
728
1032
|
/**
|
|
729
1033
|
* Informs about the selection of a list item(s).
|
|
730
1034
|
*/
|
|
@@ -752,17 +1056,16 @@ declare class NgVirtualListPublicService {
|
|
|
752
1056
|
/**
|
|
753
1057
|
* Specifies a list of collapsed elements.
|
|
754
1058
|
*/
|
|
755
|
-
set
|
|
1059
|
+
set collapsedIds(ids: Array<Id>);
|
|
756
1060
|
/**
|
|
757
1061
|
* Returns a list of collapsed elements.
|
|
758
1062
|
*/
|
|
759
|
-
get
|
|
1063
|
+
get collapsedIds(): Array<Id>;
|
|
760
1064
|
/**
|
|
761
1065
|
* Updates the list
|
|
762
1066
|
* @param immediately - Indicates that the list is updated instantly.
|
|
763
|
-
* @param force - Forced update.
|
|
764
1067
|
*/
|
|
765
|
-
update(immediately?: boolean
|
|
1068
|
+
update(immediately?: boolean): void;
|
|
766
1069
|
/**
|
|
767
1070
|
* Selects a list item
|
|
768
1071
|
* @param id
|
|
@@ -931,22 +1234,13 @@ declare class CacheMap<I = string | number, B = any, E = CacheMapEvents$1, L = C
|
|
|
931
1234
|
protected _lifeCircleId: any;
|
|
932
1235
|
protected _delta: number;
|
|
933
1236
|
get delta(): number;
|
|
934
|
-
protected _deltaDirection: ScrollDirection;
|
|
935
|
-
set deltaDirection(v: ScrollDirection);
|
|
936
|
-
get deltaDirection(): ScrollDirection;
|
|
937
|
-
private _scrollDirectionCache;
|
|
938
|
-
private _scrollDirection;
|
|
939
|
-
get scrollDirection(): ScrollDirection;
|
|
940
1237
|
get version(): number;
|
|
941
|
-
private _clearScrollDirectionDebounce;
|
|
942
1238
|
constructor();
|
|
943
1239
|
protected changesDetected(): boolean;
|
|
944
1240
|
protected stopLifeCircle(): void;
|
|
945
1241
|
protected nextTick(cb: () => void): any;
|
|
946
1242
|
protected lifeCircle(): void;
|
|
947
1243
|
protected lifeCircleDo(): void;
|
|
948
|
-
clearScrollDirectionCache(async?: boolean): void;
|
|
949
|
-
private calcScrollDirection;
|
|
950
1244
|
protected bumpVersion(): void;
|
|
951
1245
|
protected fireChangeIfNeed(): void;
|
|
952
1246
|
set(id: I, bounds: B): CMap<I, B>;
|
|
@@ -992,15 +1286,12 @@ declare class Tracker<C extends BaseVirtualListItemComponent = any> {
|
|
|
992
1286
|
/**
|
|
993
1287
|
* tracking by propName
|
|
994
1288
|
*/
|
|
995
|
-
track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection): void;
|
|
1289
|
+
track(items: IRenderVirtualListCollection, components: Array<ComponentRef<C>>, snappedComponents: Array<ComponentRef<C>> | null | undefined, direction: ScrollDirection, trackBy: string): void;
|
|
996
1290
|
untrackComponentByIdProperty(component?: C): void;
|
|
997
1291
|
clearTrackMap(): void;
|
|
998
1292
|
dispose(): void;
|
|
999
1293
|
}
|
|
1000
1294
|
|
|
1001
|
-
declare const WIDTH_PROP_NAME = "width";
|
|
1002
|
-
declare const HEIGHT_PROP_NAME = "height";
|
|
1003
|
-
|
|
1004
1295
|
/**
|
|
1005
1296
|
* PrerenderCache
|
|
1006
1297
|
* Maximum performance for extremely large lists.
|
|
@@ -1013,18 +1304,37 @@ type PrerenderCache = {
|
|
|
1013
1304
|
[id: Id]: ISize;
|
|
1014
1305
|
};
|
|
1015
1306
|
|
|
1016
|
-
declare
|
|
1017
|
-
|
|
1018
|
-
|
|
1307
|
+
declare const WIDTH_PROP_NAME = "width";
|
|
1308
|
+
declare const HEIGHT_PROP_NAME = "height";
|
|
1309
|
+
|
|
1310
|
+
/**
|
|
1311
|
+
* IItem
|
|
1312
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/item.ts
|
|
1313
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1314
|
+
* @email djonnyx@gmail.com
|
|
1315
|
+
*/
|
|
1316
|
+
interface IItem<I = any> {
|
|
1317
|
+
[prop: string]: I;
|
|
1019
1318
|
}
|
|
1020
|
-
|
|
1319
|
+
|
|
1320
|
+
/**
|
|
1321
|
+
* IMetrics
|
|
1322
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/metrics.ts
|
|
1323
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1324
|
+
* @email djonnyx@gmail.com
|
|
1325
|
+
*/
|
|
1326
|
+
interface IMetrics<I extends IItem> {
|
|
1021
1327
|
delta: number;
|
|
1022
1328
|
normalizedItemWidth: number;
|
|
1023
1329
|
normalizedItemHeight: number;
|
|
1024
1330
|
width: number;
|
|
1025
1331
|
height: number;
|
|
1026
1332
|
dynamicSize: boolean;
|
|
1333
|
+
divides: number;
|
|
1027
1334
|
itemSize: number;
|
|
1335
|
+
minItemSize: number;
|
|
1336
|
+
maxItemSize: number;
|
|
1337
|
+
items: Array<I>;
|
|
1028
1338
|
itemsFromStartToScrollEnd: number;
|
|
1029
1339
|
itemsFromStartToDisplayEnd: number;
|
|
1030
1340
|
itemsOnDisplayWeight: number;
|
|
@@ -1033,14 +1343,16 @@ interface IMetrics {
|
|
|
1033
1343
|
leftHiddenItemsWeight: number;
|
|
1034
1344
|
leftItemLength: number;
|
|
1035
1345
|
leftItemsWeight: number;
|
|
1346
|
+
leftLayoutOffset: number;
|
|
1347
|
+
leftLayoutIndexOffset: number;
|
|
1036
1348
|
renderItems: number;
|
|
1037
1349
|
rightItemLength: number;
|
|
1038
1350
|
rightItemsWeight: number;
|
|
1039
1351
|
scrollSize: number;
|
|
1040
1352
|
leftSizeOfAddedItems: number;
|
|
1041
1353
|
sizeProperty: typeof HEIGHT_PROP_NAME | typeof WIDTH_PROP_NAME;
|
|
1042
|
-
|
|
1043
|
-
|
|
1354
|
+
stickyEnabled: boolean;
|
|
1355
|
+
stickyPos: number;
|
|
1044
1356
|
startIndex: number;
|
|
1045
1357
|
startPosition: number;
|
|
1046
1358
|
totalItemsToDisplayEndWeight: number;
|
|
@@ -1049,17 +1361,29 @@ interface IMetrics {
|
|
|
1049
1361
|
typicalItemSize: number;
|
|
1050
1362
|
isFromItemIdFound: boolean;
|
|
1051
1363
|
isUpdating: boolean;
|
|
1364
|
+
snapToItem: boolean;
|
|
1365
|
+
snapToItemAlign: SnapToItemAlign;
|
|
1366
|
+
itemTransform: ItemTransform | null;
|
|
1052
1367
|
}
|
|
1368
|
+
|
|
1369
|
+
/**
|
|
1370
|
+
* IRecalculateMetricsOptions
|
|
1371
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/recalculate-metrics-options.ts
|
|
1372
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1373
|
+
* @email djonnyx@gmail.com
|
|
1374
|
+
*/
|
|
1053
1375
|
interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
|
|
1054
1376
|
bounds: ISize;
|
|
1055
1377
|
collection: C;
|
|
1056
1378
|
isVertical: boolean;
|
|
1057
1379
|
itemSize: number;
|
|
1380
|
+
minItemSize: number;
|
|
1381
|
+
maxItemSize: number;
|
|
1058
1382
|
bufferSize: number;
|
|
1059
1383
|
maxBufferSize: number;
|
|
1060
1384
|
dynamicSize: boolean;
|
|
1061
1385
|
scrollSize: number;
|
|
1062
|
-
|
|
1386
|
+
stickyEnabled: boolean;
|
|
1063
1387
|
enabledBufferOptimization: boolean;
|
|
1064
1388
|
fromItemId?: Id;
|
|
1065
1389
|
previousTotalSize: number;
|
|
@@ -1067,38 +1391,121 @@ interface IRecalculateMetricsOptions<I extends IItem, C extends Array<I>> {
|
|
|
1067
1391
|
deletedItemsMap: {
|
|
1068
1392
|
[index: number]: ISize;
|
|
1069
1393
|
};
|
|
1394
|
+
snapToItem: boolean;
|
|
1395
|
+
snapToItemAlign: SnapToItemAlign;
|
|
1396
|
+
itemTransform: ItemTransform | null;
|
|
1070
1397
|
}
|
|
1398
|
+
|
|
1399
|
+
/**
|
|
1400
|
+
* IGetItemPositionOptions
|
|
1401
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/get-item-position-options.ts
|
|
1402
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1403
|
+
* @email djonnyx@gmail.com
|
|
1404
|
+
*/
|
|
1071
1405
|
interface IGetItemPositionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
|
|
1072
1406
|
}
|
|
1407
|
+
|
|
1408
|
+
/**
|
|
1409
|
+
* IUpdateCollectionOptions
|
|
1410
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-options.ts
|
|
1411
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1412
|
+
* @email djonnyx@gmail.com
|
|
1413
|
+
*/
|
|
1073
1414
|
interface IUpdateCollectionOptions<I extends IItem, C extends Array<I>> extends Omit<IRecalculateMetricsOptions<I, C>, 'collection' | 'previousTotalSize' | 'crudDetected' | 'deletedItemsMap'> {
|
|
1074
1415
|
}
|
|
1416
|
+
|
|
1417
|
+
/**
|
|
1418
|
+
* IGetMetricsReturns
|
|
1419
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/get-metrics-returns.ts
|
|
1420
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1421
|
+
* @email djonnyx@gmail.com
|
|
1422
|
+
*/
|
|
1423
|
+
interface IGetMetricsReturns {
|
|
1424
|
+
totalSize: number;
|
|
1425
|
+
delta: number;
|
|
1426
|
+
crudDetected: boolean;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
/**
|
|
1430
|
+
* IUpdateCollectionReturns
|
|
1431
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/interfaces/update-collection-returns.ts
|
|
1432
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1433
|
+
* @email djonnyx@gmail.com
|
|
1434
|
+
*/
|
|
1435
|
+
interface IUpdateCollectionReturns {
|
|
1436
|
+
displayItems: IRenderVirtualListCollection;
|
|
1437
|
+
totalSize: number;
|
|
1438
|
+
leftLayoutOffset: number;
|
|
1439
|
+
delta: number;
|
|
1440
|
+
crudDetected: boolean;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
/**
|
|
1444
|
+
* ItemDisplayMethods
|
|
1445
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/enums/item-display-methods.ts
|
|
1446
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1447
|
+
* @email djonnyx@gmail.com
|
|
1448
|
+
*/
|
|
1449
|
+
declare enum ItemDisplayMethods {
|
|
1450
|
+
CREATE = 0,
|
|
1451
|
+
UPDATE = 1,
|
|
1452
|
+
DELETE = 2,
|
|
1453
|
+
NOT_CHANGED = 3
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
/**
|
|
1457
|
+
* Cache
|
|
1458
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/types/cache.ts
|
|
1459
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1460
|
+
* @email djonnyx@gmail.com
|
|
1461
|
+
*/
|
|
1462
|
+
type Cache = ISize & {
|
|
1463
|
+
method?: ItemDisplayMethods;
|
|
1464
|
+
} & IItem;
|
|
1465
|
+
|
|
1466
|
+
/**
|
|
1467
|
+
* TrackBoxEvents
|
|
1468
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/events/track-box-events.ts
|
|
1469
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1470
|
+
* @email djonnyx@gmail.com
|
|
1471
|
+
*/
|
|
1472
|
+
declare enum TrackBoxEvents {
|
|
1473
|
+
CHANGE = "change",
|
|
1474
|
+
TICK = "tick"
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
/**
|
|
1478
|
+
* CacheMapEvents
|
|
1479
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/types/cache-map-events.ts
|
|
1480
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1481
|
+
* @email djonnyx@gmail.com
|
|
1482
|
+
*/
|
|
1075
1483
|
type CacheMapEvents = TrackBoxEvents;
|
|
1484
|
+
|
|
1485
|
+
/**
|
|
1486
|
+
* OnChangeEventListener
|
|
1487
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/types/on-change-event-listener.ts
|
|
1488
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1489
|
+
* @email djonnyx@gmail.com
|
|
1490
|
+
*/
|
|
1076
1491
|
type OnChangeEventListener = (version: number) => void;
|
|
1492
|
+
|
|
1493
|
+
/**
|
|
1494
|
+
* OnTickEventListener
|
|
1495
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/types/on-tick-event-listener.ts
|
|
1496
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1497
|
+
* @email djonnyx@gmail.com
|
|
1498
|
+
*/
|
|
1077
1499
|
type OnTickEventListener = () => void;
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* CacheMapListeners
|
|
1503
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/types/cache-map-listeners.ts
|
|
1504
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1505
|
+
* @email djonnyx@gmail.com
|
|
1506
|
+
*/
|
|
1078
1507
|
type CacheMapListeners = OnChangeEventListener | OnTickEventListener;
|
|
1079
|
-
|
|
1080
|
-
CREATE = 0,
|
|
1081
|
-
UPDATE = 1,
|
|
1082
|
-
DELETE = 2,
|
|
1083
|
-
NOT_CHANGED = 3
|
|
1084
|
-
}
|
|
1085
|
-
interface IUpdateCollectionReturns {
|
|
1086
|
-
displayItems: IRenderVirtualListCollection;
|
|
1087
|
-
totalSize: number;
|
|
1088
|
-
delta: number;
|
|
1089
|
-
crudDetected: boolean;
|
|
1090
|
-
}
|
|
1091
|
-
interface IGetMetricsReturns {
|
|
1092
|
-
totalSize: number;
|
|
1093
|
-
delta: number;
|
|
1094
|
-
crudDetected: boolean;
|
|
1095
|
-
}
|
|
1096
|
-
interface IItem<I = any> {
|
|
1097
|
-
[prop: string]: I;
|
|
1098
|
-
}
|
|
1099
|
-
type Cache = ISize & {
|
|
1100
|
-
method?: ItemDisplayMethods;
|
|
1101
|
-
} & IItem;
|
|
1508
|
+
|
|
1102
1509
|
/**
|
|
1103
1510
|
* An object that performs tracking, calculations and caching.
|
|
1104
1511
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/core/track-box.ts
|
|
@@ -1113,6 +1520,16 @@ declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends Cac
|
|
|
1113
1520
|
set displayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
1114
1521
|
protected _snappedDisplayComponents: Array<ComponentRef<C>> | null | undefined;
|
|
1115
1522
|
set snappedDisplayComponents(v: Array<ComponentRef<C>> | null | undefined);
|
|
1523
|
+
protected _scrollDirection: ScrollDirection;
|
|
1524
|
+
set scrollDirection(v: ScrollDirection);
|
|
1525
|
+
get scrollDirection(): ScrollDirection;
|
|
1526
|
+
protected _trackBy: string;
|
|
1527
|
+
set trackBy(v: string);
|
|
1528
|
+
get trackBy(): string;
|
|
1529
|
+
protected _divides: number;
|
|
1530
|
+
set divides(v: number);
|
|
1531
|
+
protected _isInfinity: boolean;
|
|
1532
|
+
set isInfinity(v: boolean);
|
|
1116
1533
|
protected _isSnappingMethodAdvanced: boolean;
|
|
1117
1534
|
set isSnappingMethodAdvanced(v: boolean);
|
|
1118
1535
|
protected _isLazy: boolean;
|
|
@@ -1122,10 +1539,10 @@ declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends Cac
|
|
|
1122
1539
|
*/
|
|
1123
1540
|
set trackingPropertyName(v: string);
|
|
1124
1541
|
protected _trackingPropertyName: string;
|
|
1125
|
-
set isScrollStart(v: boolean);
|
|
1126
1542
|
protected _isScrollStart: boolean;
|
|
1127
|
-
set
|
|
1543
|
+
set isScrollStart(v: boolean);
|
|
1128
1544
|
protected _isScrollEnd: boolean;
|
|
1545
|
+
set isScrollEnd(v: boolean);
|
|
1129
1546
|
protected _isScrollSnapToStart: boolean;
|
|
1130
1547
|
get isSnappedToStart(): boolean;
|
|
1131
1548
|
protected _isScrollSnapToEnd: boolean;
|
|
@@ -1186,7 +1603,7 @@ declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends Cac
|
|
|
1186
1603
|
*/
|
|
1187
1604
|
updateCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, options: IUpdateCollectionOptions<I, C>): IUpdateCollectionReturns;
|
|
1188
1605
|
protected _previousScrollSize: number;
|
|
1189
|
-
protected updateAdaptiveBufferParams(metrics: IMetrics
|
|
1606
|
+
protected updateAdaptiveBufferParams<I extends IItem>(metrics: IMetrics<I>, totalItemsLength: number): void;
|
|
1190
1607
|
protected startResetBufferSizeTimer(): void;
|
|
1191
1608
|
protected disposeClearBufferSizeTimer(): void;
|
|
1192
1609
|
/**
|
|
@@ -1199,15 +1616,15 @@ declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends Cac
|
|
|
1199
1616
|
/**
|
|
1200
1617
|
* Calculates list metrics
|
|
1201
1618
|
*/
|
|
1202
|
-
protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics
|
|
1619
|
+
protected recalculateMetrics<I extends IItem, C extends Array<I>>(options: IRecalculateMetricsOptions<I, C>): IMetrics<I>;
|
|
1203
1620
|
refreshCache(cache: PrerenderCache): void;
|
|
1204
|
-
clearDelta(
|
|
1621
|
+
clearDelta(): void;
|
|
1205
1622
|
changes(immediately?: boolean, force?: boolean): void;
|
|
1206
1623
|
/**
|
|
1207
1624
|
* Returns true if the bounds of at least one screen object have changed.
|
|
1208
1625
|
*/
|
|
1209
1626
|
checkBoundsOfElements(): boolean;
|
|
1210
|
-
protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics): IRenderVirtualListCollection;
|
|
1627
|
+
protected generateDisplayCollection<I extends IItem, C extends Array<I>>(items: C, actualItems: C, itemConfigMap: IVirtualListItemConfigMap, metrics: IMetrics<I>): IRenderVirtualListCollection;
|
|
1211
1628
|
resetPositions(): void;
|
|
1212
1629
|
/**
|
|
1213
1630
|
* tracking by propName
|
|
@@ -1218,6 +1635,11 @@ declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends Cac
|
|
|
1218
1635
|
}): void;
|
|
1219
1636
|
untrackComponentByIdProperty(component?: C | undefined): void;
|
|
1220
1637
|
getItemBounds(id: Id): ISize | null;
|
|
1638
|
+
getComponentBoundsByIntersectionPosition(position: number, maxPosition?: number | null): (IRect & {
|
|
1639
|
+
id: Id | null;
|
|
1640
|
+
isFirst: boolean;
|
|
1641
|
+
isLast: boolean;
|
|
1642
|
+
}) | null;
|
|
1221
1643
|
private _debouncedIsScrollStartOff;
|
|
1222
1644
|
protected cacheElements(isVertical: boolean, itemSize: number): void;
|
|
1223
1645
|
resetCacheChunkInfo(): void;
|
|
@@ -1226,12 +1648,12 @@ declare class TrackBox<C extends BaseVirtualListItemComponent = any> extends Cac
|
|
|
1226
1648
|
}
|
|
1227
1649
|
|
|
1228
1650
|
/**
|
|
1229
|
-
*
|
|
1230
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/
|
|
1651
|
+
* Mods for selecting list items.
|
|
1652
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/enums/selecting-modes-types.ts
|
|
1231
1653
|
* @author Evgenii Alexandrovich Grebennikov
|
|
1232
1654
|
* @email djonnyx@gmail.com
|
|
1233
1655
|
*/
|
|
1234
|
-
declare enum
|
|
1656
|
+
declare enum SelectingModesTypes {
|
|
1235
1657
|
/**
|
|
1236
1658
|
* List items are not selectable.
|
|
1237
1659
|
*/
|
|
@@ -1264,17 +1686,18 @@ declare class NgVirtualListService {
|
|
|
1264
1686
|
private _id;
|
|
1265
1687
|
get id(): number;
|
|
1266
1688
|
private _nextComponentId;
|
|
1267
|
-
private _$
|
|
1268
|
-
$
|
|
1689
|
+
private _$virtualClick;
|
|
1690
|
+
$virtualClick: rxjs.Observable<IRenderVirtualListItem<any> | null>;
|
|
1269
1691
|
private _$selectedIds;
|
|
1270
1692
|
$selectedIds: rxjs.Observable<Id | Id[] | null>;
|
|
1271
1693
|
private _$collapsedIds;
|
|
1272
1694
|
$collapsedIds: rxjs.Observable<Id[]>;
|
|
1273
|
-
private _$
|
|
1274
|
-
$
|
|
1275
|
-
set
|
|
1695
|
+
private _$selectingMode;
|
|
1696
|
+
$selectingMode: rxjs.Observable<SelectingModesTypes>;
|
|
1697
|
+
set selectingMode(v: SelectingModesTypes);
|
|
1276
1698
|
private _$focusedId;
|
|
1277
1699
|
$focusedId: rxjs.Observable<Id | null>;
|
|
1700
|
+
set focusedId(v: Id | null);
|
|
1278
1701
|
get focusedId(): Id | null;
|
|
1279
1702
|
private _$focusItem;
|
|
1280
1703
|
readonly $focusItem: rxjs.Observable<FocusItemParams>;
|
|
@@ -1292,16 +1715,25 @@ declare class NgVirtualListService {
|
|
|
1292
1715
|
lastFocusedItemId: number;
|
|
1293
1716
|
scrollStartOffset: number;
|
|
1294
1717
|
scrollEndOffset: number;
|
|
1718
|
+
zIndexWhenSelecting: string | null;
|
|
1295
1719
|
selectByClick: boolean;
|
|
1296
1720
|
collapseByClick: boolean;
|
|
1297
1721
|
defaultItemValue: IVirtualListItem | null;
|
|
1722
|
+
snapToItem: boolean;
|
|
1723
|
+
isInfinity: boolean;
|
|
1298
1724
|
isVertical: boolean;
|
|
1299
1725
|
dynamic: boolean;
|
|
1726
|
+
itemSize: number;
|
|
1300
1727
|
snapScrollToStart: boolean;
|
|
1301
1728
|
snapScrollToEnd: boolean;
|
|
1302
1729
|
animationParams: IAnimationParams;
|
|
1730
|
+
isNoneCollapse: boolean;
|
|
1731
|
+
isMultipleCollapse: boolean;
|
|
1732
|
+
isAccordionCollapse: boolean;
|
|
1303
1733
|
private _trackBox;
|
|
1304
1734
|
listElement: HTMLDivElement | null;
|
|
1735
|
+
items: IVirtualListCollection;
|
|
1736
|
+
itemConfigMap: IVirtualListItemConfigMap;
|
|
1305
1737
|
private _$displayItems;
|
|
1306
1738
|
readonly $displayItems: rxjs.Observable<IRenderVirtualListCollection>;
|
|
1307
1739
|
get displayItems(): IRenderVirtualListCollection;
|
|
@@ -1318,6 +1750,8 @@ declare class NgVirtualListService {
|
|
|
1318
1750
|
set scrollBarSize(v: number);
|
|
1319
1751
|
private _$scrollBarSize;
|
|
1320
1752
|
readonly $scrollBarSize: rxjs.Observable<number>;
|
|
1753
|
+
private _$intersectionElementBySnapToItemAlign;
|
|
1754
|
+
readonly $intersectionElementBySnapToItemAlign: rxjs.Observable<Id | null>;
|
|
1321
1755
|
private _$clickDistance;
|
|
1322
1756
|
readonly $clickDistance: rxjs.Observable<number>;
|
|
1323
1757
|
get clickDistance(): number;
|
|
@@ -1330,8 +1764,8 @@ declare class NgVirtualListService {
|
|
|
1330
1764
|
set collapsedIds(ids: Array<Id>);
|
|
1331
1765
|
get collapsedIds(): Array<Id>;
|
|
1332
1766
|
constructor();
|
|
1333
|
-
|
|
1334
|
-
update(immediately?: boolean
|
|
1767
|
+
virtualClick(data: IRenderVirtualListItem | null): void;
|
|
1768
|
+
update(immediately?: boolean): void;
|
|
1335
1769
|
private getItemConfig;
|
|
1336
1770
|
/**
|
|
1337
1771
|
* Selects a list item
|
|
@@ -1355,10 +1789,16 @@ declare class NgVirtualListService {
|
|
|
1355
1789
|
*/
|
|
1356
1790
|
focusById(id: Id, align?: FocusAlignment, scrollBehavior?: ScrollBehavior): void;
|
|
1357
1791
|
focus(element: HTMLElement, align?: FocusAlignment, behavior?: ScrollBehavior): boolean;
|
|
1792
|
+
focusList(): void;
|
|
1358
1793
|
focusFirstElement(): void;
|
|
1359
|
-
areaFocus(id: Id | null): void;
|
|
1360
1794
|
initialize(id: number, trackBox: TrackBox): void;
|
|
1361
1795
|
generateComponentId(): number;
|
|
1796
|
+
getComponentBoundsByIntersectionPosition(position: number, maxPosition?: number | null): (IRect & {
|
|
1797
|
+
id: Id | null;
|
|
1798
|
+
isFirst: boolean;
|
|
1799
|
+
isLast: boolean;
|
|
1800
|
+
}) | null;
|
|
1801
|
+
setIntersectionElementBySnapToItemAlign(id: Id | null): void;
|
|
1362
1802
|
/**
|
|
1363
1803
|
* The method scrolls the list to the element with the given `id` and returns the value of the scrolled area.
|
|
1364
1804
|
*/
|
|
@@ -1375,13 +1815,35 @@ declare class NgVirtualListService {
|
|
|
1375
1815
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NgVirtualListService>;
|
|
1376
1816
|
}
|
|
1377
1817
|
|
|
1818
|
+
/**
|
|
1819
|
+
* IBaseVirtualListItemComponent
|
|
1820
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/interfaces/base-virtual-list-item-component.ts
|
|
1821
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
1822
|
+
* @email djonnyx@gmail.com
|
|
1823
|
+
*/
|
|
1824
|
+
interface IBaseVirtualListItemComponent {
|
|
1825
|
+
get id(): number;
|
|
1826
|
+
regular: boolean;
|
|
1827
|
+
set regularLength(v: string);
|
|
1828
|
+
set item(v: IRenderVirtualListItem | null | undefined);
|
|
1829
|
+
get item(): IRenderVirtualListItem | null | undefined;
|
|
1830
|
+
get itemId(): Id | undefined;
|
|
1831
|
+
set renderer(v: TemplateRef<any> | undefined);
|
|
1832
|
+
get element(): HTMLElement;
|
|
1833
|
+
getBounds(): ISize;
|
|
1834
|
+
show(): void;
|
|
1835
|
+
hide(): void;
|
|
1836
|
+
}
|
|
1837
|
+
|
|
1378
1838
|
/**
|
|
1379
1839
|
* BaseVirtualListItemComponent
|
|
1380
1840
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/list-item/base/base-virtual-list-item-component.ts
|
|
1381
1841
|
* @author Evgenii Alexandrovich Grebennikov
|
|
1382
1842
|
* @email djonnyx@gmail.com
|
|
1383
1843
|
*/
|
|
1384
|
-
declare class BaseVirtualListItemComponent {
|
|
1844
|
+
declare class BaseVirtualListItemComponent implements IBaseVirtualListItemComponent {
|
|
1845
|
+
protected _item: Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1846
|
+
protected _container: Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1385
1847
|
private _apiService;
|
|
1386
1848
|
protected readonly _service: NgVirtualListService;
|
|
1387
1849
|
protected _id: number;
|
|
@@ -1391,11 +1853,14 @@ declare class BaseVirtualListItemComponent {
|
|
|
1391
1853
|
protected _displayId: string;
|
|
1392
1854
|
get displayId(): string;
|
|
1393
1855
|
protected _isSelected: boolean;
|
|
1856
|
+
set isSelected(v: boolean);
|
|
1857
|
+
get isSelected(): boolean;
|
|
1394
1858
|
protected _isCollapsed: boolean;
|
|
1395
1859
|
protected readonly config: _angular_core.WritableSignal<IDisplayObjectConfig>;
|
|
1396
1860
|
protected readonly measures: _angular_core.WritableSignal<IDisplayObjectMeasures | null>;
|
|
1397
1861
|
protected readonly focused: _angular_core.WritableSignal<boolean>;
|
|
1398
1862
|
protected readonly part: _angular_core.WritableSignal<string>;
|
|
1863
|
+
protected readonly fxPart: _angular_core.WritableSignal<string>;
|
|
1399
1864
|
protected readonly data: _angular_core.WritableSignal<IRenderVirtualListItem<any> | null>;
|
|
1400
1865
|
protected _data: IRenderVirtualListItem | null;
|
|
1401
1866
|
set item(v: IRenderVirtualListItem | null);
|
|
@@ -1405,12 +1870,15 @@ declare class BaseVirtualListItemComponent {
|
|
|
1405
1870
|
protected readonly index: Signal<number>;
|
|
1406
1871
|
protected readonly templateContext: Signal<ITemplateContext>;
|
|
1407
1872
|
regular: boolean;
|
|
1873
|
+
protected _blendColor: Color | null;
|
|
1408
1874
|
protected _scrollBarSize: number;
|
|
1409
1875
|
protected _langTextDir: TextDirection;
|
|
1410
1876
|
protected _regularLength: string;
|
|
1411
1877
|
set regularLength(v: string);
|
|
1412
1878
|
get item(): IRenderVirtualListItem | null;
|
|
1413
1879
|
get itemId(): ng_virtual_list.Id | undefined;
|
|
1880
|
+
get zIndex(): string;
|
|
1881
|
+
get visibility(): string;
|
|
1414
1882
|
protected readonly itemRenderer: _angular_core.WritableSignal<TemplateRef<any> | undefined>;
|
|
1415
1883
|
protected _renderer: TemplateRef<any> | undefined;
|
|
1416
1884
|
set renderer(v: TemplateRef<any> | undefined);
|
|
@@ -1422,16 +1890,19 @@ declare class BaseVirtualListItemComponent {
|
|
|
1422
1890
|
protected updateConfig(v: IRenderVirtualListItem<any> | null): void;
|
|
1423
1891
|
protected update(): void;
|
|
1424
1892
|
protected updatePartStr(v: IRenderVirtualListItem | null, isSelected: boolean, isCollapsed: boolean): void;
|
|
1893
|
+
protected hasFocus(): boolean;
|
|
1425
1894
|
getBounds(): ISize;
|
|
1426
1895
|
show(): void;
|
|
1427
1896
|
hide(): void;
|
|
1897
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseVirtualListItemComponent, never>;
|
|
1898
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseVirtualListItemComponent, "ng-base-virtual-list-item", never, {}, {}, never, never, false, never>;
|
|
1428
1899
|
}
|
|
1429
1900
|
|
|
1430
1901
|
/**
|
|
1431
1902
|
* Virtual list component.
|
|
1432
1903
|
* Maximum performance for extremely large lists.
|
|
1433
1904
|
* It is based on algorithms for virtualization of screen objects.
|
|
1434
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/list-item/ng-virtual-list-item.component.ts
|
|
1905
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/ng-list-item/ng-virtual-list-item.component.ts
|
|
1435
1906
|
* @author Evgenii Alexandrovich Grebennikov
|
|
1436
1907
|
* @email djonnyx@gmail.com
|
|
1437
1908
|
*/
|
|
@@ -1441,6 +1912,7 @@ declare class NgVirtualListItemComponent extends BaseVirtualListItemComponent im
|
|
|
1441
1912
|
constructor();
|
|
1442
1913
|
ngOnInit(): void;
|
|
1443
1914
|
private keyKode;
|
|
1915
|
+
private getNavigationTimeout;
|
|
1444
1916
|
private toNextItem;
|
|
1445
1917
|
private toPrevItem;
|
|
1446
1918
|
private focusNext;
|
|
@@ -1489,6 +1961,10 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1489
1961
|
* Fires when the viewport size is changed.
|
|
1490
1962
|
*/
|
|
1491
1963
|
onViewportChange: _angular_core.OutputEmitterRef<ISize>;
|
|
1964
|
+
/**
|
|
1965
|
+
* Emit the component ID when an element crosses the alignment line specified by the snapToItemAlign property.
|
|
1966
|
+
*/
|
|
1967
|
+
onSnapItem: _angular_core.OutputEmitterRef<Id>;
|
|
1492
1968
|
/**
|
|
1493
1969
|
* Fires when an element is clicked.
|
|
1494
1970
|
*/
|
|
@@ -1511,6 +1987,8 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1511
1987
|
onScrollReachEnd: _angular_core.OutputEmitterRef<void>;
|
|
1512
1988
|
private _$show;
|
|
1513
1989
|
readonly $show: rxjs.Observable<boolean>;
|
|
1990
|
+
private _$initialized;
|
|
1991
|
+
readonly $initialized: rxjs.Observable<boolean>;
|
|
1514
1992
|
private _scrollbarThickness;
|
|
1515
1993
|
/**
|
|
1516
1994
|
* Scrollbar thickness.
|
|
@@ -1566,7 +2044,7 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1566
2044
|
collapsedIds: _angular_core.InputSignal<Id[]>;
|
|
1567
2045
|
private _selectByClickOptions;
|
|
1568
2046
|
/**
|
|
1569
|
-
* If `false`, the element is selected using the
|
|
2047
|
+
* If `false`, the element is selected using the api.select method passed to the template;
|
|
1570
2048
|
* if `true`, the element is selected by clicking on it. The default value is `true`.
|
|
1571
2049
|
*/
|
|
1572
2050
|
selectByClick: _angular_core.InputSignal<boolean>;
|
|
@@ -1578,9 +2056,15 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1578
2056
|
collapseByClick: _angular_core.InputSignal<boolean>;
|
|
1579
2057
|
private _snapOptions;
|
|
1580
2058
|
/**
|
|
1581
|
-
*
|
|
2059
|
+
* @deprecated
|
|
2060
|
+
* Use the `stickyEnabled` property instead.
|
|
1582
2061
|
*/
|
|
1583
2062
|
snap: _angular_core.InputSignal<boolean>;
|
|
2063
|
+
private _stickyEnabledOptions;
|
|
2064
|
+
/**
|
|
2065
|
+
* Determines whether items with the given `sticky` in `itemConfigMap` will stick to the edges. Default value is "true".
|
|
2066
|
+
*/
|
|
2067
|
+
stickyEnabled: _angular_core.InputSignal<boolean>;
|
|
1584
2068
|
private _snapToEndTransitionInstantOffsetOptions;
|
|
1585
2069
|
/**
|
|
1586
2070
|
* Sets the offset value; if the scroll area value is exceeded, the scroll animation will be disabled. Default value is "0".
|
|
@@ -1588,14 +2072,16 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1588
2072
|
snapToEndTransitionInstantOffset: _angular_core.InputSignal<number>;
|
|
1589
2073
|
private _scrollStartOffsetOptions;
|
|
1590
2074
|
/**
|
|
1591
|
-
* Sets the scroll start offset value
|
|
2075
|
+
* Sets the scroll start offset value. Can be specified in absolute or percentage values.
|
|
2076
|
+
* Supports arithmetic expressions of addition `50% + 25` or subtraction `50% - 25`. Default value is "0".
|
|
1592
2077
|
*/
|
|
1593
|
-
scrollStartOffset: _angular_core.InputSignal<
|
|
2078
|
+
scrollStartOffset: _angular_core.InputSignal<ArithmeticExpression>;
|
|
1594
2079
|
private _scrollEndOffsetOptions;
|
|
1595
2080
|
/**
|
|
1596
|
-
* Sets the scroll end offset value
|
|
2081
|
+
* Sets the scroll end offset value. Can be specified in absolute or percentage values.
|
|
2082
|
+
* Supports arithmetic expressions of addition `50% + 25` or subtraction `50% - 25`. Default value is "0".
|
|
1597
2083
|
*/
|
|
1598
|
-
scrollEndOffset: _angular_core.InputSignal<
|
|
2084
|
+
scrollEndOffset: _angular_core.InputSignal<ArithmeticExpression>;
|
|
1599
2085
|
private _snapScrollToStartOptions;
|
|
1600
2086
|
/**
|
|
1601
2087
|
* Determines whether the scroll will be anchored to the start of the list. Default value is "true".
|
|
@@ -1605,6 +2091,7 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1605
2091
|
* If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
|
|
1606
2092
|
* if you move the scroll bar to the beginning, the list will snap to the beginning.
|
|
1607
2093
|
* If both snapScrollToStart and snapScrollToEnd are disabled, the list will never snap to the beginning or end.
|
|
2094
|
+
* In the `spreadingMode=SpreadingModes.INFINITY` mode, the `snapScrollToStart` property is automatically disabled, since the list has no beginning or end.
|
|
1608
2095
|
*/
|
|
1609
2096
|
snapScrollToStart: _angular_core.InputSignal<boolean>;
|
|
1610
2097
|
private _snapScrollToEndOptions;
|
|
@@ -1615,6 +2102,7 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1615
2102
|
* If snapScrollToStart is disabled and snapScrollToEnd is enabled, the list will snap to the end;
|
|
1616
2103
|
* if you move the scroll bar to the beginning, the list will snap to the beginning.
|
|
1617
2104
|
* If both snapScrollToStart and snapScrollToEnd are disabled, the list will never snap to the beginning or end.
|
|
2105
|
+
* In the `spreadingMode=SpreadingModes.INFINITY` mode, the `snapScrollToEnd` property is automatically disabled, since the list has no beginning or end.
|
|
1618
2106
|
*/
|
|
1619
2107
|
snapScrollToEnd: _angular_core.InputSignal<boolean>;
|
|
1620
2108
|
private _snapScrollToBottomOptions;
|
|
@@ -1633,6 +2121,11 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1633
2121
|
* Determines whether scrolling using the scrollbar will be possible. The default value is "true".
|
|
1634
2122
|
*/
|
|
1635
2123
|
scrollbarInteractive: _angular_core.InputSignal<boolean>;
|
|
2124
|
+
private _overlappingScrollbarOptions;
|
|
2125
|
+
/**
|
|
2126
|
+
* Determines whether the scroll bar will overlap the list. The default value is "false".
|
|
2127
|
+
*/
|
|
2128
|
+
overlappingScrollbar: _angular_core.InputSignal<boolean>;
|
|
1636
2129
|
private _scrollBehaviorOptions;
|
|
1637
2130
|
/**
|
|
1638
2131
|
* Defines the scrolling behavior for any element on the page. The default value is "smooth".
|
|
@@ -1643,15 +2136,81 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1643
2136
|
* Scrolling settings.
|
|
1644
2137
|
* - frictionalForce - Frictional force. Default value is 0.035.
|
|
1645
2138
|
* - mass - Mass. Default value is 0.005.
|
|
1646
|
-
* - maxDistance - Maximum scrolling distance. Default value is
|
|
2139
|
+
* - maxDistance - Maximum scrolling distance. Default value is 100000.
|
|
1647
2140
|
* - maxDuration - Maximum animation duration. Default value is 4000.
|
|
1648
|
-
* - speedScale - Speed scale. Default value is
|
|
2141
|
+
* - speedScale - Speed scale. Default value is 10.
|
|
1649
2142
|
* - optimization - Enables scrolling performance optimization. Default value is `true`.
|
|
1650
2143
|
*/
|
|
1651
2144
|
scrollingSettings: _angular_core.InputSignal<IScrollingSettings>;
|
|
2145
|
+
private _itemTransformOptions;
|
|
2146
|
+
/**
|
|
2147
|
+
* Custom transformation of element's position, rotation, scale, opacity and zIndex. The default value is `null`.
|
|
2148
|
+
*/
|
|
2149
|
+
itemTransform: _angular_core.InputSignal<ItemTransform | null>;
|
|
2150
|
+
private _snapToItemOptions;
|
|
2151
|
+
/**
|
|
2152
|
+
* Snap to an item. The default value is `false`.
|
|
2153
|
+
*/
|
|
2154
|
+
snapToItem: _angular_core.InputSignal<boolean>;
|
|
2155
|
+
private _snapToItemAlignOptions;
|
|
2156
|
+
/**
|
|
2157
|
+
* Alignment for snapToItem. Available values are `start`, `center`, and `end`. The default value is `center`.
|
|
2158
|
+
*/
|
|
2159
|
+
snapToItemAlign: _angular_core.InputSignal<SnapToItemAlign>;
|
|
2160
|
+
private _snappingDistanceOptions;
|
|
2161
|
+
/**
|
|
2162
|
+
* Snapping activation distance. Can be specified as a percentage of the element size or in absolute values.
|
|
2163
|
+
* The default value is `25%`.
|
|
2164
|
+
*/
|
|
2165
|
+
snappingDistance: _angular_core.InputSignal<SnappingDistance>;
|
|
2166
|
+
private _scrollingOneByOneOptions;
|
|
2167
|
+
/**
|
|
2168
|
+
* Specifies whether to scroll one item at a time if true and the scrollToItem property is set. The default value is `false`.
|
|
2169
|
+
*/
|
|
2170
|
+
scrollingOneByOne: _angular_core.InputSignal<boolean>;
|
|
2171
|
+
private _alignmentOptions;
|
|
2172
|
+
/**
|
|
2173
|
+
* Determines the alignment of the list. Two modes are available: `none` and `center`. The `center` mode aligns the list items to the center of the viewport, ideal for use with the `itemTransform` property.
|
|
2174
|
+
* The `none` mode means no alignment. The default value is `none`.
|
|
2175
|
+
*/
|
|
2176
|
+
alignment: _angular_core.InputSignal<Alignment>;
|
|
2177
|
+
private _zIndexWhenSelectingOptions;
|
|
2178
|
+
/**
|
|
2179
|
+
* Defines the zIndex when a list item is selected. The default value is `null`.
|
|
2180
|
+
*/
|
|
2181
|
+
zIndexWhenSelecting: _angular_core.InputSignal<string | null>;
|
|
2182
|
+
private _spreadingModeOptions;
|
|
2183
|
+
/**
|
|
2184
|
+
* The order of list elements. Available values are `standard` and `infinity`.
|
|
2185
|
+
* `normal` — list elements are ordered according to the collection sequence.
|
|
2186
|
+
* `infinity` — list elements are ordered cyclically, forming an infinite list.
|
|
2187
|
+
* When set to `infinity`, the `alignment` property is forced to the value `Alignments.CENTER`, the `scrollbarEnabled` property is forced to the `false`
|
|
2188
|
+
* The default value is `standard`.
|
|
2189
|
+
*/
|
|
2190
|
+
spreadingMode: _angular_core.InputSignal<SpreadingMode>;
|
|
2191
|
+
private _dividesOptions;
|
|
2192
|
+
/**
|
|
2193
|
+
* Column or row numbers. The default value is `1`.
|
|
2194
|
+
*/
|
|
2195
|
+
divides: _angular_core.InputSignal<number>;
|
|
2196
|
+
private _motionBlurOptions;
|
|
2197
|
+
/**
|
|
2198
|
+
* Motion blur effect. The default value is `0.15`.
|
|
2199
|
+
*/
|
|
2200
|
+
motionBlur: _angular_core.InputSignal<number>;
|
|
2201
|
+
private _maxMotionBlurOptions;
|
|
2202
|
+
/**
|
|
2203
|
+
* Maximum motion blur effect. The default value is `0.5`.
|
|
2204
|
+
*/
|
|
2205
|
+
maxMotionBlur: _angular_core.InputSignal<number>;
|
|
2206
|
+
private _motionBlurEnabledOptions;
|
|
2207
|
+
/**
|
|
2208
|
+
* Determines whether to apply motion blur or not. The default value is `false`.
|
|
2209
|
+
*/
|
|
2210
|
+
motionBlurEnabled: _angular_core.InputSignal<boolean>;
|
|
1652
2211
|
private _animationParamsOptions;
|
|
1653
2212
|
/**
|
|
1654
|
-
* Animation parameters. The default value is "{ scrollToItem: 50, navigateToItem: 150 }".
|
|
2213
|
+
* Animation parameters. The default value is "{ scrollToItem: 50, snapToItem: 150, navigateToItem: 150, navigateByKeyboard: 50 }".
|
|
1655
2214
|
*/
|
|
1656
2215
|
animationParams: _angular_core.InputSignal<IAnimationParams>;
|
|
1657
2216
|
private _overscrollEnabledOptions;
|
|
@@ -1675,12 +2234,13 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1675
2234
|
private _itemRenderer;
|
|
1676
2235
|
private _itemConfigMapOptions;
|
|
1677
2236
|
/**
|
|
1678
|
-
* Sets `sticky` position, `collapsable` and `selectable` for the list item element. If `sticky` position is greater than `0`, then `sticky` position is applied.
|
|
2237
|
+
* Sets `sticky` position, `fullSize`, `collapsable` and `selectable` for the list item element. If `sticky` position is greater than `0`, then `sticky` position is applied.
|
|
1679
2238
|
* If the `sticky` value is greater than `0`, then the `sticky` position mode is enabled for the element. `1` - position start, `2` - position end.
|
|
1680
2239
|
* Default value is `0`.
|
|
1681
2240
|
* `selectable` determines whether an element can be selected or not. Default value is `true`.
|
|
1682
2241
|
* `collapsable` determines whether an element with a `sticky` property greater than zero can collapse and
|
|
1683
2242
|
* collapse elements in front that do not have a `sticky` property.
|
|
2243
|
+
* `fullSize` determines the size of an element when rendering lists with cell divisions. If sticky is 1 or 2, fullSize automatically becomes true. The default value is false.
|
|
1684
2244
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/models/item-config-map.model.ts
|
|
1685
2245
|
* @author Evgenii Alexandrovich Grebennikov
|
|
1686
2246
|
* @email djonnyx@gmail.com
|
|
@@ -1689,10 +2249,23 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1689
2249
|
private _itemSizeOptions;
|
|
1690
2250
|
/**
|
|
1691
2251
|
* If direction = 'vertical', then the height of a typical element. If direction = 'horizontal', then the width of a typical element.
|
|
1692
|
-
* If the dynamicSize property is true, the items in the list can have different sizes, and you must specify the itemSize property
|
|
2252
|
+
* If the `dynamicSize` property is true, the items in the list can have different sizes, and you must specify the `itemSize` property
|
|
1693
2253
|
* to adjust the sizes of the items in the unallocated area.
|
|
2254
|
+
* If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
|
|
1694
2255
|
*/
|
|
1695
|
-
itemSize: _angular_core.InputSignal<number>;
|
|
2256
|
+
itemSize: _angular_core.InputSignal<number | "viewport">;
|
|
2257
|
+
private _minItemSizeOptions;
|
|
2258
|
+
/**
|
|
2259
|
+
* If the `dynamicSize` property is enabled, the minimum size of the element is set.
|
|
2260
|
+
* If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
|
|
2261
|
+
*/
|
|
2262
|
+
minItemSize: _angular_core.InputSignal<number | "viewport">;
|
|
2263
|
+
private _maxItemSizeOptions;
|
|
2264
|
+
/**
|
|
2265
|
+
* If the `dynamicSize` property is enabled, the maximum size of the element is set.
|
|
2266
|
+
* If the value is 'viewport', the sizes of elements are automatically resized to fit the viewport size.
|
|
2267
|
+
*/
|
|
2268
|
+
maxItemSize: _angular_core.InputSignal<number | "viewport">;
|
|
1696
2269
|
private _dynamicSizeOptions;
|
|
1697
2270
|
/**
|
|
1698
2271
|
* If true, items in the list may have different sizes, and the itemSize property must be specified to adjust
|
|
@@ -1729,14 +2302,29 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1729
2302
|
* 'advanced' - A mask is applied to the viewport area so that the background is displayed underneath the attached group.
|
|
1730
2303
|
*/
|
|
1731
2304
|
snappingMethod: _angular_core.InputSignal<SnappingMethod>;
|
|
2305
|
+
private _collapsingModeOptions;
|
|
2306
|
+
/**
|
|
2307
|
+
* Mode for collapsing list items.
|
|
2308
|
+
* `none` - List items are not selectable.
|
|
2309
|
+
* `multi-collapse` - List items are collapsed one by one.
|
|
2310
|
+
* 'accordion' - Accordion collapsible list items.
|
|
2311
|
+
* Default value is `multi-collapse
|
|
2312
|
+
*/
|
|
2313
|
+
collapsingMode: _angular_core.InputSignal<CollapsingMode>;
|
|
1732
2314
|
private _methodForSelectingOptions;
|
|
2315
|
+
/**
|
|
2316
|
+
* @deprecated
|
|
2317
|
+
* The "methodForSelecting" property is deprecated. Use the "selectMode" property.
|
|
2318
|
+
*/
|
|
2319
|
+
methodForSelecting: _angular_core.InputSignal<SelectingMode>;
|
|
2320
|
+
private _selectingModeOptions;
|
|
1733
2321
|
/**
|
|
1734
2322
|
* Method for selecting list items. Default value is 'none'.
|
|
1735
2323
|
* 'select' - List items are selected one by one.
|
|
1736
2324
|
* 'multi-select' - Multiple selection of list items.
|
|
1737
2325
|
* 'none' - List items are not selectable.
|
|
1738
2326
|
*/
|
|
1739
|
-
|
|
2327
|
+
selectingMode: _angular_core.InputSignal<SelectingMode>;
|
|
1740
2328
|
private _trackByOptions;
|
|
1741
2329
|
/**
|
|
1742
2330
|
* The name of the property by which tracking is performed
|
|
@@ -1757,10 +2345,12 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1757
2345
|
* Can be either "ltr" (left-to-right) or "rtl" (right-to-left).
|
|
1758
2346
|
*/
|
|
1759
2347
|
langTextDir: _angular_core.InputSignal<TextDirection>;
|
|
1760
|
-
private
|
|
1761
|
-
private
|
|
1762
|
-
private
|
|
2348
|
+
private _isSingleSelection;
|
|
2349
|
+
private _isMultiSelection;
|
|
2350
|
+
private _isMultipleCollapse;
|
|
2351
|
+
private _isAccordionCollapse;
|
|
1763
2352
|
private _isSnappingMethodAdvanced;
|
|
2353
|
+
protected _isInfinity: Signal<boolean>;
|
|
1764
2354
|
private _isVertical;
|
|
1765
2355
|
protected get isVertical(): boolean;
|
|
1766
2356
|
protected readonly focusedElement: _angular_core.WritableSignal<Id | null>;
|
|
@@ -1773,11 +2363,28 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1773
2363
|
private _snappedDisplayComponents;
|
|
1774
2364
|
private _bounds;
|
|
1775
2365
|
protected get bounds(): _angular_core.WritableSignal<ISize | null>;
|
|
2366
|
+
protected _actualScrollbarEnabled: Signal<boolean>;
|
|
2367
|
+
private _actualAlignment;
|
|
2368
|
+
protected get actualAlignment(): Signal<Alignment>;
|
|
2369
|
+
private _actualItemSize;
|
|
2370
|
+
protected get actualItemSize(): _angular_core.WritableSignal<number>;
|
|
2371
|
+
private _actualMinItemSize;
|
|
2372
|
+
protected get actualMinItemSize(): _angular_core.WritableSignal<number>;
|
|
2373
|
+
private _actualMaxItemSize;
|
|
2374
|
+
protected get actualMaxItemSize(): _angular_core.WritableSignal<number>;
|
|
1776
2375
|
private _totalSize;
|
|
1777
2376
|
private _listBounds;
|
|
1778
|
-
private
|
|
2377
|
+
private _$scrollSize;
|
|
1779
2378
|
private _isScrollStart;
|
|
1780
2379
|
private _isScrollEnd;
|
|
2380
|
+
protected _precalculatedScrollStartOffset: _angular_core.WritableSignal<number>;
|
|
2381
|
+
protected _precalculatedScrollEndOffset: _angular_core.WritableSignal<number>;
|
|
2382
|
+
protected _actualScrollStartOffset: _angular_core.WritableSignal<number>;
|
|
2383
|
+
protected _actualScrollEndOffset: _angular_core.WritableSignal<number>;
|
|
2384
|
+
protected _actualSnapScrollToStart: Signal<boolean>;
|
|
2385
|
+
protected _actualSnapScrollToEnd: Signal<boolean>;
|
|
2386
|
+
protected _alignmentScrollStartOffset: _angular_core.WritableSignal<number>;
|
|
2387
|
+
protected _alignmentScrollEndOffset: _angular_core.WritableSignal<number>;
|
|
1781
2388
|
private _resizeSnappedComponentHandler;
|
|
1782
2389
|
private _resizeSnappedObserver;
|
|
1783
2390
|
private focusItem;
|
|
@@ -1814,7 +2421,6 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1814
2421
|
protected readonly $preventScrollSnapping: rxjs.Observable<boolean>;
|
|
1815
2422
|
private _destroyRef;
|
|
1816
2423
|
private _updateId;
|
|
1817
|
-
private _scrollStateUpdateIndex;
|
|
1818
2424
|
private _readyForShow;
|
|
1819
2425
|
private _cached;
|
|
1820
2426
|
private _isLoading;
|
|
@@ -1824,7 +2430,6 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1824
2430
|
private readonly $viewInit;
|
|
1825
2431
|
private _$destroy;
|
|
1826
2432
|
private readonly $destroy;
|
|
1827
|
-
protected getScrollStateVersion(totalSize: number, scrollSize: number, cacheVersion: number): string;
|
|
1828
2433
|
constructor();
|
|
1829
2434
|
ngAfterViewInit(): void;
|
|
1830
2435
|
private onAfterResize;
|
|
@@ -1832,9 +2437,12 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1832
2437
|
private snappingHandler;
|
|
1833
2438
|
private emitScrollEvent;
|
|
1834
2439
|
private getIsSnappingMethodAdvanced;
|
|
1835
|
-
private
|
|
1836
|
-
private
|
|
1837
|
-
private
|
|
2440
|
+
private getIsNoneSelection;
|
|
2441
|
+
private getIsSingleSelection;
|
|
2442
|
+
private getIsMultiSelection;
|
|
2443
|
+
private getIsNoneCollapse;
|
|
2444
|
+
private getIsMultipleCollapse;
|
|
2445
|
+
private getIsAccordionCollapse;
|
|
1838
2446
|
private getIsVertical;
|
|
1839
2447
|
private getIsLazy;
|
|
1840
2448
|
private createDisplayComponentsIfNeed;
|
|
@@ -1887,58 +2495,90 @@ declare class NgVirtualListComponent implements OnDestroy {
|
|
|
1887
2495
|
ngOnDestroy(): void;
|
|
1888
2496
|
private dispose;
|
|
1889
2497
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgVirtualListComponent, never>;
|
|
1890
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; "isSignal": true; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "waitForPreparation": { "alias": "waitForPreparation"; "required": false; "isSignal": true; }; "clickDistance": { "alias": "clickDistance"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "defaultItemValue": { "alias": "defaultItemValue"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "collapsedIds": { "alias": "collapsedIds"; "required": false; "isSignal": true; }; "selectByClick": { "alias": "selectByClick"; "required": false; "isSignal": true; }; "collapseByClick": { "alias": "collapseByClick"; "required": false; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "snapToEndTransitionInstantOffset": { "alias": "snapToEndTransitionInstantOffset"; "required": false; "isSignal": true; }; "scrollStartOffset": { "alias": "scrollStartOffset"; "required": false; "isSignal": true; }; "scrollEndOffset": { "alias": "scrollEndOffset"; "required": false; "isSignal": true; }; "snapScrollToStart": { "alias": "snapScrollToStart"; "required": false; "isSignal": true; }; "snapScrollToEnd": { "alias": "snapScrollToEnd"; "required": false; "isSignal": true; }; "snapScrollToBottom": { "alias": "snapScrollToBottom"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; "isSignal": true; }; "scrollingSettings": { "alias": "scrollingSettings"; "required": false; "isSignal": true; }; "animationParams": { "alias": "animationParams"; "required": false; "isSignal": true; }; "overscrollEnabled": { "alias": "overscrollEnabled"; "required": false; "isSignal": true; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": true; "isSignal": true; }; "itemConfigMap": { "alias": "itemConfigMap"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "dynamicSize": { "alias": "dynamicSize"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "collectionMode": { "alias": "collectionMode"; "required": false; "isSignal": true; }; "bufferSize": { "alias": "bufferSize"; "required": false; "isSignal": true; }; "maxBufferSize": { "alias": "maxBufferSize"; "required": false; "isSignal": true; }; "snappingMethod": { "alias": "snappingMethod"; "required": false; "isSignal": true; }; "methodForSelecting": { "alias": "methodForSelecting"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "screenReaderMessage": { "alias": "screenReaderMessage"; "required": false; "isSignal": true; }; "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false, never>;
|
|
2498
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgVirtualListComponent, "ng-virtual-list", never, { "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; "isSignal": true; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "waitForPreparation": { "alias": "waitForPreparation"; "required": false; "isSignal": true; }; "clickDistance": { "alias": "clickDistance"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "defaultItemValue": { "alias": "defaultItemValue"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "collapsedIds": { "alias": "collapsedIds"; "required": false; "isSignal": true; }; "selectByClick": { "alias": "selectByClick"; "required": false; "isSignal": true; }; "collapseByClick": { "alias": "collapseByClick"; "required": false; "isSignal": true; }; "snap": { "alias": "snap"; "required": false; "isSignal": true; }; "stickyEnabled": { "alias": "stickyEnabled"; "required": false; "isSignal": true; }; "snapToEndTransitionInstantOffset": { "alias": "snapToEndTransitionInstantOffset"; "required": false; "isSignal": true; }; "scrollStartOffset": { "alias": "scrollStartOffset"; "required": false; "isSignal": true; }; "scrollEndOffset": { "alias": "scrollEndOffset"; "required": false; "isSignal": true; }; "snapScrollToStart": { "alias": "snapScrollToStart"; "required": false; "isSignal": true; }; "snapScrollToEnd": { "alias": "snapScrollToEnd"; "required": false; "isSignal": true; }; "snapScrollToBottom": { "alias": "snapScrollToBottom"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; "isSignal": true; }; "overlappingScrollbar": { "alias": "overlappingScrollbar"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; "isSignal": true; }; "scrollingSettings": { "alias": "scrollingSettings"; "required": false; "isSignal": true; }; "itemTransform": { "alias": "itemTransform"; "required": false; "isSignal": true; }; "snapToItem": { "alias": "snapToItem"; "required": false; "isSignal": true; }; "snapToItemAlign": { "alias": "snapToItemAlign"; "required": false; "isSignal": true; }; "snappingDistance": { "alias": "snappingDistance"; "required": false; "isSignal": true; }; "scrollingOneByOne": { "alias": "scrollingOneByOne"; "required": false; "isSignal": true; }; "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "zIndexWhenSelecting": { "alias": "zIndexWhenSelecting"; "required": false; "isSignal": true; }; "spreadingMode": { "alias": "spreadingMode"; "required": false; "isSignal": true; }; "divides": { "alias": "divides"; "required": false; "isSignal": true; }; "motionBlur": { "alias": "motionBlur"; "required": false; "isSignal": true; }; "maxMotionBlur": { "alias": "maxMotionBlur"; "required": false; "isSignal": true; }; "motionBlurEnabled": { "alias": "motionBlurEnabled"; "required": false; "isSignal": true; }; "animationParams": { "alias": "animationParams"; "required": false; "isSignal": true; }; "overscrollEnabled": { "alias": "overscrollEnabled"; "required": false; "isSignal": true; }; "enabledBufferOptimization": { "alias": "enabledBufferOptimization"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": true; "isSignal": true; }; "itemConfigMap": { "alias": "itemConfigMap"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "minItemSize": { "alias": "minItemSize"; "required": false; "isSignal": true; }; "maxItemSize": { "alias": "maxItemSize"; "required": false; "isSignal": true; }; "dynamicSize": { "alias": "dynamicSize"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "collectionMode": { "alias": "collectionMode"; "required": false; "isSignal": true; }; "bufferSize": { "alias": "bufferSize"; "required": false; "isSignal": true; }; "maxBufferSize": { "alias": "maxBufferSize"; "required": false; "isSignal": true; }; "snappingMethod": { "alias": "snappingMethod"; "required": false; "isSignal": true; }; "collapsingMode": { "alias": "collapsingMode"; "required": false; "isSignal": true; }; "methodForSelecting": { "alias": "methodForSelecting"; "required": false; "isSignal": true; }; "selectingMode": { "alias": "selectingMode"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "screenReaderMessage": { "alias": "screenReaderMessage"; "required": false; "isSignal": true; }; "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; }, { "onScroll": "onScroll"; "onScrollEnd": "onScrollEnd"; "onViewportChange": "onViewportChange"; "onSnapItem": "onSnapItem"; "onItemClick": "onItemClick"; "onSelect": "onSelect"; "onCollapse": "onCollapse"; "onScrollReachStart": "onScrollReachStart"; "onScrollReachEnd": "onScrollReachEnd"; }, never, never, false, never>;
|
|
1891
2499
|
}
|
|
1892
2500
|
|
|
1893
2501
|
/**
|
|
1894
|
-
*
|
|
2502
|
+
* VirtualClickDirective
|
|
1895
2503
|
* Maximum performance for extremely large lists.
|
|
1896
2504
|
* It is based on algorithms for virtualization of screen objects.
|
|
1897
2505
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/directives/item-click/item-click.directive.ts
|
|
1898
2506
|
* @author Evgenii Alexandrovich Grebennikov
|
|
1899
2507
|
* @email djonnyx@gmail.com
|
|
1900
2508
|
*/
|
|
1901
|
-
declare class
|
|
2509
|
+
declare class VirtualClickDirective {
|
|
1902
2510
|
private _maxDistance;
|
|
1903
2511
|
set maxDistance(v: number | string);
|
|
1904
|
-
|
|
2512
|
+
onVirtualClick: _angular_core.OutputEmitterRef<PointerEvent | TouchEvent>;
|
|
1905
2513
|
private _elementRef;
|
|
1906
2514
|
private _destroyRef;
|
|
1907
2515
|
constructor();
|
|
1908
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1909
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<
|
|
2516
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VirtualClickDirective, never>;
|
|
2517
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<VirtualClickDirective, "[virtualClick]", never, { "maxDistance": { "alias": "maxClickDistance"; "required": false; }; }, { "onVirtualClick": "onVirtualClick"; }, never, never, false, never>;
|
|
1910
2518
|
}
|
|
1911
2519
|
|
|
1912
|
-
declare class
|
|
1913
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1914
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<
|
|
1915
|
-
static ɵinj: _angular_core.ɵɵInjectorDeclaration<
|
|
2520
|
+
declare class VirtualClickModule {
|
|
2521
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VirtualClickModule, never>;
|
|
2522
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<VirtualClickModule, [typeof VirtualClickDirective], [typeof i2.CommonModule], [typeof VirtualClickDirective]>;
|
|
2523
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<VirtualClickModule>;
|
|
1916
2524
|
}
|
|
1917
2525
|
|
|
1918
2526
|
declare class NgVirtualListItemModule {
|
|
1919
2527
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgVirtualListItemModule, never>;
|
|
1920
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NgVirtualListItemModule, [typeof NgVirtualListItemComponent], [typeof i2.CommonModule, typeof
|
|
2528
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NgVirtualListItemModule, [typeof NgVirtualListItemComponent], [typeof i2.CommonModule, typeof VirtualClickModule], [typeof NgVirtualListItemComponent]>;
|
|
1921
2529
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<NgVirtualListItemModule>;
|
|
1922
2530
|
}
|
|
1923
2531
|
|
|
2532
|
+
/**
|
|
2533
|
+
* Easing
|
|
2534
|
+
* @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/utils/animator/types/easing.ts
|
|
2535
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
2536
|
+
* @email djonnyx@gmail.com
|
|
2537
|
+
*/
|
|
1924
2538
|
type Easing = (v: number) => number;
|
|
1925
2539
|
|
|
2540
|
+
/**
|
|
2541
|
+
* IAnimatorUpdateData
|
|
2542
|
+
* @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/utils/animator/interfaces/animator-update-data.ts
|
|
2543
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
2544
|
+
* @email djonnyx@gmail.com
|
|
2545
|
+
*/
|
|
2546
|
+
interface IAnimatorUpdateData {
|
|
2547
|
+
id: number;
|
|
2548
|
+
timestamp: number;
|
|
2549
|
+
elapsed: number;
|
|
2550
|
+
delta: number;
|
|
2551
|
+
value: number;
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2554
|
+
/**
|
|
2555
|
+
* IAnimatorParams
|
|
2556
|
+
* @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/utils/animator/interfaces/animator-params.ts
|
|
2557
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
2558
|
+
* @email djonnyx@gmail.com
|
|
2559
|
+
*/
|
|
1926
2560
|
interface IAnimatorParams {
|
|
1927
2561
|
startValue: number;
|
|
1928
2562
|
endValue: number;
|
|
1929
2563
|
duration?: number;
|
|
2564
|
+
withDelta?: boolean;
|
|
1930
2565
|
getPropValue?: () => number;
|
|
1931
2566
|
easingFunction?: Easing;
|
|
1932
2567
|
onUpdate?: (data: IAnimatorUpdateData) => void;
|
|
1933
2568
|
onComplete?: (data: IAnimatorUpdateData) => void;
|
|
1934
2569
|
}
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
2570
|
+
|
|
2571
|
+
/**
|
|
2572
|
+
* Animator
|
|
2573
|
+
* @link https://github.com/DjonnyX/data-channel-router/blob/main/library/src/utils/animator/animator.ts
|
|
2574
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
2575
|
+
* @email djonnyx@gmail.com
|
|
2576
|
+
*/
|
|
1940
2577
|
declare class Animator {
|
|
2578
|
+
private static _nextId;
|
|
1941
2579
|
private _animationId;
|
|
2580
|
+
private _currentId;
|
|
2581
|
+
private generateId;
|
|
1942
2582
|
animate(params: IAnimatorParams): void;
|
|
1943
2583
|
stop(): void;
|
|
1944
2584
|
dispose(): void;
|
|
@@ -1955,6 +2595,9 @@ interface IScrollToParams {
|
|
|
1955
2595
|
y?: number;
|
|
1956
2596
|
left?: number;
|
|
1957
2597
|
top?: number;
|
|
2598
|
+
snap?: boolean;
|
|
2599
|
+
normalize?: boolean;
|
|
2600
|
+
force?: boolean;
|
|
1958
2601
|
blending?: boolean;
|
|
1959
2602
|
behavior?: ScrollBehavior;
|
|
1960
2603
|
ease?: Easing;
|
|
@@ -1996,8 +2639,13 @@ declare class BaseScrollView {
|
|
|
1996
2639
|
readonly direction: _angular_core.InputSignal<ScrollerDirections$1>;
|
|
1997
2640
|
readonly startOffset: _angular_core.InputSignal<number>;
|
|
1998
2641
|
readonly endOffset: _angular_core.InputSignal<number>;
|
|
2642
|
+
readonly alignmentStartOffset: _angular_core.InputSignal<number>;
|
|
2643
|
+
readonly alignmentEndOffset: _angular_core.InputSignal<number>;
|
|
2644
|
+
readonly isInfinity: _angular_core.InputSignal<boolean>;
|
|
1999
2645
|
readonly isVertical: Signal<boolean>;
|
|
2000
2646
|
readonly grabbing: _angular_core.WritableSignal<boolean>;
|
|
2647
|
+
protected _inversion: boolean;
|
|
2648
|
+
protected _overscrollEnabled: boolean;
|
|
2001
2649
|
protected _$updateScrollBar: Subject<void>;
|
|
2002
2650
|
protected $updateScrollBar: rxjs.Observable<void>;
|
|
2003
2651
|
get scrollable(): boolean;
|
|
@@ -2013,6 +2661,10 @@ declare class BaseScrollView {
|
|
|
2013
2661
|
protected _actualTotalSize: number;
|
|
2014
2662
|
protected _totalSize: number;
|
|
2015
2663
|
set totalSize(v: number);
|
|
2664
|
+
get totalSize(): number;
|
|
2665
|
+
protected _startLayoutOffset: number;
|
|
2666
|
+
set startLayoutOffset(v: number);
|
|
2667
|
+
get startLayoutOffset(): number;
|
|
2016
2668
|
get actualScrollHeight(): number;
|
|
2017
2669
|
get actualScrollWidth(): number;
|
|
2018
2670
|
protected _actualX: number;
|
|
@@ -2025,13 +2677,32 @@ declare class BaseScrollView {
|
|
|
2025
2677
|
get scrollHeight(): number;
|
|
2026
2678
|
readonly viewportBounds: _angular_core.WritableSignal<ISize>;
|
|
2027
2679
|
readonly contentBounds: _angular_core.WritableSignal<ISize>;
|
|
2028
|
-
protected
|
|
2680
|
+
protected _isCoordinatesOverrided: boolean;
|
|
2029
2681
|
constructor();
|
|
2030
2682
|
tick(): void;
|
|
2683
|
+
protected overrideCoordinates(x: number, y: number): void;
|
|
2684
|
+
protected normalizeScrollSize(): boolean;
|
|
2031
2685
|
protected onResizeViewport(): void;
|
|
2032
|
-
protected onResizeContent(): void;
|
|
2686
|
+
protected onResizeContent(value?: number | null): void;
|
|
2033
2687
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseScrollView, never>;
|
|
2034
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseScrollView, "base-scroll-view", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2688
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseScrollView, "base-scroll-view", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "alignmentStartOffset": { "alias": "alignmentStartOffset"; "required": false; "isSignal": true; }; "alignmentEndOffset": { "alias": "alignmentEndOffset"; "required": false; "isSignal": true; }; "isInfinity": { "alias": "isInfinity"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2689
|
+
}
|
|
2690
|
+
|
|
2691
|
+
/**
|
|
2692
|
+
* ScrollingDirection
|
|
2693
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/utils/scrolling-direction.ts
|
|
2694
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
2695
|
+
* @email djonnyx@gmail.com
|
|
2696
|
+
*/
|
|
2697
|
+
declare class ScrollingDirection {
|
|
2698
|
+
private _length;
|
|
2699
|
+
private _value;
|
|
2700
|
+
private _$direction;
|
|
2701
|
+
readonly $direction: rxjs.Observable<ScrollDirection>;
|
|
2702
|
+
constructor(_length?: number);
|
|
2703
|
+
add(v: ScrollDirection): void;
|
|
2704
|
+
get(): ScrollDirection;
|
|
2705
|
+
clear(): void;
|
|
2035
2706
|
}
|
|
2036
2707
|
|
|
2037
2708
|
/**
|
|
@@ -2044,44 +2715,84 @@ declare class BaseScrollView {
|
|
|
2044
2715
|
*/
|
|
2045
2716
|
declare class NgScrollView extends BaseScrollView {
|
|
2046
2717
|
readonly cdkScrollable: CdkScrollable | undefined;
|
|
2718
|
+
protected _service: NgVirtualListService;
|
|
2047
2719
|
readonly scrollBehavior: _angular_core.InputSignal<ScrollBehavior>;
|
|
2048
2720
|
readonly overscrollEnabled: _angular_core.InputSignal<boolean>;
|
|
2049
2721
|
readonly scrollingSettings: _angular_core.InputSignal<IScrollingSettings>;
|
|
2722
|
+
readonly snapToItem: _angular_core.InputSignal<boolean>;
|
|
2723
|
+
readonly scrollingOneByOne: _angular_core.InputSignal<boolean>;
|
|
2724
|
+
readonly snapToItemAlign: _angular_core.InputSignal<SnapToItemAlign>;
|
|
2725
|
+
readonly snappingDistance: _angular_core.InputSignal<SnappingDistance>;
|
|
2726
|
+
readonly animationParams: _angular_core.InputSignal<IAnimationParams>;
|
|
2050
2727
|
protected _normalizeValueFromZero: boolean;
|
|
2728
|
+
protected _isScrollsTo: boolean;
|
|
2729
|
+
protected _scrollDirection: ScrollingDirection;
|
|
2730
|
+
get scrollDirection(): ng_virtual_list.ScrollDirection;
|
|
2731
|
+
get $scrollDirection(): rxjs.Observable<ng_virtual_list.ScrollDirection>;
|
|
2732
|
+
protected _$wheel: Subject<number>;
|
|
2733
|
+
readonly $wheel: rxjs.Observable<number>;
|
|
2051
2734
|
protected _$scroll: Subject<boolean>;
|
|
2052
2735
|
readonly $scroll: rxjs.Observable<boolean>;
|
|
2053
2736
|
protected _$scrollEnd: Subject<boolean>;
|
|
2054
2737
|
readonly $scrollEnd: rxjs.Observable<boolean>;
|
|
2738
|
+
protected _velocities: Array<number>;
|
|
2739
|
+
protected _$velocity: BehaviorSubject<number>;
|
|
2740
|
+
protected $velocity: rxjs.Observable<number>;
|
|
2741
|
+
get velocity(): number;
|
|
2742
|
+
protected _$averageVelocity: BehaviorSubject<number>;
|
|
2743
|
+
protected $averageVelocity: rxjs.Observable<number>;
|
|
2744
|
+
get averageVelocity(): number;
|
|
2745
|
+
private _measureVelocityTimestamp;
|
|
2746
|
+
private _measureVelocityLastPosition;
|
|
2055
2747
|
private _startPosition;
|
|
2056
2748
|
protected _animator: Animator;
|
|
2057
2749
|
protected _interactive: boolean;
|
|
2058
2750
|
private _overscrollIteration;
|
|
2751
|
+
set x(v: number);
|
|
2752
|
+
get x(): number;
|
|
2753
|
+
protected setX(x: number, snap?: boolean, normalize?: boolean): void;
|
|
2754
|
+
set y(v: number);
|
|
2755
|
+
get y(): number;
|
|
2756
|
+
protected setY(y: number, snap?: boolean, normalize?: boolean): void;
|
|
2757
|
+
protected _delta: number;
|
|
2059
2758
|
set delta(v: number);
|
|
2759
|
+
set startLayoutOffset(v: number);
|
|
2760
|
+
get startLayoutOffset(): number;
|
|
2761
|
+
protected _intersectionComponentId: Id | null;
|
|
2762
|
+
protected _isAlignmentAnimation: boolean;
|
|
2060
2763
|
constructor();
|
|
2764
|
+
protected updateDirection(position: number, prePosition: number): void;
|
|
2765
|
+
protected overrideCoordinates(x: number, y: number): void;
|
|
2766
|
+
protected measureVelocity(): void;
|
|
2767
|
+
protected stopMoving(): void;
|
|
2768
|
+
private snapIfNecessary;
|
|
2769
|
+
protected snapWithInitialForceIfNecessary(v0?: number | null, animated?: boolean, force?: boolean): boolean;
|
|
2061
2770
|
private calculatePosition;
|
|
2062
2771
|
private cancelOverscroll;
|
|
2063
2772
|
private checkOverscrollByAxis;
|
|
2064
2773
|
private checkOverscroll;
|
|
2065
2774
|
private calculateVelocity;
|
|
2066
2775
|
private calculateAcceleration;
|
|
2067
|
-
stopScrolling(): void;
|
|
2776
|
+
stopScrolling(force?: boolean): void;
|
|
2068
2777
|
protected move(isVertical: boolean, position: number, blending?: boolean, userAction?: boolean, fireUpdate?: boolean): void;
|
|
2069
2778
|
protected moveWithAcceleration(isVertical: boolean, position: number, v0: number, v: number, a0: number, timestamp: number): void;
|
|
2070
2779
|
protected normalizeValue(value: number): number;
|
|
2071
|
-
protected animate(startValue: number, endValue: number, duration?: number, easingFunction?: Easing, userAction?: boolean): void;
|
|
2780
|
+
protected animate(startValue: number, endValue: number, duration?: number, easingFunction?: Easing, userAction?: boolean, alignmentAtComplete?: boolean, skipOverridedCoordinates?: boolean): void;
|
|
2781
|
+
protected getSnappedComponentSize(): number | null;
|
|
2782
|
+
protected alignPosition(animated?: boolean, force?: boolean): boolean;
|
|
2783
|
+
protected checkIntersectionComponent(): void;
|
|
2072
2784
|
protected onAnimationComplete(position: number): void;
|
|
2073
2785
|
fireScroll(userAction?: boolean): void;
|
|
2074
|
-
scrollLimits(value?: number | undefined): boolean;
|
|
2786
|
+
scrollLimits(value?: number | undefined, silent?: boolean): boolean;
|
|
2075
2787
|
scroll(params: IScrollToParams): void;
|
|
2076
2788
|
protected emitScrollableEvent(): void;
|
|
2077
|
-
|
|
2078
|
-
refreshY(value: number): void;
|
|
2789
|
+
refreshCoordinate(x: number, y: number): void;
|
|
2079
2790
|
protected fireScrollEvent(userAction: boolean): void;
|
|
2080
2791
|
protected onDragStart(): void;
|
|
2081
2792
|
reset(offset?: number): void;
|
|
2082
2793
|
ngOnDestroy(): void;
|
|
2083
2794
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgScrollView, never>;
|
|
2084
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollView, "ng-scroll-view", never, { "scrollBehavior": { "alias": "scrollBehavior"; "required": false; "isSignal": true; }; "overscrollEnabled": { "alias": "overscrollEnabled"; "required": false; "isSignal": true; }; "scrollingSettings": { "alias": "scrollingSettings"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2795
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollView, "ng-scroll-view", never, { "scrollBehavior": { "alias": "scrollBehavior"; "required": false; "isSignal": true; }; "overscrollEnabled": { "alias": "overscrollEnabled"; "required": false; "isSignal": true; }; "scrollingSettings": { "alias": "scrollingSettings"; "required": false; "isSignal": true; }; "snapToItem": { "alias": "snapToItem"; "required": false; "isSignal": true; }; "scrollingOneByOne": { "alias": "scrollingOneByOne"; "required": false; "isSignal": true; }; "snapToItemAlign": { "alias": "snapToItemAlign"; "required": false; "isSignal": true; }; "snappingDistance": { "alias": "snappingDistance"; "required": false; "isSignal": true; }; "animationParams": { "alias": "animationParams"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2085
2796
|
}
|
|
2086
2797
|
|
|
2087
2798
|
/**
|
|
@@ -2153,7 +2864,7 @@ declare class NgScrollBarService {
|
|
|
2153
2864
|
*/
|
|
2154
2865
|
declare class NgScrollBarComponent extends NgScrollView {
|
|
2155
2866
|
protected _defaultRenderer: Signal<TemplateRef<any> | undefined>;
|
|
2156
|
-
protected
|
|
2867
|
+
protected _scrollBarService: NgScrollBarService;
|
|
2157
2868
|
private _apiService;
|
|
2158
2869
|
readonly loading: _angular_core.InputSignal<boolean>;
|
|
2159
2870
|
readonly onDrag: _angular_core.OutputEmitterRef<IScrollBarDragEvent>;
|
|
@@ -2163,7 +2874,9 @@ declare class NgScrollBarComponent extends NgScrollView {
|
|
|
2163
2874
|
readonly thickness: _angular_core.InputSignal<number>;
|
|
2164
2875
|
readonly scrollbarMinSize: _angular_core.InputSignal<number>;
|
|
2165
2876
|
readonly prepared: _angular_core.InputSignal<boolean>;
|
|
2877
|
+
readonly langTextDir: _angular_core.InputSignal<TextDirection>;
|
|
2166
2878
|
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
2879
|
+
readonly overlapping: _angular_core.InputSignal<boolean>;
|
|
2167
2880
|
readonly show: _angular_core.InputSignal<boolean>;
|
|
2168
2881
|
readonly params: _angular_core.InputSignal<{
|
|
2169
2882
|
[propName: string]: any;
|
|
@@ -2186,7 +2899,7 @@ declare class NgScrollBarComponent extends NgScrollView {
|
|
|
2186
2899
|
private thumbHit;
|
|
2187
2900
|
click(event: PointerEvent | MouseEvent): void;
|
|
2188
2901
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgScrollBarComponent, never>;
|
|
2189
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollBarComponent, "ng-scroll-bar", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "thumbGradientPositions": { "alias": "thumbGradientPositions"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "prepared": { "alias": "prepared"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "params": { "alias": "params"; "required": false; "isSignal": true; }; "renderer": { "alias": "renderer"; "required": false; "isSignal": true; }; }, { "onDrag": "onDrag"; "onDragEnd": "onDragEnd"; }, never, never, false, never>;
|
|
2902
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollBarComponent, "ng-scroll-bar", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "thumbGradientPositions": { "alias": "thumbGradientPositions"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "prepared": { "alias": "prepared"; "required": false; "isSignal": true; }; "langTextDir": { "alias": "langTextDir"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "overlapping": { "alias": "overlapping"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "params": { "alias": "params"; "required": false; "isSignal": true; }; "renderer": { "alias": "renderer"; "required": false; "isSignal": true; }; }, { "onDrag": "onDrag"; "onDragEnd": "onDragEnd"; }, never, never, false, never>;
|
|
2190
2903
|
}
|
|
2191
2904
|
|
|
2192
2905
|
/**
|
|
@@ -2197,12 +2910,14 @@ declare class NgScrollBarComponent extends NgScrollView {
|
|
|
2197
2910
|
* @author Evgenii Alexandrovich Grebennikov
|
|
2198
2911
|
* @email djonnyx@gmail.com
|
|
2199
2912
|
*/
|
|
2200
|
-
declare class NgScrollerComponent extends NgScrollView
|
|
2913
|
+
declare class NgScrollerComponent extends NgScrollView {
|
|
2201
2914
|
readonly scrollBar: NgScrollBarComponent | undefined;
|
|
2915
|
+
readonly filter: Signal<ElementRef<SVGFEGaussianBlurElement> | undefined>;
|
|
2202
2916
|
readonly onScrollbarVisible: _angular_core.OutputEmitterRef<boolean>;
|
|
2203
2917
|
readonly scrollbarEnabled: _angular_core.InputSignal<boolean>;
|
|
2204
2918
|
readonly scrollbarInteractive: _angular_core.InputSignal<boolean>;
|
|
2205
2919
|
readonly focusedElement: _angular_core.InputSignal<Id | null>;
|
|
2920
|
+
readonly overlappingScrollbar: _angular_core.InputSignal<boolean>;
|
|
2206
2921
|
readonly content: _angular_core.InputSignal<HTMLElement | undefined>;
|
|
2207
2922
|
readonly loading: _angular_core.InputSignal<boolean>;
|
|
2208
2923
|
readonly classes: _angular_core.InputSignal<{
|
|
@@ -2214,6 +2929,9 @@ declare class NgScrollerComponent extends NgScrollView implements OnDestroy {
|
|
|
2214
2929
|
readonly scrollbarThumbParams: _angular_core.InputSignal<{
|
|
2215
2930
|
[propName: string]: any;
|
|
2216
2931
|
} | null>;
|
|
2932
|
+
readonly motionBlur: _angular_core.InputSignal<number | "disabled">;
|
|
2933
|
+
readonly maxMotionBlur: _angular_core.InputSignal<number>;
|
|
2934
|
+
readonly motionBlurEnabled: _angular_core.InputSignal<boolean>;
|
|
2217
2935
|
readonly actualClasses: Signal<{
|
|
2218
2936
|
[cName: string]: boolean;
|
|
2219
2937
|
}>;
|
|
@@ -2224,42 +2942,33 @@ declare class NgScrollerComponent extends NgScrollView implements OnDestroy {
|
|
|
2224
2942
|
readonly thumbSize: _angular_core.WritableSignal<number>;
|
|
2225
2943
|
readonly scrollbarShow: _angular_core.WritableSignal<boolean>;
|
|
2226
2944
|
readonly preparedSignal: _angular_core.WritableSignal<boolean>;
|
|
2227
|
-
private _service;
|
|
2228
2945
|
readonly langTextDir: _angular_core.WritableSignal<TextDirection>;
|
|
2946
|
+
readonly listStyles: _angular_core.WritableSignal<{
|
|
2947
|
+
perspectiveOrigin: string;
|
|
2948
|
+
}>;
|
|
2229
2949
|
private _scrollBox;
|
|
2230
2950
|
get host(): HTMLDivElement | undefined;
|
|
2231
2951
|
private _$scrollbarScroll;
|
|
2232
2952
|
readonly $scrollbarScroll: rxjs.Observable<boolean>;
|
|
2233
2953
|
private _prepared;
|
|
2234
2954
|
set prepared(v: boolean);
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
set
|
|
2238
|
-
get
|
|
2955
|
+
protected setX(x: number, snap?: boolean, normalize?: boolean): void;
|
|
2956
|
+
protected setY(y: number, snap?: boolean, normalize?: boolean): void;
|
|
2957
|
+
set startLayoutOffset(v: number);
|
|
2958
|
+
get startLayoutOffset(): number;
|
|
2239
2959
|
readonly viewInitialized: _angular_core.WritableSignal<boolean>;
|
|
2240
2960
|
private _isScrollbarUserAction;
|
|
2241
2961
|
get isScrollbarUserAction(): boolean;
|
|
2242
|
-
private _measureVelocityTimestamp;
|
|
2243
|
-
private _measureVelocityLastPosition;
|
|
2244
|
-
private _measureVelocityAnimationFrameId;
|
|
2245
|
-
private _measureVelocityAnimationTimer;
|
|
2246
|
-
private _velocities;
|
|
2247
|
-
protected _velocity: number;
|
|
2248
|
-
get velocity(): number;
|
|
2249
|
-
protected _averageVelocity: number;
|
|
2250
|
-
get averageVelocity(): number;
|
|
2251
|
-
private _measureVelocityHandler;
|
|
2252
2962
|
protected _$resizeViewport: Subject<ISize>;
|
|
2253
2963
|
readonly $resizeViewport: rxjs.Observable<ISize>;
|
|
2254
2964
|
protected _$resizeContent: Subject<ISize>;
|
|
2255
2965
|
readonly $resizeContent: rxjs.Observable<ISize>;
|
|
2966
|
+
protected _filterId: string;
|
|
2967
|
+
protected _filter: string;
|
|
2256
2968
|
constructor();
|
|
2969
|
+
private recalculatePerspective;
|
|
2257
2970
|
protected onResizeViewport(): void;
|
|
2258
|
-
protected onResizeContent(): void;
|
|
2259
|
-
private measureVelocity;
|
|
2260
|
-
private measureVelocityExecutor;
|
|
2261
|
-
stopMeasureVelocity(): void;
|
|
2262
|
-
private runMeasureVelocity;
|
|
2971
|
+
protected onResizeContent(value?: number | null): void;
|
|
2263
2972
|
private updateScrollBarHandler;
|
|
2264
2973
|
ngAfterViewInit(): void;
|
|
2265
2974
|
tick(): void;
|
|
@@ -2268,15 +2977,19 @@ declare class NgScrollerComponent extends NgScrollView implements OnDestroy {
|
|
|
2268
2977
|
protected onDragStart(): void;
|
|
2269
2978
|
reset(): void;
|
|
2270
2979
|
refresh(fireUpdate?: boolean, updateScrollbar?: boolean): void;
|
|
2980
|
+
snapIfNeed(animated?: boolean): void;
|
|
2981
|
+
startScrollTo(): void;
|
|
2982
|
+
finishedScrollTo(): void;
|
|
2271
2983
|
scrollTo(params: IScrollToParams): void;
|
|
2272
2984
|
stopScrollbar(): void;
|
|
2985
|
+
private dropVelocity;
|
|
2986
|
+
protected stopMoving(): void;
|
|
2273
2987
|
protected onAnimationComplete(position: number): void;
|
|
2274
2988
|
onScrollBarDragHandler(event: IScrollBarDragEvent): void;
|
|
2275
2989
|
onScrollBarDragEndHandler(event: IScrollBarDragEvent): void;
|
|
2276
2990
|
private fireUpdateIfEdgesDetected;
|
|
2277
|
-
ngOnDestroy(): void;
|
|
2278
2991
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgScrollerComponent, never>;
|
|
2279
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollerComponent, "ng-scroller", never, { "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; "isSignal": true; }; "focusedElement": { "alias": "focusedElement"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; "isSignal": true; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; "isSignal": true; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; "isSignal": true; }; }, { "onScrollbarVisible": "onScrollbarVisible"; }, never, ["*"], false, never>;
|
|
2992
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgScrollerComponent, "ng-scroller", never, { "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "scrollbarInteractive": { "alias": "scrollbarInteractive"; "required": false; "isSignal": true; }; "focusedElement": { "alias": "focusedElement"; "required": false; "isSignal": true; }; "overlappingScrollbar": { "alias": "overlappingScrollbar"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "scrollbarMinSize": { "alias": "scrollbarMinSize"; "required": false; "isSignal": true; }; "scrollbarThickness": { "alias": "scrollbarThickness"; "required": false; "isSignal": true; }; "scrollbarThumbRenderer": { "alias": "scrollbarThumbRenderer"; "required": false; "isSignal": true; }; "scrollbarThumbParams": { "alias": "scrollbarThumbParams"; "required": false; "isSignal": true; }; "motionBlur": { "alias": "motionBlur"; "required": false; "isSignal": true; }; "maxMotionBlur": { "alias": "maxMotionBlur"; "required": false; "isSignal": true; }; "motionBlurEnabled": { "alias": "motionBlurEnabled"; "required": false; "isSignal": true; }; }, { "onScrollbarVisible": "onScrollbarVisible"; }, never, ["*"], false, never>;
|
|
2280
2993
|
}
|
|
2281
2994
|
|
|
2282
2995
|
declare class NgScrollBarModule {
|
|
@@ -2322,10 +3035,10 @@ declare class NgScrollerModule {
|
|
|
2322
3035
|
}
|
|
2323
3036
|
|
|
2324
3037
|
/**
|
|
2325
|
-
*
|
|
3038
|
+
* NgPrerenderContainer
|
|
2326
3039
|
* Maximum performance for extremely large lists.
|
|
2327
3040
|
* It is based on algorithms for virtualization of screen objects.
|
|
2328
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/ng-prerender-container/ng-prerender-container.component.ts
|
|
3041
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/ng-prerender-container.component.ts
|
|
2329
3042
|
* @author Evgenii Alexandrovich Grebennikov
|
|
2330
3043
|
* @email djonnyx@gmail.com
|
|
2331
3044
|
*/
|
|
@@ -2341,6 +3054,7 @@ declare class NgPrerenderContainer {
|
|
|
2341
3054
|
dynamic: _angular_core.InputSignal<boolean>;
|
|
2342
3055
|
itemSize: _angular_core.InputSignal<number>;
|
|
2343
3056
|
trackBy: _angular_core.InputSignal<string>;
|
|
3057
|
+
divides: _angular_core.InputSignal<number>;
|
|
2344
3058
|
itemRenderer: _angular_core.InputSignal<TemplateRef<any> | undefined>;
|
|
2345
3059
|
readonly $render: Observable<PrerenderCache>;
|
|
2346
3060
|
get active(): boolean;
|
|
@@ -2349,14 +3063,14 @@ declare class NgPrerenderContainer {
|
|
|
2349
3063
|
on(items?: IVirtualListCollection | null): void;
|
|
2350
3064
|
off(): void;
|
|
2351
3065
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgPrerenderContainer, never>;
|
|
2352
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgPrerenderContainer, "ng-prerender-container", never, { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "isVertical": { "alias": "isVertical"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": true; "isSignal": true; }; "dynamic": { "alias": "dynamic"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
3066
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgPrerenderContainer, "ng-prerender-container", never, { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "isVertical": { "alias": "isVertical"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": true; "isSignal": true; }; "dynamic": { "alias": "dynamic"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "divides": { "alias": "divides"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
2353
3067
|
}
|
|
2354
3068
|
|
|
2355
3069
|
/**
|
|
2356
|
-
*
|
|
3070
|
+
* NgPrerenderList
|
|
2357
3071
|
* Maximum performance for extremely large lists.
|
|
2358
3072
|
* It is based on algorithms for virtualization of screen objects.
|
|
2359
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/prerender-container/components/prerender-list/prerender-list.component.ts
|
|
3073
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.ts
|
|
2360
3074
|
* @author Evgenii Alexandrovich Grebennikov
|
|
2361
3075
|
* @email djonnyx@gmail.com
|
|
2362
3076
|
*/
|
|
@@ -2372,6 +3086,7 @@ declare class NgPrerenderList implements OnDestroy {
|
|
|
2372
3086
|
dynamic: _angular_core.InputSignal<boolean>;
|
|
2373
3087
|
itemSize: _angular_core.InputSignal<number>;
|
|
2374
3088
|
trackBy: _angular_core.InputSignal<string>;
|
|
3089
|
+
divides: _angular_core.InputSignal<number>;
|
|
2375
3090
|
itemRenderer: _angular_core.InputSignal<TemplateRef<any> | undefined>;
|
|
2376
3091
|
itemComponentClass: _angular_core.InputSignal<Component$1<BaseVirtualListItemComponent>>;
|
|
2377
3092
|
protected _items: _angular_core.WritableSignal<IVirtualListCollection<Object> | null>;
|
|
@@ -2402,14 +3117,14 @@ declare class NgPrerenderList implements OnDestroy {
|
|
|
2402
3117
|
ngOnDestroy(): void;
|
|
2403
3118
|
dispose(): void;
|
|
2404
3119
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgPrerenderList, never>;
|
|
2405
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgPrerenderList, "ng-prerender-list", never, { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "isVertical": { "alias": "isVertical"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": true; "isSignal": true; }; "dynamic": { "alias": "dynamic"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": false; "isSignal": true; }; "itemComponentClass": { "alias": "itemComponentClass"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
3120
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgPrerenderList, "ng-prerender-list", never, { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "isVertical": { "alias": "isVertical"; "required": false; "isSignal": true; }; "scrollbarEnabled": { "alias": "scrollbarEnabled"; "required": false; "isSignal": true; }; "startOffset": { "alias": "startOffset"; "required": false; "isSignal": true; }; "endOffset": { "alias": "endOffset"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": true; "isSignal": true; }; "dynamic": { "alias": "dynamic"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "divides": { "alias": "divides"; "required": false; "isSignal": true; }; "itemRenderer": { "alias": "itemRenderer"; "required": false; "isSignal": true; }; "itemComponentClass": { "alias": "itemComponentClass"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
2406
3121
|
}
|
|
2407
3122
|
|
|
2408
3123
|
/**
|
|
2409
|
-
*
|
|
3124
|
+
* NgPrerenderVirtualListItemComponent
|
|
2410
3125
|
* Maximum performance for extremely large lists.
|
|
2411
3126
|
* It is based on algorithms for virtualization of screen objects.
|
|
2412
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/components/ng-prerender-list-item.component.ts
|
|
3127
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.ts
|
|
2413
3128
|
* @author Evgenii Alexandrovich Grebennikov
|
|
2414
3129
|
* @email djonnyx@gmail.com
|
|
2415
3130
|
*/
|
|
@@ -2423,15 +3138,15 @@ declare class NgPrerenderVirtualListItemComponent extends NgVirtualListItemCompo
|
|
|
2423
3138
|
|
|
2424
3139
|
declare class NgPrerenderVirtualListItemModule {
|
|
2425
3140
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgPrerenderVirtualListItemModule, never>;
|
|
2426
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NgPrerenderVirtualListItemModule, [typeof NgPrerenderVirtualListItemComponent], [typeof i2.CommonModule, typeof
|
|
3141
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NgPrerenderVirtualListItemModule, [typeof NgPrerenderVirtualListItemComponent], [typeof i2.CommonModule, typeof VirtualClickModule], [typeof NgPrerenderVirtualListItemComponent]>;
|
|
2427
3142
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<NgPrerenderVirtualListItemModule>;
|
|
2428
3143
|
}
|
|
2429
3144
|
|
|
2430
3145
|
/**
|
|
2431
|
-
*
|
|
3146
|
+
* NgPrerenderScrollerComponent
|
|
2432
3147
|
* Maximum performance for extremely large lists.
|
|
2433
3148
|
* It is based on algorithms for virtualization of screen objects.
|
|
2434
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/prerender-container/prerender-scroller/prerender-scroller.component.ts
|
|
3149
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/21.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.ts
|
|
2435
3150
|
* @author Evgenii Alexandrovich Grebennikov
|
|
2436
3151
|
* @email djonnyx@gmail.com
|
|
2437
3152
|
*/
|
|
@@ -2488,6 +3203,173 @@ declare class NgVirtualListModule {
|
|
|
2488
3203
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<NgVirtualListModule>;
|
|
2489
3204
|
}
|
|
2490
3205
|
|
|
3206
|
+
interface ISwipe3DOptions {
|
|
3207
|
+
/**
|
|
3208
|
+
* Depth Of Field. Default value is `null`.
|
|
3209
|
+
*/
|
|
3210
|
+
dof?: number;
|
|
3211
|
+
/**
|
|
3212
|
+
* Fog color. Default value is `null`.
|
|
3213
|
+
*/
|
|
3214
|
+
fogColor?: Color;
|
|
3215
|
+
/**
|
|
3216
|
+
* Fog weight. Default value is `null`.
|
|
3217
|
+
*/
|
|
3218
|
+
fogWeight?: number;
|
|
3219
|
+
/**
|
|
3220
|
+
* Spacing between items. Default value is `0.5`.
|
|
3221
|
+
*/
|
|
3222
|
+
spacingBetweenItems?: number;
|
|
3223
|
+
/**
|
|
3224
|
+
* Angle of inclination. Default value is `1`.
|
|
3225
|
+
*/
|
|
3226
|
+
angle?: number;
|
|
3227
|
+
/**
|
|
3228
|
+
* Depth. Default value is `1.5`.
|
|
3229
|
+
*/
|
|
3230
|
+
depth?: number;
|
|
3231
|
+
/**
|
|
3232
|
+
* Depth exponent. Default value is `4`.
|
|
3233
|
+
*/
|
|
3234
|
+
depthPow?: number;
|
|
3235
|
+
}
|
|
3236
|
+
|
|
3237
|
+
interface IDeckOfCards3DOptions {
|
|
3238
|
+
/**
|
|
3239
|
+
* Depth Of Field. Default value is `null`.
|
|
3240
|
+
*/
|
|
3241
|
+
dof?: number;
|
|
3242
|
+
/**
|
|
3243
|
+
* Fog color. Default value is `null`.
|
|
3244
|
+
*/
|
|
3245
|
+
fogColor?: Color;
|
|
3246
|
+
/**
|
|
3247
|
+
* Fog weight. Default value is `null`.
|
|
3248
|
+
*/
|
|
3249
|
+
fogWeight?: number;
|
|
3250
|
+
/**
|
|
3251
|
+
* Spacing between items. Default value is `0.5`.
|
|
3252
|
+
*/
|
|
3253
|
+
spacingBetweenItems?: number;
|
|
3254
|
+
/**
|
|
3255
|
+
* Angle of inclination. Default value is `1`.
|
|
3256
|
+
*/
|
|
3257
|
+
angle?: number;
|
|
3258
|
+
/**
|
|
3259
|
+
* Depth. Default value is `0.15`.
|
|
3260
|
+
*/
|
|
3261
|
+
depth?: number;
|
|
3262
|
+
/**
|
|
3263
|
+
* Scale. Default value is `0.15`.
|
|
3264
|
+
*/
|
|
3265
|
+
scale?: number;
|
|
3266
|
+
/**
|
|
3267
|
+
* Scale X. Default value is `null`.
|
|
3268
|
+
*/
|
|
3269
|
+
scaleX?: number | null;
|
|
3270
|
+
/**
|
|
3271
|
+
* Scale Y. Default value is `null`.
|
|
3272
|
+
*/
|
|
3273
|
+
scaleY?: number | null;
|
|
3274
|
+
/**
|
|
3275
|
+
* Depth exponent. Default value is `4`.
|
|
3276
|
+
*/
|
|
3277
|
+
depthPow?: number;
|
|
3278
|
+
/**
|
|
3279
|
+
* Sinusoidal distribution. Default value is `false`.
|
|
3280
|
+
*/
|
|
3281
|
+
sineWave?: boolean;
|
|
3282
|
+
}
|
|
3283
|
+
|
|
3284
|
+
interface IDeckOfCardsOptions {
|
|
3285
|
+
/**
|
|
3286
|
+
* Depth Of Field. Default value is `null`.
|
|
3287
|
+
*/
|
|
3288
|
+
dof?: number;
|
|
3289
|
+
/**
|
|
3290
|
+
* Fog color. Default value is `null`.
|
|
3291
|
+
*/
|
|
3292
|
+
fogColor?: Color;
|
|
3293
|
+
/**
|
|
3294
|
+
* Fog weight. Default value is `null`.
|
|
3295
|
+
*/
|
|
3296
|
+
fogWeight?: number;
|
|
3297
|
+
/**
|
|
3298
|
+
* Spacing between items. Default value is `0.5`.
|
|
3299
|
+
*/
|
|
3300
|
+
spacingBetweenItems?: number;
|
|
3301
|
+
/**
|
|
3302
|
+
* Depth. Default value is `0.15`.
|
|
3303
|
+
*/
|
|
3304
|
+
depth?: number;
|
|
3305
|
+
/**
|
|
3306
|
+
* Scale. Default value is `0.15`.
|
|
3307
|
+
*/
|
|
3308
|
+
scale?: number;
|
|
3309
|
+
/**
|
|
3310
|
+
* Scale X. Default value is `null`.
|
|
3311
|
+
*/
|
|
3312
|
+
scaleX?: number | null;
|
|
3313
|
+
/**
|
|
3314
|
+
* Scale Y. Default value is `null`.
|
|
3315
|
+
*/
|
|
3316
|
+
scaleY?: number | null;
|
|
3317
|
+
/**
|
|
3318
|
+
* Depth exponent. Default value is `4`.
|
|
3319
|
+
*/
|
|
3320
|
+
depthPow?: number;
|
|
3321
|
+
/**
|
|
3322
|
+
* Sinusoidal distribution. Default value is `false`.
|
|
3323
|
+
*/
|
|
3324
|
+
sineWave?: boolean;
|
|
3325
|
+
}
|
|
3326
|
+
|
|
3327
|
+
interface ILintearOptions {
|
|
3328
|
+
/**
|
|
3329
|
+
* Depth Of Field. Default value is `null`.
|
|
3330
|
+
*/
|
|
3331
|
+
dof?: number;
|
|
3332
|
+
/**
|
|
3333
|
+
* Fog color. Default value is `null`.
|
|
3334
|
+
*/
|
|
3335
|
+
fogColor?: Color;
|
|
3336
|
+
/**
|
|
3337
|
+
* Fog weight. Default value is `null`.
|
|
3338
|
+
*/
|
|
3339
|
+
fogWeight?: number;
|
|
3340
|
+
/**
|
|
3341
|
+
* Spacing between items. Default value is `0.5`.
|
|
3342
|
+
*/
|
|
3343
|
+
spacingBetweenItems?: number;
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3346
|
+
interface IEventHorizonOptions {
|
|
3347
|
+
/**
|
|
3348
|
+
* Depth Of Field. Default value is `null`.
|
|
3349
|
+
*/
|
|
3350
|
+
dof?: number;
|
|
3351
|
+
/**
|
|
3352
|
+
* Fog color. Default value is `null`.
|
|
3353
|
+
*/
|
|
3354
|
+
fogColor?: Color;
|
|
3355
|
+
/**
|
|
3356
|
+
* Fog weight. Default value is `null`.
|
|
3357
|
+
*/
|
|
3358
|
+
fogWeight?: number;
|
|
3359
|
+
/**
|
|
3360
|
+
* Spacing between items. Default value is `0.5`.
|
|
3361
|
+
*/
|
|
3362
|
+
spacingBetweenItems?: number;
|
|
3363
|
+
}
|
|
3364
|
+
|
|
3365
|
+
declare const ItemTransformations: {
|
|
3366
|
+
EVENT_HORIZON: (options?: IEventHorizonOptions) => ng_virtual_list.ItemTransform;
|
|
3367
|
+
LINEAR: (options?: ILintearOptions) => ng_virtual_list.ItemTransform;
|
|
3368
|
+
DECK_OF_CARDS: (options?: IDeckOfCardsOptions) => ng_virtual_list.ItemTransform;
|
|
3369
|
+
DECK_OF_CARDS_3D: (options?: IDeckOfCards3DOptions) => ng_virtual_list.ItemTransform;
|
|
3370
|
+
SWIPE_3D: (options?: ISwipe3DOptions) => ng_virtual_list.ItemTransform;
|
|
3371
|
+
};
|
|
3372
|
+
|
|
2491
3373
|
interface IDebounce {
|
|
2492
3374
|
/**
|
|
2493
3375
|
* Call handling method
|
|
@@ -2568,5 +3450,5 @@ declare class ScrollEvent implements IScrollEvent {
|
|
|
2568
3450
|
constructor(params: IScrollEventParams);
|
|
2569
3451
|
}
|
|
2570
3452
|
|
|
2571
|
-
export {
|
|
2572
|
-
export type { CollectionMode, Direction, FocusAlignment, GradientColorPosition, GradientColorPositions, IAnimationParams, IDebounce, IDisplayObjectConfig, IDisplayObjectMeasures, IRect, IRenderStabilizerOptions, IRenderVirtualListItem, IRenderVirtualListItemConfig, IRenderVirtualListItemMeasures, IScrollEvent, IScrollOptions, IScrollParams, IScrollingSettings, ISize, IVirtualListCollection, IVirtualListItem, IVirtualListItemConfig, IVirtualListItemConfigMap, Id,
|
|
3453
|
+
export { Alignments, CollapsingModes, CollectionModes, Directions, FocusAlignments, ItemTransformations, NgScrollBarPublicService, NgVirtualListComponent, NgVirtualListItemComponent, NgVirtualListModule, NgVirtualListPublicService, NgVirtualListService, ScrollEvent, ScrollbarStates, SelectingModes, SnapToItemAligns, SnappingMethods, SpreadingModes, TextDirections, VirtualClickDirective, VirtualClickModule, debounce, toggleClassName };
|
|
3454
|
+
export type { Alignment, ArithmeticExpression, CollapsingMode, CollectionMode, Color, Direction, FloatOrPersentageValue, FocusAlignment, GradientColorPosition, GradientColorPositions, IAnimationParams, IDebounce, IDisplayObjectConfig, IDisplayObjectMeasures, IItemTransformation, IPoint, IRect, IRenderStabilizerOptions, IRenderVirtualListItem, IRenderVirtualListItemConfig, IRenderVirtualListItemMeasures, IScrollEvent, IScrollOptions, IScrollParams, IScrollingSettings, ISize, IVirtualListCollection, IVirtualListItem, IVirtualListItemConfig, IVirtualListItemConfigMap, Id, ItemTransform, ScrollDirection, ScrollbarState, SelectingMode, SnapToItemAlign, SnappingDistance, SnappingMethod, SpreadingMode, TextDirection };
|