35 lines
1 KiB
Ruby
35 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
|