From f16e827bba8ff1b57043fa2b6fd3df778fb46675 Mon Sep 17 00:00:00 2001
From: Wenzhao Hu <12122021+wzhudev@users.noreply.github.com>
Date: Mon, 24 Feb 2025 20:27:05 +0800
Subject: [PATCH 1/3] refactor: remove builtin global component
---
.nvmrc | 2 +-
.../controllers/ui/ui-mobile.controller.tsx | 7 ++-----
packages/ui/src/index.ts | 1 -
.../MobileWorkbench.tsx} | 21 +++++++++----------
.../mobile-workbench.module.less} | 0
packages/ui/src/views/parts.ts | 21 -------------------
packages/ui/src/views/workbench/Workbench.tsx | 5 ++---
7 files changed, 15 insertions(+), 42 deletions(-)
rename packages/ui/src/views/{MobileApp.tsx => mobile-workbench/MobileWorkbench.tsx} (89%)
rename packages/ui/src/views/{mobile-app.module.less => mobile-workbench/mobile-workbench.module.less} (100%)
delete mode 100644 packages/ui/src/views/parts.ts
diff --git a/.nvmrc b/.nvmrc
index 39d00c05179f..87bc4c77fe13 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18.17.0
\ No newline at end of file
+20.18.3
diff --git a/packages/ui/src/controllers/ui/ui-mobile.controller.tsx b/packages/ui/src/controllers/ui/ui-mobile.controller.tsx
index b0455ceaa95e..d87f0dc8919c 100644
--- a/packages/ui/src/controllers/ui/ui-mobile.controller.tsx
+++ b/packages/ui/src/controllers/ui/ui-mobile.controller.tsx
@@ -19,17 +19,14 @@ import type { IUniverUIConfig } from '../config.schema';
import type { IUIController, IWorkbenchOptions } from './ui.controller';
import { Disposable, Inject, Injector, IUniverInstanceService, LifecycleService, LifecycleStages, Optional, toDisposable, UniverInstanceType } from '@univerjs/core';
import { render as createRoot, unmount } from '@univerjs/design';
-
import { IRenderManagerService } from '@univerjs/engine-render';
-
-import React from 'react';
import { ILayoutService } from '../../services/layout/layout.service';
import { IMenuManagerService } from '../../services/menu/menu-manager.service';
import { BuiltInUIPart, IUIPartsService } from '../../services/parts/parts.service';
import { connectInjector } from '../../utils/di';
import { FloatDom } from '../../views/components/dom/FloatDom';
import { CanvasPopup } from '../../views/components/popup/CanvasPopup';
-import { MobileApp } from '../../views/MobileApp';
+import { MobileWorkbench } from '../../views/mobile-workbench/MobileWorkbench';
import { menuSchema } from '../menus/menu.schema';
const STEADY_TIMEOUT = 3000;
@@ -113,7 +110,7 @@ function bootstrap(
mountContainer = createContainer('univer');
}
- const ConnectedApp = connectInjector(MobileApp, injector);
+ const ConnectedApp = connectInjector(MobileWorkbench, injector);
const onRendered = (canvasElement: HTMLElement) => callback(canvasElement, mountContainer);
function render() {
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index 0a8040dabbe0..7154724b3838 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -120,7 +120,6 @@ export { UNIVER_UI_PLUGIN_NAME } from './ui-plugin';
export * from './utils';
export { ComponentContainer, type IComponentContainerProps, useComponentsOfPart } from './views/components/ComponentContainer';
export { ZenZone } from './views/components/zen-zone/ZenZone';
-export { builtInGlobalComponents } from './views/parts';
// #region - workbench components
diff --git a/packages/ui/src/views/MobileApp.tsx b/packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx
similarity index 89%
rename from packages/ui/src/views/MobileApp.tsx
rename to packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx
index bdc001e20e66..483bf9e60cef 100644
--- a/packages/ui/src/views/MobileApp.tsx
+++ b/packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx
@@ -15,18 +15,18 @@
*/
import type { ILocale } from '@univerjs/design';
-import type { IWorkbenchOptions } from '../controllers/ui/ui.controller';
+import type { IWorkbenchOptions } from '../../controllers/ui/ui.controller';
import { LocaleService, ThemeService } from '@univerjs/core';
import { ConfigProvider, defaultTheme, themeInstance } from '@univerjs/design';
import React, { useEffect, useMemo, useRef, useState } from 'react';
-import { BuiltInUIPart } from '../services/parts/parts.service';
-import { useDependency } from '../utils/di';
-import { ComponentContainer, useComponentsOfPart } from './components/ComponentContainer';
-import { MobileContextMenu } from './components/context-menu/MobileContextMenu';
-import { Sidebar } from './components/sidebar/Sidebar';
-import { ZenZone } from './components/zen-zone/ZenZone';
+import { BuiltInUIPart } from '../../services/parts/parts.service';
+import { useDependency } from '../../utils/di';
+import { ComponentContainer, useComponentsOfPart } from '../components/ComponentContainer';
+import { MobileContextMenu } from '../components/context-menu/MobileContextMenu';
+import { GlobalZone } from '../components/global-zone/GlobalZone';
+import { Sidebar } from '../components/sidebar/Sidebar';
+import { ZenZone } from '../components/zen-zone/ZenZone';
import styles from './mobile-app.module.less';
-import { builtInGlobalComponents } from './parts';
export interface IUniverAppProps extends IWorkbenchOptions {
mountContainer: HTMLElement;
@@ -34,7 +34,7 @@ export interface IUniverAppProps extends IWorkbenchOptions {
onRendered?: (container: HTMLElement) => void;
}
-export function MobileApp(props: IUniverAppProps) {
+export function MobileWorkbench(props: IUniverAppProps) {
const {
header = true,
footer = true,
@@ -139,12 +139,11 @@ export function MobileApp(props: IUniverAppProps) {
)}
-
+
-
{contextMenu && }
);
diff --git a/packages/ui/src/views/mobile-app.module.less b/packages/ui/src/views/mobile-workbench/mobile-workbench.module.less
similarity index 100%
rename from packages/ui/src/views/mobile-app.module.less
rename to packages/ui/src/views/mobile-workbench/mobile-workbench.module.less
diff --git a/packages/ui/src/views/parts.ts b/packages/ui/src/views/parts.ts
deleted file mode 100644
index c96507216d93..000000000000
--- a/packages/ui/src/views/parts.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Copyright 2023-present DreamNum Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import type { ComponentType } from 'react';
-
-import { GlobalZone } from './components/global-zone/GlobalZone';
-
-export const builtInGlobalComponents: Set = new Set([GlobalZone]);
diff --git a/packages/ui/src/views/workbench/Workbench.tsx b/packages/ui/src/views/workbench/Workbench.tsx
index 2b18bc42d731..8bad4b51e961 100644
--- a/packages/ui/src/views/workbench/Workbench.tsx
+++ b/packages/ui/src/views/workbench/Workbench.tsx
@@ -26,10 +26,9 @@ import { BuiltInUIPart } from '../../services/parts/parts.service';
import { useDependency } from '../../utils/di';
import { ComponentContainer, useComponentsOfPart } from '../components/ComponentContainer';
import { DesktopContextMenu } from '../components/context-menu/ContextMenu';
-
+import { GlobalZone } from '../components/global-zone/GlobalZone';
import { Sidebar } from '../components/sidebar/Sidebar';
import { ZenZone } from '../components/zen-zone/ZenZone';
-import { builtInGlobalComponents } from '../parts';
import styles from './workbench.module.less';
export interface IUniverWorkbenchProps extends IWorkbenchOptions {
@@ -197,7 +196,7 @@ export function DesktopWorkbench(props: IUniverWorkbenchProps) {
-
+
{contextMenu && }
From 2021b7630e118087699bc9d3ef9f4c8430c726e5 Mon Sep 17 00:00:00 2001
From: Wenzhao Hu <12122021+wzhudev@users.noreply.github.com>
Date: Mon, 24 Feb 2025 22:26:52 +0800
Subject: [PATCH 2/3] fix: add global zone export
---
.../uniui/src/views/workbench/UniWorkbench.tsx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/packages-experimental/uniui/src/views/workbench/UniWorkbench.tsx b/packages-experimental/uniui/src/views/workbench/UniWorkbench.tsx
index 4b1ff2fa50a5..4630588d2d69 100644
--- a/packages-experimental/uniui/src/views/workbench/UniWorkbench.tsx
+++ b/packages-experimental/uniui/src/views/workbench/UniWorkbench.tsx
@@ -28,10 +28,11 @@ import { debounce, ICommandService, IContextService, IUniverInstanceService, Loc
import { ConfigContext, ConfigProvider, defaultTheme, themeInstance } from '@univerjs/design';
import { IRenderManagerService } from '@univerjs/engine-render';
import { MenuSingle } from '@univerjs/icons';
-import { builtInGlobalComponents,
+import {
BuiltInUIPart,
ComponentContainer,
ContextMenu,
+ GlobalZone,
UNI_DISABLE_CHANGING_FOCUS_KEY,
useComponentsOfPart,
useDependency,
@@ -265,7 +266,7 @@ export function UniWorkbench(props: IUniWorkbenchProps) {
-
+
{contextMenu && }
From 383636db07810d942bb30c38a42dcc04bbf659f8 Mon Sep 17 00:00:00 2001
From: Wenzhao Hu <12122021+wzhudev@users.noreply.github.com>
Date: Tue, 25 Feb 2025 09:03:24 +0800
Subject: [PATCH 3/3] fix: fix style import
---
packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx b/packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx
index 483bf9e60cef..0063dfc13c0e 100644
--- a/packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx
+++ b/packages/ui/src/views/mobile-workbench/MobileWorkbench.tsx
@@ -26,7 +26,7 @@ import { MobileContextMenu } from '../components/context-menu/MobileContextMenu'
import { GlobalZone } from '../components/global-zone/GlobalZone';
import { Sidebar } from '../components/sidebar/Sidebar';
import { ZenZone } from '../components/zen-zone/ZenZone';
-import styles from './mobile-app.module.less';
+import styles from './mobile-workbench.module.less';
export interface IUniverAppProps extends IWorkbenchOptions {
mountContainer: HTMLElement;