From f762323d97813b8ef143982e672caff40adeed18 Mon Sep 17 00:00:00 2001 From: Sebastian Peterschmidt <38015476+seppelschmidt@users.noreply.github.com> Date: Mon, 2 Apr 2018 21:28:13 +0000 Subject: [PATCH] Makes all checkboxes toggable with a single click --- app/views/admin/splashpages/_form.html.haml | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/views/admin/splashpages/_form.html.haml b/app/views/admin/splashpages/_form.html.haml index 1d15b38c..81d919b6 100644 --- a/app/views/admin/splashpages/_form.html.haml +++ b/app/views/admin/splashpages/_form.html.haml @@ -1,3 +1,18 @@ +:javascript + $(document).ready(function(){ + var originalState = true; + $('form.splashpage .inputs:first .input.checkbox input[type=checkbox]:not(.select-all)').each(function() { + originalState = originalState && $(this).is(':checked'); + }); + $('form.splashpage .select-all').prop('checked', originalState); + + $('form.splashpage').on('change', '.select-all', function(e) { + var value = $(this).is(':checked'); + var parent = $(this).parents('.inputs:first'); + parent.find('.input.checkbox input[type=checkbox]').prop('checked', value); + }); + }); + .row .col-md-12 .page-header @@ -8,6 +23,13 @@ .col-md-12 = f.inputs name: 'Components' do %ul.fa-ul + %li + .boolean.input.optional.form-group.checkbox + %span.form-wrapper + %label.control-label + %input.select-all{type: 'checkbox'} + %em Select all + %li = f.input :include_cfp, label: 'Display call for papers and call for tracks, while open', input_html: { checked: params[:action] == 'new' || @splashpage.try(:include_cfp) } %li