From dc26e675bc5a8162a45eafef42436ab90cbc635d Mon Sep 17 00:00:00 2001 From: Wenzhao Hu Date: Tue, 29 Apr 2025 17:15:22 +0800 Subject: [PATCH] refactor(drawing): migrate to tailwindcss in drawing packages (#5122) --- .../commands/operations/message.operation.ts | 13 +- .../debugger/src/controllers/menu.ts | 6 +- .../views/doc-image-panel/DocDrawingPanel.tsx | 6 +- .../doc-image-panel/DocDrawingPosition.tsx | 145 ++++++++++++----- .../doc-image-panel/DocDrawingTextWrap.tsx | 152 +++++++++++++----- .../views/doc-image-panel/index.module.less | 14 -- .../src/views/panel/DrawingAlign.tsx | 27 +++- .../src/views/panel/DrawingArrange.tsx | 50 +++--- .../src/views/panel/DrawingCommonPanel.tsx | 2 +- .../src/views/panel/DrawingGroup.tsx | 19 ++- .../src/views/panel/DrawingTransform.tsx | 88 +++++----- .../src/views/panel/ImageCropper.tsx | 24 +-- .../src/views/panel/index.module.less | 67 -------- .../drawing-ui/src/views/utils/classnames.ts | 22 +++ .../drawing-popup-menu.controller.ts | 109 ++++++++----- .../sheet-image-panel/SheetDrawingAnchor.tsx | 27 +++- .../sheet-image-panel/SheetDrawingPanel.tsx | 5 +- .../views/sheet-image-panel/index.module.less | 14 -- .../views/upload-loading/UploadLoading.tsx | 48 ------ .../views/upload-loading/index.module.less | 47 ------ .../__testing__/mock-message.service.ts | 8 + .../message/desktop-message.service.ts | 21 ++- .../src/services/message/message.service.ts | 5 +- .../src/__testing__/util.ts | 5 +- 24 files changed, 489 insertions(+), 435 deletions(-) delete mode 100644 packages/docs-drawing-ui/src/views/doc-image-panel/index.module.less delete mode 100644 packages/drawing-ui/src/views/panel/index.module.less create mode 100644 packages/drawing-ui/src/views/utils/classnames.ts delete mode 100644 packages/sheets-drawing-ui/src/views/sheet-image-panel/index.module.less delete mode 100644 packages/sheets-drawing-ui/src/views/upload-loading/UploadLoading.tsx delete mode 100644 packages/sheets-drawing-ui/src/views/upload-loading/index.module.less diff --git a/packages-experimental/debugger/src/commands/operations/message.operation.ts b/packages-experimental/debugger/src/commands/operations/message.operation.ts index 67cb53666a..8b04f1a3e9 100644 --- a/packages-experimental/debugger/src/commands/operations/message.operation.ts +++ b/packages-experimental/debugger/src/commands/operations/message.operation.ts @@ -22,8 +22,19 @@ import { IMessageService } from '@univerjs/ui'; export const MessageOperation: ICommand = { id: 'debugger.operation.message', type: CommandType.OPERATION, - handler: async (accessor: IAccessor) => { + handler: async (accessor: IAccessor, params: { value: string }) => { const messageService = accessor.get(IMessageService); + + if (params.value === 'loading') { + messageService.show({ + type: MessageType.Loading, + content: 'Loading message', + duration: 3000, + }); + + return true; + } + messageService.show({ type: MessageType.Success, content: 'Demo message', diff --git a/packages-experimental/debugger/src/controllers/menu.ts b/packages-experimental/debugger/src/controllers/menu.ts index fa3c0c7587..e02edec9fb 100644 --- a/packages-experimental/debugger/src/controllers/menu.ts +++ b/packages-experimental/debugger/src/controllers/menu.ts @@ -171,7 +171,7 @@ export function ConfirmMenuItemFactory(): IMenuSelectorItem { }; } -export function MessageMenuItemFactory(accessor: IAccessor): IMenuSelectorItem { +export function MessageMenuItemFactory(): IMenuSelectorItem { return { id: MessageOperation.id, title: 'Message', @@ -182,6 +182,10 @@ export function MessageMenuItemFactory(accessor: IAccessor): IMenuSelectorItem { label: 'Open message', value: '', }, + { + label: 'Open loading message', + value: 'loading', + }, ], }; } diff --git a/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPanel.tsx b/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPanel.tsx index 74eef25535..4172da76ac 100644 --- a/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPanel.tsx +++ b/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPanel.tsx @@ -18,10 +18,9 @@ import type { IDrawingParam } from '@univerjs/core'; import { IDrawingManagerService } from '@univerjs/drawing'; import { DrawingCommonPanel } from '@univerjs/drawing-ui'; import { useDependency } from '@univerjs/ui'; -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { DocDrawingPosition } from './DocDrawingPosition'; import { DocDrawingTextWrap } from './DocDrawingTextWrap'; -import styles from './index.module.less'; export const DocDrawingPanel = () => { const drawingManagerService = useDependency(IDrawingManagerService); @@ -37,11 +36,10 @@ export const DocDrawingPanel = () => { return () => { focusDispose.unsubscribe(); }; - // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return !!drawings?.length && ( -
+
diff --git a/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPosition.tsx b/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPosition.tsx index f0e995bb20..d9affba6b4 100644 --- a/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPosition.tsx +++ b/packages/docs-drawing-ui/src/views/doc-image-panel/DocDrawingPosition.tsx @@ -18,7 +18,7 @@ import type { ICommandInfo, IDrawingParam, IObjectPositionH, IObjectPositionV, N import type { IDocDrawing } from '@univerjs/docs-drawing'; import type { IDocumentSkeletonDrawing } from '@univerjs/engine-render'; import { DocumentFlavor, ICommandService, IUniverInstanceService, LocaleService, ObjectRelativeFromH, ObjectRelativeFromV, PositionedObjectLayoutType } from '@univerjs/core'; -import { Checkbox, clsx, InputNumber, Select } from '@univerjs/design'; +import { Checkbox, InputNumber, Select } from '@univerjs/design'; import { DocSkeletonManagerService, RichTextEditingMutation } from '@univerjs/docs'; import { DocSelectionRenderService } from '@univerjs/docs-ui'; import { IDrawingManagerService } from '@univerjs/drawing'; @@ -26,7 +26,6 @@ import { IRenderManagerService } from '@univerjs/engine-render'; import { useDependency } from '@univerjs/ui'; import { useEffect, useState } from 'react'; import { UpdateDrawingDocTransformCommand } from '../../commands/commands/update-doc-drawing.command'; -import styles from './index.module.less'; const MIN_OFFSET = -1000; const MAX_OFFSET = 1000; @@ -360,28 +359,55 @@ export const DocDrawingPosition = (props: IDocDrawingPositionProps) => { }, []); return ( -
-
-
+
+
+
{localeService.t('image-position.title')}
-
-
+
+
{localeService.t('image-position.horizontal')}
-
-
+
+