moveing dynamic svelte store queries to xstate
This commit is contained in:
parent
39ceac9582
commit
9bb780cd96
@ -1,7 +1,4 @@
|
|||||||
<script>
|
<script>
|
||||||
import { coreServices } from '$lib/core/refactor/coreServices';
|
|
||||||
import { queryMessages } from '$lib/data/queryMessages';
|
|
||||||
import { queryTodos } from '$lib/data/queryTodos';
|
|
||||||
import { createMessage } from '$lib/services/messages/messages';
|
import { createMessage } from '$lib/services/messages/messages';
|
||||||
export let me;
|
export let me;
|
||||||
export let data;
|
export let data;
|
||||||
@ -15,21 +12,6 @@
|
|||||||
};
|
};
|
||||||
createMessage(messageData);
|
createMessage(messageData);
|
||||||
}
|
}
|
||||||
|
|
||||||
function subscribeAndMapQueries(queryMap) {
|
|
||||||
Object.entries(queryMap).forEach(([name, query]) => {
|
|
||||||
query.subscribe((value) => {
|
|
||||||
if (value) {
|
|
||||||
coreServices.mutateStore(me.id, { [name]: value });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
subscribeAndMapQueries({
|
|
||||||
todos: queryTodos,
|
|
||||||
messages: queryMessages
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="flex flex-col h-screen">
|
<div class="flex flex-col h-screen">
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Composer from '$lib/core/refactor/Composer.svelte';
|
import Composer from '$lib/core/refactor/Composer.svelte';
|
||||||
import { assign } from 'xstate';
|
|
||||||
import { queryMessages } from '$lib/data/queryMessages';
|
import { queryMessages } from '$lib/data/queryMessages';
|
||||||
import { get } from 'svelte/store';
|
|
||||||
import { coreServices } from '$lib/core/refactor/coreServices';
|
import { coreServices } from '$lib/core/refactor/coreServices';
|
||||||
|
import { queryTodos } from '$lib/data/queryTodos';
|
||||||
|
|
||||||
let composer = {
|
let composer = {
|
||||||
id: 'ComposerParent',
|
id: 'ComposerParent',
|
||||||
@ -31,15 +30,31 @@
|
|||||||
id: 'ComposerCharly',
|
id: 'ComposerCharly',
|
||||||
component: 'ComposerCharly',
|
component: 'ComposerCharly',
|
||||||
slot: 'aside',
|
slot: 'aside',
|
||||||
|
// data: {
|
||||||
|
// queries: {
|
||||||
|
// todos: queryTodos,
|
||||||
|
// messages: queryMessages
|
||||||
|
// }
|
||||||
|
// },
|
||||||
machine: {
|
machine: {
|
||||||
initial: 'LOADING',
|
initial: 'LOADING',
|
||||||
// context: {
|
|
||||||
// hello: 'start',
|
|
||||||
// messages: []
|
|
||||||
// },
|
|
||||||
states: {
|
states: {
|
||||||
LOADING: {
|
LOADING: {
|
||||||
entry: () => {},
|
entry: () => {
|
||||||
|
function subscribeAndMapQueries(queryMap) {
|
||||||
|
Object.entries(queryMap).forEach(([name, query]) => {
|
||||||
|
query.subscribe((value) => {
|
||||||
|
if (value) {
|
||||||
|
coreServices.mutateStore('ComposerCharly', { [name]: value });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return subscribeAndMapQueries({
|
||||||
|
todos: queryTodos,
|
||||||
|
messages: queryMessages
|
||||||
|
});
|
||||||
|
},
|
||||||
on: {
|
on: {
|
||||||
TOGGLE: {
|
TOGGLE: {
|
||||||
target: 'READY'
|
target: 'READY'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user