Skip to content

Commit 81221d4

Browse files
committed
feat(vue): update drag events logic
1 parent b6d5227 commit 81221d4

1 file changed

Lines changed: 21 additions & 28 deletions

File tree

packages/vue/src/utils/overlays.ts

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ export const defineOverlayContainer = <Props extends object>(
2424
{ componentEv: `${name}DidPresent`, frameworkEv: "didPresent" },
2525
{ componentEv: `${name}WillDismiss`, frameworkEv: "willDismiss" },
2626
{ componentEv: `${name}DidDismiss`, frameworkEv: "didDismiss" },
27-
{ componentEv: "ionDragStart", frameworkEv: "dragStart" },
28-
{ componentEv: "ionDragMove", frameworkEv: "dragMove" },
29-
{ componentEv: "ionDragEnd", frameworkEv: "dragEnd" },
3027
];
3128

3229
if (defineCustomElement !== undefined) {
@@ -112,9 +109,11 @@ export const defineOverlayContainer = <Props extends object>(
112109
delete restOfProps.onDidPresent;
113110
delete restOfProps.onWillDismiss;
114111
delete restOfProps.onDidDismiss;
115-
delete restOfProps.onDragStart;
116-
delete restOfProps.onDragMove;
117-
delete restOfProps.onDragEnd;
112+
if (name === "ion-modal") {
113+
delete restOfProps.onDragStart;
114+
delete restOfProps.onDragMove;
115+
delete restOfProps.onDragEnd;
116+
}
118117

119118
const component = slots.default && slots.default()[0];
120119
overlay.value = controller.create({
@@ -181,24 +180,26 @@ export const defineOverlayContainer = <Props extends object>(
181180
emit(componentName + "DidPresent", ev);
182181
});
183182
/**
184-
* Drag events:
183+
* Modal drag events:
185184
* Adding these ensures they are re-emitted so developers can
186185
* use @ionDragStart, @ionDragMove, etc. in their templates.
187186
*/
188-
elementRef.value.addEventListener("ionDragStart", (ev: Event) => {
189-
emit("ionDragStart", ev);
190-
emit(componentName + "IonDragStart", ev);
191-
});
187+
if (name === "ion-modal") {
188+
elementRef.value.addEventListener("ionDragStart", (ev: Event) => {
189+
emit("ionDragStart", ev);
190+
emit(componentName + "IonDragStart", ev);
191+
});
192192

193-
elementRef.value.addEventListener("ionDragMove", (ev: Event) => {
194-
emit("ionDragMove", ev);
195-
emit(componentName + "IonDragMove", ev);
196-
});
193+
elementRef.value.addEventListener("ionDragMove", (ev: Event) => {
194+
emit("ionDragMove", ev);
195+
emit(componentName + "IonDragMove", ev);
196+
});
197197

198-
elementRef.value.addEventListener("ionDragEnd", (ev: Event) => {
199-
emit("ionDragEnd", ev);
200-
emit(componentName + "IonDragEnd", ev);
201-
});
198+
elementRef.value.addEventListener("ionDragEnd", (ev: Event) => {
199+
emit("ionDragEnd", ev);
200+
emit(componentName + "IonDragEnd", ev);
201+
});
202+
}
202203
});
203204

204205
return () => {
@@ -263,15 +264,7 @@ export const defineOverlayContainer = <Props extends object>(
263264
},
264265
emits:
265266
typeof controller !== "undefined"
266-
? [
267-
"willPresent",
268-
"didPresent",
269-
"willDismiss",
270-
"didDismiss",
271-
"ionDragStart",
272-
"ionDragMove",
273-
"ionDragEnd",
274-
]
267+
? ["willPresent", "didPresent", "willDismiss", "didDismiss"]
275268
: undefined,
276269
};
277270

0 commit comments

Comments
 (0)