binda 0.1.3 → 0.1.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.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +83 -25
  3. data/app/assets/javascripts/binda/application.js +3 -3
  4. data/app/assets/javascripts/binda/components/bootstrap.js +3 -4
  5. data/app/assets/javascripts/binda/components/field_group_editor.js +10 -10
  6. data/app/assets/javascripts/binda/components/field_setting_choices.js +61 -49
  7. data/app/assets/javascripts/binda/components/fileupload.js +135 -118
  8. data/app/assets/javascripts/binda/components/form_item.js +65 -65
  9. data/app/assets/javascripts/binda/components/form_item_editor.js +19 -19
  10. data/app/assets/javascripts/binda/components/form_item_image.js +11 -13
  11. data/app/assets/javascripts/binda/components/form_item_repeater.js +77 -71
  12. data/app/assets/javascripts/binda/components/login-shader.js +171 -164
  13. data/app/assets/javascripts/binda/components/login_form.js +65 -73
  14. data/app/assets/javascripts/binda/components/radio-toggle.js +8 -12
  15. data/app/assets/javascripts/binda/components/select2.js +19 -14
  16. data/app/assets/javascripts/binda/components/sortable.js +76 -71
  17. data/app/assets/javascripts/binda/dist/binda.bundle.js +735 -727
  18. data/app/assets/javascripts/binda/index.js +49 -35
  19. data/app/assets/stylesheets/binda/components/assets_manager.scss +13 -22
  20. data/app/assets/stylesheets/binda/components/b-alert.scss +18 -14
  21. data/app/assets/stylesheets/binda/components/b-btn.scss +24 -43
  22. data/app/assets/stylesheets/binda/components/field_setting_choices.scss +16 -31
  23. data/app/assets/stylesheets/binda/components/fileupload.scss +25 -42
  24. data/app/assets/stylesheets/binda/components/form_item.scss +51 -93
  25. data/app/assets/stylesheets/binda/components/form_item_choices.scss +7 -10
  26. data/app/assets/stylesheets/binda/components/login.scss +2 -2
  27. data/app/assets/stylesheets/binda/components/main_header.scss +5 -10
  28. data/app/assets/stylesheets/binda/components/main_sidebar.scss +42 -46
  29. data/app/assets/stylesheets/binda/components/main_sortable_table.scss +12 -21
  30. data/app/assets/stylesheets/binda/components/main_table.scss +18 -35
  31. data/app/assets/stylesheets/binda/components/popup_warning.scss +14 -27
  32. data/app/assets/stylesheets/binda/components/select2.scss +46 -48
  33. data/app/assets/stylesheets/binda/components/sortable.scss +25 -45
  34. data/app/assets/stylesheets/binda/components/standard-form.scss +43 -73
  35. data/app/assets/stylesheets/binda/controllers/users_sessions_new.scss +52 -89
  36. data/app/assets/stylesheets/binda/index.scss +0 -1
  37. data/app/assets/stylesheets/binda/settings/buttons.scss +9 -10
  38. data/app/assets/stylesheets/binda/settings/common.scss +17 -22
  39. data/app/assets/stylesheets/binda/settings/fonts.scss +112 -67
  40. data/app/assets/stylesheets/binda/settings/tiny_mce_overrides.scss +20 -36
  41. data/app/assets/stylesheets/binda/settings/variables.scss +38 -43
  42. data/app/controllers/binda/choices_controller.rb +14 -11
  43. data/app/controllers/binda/components_controller.rb +6 -4
  44. data/app/controllers/binda/structures_controller.rb +7 -3
  45. data/app/helpers/binda/components_helper.rb +69 -3
  46. data/app/helpers/binda/field_groups_helper.rb +16 -6
  47. data/app/helpers/binda/structures_helper.rb +1 -4
  48. data/app/models/binda/application_record.rb +4 -1
  49. data/app/models/binda/asset.rb +3 -1
  50. data/app/models/binda/b.rb +1 -0
  51. data/app/models/binda/category.rb +1 -0
  52. data/app/models/binda/checkbox.rb +2 -0
  53. data/app/models/binda/choice.rb +74 -41
  54. data/app/models/binda/component.rb +1 -1
  55. data/app/models/binda/date.rb +4 -0
  56. data/app/models/binda/deprecation.rb +7 -0
  57. data/app/models/binda/field_group.rb +16 -3
  58. data/app/models/binda/field_setting.rb +168 -41
  59. data/app/models/binda/image.rb +1 -0
  60. data/app/models/binda/radio.rb +2 -0
  61. data/app/models/binda/relation.rb +3 -0
  62. data/app/models/binda/repeater.rb +3 -0
  63. data/app/models/binda/selection.rb +237 -0
  64. data/app/models/binda/string.rb +4 -0
  65. data/app/models/binda/structure.rb +25 -14
  66. data/app/models/binda/text.rb +9 -0
  67. data/app/models/binda/video.rb +1 -0
  68. data/app/models/concerns/binda/default_helpers.rb +40 -31
  69. data/app/models/concerns/binda/deprecations.rb +6 -0
  70. data/app/models/concerns/binda/fieldable_association_helpers.rb +366 -0
  71. data/app/models/concerns/binda/fieldable_associations.rb +32 -369
  72. data/app/views/binda/boards/edit.html.erb +15 -2
  73. data/app/views/binda/categories/_form.html.erb +24 -51
  74. data/app/views/binda/categories/edit.html.erb +23 -3
  75. data/app/views/binda/categories/index.html.erb +49 -25
  76. data/app/views/binda/categories/new.html.erb +21 -2
  77. data/app/views/binda/components/edit.html.erb +27 -4
  78. data/app/views/binda/components/index.html.erb +47 -50
  79. data/app/views/binda/components/new.html.erb +12 -2
  80. data/app/views/binda/components/sort_index.html.erb +28 -13
  81. data/app/views/binda/field_groups/_form_body.html.erb +43 -82
  82. data/app/views/binda/field_groups/_form_item.html.erb +3 -120
  83. data/app/views/binda/field_groups/_form_section.html.erb +11 -16
  84. data/app/views/binda/field_groups/_form_section_repeater.html.erb +7 -15
  85. data/app/views/binda/field_groups/edit.html.erb +14 -2
  86. data/app/views/binda/field_groups/form_item/_form_item_choice_editor.html.erb +11 -0
  87. data/app/views/binda/field_groups/form_item/_form_item_editor.html.erb +14 -0
  88. data/app/views/binda/field_groups/form_item/_form_item_header.html.erb +25 -0
  89. data/app/views/binda/field_groups/form_item/_form_item_new_editor.html.erb +8 -0
  90. data/app/views/binda/field_groups/form_item/_form_item_persisted_editor.html.erb +27 -0
  91. data/app/views/binda/field_groups/form_item/form_item_choice/_form_item_allow_null_choice.html.erb +11 -0
  92. data/app/views/binda/field_groups/form_item/form_item_choice/_form_item_choice_header.html.erb +11 -0
  93. data/app/views/binda/field_groups/form_item/form_item_choice/_form_item_default_choice.html.erb +11 -0
  94. data/app/views/binda/field_groups/form_item/form_item_choice/_form_item_new_choice.html.erb +16 -0
  95. data/app/views/binda/field_groups/form_item/form_item_choice/_form_item_persisted_choices.html.erb +16 -0
  96. data/app/views/binda/field_groups/new.html.erb +14 -2
  97. data/app/views/binda/field_settings/_form_body.html.erb +1 -3
  98. data/app/views/binda/field_settings/edit.html.erb +1 -1
  99. data/app/views/binda/field_settings/new.html.erb +1 -1
  100. data/app/views/binda/fieldable/_form_body.html.erb +24 -72
  101. data/app/views/binda/fieldable/_form_item_date.html.erb +1 -4
  102. data/app/views/binda/fieldable/_form_item_image.html.erb +3 -7
  103. data/app/views/binda/fieldable/_form_item_new_repeater.html.erb +0 -13
  104. data/app/views/binda/fieldable/_form_item_selections.html.erb +20 -112
  105. data/app/views/binda/fieldable/form_item_selections/_form_item_checkbox.html.erb +34 -0
  106. data/app/views/binda/fieldable/form_item_selections/_form_item_radio.html.erb +28 -0
  107. data/app/views/binda/fieldable/form_item_selections/_form_item_selection.html.erb +30 -0
  108. data/app/views/binda/manage/users/_form_body.html.erb +1 -31
  109. data/app/views/binda/manage/users/edit.html.erb +12 -2
  110. data/app/views/binda/manage/users/index.html.erb +36 -19
  111. data/app/views/binda/manage/users/new.html.erb +14 -3
  112. data/app/views/binda/structures/_form_body.html.erb +2 -25
  113. data/app/views/binda/structures/_form_section.html.erb +43 -65
  114. data/app/views/binda/structures/_form_sidebar.html.erb +19 -12
  115. data/app/views/binda/structures/edit.html.erb +20 -3
  116. data/app/views/binda/structures/index.html.erb +46 -26
  117. data/app/views/binda/structures/new.html.erb +13 -2
  118. data/app/views/binda/structures/sort_index.html.erb +37 -17
  119. data/app/views/binda/users/sessions/new.html.erb +25 -20
  120. data/app/views/layouts/binda/_form_errors.html.erb +10 -0
  121. data/app/views/layouts/binda/_sidebar.html.erb +6 -6
  122. data/app/views/layouts/binda/application.html.erb +1 -1
  123. data/config/initializers/carrierwave.rb +3 -2
  124. data/config/locales/en.yml +56 -12
  125. data/config/tinymce.yml +2 -2
  126. data/db/migrate/1_create_binda_tables.rb +1 -1
  127. data/lib/binda/version.rb +1 -1
  128. data/lib/generators/binda/setup/setup_generator.rb +2 -2
  129. data/lib/tasks/add_default_choice_to_all_selections_with_no_choices_task.rake +6 -0
  130. metadata +58 -8
  131. data/app/assets/stylesheets/binda/components/form_item_image.scss +0 -0
  132. data/app/views/binda/field_groups/_form_item_choice.erb +0 -104
