mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-23 15:22:41 +01:00
Differential - add an undo element when you collapse a file
Summary: Fixes T2258. Test Plan: collapsed and expanded file via the dropdown - good stuff. got the "undo" element into the mix - also good stuff. Reviewers: epriestley Reviewed By: epriestley CC: chad, Korvin, aran Maniphest Tasks: T2258 Differential Revision: https://secure.phabricator.com/D6742
This commit is contained in:
parent
3021e1d52d
commit
d8a1e7e15f
4 changed files with 90 additions and 42 deletions
|
@ -1026,7 +1026,7 @@ celerity_register_resource_map(array(
|
||||||
),
|
),
|
||||||
'differential-changeset-view-css' =>
|
'differential-changeset-view-css' =>
|
||||||
array(
|
array(
|
||||||
'uri' => '/res/8ee213f4/rsrc/css/application/differential/changeset-view.css',
|
'uri' => '/res/b8e183f8/rsrc/css/application/differential/changeset-view.css',
|
||||||
'type' => 'css',
|
'type' => 'css',
|
||||||
'requires' =>
|
'requires' =>
|
||||||
array(
|
array(
|
||||||
|
@ -1617,13 +1617,14 @@ celerity_register_resource_map(array(
|
||||||
),
|
),
|
||||||
'javelin-behavior-differential-toggle-files' =>
|
'javelin-behavior-differential-toggle-files' =>
|
||||||
array(
|
array(
|
||||||
'uri' => '/res/ae937207/rsrc/js/application/differential/behavior-toggle-files.js',
|
'uri' => '/res/2b266946/rsrc/js/application/differential/behavior-toggle-files.js',
|
||||||
'type' => 'js',
|
'type' => 'js',
|
||||||
'requires' =>
|
'requires' =>
|
||||||
array(
|
array(
|
||||||
0 => 'javelin-behavior',
|
0 => 'javelin-behavior',
|
||||||
1 => 'javelin-dom',
|
1 => 'javelin-dom',
|
||||||
2 => 'javelin-stratcom',
|
2 => 'javelin-stratcom',
|
||||||
|
3 => 'phabricator-phtize',
|
||||||
),
|
),
|
||||||
'disk' => '/rsrc/js/application/differential/behavior-toggle-files.js',
|
'disk' => '/rsrc/js/application/differential/behavior-toggle-files.js',
|
||||||
),
|
),
|
||||||
|
@ -4279,7 +4280,7 @@ celerity_register_resource_map(array(
|
||||||
'uri' => '/res/pkg/4ccfeb47/darkconsole.pkg.js',
|
'uri' => '/res/pkg/4ccfeb47/darkconsole.pkg.js',
|
||||||
'type' => 'js',
|
'type' => 'js',
|
||||||
),
|
),
|
||||||
'dd27a69b' =>
|
'09216861' =>
|
||||||
array(
|
array(
|
||||||
'name' => 'differential.pkg.css',
|
'name' => 'differential.pkg.css',
|
||||||
'symbols' =>
|
'symbols' =>
|
||||||
|
@ -4298,10 +4299,10 @@ celerity_register_resource_map(array(
|
||||||
11 => 'differential-local-commits-view-css',
|
11 => 'differential-local-commits-view-css',
|
||||||
12 => 'inline-comment-summary-css',
|
12 => 'inline-comment-summary-css',
|
||||||
),
|
),
|
||||||
'uri' => '/res/pkg/dd27a69b/differential.pkg.css',
|
'uri' => '/res/pkg/09216861/differential.pkg.css',
|
||||||
'type' => 'css',
|
'type' => 'css',
|
||||||
),
|
),
|
||||||
'48040be9' =>
|
'025bdd77' =>
|
||||||
array(
|
array(
|
||||||
'name' => 'differential.pkg.js',
|
'name' => 'differential.pkg.js',
|
||||||
'symbols' =>
|
'symbols' =>
|
||||||
|
@ -4326,7 +4327,7 @@ celerity_register_resource_map(array(
|
||||||
17 => 'javelin-behavior-differential-toggle-files',
|
17 => 'javelin-behavior-differential-toggle-files',
|
||||||
18 => 'javelin-behavior-differential-user-select',
|
18 => 'javelin-behavior-differential-user-select',
|
||||||
),
|
),
|
||||||
'uri' => '/res/pkg/48040be9/differential.pkg.js',
|
'uri' => '/res/pkg/025bdd77/differential.pkg.js',
|
||||||
'type' => 'js',
|
'type' => 'js',
|
||||||
),
|
),
|
||||||
'c8ce2d88' =>
|
'c8ce2d88' =>
|
||||||
|
@ -4420,43 +4421,43 @@ celerity_register_resource_map(array(
|
||||||
'aphront-tokenizer-control-css' => '638c9d42',
|
'aphront-tokenizer-control-css' => '638c9d42',
|
||||||
'aphront-tooltip-css' => '638c9d42',
|
'aphront-tooltip-css' => '638c9d42',
|
||||||
'aphront-typeahead-control-css' => '638c9d42',
|
'aphront-typeahead-control-css' => '638c9d42',
|
||||||
'differential-changeset-view-css' => 'dd27a69b',
|
'differential-changeset-view-css' => '09216861',
|
||||||
'differential-core-view-css' => 'dd27a69b',
|
'differential-core-view-css' => '09216861',
|
||||||
'differential-inline-comment-editor' => '48040be9',
|
'differential-inline-comment-editor' => '025bdd77',
|
||||||
'differential-local-commits-view-css' => 'dd27a69b',
|
'differential-local-commits-view-css' => '09216861',
|
||||||
'differential-results-table-css' => 'dd27a69b',
|
'differential-results-table-css' => '09216861',
|
||||||
'differential-revision-add-comment-css' => 'dd27a69b',
|
'differential-revision-add-comment-css' => '09216861',
|
||||||
'differential-revision-comment-css' => 'dd27a69b',
|
'differential-revision-comment-css' => '09216861',
|
||||||
'differential-revision-comment-list-css' => 'dd27a69b',
|
'differential-revision-comment-list-css' => '09216861',
|
||||||
'differential-revision-history-css' => 'dd27a69b',
|
'differential-revision-history-css' => '09216861',
|
||||||
'differential-revision-list-css' => 'dd27a69b',
|
'differential-revision-list-css' => '09216861',
|
||||||
'differential-table-of-contents-css' => 'dd27a69b',
|
'differential-table-of-contents-css' => '09216861',
|
||||||
'diffusion-commit-view-css' => 'c8ce2d88',
|
'diffusion-commit-view-css' => 'c8ce2d88',
|
||||||
'diffusion-icons-css' => 'c8ce2d88',
|
'diffusion-icons-css' => 'c8ce2d88',
|
||||||
'global-drag-and-drop-css' => '638c9d42',
|
'global-drag-and-drop-css' => '638c9d42',
|
||||||
'inline-comment-summary-css' => 'dd27a69b',
|
'inline-comment-summary-css' => '09216861',
|
||||||
'javelin-aphlict' => '4f81c788',
|
'javelin-aphlict' => '4f81c788',
|
||||||
'javelin-behavior' => '2dbbb7d1',
|
'javelin-behavior' => '2dbbb7d1',
|
||||||
'javelin-behavior-aphlict-dropdown' => '4f81c788',
|
'javelin-behavior-aphlict-dropdown' => '4f81c788',
|
||||||
'javelin-behavior-aphlict-listen' => '4f81c788',
|
'javelin-behavior-aphlict-listen' => '4f81c788',
|
||||||
'javelin-behavior-aphront-basic-tokenizer' => '4f81c788',
|
'javelin-behavior-aphront-basic-tokenizer' => '4f81c788',
|
||||||
'javelin-behavior-aphront-drag-and-drop-textarea' => '48040be9',
|
'javelin-behavior-aphront-drag-and-drop-textarea' => '025bdd77',
|
||||||
'javelin-behavior-aphront-form-disable-on-submit' => '4f81c788',
|
'javelin-behavior-aphront-form-disable-on-submit' => '4f81c788',
|
||||||
'javelin-behavior-audit-preview' => '96909266',
|
'javelin-behavior-audit-preview' => '96909266',
|
||||||
'javelin-behavior-dark-console' => '4ccfeb47',
|
'javelin-behavior-dark-console' => '4ccfeb47',
|
||||||
'javelin-behavior-device' => '4f81c788',
|
'javelin-behavior-device' => '4f81c788',
|
||||||
'javelin-behavior-differential-accept-with-errors' => '48040be9',
|
'javelin-behavior-differential-accept-with-errors' => '025bdd77',
|
||||||
'javelin-behavior-differential-add-reviewers-and-ccs' => '48040be9',
|
'javelin-behavior-differential-add-reviewers-and-ccs' => '025bdd77',
|
||||||
'javelin-behavior-differential-comment-jump' => '48040be9',
|
'javelin-behavior-differential-comment-jump' => '025bdd77',
|
||||||
'javelin-behavior-differential-diff-radios' => '48040be9',
|
'javelin-behavior-differential-diff-radios' => '025bdd77',
|
||||||
'javelin-behavior-differential-dropdown-menus' => '48040be9',
|
'javelin-behavior-differential-dropdown-menus' => '025bdd77',
|
||||||
'javelin-behavior-differential-edit-inline-comments' => '48040be9',
|
'javelin-behavior-differential-edit-inline-comments' => '025bdd77',
|
||||||
'javelin-behavior-differential-feedback-preview' => '48040be9',
|
'javelin-behavior-differential-feedback-preview' => '025bdd77',
|
||||||
'javelin-behavior-differential-keyboard-navigation' => '48040be9',
|
'javelin-behavior-differential-keyboard-navigation' => '025bdd77',
|
||||||
'javelin-behavior-differential-populate' => '48040be9',
|
'javelin-behavior-differential-populate' => '025bdd77',
|
||||||
'javelin-behavior-differential-show-more' => '48040be9',
|
'javelin-behavior-differential-show-more' => '025bdd77',
|
||||||
'javelin-behavior-differential-toggle-files' => '48040be9',
|
'javelin-behavior-differential-toggle-files' => '025bdd77',
|
||||||
'javelin-behavior-differential-user-select' => '48040be9',
|
'javelin-behavior-differential-user-select' => '025bdd77',
|
||||||
'javelin-behavior-diffusion-commit-graph' => '96909266',
|
'javelin-behavior-diffusion-commit-graph' => '96909266',
|
||||||
'javelin-behavior-diffusion-pull-lastmodified' => '96909266',
|
'javelin-behavior-diffusion-pull-lastmodified' => '96909266',
|
||||||
'javelin-behavior-error-log' => '4ccfeb47',
|
'javelin-behavior-error-log' => '4ccfeb47',
|
||||||
|
@ -4464,7 +4465,7 @@ celerity_register_resource_map(array(
|
||||||
'javelin-behavior-history-install' => '4f81c788',
|
'javelin-behavior-history-install' => '4f81c788',
|
||||||
'javelin-behavior-konami' => '4f81c788',
|
'javelin-behavior-konami' => '4f81c788',
|
||||||
'javelin-behavior-lightbox-attachments' => '4f81c788',
|
'javelin-behavior-lightbox-attachments' => '4f81c788',
|
||||||
'javelin-behavior-load-blame' => '48040be9',
|
'javelin-behavior-load-blame' => '025bdd77',
|
||||||
'javelin-behavior-maniphest-batch-selector' => '98f64f07',
|
'javelin-behavior-maniphest-batch-selector' => '98f64f07',
|
||||||
'javelin-behavior-maniphest-subpriority-editor' => '98f64f07',
|
'javelin-behavior-maniphest-subpriority-editor' => '98f64f07',
|
||||||
'javelin-behavior-maniphest-transaction-controls' => '98f64f07',
|
'javelin-behavior-maniphest-transaction-controls' => '98f64f07',
|
||||||
|
@ -4476,7 +4477,7 @@ celerity_register_resource_map(array(
|
||||||
'javelin-behavior-phabricator-hovercards' => '4f81c788',
|
'javelin-behavior-phabricator-hovercards' => '4f81c788',
|
||||||
'javelin-behavior-phabricator-keyboard-shortcuts' => '4f81c788',
|
'javelin-behavior-phabricator-keyboard-shortcuts' => '4f81c788',
|
||||||
'javelin-behavior-phabricator-nav' => '4f81c788',
|
'javelin-behavior-phabricator-nav' => '4f81c788',
|
||||||
'javelin-behavior-phabricator-object-selector' => '48040be9',
|
'javelin-behavior-phabricator-object-selector' => '025bdd77',
|
||||||
'javelin-behavior-phabricator-oncopy' => '4f81c788',
|
'javelin-behavior-phabricator-oncopy' => '4f81c788',
|
||||||
'javelin-behavior-phabricator-remarkup-assist' => '4f81c788',
|
'javelin-behavior-phabricator-remarkup-assist' => '4f81c788',
|
||||||
'javelin-behavior-phabricator-reveal-content' => '4f81c788',
|
'javelin-behavior-phabricator-reveal-content' => '4f81c788',
|
||||||
|
@ -4484,7 +4485,7 @@ celerity_register_resource_map(array(
|
||||||
'javelin-behavior-phabricator-tooltips' => '4f81c788',
|
'javelin-behavior-phabricator-tooltips' => '4f81c788',
|
||||||
'javelin-behavior-phabricator-watch-anchor' => '4f81c788',
|
'javelin-behavior-phabricator-watch-anchor' => '4f81c788',
|
||||||
'javelin-behavior-refresh-csrf' => '4f81c788',
|
'javelin-behavior-refresh-csrf' => '4f81c788',
|
||||||
'javelin-behavior-repository-crossreference' => '48040be9',
|
'javelin-behavior-repository-crossreference' => '025bdd77',
|
||||||
'javelin-behavior-toggle-class' => '4f81c788',
|
'javelin-behavior-toggle-class' => '4f81c788',
|
||||||
'javelin-behavior-workflow' => '4f81c788',
|
'javelin-behavior-workflow' => '4f81c788',
|
||||||
'javelin-dom' => '2dbbb7d1',
|
'javelin-dom' => '2dbbb7d1',
|
||||||
|
@ -4512,10 +4513,10 @@ celerity_register_resource_map(array(
|
||||||
'phabricator-action-list-view-css' => '638c9d42',
|
'phabricator-action-list-view-css' => '638c9d42',
|
||||||
'phabricator-application-launch-view-css' => '638c9d42',
|
'phabricator-application-launch-view-css' => '638c9d42',
|
||||||
'phabricator-busy' => '4f81c788',
|
'phabricator-busy' => '4f81c788',
|
||||||
'phabricator-content-source-view-css' => 'dd27a69b',
|
'phabricator-content-source-view-css' => '09216861',
|
||||||
'phabricator-core-css' => '638c9d42',
|
'phabricator-core-css' => '638c9d42',
|
||||||
'phabricator-crumbs-view-css' => '638c9d42',
|
'phabricator-crumbs-view-css' => '638c9d42',
|
||||||
'phabricator-drag-and-drop-file-upload' => '48040be9',
|
'phabricator-drag-and-drop-file-upload' => '025bdd77',
|
||||||
'phabricator-dropdown-menu' => '4f81c788',
|
'phabricator-dropdown-menu' => '4f81c788',
|
||||||
'phabricator-file-upload' => '4f81c788',
|
'phabricator-file-upload' => '4f81c788',
|
||||||
'phabricator-filetree-view-css' => '638c9d42',
|
'phabricator-filetree-view-css' => '638c9d42',
|
||||||
|
@ -4533,13 +4534,13 @@ celerity_register_resource_map(array(
|
||||||
'phabricator-notification-css' => '638c9d42',
|
'phabricator-notification-css' => '638c9d42',
|
||||||
'phabricator-notification-menu-css' => '638c9d42',
|
'phabricator-notification-menu-css' => '638c9d42',
|
||||||
'phabricator-object-item-list-view-css' => '638c9d42',
|
'phabricator-object-item-list-view-css' => '638c9d42',
|
||||||
'phabricator-object-selector-css' => 'dd27a69b',
|
'phabricator-object-selector-css' => '09216861',
|
||||||
'phabricator-phtize' => '4f81c788',
|
'phabricator-phtize' => '4f81c788',
|
||||||
'phabricator-prefab' => '4f81c788',
|
'phabricator-prefab' => '4f81c788',
|
||||||
'phabricator-project-tag-css' => '06bacb9a',
|
'phabricator-project-tag-css' => '06bacb9a',
|
||||||
'phabricator-property-list-view-css' => '638c9d42',
|
'phabricator-property-list-view-css' => '638c9d42',
|
||||||
'phabricator-remarkup-css' => '638c9d42',
|
'phabricator-remarkup-css' => '638c9d42',
|
||||||
'phabricator-shaped-request' => '48040be9',
|
'phabricator-shaped-request' => '025bdd77',
|
||||||
'phabricator-side-menu-view-css' => '638c9d42',
|
'phabricator-side-menu-view-css' => '638c9d42',
|
||||||
'phabricator-standard-page-view' => '638c9d42',
|
'phabricator-standard-page-view' => '638c9d42',
|
||||||
'phabricator-tag-view-css' => '638c9d42',
|
'phabricator-tag-view-css' => '638c9d42',
|
||||||
|
|
|
@ -107,7 +107,11 @@ final class DifferentialChangesetListView extends AphrontView {
|
||||||
|
|
||||||
$changesets = $this->changesets;
|
$changesets = $this->changesets;
|
||||||
|
|
||||||
Javelin::initBehavior('differential-toggle-files', array());
|
Javelin::initBehavior('differential-toggle-files', array(
|
||||||
|
'pht' => array(
|
||||||
|
'undo' => pht('Undo'),
|
||||||
|
'collapsed' => pht('This file content has been collapsed.'))
|
||||||
|
));
|
||||||
Javelin::initBehavior(
|
Javelin::initBehavior(
|
||||||
'differential-dropdown-menus',
|
'differential-dropdown-menus',
|
||||||
array());
|
array());
|
||||||
|
|
|
@ -439,3 +439,16 @@ tr.differential-inline-loading {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.differential-collapse-undo {
|
||||||
|
background: #FFE;
|
||||||
|
color: #000;
|
||||||
|
padding: 1em 0em;
|
||||||
|
border: 1px solid #CCA;
|
||||||
|
text-align: center;
|
||||||
|
background-color: #FFE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.differential-collapse-undo a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
|
@ -3,9 +3,11 @@
|
||||||
* @requires javelin-behavior
|
* @requires javelin-behavior
|
||||||
* javelin-dom
|
* javelin-dom
|
||||||
* javelin-stratcom
|
* javelin-stratcom
|
||||||
|
* phabricator-phtize
|
||||||
*/
|
*/
|
||||||
|
|
||||||
JX.behavior('differential-toggle-files', function(config) {
|
JX.behavior('differential-toggle-files', function(config) {
|
||||||
|
var pht = JX.phtize(config.pht);
|
||||||
|
|
||||||
JX.Stratcom.listen(
|
JX.Stratcom.listen(
|
||||||
'differential-toggle-file',
|
'differential-toggle-file',
|
||||||
|
@ -14,14 +16,28 @@ JX.behavior('differential-toggle-files', function(config) {
|
||||||
if (e.getData().diff.length != 1) {
|
if (e.getData().diff.length != 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var diff = e.getData().diff[0],
|
var diff = e.getData().diff[0],
|
||||||
data = JX.Stratcom.getData(diff);
|
data = JX.Stratcom.getData(diff),
|
||||||
if(data.hidden) {
|
undo;
|
||||||
|
if (data.hidden) {
|
||||||
data.hidden = false;
|
data.hidden = false;
|
||||||
JX.DOM.show(diff);
|
JX.DOM.show(diff);
|
||||||
|
undo = JX.DOM.find(diff.parentNode,
|
||||||
|
'div',
|
||||||
|
'differential-collapse-undo-div');
|
||||||
|
JX.DOM.remove(undo);
|
||||||
} else {
|
} else {
|
||||||
data.hidden = true;
|
data.hidden = true;
|
||||||
JX.DOM.hide(diff);
|
JX.DOM.hide(diff);
|
||||||
|
undo = render_collapse_undo();
|
||||||
|
JX.DOM.listen(undo, 'click', 'differential-collapse-undo', function(e) {
|
||||||
|
e.kill();
|
||||||
|
data.hidden = false;
|
||||||
|
JX.DOM.show(diff);
|
||||||
|
JX.DOM.remove(undo);
|
||||||
|
});
|
||||||
|
JX.DOM.appendContent(diff.parentNode, undo);
|
||||||
}
|
}
|
||||||
JX.Stratcom.invoke('differential-toggle-file-toggled');
|
JX.Stratcom.invoke('differential-toggle-file-toggled');
|
||||||
});
|
});
|
||||||
|
@ -92,5 +108,19 @@ JX.behavior('differential-toggle-files', function(config) {
|
||||||
// automatically jump there like we want.
|
// automatically jump there like we want.
|
||||||
JX.DOM.scrollTo(target);
|
JX.DOM.scrollTo(target);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var render_collapse_undo = function() {
|
||||||
|
var link = JX.$N(
|
||||||
|
'a',
|
||||||
|
{href: '#', sigil: 'differential-collapse-undo'},
|
||||||
|
pht('undo'));
|
||||||
|
|
||||||
|
return JX.$N(
|
||||||
|
'div',
|
||||||
|
{className: 'differential-collapse-undo',
|
||||||
|
sigil: 'differential-collapse-undo-div'},
|
||||||
|
[pht('collapsed'), ' ', link]);
|
||||||
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue