headmin 0.4.1 → 0.5.1

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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/.lock-487e157d270f3062a98b7b2a012753708-1272821827 +0 -0
  3. data/CHANGELOG.md +16 -2
  4. data/Gemfile.lock +77 -79
  5. data/app/assets/javascripts/headmin/controllers/date_range_controller.js +12 -6
  6. data/app/assets/javascripts/headmin/controllers/filter_controller.js +61 -11
  7. data/app/assets/javascripts/headmin/controllers/filter_row_controller.js +50 -0
  8. data/app/assets/javascripts/headmin/controllers/flatpickr_controller.js +2 -6
  9. data/app/assets/javascripts/headmin/controllers/popup_controller.js +3 -1
  10. data/app/assets/javascripts/headmin/controllers/table_actions_controller.js +16 -21
  11. data/app/assets/javascripts/headmin/index.js +2 -0
  12. data/app/assets/javascripts/headmin.js +119 -38
  13. data/app/assets/stylesheets/headmin/filter.scss +74 -0
  14. data/app/assets/stylesheets/headmin/general.scss +0 -1
  15. data/app/assets/stylesheets/headmin/layout/body.scss +5 -0
  16. data/app/assets/stylesheets/headmin/popup.scss +0 -1
  17. data/app/assets/stylesheets/headmin/table.scss +7 -0
  18. data/app/assets/stylesheets/headmin.css +73 -2
  19. data/app/controllers/concerns/headmin/filterable.rb +27 -0
  20. data/app/models/concerns/headmin/field.rb +4 -2
  21. data/app/models/concerns/headmin/fieldable.rb +138 -44
  22. data/app/models/headmin/blocks_view.rb +1 -1
  23. data/app/models/headmin/filter/base.rb +238 -0
  24. data/app/models/headmin/filter/base_view.rb +64 -0
  25. data/app/models/headmin/filter/boolean.rb +15 -0
  26. data/app/models/headmin/filter/boolean_view.rb +61 -0
  27. data/app/models/headmin/filter/button_view.rb +25 -0
  28. data/app/models/headmin/filter/conditional_view.rb +16 -0
  29. data/app/models/headmin/filter/date.rb +19 -0
  30. data/app/models/headmin/filter/date_view.rb +52 -0
  31. data/app/models/headmin/filter/flatpickr_view.rb +54 -0
  32. data/app/models/headmin/filter/menu_item_view.rb +6 -0
  33. data/app/models/headmin/filter/money.rb +13 -0
  34. data/app/models/headmin/filter/number.rb +27 -0
  35. data/app/models/headmin/filter/number_view.rb +54 -0
  36. data/app/models/headmin/filter/operator_view.rb +30 -0
  37. data/app/models/headmin/filter/options_view.rb +61 -0
  38. data/app/models/headmin/filter/row_view.rb +13 -0
  39. data/app/models/headmin/filter/search.rb +18 -0
  40. data/app/models/headmin/filter/search_view.rb +31 -0
  41. data/app/models/headmin/filter/text.rb +25 -0
  42. data/app/models/headmin/filter/text_view.rb +53 -0
  43. data/app/models/headmin/filters.rb +29 -0
  44. data/app/models/headmin/form/color_view.rb +48 -0
  45. data/app/models/headmin/form/datetime_range_view.rb +25 -0
  46. data/app/models/headmin/form/datetime_view.rb +45 -0
  47. data/app/models/headmin/form/flatpickr_range_view.rb +4 -15
  48. data/app/models/headmin/form/flatpickr_view.rb +3 -12
  49. data/app/models/view_model.rb +1 -1
  50. data/app/views/examples/admin.html.erb +13 -13
  51. data/app/views/examples/auth.html.erb +1 -1
  52. data/app/views/headmin/_blocks.html.erb +1 -1
  53. data/app/views/headmin/_filters.html.erb +6 -6
  54. data/app/views/headmin/_form.html.erb +2 -2
  55. data/app/views/headmin/_index.html.erb +1 -1
  56. data/app/views/headmin/_pagination.html.erb +1 -1
  57. data/app/views/headmin/_popup.html.erb +2 -2
  58. data/app/views/headmin/_table.html.erb +1 -1
  59. data/app/views/headmin/dropdown/_devise.html.erb +8 -8
  60. data/app/views/headmin/dropdown/_locale.html.erb +4 -4
  61. data/app/views/headmin/filters/_base.html.erb +95 -0
  62. data/app/views/headmin/filters/_boolean.html.erb +23 -0
  63. data/app/views/headmin/filters/_date.html.erb +14 -38
  64. data/app/views/headmin/filters/_flatpickr.html.erb +15 -48
  65. data/app/views/headmin/filters/_number.html.erb +23 -0
  66. data/app/views/headmin/filters/_options.html.erb +24 -0
  67. data/app/views/headmin/filters/_search.html.erb +14 -12
  68. data/app/views/headmin/filters/_text.html.erb +23 -0
  69. data/app/views/headmin/filters/filter/_button.html.erb +9 -10
  70. data/app/views/headmin/filters/filter/_conditional.html.erb +18 -0
  71. data/app/views/headmin/filters/filter/_menu_item.html.erb +5 -2
  72. data/app/views/headmin/filters/filter/_null_select.html.erb +8 -0
  73. data/app/views/headmin/filters/filter/_operator.html.erb +16 -0
  74. data/app/views/headmin/filters/filter/_row.html.erb +11 -0
  75. data/app/views/headmin/forms/_blocks.html.erb +1 -1
  76. data/app/views/headmin/forms/_color.html.erb +32 -0
  77. data/app/views/headmin/forms/_date_range.html.erb +3 -3
  78. data/app/views/headmin/forms/_datetime.html.erb +41 -0
  79. data/app/views/headmin/forms/_datetime_range.html.erb +40 -0
  80. data/app/views/headmin/forms/_file.html.erb +3 -3
  81. data/app/views/headmin/forms/_flatpickr.html.erb +1 -1
  82. data/app/views/headmin/forms/_flatpickr_range.html.erb +3 -4
  83. data/app/views/headmin/forms/_label.html.erb +1 -1
  84. data/app/views/headmin/forms/_repeater.html.erb +12 -12
  85. data/app/views/headmin/forms/fields/_base.html.erb +1 -1
  86. data/app/views/headmin/forms/fields/_file.html.erb +3 -3
  87. data/app/views/headmin/forms/fields/_files.html.erb +17 -0
  88. data/app/views/headmin/forms/fields/_group.html.erb +5 -5
  89. data/app/views/headmin/forms/fields/_list.html.erb +4 -4
  90. data/app/views/headmin/forms/fields/_text.html.erb +2 -2
  91. data/app/views/headmin/layout/_footer.html.erb +1 -1
  92. data/app/views/headmin/layout/_main.html.erb +1 -1
  93. data/app/views/headmin/nav/_dropdown.html.erb +3 -3
  94. data/app/views/headmin/nav/_item.html.erb +2 -2
  95. data/app/views/headmin/nav/item/_devise.html.erb +8 -8
  96. data/app/views/headmin/nav/item/_locale.html.erb +4 -4
  97. data/app/views/headmin/table/_actions.html.erb +3 -6
  98. data/app/views/headmin/table/actions/_export.html.erb +1 -1
  99. data/app/views/headmin/table/body/_color.html.erb +10 -0
  100. data/app/views/headmin/table/body/_row.html.erb +3 -3
  101. data/app/views/headmin/table/foot/_id.html.erb +1 -1
  102. data/app/views/headmin/views/devise/confirmations/_new.html.erb +1 -1
  103. data/app/views/headmin/views/devise/passwords/_edit.html.erb +2 -2
  104. data/app/views/headmin/views/devise/passwords/_new.html.erb +1 -1
  105. data/app/views/headmin/views/devise/registrations/_edit.html.erb +4 -4
  106. data/app/views/headmin/views/devise/registrations/_new.html.erb +3 -3
  107. data/app/views/headmin/views/devise/sessions/_new.html.erb +3 -3
  108. data/app/views/headmin/views/devise/unlocks/_new.html.erb +1 -1
  109. data/config/locales/en.yml +4 -0
  110. data/config/locales/headmin/dropdown/en.yml +6 -0
  111. data/config/locales/headmin/dropdown/nl.yml +6 -0
  112. data/config/locales/headmin/filters/en.yml +26 -1
  113. data/config/locales/headmin/filters/nl.yml +26 -1
  114. data/config/locales/headmin/layout/en.yml +0 -9
  115. data/config/locales/headmin/layout/nl.yml +0 -9
  116. data/config/locales/headmin/nav/en.yml +7 -0
  117. data/config/locales/headmin/nav/nl.yml +7 -0
  118. data/config/locales/nl.yml +4 -0
  119. data/lib/generators/templates/views/layouts/auth.html.erb +1 -1
  120. data/lib/headmin/version.rb +1 -1
  121. data/package.json +1 -1
  122. metadata +47 -7
  123. data/app/controllers/concerns/headmin/filter.rb +0 -5
  124. data/app/controllers/concerns/headmin/searchable.rb +0 -15
  125. data/app/views/headmin/filters/_select.html.erb +0 -45
  126. data/app/views/headmin/filters/filter/_template.html.erb +0 -13
  127. data/app/views/headmin/forms/fields/_image.html.erb +0 -17
