Class: BaseComponent

Inherits:
ViewComponent::Base
  • Object
show all
Defined in:
app/components/base_component.rb

Overview

Base component.

Direct Known Subclasses

SdrViewComponents::Elements::AlertComponent, SdrViewComponents::Elements::BannerComponent, SdrViewComponents::Elements::BreadcrumbComponent, SdrViewComponents::Elements::BreadcrumbNavComponent, SdrViewComponents::Elements::ButtonComponent, SdrViewComponents::Elements::ButtonFormComponent, SdrViewComponents::Elements::ButtonLinkComponent, SdrViewComponents::Elements::CardComponent, SdrViewComponents::Elements::CardComponent::SectionComponent, SdrViewComponents::Elements::HeadingComponent, SdrViewComponents::Elements::HorizontalRuleComponent, SdrViewComponents::Elements::IconButtonComponent, SdrViewComponents::Elements::IconButtonLinkComponent, SdrViewComponents::Elements::ModalComponent, SdrViewComponents::Elements::Navigation::DropdownMenuComponent, SdrViewComponents::Elements::Navigation::NavItemComponent, SdrViewComponents::Elements::ProgressBarComponent, SdrViewComponents::Elements::SkipLinksComponent, SdrViewComponents::Elements::SpinnerComponent, SdrViewComponents::Elements::Tabs::PaneComponent, SdrViewComponents::Elements::Tabs::TabComponent, SdrViewComponents::Elements::Tabs::TabListComponent, SdrViewComponents::Elements::ToastComponent, SdrViewComponents::Elements::TooltipComponent, SdrViewComponents::Forms::BasicComponent, SdrViewComponents::Forms::FieldComponent, SdrViewComponents::Forms::HelpTextComponent, SdrViewComponents::Forms::InvalidFeedbackComponent, SdrViewComponents::Forms::LabelComponent, SdrViewComponents::Forms::SubmitComponent, SdrViewComponents::Forms::ToggleOptionComponent, SdrViewComponents::Structure::FooterComponent, SdrViewComponents::Structure::HeaderComponent, SdrViewComponents::Structure::HeaderRosetteComponent, SdrViewComponents::Structure::HeaderSubtitleComponent, SdrViewComponents::Structure::HeaderSulLogoComponent, SdrViewComponents::Structure::HeaderTitleComponent, SdrViewComponents::Structure::StyleOverrideDarkComponent, SdrViewComponents::Structure::StyleOverrideLightComponent, SdrViewComponents::Tables::BaseTableComponent, SdrViewComponents::Tables::CellComponent, SdrViewComponents::Tables::HeaderComponent, SdrViewComponents::Tables::ListCellComponent, SdrViewComponents::Tables::RowComponent

Instance Method Summary collapse

Instance Method Details

#args_for(args:, prefix:) ⇒ Hash

Extract args with a given prefix.

Parameters:

  • args (Hash)

    The args to extract from.

  • prefix (String)

    The prefix to look for.

Returns:

  • (Hash)

    The extracted args with the prefix removed.



26
27
28
29
30
# File 'app/components/base_component.rb', line 26

def args_for(args:, prefix:)
  args.each_with_object({}) do |(key, value), h|
    h[key.to_s.delete_prefix(prefix).to_sym] = value if key.to_s.start_with?(prefix)
  end
end

#merge_actionsString

Merge data-actions together.

Parameters:

  • args (Array<String>, String)

    The actions to merge (array, classes, space separated classes).

Returns:

  • (String)

    The merged classes.



17
18
19
# File 'app/components/base_component.rb', line 17

def merge_actions(*)
  ComponentSupport::CssClasses.merge(*)
end

#merge_classesString

Merge classes together.

Parameters:

  • args (Array<String>, String)

    The classes to merge (array, classes, space separated classes).

Returns:

  • (String)

    The merged classes.



9
10
11
# File 'app/components/base_component.rb', line 9

def merge_classes(*)
  ComponentSupport::CssClasses.merge(*)
end