Merge pull request #1905 from wairbut-m2c/iagirre-autocomplete-tags

Iagirre autocomplete tags
This commit is contained in:
BertoCQ
2017-09-26 10:19:34 +02:00
committed by GitHub
12 changed files with 143 additions and 17 deletions

View File

@@ -14,6 +14,7 @@
//= require jquery_ujs
//= require jquery-ui/widgets/datepicker
//= require jquery-ui/i18n/datepicker-es
//= require jquery-ui/widgets/autocomplete
//= require jquery-fileupload/basic
//= require foundation
//= require turbolinks
@@ -64,6 +65,7 @@
//= require documentable
//= require tree_navigator
//= require custom
//= require tag_autocomplete
var initialize_modules = function() {
App.Comments.initialize();
@@ -98,6 +100,7 @@ var initialize_modules = function() {
App.WatchFormChanges.initialize();
App.TreeNavigator.initialize();
App.Documentable.initialize();
App.TagAutocomplete.initialize();
};
$(function(){

View File

@@ -0,0 +1,34 @@
App.TagAutocomplete =
split: ( val ) ->
return (val.split( /,\s*/ ))
extractLast: ( term ) ->
return (App.TagAutocomplete.split( term ).pop())
init_autocomplete: ->
$('.tag-autocomplete').autocomplete
source: (request, response) ->
$.ajax
url: $('.tag-autocomplete').data('js-url'),
data: {search: App.TagAutocomplete.extractLast( request.term )},
type: 'GET',
dataType: 'json'
success: ( data ) ->
response( data );
minLength: 0,
search: ->
App.TagAutocomplete.extractLast( this.value );
focus: ->
return false;
select: ( event, ui ) -> (
terms = App.TagAutocomplete.split( this.value );
terms.pop();
terms.push( ui.item.value );
terms.push( "" );
this.value = terms.join( ", " );
return false;);
initialize: ->
App.TagAutocomplete.init_autocomplete();