Module: BulmaPhlex::Rails::DisplayableBlockOptions
- Included in:
- DisplayableFormFields
- Defined in:
- lib/bulma_phlex/rails/concerns/displayable_block_options.rb
Overview
# Displayable Block Options
This concern provides methods to manage display options for Bulma Phlex components, specifically for displayable blocks such as read-only form fields. It allows options to be set for groups of fields, enabling consistent styling and layout.
#### Included Methods
-
‘with_options` - Wrap a block with specific options for displayable fields.
-
‘in_columns` - Wrap a block to display fields in Bulma columns.
-
‘in_grid` - Wrap a block to display fields in a Bulma grid.
Instance Method Summary collapse
-
#block_display_options ⇒ Object
Retrieve the current block display options.
-
#in_columns(options = true) ⇒ Object
Wrap a block to display fields in Bulma columns.
-
#in_grid(options = true) ⇒ Object
Wrap a block to display fields in a Bulma grid.
-
#with_options(**block_options) ⇒ Object
Wrap a block with specific options for displayable fields.
Instance Method Details
#block_display_options ⇒ Object
Retrieve the current block display options.
47 48 49 |
# File 'lib/bulma_phlex/rails/concerns/displayable_block_options.rb', line 47 def @_block_display_options&.current || {} end |
#in_columns(options = true) ⇒ Object
Wrap a block to display fields in Bulma columns. This adds a columns container and sets the ‘column: true` option for any `show_` fields within the block.
This is a shorthand for ‘with_options(column: true) do`.
55 56 57 |
# File 'lib/bulma_phlex/rails/concerns/displayable_block_options.rb', line 55 def in_columns( = true, &) # rubocop:disable Style/OptionalBooleanParameter (columns: , &) end |
#in_grid(options = true) ⇒ Object
Wrap a block to display fields in a Bulma grid. This adds a grid container and sets the ‘grid: true` option for any `show_` fields within the block.
You can optionally pass in any [Grid options](github.com/RockSolt/bulma-phlex#grid) as a hash.
63 64 65 |
# File 'lib/bulma_phlex/rails/concerns/displayable_block_options.rb', line 63 def in_grid( = true, &) # rubocop:disable Style/OptionalBooleanParameter (grid: , &) end |
#with_options(**block_options) ⇒ Object
Wrap a block with specific options for displayable fields. This allows redundant options to be specified once for multiple fields. These options are merged with any options passed directly to the individual field methods.
If the ‘:columns` or `:grid` option is provided, the block will be wrapped in a Bulma `columns` or `grid` container, respectively.
Blocks can be nested, with inner block options overriding outer block options.
#### Example
(model: @user, column: true) do
show_text(:username)
show_date(birthdate, format: :short)
end
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/bulma_phlex/rails/concerns/displayable_block_options.rb', line 32 def (**, &) (@_block_display_options ||= BlockDisplayOptions.new).push() if @_block_display_options.column? render BulmaPhlex::Columns.new(**@_block_display_options., &) elsif @_block_display_options.grid? render BulmaPhlex::Grid.new(**@_block_display_options., &) else yield end @_block_display_options.pop end |