Просмотр исходного кода

Merge pull request #14110 from overleaf/jdt-editor-left-main-doc-refresh

fix: updating context with new root doc id
GitOrigin-RevId: 87e803554efc20cce4404f4f0f4137ae7fe9c2aa
Jimmy Domagala-Tang 3 лет назад
Родитель
Сommit
f49616b4cf

+ 1 - 1
services/web/frontend/js/features/editor-left-menu/hooks/use-root-doc-id.tsx

@@ -12,7 +12,7 @@ export default function useRootDocId() {
 
   const setRootDocIdFunc = useCallback(
     async (newRootDocId: ProjectSettings['rootDocId']) => {
-      // rootDoc_id will be undefined on angular scope on initialisation
+      // rootDocId will be undefined on angular scope on initialisation
       const allowUpdate =
         typeof rootDocId !== 'undefined' && permissionsLevel !== 'readOnly'
 

+ 6 - 2
services/web/frontend/js/features/editor-left-menu/hooks/use-save-project-settings.tsx

@@ -15,13 +15,17 @@ export default function useSaveProjectSettings() {
   ) => {
     if (projectSettings) {
       const currentSetting = projectSettings[key]
-
       if (currentSetting !== newSetting) {
         await saveProjectSettings(projectId, {
           [key]: newSetting,
         })
 
-        setProjectSettings({ ...projectSettings, [key]: newSetting })
+        // rootDocId is used in our tsx and our endpoint, but rootDoc_id is used in our project $scope, etc
+        // as we use both namings in many files, and convert back and forth,
+        // its complicated to seperate and choose one name for all usages
+        // todo: make rootDocId or rootDoc_id consistent, and remove need for this/ other conversions
+        const settingsKey = key === 'rootDocId' ? 'rootDoc_id' : key
+        setProjectSettings({ ...projectSettings, [settingsKey]: newSetting })
       }
     }
   }