@@ -1,7 +1,7 @@
1
1
  <%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: {method: :post}) do |f| %>
2
2
  <%= render "headmin/views/devise/shared/error_messages", resource: resource %>
3
3
 
4
- <%= render 'headmin/forms/email', form: f, attribute: :email, required: true, float: true %>
4
+ <%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
5
5
 
6
6
  <%= f.submit t('.resend'), class: 'btn btn-lg btn-primary w-100' %>
7
7
 
@@ -3,8 +3,8 @@
3
3
 
4
4
  <%= f.hidden_field :reset_password_token %>
5
5
 
6
- <%= render 'headmin/forms/password', form: f, attribute: :password, required: true, float: true %>
7
- <%= render 'headmin/forms/password', form: f, attribute: :password_confirmation, required: true, float: true %>
6
+ <%= render "headmin/forms/password", form: f, attribute: :password, required: true, float: true %>
7
+ <%= render "headmin/forms/password", form: f, attribute: :password_confirmation, required: true, float: true %>
8
8
 
9
9
  <%= f.submit t('.change_password'), class: 'btn btn-lg btn-primary w-100' %>
10
10
 
@@ -1,7 +1,7 @@
1
1
  <%= form_for(resource, as: resource_name, url: password_path(resource_name), html: {method: :post}) do |f| %>
