discourse/app/assets/javascripts/select-box-kit/components/topic-notifications-options...

35 lines
1.0 KiB
Plaintext
Raw Normal View History

2017-10-19 15:51:08 -04:00
import NotificationOptionsComponent from "select-box-kit/components/notifications-button";
import { on } from "ember-addons/ember-computed-decorators";
import { topicLevels } from "discourse/lib/notification-levels";
export default NotificationOptionsComponent.extend({
classNames: "topic-notifications-options",
content: topicLevels,
i18nPrefix: "topic.notifications",
value: Ember.computed.alias("topic.details.notification_level"),
@on("didInsertElement")
_bindGlobalLevelChanged() {
this.appEvents.on("topic-notifications-button:changed", (msg) => {
if (msg.type === "notification") {
if (this.get("computedValue") !== msg.id) {
this.get("topic.details").updateNotifications(msg.id);
}
}
});
},
@on("willDestroyElement")
_unbindGlobalLevelChanged() {
this.appEvents.off("topic-notifications-button:changed");
},
2017-11-09 13:57:53 -05:00
selectValueFunction(value) {
if (value !== this.get("value")) {
this.get("topic.details").updateNotifications(value);
2017-10-19 15:51:08 -04:00
}
2017-11-09 13:57:53 -05:00
this.set("value", value);
2017-10-19 15:51:08 -04:00
}
});