@@ -15,6 +15,7 @@ const dockerRuntimeDiagnosticsModule = window.FolderViewPlusDockerRuntimeDiagnos
1515const dockerRuntimeReconcileModule = window . FolderViewPlusDockerRuntimeReconcile || null ;
1616const dockerCommandViewModule = window . FolderViewPlusDockerCommandView || null ;
1717const dockerTreeExplorerModule = window . FolderViewPlusDockerTreeExplorer || null ;
18+ const dockerOrbitViewModule = window . FolderViewPlusDockerOrbitView || null ;
1819const applyDockerThemeResolverTokens = ( reason = 'docker-runtime:initial' , options = { } ) => (
1920 themeResolver && typeof themeResolver . applyResolvedThemeTokens === 'function'
2021 ? themeResolver . applyResolvedThemeTokens ( reason , options )
@@ -756,7 +757,19 @@ const getDockerTreeExplorerApi = () => {
756757 dockerTreeExplorerApi = dockerTreeExplorerModule . createApi ( buildDockerIsolatedViewDeps ( ) ) ;
757758 }
758759 return dockerTreeExplorerApi ;
759- } ; const buildDockerDiagnosticsCorrelationContext = ( ) => ( {
760+ } ;
761+ const getDockerOrbitViewApi = ( ) => {
762+ if (
763+ ! dockerOrbitViewApi
764+ && dockerOrbitViewModule
765+ && window . FolderViewPlusDockerOrbitViewModuleLoaded === true
766+ && typeof dockerOrbitViewModule . createApi === 'function'
767+ ) {
768+ dockerOrbitViewApi = dockerOrbitViewModule . createApi ( buildDockerIsolatedViewDeps ( ) ) ;
769+ }
770+ return dockerOrbitViewApi ;
771+ } ;
772+ const buildDockerDiagnosticsCorrelationContext = ( ) => ( {
760773 currentPage : String ( location ?. pathname || '' ) ,
761774 listViewMode : readDockerListViewMode ( ) ,
762775 renderGeneration : dockerRuntimeLastRenderGeneration ,
@@ -3025,7 +3038,7 @@ const scheduleDockerPostRenderPolish = (folderIds = []) => {
30253038const normalizeDockerPageViewMode = ( value ) => (
30263039 typeof utils . normalizeRuntimePageViewMode === 'function'
30273040 ? utils . normalizeRuntimePageViewMode ( value )
3028- : ( [ 'host' , 'command' , 'tree-explorer' ] . includes ( String ( value || '' ) . trim ( ) . toLowerCase ( ) ) ? String ( value || '' ) . trim ( ) . toLowerCase ( ) : 'folderview' )
3041+ : ( [ 'host' , 'command' , 'tree-explorer' , 'orbit' ] . includes ( String ( value || '' ) . trim ( ) . toLowerCase ( ) ) ? String ( value || '' ) . trim ( ) . toLowerCase ( ) : 'folderview' )
30293042) ;
30303043
30313044const resolveDockerPageViewMode = ( prefs = folderTypePrefs ) => normalizeDockerPageViewMode (
@@ -3099,13 +3112,23 @@ const unmountDockerTreeExplorer = () => {
30993112 }
31003113} ;
31013114
3115+ const unmountDockerOrbitView = ( ) => {
3116+ const orbitViewApi = getDockerOrbitViewApi ( ) ;
3117+ if ( orbitViewApi && typeof orbitViewApi . unmount === 'function' ) {
3118+ orbitViewApi . unmount ( ) ;
3119+ }
3120+ } ;
3121+
31023122const unmountDockerIsolatedViews = ( exceptMode = '' ) => {
31033123 if ( exceptMode !== 'command' ) {
31043124 unmountDockerCommandView ( ) ;
31053125 }
31063126 if ( exceptMode !== 'tree-explorer' ) {
31073127 unmountDockerTreeExplorer ( ) ;
31083128 }
3129+ if ( exceptMode !== 'orbit' ) {
3130+ unmountDockerOrbitView ( ) ;
3131+ }
31093132} ;
31103133
31113134const queueDockerRuntimeRenderForPageViewMode = ( ) => {
@@ -3143,6 +3166,19 @@ const queueDockerRuntimeRenderForPageViewMode = () => {
31433166 markDockerFatalBannerStep ( 'Docker tree explorer unavailable, falling back to host list' ) ;
31443167 recordDockerFatalBannerAction ( 'Docker tree explorer unavailable' ) ;
31453168 return ;
3169+ } else if ( mode === 'orbit' ) {
3170+ unmountDockerIsolatedViews ( 'orbit' ) ;
3171+ markDockerFatalBannerStep ( 'Docker orbit view active' ) ;
3172+ recordDockerFatalBannerAction ( 'Docker orbit view active' ) ;
3173+ const orbitViewApi = getDockerOrbitViewApi ( ) ;
3174+ if ( orbitViewApi && typeof orbitViewApi . mount === 'function' ) {
3175+ return orbitViewApi . mount ( {
3176+ suppressLoadingUi : isDockerHostUpdateSyncSuspended ( )
3177+ } ) ;
3178+ }
3179+ markDockerFatalBannerStep ( 'Docker orbit view unavailable, falling back to host list' ) ;
3180+ recordDockerFatalBannerAction ( 'Docker orbit view unavailable' ) ;
3181+ return ;
31463182 }
31473183 unmountDockerIsolatedViews ( ) ;
31483184 if ( ! folderReq || ! Array . isArray ( folderReq . render ) || folderReq . render . length === 0 ) {
@@ -3168,11 +3204,13 @@ window.FolderViewPlusDockerRuntimeInternals = Object.assign(window.FolderViewPlu
31683204 buildDockerIsolatedViewDeps,
31693205 getDockerCommandViewApi,
31703206 getDockerTreeExplorerApi,
3207+ getDockerOrbitViewApi,
31713208 fetchDockerBootstrapPrefs,
31723209 ensureDockerBootstrapPrefs,
31733210 unmountDockerIsolatedViews,
31743211 queueDockerRuntimeRenderForPageViewMode
3175- } ) ; const syncDockerVisibleFoldersFromRuntimeCache = ( ) => {
3212+ } ) ;
3213+ const syncDockerVisibleFoldersFromRuntimeCache = ( ) => {
31763214 Object . entries ( globalFolders || { } ) . forEach ( ( [ id , folder ] ) => {
31773215 if ( ! folder || typeof folder !== 'object' ) {
31783216 return ;
@@ -5978,6 +6016,7 @@ let liveRefreshMs = 0;
59786016let liveRefreshInFlight = false ;
59796017let dockerCommandViewApi = null ;
59806018let dockerTreeExplorerApi = null ;
6019+ let dockerOrbitViewApi = null ;
59816020let dockerBootstrapPrefsPromise = null ;
59826021let queuedLoadlistTimer = null ;
59836022let queuedLoadlistOptions = null ;
@@ -6431,4 +6470,3 @@ addEventListener("keydown", (e) => {
64316470if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( '[FV3_DEBUG] docker.js: End of script execution.' ) ;
64326471} ) ( window , window . jQuery || window . $ ) ;
64336472
6434-
0 commit comments