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

Avoid reading some variables directly from `window` (#12280)

GitOrigin-RevId: 93af19498470fd7903db9d55d7468f0298097cc4
Alf Eaton 3 лет назад
Родитель
Сommit
4c9c0641b2

+ 7 - 4
services/web/frontend/js/shared/context/editor-context.js

@@ -11,6 +11,8 @@ import useBrowserWindow from '../hooks/use-browser-window'
 import { useIdeContext } from './ide-context'
 import { useIdeContext } from './ide-context'
 import { useProjectContext } from './project-context'
 import { useProjectContext } from './project-context'
 import { useDetachContext } from './detach-context'
 import { useDetachContext } from './detach-context'
+import getMeta from '../../utils/meta'
+import { useUserContext } from './user-context'
 
 
 export const EditorContext = createContext()
 export const EditorContext = createContext()
 
 
@@ -47,7 +49,7 @@ EditorContext.Provider.propTypes = {
 
 
 export function EditorProvider({ children, settings }) {
 export function EditorProvider({ children, settings }) {
   const ide = useIdeContext()
   const ide = useIdeContext()
-
+  const { id: userId } = useUserContext()
   const { role } = useDetachContext()
   const { role } = useDetachContext()
 
 
   const { owner, features } = useProjectContext({
   const { owner, features } = useProjectContext({
@@ -170,8 +172,8 @@ export function EditorProvider({ children, settings }) {
       loading,
       loading,
       renameProject,
       renameProject,
       permissionsLevel,
       permissionsLevel,
-      isProjectOwner: owner?._id === window.user.id,
-      isRestrictedTokenMember: window.isRestrictedTokenMember,
+      isProjectOwner: owner?._id === userId,
+      isRestrictedTokenMember: getMeta('ol-isRestrictedTokenMember'),
       showSymbolPalette,
       showSymbolPalette,
       toggleSymbolPalette,
       toggleSymbolPalette,
       insertSymbol,
       insertSymbol,
@@ -185,10 +187,11 @@ export function EditorProvider({ children, settings }) {
     [
     [
       cobranding,
       cobranding,
       features?.compileGroup,
       features?.compileGroup,
+      owner,
+      userId,
       loading,
       loading,
       renameProject,
       renameProject,
       permissionsLevel,
       permissionsLevel,
-      owner?._id,
       showSymbolPalette,
       showSymbolPalette,
       toggleSymbolPalette,
       toggleSymbolPalette,
       insertSymbol,
       insertSymbol,

+ 2 - 0
services/web/test/frontend/features/share-project-modal/components/share-project-modal.test.js

@@ -268,6 +268,8 @@ describe('<ShareProjectModal/>', function () {
   })
   })
 
 
   it('only shows read-only token link to restricted token members', async function () {
   it('only shows read-only token link to restricted token members', async function () {
+    window.metaAttributesCache.set('ol-isRestrictedTokenMember', true)
+
     renderWithEditorContext(<ShareProjectModal {...modalProps} />, {
     renderWithEditorContext(<ShareProjectModal {...modalProps} />, {
       isRestrictedTokenMember: true,
       isRestrictedTokenMember: true,
       scope: { project: { ...project, publicAccesLevel: 'tokenBased' } },
       scope: { project: { ...project, publicAccesLevel: 'tokenBased' } },