app/helpers/coco/app_helper.rb in coveragebook_components-0.7.2 vs app/helpers/coco/app_helper.rb in coveragebook_components-0.7.3
- old
+ new
@@ -1,90 +1,113 @@
module Coco
module AppHelper
def coco_link(*args, **kwargs, &block)
href, content = args[0..2].reverse!
+
+ if kwargs.key?(:modal)
+ modal_name = (kwargs[:modal] == true) ? "default" : kwargs[:modal]
+ kwargs[:data] = kwargs.fetch(:data, {}).merge(coco_modal_data_attributes(modal_name))
+ kwargs.delete(:modal)
+ end
+
+ if kwargs.key?(:frame)
+ turbo_data = {turbo: true, turbo_frame: kwargs[:frame]}
+ kwargs[:data] = kwargs.fetch(:data, {}).merge(turbo_data)
+ kwargs.delete(:frame)
+ end
+
link = Coco::App::Elements::Link.new(href: href, **kwargs)
link = link.with_content(content) unless block
render(link, &block)
end
def coco_button(href = nil, **kwargs, &block)
button = if kwargs.key?(:action) || kwargs.key?(:method) || kwargs.key?(:params)
- "FormButton"
+ "ButtonTo"
else
"Button"
end
+ kwargs[:button_element] ||= {}
+
+ if kwargs.key?(:modal)
+ modal_name = (kwargs[:modal] == true) ? "default" : kwargs[:modal]
+ kwargs[:button_element][:data] = kwargs[:button_element].fetch(:data, {}).merge(coco_modal_data_attributes(modal_name))
+ kwargs.delete(:modal)
+ end
+
+ if kwargs.key?(:frame)
+ turbo_data = {turbo: true, turbo_frame: kwargs[:frame]}
+ kwargs[:button_element][:data] = kwargs[:button_element].fetch(:data, {}).merge(turbo_data)
+ kwargs.delete(:frame)
+ end
+
component = "Coco::App::Elements::#{button}".constantize.new(href: href, **kwargs)
render component, &block
end
- def coco_form_button(**kwargs, &block)
- render Coco::App::Elements::FormButton.new(**kwargs), &block
+ def coco_menu_button(**, &block)
+ render Coco::App::Elements::MenuButton.new(**), &block
end
- def coco_menu_button(**kwargs, &block)
- render Coco::App::Elements::MenuButton.new(**kwargs), &block
+ def coco_confirm_button(href = nil, **, &block)
+ render Coco::App::Elements::ConfirmButton.new(href: href, **), &block
end
- def coco_confirm_button(href = nil, **kwargs, &block)
- render Coco::App::Elements::ConfirmButton.new(href: href, **kwargs), &block
+ def coco_color_picker_button(**, &block)
+ render Coco::App::Elements::ColorPickerButton.new(**), &block
end
- def coco_color_picker_button(**kwargs, &block)
- render Coco::App::Elements::ColorPickerButton.new(**kwargs), &block
+ def coco_image_picker_button(**, &block)
+ render Coco::App::Elements::ImagePickerButton.new(**), &block
end
- def coco_image_picker_button(**kwargs, &block)
- render Coco::App::Elements::ImagePickerButton.new(**kwargs), &block
+ def coco_layout_picker_button(**, &block)
+ render Coco::App::Elements::LayoutPickerButton.new(**), &block
end
- def coco_layout_picker_button(**kwargs, &block)
- render Coco::App::Elements::LayoutPickerButton.new(**kwargs), &block
+ def coco_dropdown_button(**, &block)
+ render Coco::App::Elements::DropdownButton.new(**), &block
end
- def coco_dropdown_button(**kwargs, &block)
- render Coco::App::Elements::DropdownButton.new(**kwargs), &block
+ def coco_button_group(**, &block)
+ render Coco::App::Elements::ButtonGroup.new(**), &block
end
- def coco_button_group(**kwargs, &block)
- render Coco::App::Elements::ButtonGroup.new(**kwargs), &block
+ def coco_toolbar(**, &block)
+ render Coco::App::Elements::Toolbar.new(**), &block
end
- def coco_toolbar(**kwargs, &block)
- render Coco::App::Elements::Toolbar.new(**kwargs), &block
+ def coco_seamless_textarea(**, &block)
+ render Coco::App::Elements::SeamlessTextarea.new(**), &block
end
- def coco_seamless_textarea(**kwargs, &block)
- render Coco::App::Elements::SeamlessTextarea.new(**kwargs), &block
+ def coco_snackbar(**, &block)
+ render Coco::App::Elements::Snackbar.new(**), &block
end
- def coco_snackbar(**kwargs, &block)
- render Coco::App::Elements::Snackbar.new(**kwargs), &block
+ def coco_notice(**, &block)
+ render Coco::App::Elements::Notice.new(**), &block
end
- def coco_notice(**kwargs, &block)
- render Coco::App::Elements::Notice.new(**kwargs), &block
+ def coco_toast(**, &block)
+ render Coco::App::Elements::Toast.new(**), &block
end
- def coco_toast(**kwargs, &block)
- render Coco::App::Elements::Toast.new(**kwargs), &block
+ def coco_system_banner(**, &block)
+ render Coco::App::Elements::SystemBanner.new(**), &block
end
- def coco_system_banner(**kwargs, &block)
- render Coco::App::Elements::SystemBanner.new(**kwargs), &block
+ def coco_form_with(**, &block)
+ form_with(**, builder: Coco::AppFormBuilder, &block)
end
- def coco_form_with(**kwargs, &block)
- form_with(**kwargs, builder: Coco::AppFormBuilder, &block)
+ def coco_form_for(*, **, &block)
+ form_for(*, **, builder: Coco::AppFormBuilder, &block)
end
- def coco_form_for(*args, **kwargs, &block)
- form_for(*args, **kwargs, builder: Coco::AppFormBuilder, &block)
- end
-
- def coco_fields(**kwargs, &block)
- fields(**kwargs, builder: Coco::AppFormBuilder, &block)
+ def coco_fields(**, &block)
+ fields(**, builder: Coco::AppFormBuilder, &block)
end
end
end