@@ -1,57 +1,30 @@
1
1
  <div class="standard-form">
2
-
3
- <%= simple_form_for category, url: get_form_category_url do |f| %>
4
-
5
- <%= f.error_notification %>
6
-
7
- <% if f.object.errors.any? %>
8
- <div class="standard-form--error-explanation b-alert b-alert--error">
9
- <%= t('binda.standard_form_error_heading') %> <%= pluralize(f.object.errors.count, t("binda.standard_form_error")) %>:
10
- <ul>
11
- <% f.object.errors.full_messages.each do |msg| %>
12
- <li><%= msg %></li>
13
- <% end %>
14
- </ul>
2
+ <%= simple_form_for category, url: get_form_category_url do |f| %>
3
+ <%= f.error_notification %>
4
+ <%= render 'layouts/binda/form_errors', f: f %>
5
+ <div class="standard-form--body">
6
+ <div class="standard-form--container">
7
+ <div class="standard-form--header">
8
+ <small><%= "#{ t :details }".capitalize %></small>
9
+ </div>
10
+ <div class="standard-form--fields">
11
+ <%= f.input :name, label: "#{t('binda.title')}".capitalize %>
12
+ <% if f.object.slug.nil? %>
13
+ <%= f.input :slug, as: :hidden %>
14
+ <% else %>
15
+ <%= f.input :slug, disabled: true, hint: "#{ t :slug_disable_hint }" %>
16
+ <% end %>
17
+ <%= f.input :description, label: "#{t('description')}".capitalize %>
18
+ </div>
19
+ </div>
15
20
  </div>
