Class: Super::Form::SchemaTypes

Inherits:
Object
  • Object
show all
Defined in:
lib/super/form/schema_types.rb

Defined Under Namespace

Classes: Direct, Generic

Instance Method Summary collapse

Constructor Details

#initialize(fields:) ⇒ SchemaTypes

Returns a new instance of SchemaTypes.



96
97
98
# File 'lib/super/form/schema_types.rb', line 96

def initialize(fields:)
  @fields = fields
end

Instance Method Details

#_destroy(**extras) ⇒ Object



181
182
183
184
185
186
187
# File 'lib/super/form/schema_types.rb', line 181

def _destroy(**extras)
  Generic.new(
    partial_path: "form_field__destroy",
    extras: extras,
    nested: {}
  )
end

#check_box(*args, **kwargs) ⇒ Object Also known as: checkbox



123
124
125
# File 'lib/super/form/schema_types.rb', line 123

def check_box(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :check_box!, args: args, kwargs: kwargs)
end

#date_flatpickr(*args, **kwargs) ⇒ Object Also known as: flatpickr_date



129
130
131
# File 'lib/super/form/schema_types.rb', line 129

def date_flatpickr(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :date_flatpickr!, args: args, kwargs: kwargs)
end

#datetime_flatpickr(*args, **kwargs) ⇒ Object Also known as: flatpickr_datetime



135
136
137
# File 'lib/super/form/schema_types.rb', line 135

def datetime_flatpickr(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :datetime_flatpickr!, args: args, kwargs: kwargs)
end

#direct(method_name, *args, super_builder: true, **kwargs) ⇒ Object



104
105
106
# File 'lib/super/form/schema_types.rb', line 104

def direct(method_name, *args, super_builder: true, **kwargs)
  Direct.new(super_builder: super_builder, method_name: method_name, args: args, kwargs: kwargs)
end

#generic(partial_path, **extras) ⇒ Object



100
101
102
# File 'lib/super/form/schema_types.rb', line 100

def generic(partial_path, **extras)
  Generic.new(partial_path: partial_path, extras: extras, nested: {})
end

#has_many(reader, **extras) ⇒ Object



155
156
157
158
159
160
161
162
163
164
165
# File 'lib/super/form/schema_types.rb', line 155

def has_many(reader, **extras)
  nested = @fields.nested do
    yield
  end

  Generic.new(
    partial_path: "form_has_many",
    extras: extras.merge(reader: reader),
    nested: nested
  )
end

#has_one(reader, **extras) ⇒ Object Also known as: belongs_to



167
168
169
170
171
172
173
174
175
176
177
# File 'lib/super/form/schema_types.rb', line 167

def has_one(reader, **extras)
  nested = @fields.nested do
    yield
  end

  Generic.new(
    partial_path: "form_has_one",
    extras: extras.merge(reader: reader),
    nested: nested
  )
end

#hidden_field(*args, **kwargs) ⇒ Object



141
142
143
# File 'lib/super/form/schema_types.rb', line 141

def hidden_field(*args, **kwargs)
  Direct.new(super_builder: false, method_name: :hidden_field, args: args, kwargs: kwargs)
end

#password_field(*args, **kwargs) ⇒ Object



145
146
147
# File 'lib/super/form/schema_types.rb', line 145

def password_field(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :password_field!, args: args, kwargs: kwargs)
end

#rich_text_area(*args, **kwargs) ⇒ Object



119
120
121
# File 'lib/super/form/schema_types.rb', line 119

def rich_text_area(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :rich_text_area!, args: args, kwargs: kwargs)
end

#select(**extras) ⇒ Object



108
109
110
# File 'lib/super/form/schema_types.rb', line 108

def select(**extras)
  Generic.new(partial_path: "form_field_select", extras: extras, nested: {})
end

#text_field(*args, **kwargs) ⇒ Object Also known as: string, text



112
113
114
# File 'lib/super/form/schema_types.rb', line 112

def text_field(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :text_field!, args: args, kwargs: kwargs)
end

#time_flatpickr(*args, **kwargs) ⇒ Object Also known as: flatpickr_time



149
150
151
# File 'lib/super/form/schema_types.rb', line 149

def time_flatpickr(*args, **kwargs)
  Direct.new(super_builder: true, method_name: :time_flatpickr!, args: args, kwargs: kwargs)
end