swop 0.1.1 → 1.0.0

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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +47 -9
  3. data/app/assets/images/swop/favicon.ico +0 -0
  4. data/app/assets/stylesheets/rails_admin/application.scss.erb +11 -20
  5. data/app/assets/stylesheets/{rails_admin/themes/base/base.scss → swop/swop-base/swop-base.scss} +1 -5
  6. data/app/assets/stylesheets/swop/swop-base/swop-typography.scss +11 -0
  7. data/app/assets/stylesheets/swop/swop-colors/swop-colors.scss +2 -0
  8. data/app/assets/stylesheets/swop/swop-core/swop-bootstrap-variables.scss +172 -0
  9. data/app/assets/stylesheets/swop/swop-core/swop-variables.scss +34 -0
  10. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-base/swop-base.scss +3 -0
  11. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-base/swop-main.scss +25 -0
  12. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-base/swop-typography.scss +4 -0
  13. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-colors/swop-amethyst.scss +29 -0
  14. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-colors/swop-dark.scss +29 -0
  15. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-colors/swop-forest.scss +29 -0
  16. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-colors/swop-light.scss +29 -0
  17. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-colors/swop-royal.scss +29 -0
  18. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-alerts.scss +12 -0
  19. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-badges.scss +31 -0
  20. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-buttons.scss +133 -0
  21. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-dropdowns.scss +26 -0
  22. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-filters.scss +57 -0
  23. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-forms.scss +158 -0
  24. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-images.scss +31 -0
  25. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-input-groups.scss +18 -0
  26. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-loading.scss +14 -0
  27. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-navbar.scss +15 -0
  28. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-navs.scss +77 -0
  29. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-offcanvas.scss +64 -0
  30. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-pagination.scss +21 -0
  31. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-progress.scss +3 -0
  32. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-sidebars.scss +49 -0
  33. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-tables.scss +82 -0
  34. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-components/swop-tiles.scss +20 -0
  35. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-core/swop-bootstrap-variables.scss +149 -0
  36. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-core/swop-variables.scss +41 -0
  37. data/app/assets/stylesheets/{rails_admin/themes/simple/components/containers.scss → swop/swop-themes/swop-simple/swop-layouts/swop-containers.scss} +9 -0
  38. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-layouts/swop-header.scss +15 -0
  39. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-amethyst.scss +35 -0
  40. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-base.scss +3 -0
  41. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-components.scss +17 -0
  42. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-dark.scss +35 -0
  43. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-forest.scss +35 -0
  44. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-layouts.scss +2 -0
  45. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-light.scss +35 -0
  46. data/app/assets/stylesheets/swop/swop-themes/swop-simple/swop-simple-royal.scss +35 -0
  47. data/app/assets/stylesheets/swop/swop.scss +8 -0
  48. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +7 -0
  49. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +5 -0
  50. data/app/views/kaminari/ra-twitter-bootstrap/default/_next_page.html.erb +9 -0
  51. data/app/views/kaminari/ra-twitter-bootstrap/default/_prev_page.html.erb +9 -0
  52. data/app/views/kaminari/ra-twitter-bootstrap/swop-simple/_next_page.html.erb +9 -0
  53. data/app/views/kaminari/ra-twitter-bootstrap/swop-simple/_prev_page.html.erb +9 -0
  54. data/app/views/layouts/rails_admin/_head.html.erb +5 -32
  55. data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +5 -3
  56. data/app/views/layouts/rails_admin/application.html.erb +5 -27
  57. data/app/views/layouts/rails_admin/content.html.erb +4 -11
  58. data/app/views/layouts/rails_admin/default/_application.html.erb +27 -0
  59. data/app/views/layouts/rails_admin/default/_content.html.erb +22 -0
  60. data/app/views/layouts/rails_admin/default/_head.html.erb +32 -0
  61. data/app/views/layouts/rails_admin/default/_sidebar_navigation.html.erb +5 -0
  62. data/app/views/layouts/rails_admin/swop-simple/_application.html.erb +17 -0
  63. data/app/views/layouts/rails_admin/swop-simple/_content.html.erb +41 -0
  64. data/app/views/layouts/rails_admin/swop-simple/_head.html.erb +42 -0
  65. data/app/views/layouts/rails_admin/swop-simple/_sidebar_navigation.html.erb +12 -0
  66. data/app/views/rails_admin/main/_delete_notice.html.erb +7 -0
  67. data/app/views/rails_admin/main/default/_delete.html.erb +21 -0
  68. data/app/views/rails_admin/main/default/_delete_notice.html.erb +34 -0
  69. data/app/views/rails_admin/main/default/_edit.html.erb +3 -0
  70. data/app/views/rails_admin/main/default/_export.html.erb +149 -0
  71. data/app/views/rails_admin/main/default/_history.html.erb +80 -0
  72. data/app/views/rails_admin/main/default/_index.html.erb +184 -0
  73. data/app/views/rails_admin/main/default/_new.html.erb +3 -0
  74. data/app/views/rails_admin/main/default/_show.html.erb +30 -0
  75. data/app/views/rails_admin/main/delete.html.erb +5 -0
  76. data/app/views/rails_admin/main/edit.html.erb +5 -0
  77. data/app/views/rails_admin/main/export.html.erb +5 -128
  78. data/app/views/rails_admin/main/history.html.erb +4 -86
  79. data/app/views/rails_admin/main/index.html.erb +4 -173
  80. data/app/views/rails_admin/main/new.html.erb +5 -0
  81. data/app/views/rails_admin/main/show.html.erb +5 -20
  82. data/app/views/rails_admin/main/swop-simple/_delete.html.erb +11 -0
  83. data/app/views/rails_admin/main/swop-simple/_delete_notice.html.erb +23 -0
  84. data/app/views/rails_admin/main/swop-simple/_edit.html.erb +3 -0
  85. data/app/views/rails_admin/main/swop-simple/_export.html.erb +90 -0
  86. data/app/views/rails_admin/main/swop-simple/_history.html.erb +80 -0
  87. data/app/views/rails_admin/main/swop-simple/_index.html.erb +169 -0
  88. data/app/views/rails_admin/main/swop-simple/_new.html.erb +3 -0
  89. data/app/views/rails_admin/main/swop-simple/_show.html.erb +18 -0
  90. data/lib/swop/engine.rb +8 -3
  91. data/lib/swop/railtie.rb +7 -0
  92. data/lib/swop/version.rb +1 -1
  93. data/lib/swop.rb +20 -2
  94. metadata +102 -98
  95. data/CHANGELOG.md +0 -5
  96. data/CODE_OF_CONDUCT.md +0 -132
  97. data/LICENSE +0 -201
  98. data/Rakefile +0 -4
  99. data/app/assets/javascripts/rails_admin/application.js.erb +0 -33
  100. data/app/assets/javascripts/rails_admin/custom/abstract-select.js +0 -30
  101. data/app/assets/javascripts/rails_admin/custom/filter-box.js +0 -363
  102. data/app/assets/javascripts/rails_admin/custom/filtering-multiselect.js +0 -387
  103. data/app/assets/javascripts/rails_admin/custom/filtering-select.js +0 -304
  104. data/app/assets/stylesheets/rails_admin/themes/base/bootstrap-variables.scss +0 -252
  105. data/app/assets/stylesheets/rails_admin/themes/base/theming.scss +0 -22
  106. data/app/assets/stylesheets/rails_admin/themes/base/variables.scss +0 -71
  107. data/app/assets/stylesheets/rails_admin/themes/simple/base/typography.scss +0 -22
  108. data/app/assets/stylesheets/rails_admin/themes/simple/base/variables-dark.scss +0 -74
  109. data/app/assets/stylesheets/rails_admin/themes/simple/base/variables-light.scss +0 -77
  110. data/app/assets/stylesheets/rails_admin/themes/simple/base/variables-navy.scss +0 -74
  111. data/app/assets/stylesheets/rails_admin/themes/simple/base/variables.scss +0 -129
  112. data/app/assets/stylesheets/rails_admin/themes/simple/components/alerts.scss +0 -88
  113. data/app/assets/stylesheets/rails_admin/themes/simple/components/breadcrumbs.scss +0 -44
  114. data/app/assets/stylesheets/rails_admin/themes/simple/components/buttons.scss +0 -138
  115. data/app/assets/stylesheets/rails_admin/themes/simple/components/dropdowns.scss +0 -12
  116. data/app/assets/stylesheets/rails_admin/themes/simple/components/filter-box.scss +0 -8
  117. data/app/assets/stylesheets/rails_admin/themes/simple/components/filtering-multiselect.scss +0 -40
  118. data/app/assets/stylesheets/rails_admin/themes/simple/components/filtering-select.scss +0 -42
  119. data/app/assets/stylesheets/rails_admin/themes/simple/components/forms.scss +0 -27
  120. data/app/assets/stylesheets/rails_admin/themes/simple/components/images.scss +0 -19
  121. data/app/assets/stylesheets/rails_admin/themes/simple/components/links.scss +0 -25
  122. data/app/assets/stylesheets/rails_admin/themes/simple/components/navs.scss +0 -73
  123. data/app/assets/stylesheets/rails_admin/themes/simple/components/progress.scss +0 -4
  124. data/app/assets/stylesheets/rails_admin/themes/simple/components/sidebar.scss +0 -84
  125. data/app/assets/stylesheets/rails_admin/themes/simple/components/tables.scss +0 -84
  126. data/app/assets/stylesheets/rails_admin/themes/simple/layouts/rows.scss +0 -34
  127. data/app/assets/stylesheets/rails_admin/themes/simple/light/components/links.scss +0 -15
  128. data/app/assets/stylesheets/rails_admin/themes/simple/light/components/sidebar.scss +0 -25
  129. data/app/assets/stylesheets/rails_admin/themes/simple.scss.erb +0 -37
  130. data/app/helpers/rails_admin/application_helper.rb +0 -258
  131. data/app/helpers/rails_admin/form_builder.rb +0 -166
  132. data/app/views/layouts/rails_admin/_custom_navigation.html.erb +0 -10
  133. data/app/views/layouts/rails_admin/_header.html.erb +0 -43
  134. data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +0 -15
  135. data/app/views/rails_admin/main/_submit_buttons.html.erb +0 -29
  136. data/app/views/rails_admin/main/dashboard.html.erb +0 -64
  137. data/config/locales/rails_admin.en.yml +0 -158
  138. data/sig/swop.rbs +0 -4
  139. /data/app/assets/stylesheets/{rails_admin/themes/base/mixins.scss → swop/swop-core/swop-mixins.scss} +0 -0