2
2
  <%= render "headmin/views/devise/shared/error_messages", resource: resource %>
3
3
 
4
- <%= render 'headmin/forms/email', form: f, attribute: :email, required: true, float: true %>
4
+ <%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
5
5
 
6
6
  <%= f.submit t('.send_instructions'), class: 'btn btn-lg btn-primary w-100' %>
7
7
 
@@ -2,15 +2,15 @@
2
2
  <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
3
3
  <%= render "headmin/views/devise/shared/error_messages", resource: resource %>
4
4
 
5
- <%= render 'headmin/forms/email', form: f, attribute: :email, required: true, float: true %>
5
+ <%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
6
6
 
7
7
  <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
8
8
  <div><%= t('.waiting_confirmation', email: resource.unconfirmed_email) %></div>
9
9
  <% end %>
10
10
 
11
- <%= render 'headmin/forms/password', form: f, attribute: :password, required: true, float: true %>
12
- <%= render 'headmin/forms/password', form: f, attribute: :password_confirmation, required: true, float: true %>
13
- <%= render 'headmin/forms/password', form: f, attribute: :current_password, required: true, float: true %>
11
+ <%= render "headmin/forms/password", form: f, attribute: :password, required: true, float: true %>
12
+ <%= render "headmin/forms/password", form: f, attribute: :password_confirmation, required: true, float: true %>
13
+ <%= render "headmin/forms/password", form: f, attribute: :current_password, required: true, float: true %>
14
14
 
