mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 00:42:41 +01:00
Conpherence - us JX.Scrollbar in main conpherence view
Summary: Fixes T7681. Relatively straight forward since we don't "destroy" the main div the scroll bar is attached to, and instead just update the interior content. Test Plan: played with conpherence in main view and scrolling never broke Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T7681 Differential Revision: https://secure.phabricator.com/D12396
This commit is contained in:
parent
78bfcc3221
commit
e5ff344d0d
3 changed files with 43 additions and 35 deletions
|
@ -356,10 +356,10 @@ return array(
|
|||
'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de',
|
||||
'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '0a5192c4',
|
||||
'rsrc/js/application/conpherence/behavior-durable-column.js' => '7ffa744f',
|
||||
'rsrc/js/application/conpherence/behavior-menu.js' => 'e67cfd8c',
|
||||
'rsrc/js/application/conpherence/behavior-menu.js' => 'eaf57226',
|
||||
'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861',
|
||||
'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3',
|
||||
'rsrc/js/application/conpherence/behavior-widget-pane.js' => '1ec93bcf',
|
||||
'rsrc/js/application/conpherence/behavior-widget-pane.js' => '31b18ee7',
|
||||
'rsrc/js/application/countdown/timer.js' => 'e4cc26b3',
|
||||
'rsrc/js/application/dashboard/behavior-dashboard-async-panel.js' => '469c0d9e',
|
||||
'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '82439934',
|
||||
|
@ -559,9 +559,9 @@ return array(
|
|||
'javelin-behavior-boards-dropdown' => '0ec56e1d',
|
||||
'javelin-behavior-choose-control' => '6153c708',
|
||||
'javelin-behavior-config-reorder-fields' => '14a827de',
|
||||
'javelin-behavior-conpherence-menu' => 'e67cfd8c',
|
||||
'javelin-behavior-conpherence-menu' => 'eaf57226',
|
||||
'javelin-behavior-conpherence-pontificate' => '21ba5861',
|
||||
'javelin-behavior-conpherence-widget-pane' => '1ec93bcf',
|
||||
'javelin-behavior-conpherence-widget-pane' => '31b18ee7',
|
||||
'javelin-behavior-countdown-timer' => 'e4cc26b3',
|
||||
'javelin-behavior-dark-console' => '08883e8b',
|
||||
'javelin-behavior-dashboard-async-panel' => '469c0d9e',
|
||||
|
@ -954,19 +954,6 @@ return array(
|
|||
'javelin-dom',
|
||||
'javelin-reactor-dom',
|
||||
),
|
||||
'1ec93bcf' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-workflow',
|
||||
'javelin-util',
|
||||
'phabricator-notification',
|
||||
'javelin-behavior-device',
|
||||
'phuix-dropdown-menu',
|
||||
'phuix-action-list-view',
|
||||
'phuix-action-view',
|
||||
'conpherence-thread-manager',
|
||||
),
|
||||
'2035b9cb' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
|
@ -1056,6 +1043,19 @@ return array(
|
|||
'javelin-install',
|
||||
'javelin-typeahead-source',
|
||||
),
|
||||
'31b18ee7' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-workflow',
|
||||
'javelin-util',
|
||||
'phabricator-notification',
|
||||
'javelin-behavior-device',
|
||||
'phuix-dropdown-menu',
|
||||
'phuix-action-list-view',
|
||||
'phuix-action-view',
|
||||
'conpherence-thread-manager',
|
||||
),
|
||||
'331b1611' => array(
|
||||
'javelin-install',
|
||||
),
|
||||
|
@ -1888,19 +1888,6 @@ return array(
|
|||
'javelin-behavior-device',
|
||||
'phabricator-keyboard-shortcut',
|
||||
),
|
||||
'e67cfd8c' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
'javelin-util',
|
||||
'javelin-stratcom',
|
||||
'javelin-workflow',
|
||||
'javelin-behavior-device',
|
||||
'javelin-history',
|
||||
'javelin-vector',
|
||||
'phabricator-title',
|
||||
'phabricator-shaped-request',
|
||||
'conpherence-thread-manager',
|
||||
),
|
||||
'e723c323' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-stratcom',
|
||||
|
@ -1922,6 +1909,20 @@ return array(
|
|||
'phabricator-phtize',
|
||||
'javelin-dom',
|
||||
),
|
||||
'eaf57226' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
'javelin-util',
|
||||
'javelin-stratcom',
|
||||
'javelin-workflow',
|
||||
'javelin-behavior-device',
|
||||
'javelin-history',
|
||||
'javelin-vector',
|
||||
'javelin-scrollbar',
|
||||
'phabricator-title',
|
||||
'phabricator-shaped-request',
|
||||
'conpherence-thread-manager',
|
||||
),
|
||||
'efe49472' => array(
|
||||
'javelin-install',
|
||||
'javelin-util',
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
* javelin-behavior-device
|
||||
* javelin-history
|
||||
* javelin-vector
|
||||
* javelin-scrollbar
|
||||
* phabricator-title
|
||||
* phabricator-shaped-request
|
||||
* conpherence-thread-manager
|
||||
|
@ -23,6 +24,8 @@ JX.behavior('conpherence-menu', function(config) {
|
|||
node: null
|
||||
};
|
||||
|
||||
var scrollbar = null;
|
||||
|
||||
// TODO - move more logic into the ThreadManager
|
||||
var threadManager = new JX.ConpherenceThreadManager();
|
||||
threadManager.setWillLoadThreadCallback(function() {
|
||||
|
@ -49,7 +52,7 @@ JX.behavior('conpherence-menu', function(config) {
|
|||
var messages_root = JX.DOM.find(root, 'div', 'conpherence-message-pane');
|
||||
var messages = JX.DOM.find(messages_root, 'div', 'conpherence-messages');
|
||||
JX.DOM.appendContent(messages, JX.$H(r.transactions));
|
||||
messages.scrollTop = messages.scrollHeight;
|
||||
scrollbar.scrollTo(messages.scrollHeight);
|
||||
});
|
||||
threadManager.setWillSendMessageCallback(function () {
|
||||
var root = JX.DOM.find(document, 'div', 'conpherence-layout');
|
||||
|
@ -71,7 +74,7 @@ JX.behavior('conpherence-menu', function(config) {
|
|||
// Ignore; maybe no files widget
|
||||
}
|
||||
JX.DOM.appendContent(messages, JX.$H(r.transactions));
|
||||
messages.scrollTop = messages.scrollHeight;
|
||||
scrollbar.scrollTo(messages.scrollHeight);
|
||||
|
||||
if (fileWidget) {
|
||||
JX.DOM.setContent(
|
||||
|
@ -116,6 +119,10 @@ JX.behavior('conpherence-menu', function(config) {
|
|||
}
|
||||
markWidgetLoading(true);
|
||||
onDeviceChange();
|
||||
var root = JX.DOM.find(document, 'div', 'conpherence-layout');
|
||||
var messages_root = JX.DOM.find(root, 'div', 'conpherence-message-pane');
|
||||
var messages = JX.DOM.find(messages_root, 'div', 'conpherence-messages');
|
||||
scrollbar = new JX.Scrollbar(messages);
|
||||
}
|
||||
init();
|
||||
|
||||
|
@ -320,7 +327,7 @@ JX.behavior('conpherence-menu', function(config) {
|
|||
function _scrollMessageWindow() {
|
||||
var root = JX.DOM.find(document, 'div', 'conpherence-layout');
|
||||
var messages_root = JX.DOM.find(root, 'div', 'conpherence-messages');
|
||||
messages_root.scrollTop = messages_root.scrollHeight;
|
||||
scrollbar.scrollTo(messages_root.scrollHeight);
|
||||
}
|
||||
function _focusTextarea() {
|
||||
var root = JX.DOM.find(document, 'div', 'conpherence-layout');
|
||||
|
@ -373,7 +380,7 @@ JX.behavior('conpherence-menu', function(config) {
|
|||
new JX.Workflow.newFromForm(form, data)
|
||||
.setHandler(JX.bind(this, function(r) {
|
||||
JX.DOM.appendContent(messages, JX.$H(r.transactions));
|
||||
messages.scrollTop = messages.scrollHeight;
|
||||
scrollbar.scrollTo(messages.scrollHeight);
|
||||
|
||||
JX.DOM.setContent(
|
||||
header,
|
||||
|
|
|
@ -297,7 +297,7 @@ JX.behavior('conpherence-widget-pane', function(config) {
|
|||
}
|
||||
if (messages) {
|
||||
JX.DOM.appendContent(messages, JX.$H(r.transactions));
|
||||
messages.scrollTop = messages.scrollHeight;
|
||||
JX.Stratcom.invoke('conpherence-redraw-thread', null, {});
|
||||
}
|
||||
|
||||
if (r.people_widget) {
|
||||
|
|
Loading…
Reference in a new issue