|
@@ -33,7 +33,7 @@
|
|
|
</button>
|
|
|
<button
|
|
|
class="button is-danger"
|
|
|
- @click="removeNews(news)"
|
|
|
+ @click="remove(news)"
|
|
|
>
|
|
|
Remove
|
|
|
</button>
|
|
@@ -224,7 +224,6 @@ export default {
|
|
|
components: { EditNews },
|
|
|
data() {
|
|
|
return {
|
|
|
- news: [],
|
|
|
creating: {
|
|
|
title: "",
|
|
|
description: "",
|
|
@@ -235,31 +234,36 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ ...mapState("modals", {
|
|
|
+ modals: state => state.modals.admin
|
|
|
+ }),
|
|
|
+ ...mapState("admin/news", {
|
|
|
+ editing: state => state.editing,
|
|
|
+ news: state => state.news
|
|
|
+ })
|
|
|
+ },
|
|
|
mounted() {
|
|
|
io.getSocket(socket => {
|
|
|
this.socket = socket;
|
|
|
this.socket.emit("news.index", res => {
|
|
|
- this.news = res.data;
|
|
|
- return res.data;
|
|
|
+ res.data.forEach(news => {
|
|
|
+ this.addNews(news);
|
|
|
+ });
|
|
|
});
|
|
|
this.socket.on("event:admin.news.created", news => {
|
|
|
- this.news.unshift(news);
|
|
|
+ this.addNews(news);
|
|
|
+ });
|
|
|
+ this.socket.on("event:admin.news.updated", updatedNews => {
|
|
|
+ this.updateNews(updatedNews);
|
|
|
});
|
|
|
this.socket.on("event:admin.news.removed", news => {
|
|
|
- this.news = this.news.filter(item => item._id !== news._id);
|
|
|
+ this.removeNews(news._id);
|
|
|
});
|
|
|
if (this.socket.connected) this.init();
|
|
|
io.onConnect(() => this.init());
|
|
|
});
|
|
|
},
|
|
|
- computed: {
|
|
|
- ...mapState("modals", {
|
|
|
- modals: state => state.modals.admin
|
|
|
- }),
|
|
|
- ...mapState("admin/news", {
|
|
|
- editing: state => state.editing
|
|
|
- })
|
|
|
- },
|
|
|
methods: {
|
|
|
createNews() {
|
|
|
const {
|
|
@@ -300,7 +304,7 @@ export default {
|
|
|
};
|
|
|
});
|
|
|
},
|
|
|
- removeNews(news) {
|
|
|
+ remove(news) {
|
|
|
this.socket.emit(
|
|
|
"news.remove",
|
|
|
news,
|
|
@@ -337,7 +341,12 @@ export default {
|
|
|
this.socket.emit("apis.joinAdminRoom", "news", () => {});
|
|
|
},
|
|
|
...mapActions("modals", ["openModal", "closeModal"]),
|
|
|
- ...mapActions("admin/news", ["editNews"])
|
|
|
+ ...mapActions("admin/news", [
|
|
|
+ "editNews",
|
|
|
+ "addNews",
|
|
|
+ "removeNews",
|
|
|
+ "updateNews"
|
|
|
+ ])
|
|
|
}
|
|
|
};
|
|
|
</script>
|