Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15337539
D17845.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
24 KB
Referenced Files
None
Subscribers
None
D17845.diff
View Options
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' => '2ff7879f',
'darkconsole.pkg.js' => '1f9a31bc',
'differential.pkg.css' => '90b30783',
- 'differential.pkg.js' => 'ef6c7cfc',
+ 'differential.pkg.js' => '51d9bebe',
'diffusion.pkg.css' => 'b93d9b8c',
'diffusion.pkg.js' => '84c8f8fd',
'favicon.ico' => '30672e08',
@@ -390,17 +390,16 @@
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '408bf173',
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
- 'rsrc/js/application/diff/DiffChangeset.js' => 'a1189df6',
- 'rsrc/js/application/diff/DiffChangesetList.js' => '2329e40e',
+ 'rsrc/js/application/diff/DiffChangeset.js' => 'ed7bc580',
+ 'rsrc/js/application/diff/DiffChangesetList.js' => 'f9ea2d8b',
'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832',
'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => '2e3f9738',
'rsrc/js/application/differential/behavior-comment-jump.js' => '4fdb476d',
'rsrc/js/application/differential/behavior-comment-preview.js' => 'b064af76',
'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1',
- 'rsrc/js/application/differential/behavior-dropdown-menus.js' => 'c3d216cb',
'rsrc/js/application/differential/behavior-edit-inline-comments.js' => 'c0f1c3b5',
'rsrc/js/application/differential/behavior-keyboard-nav.js' => '92904457',
- 'rsrc/js/application/differential/behavior-populate.js' => '00d88bc4',
+ 'rsrc/js/application/differential/behavior-populate.js' => '7356b23d',
'rsrc/js/application/differential/behavior-toggle-files.js' => 'ca3f91eb',
'rsrc/js/application/differential/behavior-user-select.js' => 'a8d8459d',
'rsrc/js/application/diffusion/DiffusionLocateFileSource.js' => 'c93358e3',
@@ -624,11 +623,10 @@
'javelin-behavior-diff-preview-link' => '051c7832',
'javelin-behavior-differential-comment-jump' => '4fdb476d',
'javelin-behavior-differential-diff-radios' => 'e1ff79b1',
- 'javelin-behavior-differential-dropdown-menus' => 'c3d216cb',
'javelin-behavior-differential-edit-inline-comments' => 'c0f1c3b5',
'javelin-behavior-differential-feedback-preview' => 'b064af76',
'javelin-behavior-differential-keyboard-navigation' => '92904457',
- 'javelin-behavior-differential-populate' => '00d88bc4',
+ 'javelin-behavior-differential-populate' => '7356b23d',
'javelin-behavior-differential-toggle-files' => 'ca3f91eb',
'javelin-behavior-differential-user-select' => 'a8d8459d',
'javelin-behavior-diffusion-browse-file' => '054a0f0b',
@@ -786,8 +784,8 @@
'phabricator-darklog' => 'c8e1ffe3',
'phabricator-darkmessage' => 'c48cccdd',
'phabricator-dashboard-css' => 'fe5b1869',
- 'phabricator-diff-changeset' => 'a1189df6',
- 'phabricator-diff-changeset-list' => '2329e40e',
+ 'phabricator-diff-changeset' => 'ed7bc580',
+ 'phabricator-diff-changeset-list' => 'f9ea2d8b',
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
'phabricator-draggable-list' => 'bea6e7f4',
'phabricator-fatal-config-template-css' => '8f18fa41',
@@ -922,14 +920,6 @@
'unhandled-exception-css' => '4c96257a',
),
'requires' => array(
- '00d88bc4' => array(
- 'javelin-behavior',
- 'javelin-dom',
- 'javelin-stratcom',
- 'phabricator-tooltip',
- 'phabricator-diff-changeset-list',
- 'phabricator-diff-changeset',
- ),
'013ffff9' => array(
'javelin-install',
'javelin-util',
@@ -1087,9 +1077,6 @@
'javelin-workflow',
'javelin-util',
),
- '2329e40e' => array(
- 'javelin-install',
- ),
26167537 => array(
'javelin-install',
'javelin-dom',
@@ -1471,6 +1458,14 @@
'javelin-behavior',
'javelin-dom',
),
+ '7356b23d' => array(
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'phabricator-tooltip',
+ 'phabricator-diff-changeset-list',
+ 'phabricator-diff-changeset',
+ ),
'73d09eef' => array(
'javelin-behavior',
'javelin-vector',
@@ -1706,16 +1701,6 @@
'javelin-util',
'phabricator-keyboard-shortcut',
),
- 'a1189df6' => array(
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-install',
- 'javelin-workflow',
- 'javelin-router',
- 'javelin-behavior-device',
- 'javelin-vector',
- ),
'a155550f' => array(
'javelin-install',
'javelin-dom',
@@ -1942,18 +1927,6 @@
'javelin-vector',
'differential-inline-comment-editor',
),
- 'c3d216cb' => array(
- 'javelin-behavior',
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-workflow',
- 'phuix-dropdown-menu',
- 'phuix-action-list-view',
- 'phuix-action-view',
- 'phabricator-phtize',
- 'phabricator-diff-changeset',
- ),
'c420b0b9' => array(
'javelin-behavior',
'javelin-behavior-device',
@@ -2182,6 +2155,16 @@
'javelin-dom',
'phabricator-draggable-list',
),
+ 'ed7bc580' => array(
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-workflow',
+ 'javelin-router',
+ 'javelin-behavior-device',
+ 'javelin-vector',
+ ),
'eded9ee8' => array(
'javelin-behavior',
'javelin-typeahead-ondemand-source',
@@ -2239,6 +2222,9 @@
'javelin-install',
'javelin-dom',
),
+ 'f9ea2d8b' => array(
+ 'javelin-install',
+ ),
'fbe497e7' => array(
'javelin-behavior',
'javelin-util',
@@ -2465,7 +2451,6 @@
'javelin-behavior-repository-crossreference',
'javelin-behavior-load-blame',
'differential-inline-comment-editor',
- 'javelin-behavior-differential-dropdown-menus',
'javelin-behavior-differential-toggle-files',
'javelin-behavior-differential-user-select',
'javelin-behavior-aphront-more',
diff --git a/resources/celerity/packages.php b/resources/celerity/packages.php
--- a/resources/celerity/packages.php
+++ b/resources/celerity/packages.php
@@ -204,7 +204,6 @@
'javelin-behavior-load-blame',
'differential-inline-comment-editor',
- 'javelin-behavior-differential-dropdown-menus',
'javelin-behavior-differential-toggle-files',
'javelin-behavior-differential-user-select',
'javelin-behavior-aphront-more',
diff --git a/src/applications/differential/view/DifferentialChangesetListView.php b/src/applications/differential/view/DifferentialChangesetListView.php
--- a/src/applications/differential/view/DifferentialChangesetListView.php
+++ b/src/applications/differential/view/DifferentialChangesetListView.php
@@ -138,29 +138,6 @@
),
));
- Javelin::initBehavior(
- 'differential-dropdown-menus',
- array(
- 'pht' => array(
- 'Open in Editor' => pht('Open in Editor'),
- 'Show All Context' => pht('Show All Context'),
- 'All Context Shown' => pht('All Context Shown'),
- "Can't Toggle Unloaded File" => pht("Can't Toggle Unloaded File"),
- 'Expand File' => pht('Expand File'),
- 'Collapse File' => pht('Collapse File'),
- 'Browse in Diffusion' => pht('Browse in Diffusion'),
- 'View Standalone' => pht('View Standalone'),
- 'Show Raw File (Left)' => pht('Show Raw File (Left)'),
- 'Show Raw File (Right)' => pht('Show Raw File (Right)'),
- 'Configure Editor' => pht('Configure Editor'),
- 'Load Changes' => pht('Load Changes'),
- 'View Side-by-Side' => pht('View Side-by-Side'),
- 'View Unified' => pht('View Unified'),
- 'Change Text Encoding...' => pht('Change Text Encoding...'),
- 'Highlight As...' => pht('Highlight As...'),
- ),
- ));
-
$renderer = DifferentialChangesetParser::getDefaultRendererForViewer(
$viewer);
@@ -238,8 +215,28 @@
$this->requireResource('aphront-tooltip-css');
- $this->initBehavior('differential-populate', array(
+ $this->initBehavior(
+ 'differential-populate',
+ array(
'changesetViewIDs' => $ids,
+ 'pht' => array(
+ 'Open in Editor' => pht('Open in Editor'),
+ 'Show All Context' => pht('Show All Context'),
+ 'All Context Shown' => pht('All Context Shown'),
+ "Can't Toggle Unloaded File" => pht("Can't Toggle Unloaded File"),
+ 'Expand File' => pht('Expand File'),
+ 'Collapse File' => pht('Collapse File'),
+ 'Browse in Diffusion' => pht('Browse in Diffusion'),
+ 'View Standalone' => pht('View Standalone'),
+ 'Show Raw File (Left)' => pht('Show Raw File (Left)'),
+ 'Show Raw File (Right)' => pht('Show Raw File (Right)'),
+ 'Configure Editor' => pht('Configure Editor'),
+ 'Load Changes' => pht('Load Changes'),
+ 'View Side-by-Side' => pht('View Side-by-Side'),
+ 'View Unified' => pht('View Unified'),
+ 'Change Text Encoding...' => pht('Change Text Encoding...'),
+ 'Highlight As...' => pht('Highlight As...'),
+ ),
));
$this->initBehavior('differential-comment-jump', array());
diff --git a/webroot/rsrc/js/application/diff/DiffChangeset.js b/webroot/rsrc/js/application/diff/DiffChangeset.js
--- a/webroot/rsrc/js/application/diff/DiffChangeset.js
+++ b/webroot/rsrc/js/application/diff/DiffChangeset.js
@@ -174,6 +174,20 @@
return this;
},
+ loadAllContext: function() {
+ var nodes = JX.DOM.scry(this._node, 'tr', 'context-target');
+ for (var ii = 0; ii < nodes.length; ii++) {
+ var show = JX.DOM.scry(nodes[ii], 'a', 'show-more');
+ for (var jj = 0; jj < show.length; jj++) {
+ var data = JX.Stratcom.getData(show[jj]);
+ if (data.type != 'all') {
+ continue;
+ }
+ this.loadContext(data.range, nodes[ii], true);
+ }
+ }
+ },
+
_startContentWorkflow: function(workflow) {
var routable = workflow.getRoutable();
diff --git a/webroot/rsrc/js/application/diff/DiffChangesetList.js b/webroot/rsrc/js/application/diff/DiffChangesetList.js
--- a/webroot/rsrc/js/application/diff/DiffChangesetList.js
+++ b/webroot/rsrc/js/application/diff/DiffChangesetList.js
@@ -13,6 +13,13 @@
var onmore = JX.bind(this, this._ifawake, this._onmore);
JX.Stratcom.listen('click', 'show-more', onmore);
+
+ var onmenu = JX.bind(this, this._ifawake, this._onmenu);
+ JX.Stratcom.listen('click', 'differential-view-options', onmenu);
+ },
+
+ properties: {
+ translations: null
},
members: {
@@ -80,8 +87,221 @@
var target = e.getNode('context-target');
changeset.loadContext(data.range, target);
+ },
+
+ _onmenu: function(e) {
+ var button = e.getNode('differential-view-options');
+
+ var data = JX.Stratcom.getData(button);
+ if (data.menu) {
+ // We've already built this menu, so we can let the menu itself handle
+ // the event.
+ return;
+ }
+
+ e.prevent();
+
+ var pht = this.getTranslations();
+
+ var node = JX.DOM.findAbove(
+ button,
+ 'div',
+ 'differential-changeset');
+
+ var changeset = this.getChangesetForNode(node);
+
+ var menu = new JX.PHUIXDropdownMenu(button);
+ var list = new JX.PHUIXActionListView();
+
+ var add_link = function(icon, name, href, local) {
+ if (!href) {
+ return;
+ }
+
+ var link = new JX.PHUIXActionView()
+ .setIcon(icon)
+ .setName(name)
+ .setHref(href)
+ .setHandler(function(e) {
+ if (local) {
+ window.location.assign(href);
+ } else {
+ window.open(href);
+ }
+ menu.close();
+ e.prevent();
+ });
+
+ list.addItem(link);
+ return link;
+ };
+
+ var reveal_item = new JX.PHUIXActionView()
+ .setIcon('fa-eye');
+ list.addItem(reveal_item);
+
+ var visible_item = new JX.PHUIXActionView()
+ .setHandler(function(e) {
+ var diff = JX.DOM.scry(
+ JX.$(data.containerID),
+ 'table',
+ 'differential-diff');
+
+ JX.Stratcom.invoke('differential-toggle-file', null, {diff: diff});
+ e.prevent();
+ menu.close();
+ });
+ list.addItem(visible_item);
+
+ add_link('fa-file-text', pht('Browse in Diffusion'), data.diffusionURI);
+ add_link('fa-file-o', pht('View Standalone'), data.standaloneURI);
+
+ var up_item = new JX.PHUIXActionView()
+ .setHandler(function(e) {
+ if (changeset.isLoaded()) {
+ var renderer = changeset.getRenderer();
+ if (renderer == '1up') {
+ renderer = '2up';
+ } else {
+ renderer = '1up';
+ }
+ changeset.setRenderer(renderer);
+ }
+ changeset.reload();
+
+ e.prevent();
+ menu.close();
+ });
+ list.addItem(up_item);
+
+ var encoding_item = new JX.PHUIXActionView()
+ .setIcon('fa-font')
+ .setName(pht('Change Text Encoding...'))
+ .setHandler(function(e) {
+ var params = {
+ encoding: changeset.getEncoding()
+ };
+
+ new JX.Workflow('/services/encoding/', params)
+ .setHandler(function(r) {
+ changeset.setEncoding(r.encoding);
+ changeset.reload();
+ })
+ .start();
+
+ e.prevent();
+ menu.close();
+ });
+ list.addItem(encoding_item);
+
+ var highlight_item = new JX.PHUIXActionView()
+ .setIcon('fa-sun-o')
+ .setName(pht('Highlight As...'))
+ .setHandler(function(e) {
+ var params = {
+ highlight: changeset.getHighlight()
+ };
+
+ new JX.Workflow('/services/highlight/', params)
+ .setHandler(function(r) {
+ changeset.setHighlight(r.highlight);
+ changeset.reload();
+ })
+ .start();
+
+ e.prevent();
+ menu.close();
+ });
+ list.addItem(highlight_item);
+
+ add_link('fa-arrow-left', pht('Show Raw File (Left)'), data.leftURI);
+ add_link('fa-arrow-right', pht('Show Raw File (Right)'), data.rightURI);
+ add_link('fa-pencil', pht('Open in Editor'), data.editor, true);
+ add_link('fa-wrench', pht('Configure Editor'), data.editorConfigure);
+
+ menu.setContent(list.getNode());
+
+ menu.listen('open', function() {
+ // When the user opens the menu, check if there are any "Show More"
+ // links in the changeset body. If there aren't, disable the "Show
+ // Entire File" menu item since it won't change anything.
+
+ var nodes = JX.DOM.scry(JX.$(data.containerID), 'a', 'show-more');
+ if (nodes.length) {
+ reveal_item
+ .setDisabled(false)
+ .setName(pht('Show All Context'))
+ .setIcon('fa-file-o')
+ .setHandler(function(e) {
+ changeset.loadAllContext();
+ e.prevent();
+ menu.close();
+ });
+ } else {
+ reveal_item
+ .setDisabled(true)
+ .setIcon('fa-file')
+ .setName(pht('All Context Shown'))
+ .setHandler(function(e) { e.prevent(); });
+ }
+
+ encoding_item.setDisabled(!changeset.isLoaded());
+ highlight_item.setDisabled(!changeset.isLoaded());
+
+ if (changeset.isLoaded()) {
+ if (changeset.getRenderer() == '2up') {
+ up_item
+ .setIcon('fa-list-alt')
+ .setName(pht('View Unified'));
+ } else {
+ up_item
+ .setIcon('fa-files-o')
+ .setName(pht('View Side-by-Side'));
+ }
+ } else {
+ up_item
+ .setIcon('fa-refresh')
+ .setName(pht('Load Changes'));
+ }
+
+ visible_item
+ .setDisabled(true)
+ .setIcon('fa-expand')
+ .setName(pht('Can\'t Toggle Unloaded File'));
+ var diffs = JX.DOM.scry(
+ JX.$(data.containerID),
+ 'table',
+ 'differential-diff');
+
+ if (diffs.length > 1) {
+ JX.$E(
+ 'More than one node with sigil "differential-diff" was found in "'+
+ data.containerID+'."');
+ } else if (diffs.length == 1) {
+ var diff = diffs[0];
+ visible_item.setDisabled(false);
+ if (JX.Stratcom.getData(diff).hidden) {
+ visible_item
+ .setName(pht('Expand File'))
+ .setIcon('fa-expand');
+ } else {
+ visible_item
+ .setName(pht('Collapse File'))
+ .setIcon('fa-compress');
+ }
+ } else {
+ // Do nothing when there is no diff shown in the table. For example,
+ // the file is binary.
+ }
+
+ });
+
+ data.menu = menu;
+ menu.open();
}
+
+
}
});
diff --git a/webroot/rsrc/js/application/differential/behavior-dropdown-menus.js b/webroot/rsrc/js/application/differential/behavior-dropdown-menus.js
deleted file mode 100644
--- a/webroot/rsrc/js/application/differential/behavior-dropdown-menus.js
+++ /dev/null
@@ -1,240 +0,0 @@
-/**
- * @provides javelin-behavior-differential-dropdown-menus
- * @requires javelin-behavior
- * javelin-dom
- * javelin-util
- * javelin-stratcom
- * javelin-workflow
- * phuix-dropdown-menu
- * phuix-action-list-view
- * phuix-action-view
- * phabricator-phtize
- * phabricator-diff-changeset
- */
-
-JX.behavior('differential-dropdown-menus', function(config) {
- var pht = JX.phtize(config.pht);
-
- function show_more(container) {
- var view = JX.DiffChangeset.getForNode(container);
-
- var nodes = JX.DOM.scry(container, 'tr', 'context-target');
- for (var ii = 0; ii < nodes.length; ii++) {
- var show = JX.DOM.scry(nodes[ii], 'a', 'show-more');
- for (var jj = 0; jj < show.length; jj++) {
- var data = JX.Stratcom.getData(show[jj]);
- if (data.type != 'all') {
- continue;
- }
- view.loadContext(data.range, nodes[ii], true);
- }
- }
- }
-
- var buildmenu = function(e) {
- var button = e.getNode('differential-view-options');
- var data = JX.Stratcom.getData(button);
- if (data.menu) {
- return;
- }
-
- e.prevent();
-
- var changeset = JX.DOM.findAbove(
- button,
- 'div',
- 'differential-changeset');
-
- var view = JX.DiffChangeset.getForNode(changeset);
- var menu = new JX.PHUIXDropdownMenu(button);
- var list = new JX.PHUIXActionListView();
-
- var add_link = function(icon, name, href, local) {
- if (!href) {
- return;
- }
-
- var link = new JX.PHUIXActionView()
- .setIcon(icon)
- .setName(name)
- .setHref(href)
- .setHandler(function(e) {
- if (local) {
- window.location.assign(href);
- } else {
- window.open(href);
- }
- menu.close();
- e.prevent();
- });
-
- list.addItem(link);
- return link;
- };
-
- var reveal_item = new JX.PHUIXActionView()
- .setIcon('fa-eye');
- list.addItem(reveal_item);
-
- var visible_item = new JX.PHUIXActionView()
- .setHandler(function(e) {
- var diff = JX.DOM.scry(
- JX.$(data.containerID),
- 'table',
- 'differential-diff');
-
- JX.Stratcom.invoke('differential-toggle-file', null, {diff: diff});
- e.prevent();
- menu.close();
- });
- list.addItem(visible_item);
-
- add_link('fa-file-text', pht('Browse in Diffusion'), data.diffusionURI);
- add_link('fa-file-o', pht('View Standalone'), data.standaloneURI);
-
- var up_item = new JX.PHUIXActionView()
- .setHandler(function(e) {
- if (view.isLoaded()) {
- var renderer = view.getRenderer();
- if (renderer == '1up') {
- renderer = '2up';
- } else {
- renderer = '1up';
- }
- view.setRenderer(renderer);
- }
- view.reload();
-
- e.prevent();
- menu.close();
- });
- list.addItem(up_item);
-
- var encoding_item = new JX.PHUIXActionView()
- .setIcon('fa-font')
- .setName(pht('Change Text Encoding...'))
- .setHandler(function(e) {
- var params = {
- encoding: view.getEncoding()
- };
-
- new JX.Workflow('/services/encoding/', params)
- .setHandler(function(r) {
- view.setEncoding(r.encoding);
- view.reload();
- })
- .start();
-
- e.prevent();
- menu.close();
- });
- list.addItem(encoding_item);
-
- var highlight_item = new JX.PHUIXActionView()
- .setIcon('fa-sun-o')
- .setName(pht('Highlight As...'))
- .setHandler(function(e) {
- var params = {
- highlight: view.getHighlight()
- };
-
- new JX.Workflow('/services/highlight/', params)
- .setHandler(function(r) {
- view.setHighlight(r.highlight);
- view.reload();
- })
- .start();
-
- e.prevent();
- menu.close();
- });
- list.addItem(highlight_item);
-
- add_link('fa-arrow-left', pht('Show Raw File (Left)'), data.leftURI);
- add_link('fa-arrow-right', pht('Show Raw File (Right)'), data.rightURI);
- add_link('fa-pencil', pht('Open in Editor'), data.editor, true);
- add_link('fa-wrench', pht('Configure Editor'), data.editorConfigure);
-
- menu.setContent(list.getNode());
-
- menu.listen('open', function() {
- // When the user opens the menu, check if there are any "Show More"
- // links in the changeset body. If there aren't, disable the "Show
- // Entire File" menu item since it won't change anything.
-
- var nodes = JX.DOM.scry(JX.$(data.containerID), 'a', 'show-more');
- if (nodes.length) {
- reveal_item
- .setDisabled(false)
- .setName(pht('Show All Context'))
- .setIcon('fa-file-o')
- .setHandler(function(e) {
- show_more(JX.$(data.containerID));
- e.prevent();
- menu.close();
- });
- } else {
- reveal_item
- .setDisabled(true)
- .setIcon('fa-file')
- .setName(pht('All Context Shown'))
- .setHandler(function(e) { e.prevent(); });
- }
-
- encoding_item.setDisabled(!view.isLoaded());
- highlight_item.setDisabled(!view.isLoaded());
-
- if (view.isLoaded()) {
- if (view.getRenderer() == '2up') {
- up_item
- .setIcon('fa-list-alt')
- .setName(pht('View Unified'));
- } else {
- up_item
- .setIcon('fa-files-o')
- .setName(pht('View Side-by-Side'));
- }
- } else {
- up_item
- .setIcon('fa-refresh')
- .setName(pht('Load Changes'));
- }
-
- visible_item
- .setDisabled(true)
- .setIcon('fa-expand')
- .setName(pht('Can\'t Toggle Unloaded File'));
- var diffs = JX.DOM.scry(
- JX.$(data.containerID),
- 'table',
- 'differential-diff');
-
- if (diffs.length > 1) {
- JX.$E(
- 'More than one node with sigil "differential-diff" was found in "'+
- data.containerID+'."');
- } else if (diffs.length == 1) {
- var diff = diffs[0];
- visible_item.setDisabled(false);
- if (JX.Stratcom.getData(diff).hidden) {
- visible_item
- .setName(pht('Expand File'))
- .setIcon('fa-expand');
- } else {
- visible_item
- .setName(pht('Collapse File'))
- .setIcon('fa-compress');
- }
- } else {
- // Do nothing when there is no diff shown in the table. For example,
- // the file is binary.
- }
-
- });
-
- data.menu = menu;
- menu.open();
- };
-
- JX.Stratcom.listen('click', 'differential-view-options', buildmenu);
-});
diff --git a/webroot/rsrc/js/application/differential/behavior-populate.js b/webroot/rsrc/js/application/differential/behavior-populate.js
--- a/webroot/rsrc/js/application/differential/behavior-populate.js
+++ b/webroot/rsrc/js/application/differential/behavior-populate.js
@@ -58,7 +58,8 @@
});
}
- var changeset_list = new JX.DiffChangesetList();
+ var changeset_list = new JX.DiffChangesetList()
+ .setTranslations(JX.phtize(config.pht));
// Install and activate the current page.
var page_id = JX.Quicksand.getCurrentPageID();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Mar 10, 6:17 AM (1 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7407628
Default Alt Text
D17845.diff (24 KB)
Attached To
Mode
D17845: Merge "differential-dropdown-menus" behavior into DiffChangesetList
Attached
Detach File
Event Timeline
Log In to Comment