Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/conpherence/behavior-menu.js
Show All 26 Lines | JX.behavior('conpherence-menu', function(config) { | ||||
var scrollbar = null; | var scrollbar = null; | ||||
// TODO - move more logic into the ThreadManager | // TODO - move more logic into the ThreadManager | ||||
var threadManager = new JX.ConpherenceThreadManager(); | var threadManager = new JX.ConpherenceThreadManager(); | ||||
threadManager.setMessagesRootCallback(function() { | threadManager.setMessagesRootCallback(function() { | ||||
return scrollbar.getContentNode(); | return scrollbar.getContentNode(); | ||||
}); | }); | ||||
threadManager.setWillLoadThreadCallback(function() { | threadManager.setWillLoadThreadCallback(function() { | ||||
markThreadLoading(true); | markThreadsLoading(true); | ||||
}); | }); | ||||
threadManager.setDidLoadThreadCallback(function(r) { | threadManager.setDidLoadThreadCallback(function(r) { | ||||
var header = JX.$H(r.header); | var header = JX.$H(r.header); | ||||
var search = JX.$H(r.search); | var search = JX.$H(r.search); | ||||
var messages = JX.$H(r.transactions); | var messages = JX.$H(r.transactions); | ||||
var form = JX.$H(r.form); | var form = JX.$H(r.form); | ||||
var root = JX.DOM.find(document, 'div', 'conpherence-layout'); | var root = JX.DOM.find(document, 'div', 'conpherence-layout'); | ||||
var header_root = JX.DOM.find(root, 'div', 'conpherence-header-pane'); | var header_root = JX.DOM.find(root, 'div', 'conpherence-header-pane'); | ||||
var search_root = JX.DOM.find(root, 'div', 'conpherence-search-main'); | var search_root = JX.DOM.find(root, 'div', 'conpherence-search-main'); | ||||
var form_root = JX.DOM.find(root, 'div', 'conpherence-form'); | var form_root = JX.DOM.find(root, 'div', 'conpherence-form'); | ||||
JX.DOM.setContent(header_root, header); | JX.DOM.setContent(header_root, header); | ||||
JX.DOM.setContent(search_root, search); | JX.DOM.setContent(search_root, search); | ||||
JX.DOM.setContent(scrollbar.getContentNode(), messages); | JX.DOM.setContent(scrollbar.getContentNode(), messages); | ||||
JX.DOM.setContent(form_root, form); | JX.DOM.setContent(form_root, form); | ||||
markThreadLoading(false); | markThreadsLoading(false); | ||||
didRedrawThread(true); | didRedrawThread(true); | ||||
}); | }); | ||||
threadManager.setDidUpdateThreadCallback(function(r) { | threadManager.setDidUpdateThreadCallback(function(r) { | ||||
_scrollMessageWindow(); | _scrollMessageWindow(); | ||||
}); | }); | ||||
▲ Show 20 Lines • Show All 142 Lines • ▼ Show 20 Lines | JX.Stratcom.invoke( | ||||
threadID : _thread.selected | threadID : _thread.selected | ||||
}); | }); | ||||
} | } | ||||
_thread.visible = _thread.selected; | _thread.visible = _thread.selected; | ||||
} | } | ||||
function markThreadsLoading(loading) { | function markThreadsLoading(loading) { | ||||
var root = JX.DOM.find(document, 'div', 'conpherence-layout'); | |||||
var menu = JX.DOM.find(root, 'div', 'conpherence-menu-pane'); | |||||
JX.DOM.alterClass(menu, 'loading', loading); | |||||
} | |||||
function markThreadLoading(loading) { | |||||
var root = JX.$('conpherence-main-layout'); | var root = JX.$('conpherence-main-layout'); | ||||
JX.DOM.alterClass(root, 'loading', loading); | JX.DOM.alterClass(root, 'loading', loading); | ||||
} | |||||
function markThreadLoading(loading) { | |||||
try { | try { | ||||
var textarea = JX.DOM.find(form, 'textarea'); | var textarea = JX.DOM.find(form, 'textarea'); | ||||
textarea.disabled = loading; | textarea.disabled = loading; | ||||
var button = JX.DOM.find(form, 'button'); | var button = JX.DOM.find(form, 'button'); | ||||
button.disabled = loading; | button.disabled = loading; | ||||
} catch (ex) { | } catch (ex) { | ||||
// haven't loaded it yet! | // haven't loaded it yet! | ||||
} | } | ||||
▲ Show 20 Lines • Show All 259 Lines • Show Last 20 Lines |