headmin 0.5.3 → 0.5.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/headmin/controllers/media_controller.js +14 -14
- data/app/assets/javascripts/headmin/controllers/media_modal_controller.js +5 -5
- data/app/assets/javascripts/headmin/controllers/remote_modal_controller.js +1 -2
- data/app/assets/javascripts/headmin/controllers/textarea_controller.js +3 -3
- data/app/assets/javascripts/headmin.js +11 -11
- data/app/assets/stylesheets/headmin/forms/repeater.scss +0 -4
- data/app/assets/stylesheets/headmin/forms.scss +0 -6
- data/app/assets/stylesheets/headmin/overrides/redactorx.scss +1 -1
- data/app/assets/stylesheets/headmin/vendor/{tom-select-bootstrap.css → tom-select-bootstrap.scss} +0 -1
- data/app/assets/stylesheets/headmin.css +5 -9
- data/app/models/concerns/headmin/field.rb +1 -1
- data/app/models/headmin/filter/association.rb +86 -0
- data/app/models/headmin/filter/association_view.rb +74 -0
- data/app/models/headmin/filter/base.rb +5 -2
- data/app/models/headmin/filter/boolean_view.rb +1 -0
- data/app/models/headmin/filter/date_view.rb +1 -0
- data/app/models/headmin/filter/flatpickr_view.rb +1 -0
- data/app/models/headmin/filter/number_view.rb +1 -0
- data/app/models/headmin/filter/operator_view.rb +3 -1
- data/app/models/headmin/filter/options_view.rb +1 -0
- data/app/models/headmin/filter/text_view.rb +1 -0
- data/app/models/headmin/form/association_view.rb +102 -0
- data/app/models/headmin/form/blocks_view.rb +4 -1
- data/app/models/headmin/form/file_view.rb +0 -8
- data/app/models/headmin/form/flatpickr_view.rb +2 -1
- data/app/models/headmin/form/media_item_view.rb +39 -0
- data/app/models/headmin/form/media_view.rb +27 -3
- data/app/models/headmin/form/select_view.rb +2 -1
- data/app/models/headmin/thumbnail_view.rb +40 -19
- data/app/models/view_model.rb +4 -0
- data/app/views/headmin/_filters.html.erb +7 -2
- data/app/views/headmin/_thumbnail.html.erb +32 -8
- data/app/views/headmin/filters/_association.html.erb +24 -0
- data/app/views/headmin/filters/_options.html.erb +1 -1
- data/app/views/headmin/forms/_association.html.erb +30 -0
- data/app/views/headmin/forms/_file.html.erb +4 -5
- data/app/views/headmin/forms/_media.html.erb +7 -5
- data/app/views/headmin/forms/_repeater.html.erb +10 -8
- data/app/views/headmin/forms/_wrapper.html.erb +0 -1
- data/app/views/headmin/forms/fields/_list.html.erb +6 -4
- data/app/views/headmin/forms/media/_item.html.erb +18 -12
- data/app/views/headmin/forms/repeater/_row.html.erb +2 -1
- data/app/views/headmin/media/_item.html.erb +1 -2
- data/app/views/headmin/media/_media_item_modal.html.erb +2 -2
- data/app/views/headmin/table/body/_association.html.erb +17 -3
- data/app/views/headmin/views/devise/shared/_links.html.erb +14 -20
- data/config/locales/activerecord/en.yml +1 -0
- data/config/locales/activerecord/nl.yml +1 -0
- data/config/locales/headmin/filters/en.yml +3 -1
- data/config/locales/headmin/filters/nl.yml +2 -0
- data/config/locales/headmin/media/en.yml +2 -2
- data/config/locales/headmin/media/nl.yml +2 -1
- data/lib/headmin/version.rb +1 -1
- data/package.json +1 -1
- metadata +9 -3
@@ -1,26 +1,32 @@
|
|
1
1
|
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
# headmin/forms/media/item
|
3
|
+
#
|
4
|
+
# ==== Required parameters
|
5
|
+
# * +form+ - Form object
|
6
|
+
# * +url+ - URL for the media modal
|
7
|
+
#
|
8
|
+
# ==== Optional parameters
|
9
|
+
# * +sort+ - Allow sorting by dragging items. `active_storage_attachments` must have a position column.
|
10
|
+
# * +width+ - Width of the thumbnail
|
11
|
+
# * +height+ - Height of the thumbnail
|
12
|
+
#
|
13
|
+
|
14
|
+
media_item = Headmin::Form::MediaItemView.new(local_assigns)
|
9
15
|
%>
|
10
16
|
|
11
|
-
<div class="h-form-file-thumbnail media-drag-sort-handle" title="<%= "#{filename} (#{size})" %>" data-media-target="item">
|
17
|
+
<div class="h-form-file-thumbnail media-drag-sort-handle" title="<%= "#{media_item.filename} (#{media_item.size})" %>" data-media-target="item">
|
12
18
|
<%= form.hidden_field(:id) %>
|
13
19
|
<%= form.hidden_field(:blob_id) %>
|
14
|
-
<%= form.hidden_field(:position, value:
|
20
|
+
<%= form.hidden_field(:position, value: media_item.position_value) if media_item.sort %>
|
15
21
|
<%= form.hidden_field(:_destroy) %>
|
16
22
|
|
17
|
-
<a href="<%= url %>" data-turbo-frame="remote_modal" data-media-target="modalButton">
|
18
|
-
<%= render "headmin/thumbnail",
|
23
|
+
<a href="<%= media_item.url %>" data-turbo-frame="remote_modal" data-media-target="modalButton">
|
24
|
+
<%= render "headmin/thumbnail", media_item.thumbnail_options %>
|
19
25
|
</a>
|
20
26
|
|
21
27
|
<div class="h-form-file-thumbnail-actions">
|
22
28
|
<!-- Edit -->
|
23
|
-
<a href="<%= headmin_media_item_url(id:
|
29
|
+
<a href="<%= headmin_media_item_url(id: media_item.id) %>" class="h-form-file-thumbnail-edit" data-turbo-frame="remote_modal" data-media-target="editButton">
|
24
30
|
<%= bootstrap_icon("pencil") %>
|
25
31
|
</a>
|
26
32
|
|
@@ -7,9 +7,10 @@
|
|
7
7
|
|
8
8
|
draggable = form.object.respond_to?(:position)
|
9
9
|
destroyable = form.object.respond_to?(:destroy)
|
10
|
+
class_names = local_assigns.has_key?(:class) ? local_assigns[:class] : "repeater-row list-group-item"
|
10
11
|
%>
|
11
12
|
|
12
|
-
<div class="
|
13
|
+
<div class="<%= class_names %>"
|
13
14
|
data-repeater-target="row"
|
14
15
|
data-row-index="<%= form.options[:child_index] %>"
|
15
16
|
data-new-record="<%= form.object.new_record? %>"
|
@@ -11,7 +11,6 @@
|
|
11
11
|
|
12
12
|
<!-- Label -->
|
13
13
|
<label for="media-item-<%= blob.id %>">
|
14
|
-
|
15
|
-
<%= render "headmin/thumbnail", src: src, width: 100, height: 100 %>
|
14
|
+
<%= render "headmin/thumbnail", file: blob %>
|
16
15
|
</label>
|
17
16
|
</div>
|
@@ -7,8 +7,8 @@
|
|
7
7
|
<div class="modal-body">
|
8
8
|
<%= render "headmin/notifications" %>
|
9
9
|
<div class="row">
|
10
|
-
<div class="col-
|
11
|
-
<%= render "headmin/thumbnail",
|
10
|
+
<div class="col-4">
|
11
|
+
<%= render "headmin/thumbnail", file: @blob %>
|
12
12
|
</div>
|
13
13
|
<div class="col-8 d-flex flex-column justify-content-center">
|
14
14
|
<p class="small text-secondary m-0">
|
@@ -2,10 +2,24 @@
|
|
2
2
|
headmin/table/body/association
|
3
3
|
accepts block: no
|
4
4
|
parameters:
|
5
|
-
|
6
|
-
attribute: (string) Name of the association
|
5
|
+
value: (string) Name of the association
|
7
6
|
%>
|
8
7
|
|
9
8
|
<td>
|
10
|
-
|
9
|
+
<% if defined?(url) && url %>
|
10
|
+
<a href="<%= url %>" title="<% t(".open") %>" target=_blank>
|
11
|
+
<% if value.respond_to?(:each) %>
|
12
|
+
<%= value.map { |i| i.to_s }.join(", ") %>
|
13
|
+
<% else %>
|
14
|
+
<%= value.to_s %>
|
15
|
+
<% end %>
|
16
|
+
<%= bootstrap_icon("box-arrow-up-right") %>
|
17
|
+
</a>
|
18
|
+
<% else %>
|
19
|
+
<% if value.respond_to?(:each) %>
|
20
|
+
<%= value.map { |i| i.to_s }.join(", ") %>
|
21
|
+
<% else %>
|
22
|
+
<%= value.to_s %>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
11
25
|
</td>
|
@@ -1,27 +1,21 @@
|
|
1
1
|
<div class="bg-light mt-5 text-center">
|
2
|
-
<%- if controller_name != "sessions" %>
|
3
|
-
|
4
|
-
<% end %>
|
5
|
-
|
6
|
-
<%- if devise_mapping.registerable? && controller_name != "registrations" %>
|
7
|
-
<%= link_to t(".sign_up"), new_registration_path(resource_name) %><br />
|
8
|
-
<% end %>
|
2
|
+
<%- if controller_name != "sessions" %>
|
3
|
+
<%= link_to t(".sign_in"), new_session_path(resource_name) %><br/>
|
4
|
+
<% end %>
|
9
5
|
|
10
|
-
<%- if devise_mapping.
|
11
|
-
|
12
|
-
<% end %>
|
6
|
+
<%- if devise_mapping.registerable? && controller_name != "registrations" %>
|
7
|
+
<%= link_to t(".sign_up"), new_registration_path(resource_name) %><br/>
|
8
|
+
<% end %>
|
13
9
|
|
14
|
-
<%- if devise_mapping.
|
15
|
-
|
16
|
-
<% end %>
|
10
|
+
<%- if devise_mapping.recoverable? && controller_name != "passwords" && controller_name != "registrations" %>
|
11
|
+
<%= link_to t(".forgot_password"), new_password_path(resource_name) %><br/>
|
12
|
+
<% end %>
|
17
13
|
|
18
|
-
<%- if devise_mapping.
|
19
|
-
|
20
|
-
<% end %>
|
14
|
+
<%- if devise_mapping.confirmable? && controller_name != "confirmations" %>
|
15
|
+
<%= link_to t(".confirmation"), new_confirmation_path(resource_name) %><br/>
|
16
|
+
<% end %>
|
21
17
|
|
22
|
-
<%- if devise_mapping.
|
23
|
-
|
24
|
-
<%= link_to t(".omniauth", provider: OmniAuth::Utils.camelize(provider)), omniauth_authorize_path(resource_name, provider), method: :post %><br />
|
18
|
+
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != "unlocks" %>
|
19
|
+
<%= link_to t(".unlock"), new_unlock_path(resource_name) %><br/>
|
25
20
|
<% end %>
|
26
|
-
<% end %>
|
27
21
|
</div>
|
@@ -3,15 +3,15 @@ en:
|
|
3
3
|
media:
|
4
4
|
modal:
|
5
5
|
close: Close
|
6
|
-
placeholder: Upload your first file to the media library
|
7
6
|
limits: "minimum: %{min} en maximum: %{max}"
|
7
|
+
maximum: " of %{count}"
|
8
|
+
placeholder: Upload your first file to the media library
|
8
9
|
select: Select
|
9
10
|
title:
|
10
11
|
one: Select at least 1 file
|
11
12
|
other: Select at least %{count} files
|
12
13
|
unlimited: unlimited
|
13
14
|
upload: Upload new files
|
14
|
-
maximum: " of %{count}"
|
15
15
|
media_item_modal:
|
16
16
|
close: Close
|
17
17
|
dimensions: Dimensions
|
@@ -3,8 +3,9 @@ nl:
|
|
3
3
|
media:
|
4
4
|
modal:
|
5
5
|
close: Sluiten
|
6
|
-
placeholder: Upload je eerste bestand naar de mediabibliotheek
|
7
6
|
limits: "minimum: %{min} and maximum: %{max}"
|
7
|
+
maximum: " van %{count}"
|
8
|
+
placeholder: Upload je eerste bestand naar de mediabibliotheek
|
8
9
|
select: Selecteer
|
9
10
|
title:
|
10
11
|
one: Selecteer bestand
|
data/lib/headmin/version.rb
CHANGED
data/package.json
CHANGED
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.5.
|
4
|
+
version: 0.5.4
|
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-
|
11
|
+
date: 2022-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: closure_tree
|
@@ -230,7 +230,7 @@ files:
|
|
230
230
|
- app/assets/stylesheets/headmin/vendor/bootstrap/scss/vendor/_rfs.scss
|
231
231
|
- app/assets/stylesheets/headmin/vendor/flatpickr.css
|
232
232
|
- app/assets/stylesheets/headmin/vendor/redactorx.css
|
233
|
-
- app/assets/stylesheets/headmin/vendor/tom-select-bootstrap.
|
233
|
+
- app/assets/stylesheets/headmin/vendor/tom-select-bootstrap.scss
|
234
234
|
- app/controllers/concerns/headmin/acts_as_list.rb
|
235
235
|
- app/controllers/concerns/headmin/authentication.rb
|
236
236
|
- app/controllers/concerns/headmin/filterable.rb
|
@@ -258,6 +258,8 @@ files:
|
|
258
258
|
- app/models/concerns/headmin/form/wrappable.rb
|
259
259
|
- app/models/headmin/.DS_Store
|
260
260
|
- app/models/headmin/blocks_view.rb
|
261
|
+
- app/models/headmin/filter/association.rb
|
262
|
+
- app/models/headmin/filter/association_view.rb
|
261
263
|
- app/models/headmin/filter/base.rb
|
262
264
|
- app/models/headmin/filter/base_view.rb
|
263
265
|
- app/models/headmin/filter/boolean.rb
|
@@ -279,6 +281,7 @@ files:
|
|
279
281
|
- app/models/headmin/filter/text.rb
|
280
282
|
- app/models/headmin/filter/text_view.rb
|
281
283
|
- app/models/headmin/filters.rb
|
284
|
+
- app/models/headmin/form/association_view.rb
|
282
285
|
- app/models/headmin/form/blocks_view.rb
|
283
286
|
- app/models/headmin/form/checkbox_view.rb
|
284
287
|
- app/models/headmin/form/color_view.rb
|
@@ -294,6 +297,7 @@ files:
|
|
294
297
|
- app/models/headmin/form/hint_view.rb
|
295
298
|
- app/models/headmin/form/input_group_view.rb
|
296
299
|
- app/models/headmin/form/label_view.rb
|
300
|
+
- app/models/headmin/form/media_item_view.rb
|
297
301
|
- app/models/headmin/form/media_view.rb
|
298
302
|
- app/models/headmin/form/number_view.rb
|
299
303
|
- app/models/headmin/form/password_view.rb
|
@@ -328,6 +332,7 @@ files:
|
|
328
332
|
- app/views/headmin/dropdown/_item.html.erb
|
329
333
|
- app/views/headmin/dropdown/_list.html.erb
|
330
334
|
- app/views/headmin/dropdown/_locale.html.erb
|
335
|
+
- app/views/headmin/filters/_association.html.erb
|
331
336
|
- app/views/headmin/filters/_base.html.erb
|
332
337
|
- app/views/headmin/filters/_boolean.html.erb
|
333
338
|
- app/views/headmin/filters/_date.html.erb
|
@@ -342,6 +347,7 @@ files:
|
|
342
347
|
- app/views/headmin/filters/filter/_null_select.html.erb
|
343
348
|
- app/views/headmin/filters/filter/_operator.html.erb
|
344
349
|
- app/views/headmin/filters/filter/_row.html.erb
|
350
|
+
- app/views/headmin/forms/_association.html.erb
|
345
351
|
- app/views/headmin/forms/_autocomplete.html.erb
|
346
352
|
- app/views/headmin/forms/_blocks.html.erb
|
347
353
|
- app/views/headmin/forms/_checkbox.html.erb
|