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

gitlab_ui_form_builder.rb « form_builders « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9174ca165cdf589092d8d3464e67b4f100e072df (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# frozen_string_literal: true

module Gitlab
  module FormBuilders
    class GitlabUiFormBuilder < ActionView::Helpers::FormBuilder
      def gitlab_ui_checkbox_component(
        method,
        label = nil,
        help_text: nil,
        checkbox_options: {},
        checked_value: '1',
        unchecked_value: '0',
        label_options: {},
        &block
      )
        Pajamas::CheckboxComponent.new(
          form: self,
          method: method,
          label: label,
          help_text: help_text,
          checkbox_options: format_options(checkbox_options),
          checked_value: checked_value,
          unchecked_value: unchecked_value,
          label_options: format_options(label_options)
        ).render_in(@template, &block)
      end

      def gitlab_ui_radio_component(
        method,
        value,
        label = nil,
        help_text: nil,
        radio_options: {},
        label_options: {},
        &block
      )
        Pajamas::RadioComponent.new(
          form: self,
          method: method,
          value: value,
          label: label,
          help_text: help_text,
          radio_options: format_options(radio_options),
          label_options: format_options(label_options)
        ).render_in(@template, &block)
      end

      private

      def format_options(options)
        objectify_options(options)
      end
    end
  end
end