From 5c68ebc74b0e9270dee9bc6bcce01f1ba272cc82 Mon Sep 17 00:00:00 2001 From: f Date: Fri, 11 Jan 2019 15:27:19 -0300 Subject: [PATCH] grupo de radios --- app/models/post/template_field.rb | 6 ++++++ app/views/posts/template_field/_radio_group.haml | 15 +++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 app/views/posts/template_field/_radio_group.haml diff --git a/app/models/post/template_field.rb b/app/models/post/template_field.rb index ade177f5..6e9475af 100644 --- a/app/models/post/template_field.rb +++ b/app/models/post/template_field.rb @@ -58,6 +58,8 @@ class Post @type = 'text_area' when check_box_group? @type = 'check_box_group' + when radio_group? + @type = 'radio_group' when string? @type = 'text' # TODO volver a hacer funcionar esto y ahorranos los multiple: @@ -182,6 +184,10 @@ class Post array? && (complex? && contents.fetch('checkbox', false)) end + def radio_group? + array? && (complex? && contents.fetch('radio', false)) + end + def array? value.is_a? Array end diff --git a/app/views/posts/template_field/_radio_group.haml b/app/views/posts/template_field/_radio_group.haml new file mode 100644 index 00000000..02facb03 --- /dev/null +++ b/app/views/posts/template_field/_radio_group.haml @@ -0,0 +1,15 @@ +-# Obtener el nombre del campo +- field_name = field_name_for_post_as_string(name) +-# Obtener todos los valores +- value = [] if value.nil? +- values = template.values.empty? ? [value].flatten : template.values +- values.each do |v| + .form-check + = radio_button_tag field_name+'[]', + v, + @post.fetch_front_matter(name, []).include?(v), + class: 'form-check-input' + = label_tag [field_name,v].join(' '), class: 'form-check-label' do + = v.split(':', 2).first + %br/ + %small= v.split(':', 2).last