image_input 0.0.3 → 0.0.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/README.md +16 -0
- data/app/views/image_input/_input.html.erb +7 -4
- data/lib/image_input/helpers.rb +8 -2
- data/lib/image_input/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a60c559fc547a126d4786f8824f501dc0cdf424762cb2be77a374dd72b16207
|
4
|
+
data.tar.gz: a91af36aee1196eed5ed5cf20ba01d1ac7e3b60af321882e8ac05610a85de01e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eeb1f2e83c7e12fc3c49fe7de8c81c1f084d7714fb6d084bb3a894570384e346f06ec40933130c7fb06dccbac5d7157c24fcc0f81428e5b4f94efee59938d8b2
|
7
|
+
data.tar.gz: 7e3e26c2cbcf5f3f7a9c858d5982d6aa30309e23a353b5169812788dd10d46dbc9dbbf6f123ff1129f274c9045d78f11ff1213ea390b1e49fda263cc4ec7a1c6
|
data/README.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
A Rails helper for a simple, clean image input for use with Active Storage.
|
4
4
|
|
5
|
+
Example usage:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
class User < ApplicationRecord
|
9
|
+
has_one_attached :profile_picture
|
10
|
+
end
|
11
|
+
```
|
12
|
+
|
5
13
|
```erb
|
6
14
|
<%= form_with(model: User.new) do |form| %>
|
7
15
|
<%= image_input form, :profile_picture %>
|
@@ -23,6 +31,14 @@ bundle install
|
|
23
31
|
yarn add @mainkatz/image-input
|
24
32
|
```
|
25
33
|
|
34
|
+
Register Stimulus controller. By default in Rails, this is in `controllers/index.js`.
|
35
|
+
|
36
|
+
```js
|
37
|
+
import ImageInputController from '@mainkatz/dropzone-input';
|
38
|
+
|
39
|
+
application.register('image-input', ImageInputController);
|
40
|
+
```
|
41
|
+
|
26
42
|
## Development
|
27
43
|
|
28
44
|
To develop this locally you can update your Gemfile:
|
@@ -2,15 +2,16 @@
|
|
2
2
|
<%= form.file_field(
|
3
3
|
field,
|
4
4
|
class: 'hidden',
|
5
|
+
accept: accept,
|
5
6
|
data: {
|
6
7
|
target: 'image-input.field',
|
7
8
|
action: 'change->image-input#onFileChosen'
|
8
9
|
}
|
9
10
|
) %>
|
10
11
|
|
11
|
-
<% if
|
12
|
+
<% if blob.attached? && blob.image? %>
|
12
13
|
<%= image_tag(
|
13
|
-
|
14
|
+
blob.variant(resize_to_limit: [300, 300]),
|
14
15
|
data: { target: 'image-input.image' },
|
15
16
|
class: 'rounded-md mb-4'
|
16
17
|
) %>
|
@@ -22,7 +23,9 @@
|
|
22
23
|
data-action="click->image-input#chooseFile"
|
23
24
|
data-target="image-input.button"
|
24
25
|
>
|
25
|
-
<%=
|
26
|
+
<%= blob.attached? ? 'Change' : 'Choose file' %>
|
26
27
|
</a>
|
27
|
-
<span class="hidden font-mono text-sm" data-target="image-input.fileNameLabel"
|
28
|
+
<span class="<%= 'hidden' unless blob.attached? %> font-mono text-sm" data-target="image-input.fileNameLabel">
|
29
|
+
<%= blob.try(:filename) %>
|
30
|
+
</span>
|
28
31
|
</div>
|
data/lib/image_input/helpers.rb
CHANGED
@@ -2,8 +2,14 @@
|
|
2
2
|
|
3
3
|
module ImageInput
|
4
4
|
module Helpers
|
5
|
-
def image_input(form, field)
|
6
|
-
render
|
5
|
+
def image_input(form, field, accept: %i(png jpeg gif))
|
6
|
+
render(
|
7
|
+
'image_input/input',
|
8
|
+
form: form,
|
9
|
+
field: field,
|
10
|
+
blob: form.object.public_send(field),
|
11
|
+
accept: accept.map { |a| Mime[a].to_s }.join(',')
|
12
|
+
)
|
7
13
|
end
|
8
14
|
end
|
9
15
|
end
|
data/lib/image_input/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_input
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Katz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|