@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+60 -52
+12 -12
resources/celerity/map.php
··· 7 7 */ 8 8 return array( 9 9 'names' => array( 10 - 'core.pkg.css' => '78b8bd03', 11 - 'core.pkg.js' => 'ef8f73ee', 10 + 'core.pkg.css' => 'a157f664', 11 + 'core.pkg.js' => '7c53868c', 12 12 'darkconsole.pkg.js' => 'df001cab', 13 13 'differential.pkg.css' => '8af45893', 14 14 'differential.pkg.js' => '42c10e78', ··· 142 142 'rsrc/css/phui/phui-status.css' => '888cedb8', 143 143 'rsrc/css/phui/phui-tag-view.css' => '6b74282b', 144 144 'rsrc/css/phui/phui-text.css' => 'cf019f54', 145 - 'rsrc/css/phui/phui-timeline-view.css' => '26bb3fd4', 145 + 'rsrc/css/phui/phui-timeline-view.css' => '7556c113', 146 146 'rsrc/css/phui/phui-workboard-view.css' => '2bf82d00', 147 147 'rsrc/css/phui/phui-workpanel-view.css' => '198c7e6c', 148 148 'rsrc/css/sprite-apps-large.css' => '20ec0cc0', ··· 420 420 'rsrc/js/application/repository/repository-crossreference.js' => 'f9539603', 421 421 'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08', 422 422 'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => 'd6f54db0', 423 - 'rsrc/js/application/transactions/behavior-show-older-transactions.js' => '83458cbb', 423 + 'rsrc/js/application/transactions/behavior-show-older-transactions.js' => '77fcaaee', 424 424 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => '9f7309fb', 425 425 'rsrc/js/application/transactions/behavior-transaction-list.js' => '13c739ea', 426 426 'rsrc/js/application/uiexample/JavelinViewExample.js' => 'd4a14807', ··· 623 623 'javelin-behavior-phabricator-remarkup-assist' => 'e32d14ab', 624 624 'javelin-behavior-phabricator-reveal-content' => '60821bc7', 625 625 'javelin-behavior-phabricator-search-typeahead' => '724b1247', 626 - 'javelin-behavior-phabricator-show-older-transactions' => '83458cbb', 626 + 'javelin-behavior-phabricator-show-older-transactions' => '77fcaaee', 627 627 'javelin-behavior-phabricator-tooltips' => '3ee3408b', 628 628 'javelin-behavior-phabricator-transaction-comment-form' => '9f7309fb', 629 629 'javelin-behavior-phabricator-transaction-list' => '13c739ea', ··· 791 791 'phui-status-list-view-css' => '888cedb8', 792 792 'phui-tag-view-css' => '6b74282b', 793 793 'phui-text-css' => 'cf019f54', 794 - 'phui-timeline-view-css' => '26bb3fd4', 794 + 'phui-timeline-view-css' => '7556c113', 795 795 'phui-workboard-view-css' => '2bf82d00', 796 796 'phui-workpanel-view-css' => '198c7e6c', 797 797 'phuix-action-list-view' => 'b5c256b8', ··· 1308 1308 'javelin-install', 1309 1309 'javelin-util', 1310 1310 ), 1311 + '77fcaaee' => array( 1312 + 'javelin-behavior', 1313 + 'javelin-stratcom', 1314 + 'javelin-dom', 1315 + 'phabricator-busy', 1316 + ), 1311 1317 '7814b593' => array( 1312 1318 'javelin-request', 1313 1319 'javelin-behavior', ··· 1367 1373 ), 1368 1374 '82ce2142' => array( 1369 1375 'aphront-typeahead-control-css', 1370 - ), 1371 - '83458cbb' => array( 1372 - 'javelin-behavior', 1373 - 'javelin-stratcom', 1374 - 'javelin-dom', 1375 - 'phabricator-busy', 1376 1376 ), 1377 1377 '84845b5b' => array( 1378 1378 'javelin-behavior',
+1
webroot/rsrc/css/phui/phui-timeline-view.css
··· 318 318 text-align: center; 319 319 padding: 12px; 320 320 color: {$darkgreytext}; 321 + cursor: pointer; 321 322 } 322 323 323 324 .device-phone .phui-timeline-older-transactions-are-hidden {
+47 -40
webroot/rsrc/js/application/transactions/behavior-show-older-transactions.js
··· 8 8 9 9 JX.behavior('phabricator-show-older-transactions', function(config) { 10 10 11 - var loading = false; 12 - 13 11 function get_hash() { 14 12 return window.location.hash.replace(/^#/, ''); 15 13 } ··· 30 28 31 29 function check_hash() { 32 30 if (hash_is_hidden()) { 33 - var showOlderBlock = null; 34 - try { 35 - showOlderBlock = JX.DOM.find( 36 - JX.$(config.timelineID), 37 - 'div', 38 - 'show-older-block'); 39 - } catch (not_found_exception) { 40 - // probably a garbage hash and we loaded everything looking 41 - // for it; just abort 42 - if (loading) { 43 - loading = false; 44 - JX.Busy.done(); 45 - } 46 - return; 47 - } 48 - var showOlderLink = JX.DOM.find( 49 - showOlderBlock, 50 - 'a', 51 - 'show-older-link'); 52 - if (!loading) { 53 - loading = true; 54 - JX.Busy.start(); 55 - } 56 - fetch_older_workflow( 57 - showOlderLink.href, 58 - load_hidden_hash, 59 - showOlderBlock) 60 - .start(); 31 + load_older(load_hidden_hash_callback); 61 32 } else { 62 - if (loading) { 63 - loading = false; 64 - JX.Busy.done(); 65 - } 66 33 try { 67 34 var target = JX.$(get_hash()); 68 35 JX.DOM.scrollTo(target); ··· 72 39 } 73 40 } 74 41 42 + function load_older(callback) { 43 + var showOlderBlock = null; 44 + try { 45 + showOlderBlock = JX.DOM.find( 46 + JX.$(config.timelineID), 47 + 'div', 48 + 'show-older-block'); 49 + } catch (not_found_exception) { 50 + // we loaded everything...! 51 + return; 52 + } 53 + 54 + var showOlderLink = JX.DOM.find( 55 + showOlderBlock, 56 + 'a', 57 + 'show-older-link'); 58 + var workflow = fetch_older_workflow( 59 + showOlderLink.href, 60 + callback, 61 + showOlderBlock); 62 + var routable = workflow.getRoutable() 63 + .setPriority(2000) 64 + .setType('workflow'); 65 + JX.Router.getInstance().queue(routable); 66 + } 67 + 75 68 var show_older = function(swap, r) { 76 69 JX.DOM.replace(swap, JX.$H(r.timeline).getFragment()); 77 70 }; 78 71 79 - var load_hidden_hash = function(swap, r) { 72 + var load_hidden_hash_callback = function(swap, r) { 80 73 show_older(swap, r); 81 74 check_hash(); 82 75 }; 83 76 77 + var load_all_older_callback = function(swap, r) { 78 + show_older(swap, r); 79 + load_older(load_all_older_callback); 80 + }; 81 + 84 82 var fetch_older_workflow = function(href, callback, swap) { 85 83 return new JX.Workflow(href, config.renderData) 86 84 .setHandler(JX.bind(null, callback, swap)); ··· 88 86 89 87 JX.Stratcom.listen( 90 88 'click', 91 - ['show-older-link'], 89 + ['show-older-block'], 92 90 function(e) { 93 91 e.kill(); 94 - fetch_older_workflow( 95 - e.getNode('tag:a').href, 92 + var workflow = fetch_older_workflow( 93 + JX.DOM.find( 94 + e.getNode('show-older-block'), 95 + 'a', 96 + 'show-older-link').href, 96 97 show_older, 97 - e.getNode('show-older-block')) 98 - .start(); 98 + e.getNode('show-older-block')); 99 + var routable = workflow.getRoutable() 100 + .setPriority(2000) 101 + .setType('workflow'); 102 + JX.Router.getInstance().queue(routable); 99 103 }); 100 104 101 105 JX.Stratcom.listen('hashchange', null, check_hash); 102 106 check_hash(); 103 107 108 + new JX.KeyboardShortcut(['~'], 'Show all older changes in the timeline.') 109 + .setHandler(JX.bind(null, load_older, load_all_older_callback)) 110 + .register(); 104 111 });