dynamic_fieldsets 0.0.3 → 0.0.4
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.
- data/CHANGELOG +7 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +1 -0
- data/README.rdoc +15 -2
- data/Rakefile +24 -4
- data/VERSION +1 -1
- data/app/controllers/dynamic_fieldsets/fields_controller.rb +25 -0
- data/app/controllers/dynamic_fieldsets/fieldset_children_controller.rb +57 -0
- data/app/controllers/dynamic_fieldsets/fieldsets_controller.rb +91 -5
- data/app/helpers/dynamic_fieldsets/fields_helper.rb +1 -15
- data/app/helpers/dynamic_fieldsets/fieldset_children_helper.rb +5 -0
- data/app/helpers/dynamic_fieldsets/nested_model_helper.rb +18 -0
- data/app/helpers/dynamic_fieldsets_helper.rb +70 -44
- data/app/models/dynamic_fieldsets/dependency.rb +76 -0
- data/app/models/dynamic_fieldsets/dependency_clause.rb +32 -0
- data/app/models/dynamic_fieldsets/dependency_group.rb +108 -0
- data/app/models/dynamic_fieldsets/field.rb +17 -12
- data/app/models/dynamic_fieldsets/field_default.rb +27 -1
- data/app/models/dynamic_fieldsets/field_record.rb +19 -4
- data/app/models/dynamic_fieldsets/fieldset.rb +35 -30
- data/app/models/dynamic_fieldsets/fieldset_associator.rb +52 -8
- data/app/models/dynamic_fieldsets/fieldset_child.rb +148 -0
- data/app/views/dynamic_fieldsets/fields/_disable_field_form.html.erb +4 -0
- data/app/views/dynamic_fieldsets/fields/_field_default_fields.html.erb +1 -1
- data/app/views/dynamic_fieldsets/fields/_form.html.erb +9 -27
- data/app/views/dynamic_fieldsets/fields/index.html.erb +8 -5
- data/app/views/dynamic_fieldsets/fields/new.html.erb +5 -1
- data/app/views/dynamic_fieldsets/fields/show.html.erb +1 -13
- data/app/views/dynamic_fieldsets/fieldset_children/_dependency_clause_fields.html.erb +25 -0
- data/app/views/dynamic_fieldsets/fieldset_children/_dependency_fields.html.erb +12 -0
- data/app/views/dynamic_fieldsets/fieldset_children/_dependency_group_fields.html.erb +16 -0
- data/app/views/dynamic_fieldsets/fieldset_children/_form.html.erb +34 -0
- data/app/views/dynamic_fieldsets/fieldset_children/edit.html.erb +6 -0
- data/app/views/dynamic_fieldsets/fieldsets/_associate_child.html.erb +4 -0
- data/app/views/dynamic_fieldsets/fieldsets/_child.html.erb +41 -0
- data/app/views/dynamic_fieldsets/fieldsets/_form.html.erb +2 -8
- data/app/views/dynamic_fieldsets/fieldsets/children.html.erb +47 -39
- data/app/views/dynamic_fieldsets/fieldsets/index.html.erb +4 -4
- data/app/views/dynamic_fieldsets/fieldsets/new.html.erb +5 -1
- data/app/views/dynamic_fieldsets/fieldsets/reorder.html.erb +4 -0
- data/app/views/dynamic_fieldsets/fieldsets/show.html.erb +1 -12
- data/app/views/dynamic_fieldsets/shared/_javascript_watcher.html.erb +255 -0
- data/app/views/dynamic_fieldsets/shared/_nested_model_javascript.html.erb +35 -0
- data/config/.routes.rb.swp +0 -0
- data/config/routes.rb +11 -0
- data/dynamic_fieldsets.gemspec +41 -4
- data/lib/dynamic_fieldsets/dynamic_fieldsets_in_model.rb +141 -14
- data/lib/generators/dynamic_fieldsets/templates/migrations/install_migration.rb +39 -5
- data/spec/dummy/app/controllers/information_forms_controller.rb +2 -1
- data/spec/dummy/app/models/information_form.rb +1 -1
- data/spec/dummy/app/views/information_forms/dynamic_view.html.erb +18 -0
- data/spec/dummy/app/views/information_forms/show.html.erb +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +9 -1
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/dummy/db/migrate/{20110726215814_create_dynamic_fieldsets_tables.rb → 20110809161724_create_dynamic_fieldsets_tables.rb} +39 -5
- data/spec/dummy/db/schema.rb +40 -11
- data/spec/dummy/features/field.feature +17 -2
- data/spec/dummy/features/fieldset.feature +1 -21
- data/spec/dummy/features/fieldset_children.feature +50 -0
- data/spec/dummy/features/javascript_tests.feature +91 -0
- data/spec/dummy/features/step_definitions/field_steps.rb +9 -5
- data/spec/dummy/features/step_definitions/fieldset_associator_steps.rb +3 -1
- data/spec/dummy/features/step_definitions/fieldset_children_steps.rb +65 -0
- data/spec/dummy/features/step_definitions/fieldset_steps.rb +0 -27
- data/spec/dummy/features/step_definitions/javascript_steps.rb +208 -0
- data/spec/dummy/features/step_definitions/web_steps.rb +5 -0
- data/spec/dummy/features/support/paths.rb +10 -1
- data/spec/dummy/features/support/selectors.rb +2 -0
- data/spec/dummy/public/javascripts/jquery-1.6.2.min.js +18 -0
- data/spec/dummy/public/javascripts/jquery-ui-1.8.15.custom.min.js +111 -0
- data/spec/dummy/public/javascripts/jquery-ui-nestedSortable.js +356 -0
- data/spec/dummy/public/stylesheets/scaffold.css +101 -0
- data/spec/dynamic_fieldsets_helper_spec.rb +236 -55
- data/spec/dynamic_fieldsets_in_model_spec.rb +122 -4
- data/spec/models/dependency_clause_spec.rb +55 -0
- data/spec/models/dependency_group_spec.rb +237 -0
- data/spec/models/dependency_spec.rb +173 -0
- data/spec/models/field_default_spec.rb +49 -0
- data/spec/models/field_record_spec.rb +11 -2
- data/spec/models/field_spec.rb +30 -6
- data/spec/models/fieldset_associator_spec.rb +138 -25
- data/spec/models/fieldset_child_spec.rb +122 -0
- data/spec/models/fieldset_spec.rb +78 -80
- data/spec/support/dependency_group_helper.rb +9 -0
- data/spec/support/dependency_helper.rb +13 -0
- data/spec/support/field_helper.rb +0 -2
- data/spec/support/fieldset_child_helper.rb +10 -0
- data/spec/support/fieldset_helper.rb +2 -18
- metadata +51 -5
|
@@ -10,22 +10,20 @@
|
|
|
10
10
|
</ul>
|
|
11
11
|
</div>
|
|
12
12
|
<% end %>
|
|
13
|
+
|
|
14
|
+
<%= hidden_field_tag :parent, params[:parent] %>
|
|
13
15
|
|
|
14
16
|
<div class="field">
|
|
15
|
-
<%= f.label :
|
|
16
|
-
<%= f.select :fieldset_id, options_for_select(DynamicFieldsets::Fieldset.parent_fieldset_list), :include_blank => "Choose One" %>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="field">
|
|
19
|
-
<%= f.label :name %><br />
|
|
17
|
+
<%= f.label :name %>: (internal)<br/>
|
|
20
18
|
<%= f.text_field :name %>
|
|
21
19
|
</div>
|
|
22
20
|
<div class="field">
|
|
23
|
-
<%= f.label :label
|
|
21
|
+
<%= f.label :label %>: (displayed on the form)<br/>
|
|
24
22
|
<%= f.text_field :label %>
|
|
25
23
|
</div>
|
|
26
24
|
|
|
27
25
|
<div class="field">
|
|
28
|
-
<%= f.label :field_type
|
|
26
|
+
<%= f.label :field_type %>:
|
|
29
27
|
<%= f.select :field_type, options_for_select(DynamicFieldsets::Field.field_types, @field.field_type), :include_blank => "Choose One" %>
|
|
30
28
|
</div>
|
|
31
29
|
<% @field.field_options.each do |field_option| %>
|
|
@@ -36,21 +34,17 @@
|
|
|
36
34
|
<p><%= link_to_add_fields "Add Field Option", f, :field_options %></p>
|
|
37
35
|
|
|
38
36
|
<div class="field">
|
|
39
|
-
<%= f.label :required
|
|
37
|
+
<%= f.label :required %>
|
|
40
38
|
<%= f.check_box :required %>
|
|
41
39
|
</div>
|
|
42
40
|
<div class="field">
|
|
43
|
-
<%= f.label :enabled
|
|
41
|
+
<%= f.label :enabled %>
|
|
44
42
|
<%= f.check_box :enabled %>
|
|
45
43
|
</div>
|
|
46
|
-
<div class="field">
|
|
47
|
-
<%= f.label :order_num, "Order Number" %><br />
|
|
48
|
-
<%= f.text_field :order_num %>
|
|
49
|
-
</div>
|
|
50
44
|
|
|
51
45
|
<% @field.field_defaults.each do |field_default| %>
|
|
52
46
|
<%= f.fields_for :field_defaults, field_default do |field_default_form| %>
|
|
53
|
-
<%= render :partial => "field_default_fields", :locals => {:f => field_default_form} %>
|
|
47
|
+
<%= render :partial => "field_default_fields", :locals => {:f => field_default_form, :obj => field_default} %>
|
|
54
48
|
<% end %>
|
|
55
49
|
<% end %>
|
|
56
50
|
<p><%= link_to_add_fields "Add Default Value", f, :field_defaults %></p>
|
|
@@ -66,16 +60,4 @@
|
|
|
66
60
|
<%= f.submit %>
|
|
67
61
|
</div>
|
|
68
62
|
<% end %>
|
|
69
|
-
|
|
70
|
-
<script>
|
|
71
|
-
function remove_fields(link) {
|
|
72
|
-
$(link).prev("input[type=hidden]").val("1");
|
|
73
|
-
$(link).closest(".fields").hide();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function add_fields(link, association, content) {
|
|
77
|
-
var new_id = new Date().getTime();
|
|
78
|
-
var regexp = new RegExp("new_" + association, "g");
|
|
79
|
-
$(link).parent().before(content.replace(regexp, new_id));
|
|
80
|
-
}
|
|
81
|
-
</script>
|
|
63
|
+
<%= render :partial => "/dynamic_fieldsets/shared/nested_model_javascript" %>
|
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
<table>
|
|
4
4
|
<tr>
|
|
5
|
-
<th>Fieldset</th>
|
|
6
5
|
<th>Name</th>
|
|
7
6
|
<th>Type</th>
|
|
8
|
-
<th>Order num</th>
|
|
9
7
|
<th></th>
|
|
10
8
|
<th></th>
|
|
11
9
|
<th></th>
|
|
@@ -13,13 +11,18 @@
|
|
|
13
11
|
|
|
14
12
|
<% @fields.each do |field| %>
|
|
15
13
|
<tr>
|
|
16
|
-
<td><%= field.fieldset.name if field.fieldset %></td>
|
|
17
14
|
<td><%= field.name %></td>
|
|
18
15
|
<td><%= field.field_type %></td>
|
|
19
|
-
<td><%= field.order_num %></td>
|
|
20
16
|
<td><%= link_to 'Show', dynamic_fieldsets_field_path(field) %></td>
|
|
21
17
|
<td><%= link_to 'Edit', edit_dynamic_fieldsets_field_path(field) %></td>
|
|
22
|
-
<td><%=
|
|
18
|
+
<td><%= render :partial => "disable_field_form", :locals => { :field => field } %></td>
|
|
19
|
+
<td>
|
|
20
|
+
<% if field.in_use? %>
|
|
21
|
+
<del>Destroy</del>
|
|
22
|
+
<% else %>
|
|
23
|
+
<%= button_to 'Destroy', dynamic_fieldsets_field_path(field), :method => :delete %>
|
|
24
|
+
<% end %>
|
|
25
|
+
</td>
|
|
23
26
|
</tr>
|
|
24
27
|
<% end %>
|
|
25
28
|
</table>
|
|
@@ -2,4 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
<%= render 'form' %>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<% if params[:parent].nil? %>
|
|
6
|
+
<%= link_to 'Back', dynamic_fieldsets_fields_path %>
|
|
7
|
+
<% else %>
|
|
8
|
+
<%= link_to 'Back', dynamic_fieldsets_children_dynamic_fieldsets_fieldset_path(params[:parent]) %>
|
|
9
|
+
<% end %>
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
<p id="notice"><%= notice %></p>
|
|
2
|
-
|
|
3
|
-
<p>
|
|
4
|
-
<b>Fieldset:</b>
|
|
5
|
-
<%= @field.fieldset_id %>
|
|
6
|
-
</p>
|
|
7
|
-
|
|
8
1
|
<p>
|
|
9
2
|
<b>Name:</b>
|
|
10
3
|
<%= @field.name %>
|
|
@@ -40,16 +33,11 @@
|
|
|
40
33
|
<%= @field.enabled %>
|
|
41
34
|
</p>
|
|
42
35
|
|
|
43
|
-
<p>
|
|
44
|
-
<b>Order Number:</b>
|
|
45
|
-
<%= @field.order_num %>
|
|
46
|
-
</p>
|
|
47
|
-
|
|
48
36
|
<% if @field.field_defaults.length > 0 %>
|
|
49
37
|
<p>
|
|
50
38
|
<b>Default values:</b><br />
|
|
51
39
|
<% @field.field_defaults.each do |fd| %>
|
|
52
|
-
<%= fd.
|
|
40
|
+
<%= fd.pretty_value %>
|
|
53
41
|
<br />
|
|
54
42
|
<% end %>
|
|
55
43
|
</p>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div>
|
|
2
|
+
<p class="fields">
|
|
3
|
+
<%= f.label "Clause" %>
|
|
4
|
+
<%= f.hidden_field :_destroy %>
|
|
5
|
+
<%= link_to_function "remove", {:class => "remove_dependency_group", :onclick => "remove_fields_and_parent_fields(this)"} %>
|
|
6
|
+
|
|
7
|
+
<table style='outline: 1px solid black;margin:5px;'>
|
|
8
|
+
<tr>
|
|
9
|
+
<th>Field</th>
|
|
10
|
+
<th>Relationship</th>
|
|
11
|
+
<th>Value</th>
|
|
12
|
+
<th></th>
|
|
13
|
+
</tr>
|
|
14
|
+
<% obj.dependencies.each do |dependency| %>
|
|
15
|
+
<%= f.fields_for :dependencies, dependency do |dependency_form| %>
|
|
16
|
+
<%= render :partial => "dependency_fields", :locals => {:f => dependency_form, :obj => dependency} %>
|
|
17
|
+
<% end %>
|
|
18
|
+
<% end %>
|
|
19
|
+
<tr>
|
|
20
|
+
<td colspan='4'><%= link_to_add_fields "Add Rule", f, :dependencies, "add_fields_to_table" %></td>
|
|
21
|
+
</tr>
|
|
22
|
+
</table>
|
|
23
|
+
AND<br />
|
|
24
|
+
</p>
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<td><%= f.select :fieldset_child_id, options_for_select(DynamicFieldsets::FieldsetChild.all.collect { |c| [c.child.name, c.id]})%></td>
|
|
3
|
+
<td><%= f.select :relationship, obj.relationship_list %></td>
|
|
4
|
+
<td><%= f.text_field :value %></td>
|
|
5
|
+
<td>
|
|
6
|
+
<%= f.hidden_field :_destroy %>
|
|
7
|
+
<%= link_to_function "remove", {:class => "remove_dependency", :onclick => "remove_fields_from_table(this)"} %>
|
|
8
|
+
</td>
|
|
9
|
+
</tr>
|
|
10
|
+
<tr>
|
|
11
|
+
<td colspan='4'>OR</td>
|
|
12
|
+
</tr>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<div>
|
|
2
|
+
<p class="fields">
|
|
3
|
+
<%= f.hidden_field :_destroy %>
|
|
4
|
+
<%= link_to_function "remove", {:class => "remove_dependency_group", :onclick => "remove_fields_and_parent_fields(this)"} %>
|
|
5
|
+
<%= f.select :action, obj.action_list %> this field when:
|
|
6
|
+
|
|
7
|
+
<div style='outline: 1px solid black;'>
|
|
8
|
+
<% obj.dependency_clauses.each do |dependency_clause| %>
|
|
9
|
+
<%= f.fields_for :dependency_clauses, dependency_clause do |dependency_clause_form| %>
|
|
10
|
+
<%= render :partial => "dependency_clause_fields", :locals => {:f => dependency_clause_form, :obj => dependency_clause} %>
|
|
11
|
+
<% end %>
|
|
12
|
+
<% end %>
|
|
13
|
+
<p><%= link_to_add_fields "Add Clause", f, :dependency_clauses %></p>
|
|
14
|
+
</div>
|
|
15
|
+
</p>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<%= form_for(@fieldset_child) do |f| %>
|
|
2
|
+
<% if @fieldset_child.errors.any? %>
|
|
3
|
+
<div id="error_explanation">
|
|
4
|
+
<h2><%= pluralize(@fieldset_child.errors.count, "error") %> prohibited this field from being saved:</h2>
|
|
5
|
+
|
|
6
|
+
<ul>
|
|
7
|
+
<% @fieldset_child.errors.full_messages.each do |msg| %>
|
|
8
|
+
<li><%= msg %></li>
|
|
9
|
+
<% end %>
|
|
10
|
+
</ul>
|
|
11
|
+
</div>
|
|
12
|
+
<% end %>
|
|
13
|
+
|
|
14
|
+
<p>
|
|
15
|
+
<b>Field:</b>
|
|
16
|
+
<%= @fieldset_child.child.name %>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p>
|
|
20
|
+
<b>Dependencies:</b>
|
|
21
|
+
<br />
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<%# only expecting a single dependency group for now %>
|
|
25
|
+
<%= f.fields_for :dependency_group, @fieldset_child.dependency_group do |dependency_group_form| %>
|
|
26
|
+
<%= render :partial => "dependency_group_fields", :locals => {:f => dependency_group_form, :obj => @fieldset_child.dependency_group} %>
|
|
27
|
+
<% end %>
|
|
28
|
+
<p><%= link_to_add_fields "Add Dependency", f, :dependency_group %></p>
|
|
29
|
+
|
|
30
|
+
<div class="actions">
|
|
31
|
+
<%= f.submit %>
|
|
32
|
+
</div>
|
|
33
|
+
<% end %>
|
|
34
|
+
<%= render :partial => "/dynamic_fieldsets/shared/nested_model_javascript" %>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<% fieldset.children.each do |child| %>
|
|
2
|
+
<% if child.is_a? DynamicFieldsets::Fieldset then %>
|
|
3
|
+
<% fieldset_child = DynamicFieldsets::FieldsetChild.where( fieldset_id: fieldset.id, child_id: child.id, child_type: "DynamicFieldsets::Fieldset" ).first %>
|
|
4
|
+
<li id="child-<%= fieldset_child.id %>" class="fieldset">
|
|
5
|
+
<div>
|
|
6
|
+
<span class="name"><%= child.name %></span>
|
|
7
|
+
<span class="admin">
|
|
8
|
+
<span class="children">
|
|
9
|
+
<% if child.has_children? then %>
|
|
10
|
+
<%= link_to 'Children', dynamic_fieldsets_children_dynamic_fieldsets_fieldset_path(child) %>
|
|
11
|
+
<% else %>
|
|
12
|
+
<%= link_to 'Add to', dynamic_fieldsets_children_dynamic_fieldsets_fieldset_path(child) %>
|
|
13
|
+
<% end %>
|
|
14
|
+
</span>
|
|
15
|
+
<span class="show"><%= link_to 'Show', dynamic_fieldsets_fieldset_path(child) %></span>
|
|
16
|
+
<span class="edit"><%= link_to 'Edit', edit_dynamic_fieldsets_fieldset_path(child) %></span>
|
|
17
|
+
<span class="destroy"><%= button_to 'Remove', dynamic_fieldsets_remove_fieldset_child_path(fieldset_child), :method => :post %></span>
|
|
18
|
+
</span>
|
|
19
|
+
</div>
|
|
20
|
+
<% if child.has_children? then %>
|
|
21
|
+
<ol>
|
|
22
|
+
<%= render :partial => 'child', :locals => { :fieldset => child } %>
|
|
23
|
+
</ol>
|
|
24
|
+
<% end %>
|
|
25
|
+
</li>
|
|
26
|
+
<% elsif child.is_a? DynamicFieldsets::Field then %>
|
|
27
|
+
<% fieldset_child = DynamicFieldsets::FieldsetChild.where( fieldset_id: fieldset.id, child_id: child.id, child_type: "DynamicFieldsets::Field" ).first %>
|
|
28
|
+
<li id="child-<%= fieldset_child.id %>" class="field<%= ' required' if child.required? %>">
|
|
29
|
+
<div>
|
|
30
|
+
<span class="fieldtype"><%= child.field_type %>:</span>
|
|
31
|
+
<span class="name"><%= child.label %></span>
|
|
32
|
+
<span class="admin">
|
|
33
|
+
<span class="show"><%= link_to 'Show', dynamic_fieldsets_field_path(child) %></span>
|
|
34
|
+
<span class="edit"><%= link_to "Edit Dependency", edit_dynamic_fieldsets_fieldset_child_path(child) %></span>
|
|
35
|
+
<span class="edit"><%= link_to 'Edit Field', edit_dynamic_fieldsets_field_path(child) %></span>
|
|
36
|
+
<span class="destroy"><%= button_to 'Remove', dynamic_fieldsets_remove_fieldset_child_path(fieldset_child), :method => :post %></span>
|
|
37
|
+
</span>
|
|
38
|
+
</div>
|
|
39
|
+
</li>
|
|
40
|
+
<% end %>
|
|
41
|
+
<% end %>
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
</ul>
|
|
11
11
|
</div>
|
|
12
12
|
<% end %>
|
|
13
|
+
|
|
14
|
+
<%= hidden_field_tag :parent, params[:parent] %>
|
|
13
15
|
|
|
14
16
|
<div class="field">
|
|
15
17
|
<%= f.label :nkey %><br />
|
|
@@ -23,14 +25,6 @@
|
|
|
23
25
|
<%= f.label :description %><br />
|
|
24
26
|
<%= f.text_area :description %>
|
|
25
27
|
</div>
|
|
26
|
-
<div class="field">
|
|
27
|
-
<%= f.label :parent_fieldset_id %><br />
|
|
28
|
-
<%= f.select :parent_fieldset_id, options_for_select(DynamicFieldsets::Fieldset.parent_fieldset_list), :include_blank => "Choose One" %>
|
|
29
|
-
</div>
|
|
30
|
-
<div class="field">
|
|
31
|
-
<%= f.label :order_num, "Order Number" %><br />
|
|
32
|
-
<%= f.text_field :order_num %>
|
|
33
|
-
</div>
|
|
34
28
|
<div class="actions">
|
|
35
29
|
<%= f.submit %>
|
|
36
30
|
</div>
|
|
@@ -1,45 +1,53 @@
|
|
|
1
|
-
<
|
|
1
|
+
<h3 class="fieldset name"><%= @fieldset.name %></h3>
|
|
2
|
+
<p class="fieldset description"><%= @fieldset.description %></p>
|
|
2
3
|
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
<th>Type</th>
|
|
6
|
-
<th>Order Number</th>
|
|
7
|
-
<th>Name</th>
|
|
8
|
-
<th>Description/Field Type</th>
|
|
9
|
-
<th>Fieldset Children</th>
|
|
10
|
-
<th></th>
|
|
11
|
-
<th></th>
|
|
12
|
-
<th></th>
|
|
13
|
-
</tr>
|
|
4
|
+
<script>
|
|
5
|
+
$(function() {
|
|
14
6
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
7
|
+
$( "#enable-sorting" ).toggle( function() {
|
|
8
|
+
// Enable sorting
|
|
9
|
+
$( "#children" ).sortable('enable');
|
|
10
|
+
$( "#children" ).addClass('sort');
|
|
11
|
+
$( "#children" ).find('.admin').css('visibility','hidden');
|
|
12
|
+
$("#enable-sorting").html('Save');
|
|
13
|
+
}, function() {
|
|
14
|
+
// Disable sorting, save results
|
|
15
|
+
$( "#children" ).sortable('disable');
|
|
16
|
+
$( "#children" ).removeClass('sort');
|
|
17
|
+
$( "#children" ).find('.admin').css('visibility','visible');
|
|
18
|
+
$("#enable-sorting").html('Change Ordering');
|
|
19
|
+
$.post( "children/reorder",
|
|
20
|
+
$('#children').nestedSortable('serialize')
|
|
21
|
+
);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
$( "#children" ).nestedSortable({
|
|
25
|
+
forcePlaceholderSize: true,
|
|
26
|
+
disableNesting: 'field',
|
|
27
|
+
handle: 'div',
|
|
28
|
+
helper: 'clone',
|
|
29
|
+
items: 'li',
|
|
30
|
+
opacity: .75,
|
|
31
|
+
placeholder: 'placeholder',
|
|
32
|
+
revert: 250,
|
|
33
|
+
tabSize: 25,
|
|
34
|
+
toleranceElement: 'div'
|
|
35
|
+
}).sortable('disable');
|
|
36
|
+
});
|
|
37
|
+
</script>
|
|
40
38
|
|
|
41
|
-
</
|
|
39
|
+
<button type="button" id="enable-sorting">Change Ordering</button>
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
<div id="result"></div>
|
|
42
|
+
|
|
43
|
+
<ol id="children">
|
|
44
|
+
<%= render :partial => 'child', :locals => { :fieldset => @fieldset } %>
|
|
45
|
+
</ol>
|
|
46
|
+
|
|
47
|
+
<%= render :partial => "associate_child", :locals => {:fieldset => @fieldset} %>
|
|
48
|
+
<%= link_to 'Add Field', new_dynamic_fieldsets_field_path(:parent => @fieldset.id) %> |
|
|
49
|
+
<%= link_to 'Add Fieldset', new_dynamic_fieldsets_fieldset_path(:parent => @fieldset.id) %> |
|
|
50
|
+
<%= link_to 'Show Parent Fieldset', dynamic_fieldsets_fieldset_path(@fieldset) %> |
|
|
51
|
+
<%= link_to 'Return to Manager', :controller => :fieldsets, :action => :roots %>
|
|
44
52
|
|
|
45
53
|
<br />
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
<h1>Listing
|
|
1
|
+
<h1>Listing Fieldsets</h1>
|
|
2
|
+
|
|
3
|
+
<p id="notice"><%= notice %></p>
|
|
2
4
|
|
|
3
5
|
<table>
|
|
4
6
|
<tr>
|
|
5
7
|
<th>Nkey</th>
|
|
6
8
|
<th>Name</th>
|
|
7
9
|
<th>Description</th>
|
|
8
|
-
<th>Parent fieldset</th>
|
|
9
10
|
<th></th>
|
|
10
11
|
<th></th>
|
|
11
12
|
<th></th>
|
|
@@ -17,11 +18,10 @@
|
|
|
17
18
|
<td><%= fieldset.nkey %></td>
|
|
18
19
|
<td><%= fieldset.name %></td>
|
|
19
20
|
<td><%= fieldset.description %></td>
|
|
20
|
-
<td><%= fieldset.parent_fieldset_id %></td>
|
|
21
21
|
<td><%= link_to 'Children', dynamic_fieldsets_children_dynamic_fieldsets_fieldset_path(fieldset) %></td>
|
|
22
22
|
<td><%= link_to 'Show', dynamic_fieldsets_fieldset_path(fieldset) %></td>
|
|
23
23
|
<td><%= link_to 'Edit', edit_dynamic_fieldsets_fieldset_path(fieldset) %></td>
|
|
24
|
-
<td><%=
|
|
24
|
+
<td><%= button_to 'Destroy', dynamic_fieldsets_fieldset_path(fieldset), :confirm => 'Are you sure?', :method => :delete %></td>
|
|
25
25
|
</tr>
|
|
26
26
|
<% end %>
|
|
27
27
|
</table>
|
|
@@ -2,4 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
<%= render 'form' %>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<% if params[:parent].nil? %>
|
|
6
|
+
<%= link_to 'Back', dynamic_fieldsets_fieldsets_path %>
|
|
7
|
+
<% else %>
|
|
8
|
+
<%= link_to 'Back', dynamic_fieldsets_children_dynamic_fieldsets_fieldset_path(params[:parent]) %>
|
|
9
|
+
<% end %>
|
|
@@ -15,17 +15,6 @@
|
|
|
15
15
|
<%= @fieldset.description %>
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
<p>
|
|
20
|
-
<b>Parent fieldset:</b>
|
|
21
|
-
<%= @fieldset.parent_fieldset.name %>
|
|
22
|
-
</p>
|
|
23
|
-
|
|
24
|
-
<p>
|
|
25
|
-
<b>Order num:</b>
|
|
26
|
-
<%= @fieldset.order_num %>
|
|
27
|
-
</p>
|
|
28
|
-
<% end %>
|
|
29
|
-
|
|
18
|
+
<%= link_to 'Children', dynamic_fieldsets_children_dynamic_fieldsets_fieldset_path(@fieldset) %> |
|
|
30
19
|
<%= link_to 'Edit', edit_dynamic_fieldsets_fieldset_path(@fieldset) %> |
|
|
31
20
|
<%= link_to 'Back', dynamic_fieldsets_fieldsets_path %>
|