16
- <% end %>
17
-
18
- <div class="standard-form--body">
19
-
20
- <div class="standard-form--container">
21
-
21
+ <div class="standard-form--container standard-form--sidebar">
22
22
  <div class="standard-form--header">
23
- <small><%= "#{ t :details }".capitalize %></small>
23
+ <small><%= t(:setting).capitalize.pluralize %></small>
24
24
  </div>
25
-
26
- <div class="standard-form--fields">
27
-
28
- <%= f.input :name, label: "#{t('binda.title')}".capitalize %>
29
-
30
- <% if f.object.slug.nil? %>
31
- <%= f.input :slug, as: :hidden %>
32
- <% else %>
33
- <%= f.input :slug, disabled: true, hint: "#{ t :slug_disable_hint }" %>
34
- <% end %>
35
-
36
- <%= f.input :description, label: "#{t('description')}".capitalize %>
37
-
25
+ <div class="standard-form--main-actions">
26
+ <%= button_tag "<i class=\"fas fa-check\"></i>Save changes".html_safe, { class: 'b-btn b-btn-primary b-btn-settings', id: 'save' }%>
38
27
  </div>
39
-
40
- </div>
41
-
42
- </div>
43
-
44
- <div class="standard-form--container standard-form--sidebar">
45
-
46
- <div class="standard-form--header">
47
- <small><%= t(:setting).capitalize.pluralize %></small>
48
28
  </div>
