summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/resources/js/ext.translate.special.operatorsuggest.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Translate/resources/js/ext.translate.special.operatorsuggest.js')
-rw-r--r--www/wiki/extensions/Translate/resources/js/ext.translate.special.operatorsuggest.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/www/wiki/extensions/Translate/resources/js/ext.translate.special.operatorsuggest.js b/www/wiki/extensions/Translate/resources/js/ext.translate.special.operatorsuggest.js
new file mode 100644
index 00000000..1115824f
--- /dev/null
+++ b/www/wiki/extensions/Translate/resources/js/ext.translate.special.operatorsuggest.js
@@ -0,0 +1,39 @@
+/*
+ * Autocomplete search operators.
+ */
+( function () {
+ 'use strict';
+
+ function autocompleteOperators( request, response ) {
+ var operators = [ 'language:', 'group:', 'filter:' ],
+ result = [],
+ lastterm = request.term.split( ' ' ).pop();
+
+ $.each( operators, function ( index, value ) {
+ var pos = value.indexOf( lastterm );
+ if ( pos === 0 ) {
+ result.push( value );
+ }
+ } );
+ response( result );
+ }
+
+ $( '.tux-searchpage .searchinputbox' )
+ .autocomplete( {
+ source: autocompleteOperators,
+ select: function ( event, ui ) {
+ var $value = $( this ).val(),
+ operators = $value.split( ' ' );
+
+ operators.pop();
+ operators.push( ui.item.value );
+
+ $( this ).val( operators.join( ' ' ) );
+ return false;
+ },
+
+ focus: function ( event ) {
+ event.preventDefault();
+ }
+ } );
+}() );