/** * Ember Datetime picker component based on Eonasdan * boostrap datetime picker * https://github.com/Eonasdan/bootstrap-datetimepicker */ App.DatetimePickerComponent = Ember.Component.extend({ pickerWrapper: null, pickerData: null, classNames: ['input-small'], format: "DD/MM/YYYY HH:mm", placeholder: Ember.computed.alias('format'), iconOnRight: true, /** * Create function */ didInsertElement: function () { var self = this; var format = this.get('format'); var pickerWrapper = this.$().datetimepicker({ format: format }); this.set('pickerWrapper', pickerWrapper); var pickerData = pickerWrapper.data("DateTimePicker"); this.set('pickerData', pickerData); console.log(pickerData); if (this.get('datetime')) pickerData.setDate(this.get('datetime')); pickerWrapper.on('dp.change', function (ev) { //self.sendAction('action', ev.format()); self.set('datetime', ev.date); }); }, datetimeChanged: function () { // get model datetime var modelDatetime = this.get('datetime'); // get picker datetime var picker = this.get('pickerData'); var pickerDatetime = picker.getDate(); // if not the same the overwrite model over picker if (modelDatetime != pickerDatetime) { picker.setDate(modelDatetime); } var event = new Date(); var arrival = new Date(); var departure = new Date(); var departureFlight = new Date(); var returnFlight = new Date(); event = $('#eventStart').data('date'); arrival = $('#arrival').data('date'); departure = $('#departure').data('date'); departureFlight = $('flDeparture').data('date'); returnFlight = $('flReturn').data('date'); if (arrival < event) { alert("Arrival date must be after the event!"); } if (departure > event) { alert("Departure date must be before the event!"); } if (returnFlight < departureFlight) { alert("Return flight must be after flight departure"); } }.observes('datetime') });
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)