Skip to content

Commit 59c51e3

Browse files
committed
fix: button's onclick was overriding more options box
1 parent 36f4817 commit 59c51e3

File tree

1 file changed

+25
-50
lines changed

1 file changed

+25
-50
lines changed

src/LiveDevelopment/BrowserScripts/RemoteFunctions.js

Lines changed: 25 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,42 +1028,6 @@ function RemoteFunctions(config) {
10281028
}
10291029
};
10301030

1031-
function Editor(element) {
1032-
this.onBlur = this.onBlur.bind(this);
1033-
this.onKeyPress = this.onKeyPress.bind(this);
1034-
1035-
this.element = element;
1036-
this.element.setAttribute("contenteditable", "true");
1037-
this.element.focus();
1038-
this.element.addEventListener("blur", this.onBlur);
1039-
this.element.addEventListener("keypress", this.onKeyPress);
1040-
1041-
this.revertText = this.element.innerHTML;
1042-
1043-
_trigger(this.element, "edit", 1);
1044-
}
1045-
1046-
Editor.prototype = {
1047-
onBlur: function (event) {
1048-
this.element.removeAttribute("contenteditable");
1049-
this.element.removeEventListener("blur", this.onBlur);
1050-
this.element.removeEventListener("keypress", this.onKeyPress);
1051-
_trigger(this.element, "edit", 0, true);
1052-
},
1053-
1054-
onKeyPress: function (event) {
1055-
switch (event.which) {
1056-
case 13: // return
1057-
this.element.blur();
1058-
break;
1059-
case 27: // esc
1060-
this.element.innerHTML = this.revertText;
1061-
this.element.blur();
1062-
break;
1063-
}
1064-
}
1065-
};
1066-
10671031
function Highlight(color, trigger) {
10681032
this.color = color;
10691033
this.trigger = !!trigger;
@@ -1364,19 +1328,7 @@ function RemoteFunctions(config) {
13641328
}
13651329
};
13661330

1367-
var _currentEditor;
1368-
function _toggleEditor(element) {
1369-
_currentEditor = new Editor(element);
1370-
}
1371-
13721331
var _currentMenu;
1373-
function _toggleMenu(element) {
1374-
if (_currentMenu) {
1375-
_currentMenu.remove();
1376-
}
1377-
_currentMenu = new Menu(element);
1378-
}
1379-
13801332
var _localHighlight;
13811333
var _remoteHighlight;
13821334
var _hoverHighlight;
@@ -1477,6 +1429,8 @@ function RemoteFunctions(config) {
14771429
) {
14781430
event.preventDefault();
14791431
event.stopPropagation();
1432+
event.stopImmediatePropagation();
1433+
14801434
if (_nodeMoreOptionsBox) {
14811435
_nodeMoreOptionsBox.remove();
14821436
_nodeMoreOptionsBox = null;
@@ -1512,6 +1466,26 @@ function RemoteFunctions(config) {
15121466
}
15131467
}
15141468

1469+
/**
1470+
* this function handles the double click event
1471+
* @param {Event} event
1472+
*/
1473+
function onDoubleClick(event) {
1474+
if (
1475+
isFlagActive &&
1476+
event.target.hasAttribute("data-brackets-id") &&
1477+
event.target.tagName !== "BODY" &&
1478+
event.target.tagName !== "HTML"
1479+
) {
1480+
// because we only want to allow double click text editing where we show the edit option
1481+
if (_shouldShowEditTextOption(event.target)) {
1482+
event.preventDefault();
1483+
event.stopPropagation();
1484+
startEditing(event.target);
1485+
}
1486+
}
1487+
}
1488+
15151489
function onKeyUp(event) {
15161490
if (_setup && !_validEvent(event)) {
15171491
window.document.removeEventListener("keyup", onKeyUp);
@@ -1533,7 +1507,7 @@ function RemoteFunctions(config) {
15331507
window.document.addEventListener("mouseover", onMouseOver);
15341508
window.document.addEventListener("mouseout", onMouseOut);
15351509
window.document.addEventListener("mousemove", onMouseMove);
1536-
window.document.addEventListener("click", onClick);
1510+
window.document.addEventListener("click", onClick, true);
15371511
_localHighlight = new Highlight("#ecc", true);
15381512
_setup = true;
15391513
}
@@ -2162,7 +2136,8 @@ function RemoteFunctions(config) {
21622136
// Add event listeners for hover
21632137
window.document.addEventListener("mouseover", onElementHover);
21642138
window.document.addEventListener("mouseout", onElementHoverOut);
2165-
window.document.addEventListener("click", onClick);
2139+
window.document.addEventListener("click", onClick, true);
2140+
window.document.addEventListener("dblclick", onDoubleClick);
21662141
window.document.addEventListener("dragover", onDragOver);
21672142
window.document.addEventListener("drop", onDrop);
21682143
window.document.addEventListener("keydown", onKeyDown);

0 commit comments

Comments
 (0)