summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-29 15:05:32 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-29 15:05:32 +0200
commitda10cad1da7039a346f1f0d32325d8be4c3a1c56 (patch)
tree9645381f54cc257a399d703bad58339d4ee64f6b
parent596e64e5d7a51dbd03bceeb3e6e626781ef34134 (diff)
downloadgitlab-ce-da10cad1da7039a346f1f0d32325d8be4c3a1c56.tar.gz
Drop rjs from Issues#index
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/assets/javascripts/issues.js.coffee13
-rw-r--r--app/controllers/application_controller.rb8
-rw-r--r--app/controllers/projects/issues_controller.rb15
-rw-r--r--app/controllers/projects/notes_controller.rb8
-rw-r--r--app/views/projects/issues/_head.html.haml6
-rw-r--r--app/views/projects/issues/index.js.haml4
6 files changed, 29 insertions, 25 deletions
diff --git a/app/assets/javascripts/issues.js.coffee b/app/assets/javascripts/issues.js.coffee
index 67d9498c50a..c273ddbd391 100644
--- a/app/assets/javascripts/issues.js.coffee
+++ b/app/assets/javascripts/issues.js.coffee
@@ -22,7 +22,7 @@
backgroundColor: '#DDD'
opacity: .4
)
-
+
reload: ->
Issues.initSelects()
Issues.initChecks()
@@ -54,7 +54,16 @@
unless terms is last_terms
last_terms = terms
if terms.length >= 2 or terms.length is 0
- form.submit()
+ $.ajax
+ type: "GET"
+ url: location.href
+ data: "issue_search=" + terms
+ complete: ->
+ $(".loading").hide()
+ success: (data) ->
+ $('.issues-holder').html(data.html)
+ Issues.reload()
+ dataType: "json"
checkChanged: ->
checked_issues = $(".selected_issue:checked")
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 94ce8e0616c..a83d6dfed8d 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -188,4 +188,12 @@ class ApplicationController < ActionController::Base
count: count
}
end
+
+ def view_to_html_string(partial)
+ render_to_string(
+ partial,
+ layout: false,
+ formats: [:html]
+ )
+ end
end
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index e03d54cddc1..5dcdba5d388 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -11,7 +11,7 @@ class Projects::IssuesController < Projects::ApplicationController
# Allow modify issue
before_filter :authorize_modify_issue!, only: [:edit, :update]
- respond_to :js, :html
+ respond_to :html
def index
terms = params['issue_search']
@@ -28,9 +28,13 @@ class Projects::IssuesController < Projects::ApplicationController
respond_to do |format|
- format.html # index.html.erb
- format.js
+ format.html
format.atom { render layout: false }
+ format.json do
+ render json: {
+ html: view_to_html_string("projects/issues/_issues")
+ }
+ end
end
end
@@ -48,10 +52,7 @@ class Projects::IssuesController < Projects::ApplicationController
@target_type = :issue
@target_id = @issue.id
- respond_to do |format|
- format.html
- format.js
- end
+ respond_with(@issue)
end
def create
diff --git a/app/controllers/projects/notes_controller.rb b/app/controllers/projects/notes_controller.rb
index dc479a9c755..2738a99459d 100644
--- a/app/controllers/projects/notes_controller.rb
+++ b/app/controllers/projects/notes_controller.rb
@@ -17,14 +17,8 @@ class Projects::NotesController < Projects::ApplicationController
respond_to do |format|
format.html { redirect_to :back }
format.json do
- html = render_to_string(
- "projects/notes/_notes",
- layout: false,
- formats: [:html]
- )
-
render json: {
- html: html,
+ html: view_to_html_string("projects/notes/_notes")
}
end
end
diff --git a/app/views/projects/issues/_head.html.haml b/app/views/projects/issues/_head.html.haml
index 8ae9ba57d2a..a44db78a92b 100644
--- a/app/views/projects/issues/_head.html.haml
+++ b/app/views/projects/issues/_head.html.haml
@@ -21,9 +21,5 @@
= link_to new_project_issue_path(@project, issue: { assignee_id: params[:assignee_id], milestone_id: params[:milestone_id]}), class: "btn btn-new pull-right", title: "New Issue", id: "new_issue_link" do
%i.icon-plus
New Issue
- = form_tag project_issues_path(@project), method: :get, remote: true, id: "issue_search_form", class: 'pull-right issue-search-form' do
- = hidden_field_tag :status, params[:status], id: 'search_status'
- = hidden_field_tag :assignee_id, params[:assignee_id], id: 'search_assignee_id'
- = hidden_field_tag :milestone_id, params[:milestone_id], id: 'search_milestone_id'
- = hidden_field_tag :label_name, params[:label_name], id: 'search_label_name'
+ = form_tag project_issues_path(@project), method: :get, id: "issue_search_form", class: 'pull-right issue-search-form' do
= search_field_tag :issue_search, nil, { placeholder: 'Filter by title or description', class: 'input-xpadding issue_search input-xlarge append-right-10 search-text-input' }
diff --git a/app/views/projects/issues/index.js.haml b/app/views/projects/issues/index.js.haml
deleted file mode 100644
index 1be6a64f535..00000000000
--- a/app/views/projects/issues/index.js.haml
+++ /dev/null
@@ -1,4 +0,0 @@
-:plain
- $('.issues-holder').html("#{escape_javascript(render('issues'))}");
- History.replaceState({path: "#{request.url}"}, document.title, "#{request.url}");
- Issues.reload();