mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 22:23:42 +01:00
Merge pull request #24862 from overleaf/dp-check-logs
Create openTab utility in rail-context to open rail at specific tab GitOrigin-RevId: bfac2597fdd66db6dd8280873be97096f2b812dc
This commit is contained in:
+2
-2
@@ -11,7 +11,7 @@ function PdfErrorState() {
|
|||||||
// TODO ide-redesign-cleanup: rename showLogs to something else and check usages
|
// TODO ide-redesign-cleanup: rename showLogs to something else and check usages
|
||||||
const { showLogs } = useCompileContext()
|
const { showLogs } = useCompileContext()
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { setSelectedTab: setSelectedRailTab } = useRailContext()
|
const { openTab: openRailTab } = useRailContext()
|
||||||
const newEditor = useIsNewEditorEnabled()
|
const newEditor = useIsNewEditorEnabled()
|
||||||
|
|
||||||
if (!newEditor || (!loadingError && !showLogs)) {
|
if (!newEditor || (!loadingError && !showLogs)) {
|
||||||
@@ -34,7 +34,7 @@ function PdfErrorState() {
|
|||||||
variant="secondary"
|
variant="secondary"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setSelectedRailTab('errors')
|
openRailTab('errors')
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{t('check_logs')}
|
{t('check_logs')}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ export const RailLayout = () => {
|
|||||||
const {
|
const {
|
||||||
activeModal,
|
activeModal,
|
||||||
selectedTab,
|
selectedTab,
|
||||||
setSelectedTab,
|
openTab,
|
||||||
isOpen,
|
isOpen,
|
||||||
setIsOpen,
|
setIsOpen,
|
||||||
panelRef,
|
panelRef,
|
||||||
@@ -162,11 +162,10 @@ export const RailLayout = () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Change the selected tab and make sure it's open
|
// Change the selected tab and make sure it's open
|
||||||
setSelectedTab((key ?? 'file-tree') as RailTabKey)
|
openTab((key ?? 'file-tree') as RailTabKey)
|
||||||
setIsOpen(true)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[setSelectedTab, selectedTab, setIsOpen, togglePane, railTabs]
|
[openTab, togglePane, selectedTab, railTabs]
|
||||||
)
|
)
|
||||||
|
|
||||||
const isReviewPanelOpen = selectedTab === 'review-panel'
|
const isReviewPanelOpen = selectedTab === 'review-panel'
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ export type RailModalKey = 'keyboard-shortcuts' | 'contact-us' | 'dictionary'
|
|||||||
const RailContext = createContext<
|
const RailContext = createContext<
|
||||||
| {
|
| {
|
||||||
selectedTab: RailTabKey
|
selectedTab: RailTabKey
|
||||||
setSelectedTab: Dispatch<SetStateAction<RailTabKey>>
|
|
||||||
isOpen: boolean
|
isOpen: boolean
|
||||||
setIsOpen: Dispatch<SetStateAction<boolean>>
|
setIsOpen: Dispatch<SetStateAction<boolean>>
|
||||||
panelRef: React.RefObject<ImperativePanelHandle>
|
panelRef: React.RefObject<ImperativePanelHandle>
|
||||||
@@ -35,6 +34,7 @@ const RailContext = createContext<
|
|||||||
setResizing: Dispatch<SetStateAction<boolean>>
|
setResizing: Dispatch<SetStateAction<boolean>>
|
||||||
activeModal: RailModalKey | null
|
activeModal: RailModalKey | null
|
||||||
setActiveModal: Dispatch<SetStateAction<RailModalKey | null>>
|
setActiveModal: Dispatch<SetStateAction<RailModalKey | null>>
|
||||||
|
openTab: (tab: RailTabKey) => void
|
||||||
}
|
}
|
||||||
| undefined
|
| undefined
|
||||||
>(undefined)
|
>(undefined)
|
||||||
@@ -69,10 +69,17 @@ export const RailProvider: FC = ({ children }) => {
|
|||||||
// since it is responsible for opening the initial document.
|
// since it is responsible for opening the initial document.
|
||||||
const [selectedTab, setSelectedTab] = useState<RailTabKey>('file-tree')
|
const [selectedTab, setSelectedTab] = useState<RailTabKey>('file-tree')
|
||||||
|
|
||||||
|
const openTab = useCallback(
|
||||||
|
(tab: RailTabKey) => {
|
||||||
|
setSelectedTab(tab)
|
||||||
|
setIsOpen(true)
|
||||||
|
},
|
||||||
|
[setIsOpen, setSelectedTab]
|
||||||
|
)
|
||||||
|
|
||||||
const value = useMemo(
|
const value = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
selectedTab,
|
selectedTab,
|
||||||
setSelectedTab,
|
|
||||||
isOpen,
|
isOpen,
|
||||||
setIsOpen,
|
setIsOpen,
|
||||||
panelRef,
|
panelRef,
|
||||||
@@ -83,10 +90,10 @@ export const RailProvider: FC = ({ children }) => {
|
|||||||
setResizing,
|
setResizing,
|
||||||
activeModal,
|
activeModal,
|
||||||
setActiveModal,
|
setActiveModal,
|
||||||
|
openTab,
|
||||||
}),
|
}),
|
||||||
[
|
[
|
||||||
selectedTab,
|
selectedTab,
|
||||||
setSelectedTab,
|
|
||||||
isOpen,
|
isOpen,
|
||||||
setIsOpen,
|
setIsOpen,
|
||||||
panelRef,
|
panelRef,
|
||||||
@@ -97,6 +104,7 @@ export const RailProvider: FC = ({ children }) => {
|
|||||||
setResizing,
|
setResizing,
|
||||||
activeModal,
|
activeModal,
|
||||||
setActiveModal,
|
setActiveModal,
|
||||||
|
openTab,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
+3
-13
@@ -51,8 +51,7 @@ const ReviewTooltipMenu: FC = () => {
|
|||||||
const [show, setShow] = useState(true)
|
const [show, setShow] = useState(true)
|
||||||
const { setView } = useReviewPanelViewActionsContext()
|
const { setView } = useReviewPanelViewActionsContext()
|
||||||
const { setReviewPanelOpen } = useLayoutContext()
|
const { setReviewPanelOpen } = useLayoutContext()
|
||||||
const { setIsOpen: setRailIsOpen, setSelectedTab: setSelectedRailTab } =
|
const { openTab: openRailTab } = useRailContext()
|
||||||
useRailContext()
|
|
||||||
const newEditor = useIsNewEditorEnabled()
|
const newEditor = useIsNewEditorEnabled()
|
||||||
|
|
||||||
const tooltipState = state.field(reviewTooltipStateField, false)?.tooltip
|
const tooltipState = state.field(reviewTooltipStateField, false)?.tooltip
|
||||||
@@ -71,8 +70,7 @@ const ReviewTooltipMenu: FC = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (newEditor) {
|
if (newEditor) {
|
||||||
setSelectedRailTab('review-panel')
|
openRailTab('review-panel')
|
||||||
setRailIsOpen(true)
|
|
||||||
} else {
|
} else {
|
||||||
setReviewPanelOpen(true)
|
setReviewPanelOpen(true)
|
||||||
}
|
}
|
||||||
@@ -87,15 +85,7 @@ const ReviewTooltipMenu: FC = () => {
|
|||||||
|
|
||||||
view.dispatch({ effects })
|
view.dispatch({ effects })
|
||||||
setShow(false)
|
setShow(false)
|
||||||
}, [
|
}, [setReviewPanelOpen, setView, setShow, view, openRailTab, newEditor])
|
||||||
setReviewPanelOpen,
|
|
||||||
setView,
|
|
||||||
setShow,
|
|
||||||
view,
|
|
||||||
setSelectedRailTab,
|
|
||||||
setRailIsOpen,
|
|
||||||
newEditor,
|
|
||||||
])
|
|
||||||
|
|
||||||
useEventListener('add-new-review-comment', addComment)
|
useEventListener('add-new-review-comment', addComment)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user