From a270671294158092deab93b7bc8db6888ba03d2c Mon Sep 17 00:00:00 2001 From: Max Kiessling Date: Wed, 27 Mar 2013 12:34:08 +0100 Subject: [PATCH 1/3] Add checkbox to select/unselect all fields when exporting (Issue 1241) commit by bernardofire --- app/views/rails_admin/main/export.html.haml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/views/rails_admin/main/export.html.haml b/app/views/rails_admin/main/export.html.haml index 5517b42387..213e74d0a6 100644 --- a/app/views/rails_admin/main/export.html.haml +++ b/app/views/rails_admin/main/export.html.haml @@ -4,7 +4,12 @@ = form_tag export_path(params.merge(:all => true)), :method => 'post', :class => 'form-horizontal denser' do %input{:name => "send_data", :type => "hidden", :value => "true"}/ - %fieldset + %fieldset{:id => 'fields_to_export'} + %div.control-group + %div.controls + %label.checkbox{:for => 'check_all'} + = 'Select All Fields' + = check_box_tag 'all', 'all', true, { :id => 'check_all', :onclick => "is_checked = jQuery('#check_all').attr('checked'); elems = jQuery('#fields_to_export label input'); is_checked ? jQuery(elems).attr('checked', 'checked') : jQuery(elems).removeAttr('checked');" } %legend %i.icon-chevron-down = t('admin.export.select') From 1071a0a5251480062f208dd18c66a905680e65f0 Mon Sep 17 00:00:00 2001 From: Max Kiessling Date: Wed, 27 Mar 2013 12:41:10 +0100 Subject: [PATCH 2/3] Replace $.attr to $.prop due to deprecation in jQuery --- app/views/rails_admin/main/export.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/rails_admin/main/export.html.haml b/app/views/rails_admin/main/export.html.haml index 213e74d0a6..c384190c38 100644 --- a/app/views/rails_admin/main/export.html.haml +++ b/app/views/rails_admin/main/export.html.haml @@ -9,7 +9,7 @@ %div.controls %label.checkbox{:for => 'check_all'} = 'Select All Fields' - = check_box_tag 'all', 'all', true, { :id => 'check_all', :onclick => "is_checked = jQuery('#check_all').attr('checked'); elems = jQuery('#fields_to_export label input'); is_checked ? jQuery(elems).attr('checked', 'checked') : jQuery(elems).removeAttr('checked');" } + = check_box_tag 'all', 'all', true, { :id => 'check_all', :onclick => "var is_checked = jQuery('#check_all').prop('checked');var elems = jQuery('#fields_to_export label input');is_checked ? jQuery(elems).prop('checked', true) : jQuery(elems).prop('checked',false);"} %legend %i.icon-chevron-down = t('admin.export.select') From 85fe0a45770dc215e3dba553cb82bdc7c179cb03 Mon Sep 17 00:00:00 2001 From: Max Kiessling Date: Tue, 2 Apr 2013 22:01:33 +0200 Subject: [PATCH 3/3] moved javascript to app/assets/javascripts/rails_admin/ui.coffee --- app/assets/javascripts/rails_admin/ui.coffee | 7 +++++++ app/views/rails_admin/main/export.html.haml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/rails_admin/ui.coffee b/app/assets/javascripts/rails_admin/ui.coffee index f1e232dd44..991468c508 100644 --- a/app/assets/javascripts/rails_admin/ui.coffee +++ b/app/assets/javascripts/rails_admin/ui.coffee @@ -68,3 +68,10 @@ $(document).on 'rails_admin.dom_ready', -> $(this).siblings('.control-group').hide() $(".table").tooltip selector: "th[rel=tooltip]" + +$(document).on 'click', '#fields_to_export label input#check_all', () -> + elems = $('#fields_to_export label input') + if $('#fields_to_export label input#check_all').is ':checked' + $(elems).prop('checked', true) + else + $(elems).prop('checked',false) diff --git a/app/views/rails_admin/main/export.html.haml b/app/views/rails_admin/main/export.html.haml index c384190c38..a2fa5f0eaf 100644 --- a/app/views/rails_admin/main/export.html.haml +++ b/app/views/rails_admin/main/export.html.haml @@ -9,7 +9,7 @@ %div.controls %label.checkbox{:for => 'check_all'} = 'Select All Fields' - = check_box_tag 'all', 'all', true, { :id => 'check_all', :onclick => "var is_checked = jQuery('#check_all').prop('checked');var elems = jQuery('#fields_to_export label input');is_checked ? jQuery(elems).prop('checked', true) : jQuery(elems).prop('checked',false);"} + = check_box_tag 'all', 'all', true, { :id => 'check_all' } %legend %i.icon-chevron-down = t('admin.export.select')