Toggle

The toggle component allows us to react to events and toggle the view state.

Parameters

The toggle core component accepts the following parameters:

show_on

The show_on option lets us define an event on which the component gets shown. The content is still rendered on init pageload, but simply hidden in the browser until the event is emitted. If you want to have proper deferred loading, please refer to defer

toggle show_on: 'my_event' do
  div id: 'my-div' do
    plain 'I was not here before the event'
  end
end

You can pass in multiple, comma-separated events on which the component should be shown.

toggle show_on: 'my_event, some_other_event'

hide_on

The hide_on option lets us define an event on which the component gets hidden.

toggle hide_on: 'my_event' do
  div id: 'my-div' do
    plain 'You will not see me after the event'
  end
end

You can pass in multiple, comma-separated events on which the component should be hidden.

hide_after

The hide_after option lets us define a timespan in milliseconds after which the component gets hidden.

init_show

The init_show option lets us define if the content should be shown initially.

By default the content is shown initially unless show_on is defined.

init_show is therefore only used in a context like this:

Examples

See some common use cases below:

Example 1: Show on event

On our example page, we wrap a simple timestamp in an toggle component and tell it to show up when the event my_event gets triggered.

After our event was fired, the timestamp only is visible on our page!

Example 2: Hide on event

On our example page, we wrap a simple timestamp in an toggle component and tell it to hide it when the event my_event gets triggered.

As expected, the timestamp is only visible before our event was fired and is hidden/invisible after the event!

Example 3: Hide after show on event

On our example page, we wrap a simple timestamp in an toggle component and tell it to show up when the event my_event gets triggered and be hidden after 1000 milliseconds.

In this case, the timestamp only is visible after our event was fired, but only for a certain amount of time. After the time is up, it gets hidden!

Example 4: Show on event with event payload

On our example page, we wrap our toggle event around a placeholder for the event message.

As an example, we can fire the following event:

As a result, the event message gets shown after our event was fired!

Example 5: show_on/hide_on Combination

If you combine show_on and hide_on, you can toggle the view state of the toggle component explicitly.

By default, the content is initially hidden until the show event is emitted when show_on is applied.

If you want to display the content initially, simply add init_show: true

Last updated

Was this helpful?