// vim: et:ts=4:sw=4:sts=4:ft=javascript /*@ Ox.DateTimeInput <f:Ox.Element> DateTimeInput Element () -> <f> DateTimeInput Element (options) -> <f> DateTimeInput Element (options, self) -> <f> DateTimeInput Element options <o> Options object ampm <b|false> false is 24h true is am/pm format <s|short> options are short, medium, long seconds <b|false> show seconds value <d> defautls to now weekday <b|false> weekday self <o> Shared private variable change <!> triggered on change of value @*/ Ox.DateTimeInput = function(options, self) { self = self || {}; var that = Ox.Element({}, self) .defaults({ ampm: false, format: 'short', seconds: false, value: Ox.formatDate(new Date(), '%F %T'), weekday: false }) .options(options || {}); self.values = self.options.value.split(' '); //Ox.print(self.values) that = Ox.InputGroup({ inputs: [ Ox.DateInput({ format: self.options.format, id: 'date', value: self.values[0], weekday: self.options.weekday }), Ox.TimeInput({ ampm: self.options.ampm, id: 'time', value: self.values[1], seconds: self.options.seconds }) ], separators: [ {title: '', width: 8} ], value: self.options.value }) .bindEvent('change', setValue); function setValue() { self.options.value = [ self.options('inputs')[0].options('value'), self.options('inputs')[1].options('value') ].join(' '); } return that; };