15
15
  <%= f.submit t('.change'), class: 'btn btn-lg btn-primary w-100' %>
16
16
  <% end %>
@@ -1,9 +1,9 @@
1
1
  <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
2
2
  <%= render "headmin/views/devise/shared/error_messages", resource: resource %>
3
3
 
4
- <%= render 'headmin/forms/email', form: f, attribute: :email, required: true, float: true %>
5
- <%= render 'headmin/forms/password', form: f, attribute: :password, required: true, float: true %>
6
- <%= render 'headmin/forms/password', form: f, attribute: :password_confirmation, required: true, float: true %>
4
+ <%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
5
+ <%= render "headmin/forms/password", form: f, attribute: :password, required: true, float: true %>
6
+ <%= render "headmin/forms/password", form: f, attribute: :password_confirmation, required: true, float: true %>
7
7
 
8
8
  <%= f.submit t('.sign_up'), class: 'btn btn-lg btn-primary w-100' %>
9
9
 
@@ -1,10 +1,10 @@
1
1
  <%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
2
2
 
3
- <%= render 'headmin/forms/email', form: f, attribute: :email, required: true, float: true %>
4
- <%= render 'headmin/forms/password', form: f, attribute: :password, required: true, float: true %>
3
+ <%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
4
+ <%= render "headmin/forms/password", form: f, attribute: :password, required: true, float: true %>
5
5
 
6
6
  <% if devise_mapping.rememberable? %>
7
- <%= render 'headmin/forms/checkbox', form: f, attribute: :remember_me %>
7
+ <%= render "headmin/forms/checkbox", form: f, attribute: :remember_me %>
8
8
  <% end %>
9
9
 
10
10
  <%= f.submit t('.login'), class: 'btn btn-lg btn-primary w-100' %>
@@ -1,7 +1,7 @@
1
1
  <%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: {method: :post}) do |f| %>
2
2
  <%= render "headmin/views/devise/shared/error_messages", resource: resource %>
3
3
 
4
- <%= render 'headmin/forms/email', form: f, attribute: :email, required: true, float: true %>
4
+ <%= render "headmin/forms/email", form: f, attribute: :email, required: true, float: true %>
5
5
 
6
6
  <%= f.submit t('.resend'), class: 'btn btn-lg btn-primary w-100' %>
7
7
 
@@ -1,2 +1,6 @@
1
1
  en:
2
2
  language_name: English
3
+
4
+ date:
5
+ formats:
6
+ default: "%d/%m/%Y"
@@ -0,0 +1,6 @@
1
+ en:
2
+ headmin:
3
+ dropdown:
4
+ devise:
5
+ edit_profile: Edit profile
6
+ log_out: Log out
@@ -0,0 +1,6 @@
1
+ nl:
2
+ headmin:
3
+ dropdown:
4
+ devise:
5
+ edit_profile: Profiel bewerken
6
+ log_out: Afmelden
@@ -1,13 +1,38 @@
1
1
  en:
2
2
  headmin:
3
3
  filters:
4
+ apply: Apply
4
5
  button: Filters
5
6
  remove_all: Clear all
6
7
  filter:
7
8
  button:
8
9
  all: All
10
+ conditional:
11
+ and: And
12
+ or: Or
9
13
  select:
10
14
  blank: Make a choice
11
15
  search:
12
16
  button: Search
