diff options
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.js | 39 |
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(); + } + } ); +}() ); |