diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -13,7 +13,7 @@ 'core.pkg.js' => '4c79d74f', 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '45951e9e', - 'differential.pkg.js' => 'b69ae3ec', + 'differential.pkg.js' => '19ee9979', 'diffusion.pkg.css' => 'a2d17c7d', 'diffusion.pkg.js' => '6134c5a1', 'favicon.ico' => '30672e08', @@ -443,7 +443,7 @@ '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' => 'fc2d8ffd', + 'rsrc/js/application/repository/repository-crossreference.js' => '2ab10a76', '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', @@ -692,7 +692,7 @@ 'javelin-behavior-reorder-applications' => '76b9fc3e', 'javelin-behavior-reorder-columns' => 'e1d25dfb', 'javelin-behavior-reorder-profile-menu-items' => 'e2e0a072', - 'javelin-behavior-repository-crossreference' => 'fc2d8ffd', + 'javelin-behavior-repository-crossreference' => '2ab10a76', 'javelin-behavior-scrollbar' => '834a1173', 'javelin-behavior-search-reorder-queries' => 'e9581f08', 'javelin-behavior-select-content' => 'bf5374ef', @@ -1088,6 +1088,12 @@ 'javelin-install', 'javelin-util', ), + '2ab10a76' => array( + 'javelin-behavior', + 'javelin-dom', + 'javelin-stratcom', + 'javelin-uri', + ), '2ae077e1' => array( 'javelin-behavior', 'javelin-dom', @@ -2159,12 +2165,6 @@ 'javelin-install', 'javelin-dom', ), - 'fc2d8ffd' => array( - 'javelin-behavior', - 'javelin-dom', - 'javelin-stratcom', - 'javelin-uri', - ), 'fc91ab6c' => array( 'javelin-behavior', 'javelin-dom', diff --git a/src/applications/diffusion/controller/DiffusionBrowseController.php b/src/applications/diffusion/controller/DiffusionBrowseController.php --- a/src/applications/diffusion/controller/DiffusionBrowseController.php +++ b/src/applications/diffusion/controller/DiffusionBrowseController.php @@ -658,6 +658,11 @@ ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->appendChild($corpus) ->addClass('diffusion-mobile-view') + ->addSigil('diffusion-file-content-view') + ->setMetadata( + array( + 'path' => $this->getDiffusionRequest()->getPath(), + )) ->setCollapsed(true); $messages = array(); 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 @@ -94,12 +94,15 @@ }; var c = target.className; c = c.replace(classHighlight, '').trim(); + if (class_map[c]) { query.type = class_map[c]; } + if (target.hasAttribute('data-symbol-context')) { query.context = target.getAttribute('data-symbol-context'); } + if (target.hasAttribute('data-symbol-name')) { symbol = target.getAttribute('data-symbol-name'); } @@ -176,13 +179,26 @@ } function getPath(target) { - var changeset = JX.DOM.findAbove(target, 'div', 'differential-changeset'); + // This method works in Differential, when browsing a changset. + var changeset; + try { + changeset = JX.DOM.findAbove(target, 'div', 'differential-changeset'); + return JX.Stratcom.getData(changeset).path; + } catch (ex) { + // Ignore. + } - if (!changeset) { - return null; + // This method works in Diffusion, when viewing the content of a file at + // a particular commit. + var file; + try { + file = JX.DOM.findAbove(target, 'div', 'diffusion-file-content-view'); + return JX.Stratcom.getData(file).path; + } catch (ex) { + // Ignore. } - return JX.Stratcom.getData(changeset).path; + return null; } function getChar(target) {