13
- placeholder: 'Search in %{resource}'
17
+ placeholder: 'Search in %{resource}'
18
+ conditionals:
19
+ and: and
20
+ or: or
21
+ operators:
22
+ eq: is equal to
23
+ not_eq: is not equal to
24
+ gt: is greater than
25
+ gteq: is greater than or equal to
26
+ lt: is lower than
27
+ lteq: is lower than or equal to
28
+ starts_with: starts with
29
+ ends_with: ends with
30
+ matches: matches with
31
+ does_not_match: does not matches with
32
+ is_not_null: is not null
33
+ is_null: is null
34
+ values:
35
+ "false": "False"
36
+ "no": "No"
37
+ "true": "Hello"
38
+ "yes": "Yes"
@@ -1,13 +1,38 @@
1
1
  nl:
2
2
  headmin:
3
3
  filters:
4
+ apply: Toepassen
4
5
  button: Filters
5
6
  remove_all: Filters leegmaken
6
7
  filter:
7
8
  button:
8
9
  all: Alle
10
+ conditional:
11
+ and: En
12
+ or: Of
9
13
  select:
10
14
  blank: Maak een keuze
11
15
  search:
12
16
  button: Zoeken
13
- placeholder: 'In %{resource} zoeken'
17
+ placeholder: 'In %{resource} zoeken'
18
+ conditionals:
19
+ and: en
20
+ or: of
21
+ operators:
22
+ eq: is
23
+ not_eq: is niet
24
+ gt: is groter dan
25
+ gteq: is groter dan of gelijk aan
26
+ lt: is kleiner dan
27
+ lteq: is kleiner dan of gelijk aan
28
+ starts_with: begint met
29
+ ends_with: eindigt met
30
+ matches: lijkt op
31
+ does_not_match: lijkt niet op
32
+ is_not_null: is ingevuld
33
+ is_null: is niet ingevuld
34
+ values:
35
+ "false": Onwaar
36
+ "no": Nee
37
+ "true": Waar
38
+ "yes": Ja
@@ -1,14 +1,5 @@
1
1
  en:
2
2
  headmin:
3
3
  layout:
4
- sidebar:
5
- menu:
6
- account:
7
- edit_profile: Edit profile
8
- log_out: Log out
9
- header:
10
- account:
11
- edit_profile: Edit profile
12
- log_out: Log out
13
4
  footer:
14
5
  help: Support
@@ -1,14 +1,5 @@
1
1
  nl:
2
2
  headmin:
3
3
  layout:
4
- sidebar:
5
- menu:
6
- account:
7
- edit_profile: Profiel bewerken
8
- log_out: Afmelden
9
- header:
10
- account:
11
- edit_profile: Profiel bewerken
12
- log_out: Afmelden
13
4
  footer:
14
5
  help: Hulp nodig?
@@ -0,0 +1,7 @@
1
+ en:
2
+ headmin:
3
+ nav:
4
+ item:
5
+ devise:
6
+ edit_profile: Edit profile
7
+ log_out: Log out
@@ -0,0 +1,7 @@
1
+ nl:
2
+ headmin:
3
+ nav:
4
+ item:
5
+ devise:
6
+ edit_profile: Profiel bewerken
7
+ log_out: Afmelden
@@ -1,2 +1,6 @@
1
1
  nl:
2
2
  language_name: Nederlands
3
+
4
+ date:
5
+ formats:
6
+ default: "%d/%m/%Y"
@@ -10,7 +10,7 @@
10
10
  </head>
11
11
  <body class="bg-light w-100 vh-100">
12
12
 
13
- <%= render 'headmin/notifications' %>
13
+ <%= render "headmin/notifications" %>
14
14
 
15
15
  <main class="d-flex justify-content-center align-items-center w-100 vh-100 p-3">
16
16
  <%= yield %>
@@ -1,3 +1,3 @@
1
1
  module Headmin
2
- VERSION = "0.4.1"
2
+ VERSION = "0.5.1"
3
3
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "headmin",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "Admin component library",
5
5
  "module": "app/assets/javascripts/headmin.js",
