simple_form_custom_inputs 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 +5 -2
- data/example/Gemfile +1 -0
- data/example/Gemfile.lock +4 -1
- data/example/app/assets/javascripts/application.js +1 -0
- data/example/app/assets/stylesheets/application.scss +1 -0
- data/lib/simple_form_custom_inputs.rb +1 -0
- data/lib/simple_form_custom_inputs/simple_form/drop_file_input.rb +13 -0
- data/lib/simple_form_custom_inputs/version.rb +1 -1
- data/vendor/assets/javascripts/simple_form_custom_inputs.js +24 -7
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58d04be2f172a7b254564f4c13df2b4cfb8dfb4c
|
4
|
+
data.tar.gz: c679f6ef8484e9b51e3e39a6fc158e8c15d56b2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64c094807fa8501e38960a0cb8ce83db8dcc44e598dfdd1d4eba3d3b4f32b73bce8478384c6b1ec8bb631785e8689648236bab349e3e25fac17f961dae5c42ee
|
7
|
+
data.tar.gz: ed1fadb8b54c9e7cd29fb842239591be6cf9b2d4bb21ea3edd61029513fe0396e3c8e466472a3c6d6ac71c686ba218fdfbc837d50d48481a3ba49bbcc7494409
|
data/README.md
CHANGED
@@ -9,7 +9,8 @@
|
|
9
9
|
- [x] Datepicker
|
10
10
|
- [ ] Datetimepicker
|
11
11
|
- [ ] Timepicker
|
12
|
-
- [
|
12
|
+
- [x] File button
|
13
|
+
- [x] File drag n drop
|
13
14
|
|
14
15
|
## Installation
|
15
16
|
|
@@ -43,6 +44,7 @@ In app/assets/javascripts/application.js, you should add as follows:
|
|
43
44
|
//= require switchery
|
44
45
|
//= require jquery.maskedinput
|
45
46
|
//= require bootstrap-datepicker
|
47
|
+
//= require ezdz/dist/jquery.ezdz
|
46
48
|
//= require simple_form_custom_inputs
|
47
49
|
//= require ...
|
48
50
|
```
|
@@ -54,18 +56,19 @@ Application.scss
|
|
54
56
|
@import "bootstrap";
|
55
57
|
@import "switchery";
|
56
58
|
@import "bootstrap-datepicker";
|
59
|
+
@import "ezdz/dist/jquery.ezdz";
|
57
60
|
```
|
58
61
|
|
59
62
|
Basic Example:
|
60
63
|
|
61
64
|
```erb
|
62
|
-
|
63
65
|
<%= simple_form_for :example do |f| %>
|
64
66
|
<%= f.input :boolean, as: :switch %>
|
65
67
|
<%= f.input :boolean, as: :switch, input_html: {data: {color: '#FF0', secondary_color: '#0F0', jack_color: '#FFF', jack_secondary_color: '#000', size: 'small'}} %>
|
66
68
|
<%= f.input :phone, as: :masked, input_html: {data: {pattern: '(99) 99999-9999'}} %>
|
67
69
|
<%= f.input :time, as: :datepicker %>
|
68
70
|
<%= f.input :photo, as: :button_file, label: false, class: 'btn btn-info', input_html: {multiple: true, data: {multiple_caption: '{count} files selected'}} %>
|
71
|
+
<%= f.input :album, as: :drop_file, label: false, input_html: {multiple: true, data: {text: 'Send pictures', preview: false}} %>
|
69
72
|
<% end %>
|
70
73
|
|
71
74
|
```
|
data/example/Gemfile
CHANGED
data/example/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
simple_form_custom_inputs (0.0.
|
4
|
+
simple_form_custom_inputs (0.0.3)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -116,6 +116,8 @@ GEM
|
|
116
116
|
sprockets-rails (>= 2.0.0)
|
117
117
|
rails-assets-bootstrap-datepicker (1.6.4)
|
118
118
|
rails-assets-jquery (>= 1.7.1)
|
119
|
+
rails-assets-ezdz (0.5.1)
|
120
|
+
rails-assets-jquery (>= 1.8)
|
119
121
|
rails-assets-fastclick (0.6.11)
|
120
122
|
rails-assets-jquery (3.2.1)
|
121
123
|
rails-assets-jquery.maskedinput (1.4.1)
|
@@ -196,6 +198,7 @@ DEPENDENCIES
|
|
196
198
|
puma (~> 3.0)
|
197
199
|
rails (~> 5.0.2)
|
198
200
|
rails-assets-bootstrap-datepicker!
|
201
|
+
rails-assets-ezdz!
|
199
202
|
rails-assets-jquery.maskedinput!
|
200
203
|
rails-assets-switchery!
|
201
204
|
sass-rails (~> 5.0)
|
@@ -4,6 +4,7 @@ autoload :SwitchInput, "simple_form_custom_inputs/simple_form/switch_input"
|
|
4
4
|
autoload :MaskedInput, "simple_form_custom_inputs/simple_form/masked_input"
|
5
5
|
autoload :DatepickerInput, "simple_form_custom_inputs/simple_form/datepicker_input"
|
6
6
|
autoload :ButtonFileInput, "simple_form_custom_inputs/simple_form/button_file_input"
|
7
|
+
autoload :DropFileInput, "simple_form_custom_inputs/simple_form/drop_file_input"
|
7
8
|
|
8
9
|
module SimpleFormCustomInputs
|
9
10
|
class Engine < ::Rails::Engine; end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'active_support/core_ext/string/output_safety'
|
2
|
+
|
3
|
+
class DropFileInput < SimpleForm::Inputs::FileInput
|
4
|
+
attr_accessor :output_buffer
|
5
|
+
|
6
|
+
def input(wrapper_options = nil)
|
7
|
+
input_html_options[:class] << 'drop-file'
|
8
|
+
input_html_options[:multiple] = true if options[:multiple]
|
9
|
+
merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
|
10
|
+
|
11
|
+
@builder.file_field(attribute_name, merged_input_options)
|
12
|
+
end
|
13
|
+
end
|
@@ -14,15 +14,22 @@ var initSwitchery = function() {
|
|
14
14
|
var initMasks = function() {
|
15
15
|
var input = $(".masked input");
|
16
16
|
var pattern = input.data("pattern");
|
17
|
-
input
|
17
|
+
if (input && pattern)
|
18
|
+
input.mask(pattern);
|
18
19
|
};
|
19
20
|
|
20
21
|
var initDatepicker = function() {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
try {
|
23
|
+
$(".datepicker input").datepicker({
|
24
|
+
autoclose: true,
|
25
|
+
todayHighlight: true,
|
26
|
+
language: $(".datepicker input").data("locale")
|
27
|
+
});
|
28
|
+
}
|
29
|
+
|
30
|
+
catch (e) {
|
31
|
+
|
32
|
+
}
|
26
33
|
};
|
27
34
|
|
28
35
|
var handleAttachementLabel = function() {
|
@@ -44,13 +51,23 @@ var handleAttachementLabel = function() {
|
|
44
51
|
label.innerHTML = labelVal;
|
45
52
|
});
|
46
53
|
});
|
47
|
-
}
|
54
|
+
};
|
55
|
+
|
56
|
+
var initDropFile = function() {
|
57
|
+
var input = $(".drop-file");
|
58
|
+
input.ezdz({
|
59
|
+
className: input.attr('class'),
|
60
|
+
text: input.data('text'),
|
61
|
+
previewImage: input.data('preview')
|
62
|
+
});
|
63
|
+
};
|
48
64
|
|
49
65
|
var ready = function() {
|
50
66
|
initSwitchery();
|
51
67
|
initMasks();
|
52
68
|
initDatepicker();
|
53
69
|
handleAttachementLabel();
|
70
|
+
initDropFile();
|
54
71
|
};
|
55
72
|
|
56
73
|
if (typeof Turbolinks == "undefined") {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_form_custom_inputs
|
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
|
- Marcelo Barreto
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- lib/simple_form_custom_inputs.rb
|
171
171
|
- lib/simple_form_custom_inputs/simple_form/button_file_input.rb
|
172
172
|
- lib/simple_form_custom_inputs/simple_form/datepicker_input.rb
|
173
|
+
- lib/simple_form_custom_inputs/simple_form/drop_file_input.rb
|
173
174
|
- lib/simple_form_custom_inputs/simple_form/masked_input.rb
|
174
175
|
- lib/simple_form_custom_inputs/simple_form/switch_input.rb
|
175
176
|
- lib/simple_form_custom_inputs/version.rb
|