formily 0.0.5.5.7

Sign up to get free protection for your applications and to get access to all the features.
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} ?