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**
36 lines
954 B
JavaScript
36 lines
954 B
JavaScript
import discourseComputed from "discourse-common/utils/decorators";
|
|
import Component from "@ember/component";
|
|
|
|
export default Component.extend({
|
|
tagName: "",
|
|
publishing: false,
|
|
|
|
@discourseComputed("topic.destination_category_id")
|
|
validCategory(destCatId) {
|
|
return destCatId && destCatId !== this.site.shared_drafts_category_id;
|
|
},
|
|
|
|
actions: {
|
|
updateDestinationCategory(categoryId) {
|
|
return this.topic.updateDestinationCategory(categoryId);
|
|
},
|
|
|
|
publish() {
|
|
bootbox.confirm(I18n.t("shared_drafts.confirm_publish"), result => {
|
|
if (result) {
|
|
this.set("publishing", true);
|
|
let destId = this.get("topic.destination_category_id");
|
|
this.topic
|
|
.publish()
|
|
.then(() => {
|
|
this.set("topic.category_id", destId);
|
|
})
|
|
.finally(() => {
|
|
this.set("publishing", false);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|