@acorex/cdk 19.13.1 → 19.13.3
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/drag-drop/README.md +3 -0
- package/drag-drop/index.d.ts +4 -0
- package/drag-drop/lib/drag-drop.module.d.ts +9 -0
- package/drag-drop/lib/drag-handle.directive.d.ts +7 -0
- package/drag-drop/lib/drag.directive.d.ts +60 -0
- package/drag-drop/lib/drop-zone.directive.d.ts +22 -0
- package/fesm2022/acorex-cdk-drag-drop.mjs +293 -0
- package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./drag.directive";
|
|
3
|
+
import * as i2 from "./drag-handle.directive";
|
|
4
|
+
import * as i3 from "./drop-zone.directive";
|
|
5
|
+
export declare class AXDragDropModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXDragDropModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXDragDropModule, never, [typeof i1.AXDragDirective, typeof i2.AXDragHandleDirective, typeof i3.AXDropZoneDirective], [typeof i1.AXDragDirective, typeof i2.AXDragHandleDirective, typeof i3.AXDropZoneDirective]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXDragDropModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class AXDragHandleDirective {
|
|
3
|
+
private el;
|
|
4
|
+
readonly element: import("@angular/core").WritableSignal<HTMLElement>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXDragHandleDirective, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDragHandleDirective, "[axDragHandle]", never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
type AXPositionType = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
};
|
|
7
|
+
export declare class AXDragDirective implements OnInit, OnDestroy {
|
|
8
|
+
private zone;
|
|
9
|
+
private document;
|
|
10
|
+
private el;
|
|
11
|
+
private handleDirective;
|
|
12
|
+
dragDisabled: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
dropZoneGroup: import("@angular/core").InputSignal<string>;
|
|
14
|
+
dragStartDelay: import("@angular/core").InputSignal<number>;
|
|
15
|
+
dragResetOnDblClick: import("@angular/core").InputSignal<boolean>;
|
|
16
|
+
dragLockAxis: import("@angular/core").InputSignal<"x" | "y">;
|
|
17
|
+
dragBoundary: import("@angular/core").InputSignal<string | HTMLElement | ElementRef<HTMLElement>>;
|
|
18
|
+
dragPositionChanged: import("@angular/core").OutputEmitterRef<AXPositionType>;
|
|
19
|
+
private isDragging;
|
|
20
|
+
currentAxis: import("@angular/core").WritableSignal<{
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
}>;
|
|
24
|
+
private isDelayStarted;
|
|
25
|
+
private dragStartOffset;
|
|
26
|
+
readonly element: import("@angular/core").WritableSignal<HTMLElement>;
|
|
27
|
+
private prevDropZone;
|
|
28
|
+
private boundaryElement;
|
|
29
|
+
private elementRect;
|
|
30
|
+
private handle;
|
|
31
|
+
private boundaryRect;
|
|
32
|
+
private boundHandleDblClick;
|
|
33
|
+
private boundHandlePointerUp;
|
|
34
|
+
private boundHandlePointerDown;
|
|
35
|
+
private boundHandlePointerMove;
|
|
36
|
+
constructor();
|
|
37
|
+
ngOnInit(): void;
|
|
38
|
+
ngOnDestroy(): void;
|
|
39
|
+
private handlePointerDown;
|
|
40
|
+
private handlePointerUp;
|
|
41
|
+
/**
|
|
42
|
+
* Prevent click events immediately following pointerup, especially on touch devices
|
|
43
|
+
* or fast drags where the underlying element might receive an unintended click.
|
|
44
|
+
* Use a capturing listener added *after* pointerup and removed asynchronously.
|
|
45
|
+
*/
|
|
46
|
+
private preventClicking;
|
|
47
|
+
private handleDblClick;
|
|
48
|
+
private handlePointerMove;
|
|
49
|
+
private dropZoneHoverHandler;
|
|
50
|
+
private dropZoneDropHandler;
|
|
51
|
+
private getDropZonesFromPoint;
|
|
52
|
+
private dropZoneValidation;
|
|
53
|
+
private leavePrevDropZone;
|
|
54
|
+
private setPosition;
|
|
55
|
+
private addDocumentListeners;
|
|
56
|
+
private removeDocumentListeners;
|
|
57
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXDragDirective, never>;
|
|
58
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDragDirective, "[axDrag]", never, { "dragDisabled": { "alias": "dragDisabled"; "required": false; "isSignal": true; }; "dropZoneGroup": { "alias": "dropZoneGroup"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "dragResetOnDblClick": { "alias": "dragResetOnDblClick"; "required": false; "isSignal": true; }; "dragLockAxis": { "alias": "dragLockAxis"; "required": false; "isSignal": true; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; "isSignal": true; }; }, { "dragPositionChanged": "dragPositionChanged"; }, ["handleDirective"], never, true, never>;
|
|
59
|
+
}
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { AXDragDirective } from './drag.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type AXDropZoneDropEvent = {
|
|
5
|
+
sender: AXDropZoneDirective;
|
|
6
|
+
nativeEvent: PointerEvent;
|
|
7
|
+
dropped: AXDragDirective;
|
|
8
|
+
};
|
|
9
|
+
export type AXDropZoneHoverEvent = AXDropZoneDropEvent & {
|
|
10
|
+
state: 'enter' | 'leave';
|
|
11
|
+
};
|
|
12
|
+
export declare class AXDropZoneDirective implements OnInit {
|
|
13
|
+
private el;
|
|
14
|
+
dropZoneGroup: import("@angular/core").InputSignal<string>;
|
|
15
|
+
isHovered: import("@angular/core").WritableSignal<boolean>;
|
|
16
|
+
readonly element: import("@angular/core").WritableSignal<HTMLElement>;
|
|
17
|
+
onElementDrop: import("@angular/core").OutputEmitterRef<AXDropZoneDropEvent>;
|
|
18
|
+
onElementHover: import("@angular/core").OutputEmitterRef<AXDropZoneHoverEvent>;
|
|
19
|
+
ngOnInit(): void;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXDropZoneDirective, never>;
|
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDropZoneDirective, "[axDropZone]", ["axDropZone"], { "dropZoneGroup": { "alias": "dropZoneGroup"; "required": false; "isSignal": true; }; }, { "onElementDrop": "onElementDrop"; "onElementHover": "onElementHover"; }, never, never, true, never>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, signal, Directive, NgZone, contentChild, input, output, computed, effect, NgModule } from '@angular/core';
|
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
|
4
|
+
import { clamp } from 'lodash-es';
|
|
5
|
+
|
|
6
|
+
class AXDragHandleDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.el = inject(ElementRef);
|
|
9
|
+
this.element = signal(this.el.nativeElement);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: AXDragHandleDirective, isStandalone: true, selector: "[axDragHandle]", ngImport: i0 }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragHandleDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: '[axDragHandle]',
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
|
|
21
|
+
class AXDragDirective {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.zone = inject(NgZone);
|
|
24
|
+
this.document = inject(DOCUMENT);
|
|
25
|
+
this.el = inject(ElementRef);
|
|
26
|
+
this.handleDirective = contentChild(AXDragHandleDirective);
|
|
27
|
+
this.dragDisabled = input(false);
|
|
28
|
+
this.dropZoneGroup = input();
|
|
29
|
+
this.dragStartDelay = input();
|
|
30
|
+
this.dragResetOnDblClick = input(true);
|
|
31
|
+
this.dragLockAxis = input(null);
|
|
32
|
+
this.dragBoundary = input();
|
|
33
|
+
this.dragPositionChanged = output();
|
|
34
|
+
this.isDragging = signal(false);
|
|
35
|
+
this.currentAxis = signal({ x: 0, y: 0 });
|
|
36
|
+
this.isDelayStarted = signal(false);
|
|
37
|
+
this.dragStartOffset = signal({ x: 0, y: 0 });
|
|
38
|
+
this.element = signal(this.el.nativeElement);
|
|
39
|
+
this.prevDropZone = signal(null);
|
|
40
|
+
this.boundaryElement = computed(() => {
|
|
41
|
+
const boundary = this.dragBoundary();
|
|
42
|
+
if (!boundary) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (typeof boundary === 'string') {
|
|
46
|
+
return this.el.nativeElement.closest(boundary);
|
|
47
|
+
}
|
|
48
|
+
return boundary instanceof ElementRef ? boundary.nativeElement : boundary;
|
|
49
|
+
});
|
|
50
|
+
this.elementRect = computed(() => this.element().getBoundingClientRect());
|
|
51
|
+
this.handle = computed(() => this.handleDirective()?.element() ?? this.element());
|
|
52
|
+
this.boundaryRect = computed(() => this.boundaryElement()?.getBoundingClientRect());
|
|
53
|
+
this.boundHandleDblClick = this.handleDblClick.bind(this);
|
|
54
|
+
this.boundHandlePointerUp = this.handlePointerUp.bind(this);
|
|
55
|
+
this.boundHandlePointerDown = this.handlePointerDown.bind(this);
|
|
56
|
+
this.boundHandlePointerMove = this.handlePointerMove.bind(this);
|
|
57
|
+
effect(() => {
|
|
58
|
+
const isDisabled = this.dragDisabled();
|
|
59
|
+
const cursor = isDisabled ? 'not-allowed' : 'move';
|
|
60
|
+
this.handle().style.cursor = cursor;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
this.zone.runOutsideAngular(() => {
|
|
65
|
+
this.handle().addEventListener('dblclick', this.boundHandleDblClick);
|
|
66
|
+
this.handle().addEventListener('pointerdown', this.boundHandlePointerDown);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
ngOnDestroy() {
|
|
70
|
+
this.handle().removeEventListener('dblclick', this.boundHandleDblClick);
|
|
71
|
+
this.handle().removeEventListener('pointerdown', this.boundHandlePointerDown);
|
|
72
|
+
this.removeDocumentListeners();
|
|
73
|
+
}
|
|
74
|
+
handlePointerDown(e) {
|
|
75
|
+
if (this.dragDisabled() || e.button !== 0)
|
|
76
|
+
return;
|
|
77
|
+
this.element().style.cursor = 'move';
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
e.stopPropagation();
|
|
80
|
+
this.isDragging.set(true);
|
|
81
|
+
this.dragStartOffset.set({ x: e.clientX - this.currentAxis().x, y: e.clientY - this.currentAxis().y });
|
|
82
|
+
this.element().style.userSelect = 'none';
|
|
83
|
+
this.element().style.touchAction = 'none';
|
|
84
|
+
this.element().setPointerCapture(e.pointerId);
|
|
85
|
+
this.addDocumentListeners();
|
|
86
|
+
if (this.dragStartDelay()) {
|
|
87
|
+
this.isDelayStarted.set(true);
|
|
88
|
+
setTimeout(() => {
|
|
89
|
+
this.isDelayStarted.set(false);
|
|
90
|
+
}, this.dragStartDelay());
|
|
91
|
+
}
|
|
92
|
+
this.dropZoneHoverHandler(e);
|
|
93
|
+
}
|
|
94
|
+
handlePointerUp(e) {
|
|
95
|
+
if (!this.isDragging())
|
|
96
|
+
return;
|
|
97
|
+
if (this.handleDirective())
|
|
98
|
+
this.element().style.cursor = '';
|
|
99
|
+
this.isDragging.set(false);
|
|
100
|
+
this.element().style.userSelect = '';
|
|
101
|
+
this.element().style.touchAction = '';
|
|
102
|
+
this.element().releasePointerCapture(e.pointerId);
|
|
103
|
+
this.removeDocumentListeners();
|
|
104
|
+
this.preventClicking();
|
|
105
|
+
this.dropZoneDropHandler(e);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Prevent click events immediately following pointerup, especially on touch devices
|
|
109
|
+
* or fast drags where the underlying element might receive an unintended click.
|
|
110
|
+
* Use a capturing listener added *after* pointerup and removed asynchronously.
|
|
111
|
+
*/
|
|
112
|
+
preventClicking() {
|
|
113
|
+
const blockClick = (event) => {
|
|
114
|
+
event.preventDefault();
|
|
115
|
+
event.stopPropagation();
|
|
116
|
+
};
|
|
117
|
+
this.document.addEventListener('click', blockClick, { capture: true, once: true });
|
|
118
|
+
}
|
|
119
|
+
handleDblClick() {
|
|
120
|
+
if (!this.dragResetOnDblClick() || this.dragDisabled())
|
|
121
|
+
return;
|
|
122
|
+
this.setPosition(0, 0);
|
|
123
|
+
}
|
|
124
|
+
handlePointerMove(e) {
|
|
125
|
+
if (!this.isDragging())
|
|
126
|
+
return;
|
|
127
|
+
if (this.isDelayStarted()) {
|
|
128
|
+
this.isDragging.set(false);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
e.preventDefault();
|
|
132
|
+
const newX = e.clientX - this.dragStartOffset().x;
|
|
133
|
+
const newY = e.clientY - this.dragStartOffset().y;
|
|
134
|
+
this.setPosition(newX, newY);
|
|
135
|
+
this.dropZoneHoverHandler(e);
|
|
136
|
+
}
|
|
137
|
+
dropZoneHoverHandler(e) {
|
|
138
|
+
const dropZones = this.getDropZonesFromPoint(e.clientX, e.clientY);
|
|
139
|
+
if (!dropZones.length && this.prevDropZone() && this.prevDropZone().isHovered()) {
|
|
140
|
+
this.leavePrevDropZone(e);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
dropZones.forEach((dropZone) => {
|
|
144
|
+
if (!this.dropZoneValidation(dropZone, e) || dropZone.isHovered()) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (this.prevDropZone() && this.prevDropZone() !== dropZone) {
|
|
148
|
+
this.leavePrevDropZone(e);
|
|
149
|
+
}
|
|
150
|
+
this.prevDropZone.set(dropZone);
|
|
151
|
+
dropZone.onElementHover.emit({ sender: dropZone, dropped: this, nativeEvent: e, state: 'enter' });
|
|
152
|
+
dropZone.isHovered.set(true);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
dropZoneDropHandler(e) {
|
|
156
|
+
const dropZones = this.getDropZonesFromPoint(e.clientX, e.clientY);
|
|
157
|
+
dropZones.forEach((dropZone) => {
|
|
158
|
+
if (!this.dropZoneValidation(dropZone, e)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
dropZone.isHovered.set(false);
|
|
162
|
+
dropZone.onElementDrop.emit({ sender: dropZone, dropped: this, nativeEvent: e });
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
getDropZonesFromPoint(x, y) {
|
|
166
|
+
const elementsFromPoint = this.document.elementsFromPoint(x, y);
|
|
167
|
+
return elementsFromPoint
|
|
168
|
+
.filter((el) => {
|
|
169
|
+
if (el instanceof HTMLElement) {
|
|
170
|
+
return el.dataset['dropZone'] === 'true';
|
|
171
|
+
}
|
|
172
|
+
return false;
|
|
173
|
+
})
|
|
174
|
+
.map((el) => {
|
|
175
|
+
return el['__axContext__'];
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
dropZoneValidation(dropZone, e) {
|
|
179
|
+
// They are in the same group
|
|
180
|
+
const dragGroup = this.dropZoneGroup();
|
|
181
|
+
const dropGroup = dropZone.dropZoneGroup();
|
|
182
|
+
if (dragGroup !== dropGroup) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
// Draggable element is under mouse
|
|
186
|
+
const elementsFromPoint = this.document.elementsFromPoint(e.clientX, e.clientY);
|
|
187
|
+
if (!elementsFromPoint.includes(this.element())) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
leavePrevDropZone(e) {
|
|
193
|
+
this.prevDropZone().onElementHover.emit({
|
|
194
|
+
dropped: this,
|
|
195
|
+
state: 'leave',
|
|
196
|
+
nativeEvent: e,
|
|
197
|
+
sender: this.prevDropZone(),
|
|
198
|
+
});
|
|
199
|
+
this.prevDropZone().isHovered.set(false);
|
|
200
|
+
}
|
|
201
|
+
setPosition(x, y) {
|
|
202
|
+
let constrainedX = x;
|
|
203
|
+
let constrainedY = y;
|
|
204
|
+
const boundaryRect = this.boundaryRect();
|
|
205
|
+
const elementRect = this.elementRect();
|
|
206
|
+
if (boundaryRect && elementRect) {
|
|
207
|
+
const minX = boundaryRect.left - elementRect.left;
|
|
208
|
+
const minY = boundaryRect.top - elementRect.top;
|
|
209
|
+
const maxX = minX + boundaryRect.width - elementRect.width;
|
|
210
|
+
const maxY = minY + boundaryRect.height - elementRect.height;
|
|
211
|
+
constrainedX = clamp(x, minX, maxX);
|
|
212
|
+
constrainedY = clamp(y, minY, maxY);
|
|
213
|
+
}
|
|
214
|
+
const lockAxis = this.dragLockAxis();
|
|
215
|
+
if (lockAxis === 'x') {
|
|
216
|
+
constrainedY = 0;
|
|
217
|
+
}
|
|
218
|
+
if (lockAxis === 'y') {
|
|
219
|
+
constrainedX = 0;
|
|
220
|
+
}
|
|
221
|
+
this.currentAxis.set({ x: constrainedX, y: constrainedY });
|
|
222
|
+
this.element().style.translate = `${constrainedX}px ${constrainedY}px`;
|
|
223
|
+
this.dragPositionChanged.emit(this.currentAxis());
|
|
224
|
+
}
|
|
225
|
+
addDocumentListeners() {
|
|
226
|
+
this.zone.runOutsideAngular(() => {
|
|
227
|
+
this.document.addEventListener('pointermove', this.boundHandlePointerMove, { passive: false });
|
|
228
|
+
this.document.addEventListener('pointerup', this.boundHandlePointerUp);
|
|
229
|
+
this.document.addEventListener('pointercancel', this.boundHandlePointerUp);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
removeDocumentListeners() {
|
|
233
|
+
this.zone.runOutsideAngular(() => {
|
|
234
|
+
this.document.removeEventListener('pointermove', this.boundHandlePointerMove);
|
|
235
|
+
this.document.removeEventListener('pointerup', this.boundHandlePointerUp);
|
|
236
|
+
this.document.removeEventListener('pointercancel', this.boundHandlePointerUp);
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
240
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.9", type: AXDragDirective, isStandalone: true, selector: "[axDrag]", inputs: { dragDisabled: { classPropertyName: "dragDisabled", publicName: "dragDisabled", isSignal: true, isRequired: false, transformFunction: null }, dropZoneGroup: { classPropertyName: "dropZoneGroup", publicName: "dropZoneGroup", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, dragResetOnDblClick: { classPropertyName: "dragResetOnDblClick", publicName: "dragResetOnDblClick", isSignal: true, isRequired: false, transformFunction: null }, dragLockAxis: { classPropertyName: "dragLockAxis", publicName: "dragLockAxis", isSignal: true, isRequired: false, transformFunction: null }, dragBoundary: { classPropertyName: "dragBoundary", publicName: "dragBoundary", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragPositionChanged: "dragPositionChanged" }, queries: [{ propertyName: "handleDirective", first: true, predicate: AXDragHandleDirective, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
241
|
+
}
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragDirective, decorators: [{
|
|
243
|
+
type: Directive,
|
|
244
|
+
args: [{
|
|
245
|
+
selector: '[axDrag]',
|
|
246
|
+
}]
|
|
247
|
+
}], ctorParameters: () => [] });
|
|
248
|
+
|
|
249
|
+
class AXDropZoneDirective {
|
|
250
|
+
constructor() {
|
|
251
|
+
this.el = inject(ElementRef);
|
|
252
|
+
this.dropZoneGroup = input();
|
|
253
|
+
this.isHovered = signal(false);
|
|
254
|
+
this.element = signal(this.el.nativeElement);
|
|
255
|
+
this.onElementDrop = output();
|
|
256
|
+
this.onElementHover = output();
|
|
257
|
+
}
|
|
258
|
+
ngOnInit() {
|
|
259
|
+
this.element()['__axContext__'] = this;
|
|
260
|
+
this.element().dataset['dropZone'] = 'true';
|
|
261
|
+
}
|
|
262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDropZoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
263
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.9", type: AXDropZoneDirective, isStandalone: true, selector: "[axDropZone]", inputs: { dropZoneGroup: { classPropertyName: "dropZoneGroup", publicName: "dropZoneGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onElementDrop: "onElementDrop", onElementHover: "onElementHover" }, exportAs: ["axDropZone"], ngImport: i0 }); }
|
|
264
|
+
}
|
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDropZoneDirective, decorators: [{
|
|
266
|
+
type: Directive,
|
|
267
|
+
args: [{
|
|
268
|
+
selector: '[axDropZone]',
|
|
269
|
+
exportAs: 'axDropZone',
|
|
270
|
+
}]
|
|
271
|
+
}] });
|
|
272
|
+
|
|
273
|
+
const COMPONENT = [AXDragDirective, AXDragHandleDirective, AXDropZoneDirective];
|
|
274
|
+
class AXDragDropModule {
|
|
275
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
276
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: AXDragDropModule, imports: [AXDragDirective, AXDragHandleDirective, AXDropZoneDirective], exports: [AXDragDirective, AXDragHandleDirective, AXDropZoneDirective] }); }
|
|
277
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragDropModule }); }
|
|
278
|
+
}
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AXDragDropModule, decorators: [{
|
|
280
|
+
type: NgModule,
|
|
281
|
+
args: [{
|
|
282
|
+
imports: [...COMPONENT],
|
|
283
|
+
exports: [...COMPONENT],
|
|
284
|
+
providers: [],
|
|
285
|
+
}]
|
|
286
|
+
}] });
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Generated bundle index. Do not edit.
|
|
290
|
+
*/
|
|
291
|
+
|
|
292
|
+
export { AXDragDirective, AXDragDropModule, AXDragHandleDirective, AXDropZoneDirective };
|
|
293
|
+
//# sourceMappingURL=acorex-cdk-drag-drop.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-cdk-drag-drop.mjs","sources":["../../../../libs/cdk/drag-drop/src/lib/drag-handle.directive.ts","../../../../libs/cdk/drag-drop/src/lib/drag.directive.ts","../../../../libs/cdk/drag-drop/src/lib/drop-zone.directive.ts","../../../../libs/cdk/drag-drop/src/lib/drag-drop.module.ts","../../../../libs/cdk/drag-drop/src/acorex-cdk-drag-drop.ts"],"sourcesContent":["import { Directive, ElementRef, inject, signal } from '@angular/core';\n\n@Directive({\n selector: '[axDragHandle]',\n})\nexport class AXDragHandleDirective {\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly element = signal(this.el.nativeElement);\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n computed,\n contentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n signal,\n} from '@angular/core';\nimport { clamp } from 'lodash-es';\nimport { AXDragHandleDirective } from './drag-handle.directive';\nimport { AXDropZoneDirective } from './drop-zone.directive';\n\ntype AXPositionType = { x: number; y: number };\n\n@Directive({\n selector: '[axDrag]',\n})\nexport class AXDragDirective implements OnInit, OnDestroy {\n private zone = inject(NgZone);\n private document = inject(DOCUMENT);\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private handleDirective = contentChild(AXDragHandleDirective);\n\n dragDisabled = input(false);\n dropZoneGroup = input<string>();\n dragStartDelay = input<number>();\n dragResetOnDblClick = input(true);\n dragLockAxis = input<'x' | 'y' | null>(null);\n dragBoundary = input<string | ElementRef<HTMLElement> | HTMLElement>();\n\n dragPositionChanged = output<AXPositionType>();\n\n private isDragging = signal(false);\n currentAxis = signal({ x: 0, y: 0 });\n private isDelayStarted = signal(false);\n private dragStartOffset = signal({ x: 0, y: 0 });\n readonly element = signal(this.el.nativeElement);\n private prevDropZone = signal<AXDropZoneDirective | null>(null);\n\n private boundaryElement = computed<HTMLElement>(() => {\n const boundary = this.dragBoundary();\n if (!boundary) {\n return null;\n }\n if (typeof boundary === 'string') {\n return this.el.nativeElement.closest<HTMLElement>(boundary);\n }\n return boundary instanceof ElementRef ? boundary.nativeElement : boundary;\n });\n\n private elementRect = computed(() => this.element().getBoundingClientRect());\n private handle = computed(() => this.handleDirective()?.element() ?? this.element());\n private boundaryRect = computed(() => this.boundaryElement()?.getBoundingClientRect());\n\n private boundHandleDblClick = this.handleDblClick.bind(this);\n private boundHandlePointerUp = this.handlePointerUp.bind(this);\n private boundHandlePointerDown = this.handlePointerDown.bind(this);\n private boundHandlePointerMove = this.handlePointerMove.bind(this);\n\n constructor() {\n effect(() => {\n const isDisabled = this.dragDisabled();\n const cursor = isDisabled ? 'not-allowed' : 'move';\n this.handle().style.cursor = cursor;\n });\n }\n\n ngOnInit() {\n this.zone.runOutsideAngular(() => {\n this.handle().addEventListener('dblclick', this.boundHandleDblClick);\n this.handle().addEventListener('pointerdown', this.boundHandlePointerDown);\n });\n }\n\n ngOnDestroy() {\n this.handle().removeEventListener('dblclick', this.boundHandleDblClick);\n this.handle().removeEventListener('pointerdown', this.boundHandlePointerDown);\n this.removeDocumentListeners();\n }\n\n private handlePointerDown(e: PointerEvent) {\n if (this.dragDisabled() || e.button !== 0) return;\n this.element().style.cursor = 'move';\n\n e.preventDefault();\n e.stopPropagation();\n\n this.isDragging.set(true);\n this.dragStartOffset.set({ x: e.clientX - this.currentAxis().x, y: e.clientY - this.currentAxis().y });\n this.element().style.userSelect = 'none';\n this.element().style.touchAction = 'none';\n this.element().setPointerCapture(e.pointerId);\n\n this.addDocumentListeners();\n\n if (this.dragStartDelay()) {\n this.isDelayStarted.set(true);\n setTimeout(() => {\n this.isDelayStarted.set(false);\n }, this.dragStartDelay());\n }\n\n this.dropZoneHoverHandler(e);\n }\n\n private handlePointerUp(e: PointerEvent) {\n if (!this.isDragging()) return;\n if (this.handleDirective()) this.element().style.cursor = '';\n\n this.isDragging.set(false);\n this.element().style.userSelect = '';\n this.element().style.touchAction = '';\n this.element().releasePointerCapture(e.pointerId);\n\n this.removeDocumentListeners();\n this.preventClicking();\n\n this.dropZoneDropHandler(e);\n }\n\n /**\n * Prevent click events immediately following pointerup, especially on touch devices\n * or fast drags where the underlying element might receive an unintended click.\n * Use a capturing listener added *after* pointerup and removed asynchronously.\n */\n private preventClicking() {\n const blockClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n };\n this.document.addEventListener('click', blockClick, { capture: true, once: true });\n }\n\n private handleDblClick() {\n if (!this.dragResetOnDblClick() || this.dragDisabled()) return;\n this.setPosition(0, 0);\n }\n\n private handlePointerMove(e: PointerEvent) {\n if (!this.isDragging()) return;\n\n if (this.isDelayStarted()) {\n this.isDragging.set(false);\n return;\n }\n\n e.preventDefault();\n\n const newX = e.clientX - this.dragStartOffset().x;\n const newY = e.clientY - this.dragStartOffset().y;\n\n this.setPosition(newX, newY);\n\n this.dropZoneHoverHandler(e);\n }\n\n private dropZoneHoverHandler(e: PointerEvent) {\n const dropZones = this.getDropZonesFromPoint(e.clientX, e.clientY);\n if (!dropZones.length && this.prevDropZone() && this.prevDropZone().isHovered()) {\n this.leavePrevDropZone(e);\n return;\n }\n dropZones.forEach((dropZone) => {\n if (!this.dropZoneValidation(dropZone, e) || dropZone.isHovered()) {\n return;\n }\n if (this.prevDropZone() && this.prevDropZone() !== dropZone) {\n this.leavePrevDropZone(e);\n }\n this.prevDropZone.set(dropZone);\n dropZone.onElementHover.emit({ sender: dropZone, dropped: this, nativeEvent: e, state: 'enter' });\n dropZone.isHovered.set(true);\n });\n }\n\n private dropZoneDropHandler(e: PointerEvent) {\n const dropZones = this.getDropZonesFromPoint(e.clientX, e.clientY);\n dropZones.forEach((dropZone) => {\n if (!this.dropZoneValidation(dropZone, e)) {\n return;\n }\n dropZone.isHovered.set(false);\n dropZone.onElementDrop.emit({ sender: dropZone, dropped: this, nativeEvent: e });\n });\n }\n\n private getDropZonesFromPoint(x: number, y: number): AXDropZoneDirective[] {\n const elementsFromPoint = this.document.elementsFromPoint(x, y);\n return elementsFromPoint\n .filter((el) => {\n if (el instanceof HTMLElement) {\n return el.dataset['dropZone'] === 'true';\n }\n return false;\n })\n .map((el) => {\n return el['__axContext__'] as AXDropZoneDirective;\n });\n }\n\n private dropZoneValidation(dropZone: AXDropZoneDirective, e: PointerEvent) {\n // They are in the same group\n const dragGroup = this.dropZoneGroup();\n const dropGroup = dropZone.dropZoneGroup();\n if (dragGroup !== dropGroup) {\n return false;\n }\n // Draggable element is under mouse\n const elementsFromPoint = this.document.elementsFromPoint(e.clientX, e.clientY);\n if (!elementsFromPoint.includes(this.element())) {\n return false;\n }\n return true;\n }\n\n private leavePrevDropZone(e: PointerEvent) {\n this.prevDropZone().onElementHover.emit({\n dropped: this,\n state: 'leave',\n nativeEvent: e,\n sender: this.prevDropZone(),\n });\n this.prevDropZone().isHovered.set(false);\n }\n\n private setPosition(x: number, y: number) {\n let constrainedX = x;\n let constrainedY = y;\n\n const boundaryRect = this.boundaryRect();\n const elementRect = this.elementRect();\n\n if (boundaryRect && elementRect) {\n const minX = boundaryRect.left - elementRect.left;\n const minY = boundaryRect.top - elementRect.top;\n const maxX = minX + boundaryRect.width - elementRect.width;\n const maxY = minY + boundaryRect.height - elementRect.height;\n\n constrainedX = clamp(x, minX, maxX);\n constrainedY = clamp(y, minY, maxY);\n }\n\n const lockAxis = this.dragLockAxis();\n if (lockAxis === 'x') {\n constrainedY = 0;\n }\n if (lockAxis === 'y') {\n constrainedX = 0;\n }\n\n this.currentAxis.set({ x: constrainedX, y: constrainedY });\n this.element().style.translate = `${constrainedX}px ${constrainedY}px`;\n this.dragPositionChanged.emit(this.currentAxis());\n }\n\n private addDocumentListeners(): void {\n this.zone.runOutsideAngular(() => {\n this.document.addEventListener('pointermove', this.boundHandlePointerMove, { passive: false });\n this.document.addEventListener('pointerup', this.boundHandlePointerUp);\n this.document.addEventListener('pointercancel', this.boundHandlePointerUp);\n });\n }\n\n private removeDocumentListeners(): void {\n this.zone.runOutsideAngular(() => {\n this.document.removeEventListener('pointermove', this.boundHandlePointerMove);\n this.document.removeEventListener('pointerup', this.boundHandlePointerUp);\n this.document.removeEventListener('pointercancel', this.boundHandlePointerUp);\n });\n }\n}\n","import { Directive, ElementRef, inject, input, OnInit, output, signal } from '@angular/core';\nimport { AXDragDirective } from './drag.directive';\n\nexport type AXDropZoneDropEvent = { sender: AXDropZoneDirective; nativeEvent: PointerEvent; dropped: AXDragDirective };\nexport type AXDropZoneHoverEvent = AXDropZoneDropEvent & { state: 'enter' | 'leave' };\n\n@Directive({\n selector: '[axDropZone]',\n exportAs: 'axDropZone',\n})\nexport class AXDropZoneDirective implements OnInit {\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n\n dropZoneGroup = input<string>();\n\n isHovered = signal(false);\n readonly element = signal(this.el.nativeElement);\n\n onElementDrop = output<AXDropZoneDropEvent>();\n onElementHover = output<AXDropZoneHoverEvent>();\n\n ngOnInit(): void {\n this.element()['__axContext__'] = this;\n this.element().dataset['dropZone'] = 'true';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXDragHandleDirective } from './drag-handle.directive';\nimport { AXDragDirective } from './drag.directive';\nimport { AXDropZoneDirective } from './drop-zone.directive';\n\nconst COMPONENT = [AXDragDirective, AXDragHandleDirective, AXDropZoneDirective];\n\n@NgModule({\n imports: [...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDragDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/cdk",
|
|
3
|
-
"version": "19.13.
|
|
3
|
+
"version": "19.13.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=19.0.0",
|
|
6
6
|
"@angular/core": ">=19.0.0",
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
"types": "./dom/index.d.ts",
|
|
36
36
|
"default": "./fesm2022/acorex-cdk-dom.mjs"
|
|
37
37
|
},
|
|
38
|
+
"./drag-drop": {
|
|
39
|
+
"types": "./drag-drop/index.d.ts",
|
|
40
|
+
"default": "./fesm2022/acorex-cdk-drag-drop.mjs"
|
|
41
|
+
},
|
|
38
42
|
"./drawer": {
|
|
39
43
|
"types": "./drawer/index.d.ts",
|
|
40
44
|
"default": "./fesm2022/acorex-cdk-drawer.mjs"
|