1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-23 10:48:47 +02:00
phorge-phorge/webroot/rsrc/js/application/conpherence/behavior-conpherence-search.js

64 lines
1.3 KiB
JavaScript
Raw Normal View History

/**
* @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);
});