Welcome to mirror list, hosted at ThFree Co, Russian Federation.

toggle_component.rb « pajamas « components « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 2d99f3d3b696802df9bf197f2afb68f5ae6b3319 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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