Date picker separated: reset time when reset date
This commit is contained in:
parent
1d405c3ffe
commit
b49251afee
|
@ -11,7 +11,24 @@ $(document).ready(function(){
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.separated_picker div').on("changeDate",function(){
|
$('.separated_picker div').on("changeDate",function(){
|
||||||
|
if ($(this).hasClass('date_picker'))
|
||||||
|
{
|
||||||
|
if ($(this).find('input').val())
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$(this).siblings('div').find('input').val(null);
|
||||||
|
$(this).siblings('div').disabled = true;
|
||||||
|
$(this).siblings('div').unbind('click');
|
||||||
|
}
|
||||||
|
}
|
||||||
$(this).siblings('input').val($(this).find('input').val() + ' ' + $(this).siblings('div').find('input').val());
|
$(this).siblings('input').val($(this).find('input').val() + ' ' + $(this).siblings('div').find('input').val());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// $('.date_picker').on("changeDate",function(){
|
||||||
|
// $(this).find('input').val('');
|
||||||
|
// });
|
||||||
|
|
||||||
});
|
});
|
|
@ -46,8 +46,9 @@
|
||||||
this.pickDate = options.pickDate;
|
this.pickDate = options.pickDate;
|
||||||
this.pickTime = options.pickTime;
|
this.pickTime = options.pickTime;
|
||||||
this.isInput = this.$element.is('input');
|
this.isInput = this.$element.is('input');
|
||||||
// this.component = this.$element.is('.input-prepend') ? this.$element.find('.add-on') : false;
|
// this.component = this.$element.is('.input-prepend') ? this.$element.find('.iconbtn') : false;
|
||||||
this.component = this.$element.is('.input-append') ? this.$element.find('.add-on') : false;
|
this.component = this.$element.is('.input-append') ? this.$element.find('.iconbtn') : false;
|
||||||
|
this.clearDate = this.$element.is('.input-append') ? this.$element.find('.clearDate') : false;
|
||||||
this.format = options.format;
|
this.format = options.format;
|
||||||
if (!this.format) {
|
if (!this.format) {
|
||||||
if (this.isInput) this.format = this.$element.data('format');
|
if (this.isInput) this.format = this.$element.data('format');
|
||||||
|
@ -215,7 +216,7 @@
|
||||||
input = this.$element.find('input');
|
input = this.$element.find('input');
|
||||||
this.widget.css({
|
this.widget.css({
|
||||||
top: offset.top + this.height,
|
top: offset.top + this.height,
|
||||||
left: offset.left - input.outerWidth(),
|
left: offset.left - input.outerWidth() - this.width,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -694,6 +695,12 @@
|
||||||
this._resetMaskPos(input);
|
this._resetMaskPos(input);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
clear: function(e) {
|
||||||
|
if (this.isInput) this.$element.val(null);
|
||||||
|
else this.$element.find('input').val(null);
|
||||||
|
this.notifyChange();
|
||||||
|
},
|
||||||
|
|
||||||
showMode: function(dir) {
|
showMode: function(dir) {
|
||||||
if (dir) {
|
if (dir) {
|
||||||
this.viewMode = Math.max(this.minViewMode, Math.min(
|
this.viewMode = Math.max(this.minViewMode, Math.min(
|
||||||
|
@ -833,6 +840,7 @@
|
||||||
// this handles time picker clicks
|
// this handles time picker clicks
|
||||||
this.widget.on('click', '[data-action]', $.proxy(this.doAction, this));
|
this.widget.on('click', '[data-action]', $.proxy(this.doAction, this));
|
||||||
this.widget.on('mousedown', $.proxy(this.stopEvent, this));
|
this.widget.on('mousedown', $.proxy(this.stopEvent, this));
|
||||||
|
this.clearDate.on('click', $.proxy(this.clear, this));
|
||||||
if (this.pickDate && this.pickTime) {
|
if (this.pickDate && this.pickTime) {
|
||||||
this.widget.on('click.togglePicker', '.accordion-toggle', function(e) {
|
this.widget.on('click.togglePicker', '.accordion-toggle', function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
@ -847,7 +855,7 @@
|
||||||
expanded.collapse('hide');
|
expanded.collapse('hide');
|
||||||
closed.collapse('show')
|
closed.collapse('show')
|
||||||
$this.find('i').toggleClass(self.timeIcon + ' ' + self.dateIcon);
|
$this.find('i').toggleClass(self.timeIcon + ' ' + self.dateIcon);
|
||||||
self.$element.find('.add-on i').toggleClass(self.timeIcon + ' ' + self.dateIcon);
|
self.$element.find('.iconbtn i').toggleClass(self.timeIcon + ' ' + self.dateIcon);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ module OrbitFormHelper
|
||||||
def datetime_picker(object_name, method, options = {})
|
def datetime_picker(object_name, method, options = {})
|
||||||
options[:icon_time] ||= 'icons-clock'
|
options[:icon_time] ||= 'icons-clock'
|
||||||
options[:icon_date] ||= 'icons-calendar'
|
options[:icon_date] ||= 'icons-calendar'
|
||||||
|
options[:icon_clear] ||= 'icons-cross-3'
|
||||||
options[:input_class] ||= 'input-large'
|
options[:input_class] ||= 'input-large'
|
||||||
options[:value] ||= options[:object][method] if options[:object] && options[:object][method]
|
options[:value] ||= options[:object][method] if options[:object] && options[:object][method]
|
||||||
case options[:picker_type]
|
case options[:picker_type]
|
||||||
|
@ -82,7 +83,10 @@ module OrbitFormHelper
|
||||||
content_tag :div, :class => "#{options[:picker_class]} input-append" do
|
content_tag :div, :class => "#{options[:picker_class]} input-append" do
|
||||||
concat label_tag options[:label] unless options[:no_label]
|
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 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
|
concat (content_tag :span, :class => 'add-on clearDate' do
|
||||||
|
content_tag :i, nil, :class => options[:icon_clear]
|
||||||
|
end)
|
||||||
|
concat (content_tag :span, :class => 'add-on iconbtn' do
|
||||||
content_tag :i, nil, 'data-time-icon' => options[:icon_time], 'data-date-icon' => options[:icon_date]
|
content_tag :i, nil, 'data-time-icon' => options[:icon_time], 'data-date-icon' => options[:icon_date]
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,8 +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">
|
||||||
<%= f.datetime_picker :post_date, :picker_type => 'date', :label => t(:start_date) %>
|
<%= f.datetime_picker :post_date, :picker_type => 'date', :label => t(:start_date), :icon_date => "icons-cross-3 icon-spin" %>
|
||||||
<%= f.datetime_picker :unpost_date, :picker_type => 'date', :label => t(:end_date) %>
|
<%= f.datetime_picker :unpost_date, :picker_type => 'separated', :label => t(:end_date) %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Reference in New Issue