30 lines
591 B
JavaScript
30 lines
591 B
JavaScript
import computed from 'ember-addons/ember-computed-decorators';
|
|
|
|
export default Ember.TextField.extend({
|
|
|
|
classNameBindings: ['invalid'],
|
|
|
|
@computed('number')
|
|
value: {
|
|
get(number) {
|
|
return parseInt(number);
|
|
},
|
|
set(value) {
|
|
const num = parseInt(value);
|
|
if (isNaN(num)) {
|
|
this.set('invalid', true);
|
|
return value;
|
|
} else {
|
|
this.set('invalid', false);
|
|
this.set('number', num);
|
|
return num.toString();
|
|
}
|
|
}
|
|
},
|
|
|
|
@computed("placeholderKey")
|
|
placeholder(key) {
|
|
return key ? I18n.t(key) : "";
|
|
}
|
|
});
|