Page MenuHomePhabricator

D13260.id32047.diff
No OneTemporary

D13260.id32047.diff

diff --git a/webroot/rsrc/js/application/repository/repository-crossreference.js b/webroot/rsrc/js/application/repository/repository-crossreference.js
--- a/webroot/rsrc/js/application/repository/repository-crossreference.js
+++ b/webroot/rsrc/js/application/repository/repository-crossreference.js
@@ -40,8 +40,7 @@
'tag:span',
function(e) {
if (e.getType() === 'mouseout') {
- highlighted && JX.DOM.alterClass(highlighted, classHighlight, false);
- highlighted = null;
+ unhighlight();
return;
}
if (!isSignalkey(e)) {
@@ -63,6 +62,10 @@
}
});
}
+ function unhighlight() {
+ highlighted && JX.DOM.alterClass(highlighted, classHighlight, false);
+ highlighted = null;
+ }
function openSearch(target, lang) {
var symbol = target.textContent || target.innerText;
@@ -110,6 +113,7 @@
linkAll(e.getData().container);
});
+
JX.Stratcom.listen(
['keydown', 'keyup'],
null,
@@ -117,14 +121,28 @@
if (e.getRawEvent().keyCode !== signalKey) {
return;
}
- statics.active = (e.getType() === 'keydown');
- linked.forEach(function(element) {
- JX.DOM.alterClass(element, classMouseCursor, statics.active);
- });
+ setCursorMode(e.getType() === 'keydown');
if (!statics.active) {
- highlighted && JX.DOM.alterClass(highlighted, classHighlight, false);
- highlighted = null;
+ unhighlight();
}
});
+
+ JX.Stratcom.listen(
+ ['blur'],
+ null,
+ function(e) {
+ if (e.getTarget()) {
+ return;
+ }
+ unhighlight();
+ setCursorMode(false);
+ });
+
+ function setCursorMode(active) {
+ statics.active = (active);
+ linked.forEach(function(element) {
+ JX.DOM.alterClass(element, classMouseCursor, statics.active);
+ });
+ }
});

File Metadata

Mime Type
text/plain
Expires
Mar 7 2025, 4:58 PM (4 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7338386
Default Alt Text
D13260.id32047.diff (1 KB)

Event Timeline