49
- <div class="standard-form--main-actions">
50
- <%= button_tag "<i class=\"fas fa-check\"></i>Save changes".html_safe, { class: 'b-btn b-btn-primary b-btn-settings', id: 'save' }%>
51
- </div>
52
-
53
- </div>
54
-
55
- <% end %>
56
-
57
- </div>
29
+ <% end %>
30
+ </div>
@@ -1,8 +1,28 @@
1
+ <% content_for :title do %>
2
+ <%= t('binda.edit_category', { arg1: @category.name }) %>
3
+ <% end %>
4
+
5
+
1
6
  <% content_for :header do %>
2
- <p class="main-header--title"><%= t('binda.edit_category', { arg1: @category.name }) %></p>
3
- <a href="<%= structure_categories_path %>" class="main-header--back"><span class="glyphicon glyphicon-list"></span> <%= t(:back_to_index).capitalize %></a>
7
+ <div class="main-header--buttons">
8
+ <a href="<%= new_structure_category_path %>"
9
+ class="main-header--link b-btn b-btn-primary">
10
+ <i class="fa fa-plus" aria-hidden="true"></i>
11
+ <%= t(:new).capitalize %>
12
+ <%= t(:category).capitalize %>
13
+ </a>
14
+ </div>
15
+ <p class="main-header--title">
16
+ <%= t('binda.edit_category', { arg1: @category.name }) %>
17
+ </p>
18
+ <a href="<%= structure_categories_path %>"
19
+ class="main-header--back">
20
+ <i class="fas fa-list-ul"></i>
21
+ <%= t(:back_to_index).capitalize %>
22
+ </a>
4
23
  <% end %>
5
-
24
+
25
+
6
26
  <% content_for :content do %>
7
27
  <%= render 'form', category: @category, structure: @structure %>
8
28
  <% end %>
@@ -1,37 +1,61 @@
1
+ <% content_for :title do %>
2
+ <%= @structure.name.capitalize %>
3
+ <%= t(:category).capitalize.pluralize %>
4
+ <% end %>
5
+
6
+
1
7
  <% content_for :header do %>
2
8
  <div class="main-header--buttons">
3
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i> #{ t(:new).capitalize } #{ t(:category).capitalize }".html_safe, new_structure_category_path, class: 'main-header--link b-btn b-btn-primary' %>
9
+ <a href="<%= new_structure_category_path %>"
10
+ class="main-header--link b-btn b-btn-primary">
11
+ <i class="fa fa-plus" aria-hidden="true"></i>
12
+ <%= t(:new).capitalize %>
13
+ <%= t(:category).capitalize %>
14
+ </a>
4
15
  </div>
5
- <h3><%= @structure.name.capitalize %> <%= t(:category).capitalize.pluralize %></h3>
16
+ <h3>
17
+ <%= @structure.name.capitalize %>
18
+ <%= t(:category).capitalize.pluralize %>
19
+ </h3>
6
20
  <% end %>
7
21
 
8
22
  <% content_for :content do %>
9
23
  <div class="main-table--container">
