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.
Files changed (162) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +13 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +156 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +84 -0
  7. data/Rakefile +1 -0
  8. data/app/assets/fonts/formily-icon.eot +0 -0
  9. data/app/assets/fonts/formily-icon.svg +26 -0
  10. data/app/assets/fonts/formily-icon.ttf +0 -0
  11. data/app/assets/fonts/formily-icon.woff +0 -0
  12. data/app/assets/fonts/formily-icon.woff2 +0 -0
  13. data/app/assets/images/blank_file.png +0 -0
  14. data/app/assets/images/formily_spin.gif +0 -0
  15. data/app/assets/javascripts/formily.js +5 -0
  16. data/app/assets/javascripts/formily/base/ajax_reloader.js +24 -0
  17. data/app/assets/javascripts/formily/base/buttons.js +160 -0
  18. data/app/assets/javascripts/formily/base/form_response.js +28 -0
  19. data/app/assets/javascripts/formily/base/local_time.js +9 -0
  20. data/app/assets/javascripts/formily/editor.js +46 -0
  21. data/app/assets/javascripts/formily/editor/editor_buttons.js +186 -0
  22. data/app/assets/javascripts/formily/editor/form_preview.js +53 -0
  23. data/app/assets/javascripts/formily/editor/input_model.js +76 -0
  24. data/app/assets/javascripts/formily/editor/input_on_change.js +83 -0
  25. data/app/assets/javascripts/formily/editor/related_fields.js +76 -0
  26. data/app/assets/javascripts/formily/form.js +22 -0
  27. data/app/assets/javascripts/formily/formily_editor.js +329 -0
  28. data/app/assets/javascripts/formily/formily_modal.js +104 -0
  29. data/app/assets/javascripts/formily/formily_url.js.erb +26 -0
  30. data/app/assets/javascripts/formily/inputs/conditioned.js +4 -0
  31. data/app/assets/javascripts/formily/inputs/conditioned/checkbox.js +73 -0
  32. data/app/assets/javascripts/formily/inputs/conditioned/option.js +82 -0
  33. data/app/assets/javascripts/formily/inputs/conditioned/radio.js +160 -0
  34. data/app/assets/javascripts/formily/inputs/date_time.js +25 -0
  35. data/app/assets/javascripts/formily/inputs/input_tab.js +18 -0
  36. data/app/assets/javascripts/formily/inputs/location.js +39 -0
  37. data/app/assets/javascripts/formily/inputs/multi_file.js +228 -0
  38. data/app/assets/javascripts/formily/lib/jquery.datetimepicker.full.min.js +2 -0
  39. data/app/assets/javascripts/formily/lib/modernizr.js +8 -0
  40. data/app/assets/javascripts/formily/lib/strftime.min.js +12 -0
  41. data/app/assets/javascripts/formily/lib/tag-it.min.js +17 -0
  42. data/app/assets/javascripts/formily/mobile.js +10 -0
  43. data/app/assets/javascripts/formily_app.js +15 -0
  44. data/app/assets/javascripts/formily_iframe.js +11 -0
  45. data/app/assets/stylesheets/formily.scss +14 -0
  46. data/app/assets/stylesheets/formily/base/fonts.scss +65 -0
  47. data/app/assets/stylesheets/formily/base/layout.scss +66 -0
  48. data/app/assets/stylesheets/formily/base/links.css +7 -0
  49. data/app/assets/stylesheets/formily/base/ui-dialog.scss +129 -0
  50. data/app/assets/stylesheets/formily/editor.scss +25 -0
  51. data/app/assets/stylesheets/formily/editor/inputs_group_list.css +14 -0
  52. data/app/assets/stylesheets/formily/editor/inputs_list.css +97 -0
  53. data/app/assets/stylesheets/formily/editor/related_modal.scss +49 -0
  54. data/app/assets/stylesheets/formily/formily_editor.scss +53 -0
  55. data/app/assets/stylesheets/formily/formily_modal.scss +2 -0
  56. data/app/assets/stylesheets/formily/foundation_fix.scss +140 -0
  57. data/app/assets/stylesheets/formily/inputs/date_time.scss +8 -0
  58. data/app/assets/stylesheets/formily/inputs/multi_file.scss +111 -0
  59. data/app/assets/stylesheets/formily/jquery.datetimepicker.min.css +1 -0
  60. data/app/assets/stylesheets/formily/lib/jquery.tagit.css +69 -0
  61. data/app/assets/stylesheets/formily/modal/content.scss +36 -0
  62. data/app/assets/stylesheets/formily/modal/iframe.scss +29 -0
  63. data/app/assets/stylesheets/formily_iframe.scss +64 -0
  64. data/app/assets/stylesheets/foundation_formily.scss +20 -0
  65. data/app/controllers/formily/file_controller.rb +17 -0
  66. data/app/controllers/formily/form_types_controller.rb +46 -0
  67. data/app/controllers/formily/formilyable_controller.rb +98 -0
  68. data/app/controllers/formily/forms_controller.rb +133 -0
  69. data/app/controllers/formily/iframe/forms_controller.rb +28 -0
  70. data/app/controllers/formily/inputs_controller.rb +113 -0
  71. data/app/controllers/formily/submit_data_controller.rb +151 -0
  72. data/app/controllers/formily_controller.rb +22 -0
  73. data/app/helpers/formily_helper.rb +17 -0
  74. data/app/models/formily/checkbox_input.rb +8 -0
  75. data/app/models/formily/checkbox_input_group.rb +14 -0
  76. data/app/models/formily/date_time_input.rb +19 -0
  77. data/app/models/formily/file.rb +14 -0
  78. data/app/models/formily/form.rb +41 -0
  79. data/app/models/formily/form_type.rb +10 -0
  80. data/app/models/formily/formilyable_form.rb +18 -0
  81. data/app/models/formily/input.rb +124 -0
  82. data/app/models/formily/input_value.rb +23 -0
  83. data/app/models/formily/multiple_file_input.rb +18 -0
  84. data/app/models/formily/option_input.rb +8 -0
  85. data/app/models/formily/options_input_group.rb +14 -0
  86. data/app/models/formily/radio_input.rb +12 -0
  87. data/app/models/formily/radio_input_group.rb +14 -0
  88. data/app/models/formily/static_text.rb +8 -0
  89. data/app/models/formily/submit.rb +47 -0
  90. data/app/models/formily/text_input.rb +8 -0
  91. data/app/models/formily/textarea_input.rb +8 -0
  92. data/app/views/formily/data/_forms_table.html.haml +19 -0
  93. data/app/views/formily/data/_many_tables.html.erb +3 -0
  94. data/app/views/formily/data/_table.html.erb +33 -0
  95. data/app/views/formily/data/submit_data_table.html.haml +32 -0
  96. data/app/views/formily/editor/_default_value.haml +18 -0
  97. data/app/views/formily/editor/_editor.haml +18 -0
  98. data/app/views/formily/editor/_modal.haml +197 -0
  99. data/app/views/formily/editor/partial/_group.haml +41 -0
  100. data/app/views/formily/editor/partial/_group_input.haml +36 -0
  101. data/app/views/formily/editor/partial/_input.haml +35 -0
  102. data/app/views/formily/editor/partial/_input_fieldset.haml +12 -0
  103. data/app/views/formily/form_types/_form.haml +9 -0
  104. data/app/views/formily/form_types/edit.haml +6 -0
  105. data/app/views/formily/form_types/index.haml +24 -0
  106. data/app/views/formily/form_types/new.haml +6 -0
  107. data/app/views/formily/formilyable/index.haml +67 -0
  108. data/app/views/formily/formilyable/new.haml +37 -0
  109. data/app/views/formily/forms/_form.haml +34 -0
  110. data/app/views/formily/forms/_preview.haml +16 -0
  111. data/app/views/formily/forms/edit.haml +5 -0
  112. data/app/views/formily/forms/index.haml +40 -0
  113. data/app/views/formily/forms/new.haml +5 -0
  114. data/app/views/formily/forms/reload_formily_table.haml +4 -0
  115. data/app/views/formily/forms/show.haml +1 -0
  116. data/app/views/formily/helpers/_iframe_formily_modal.html.haml +3 -0
  117. data/app/views/formily/helpers/_related_forms.html.haml +12 -0
  118. data/app/views/formily/helpers/_related_forms_tr.html.haml +28 -0
  119. data/app/views/formily/iframe/forms/show.haml +1 -0
  120. data/app/views/formily/inputs/_group.haml +40 -0
  121. data/app/views/formily/inputs/_group_input.haml +36 -0
  122. data/app/views/formily/inputs/_input.haml +35 -0
  123. data/app/views/formily/inputs/_input_fieldset.haml +12 -0
  124. data/app/views/formily/inputs/render_input_html.haml +7 -0
  125. data/app/views/formily/partial/_form.haml +37 -0
  126. data/app/views/formily/partial/inputs/_checkbox_input.haml +18 -0
  127. data/app/views/formily/partial/inputs/_checkbox_input_group.haml +36 -0
  128. data/app/views/formily/partial/inputs/_conditioned_fields.haml +36 -0
  129. data/app/views/formily/partial/inputs/_date_time_input.haml +15 -0
  130. data/app/views/formily/partial/inputs/_file_input.haml +20 -0
  131. data/app/views/formily/partial/inputs/_file_preview.haml +14 -0
  132. data/app/views/formily/partial/inputs/_input.haml +1 -0
  133. data/app/views/formily/partial/inputs/_multiple_file_input.haml +25 -0
  134. data/app/views/formily/partial/inputs/_options_input_group.haml +77 -0
  135. data/app/views/formily/partial/inputs/_radio_input_group.haml +41 -0
  136. data/app/views/formily/partial/inputs/_static_text.haml +11 -0
  137. data/app/views/formily/partial/inputs/_text_input.haml +19 -0
  138. data/app/views/formily/partial/inputs/_textarea_input.haml +19 -0
  139. data/app/views/formily/submit_data/submit.html.erb +5 -0
  140. data/app/views/formily/submit_data/submit.json.jbuilder +5 -0
  141. data/app/views/layouts/formily_iframe.haml +16 -0
  142. data/config/routes.rb +41 -0
  143. data/formily.gemspec +41 -0
  144. data/lib/formily.rb +37 -0
  145. data/lib/formily/config.rb +72 -0
  146. data/lib/formily/engine.rb +12 -0
  147. data/lib/formily/helpers/view_helper.rb +114 -0
  148. data/lib/formily/relation.rb +26 -0
  149. data/lib/formily/relation/formily_methods.rb +30 -0
  150. data/lib/formily/relation/has_many_methods.rb +16 -0
  151. data/lib/formily/submitted_data_table.rb +74 -0
  152. data/lib/formily/version.rb +4 -0
  153. data/lib/generators/formily/install/install_generator.rb +43 -0
  154. data/lib/generators/formily/install/templates/create_formily_data.rb +28 -0
  155. data/lib/generators/formily/install/templates/create_formily_files.rb +13 -0
  156. data/lib/generators/formily/install/templates/create_formily_form_types.rb +12 -0
  157. data/lib/generators/formily/install/templates/create_formily_forms.rb +16 -0
  158. data/lib/generators/formily/install/templates/create_formily_inputs.rb +24 -0
  159. data/lib/generators/formily/install/templates/create_formilyable_forms.rb +17 -0
  160. data/lib/generators/formily/install/templates/formily.rb +21 -0
  161. data/lib/generators/formily/views/views_generator.rb +11 -0
  162. metadata +350 -0
