mirror of
https://we.phorge.it/source/phorge.git
synced 2024-09-23 10:48:47 +02:00
508a2a1498
Summary: Adds a search bar toggle and results for searching inside a Conpherence Room. The UI of the results itself are not styled yet, and will follow up with another diff. Test Plan: Go to Conpherence, search for "asdf", get lots of results. Search for nothing, get no change, search for something fictitious, get no threads found (will follow up with search result UI). Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D16697
63 lines
1.3 KiB
JavaScript
63 lines
1.3 KiB
JavaScript
/**
|
|
* @provides javelin-behavior-conpherence-search
|
|
* @requires javelin-behavior
|
|
* javelin-dom
|
|
* javelin-util
|
|
* javelin-workflow
|
|
* javelin-stratcom
|
|
*/
|
|
|
|
JX.behavior('conpherence-search', function(config) {
|
|
|
|
var shown = true;
|
|
var request = null;
|
|
|
|
function _toggleSearch(e) {
|
|
e.kill();
|
|
var node = JX.$('conpherence-main-layout');
|
|
|
|
shown = !shown;
|
|
JX.DOM.alterClass(node, 'show-searchbar', !shown);
|
|
JX.Stratcom.invoke('resize');
|
|
}
|
|
|
|
function _doSearch(e) {
|
|
e.kill();
|
|
var search_text = JX.$('conpherence-search-input').value;
|
|
var search_node = JX.$('conpherence-search-results');
|
|
|
|
if (request || !search_text) {
|
|
return;
|
|
}
|
|
|
|
request = new JX.Request(config.searchURI, function(response) {
|
|
JX.DOM.setContent(search_node, JX.$H(response));
|
|
request = null;
|
|
});
|
|
request.setData({fulltext: search_text});
|
|
request.send();
|
|
|
|
}
|
|
|
|
JX.Stratcom.listen(
|
|
['submit', 'didSyntheticSubmit'],
|
|
'conpherence-search-input',
|
|
_doSearch);
|
|
|
|
JX.Stratcom.listen(
|
|
'keydown',
|
|
'conpherence-search-input',
|
|
function(e) {
|
|
if (e.getSpecialKey() != 'return') {
|
|
return;
|
|
}
|
|
e.kill();
|
|
_doSearch(e);
|
|
});
|
|
|
|
JX.Stratcom.listen(
|
|
'click',
|
|
'conpherence-search-toggle',
|
|
_toggleSearch);
|
|
|
|
});
|