10
-
11
- <table class="standard-form--container">
12
- <thead class="standard-form--header">
13
- <tr>
14
- <th style="width: 70%;"><%= t(:category).capitalize.pluralize %></th>
15
- <th style="width: 30%;"></th>
24
+ <table class="standard-form--container">
25
+ <thead class="standard-form--header">
26
+ <tr>
27
+ <th colspan="7"><%= t(:category).capitalize.pluralize %></th>
28
+ <th colspan="3"></th>
29
+ </tr>
30
+ </thead>
31
+ <tbody>
32
+ <% @categories.order( :position, :name ).each do |category| %>
33
+ <tr class="main-table--hover" id="category_<%= category.id %>">
34
+ <td colspan="7"><%= link_to category.name, structure_category_path( @structure.slug, category) %></td>
35
+ <td colspan="3" class="main-table--actions">
36
+ <a href="<%= edit_structure_category_path( @structure.slug, category) %>">
37
+ <i class="fas fa-pencil-alt"></i>
38
+ <%= t('binda.edit').capitalize %>
39
+ </a>
40
+ <a href="<%= structure_category_path(@structure.slug, category) %>"
41
+ class="text-destroy"
42
+ data-method="delete"
43
+ data-confirm="<%= t('binda.confirm_delete') %>">
44
+ <i class="far fa-trash-alt"></i>
45
+ <%= t('binda.delete').capitalize %>
46
+ </a>
47
+ </td>
16
48
  </tr>
17
- </thead>
18
-
19
- <tbody>
20
- <% @categories.order( :position, :name ).each do |category| %>
21
- <tr class="main-table--hover" id="category_<%= category.id %>">
22
- <td><%= link_to category.name, structure_category_path( @structure.slug, category) %></td>
23
- <td class="main-table--actions">
24
- <%= link_to "<i class=\"fas fa-pencil-alt\"></i> Edit".html_safe, edit_structure_category_path( @structure.slug, category) %>
25
- <%= link_to "<i class=\"far fa-trash-alt\"></i> Destroy".html_safe, structure_category_path( @structure.slug, category ), method: :delete, data: { confirm: 'Are you sure?' }, class: 'text-destroy' %>
26
- </td>
27
- </tr>
28
- <% end %>
29
- <tbody>
30
- </table>
31
-
49
+ <% end %>
50
+ <tbody>
51
+ </table>
32
52
  <div class="b-btn--container">
33
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i>New #{ t(:category).capitalize }".html_safe, new_structure_category_path, class: 'main-header--link b-btn b-btn-primary' %>
53
+ <a href="<%= new_structure_category_path %>"
54
+ class="main-header--link b-btn b-btn-primary">
55
+ <i class="fa fa-plus" aria-hidden="true"></i>
56
+ <%= t(:new).capitalize %>
57
+ <%= t(:category).capitalize %>
58
+ </a>
34
59
  </div>
35
-
36
60
  </div>
37
61
  <% end %>
@@ -1,6 +1,25 @@
1
+ <% content_for :title do %>
2
+ <%= "#{ t(:new).capitalize } #{ @structure.name.humanize } #{ t(:category).capitalize }" %>
3
+ <% end %>
4
+
5
+
1
6
  <% content_for :header do %>
2
- <h3><%= "#{ t(:new).capitalize } #{ @structure.name.humanize } #{ t(:category).capitalize }" %></h3>
3
- <a href="<%= structure_categories_path %>" class="main-header--back"><span class="glyphicon glyphicon-list"></span> <%= t(:back_to_index).capitalize %></a>
7
+ <div class="main-header--buttons">
8
+ <a href="<%= new_structure_category_path %>"
9
+ class="main-header--link b-btn b-btn-primary">
10
+ <i class="fa fa-plus" aria-hidden="true"></i>
11
+ <%= t(:new).capitalize %>
12
+ <%= t(:category).capitalize %>
13
+ </a>
14
+ </div>
15
+ <h3>
16
+ <%= "#{ t(:new).capitalize } #{ @structure.name.humanize } #{ t(:category).capitalize }" %>
17
+ </h3>
18
+ <a href="<%= structure_categories_path %>"
19
+ class="main-header--back">
20
+ <i class="fas fa-list-ul"></i>
21
+ <%= t(:back_to_index).capitalize %>
22
+ </a>
4
23
  <% end %>
5
24
 
6
25
  <% content_for :content do %>
@@ -1,14 +1,37 @@
1
+ <% content_for :title do %>
2
+ <%= "#{ t :edit }".capitalize %>
3
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
4
+ <% end %>
5
+
6
+
1
7
  <% content_for :header do %>
