From 44e5021ec9968b10bc7428db95cf5068f0d15ba0 Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Wed, 14 May 2025 13:58:43 -0700 Subject: [PATCH] Allow user to set machine-based preferences for main object views. - Browse.js now sets currentViewKey in the right spot. - Changes in #viewObject reset. --- src/ui/layout/BrowseBar.vue | 1 - src/ui/router/Browse.js | 19 ++++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/ui/layout/BrowseBar.vue b/src/ui/layout/BrowseBar.vue index 2d3031ea87..2bfdda383a 100644 --- a/src/ui/layout/BrowseBar.vue +++ b/src/ui/layout/BrowseBar.vue @@ -379,7 +379,6 @@ export default { return JSON.parse(window.localStorage.getItem(LOCALSTORAGE_VIEW_PREFS)) || {}; }, storeViewPrefs(view) { - console.log('storeViewPrefs',this.domainObject.type,view); let storedViews = this.retrieveViewPrefs(); storedViews[this.domainObject.type] = view; window.localStorage.setItem(LOCALSTORAGE_VIEW_PREFS, JSON.stringify(storedViews)); diff --git a/src/ui/router/Browse.js b/src/ui/router/Browse.js index 656a9b4c93..f641fa2edc 100644 --- a/src/ui/router/Browse.js +++ b/src/ui/router/Browse.js @@ -68,21 +68,16 @@ class Browse { } #viewObject(object, viewProvider) { - // viewProvider is setting the 'view' param before this function is called. this.#currentObjectPath = this.#openmct.router.path; - // console.log('getSearchParam', this.#openmct.router.getSearchParam('view')); - console.log('#viewObject', this.#currentObjectPath, object, viewProvider); - const viewPrefs = JSON.parse(window.localStorage.getItem('openmct-stored-view-prefs')) || {}; - const viewKey = viewPrefs[object.type] ? viewPrefs[object.type] : viewProvider.key; this.#openmct.layout.$refs.browseObject.show( object, - viewKey, + viewProvider.key, true, this.#currentObjectPath ); this.#openmct.layout.$refs.browseBar.domainObject = object; - this.#openmct.layout.$refs.browseBar.viewKey = viewKey; + this.#openmct.layout.$refs.browseBar.viewKey = viewProvider.key; } #handleBrowseObjectUpdate(newObject) { @@ -126,6 +121,11 @@ class Browse { '*', this.#handleBrowseObjectUpdate.bind(this) ); + + if (!currentViewKey) { + currentViewKey = this.#getPreferredViewForObjectType(this.#browseObject); + } + const currentProvider = this.#openmct.objectViews.getByProviderKey(currentViewKey); if (currentProvider && currentProvider.canView(this.#browseObject, this.#openmct.router.path)) { this.#viewObject(this.#browseObject, currentProvider); @@ -153,6 +153,11 @@ class Browse { ); } + #getPreferredViewForObjectType(obj) { + const storedViewPrefs = JSON.parse(window.localStorage.getItem('openmct-stored-view-prefs')) || {}; + return storedViewPrefs[obj.type]? storedViewPrefs[obj.type] : undefined; + } + async #navigateToFirstChildOfRoot() { try { const rootObject = await this.#openmct.objects.get('ROOT');