1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-18 19:40:55 +01:00

Transactions - make "show older" area bigger and include keyboard command

Summary: Fixes T6683.

Test Plan: clicked the yellow box and it worked! pressed '~' and it worked!

Reviewers: epriestley, chad

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6683

Differential Revision: https://secure.phabricator.com/D10932
This commit is contained in:
Bob Trahan 2014-12-10 12:12:38 -08:00
parent 6a0ec944a1
commit 9b865f18e8
3 changed files with 60 additions and 52 deletions

View file

@ -7,8 +7,8 @@
*/
return array(
'names' => array(
'core.pkg.css' => '78b8bd03',
'core.pkg.js' => 'ef8f73ee',
'core.pkg.css' => 'a157f664',
'core.pkg.js' => '7c53868c',
'darkconsole.pkg.js' => 'df001cab',
'differential.pkg.css' => '8af45893',
'differential.pkg.js' => '42c10e78',
@ -142,7 +142,7 @@ return array(
'rsrc/css/phui/phui-status.css' => '888cedb8',
'rsrc/css/phui/phui-tag-view.css' => '6b74282b',
'rsrc/css/phui/phui-text.css' => 'cf019f54',
'rsrc/css/phui/phui-timeline-view.css' => '26bb3fd4',
'rsrc/css/phui/phui-timeline-view.css' => '7556c113',
'rsrc/css/phui/phui-workboard-view.css' => '2bf82d00',
'rsrc/css/phui/phui-workpanel-view.css' => '198c7e6c',
'rsrc/css/sprite-apps-large.css' => '20ec0cc0',
@ -420,7 +420,7 @@ return array(
'rsrc/js/application/repository/repository-crossreference.js' => 'f9539603',
'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08',
'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => 'd6f54db0',
'rsrc/js/application/transactions/behavior-show-older-transactions.js' => '83458cbb',
'rsrc/js/application/transactions/behavior-show-older-transactions.js' => '77fcaaee',
'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => '9f7309fb',
'rsrc/js/application/transactions/behavior-transaction-list.js' => '13c739ea',
'rsrc/js/application/uiexample/JavelinViewExample.js' => 'd4a14807',
@ -623,7 +623,7 @@ return array(
'javelin-behavior-phabricator-remarkup-assist' => 'e32d14ab',
'javelin-behavior-phabricator-reveal-content' => '60821bc7',
'javelin-behavior-phabricator-search-typeahead' => '724b1247',
'javelin-behavior-phabricator-show-older-transactions' => '83458cbb',
'javelin-behavior-phabricator-show-older-transactions' => '77fcaaee',
'javelin-behavior-phabricator-tooltips' => '3ee3408b',
'javelin-behavior-phabricator-transaction-comment-form' => '9f7309fb',
'javelin-behavior-phabricator-transaction-list' => '13c739ea',
@ -791,7 +791,7 @@ return array(
'phui-status-list-view-css' => '888cedb8',
'phui-tag-view-css' => '6b74282b',
'phui-text-css' => 'cf019f54',
'phui-timeline-view-css' => '26bb3fd4',
'phui-timeline-view-css' => '7556c113',
'phui-workboard-view-css' => '2bf82d00',
'phui-workpanel-view-css' => '198c7e6c',
'phuix-action-list-view' => 'b5c256b8',
@ -1308,6 +1308,12 @@ return array(
'javelin-install',
'javelin-util',
),
'77fcaaee' => array(
'javelin-behavior',
'javelin-stratcom',
'javelin-dom',
'phabricator-busy',
),
'7814b593' => array(
'javelin-request',
'javelin-behavior',
@ -1368,12 +1374,6 @@ return array(
'82ce2142' => array(
'aphront-typeahead-control-css',
),
'83458cbb' => array(
'javelin-behavior',
'javelin-stratcom',
'javelin-dom',
'phabricator-busy',
),
'84845b5b' => array(
'javelin-behavior',
'javelin-dom',

View file

@ -318,6 +318,7 @@
text-align: center;
padding: 12px;
color: {$darkgreytext};
cursor: pointer;
}
.device-phone .phui-timeline-older-transactions-are-hidden {

View file

@ -8,8 +8,6 @@
JX.behavior('phabricator-show-older-transactions', function(config) {
var loading = false;
function get_hash() {
return window.location.hash.replace(/^#/, '');
}
@ -30,39 +28,8 @@ JX.behavior('phabricator-show-older-transactions', function(config) {
function check_hash() {
if (hash_is_hidden()) {
var showOlderBlock = null;
try {
showOlderBlock = JX.DOM.find(
JX.$(config.timelineID),
'div',
'show-older-block');
} catch (not_found_exception) {
// probably a garbage hash and we loaded everything looking
// for it; just abort
if (loading) {
loading = false;
JX.Busy.done();
}
return;
}
var showOlderLink = JX.DOM.find(
showOlderBlock,
'a',
'show-older-link');
if (!loading) {
loading = true;
JX.Busy.start();
}
fetch_older_workflow(
showOlderLink.href,
load_hidden_hash,
showOlderBlock)
.start();
load_older(load_hidden_hash_callback);
} else {
if (loading) {
loading = false;
JX.Busy.done();
}
try {
var target = JX.$(get_hash());
JX.DOM.scrollTo(target);
@ -72,15 +39,46 @@ JX.behavior('phabricator-show-older-transactions', function(config) {
}
}
function load_older(callback) {
var showOlderBlock = null;
try {
showOlderBlock = JX.DOM.find(
JX.$(config.timelineID),
'div',
'show-older-block');
} catch (not_found_exception) {
// we loaded everything...!
return;
}
var showOlderLink = JX.DOM.find(
showOlderBlock,
'a',
'show-older-link');
var workflow = fetch_older_workflow(
showOlderLink.href,
callback,
showOlderBlock);
var routable = workflow.getRoutable()
.setPriority(2000)
.setType('workflow');
JX.Router.getInstance().queue(routable);
}
var show_older = function(swap, r) {
JX.DOM.replace(swap, JX.$H(r.timeline).getFragment());
};
var load_hidden_hash = function(swap, r) {
var load_hidden_hash_callback = function(swap, r) {
show_older(swap, r);
check_hash();
};
var load_all_older_callback = function(swap, r) {
show_older(swap, r);
load_older(load_all_older_callback);
};
var fetch_older_workflow = function(href, callback, swap) {
return new JX.Workflow(href, config.renderData)
.setHandler(JX.bind(null, callback, swap));
@ -88,17 +86,26 @@ JX.behavior('phabricator-show-older-transactions', function(config) {
JX.Stratcom.listen(
'click',
['show-older-link'],
['show-older-block'],
function(e) {
e.kill();
fetch_older_workflow(
e.getNode('tag:a').href,
var workflow = fetch_older_workflow(
JX.DOM.find(
e.getNode('show-older-block'),
'a',
'show-older-link').href,
show_older,
e.getNode('show-older-block'))
.start();
e.getNode('show-older-block'));
var routable = workflow.getRoutable()
.setPriority(2000)
.setType('workflow');
JX.Router.getInstance().queue(routable);
});
JX.Stratcom.listen('hashchange', null, check_hash);
check_hash();
new JX.KeyboardShortcut(['~'], 'Show all older changes in the timeline.')
.setHandler(JX.bind(null, load_older, load_all_older_callback))
.register();
});