calendar_date_select 1.14 → 1.15

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ == Version 1.15
2
+ * Bugfix: don't include the :image option in the input field
3
+
1
4
  == Version 1.14
2
5
  * Added support for Rails 2.3
3
6
 
data/Rakefile CHANGED
@@ -8,11 +8,11 @@ require "activesupport"
8
8
  require './lib/calendar_date_select.rb'
9
9
 
10
10
  Hoe.new('calendar_date_select', CalendarDateSelect::VERSION) do |p|
11
- p.rubyforge_name = 'calendar_date_select'
11
+ p.rubyforge_name = 'cds'
12
12
  p.developer('Tim Harper', 'tim c harper at gmail dot com')
13
13
  end
14
14
 
15
-
15
+ desc "Set the current gem version in the code (VERSION=version)"
16
16
  task :set_version do
17
17
  ["lib/calendar_date_select/calendar_date_select.rb", "public/javascripts/calendar_date_select/calendar_date_select.js"].each do |file|
18
18
  abs_file = File.dirname(__FILE__) + "/" + file
@@ -1,5 +1,5 @@
1
1
  module CalendarDateSelect
2
- VERSION = '1.14'
2
+ VERSION = '1.15'
3
3
  FORMATS = {
4
4
  :natural => {
5
5
  :date => "%B %d, %Y",
@@ -96,7 +96,7 @@ module CalendarDateSelect::FormHelpers
96
96
  #
97
97
  # <%= calendar_date_select_tag "event_demo", "", :after_navigate => "alert('The current selected month is ' + this.calendar_date_select.selected_date.getMonth());" ,
98
98
  def calendar_date_select_tag( name, value = nil, options = {})
99
- options, javascript_options = calendar_date_select_process_options(options)
99
+ image, options, javascript_options = calendar_date_select_process_options(options)
100
100
  value = CalendarDateSelect.format_time(value, javascript_options)
101
101
 
102
102
  javascript_options.delete(:format)
@@ -106,7 +106,7 @@ module CalendarDateSelect::FormHelpers
106
106
  hidden_field_tag(name, value, options) :
107
107
  text_field_tag(name, value, options)
108
108
 
109
- calendar_date_select_output(tag, options, javascript_options)
109
+ calendar_date_select_output(tag, image, options, javascript_options)
110
110
  end
111
111
 
112
112
  # Similar to the difference between +text_field_tag+ and +text_field+, this method behaves like +text_field+
@@ -126,7 +126,7 @@ module CalendarDateSelect::FormHelpers
126
126
  use_time = false if Date===(obj.respond_to?(method) && obj.send(method))
127
127
  end
128
128
 
129
- options, javascript_options = calendar_date_select_process_options(options)
129
+ image, options, javascript_options = calendar_date_select_process_options(options)
130
130
 
131
131
  options[:value] ||=
132
132
  if(obj.respond_to?(method) && obj.send(method).respond_to?(:strftime))
@@ -142,6 +142,7 @@ module CalendarDateSelect::FormHelpers
142
142
  tag = ActionView::Helpers::InstanceTag.new_with_backwards_compatibility(object, method, self, options.delete(:object))
143
143
  calendar_date_select_output(
144
144
  tag.to_input_field_tag( (javascript_options[:hidden] || javascript_options[:embedded]) ? "hidden" : "text", options),
145
+ image,
145
146
  options,
146
147
  javascript_options
147
148
  )
@@ -151,6 +152,7 @@ module CalendarDateSelect::FormHelpers
151
152
  # extracts any options passed into calendar date select, appropriating them to either the Javascript call or the html tag.
152
153
  def calendar_date_select_process_options(options)
153
154
  options, javascript_options = CalendarDateSelect.default_options.merge(options), {}
155
+ image = options.delete(:image)
154
156
  callbacks = [:before_show, :before_close, :after_show, :after_close, :after_navigate]
155
157
  for key in [:time, :valid_date_check, :embedded, :buttons, :clear_button, :format, :year_range, :month_year, :popup, :hidden, :minute_interval] + callbacks
156
158
  javascript_options[key] = options.delete(key) if options.has_key?(key)
@@ -184,10 +186,10 @@ module CalendarDateSelect::FormHelpers
184
186
  end
185
187
 
186
188
  javascript_options[:year_range] = format_year_range(javascript_options[:year_range] || 10)
187
- [options, javascript_options]
189
+ [image, options, javascript_options]
188
190
  end
189
191
 
190
- def calendar_date_select_output(input, options = {}, javascript_options = {})
192
+ def calendar_date_select_output(input, image, options = {}, javascript_options = {})
191
193
  out = input
192
194
  if javascript_options[:embedded]
193
195
  uniq_id = "cds_placeholder_#{(rand*100000).to_i}"
@@ -196,7 +198,7 @@ module CalendarDateSelect::FormHelpers
196
198
  out << javascript_tag("new CalendarDateSelect( $('#{uniq_id}').previous(), #{options_for_javascript(javascript_options)} ); ")
197
199
  else
198
200
  out << " "
199
- out << image_tag(options[:image],
201
+ out << image_tag(image,
200
202
  :onclick => "new CalendarDateSelect( $(this).previous(), #{options_for_javascript(javascript_options)} );",
201
203
  :style => 'border:0px; cursor:pointer;',
202
204
  :class=>'calendar_date_select_popup_icon')
@@ -1,4 +1,4 @@
1
- // CalendarDateSelect version 1.14 - a prototype based date picker
1
+ // CalendarDateSelect version 1.15 - a prototype based date picker
2
2
  // Questions, comments, bugs? - see the project page: http://code.google.com/p/calendardateselect
3
3
  if (typeof Prototype == 'undefined') alert("CalendarDateSelect Error: Prototype could not be found. Please make sure that your application's layout includes prototype.js (.g. <%= javascript_include_tag :defaults %>) *before* it includes calendar_date_select.js (.g. <%= calendar_date_select_includes %>).");
4
4
  if (Prototype.Version < "1.6") alert("Prototype 1.6.0 is required. If using earlier version of prototype, please use calendar_date_select version 1.8.3");
@@ -130,6 +130,10 @@ describe CalendarDateSelect::FormHelpers do
130
130
  end
131
131
 
132
132
  describe "calendar_date_select_tag" do
133
+ before(:each) do
134
+ @time = Time.parse("January 2, 2007 12:01:23 AM")
135
+ end
136
+
133
137
  it "should use the string verbatim when provided" do
134
138
  output = calendar_date_select_tag(:name, "Some String")
135
139
 
@@ -137,25 +141,26 @@ describe CalendarDateSelect::FormHelpers do
137
141
  end
138
142
 
139
143
  it "should not render the time when time is false (or nil)" do
140
- time = Time.parse("January 2, 2007 12:01:23 AM")
141
- output = calendar_date_select_tag(:name, time, :time => false)
144
+ output = calendar_date_select_tag(:name, @time, :time => false)
142
145
 
143
146
  output.should_not match(/12:01 AM/)
144
- output.should include(CalendarDateSelect.format_date(time.to_date))
147
+ output.should include(CalendarDateSelect.format_date(@time.to_date))
145
148
  end
146
149
 
147
150
  it "should render the time when :time => true" do
148
- time = Time.parse("January 2, 2007 12:01:23 AM")
149
- output = calendar_date_select_tag(:name, time, :time => true)
151
+ output = calendar_date_select_tag(:name, @time, :time => true)
150
152
 
151
- output.should include(CalendarDateSelect.format_date(time))
153
+ output.should include(CalendarDateSelect.format_date(@time))
152
154
  end
153
155
 
154
156
  it "should render the time when :time => 'mixed'" do
155
- time = Time.parse("January 2, 2007 12:01:23 AM")
156
- output = calendar_date_select_tag(:name, time, :time => 'mixed')
157
-
158
- output.should include(CalendarDateSelect.format_date(time))
157
+ output = calendar_date_select_tag(:name, @time, :time => 'mixed')
158
+ output.should include(CalendarDateSelect.format_date(@time))
159
+ end
160
+
161
+ it "not include the image option in the result input tag" do
162
+ output = calendar_date_select_tag(:name, @time, :time => 'mixed')
163
+ output.should_not include("image=")
159
164
  end
160
165
  end
161
166
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calendar_date_select
3
3
  version: !ruby/object:Gem::Version
4
- version: "1.14"
4
+ version: "1.15"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Harper
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  version:
99
99
  requirements: []
100
100
 
101
- rubyforge_project: calendar_date_select
101
+ rubyforge_project: cds
102
102
  rubygems_version: 1.3.1
103
103
  signing_key:
104
104
  specification_version: 2