From 5e6bc7107d1802b46447a5341681cf2ca44d19e9 Mon Sep 17 00:00:00 2001 From: Le Vivilet Date: Thu, 19 Feb 2026 00:03:32 +0100 Subject: [PATCH] feature: remove unused panel code --- .../src/parts/ViewletModule/ViewletModule.ts | 3 - .../parts/ViewletModuleId/ViewletModuleId.ts | 2 - .../src/parts/ViewletPanel/ViewletPanel.ts | 127 ------------------ .../parts/ViewletPanel/ViewletPanelEvents.ts | 48 ------- .../ViewletPanel/ViewletPanelFunctions.ts | 1 - 5 files changed, 181 deletions(-) delete mode 100644 packages/renderer-process/src/parts/ViewletPanel/ViewletPanel.ts delete mode 100644 packages/renderer-process/src/parts/ViewletPanel/ViewletPanelEvents.ts delete mode 100644 packages/renderer-process/src/parts/ViewletPanel/ViewletPanelFunctions.ts diff --git a/packages/renderer-process/src/parts/ViewletModule/ViewletModule.ts b/packages/renderer-process/src/parts/ViewletModule/ViewletModule.ts index 2facb52c..214e9484 100644 --- a/packages/renderer-process/src/parts/ViewletModule/ViewletModule.ts +++ b/packages/renderer-process/src/parts/ViewletModule/ViewletModule.ts @@ -30,7 +30,6 @@ import * as ViewletKeyBindings from '../ViewletKeyBindings/ViewletKeyBindings.ts import * as ViewletLayout from '../ViewletLayout/ViewletLayout.ts' import * as ViewletModuleId from '../ViewletModuleId/ViewletModuleId.ts' import * as ViewletOutput from '../ViewletOutput/ViewletOutput.ts' -import * as ViewletPanel from '../ViewletPanel/ViewletPanel.ts' import * as ViewletReferences from '../ViewletReferences/ViewletReferences.ts' import * as ViewletRunAndDebug from '../ViewletRunAndDebug/ViewletRunAndDebug.ts' import * as ViewletScreenCapture from '../ViewletScreenCapture/ViewletScreenCapture.ts' @@ -112,8 +111,6 @@ export const load = (moduleId) => { return ViewletLayout case ViewletModuleId.Output: return ViewletOutput - case ViewletModuleId.Panel: - return ViewletPanel case ViewletModuleId.References: return ViewletReferences case ViewletModuleId.RunAndDebug: diff --git a/packages/renderer-process/src/parts/ViewletModuleId/ViewletModuleId.ts b/packages/renderer-process/src/parts/ViewletModuleId/ViewletModuleId.ts index a7f57fb4..3f964836 100644 --- a/packages/renderer-process/src/parts/ViewletModuleId/ViewletModuleId.ts +++ b/packages/renderer-process/src/parts/ViewletModuleId/ViewletModuleId.ts @@ -60,8 +60,6 @@ export const MainTabs = 'MainTabs' export const Output = 'Output' -export const Panel = 'Panel' - export const Problems = 'Problems' export const QuickPick = 'QuickPick' diff --git a/packages/renderer-process/src/parts/ViewletPanel/ViewletPanel.ts b/packages/renderer-process/src/parts/ViewletPanel/ViewletPanel.ts deleted file mode 100644 index 6a54b377..00000000 --- a/packages/renderer-process/src/parts/ViewletPanel/ViewletPanel.ts +++ /dev/null @@ -1,127 +0,0 @@ -import * as AriaRoles from '../AriaRoles/AriaRoles.ts' -import * as Assert from '../Assert/Assert.ts' -import * as AttachEvents from '../AttachEvents/AttachEvents.ts' -import * as DomAttributeType from '../DomAttributeType/DomAttributeType.ts' -import * as DomEventType from '../DomEventType/DomEventType.ts' -import * as IconButton from '../IconButton/IconButton.ts' -import * as RememberFocus from '../RememberFocus/RememberFocus.ts' -import * as VirtualDom from '../VirtualDom/VirtualDom.ts' -import * as ViewletPanelEvents from './ViewletPanelEvents.ts' - -/** - * @enum {string} - */ -const UiStrings = { - Close: 'Close', - Maximize: 'Maximize', -} - -export const create = () => { - const $PanelTabs = document.createElement('div') - $PanelTabs.className = 'PanelTabs' - $PanelTabs.role = AriaRoles.TabList - $PanelTabs.tabIndex = -1 - - const $ButtonClose = IconButton.create$Button(UiStrings.Close, 'Close') - const $ButtonMaximize = IconButton.create$Button(UiStrings.Maximize, 'ChevronUp') - // TODO use event delegation - - const $PanelToolBar = document.createElement('div') - $PanelToolBar.className = 'PanelToolBar' - $PanelToolBar.role = AriaRoles.ToolBar - $PanelToolBar.append($ButtonMaximize, $ButtonClose) - - const $PanelActions = document.createElement('div') - $PanelActions.className = 'Actions' - $PanelActions.role = 'toolbar' - - const $PanelHeader = document.createElement('div') - $PanelHeader.className = 'PanelHeader' - $PanelHeader.append($PanelTabs, $PanelActions, $PanelToolBar) - // const $PanelContent = document.createElement('div') - // $PanelContent.id = 'PanelContent' - const $Viewlet = document.createElement('div') - $Viewlet.id = 'Panel' - $Viewlet.className = 'Viewlet Panel' - $Viewlet.append($PanelHeader) - $Viewlet.ariaLabel = 'Panel' - return { - $ButtonClose, - $ButtonMaximize, - $Panel: $Viewlet, - $PanelActions, - $PanelContent: undefined, - $PanelHeader, - $PanelTabs, - $Viewlet, - } - // await openViewlet('Terminal') -} - -export const attachEvents = (state) => { - const { $ButtonClose, $ButtonMaximize, $PanelHeader } = state - AttachEvents.attachEvents($PanelHeader, { - [DomEventType.Click]: ViewletPanelEvents.handleHeaderClick, - }) - AttachEvents.attachEvents($ButtonMaximize, { - [DomEventType.Click]: ViewletPanelEvents.handleClickMaximize, - }) - AttachEvents.attachEvents($ButtonClose, { - [DomEventType.Click]: ViewletPanelEvents.handleClickClose, - }) -} - -export const setTabsDom = (state, dom) => { - const { $PanelTabs } = state - VirtualDom.renderInto($PanelTabs, dom) -} - -// TODO add test for focus method -export const focus = (state) => { - Assert.object(state) - if (!state.currentViewlet) { - return - } - state.currentViewlet.factory.focus(state.currentViewlet.state) -} - -export const dispose = (state) => { - if (state.$PanelContent) { - state.$PanelContent.remove() - state.$PanelContent = undefined - } - if (state.$PanelTabs) { - state.$PanelTabs.remove() - state.$PanelTabs = undefined - } - if (state.$PanelHeader) { - state.$PanelHeader.remove() - state.$PanelHeader = undefined - } -} - -export const setSelectedIndex = (state, oldIndex, newIndex) => { - const { $PanelTabs } = state - if (oldIndex !== -1) { - const $PanelTab = $PanelTabs.children[oldIndex] - $PanelTab.removeAttribute(DomAttributeType.AriaSelected) - } - if (newIndex !== -1) { - const $PanelTab = $PanelTabs.children[newIndex] - $PanelTab.ariaSelected = true - $PanelTabs.setAttribute(DomAttributeType.AriaActiveDescendant, $PanelTab.id) - } -} - -export const setActionsDom = (state, actions, childUid) => { - const { $PanelActions } = state - - const instance = VirtualDom.getViewletInstance(childUid) - if (!instance) { - throw new Error(`child instance not found`) - } - const eventMap = instance.factory.EventMap - VirtualDom.setComponentUid($PanelActions, childUid) - const $NewActions = RememberFocus.rememberFocus($PanelActions, actions, eventMap, childUid) - state.$PanelActions = $NewActions -} diff --git a/packages/renderer-process/src/parts/ViewletPanel/ViewletPanelEvents.ts b/packages/renderer-process/src/parts/ViewletPanel/ViewletPanelEvents.ts deleted file mode 100644 index be57b91f..00000000 --- a/packages/renderer-process/src/parts/ViewletPanel/ViewletPanelEvents.ts +++ /dev/null @@ -1,48 +0,0 @@ -import * as ComponentUid from '../ComponentUid/ComponentUid.ts' -import * as GetNodeIndex from '../GetNodeIndex/GetNodeIndex.ts' -import * as ViewletPanelFunctions from './ViewletPanelFunctions.ts' - -export const handleClickClose = (event) => { - const uid = ComponentUid.fromEvent(event) - ViewletPanelFunctions.hidePanel(uid) -} - -export const handleClickMaximize = (event) => { - const uid = ComponentUid.fromEvent(event) - ViewletPanelFunctions.toggleMaximize(uid) -} - -const handleClickTab = (target, uid) => { - const index = GetNodeIndex.getNodeIndex(target) - ViewletPanelFunctions.selectIndex(uid, index) -} - -const handleClickAction = (target, uid) => { - const index = GetNodeIndex.getNodeIndex(target) - const { command } = target.dataset - if (!command) { - // eslint-disable-next-line no-console - console.info('[panel] action command not found') - return - } - ViewletPanelFunctions.handleClickAction(uid, index, command) -} - -export const handleHeaderClick = (event) => { - const { target } = event - const uid = ComponentUid.fromEvent(event) - if (target.classList.contains('PanelTab')) { - handleClickTab(target, uid) - return - } - if (target.classList.contains('IconButton')) { - handleClickAction(target, uid) - } -} - -export const handleFilterInput = (event) => { - const uid = ComponentUid.fromEvent(event) - const { target } = event - const { value } = target - ViewletPanelFunctions.handleFilterInput(uid, value) -} diff --git a/packages/renderer-process/src/parts/ViewletPanel/ViewletPanelFunctions.ts b/packages/renderer-process/src/parts/ViewletPanel/ViewletPanelFunctions.ts deleted file mode 100644 index 4fe68a53..00000000 --- a/packages/renderer-process/src/parts/ViewletPanel/ViewletPanelFunctions.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../ForwardCommand/ForwardCommand.ts'