added core default services to our composite
This commit is contained in:
parent
b546a22302
commit
049fae15e5
@ -7,6 +7,10 @@
|
|||||||
$: if (services && services.helloEarthAlert) {
|
$: if (services && services.helloEarthAlert) {
|
||||||
// services.helloEarthAlert.alertMe();
|
// services.helloEarthAlert.alertMe();
|
||||||
}
|
}
|
||||||
|
$: if (services.core) {
|
||||||
|
console.log('services: ' + JSON.stringify(services));
|
||||||
|
// services.core.testAlert();
|
||||||
|
}
|
||||||
|
|
||||||
$: if ($store) isStoreLoaded = true;
|
$: if ($store) isStoreLoaded = true;
|
||||||
</script>
|
</script>
|
||||||
@ -14,9 +18,15 @@
|
|||||||
{#if isStoreLoaded}
|
{#if isStoreLoaded}
|
||||||
<div class="p-12 bg-blue-400 rounded-md shadow-lg">
|
<div class="p-12 bg-blue-400 rounded-md shadow-lg">
|
||||||
<p class="mb-4 text-xl font-bold text-white">Hello Earth</p>
|
<p class="mb-4 text-xl font-bold text-white">Hello Earth</p>
|
||||||
|
Wallet Address:
|
||||||
{#if $store.pkpWallet}
|
{#if $store.pkpWallet}
|
||||||
<p class="mb-6 text-white">Wallet Address: {$store.pkpWallet.address}</p>
|
<p class="mb-6 text-white">{$store.pkpWallet.address}</p>
|
||||||
{/if}
|
{/if}
|
||||||
|
<br />
|
||||||
|
hello store: {#if $store.hello}{$store.hello}{/if}
|
||||||
|
<br />
|
||||||
|
hello store2: {#if $store.hello2}{$store.hello2}{/if}
|
||||||
|
<br />
|
||||||
Reference TodoList
|
Reference TodoList
|
||||||
{#if $store.todos}
|
{#if $store.todos}
|
||||||
<ul class="pl-5 list-decimal">
|
<ul class="pl-5 list-decimal">
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
import services from '$lib/core/servicesLoader';
|
import services from '$lib/core/servicesLoader';
|
||||||
import { dataStore } from '$lib/core/dataLoader';
|
import { dataStore } from '$lib/core/dataLoader';
|
||||||
import { createCompositeStore, getCompositeStore } from '$lib/core/compositeStores';
|
import { createCompositeStore, getCompositeStore } from '$lib/core/compositeStores';
|
||||||
|
import { coreServices } from './coreServices';
|
||||||
|
|
||||||
interface ICompositeLayout {
|
interface ICompositeLayout {
|
||||||
areas: string;
|
areas: string;
|
||||||
@ -27,7 +28,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
export let composite: IComposite;
|
export let composite: IComposite;
|
||||||
let loadedServices: Record<string, any> = {};
|
let loadedServices: Record<string, any> = {
|
||||||
|
core: coreServices
|
||||||
|
};
|
||||||
let layoutStyle = '';
|
let layoutStyle = '';
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
|
18
src/lib/core/coreServices.ts
Normal file
18
src/lib/core/coreServices.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// coreServices.ts
|
||||||
|
import { getCompositeStore } from './compositeStores';
|
||||||
|
|
||||||
|
export const coreServices = {
|
||||||
|
updateStore: (mappings: Record<string, string>) => {
|
||||||
|
for (const [mappingString, value] of Object.entries(mappings)) {
|
||||||
|
const [storeID, key] = mappingString.replace('@', '').split(':');
|
||||||
|
const store = getCompositeStore(storeID);
|
||||||
|
store.update(storeData => {
|
||||||
|
storeData[key] = value;
|
||||||
|
return storeData;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
testAlert: () => {
|
||||||
|
alert("core service alert")
|
||||||
|
}
|
||||||
|
};
|
@ -1,6 +1,6 @@
|
|||||||
// dataLoader.ts
|
// dataLoader.ts
|
||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
import dataSources from 'virtual:data-sources-list'; // Import the generated list
|
import dataSources from 'virtual:data-sources-list';
|
||||||
|
|
||||||
// The store that holds the data sets
|
// The store that holds the data sets
|
||||||
export const dataStore = writable({});
|
export const dataStore = writable({});
|
||||||
@ -14,17 +14,3 @@ dataSources.forEach(src => {
|
|||||||
dataStore.update(store => ({ ...store, [src]: moduleData }));
|
dataStore.update(store => ({ ...store, [src]: moduleData }));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// // dataLoader.ts
|
|
||||||
|
|
||||||
// import { writable } from 'svelte/store';
|
|
||||||
// import { queryMessages } from '$lib/data/queryMessages';
|
|
||||||
// import { queryTodos } from '$lib/data/queryTodos';
|
|
||||||
|
|
||||||
// // The store that holds the data sets
|
|
||||||
// export const dataStore = writable({
|
|
||||||
// queryMessages: queryMessages,
|
|
||||||
// queryTodos: queryTodos
|
|
||||||
// });
|
|
@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
let composite = {
|
let composite = {
|
||||||
id: 'hello',
|
id: 'hello',
|
||||||
|
store: {
|
||||||
|
helloMapMe: 'this is going to be mapped'
|
||||||
|
},
|
||||||
layout: {
|
layout: {
|
||||||
areas: `
|
areas: `
|
||||||
"main"
|
"main"
|
||||||
@ -12,10 +15,15 @@
|
|||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
id: 'hello',
|
id: 'earth',
|
||||||
component: 'HelloEarth',
|
component: 'HelloEarth',
|
||||||
slot: 'main',
|
slot: 'main',
|
||||||
|
store: {
|
||||||
|
hello: 'define me directly',
|
||||||
|
hello2: 'overwrite me with the mapping value'
|
||||||
|
},
|
||||||
map: {
|
map: {
|
||||||
|
hello2: '@hello.helloMapMe',
|
||||||
pkpWallet: '@wallet.pkpWallet',
|
pkpWallet: '@wallet.pkpWallet',
|
||||||
todos: '@data:queryTodos'
|
todos: '@data:queryTodos'
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user