repositories - added AJAX handler for enabling/disabling a repo
[opensuse:yast-web-client.git] / plugins / software / app / views / repositories / _repository_checkbox.html.erb
1 <%#
2 # This partial template renders a repository checkbox with AJAX function
3 # for enabling/disabling it, a progress is displayed after clicking it
4
5 # local valiables:
6 #    string  error    - error message
7 #    string  id       - repository alias
8 #    boolean enabled  - true if the repository is enabled
9 #    boolean disabled - true if the checkbox should be disabled (grayed)
10 %>
11
12 <% if error.blank? -%>
13 <%# jQuery doesn't work properly when id contains brackets, escape them %>
14   <% jquery_id = h id -%>
15   <% jquery_id.gsub!('(', '\\\\\\\\(') -%>
16   <% jquery_id.gsub!(')', '\\\\\\\\)') -%>
17
18   <%= image_tag 'working.gif', :height => 16, :width => 16, :border => 0,
19     :id => "repo_progress_#{h id}",
20     :style => 'display: none', :alt => 'working...' -%>
21
22   <input type="checkbox" id="repo_status_<%= h id -%>" <%= disabled ? ' disabled ' : '' -%> <%= enabled ? ' checked ' : '' -%>
23          onclick="<%=  remote_function(:update => "repo_cell_#{jquery_id}",
24     :loading  => "$('#repo_progress_#{jquery_id}').show(); $('#repo_status_#{jquery_id}').hide()",
25     :url => { :action => :set_status, :id => id, :params => { :enabled => (!enabled).to_s}}) -%>"
26          />
27 <% else -%>
28   Error: <%= h error %>
29 <% end -%>