viniBaxter-field-active_storage 300.0.2 → 300.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aeec2adaa96685889247d3ec1a4531685b4e6f910c41c783d45c577201077f8d
4
- data.tar.gz: 46e1ffab1845ec17e94d6d2d379f1beb6a6125f1f38a294d8b20359e1c9fca25
3
+ metadata.gz: 87b79589f648d29cae389c4f4e05ba2f5eda5a204a05d3a868f2a5d4bb001587
4
+ data.tar.gz: 500b6345e53af356d9bb4062462185d1c700edd5a2b7736fd6d68a63e7c8eba6
5
5
  SHA512:
6
- metadata.gz: 24561fb338e84ec00885006f1347c87979aef60217b93891cc756afb169dc97fea06284f855aa6749ca405c6fe670860d684d08168973171de7ef172306ea831
7
- data.tar.gz: 84a7d1e8bb41d62aab24b5c03c333602bcbfde61a41ae9c768fd7a6d6d57f849a4670e740ce4f810e62ed98d7112f1676d82168505afe67b87d53303e5600a9a
6
+ metadata.gz: 105b6b52b9bc8d9cce99b1e73718cd37c38832f1cf23e4773eafb20c6a5672e4e77dd030f000d62f4c4b41d00db831c43878db931d881691a2163e736c296ab9
7
+ data.tar.gz: 4d8d9ddc967eb6f9659fa7e2e69e8bd7a7b5a56fbb99bcdef90410c331151bb6e1ebb850f7daf2471cc068143d27cafb52b82be7971f3a26f88eab6eb854cbf5
@@ -1,19 +1,3 @@
1
- <%#
2
- # Image Form Partial
3
-
4
- This partial renders an input element for image attributes.
5
- By default, the input is a text field for the image's URL.
6
-
7
- ## Local variables:
8
-
9
- - `f`:
10
- A Rails form generator, used to help create the appropriate input fields.
11
- - `field`:
12
- An instance of [Administrate::Field::Image][1].
13
- A wrapper around the image url pulled from the database.
14
-
15
- [1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/Image
16
- %>
17
1
  <div class="field-unit__label">
18
2
  <%= f.label field.attribute %>
19
3
  </div>
@@ -1,42 +1,34 @@
1
- <%#
2
- # Image Index Partial
3
-
4
- This partial renders an image attribute
5
- to be displayed on a resource's index page.
6
-
7
- By default, the attribute is rendered as an image tag.
8
-
9
- ## Local variables:
10
-
11
- - `field`:
12
- An instance of [Administrate::Field::Image][1].
13
- A wrapper around the image url pulled from the database.
14
-
15
- [1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/Image
16
- %>
17
- <style>
18
- <%# figure out a way to remove this %>
19
- td img {
20
- max-height: unset !important;
21
- }
22
- </style>
23
- <%
24
- attachments = Array(field.many? ? field.attachments : field.data)
25
- %>
26
1
  <% if field.attached? %>
27
- <% if field.show_in_index? %>
28
- <%= render partial: 'fields/active_storage/normal/item',
29
- locals: {
30
- field: field,
31
- attachment: field.data,
32
- image_size: [200, 200]
33
- } %>
2
+ <style type="text/css" nonce="<%= content_security_policy_nonce %>">
3
+ <%# figure out a way to remove this %>
4
+ td img {
5
+ max-height: unset !important;
6
+ }
7
+ </style>
8
+ <% if field.index_display_preview? %>
9
+ <% if field.many? %>
10
+ <%= render partial: 'fields/active_storage/normal/items',
11
+ locals: {
12
+ many: true,
13
+ field: field,
14
+ size: field.index_preview_size
15
+ } %>
16
+ <% else %>
17
+ <%= render partial: 'fields/active_storage/normal/item',
18
+ locals: {
19
+ many: false,
20
+ field: field,
21
+ attachment: field.data,
22
+ size: field.index_preview_size
23
+ } %>
24
+ <% end %>
34
25
  <% end %>
35
26
  <% if field.index_display_count? %>
36
27
  <div class="attachments-count">
37
- <%= pluralize(field.attachments.count, 'Attachment') %>
28
+ <%= pluralize(field.attachments.count,
29
+ I18n.t("administrate.fields.active_storage.attachment", default: 'Attachment')
30
+ )
31
+ %>
38
32
  </div>
39
33
  <% end %>
40
- <% else %>
41
- 0 Attached files
42
34
  <% end %>
@@ -1,23 +1,9 @@
1
- <%#
2
- # Image Show Partial
3
-
4
- This partial renders an image attribute,
5
- to be displayed on a resource's show page.
6
-
7
- By default, the attribute is rendered as an image tag.
8
-
9
- ## Local variables:
10
-
11
- - `field`:
12
- An instance of [Administrate::Field::Image][1].
13
- A wrapper around the image url pulled from the database.
14
-
15
- [1]: http://www.rubydoc.info/gems/administrate/Administrate/Field/Image
16
- %>
17
1
  <% if field.attached? %>
18
- <% if field.show_drop_js_on_show? %>
2
+ <% if field.show_drop_js_on_show? && field.sweety_show_drop_js_on_show? %>
3
+ <%= render partial: 'fields/active_storage/drop_js/drop_js_items_if_sweety', locals: { field: field, removable: field.destroyable? } %>
4
+ <% elsif field.show_drop_js_on_show?%>
19
5
  <%= render partial: 'fields/active_storage/drop_js/drop_js_items_on_show', locals: { field: field } %>
20
- <%else %>
6
+ <% else %>
21
7
  <%= render partial: 'fields/active_storage/normal/items_on_show', locals: { field: field } %>
22
8
  <% end %>
23
9
  <% end %>
@@ -0,0 +1,57 @@
1
+ <%
2
+ attachments = Array(field.many? ? field.attachments : field.data)
3
+ removable = local_assigns.fetch(:removable, false)
4
+ %>
5
+ <div class="mt-5 col-12 ">
6
+ <div class="row">
7
+ <div class="col-12">
8
+ <div class="">
9
+ <div class="card-body">
10
+ <div class="already-downloaded dropzone">
11
+ <div class="list-group list-group-flush">
12
+ <div class="list-group-item">
13
+ <div class="row align-items-center">
14
+ <% attachments.each do |attachment| %>
15
+ <div>
16
+ <div class="" id="<%= @page.class %>_picture_<%= attachment.id %>">
17
+ <%= render partial: 'fields/active_storage/drop_js/dropjs_list_edit', locals: {
18
+ field: field,
19
+ attachment: attachment,
20
+ removable: removable,
21
+ image_size: field.show_preview_size
22
+ }%>
23
+ </div>
24
+ <div class="col ml-n2">
25
+ <small class="text-muted">
26
+ <div class="mb-1 dz-size" data-dz-size="">
27
+ <strong>
28
+ SEO: <%= alt_method(attachment) %>
29
+ </strong>
30
+ </div>
31
+ </small>
32
+ <div class="dz-error-message"><span data-dz-errormessage=""></span></div>
33
+ <!-- Text -->
34
+ <small class="text-muted">
35
+ <div class="mb-1 dz-size" data-dz-size="">
36
+ <strong>
37
+ full name : <%= attachment.filename %> |
38
+ </strong></div>
39
+ </small>
40
+ <small class="text-muted">
41
+ <div class="mb-1 dz-size" data-dz-size="">
42
+ <strong>
43
+ <%= attachment.byte_size.fdiv(1000).round(1) %>
44
+ </strong> KB</div>
45
+ </small>
46
+ </div>
47
+ </div>
48
+ <% end %>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
@@ -1,35 +1,33 @@
1
- <% removable = local_assigns.fetch(:removable, false)
2
- image_size = local_assigns.fetch(:image_size, [200, 200]) %>
3
- <% if attachment.image? and attachment.variable? and !field.url_only? %>
4
- <div class="avatar avatar-lg">
5
- <%= image_tag attachment.variant(resize_to_limit: image_size), class:"avatar-img rounded"%>
1
+ <%#
2
+ # Item Partial
3
+
4
+ This partial renders attached items.
5
+
6
+ Attachments of type image, video and audio are emedded. For all other types
7
+ we try use it's preview. If all else fails we simply link to the attached file.
8
+
9
+ This partial will optionally show a `remove` link next to each attachment which is
10
+ controlled via a boolean local variable.
11
+
12
+ ## Local variables:
13
+
14
+ - `field`:
15
+ An instance of [Administrate::Field::Image].
16
+ A wrapper around the image url pulled from the database.
17
+ - `attachment`:
18
+ Reference to the file
19
+ - `removable`:
20
+ A boolean used to control the display of a `Remove` link which
21
+ is used to destroy a single attachment. Defaults to `false`
22
+ - `size`:
23
+ [x, y]
24
+ Maximum size of the ActiveStorage preview.
25
+ %>
26
+ <% if field.show_display_preview? %>
27
+ <div>
28
+ <%= render partial: 'fields/active_storage/normal/preview', locals: local_assigns %>
6
29
  </div>
7
- <% elsif attachment.image? and !field.url_only? %>
8
- <%= link_to(field.blob_url(attachment), title: attachment.filename) do %>
9
- <%= image_tag(field.url(attachment)) %>
10
- <% end %>
11
- <% elsif attachment.video? and attachment.previewable? and !field.url_only? %> <%# if ffmpeg is installed %>
12
- <%= video_tag(field.url(attachment), poster: field.preview(attachment, resize_to_limit: image_size), controls: true, autobuffer: true, style: "width: 100%; height: auto;") %>
13
- <% elsif attachment.video? and !field.url_only? %>
14
- <%= video_tag(field.url(attachment), controls: true, autobuffer: true, style: "width: 100%; height: auto;") %>
15
- <% elsif attachment.audio? and !field.url_only? %>
16
- <%= audio_tag(field.url(attachment), autoplay: false, controls: true) %>
17
- <% else %>
18
- <%= link_to(field.blob_url(attachment), title: attachment.filename) do %>
19
- <% if attachment.previewable? and !field.url_only? %>
20
- <%= image_tag(field.preview(attachment, resize_to_limit: [595, 842])) %>
21
- <% else %>
22
- <%= attachment.filename %>
23
- <% end %>
24
- <% end %>
25
- <% end %>
26
- <% if removable %>
27
- <%#= link_to 'Remove', field.destroy_path(field, attachment), method: :delete, class: 'remove-attachment-link' %>
28
- <%= link_to 'Remove', destroy_url,
29
- method: :delete,
30
- # data: { confirm: t("administrate.actions.confirm") },
31
- remote: true,
32
- class: 'remove-attachment-link'
33
- %>
34
- <hr>
35
30
  <% end %>
31
+ <div>
32
+ <%#= link_to attachment.filename, field.blob_url(attachment), title: attachment.filename %>
33
+ </div>
@@ -0,0 +1,35 @@
1
+ <%#
2
+ # Items Partial
3
+
4
+ This partial renders one or more attachments
5
+
6
+ ## Local variables:
7
+
8
+ - `field`:
9
+ An instance of [Administrate::Field::Image].
10
+ A wrapper around the image url pulled from the database.
11
+ - `removable`:
12
+ A boolean used to control the display of a `Remove` link which
13
+ is used to destroy a single attachment. Defaults to `false`
14
+ - `size`:
15
+ [x, y]
16
+ Maximum size of the ActiveStorage preview.
17
+ Defaults to `field.show_preview_size`.
18
+ %>
19
+ <%
20
+ removable = local_assigns.fetch(:removable, false)
21
+ size = local_assigns.fetch(:size, field.show_preview_size)
22
+ %>
23
+ <div class="d-flex" style="flex-wrap: wrap;">
24
+ <% field.attachments.each do |attachment| %>
25
+ <div class="attachments-listing m-1">
26
+ <%= render partial: 'fields/active_storage/normal/item',
27
+ locals: {
28
+ field: field,
29
+ attachment: attachment,
30
+ removable: removable,
31
+ size: size
32
+ } %>
33
+ </div>
34
+ <% end %>
35
+ </div>
@@ -0,0 +1,42 @@
1
+ <style type="text/css" nonce="<%= content_security_policy_nonce %>">
2
+ #as-field-<%= attachment.id %> {
3
+ width: <%=size[0]/2%>px;
4
+ height: auto;
5
+ overflow: hidden;
6
+ }
7
+ </style>
8
+ <div id="as-field-<%= attachment.id %>">
9
+ <% if attachment.image? %>
10
+ <% if attachment.variable? %>
11
+ <div class="avatar">
12
+ <%#= image_tag attachment.variant(resize_to_limit: image_size)%>
13
+ <%= image_tag(field.variant(attachment, resize_to_limit: size), class:"avatar-img rounded") %>
14
+ </div>
15
+ <% else %>
16
+ <%= image_tag(field.url(attachment)) %>
17
+ <% end %>
18
+ <% elsif attachment.video? %>
19
+ <style type="text/css" nonce="<%= content_security_policy_nonce %>">
20
+ #as-field-video-<%= attachment.id %> {
21
+ object-fit: contain;
22
+ width: 100%;
23
+ height: 100%;
24
+ }
25
+ </style>
26
+ <% if attachment.previewable? %>
27
+ <%= video_tag(field.url(attachment),
28
+ poster: field.preview(attachment, resize_to_limit: size),
29
+ controls: true,
30
+ autobuffer: true,
31
+ id: "as-field-video-#{attachment.id}") %>
32
+ <% else %>
33
+ <%= video_tag(field.url(attachment), controls: true, autobuffer: true, id: "as-field-video-#{attachment.id}") %>
34
+ <% end %>
35
+ <% elsif attachment.audio? %>
36
+ <%= audio_tag(field.url(attachment), autoplay: false, controls: true) %>
37
+ <% elsif attachment.previewable? %>
38
+ <%= image_tag(field.preview(attachment, resize_to_limit: size)) %>
39
+ <% else %>
40
+ <%= attachment.filename %>
41
+ <% end %>
42
+ </div>
@@ -17,6 +17,18 @@ module Administrate
17
17
  # theVariant.service.send(:path_for, theVariant.key) # Absolute path to variant file