2
8
  <div class="main-header--buttons">
3
9
  <% if @structure.has_preview %>
4
- <%= link_to "<i class=\"fas fa-link\"></i>#{ t 'binda.preview' } #{ @structure.name.humanize.split.map(&:capitalize).join(' ') }".html_safe, "#{binda.root_path}#{@structure.slug}/#{@instance.slug}", class: 'main-header--link b-btn b-btn-primary' %>
10
+ <a href="<%= "#{binda.root_path}#{@structure.slug}/#{@instance.slug}" %>"
11
+ class="main-header--link b-btn b-btn-primary">
12
+ <i class="fas fa-link"></i>
13
+ <%= t 'binda.preview' %>
14
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
15
+ </a>
5
16
  <% end %>
6
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i>#{ t 'binda.new' } #{ @structure.name.humanize.split.map(&:capitalize).join(' ') }".html_safe, new_structure_component_path , class: 'main-header--link b-btn b-btn-primary' %>
17
+ <a href="<%= new_structure_component_path %>"
18
+ class="main-header--link b-btn b-btn-primary">
19
+ <i class="fa fa-plus" aria-hidden="true"></i>
20
+ <%= t 'binda.new' %>
21
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
22
+ </a>
7
23
  </div>
8
- <p class="main-header--title"><%= "#{ t :edit }".capitalize %> <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %></p>
9
- <a href="<%= structure_components_path %>" class="main-header--back"><span class="glyphicon glyphicon-list"></span> <%= "#{ t :back_to_index }".capitalize %></a>
24
+ <p class="main-header--title">
25
+ <%= "#{ t :edit }".capitalize %>
26
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
27
+ </p>
28
+ <a href="<%= structure_components_path %>" class="main-header--back">
29
+ <i class="fas fa-list-ul"></i>
30
+ <%= "#{ t :back_to_index }".capitalize %>
31
+ </a>
10
32
  <% end %>
11
33
 
34
+
12
35
  <% content_for :content do %>
13
36
  <%= render 'binda/fieldable/form_body' %>
14
37
  <% end %>
@@ -1,86 +1,83 @@
1
+ <% content_for :title do %>
2
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize %>
3
+ <% end %>
4
+
5
+
1
6
  <% content_for :header do %>
2
7
  <div class="main-header--buttons">
3
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i> New #{ @structure.name.humanize.split.map(&:capitalize).join(' ') }".html_safe, new_structure_component_path , class: 'main-header--link b-btn b-btn-primary' %>
8
+ <a href="<%= new_structure_component_path %>"
9
+ class="main-header--link b-btn b-btn-primary">
10
+ <i class="fa fa-plus" aria-hidden="true"></i>
11
+ <%= t('binda.new') %>
12
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
13
+ </a>
4
14
  <%= get_sort_index_link %>
5
15
  </div>
6
- <p class="main-header--title"><%= @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize %></p>
16
+ <p class="main-header--title">
17
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize %>
18
+ </p>
7
19
  <% end %>
8
20
 
9
- <% content_for :content do %>
10
21
 
22
+ <% content_for :content do %>
11
23
  <div class="main-table--container">
12
-
13
24
  <div class="pagination-links--bar">
14
25
  <%= paginate @components %>
15
26
  </div>
16
-
17
27
  <table class="standard-form--container" cellspacing="0">
18
-
19
28
  <thead class="standard-form--header">
20
29
  <tr>
21
- <th style="width: 50%">
22
- <a href="<%=
23
- if params[:order] == 'LOWER(name) ASC'
24
- structure_components_path([@structure], order:'LOWER(name) DESC')
25
- else
26
- structure_components_path([@structure], order:'LOWER(name) ASC')
27
- end
28
- %>" class="sort-link">
29
- Title
30
- <% if params[:order] == 'LOWER(name) ASC' %>
31
- <i class="fa fa-sort-alpha-asc" aria-hidden="true"></i>
32
- <% else %>
33
- <i class="fa fa-sort-alpha-desc" aria-hidden="true"></i>
34
- <% end %>
30
+ <th colspan="4">
31
+ <a href="<%= get_sort_link_by('name').html_safe %>">
32
+ <%= t 'binda.title' %>
33
+ <%= get_sort_link_icon_by('name').html_safe %>
35
34
  </a>
