formily 0.0.5.5.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +156 -0
- data/LICENSE.txt +21 -0
- data/README.md +84 -0
- data/Rakefile +1 -0
- data/app/assets/fonts/formily-icon.eot +0 -0
- data/app/assets/fonts/formily-icon.svg +26 -0
- data/app/assets/fonts/formily-icon.ttf +0 -0
- data/app/assets/fonts/formily-icon.woff +0 -0
- data/app/assets/fonts/formily-icon.woff2 +0 -0
- data/app/assets/images/blank_file.png +0 -0
- data/app/assets/images/formily_spin.gif +0 -0
- data/app/assets/javascripts/formily.js +5 -0
- data/app/assets/javascripts/formily/base/ajax_reloader.js +24 -0
- data/app/assets/javascripts/formily/base/buttons.js +160 -0
- data/app/assets/javascripts/formily/base/form_response.js +28 -0
- data/app/assets/javascripts/formily/base/local_time.js +9 -0
- data/app/assets/javascripts/formily/editor.js +46 -0
- data/app/assets/javascripts/formily/editor/editor_buttons.js +186 -0
- data/app/assets/javascripts/formily/editor/form_preview.js +53 -0
- data/app/assets/javascripts/formily/editor/input_model.js +76 -0
- data/app/assets/javascripts/formily/editor/input_on_change.js +83 -0
- data/app/assets/javascripts/formily/editor/related_fields.js +76 -0
- data/app/assets/javascripts/formily/form.js +22 -0
- data/app/assets/javascripts/formily/formily_editor.js +329 -0
- data/app/assets/javascripts/formily/formily_modal.js +104 -0
- data/app/assets/javascripts/formily/formily_url.js.erb +26 -0
- data/app/assets/javascripts/formily/inputs/conditioned.js +4 -0
- data/app/assets/javascripts/formily/inputs/conditioned/checkbox.js +73 -0
- data/app/assets/javascripts/formily/inputs/conditioned/option.js +82 -0
- data/app/assets/javascripts/formily/inputs/conditioned/radio.js +160 -0
- data/app/assets/javascripts/formily/inputs/date_time.js +25 -0
- data/app/assets/javascripts/formily/inputs/input_tab.js +18 -0
- data/app/assets/javascripts/formily/inputs/location.js +39 -0
- data/app/assets/javascripts/formily/inputs/multi_file.js +228 -0
- data/app/assets/javascripts/formily/lib/jquery.datetimepicker.full.min.js +2 -0
- data/app/assets/javascripts/formily/lib/modernizr.js +8 -0
- data/app/assets/javascripts/formily/lib/strftime.min.js +12 -0
- data/app/assets/javascripts/formily/lib/tag-it.min.js +17 -0
- data/app/assets/javascripts/formily/mobile.js +10 -0
- data/app/assets/javascripts/formily_app.js +15 -0
- data/app/assets/javascripts/formily_iframe.js +11 -0
- data/app/assets/stylesheets/formily.scss +14 -0
- data/app/assets/stylesheets/formily/base/fonts.scss +65 -0
- data/app/assets/stylesheets/formily/base/layout.scss +66 -0
- data/app/assets/stylesheets/formily/base/links.css +7 -0
- data/app/assets/stylesheets/formily/base/ui-dialog.scss +129 -0
- data/app/assets/stylesheets/formily/editor.scss +25 -0
- data/app/assets/stylesheets/formily/editor/inputs_group_list.css +14 -0
- data/app/assets/stylesheets/formily/editor/inputs_list.css +97 -0
- data/app/assets/stylesheets/formily/editor/related_modal.scss +49 -0
- data/app/assets/stylesheets/formily/formily_editor.scss +53 -0
- data/app/assets/stylesheets/formily/formily_modal.scss +2 -0
- data/app/assets/stylesheets/formily/foundation_fix.scss +140 -0
- data/app/assets/stylesheets/formily/inputs/date_time.scss +8 -0
- data/app/assets/stylesheets/formily/inputs/multi_file.scss +111 -0
- data/app/assets/stylesheets/formily/jquery.datetimepicker.min.css +1 -0
- data/app/assets/stylesheets/formily/lib/jquery.tagit.css +69 -0
- data/app/assets/stylesheets/formily/modal/content.scss +36 -0
- data/app/assets/stylesheets/formily/modal/iframe.scss +29 -0
- data/app/assets/stylesheets/formily_iframe.scss +64 -0
- data/app/assets/stylesheets/foundation_formily.scss +20 -0
- data/app/controllers/formily/file_controller.rb +17 -0
- data/app/controllers/formily/form_types_controller.rb +46 -0
- data/app/controllers/formily/formilyable_controller.rb +98 -0
- data/app/controllers/formily/forms_controller.rb +133 -0
- data/app/controllers/formily/iframe/forms_controller.rb +28 -0
- data/app/controllers/formily/inputs_controller.rb +113 -0
- data/app/controllers/formily/submit_data_controller.rb +151 -0
- data/app/controllers/formily_controller.rb +22 -0
- data/app/helpers/formily_helper.rb +17 -0
- data/app/models/formily/checkbox_input.rb +8 -0
- data/app/models/formily/checkbox_input_group.rb +14 -0
- data/app/models/formily/date_time_input.rb +19 -0
- data/app/models/formily/file.rb +14 -0
- data/app/models/formily/form.rb +41 -0
- data/app/models/formily/form_type.rb +10 -0
- data/app/models/formily/formilyable_form.rb +18 -0
- data/app/models/formily/input.rb +124 -0
- data/app/models/formily/input_value.rb +23 -0
- data/app/models/formily/multiple_file_input.rb +18 -0
- data/app/models/formily/option_input.rb +8 -0
- data/app/models/formily/options_input_group.rb +14 -0
- data/app/models/formily/radio_input.rb +12 -0
- data/app/models/formily/radio_input_group.rb +14 -0
- data/app/models/formily/static_text.rb +8 -0
- data/app/models/formily/submit.rb +47 -0
- data/app/models/formily/text_input.rb +8 -0
- data/app/models/formily/textarea_input.rb +8 -0
- data/app/views/formily/data/_forms_table.html.haml +19 -0
- data/app/views/formily/data/_many_tables.html.erb +3 -0
- data/app/views/formily/data/_table.html.erb +33 -0
- data/app/views/formily/data/submit_data_table.html.haml +32 -0
- data/app/views/formily/editor/_default_value.haml +18 -0
- data/app/views/formily/editor/_editor.haml +18 -0
- data/app/views/formily/editor/_modal.haml +197 -0
- data/app/views/formily/editor/partial/_group.haml +41 -0
- data/app/views/formily/editor/partial/_group_input.haml +36 -0
- data/app/views/formily/editor/partial/_input.haml +35 -0
- data/app/views/formily/editor/partial/_input_fieldset.haml +12 -0
- data/app/views/formily/form_types/_form.haml +9 -0
- data/app/views/formily/form_types/edit.haml +6 -0
- data/app/views/formily/form_types/index.haml +24 -0
- data/app/views/formily/form_types/new.haml +6 -0
- data/app/views/formily/formilyable/index.haml +67 -0
- data/app/views/formily/formilyable/new.haml +37 -0
- data/app/views/formily/forms/_form.haml +34 -0
- data/app/views/formily/forms/_preview.haml +16 -0
- data/app/views/formily/forms/edit.haml +5 -0
- data/app/views/formily/forms/index.haml +40 -0
- data/app/views/formily/forms/new.haml +5 -0
- data/app/views/formily/forms/reload_formily_table.haml +4 -0
- data/app/views/formily/forms/show.haml +1 -0
- data/app/views/formily/helpers/_iframe_formily_modal.html.haml +3 -0
- data/app/views/formily/helpers/_related_forms.html.haml +12 -0
- data/app/views/formily/helpers/_related_forms_tr.html.haml +28 -0
- data/app/views/formily/iframe/forms/show.haml +1 -0
- data/app/views/formily/inputs/_group.haml +40 -0
- data/app/views/formily/inputs/_group_input.haml +36 -0
- data/app/views/formily/inputs/_input.haml +35 -0
- data/app/views/formily/inputs/_input_fieldset.haml +12 -0
- data/app/views/formily/inputs/render_input_html.haml +7 -0
- data/app/views/formily/partial/_form.haml +37 -0
- data/app/views/formily/partial/inputs/_checkbox_input.haml +18 -0
- data/app/views/formily/partial/inputs/_checkbox_input_group.haml +36 -0
- data/app/views/formily/partial/inputs/_conditioned_fields.haml +36 -0
- data/app/views/formily/partial/inputs/_date_time_input.haml +15 -0
- data/app/views/formily/partial/inputs/_file_input.haml +20 -0
- data/app/views/formily/partial/inputs/_file_preview.haml +14 -0
- data/app/views/formily/partial/inputs/_input.haml +1 -0
- data/app/views/formily/partial/inputs/_multiple_file_input.haml +25 -0
- data/app/views/formily/partial/inputs/_options_input_group.haml +77 -0
- data/app/views/formily/partial/inputs/_radio_input_group.haml +41 -0
- data/app/views/formily/partial/inputs/_static_text.haml +11 -0
- data/app/views/formily/partial/inputs/_text_input.haml +19 -0
- data/app/views/formily/partial/inputs/_textarea_input.haml +19 -0
- data/app/views/formily/submit_data/submit.html.erb +5 -0
- data/app/views/formily/submit_data/submit.json.jbuilder +5 -0
- data/app/views/layouts/formily_iframe.haml +16 -0
- data/config/routes.rb +41 -0
- data/formily.gemspec +41 -0
- data/lib/formily.rb +37 -0
- data/lib/formily/config.rb +72 -0
- data/lib/formily/engine.rb +12 -0
- data/lib/formily/helpers/view_helper.rb +114 -0
- data/lib/formily/relation.rb +26 -0
- data/lib/formily/relation/formily_methods.rb +30 -0
- data/lib/formily/relation/has_many_methods.rb +16 -0
- data/lib/formily/submitted_data_table.rb +74 -0
- data/lib/formily/version.rb +4 -0
- data/lib/generators/formily/install/install_generator.rb +43 -0
- data/lib/generators/formily/install/templates/create_formily_data.rb +28 -0
- data/lib/generators/formily/install/templates/create_formily_files.rb +13 -0
- data/lib/generators/formily/install/templates/create_formily_form_types.rb +12 -0
- data/lib/generators/formily/install/templates/create_formily_forms.rb +16 -0
- data/lib/generators/formily/install/templates/create_formily_inputs.rb +24 -0
- data/lib/generators/formily/install/templates/create_formilyable_forms.rb +17 -0
- data/lib/generators/formily/install/templates/formily.rb +21 -0
- data/lib/generators/formily/views/views_generator.rb +11 -0
- metadata +350 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class Formily::InputValue < ActiveRecord::Base
|
3
|
+
|
4
|
+
self.table_name = 'formily_input_values'
|
5
|
+
|
6
|
+
has_paper_trail
|
7
|
+
|
8
|
+
belongs_to :input
|
9
|
+
has_many :attach, foreign_key: :input_value_id, class_name: 'Formily::File'
|
10
|
+
|
11
|
+
def get_value
|
12
|
+
if self.attach.blank?
|
13
|
+
if self.input.inputs.blank?
|
14
|
+
self.input_value
|
15
|
+
else
|
16
|
+
self.input.inputs.map{|i| i.data.input_value.get_value}.join(', ')
|
17
|
+
end
|
18
|
+
else
|
19
|
+
self.attach.file.url
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class Formily::MultipleFileInput < Formily::Input
|
3
|
+
|
4
|
+
def editor_type
|
5
|
+
'multi file'
|
6
|
+
end
|
7
|
+
|
8
|
+
def get_value_from_submit(submit)
|
9
|
+
value = submit.input_values.find_by(input_id: self.id) rescue nil
|
10
|
+
|
11
|
+
if value
|
12
|
+
value.attach.map{|f| [f.file.url, f.id, f.file_file_name, (f.file_file_name.match(/([^.]+)\z/)[0] rescue '?')]}
|
13
|
+
else
|
14
|
+
[]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class Formily::OptionsInputGroup < Formily::Input
|
3
|
+
|
4
|
+
has_many :inputs, foreign_key: :group_input_id, class_name: 'Formily::OptionInput'
|
5
|
+
|
6
|
+
def editor_type
|
7
|
+
'select box'
|
8
|
+
end
|
9
|
+
|
10
|
+
def input_type
|
11
|
+
'Formily::OptionInput'
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class Formily::RadioInputGroup < Formily::Input
|
3
|
+
|
4
|
+
has_many :inputs, foreign_key: :group_input_id, class_name: 'Formily::RadioInput'
|
5
|
+
|
6
|
+
def editor_type
|
7
|
+
'radio group'
|
8
|
+
end
|
9
|
+
|
10
|
+
def input_type
|
11
|
+
'Formily::RadioInput'
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class Formily::Submit < ActiveRecord::Base
|
3
|
+
|
4
|
+
self.table_name = 'formily_submits'
|
5
|
+
|
6
|
+
has_paper_trail
|
7
|
+
|
8
|
+
belongs_to :form
|
9
|
+
has_many :input_values, foreign_key: :submit_id, class_name: 'Formily::InputValue', dependent: :destroy
|
10
|
+
|
11
|
+
validates :form_id, presence: true
|
12
|
+
validates :resource_id, presence: true
|
13
|
+
validates :resource_type, presence: true
|
14
|
+
|
15
|
+
STATES = {
|
16
|
+
0 => 'Not Started',
|
17
|
+
1 => 'In Progress',
|
18
|
+
2 => 'Complete'
|
19
|
+
}
|
20
|
+
|
21
|
+
def is_complete?
|
22
|
+
self.state == 2
|
23
|
+
end
|
24
|
+
|
25
|
+
def data
|
26
|
+
ids = self.form.inputs.map do |i|
|
27
|
+
if i.try(:inputs)
|
28
|
+
i.inputs.map(&:id)
|
29
|
+
else
|
30
|
+
i.id
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
values = self.input_values.to_a
|
35
|
+
|
36
|
+
ids.map do |i|
|
37
|
+
|
38
|
+
if i.is_a?(Array)
|
39
|
+
values.select{|x| i.include?(x.input_id)}.map(&:get_value).join(', ')
|
40
|
+
else
|
41
|
+
values.select{|x| x.input_id == i}.first.get_value rescue ''
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
%table
|
2
|
+
%thead
|
3
|
+
%tr
|
4
|
+
%th
|
5
|
+
Form
|
6
|
+
%th
|
7
|
+
date
|
8
|
+
%th
|
9
|
+
|
10
|
+
%tbody
|
11
|
+
- @forms.each do |form|
|
12
|
+
%tr
|
13
|
+
%td
|
14
|
+
= form.title
|
15
|
+
%td
|
16
|
+
= form.created_at.strftime('%-d %b %Y %H:%M (%Z)')
|
17
|
+
%td
|
18
|
+
%button{type: :button, 'data-formily-src' => formily_forms_data_table_path(form_id: form.id, model_id: @res.id, model_name: @res.class.name, iframe: true)}
|
19
|
+
View Responses
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<h2>|<%= @form.title %>| - data</h2>
|
2
|
+
<table border="1">
|
3
|
+
<thead>
|
4
|
+
<tr>
|
5
|
+
<th>
|
6
|
+
id
|
7
|
+
</th>
|
8
|
+
<% @form.inputs.map(&:name).each do |n| %>
|
9
|
+
<th><%= n %></th>
|
10
|
+
<% end %>
|
11
|
+
<th>Date</th>
|
12
|
+
</tr>
|
13
|
+
</thead>
|
14
|
+
<tbody>
|
15
|
+
<% @form.submits.where(resource_id: @res.id, resource_type: @res.class.to_s).each_with_index do |submit, i| %>
|
16
|
+
|
17
|
+
<tr>
|
18
|
+
<td><%= i + 1 %></td>
|
19
|
+
|
20
|
+
<% submit.data.each do |val| %>
|
21
|
+
<td>
|
22
|
+
<%= val.blank? ? 'no data' : raw(val) %>
|
23
|
+
</td>
|
24
|
+
<% end %>
|
25
|
+
<td>
|
26
|
+
<%= submit.created_at.strftime('%Y/%-m/%-d %H:%M') %>
|
27
|
+
</td>
|
28
|
+
</tr>
|
29
|
+
|
30
|
+
<% end %>
|
31
|
+
</tbody>
|
32
|
+
|
33
|
+
</table>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
.row
|
2
|
+
.columns.large-12
|
3
|
+
|
4
|
+
%h1= @form.title
|
5
|
+
|
6
|
+
- if @res
|
7
|
+
%h3 #{@res.try(:code) ? @res.code : "#{@res.id}##{@res.class.name}"}
|
8
|
+
|
9
|
+
%table.datatable.large-12.columns
|
10
|
+
%thead
|
11
|
+
%tr
|
12
|
+
%th
|
13
|
+
- @data_table.headers.each do |n|
|
14
|
+
%th
|
15
|
+
= n
|
16
|
+
%tbody
|
17
|
+
- @data_table.rows.each_with_index do |row, i|
|
18
|
+
%tr
|
19
|
+
%td
|
20
|
+
= i + 1
|
21
|
+
- row.each do |v|
|
22
|
+
%td
|
23
|
+
- if v =~ /\/file\//i
|
24
|
+
= link_to v, v
|
25
|
+
- else
|
26
|
+
= v
|
27
|
+
|
28
|
+
.large-12.columns
|
29
|
+
- if @res
|
30
|
+
= link_to 'Download as CSV', formily_forms_data_table_path(form_id: @form.id, model_id: @res.id, model_name: @res.class.name, format: :csv), class: 'button'
|
31
|
+
- else
|
32
|
+
= link_to 'Download as CSV', formily_forms_data_table_path(form_id: @form.id, format: :csv), class: 'button'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
%label
|
2
|
+
Default value
|
3
|
+
%select.input-types.no-select2{'data-ff-name' => 'default_value'}
|
4
|
+
%option{value: ''}
|
5
|
+
NULL
|
6
|
+
%option{value: 'current_user_name'}
|
7
|
+
Current User Name
|
8
|
+
%option{value: 'device_location'}
|
9
|
+
Device Location Coordinates
|
10
|
+
%option{value: 'device_location_address'}
|
11
|
+
Device Location Address
|
12
|
+
%option{value: 'custom_value'}
|
13
|
+
Custom Value
|
14
|
+
%option{value: 'related_value'}
|
15
|
+
Related Value
|
16
|
+
%input{:placeholder => 'Custom Value', 'data-ff-name' => 'default_value', style: 'display: none', type: :text}
|
17
|
+
%ul.related_value_tag{style: 'display: none;'}
|
18
|
+
%input.related{type: :hidden, 'data-ff-related' => true}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
.panel.formily
|
2
|
+
%ul#formily_sortable_inputs
|
3
|
+
|
4
|
+
- unless @form.new_record?
|
5
|
+
- @form.form_inputs.where(is_deleted: false).each do |input|
|
6
|
+
|
7
|
+
- if input.class.name.to_s =~ /group/i
|
8
|
+
= render partial: 'formily/editor/partial/group', locals: {:@input => input}
|
9
|
+
- else
|
10
|
+
= render partial: 'formily/editor/partial/input', locals: {:@input => input}
|
11
|
+
|
12
|
+
%ul.button-group.round.text-center.btn-fix
|
13
|
+
|
14
|
+
%li
|
15
|
+
%a.button.success.small{href: '#', 'data-formily' => 'add_input'}
|
16
|
+
Add New Input
|
17
|
+
|
18
|
+
= render partial: 'formily/editor/modal'
|
@@ -0,0 +1,197 @@
|
|
1
|
+
#formily_modal
|
2
|
+
%section{'data-formily' => 'input'}
|
3
|
+
|
4
|
+
%select.no-select2{'data-ff-name' => 'type'}
|
5
|
+
%optgroup{label: 'Base Inputs'}
|
6
|
+
%option{value: 'Formily::TextInput'} Text Box
|
7
|
+
%option{value: 'Formily::TextareaInput'} Text Area
|
8
|
+
%option{value: 'Formily::DateTimeInput'} Date Time
|
9
|
+
%option{value: 'Formily::CheckboxInput'} Checkbox
|
10
|
+
%option{value: 'Formily::MultipleFileInput'} Multiple File Upload
|
11
|
+
|
12
|
+
%optgroup{label: 'Static'}
|
13
|
+
%option{value: 'Formily::StaticText'} Static Text
|
14
|
+
|
15
|
+
%optgroup{label: 'Groups'}
|
16
|
+
%option{value: 'Formily::CheckboxInputGroup'}
|
17
|
+
Checkbox Group
|
18
|
+
|
19
|
+
%option{value: 'Formily::RadioInputGroup'}
|
20
|
+
Radio Group
|
21
|
+
|
22
|
+
%option{value: 'Formily::OptionsInputGroup'}
|
23
|
+
Select Box
|
24
|
+
|
25
|
+
%section{'data-formily' => 'Formily::TextInput'}
|
26
|
+
|
27
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
28
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
29
|
+
.label
|
30
|
+
Description will be visible as a tooltip
|
31
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', rows: 3}
|
32
|
+
|
33
|
+
.label
|
34
|
+
Determines Mobile Popup Keyboard Type
|
35
|
+
%label
|
36
|
+
%select.input-types.no-select2{'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'type'}
|
37
|
+
%option{value: 'text'}
|
38
|
+
Text
|
39
|
+
%option{value: 'number'}
|
40
|
+
Number
|
41
|
+
%option{value: 'email'}
|
42
|
+
Email
|
43
|
+
|
44
|
+
%label
|
45
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'data-required', value: 'required'}
|
46
|
+
Required field ?
|
47
|
+
|
48
|
+
%label
|
49
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'readonly', value: 'readonly'}
|
50
|
+
Readonly input
|
51
|
+
|
52
|
+
= render partial: 'formily/editor/default_value'
|
53
|
+
|
54
|
+
%section{'data-formily' => 'Formily::TextareaInput'}
|
55
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
56
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
57
|
+
.label
|
58
|
+
Description will be visible as a tooltip
|
59
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
60
|
+
|
61
|
+
%label
|
62
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'data-required', value: 'required'}
|
63
|
+
Required field ?
|
64
|
+
|
65
|
+
%label
|
66
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'readonly', value: 'readonly'}
|
67
|
+
Readonly input
|
68
|
+
|
69
|
+
= render partial: 'formily/editor/default_value'
|
70
|
+
|
71
|
+
%section{'data-formily' => 'Formily::DateTimeInput'}
|
72
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
73
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
74
|
+
.label
|
75
|
+
Description will be visible as a tooltip
|
76
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
77
|
+
|
78
|
+
%label
|
79
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'data-required', value: 'required'}
|
80
|
+
Required field ?
|
81
|
+
|
82
|
+
%label
|
83
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'readonly', value: 'readonly'}
|
84
|
+
Readonly input
|
85
|
+
|
86
|
+
%label
|
87
|
+
%input{'data-ff-name' => 'default_value', :value => 'current date', :type => 'checkbox'}
|
88
|
+
Default value to current date
|
89
|
+
|
90
|
+
%section{'data-formily' => 'Formily::CheckboxInput'}
|
91
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
92
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
93
|
+
.label
|
94
|
+
Description will be visible as a tooltip
|
95
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
96
|
+
|
97
|
+
%label
|
98
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'data-required', value: 'required'}
|
99
|
+
Required field ?
|
100
|
+
|
101
|
+
%section{'data-formily' => 'Formily::MultipleFileInput'}
|
102
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
103
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
104
|
+
.label
|
105
|
+
Description will be visible as a tooltip
|
106
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
107
|
+
|
108
|
+
%label
|
109
|
+
%input{type: 'checkbox', 'data-ff-name' => 'tag_attributes', 'data-ff-sname' => 'data-required', value: 'required'}
|
110
|
+
Required field ?
|
111
|
+
|
112
|
+
%section{'data-formily' => 'Formily::StaticText'}
|
113
|
+
.label
|
114
|
+
You can use HTML markup
|
115
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Text', :type => 'text', rows: 3}
|
116
|
+
|
117
|
+
= render partial: 'formily/editor/default_value'
|
118
|
+
|
119
|
+
%section{'data-formily' => 'Formily::CheckboxInputGroup'}
|
120
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
121
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
122
|
+
.label
|
123
|
+
Description will be visible as a tooltip
|
124
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
125
|
+
|
126
|
+
%section{'data-formily' => 'Formily::RadioInputGroup'}
|
127
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
128
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
129
|
+
.label
|
130
|
+
Description will be visible as a tooltip
|
131
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
132
|
+
|
133
|
+
%section{'data-formily' => 'Formily::OptionsInputGroup'}
|
134
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
135
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
136
|
+
.label
|
137
|
+
Description will be visible as a tooltip
|
138
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
139
|
+
|
140
|
+
%section{'data-formily' => 'Formily::Input'}
|
141
|
+
|
142
|
+
|
143
|
+
%section{'data-formily' => 'group'}
|
144
|
+
|
145
|
+
%section{'data-formily' => 'Formily::RadioInput'}
|
146
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
147
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
148
|
+
.label
|
149
|
+
Description will be visible as a tooltip
|
150
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
151
|
+
|
152
|
+
%label
|
153
|
+
conditioned
|
154
|
+
%select.input-types.no-select2{'data-ff-name' => 'tag_attributes','data-ff-sname' => 'formily_conditioned'}
|
155
|
+
%option{value: ''}
|
156
|
+
NULL
|
157
|
+
%option{value: 'Formily::TextInput'}
|
158
|
+
Text Box
|
159
|
+
%option{value: 'Formily::TextareaInput'}
|
160
|
+
Text Area
|
161
|
+
%option{value: 'Formily::MultipleFileInput'}
|
162
|
+
Multiple File Upload
|
163
|
+
|
164
|
+
%section{'data-formily' => 'Formily::CheckboxInput'}
|
165
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
166
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
167
|
+
.label
|
168
|
+
Description will be visible as a tooltip
|
169
|
+
%textarea{'data-ff-name' => 'description', :placeholder => 'Description', :type => 'text', rows: 3}
|
170
|
+
|
171
|
+
%label
|
172
|
+
conditioned
|
173
|
+
%select.input-types.no-select2{'data-ff-name' => 'tag_attributes','data-ff-sname' => 'formily_conditioned'}
|
174
|
+
%option{value: ''}
|
175
|
+
NULL
|
176
|
+
%option{value: 'Formily::TextInput'}
|
177
|
+
Text Box
|
178
|
+
%option{value: 'Formily::TextareaInput'}
|
179
|
+
Text Area
|
180
|
+
%option{value: 'Formily::MultipleFileInput'}
|
181
|
+
Multiple File Upload
|
182
|
+
|
183
|
+
%section{'data-formily' => 'Formily::OptionInput'}
|
184
|
+
%input{'data-ff-name' => 'name', :placeholder => 'Name', :type => 'text'}
|
185
|
+
%input{'data-ff-name' => 'label', :placeholder => 'Label', :type => 'text'}
|
186
|
+
|
187
|
+
%label
|
188
|
+
conditioned
|
189
|
+
%select.input-types.no-select2{'data-ff-name' => 'tag_attributes','data-ff-sname' => 'formily_conditioned'}
|
190
|
+
%option{value: ''}
|
191
|
+
NULL
|
192
|
+
%option{value: 'Formily::TextInput'}
|
193
|
+
Text Box
|
194
|
+
%option{value: 'Formily::TextareaInput'}
|
195
|
+
Text Area
|
196
|
+
%option{value: 'Formily::MultipleFileInput'}
|
197
|
+
Multiple File Upload
|