18
18
  # end
19
19
 
20
+ def index_display_preview?
21
+ options.fetch(:index_display_preview, true)
22
+ end
23
+
24
+ def index_preview_size
25
+ options.fetch(:index_preview_size, [150, 150])
26
+ end
27
+
28
+ def show_display_preview?
29
+ options.fetch(:show_display_preview, true)
30
+ end
31
+
20
32
  def url_only?
21
33
  options.fetch(:url_only, false)
22
34
  end
@@ -34,7 +46,7 @@ module Administrate
34
46
  end
35
47
 
36
48
  def show_preview_size
37
- options.fetch(:show_preview_size, [1080, 1920])
49
+ options.fetch(:show_preview_size, [800, 800])
38
50
  end
39
51
 
40
52
  def many?
@@ -55,6 +67,10 @@ module Administrate
55
67
  options.fetch(:show_drop_js_on_show, false)
56
68
  end
57
69
 
70
+ def sweety_show_drop_js_on_show?
71
+ options.fetch(:sweety_show_drop_js_on_show, false)
72
+ end
73
+
58
74
  def drop_max_file?
59
75
  options.fetch(:drop_max_file, many? == true ? 10 : 1)
60
76
  end
@@ -86,7 +102,7 @@ module Administrate
86
102
  end
87
103
 
