File: toggle_component.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (34 lines) | stat: -rw-r--r-- 1,033 bytes parent folder | download
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