mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 00:29:18 +08:00
f9648de897
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com> Co-Authored-By: David Taylor <david@taylorhq.com>
44 lines
817 B
JavaScript
44 lines
817 B
JavaScript
import {
|
|
default as computed,
|
|
observes
|
|
} from "ember-addons/ember-computed-decorators";
|
|
|
|
export default Ember.Component.extend({
|
|
classNames: ["inline-edit"],
|
|
|
|
checked: null,
|
|
checkedInternal: null,
|
|
|
|
init() {
|
|
this._super(...arguments);
|
|
|
|
this.set("checkedInternal", this.get("checked"));
|
|
},
|
|
|
|
@observes("checked")
|
|
checkedChanged() {
|
|
this.set("checkedInternal", this.get("checked"));
|
|
},
|
|
|
|
@computed("labelKey")
|
|
label(key) {
|
|
return I18n.t(key);
|
|
},
|
|
|
|
@computed("checked", "checkedInternal")
|
|
changed(checked, checkedInternal) {
|
|
return !!checked !== !!checkedInternal;
|
|
},
|
|
|
|
actions: {
|
|
cancelled() {
|
|
this.set("checkedInternal", this.get("checked"));
|
|
},
|
|
|
|
finished() {
|
|
this.set("checked", this.get("checkedInternal"));
|
|
this.action();
|
|
}
|
|
}
|
|
});
|