6
6
  "main": "app/assets/javascripts/headmin.js",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: headmin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jef Vlamings
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-20 00:00:00.000000000 Z
11
+ date: 2022-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: closure_tree
@@ -76,6 +76,7 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - ".github/workflows/ci.yml"
78
78
  - ".gitignore"
79
+ - ".lock-487e157d270f3062a98b7b2a012753708-1272821827"
79
80
  - ".nvmrc"
80
81
  - ".ruby-version"
81
82
  - CHANGELOG.md
@@ -100,6 +101,7 @@ files:
100
101
  - app/assets/javascripts/headmin/controllers/dropzone_controller.js
101
102
  - app/assets/javascripts/headmin/controllers/file_preview_controller.js
102
103
  - app/assets/javascripts/headmin/controllers/filter_controller.js
104
+ - app/assets/javascripts/headmin/controllers/filter_row_controller.js
103
105
  - app/assets/javascripts/headmin/controllers/filters_controller.js
104
106
  - app/assets/javascripts/headmin/controllers/flatpickr_controller.js
105
107
  - app/assets/javascripts/headmin/controllers/hello_controller.js
@@ -224,9 +226,8 @@ files:
224
226
  - app/assets/stylesheets/headmin/vendor/tom-select-bootstrap.css
225
227
  - app/controllers/concerns/headmin/acts_as_list.rb
226
228
  - app/controllers/concerns/headmin/authentication.rb
227
- - app/controllers/concerns/headmin/filter.rb
229
+ - app/controllers/concerns/headmin/filterable.rb
228
230
  - app/controllers/concerns/headmin/pagination.rb
229
- - app/controllers/concerns/headmin/searchable.rb
230
231
  - app/controllers/concerns/headmin/sortable.rb
231
232
  - app/helpers/headmin/admin_helper.rb
232
233
  - app/helpers/headmin/bootstrap_helper.rb
@@ -248,10 +249,34 @@ files:
248
249
  - app/models/concerns/headmin/form/wrappable.rb
249
250
  - app/models/headmin/.DS_Store
250
251
  - app/models/headmin/blocks_view.rb
252
+ - app/models/headmin/filter/base.rb
253
+ - app/models/headmin/filter/base_view.rb
254
+ - app/models/headmin/filter/boolean.rb
255
+ - app/models/headmin/filter/boolean_view.rb
256
+ - app/models/headmin/filter/button_view.rb
257
+ - app/models/headmin/filter/conditional_view.rb
258
+ - app/models/headmin/filter/date.rb
259
+ - app/models/headmin/filter/date_view.rb
260
+ - app/models/headmin/filter/flatpickr_view.rb
261
+ - app/models/headmin/filter/menu_item_view.rb
262
+ - app/models/headmin/filter/money.rb
263
+ - app/models/headmin/filter/number.rb
264
+ - app/models/headmin/filter/number_view.rb
265
+ - app/models/headmin/filter/operator_view.rb
266
+ - app/models/headmin/filter/options_view.rb
267
+ - app/models/headmin/filter/row_view.rb
268
+ - app/models/headmin/filter/search.rb
269
+ - app/models/headmin/filter/search_view.rb
270
+ - app/models/headmin/filter/text.rb
271
+ - app/models/headmin/filter/text_view.rb
272
+ - app/models/headmin/filters.rb
251
273
  - app/models/headmin/form/blocks_view.rb
252
274
  - app/models/headmin/form/checkbox_view.rb
275
+ - app/models/headmin/form/color_view.rb
253
276
  - app/models/headmin/form/date_range_view.rb
254
277
  - app/models/headmin/form/date_view.rb
278
+ - app/models/headmin/form/datetime_range_view.rb
279
+ - app/models/headmin/form/datetime_view.rb
255
280
  - app/models/headmin/form/email_view.rb
256
281
  - app/models/headmin/form/file_view.rb
257
282
  - app/models/headmin/form/flatpickr_range_view.rb
@@ -293,19 +318,29 @@ files:
293
318
  - app/views/headmin/dropdown/_item.html.erb
294
319
  - app/views/headmin/dropdown/_list.html.erb
