mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 00:32:42 +01:00
Fix an issue where the repository symbol index would incorrectly activate inside inline comments
Summary: See PHI185. When looking at a revision, you can Command-Click (Mac) symbols to jump to their definitions (provided the symbol index has been built). Currently, the code works on any node inside the changeset list, so it activates when clicking links inside inline comments and opening them in a new window. To avoid this, don't activate if we're inside an inline comment. This technically prevents you from doing a symbol lookup on a symbol inside a codeblock inside an inline, but that seems fine/reasonable. Test Plan: Wrote `Dxxx` in an inline, command-clicked it. Before: got a symbol lookup. After: just a new tab with the revision. Reviewers: amckinley Reviewed By: amckinley Differential Revision: https://secure.phabricator.com/D18753
This commit is contained in:
parent
80ebe401e5
commit
2a7cdcf740
2 changed files with 22 additions and 11 deletions
|
@ -13,7 +13,7 @@ return array(
|
|||
'core.pkg.js' => '4c79d74f',
|
||||
'darkconsole.pkg.js' => '1f9a31bc',
|
||||
'differential.pkg.css' => '45951e9e',
|
||||
'differential.pkg.js' => 'b71b8c5d',
|
||||
'differential.pkg.js' => 'ae6460e0',
|
||||
'diffusion.pkg.css' => 'a2d17c7d',
|
||||
'diffusion.pkg.js' => '6134c5a1',
|
||||
'favicon.ico' => '30672e08',
|
||||
|
@ -444,7 +444,7 @@ return array(
|
|||
'rsrc/js/application/releeph/releeph-preview-branch.js' => 'b2b4fbaf',
|
||||
'rsrc/js/application/releeph/releeph-request-state-change.js' => 'a0b57eb8',
|
||||
'rsrc/js/application/releeph/releeph-request-typeahead.js' => 'de2e896f',
|
||||
'rsrc/js/application/repository/repository-crossreference.js' => 'e5339c43',
|
||||
'rsrc/js/application/repository/repository-crossreference.js' => '7fe9bc12',
|
||||
'rsrc/js/application/search/behavior-reorder-profile-menu-items.js' => 'e2e0a072',
|
||||
'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08',
|
||||
'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => '887ad43f',
|
||||
|
@ -690,7 +690,7 @@ return array(
|
|||
'javelin-behavior-reorder-applications' => '76b9fc3e',
|
||||
'javelin-behavior-reorder-columns' => 'e1d25dfb',
|
||||
'javelin-behavior-reorder-profile-menu-items' => 'e2e0a072',
|
||||
'javelin-behavior-repository-crossreference' => 'e5339c43',
|
||||
'javelin-behavior-repository-crossreference' => '7fe9bc12',
|
||||
'javelin-behavior-scrollbar' => '834a1173',
|
||||
'javelin-behavior-search-reorder-queries' => 'e9581f08',
|
||||
'javelin-behavior-select-content' => 'bf5374ef',
|
||||
|
@ -1546,6 +1546,12 @@ return array(
|
|||
'7f243deb' => array(
|
||||
'javelin-install',
|
||||
),
|
||||
'7fe9bc12' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-uri',
|
||||
),
|
||||
'834a1173' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-scrollbar',
|
||||
|
@ -2073,12 +2079,6 @@ return array(
|
|||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
),
|
||||
'e5339c43' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-uri',
|
||||
),
|
||||
'e5822781' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
|
|
|
@ -46,8 +46,19 @@ JX.behavior('repository-crossreference', function(config, statics) {
|
|||
if (!isSignalkey(e)) {
|
||||
return;
|
||||
}
|
||||
if (e.getType() === 'mouseover') {
|
||||
|
||||
var target = e.getTarget();
|
||||
|
||||
try {
|
||||
// If we're in an inline comment, don't link symbols.
|
||||
if (JX.DOM.findAbove(target, 'div', 'differential-inline-comment')) {
|
||||
return;
|
||||
}
|
||||
} catch (ex) {
|
||||
// Continue if we're not inside an inline comment.
|
||||
}
|
||||
|
||||
if (e.getType() === 'mouseover') {
|
||||
while (target !== document.body) {
|
||||
if (JX.DOM.isNode(target, 'span') &&
|
||||
(target.className in class_map)) {
|
||||
|
@ -58,7 +69,7 @@ JX.behavior('repository-crossreference', function(config, statics) {
|
|||
target = target.parentNode;
|
||||
}
|
||||
} else if (e.getType() === 'click') {
|
||||
openSearch(e.getTarget(), lang);
|
||||
openSearch(target, lang);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue