From 9da6f2b001c1024fea04c394d81631d896b196ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=83=D8=A7=D8=B1=D9=84=20=D9=85=D8=A8=D8=A7=D8=B1=D9=83?= Date: Wed, 7 Jul 2021 16:53:17 +0200 Subject: [PATCH 1/2] updte-message, ddelete message --- front/src/App.vue | 16 ++++++++-------- front/src/store/index.js | 17 +++++++++++------ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/front/src/App.vue b/front/src/App.vue index 276656f..6d83b2b 100644 --- a/front/src/App.vue +++ b/front/src/App.vue @@ -102,18 +102,18 @@ export default { switch (event.type) { case 'message': - switch (event.message.subject) { - case 'content': - this.$store.commit('addMessage', event.message) - break - case 'rules': - this.$store.commit('addRule', event.message) - break + if (event.message.subject == 'rules') { + this.$store.commit('addRule', event.message) + } else { + this.$store.commit('addMessage', event.message) } break case 'delete_message': - this.$store.commit('deleteMessage', event.message_id) + this.$store.commit('deleteMessage', { + subject: event.topic, + mid: event.message_id + }) break case 'update_message': diff --git a/front/src/store/index.js b/front/src/store/index.js index d8e4050..0226700 100644 --- a/front/src/store/index.js +++ b/front/src/store/index.js @@ -115,10 +115,13 @@ export default createStore({ } } }, - deleteMessage: (state, mid) => { - const message = state.contents.find(m => m.id == mid) - if (message) { - state.contents.splice(state.contents.indexOf(message), 1) + deleteMessage: (state, { mid, subject }) => { + const topic = state.topics.find(t => t.title == subject) + if (topic) { + const message = topic.messages.find(m => m.id == mid) + if (message) { + topic.messages.splice(topic.messages.indexOf(message), 1) + } } }, addReaction: (state, { mid, reaction }) => { @@ -145,13 +148,15 @@ export default createStore({ addRule: (state, rule) => { if (toCSS(rule) !== null) { // state.rules.push(toCSS(rule, state.currentStream)) - // vue will not update if i use rules.push(rule) state.rules = [...state.rules,...[toCSS(rule, state.currentStream)]] } }, editMessage: (state, { mid, content }) => { - const message = state.contents.find(m => m.id == mid) + const message = state.topics + .map(t => t.messages) + .flat() + .find(m => m.id == mid) const rule = state.rules.find(r => r.id == mid) if (message) { message.content = content From 78dce918eb490f337f444f2bc41d481ca7fd9cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=83=D8=A7=D8=B1=D9=84=20=D9=85=D8=A8=D8=A7=D8=B1=D9=83?= Date: Wed, 7 Jul 2021 16:59:01 +0200 Subject: [PATCH 2/2] aadd/remoove reaction --- front/src/store/index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/front/src/store/index.js b/front/src/store/index.js index 0226700..528bc3a 100644 --- a/front/src/store/index.js +++ b/front/src/store/index.js @@ -125,13 +125,19 @@ export default createStore({ } }, addReaction: (state, { mid, reaction }) => { - const message = state.contents.find(m => m.id == mid) + const message = state.topics + .map(t => t.messages) + .flat() + .find(m => m.id == mid) if (message) { message.reactions.push(reaction) } }, removeReaction: (state, { mid, reaction }) => { - const message = state.contents.find(m => m.id == mid) + const message = state.topics + .map(t => t.messages) + .flat() + .find(m => m.id == mid) if (message) { message.reactions.splice(message.reactions.indexOf(reaction), 1) }