@@ -1,166 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'nested_form/builder_mixin'
4
-
5
- module RailsAdmin
6
- class FormBuilder < ::ActionView::Helpers::FormBuilder
7
- include ::NestedForm::BuilderMixin
8
- include ::RailsAdmin::ApplicationHelper
9
-
10
- def generate(options = {})
11
- without_field_error_proc_added_div do
12
- options.reverse_merge!(
13
- action: @template.controller.params[:action],
14
- model_config: @template.instance_variable_get(:@model_config),
15
- nested_in: false,
16
- )
17
-
18
- object_infos +
19
- visible_groups(options[:model_config], generator_action(options[:action], options[:nested_in])).collect do |fieldset|
20
- fieldset_for fieldset, options[:nested_in]
21
- end.join.html_safe +
22
- (options[:nested_in] ? '' : @template.render(partial: 'rails_admin/main/submit_buttons'))
23
- end
24
- end
25
-
26
- def fieldset_for(fieldset, nested_in)
27
- fields = fieldset.with(
28
- form: self,
29
- object: @object,
30
- view: @template,
31
- controller: @template.controller,
32
- ).visible_fields
33
- return if fields.empty?
34
-
35
- @template.content_tag :fieldset do
36
- contents = []
37
- contents << @template.content_tag(:legend, %(<i class="fas fa-chevron-#{fieldset.active? ? 'down' : 'right'}"></i> #{fieldset.label}).html_safe, style: fieldset.name == :default ? 'display:none' : '')
38
- contents << @template.content_tag(:p, fieldset.help) if fieldset.help.present?
39
- contents << fields.collect { |field| field_wrapper_for(field, nested_in) }.join
40
- contents.join.html_safe
41
- end
42
- end
43
-
44
- def field_wrapper_for(field, nested_in)
45
- # do not show nested field if the target is the origin
46
- return if nested_field_association?(field, nested_in)
47
-
48
- @template.content_tag(:div, class: "control-group row mb-3 #{field.type_css_class} #{field.css_class} #{'error' if field.errors.present?}", id: "#{dom_id(field)}_field") do
49
- if field.label
50
- label(field.method_name, field.label, class: 'form-label') +
51
- (field.nested_form ? field_for(field) : input_for(field))
52
- else
53
- field.nested_form ? field_for(field) : input_for(field)
54
- end
55
- end
56
- end
57
-
58
- def input_for(field)
59
- css = 'col'
60
-
61
- case field.type
62
- when :string
63
- css += " col-md-10 col-xl-5"
64
- when :serialized
65
- css += " col-md-20 col-xl-10"
66
- when :integer
67
- css += " col-md-5 col-xl-3"
68
- end
69
- css += ' has-error' if field.errors.present?
70
- @template.content_tag(:div, class: css) do
71
- field_for(field) +
72
- errors_for(field) +
73
- help_for(field)
74
- end
75
- end
76
-
77
- def errors_for(field)
78
- field.errors.present? ? @template.content_tag(:span, field.errors.to_sentence, class: 'help-inline text-danger') : ''.html_safe
79
- end
80
-
81
- def help_for(field)
82
- field.help.present? ? @template.content_tag(:div, field.help, class: 'form-text') : ''.html_safe
83
- end
84
-
85
- def field_for(field)
86
- field.read_only? ? @template.content_tag(:div, field.pretty_value, class: 'form-control-static') : field.render
87
- end
88
-
89
- def object_infos
90
- model_config = RailsAdmin.config(object)
91
- model_label = model_config.label
92
- object_label =
93
- if object.new_record?
94
- I18n.t('admin.form.new_model', name: model_label)
95
- else
96
- object.send(model_config.object_label_method).presence || "#{model_config.label} ##{object.id}"
97
- end
98
-
99
- %(<span style="display:none" class="object-infos" data-model-label="#{model_label}" data-object-label="#{CGI.escapeHTML(object_label.to_s)}"></span>).html_safe
100
- end
101
-
102
- def jquery_namespace(field)
103
- %(#{'#modal ' if @template.controller.params[:modal]}##{dom_id(field)}_field)
104
- end
105
-
106
- def dom_id(field)
107
- (@dom_id ||= {})[field.name] ||=
108
- [
109
- @object_name.to_s.gsub(/\]\[|[^-a-zA-Z0-9:.]/, '_').sub(/_$/, ''),
110
- options[:index],
111
- field.method_name,
112
- ].reject(&:blank?).join('_')
113
- end
114
-
115
- def dom_name(field)
116
- (@dom_name ||= {})[field.name] ||= %(#{@object_name}#{options[:index] && "[#{options[:index]}]"}[#{field.method_name}]#{field.is_a?(Config::Fields::Association) && field.multiple? ? '[]' : ''})
117
- end
118
-
119
- def hidden_field(method, options = {})
120
- if method == :id && object.id.is_a?(Array)
121
- super method, {value: RailsAdmin.config.composite_keys_serializer.serialize(object.id)}
122
- else
123
- super
124
- end
125
- end
126
-
127
- protected
128
-
129
- def generator_action(action, nested)
130
- if nested
131
- action = :nested
132
- elsif @template.request.format == 'text/javascript'
133
- action = :modal
134
- end
135
-
136
- action
137
- end
138
-
139
- def visible_groups(model_config, action)
140
- model_config.send(action).with(
141
- form: self,
142
- object: @object,
143
- view: @template,
144
- controller: @template.controller,
145
- ).visible_groups
146
- end
147
-
148
- def without_field_error_proc_added_div
149
- default_field_error_proc = ::ActionView::Base.field_error_proc
150
- begin
151
- ::ActionView::Base.field_error_proc = proc { |html_tag, _instance| html_tag }
152
- yield
153
- ensure
154
- ::ActionView::Base.field_error_proc = default_field_error_proc
155
- end
156
- end
157
-
158
- private
159
-
160
- def nested_field_association?(field, nested_in)
161
- field.inverse_of.presence && nested_in.presence && field.inverse_of == nested_in.name &&
162
- (@template.instance_variable_get(:@model_config).abstract_model == field.abstract_model ||
163
- field.name == nested_in.inverse_of)
164
- end
165
- end
166
- end
@@ -1,10 +0,0 @@
1
- <% actions(:root).select(&:show_in_navigation).each do |action| %>
2
- <% path = rails_admin.url_for(action: action.action_name, controller: "rails_admin/main") %>
3
- <li class="nav-item <%= "#{action.action_name}_root_link" %>">
4
- <%= link_to wording_for(:menu, action), path, class: "nav-link #{'active' if current_page?(path)}", data: (action.turbo? ? {} : { turbo: "false" }) %>
5
- </li>
6
- <% end %>
7
-
8
- <%= main_navigation %>
9
- <%= root_navigation %>
10
- <%= static_navigation %>
@@ -1,43 +0,0 @@
1
- <title><%= "#{@abstract_model.try(:pretty_name) || @page_name} | #{[_get_plugin_name[0] || 'Rails', _get_plugin_name[1] || 'Admin'].join(' ')}" %></title>
2
-
3
- <header class="row align-items-center gx-4 gy-0 gx-md-5 mb-6 mb-md-7" data-model="<%= @abstract_model.to_param %>">
4
- <div class="col-15 col-md-17 col-lg-19 flex-grow-1 me-auto">
5
- <nav aria-label="breadcrumb">
6
- <%= breadcrumb %>
7
- </nav>
8
- <h1 class="text-truncate mb-0"><%= @page_name %></h1>
9
- </div>
10
- <!-- if md breakpoint -->
11
- <div class="col-auto d-none d-md-flex">
12
- <%= link_to (icon "fa-solid", "info-circle"), "https://www.swopthemes.com/", class: "fs-4 link link-scalable link-white", target: "_blank" %>
13
- </div>
14
- <!-- if md breakpoint -->
15
- <div class="col-auto d-none d-md-flex">
16
- <%= link_to (icon "fa-brands", "github"), "https://github.com/Kamz16/swop", class: "fs-4 link link-scalable link-white", target: "_blank" %>
17
- </div>
18
- <div class="col-auto gx-6 gx-md-7">
19
- <div class="dropdown">
20
- <button class="btn border-0 p-0" type="button" data-bs-toggle="dropdown" aria-expanded="false">
21
- <div class="img-wrapper img-wrapper-avatar">
22
- <%= [RailsAdmin::Config.show_gravatar && image_tag(gravatar_url(_current_user.email), alt: _current_user.name),].filter(&:present?).join.html_safe %>
23
- </div>
24
- </button>
25
- <ul class="dropdown-menu dropdown-menu-end">
26
- <li><%= edit_user_link %></li>
27
- <li><%= link_to "#{icon "fa-solid", "right-from-bracket", class: "fa-sm fa-fw me-2"}Log out".html_safe, logout_path, method: logout_method, class: "dropdown-item", data: {turbo: 'false'} %></li>
28
- </ul>
29
- </div>
30
- </div>
31
- <!-- unless xl breakpoint -->
32
- <div class="col-auto gx-6 gx-md-7 d-xl-none">
33
- <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar" aria-controls="offcanvasNavbar" aria-label="Toggle navigation">
34
- <%= icon "fa-solid", "bars", class: "fs-3 text-white" %>
35
- </button>
36
- </div>
37
- </header>
38
-
39
- <div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">
40
- <div class="offcanvas-body sidebar list-unstyled p-4 p-md-6 p-lg-7">
41
- <%= render partial: "layouts/rails_admin/custom_navigation" %>
42
- </div>
43
- </div>
@@ -1,15 +0,0 @@
1
- <%
2
- column_type_dom_id = form.dom_id(field).sub(field.method_name.to_s, field.type_column)
3
- %>
4
-
5
- <div class="row">
6
- <div class="col col-md-10 col-xl-5">
7
- <% field.widget_options_for_types.each do |model, value| %>
8
- <div data-options="<%= value.to_json %>" id="<%= model %>-js-options"></div>
9
- <% end %>
10
- <%= form.select field.type_column, field.type_collection, {include_blank: true, selected: field.selected_type}, class: "form-select", id: column_type_dom_id, data: { polymorphic: true, urls: field.type_urls.to_json }, style: "float: left; margin-right: 10px;" %>
11
- </div>
12
- <div class="col col-md-10 col-xl-5">
13
- <%= form.select field.method_name, field.collection, {include_blank: true, selected: field.selected_id}, class: "form-control", data: { filteringselect: true, options: field.widget_options }, placeholder: 'Search' %>
14
- </div>
15
- </div>
@@ -1,29 +0,0 @@
1
- <div class="form-actions row justify-content-end gx-5 gy-3 gy-md-0 mt-md-3">
2
- <div class="col-auto">
3
- <input name="return_to" type="<%= :hidden %>" value="<%= (params[:return_to].presence || request.referer) %>" />
4
- <button class="btn btn-primary" data-disable-with="<%= t("admin.form.save") %>" name="_save" type="submit"<%= ' disabled' unless @action.enabled? %>>
5
- <i class="fas fa-check"></i>
6
- <%= t("admin.form.save") %>
7
- </button>
8
- </div>
9
- <div class="col-auto">
10
- <% if @action.enabled? && authorized?(:new, @abstract_model) %>
11
- <button class="btn btn-white" data-disable-with="<%= t("admin.form.save_and_add_another") %>" name="_add_another" type="submit">
12
- <%= t("admin.form.save_and_add_another") %>
13
- </button>
14
- <% end %>
15
- </div>
16
- <div class="col-auto">
17
- <% if @action.enabled? && authorized?(:edit, @abstract_model) %>
18
- <button class="btn btn-white" data-disable-with="<%= t("admin.form.save_and_edit") %>" name="_add_edit" type="submit"<%= ' disabled' unless @action.enabled? %>>
19
- <%= t("admin.form.save_and_edit") %>
20
- </button>
21
- <% end %>
22
- </div>
23
- <div class="col-auto">
24
- <button class="btn btn-danger" data-disable-with="<%= t("admin.form.cancel") %>" formnovalidate="<%= true %>" name="_continue" type="submit">
25
- <i class="fas fa-times"></i>
26
- <%= t("admin.form.cancel") %>
27
- </button>
28
- </div>
29
- </div>
@@ -1,64 +0,0 @@
1
- <% if @abstract_models %>
2
- <div class="table-responsive">
3
- <table class="table table-hover">
4
- <thead>
5
- <tr>
6
- <th scope="col">
7
- <span><%= t "admin.table_headers.model_name" %></span>
8
- </th>
9
- <th scope="col">
10
- <span><%= t "admin.table_headers.last_created" %></span>
11
- </th>
12
- <th scope="col">
13
- <span><%= t "admin.table_headers.records" %></span>
14
- </th>
15
- <th scope="col">
16
- </th>
17
- </tr>
18
- </thead>
19
- <tbody>
20
- <% @abstract_models.each do |abstract_model| %>
21
- <% if authorized? :index, abstract_model %>
22
- <% index_path = index_path(model_name: abstract_model.to_param) %>
23
- <% last_created = @most_recent_created[abstract_model.model.name] %>
24
- <% active = last_created.try(:today?) %>
25
- <% count = @count[abstract_model.model.name] %>
26
- <% percent = count > 0 ? (@max <= 1 ? count : ((Math.log(count+1) * 100.0) / Math.log(@max+1)).to_i) : -1 %>
27
- <tr>
28
- <th scope="row">
29
- <span><%= link_to abstract_model.config.label_plural, index_path, class: "link link-white" %></span>
30
- </th>
31
- <td>
32
- <%= t "admin.misc.time_ago", time: time_ago_in_words(last_created), default: "#{time_ago_in_words(last_created)} #{t("admin.misc.ago")}" if last_created %>
33
- </td>
34
- <td>
35
- <div class="progress <%= active ? "progress-bar-striped active" : "" %> mb-0">
36
- <div class="progress-bar bg-<%= get_indicator(percent) %> animate-width-to" data-animate-length="<%= ([1.0, percent].max.to_i * 20) %>" data-animate-width-to="<%= [4.0, percent].max.to_i %>%" style="width:4%">
37
- <span class="fw-semibold"><%= @count[abstract_model.model.name] %></span>
38
- </div>
39
- </div>
40
- </td>
41
- <td>
42
- <ul class="nav d-flex align-items-center justify-content-end flex-nowrap gap-2 gap-md-3 mb-0">
43
- <%= menu_for :collection, abstract_model, nil, true %>
44
- </ul>
45
- </td>
46
- </tr>
47
- <% end %>
48
- <% end %>
49
- </tbody>
50
- </table>
51
- </div>
52
- <% end %>
53
-
54
- <!-- Review then when connecting to POD -->
55
- <% if @history && authorized?(:history_index) %>
56
- <div class="block" id="block-tables">
57
- <div class="content">
58
- <h2>
59
- <%= t("admin.actions.history_index.menu") %>
60
- </h2>
61
- <%= render partial: 'rails_admin/main/dashboard_history' %>
62
- </div>
63
- </div>
64
- <% end %>
@@ -1,158 +0,0 @@
1
- en:
2
- admin:
3
- js:
4
- true: "True"
5
- false: "False"
6
- is_present: Is present
7
- is_blank: Is blank
8
- date: Date ...
9
- between_and_: Between ... and ...
10
- today: Today
11
- yesterday: Yesterday
12
- this_week: This week
13
- last_week: Last week
14
- time: Time ...
15
- number: Number ...
16
- contains: Contains
17
- does_not_contain: Does not contain
18
- is_exactly: Is exactly
19
- starts_with: Starts with
20
- ends_with: Ends with
21
- too_many_objects: "Too many objects, use search box above"
22
- no_objects: "No objects found"
23
- clear: Clear
24
- loading: "Loading..."
25
- toggle_navigation: Toggle navigation
26
- home:
27
- name: "Home"
28
- pagination:
29
- previous: "&laquo; Prev"
30
- next: "Next &raquo;"
31
- truncate: "…"
32
- misc:
33
- search: "Search"
34
- filter: "Filter"
35
- reset_filters: "Reset filters"
36
- refresh: "Refresh"
37
- show_all: "Show all"
38
- add_filter: "Add filter"
39
- bulk_menu_title: "Selected items"
40
- remove: "Remove"
41
- add_new: "Add new"
42
- chose_all: "Choose all"
43
- clear_all: "Clear all"
44
- up: "Up"
45
- down: "Down"
46
- navigation: "Navigation"
47
- root_navigation: "Actions"
48
- navigation_static_label: "Links"
49
- log_out: "Log out"
50
- time_ago: "%{time} ago"
51
- ago: "ago"
52
- more: "Plus %{count} more %{models_name}"
53
- flash:
54
- successful: "%{name} successfully %{action}"
55
- error: "%{name} failed to be %{action}"
56
- noaction: "No actions were taken"
57
- model_not_found: "Model '%{model}' could not be found"
58
- object_not_found: "%{model} with id '%{id}' could not be found"
59
- table_headers:
60
- model_name: "Model name"
61
- last_created: "Last created"
62
- records: "Records"
63
- username: "User"
64
- changes: "Changes"
65
- created_at: "Date/Time"
66
- item: "Item"
67
- message: "Message"
68
- actions:
69
- dashboard:
70
- title: "Site Administration"
71
- menu: "Dashboard"
72
- breadcrumb: "Dashboard"
73
- index:
74
- title: "List of %{model_label_plural}"
75
- menu: "List"
76
- breadcrumb: "%{model_label_plural}"
77
- no_records: "No records found"
78
- show:
79
- title: "Details for %{model_label} '%{object_label}'"
80
- menu: "Show"
81
- breadcrumb: "%{object_label}"
82
- show_in_app:
83
- menu: "Show in app"
84
- new:
85
- title: "New %{model_label}"
86
- menu: "Add new"
87
- breadcrumb: "New"
88
- link: "Add a new %{model_label}"
89
- done: "created"
90
- edit:
91
- title: "Edit %{model_label} '%{object_label}'"
92
- menu: "Edit"
93
- breadcrumb: "Edit"
94
- link: "Edit this %{model_label}"
95
- done: "updated"
96
- delete:
97
- title: "Delete %{model_label} '%{object_label}'"
98
- menu: "Delete"
99
- breadcrumb: "Delete"
100
- link: "Delete '%{object_label}'"
101
- done: "deleted"
102
- bulk_delete:
103
- title: "Delete %{model_label_plural}"
104
- menu: "Multiple delete"
105
- breadcrumb: "Multiple delete"
106
- bulk_link: "Delete selected %{model_label_plural}"
107
- export:
108
- title: "Export %{model_label_plural}"
109
- menu: "Export"
110
- breadcrumb: "Export"
111
- link: "Export found %{model_label_plural}"
112
- bulk_link: "Export selected %{model_label_plural}"
113
- done: "exported"
114
- history_index:
115
- title: "History for %{model_label_plural}"
116
- menu: "History"
117
- breadcrumb: "History"
118
- history_show:
119
- title: "History for %{model_label} '%{object_label}'"
120
- menu: "History"
121
- breadcrumb: "History"
122
- form:
123
- cancel: "Cancel"
124
- basic_info: "Basic info"
125
- required: "Required"
126
- optional: "Optional"
127
- one_char: "character"
128
- char_length_up_to: "length up to"
129
- char_length_of: "length of"
130
- save: "Save"
131
- save_and_add_another: "Save and add another"
132
- save_and_edit: "Save and edit"
133
- delete_file: "Delete '%{field_label}' #%{number}"
134
- all_of_the_following_related_items_will_be_deleted: "? The following related items may be deleted or orphaned:"
135
- are_you_sure_you_want_to_delete_the_object: "Are you sure you want to delete this %{model_name}"
136
- confirmation: "Yes, I'm sure"
137
- bulk_delete: "The following objects will be deleted, which may delete or orphan some of their related dependencies:"
138
- new_model: "%{name} (new)"
139
- export:
140
- confirmation: "Export to %{name}"
141
- select: "Select fields to export"
142
- select_all_fields: "Select All Fields"
143
- fields_from: "%{name}"
144
- fields_from_associated: "%{name}"
145
- display: "Display %{name}: %{type}"
146
- options_for: "Options for %{name}"
147
- empty_value_for_associated_objects: "<empty>"
148
- click_to_reverse_selection: "Click to reverse selection"
149
- csv:
150
- header_for_root_methods: "%{name}" # 'model' is available
151
- header_for_association_methods: "%{name} [%{association}]"
152
- encoding_to: "Encode to"
153
- encoding_to_help: "Choose output encoding. Leave empty to let current input encoding untouched: (%{name})"
154
- skip_header: "No header"
155
- skip_header_help: "Do not output a header (no fields description)"
156
- default_col_sep: ","
157
- col_sep: "Column separator"
158
- col_sep_help: "Leave blank for default ('%{value}')" # value is default_col_sep
data/sig/swop.rbs DELETED
@@ -1,4 +0,0 @@
1
- module Swop
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end