Skip to content

Commit 4c526cf

Browse files
authored
Merge pull request #72 from penwern/replay-web-integration
prevent propagation
2 parents 90017e5 + 75fb698 commit 4c526cf

File tree

1 file changed

+58
-34
lines changed

1 file changed

+58
-34
lines changed

src/js/core/Events/PreviewWarc.js

Lines changed: 58 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -41,48 +41,69 @@ function handleWarcFileAction(node) {
4141
}
4242

4343
// Event handler for "open" button clicks
44-
Curate.eventDelegator.addEventListener(".action-open", "click", (e) => {
45-
const nodes = pydio._dataModel._selectedNodes;
46-
if (nodes.length === 1) {
47-
const handled = handleWarcFileAction(nodes[0]);
48-
if (handled) {
49-
e.preventDefault(); // Prevent default open action
50-
e.stopPropagation();
51-
}
52-
}
53-
});
54-
55-
// Event handler for double-click in main files list
56-
Curate.eventDelegator.addEventListener(".main-files-list", "dblclick", (e) => {
57-
console.log("Double-click in main files list:", e);
58-
if (e.target.closest(".material-list-entry")) {
44+
Curate.eventDelegator.addEventListener(
45+
".action-open",
46+
"click",
47+
(e) => {
5948
const nodes = pydio._dataModel._selectedNodes;
6049
if (nodes.length === 1) {
61-
console.log("Single node double clicked:", nodes[0]);
6250
const handled = handleWarcFileAction(nodes[0]);
6351
if (handled) {
64-
e.preventDefault(); // Prevent default double-click action
52+
e.preventDefault();
6553
e.stopPropagation();
54+
e.stopImmediatePropagation();
55+
return false;
6656
}
6757
}
68-
}
69-
});
58+
},
59+
true
60+
); // Use capture phase
61+
62+
// Event handler for double-click in main files list
63+
Curate.eventDelegator.addEventListener(
64+
".main-files-list",
65+
"dblclick",
66+
(e) => {
67+
console.log("Double-click in main files list:", e);
68+
if (e.target.closest(".material-list-entry")) {
69+
const nodes = pydio._dataModel._selectedNodes;
70+
if (nodes.length === 1) {
71+
console.log("Single node double clicked:", nodes[0]);
72+
const handled = handleWarcFileAction(nodes[0]);
73+
if (handled) {
74+
e.preventDefault();
75+
e.stopPropagation();
76+
e.stopImmediatePropagation();
77+
return false;
78+
}
79+
}
80+
}
81+
},
82+
true
83+
); // Use capture phase
7084

7185
// Event handler for double-click in image gallery (masonry grid)
72-
Curate.eventDelegator.addEventListener(".masonry-grid", "dblclick", (e) => {
73-
console.log("Double-click in masonry grid:", e);
74-
if (e.target.closest(".masonry-card")) {
75-
const nodes = pydio._dataModel._selectedNodes;
76-
if (nodes.length === 1) {
77-
console.log("Single node double clicked:", nodes[0]);
78-
const handled = handleWarcFileAction(nodes[0]);
79-
if (handled) {
80-
e.preventDefault(); // Prevent default double-click action
81-
e.stopPropagation();
86+
Curate.eventDelegator.addEventListener(
87+
".masonry-grid",
88+
"dblclick",
89+
(e) => {
90+
console.log("Double-click in masonry grid:", e);
91+
if (e.target.closest(".masonry-card")) {
92+
const nodes = pydio._dataModel._selectedNodes;
93+
if (nodes.length === 1) {
94+
console.log("Single node double clicked:", nodes[0]);
95+
const handled = handleWarcFileAction(nodes[0]);
96+
if (handled) {
97+
e.preventDefault();
98+
e.stopPropagation();
99+
e.stopImmediatePropagation();
100+
return false;
101+
}
82102
}
83103
}
84-
}
85-
});
104+
},
105+
true
106+
); // Use capture phase
86107

87108
// Event handler for context menu "Open" clicks
88109
Curate.eventDelegator.addEventListener(
@@ -96,10 +117,13 @@ Curate.eventDelegator.addEventListener(
96117
console.log("Single node from context menu:", nodes[0]);
97118
const handled = handleWarcFileAction(nodes[0]);
98119
if (handled) {
99-
e.preventDefault(); // Prevent default context menu action
120+
e.preventDefault();
100121
e.stopPropagation();
122+
e.stopImmediatePropagation();
123+
return false;
101124
}
102125
}
103126
}
104-
}
105-
);
127+
},
128+
true
129+
); // Use capture phase

0 commit comments

Comments
 (0)