mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Merge pull request #35056 from overleaf/mj-command-palette-improvements
[web] Command palette improvements GitOrigin-RevId: 3d6e11697ed4726b7ecada1744d24a15291ad646
This commit is contained in:
committed by
Copybot
parent
4ef7324263
commit
912fb2dcd8
@@ -10,6 +10,8 @@ import { useCallback, useMemo, useState } from 'react'
|
||||
import { throttle } from 'lodash'
|
||||
import { debugConsole } from '@/utils/debugging'
|
||||
import classNames from 'classnames'
|
||||
import { useCommandProvider } from '@/features/ide-react/hooks/use-command-provider'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
export const TabsContainer = () => {
|
||||
const {
|
||||
@@ -20,9 +22,11 @@ export const TabsContainer = () => {
|
||||
makeTabPermanent,
|
||||
setContextMenuTarget,
|
||||
setHeaderSlot,
|
||||
closeOtherTabs,
|
||||
} = useTabsContext()
|
||||
const { openEntity } = useFileTreeOpenContext()
|
||||
const [hovered, setHovered] = useState<boolean>(false)
|
||||
const { t } = useTranslation()
|
||||
|
||||
const openContextMenu = useCallback(
|
||||
(coords: { top: number; left: number }, tabId: string) => {
|
||||
@@ -86,6 +90,32 @@ export const TabsContainer = () => {
|
||||
}
|
||||
}, [])
|
||||
|
||||
useCommandProvider(() => {
|
||||
if (tabs.length === 0) {
|
||||
return
|
||||
}
|
||||
if (!openEntity?.entity._id) {
|
||||
return
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
id: 'close-tab',
|
||||
label: t('close_tab'),
|
||||
handler: () => {
|
||||
closeTab(openEntity.entity._id)
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'close-other-tabs',
|
||||
label: t('close_other_tabs'),
|
||||
handler: () => {
|
||||
closeOtherTabs(openEntity.entity._id)
|
||||
},
|
||||
},
|
||||
]
|
||||
}, [tabs, t, openEntity, closeTab, closeOtherTabs])
|
||||
|
||||
return (
|
||||
<div className="editor-tabs-container">
|
||||
<div className="review-panel-header-slot" ref={setHeaderSlot} />
|
||||
|
||||
Reference in New Issue
Block a user