From 3e2ff167521bc61ec8403bde8209bb95be72f131 Mon Sep 17 00:00:00 2001 From: ZhangWei Date: Sun, 27 Apr 2025 20:33:45 +0800 Subject: [PATCH] feat(docs-ui): support doc page setup to set paper size and margin (#5088) Co-authored-by: GitHub Actions --- .../default-doc-ci-chromium-linux.png | Bin 117616 -> 117755 bytes .../docs/data-model/document-data-model.ts | 4 + packages/core/src/types/const/index.ts | 1 + packages/core/src/types/const/page-size.ts | 65 +++ .../src/types/interfaces/i-document-data.ts | 27 ++ .../design/src/components/confirm/Confirm.tsx | 1 - .../doc-drawing-printing.controller.tsx | 118 +++++ .../controllers/doc-float-dom.controller.ts | 25 +- packages/docs-drawing-ui/src/plugin.ts | 7 +- .../src/views/printing-float-dom/index.tsx | 70 +++ .../commands/doc-page-setup.command.ts | 122 +++++ .../operations/open-page-setting.operation.ts | 60 +++ .../src/controllers/doc-ui.controller.ts | 5 +- .../docs-ui/src/controllers/menu.schema.ts | 8 +- packages/docs-ui/src/controllers/menu/menu.ts | 11 + packages/docs-ui/src/docs-ui-plugin.ts | 6 + packages/docs-ui/src/index.ts | 2 +- packages/docs-ui/src/locale/en-US.ts | 29 ++ packages/docs-ui/src/locale/fa-IR.ts | 29 ++ packages/docs-ui/src/locale/fr-FR.ts | 29 ++ packages/docs-ui/src/locale/ru-RU.ts | 37 +- packages/docs-ui/src/locale/vi-VN.ts | 29 ++ packages/docs-ui/src/locale/zh-CN.ts | 29 ++ packages/docs-ui/src/locale/zh-TW.ts | 29 ++ .../services/doc-print-interceptor-service.ts | 58 +++ .../docs-ui/src/views/page-settings/index.tsx | 187 ++++++++ .../src/views/printing-float-dom/index.tsx | 94 +--- packages/ui/src/index.ts | 2 + .../components/confirm-part/ConfirmPart.tsx | 47 +- .../components/confirm-part/interface.ts | 15 +- .../ui/src/views/components/dom/print.tsx | 108 +++++ pnpm-lock.yaml | 452 +++++++++--------- 32 files changed, 1365 insertions(+), 341 deletions(-) create mode 100644 packages/core/src/types/const/page-size.ts create mode 100644 packages/docs-drawing-ui/src/controllers/doc-drawing-printing.controller.tsx create mode 100644 packages/docs-drawing-ui/src/views/printing-float-dom/index.tsx create mode 100644 packages/docs-ui/src/commands/commands/doc-page-setup.command.ts create mode 100644 packages/docs-ui/src/commands/operations/open-page-setting.operation.ts create mode 100644 packages/docs-ui/src/services/doc-print-interceptor-service.ts create mode 100644 packages/docs-ui/src/views/page-settings/index.tsx create mode 100644 packages/ui/src/views/components/dom/print.tsx diff --git a/e2e/visual-comparison/docs/docs-visual-comparison.spec.ts-snapshots/default-doc-ci-chromium-linux.png b/e2e/visual-comparison/docs/docs-visual-comparison.spec.ts-snapshots/default-doc-ci-chromium-linux.png index a9d581e796edde8fee8e7432d57724ce3de42cb1..94a5378fec4f326c68c992a86f707d6a9a999033 100644 GIT binary patch literal 117755 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
-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/(HTyhmX(Nz{;f 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%0AX(YYUv^Z<)jnZV~i<_=?My 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 WI?qj4da5M+_mn^FtuI-L1OFfQBSYf= literal 117616 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≪ybZ{XWY1OCDQgf`5U2?Y_^!@_6~DCb z$T!BCJhG=eOdS_b0X9fWtC@m}R)P0NbHE8hZ_@-R+eu8wS85i0#jD=jIY+DhVPT=# zH-&a5tnem;tYU2-mzJJ}#>K8jM^RRG z-(mq>%~$6+GF^4hz<~g0A-tG97KwI;#}YKt`&o}S-e#LUz;6%$d?b{EBI)ystiZNI zen-v7IXCGgM6+W6rBLGAbCYoTuxgm5_TXK7nd1 zz*G@otoT*JU@;}bdGmenNvayJ2T-WPmjMz?7W_Jxbyf&1w}=Uc?wBWgXs_R zE2lEz-bavbgofUs_na1_5N9t$ek~G7S$UWh85vo_-xkQGw{Nu);z-Ni(ya#{f-OVe zrPiZI9k!yL4`nYI>kZw%fq_|c+$H!K89^*k^rV2KY4QV%lRZZWZ2=im(#sA z;$q>oaX$wH&vA4d$M$#{C#ZEbqAGwghy!aFmM%=&0^SE6CAB)g)zz2Q6XKlVW0*|p z!S~_gdEk^t^B{{k-jJ68x=;@Zl1`i5vQ+_01riKKL6{_7GUsh&GURccnLB5XCWc>r z1T$*Q7Q27-F|6uY!G%cWi~a&xc73m#<-eazkT$LB(Z$q+1GU#$Bf^Do_idzb1g@q2 zWr?9Srd|A8UXBcoxQ!}ethHAkFaFAzvvmCdmlA9v)5$vf6^pVN{Y7bM3&pTzce1a7 zSkv6H4z>c^j2e2b*H)k@Xok!fj|OdXxP-$9~9eo1u**nNj9@IK#qrL zXy6rG%4E~L;e`QKrXQL_S&++xv5IFf(i3SgVec=*G7+B6(R378WNe&bct;Fb1S|sE z&D@c4`0#wjLHwa%h53YaCr!yc2#|<_%ebG2LX|&Q!?#kEQIa3|nba{S>_RSnseCkMxK+XivHl>PkYBn9NB&bJ0J|{47dh z=1mNmdSvIqtxjKu4j3S=HkgP@x!E@;nmAO6NkoqwY4V_)9VVEFaUZPtyc0$^#Eb!K zgsJdk11v1Wc({PkjKO}KGLhezH{Jo&+N&)gQi$a{w@6Q=+14ZHfYQm z3DO@{me8{T{U2(}q^!F%xQnk`rv8QSWW}_!wq)R`=2b&u6lKn%ID=ntxb%^C@ME)e z*gzDX^O{kDEaSQ_33$UH0hCZ7pp!r|lc!JjW>2sLIed}bS-DMfb=8!7M%mcqdaT|i z&2K1mn1Fy5FEK0Y?Slv5Ex!espoWHpMpWvvD-OaO$zKLZuVh$@AiSyCQ}8= zDIumYE-f>u!ww(bx#=xIRN&lnVo9fV0%jv@W8Vzd)+U1o(iW>#Ve0iCsnn*Z%3%FcRgLyTVqTJAdA3!2(rzdHS*7+aEU*IO9(dfpv%UQ!ua}dFEUyP@W;5gWi*v zw(1>cso2$Pxk8>{^L}#DPj~6-H;?>zz$FAD9Puz`KBr8`FH2@HF|b zBq3Gb2}9+>0Y%ej8fY9iy{~k5-6w*mEQ7GogKj4`@7T(^!lIx?1`>^Z^EZA4*O4G% zUGrHw&K_uloZbyM&0f}#mdja4A;meH2gSiBhuGXVsbAl|I|o+EHLq<;L+!YAb^~kQ z+sDU~y!OfE&@M#lahA-RHcgo5u=(MHhmX(hD8DO0H`OQJfsyZ*$gjrRL{)*bC@s6E z&hnFMvXYZ6=ghf;sRLPI(3wSC^qjRp?JXyGB4}PJ7kVvU&cS0-ri_S^^I|0lKG{

GStg3A0P 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 diff --git a/packages/core/src/docs/data-model/document-data-model.ts b/packages/core/src/docs/data-model/document-data-model.ts index f8d13cb4e3..35c54cc1e4 100644 --- a/packages/core/src/docs/data-model/document-data-model.ts +++ b/packages/core/src/docs/data-model/document-data-model.ts @@ -132,6 +132,10 @@ class DocumentDataModelSimple extends UnitModel> = { + [PaperType.A3]: { + width: 1123, + height: 1587, + }, + [PaperType.A4]: { + width: 794, + height: 1124, + }, + [PaperType.A5]: { + width: 559, + height: 794, + }, + [PaperType.B4]: { + width: 944, + height: 1344, + }, + [PaperType.B5]: { + width: 665, + height: 944, + }, + [PaperType.Executive]: { + width: 696, + height: 1008, + }, + [PaperType.Folio]: { + width: 816, + height: 1248, + }, + [PaperType.Legal]: { + width: 816, + height: 1344, + }, + [PaperType.Letter]: { + width: 816, + height: 1056, + }, + [PaperType.Statement]: { + width: 528, + height: 816, + }, + [PaperType.Tabloid]: { + width: 1056, + height: 1632, + }, +}; diff --git a/packages/core/src/types/interfaces/i-document-data.ts b/packages/core/src/types/interfaces/i-document-data.ts index 1b04f48792..0f7b02461a 100644 --- a/packages/core/src/types/interfaces/i-document-data.ts +++ b/packages/core/src/types/interfaces/i-document-data.ts @@ -1081,4 +1081,31 @@ export enum PageOrientType { LANDSCAPE, } +export enum PaperType { + Letter = 'Letter', + Tabloid = 'Tabloid', + Legal = 'Legal', + Statement = 'Statement', + Executive = 'Executive', + Folio = 'Folio', + A3 = 'A3', + A4 = 'A4', + A5 = 'A5', + B4 = 'B4', + B5 = 'B5', +} + +export const PAPER_TYPES: PaperType[] = [ + PaperType.A3, + PaperType.A4, + PaperType.A5, + PaperType.B4, + PaperType.B5, + PaperType.Letter, + PaperType.Tabloid, + PaperType.Legal, + PaperType.Statement, + PaperType.Executive, + PaperType.Folio, +]; // #region - tech dept diff --git a/packages/design/src/components/confirm/Confirm.tsx b/packages/design/src/components/confirm/Confirm.tsx index 2ffdf22cf6..2953078aec 100644 --- a/packages/design/src/components/confirm/Confirm.tsx +++ b/packages/design/src/components/confirm/Confirm.tsx @@ -77,7 +77,6 @@ function Footer(props: { locale: ILocale['design']; cancelText?: string; confirm export function Confirm(props: IConfirmProps) { const { children, visible = false, title, cancelText, confirmText, width, onClose, onConfirm } = props; - const { locale } = useContext(ConfigContext); return ( diff --git a/packages/docs-drawing-ui/src/controllers/doc-drawing-printing.controller.tsx b/packages/docs-drawing-ui/src/controllers/doc-drawing-printing.controller.tsx new file mode 100644 index 0000000000..778e950391 --- /dev/null +++ b/packages/docs-drawing-ui/src/controllers/doc-drawing-printing.controller.tsx @@ -0,0 +1,118 @@ +/** + * 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 { IDocFloatDom } from '@univerjs/docs-drawing'; +import type { IPrintingFloatDomProps } from '../views/printing-float-dom'; +import { Disposable, DrawingTypeEnum, Inject, Injector, PRINT_CHART_COMPONENT_KEY } from '@univerjs/core'; +import { render, unmount } from '@univerjs/design'; +import { DocPrintInterceptorService } from '@univerjs/docs-ui'; +import { IDrawingManagerService } from '@univerjs/drawing'; +import { DrawingRenderService } from '@univerjs/drawing-ui'; +import { ComponentManager, connectInjector } from '@univerjs/ui'; +import { DocPrintingFloatDom } from '../views/printing-float-dom'; + +export class DocDrawingPrintingController extends Disposable { + constructor( + @Inject(DocPrintInterceptorService) private readonly _docPrintInterceptorService: DocPrintInterceptorService, + @Inject(DrawingRenderService) private readonly _drawingRenderService: DrawingRenderService, + @IDrawingManagerService private readonly _drawingManagerService: IDrawingManagerService, + @Inject(ComponentManager) private readonly _componetManager: ComponentManager, + @Inject(Injector) private readonly _injector: Injector + ) { + super(); + + this._initPrinting(); + this._initPrintingDom(); + } + + private _initPrinting() { + this.disposeWithMe( + this._docPrintInterceptorService.interceptor.intercept( + this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT, + { + handler: (_param, pos, next) => { + const { unitId, scene } = pos; + const unitData = this._drawingManagerService.getDrawingDataForUnit(unitId); + const subUnitData = unitData?.[unitId]; + if (subUnitData) { + subUnitData.order.forEach((id) => { + const drawing = subUnitData.data[id]; + if (drawing.drawingType !== DrawingTypeEnum.DRAWING_CHART && drawing.drawingType !== DrawingTypeEnum.DRAWING_DOM) { + this._drawingRenderService.renderDrawing(drawing, scene); + } + }); + } + + return next(); + }, + } + ) + ); + } + + private _initPrintingDom() { + this.disposeWithMe( + this._docPrintInterceptorService.interceptor.intercept( + this._docPrintInterceptorService.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT, + { + handler: (disposableCollection, pos, next) => { + const { unitId } = pos; + const unitData = this._drawingManagerService.getDrawingDataForUnit(unitId); + const subUnitData = unitData?.[unitId]; + if (subUnitData) { + const floatDomInfos = subUnitData.order.map((id) => { + const drawing = subUnitData.data[id]; + if (drawing.drawingType === DrawingTypeEnum.DRAWING_CHART) { + return { + ...drawing, + componentKey: this._componetManager.get(PRINT_CHART_COMPONENT_KEY) as any, + }; + } + + if (drawing.drawingType === DrawingTypeEnum.DRAWING_DOM) { + return { + ...drawing, + componentKey: this._componetManager.get((drawing as IDocFloatDom).componentKey) as any, + }; + } + + return null; + }).filter(Boolean) as IDocFloatDom[]; + const PrintingFloatDomInjector = connectInjector(DocPrintingFloatDom, this._injector) as React.ComponentType; + + render( + , + pos.root + ); + + disposableCollection?.add(() => { + unmount(pos.root); + }); + + return next(disposableCollection); + } + }, + } + ) + ); + } +} diff --git a/packages/docs-drawing-ui/src/controllers/doc-float-dom.controller.ts b/packages/docs-drawing-ui/src/controllers/doc-float-dom.controller.ts index e8e9d52422..038bb2f996 100644 --- a/packages/docs-drawing-ui/src/controllers/doc-float-dom.controller.ts +++ b/packages/docs-drawing-ui/src/controllers/doc-float-dom.controller.ts @@ -18,7 +18,7 @@ import type { DocumentDataModel, IDisposable, IDrawingSearch, Nullable } from '@ import type { IDocFloatDom } from '@univerjs/docs-drawing'; import type { ISetDocZoomRatioOperationParams } from '@univerjs/docs-ui'; import type { IDocFloatDomDataBase } from '@univerjs/drawing'; -import type { IRender, Rect } from '@univerjs/engine-render'; +import type { IBoundRectNoAngle, IRender, Rect, Scene } from '@univerjs/engine-render'; import type { IFloatDomLayout } from '@univerjs/ui'; import type { IInsertDrawingCommandParams } from '../commands/commands/interfaces'; import { Disposable, DisposableCollection, DrawingTypeEnum, fromEventSubject, generateRandomId, ICommandService, Inject, IUniverInstanceService, ObjectRelativeFromH, ObjectRelativeFromV, PositionedObjectLayoutType, toDisposable, UniverInstanceType } from '@univerjs/core'; @@ -31,13 +31,16 @@ import { CanvasFloatDomService } from '@univerjs/ui'; import { BehaviorSubject, map, of, switchMap } from 'rxjs'; import { InsertDocDrawingCommand } from '../commands/commands/insert-doc-drawing.command'; -function calcDocFloatDomPosition( - object: Rect, - renderUnit: IRender +export function calcDocFloatDomPositionByRect( + rect: IBoundRectNoAngle, + scene: Scene, + opacity = 1, + angle = 0 ): IFloatDomLayout { - const { top, left, width, height, angle, opacity } = object; - // const - const scene = renderUnit.scene; + const { top, left, bottom, right } = rect; + const width = right - left; + const height = bottom - top; + const viewMain = scene.getViewport(VIEWPORT_KEY.VIEW_MAIN)!; const { viewportScrollX, viewportScrollY } = viewMain; const { scaleX, scaleY } = scene.getAncestorScale(); @@ -58,6 +61,14 @@ function calcDocFloatDomPosition( }; } +function calcDocFloatDomPosition( + object: Rect, + renderUnit: IRender +): IFloatDomLayout { + const { top, left, width, height, angle, opacity } = object; + return calcDocFloatDomPositionByRect({ top, left, bottom: top + height, right: left + width }, renderUnit.scene, opacity, angle); +} + interface ICanvasFloatDomInfo { position$: BehaviorSubject; dispose: IDisposable; diff --git a/packages/docs-drawing-ui/src/plugin.ts b/packages/docs-drawing-ui/src/plugin.ts index b754952f4b..cfad3f2593 100644 --- a/packages/docs-drawing-ui/src/plugin.ts +++ b/packages/docs-drawing-ui/src/plugin.ts @@ -23,9 +23,10 @@ import { UniverDrawingUIPlugin } from '@univerjs/drawing-ui'; import { IRenderManagerService } from '@univerjs/engine-render'; import { UniverUIPlugin } from '@univerjs/ui'; import { defaultPluginConfig, DOCS_DRAWING_UI_PLUGIN_CONFIG_KEY } from './controllers/config.schema'; -import { DocDrawingAddRemoveController } from './controllers/doc-drawing-notification.controller'; -import { DocDrawingTransformerController } from './controllers/doc-drawing-transformer-update.controller'; import { DocDrawingUIController } from './controllers/doc-drawing.controller'; +import { DocDrawingAddRemoveController } from './controllers/doc-drawing-notification.controller'; +import { DocDrawingPrintingController } from './controllers/doc-drawing-printing.controller'; +import { DocDrawingTransformerController } from './controllers/doc-drawing-transformer-update.controller'; import { DocFloatDomController } from './controllers/doc-float-dom.controller'; import { DocDrawingPopupMenuController } from './controllers/drawing-popup-menu.controller'; import { DocDrawingTransformUpdateController } from './controllers/render-controllers/doc-drawing-transform-update.controller'; @@ -64,6 +65,7 @@ export class UniverDocsDrawingUIPlugin extends Plugin { [DocDrawingAddRemoveController], [DocRefreshDrawingsService], [DocFloatDomController], + [DocDrawingPrintingController], ]; dependencies.forEach((dependency) => this._injector.add(dependency)); @@ -78,6 +80,7 @@ export class UniverDocsDrawingUIPlugin extends Plugin { this._injector.get(DocDrawingAddRemoveController); this._injector.get(DocDrawingUIController); this._injector.get(DocDrawingTransformerController); + this._injector.get(DocDrawingPrintingController); } override onRendered(): void { diff --git a/packages/docs-drawing-ui/src/views/printing-float-dom/index.tsx b/packages/docs-drawing-ui/src/views/printing-float-dom/index.tsx new file mode 100644 index 0000000000..bbc8933fce --- /dev/null +++ b/packages/docs-drawing-ui/src/views/printing-float-dom/index.tsx @@ -0,0 +1,70 @@ +/** + * 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 { IDocFloatDom } from '@univerjs/docs-drawing'; +import type { DocumentSkeleton, Scene } from '@univerjs/engine-render'; +import type { IFloatDom, IFloatDomLayout } from '@univerjs/ui'; +import { PrintFloatDomSingle } from '@univerjs/ui'; +import { useMemo } from 'react'; +import { BehaviorSubject } from 'rxjs'; +import { calcDocFloatDomPositionByRect } from '../../controllers/doc-float-dom.controller'; + +export interface IPrintingFloatDomProps { + floatDomInfos: IDocFloatDom[]; + scene: Scene; + skeleton: DocumentSkeleton; + unitId: string; + offset: { x: number; y: number }; +}; + +export const DocPrintingFloatDom = (props: IPrintingFloatDomProps) => { + const { floatDomInfos, scene, offset } = props; + const floatDomParams = useMemo(() => floatDomInfos.map((info) => { + const { width, height, left, top } = info.transform!; + const offsetBound = calcDocFloatDomPositionByRect( + { + left: left ?? 0 - offset.x, + right: (left ?? 0) + (width ?? 0) - offset.x, + top: top ?? 0 - offset.y, + bottom: (top ?? 0) + (height ?? 0) - offset.y, + }, + scene + ); + + const domPos: IFloatDomLayout = offsetBound; + const floatDom: IFloatDom & { position: IFloatDomLayout } = { + position$: new BehaviorSubject(domPos), + position: domPos, + id: info.drawingId, + componentKey: info.componentKey, + onPointerMove: () => { }, + onPointerDown: () => { }, + onPointerUp: () => { }, + onWheel: () => { }, + unitId: info.unitId, + }; + + return [info.drawingId, floatDom] as const; + }), [floatDomInfos, scene, offset]); + + return ( +

+ {floatDomParams.map(([id, floatDom]) => ( + + ))} +
+ ); +}; diff --git a/packages/docs-ui/src/commands/commands/doc-page-setup.command.ts b/packages/docs-ui/src/commands/commands/doc-page-setup.command.ts new file mode 100644 index 0000000000..e4de7f056f --- /dev/null +++ b/packages/docs-ui/src/commands/commands/doc-page-setup.command.ts @@ -0,0 +1,122 @@ +/** + * 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 { DocumentDataModel, ICommand, ICommandInfo, ISize, JSONXActions, PageOrientType } from '@univerjs/core'; +import type { IRichTextEditingMutationParams } from '@univerjs/docs'; +import { CommandType, ICommandService, IUniverInstanceService, JSONX, UniverInstanceType } from '@univerjs/core'; +import { RichTextEditingMutation } from '@univerjs/docs'; + +export interface IDocPageSetupCommandParams { + pageSize: ISize; + pageOrient: PageOrientType; + marginTop: number; + marginBottom: number; + marginLeft: number; + marginRight: number; +} + +export const DocPageSetupCommand: ICommand = { + id: 'docs.command.page-setup', + type: CommandType.COMMAND, + // eslint-disable-next-line complexity, max-lines-per-function + handler: (accessor, params) => { + if (!params) return false; + const univerInstanceService = accessor.get(IUniverInstanceService); + const commandService = accessor.get(ICommandService); + const docDataModel = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_DOC); + if (!docDataModel) return false; + const { marginLeft, marginRight, marginBottom, marginTop, pageOrient, pageSize } = params; + const jsonX = JSONX.getInstance(); + const documentStyle = docDataModel.getDocumentStyle(); + const { + marginBottom: oldMarginBottom, + marginLeft: oldMarginLeft, + marginRight: oldMarginRight, + marginTop: oldMarginTop, + pageOrient: oldPageOrient, + pageSize: oldPageSize, + } = documentStyle; + const rawActions: JSONXActions = []; + + if (oldMarginBottom === undefined) { + const action = jsonX.insertOp(['documentStyle', 'marginBottom'], marginBottom); + action && rawActions.push(action); + } else { + const action = jsonX.replaceOp(['documentStyle', 'marginBottom'], oldMarginBottom, marginBottom); + action && rawActions.push(action); + } + + if (oldMarginLeft === undefined) { + const action = jsonX.insertOp(['documentStyle', 'marginLeft'], marginLeft); + action && rawActions.push(action); + } else { + const action = jsonX.replaceOp(['documentStyle', 'marginLeft'], oldMarginLeft, marginLeft); + action && rawActions.push(action); + } + + if (oldMarginRight === undefined) { + const action = jsonX.insertOp(['documentStyle', 'marginRight'], marginRight); + action && rawActions.push(action); + } else { + const action = jsonX.replaceOp(['documentStyle', 'marginRight'], oldMarginRight, marginRight); + action && rawActions.push(action); + } + + if (oldMarginTop === undefined) { + const action = jsonX.insertOp(['documentStyle', 'marginTop'], marginTop); + action && rawActions.push(action); + } else { + const action = jsonX.replaceOp(['documentStyle', 'marginTop'], oldMarginTop, marginTop); + action && rawActions.push(action); + } + + if (oldPageSize === undefined) { + const action = jsonX.insertOp(['documentStyle', 'pageSize'], pageSize); + action && rawActions.push(action); + } else { + const action = jsonX.replaceOp(['documentStyle', 'pageSize'], oldPageSize, pageSize); + action && rawActions.push(action); + } + + if (oldPageOrient === undefined) { + const action = jsonX.insertOp(['documentStyle', 'pageOrient'], pageOrient); + action && rawActions.push(action); + } else { + const action = jsonX.replaceOp(['documentStyle', 'pageOrient'], oldPageOrient, pageOrient); + action && rawActions.push(action); + } + + const doMutation: ICommandInfo = { + id: RichTextEditingMutation.id, + params: { + unitId: docDataModel.getUnitId(), + actions: [], + textRanges: undefined, + }, + }; + + doMutation.params!.actions = rawActions.reduce((acc, cur) => { + return JSONX.compose(acc, cur as JSONXActions); + }, null as JSONXActions); + + const result = commandService.syncExecuteCommand< + IRichTextEditingMutationParams, + IRichTextEditingMutationParams + >(doMutation.id, doMutation.params); + + return Boolean(result); + }, +}; diff --git a/packages/docs-ui/src/commands/operations/open-page-setting.operation.ts b/packages/docs-ui/src/commands/operations/open-page-setting.operation.ts new file mode 100644 index 0000000000..436e926b6a --- /dev/null +++ b/packages/docs-ui/src/commands/operations/open-page-setting.operation.ts @@ -0,0 +1,60 @@ +/** + * 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 { ICommand, PaperType } from '@univerjs/core'; +import type { IDocPageSetupCommandParams } from '../commands/doc-page-setup.command'; +import { CommandType, ICommandService, LocaleService, PAGE_SIZE } from '@univerjs/core'; +import { IConfirmService } from '@univerjs/ui'; +import { PAGE_SETTING_COMPONENT_ID } from '../../views/page-settings'; +import { DocPageSetupCommand } from '../commands/doc-page-setup.command'; + +export const DocOpenPageSettingCommand: ICommand = { + id: 'docs.operation.open-page-setting', + type: CommandType.OPERATION, + handler: (accessor) => { + const confirmService = accessor.get(IConfirmService); + const commandService = accessor.get(ICommandService); + const localeService = accessor.get(LocaleService); + const disposable = confirmService.open({ + id: PAGE_SETTING_COMPONENT_ID, + title: { + label: localeService.t('page-settings.document-setting'), + }, + children: { + label: PAGE_SETTING_COMPONENT_ID, + }, + width: 528, + onClose: () => { + disposable.dispose(); + }, + onConfirm: (result) => { + disposable.dispose(); + if (!result) return; + const paperSize = PAGE_SIZE[result.paperSize as PaperType]; + commandService.executeCommand(DocPageSetupCommand.id, { + pageOrient: result.orientation, + marginTop: result.margins.top, + marginBottom: result.margins.bottom, + marginLeft: result.margins.left, + marginRight: result.margins.right, + pageSize: paperSize, + } as IDocPageSetupCommandParams); + }, + }); + + return true; + }, +}; diff --git a/packages/docs-ui/src/controllers/doc-ui.controller.ts b/packages/docs-ui/src/controllers/doc-ui.controller.ts index e43102e8d0..14e91ab32a 100644 --- a/packages/docs-ui/src/controllers/doc-ui.controller.ts +++ b/packages/docs-ui/src/controllers/doc-ui.controller.ts @@ -25,7 +25,7 @@ import { } from '@univerjs/core'; import { IRenderManagerService } from '@univerjs/engine-render'; -import { CutSingle, DeleteSingle, TodoList } from '@univerjs/icons'; +import { CutSingle, DeleteSingle, DocSettingSingle, TodoList } from '@univerjs/icons'; import { BuiltInUIPart, ComponentManager, connectInjector, ILayoutService, IMenuManagerService, IShortcutService, IUIPartsService } from '@univerjs/ui'; import { CoreHeaderFooterCommand, OpenHeaderFooterPanelCommand } from '../commands/commands/doc-header-footer.command'; import { SidebarDocHeaderFooterPanelOperation } from '../commands/operations/doc-header-footer-panel.operation'; @@ -56,6 +56,7 @@ import { UnderlineShortCut, } from '../shortcuts/toolbar.shortcut'; import { DocFooter } from '../views/doc-footer'; +import { PAGE_SETTING_COMPONENT_ID, PageSettings } from '../views/page-settings'; import { DocSideMenu } from '../views/side-menu'; import { menuSchema } from './menu.schema'; @@ -88,6 +89,8 @@ export class DocUIController extends Disposable { this.disposeWithMe(componentManager.register('doc.paragraph.menu', ParagraphMenu)); this.disposeWithMe(componentManager.register('CutSingle', CutSingle)); this.disposeWithMe(componentManager.register('DeleteSingle', DeleteSingle)); + this.disposeWithMe(componentManager.register(PAGE_SETTING_COMPONENT_ID, PageSettings)); + this.disposeWithMe(componentManager.register('DocumentSettingSingle', DocSettingSingle)); } private _initUiParts() { diff --git a/packages/docs-ui/src/controllers/menu.schema.ts b/packages/docs-ui/src/controllers/menu.schema.ts index 4856ad9ab2..2c24d06635 100644 --- a/packages/docs-ui/src/controllers/menu.schema.ts +++ b/packages/docs-ui/src/controllers/menu.schema.ts @@ -20,8 +20,8 @@ import { DocCopyCommand, DocCopyCurrentParagraphCommand, DocCutCommand, DocCutCu import { DeleteCurrentParagraphCommand, DeleteLeftCommand } from '../commands/commands/doc-delete.command'; import { OpenHeaderFooterPanelCommand } from '../commands/commands/doc-header-footer.command'; import { HorizontalLineCommand, InsertHorizontalLineBellowCommand } from '../commands/commands/doc-horizontal-line.command'; -import { ResetInlineFormatTextBackgroundColorCommand, SetInlineFormatBoldCommand, SetInlineFormatFontFamilyCommand, SetInlineFormatFontSizeCommand, SetInlineFormatItalicCommand, SetInlineFormatStrikethroughCommand, SetInlineFormatSubscriptCommand, SetInlineFormatSuperscriptCommand, SetInlineFormatTextBackgroundColorCommand, SetInlineFormatTextColorCommand, SetInlineFormatUnderlineCommand } from '../commands/commands/inline-format.command'; +import { ResetInlineFormatTextBackgroundColorCommand, SetInlineFormatBoldCommand, SetInlineFormatFontFamilyCommand, SetInlineFormatFontSizeCommand, SetInlineFormatItalicCommand, SetInlineFormatStrikethroughCommand, SetInlineFormatSubscriptCommand, SetInlineFormatSuperscriptCommand, SetInlineFormatTextBackgroundColorCommand, SetInlineFormatTextColorCommand, SetInlineFormatUnderlineCommand } from '../commands/commands/inline-format.command'; import { BulletListCommand, CheckListCommand, InsertBulletListBellowCommand, InsertCheckListBellowCommand, InsertOrderListBellowCommand, OrderListCommand } from '../commands/commands/list.command'; import { AlignCenterCommand, AlignJustifyCommand, AlignLeftCommand, AlignRightCommand } from '../commands/commands/paragraph-align.command'; import { H1HeadingCommand, H2HeadingCommand, H3HeadingCommand, H4HeadingCommand, H5HeadingCommand, NormalTextHeadingCommand, SetParagraphNamedStyleCommand } from '../commands/commands/set-heading.command'; @@ -30,6 +30,7 @@ import { DocTableDeleteColumnsCommand, DocTableDeleteRowsCommand, DocTableDelete import { DocTableInsertColumnLeftCommand, DocTableInsertColumnRightCommand, DocTableInsertRowAboveCommand, DocTableInsertRowBellowCommand } from '../commands/commands/table/doc-table-insert.command'; import { DocCreateTableOperation } from '../commands/operations/doc-create-table.operation'; import { DocParagraphSettingPanelOperation } from '../commands/operations/doc-paragraph-setting-panel.operation'; +import { DocOpenPageSettingCommand } from '../commands/operations/open-page-setting.operation'; import { CopyMenuFactory, CutMenuFactory, @@ -66,6 +67,7 @@ import { InsertTableMenuFactory, ItalicMenuItemFactory, OrderListMenuItemFactory, + PageSettingMenuItemFactory, ResetBackgroundColorMenuItemFactory, StrikeThroughMenuItemFactory, SubscriptMenuItemFactory, @@ -177,6 +179,10 @@ export const menuSchema: MenuSchemaType = { order: 11, menuItemFactory: DocSwitchModeMenuItemFactory, }, + [DocOpenPageSettingCommand.id]: { + order: 12, + menuItemFactory: PageSettingMenuItemFactory, + }, }, [ContextMenuPosition.MAIN_AREA]: { [ContextMenuGroup.FORMAT]: { diff --git a/packages/docs-ui/src/controllers/menu/menu.ts b/packages/docs-ui/src/controllers/menu/menu.ts index e76df1a338..f73d99ddb5 100644 --- a/packages/docs-ui/src/controllers/menu/menu.ts +++ b/packages/docs-ui/src/controllers/menu/menu.ts @@ -60,6 +60,7 @@ import { AlignCenterCommand, AlignJustifyCommand, AlignLeftCommand, AlignOperati import { SetParagraphNamedStyleCommand } from '../../commands/commands/set-heading.command'; import { SwitchDocModeCommand } from '../../commands/commands/switch-doc-mode.command'; import { DocCreateTableOperation } from '../../commands/operations/doc-create-table.operation'; +import { DocOpenPageSettingCommand } from '../../commands/operations/open-page-setting.operation'; import { getCommandSkeleton } from '../../commands/util'; import { COLOR_PICKER_COMPONENT } from '../../components/color-picker'; import { FONT_FAMILY_COMPONENT, FONT_FAMILY_ITEM_COMPONENT } from '../../components/font-family'; @@ -1096,3 +1097,13 @@ export function getParagraphStyleAtCursor(accessor: IAccessor) { return null; } + +export function PageSettingMenuItemFactory(accessor: IAccessor): IMenuButtonItem { + return { + id: DocOpenPageSettingCommand.id, + type: MenuItemType.BUTTON, + icon: 'DocumentSettingSingle', + tooltip: 'toolbar.pageSetup', + hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), + }; +} diff --git a/packages/docs-ui/src/docs-ui-plugin.ts b/packages/docs-ui/src/docs-ui-plugin.ts index e59c3b4c19..387e717118 100644 --- a/packages/docs-ui/src/docs-ui-plugin.ts +++ b/packages/docs-ui/src/docs-ui-plugin.ts @@ -42,6 +42,7 @@ import { DeleteCommand, InsertCommand, UpdateCommand } from './commands/commands import { DeleteCurrentParagraphCommand, DeleteCustomBlockCommand, DeleteLeftCommand, DeleteRightCommand, MergeTwoParagraphCommand, RemoveHorizontalLineCommand } from './commands/commands/doc-delete.command'; import { CloseHeaderFooterCommand } from './commands/commands/doc-header-footer.command'; import { HorizontalLineCommand, InsertHorizontalLineBellowCommand } from './commands/commands/doc-horizontal-line.command'; +import { DocPageSetupCommand } from './commands/commands/doc-page-setup.command'; import { DocParagraphSettingCommand } from './commands/commands/doc-paragraph-setting.command'; import { DocSelectAllCommand } from './commands/commands/doc-select-all.command'; import { IMEInputCommand } from './commands/commands/ime-input.command'; @@ -91,6 +92,7 @@ import { import { DocTableTabCommand } from './commands/commands/table/doc-table-tab.command'; import { MoveCursorOperation, MoveSelectionOperation } from './commands/operations/doc-cursor.operation'; import { DocParagraphSettingPanelOperation } from './commands/operations/doc-paragraph-setting-panel.operation'; +import { DocOpenPageSettingCommand } from './commands/operations/open-page-setting.operation'; import { SetDocZoomRatioOperation } from './commands/operations/set-doc-zoom-ratio.operation'; import { AppUIController } from './controllers'; import { defaultPluginConfig, DOCS_UI_PLUGIN_CONFIG_KEY } from './controllers/config.schema'; @@ -119,6 +121,7 @@ import { DocMenuStyleService } from './services/doc-menu-style.service'; import { DocPageLayoutService } from './services/doc-page-layout.service'; import { DocParagraphMenuService } from './services/doc-paragraph-menu.service'; import { DocCanvasPopManagerService } from './services/doc-popup-manager.service'; +import { DocPrintInterceptorService } from './services/doc-print-interceptor-service'; import { DocStateChangeManagerService } from './services/doc-state-change-manager.service'; import { DocsRenderService } from './services/docs-render.service'; import { EditorService, IEditorService } from './services/editor/editor-manager.service'; @@ -283,6 +286,8 @@ export class UniverDocsUIPlugin extends Plugin { InsertOrderListBellowCommand, InsertCheckListBellowCommand, InsertHorizontalLineBellowCommand, + DocPageSetupCommand, + DocOpenPageSettingCommand, ].forEach((e) => { this.disposeWithMe(this._commandService.registerCommand(e)); }); @@ -312,6 +317,7 @@ export class UniverDocsUIPlugin extends Plugin { private _initDependencies(injector: Injector) { const dependencies = mergeOverrideWithDependencies([ + [DocPrintInterceptorService], [DocClipboardController], [DocEditorBridgeController], [DocUIController], diff --git a/packages/docs-ui/src/index.ts b/packages/docs-ui/src/index.ts index c9318414bf..3749a76664 100644 --- a/packages/docs-ui/src/index.ts +++ b/packages/docs-ui/src/index.ts @@ -45,7 +45,7 @@ export { DocsRenderService } from './services/docs-render.service'; export { Editor } from './services/editor/editor'; export { EditorService, IEditorService } from './services/editor/editor-manager.service'; export { isInSameTableCell, isValidRectRange, NodePositionConvertToRectRange } from './services/selection/convert-rect-range'; - +export { DocPrintInterceptorService, type IDocPrintComponentContext, type IDocPrintContext } from './services/doc-print-interceptor-service'; export { NodePositionConvertToCursor } from './services/selection/convert-text-range'; export { getOneTextSelectionRange } from './services/selection/convert-text-range'; export type { IEditorInputConfig } from './services/selection/doc-selection-render.service'; diff --git a/packages/docs-ui/src/locale/en-US.ts b/packages/docs-ui/src/locale/en-US.ts index ec1e9200bf..828ce11772 100644 --- a/packages/docs-ui/src/locale/en-US.ts +++ b/packages/docs-ui/src/locale/en-US.ts @@ -53,6 +53,7 @@ const locale: typeof zhCN = { alignJustify: 'Justify', horizontalLine: 'Horizontal line', headerFooter: 'Header & Footer', + pageSetup: 'Page Setup', }, table: { insert: 'Insert', @@ -104,6 +105,34 @@ const locale: typeof zhCN = { checkList: 'Task list', insertBellow: 'Insert below', }, + 'page-settings': { + 'document-setting': 'Document Setting', + 'paper-size': 'Paper size', + 'page-size': { + main: 'Paper size', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: 'Letter', + legal: 'Legal', + tabloid: 'Tabloid', + statement: 'Statement', + executive: 'Executive', + folio: 'Folio', + }, + orientation: 'Orientation', + portrait: 'Portrait', + landscape: 'Landscape', + 'custom-paper-size': 'Custom Paper size', + top: 'Top', + bottom: 'Bottom', + left: 'Left', + right: 'Right', + cancel: 'Cancel', + confirm: 'Confirm', + }, }; export default locale; diff --git a/packages/docs-ui/src/locale/fa-IR.ts b/packages/docs-ui/src/locale/fa-IR.ts index 6192dea312..3ccc76b2f0 100644 --- a/packages/docs-ui/src/locale/fa-IR.ts +++ b/packages/docs-ui/src/locale/fa-IR.ts @@ -53,6 +53,7 @@ const locale: typeof zhCN = { alignJustify: 'توجیه', horizontalLine: 'Horizontal line', headerFooter: 'هدر و فوتر', + pageSetup: 'تنظیمات صفحه', }, table: { insert: 'درج', @@ -104,6 +105,34 @@ const locale: typeof zhCN = { checkList: 'لیست وظیفه', insertBellow: 'درج در پایین', }, + 'page-settings': { + 'document-setting': 'تنظیمات سند', + 'page-size': { + main: 'اندازه کاغذ', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: 'نامه آمریکایی', + legal: 'نامه حقوقی', + tabloid: 'روزنامه', + statement: 'کاغذ اظهارنامه', + executive: 'کاغذ اجرایی', + folio: 'کاغذ فولیو', + }, + 'paper-size': 'اندازه کاغذ', + orientation: 'جهت', + portrait: 'عمودی', + landscape: 'افقی', + 'custom-paper-size': 'اندازه کاغذ سفارشی', + top: 'بالا', + bottom: 'پایین', + left: 'چپ', + right: 'راست', + cancel: 'لغو', + confirm: 'تایید', + }, }; export default locale; diff --git a/packages/docs-ui/src/locale/fr-FR.ts b/packages/docs-ui/src/locale/fr-FR.ts index 2dcd84bb40..435c452eaa 100644 --- a/packages/docs-ui/src/locale/fr-FR.ts +++ b/packages/docs-ui/src/locale/fr-FR.ts @@ -53,6 +53,7 @@ const locale: typeof enUS = { alignJustify: 'Justifier', horizontalLine: 'Horizontal line', headerFooter: 'En-tête et pied de page', + pageSetup: 'Paramètres de page', }, table: { insert: 'Insérer', @@ -104,6 +105,34 @@ const locale: typeof enUS = { checkList: 'Liste de tâches', insertBellow: 'Insérer dans le bas', }, + 'page-settings': { + 'document-setting': 'Paramètres du document', + 'paper-size': 'Format du papier', + 'page-size': { + main: 'Format du papier', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: 'Format Lettre US', + legal: 'Format Légal US', + tabloid: 'Format Tabloïd', + statement: 'Format Déclaration', + executive: 'Format Exécutif', + folio: 'Format Folio', + }, + orientation: 'Orientation', + portrait: 'Portrait', + landscape: 'Paysage', + 'custom-paper-size': 'Format de papier personnalisé', + top: 'Haut', + bottom: 'Bas', + left: 'Gauche', + right: 'Droite', + cancel: 'Annuler', + confirm: 'Confirmer', + }, }; export default locale; diff --git a/packages/docs-ui/src/locale/ru-RU.ts b/packages/docs-ui/src/locale/ru-RU.ts index 1e14e87f02..1d2d9f56ed 100644 --- a/packages/docs-ui/src/locale/ru-RU.ts +++ b/packages/docs-ui/src/locale/ru-RU.ts @@ -49,10 +49,11 @@ const locale: typeof zhCN = { alignCenter: 'Выровнять по центру', alignRight: 'Выровнять по правому краю', alignJustify: 'Выровнять по ширине', - horizontalLine: 'Horizontal line', - headerFooter: 'Header & Footer', - checklist: 'Task list', - documentFlavor: 'Modern Mode', + horizontalLine: 'Горизонтальная линия', + headerFooter: 'Шапка и подвал', + checklist: 'Список задач', + documentFlavor: 'Современный режим', + pageSetup: 'Настройки страницы', }, table: { insert: 'Insert', @@ -104,6 +105,34 @@ const locale: typeof zhCN = { checkList: 'Список задач', insertBellow: 'Вставить ниже', }, + 'page-settings': { + 'document-setting': 'Настройки документа', + 'page-size': { + main: 'Размер бумаги', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: 'Американский формат', + legal: 'Юридический формат', + tabloid: 'Таблоидный формат', + statement: 'Формат заявления', + executive: 'Исполнительный формат', + folio: 'Формат фолио', + }, + 'paper-size': 'Размер бумаги', + orientation: 'Ориентация', + portrait: 'Книжная', + landscape: 'Альбомная', + 'custom-paper-size': 'Пользовательский размер бумаги', + top: 'Верх', + bottom: 'Низ', + left: 'Слева', + right: 'Справа', + cancel: 'Отмена', + confirm: 'Подтвердить', + }, }; export default locale; diff --git a/packages/docs-ui/src/locale/vi-VN.ts b/packages/docs-ui/src/locale/vi-VN.ts index 7404e03601..14d1d7fdce 100644 --- a/packages/docs-ui/src/locale/vi-VN.ts +++ b/packages/docs-ui/src/locale/vi-VN.ts @@ -53,6 +53,7 @@ const locale: typeof zhCN = { headerFooter: 'Đầu trang và chân trang', checklist: 'Task list', documentFlavor: 'Modern Mode', + pageSetup: 'Cài đặt trang', }, table: { insert: 'Insert', @@ -104,6 +105,34 @@ const locale: typeof zhCN = { checkList: 'Danh sách công việc', insertBellow: 'Chèn dưới', }, + 'page-settings': { + 'document-setting': 'Cài đặt tài liệu', + 'paper-size': 'Kích thước giấy', + 'page-size': { + main: 'Kích thước giấy', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: 'Giấy thư Mỹ', + legal: 'Giấy pháp lý Mỹ', + tabloid: 'Khổ báo', + statement: 'Giấy tuyên bố', + executive: 'Giấy hành chính', + folio: 'Giấy folio', + }, + orientation: 'Hướng', + portrait: 'Dọc', + landscape: 'Ngang', + 'custom-paper-size': 'Kích thước giấy tùy chỉnh', + top: 'Trên', + bottom: 'Dưới', + left: 'Trái', + right: 'Phải', + cancel: 'Hủy', + confirm: 'Xác nhận', + }, }; export default locale; diff --git a/packages/docs-ui/src/locale/zh-CN.ts b/packages/docs-ui/src/locale/zh-CN.ts index 359afdbc81..65f1883bd2 100644 --- a/packages/docs-ui/src/locale/zh-CN.ts +++ b/packages/docs-ui/src/locale/zh-CN.ts @@ -51,6 +51,7 @@ const locale = { alignJustify: '两端对齐', horizontalLine: '水平分割线', headerFooter: '页眉页脚', + pageSetup: '页面设置', }, table: { insert: '插入', @@ -102,6 +103,34 @@ const locale = { checkList: '任务列表', insertBellow: '在下方插入', }, + 'page-settings': { + 'document-setting': '文档设置', + 'page-size': { + main: '纸张大小', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: '美式信纸', + legal: '美式法律用纸', + tabloid: '小报尺寸', + statement: '声明用纸', + executive: '行政用纸', + folio: '对开纸', + }, + 'paper-size': '纸张大小', + orientation: '方向', + portrait: '纵向', + landscape: '横向', + 'custom-paper-size': '自定义纸张大小', + top: '上', + bottom: '下', + left: '左', + right: '右', + cancel: '取消', + confirm: '确认', + }, }; export default locale; diff --git a/packages/docs-ui/src/locale/zh-TW.ts b/packages/docs-ui/src/locale/zh-TW.ts index 7a5773f726..c698c2d244 100644 --- a/packages/docs-ui/src/locale/zh-TW.ts +++ b/packages/docs-ui/src/locale/zh-TW.ts @@ -53,6 +53,7 @@ const locale: typeof zhCN = { headerFooter: '頁眉頁腳', checklist: '任務列表', documentFlavor: '现代模式', + pageSetup: '頁面設置', }, table: { insert: 'Insert', @@ -104,6 +105,34 @@ const locale: typeof zhCN = { checkList: '任務列表', insertBellow: '在下方插入', }, + 'page-settings': { + 'document-setting': '文檔設置', + 'page-size': { + main: '紙張大小', + a4: 'A4', + a3: 'A3', + a5: 'A5', + b4: 'B4', + b5: 'B5', + letter: '美式信紙', + legal: '美式法律用紙', + tabloid: '小報尺寸', + statement: '聲明用紙', + executive: '行政用紙', + folio: '對開紙', + }, + 'paper-size': '紙張大小', + orientation: '方向', + portrait: '縱向', + landscape: '橫向', + 'custom-paper-size': '自定義紙張大小', + top: '上', + bottom: '下', + left: '左', + right: '右', + cancel: '取消', + confirm: '確認', + }, }; export default locale; diff --git a/packages/docs-ui/src/services/doc-print-interceptor-service.ts b/packages/docs-ui/src/services/doc-print-interceptor-service.ts new file mode 100644 index 0000000000..12809d6c7a --- /dev/null +++ b/packages/docs-ui/src/services/doc-print-interceptor-service.ts @@ -0,0 +1,58 @@ +/** + * 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 { DisposableCollection } from '@univerjs/core'; +import type { Documents, DocumentSkeleton, Engine, Scene } from '@univerjs/engine-render'; +import { createInterceptorKey, Disposable, InterceptorManager } from '@univerjs/core'; + +export interface IDocPrintContext { + unitId: string; + scene: Scene; + engine: Engine; + root: HTMLElement; + skeleton: DocumentSkeleton; +} + +export interface IDocPrintDomtContext extends IDocPrintContext { + offset: { x: number; y: number }; +} +export interface IDocPrintComponentContext extends IDocPrintContext { + documents: Documents; +} + +const PRINTING_COMPONENT_COLLECT = createInterceptorKey('PRINTING_COMPONENT_COLLECT'); +const PRINTING_DOM_COLLECT = createInterceptorKey('PRINTING_DOM_COLLECT'); + +export class DocPrintInterceptorService extends Disposable { + readonly interceptor = new InterceptorManager({ + PRINTING_COMPONENT_COLLECT, + PRINTING_DOM_COLLECT, + }); + + constructor() { + super(); + + this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT, { + priority: -1, + handler: (_value) => _value, + })); + + this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT, { + priority: -1, + handler: (_value) => _value, + })); + } +} diff --git a/packages/docs-ui/src/views/page-settings/index.tsx b/packages/docs-ui/src/views/page-settings/index.tsx new file mode 100644 index 0000000000..69d3de91e5 --- /dev/null +++ b/packages/docs-ui/src/views/page-settings/index.tsx @@ -0,0 +1,187 @@ +/** + * 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 { DocumentDataModel, ISize, PaperType } from '@univerjs/core'; +import type { IConfirmChildrenProps } from '@univerjs/ui'; +import { IUniverInstanceService, LocaleService, PAGE_SIZE, PageOrientType, PAPER_TYPES, UniverInstanceType } from '@univerjs/core'; +import { InputNumber, Select } from '@univerjs/design'; +import { useDependency } from '@univerjs/ui'; +import React, { useEffect, useState } from 'react'; + +export interface IPageSettingsProps { + onClose: () => void; + onConfirm: (settings: IPageSettings) => void; +} + +export interface IPageSettings { + paperSize: string; + orientation: PageOrientType; + margins: { + top: number; + bottom: number; + left: number; + right: number; + }; +} + +const getPaperSize = (size: ISize) => { + const keys = Object.keys(PAGE_SIZE); + + const result = keys.find((key) => { + const { width, height } = PAGE_SIZE[key as PaperType]; + if (size.width === width && size.height === height) { + return true; + } + + return false; + }); + + return result ?? 'A4'; +}; + +export function PageSettings(props: IConfirmChildrenProps) { + const { hooks } = props; + const univerInstanceService = useDependency(IUniverInstanceService); + const currentDoc = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_DOC)!; + const documentStyle = currentDoc.getDocumentStyle(); + const localeService = useDependency(LocaleService); + const [settings, setSettings] = useState(() => ({ + paperSize: getPaperSize(documentStyle.pageSize!), + orientation: documentStyle.pageOrient ?? PageOrientType.PORTRAIT, + margins: { + top: documentStyle.marginTop ?? 0, + bottom: documentStyle.marginBottom ?? 0, + left: documentStyle.marginLeft ?? 0, + right: documentStyle.marginRight ?? 0, + }, + })); + + useEffect(() => { + hooks.beforeClose = () => { + return settings; + }; + + hooks.beforeConfirm = () => { + return settings; + }; + }, [settings]); + + const handlePaperSizeChange = (value: string) => { + setSettings((prev) => ({ ...prev, paperSize: value })); + }; + + const handleOrientationChange = (value: PageOrientType) => { + setSettings((prev) => ({ ...prev, orientation: value })); + }; + + const handleMarginChange = (position: keyof IPageSettings['margins'], value: number | null) => { + setSettings((prev) => ({ + ...prev, + margins: { + ...prev.margins, + [position]: value || 0, + }, + })); + }; + + return ( +
+
+ +