formily 0.0.5.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 @@
|
|
|
1
|
+
= render partial: 'formily/partial/form'
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
%li.panel.callout.radius
|
|
2
|
+
|
|
3
|
+
.ff-input-container
|
|
4
|
+
|
|
5
|
+
= render partial: 'formily/editor/partial/input_fieldset', locals: {input: @input, group_inputs: false}
|
|
6
|
+
|
|
7
|
+
%span.round.label{'data-id' => @input.field_order || 0}
|
|
8
|
+
= @input.field_order
|
|
9
|
+
|
|
10
|
+
%span.ff-input-data-container
|
|
11
|
+
%span{'data-input' => 'type'}
|
|
12
|
+
%i <#{@input.editor_type}>
|
|
13
|
+
|
|
14
|
+
%span{'data-input' => 'name'}
|
|
15
|
+
Name:
|
|
16
|
+
%i= @input.name
|
|
17
|
+
%span{'data-input' => 'label'}
|
|
18
|
+
Label:
|
|
19
|
+
%i= @input.label
|
|
20
|
+
%span{'data-input' => 'description'}
|
|
21
|
+
Description:
|
|
22
|
+
%i= @input.description
|
|
23
|
+
|
|
24
|
+
%a.button.alert.tiny{:href => '#', data: {formily: 'delete'}}
|
|
25
|
+
%i.ff-icon-trash-empty
|
|
26
|
+
|
|
27
|
+
%a.button.tiny{href: '#', data:{formily: 'edit_input'}}
|
|
28
|
+
%i.ff-icon-pencil
|
|
29
|
+
|
|
30
|
+
.right
|
|
31
|
+
%a.button.tiny.secondary{data:{formily: 'down'}}
|
|
32
|
+
%i.ff-icon-down
|
|
33
|
+
%a.button.tiny.secondary{data:{formily: 'up'}}
|
|
34
|
+
%i.ff-icon-up
|
|
35
|
+
|
|
36
|
+
%ul.ff-inputs-group-list
|
|
37
|
+
- @input.inputs.each do |input|
|
|
38
|
+
= render partial: 'formily/editor/partial/group_input', locals: {input: input}
|
|
39
|
+
|
|
40
|
+
%a.button.success.tiny{'data-group' => @input.input_type, :href => '#', 'data-formily' => 'add_group_input'} Add input
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
%li.panel.radius
|
|
2
|
+
|
|
3
|
+
.ff-input-container
|
|
4
|
+
|
|
5
|
+
= render partial: 'formily/editor/partial/input_fieldset', locals: {input: input, group_inputs: true}
|
|
6
|
+
|
|
7
|
+
%span.label.round.success{'data-id' => input.field_order || 0}
|
|
8
|
+
= input.field_order
|
|
9
|
+
|
|
10
|
+
%span.ff-input-data-container
|
|
11
|
+
|
|
12
|
+
%span{'data-input' => 'type'}
|
|
13
|
+
%i <#{input.editor_type}>
|
|
14
|
+
|
|
15
|
+
%span{'data-input' => 'name'}
|
|
16
|
+
Name:
|
|
17
|
+
%i= input.name
|
|
18
|
+
%span{'data-input' => 'label'}
|
|
19
|
+
Label:
|
|
20
|
+
%i= input.label
|
|
21
|
+
%span{'data-input' => 'description'}
|
|
22
|
+
Description:
|
|
23
|
+
%i= input.description
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
%a.button.tiny.alert{:href => '#', data: {formily: 'delete'}}
|
|
27
|
+
%i.ff-icon-trash-empty
|
|
28
|
+
|
|
29
|
+
%a.button.tiny{href: '#', data:{formily: 'edit_group_input'}}
|
|
30
|
+
%i.ff-icon-pencil
|
|
31
|
+
|
|
32
|
+
.right
|
|
33
|
+
%a.button.tiny.secondary{data:{formily: 'down'}}
|
|
34
|
+
%i.ff-icon-down
|
|
35
|
+
%a.button.tiny.secondary{data:{formily: 'up'}}
|
|
36
|
+
%i.ff-icon-up
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
%li.panel.callout.radius
|
|
2
|
+
|
|
3
|
+
.ff-input-container
|
|
4
|
+
|
|
5
|
+
= render partial: 'formily/editor/partial/input_fieldset', locals: {input: @input, group_inputs: false}
|
|
6
|
+
|
|
7
|
+
%span.round.label{'data-id' => @input.field_order || 0}
|
|
8
|
+
= @input.field_order
|
|
9
|
+
|
|
10
|
+
%span.ff-input-data-container
|
|
11
|
+
|
|
12
|
+
%span{'data-input' => 'type'}
|
|
13
|
+
%i <#{@input.editor_type}>
|
|
14
|
+
|
|
15
|
+
%span{'data-input' => 'name'}
|
|
16
|
+
Name:
|
|
17
|
+
%i= @input.name
|
|
18
|
+
%span{'data-input' => 'label'}
|
|
19
|
+
Label:
|
|
20
|
+
%i= @input.label
|
|
21
|
+
%span{'data-input' => 'description'}
|
|
22
|
+
Description:
|
|
23
|
+
%i= @input.description
|
|
24
|
+
|
|
25
|
+
%a.button.alert.tiny{href: '#', data: {formily: 'delete'}}
|
|
26
|
+
%i.ff-icon-trash-empty
|
|
27
|
+
|
|
28
|
+
%a.button.tiny{href: '#', data:{formily: 'edit_input'}}
|
|
29
|
+
%i.ff-icon-pencil
|
|
30
|
+
|
|
31
|
+
.right
|
|
32
|
+
%a.button.tiny.secondary{data:{formily: 'down'}}
|
|
33
|
+
%i.ff-icon-down
|
|
34
|
+
%a.button.tiny.secondary{data:{formily: 'up'}}
|
|
35
|
+
%i.ff-icon-up
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
%fieldset{style: 'display: none;'}
|
|
2
|
+
|
|
3
|
+
- if input.id.present?
|
|
4
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]id", :type => 'hidden', :value => input.id}
|
|
5
|
+
|
|
6
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]name", :type => 'hidden', :value => input.name}
|
|
7
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]type", :type => 'hidden', :value => input.type}
|
|
8
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]label", :type => 'hidden', :value => input.label}
|
|
9
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]description", :type => 'hidden', :value => input.description}
|
|
10
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]default_value", :type => 'hidden', :value => input.default_value}
|
|
11
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]field_order", :type => 'hidden', :value => input.field_order}
|
|
12
|
+
%input{:name => "inputs#{'[]group_inputs' if group_inputs}[]tag_attributes", :type => 'hidden', :value => input.tag_attributes}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
.columns.small-12.medium-8.medium-offset-2.large-8.large-offset-2
|
|
2
|
+
%form#formily_form_tag{action: '/formily/submit_data/submit', enctype: 'multipart/form-data', method: 'POST', novalidate: true}
|
|
3
|
+
|
|
4
|
+
%h3.text-center
|
|
5
|
+
= @form.title
|
|
6
|
+
- if @form.description.present?
|
|
7
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: @form.description} ?
|
|
8
|
+
|
|
9
|
+
%input{name: 'user_id', type: :hidden, value: @user_id}
|
|
10
|
+
%input{:name => 'authenticity_token', :type => 'hidden', :value => form_authenticity_token}
|
|
11
|
+
%input{:name => 'form_id', :type => 'hidden', :value => @form.id}
|
|
12
|
+
%input{:name => 'resource_id', :type => 'hidden', :value => @obj_rel.id}
|
|
13
|
+
%input{:name => 'resource_type', :type => 'hidden', :value => @obj_rel.class.to_s}
|
|
14
|
+
%input{:name => 'submit_id', :type => 'hidden', :value => @submit.id}
|
|
15
|
+
|
|
16
|
+
- @form.form_inputs.each do |input|
|
|
17
|
+
= render partial: input.partial_path, locals: {input: input, inputs: input.inputs, :@submit => @submit}
|
|
18
|
+
|
|
19
|
+
%ul.errors.hidden
|
|
20
|
+
|
|
21
|
+
- if @submit.is_complete?
|
|
22
|
+
- content_for :block_in_header do
|
|
23
|
+
%a.formily-edit{ href: '#' }
|
|
24
|
+
%i.ff-icon-pencil
|
|
25
|
+
%span
|
|
26
|
+
Unlock editing
|
|
27
|
+
|
|
28
|
+
%input.button.tiny.formily-edit#formily_edit{type: 'button', value: 'Edit', title: 'Edit'}
|
|
29
|
+
%input.button.tiny#formily_save_and_close{type: 'button', value: 'Save as Draft', title: 'Save a draft to complete later', disabled: 'disabled'}
|
|
30
|
+
%input.button.tiny#formily_submit{type: 'submit', value: 'Submit Completed Form', title: 'Complete and Submit', disabled: 'disabled'}
|
|
31
|
+
- else
|
|
32
|
+
%input.button.tiny#formily_save_and_close{type: 'button', value: 'Save as Draft', title: 'Save a draft to complete later'}
|
|
33
|
+
%input.button.tiny#formily_submit{type: 'submit', value: 'Submit Completed Form', title: 'Complete and Submit'}
|
|
34
|
+
|
|
35
|
+
%input.button.tiny#formily_cancel{type: 'button', value: 'Cancel', title: 'Cancel'}
|
|
36
|
+
|
|
37
|
+
.formily-spinner
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
- value = input.get_value_from_submit(@submit)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
- unless input.is_deleted? && value.nil?
|
|
5
|
+
|
|
6
|
+
.row.formily-input
|
|
7
|
+
.columns.large-12.clearfix
|
|
8
|
+
|
|
9
|
+
- attrs = {type: :checkbox, name: "formily_inputs[#{input.id}]", id: "checkbox_#{input.id}"}
|
|
10
|
+
- attrs[:checked] = 'checked' if value.present?
|
|
11
|
+
- attrs['disabled'] = 'disabled' if @submit.is_complete?
|
|
12
|
+
|
|
13
|
+
%input{input.render_attributes_hash, attrs, value: :checked}
|
|
14
|
+
|
|
15
|
+
%label{for: "checkbox_#{input.id}"}= input.label
|
|
16
|
+
|
|
17
|
+
- if input.description.present?
|
|
18
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
- unless input.is_deleted? && inputs.map{|x| x.get_value_from_submit(@submit)}.reject{|i| i.nil?}.join('').blank?
|
|
2
|
+
|
|
3
|
+
%fieldset
|
|
4
|
+
|
|
5
|
+
%legend
|
|
6
|
+
= input.label
|
|
7
|
+
|
|
8
|
+
- if input.description.present?
|
|
9
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
10
|
+
|
|
11
|
+
- inputs.each do |i|
|
|
12
|
+
- value = i.get_value_from_submit(@submit)
|
|
13
|
+
|
|
14
|
+
- unless i.is_deleted? && value.blank?
|
|
15
|
+
|
|
16
|
+
.row.formily-input
|
|
17
|
+
.columns.large-12.clearfix
|
|
18
|
+
|
|
19
|
+
- attrs = {type: :checkbox, name: "formily_inputs[#{input.id}][#{i.id}]", id: "checkbox_#{i.id}"}
|
|
20
|
+
- attrs[:checked] = 'checked' unless value.nil?
|
|
21
|
+
- attrs['disabled'] = 'disabled' if @submit.is_complete?
|
|
22
|
+
|
|
23
|
+
- if i.conditioned_tag.present?
|
|
24
|
+
- attrs['data-c-name'] = attrs[:name].to_s
|
|
25
|
+
- attrs['data-formily-conditioned'] = 'true'
|
|
26
|
+
- attrs[:name] = nil unless value.nil?
|
|
27
|
+
|
|
28
|
+
%input{i.render_attributes_hash, attrs, value: :checked}
|
|
29
|
+
|
|
30
|
+
%label{for: "checkbox_#{i.id}"}= i.label
|
|
31
|
+
|
|
32
|
+
- if i.description.present?
|
|
33
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: i.description} ?
|
|
34
|
+
|
|
35
|
+
- if i.conditioned_tag.present?
|
|
36
|
+
= render partial: 'formily/partial/inputs/conditioned_fields', locals: {type: i.conditioned_tag, value: value, name: attrs['data-c-name'], input_id: i.id }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
- hash = {}
|
|
2
|
+
- hash[:style] = 'display: none;' if value.nil?
|
|
3
|
+
- hash['data-required'] = 'required'
|
|
4
|
+
- hash[:name] = name unless value.nil?
|
|
5
|
+
- hash['disabled'] = 'disabled' if @submit.is_complete?
|
|
6
|
+
|
|
7
|
+
- case type
|
|
8
|
+
|
|
9
|
+
- when 'Formily::TextInput'
|
|
10
|
+
|
|
11
|
+
- hash[:value] = value
|
|
12
|
+
|
|
13
|
+
%input{hash, type: :text}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
- when 'Formily::TextareaInput'
|
|
17
|
+
|
|
18
|
+
%textarea{hash}
|
|
19
|
+
= value unless value.nil?
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
- when 'Formily::MultipleFileInput'
|
|
23
|
+
|
|
24
|
+
.row.formily-input{style: "#{'display: none;' if value.nil? }"}
|
|
25
|
+
.columns.large-12
|
|
26
|
+
%button{type: :button, 'data-f-multiple' => :multiple}
|
|
27
|
+
Upload File
|
|
28
|
+
%span
|
|
29
|
+
|
|
30
|
+
- hash[:name] = hash[:name] + '[]' unless value.nil?
|
|
31
|
+
%input{hash, type: :file, multiple: :multiple, style: 'display: none'}
|
|
32
|
+
|
|
33
|
+
.formily-files-container
|
|
34
|
+
- files = Formily::MultipleFileInput.new(id: input_id).get_value_from_submit(@submit)
|
|
35
|
+
-if files.present?
|
|
36
|
+
= render partial: 'formily/partial/inputs/file_preview', locals: {files: files}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
- value = input.get_value_from_submit(@submit)
|
|
2
|
+
|
|
3
|
+
- unless input.is_deleted? && value.blank? && input.default_value.blank?
|
|
4
|
+
|
|
5
|
+
.row.formily-input
|
|
6
|
+
.columns.large-12.clearfix
|
|
7
|
+
%label.left{for: "date_time_#{input.id}", style: 'position: relative;'}= input.label
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
- if input.description.present?
|
|
11
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
12
|
+
|
|
13
|
+
- attrs = {type: :text, name: "formily_inputs[#{input.id}]", id: "date_time_#{input.id}"}
|
|
14
|
+
- attrs['disabled'] = 'disabled' if @submit.is_complete?
|
|
15
|
+
%input.formily_date_time_picker{input.render_attributes_hash, attrs, value: value}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
- value = input.get_value_from_submit(@submit)
|
|
2
|
+
|
|
3
|
+
- unless input.is_deleted? && value.blank?
|
|
4
|
+
|
|
5
|
+
.row.formily-input
|
|
6
|
+
.columns.large-12.clearfix
|
|
7
|
+
|
|
8
|
+
%label.left{for: "file_#{input.id}"}= input.label
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
- if input.description.present?
|
|
12
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
13
|
+
|
|
14
|
+
- attrs = {type: :file, name: "formily_inputs[#{input.id}]", id: "file_#{input.id}"}
|
|
15
|
+
- attrs['disabled'] = 'disabled' if @submit.is_complete?
|
|
16
|
+
%input{input.render_attributes_hash, attrs}
|
|
17
|
+
|
|
18
|
+
- if input.get_value_from_submit(@submit).present?
|
|
19
|
+
.formily-files-container
|
|
20
|
+
= render partial: 'formily/partial/inputs/file_preview', locals: {files: input.get_value_from_submit(@submit)}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
- files.each do |url, id, name, type|
|
|
2
|
+
- if name =~ /\.(gif|jpg|jpeg|tiff|png|bmp)$/i
|
|
3
|
+
%div.file_upload
|
|
4
|
+
= link_to url, target: '_blank', title: "Open file: #{name}" do
|
|
5
|
+
%img{src: url}
|
|
6
|
+
- unless @submit.is_complete?
|
|
7
|
+
%span.delete_button{'data-file-id'=>id} 
|
|
8
|
+
|
|
9
|
+
- else
|
|
10
|
+
%div.file_upload.file
|
|
11
|
+
= link_to url, target: '_blank', title: "Open file: #{name}" do
|
|
12
|
+
%span.ext_label= type
|
|
13
|
+
- unless @submit.is_complete?
|
|
14
|
+
%span.delete_button{'data-file-id'=>id} 
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
%span Default
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- value = input.get_value_from_submit(@submit)
|
|
2
|
+
|
|
3
|
+
- unless input.is_deleted? && value.blank?
|
|
4
|
+
|
|
5
|
+
.row.formily-input
|
|
6
|
+
.columns.large-12.clearfix
|
|
7
|
+
|
|
8
|
+
%label.left{for: "file_#{input.id}"}= input.label
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
- if input.description.present?
|
|
12
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
13
|
+
|
|
14
|
+
.columns.large-12
|
|
15
|
+
%button{type: :button, 'data-f-multiple' => :multiple, disabled: @submit.is_complete? ? 'disabled' : nil}
|
|
16
|
+
Upload File
|
|
17
|
+
%span
|
|
18
|
+
|
|
19
|
+
- attrs = {type: :file, name: "formily_inputs[#{input.id}][]", id: "file_#{input.id}", multiple: :multiple}
|
|
20
|
+
- attrs['disabled'] = 'disabled' if @submit.is_complete?
|
|
21
|
+
%input{input.render_attributes_hash, attrs, style: 'display: none'}
|
|
22
|
+
|
|
23
|
+
.formily-files-container
|
|
24
|
+
-if input.get_value_from_submit(@submit).present?
|
|
25
|
+
= render partial: 'formily/partial/inputs/file_preview', locals: {files: input.get_value_from_submit(@submit)}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
- unless input.is_deleted? && (input.get_value_from_submit(@submit).blank? ? inputs.map{|x| x.get_value_from_submit(@submit)}.reject{|i| i.nil?}.join('').blank? : false)
|
|
2
|
+
|
|
3
|
+
%label
|
|
4
|
+
|
|
5
|
+
%span= input.label
|
|
6
|
+
|
|
7
|
+
- if input.description.present?
|
|
8
|
+
%span.has-tip.tip-top{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
9
|
+
|
|
10
|
+
- value = input.get_value_from_submit(@submit)
|
|
11
|
+
- condition_tag = ''
|
|
12
|
+
- condition_name = ''
|
|
13
|
+
- input_id = 0
|
|
14
|
+
|
|
15
|
+
- value2 = input.inputs.map{|x| x.get_value_from_submit(@submit) }.reject{ |x| x.nil?}.first
|
|
16
|
+
|
|
17
|
+
- s_hash = {name: "formily_inputs[#{input.id}]", 'data-formily-name' => "formily_inputs[#{input.id}]"}
|
|
18
|
+
- s_hash.except!(:name) if value2 && value2.length > 0
|
|
19
|
+
- s_hash['disabled'] = 'disabled' if @submit.is_complete?
|
|
20
|
+
|
|
21
|
+
%span= value
|
|
22
|
+
%br
|
|
23
|
+
%span= value2
|
|
24
|
+
|
|
25
|
+
%select.no-select2{input.render_attributes_hash, s_hash}
|
|
26
|
+
|
|
27
|
+
%option{disabled: :disabled, selected: :selected} Pick Option...
|
|
28
|
+
|
|
29
|
+
- inputs.each do |i|
|
|
30
|
+
|
|
31
|
+
- val = i.get_value_from_submit(@submit)
|
|
32
|
+
|
|
33
|
+
- hash = {value: i.id}
|
|
34
|
+
- hash[:selected] = 'selected' if value.to_i == i.id || val
|
|
35
|
+
|
|
36
|
+
- if i.conditioned_tag.present?
|
|
37
|
+
- hash['data-formily-conditioned'] = i.conditioned_tag
|
|
38
|
+
- if val && val.length > 0
|
|
39
|
+
- input_id = i.id
|
|
40
|
+
- condition_tag = i.conditioned_tag
|
|
41
|
+
- condition_name = "formily_inputs[#{input.id}][#{i.id}]"
|
|
42
|
+
- hash['data-c-name'] = "formily_inputs[#{input.id}][#{i.id}]"
|
|
43
|
+
|
|
44
|
+
%option{hash, i.render_attributes_hash, 'data-name' => "formily_inputs[#{input.id}][#{i.id}]"}= i.label
|
|
45
|
+
|
|
46
|
+
%br
|
|
47
|
+
|
|
48
|
+
- hash = {style: 'display: none;'}
|
|
49
|
+
- hash['data-required'] = 'required'
|
|
50
|
+
|
|
51
|
+
- if value2 && value2.length > 0 && condition_tag == 'Formily::TextInput'
|
|
52
|
+
- hash.except!(:style)
|
|
53
|
+
- hash[:value] = value2
|
|
54
|
+
- hash[:name] = condition_name
|
|
55
|
+
%input{hash, type: :text, 'data-formily-conditioned-field' => 'Formily::TextInput'}
|
|
56
|
+
|
|
57
|
+
- hash = {style: 'display: none;'}
|
|
58
|
+
- hash['data-required'] = 'required'
|
|
59
|
+
|
|
60
|
+
- if value2 && value2.length > 0 && condition_tag == 'Formily::TextareaInput'
|
|
61
|
+
- hash.except!(:style)
|
|
62
|
+
%textarea{hash, 'data-formily-conditioned-field' => 'Formily::TextareaInput'}= value2
|
|
63
|
+
|
|
64
|
+
- if value2.present? && condition_tag == 'Formily::MultipleFileInput'
|
|
65
|
+
- hash[:name] = condition_name + '[]'
|
|
66
|
+
|
|
67
|
+
%label.clear_fix{style: "#{'display: none;' if value2.blank? || (value2.present? && condition_tag != 'Formily::MultipleFileInput') }"}
|
|
68
|
+
%button{type: :button, 'data-f-multiple' => :multiple}
|
|
69
|
+
Upload File
|
|
70
|
+
%input{hash, type: :file, multiple: :multiple, style: 'display: none', 'data-formily-conditioned-field' => 'Formily::MultipleFileInput'}
|
|
71
|
+
|
|
72
|
+
%br
|
|
73
|
+
|
|
74
|
+
.formily-files-container
|
|
75
|
+
-if value2.present? && condition_tag == 'Formily::MultipleFileInput'
|
|
76
|
+
- files = Formily::MultipleFileInput.new(id: input_id).get_value_from_submit(@submit)
|
|
77
|
+
= render partial: 'formily/partial/inputs/file_preview', locals: {files: files}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
- unless input.is_deleted? && (input.get_value_from_submit(@submit).blank? ? inputs.map{|x| x.get_value_from_submit(@submit)}.reject{|i| i.nil?}.join('').blank? : false)
|
|
2
|
+
|
|
3
|
+
%fieldset.formily-radio-group
|
|
4
|
+
|
|
5
|
+
%legend
|
|
6
|
+
= input.label
|
|
7
|
+
|
|
8
|
+
- if input.description.present?
|
|
9
|
+
%span.has-tip.tip-top{'data-tooltip'=> '', 'aria-haspopup'=>true, title: input.description} ?
|
|
10
|
+
|
|
11
|
+
- @iid = input.get_value_from_submit(@submit).to_i if input.get_value_from_submit(@submit).present?
|
|
12
|
+
|
|
13
|
+
- inputs.each do |i|
|
|
14
|
+
|
|
15
|
+
- value = i.get_value_from_submit(@submit)
|
|
16
|
+
|
|
17
|
+
- unless i.is_deleted? && value.blank? && @iid != i.id && i.updated_at < @submit.created_at
|
|
18
|
+
|
|
19
|
+
.row.formily-input
|
|
20
|
+
.columns.large-12
|
|
21
|
+
|
|
22
|
+
- hash = {'data-c-name' => "formily_inputs[#{input.id}]", value: i.id}
|
|
23
|
+
- hash['name'] = "formily_inputs[#{input.id}]"
|
|
24
|
+
- hash['data-c2-name'] = "formily_inputs[#{input.id}][#{i.id}]"
|
|
25
|
+
- hash['data-formily-conditioned'] = i.conditioned_tag.present?.to_s
|
|
26
|
+
- hash['checked'] = 'checked' if value.present? || @iid == i.id
|
|
27
|
+
- hash['id'] = "checkbox_#{i.id}"
|
|
28
|
+
- hash['disabled'] = 'disabled' if @submit.is_complete?
|
|
29
|
+
|
|
30
|
+
- if i.conditioned_tag.present?
|
|
31
|
+
- hash[:name] = nil unless value.nil?
|
|
32
|
+
|
|
33
|
+
%input{hash, type: :radio}
|
|
34
|
+
|
|
35
|
+
%label{for: "checkbox_#{i.id}"}= i.label
|
|
36
|
+
|
|
37
|
+
- if i.description.present?
|
|
38
|
+
%span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: i.description} ?
|
|
39
|
+
|
|
40
|
+
- if i.conditioned_tag.present?
|
|
41
|
+
= render partial: 'formily/partial/inputs/conditioned_fields', locals: {type: i.conditioned_tag, value: value, name: hash['data-c2-name'], input_id: i.id }
|