decisions and voting
This commit is contained in:
parent
c0bfc00862
commit
d62436722a
6 changed files with 246 additions and 34 deletions
|
@ -20,6 +20,8 @@ import { useProtocolStore } from "@/stores/admin/protocol";
|
|||
import { ArrowPathIcon, CloudArrowUpIcon, CloudIcon, ExclamationTriangleIcon } from "@heroicons/vue/24/outline";
|
||||
import { useProtocolAgendaStore } from "@/stores/admin/protocolAgenda";
|
||||
import { useProtocolPresenceStore } from "@/stores/admin/protocolPresence";
|
||||
import { useProtocolDecisionStore } from "../../../../stores/admin/protocolDecision";
|
||||
import { useProtocolVotingStore } from "../../../../stores/admin/protocolVoting";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -44,7 +46,6 @@ export default defineComponent({
|
|||
}, 10000);
|
||||
},
|
||||
detectedChangeProtocolAgenda() {
|
||||
console.log(this.detectedChangeProtocolAgenda);
|
||||
clearTimeout(this.protocolAgendaTimer);
|
||||
if (this.detectedChangeProtocolAgenda == false) {
|
||||
this.setProtocolAgendaSyncingState("synced");
|
||||
|
@ -66,6 +67,28 @@ export default defineComponent({
|
|||
this.synchronizeActiveProtocolPresence();
|
||||
}, 10000);
|
||||
},
|
||||
detectedChangeProtocolDecision() {
|
||||
clearTimeout(this.protocolDecisionTimer);
|
||||
this.setProtocolDecisionSyncingState("synced");
|
||||
if (this.detectedChangeProtocolDecision == false) {
|
||||
return;
|
||||
}
|
||||
this.setProtocolDecisionSyncingState("detectedChanges");
|
||||
this.protocolDecisionTimer = setTimeout(() => {
|
||||
this.synchronizeActiveProtocolDecision();
|
||||
}, 10000);
|
||||
},
|
||||
detectedChangeProtocolVoting() {
|
||||
clearTimeout(this.protocolVotingTimer);
|
||||
this.setProtocolVotingSyncingState("synced");
|
||||
if (this.detectedChangeProtocolVoting == false) {
|
||||
return;
|
||||
}
|
||||
this.setProtocolVotingSyncingState("detectedChanges");
|
||||
this.protocolVotingTimer = setTimeout(() => {
|
||||
this.synchronizeActiveProtocolVoting();
|
||||
}, 10000);
|
||||
},
|
||||
},
|
||||
emits: {
|
||||
syncState(state: "synced" | "syncing" | "detectedChanges" | "failed") {
|
||||
|
@ -77,6 +100,8 @@ export default defineComponent({
|
|||
protocolTimer: undefined as undefined | any,
|
||||
protocolAgendaTimer: undefined as undefined | any,
|
||||
protocolPresenceTimer: undefined as undefined | any,
|
||||
protocolDecisionTimer: undefined as undefined | any,
|
||||
protocolVotingTimer: undefined as undefined | any,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
@ -86,14 +111,24 @@ export default defineComponent({
|
|||
if (!this.protocolTimer) clearTimeout(this.protocolTimer);
|
||||
if (!this.protocolAgendaTimer) clearTimeout(this.protocolAgendaTimer);
|
||||
if (!this.protocolPresenceTimer) clearTimeout(this.protocolPresenceTimer);
|
||||
if (!this.protocolDecisionTimer) clearTimeout(this.protocolDecisionTimer);
|
||||
if (!this.protocolVotingTimer) clearTimeout(this.protocolVotingTimer);
|
||||
},
|
||||
computed: {
|
||||
...mapState(useProtocolStore, ["syncingProtocol", "detectedChangeProtocol"]),
|
||||
...mapState(useProtocolAgendaStore, ["syncingProtocolAgenda", "detectedChangeProtocolAgenda"]),
|
||||
...mapState(useProtocolPresenceStore, ["syncingProtocolPresence", "detectedChangeProtocolPresence"]),
|
||||
...mapState(useProtocolDecisionStore, ["syncingProtocolDecision", "detectedChangeProtocolDecision"]),
|
||||
...mapState(useProtocolVotingStore, ["syncingProtocolVoting", "detectedChangeProtocolVoting"]),
|
||||
|
||||
syncing(): "synced" | "syncing" | "detectedChanges" | "failed" {
|
||||
let states = [this.syncingProtocol, this.syncingProtocolAgenda, this.syncingProtocolPresence];
|
||||
let states = [
|
||||
this.syncingProtocol,
|
||||
this.syncingProtocolAgenda,
|
||||
this.syncingProtocolPresence,
|
||||
this.syncingProtocolDecision,
|
||||
this.syncingProtocolVoting,
|
||||
];
|
||||
|
||||
if (states.includes("failed")) return "failed";
|
||||
else if (states.includes("syncing")) return "syncing";
|
||||
|
@ -105,13 +140,21 @@ export default defineComponent({
|
|||
...mapActions(useProtocolStore, ["synchronizeActiveProtocol", "setProtocolSyncingState"]),
|
||||
...mapActions(useProtocolAgendaStore, ["synchronizeActiveProtocolAgenda", "setProtocolAgendaSyncingState"]),
|
||||
...mapActions(useProtocolPresenceStore, ["synchronizeActiveProtocolPresence", "setProtocolPresenceSyncingState"]),
|
||||
...mapActions(useProtocolDecisionStore, ["synchronizeActiveProtocolDecision", "setProtocolDecisionSyncingState"]),
|
||||
...mapActions(useProtocolVotingStore, ["synchronizeActiveProtocolVoting", "setProtocolVotingSyncingState"]),
|
||||
|
||||
syncAll() {
|
||||
if (!this.protocolTimer) clearTimeout(this.protocolTimer);
|
||||
if (!this.protocolAgendaTimer) clearTimeout(this.protocolAgendaTimer);
|
||||
if (!this.protocolPresenceTimer) clearTimeout(this.protocolPresenceTimer);
|
||||
if (!this.protocolDecisionTimer) clearTimeout(this.protocolDecisionTimer);
|
||||
if (!this.protocolVotingTimer) clearTimeout(this.protocolVotingTimer);
|
||||
|
||||
this.synchronizeActiveProtocol();
|
||||
this.synchronizeActiveProtocolAgenda();
|
||||
this.synchronizeActiveProtocolPresence();
|
||||
this.synchronizeActiveProtocolDecision();
|
||||
this.synchronizeActiveProtocolVoting();
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue