// ---------------------------------------------------------------------------------
//
// Component: Date picker (wrapped bootstrap date picker)
//
// Input Props:
// - id
// - name
// - required
// - sstyle
// - display-format
// - value-format
// - placeholder
// - min-date
//
//
//
Vue.component('date-picker',
{
props:
[
'id', 'name', 'sstyle', 'required', 'displayFormat', 'valueFormat', 'value', 'placeholder', 'readonly', 'minDate'
],
mounted: function ()
{
var self = this;
$(self.$el).find('input[type=text]').datepicker(
{
format: self.displayFormat,
autoclose: true,
clearBtn: self.readonly != undefined,
//startDate: "today"
});
if(this.value)
{
$(self.$el).find('input[type=text]').datepicker("update", new Date(this.value));
};
$(self.$el).find('input[type=text]').on("changeDate", function()
{
self.$emit('input',$(self.$el).find('input[type=text]').data('datepicker').getFormattedDate(self.valueFormat));
});
$(self.$el).find('input[type=text]').on("clearDate", function()
{
self.$emit('input', null);
});
},
watch:{
value (val)
{
var self = this;
if(val)
{
$(self.$el).find('input[type=text]').datepicker("update", new Date(val));
}
else
{
$(self.$el).find('input[type=text]').datepicker("update", null);
}
},
minDate(val)
{
var self = this;
console.log(val);
if(val)
{
$(self.$el).find('input[type=text]').datepicker("setStartDate", val);
}
}
},
template: ''
});