@@ -8,6 +8,7 @@ type MenuItem = {
88 id ?: string
99 icon ?: string
1010 paneName ?: string
11+ subject ?: NamedNode
1112 label : string
1213 onclick : ( ) => void | Promise < void >
1314}
@@ -60,11 +61,13 @@ const getMenuItems = async (subject: NamedNode, outliner: any): Promise<MenuItem
6061 try {
6162 const items = await outliner . getDashboardItems ( subject )
6263 return items . map ( ( element ) => {
64+ const targetSubject = element . subject || ( authn . currentUser ( ) || subject )
6365 return {
6466 icon : element . icon ,
67+ subject : targetSubject ,
6568 paneName : element . tabName || element . paneName ,
6669 label : element . label ,
67- onclick : ( ) => openDashboardPane ( subject , outliner , element . tabName || element . paneName )
70+ onclick : ( ) => openDashboardPane ( targetSubject , outliner , element . tabName || element . paneName )
6871 }
6972 } )
7073 } catch ( error ) {
@@ -232,15 +235,17 @@ export const createLeftSideMenu = async (subject: NamedNode, outliner: OutlineMa
232235
233236async function openDashboardPane ( subject , outliner : any , pane : string ) : Promise < void > {
234237 const me = authn . currentUser ( )
235- if ( me ) {
236- subject = me
237- } else {
238- const store = outliner ?. context ?. store || outliner ?. context ?. session ?. store || outliner ?. kb
239- const fetcher = outliner ?. context ?. fetcher || store ?. fetcher
240- if ( ! store || ! fetcher ) {
241- throw new Error ( 'Unable to load profile: missing RDF store or fetcher' )
238+ if ( ! subject ) {
239+ if ( me ) {
240+ subject = me
241+ } else {
242+ const store = outliner ?. context ?. store || outliner ?. context ?. session ?. store || outliner ?. kb
243+ const fetcher = outliner ?. context ?. fetcher || store ?. fetcher
244+ if ( ! store || ! fetcher ) {
245+ throw new Error ( 'Unable to load profile: missing RDF store or fetcher' )
246+ }
247+ subject = await loadProfileFromURI ( subject , store , fetcher )
242248 }
243- subject = await loadProfileFromURI ( subject , store , fetcher )
244249 }
245250 outliner . showDashboard ( subject , {
246251 pane
0 commit comments