ngx-virtual-dnd 3.2.0 → 3.3.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/fesm2022/ngx-virtual-dnd.mjs +2214 -733
- package/fesm2022/ngx-virtual-dnd.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngx-virtual-dnd.d.ts +96 -34
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, InjectionToken, OnDestroy, OnInit, AfterViewInit, TemplateRef, ElementRef, WritableSignal } from '@angular/core';
|
|
2
|
+
import { Signal, InjectionToken, OnDestroy, OnChanges, OnInit, AfterViewInit, AfterViewChecked, TemplateRef, ElementRef, WritableSignal } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Represents the item currently being dragged.
|
|
@@ -49,9 +49,13 @@ interface DragState {
|
|
|
49
49
|
sourceIndex: number | null;
|
|
50
50
|
/** ID of the droppable currently being hovered over */
|
|
51
51
|
activeDroppableId: string | null;
|
|
52
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* `END_OF_LIST` while a droppable is targeted, otherwise null.
|
|
54
|
+
* @deprecated It never identifies an item. Use `placeholderIndex`. Will be removed in the next
|
|
55
|
+
* major version.
|
|
56
|
+
*/
|
|
53
57
|
placeholderId: string | null;
|
|
54
|
-
/** Index where the placeholder should be inserted
|
|
58
|
+
/** Index where the placeholder should be inserted */
|
|
55
59
|
placeholderIndex: number | null;
|
|
56
60
|
/** Current cursor position */
|
|
57
61
|
cursorPosition: CursorPosition | null;
|
|
@@ -100,7 +104,11 @@ interface DropSource {
|
|
|
100
104
|
interface DropDestination {
|
|
101
105
|
/** ID of the droppable container receiving the item */
|
|
102
106
|
droppableId: string;
|
|
103
|
-
/**
|
|
107
|
+
/**
|
|
108
|
+
* The library always sets `END_OF_LIST`.
|
|
109
|
+
* @deprecated It never identifies an item. Use `index` for the insertion position. Will be
|
|
110
|
+
* removed in the next major version.
|
|
111
|
+
*/
|
|
104
112
|
placeholderId: string;
|
|
105
113
|
/** Target index in the destination list */
|
|
106
114
|
index: number;
|
|
@@ -108,7 +116,8 @@ interface DropDestination {
|
|
|
108
116
|
data?: unknown;
|
|
109
117
|
}
|
|
110
118
|
/**
|
|
111
|
-
* Event emitted when an item is dropped
|
|
119
|
+
* Event emitted by the destination droppable when an item is dropped on it: at release,
|
|
120
|
+
* right after the dragged item's `DragEndEvent` and before the next render.
|
|
112
121
|
*/
|
|
113
122
|
interface DropEvent {
|
|
114
123
|
/** Information about where the item came from */
|
|
@@ -150,7 +159,9 @@ interface DragEndEvent {
|
|
|
150
159
|
/** ID of the droppable container the item originated from */
|
|
151
160
|
droppableId: string;
|
|
152
161
|
/**
|
|
153
|
-
* Whether the drag was
|
|
162
|
+
* Whether the drag was cancelled: Escape, Tab during a keyboard drag, or, during a pointer
|
|
163
|
+
* drag, the window losing focus, the page being hidden or the system cancelling the touch
|
|
164
|
+
* (`touchcancel`). Releasing over no valid
|
|
154
165
|
* target (outside any droppable, or over a disabled droppable) is NOT a cancel —
|
|
155
166
|
* it reports `cancelled: false` with `destinationIndex: null`. Branch on
|
|
156
167
|
* `destinationIndex === null` to detect "no drop occurred".
|
|
@@ -163,7 +174,7 @@ interface DragEndEvent {
|
|
|
163
174
|
/**
|
|
164
175
|
* Final 0-indexed insertion position, or `null` when there is no valid drop target —
|
|
165
176
|
* a cancelled drag, a release outside every droppable, or a release over a disabled
|
|
166
|
-
* droppable. A non-null value pairs with
|
|
177
|
+
* droppable. A non-null value pairs with the `DropEvent` the destination emits right after.
|
|
167
178
|
*/
|
|
168
179
|
destinationIndex: number | null;
|
|
169
180
|
}
|
|
@@ -172,7 +183,10 @@ interface DragEndEvent {
|
|
|
172
183
|
*/
|
|
173
184
|
declare const INITIAL_DRAG_STATE: DragState;
|
|
174
185
|
/**
|
|
175
|
-
*
|
|
186
|
+
* The value of every `placeholderId` the library sets. Positions are reported as indexes
|
|
187
|
+
* (`placeholderIndex`, `DropDestination.index`).
|
|
188
|
+
* @deprecated Goes with the deprecated `placeholderId` fields. Use the indexes. Will be removed in
|
|
189
|
+
* the next major version.
|
|
176
190
|
*/
|
|
177
191
|
declare const END_OF_LIST = "END_OF_LIST";
|
|
178
192
|
|
|
@@ -230,6 +244,12 @@ declare class FixedHeightStrategy implements VirtualScrollStrategy {
|
|
|
230
244
|
getItemHeight(index: number): number;
|
|
231
245
|
setMeasuredHeight(key: unknown, height: number): void;
|
|
232
246
|
setItemKeys(keys: unknown[]): void;
|
|
247
|
+
/**
|
|
248
|
+
* Set the item count: all this strategy needs of the keys, so the library's containers skip
|
|
249
|
+
* computing them.
|
|
250
|
+
* @internal
|
|
251
|
+
*/
|
|
252
|
+
setItemCount(count: number): void;
|
|
233
253
|
setExcludedIndex(index: number | null): void;
|
|
234
254
|
findIndexAtOffset(offset: number): number;
|
|
235
255
|
getItemCount(): number;
|
|
@@ -392,7 +412,7 @@ declare const VDND_ANIMATION_CONFIG: InjectionToken<VdndAnimationConfig>;
|
|
|
392
412
|
*/
|
|
393
413
|
declare class DragStateService {
|
|
394
414
|
#private;
|
|
395
|
-
/** Whether the last drag was cancelled (
|
|
415
|
+
/** Whether the last drag was cancelled (a cancelled drag delivers no drop) */
|
|
396
416
|
readonly wasCancelled: _angular_core.Signal<boolean>;
|
|
397
417
|
/** Snapshot captured synchronously before the last drag reset. */
|
|
398
418
|
readonly endedDragState: _angular_core.Signal<DragState | null>;
|
|
@@ -408,7 +428,11 @@ declare class DragStateService {
|
|
|
408
428
|
readonly sourceIndex: _angular_core.Signal<number | null>;
|
|
409
429
|
/** ID of the droppable currently being hovered over */
|
|
410
430
|
readonly activeDroppableId: _angular_core.Signal<string | null>;
|
|
411
|
-
/**
|
|
431
|
+
/**
|
|
432
|
+
* `END_OF_LIST` while a droppable is targeted, otherwise null.
|
|
433
|
+
* @deprecated It never identifies an item. Use `placeholderIndex`. Will be removed in the next
|
|
434
|
+
* major version.
|
|
435
|
+
*/
|
|
412
436
|
readonly placeholderId: _angular_core.Signal<string | null>;
|
|
413
437
|
/** Index where the placeholder should be inserted */
|
|
414
438
|
readonly placeholderIndex: _angular_core.Signal<number | null>;
|
|
@@ -427,10 +451,12 @@ declare class DragStateService {
|
|
|
427
451
|
constructor();
|
|
428
452
|
/**
|
|
429
453
|
* Start a drag operation.
|
|
454
|
+
* `placeholderId` is deprecated with the `placeholderId` signal; the library passes `END_OF_LIST`.
|
|
430
455
|
*/
|
|
431
456
|
startDrag(item: DraggedItem, cursorPosition?: CursorPosition, grabOffset?: GrabOffset, lockAxis?: 'x' | 'y' | null, activeDroppableId?: string | null, placeholderId?: string | null, placeholderIndex?: number | null, sourceIndex?: number | null, isKeyboardDrag?: boolean, axisLockPosition?: CursorPosition): void;
|
|
432
457
|
/**
|
|
433
458
|
* Update the drag position and targets.
|
|
459
|
+
* `placeholderId` is deprecated with the `placeholderId` signal; the library passes `END_OF_LIST`.
|
|
434
460
|
*/
|
|
435
461
|
updateDragPosition(update: {
|
|
436
462
|
cursorPosition: CursorPosition;
|
|
@@ -443,7 +469,9 @@ declare class DragStateService {
|
|
|
443
469
|
*/
|
|
444
470
|
setActiveDroppable(droppableId: string | null): void;
|
|
445
471
|
/**
|
|
446
|
-
* Update just the placeholder
|
|
472
|
+
* Update just the placeholder ID.
|
|
473
|
+
* @deprecated Sets only the deprecated `placeholderId`. Will be removed in the next major
|
|
474
|
+
* version.
|
|
447
475
|
*/
|
|
448
476
|
setPlaceholder(placeholderId: string | null): void;
|
|
449
477
|
/**
|
|
@@ -452,10 +480,12 @@ declare class DragStateService {
|
|
|
452
480
|
* Used by the autoscroll scroll-only fast path: when a scroll fires, the cursor has not
|
|
453
481
|
* moved, so only the placeholder index needs recalculation. Skipping the cursor and
|
|
454
482
|
* active-droppable writes avoids spurious re-evaluation of computeds that read those signals.
|
|
483
|
+
* `placeholderId` is deprecated with the `placeholderId` signal; the library passes `END_OF_LIST`.
|
|
455
484
|
*/
|
|
456
485
|
updateScrollOnlyPlaceholder(placeholderId: string | null, placeholderIndex: number | null): void;
|
|
457
486
|
/**
|
|
458
|
-
* End the drag operation and reset state (normal drop)
|
|
487
|
+
* End the drag operation and reset state (normal drop), then deliver the drop: the target
|
|
488
|
+
* droppable (`activeDroppableId`) emits `drop` before this returns.
|
|
459
489
|
*/
|
|
460
490
|
endDrag(): void;
|
|
461
491
|
/**
|
|
@@ -489,6 +519,7 @@ declare class DragStateService {
|
|
|
489
519
|
*/
|
|
490
520
|
declare class PositionCalculatorService {
|
|
491
521
|
#private;
|
|
522
|
+
constructor();
|
|
492
523
|
/**
|
|
493
524
|
* Begin a drag session: snapshot the candidate droppables for `groupName` and
|
|
494
525
|
* their rects once, then watch for viewport changes (scroll/resize) that would
|
|
@@ -510,22 +541,22 @@ declare class PositionCalculatorService {
|
|
|
510
541
|
*/
|
|
511
542
|
invalidateDroppableRects(): void;
|
|
512
543
|
/**
|
|
513
|
-
* Re-
|
|
514
|
-
* rects. Unlike {@link invalidateDroppableRects} (which only refreshes
|
|
515
|
-
* picks up droppables added or removed since the snapshot was captured at
|
|
516
|
-
*
|
|
544
|
+
* Re-read the candidate droppable *list* for the active session from the registry and
|
|
545
|
+
* re-read their rects. Unlike {@link invalidateDroppableRects} (which only refreshes
|
|
546
|
+
* rects), this picks up droppables added or removed since the snapshot was captured at
|
|
547
|
+
* drag start. Registration changes already trigger it on the next hit-test; this is the
|
|
548
|
+
* manual escape hatch.
|
|
517
549
|
*
|
|
518
550
|
* Safe to call when no session is active (no-op).
|
|
519
551
|
*/
|
|
520
552
|
refreshCandidates(): void;
|
|
521
553
|
/**
|
|
522
554
|
* Signal that the set of droppables for `groupName` may have changed (a droppable
|
|
523
|
-
* registered or unregistered mid-drag). Defers the
|
|
524
|
-
*
|
|
525
|
-
* one has its data attributes applied — keeping this notification path cheap.
|
|
555
|
+
* registered or unregistered mid-drag). Defers the re-read to the next hit-test, keeping
|
|
556
|
+
* this notification path cheap.
|
|
526
557
|
*
|
|
527
|
-
* Called
|
|
528
|
-
*
|
|
558
|
+
* Called for every droppable registry change. No-op when the active session belongs to
|
|
559
|
+
* a different group or no session is active.
|
|
529
560
|
*/
|
|
530
561
|
notifyCandidatesChanged(groupName: string): void;
|
|
531
562
|
/**
|
|
@@ -547,8 +578,8 @@ declare class PositionCalculatorService {
|
|
|
547
578
|
/**
|
|
548
579
|
* Look up a droppable element by its ID.
|
|
549
580
|
*
|
|
550
|
-
* When a drag session is active, searches the cached candidate list
|
|
551
|
-
*
|
|
581
|
+
* When a drag session is active, searches the cached candidate list. Otherwise looks the
|
|
582
|
+
* ID up in the droppable registry. Neither queries the document.
|
|
552
583
|
*
|
|
553
584
|
* Intended for the autoscroll scroll-only fast path, where the active droppable is already
|
|
554
585
|
* known and only the placeholder index needs recalculation.
|
|
@@ -870,8 +901,14 @@ interface VirtualScrollItemContext<T> {
|
|
|
870
901
|
* </vdnd-virtual-scroll>
|
|
871
902
|
* ```
|
|
872
903
|
*/
|
|
873
|
-
declare class VirtualScrollContainerComponent<T> implements OnInit, AfterViewInit, OnDestroy {
|
|
904
|
+
declare class VirtualScrollContainerComponent<T> implements OnChanges, OnInit, AfterViewInit, AfterViewChecked, OnDestroy {
|
|
874
905
|
#private;
|
|
906
|
+
/** The template's spacer (cannot use ES private with viewChild) */
|
|
907
|
+
private readonly spacer;
|
|
908
|
+
/** The template's content wrapper (cannot use ES private with viewChild) */
|
|
909
|
+
private readonly contentWrapper;
|
|
910
|
+
/** Where #renderRows inserts the rows (cannot use ES private with viewChild) */
|
|
911
|
+
private readonly rowOutlet;
|
|
875
912
|
/** Template for rendering each item - passed as input instead of content child for reliability */
|
|
876
913
|
itemTemplate: _angular_core.InputSignal<TemplateRef<VirtualScrollItemContext<T>>>;
|
|
877
914
|
/** Unique ID for this scroll container (used for auto-scroll registration) */
|
|
@@ -918,6 +955,13 @@ declare class VirtualScrollContainerComponent<T> implements OnInit, AfterViewIni
|
|
|
918
955
|
* Required for placeholder positioning.
|
|
919
956
|
*/
|
|
920
957
|
droppableId: _angular_core.InputSignal<string | undefined>;
|
|
958
|
+
/**
|
|
959
|
+
* Reuse the views of rows that scroll out to render the rows that scroll in, instead of
|
|
960
|
+
* destroying them and creating new ones. Scrolling creates fewer components and elements, but
|
|
961
|
+
* a row's components, element and DOM state (focus aside) then carry over to other items.
|
|
962
|
+
* @default false
|
|
963
|
+
*/
|
|
964
|
+
recycleRows: _angular_core.InputSignal<boolean>;
|
|
921
965
|
/**
|
|
922
966
|
* Whether to automatically add the dragged item to the sticky list.
|
|
923
967
|
* This ensures the dragged item remains visible during virtual scrolling.
|
|
@@ -961,8 +1005,10 @@ declare class VirtualScrollContainerComponent<T> implements OnInit, AfterViewIni
|
|
|
961
1005
|
isDragging: boolean;
|
|
962
1006
|
}[]>;
|
|
963
1007
|
constructor();
|
|
1008
|
+
ngOnChanges(): void;
|
|
964
1009
|
ngOnInit(): void;
|
|
965
1010
|
ngAfterViewInit(): void;
|
|
1011
|
+
ngAfterViewChecked(): void;
|
|
966
1012
|
ngOnDestroy(): void;
|
|
967
1013
|
/**
|
|
968
1014
|
* Scroll to a specific position.
|
|
@@ -985,7 +1031,7 @@ declare class VirtualScrollContainerComponent<T> implements OnInit, AfterViewIni
|
|
|
985
1031
|
*/
|
|
986
1032
|
scrollBy(delta: number): void;
|
|
987
1033
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VirtualScrollContainerComponent<any>, never>;
|
|
988
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VirtualScrollContainerComponent<any>, "vdnd-virtual-scroll", never, { "itemTemplate": { "alias": "itemTemplate"; "required": true; "isSignal": true; }; "scrollContainerId": { "alias": "scrollContainerId"; "required": false; "isSignal": true; }; "autoScrollEnabled": { "alias": "autoScrollEnabled"; "required": false; "isSignal": true; }; "autoScrollConfig": { "alias": "autoScrollConfig"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": true; "isSignal": true; }; "dynamicItemHeight": { "alias": "dynamicItemHeight"; "required": false; "isSignal": true; }; "containerHeight": { "alias": "containerHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "stickyItemIds": { "alias": "stickyItemIds"; "required": false; "isSignal": true; }; "itemIdFn": { "alias": "itemIdFn"; "required": true; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "droppableId": { "alias": "droppableId"; "required": false; "isSignal": true; }; "autoStickyDraggedItem": { "alias": "autoStickyDraggedItem"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1034
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VirtualScrollContainerComponent<any>, "vdnd-virtual-scroll", never, { "itemTemplate": { "alias": "itemTemplate"; "required": true; "isSignal": true; }; "scrollContainerId": { "alias": "scrollContainerId"; "required": false; "isSignal": true; }; "autoScrollEnabled": { "alias": "autoScrollEnabled"; "required": false; "isSignal": true; }; "autoScrollConfig": { "alias": "autoScrollConfig"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": true; "isSignal": true; }; "dynamicItemHeight": { "alias": "dynamicItemHeight"; "required": false; "isSignal": true; }; "containerHeight": { "alias": "containerHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "stickyItemIds": { "alias": "stickyItemIds"; "required": false; "isSignal": true; }; "itemIdFn": { "alias": "itemIdFn"; "required": true; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "droppableId": { "alias": "droppableId"; "required": false; "isSignal": true; }; "recycleRows": { "alias": "recycleRows"; "required": false; "isSignal": true; }; "autoStickyDraggedItem": { "alias": "autoStickyDraggedItem"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
989
1035
|
}
|
|
990
1036
|
|
|
991
1037
|
/**
|
|
@@ -1040,12 +1086,11 @@ declare class DragPreviewComponent<T = unknown> implements OnDestroy {
|
|
|
1040
1086
|
protected readonly clonedElement: _angular_core.Signal<HTMLElement | null>;
|
|
1041
1087
|
constructor();
|
|
1042
1088
|
ngOnDestroy(): void;
|
|
1043
|
-
/**
|
|
1089
|
+
/**
|
|
1090
|
+
* Whether the preview is visible. A drag shows it once it has a position: `initialPosition`
|
|
1091
|
+
* is set from the drag-start cursor and, unlike `cursorPosition`, does not change per frame.
|
|
1092
|
+
*/
|
|
1044
1093
|
protected readonly isVisible: _angular_core.Signal<boolean>;
|
|
1045
|
-
/** Position of the preview */
|
|
1046
|
-
protected readonly position: _angular_core.Signal<CursorPosition>;
|
|
1047
|
-
/** Transform-based positioning for better performance (avoid layout from left/top). */
|
|
1048
|
-
protected readonly transform: _angular_core.Signal<string>;
|
|
1049
1094
|
/** Dimensions of the preview */
|
|
1050
1095
|
protected readonly dimensions: _angular_core.Signal<{
|
|
1051
1096
|
width: number;
|
|
@@ -1188,6 +1233,13 @@ declare class VirtualSortableListComponent<T> {
|
|
|
1188
1233
|
containerHeight: _angular_core.InputSignal<number | undefined>;
|
|
1189
1234
|
/** Number of items to render above/below the visible area */
|
|
1190
1235
|
overscan: _angular_core.InputSignal<number>;
|
|
1236
|
+
/**
|
|
1237
|
+
* Reuse the views of rows that scroll out to render the rows that scroll in, instead of
|
|
1238
|
+
* destroying them and creating new ones. Scrolling creates fewer components and elements, but
|
|
1239
|
+
* a row's components, element and DOM state (focus aside) then carry over to other items.
|
|
1240
|
+
* @default false
|
|
1241
|
+
*/
|
|
1242
|
+
recycleRows: _angular_core.InputSignal<boolean>;
|
|
1191
1243
|
/** Enable auto-scroll when dragging near edges */
|
|
1192
1244
|
autoScrollEnabled: _angular_core.InputSignal<boolean>;
|
|
1193
1245
|
/** Auto-scroll configuration */
|
|
@@ -1199,7 +1251,7 @@ declare class VirtualSortableListComponent<T> {
|
|
|
1199
1251
|
/** Emits each time the placeholder moves within this list (every item displacement) */
|
|
1200
1252
|
placeholderMove: _angular_core.OutputEmitterRef<PlaceholderMoveEvent>;
|
|
1201
1253
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VirtualSortableListComponent<any>, never>;
|
|
1202
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VirtualSortableListComponent<any>, "vdnd-sortable-list", never, { "droppableId": { "alias": "droppableId"; "required": true; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": true; "isSignal": true; }; "dynamicItemHeight": { "alias": "dynamicItemHeight"; "required": false; "isSignal": true; }; "itemIdFn": { "alias": "itemIdFn"; "required": true; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": true; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "droppableData": { "alias": "droppableData"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "containerHeight": { "alias": "containerHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "autoScrollEnabled": { "alias": "autoScrollEnabled"; "required": false; "isSignal": true; }; "autoScrollConfig": { "alias": "autoScrollConfig"; "required": false; "isSignal": true; }; "constrainToContainer": { "alias": "constrainToContainer"; "required": false; "isSignal": true; }; }, { "drop": "drop"; "placeholderMove": "placeholderMove"; }, never, never, true, never>;
|
|
1254
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VirtualSortableListComponent<any>, "vdnd-sortable-list", never, { "droppableId": { "alias": "droppableId"; "required": true; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": true; "isSignal": true; }; "dynamicItemHeight": { "alias": "dynamicItemHeight"; "required": false; "isSignal": true; }; "itemIdFn": { "alias": "itemIdFn"; "required": true; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": true; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "droppableData": { "alias": "droppableData"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "containerHeight": { "alias": "containerHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; "recycleRows": { "alias": "recycleRows"; "required": false; "isSignal": true; }; "autoScrollEnabled": { "alias": "autoScrollEnabled"; "required": false; "isSignal": true; }; "autoScrollConfig": { "alias": "autoScrollConfig"; "required": false; "isSignal": true; }; "constrainToContainer": { "alias": "constrainToContainer"; "required": false; "isSignal": true; }; }, { "drop": "drop"; "placeholderMove": "placeholderMove"; }, never, never, true, never>;
|
|
1203
1255
|
}
|
|
1204
1256
|
|
|
1205
1257
|
/**
|
|
@@ -1385,7 +1437,7 @@ declare class VirtualContentComponent implements VdndVirtualViewport, VdndScroll
|
|
|
1385
1437
|
* </div>
|
|
1386
1438
|
* ```
|
|
1387
1439
|
*/
|
|
1388
|
-
declare class DraggableDirective implements OnInit, OnDestroy {
|
|
1440
|
+
declare class DraggableDirective implements OnChanges, OnInit, OnDestroy {
|
|
1389
1441
|
#private;
|
|
1390
1442
|
/** Unique identifier for this draggable */
|
|
1391
1443
|
vdndDraggable: _angular_core.InputSignal<string>;
|
|
@@ -1419,10 +1471,16 @@ declare class DraggableDirective implements OnInit, OnDestroy {
|
|
|
1419
1471
|
dragStart: _angular_core.OutputEmitterRef<DragStartEvent>;
|
|
1420
1472
|
/** Emits when drag ends */
|
|
1421
1473
|
dragEnd: _angular_core.OutputEmitterRef<DragEndEvent>;
|
|
1474
|
+
/**
|
|
1475
|
+
* Whether this element is in the "ready to drag" state (delay has passed). Tied to the pressed
|
|
1476
|
+
* item: a recycled row that renders another item is not ready to drag.
|
|
1477
|
+
*/
|
|
1422
1478
|
readonly isPending: _angular_core.Signal<boolean>;
|
|
1423
1479
|
/** Whether this element is currently being dragged (based on global drag state) */
|
|
1424
1480
|
readonly isDragging: _angular_core.Signal<boolean>;
|
|
1481
|
+
constructor();
|
|
1425
1482
|
ngOnInit(): void;
|
|
1483
|
+
ngOnChanges(): void;
|
|
1426
1484
|
ngOnDestroy(): void;
|
|
1427
1485
|
/**
|
|
1428
1486
|
* Handle pointer down (mouse or touch).
|
|
@@ -1494,7 +1552,7 @@ declare class DroppableDirective implements OnDestroy {
|
|
|
1494
1552
|
autoScrollConfig: _angular_core.InputSignal<Partial<AutoScrollConfig>>;
|
|
1495
1553
|
/** Constrain drag preview and placeholder to container boundaries */
|
|
1496
1554
|
constrainToContainer: _angular_core.InputSignal<boolean>;
|
|
1497
|
-
/** Emits when an item is dropped on this droppable */
|
|
1555
|
+
/** Emits when an item is dropped on this droppable: at release, right after its `dragEnd` */
|
|
1498
1556
|
drop: _angular_core.OutputEmitterRef<DropEvent>;
|
|
1499
1557
|
/**
|
|
1500
1558
|
* Emits each time the placeholder moves within this droppable during a drag
|
|
@@ -1503,7 +1561,11 @@ declare class DroppableDirective implements OnDestroy {
|
|
|
1503
1561
|
placeholderMove: _angular_core.OutputEmitterRef<PlaceholderMoveEvent>;
|
|
1504
1562
|
/** Whether this droppable is currently being targeted */
|
|
1505
1563
|
readonly isActive: _angular_core.Signal<boolean>;
|
|
1506
|
-
/**
|
|
1564
|
+
/**
|
|
1565
|
+
* `END_OF_LIST` while this droppable is active, otherwise null.
|
|
1566
|
+
* @deprecated It never identifies an item. For the position, use the `placeholderMove` output
|
|
1567
|
+
* (and `DropEvent.destination.index` on drop). Will be removed in the next major version.
|
|
1568
|
+
*/
|
|
1507
1569
|
readonly placeholderId: _angular_core.Signal<string | null>;
|
|
1508
1570
|
constructor();
|
|
1509
1571
|
ngOnDestroy(): void;
|