@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.

Conpherence - smooth out user interaction switching threads in the durable column

Summary: Ref T7014. This changes the title and selected icon right as the user clicks it. This could //maybe// be in the "willLoadThread" callback hook, but it doesn't happen every time we load a thread, just **this** time so keep it right in the listener for now.

Test Plan: switched some threads and liked what I saw

Reviewers: epriestley, chad

Subscribers: Korvin, epriestley

Maniphest Tasks: T7014

Differential Revision: https://secure.phabricator.com/D12043

+25 -11
+11 -11
resources/celerity/map.php
··· 353 353 'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18', 354 354 'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de', 355 355 'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '0324970d', 356 - 'rsrc/js/application/conpherence/behavior-durable-column.js' => '8908d403', 356 + 'rsrc/js/application/conpherence/behavior-durable-column.js' => '44100dc7', 357 357 'rsrc/js/application/conpherence/behavior-menu.js' => 'c4151295', 358 358 'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861', 359 359 'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3', ··· 585 585 'javelin-behavior-diffusion-locate-file' => '6d3e1947', 586 586 'javelin-behavior-diffusion-pull-lastmodified' => '2b228192', 587 587 'javelin-behavior-doorkeeper-tag' => 'e5822781', 588 - 'javelin-behavior-durable-column' => '8908d403', 588 + 'javelin-behavior-durable-column' => '44100dc7', 589 589 'javelin-behavior-error-log' => '6882e80a', 590 590 'javelin-behavior-fancy-datepicker' => 'c51ae228', 591 591 'javelin-behavior-global-drag-and-drop' => '07f199d8', ··· 1110 1110 'javelin-dom', 1111 1111 'javelin-request', 1112 1112 ), 1113 + '44100dc7' => array( 1114 + 'javelin-behavior', 1115 + 'javelin-dom', 1116 + 'javelin-stratcom', 1117 + 'javelin-scrollbar', 1118 + 'javelin-quicksand', 1119 + 'phabricator-keyboard-shortcut', 1120 + 'conpherence-thread-manager', 1121 + ), 1113 1122 '44168bad' => array( 1114 1123 'javelin-behavior', 1115 1124 'javelin-dom', ··· 1504 1513 'javelin-behavior', 1505 1514 'javelin-dom', 1506 1515 'javelin-vector', 1507 - ), 1508 - '8908d403' => array( 1509 - 'javelin-behavior', 1510 - 'javelin-dom', 1511 - 'javelin-stratcom', 1512 - 'javelin-scrollbar', 1513 - 'javelin-quicksand', 1514 - 'phabricator-keyboard-shortcut', 1515 - 'conpherence-thread-manager', 1516 1516 ), 1517 1517 '8a41885b' => array( 1518 1518 'javelin-install',
+1
src/applications/conpherence/view/ConpherenceDurableColumnView.php
··· 186 186 'sigil' => 'conpherence-durable-column-thread-icon', 187 187 'meta' => array( 188 188 'threadID' => $conpherence->getID(), 189 + 'threadTitle' => $data['js_title'], 189 190 ), 190 191 ), 191 192 phutil_tag(
+13
webroot/rsrc/js/application/conpherence/behavior-durable-column.js
··· 164 164 'conpherence-durable-column-thread-icon', 165 165 function (e) { 166 166 e.kill(); 167 + var icons = JX.DOM.scry( 168 + JX.$('conpherence-durable-column'), 169 + 'a', 170 + 'conpherence-durable-column-thread-icon'); 167 171 var data = e.getNodeData('conpherence-durable-column-thread-icon'); 172 + var cdata = null; 173 + for (var i = 0; i < icons.length; i++) { 174 + cdata = JX.Stratcom.getData(icons[i]); 175 + JX.DOM.alterClass( 176 + icons[i], 177 + 'selected', 178 + cdata.threadID == data.threadID); 179 + } 180 + JX.DOM.setContent(_getColumnTitleNode(), data.threadTitle); 168 181 threadManager.loadThreadByID(data.threadID); 169 182 }); 170 183