Ghost/core/client/app/components/gh-datetime-input.js

33 lines
836 B
JavaScript
Raw Normal View History

import Ember from 'ember';
import TextInputMixin from 'ghost/mixins/text-input';
import boundOneWay from 'ghost/utils/bound-one-way';
import {formatDate} from 'ghost/utils/date-formatting';
const {Component} = Ember;
export default Component.extend(TextInputMixin, {
tagName: 'span',
classNames: 'input-icon icon-calendar',
datetime: boundOneWay('value'),
inputClass: null,
inputId: null,
inputName: null,
didReceiveAttrs() {
let datetime = this.get('datetime') || moment();
if (!this.get('update')) {
throw new Error(`You must provide an \`update\` action to \`{{${this.templateName}}}\`.`);
}
this.set('datetime', formatDate(datetime));
},
focusOut() {
let datetime = this.get('datetime');
this.get('update')(datetime);
}
});