Class: Plutonium::UI::ActionButton
- Inherits:
-
Component::Base
- Object
- Component::Base
- Plutonium::UI::ActionButton
- Includes:
- Phlex::Rails::Helpers::ButtonTo, Phlex::Rails::Helpers::LinkTo
- Defined in:
- lib/plutonium/ui/action_button.rb
Constant Summary collapse
- COLOR_CLASSES =
Color to CSS class mapping for standard and soft button variants
{ primary: {default: "pu-btn-primary", soft: "pu-btn-soft-primary"}, success: {default: "pu-btn-success", soft: "pu-btn-soft-success"}, info: {default: "pu-btn-info", soft: "pu-btn-soft-info"}, warning: {default: "pu-btn-warning", soft: "pu-btn-soft-warning"}, danger: {default: "pu-btn-danger", soft: "pu-btn-soft-danger"}, accent: {default: "pu-btn-accent", soft: "pu-btn-soft-accent"}, secondary: {default: "pu-btn-secondary", soft: "pu-btn-soft-secondary"} }.freeze
- DROPDOWN_COLOR_CLASSES =
Color to CSS class mapping for dropdown item variants
{ danger: "text-danger-600 dark:text-danger-400 hover:bg-danger-50 dark:hover:bg-danger-900/30" }.freeze
- DROPDOWN_DEFAULT_COLOR =
"text-[var(--pu-text)] hover:bg-[var(--pu-surface-alt)]"
Instance Method Summary collapse
-
#initialize(action, url:, variant: :default) ⇒ ActionButton
constructor
A new instance of ActionButton.
- #view_template ⇒ Object
Methods included from Component::Behaviour
Methods included from Component::Tokens
Methods included from Component::Kit
#BuildActionButton, #BuildActionsDropdown, #BuildBlock, #BuildBreadcrumbs, #BuildBulkActionsToolbar, #BuildColorModeSelector, #BuildDynaFrameContent, #BuildDynaFrameHost, #BuildEmptyCard, #BuildFrameNavigatorPanel, #BuildPageHeader, #BuildPanel, #BuildRowActionsDropdown, #BuildSkeletonTable, #BuildTabList, #BuildTableInfo, #BuildTablePagination, #BuildTableScopesBar, #BuildTableSearchBar, #method_missing, #respond_to_missing?
Constructor Details
#initialize(action, url:, variant: :default) ⇒ ActionButton
Returns a new instance of ActionButton.
27 28 29 30 31 |
# File 'lib/plutonium/ui/action_button.rb', line 27 def initialize(action, url:, variant: :default) @action = action @url = url @variant = variant end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit
Instance Method Details
#view_template ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/plutonium/ui/action_button.rb', line 33 def view_template case @variant when :dropdown, :row_dropdown render_dropdown_item else if @action..method == :get render_link else end end end |