picktastic 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/inputs/picktastic_date_picker_input.rb +32 -4
- data/lib/picktastic/version.rb +1 -1
- data/vendor/assets/javascripts/picktastic/onload.js +26 -13
- metadata +8 -10
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b23369dd19dba9cb24d2bae9ed971d50d972629d
|
4
|
+
data.tar.gz: 714c8447df98111f49ce40ae239d9a53ce514cda
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 33629bf759dd8aafe058bd3ad840057a4ad41a852207f20f0fc5c7f40f8176eef7e12feedf167b1c576366045a04c2b13c7cb0911494d581b20ab44063ff5017
|
7
|
+
data.tar.gz: c7d2402802ee8234114c860b6f313a1eb60206d28c66f0df85f28cc3fdec26eef07b7ee95d75e9a8774508af78584f6ac69f797164b89e68cb64a396cd27ee69
|
@@ -1,9 +1,37 @@
|
|
1
|
-
class PicktasticDatePickerInput <
|
1
|
+
class PicktasticDatePickerInput < FormtasticBootstrap::Inputs::StringInput
|
2
2
|
|
3
|
-
cattr_accessor :format
|
3
|
+
cattr_accessor :format, :week_start, :language, :auto_close, :input_value_format, :today_button, :data
|
4
|
+
|
5
|
+
@@week_start = 1
|
6
|
+
@@format = I18n.t("date.formats.picktastic")
|
7
|
+
@@input_value_format = I18n.t("date.formats.picktastic_input_value_format")
|
8
|
+
@@language = I18n.locale
|
9
|
+
@@auto_close = true
|
10
|
+
@@today_button = "linked"
|
11
|
+
@@data = { format: @@format,
|
12
|
+
todaybtn: @@today_button,
|
13
|
+
weekstart: @@week_start,
|
14
|
+
autoclose: @@auto_close,
|
15
|
+
language: @@language.to_s }
|
16
|
+
|
17
|
+
def self.format_value value
|
18
|
+
if value.present?
|
19
|
+
I18n.l(value, format: @@input_value_format)
|
20
|
+
end
|
21
|
+
end
|
4
22
|
|
5
23
|
def input_html_options
|
6
|
-
|
24
|
+
parent_options = super
|
25
|
+
parent_data = parent_options[:data] || {}
|
26
|
+
data = @@data.merge(parent_data)
|
27
|
+
parent_options.merge(:class => "picktastic_date_picker",
|
28
|
+
:value => value,
|
29
|
+
:data => data)
|
7
30
|
end
|
8
|
-
end
|
9
31
|
|
32
|
+
def value
|
33
|
+
if @object && @object.respond_to?(@method) && value = @object.send(@method)
|
34
|
+
PicktasticDatePickerInput.format_value value
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/picktastic/version.rb
CHANGED
@@ -1,14 +1,27 @@
|
|
1
|
-
$(picktastic_init)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
if (format != '') {
|
10
|
-
options = { dateFormat: format}
|
11
|
-
}
|
12
|
-
inputs.datepicker(options);
|
1
|
+
$(picktastic_init);
|
2
|
+
|
3
|
+
picktasticProperties = ['format', 'weekStart', 'autoclose', 'language', 'todayBtn'];
|
4
|
+
var addProperty = function(object, input, key) {
|
5
|
+
// haml lowercases all attribute-names so we need to look up the data attributes lowercased
|
6
|
+
var value = input.data(key.toLowerCase());
|
7
|
+
if (value !== undefined) {
|
8
|
+
object[key] = value;
|
13
9
|
}
|
14
|
-
}
|
10
|
+
};
|
11
|
+
|
12
|
+
function initPicktasticForElement(elem) {
|
13
|
+
var input = $(elem);
|
14
|
+
var options = {};
|
15
|
+
|
16
|
+
$.each(picktasticProperties, function(idx, key) {
|
17
|
+
addProperty(options, input, key);
|
18
|
+
});
|
19
|
+
return input.datepicker(options);
|
20
|
+
};
|
21
|
+
|
22
|
+
function picktastic_init() {
|
23
|
+
$('input.picktastic_date_picker').each(function(idx, elem) {
|
24
|
+
initPicktasticForElement(elem);
|
25
|
+
});
|
26
|
+
};
|
27
|
+
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: picktastic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Axel Tetzlaff
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-02-18 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Provides a formtastc input that binds the jquery datepicker to the input
|
15
14
|
field
|
@@ -19,7 +18,7 @@ executables: []
|
|
19
18
|
extensions: []
|
20
19
|
extra_rdoc_files: []
|
21
20
|
files:
|
22
|
-
- .gitignore
|
21
|
+
- ".gitignore"
|
23
22
|
- Gemfile
|
24
23
|
- LICENSE.txt
|
25
24
|
- README.md
|
@@ -32,27 +31,26 @@ files:
|
|
32
31
|
- vendor/assets/javascripts/picktastic/onload.js
|
33
32
|
homepage: ''
|
34
33
|
licenses: []
|
34
|
+
metadata: {}
|
35
35
|
post_install_message:
|
36
36
|
rdoc_options: []
|
37
37
|
require_paths:
|
38
38
|
- lib
|
39
39
|
required_ruby_version: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
40
|
requirements:
|
42
|
-
- -
|
41
|
+
- - ">="
|
43
42
|
- !ruby/object:Gem::Version
|
44
43
|
version: '0'
|
45
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
45
|
requirements:
|
48
|
-
- -
|
46
|
+
- - ">="
|
49
47
|
- !ruby/object:Gem::Version
|
50
48
|
version: '0'
|
51
49
|
requirements: []
|
52
50
|
rubyforge_project:
|
53
|
-
rubygems_version:
|
51
|
+
rubygems_version: 2.4.5.1
|
54
52
|
signing_key:
|
55
|
-
specification_version:
|
53
|
+
specification_version: 4
|
56
54
|
summary: Adds a custom input picktastic_date_picker and supplies a js file that will
|
57
55
|
bind the jquery datepicker widget to these inputs
|
58
56
|
test_files: []
|