Page MenuHomestyx hydra

No OneTemporary

diff --git a/webroot/rsrc/js/application/repository/repository-crossreference.js b/webroot/rsrc/js/application/repository/repository-crossreference.js
index 316d4936b4..7f547d3f72 100644
--- a/webroot/rsrc/js/application/repository/repository-crossreference.js
+++ b/webroot/rsrc/js/application/repository/repository-crossreference.js
@@ -1,36 +1,40 @@
/**
* @provides javelin-behavior-repository-crossreference
* @requires javelin-behavior
* javelin-dom
* javelin-uri
*/
JX.behavior('repository-crossreference', function(config) {
// NOTE: Pretty much everything in this file is a worst practice. We're
// constrained by the markup generated by the syntax highlighters.
var container = JX.$(config.container);
JX.DOM.alterClass(container, 'repository-crossreference', true);
JX.DOM.listen(
container,
'click',
'tag:span',
function(e) {
var target = e.getTarget();
var map = {nc : 'class', nf : 'function'};
- if (JX.DOM.isNode(target, 'span') && (target.className in map)) {
- var symbol = target.textContent || target.innerText;
- var uri = JX.$U('/diffusion/symbol/' + symbol + '/');
- uri.addQueryParams({
- type : map[target.className],
- lang : config.lang,
- projects : config.projects.join(','),
- jump : true
- });
- window.open(uri);
- e.kill();
+ while (target !== document.body) {
+ if (JX.DOM.isNode(target, 'span') && (target.className in map)) {
+ var symbol = target.textContent || target.innerText;
+ var uri = JX.$U('/diffusion/symbol/' + symbol + '/');
+ uri.addQueryParams({
+ type : map[target.className],
+ lang : config.lang,
+ projects : config.projects.join(','),
+ jump : true
+ });
+ window.open(uri);
+ e.kill();
+ break;
+ }
+ target = target.parentNode;
}
});
});

File Metadata

Mime Type
text/x-diff
Expires
Wed, Dec 3, 6:31 AM (7 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
433183
Default Alt Text
(1 KB)

Event Timeline