295
320
  - app/views/headmin/dropdown/_locale.html.erb
321
+ - app/views/headmin/filters/_base.html.erb
322
+ - app/views/headmin/filters/_boolean.html.erb
296
323
  - app/views/headmin/filters/_date.html.erb
297
324
  - app/views/headmin/filters/_flatpickr.html.erb
325
+ - app/views/headmin/filters/_number.html.erb
326
+ - app/views/headmin/filters/_options.html.erb
298
327
  - app/views/headmin/filters/_search.html.erb
299
- - app/views/headmin/filters/_select.html.erb
328
+ - app/views/headmin/filters/_text.html.erb
300
329
  - app/views/headmin/filters/filter/_button.html.erb
330
+ - app/views/headmin/filters/filter/_conditional.html.erb
301
331
  - app/views/headmin/filters/filter/_menu_item.html.erb
302
- - app/views/headmin/filters/filter/_template.html.erb
332
+ - app/views/headmin/filters/filter/_null_select.html.erb
333
+ - app/views/headmin/filters/filter/_operator.html.erb
334
+ - app/views/headmin/filters/filter/_row.html.erb
303
335
  - app/views/headmin/forms/_autocomplete.html.erb
304
336
  - app/views/headmin/forms/_blocks.html.erb
305
337
  - app/views/headmin/forms/_checkbox.html.erb
338
+ - app/views/headmin/forms/_color.html.erb
306
339
  - app/views/headmin/forms/_datalist.html.erb
307
340
  - app/views/headmin/forms/_date.html.erb
308
341
  - app/views/headmin/forms/_date_range.html.erb
342
+ - app/views/headmin/forms/_datetime.html.erb
343
+ - app/views/headmin/forms/_datetime_range.html.erb
309
344
  - app/views/headmin/forms/_email.html.erb
310
345
  - app/views/headmin/forms/_errors.html.erb
311
346
  - app/views/headmin/forms/_file.html.erb
@@ -332,8 +367,8 @@ files:
332
367
  - app/views/headmin/forms/autocomplete/_list.html.erb
333
368
  - app/views/headmin/forms/fields/_base.html.erb
334
369
  - app/views/headmin/forms/fields/_file.html.erb
370
+ - app/views/headmin/forms/fields/_files.html.erb
335
371
  - app/views/headmin/forms/fields/_group.html.erb
336
- - app/views/headmin/forms/fields/_image.html.erb
337
372
  - app/views/headmin/forms/fields/_list.html.erb
338
373
  - app/views/headmin/forms/fields/_text.html.erb
339
374
  - app/views/headmin/forms/repeater/_row.html.erb
@@ -369,6 +404,7 @@ files:
369
404
  - app/views/headmin/table/actions/_export.html.erb
370
405
  - app/views/headmin/table/body/_association.html.erb
371
406
  - app/views/headmin/table/body/_boolean.erb
407
+ - app/views/headmin/table/body/_color.html.erb
372
408
  - app/views/headmin/table/body/_currency.html.erb
373
409
  - app/views/headmin/table/body/_date.html.erb
374
410
  - app/views/headmin/table/body/_id.html.erb
@@ -405,6 +441,8 @@ files:
405
441
  - config/locales/devise/en.yml
406
442
  - config/locales/devise/nl.yml
407
443
  - config/locales/en.yml
444
+ - config/locales/headmin/dropdown/en.yml
445
+ - config/locales/headmin/dropdown/nl.yml
408
446
  - config/locales/headmin/filters/en.yml
409
447
  - config/locales/headmin/filters/nl.yml
410
448
  - config/locales/headmin/forms/en.yml
@@ -413,6 +451,8 @@ files:
413
451
  - config/locales/headmin/heading/nl.yml
414
452
  - config/locales/headmin/layout/en.yml
415
453
  - config/locales/headmin/layout/nl.yml
454
+ - config/locales/headmin/nav/en.yml
455
+ - config/locales/headmin/nav/nl.yml
416
456
  - config/locales/headmin/pagination/en.yml
