29 lines
590 B
JavaScript
29 lines
590 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) : "";
|
|
}
|
|
});
|