Class: Plutonium::UI::Kanban::Card
- Inherits:
-
Component::Base
- Object
- Component::Base
- Plutonium::UI::Kanban::Card
- Defined in:
- lib/plutonium/ui/kanban/card.rb
Overview
Thin wrapper around Grid::Card that makes the card draggable.
Emits a draggable container div carrying:
data-kanban-record-id
All actual card rendering (image, header, meta, actions dropdown) is delegated to Plutonium::UI::Grid::Card which already handles slots, policy-gated actions, and the row-click controller.
Instance Attribute Summary collapse
-
#card_fields ⇒ Object
readonly
Returns the value of attribute card_fields.
-
#column_key ⇒ Object
readonly
Returns the value of attribute column_key.
-
#record ⇒ Object
readonly
Returns the value of attribute record.
-
#resource_definition ⇒ Object
readonly
Returns the value of attribute resource_definition.
-
#resource_fields ⇒ Object
readonly
Returns the value of attribute resource_fields.
Instance Method Summary collapse
-
#initialize(record, column_key:, resource_definition:, resource_fields:, card_fields: nil, show_turbo_frame: "_top") ⇒ Card
constructor
A new instance of Card.
- #view_template ⇒ Object
Methods included from Component::Behaviour
Methods included from Component::Tokens
Methods included from Component::Kit
#BuildActionButton, #BuildActionsDropdown, #BuildAvatar, #BuildBlock, #BuildBreadcrumbs, #BuildBulkActionsToolbar, #BuildColorModeSelector, #BuildDynaFrameContent, #BuildDynaFrameHost, #BuildEmptyCard, #BuildFrameNavigatorPanel, #BuildModalCentered, #BuildModalSlideover, #BuildPageHeader, #BuildPanel, #BuildRowActionsDropdown, #BuildSkeletonTable, #BuildTabList, #BuildTableFilterPills, #BuildTableInfo, #BuildTablePagination, #BuildTableScopesBar, #BuildTableScopesPills, #BuildTableSearchBar, #BuildTableToolbar, #BuildTableViewSwitcher, #method_missing, #respond_to_missing?
Constructor Details
#initialize(record, column_key:, resource_definition:, resource_fields:, card_fields: nil, show_turbo_frame: "_top") ⇒ Card
Returns a new instance of Card.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/plutonium/ui/kanban/card.rb', line 21 def initialize(record, column_key:, resource_definition:, resource_fields:, card_fields: nil, show_turbo_frame: "_top") @record = record @column_key = column_key @resource_definition = resource_definition @resource_fields = resource_fields # Optional slot-layout override from the board's card_fields declaration. # Threaded through to Grid::Card so it takes precedence over the # resource definition's grid_fields. nil means use the definition. @card_fields = card_fields # The turbo-frame the card's show link targets — the remote-modal frame # (board show_in :modal) or "_top" (show_in :page). Either escapes the # column's lazy frame. Defaults to "_top". @show_turbo_frame = show_turbo_frame end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Plutonium::UI::Component::Kit
Instance Attribute Details
#card_fields ⇒ Object (readonly)
Returns the value of attribute card_fields.
19 20 21 |
# File 'lib/plutonium/ui/kanban/card.rb', line 19 def card_fields @card_fields end |
#column_key ⇒ Object (readonly)
Returns the value of attribute column_key.
19 20 21 |
# File 'lib/plutonium/ui/kanban/card.rb', line 19 def column_key @column_key end |
#record ⇒ Object (readonly)
Returns the value of attribute record.
19 20 21 |
# File 'lib/plutonium/ui/kanban/card.rb', line 19 def record @record end |
#resource_definition ⇒ Object (readonly)
Returns the value of attribute resource_definition.
19 20 21 |
# File 'lib/plutonium/ui/kanban/card.rb', line 19 def resource_definition @resource_definition end |
#resource_fields ⇒ Object (readonly)
Returns the value of attribute resource_fields.
19 20 21 |
# File 'lib/plutonium/ui/kanban/card.rb', line 19 def resource_fields @resource_fields end |
Instance Method Details
#view_template ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/plutonium/ui/kanban/card.rb', line 36 def view_template div( draggable: "true", data: { kanban_record_id: record.id, kanban_column_key: column_key.to_s } ) do render_grid_card end end |