viniBaxter-field-active_storage 14.0.0 → 15.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.
- checksums.yaml +4 -4
- data/app/views/fields/active_storage/_form.html.erb +7 -5
- data/app/views/fields/active_storage/_index.html.erb +1 -1
- data/app/views/fields/active_storage/_show.html.erb +2 -2
- data/app/views/fields/active_storage/drop_js/_drop_js_items_on_edit.html.erb +37 -0
- data/app/views/fields/active_storage/drop_js/_drop_js_items_on_show.html.erb +33 -0
- data/app/views/fields/active_storage/{_dropjs_items.html.erb → drop_js/_dropjs_items.html.erb} +1 -1
- data/app/views/fields/active_storage/drop_js/_dropjs_list_edit.html.erb +49 -0
- data/app/views/fields/active_storage/{_dropjs_list_edit.html.erb → drop_js/_dropjs_list_show.html.erb} +0 -0
- data/app/views/fields/active_storage/drop_js/_dropjs_template.html.erb +33 -0
- data/app/views/fields/active_storage/{_item.html.erb → normal/_item.html.erb} +0 -0
- data/app/views/fields/active_storage/{_items_on_show.html.erb → normal/_items_on_show.html.erb} +6 -1
- data/viniBaxter-field-active_storage.gemspec +2 -1
- metadata +10 -8
- data/app/views/fields/active_storage/_dropjs_template.html.erb +0 -54
- data/app/views/fields/active_storage/_items.html.erb +0 -63
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c4181d7b57c9417bc9d3be49393beea99da0909f2be7b1c5a0bd3a09d96bd00
|
4
|
+
data.tar.gz: 538a19df914e49d3a71b66eea8cc3f3fd61bdeeaa3bbba7e31464324ee4da548
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18f9900627550206b8921b5577eceaa9087619aa3b159ee65a5373edaea213e0d0d4836a2b5ff108dc5ac5ce6df9e153abdf30c851607f376553d3086b65f611
|
7
|
+
data.tar.gz: b992563fd128dcdefa02b5fd71323eafb4721b900fd72b4b5c23a48e0fd715479e881f955672d72c5eb6b7fd4646ebf1396e584557d5effe0d82817b17fc0646
|
@@ -19,19 +19,21 @@ By default, the input is a text field for the image's URL.
|
|
19
19
|
</div>
|
20
20
|
<div class="field-unit__field">
|
21
21
|
<% if field.drop_js? %>
|
22
|
-
|
23
|
-
<%= render partial: 'fields/active_storage/dropjs_items', locals: { f: f, field: field, removable: field.destroyable? } %>
|
22
|
+
<%= render partial: 'fields/active_storage/drop_js/dropjs_items', locals: { f: f, field: field, removable: field.destroyable? } %>
|
24
23
|
<%else %>
|
25
|
-
<!-- Form if no dropJS -->
|
26
24
|
<%= f.file_field field.attribute, multiple: field.many?, direct_upload: field.direct? %>
|
27
25
|
<%end %>
|
28
26
|
<!-- show previous images recorded -->
|
29
27
|
<% if field.attached? %>
|
30
28
|
<% if !field.drop_js? %>
|
31
|
-
<%= render partial: 'fields/active_storage/
|
29
|
+
<%= render partial: 'fields/active_storage/normal/items_on_show', locals: { field: field, removable: field.destroyable? } %>
|
32
30
|
<%= field.can_add_attachment? ? "Add:" : "Replace:" %>
|
33
31
|
<%else %>
|
34
|
-
|
32
|
+
<% if request.env["PATH_INFO"].include?('edit')%>
|
33
|
+
<%= render partial: 'fields/active_storage/drop_js/drop_js_items_on_edit', locals: { field: field, removable: field.destroyable? } %>
|
34
|
+
<% else %>
|
35
|
+
<%= render partial: 'fields/active_storage/drop_js/drop_js_items_on_show', locals: { field: field, removable: field.destroyable? } %>
|
36
|
+
<% end %>
|
35
37
|
<%end %>
|
36
38
|
<% end %>
|
37
39
|
</div>
|
@@ -25,7 +25,7 @@ By default, the attribute is rendered as an image tag.
|
|
25
25
|
%>
|
26
26
|
<% if field.attached? %>
|
27
27
|
<% if field.show_in_index? %>
|
28
|
-
<%= render partial: 'fields/active_storage/item',
|
28
|
+
<%= render partial: 'fields/active_storage/normal/item',
|
29
29
|
locals: {
|
30
30
|
field: field,
|
31
31
|
attachment: field.data,
|
@@ -16,8 +16,8 @@ By default, the attribute is rendered as an image tag.
|
|
16
16
|
%>
|
17
17
|
<% if field.attached? %>
|
18
18
|
<% if field.show_drop_js_on_show? %>
|
19
|
-
<%= render partial: 'fields/active_storage/
|
19
|
+
<%= render partial: 'fields/active_storage/drop_js/drop_js_items_on_show', locals: { field: field } %>
|
20
20
|
<%else %>
|
21
|
-
<%= render partial: 'fields/active_storage/items_on_show', locals: { field: field } %>
|
21
|
+
<%= render partial: 'fields/active_storage/normal/items_on_show', locals: { field: field } %>
|
22
22
|
<% end %>
|
23
23
|
<% end %>
|
@@ -0,0 +1,37 @@
|
|
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="card card light-shadow card-fill">
|
9
|
+
<div class="card-header">
|
10
|
+
<h4 class="card-header-title">
|
11
|
+
Latest Uploads
|
12
|
+
</h4>
|
13
|
+
</div>
|
14
|
+
<div class="card-body">
|
15
|
+
<div class="already-downloaded dropzone">
|
16
|
+
<div class="list-group list-group-flush">
|
17
|
+
<div class="list-group-item">
|
18
|
+
<div class="row align-items-center">
|
19
|
+
<% attachments.each do |attachment| %>
|
20
|
+
<div class="" id="<%= @page.class %>_picture_<%= attachment.id %>">
|
21
|
+
<%= render partial: 'fields/active_storage/drop_js/dropjs_list_edit', locals: {
|
22
|
+
field: field,
|
23
|
+
attachment: attachment,
|
24
|
+
removable: removable,
|
25
|
+
image_size: field.show_preview_size
|
26
|
+
}%>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
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="card card light-shadow card-fill">
|
9
|
+
<div class="card-header">
|
10
|
+
<h4 class="card-header-title">
|
11
|
+
Latest Uploads
|
12
|
+
</h4>
|
13
|
+
</div>
|
14
|
+
<div class="card-body">
|
15
|
+
<div class="already-downloaded dropzone">
|
16
|
+
<div class="row">
|
17
|
+
<% attachments.each do |attachment| %>
|
18
|
+
<div class="col-4" id="<%= @page.class %>_picture_<%= attachment.id %>">
|
19
|
+
<%= render partial: 'fields/active_storage/drop_js/dropjs_list_show', locals: {
|
20
|
+
field: field,
|
21
|
+
attachment: attachment,
|
22
|
+
removable: removable,
|
23
|
+
image_size: field.show_preview_size
|
24
|
+
}%>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<div class='mt-4 list-group list-group-flush'>
|
2
|
+
<div class="dz-preview dz-file-preview bibi">
|
3
|
+
<div class="row align-items-center">
|
4
|
+
<div class="col-auto">
|
5
|
+
<div class="mx-1 my-1 avatar avatar-xl">
|
6
|
+
<%
|
7
|
+
# By default we don't allow attachment removal
|
8
|
+
removable = local_assigns.fetch(:removable, false)
|
9
|
+
image_size = local_assigns.fetch(:image_size, [200, 200])
|
10
|
+
%>
|
11
|
+
<% if attachment.image? and attachment.variable? and !field.url_only? %>
|
12
|
+
<%= link_to(field.blob_url(attachment), title: attachment.filename, class:'rounded avatar-img') do %>
|
13
|
+
<%#= image_tag(field.variant(attachment, resize_to_limit: image_size),class:'avatar-img rounded delete_on_click') %>
|
14
|
+
<%= image_tag attachment.variant(resize_to_limit: image_size), class:"rounded avatar-img delete_on_click" %>
|
15
|
+
<% end %>
|
16
|
+
<% elsif attachment.image? and !field.url_only? %>
|
17
|
+
<%= link_to(field.blob_url(attachment), title: attachment.filename) do %>
|
18
|
+
<%= image_tag(field.url(attachment)) %>
|
19
|
+
<% end %>
|
20
|
+
<% elsif attachment.video? and attachment.previewable? and !field.url_only? %> <%# if ffmpeg is installed %>
|
21
|
+
<%= video_tag(field.url(attachment), poster: field.preview(attachment, resize_to_limit: image_size), controls: true, autobuffer: true, style: "width: 100%; height: auto;") %>
|
22
|
+
<% elsif attachment.video? and !field.url_only? %>
|
23
|
+
<%= video_tag(field.url(attachment), controls: true, autobuffer: true, style: "width: 100%; height: auto;") %>
|
24
|
+
<% elsif attachment.audio? and !field.url_only? %>
|
25
|
+
<%= audio_tag(field.url(attachment), autoplay: false, controls: true) %>
|
26
|
+
<% else %>
|
27
|
+
<%= link_to(field.blob_url(attachment), title: attachment.filename) do %>
|
28
|
+
<% if attachment.previewable? and !field.url_only? %>
|
29
|
+
<%= image_tag(field.preview(attachment, resize_to_limit: [595, 842])) %>
|
30
|
+
<% else %>
|
31
|
+
<%= attachment.filename %>
|
32
|
+
<% end %>
|
33
|
+
<% end %>
|
34
|
+
<% end %>
|
35
|
+
<% if field.destroy_url.present? %>
|
36
|
+
<% destroy_url = field.destroy_url.call(namespace, field.data.record, attachment) %>
|
37
|
+
<div class="position-absolute delete-link d-flex align-items-center justify-content-center">
|
38
|
+
<%= link_to destroy_url,
|
39
|
+
method: :delete,
|
40
|
+
remote: true do %>
|
41
|
+
<i class="tim-icons icon-simple-remove text-light"></i>
|
42
|
+
<% end %>
|
43
|
+
</div>
|
44
|
+
<% end %>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
<div class='mt-4 list-group list-group-flush'>
|
3
|
+
<div class="dz-preview dz-file-preview bibi">
|
4
|
+
<div class="row align-items-center">
|
5
|
+
<div class="col-auto">
|
6
|
+
<div class="mx-1 my-1 avatar avatar-xl">
|
7
|
+
<img class="rounded avatar-img" data-dz-thumbnail>
|
8
|
+
<div class="position-absolute delete-link d-flex align-items-center justify-content-center">
|
9
|
+
<a rel="nofollow" data-dz-remove>
|
10
|
+
<i class="tim-icons icon-simple-remove text-light"></i>
|
11
|
+
</a>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<div class="col ml-n2">
|
16
|
+
<!-- Title -->
|
17
|
+
<h4 class="mb-1 text-body name">
|
18
|
+
<div class="dz-filename"><span data-dz-name></span></div>
|
19
|
+
<div class="dz-error-message"><span data-dz-errormessage></span></div>
|
20
|
+
</h4>
|
21
|
+
<!-- Time -->
|
22
|
+
<p class="mb-0 small text-muted">
|
23
|
+
<span class="fe fe-clock"></span>
|
24
|
+
<time data-dz-size></time>
|
25
|
+
</p>
|
26
|
+
<div class="ml-1 w-50 dz-progress">
|
27
|
+
<span class="dz-upload" data-dz-uploadprogress>
|
28
|
+
</span>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
File without changes
|
data/app/views/fields/active_storage/{_items_on_show.html.erb → normal/_items_on_show.html.erb}
RENAMED
@@ -4,6 +4,11 @@
|
|
4
4
|
%>
|
5
5
|
<% attachments.each do |attachment| %>
|
6
6
|
<div class="attachments-listing">
|
7
|
-
<%= render partial: 'fields/active_storage/item', locals: {
|
7
|
+
<%= render partial: 'fields/active_storage/normal/item', locals: {
|
8
|
+
field: field,
|
9
|
+
attachment: attachment,
|
10
|
+
removable: removable,
|
11
|
+
image_size: field.show_preview_size
|
12
|
+
} %>
|
8
13
|
</div>
|
9
14
|
<% end %>
|
@@ -1,8 +1,9 @@
|
|
1
1
|
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "viniBaxter/version"
|
2
3
|
|
3
4
|
Gem::Specification.new do |gem|
|
4
5
|
gem.name = "viniBaxter-field-active_storage"
|
5
|
-
gem.version =
|
6
|
+
gem.version = ViniBaxter::ViniBaxterFieldActiveStorage::VERSION
|
6
7
|
gem.authors = ["viny baxter"]
|
7
8
|
gem.email = ["vincent.viricel@gmail.com"]
|
8
9
|
gem.homepage = "https://github.com/Dreamersoul/administrate-field-active_storage"
|
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:
|
4
|
+
version: 15.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- viny baxter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: administrate
|
@@ -66,15 +66,17 @@ files:
|
|
66
66
|
- README.md
|
67
67
|
- Rakefile
|
68
68
|
- _config.yml
|
69
|
-
- app/views/fields/active_storage/_dropjs_items.html.erb
|
70
|
-
- app/views/fields/active_storage/_dropjs_list_edit.html.erb
|
71
|
-
- app/views/fields/active_storage/_dropjs_template.html.erb
|
72
69
|
- app/views/fields/active_storage/_form.html.erb
|
73
70
|
- app/views/fields/active_storage/_index.html.erb
|
74
|
-
- app/views/fields/active_storage/_item.html.erb
|
75
|
-
- app/views/fields/active_storage/_items.html.erb
|
76
|
-
- app/views/fields/active_storage/_items_on_show.html.erb
|
77
71
|
- app/views/fields/active_storage/_show.html.erb
|
72
|
+
- app/views/fields/active_storage/drop_js/_drop_js_items_on_edit.html.erb
|
73
|
+
- app/views/fields/active_storage/drop_js/_drop_js_items_on_show.html.erb
|
74
|
+
- app/views/fields/active_storage/drop_js/_dropjs_items.html.erb
|
75
|
+
- app/views/fields/active_storage/drop_js/_dropjs_list_edit.html.erb
|
76
|
+
- app/views/fields/active_storage/drop_js/_dropjs_list_show.html.erb
|
77
|
+
- app/views/fields/active_storage/drop_js/_dropjs_template.html.erb
|
78
|
+
- app/views/fields/active_storage/normal/_item.html.erb
|
79
|
+
- app/views/fields/active_storage/normal/_items_on_show.html.erb
|
78
80
|
- contribute.md
|
79
81
|
- lib/viniBaxter/field/active_storage.rb
|
80
82
|
- spec/lib/administrate/field/active_storage_spec.rb
|
@@ -1,54 +0,0 @@
|
|
1
|
-
<div class='list-group list-group-flush pt-4 my-n3'>
|
2
|
-
<div class="dz-preview dz-file-preview bibi">
|
3
|
-
<div class="list-group-item">
|
4
|
-
<div class="row align-items-center">
|
5
|
-
<div class="col-auto">
|
6
|
-
<!-- Avatar -->
|
7
|
-
<a href="#!" class="avatar">
|
8
|
-
<img data-dz-thumbnail data-dz-remove class="avatar-img rounded delete_on_click" />
|
9
|
-
</a>
|
10
|
-
</div>
|
11
|
-
<div class="col ml-n2">
|
12
|
-
<!-- Title -->
|
13
|
-
<h4 class="font-weight-normal mb-1">
|
14
|
-
<a href="#!">
|
15
|
-
<div class="dz-filename"><span data-dz-name></span></div>
|
16
|
-
</a>
|
17
|
-
</h4>
|
18
|
-
<div class="dz-progress">
|
19
|
-
<span
|
20
|
-
class="dz-upload"
|
21
|
-
data-dz-uploadprogress>
|
22
|
-
</span>
|
23
|
-
</div>
|
24
|
-
<div class="dz-error-message"><span data-dz-errormessage ></span></div>
|
25
|
-
<!-- Text -->
|
26
|
-
<small class="text-muted">
|
27
|
-
<div class="dz-size" data-dz-size></div>
|
28
|
-
</small>
|
29
|
-
</div>
|
30
|
-
<div class="col-auto">
|
31
|
-
<!-- Dropdown -->
|
32
|
-
<div class="dropdown">
|
33
|
-
<a href="#" class="dropdown-ellipses dropdown-toggle" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
34
|
-
<i class="fe fe-more-vertical"></i>
|
35
|
-
</a>
|
36
|
-
<div class="dropdown-menu dropdown-menu-right">
|
37
|
-
<a href="#!" class="dropdown-item">
|
38
|
-
Action
|
39
|
-
</a>
|
40
|
-
<a href="#!" class="dropdown-item dz-remove delete_on_click" data-dz-remove>Remove file</a>
|
41
|
-
<a href="#!" class="dropdown-item">
|
42
|
-
Another action
|
43
|
-
</a>
|
44
|
-
<a href="#!" class="dropdown-item">
|
45
|
-
Something else here
|
46
|
-
</a>
|
47
|
-
</div>
|
48
|
-
</div>
|
49
|
-
</div>
|
50
|
-
</div>
|
51
|
-
<!-- / .row -->
|
52
|
-
</div>
|
53
|
-
</div>
|
54
|
-
</div>
|
@@ -1,63 +0,0 @@
|
|
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
|
-
%>
|
15
|
-
<%
|
16
|
-
attachments = Array(field.many? ? field.attachments : field.data)
|
17
|
-
removable = local_assigns.fetch(:removable, false)
|
18
|
-
%>
|
19
|
-
<!-- On edit if no dropJS -->
|
20
|
-
<% if !field.drop_js? %>
|
21
|
-
<% attachments.each do |attachment| %>
|
22
|
-
<div class="attachments-listing">
|
23
|
-
<%= render partial: 'fields/active_storage/item', locals: {
|
24
|
-
field: field,
|
25
|
-
attachment: attachment,
|
26
|
-
removable: removable,
|
27
|
-
image_size: field.show_preview_size
|
28
|
-
} %>
|
29
|
-
</div>
|
30
|
-
<% end %>
|
31
|
-
<%else %>
|
32
|
-
<!-- On edit if dropJS -->
|
33
|
-
<div class="mt-5 col-12 ">
|
34
|
-
<div class="row">
|
35
|
-
<div class="col-12">
|
36
|
-
<div class="card card light-shadow card-fill">
|
37
|
-
<div class="card-header">
|
38
|
-
<!-- Title -->
|
39
|
-
<h4 class="card-header-title">
|
40
|
-
Latest Uploads
|
41
|
-
</h4>
|
42
|
-
</div>
|
43
|
-
<div class="card-body">
|
44
|
-
<div class="already-downloaded dropzone">
|
45
|
-
<div class="row">
|
46
|
-
<% attachments.each do |attachment| %>
|
47
|
-
<div class="col-12" id="<%= @page.class %>_picture_<%= attachment.id %>">
|
48
|
-
<%= render partial: 'fields/active_storage/dropjs_list_edit', locals: {
|
49
|
-
field: field,
|
50
|
-
attachment: attachment,
|
51
|
-
removable: removable,
|
52
|
-
image_size: field.show_preview_size
|
53
|
-
}%>
|
54
|
-
</div>
|
55
|
-
<% end %>
|
56
|
-
</div>
|
57
|
-
</div>
|
58
|
-
</div>
|
59
|
-
</div>
|
60
|
-
</div>
|
61
|
-
</div>
|
62
|
-
</div>
|
63
|
-
<% end %>
|