88
104
  def variant(attachment, options)
89
- Rails.application.routes.url_helpers.rails_representation_path(attachment.variant(combine_options: options), only_path: true)
105
+ Rails.application.routes.url_helpers.rails_representation_path(attachment.variant(options), only_path: true)
90
106
  end
91
107
 
92
108
  def url(attachment)
@@ -5,7 +5,7 @@ module ViniBaxter
5
5
  module ViniBaxterFieldActiveStorage
6
6
  MAJOR = 300
7
7
  MINOR = 0
8
- TINY = 2
8
+ TINY = 4
9
9
  PRE = "STUDIO"
10
10
 
11
11
  VERSION = [MAJOR, MINOR, TINY].compact.join(".")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: viniBaxter-field-active_storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 300.0.2
4
+ version: 300.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - viny baxter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-18 00:00:00.000000000 Z
11
+ date: 2022-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: administrate
@@ -69,6 +69,7 @@ files:
69
69
  - app/views/fields/active_storage/_form.html.erb
70
70
  - app/views/fields/active_storage/_index.html.erb
71
71
  - app/views/fields/active_storage/_show.html.erb
72
+ - app/views/fields/active_storage/drop_js/_drop_js_items_if_sweety.html.erb
72
73
  - app/views/fields/active_storage/drop_js/_drop_js_items_on_edit.html.erb
73
74
  - app/views/fields/active_storage/drop_js/_drop_js_items_on_show.html.erb
74
75
  - app/views/fields/active_storage/drop_js/_dropjs_items.html.erb
@@ -76,7 +77,9 @@ files:
76
77
  - app/views/fields/active_storage/drop_js/_dropjs_list_show.html.erb
77
78
  - app/views/fields/active_storage/drop_js/_dropjs_template.html.erb
78
79
  - app/views/fields/active_storage/normal/_item.html.erb
80
+ - app/views/fields/active_storage/normal/_items.html.erb
79
81
  - app/views/fields/active_storage/normal/_items_on_show.html.erb
82
+ - app/views/fields/active_storage/normal/_preview.html.erb
80
83
  - contribute.md
81
84
  - lib/viniBaxter/field/active_storage.rb
82
85
  - lib/viniBaxter/version.rb