36
35
  </th>
37
- <th style="width: 20%">
38
- <a href="<%=
39
- if params[:order] == 'publish_state ASC, LOWER(name) ASC'
40
- structure_components_path([@structure], order:'publish_state DESC, LOWER(name) ASC')
41
- else
42
- structure_components_path([@structure], order:'publish_state ASC, LOWER(name) ASC')
43
- end
44
- %>" class="sort-link">
45
- Publish state
46
- <% if params[:order] == 'LOWER(name) ASC' %>
47
- <i class="fa fa-sort-alpha-asc" aria-hidden="true"></i>
48
- <% else %>
49
- <i class="fa fa-sort-alpha-desc" aria-hidden="true"></i>
50
- <% end %>
36
+ <th colspan="2">
37
+ <a href="<%= get_sort_link_by('publish_state').html_safe %>">
38
+ <%= t 'binda.publish_state' %>
39
+ <%= get_sort_link_icon_by('publish_state').html_safe %>
51
40
  </a>
52
41
  </th>
53
- <th style="width: 30%">Actions</th>
42
+ <th colspan="1">Actions</th>
54
43
  </tr>
55
44
  </thead>
56
45
  <tbody>
57
46
  <% @components.each do |component| %>
58
47
  <tr class="main-table--hover" id="component_<%= component.id %>">
59
- <td><%= link_to component.name, structure_component_path( @structure.slug, component ) %></td>
60
- <td><%= component.publish_state %></td>
61
- <td class="main-table--actions">
62
- <%= link_to "<i class=\"fas fa-pencil-alt\"></i> #{t('binda.edit').capitalize}".html_safe, edit_structure_component_path( @structure.slug, component ) %>
63
-
64
- <%= link_to "<i class=\"far fa-trash-alt\"></i> #{t('binda.delete').capitalize}".html_safe, structure_component_path( @structure.slug, component.slug ),
65
- method: :delete,
66
- data: { confirm: 'Are you sure?' },
67
- class: 'text-destroy' %>
48
+ <td colspan="4">
49
+ <%= link_to component.name, structure_component_path( @structure.slug, component ) %>
68
50
  </td>
51
+ <td colspan="2"><%= component.publish_state %></td>
52
+ <td class="main-table--actions">
53
+ <a href="<%= edit_structure_component_path( @structure.slug, component ) %>">
54
+ <i class="fas fa-pencil-alt"></i>
55
+ <%= t('binda.edit').capitalize %>
56
+ </a>
57
+ <a href="<%= structure_component_path( @structure.slug, component.slug ) %>"
58
+ class="text-destroy"
59
+ data-method="delete"
60
+ data-confirm="<%= t('binda.confirm_delete') %>"
61
+ >
62
+ <i class="far fa-trash-alt"></i>
63
+ <%= t('binda.delete').capitalize %>
64
+ </a>
65
+ </td colspan="1">
69
66
  </tr>
70
67
  <% end %>
71
68
  <tbody>
72
-
73
69
  </table>
74
-
75
70
  <div class="pagination-links--bar">
76
71
  <%= paginate @components %>
77
72
  </div>
78
-
79
73
  <div class="b-btn--container">
80
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i> New #{ @structure.name.humanize.split.map(&:capitalize).join(' ') }".html_safe, new_structure_component_path, class: 'main-header--link b-btn b-btn-primary', action: "new" %>
74
+ <a href="<%= new_structure_component_path %>"
75
+ class="main-header--link b-btn b-btn-primary">
76
+ <i class="fa fa-plus" aria-hidden="true"></i>
77
+ <%= t('binda.new') %>
78
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
79
+ </a>
81
80
  <%= get_sort_index_link %>
82
81
  </div>
83
-
84
82
  </div>
85
-
86
83
  <% end %>
@@ -1,6 +1,16 @@
1
+ <% content_for :title do %>
2
+ <%= t('binda.new_component',{ arg1: @structure.name.humanize.split.map(&:capitalize).join(' ') }) %>
3
+ <% end %>
4
+
1
5
  <% content_for :header do %>
