simple_form_extension 1.4.15 → 1.4.16
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0923a6c64e3a373fe4cd5112d4f45c5e7ea3c2c
|
4
|
+
data.tar.gz: b4545d0d4570bc4a9674a605d52989d504eaea4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d90c6780273260f670ea82c4936a5dac17f30ee2c39c27bec505f0fc61d628b700c0b810ef2f9c09e3e51d9e12afe2725af167caa89f641b3f014d3a3ef26ff
|
7
|
+
data.tar.gz: 946edfa5efa417d9d78242eba9e3a4b449fabccfaba9287bb5ee4176675393f7980528e6cc281152243521f445a6ad516f619d9e65e08d296219ac8f1a4e4b61
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module SimpleFormExtension
|
2
|
+
module FileConcern
|
3
|
+
def existing_file_tag
|
4
|
+
return '' unless file_exists?
|
5
|
+
|
6
|
+
content_tag(:div, class: 'input-group help-block existing-file', data: { provides: 'existing-file'}) do
|
7
|
+
content_tag(:span, class: 'input-group-addon') do
|
8
|
+
"#{ _translate('file.existing_file') } : ".html_safe
|
9
|
+
end +
|
10
|
+
|
11
|
+
file_preview_and_remove_button
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def file_preview_and_remove_button
|
16
|
+
content_tag(:div, class: 'btn-group') do
|
17
|
+
content_tag(:a, class: 'btn btn-default ', href: file_url, target: '_blank', data: { toggle: 'existing-file' }) do
|
18
|
+
content_tag(:i, '', class: 'fa fa-file') +
|
19
|
+
" ".html_safe +
|
20
|
+
|
21
|
+
existing_file_name
|
22
|
+
end +
|
23
|
+
|
24
|
+
remove_file_button
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def existing_file_name
|
29
|
+
if object.try(:"#{ attribute_name }?")
|
30
|
+
object.send(:"#{ attribute_name }_file_name").html_safe
|
31
|
+
elsif (attachment = object.try(attribute_name)).try(:attached?)
|
32
|
+
attachment.filename.to_s
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def remove_file_button
|
37
|
+
return unless object.respond_to?(:"#{ remove_attachment_method }=")
|
38
|
+
|
39
|
+
content_tag(:button, class: 'btn btn-default', type: 'button', data: { dismiss: 'existing-file' }) do
|
40
|
+
content_tag(:i, '', class: 'fa fa-remove', data: { :'removed-class' => 'fa fa-refresh' }) +
|
41
|
+
@builder.hidden_field(remove_attachment_method, class: 'remove-file-input', value: nil)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def remove_attachment_method
|
46
|
+
options[:remove_method] || :"remove_#{ attribute_name }"
|
47
|
+
end
|
48
|
+
|
49
|
+
def file_exists?
|
50
|
+
@file_exists ||= object.try(:"#{ attribute_name }?") ||
|
51
|
+
object.try(attribute_name).try(:attached?)
|
52
|
+
end
|
53
|
+
|
54
|
+
def file_url
|
55
|
+
if object.try(:"#{ attribute_name }?")
|
56
|
+
object.send(attribute_name)
|
57
|
+
elsif object.try(attribute_name).try(:attached?)
|
58
|
+
object.try(attribute_name).try(:service_url)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -2,6 +2,7 @@ module SimpleFormExtension
|
|
2
2
|
module Inputs
|
3
3
|
class FileInput < SimpleForm::Inputs::Base
|
4
4
|
include SimpleFormExtension::Translations
|
5
|
+
include SimpleFormExtension::FileConcern
|
5
6
|
|
6
7
|
delegate :content_tag, to: :template
|
7
8
|
|
@@ -35,63 +36,6 @@ module SimpleFormExtension
|
|
35
36
|
|
36
37
|
existing_file_tag
|
37
38
|
end
|
38
|
-
|
39
|
-
def existing_file_tag
|
40
|
-
return '' unless file_exists?
|
41
|
-
|
42
|
-
content_tag(:div, class: 'input-group help-block existing-file', data: { provides: 'existing-file'}) do
|
43
|
-
content_tag(:span, class: 'input-group-addon') do
|
44
|
-
"#{ _translate('file.existing_file') } : ".html_safe
|
45
|
-
end +
|
46
|
-
|
47
|
-
content_tag(:div, class: 'btn-group') do
|
48
|
-
content_tag(:a, class: 'btn btn-default ', href: file_url, target: '_blank', data: { toggle: 'existing-file' }) do
|
49
|
-
content_tag(:i, '', class: 'fa fa-file') +
|
50
|
-
" ".html_safe +
|
51
|
-
|
52
|
-
existing_file_name
|
53
|
-
end +
|
54
|
-
|
55
|
-
remove_file_button
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def existing_file_name
|
61
|
-
return unless file_exists?
|
62
|
-
|
63
|
-
if object.try(:"#{ attribute_name }?")
|
64
|
-
object.send(:"#{ attribute_name }_file_name").html_safe
|
65
|
-
elsif (attachment = object.try(attribute_name)).try(:attached?)
|
66
|
-
attachment.filename.to_s
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def remove_file_button
|
71
|
-
return unless object.respond_to?(:"#{ remove_attachment_method }=")
|
72
|
-
|
73
|
-
content_tag(:button, class: 'btn btn-default', type: 'button', data: { dismiss: 'existing-file' }) do
|
74
|
-
content_tag(:i, '', class: 'fa fa-remove', data: { :'removed-class' => 'fa fa-refresh' }) +
|
75
|
-
@builder.hidden_field(remove_attachment_method, class: 'remove-file-input', value: nil)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def remove_attachment_method
|
80
|
-
options[:remove_method] || :"remove_#{ attribute_name }"
|
81
|
-
end
|
82
|
-
|
83
|
-
def file_exists?
|
84
|
-
@file_exists ||= object.try(:"#{ attribute_name }?") ||
|
85
|
-
object.try(attribute_name).try(:attached?)
|
86
|
-
end
|
87
|
-
|
88
|
-
def file_url
|
89
|
-
if object.try(:"#{ attribute_name }?")
|
90
|
-
object.send(attribute_name)
|
91
|
-
elsif object.try(attribute_name).try(:attached?)
|
92
|
-
object.try(attribute_name)
|
93
|
-
end
|
94
|
-
end
|
95
39
|
end
|
96
40
|
end
|
97
41
|
end
|
@@ -2,6 +2,7 @@ module SimpleFormExtension
|
|
2
2
|
module Inputs
|
3
3
|
class ImageInput < SimpleForm::Inputs::Base
|
4
4
|
include SimpleFormExtension::Translations
|
5
|
+
include SimpleFormExtension::FileConcern
|
5
6
|
|
6
7
|
delegate :content_tag, :image_tag, to: :template
|
7
8
|
|
@@ -27,45 +28,56 @@ module SimpleFormExtension
|
|
27
28
|
end
|
28
29
|
end +
|
29
30
|
|
30
|
-
|
31
|
-
existing_image_tag
|
32
|
-
end
|
31
|
+
existing_image_tag
|
33
32
|
end
|
34
33
|
end
|
35
34
|
|
36
35
|
def existing_image_tag
|
37
36
|
# If an existing paperclip image is found
|
38
|
-
if
|
37
|
+
if file_exists?
|
38
|
+
file_preview_and_remove_button
|
39
|
+
else
|
40
|
+
content_tag(:div, class: 'fileinput-preview thumbnail') do
|
41
|
+
content_tag(:div, '', class: 'empty-thumbnail')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def image
|
47
|
+
@image ||= object.try(attribute_name)
|
48
|
+
end
|
49
|
+
|
50
|
+
def file_preview_and_remove_button
|
51
|
+
if image.variable? || image.previewable?
|
39
52
|
container_style = 'position: relative; height: 100%; width: 100%; min-height: 50px;min-width: 58px; display: block;'
|
40
53
|
|
41
|
-
content_tag(:div,
|
42
|
-
|
43
|
-
|
54
|
+
content_tag(:div, class: 'fileinput-preview thumbnail') do
|
55
|
+
content_tag(:div, style: container_style, data: { provides: 'existing-file' }) do
|
56
|
+
image_tag(
|
57
|
+
file_url,
|
58
|
+
style: 'height: 100%; width: 100%; display: block;', data: { toggle: 'existing-file' }
|
59
|
+
) +
|
60
|
+
remove_image_button
|
61
|
+
end
|
44
62
|
end
|
45
63
|
else
|
46
|
-
|
64
|
+
super
|
47
65
|
end
|
48
66
|
end
|
49
67
|
|
50
|
-
# Returns true if a paperclip or active_storage attachment already exists
|
51
|
-
# for that model field
|
52
|
-
#
|
53
|
-
def image_exists?
|
54
|
-
object.try(:"#{ attribute_name }?") ||
|
55
|
-
object.try(attribute_name).try(:attached?)
|
56
|
-
end
|
57
|
-
|
58
68
|
# Returns the paperclip or active_storage attachment url to show in the
|
59
69
|
# preview thumbnail
|
60
70
|
#
|
61
|
-
def
|
71
|
+
def file_url
|
62
72
|
if object.try(:"#{ attribute_name }?")
|
63
73
|
object.send(attribute_name).url(image_style)
|
64
|
-
elsif (
|
65
|
-
if
|
66
|
-
|
74
|
+
elsif (attachment = object.try(attribute_name)).try(:attached?)
|
75
|
+
if attachment.variable?
|
76
|
+
attachment.variant(resize: "400x150>")
|
77
|
+
elsif attachment.previewable?
|
78
|
+
attachment.preview(resize: "400x150>")
|
67
79
|
else
|
68
|
-
|
80
|
+
attachment.service_url
|
69
81
|
end
|
70
82
|
end
|
71
83
|
end
|
@@ -81,10 +93,6 @@ module SimpleFormExtension
|
|
81
93
|
end
|
82
94
|
end
|
83
95
|
|
84
|
-
def remove_attachment_method
|
85
|
-
options[:remove_method] || :"remove_#{ attribute_name }"
|
86
|
-
end
|
87
|
-
|
88
96
|
def image_style
|
89
97
|
styles = object.send(attribute_name).styles.map(&:first)
|
90
98
|
# Check if there's a :thumb or :thumbnail style in attachment definition
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_form_extension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Glyph-fr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/simple_form_extension/components/icons.rb
|
119
119
|
- lib/simple_form_extension/components/popovers.rb
|
120
120
|
- lib/simple_form_extension/ext/form_builder.rb
|
121
|
+
- lib/simple_form_extension/file_concern.rb
|
121
122
|
- lib/simple_form_extension/inputs.rb
|
122
123
|
- lib/simple_form_extension/inputs/boolean_input.rb
|
123
124
|
- lib/simple_form_extension/inputs/collection_check_boxes_input.rb
|