discourse/app/assets/javascripts/select-kit/components/topic-notifications-options.js.es6
Joffrey JAFFEUX 0431942f3d
DEV: select-kit 2 (#7998)
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component.

Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
2020-02-03 14:22:14 +01:00

33 lines
920 B
JavaScript

import NotificationsButtonComponent from "select-kit/components/notifications-button";
import { topicLevels } from "discourse/lib/notification-levels";
import { computed } from "@ember/object";
export default NotificationsButtonComponent.extend({
pluginApiIdentifiers: ["topic-notifications-options"],
classNames: ["topic-notifications-options"],
content: topicLevels,
selectKitOptions: {
i18nPrefix: "i18nPrefix",
i18nPostfix: "i18nPostfix"
},
i18nPrefix: "topic.notifications",
i18nPostfix: computed("topic.archetype", function() {
return this.topic.archetype === "private_message" ? "_pm" : "";
}),
didInsertElement() {
this._super(...arguments);
this.appEvents.on("topic-notifications-button:changed", this, "onSelect");
},
willDestroyElement() {
this._super(...arguments);
this.appEvents.off("topic-notifications-button:changed", this, "onSelect");
}
});