2
- <p class="main-header--title"><%= t('binda.new_component',{ arg1: @structure.name.humanize.split.map(&:capitalize).join(' ') }) %></p>
3
- <a href="<%= structure_components_path %>" class="main-header--back"><span class="glyphicon glyphicon-list"></span> <%= "#{ t :back_to_index }".capitalize %></a>
6
+ <p class="main-header--title">
7
+ <%= t('binda.new_component',{ arg1: @structure.name.humanize.split.map(&:capitalize).join(' ') }) %>
8
+ </p>
9
+ <a href="<%= structure_components_path %>"
10
+ class="main-header--back">
11
+ <i class="fas fa-list-ul"></i>
12
+ <%= "#{ t :back_to_index }".capitalize %>
13
+ </a>
4
14
  <% end %>
5
15
 
6
16
  <% content_for :content do %>
@@ -1,23 +1,36 @@
1
+ <% content_for :title do %>
2
+ <%= t('binda.sort').capitalize %>
3
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize %>
4
+ <% end %>
5
+
6
+
1
7
  <% content_for :header do %>
2
8
  <div class="main-header--buttons">
3
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i> New #{ @structure.name.humanize.split.map(&:capitalize).join(' ') }".html_safe, new_structure_component_path , class: 'main-header--link b-btn b-btn-primary' %>
9
+ <a href="<%= new_structure_component_path %>"
10
+ class="main-header--link b-btn b-btn-primary">
11
+ <i class="fa fa-plus" aria-hidden="true"></i>
12
+ <%= t('binda.new') %>
13
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
14
+ </a>
4
15
  </div>
5
-
6
- <p class="main-header--title"><%= t('binda.sort').capitalize %> <%= @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize %></p>
7
- <a href="<%= structure_components_path %>" class="main-header--back"><span class="glyphicon glyphicon-list"></span> <%= "#{ t :back_to_index }".capitalize %></a>
16
+ <p class="main-header--title">
17
+ <%= t('binda.sort').capitalize %>
18
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize %>
19
+ </p>
20
+ <a href="<%= structure_components_path %>"
21
+ class="main-header--back">
22
+ <i class="fas fa-list-ul"></i>
23
+ <%= "#{ t :back_to_index }".capitalize %>
24
+ </a>
8
25
  <% end %>
9
26
 
10
27
  <% content_for :content do %>
11
-
12
28
  <%= render 'layouts/binda/popup_warning' %>
13
-
14
29
  <div class="main-sortable-table">
15
-
16
30
  <div class="main-sortable-table--header-row">
17
31
  <div class="main-sortable-table--header-title"><p>Title</p></div>
18
32
  <div class="main-sortable-table--header-title"><p>Publish State</p></div>
19
33
  </div>
20
-
21
34
  <div id="<%= @structure.slug %>-components--sort-index" class="sortable" data-update-url="<%= structure_components_sort_path( @structure.slug ) %>" data-message="<%= t 'binda.sort_items_loader', { arg1: t('binda.components').downcase } %>">
22
35
  <% @components.order( :position, :name ).each do |component| %>
23
36
  <div class="main-sortable-table--row ui-sortable-handle" id="component_<%= component.id %>">
@@ -26,10 +39,12 @@
26
39
  </div>
27
40
  <% end %>
28
41
  </div>
29
-
30
42
  </div>
31
-
32
- <%= link_to "<i class=\"fa fa-plus\" aria-hidden=\"true\"></i> New #{ @structure.name.humanize.split.map(&:capitalize).join(' ') }".html_safe, new_structure_component_path, class: 'main-header--link b-btn b-btn-primary', action: "new" %>
33
-
34
-
43
+ <a href="<%= new_structure_component_path %>"
44
+ class="main-header--link b-btn b-btn-primary"
45
+ action: "new">
46
+ <i class="fa fa-plus" aria-hidden="true"></i>
47
+ <%= t('binda.new') %>
48
+ <%= @structure.name.humanize.split.map(&:capitalize).join(' ') %>
49
+ </a>
35
50
  <% end %>