Description:
wip: bootstrap toggle switch todo: add javascript that thisable button until reponse arrived
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r556:b4cf182747cd - - 9 files changed: 23 inserted, 4 deleted

@@ -54,6 +54,7
54 #add bootstrap
54 #add bootstrap
55 gem 'bootstrap-sass', '~> 3.2.0'
55 gem 'bootstrap-sass', '~> 3.2.0'
56 gem 'bootstrap-switch-rails'
56 gem 'bootstrap-switch-rails'
57 + gem 'bootstrap-toggle-rails'
57 gem 'autoprefixer-rails'
58 gem 'autoprefixer-rails'
58
59
59
60
@@ -46,6 +46,7
46 bootstrap-sass (3.2.0.2)
46 bootstrap-sass (3.2.0.2)
47 sass (~> 3.2)
47 sass (~> 3.2)
48 bootstrap-switch-rails (3.3.3)
48 bootstrap-switch-rails (3.3.3)
49 + bootstrap-toggle-rails (2.2.1.0)
49 builder (3.0.4)
50 builder (3.0.4)
50 coffee-rails (3.2.2)
51 coffee-rails (3.2.2)
51 coffee-script (>= 2.2.0)
52 coffee-script (>= 2.2.0)
@@ -164,6 +165,7
164 best_in_place (~> 3.0.1)
165 best_in_place (~> 3.0.1)
165 bootstrap-sass (~> 3.2.0)
166 bootstrap-sass (~> 3.2.0)
166 bootstrap-switch-rails
167 bootstrap-switch-rails
168 + bootstrap-toggle-rails
167 coffee-rails (~> 3.2.2)
169 coffee-rails (~> 3.2.2)
168 dynamic_form
170 dynamic_form
169 haml
171 haml
@@ -14,7 +14,8
14 //= require jquery_ujs
14 //= require jquery_ujs
15 //= require jquery.ui.all
15 //= require jquery.ui.all
16 //= require bootstrap-sprockets
16 //= require bootstrap-sprockets
17 - //= require bootstrap-switch
17 + //x= require bootstrap-switch
18 + //= require bootstrap-toggle
18 //= require select2
19 //= require select2
19 //= require custom
20 //= require custom
20
21
@@ -13,7 +13,8
13
13
14 $ ->
14 $ ->
15 $(".select2").select2()
15 $(".select2").select2()
16 - $(".bootstrap-switch").bootstrapSwitch()
16 + #$(".bootstrap-switch").bootstrapSwitch()
17 + $(".bootstrap-toggle").bootstrapToggle()
17 $('.btn-file :file').on 'fileselect', (event, numFiles, label) ->
18 $('.btn-file :file').on 'fileselect', (event, numFiles, label) ->
18 input = $(this).parents('.input-group').find(':text')
19 input = $(this).parents('.input-group').find(':text')
19 log = if numFiles > 1 then numFiles + ' files selected' else label
20 log = if numFiles > 1 then numFiles + ' files selected' else label
@@ -30,7 +30,8
30 @import bootstrap
30 @import bootstrap
31 @import select2
31 @import select2
32 @import select2-bootstrap
32 @import select2-bootstrap
33 - @import bootstrap3-switch
33 + //@import bootstrap3-switch
34 + @import bootstrap-toggle
34
35
35 .secondnavbar
36 .secondnavbar
36 top: 50px
37 top: 50px
@@ -69,14 +69,24
69 if @announcement.update_attributes(params[:announcement])
69 if @announcement.update_attributes(params[:announcement])
70 flash[:notice] = 'Announcement was successfully updated.'
70 flash[:notice] = 'Announcement was successfully updated.'
71 format.html { redirect_to(@announcement) }
71 format.html { redirect_to(@announcement) }
72 + format.js {}
72 format.xml { head :ok }
73 format.xml { head :ok }
73 else
74 else
74 format.html { render :action => "edit" }
75 format.html { render :action => "edit" }
76 + format.js {}
75 format.xml { render :xml => @announcement.errors, :status => :unprocessable_entity }
77 format.xml { render :xml => @announcement.errors, :status => :unprocessable_entity }
76 end
78 end
77 end
79 end
78 end
80 end
79
81
82 + def toggle
83 + @announcement = Announcement.find(params[:id])
84 + @announcement.update_attributes( published: params[:published] == 1)
85 + respond_to do |format|
86 + format.js {}
87 + end
88 + end
89 +
80 # DELETE /announcements/1
90 # DELETE /announcements/1
81 # DELETE /announcements/1.xml
91 # DELETE /announcements/1.xml
82 def destroy
92 def destroy
@@ -8,6 +8,7
8
8
9 # Returns the current logged-in user (if any).
9 # Returns the current logged-in user (if any).
10 def current_user
10 def current_user
11 + return nil unless session[:user_id]
11 @current_user ||= User.find(session[:user_id])
12 @current_user ||= User.find(session[:user_id])
12 end
13 end
13
14
@@ -27,7 +27,7
27 <%=h announcement.body %>
27 <%=h announcement.body %>
28 </td>
28 </td>
29 <td><%=h announcement.author %></td>
29 <td><%=h announcement.author %></td>
30 - <td><%= check_box_tag :published, 1, announcement.published, class: 'bootstrap-switch', data: {size: 'small'} %></td>
30 + <td><%= check_box_tag :published, 1, announcement.published, { class: 'bootstrap-toggle', id: "published-#{announcement.id}", data: {remote: true, method: 'PUT', url: url_for(controller: :announcements, action: :toggle, id: announcement), size: 'small', toggle: 'toggle' } } %></td>
31 <!-- <td><%= in_place_editor_field :announcement, :published, {}, :rows => 1 %></td> -->
31 <!-- <td><%= in_place_editor_field :announcement, :published, {}, :rows => 1 %></td> -->
32 <td><%= link_to 'Show', announcement %></td>
32 <td><%= link_to 'Show', announcement %></td>
33 <td><%= link_to 'Edit', edit_announcement_path(announcement) %></td>
33 <td><%= link_to 'Edit', edit_announcement_path(announcement) %></td>
@@ -6,6 +6,8
6 resources :contests
6 resources :contests
7
7
8 resources :announcements
8 resources :announcements
9 + match 'announcements/toggle/:id' => 'announcements#toggle', via: :put
10 +
9 resources :sites
11 resources :sites
10
12
11 resources :grader_configuration, controller: 'configurations'
13 resources :grader_configuration, controller: 'configurations'
You need to be logged in to leave comments. Login now