34 lines
1 KiB
Ruby
34 lines
1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Renders a GlToggle root element
|
|
# To actually initialize the component, make sure to call the initToggle helper from ~/toggles.
|
|
class Pajamas::ToggleComponent < Pajamas::Component
|
|
LABEL_POSITION_OPTIONS = [:top, :left, :hidden].freeze
|
|
|
|
# @param [String] classes
|
|
# @param [String] label
|
|
# @param [Symbol] label_position :top, :left or :hidden
|
|
# @param [String] id
|
|
# @param [String] name
|
|
# @param [String] help
|
|
# @param [Hash] data
|
|
# @param [Boolean] is_disabled
|
|
# @param [Boolean] is_checked
|
|
# @param [Boolean] is_loading
|
|
def initialize(
|
|
classes:, label: nil, label_position: nil,
|
|
id: nil, name: nil, help: nil, data: {},
|
|
is_disabled: false, is_checked: false, is_loading: false)
|
|
|
|
@id = id
|
|
@name = name
|
|
@classes = classes
|
|
@label = label
|
|
@label_position = filter_attribute(label_position, LABEL_POSITION_OPTIONS)
|
|
@help = help
|
|
@data = data
|
|
@is_disabled = is_disabled
|
|
@is_checked = is_checked
|
|
@is_loading = is_loading
|
|
end
|
|
end
|