From 0833306993de9eda7194f71a83c043efc8bebeae Mon Sep 17 00:00:00 2001 From: karl <2557075675@qq.com> Date: Mon, 8 Apr 2024 19:00:52 +0800 Subject: [PATCH 1/4] fix(sheet-ui): make the default font family and font size correct --- packages/core/src/types/const/const.ts | 4 ++-- packages/sheets-ui/src/controllers/menu/menu.ts | 3 +-- packages/ui/src/components/font-family/interface.ts | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/core/src/types/const/const.ts b/packages/core/src/types/const/const.ts index 3d20c10b6f..465c7608ac 100644 --- a/packages/core/src/types/const/const.ts +++ b/packages/core/src/types/const/const.ts @@ -69,11 +69,11 @@ export const DEFAULT_STYLES = { /** * fontFamily */ - ff: 'Times New Roman', + ff: 'Arial', /** * fontSize */ - fs: 14, + fs: 11, /** * italic * 0: false diff --git a/packages/sheets-ui/src/controllers/menu/menu.ts b/packages/sheets-ui/src/controllers/menu/menu.ts index 49d9041b17..62c37fc36e 100644 --- a/packages/sheets-ui/src/controllers/menu/menu.ts +++ b/packages/sheets-ui/src/controllers/menu/menu.ts @@ -361,7 +361,6 @@ export function FontFamilySelectorMenuItemFactory(accessor: IAccessor): IMenuSel const commandService = accessor.get(ICommandService); const univerInstanceService = accessor.get(IUniverInstanceService); const selectionManagerService = accessor.get(SelectionManagerService); - return { id: SetRangeFontFamilyCommand.id, tooltip: 'toolbar.font', @@ -429,7 +428,7 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec selections: FONT_SIZE_LIST, disabled$, value$: new Observable((subscriber) => { - const DEFAULT_SIZE = 14; + const DEFAULT_SIZE = 11; const disposable = commandService.onCommandExecuted((c) => { const id = c.id; if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id) { diff --git a/packages/ui/src/components/font-family/interface.ts b/packages/ui/src/components/font-family/interface.ts index 1451fa2dd2..09ed4fdf09 100644 --- a/packages/ui/src/components/font-family/interface.ts +++ b/packages/ui/src/components/font-family/interface.ts @@ -26,10 +26,10 @@ export interface IFontFamilyItemProps extends ICustomComponentProps { export const FONT_FAMILY_LIST = [ { - value: 'Times New Roman', + value: 'Arial', }, { - value: 'Arial', + value: 'Times New Roman', }, { value: 'Tahoma', From 7a197e0047a97f7cf23fc3a5d7bebaba7452baf6 Mon Sep 17 00:00:00 2001 From: karl <2557075675@qq.com> Date: Tue, 9 Apr 2024 10:55:47 +0800 Subject: [PATCH 2/4] fix(sheet): fix the set-style test of sheet --- .../commands/__tests__/set-style.command.spec.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/sheets/src/commands/commands/__tests__/set-style.command.spec.ts b/packages/sheets/src/commands/commands/__tests__/set-style.command.spec.ts index d41ec14350..bb1cebe0ef 100644 --- a/packages/sheets/src/commands/commands/__tests__/set-style.command.spec.ts +++ b/packages/sheets/src/commands/commands/__tests__/set-style.command.spec.ts @@ -335,7 +335,7 @@ describe("Test commands used for updating cells' styles", () => { // undo expect(await commandService.executeCommand(UndoCommand.id)).toBeTruthy(); - expect(getFontSize()).toBe(14); + expect(getFontSize()).toBe(11); // redo expect(await commandService.executeCommand(RedoCommand.id)).toBeTruthy(); @@ -376,16 +376,16 @@ describe("Test commands used for updating cells' styles", () => { .getFontFamily(); } - expect(await commandService.executeCommand(SetFontFamilyCommand.id, { value: 'Arial' })).toBeTruthy(); - expect(getFontFamily()).toBe('Arial'); + expect(await commandService.executeCommand(SetFontFamilyCommand.id, { value: 'Times New Roman' })).toBeTruthy(); + expect(getFontFamily()).toBe('Times New Roman'); // undo expect(await commandService.executeCommand(UndoCommand.id)).toBeTruthy(); - expect(getFontFamily()).toBe('Times New Roman'); + expect(getFontFamily()).toBe('Arial'); // redo expect(await commandService.executeCommand(RedoCommand.id)).toBeTruthy(); - expect(getFontFamily()).toBe('Arial'); + expect(getFontFamily()).toBe('Times New Roman'); }); }); From fd94ef0aaff2d2267acd147a0d3206588dd19f2d Mon Sep 17 00:00:00 2001 From: karl <2557075675@qq.com> Date: Thu, 11 Apr 2024 18:27:24 +0800 Subject: [PATCH 3/4] fix(sheet-ui): fix the default style of the initial selected cell --- .../sheets/demo/default-workbook-data-demo.ts | 2 +- .../sheets-ui/src/controllers/menu/menu.ts | 128 ++++++++++++++---- 2 files changed, 106 insertions(+), 24 deletions(-) diff --git a/examples/src/data/sheets/demo/default-workbook-data-demo.ts b/examples/src/data/sheets/demo/default-workbook-data-demo.ts index ae17bbdc70..f953fb991e 100644 --- a/examples/src/data/sheets/demo/default-workbook-data-demo.ts +++ b/examples/src/data/sheets/demo/default-workbook-data-demo.ts @@ -13948,7 +13948,7 @@ export const DEFAULT_WORKBOOK_DATA_DEMO: IWorkbookData = { id: 'sheet-0011', tabColor: '', hidden: 0, - rowCount: 1000, + rowCount: 5, columnCount: 20, zoomRatio: 1, cellData: { diff --git a/packages/sheets-ui/src/controllers/menu/menu.ts b/packages/sheets-ui/src/controllers/menu/menu.ts index 62c37fc36e..d0f4bcfcea 100644 --- a/packages/sheets-ui/src/controllers/menu/menu.ts +++ b/packages/sheets-ui/src/controllers/menu/menu.ts @@ -52,8 +52,10 @@ import { SetTextRotationCommand, SetTextWrapCommand, SetVerticalTextAlignCommand, + SetWorksheetActiveOperation, SetWorksheetRowIsAutoHeightCommand, } from '@univerjs/sheets'; + import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui'; import { CopyCommand, @@ -157,7 +159,7 @@ export function BoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem { activated$: new Observable((subscriber) => { const disposable = commandService.onCommandExecuted((c) => { const id = c.id; - if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id) { + if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id || id === SetWorksheetActiveOperation.id) { const primary = selectionManagerService.getLast()?.primary; const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); let isBold = FontWeight.NORMAL; @@ -187,8 +189,16 @@ export function BoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem { } }); - subscriber.next(false); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let isBold = FontWeight.NORMAL; + + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + isBold = range?.getFontWeight(); + } + subscriber.next(isBold === FontWeight.BOLD); return disposable.dispose; }), hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.SHEET), @@ -213,7 +223,7 @@ export function ItalicMenuItemFactory(accessor: IAccessor): IMenuButtonItem { activated$: new Observable((subscriber) => { const disposable = commandService.onCommandExecuted((c) => { const id = c.id; - if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id) { + if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id || id === SetWorksheetActiveOperation.id) { const primary = selectionManagerService.getLast()?.primary; const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); let isItalic = FontItalic.NORMAL; @@ -242,7 +252,15 @@ export function ItalicMenuItemFactory(accessor: IAccessor): IMenuButtonItem { } }); - subscriber.next(false); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let isItalic = FontItalic.NORMAL; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + isItalic = range?.getFontStyle(); + } + + subscriber.next(isItalic === FontItalic.ITALIC); return disposable.dispose; }), hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.SHEET), @@ -267,7 +285,7 @@ export function UnderlineMenuItemFactory(accessor: IAccessor): IMenuButtonItem { activated$: new Observable((subscriber) => { const disposable = commandService.onCommandExecuted((c) => { const id = c.id; - if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id) { + if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id || id === SetWorksheetActiveOperation.id) { const primary = selectionManagerService.getLast()?.primary; const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); let isUnderline; @@ -296,7 +314,15 @@ export function UnderlineMenuItemFactory(accessor: IAccessor): IMenuButtonItem { } }); - subscriber.next(false); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let isUnderline; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + isUnderline = range?.getUnderline(); + } + + subscriber.next(!!(isUnderline && isUnderline.s)); return disposable.dispose; }), hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.SHEET), @@ -321,7 +347,7 @@ export function StrikeThroughMenuItemFactory(accessor: IAccessor): IMenuButtonIt activated$: new Observable((subscriber) => { const disposable = commandService.onCommandExecuted((c) => { const id = c.id; - if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id) { + if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id || id === SetWorksheetActiveOperation.id) { const primary = selectionManagerService.getLast()?.primary; const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); let st; @@ -350,7 +376,15 @@ export function StrikeThroughMenuItemFactory(accessor: IAccessor): IMenuButtonIt } }); - subscriber.next(false); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let st; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + st = range?.getStrikeThrough(); + } + + subscriber.next(!!(st && st.s)); return disposable.dispose; }), hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.SHEET), @@ -381,7 +415,7 @@ export function FontFamilySelectorMenuItemFactory(accessor: IAccessor): IMenuSel const disposable = commandService.onCommandExecuted((c) => { const id = c.id; - if (id !== SetRangeValuesMutation.id && id !== SetSelectionsOperation.id) { + if (id !== SetRangeValuesMutation.id && id !== SetSelectionsOperation.id && id !== SetWorksheetActiveOperation.id) { return; } @@ -396,7 +430,15 @@ export function FontFamilySelectorMenuItemFactory(accessor: IAccessor): IMenuSel subscriber.next(ff ?? defaultValue); }); - subscriber.next(defaultValue); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let ff; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + ff = range?.getFontFamily(); + } + + subscriber.next(ff ?? defaultValue); return disposable.dispose; }), hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.SHEET), @@ -408,7 +450,6 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec const univerInstanceService = accessor.get(IUniverInstanceService); const selectionManagerService = accessor.get(SelectionManagerService); const contextService = accessor.get(IContextService); - const disabled$ = getCurrentSheetDisabled$(accessor); return { @@ -431,7 +472,7 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec const DEFAULT_SIZE = 11; const disposable = commandService.onCommandExecuted((c) => { const id = c.id; - if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id) { + if (id === SetRangeValuesMutation.id || id === SetSelectionsOperation.id || id === SetWorksheetActiveOperation.id) { const primary = selectionManagerService.getLast()?.primary; const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); let fs; @@ -439,7 +480,6 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec const range = worksheet.getRange(primary.startRow, primary.startColumn); fs = range?.getFontSize(); } - subscriber.next(fs ?? DEFAULT_SIZE); } @@ -455,12 +495,18 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec } const fs = textRun.ts?.fs; - subscriber.next(fs ?? DEFAULT_SIZE); } }); - subscriber.next(DEFAULT_SIZE); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let fs; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + fs = range?.getFontSize(); + } + subscriber.next(fs ?? DEFAULT_SIZE); return disposable.dispose; }), @@ -596,7 +642,7 @@ export function HorizontalAlignMenuItemFactory(accessor: IAccessor): IMenuSelect value$: new Observable((subscriber) => { const disposable = accessor.get(ICommandService).onCommandExecuted((c) => { const id = c.id; - if (id !== SetHorizontalTextAlignCommand.id && id !== SetSelectionsOperation.id) { + if (id !== SetHorizontalTextAlignCommand.id && id !== SetSelectionsOperation.id && id !== SetWorksheetActiveOperation.id) { return; } @@ -611,7 +657,15 @@ export function HorizontalAlignMenuItemFactory(accessor: IAccessor): IMenuSelect subscriber.next(ha ?? HorizontalAlign.LEFT); }); - subscriber.next(HorizontalAlign.LEFT); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let ha; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + ha = range?.getHorizontalAlignment(); + } + + subscriber.next(ha ?? HorizontalAlign.LEFT); return disposable.dispose; }), @@ -653,7 +707,7 @@ export function VerticalAlignMenuItemFactory(accessor: IAccessor): IMenuSelector value$: new Observable((subscriber) => { const disposable = accessor.get(ICommandService).onCommandExecuted((c) => { const id = c.id; - if (id !== SetVerticalTextAlignCommand.id && id !== SetSelectionsOperation.id) { + if (id !== SetVerticalTextAlignCommand.id && id !== SetSelectionsOperation.id && id !== SetWorksheetActiveOperation.id) { return; } @@ -668,7 +722,15 @@ export function VerticalAlignMenuItemFactory(accessor: IAccessor): IMenuSelector subscriber.next(va ?? VerticalAlign.TOP); }); - subscriber.next(VerticalAlign.TOP); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let va; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + va = range?.getVerticalAlignment(); + } + + subscriber.next(va ?? VerticalAlign.TOP); return disposable.dispose; }), @@ -710,7 +772,7 @@ export function WrapTextMenuItemFactory(accessor: IAccessor): IMenuSelectorItem< value$: new Observable((subscriber) => { const disposable = accessor.get(ICommandService).onCommandExecuted((c) => { const id = c.id; - if (id !== SetTextWrapCommand.id && id !== SetSelectionsOperation.id) { + if (id !== SetTextWrapCommand.id && id !== SetSelectionsOperation.id && id !== SetWorksheetActiveOperation.id) { return; } @@ -725,7 +787,15 @@ export function WrapTextMenuItemFactory(accessor: IAccessor): IMenuSelectorItem< subscriber.next(ws ?? WrapStrategy.OVERFLOW); }); - subscriber.next(WrapStrategy.OVERFLOW); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let ws; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + ws = range?.getWrapStrategy(); + } + + subscriber.next(ws ?? WrapStrategy.OVERFLOW); return disposable.dispose; }), @@ -782,7 +852,7 @@ export function TextRotateMenuItemFactory(accessor: IAccessor): IMenuSelectorIte value$: new Observable((subscriber) => { const disposable = accessor.get(ICommandService).onCommandExecuted((c) => { const id = c.id; - if (id !== SetTextRotationCommand.id && id !== SetSelectionsOperation.id) { + if (id !== SetTextRotationCommand.id && id !== SetSelectionsOperation.id && id !== SetWorksheetActiveOperation.id) { return; } @@ -801,7 +871,19 @@ export function TextRotateMenuItemFactory(accessor: IAccessor): IMenuSelectorIte } }); - subscriber.next(0); + const primary = selectionManagerService.getLast()?.primary; + const worksheet = univerInstanceService.getCurrentUniverSheetInstance().getActiveSheet(); + let tr; + if (primary != null) { + const range = worksheet.getRange(primary.startRow, primary.startColumn); + tr = range?.getTextRotation(); + } + + if (tr?.v === BooleanNumber.TRUE) { + subscriber.next('v'); + } else { + subscriber.next((tr && tr.a) ?? 0); + } return disposable.dispose; }), From d7dc12334b9db2261fab92c747eba16cb3bbaf15 Mon Sep 17 00:00:00 2001 From: karl <2557075675@qq.com> Date: Fri, 12 Apr 2024 11:09:44 +0800 Subject: [PATCH 4/4] fix: remove unnecessary change --- examples/src/data/sheets/demo/default-workbook-data-demo.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/src/data/sheets/demo/default-workbook-data-demo.ts b/examples/src/data/sheets/demo/default-workbook-data-demo.ts index f953fb991e..ae17bbdc70 100644 --- a/examples/src/data/sheets/demo/default-workbook-data-demo.ts +++ b/examples/src/data/sheets/demo/default-workbook-data-demo.ts @@ -13948,7 +13948,7 @@ export const DEFAULT_WORKBOOK_DATA_DEMO: IWorkbookData = { id: 'sheet-0011', tabColor: '', hidden: 0, - rowCount: 5, + rowCount: 1000, columnCount: 20, zoomRatio: 1, cellData: {