Path: blob/main/src/vs/sessions/contrib/files/browser/filesView.ts
13401 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import './media/filesView.css';6import * as dom from '../../../../base/browser/dom.js';7import { IContextMenuService } from '../../../../platform/contextview/browser/contextView.js';8import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';9import { IViewPaneLocationColors, IViewPaneOptions, ViewPane } from '../../../../workbench/browser/parts/views/viewPane.js';10import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';11import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';12import { IViewDescriptorService } from '../../../../workbench/common/views.js';13import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';14import { IOpenerService } from '../../../../platform/opener/common/opener.js';15import { IThemeService } from '../../../../platform/theme/common/themeService.js';16import { IHoverService } from '../../../../platform/hover/browser/hover.js';17import { agentsPanelBackground } from '../../../common/theme.js';18import { ExplorerView } from '../../../../workbench/contrib/files/browser/views/explorerView.js';19import { Codicon } from '../../../../base/common/codicons.js';20import { ThemeIcon } from '../../../../base/common/themables.js';21import { localize } from '../../../../nls.js';2223const $ = dom.$;2425export const SESSIONS_FILES_VIEW_ID = 'sessions.files.explorer';26export const SESSIONS_FILES_EMPTY_VIEW_ID = 'sessions.files.explorer.empty';2728export class SessionsExplorerView extends ExplorerView {29protected override getLocationBasedColors(): IViewPaneLocationColors {30const colors = super.getLocationBasedColors();31return {32...colors,33background: agentsPanelBackground,34listOverrideStyles: {35...colors.listOverrideStyles,36listBackground: agentsPanelBackground,37}38};39}40}4142export class SessionsExplorerEmptyView extends ViewPane {43constructor(44options: IViewPaneOptions,45@IKeybindingService keybindingService: IKeybindingService,46@IContextMenuService contextMenuService: IContextMenuService,47@IConfigurationService configurationService: IConfigurationService,48@IContextKeyService contextKeyService: IContextKeyService,49@IViewDescriptorService viewDescriptorService: IViewDescriptorService,50@IInstantiationService instantiationService: IInstantiationService,51@IOpenerService openerService: IOpenerService,52@IThemeService themeService: IThemeService,53@IHoverService hoverService: IHoverService54) {55super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);56}5758protected override renderBody(container: HTMLElement): void {59super.renderBody(container);6061const bodyContainer = dom.append(container, $('.files-empty-view-body'));62const welcomeContainer = dom.append(bodyContainer, $('.files-empty-welcome'));6364const welcomeIcon = dom.append(welcomeContainer, $('.files-empty-welcome-icon'));65welcomeIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.files));6667const welcomeMessage = dom.append(welcomeContainer, $('.files-empty-welcome-message'));68welcomeMessage.textContent = localize('filesView.noFiles', "Folders and files will appear here.");69}70}717273