jquery_datepicker 0.3.1 → 0.3.2
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.
- data/README.rdoc +32 -13
- data/Rakefile +1 -1
- data/jquery_datepicker.gemspec +2 -2
- data/lib/app/helpers/form_helper.rb +18 -1
- metadata +1 -2
- data/Manifest +0 -8
data/README.rdoc
CHANGED
@@ -2,33 +2,52 @@
|
|
2
2
|
|
3
3
|
This simple gem allows you to add a date picker field into your views.
|
4
4
|
|
5
|
-
==
|
5
|
+
== Getting Started
|
6
6
|
|
7
|
-
|
7
|
+
1. Add into your Gemfile:
|
8
8
|
|
9
|
-
|
10
|
-
gem 'jquery-rails'
|
9
|
+
gem 'jquery-rails'
|
11
10
|
|
12
|
-
|
11
|
+
2. Execute this command to install the needed js files:
|
13
12
|
|
14
|
-
rails generate jquery:install --ui
|
13
|
+
rails generate jquery:install --ui
|
15
14
|
|
16
|
-
* Insert into your Gemfile:
|
17
15
|
|
18
|
-
|
16
|
+
3. Insert into your Gemfile:
|
17
|
+
|
18
|
+
gem 'jquery_datepicker'
|
19
|
+
|
19
20
|
|
20
21
|
== Usage
|
21
22
|
|
22
23
|
Add this to your view.
|
23
24
|
|
24
|
-
<%= datepicker_input "user","birthday" %>
|
25
|
+
<%= datepicker_input "user","birthday" %>
|
26
|
+
|
25
27
|
|
26
28
|
Where "user" is your model name and "birthday" the name of the datefield.
|
27
29
|
|
28
30
|
You can also use it with the form helper like:
|
29
31
|
|
30
|
-
<% form_for(@user) do |f| %>
|
31
|
-
|
32
|
-
|
33
|
-
<% end %>
|
32
|
+
<% form_for(@user) do |f| %>
|
33
|
+
<%= f.datepicker 'birthday' %>
|
34
|
+
<%= f.submit 'Create' %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
Nested attributes are permitted as well:
|
38
|
+
|
39
|
+
<% form_for(@user) do |f| %>
|
40
|
+
<% f.fields_for(@nested) do |f2| %>
|
41
|
+
<%= f2.datepicker 'birthday' %>
|
42
|
+
<% end %>
|
43
|
+
<%= f.submit 'Create' %>
|
44
|
+
<% end %>
|
45
|
+
|
46
|
+
You can pass options as it would be a normal text_field, plus all the datepicker options available (http://jqueryui.com/demos/datepicker/#options)
|
47
|
+
|
48
|
+
<%= datepicker_input(:foo, :att1, :minDate => -20, :maxDate => "+1M +10D", :tabindex => 70) %>
|
49
|
+
|
50
|
+
|
51
|
+
== Support
|
34
52
|
|
53
|
+
Open an issue in https://github.com/albertopq/jquery_datepicker if you need further support or want to report a bug
|
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@ require 'rake'
|
|
3
3
|
require 'echoe'
|
4
4
|
require 'rspec/core/rake_task'
|
5
5
|
|
6
|
-
Echoe.new('jquery_datepicker', '0.3.
|
6
|
+
Echoe.new('jquery_datepicker', '0.3.2') do |p|
|
7
7
|
p.description = "View helper that allows to select dates from a calendar (using jQuery Ui plugin)"
|
8
8
|
p.url = "http://github.com/albertopq/jquery_datepicker"
|
9
9
|
p.author = "Alberto Pastor"
|
data/jquery_datepicker.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "jquery_datepicker"
|
5
|
-
s.version = "0.3.
|
5
|
+
s.version = "0.3.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Alberto Pastor"]
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.description = "View helper that allows to select dates from a calendar (using jQuery Ui plugin)"
|
11
11
|
s.email = "albert.pastor@gmail.com"
|
12
12
|
s.extra_rdoc_files = ["README.rdoc", "lib/app/helpers/datepicker_helper.rb", "lib/app/helpers/form_helper.rb", "lib/jquery_datepicker.rb"]
|
13
|
-
s.files = ["README.rdoc", "Rakefile", "init.rb", "jquery_datepicker.gemspec", "lib/app/helpers/datepicker_helper.rb", "lib/app/helpers/form_helper.rb", "lib/jquery_datepicker.rb"
|
13
|
+
s.files = ["README.rdoc", "Rakefile", "init.rb", "jquery_datepicker.gemspec", "lib/app/helpers/datepicker_helper.rb", "lib/app/helpers/form_helper.rb", "lib/jquery_datepicker.rb"]
|
14
14
|
s.homepage = "http://github.com/albertopq/jquery_datepicker"
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Jquery_datepicker", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'date'
|
1
2
|
|
2
3
|
module JqueryDatepicker
|
3
4
|
module FormHelper
|
@@ -7,7 +8,8 @@ module JqueryDatepicker
|
|
7
8
|
# Mehtod that generates datepicker input field inside a form
|
8
9
|
def datepicker(object_name, method, options = {})
|
9
10
|
input_tag = JqueryDatepicker::InstanceTag.new(object_name, method, self, options.delete(:object))
|
10
|
-
dp_options, tf_options = input_tag.split_options(options)
|
11
|
+
dp_options, tf_options = input_tag.split_options(options)
|
12
|
+
tf_options[:value] = input_tag.format_date(tf_options[:value], String.new(dp_options[:dateFormat])) if tf_options.has_key?(:value) && dp_options.has_key?(:dateFormat)
|
11
13
|
html = input_tag.to_input_field_tag("text", tf_options)
|
12
14
|
html += javascript_tag("jQuery(document).ready(function(){$('##{input_tag.get_name_and_id["id"]}').datepicker(#{dp_options.to_json})});")
|
13
15
|
html.html_safe
|
@@ -25,6 +27,8 @@ end
|
|
25
27
|
|
26
28
|
class JqueryDatepicker::InstanceTag < ActionView::Helpers::InstanceTag
|
27
29
|
|
30
|
+
FORMAT_REPLACEMENTES = { "yy" => "%Y", "mm" => "%m", "dd" => "%d", "d" => "%-d", "m" => "%-m", "y" => "%y"}
|
31
|
+
|
28
32
|
# Extending ActionView::Helpers::InstanceTag module to make Rails build the name and id
|
29
33
|
# Just returns the options before generate the HTML in order to use the same id and name (see to_input_field_tag mehtod)
|
30
34
|
|
@@ -41,5 +45,18 @@ class JqueryDatepicker::InstanceTag < ActionView::Helpers::InstanceTag
|
|
41
45
|
tf_options = options.slice!(*available_datepicker_options)
|
42
46
|
return options, tf_options
|
43
47
|
end
|
48
|
+
|
49
|
+
def format_date(tb_formatted, format)
|
50
|
+
new_format = translate_format(format)
|
51
|
+
Date.parse(tb_formatted).strftime(new_format)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Method that translates the datepicker date formats, defined in (http://docs.jquery.com/UI/Datepicker/formatDate)
|
55
|
+
# to the ruby standard format (http://www.ruby-doc.org/core-1.9.3/Time.html#method-i-strftime).
|
56
|
+
# This gem is not going to support all the options, just the most used.
|
57
|
+
|
58
|
+
def translate_format(format)
|
59
|
+
format.gsub!(/#{FORMAT_REPLACEMENTES.keys.join("|")}/) { |match| FORMAT_REPLACEMENTES[match] }
|
60
|
+
end
|
44
61
|
|
45
62
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery_datepicker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -29,7 +29,6 @@ files:
|
|
29
29
|
- lib/app/helpers/datepicker_helper.rb
|
30
30
|
- lib/app/helpers/form_helper.rb
|
31
31
|
- lib/jquery_datepicker.rb
|
32
|
-
- Manifest
|
33
32
|
homepage: http://github.com/albertopq/jquery_datepicker
|
34
33
|
licenses: []
|
35
34
|
post_install_message:
|