Module: DbdocEngine::ColumnHelper

Defined in:
app/helpers/dbdoc_engine/column_helper.rb

Instance Method Summary collapse

Instance Method Details

#data_type_select(form, selected_value = nil) ⇒ Object



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
# File 'app/helpers/dbdoc_engine/column_helper.rb', line 4

def data_type_select(form, selected_value = nil)
  # Define the available PostgreSQL data types
  data_types = [
    "integer", "smallint", "bigint", "numeric", "real", "double_precision",
    "varchar", "character", "text", "char", "boolean", "date", "timestamp",
    "timestamptz", "time", "timetz", "interval", "uuid", "json", "jsonb"
  ]

  # Generate the select field with select2 controller
  (:div, data: {
                controller: "select2",
                select2_placeholder_value: t("dbdoc.select_data_type")
              }) do
    form.select :data_type,
                options_for_select(data_types, selected_value),
                { prompt: t("dbdoc.select_data_type") },
                class: "form-select #{form.object.errors[:data_type].any? ? 'is-invalid' : ''}",
                data: {
                  column_type_target: "dataType",
                  select2_target: "select",
                  action: "change->column-type#updateLength change->column#updateAccordionTitle",
                  error_target: "dataType"
                }
  end
end