diff --git a/app/assets/javascripts/admin.js.coffee b/app/assets/javascripts/admin.js.coffee index 8329673..c83b74a 100644 --- a/app/assets/javascripts/admin.js.coffee +++ b/app/assets/javascripts/admin.js.coffee @@ -1,5 +1,5 @@ -@Admin = - init: -> +class Admin + constructor: -> $('input#user_force_random_password').on 'change', (elem) -> elems = $('#user_password, #user_password_confirmation') @@ -26,3 +26,5 @@ $('.change-owner-cancel-link').bind "click", -> modal.hide() $('.change-owner-link').show() + +@Admin = Admin diff --git a/app/assets/javascripts/dispatcher.js.coffee b/app/assets/javascripts/dispatcher.js.coffee index 044f6ff..ba2e84a 100644 --- a/app/assets/javascripts/dispatcher.js.coffee +++ b/app/assets/javascripts/dispatcher.js.coffee @@ -3,6 +3,10 @@ $ -> class Dispatcher constructor: () -> + @initSearch() + @initPageScripts() + + initPageScripts: -> page = $('body').attr('data-page') project_id = $('body').attr('data-project-id') @@ -25,6 +29,9 @@ class Dispatcher new Wall(project_id) switch path.first() - when 'admin' then Admin.init() + when 'admin' then new Admin() when 'wikis' then new Wikis() + initSearch: -> + autocomplete_json = $('.search-autocomplete-json').data('autocomplete-opts') + new SearchAutocomplete(autocomplete_json) diff --git a/app/assets/javascripts/search_autocomplete.js.coffee b/app/assets/javascripts/search_autocomplete.js.coffee new file mode 100644 index 0000000..3418690 --- /dev/null +++ b/app/assets/javascripts/search_autocomplete.js.coffee @@ -0,0 +1,8 @@ +class SearchAutocomplete + constructor: (json) -> + $("#search").autocomplete + source: json + select: (event, ui) -> + location.href = ui.item.url + +@SearchAutocomplete = SearchAutocomplete diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml index c484af0..16f5227 100644 --- a/app/views/layouts/_search.html.haml +++ b/app/views/layouts/_search.html.haml @@ -3,11 +3,4 @@ = text_field_tag "search", nil, placeholder: "Search", class: "search-input" = hidden_field_tag :group_id, @group.try(:id) = hidden_field_tag :project_id, @project.try(:id) - -:javascript - $(function(){ - $("#search").autocomplete({ - source: #{raw search_autocomplete_source}, - select: function(event, ui) { location.href = ui.item.url } - }); - }); + .search-autocomplete-json.hide{:'data-autocomplete-opts' => search_autocomplete_source } -- libgit2 0.21.2