This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/components/number-field.js
2020-03-12 13:29:55 -04:00

30 lines
660 B
JavaScript

import { TextField } from "@ember/component";
import discourseComputed from "discourse-common/utils/decorators";
export default TextField.extend({
classNameBindings: ["invalid"],
@discourseComputed("number")
value: {
get(number) {
return parseInt(number, 10);
},
set(value) {
const num = parseInt(value, 10);
if (isNaN(num)) {
this.set("invalid", true);
return value;
} else {
this.set("invalid", false);
this.set("number", num);
return num.toString();
}
}
},
@discourseComputed("placeholderKey")
placeholder(key) {
return key ? I18n.t(key) : "";
}
});