@owdproject/core
Version:
<p align="center"> <img width="160" height="160" src="https://avatars.githubusercontent.com/u/65117737?s=160&v=4" /> </p> <h1 align="center">Open Web Desktop</h1> <h3 align="center"> A modular framework for building web-based desktop experiences. </h3
54 lines (46 loc) • 1.34 kB
text/typescript
import { defineStore } from 'pinia'
import { useDesktopStore } from './storeDesktop'
export const useDesktopDefaultAppsStore = defineStore(
'owd/desktop/defaultApps',
() => {
const desktopStore = useDesktopStore()
/**
* Sets a default app for a given feature
*/
function setDefaultApp(
feature: string,
application: IApplicationController,
entry: string,
) {
if (!desktopStore.state.hasOwnProperty('defaultApps')) {
desktopStore.state.defaultApps = {}
}
desktopStore.state.defaultApps[feature] = {
applicationId: application.id,
entry,
}
}
/**
* Gets the default app config for a given feature
*/
function getDefaultApp(feature: string): DefaultAppConfig {
if (!desktopStore.state.hasOwnProperty('defaultApps')) {
desktopStore.state.defaultApps = {}
}
return desktopStore.state.defaultApps[feature] as DefaultAppConfig
}
/**
* Loads default apps from current config
*/
function loadDefaultAppsFromConfig(runtimeConfig) {
if (runtimeConfig.public.desktop.defaultApps) {
desktopStore.state.defaultApps = runtimeConfig.public.desktop.defaultApps
}
}
return {
setDefaultApp,
getDefaultApp,
loadDefaultAppsFromConfig,
}
},
)