417
457
  - config/locales/headmin/pagination/nl.yml
418
458
  - config/locales/headmin/popup/en.yml
@@ -1,5 +0,0 @@
1
- module Headmin
2
- module Filter
3
- include Headmin::FilterHelper
4
- end
5
- end
@@ -1,15 +0,0 @@
1
- module Headmin
2
- module Searchable
3
- def search(collection)
4
- if search_params&.present?
5
- collection.search(search_params)
6
- else
7
- collection
8
- end
9
- end
10
-
11
- def search_params
12
- @search_params ||= params[:search]&.to_s
13
- end
14
- end
15
- end
@@ -1,45 +0,0 @@
1
- <%
2
- # headmin/filters/select
3
- #
4
- # ==== Options
5
- # * +name</tt> - Name of the filter parameter
6
- # * +label</tt> - Display name
7
- # * +options</tt> - List of options to select from
8
- #
9
- # ==== Examples
10
- # Basic version
11
- # <%= render "headmin/filters/select", name: :poll_type, label: 'Type', options: [["General", "general", "Fun", "fun"]] %#>
12
-
13
- name = local_assigns.has_key?(:name) ? name.to_sym : nil
14
- label = local_assigns.has_key?(:label) ? label : name.to_s.humanize
15
- options = local_assigns.has_key?(:options) ? options : []
16
-
17
- select_options = {
18
- class: "form-select",
19
- prompt: t('.blank'),
20
- include_blank: false,
21
- required: true,
22
- 'data-filters-target': 'input',
23
- 'data-action': "change->filters#update"
24
- }
25
- %>
26
-
27
- <%= content_for :filters_menu do %>
28
- <%= render 'headmin/filters/filter/menu_item', name: name, label: label %>
29
- <% end %>
30
-
31
- <%= content_for :filters_templates do %>
32
- <%= render 'headmin/filters/filter/template', name: name, label: label do %>
33
- <%= select_tag("#{name}[]", options_for_select(options), select_options) %>
34
- <% end %>
35
- <% end %>
36
-
37
- <%= content_for :filters_buttons do %>
38
- <% (params[name] || []).each_with_index do |param, index| %>
39
- <% selected_option = options.detect { |value, key, config| (key.present? ? key : value) == param } %>
40
- <% selected_value = selected_option.is_a?(Array) ? selected_option.first : selected_option %>
41
- <%= render 'headmin/filters/filter/button', name: name, label: label, value: selected_value, id: "#{name}_#{index}_#{SecureRandom.hex}" do %>
42
- <%= select_tag("#{name}[]", options_for_select(options, param), select_options) %>
43
- <% end %>
44
- <% end %>
45
- <% end %>
@@ -1,13 +0,0 @@
1
- <%#
2
- headmin/filters/filter/template
3
- accepts block: yes
4
- parameters:
5
- name: (string) Name of the parameter
6
- label: (string) Display name
7
- %>
8
-
9
- <template data-filter-name="<%= name %>" data-filters-target="template">
10
- <%= render 'headmin/filters/filter/button', name: name, label: label, value: nil, id: 'template_id' do %>
11
- <%= yield %>
12
- <% end %>
13
- </template>
@@ -1,17 +0,0 @@
1
- <%
2
- # name: headmin/forms/fields/image
3
- #
4
- # ==== Options
5
- # * +form+ - Form object
6
- # * +name+ - Name for the field
7
- #
8
- # ==== Examples
9
- # Basic version
10
- # <%= render 'headmin/forms/fields/image', form: group, name: :image do |field, attribute, label| %#>
11
- # <%= render "headmin/forms/image", form: field, attribute: attribute, label: label %#>
12
- # <% end %#>
13
- %>
14
-
15
- <%= render 'headmin/forms/fields/base', form: form, field_type: :image, name: name do |field, label| %>
16
- <% yield field, :file, label %>
17
- <% end %>