1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 16:52:41 +01:00

Display Show Raw File links in Differential only if the file exists

Test Plan:
Open menu for added file
Open menu for deleted file
Open menu for changed file

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, epriestley

Differential Revision: https://secure.phabricator.com/D1410
This commit is contained in:
vrana 2012-01-15 21:18:07 -08:00
parent 025cc1376e
commit c7997e0a7c
4 changed files with 47 additions and 34 deletions

View file

@ -330,17 +330,6 @@ celerity_register_resource_map(array(
), ),
'disk' => '/rsrc/js/javelin/lib/behavior.js', 'disk' => '/rsrc/js/javelin/lib/behavior.js',
), ),
0 =>
array(
'uri' => '/res/b6096fdd/rsrc/js/javelin/lib/__tests__/URI.js',
'type' => 'js',
'requires' =>
array(
0 => 'javelin-uri',
1 => 'javelin-php-serializer',
),
'disk' => '/rsrc/js/javelin/lib/__tests__/URI.js',
),
'javelin-behavior-aphront-basic-tokenizer' => 'javelin-behavior-aphront-basic-tokenizer' =>
array( array(
'uri' => '/res/9be30797/rsrc/js/application/core/behavior-tokenizer.js', 'uri' => '/res/9be30797/rsrc/js/application/core/behavior-tokenizer.js',
@ -472,7 +461,7 @@ celerity_register_resource_map(array(
), ),
'javelin-behavior-differential-dropdown-menus' => 'javelin-behavior-differential-dropdown-menus' =>
array( array(
'uri' => '/res/5a56f221/rsrc/js/application/differential/behavior-dropdown-menus.js', 'uri' => '/res/4d4bea31/rsrc/js/application/differential/behavior-dropdown-menus.js',
'type' => 'js', 'type' => 'js',
'requires' => 'requires' =>
array( array(
@ -1438,18 +1427,6 @@ celerity_register_resource_map(array(
), ),
'disk' => '/rsrc/css/application/objectselector/object-selector.css', 'disk' => '/rsrc/css/application/objectselector/object-selector.css',
), ),
'phabricator-prefab' =>
array(
'uri' => '/res/5784a112/rsrc/js/application/core/Prefab.js',
'type' => 'js',
'requires' =>
array(
0 => 'javelin-install',
1 => 'javelin-util',
2 => 'javelin-dom',
),
'disk' => '/rsrc/js/application/core/Prefab.js',
),
'phabricator-profile-css' => 'phabricator-profile-css' =>
array( array(
'uri' => '/res/9869d10b/rsrc/css/application/profile/profile-view.css', 'uri' => '/res/9869d10b/rsrc/css/application/profile/profile-view.css',
@ -1468,6 +1445,29 @@ celerity_register_resource_map(array(
), ),
'disk' => '/rsrc/css/application/profile/profile-header-view.css', 'disk' => '/rsrc/css/application/profile/profile-header-view.css',
), ),
0 =>
array(
'uri' => '/res/b6096fdd/rsrc/js/javelin/lib/__tests__/URI.js',
'type' => 'js',
'requires' =>
array(
0 => 'javelin-uri',
1 => 'javelin-php-serializer',
),
'disk' => '/rsrc/js/javelin/lib/__tests__/URI.js',
),
'phabricator-prefab' =>
array(
'uri' => '/res/5784a112/rsrc/js/application/core/Prefab.js',
'type' => 'js',
'requires' =>
array(
0 => 'javelin-install',
1 => 'javelin-util',
2 => 'javelin-dom',
),
'disk' => '/rsrc/js/application/core/Prefab.js',
),
'phabricator-remarkup-css' => 'phabricator-remarkup-css' =>
array( array(
'uri' => '/res/795fa8a9/rsrc/css/core/remarkup.css', 'uri' => '/res/795fa8a9/rsrc/css/core/remarkup.css',

View file

@ -118,17 +118,25 @@ class DifferentialChangesetListView extends AphrontView {
$changeset->getAbsoluteRepositoryPath($this->diff, $repository)); $changeset->getAbsoluteRepositoryPath($this->diff, $repository));
} }
$meta = array(
'detailURI' => (string)$detail_uri,
'diffusionURI' => $diffusion_uri,
'containerID' => $detail->getID(),
);
$change = $changeset->getChangeType();
if ($change != DifferentialChangeType::TYPE_ADD) {
$meta['leftURI'] = (string)$detail_uri->alter('view', 'old');
}
if ($change != DifferentialChangeType::TYPE_DELETE &&
$change != DifferentialChangeType::TYPE_MULTICOPY) {
$meta['rightURI'] = (string)$detail_uri->alter('view', 'new');
}
$detail_button = javelin_render_tag( $detail_button = javelin_render_tag(
'a', 'a',
array( array(
'class' => 'button small grey', 'class' => 'button small grey',
'meta' => array( 'meta' => $meta,
'detailURI' => (string)$detail_uri,
'leftURI' => (string)$detail_uri->alter('view', 'old'),
'rightURI' => (string)$detail_uri->alter('view', 'new'),
'diffusionURI' => $diffusion_uri,
'containerID' => $detail->getID(),
),
'href' => $detail_uri, 'href' => $detail_uri,
'target' => '_blank', 'target' => '_blank',
'sigil' => 'differential-view-options', 'sigil' => 'differential-view-options',

View file

@ -6,6 +6,7 @@
phutil_require_module('phabricator', 'applications/differential/constants/changetype');
phutil_require_module('phabricator', 'applications/differential/view/changesetdetailview'); phutil_require_module('phabricator', 'applications/differential/view/changesetdetailview');
phutil_require_module('phabricator', 'infrastructure/celerity/api'); phutil_require_module('phabricator', 'infrastructure/celerity/api');
phutil_require_module('phabricator', 'infrastructure/javelin/api'); phutil_require_module('phabricator', 'infrastructure/javelin/api');

View file

@ -48,9 +48,13 @@ JX.behavior('differential-dropdown-menus', function(config) {
var menu = new JX.PhabricatorDropdownMenu(buttons[ii]) var menu = new JX.PhabricatorDropdownMenu(buttons[ii])
.addItem(reveal_item) .addItem(reveal_item)
.addItem(diffusion_item) .addItem(diffusion_item)
.addItem(link_to('View Standalone', data.detailURI)) .addItem(link_to('View Standalone', data.detailURI));
.addItem(link_to('Show Raw File (Left)', data.leftURI)) if (data.leftURI) {
.addItem(link_to('Show Raw File (Right)', data.rightURI)); menu.addItem(link_to('Show Raw File (Left)', data.leftURI));
}
if (data.rightURI) {
menu.addItem(link_to('Show Raw File (Right)', data.rightURI));
}
menu.listen( menu.listen(
'open', 'open',