@@ -0,0 +1,41 @@
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
+ - unless input.is_deleted?
39
+ = render partial: 'formily/editor/partial/group_input', locals: {input: input}
40
+
41
+ %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,9 @@
1
+ = form_for(@form_type) do |f|
2
+ .row
3
+ .medium-6.columns.small-12
4
+ %label
5
+ Title
6
+ = f.text_field :title, placeholder: 'Title'
7
+
8
+ = f.submit "#{@form_type.new_record? ? 'Create' : 'Update' }", class: 'button'
9
+ = link_to 'Back to List', formily_form_types_path, class: 'button info'
@@ -0,0 +1,6 @@
1
+ %h2
2
+ Edit Form Type
3
+
4
+ .row
5
+ .columns.small-12.medium-12
6
+ = render partial: 'form'
@@ -0,0 +1,24 @@
1
+ %h1 Form Types
2
+ = link_to 'Create new Form Type', new_formily_form_type_path, class: 'button'
3
+ .row
4
+ .columns.small-12.medium-12
5
+ %table.formily-forms.datatable
6
+ %thead
7
+ %tr
8
+ %th ID
9
+ %th Title
10
+ %th Created
11
+ %th Form count
12
+ %th Action
13
+ %tbody
14
+ - @form_types.each do |form_type|
15
+ %tr
16
+ %td= form_type.id
17
+ %td= form_type.title
18
+ %td= form_type.created_at.strftime('%Y/%m/%d %H:%M [%Z %z]')
19
+ %td= form_type.forms.count
20
+ %td.btn-fix
21
+ = link_to 'Edit', edit_formily_form_type_path(form_type), class: 'button tiny'
22
+ = link_to 'Delete', formily_form_type_path(form_type), 'data-confirm' => 'Are you sure?', method: :delete, class: 'button tiny alert'
23
+
24
+ = link_to 'Create new Form Type', new_formily_form_type_path, class: 'button'
@@ -0,0 +1,6 @@
1
+ %h2
2
+ New Form Type
3
+
4
+ .row
5
+ .columns.small-12.medium-12
6
+ = render partial: 'form'
@@ -0,0 +1,67 @@
1
+ .row
2
+ .columns.small-12
3
+ %h1 Assign Forms Templates to System Objects
4
+ = form_tag formily_formilyable_index_path, method: :post, class: 'panel' do
5
+ .row
6
+ .medium-4.columns.small-12
7
+ %h3 Form Template
8
+ = select_tag :form_id, options_from_collection_for_select(@select_forms, 'id', 'title')
9
+
10
+ .medium-4.columns.small-12
11
+ %h3 Object Type
12
+ = select_tag :formilyable_type, options_for_select(Formily.formily_models.map(&:to_s))
13
+
14
+ .medium-4.columns.small-12
15
+ %h3 Object
16
+ = select_tag :formilyable_id
17
+ .row
18
+ .medium-12.columns.small-12
19
+ %button{type: :submit}
20
+ Assign
21
+
22
+
23
+ .row
24
+ .medium-12.columns.small-12
25
+
26
+ - if params[:all].present?
27
+ = link_to 'Hide Deleted Forms', formily_forms_assign_path, class: 'button success'
28
+ - else
29
+ = link_to 'Show Deleted Forms', formily_forms_assign_path({all: true}), class: 'button success'
30
+
31
+ %table.datatable
32
+ %caption Form Template to Object Associations
33
+ %thead
34
+ %tr
35
+ %th
36
+ Form
37
+ %th
38
+ Object Type
39
+ %th
40
+ Object
41
+ %th
42
+ Response
43
+ %th
44
+ Action
45
+
46
+ %tbody
47
+ - @related_forms.each do |f|
48
+
49
+ - style = {}
50
+ - style[:class] = 'deleted' if f.form.blank? || f.form.is_deleted?
51
+
52
+ %tr{style}
53
+ %td
54
+ - if f.form.present?
55
+ = f.form.title
56
+
57
+ %td
58
+ = f.formilyable_type
59
+
60
+ %td
61
+ = f.formily_title
62
+
63
+ %td
64
+ = f.class.formily_form_related_model.name
65
+
66
+ %td
67
+ = link_to 'Delete', formily_formilyable_path(f.id), class: 'button alert tiny', 'data-confirm' => 'Are you sure?', method: :delete
@@ -0,0 +1,37 @@
1
+ %h3 #{@related_model['model_id']}##{@related_model['model_name']}
2
+
3
+ = form_tag formily_formilyable_index_path(iframe: params[:iframe]) do
4
+
5
+ = hidden_field_tag :formilyable_type, @related_model['model_name']
6
+ = hidden_field_tag :formilyable_id, @related_model['model_id']
7
+ = hidden_field_tag :user_id, @related_model['user_id']
8
+
9
+ - if @select_forms.length > 0
10
+
11
+ .row.collapse
12
+ .small-10.columns
13
+ = select_tag :form_id, options_for_select(@select_forms.map{|s| [s.title, s.id] })
14
+ .small-2.columns
15
+ %button.postfix{type: 'submit'}
16
+ Add
17
+
18
+ %table.formily-forms.columns.small-12.medium-12
19
+ %thead
20
+ %tr
21
+ %th ID
22
+ %th Title
23
+ %th Created
24
+ %th
25
+ %tbody
26
+ - @forms.each do |f|
27
+ %tr
28
+ %td= f.form.id
29
+ %td
30
+ = f.form.title
31
+ - if f.form.description.present?
32
+ %span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: f.form.description}  ? 
33
+ %td= f.form.created_at
34
+ %td
35
+ = link_to 'Disconnect', formily_formilyable_path(f.id, iframe: params[:iframe]), 'data-confirm' => 'Are you sure?', method: :delete, class: 'button alert tiny'
36
+
37
+ %input.button{id: 'cancel_add_form', type: 'button', value: 'Back', title: 'Back', data: { model_name: @related_model['model_name'], model_id: @related_model['model_id']}}
@@ -0,0 +1,34 @@
1
+ .row
2
+ .columns.medium-12.small-12
3
+ = link_to 'Forms list', formily_forms_path, class: 'button success'
4
+ .row
5
+ .medium-6.columns.small-12
6
+ %span.label.label-l-text Autosave is enabled
7
+ .panel.callout.radius.blue
8
+
9
+ = form_for(@form, url: formily_form_path(@form)) do |f|
10
+
11
+ = f.hidden_field(:id)
12
+
13
+ %label
14
+ Title
15
+ = f.text_field :title, placeholder: 'Title', class: 'form_preview'
16
+
17
+ %label
18
+ Type
19
+ = f.select(:form_type_id, Formily::FormType.all.collect {|p| [ p.title, p.id ] }, { include_blank: false }, class: 'form_preview')
20
+
21
+ %label
22
+ .label
23
+ Description will be visible as a tooltip
24
+ = f.text_area :description, placeholder: 'Description', rows: 5, class: 'form_preview'
25
+
26
+ = render partial: 'formily/editor/editor'
27
+ .medium-6.columns.small-12
28
+ %span.label.warning.label-l-text Preview Only
29
+ .panel.callout.radius.warning
30
+ #formily_form_preview
31
+
32
+ .row
33
+ .columns.medium-12.small-12
34
+ = link_to 'Forms list', formily_forms_path, class: 'button success'
@@ -0,0 +1,16 @@
1
+ %form#formily_preview_form_tag
2
+
3
+ %h3.text-center
4
+ = @form.title
5
+ - if @form.description.present?
6
+ %span.has-tip.tip-bottom{'data-tooltip'=> '', 'aria-haspopup'=>true, title: @form.description} ?
7
+
8
+ - @form.form_inputs.each do |input|
9
+
10
+ = render partial: input.partial_path, locals: {input: input, inputs: input.inputs}
11
+
12
+ %input.button{type: 'button', value: 'Save as Draft', title: 'Save a draft to complete later'}
13
+ %input.button{type: 'button', value: 'Submit Completed Form', title: 'Complete and Submit'}
14
+ %input.button{type: 'button', value: 'Cancel', title: 'Cancel'}
15
+
16
+ .formily-spinner
@@ -0,0 +1,5 @@
1
+ %h2
2
+ Edit Form (##{@form.id})
3
+
4
+ .ff-container
5
+ = render partial: 'form'
@@ -0,0 +1,40 @@
1
+ .row
2
+ .columns.small-12.medium-12
3
+ %h3 Forms
4
+ = link_to 'Create Form', new_formily_form_path, class: 'button'
5
+ = link_to 'Create new Form Type', new_formily_form_type_path, class: 'button'
6
+
7
+ - if params[:all].present?
8
+ = link_to 'Show Forms', formily_forms_path, class: 'button success'
9
+ - else
10
+ = link_to 'Show All Forms', formily_forms_path({all: true}), class: 'button success'
11
+
12
+ %table.formily-forms.datatable
13
+ %thead
14
+ %tr
15
+ %th ID
16
+ %th Title
17
+ %th Created
18
+ %th Type
19
+ %th Action
20
+ %tbody
21
+ - @forms.each do |form|
22
+ - style = {}
23
+ - style[:class] = 'deleted' if form.is_deleted?
24
+ %tr{style}
25
+ %td= form.id
26
+ %td
27
+ = form.title
28
+ - if form.description.present?
29
+ %span.has-tip.tip-top{'data-tooltip'=> '', 'aria-haspopup'=>true, title: form.description} ?
30
+ %td= form.created_at
31
+ %td= form.form_type.title rescue 'No type'
32
+ %td.btn-fix
33
+ = link_to 'Responses', form.response_url(current_user), target: '_blank', class: 'button tiny success'
34
+
35
+ - unless form.is_deleted?
36
+ = link_to 'Edit', edit_formily_form_path(form), class: 'button tiny'
37
+ = link_to 'Delete', formily_form_path(form), 'data-confirm' => 'Are you sure?', method: :delete, class: 'button tiny alert'
38
+
39
+ = link_to 'Create Form', new_formily_form_path, class: 'button'
40
+ = link_to 'Create new Form Type', new_formily_form_type_path, class: 'button'
@@ -0,0 +1,5 @@
1
+ %h2.text-center
2
+ New Form
3
+
4
+ .ff-container
5
+ = render partial: 'formily/forms/form'
@@ -0,0 +1,4 @@
1
+ %table.forms{border: 0, 'data-formily-form-table' => "#{obj_rel.id}_#{user_id}"}
2
+ %tbody
3
+ - obj_rel.formily_forms.each do |form|
4
+ = render partial: 'formily/helpers/related_forms_tr', locals: {form: form, obj_rel: obj_rel, user_id: user_id}
@@ -0,0 +1 @@
1
+ = render partial: 'formily/partial/form'
@@ -0,0 +1,3 @@
1
+ %div.formily-modal-container#formily_modal_container{style: 'display: none;'}
2
+ #formily_iframe_modal
3
+ %iframe{src: '', frameborder: 0}
@@ -0,0 +1,12 @@
1
+ .related_forms
2
+ - unless title.nil?
3
+ %h5= title
4
+
5
+ %table.forms{border: 0, 'data-formily-form-table' => "#{obj_rel.id}_#{user_id}"}
6
+ %tbody
7
+ - obj_rel.formily_forms.each do |form|
8
+ = render partial: 'formily/helpers/related_forms_tr', locals: {form: form, obj_rel: obj_rel, user_id: user_id}
9
+
10
+ - if flag
11
+ .text-center
12
+ = connect_form_btn_tag obj_rel, user_id, 'New Form', class: 'button small'
@@ -0,0 +1,28 @@
1
+ - submits = form.get_submits(obj_rel, user_id)
2
+
3
+ - unless form.is_deleted && submits.blank?
4
+
5
+ - submits = [nil] if submits.blank?
6
+
7
+ - submits.each_with_index do |submit, i|
8
+
9
+ %tr{'data-formily-form-id' => form.id}
10
+ %td.icon
11
+ - if i == 0
12
+ - p = {user_id: user_id, authenticity_token: form_authenticity_token, form_id: form.id, resource_id: obj_rel.id, resource_type: obj_rel.class.to_s}
13
+ %span.ff-icon-plus{title: 'Add New Response', 'data-tooltip'=> (browser.device.ipad? ? nil : ''), 'data-formily-new-response' => p.to_json, 'data-href' => add_new_response_formily_forms_path}
14
+ %td.icon
15
+ - if submit && submit.input_values.count > 0
16
+ - if submit.is_complete?
17
+ %span.ff-icon-ok{ title: 'Complete', 'data-tooltip'=>''}
18
+ - else
19
+ %span.ff-icon-record{ title: 'In Progress', 'data-tooltip'=>''}
20
+ - else
21
+ %span.ff-icon-record-outline{ title: 'Outstanding', 'data-tooltip'=>''}
22
+
23
+ %td.form-id
24
+ - title = submit_title(form.title, submit)
25
+ = show_formily_form_link_tag form.id, obj_rel, submit.try(:id) , user_id, title, class: 'response'
26
+
27
+ - if form.description.present?
28
+ %span.has-tip.tip-top{'data-tooltip'=> '', 'aria-haspopup'=>true, title: form.description} ?