Change date picker
This commit is contained in:
		
							parent
							
								
									5b13c53ed9
								
							
						
					
					
						commit
						fac4faad6c
					
				|  | @ -0,0 +1,17 @@ | ||||||
|  | $(document).ready(function(){ | ||||||
|  | 
 | ||||||
|  |   $('.date_picker').datetimepicker({ | ||||||
|  |       pickTime: false | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   $('.default_picker').datetimepicker(); | ||||||
|  | 
 | ||||||
|  |   $('.time_picker').datetimepicker({ | ||||||
|  |       pickDate: false | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   $('.separated_picker div').on("changeDate",function(){ | ||||||
|  |     $(this).siblings('input').val($(this).find('input').val() + ' ' + $(this).siblings('div').find('input').val()); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  | }); | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -19,4 +19,6 @@ | ||||||
| //= require side_bar_history
 | //= require side_bar_history
 | ||||||
| //= require rss
 | //= require rss
 | ||||||
| //= require ajax_form
 | //= require ajax_form
 | ||||||
| //= require inc/ajax_setting
 | //= require inc/ajax_setting
 | ||||||
|  | //= require lib/bootstrap-datetimepicker
 | ||||||
|  | //= require datetimepicker
 | ||||||
|  | @ -0,0 +1,221 @@ | ||||||
|  | /*! | ||||||
|  | * Datepicker for Bootstrap | ||||||
|  | * | ||||||
|  | * Copyright 2012 Stefan Petre | ||||||
|  | * Licensed under the Apache License v2.0 | ||||||
|  | * http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | * | ||||||
|  | */ | ||||||
|  | .clearfix { | ||||||
|  | 	*zoom:1; | ||||||
|  | } | ||||||
|  | .clearfix:before, | ||||||
|  | .clearfix:after { | ||||||
|  | 	display:table; | ||||||
|  | 	content:""; | ||||||
|  | 	line-height:0; | ||||||
|  | } | ||||||
|  | .clearfix:after { | ||||||
|  | 	clear:both; | ||||||
|  | } | ||||||
|  | .hide-text { | ||||||
|  | 	font:0/0 a; | ||||||
|  | 	color:transparent; | ||||||
|  | 	text-shadow:none; | ||||||
|  | 	background-color:transparent; | ||||||
|  | 	border:0; | ||||||
|  | } | ||||||
|  | .input-block-level { | ||||||
|  | 	display:block; | ||||||
|  | 	width:100%; | ||||||
|  | 	min-height:30px; | ||||||
|  | 	-webkit-box-sizing:border-box; | ||||||
|  | 	-moz-box-sizing:border-box; | ||||||
|  | 	box-sizing:border-box; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget { | ||||||
|  | 	top:0; | ||||||
|  | 	left:0; | ||||||
|  | 	min-width: 113px; | ||||||
|  | 	padding:4px; | ||||||
|  | 	margin-top:1px; | ||||||
|  | 	-webkit-border-radius:4px; | ||||||
|  | 	-moz-border-radius:4px; | ||||||
|  | 	border-radius:4px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget:before { | ||||||
|  | 	content:''; | ||||||
|  | 	display:inline-block; | ||||||
|  | 	border-left:7px solid transparent; | ||||||
|  | 	border-right:7px solid transparent; | ||||||
|  | 	border-bottom:7px solid #ccc; | ||||||
|  | 	border-bottom-color:rgba(0,0,0,0.2); | ||||||
|  | 	position:absolute; | ||||||
|  | 	top:-7px; | ||||||
|  | 	left:6px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget:after { | ||||||
|  | 	content:''; | ||||||
|  | 	display:inline-block; | ||||||
|  | 	border-left:6px solid transparent; | ||||||
|  | 	border-right:6px solid transparent; | ||||||
|  | 	border-bottom:6px solid #fff; | ||||||
|  | 	position:absolute; | ||||||
|  | 	top:-6px; | ||||||
|  | 	left:7px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget .timepicker { | ||||||
|  | 	min-width: 110px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget>ul { | ||||||
|  | 	list-style-type:none; | ||||||
|  | 	margin:0; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget .timepicker-hour, | ||||||
|  | .bootstrap-datetimepicker-widget .timepicker-minute, | ||||||
|  | .bootstrap-datetimepicker-widget .timepicker-second { | ||||||
|  | 	font-weight:bold; | ||||||
|  | 	font-size:1.2em; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator { | ||||||
|  | 	width:4px; | ||||||
|  | 	padding:0; | ||||||
|  | 	margin:0; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget .datepicker>div { | ||||||
|  | 	display:none; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget .picker-switch { | ||||||
|  | 	text-align:center; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget table { | ||||||
|  | 	width:100%; | ||||||
|  | 	margin:0; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td, | ||||||
|  | .bootstrap-datetimepicker-widget th { | ||||||
|  | 	text-align:center; | ||||||
|  | 	width:20px; | ||||||
|  | 	height:20px; | ||||||
|  | 	-webkit-border-radius:4px; | ||||||
|  | 	-moz-border-radius:4px; | ||||||
|  | 	border-radius:4px; | ||||||
|  | 	vertical-align: middle; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td.day:hover, | ||||||
|  | .bootstrap-datetimepicker-widget td.hour:hover, | ||||||
|  | .bootstrap-datetimepicker-widget td.minute:hover, | ||||||
|  | .bootstrap-datetimepicker-widget td.second:hover { | ||||||
|  | 	background:#eee; | ||||||
|  | 	cursor:pointer; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td.old, | ||||||
|  | .bootstrap-datetimepicker-widget td.new { | ||||||
|  | 	color:#999; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td.active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover { | ||||||
|  | 	color:#fff; | ||||||
|  | 	background-color:#006dcc; | ||||||
|  | 	background-image:-moz-linear-gradient(top,#08c,#04c); | ||||||
|  | 	background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c)); | ||||||
|  | 	background-image:-webkit-linear-gradient(top,#08c,#04c); | ||||||
|  | 	background-image:-o-linear-gradient(top,#08c,#04c); | ||||||
|  | 	background-image:linear-gradient(to bottom,#08c,#04c); | ||||||
|  | 	background-repeat:repeat-x; | ||||||
|  | 	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0); | ||||||
|  | 	border-color:#04c #04c #002a80; | ||||||
|  | 	border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25); | ||||||
|  | 	*background-color:#04c; | ||||||
|  | 	filter:progid:DXImageTransform.Microsoft.gradient(enabled = false); | ||||||
|  | 	color:#fff; | ||||||
|  | 	text-shadow:0 -1px 0 rgba(0,0,0,0.25); | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover:hover, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover:active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active.active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover.active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active.disabled, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover.disabled, | ||||||
|  | .bootstrap-datetimepicker-widget td.active[disabled], | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover[disabled] { | ||||||
|  | 	color:#fff; | ||||||
|  | 	background-color:#04c; | ||||||
|  | 	*background-color:#003bb3; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td.active:active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover:active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active.active, | ||||||
|  | .bootstrap-datetimepicker-widget td.active:hover.active { | ||||||
|  | 	background-color:#039 \9; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td span { | ||||||
|  | 	display:block; | ||||||
|  | 	width:100%; | ||||||
|  | 	height:54px; | ||||||
|  | 	line-height:54px; | ||||||
|  | 	float:left; | ||||||
|  | 	cursor:pointer; | ||||||
|  | 	-webkit-border-radius:4px; | ||||||
|  | 	-moz-border-radius:4px; | ||||||
|  | 	border-radius:4px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget .datepicker-months td span, | ||||||
|  | .bootstrap-datetimepicker-widget .datepicker-years td span { | ||||||
|  | 	width: 50px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td span:hover { | ||||||
|  | 	background:#eee; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td span.active { | ||||||
|  | 	color:#fff; | ||||||
|  | 	background-color:#006dcc; | ||||||
|  | 	background-image:-moz-linear-gradient(top,#08c,#04c); | ||||||
|  | 	background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c)); | ||||||
|  | 	background-image:-webkit-linear-gradient(top,#08c,#04c); | ||||||
|  | 	background-image:-o-linear-gradient(top,#08c,#04c); | ||||||
|  | 	background-image:linear-gradient(to bottom,#08c,#04c); | ||||||
|  | 	background-repeat:repeat-x; | ||||||
|  | 	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0); | ||||||
|  | 	border-color:#04c #04c #002a80; | ||||||
|  | 	border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25); | ||||||
|  | 	*background-color:#04c; | ||||||
|  | 	filter:progid:DXImageTransform.Microsoft.gradient(enabled = false); | ||||||
|  | 	color:#fff; | ||||||
|  | 	text-shadow:0 -1px 0 rgba(0,0,0,0.25); | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td span.active:hover, | ||||||
|  | .bootstrap-datetimepicker-widget td span.active:active, | ||||||
|  | .bootstrap-datetimepicker-widget td span.active.active, | ||||||
|  | .bootstrap-datetimepicker-widget td span.active.disabled, | ||||||
|  | .bootstrap-datetimepicker-widget td span.active[disabled] { | ||||||
|  | 	color:#fff; | ||||||
|  | 	background-color:#04c; | ||||||
|  | 	*background-color:#003bb3; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td span.active:active, | ||||||
|  | .bootstrap-datetimepicker-widget td span.active.active { | ||||||
|  | 	background-color:#039 \9; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget td span.old { | ||||||
|  | 	color:#999; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget th.switch { | ||||||
|  | 	width:145px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget th.next, | ||||||
|  | .bootstrap-datetimepicker-widget th.prev { | ||||||
|  | 	font-size:21px; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget thead tr:first-child th { | ||||||
|  | 	cursor:pointer; | ||||||
|  | } | ||||||
|  | .bootstrap-datetimepicker-widget thead tr:first-child th:hover { | ||||||
|  | 	background:#eee; | ||||||
|  | } | ||||||
|  | .input-append.date .add-on i, | ||||||
|  | .input-prepend.date .add-on i { | ||||||
|  | 	cursor:pointer; | ||||||
|  | } | ||||||
|  | @ -16,4 +16,5 @@ | ||||||
|  *= require isotope |  *= require isotope | ||||||
|  *= require icons |  *= require icons | ||||||
|  *= require site-map |  *= require site-map | ||||||
|  |  *= require lib/bootstrap-datetimepicker | ||||||
| */  | */  | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ class ApplicationController < ActionController::Base | ||||||
| 
 | 
 | ||||||
|   layout :layout_by_resource |   layout :layout_by_resource | ||||||
|    |    | ||||||
|   helper :admin |   helper :admin, :orbit_form | ||||||
|   before_filter :set_locale, :set_site, :prepare_for_mobile |   before_filter :set_locale, :set_site, :prepare_for_mobile | ||||||
| 
 | 
 | ||||||
|   helper_attr :site_valid_locales |   helper_attr :site_valid_locales | ||||||
|  |  | ||||||
|  | @ -254,6 +254,10 @@ module ApplicationHelper | ||||||
|     object.strftime("%Y-%m-%d") |     object.strftime("%Y-%m-%d") | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |   def display_time(object) | ||||||
|  |     object.strftime("%H:%M") | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|   def share_links(object, key) |   def share_links(object, key) | ||||||
|     content_tag :div, :class => 'fb' do |     content_tag :div, :class => 'fb' do | ||||||
|       concat social_share_button_tag(object.title, :fb_url => generate_fb_url(object,key), :image => "http://#{request.env['HTTP_HOST']}#{object.image_url}") |       concat social_share_button_tag(object.title, :fb_url => generate_fb_url(object,key), :image => "http://#{request.env['HTTP_HOST']}#{object.image_url}") | ||||||
|  |  | ||||||
|  | @ -0,0 +1,99 @@ | ||||||
|  | module OrbitFormHelper | ||||||
|  |   def self.included(base) | ||||||
|  |     ActionView::Helpers::FormBuilder.send(:include, Orbit::FormBuilder) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def datetime_picker(object_name, method, options = {}) | ||||||
|  |     options[:icon_time] ||= 'icons-clock' | ||||||
|  |     options[:icon_date] ||= 'icons-calendar' | ||||||
|  |     options[:input_class] ||= 'input-large' | ||||||
|  |     options[:value] ||= options[:object][method] if options[:object] && options[:object][method] | ||||||
|  |     case options[:picker_type] | ||||||
|  |     when 'date' | ||||||
|  |       content_tag :div, :id => options[:id], :class => options[:class] do | ||||||
|  |         date_picker(object_name, method, options) | ||||||
|  |       end | ||||||
|  |     when 'time' | ||||||
|  |       content_tag :div, :id => options[:id], :class => options[:class] do | ||||||
|  |         time_picker(object_name, method, options) | ||||||
|  |       end | ||||||
|  |     when 'separated' | ||||||
|  |       options[:label] ||= I18n.t('datetime_picker.separated.label') | ||||||
|  |       content_tag :div, :id => options[:id], :class => "separated_picker #{options[:class]}" do | ||||||
|  |         concat label_tag options[:label] unless options[:no_label] | ||||||
|  |         concat hidden_field(object_name, method) | ||||||
|  |         concat separated_picker(object_name, method, options) | ||||||
|  |       end | ||||||
|  |     else | ||||||
|  |       content_tag :div, :id => options[:id], :class => options[:class] do | ||||||
|  |         default_picker(object_name, method, options) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def date_picker(object_name, method, options) | ||||||
|  |     custom = {} | ||||||
|  |     custom[:format] = 'yyyy-MM-dd' | ||||||
|  |     custom[:value] = display_date(options[:value]) if options[:value] | ||||||
|  |     custom[:picker_class] = 'date_picker' | ||||||
|  |     custom[:label] = options[:label] || I18n.t('datetime_picker.date.label') | ||||||
|  |     custom[:placeholder] = options[:placeholder] || I18n.t('datetime_picker.date.placeholder') | ||||||
|  |     picker(object_name, method, options.merge(custom)) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def default_picker(object_name, method, options) | ||||||
|  |     custom = {} | ||||||
|  |     custom[:format] = 'yyyy-MM-dd hh:mm' | ||||||
|  |     custom[:value] = display_date_time(options[:value]) if options[:value] | ||||||
|  |     custom[:picker_class] = 'default_picker' | ||||||
|  |     custom[:label] = options[:label] || I18n.t('datetime_picker.default.label') | ||||||
|  |     custom[:placeholder] = options[:placeholder] || I18n.t('datetime_picker.default.placeholder') | ||||||
|  |     picker(object_name, method, options.merge(custom)) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def time_picker(object_name, method, options) | ||||||
|  |     custom = {} | ||||||
|  |     custom[:format] = 'hh:mm' | ||||||
|  |     custom[:value] = display_time(options[:value]) if options[:value] | ||||||
|  |     custom[:picker_class] = 'time_picker' | ||||||
|  |     custom[:label] = options[:label] || I18n.t('datetime_picker.time.label') | ||||||
|  |     custom[:placeholder] = options[:placeholder] || I18n.t('datetime_picker.time.placeholder') | ||||||
|  |     picker(object_name, method, options.merge(custom)) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def separated_picker(object_name, method, options) | ||||||
|  |     custom = {} | ||||||
|  |     custom[:no_label] = true | ||||||
|  |     date_picker(nil, nil, options.merge(custom)) + time_picker(nil, nil, options.merge(custom)) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   def single_picker(object_name, method, options) | ||||||
|  |     content_tag :div, :id => options[:id], :class => options[:class] do | ||||||
|  |       picker(object_name, method, options) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def double_picker(object_name, method, options) | ||||||
|  |      | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def picker(object_name, method, options) | ||||||
|  |     content_tag :div, :class => "#{options[:picker_class]} input-append" do | ||||||
|  |       concat label_tag options[:label] unless options[:no_label] | ||||||
|  |       concat text_field object_name, method, :placeholder => options[:placeholder], :class => options[:input_class], 'data-format' => options[:format], :value => options[:value] | ||||||
|  |       concat (content_tag :span, :class => 'add-on' do | ||||||
|  |                 content_tag :i, nil, 'data-time-icon' => options[:icon_time], 'data-date-icon' => options[:icon_date] | ||||||
|  |               end) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | module Orbit::FormBuilder | ||||||
|  |   # ActionPack's metaprogramming would have done this for us, if FormHelper#labeled_input  | ||||||
|  |   # had been defined  at load.   Instead we define it ourselves here. | ||||||
|  |   def datetime_picker(method, options = {}) | ||||||
|  |     @template.datetime_picker(@object_name, method, objectify_options(options)) | ||||||
|  |   end | ||||||
|  | end | ||||||
|  | @ -1,13 +1,7 @@ | ||||||
| <% content_for :page_specific_css do %> |  | ||||||
| 	<%= stylesheet_link_tag "lib/datepicker"  %> |  | ||||||
| <% end %> |  | ||||||
| <% content_for :page_specific_javascript do %> | <% content_for :page_specific_javascript do %> | ||||||
| 	<%= javascript_include_tag "lib/datepicker"  %> |  | ||||||
| 	<%= javascript_include_tag "lib/date.format.js"  %> |  | ||||||
| 	<%= javascript_include_tag "inc/modal-preview" %> | 	<%= javascript_include_tag "inc/modal-preview" %> | ||||||
| 	<%= javascript_include_tag "/static/jquery.cycle.all.latest.js" %> | 	<%= javascript_include_tag "/static/jquery.cycle.all.latest.js" %> | ||||||
| 	<%= javascript_include_tag "inc/jquery.imagesloaded.js" %> | 	<%= javascript_include_tag "inc/jquery.imagesloaded.js" %> | ||||||
| 	 |  | ||||||
| <% end %> | <% end %> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -21,51 +15,8 @@ | ||||||
|               </div> |               </div> | ||||||
|               <h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3> |               <h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3> | ||||||
|               <div class="widget-content clear"> |               <div class="widget-content clear"> | ||||||
|                   <div id="calendarRange"> |                 <%= f.datetime_picker :post_date, :picker_type => 'date', :label => t(:start_date) %> | ||||||
|                       <div class="input-append"> |                 <%= f.datetime_picker :unpost_date, :picker_type => 'date', :label => t(:end_date) %> | ||||||
|                           <span class="showDate"></span><span class="add-on btn">▼</span> |  | ||||||
| 													<%= f.hidden_field :parse_post_date,:value => @ad_image.post_date.strftime('%Y / %m / %d') %> |  | ||||||
| 													<%= f.hidden_field :parse_unpost_date,:value => @ad_image.unpost_date.strftime('%Y / %m / %d')%> |  | ||||||
| 
 |  | ||||||
|                       </div> |  | ||||||
|                       <div id="widgetCalendar"> |  | ||||||
|                       </div> |  | ||||||
|                   </div> |  | ||||||
|                   <script type="text/javascript"> |  | ||||||
|                       var today = new Date(); |  | ||||||
|                       today = today.format('isoDate'); |  | ||||||
|                       var state = false; |  | ||||||
|                       var arr = state ? "▼" : "▲" |  | ||||||
| 											var start_date = <%= (@ad_image.post_date.nil?? 'today' : "'#{@ad_image.post_date.strftime('%Y / %m / %d')}'").html_safe %>; |  | ||||||
| 											var end_date = <%= (@ad_image.unpost_date.nil?? 'today' : "'#{@ad_image.unpost_date.strftime('%Y / %m / %d')}'").html_safe %>; |  | ||||||
|                       //calendarRange |  | ||||||
|                       $('#calendarRange .showDate').html(start_date+" - "+end_date); |  | ||||||
|                       $('#calendarRange .calendarInput').val(start_date+" - "+end_date); |  | ||||||
|                       $('#calendarRange #widgetCalendar').DatePicker({ |  | ||||||
|                           flat: true, |  | ||||||
|                           format: 'Y / m / d', |  | ||||||
| 													date: [start_date,end_date], |  | ||||||
|                           calendars: 1, |  | ||||||
|                           mode: 'range', |  | ||||||
|                           starts: 1, |  | ||||||
|                           onChange: function(formated) { |  | ||||||
|                               $('#calendarRange .showDate').get(0).innerHTML = formated.join(' - '); |  | ||||||
|                               $('#calendarRange .calendarInput').val(formated.join(' - ')); |  | ||||||
| 															start_date = formated[0].replace(/\s/g, ""); |  | ||||||
| 															end_date = formated[1].replace(/\s/g, ""); |  | ||||||
| 															$('#ad_image_parse_post_date').val(start_date); |  | ||||||
| 															$('#ad_image_parse_unpost_date').val(end_date); |  | ||||||
|                           } |  | ||||||
|                       }); |  | ||||||
|                       $('#calendarRange .input-append').bind('click', function(){ |  | ||||||
|                           var arr = state ? "▼" : "▲" |  | ||||||
|                           $('#calendarRange .add-on').html(arr); |  | ||||||
|                           $('#calendarRange #widgetCalendar').stop().animate({height: state ? 0 : $('#calendarRange #widgetCalendar div.datepicker').get(0).offsetHeight}, 500); |  | ||||||
|                           state = !state; |  | ||||||
|                           return false; |  | ||||||
|                       }); |  | ||||||
|                       $('#calendarRange #widgetCalendar div.datepicker').css('position', 'absolute'); |  | ||||||
|                   </script>   |  | ||||||
|               </div> |               </div> | ||||||
|           </div> |           </div> | ||||||
| 		 | 		 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,14 @@ | ||||||
|  | en: | ||||||
|  | 
 | ||||||
|  |   datetime_picker: | ||||||
|  |     date: | ||||||
|  |       label: Date | ||||||
|  |       placeholder: "YYYY-MM-DD" | ||||||
|  |     default: | ||||||
|  |       label: Date and time | ||||||
|  |       placeholder: "YYYY-MM-DD HH:MM" | ||||||
|  |     separated: | ||||||
|  |       label: Date and time | ||||||
|  |     time: | ||||||
|  |       label: Time | ||||||
|  |       placeholder: "HH:MM" | ||||||
|  | @ -0,0 +1,14 @@ | ||||||
|  | en: | ||||||
|  | 
 | ||||||
|  |   datetime_picker: | ||||||
|  |     date: | ||||||
|  |       label: 日期 | ||||||
|  |       placeholder: "YYYY-MM-DD" | ||||||
|  |     default: | ||||||
|  |       label: 日期和時間 | ||||||
|  |       placeholder: "YYYY-MM-DD HH:MM" | ||||||
|  |     separated: | ||||||
|  |       label: 日期和時間 | ||||||
|  |     time: | ||||||
|  |       label: 時間 | ||||||
|  |       placeholder: "HH:MM" | ||||||
|  | @ -46,16 +46,10 @@ | ||||||
| 			<h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3> | 			<h3 class="widget-title"><i class="icons-calendar"></i><%= t(:date_) %></h3> | ||||||
| 				<div class="widget-content clear"> | 				<div class="widget-content clear"> | ||||||
| 				<div class="control-group"> | 				<div class="control-group"> | ||||||
| 					<label class="control-label"><%= t(:start) %></label> | 					<%= f.datetime_picker :postdate, :picker_type => 'separated', :label => t(:start) %> | ||||||
| 					<div class="controls"> |  | ||||||
| 						<%= f.datetime_select :postdate, {:use_month_numbers => true, :order => [:day, :month, :year] }, {:class => 'span1'} %> |  | ||||||
| 					</div> |  | ||||||
| 				</div> | 				</div> | ||||||
| 				<div class="control-group"> | 				<div class="control-group"> | ||||||
| 					<label class="control-label"><%= t(:end) %></label> | 					<%= f.datetime_picker :deadline, :picker_type => 'separated', :label => t(:end) %> | ||||||
| 					<div class="controls"> |  | ||||||
| 						<%= f.datetime_select :deadline, {:use_month_numbers => true, :prompt => { :month => 'Month', :day => 'Day', :year => 'Year'}, :order => [:day, :month, :year] }, {:class => 'span1'} %> |  | ||||||
| 					</div> |  | ||||||
| 				</div> | 				</div> | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue