mirror of
https://github.com/dream-num/univer.git
synced 2026-09-24 15:32:18 +08:00
refactor: remove unused fields from the menu item factory (#3329)
This commit is contained in:
@@ -19,8 +19,7 @@ import { BooleanNumber, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, ICommandService, IUniver
|
||||
import { DocSkeletonManagerService, SetInlineFormatCommand, SetTextSelectionsOperation, TextSelectionManagerService } from '@univerjs/docs';
|
||||
import { DocumentEditArea, IRenderManagerService } from '@univerjs/engine-render';
|
||||
|
||||
import { getHeaderFooterMenuHiddenObservable, getMenuHiddenObservable, type IMenuButtonItem, type IMenuItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { FONT_GROUP_MENU_ID } from '@univerjs/uniui';
|
||||
import { getHeaderFooterMenuHiddenObservable, getMenuHiddenObservable, type IMenuButtonItem, type IMenuItem, MenuItemType } from '@univerjs/ui';
|
||||
import { combineLatest, Observable } from 'rxjs';
|
||||
|
||||
export const DOC_ITALIC_MUTATION_ID = 'doc.command.uni-italic';
|
||||
@@ -38,7 +37,6 @@ export function DocBoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
icon: 'BoldSingle',
|
||||
title: 'Set bold',
|
||||
tooltip: 'toolbar.bold',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -69,12 +67,10 @@ export function DocItalicMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: DOC_ITALIC_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'ItalicSingle',
|
||||
title: 'Set italic',
|
||||
tooltip: 'toolbar.italic',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -105,12 +101,10 @@ export function DocUnderlineMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
|
||||
return {
|
||||
id: DOC_UNDERLINE_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'UnderlineSingle',
|
||||
title: 'Set underline',
|
||||
tooltip: 'toolbar.underline',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -141,12 +135,10 @@ export function DocStrikeThroughMenuItemFactory(accessor: IAccessor): IMenuButto
|
||||
|
||||
return {
|
||||
id: DOC_STRIKE_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'StrikethroughSingle',
|
||||
title: 'Set strike through',
|
||||
tooltip: 'toolbar.strikethrough',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -176,8 +168,6 @@ export function DocTableMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: DOC_TABLE_MUTATION_ID,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
icon: 'GridSingle',
|
||||
tooltip: 'toolbar.table.main',
|
||||
disabled$: getTableDisabledObservable(accessor),
|
||||
|
||||
@@ -17,10 +17,18 @@
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { BooleanNumber, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, EDITOR_ACTIVATED, FOCUSING_SHEET, FontItalic, FontWeight, ICommandService, IContextService, IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
||||
import { SetInlineFormatCommand, SetTextSelectionsOperation, TextSelectionManagerService } from '@univerjs/docs';
|
||||
import { RangeProtectionPermissionEditPoint, SetRangeValuesMutation, SetSelectionsOperation, SetWorksheetActiveOperation, SheetsSelectionsService, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission } from '@univerjs/sheets';
|
||||
import {
|
||||
RangeProtectionPermissionEditPoint,
|
||||
SetRangeValuesMutation,
|
||||
SetSelectionsOperation,
|
||||
SetWorksheetActiveOperation,
|
||||
SheetsSelectionsService,
|
||||
WorkbookEditablePermission,
|
||||
WorksheetEditPermission,
|
||||
WorksheetSetCellStylePermission,
|
||||
} from '@univerjs/sheets';
|
||||
import { deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
import { getMenuHiddenObservable, type IMenuButtonItem, MenuGroup, MenuItemType } from '@univerjs/ui';
|
||||
import { FONT_GROUP_MENU_ID } from '@univerjs/uniui';
|
||||
import { getMenuHiddenObservable, type IMenuButtonItem, MenuItemType } from '@univerjs/ui';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
export const SHEET_BOLD_MUTATION_ID = 'sheet.command.uni-bold';
|
||||
@@ -36,12 +44,10 @@ export function SheetBoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SHEET_BOLD_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'BoldSingle',
|
||||
title: 'Set bold',
|
||||
tooltip: 'toolbar.bold',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -100,12 +106,10 @@ export function SheetItalicMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
|
||||
return {
|
||||
id: SHEET_ITALIC_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'ItalicSingle',
|
||||
title: 'Set italic',
|
||||
tooltip: 'toolbar.italic',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -156,12 +160,10 @@ export function SheetUnderlineMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
|
||||
return {
|
||||
id: SHEET_UNDERLINE_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'UnderlineSingle',
|
||||
title: 'Set underline',
|
||||
tooltip: 'toolbar.underline',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -212,12 +214,10 @@ export function SheetStrikeThroughMenuItemFactory(accessor: IAccessor): IMenuBut
|
||||
|
||||
return {
|
||||
id: SHEET_STRIKE_MUTATION_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'StrikethroughSingle',
|
||||
title: 'Set strike through',
|
||||
tooltip: 'toolbar.strikethrough',
|
||||
positions: [FONT_GROUP_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import { type IAccessor, IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
||||
import { type IMenuButtonItem, type IMenuItem, type IMenuSelectorItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { type IMenuButtonItem, type IMenuItem, type IMenuSelectorItem, MenuItemType } from '@univerjs/ui';
|
||||
import { Observable } from 'rxjs';
|
||||
import { DisposeUnitOperation } from '../commands/operations/uni.operation';
|
||||
|
||||
@@ -49,10 +49,8 @@ export function FakeFontFamilySelectorMenuItemFactory(accessor: IAccessor): IMen
|
||||
return {
|
||||
id: FAKE_FONT_FAMILY_MENU_ID,
|
||||
tooltip: 'toolbar.font',
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
label: 'UI_PLUGIN_DOCS_FONT_FAMILY_COMPONENT',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
@@ -61,7 +59,6 @@ export function FakeFontFamilySelectorMenuItemFactory(accessor: IAccessor): IMen
|
||||
export function FakeFontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<number> {
|
||||
return {
|
||||
id: FAKE_FONT_SIZE_MENU_ID,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
tooltip: 'toolbar.fontSize',
|
||||
label: {
|
||||
@@ -71,7 +68,6 @@ export function FakeFontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuS
|
||||
max: 400,
|
||||
},
|
||||
},
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
@@ -82,10 +78,7 @@ export function FakeTextColorSelectorMenuItemFactory(accessor: IAccessor): IMenu
|
||||
id: FAKE_FONT_COLOR_MENU_ID,
|
||||
icon: 'FontColor',
|
||||
tooltip: 'toolbar.textColor.main',
|
||||
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
@@ -95,9 +88,7 @@ export function FakeBackgroundColorSelectorMenuItemFactory(accessor: IAccessor):
|
||||
return {
|
||||
id: FAKE_BG_COLOR_MENU_ID,
|
||||
tooltip: 'toolbar.fillColor.main',
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
icon: 'PaintBucket',
|
||||
selections: [],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
@@ -108,8 +99,6 @@ export function FakeImageMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: FAKE_IMAGE_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
icon: 'addition-and-subtraction-single',
|
||||
tooltip: 'sheetImage.title',
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
@@ -120,10 +109,8 @@ export function FakeUnorderListMenuItemFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: FAKE_UNORDER_LIST_MENU_ID,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
icon: 'UnorderSingle',
|
||||
tooltip: 'toolbar.unorder',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
}
|
||||
@@ -132,10 +119,8 @@ export function FakeOrderListMenuItemFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: FAKE_ORDER_LIST_MENU_ID,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
icon: 'OrderSingle',
|
||||
tooltip: 'toolbar.order',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
}
|
||||
@@ -147,7 +132,6 @@ export function FontGroupMenuItemFactory(accessor: IAccessor): IMenuSelectorItem
|
||||
type: MenuItemType.SUBITEMS,
|
||||
tooltip: 'Font group',
|
||||
icon: 'BoldSingle',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: new Observable((subscriber) => {
|
||||
const subscription = univerInstanceService.focused$.subscribe((unitId) => {
|
||||
if (unitId == null) {
|
||||
@@ -178,7 +162,6 @@ export function FakeFontGroupMenuItemFactory(accessor: IAccessor): IMenuSelector
|
||||
type: MenuItemType.SUBITEMS,
|
||||
tooltip: 'Font group',
|
||||
icon: 'BoldSingle',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
}
|
||||
@@ -187,10 +170,8 @@ export function FakePivotTableMenuItemFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: FAKE_TABLE_MENU_ID,
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
icon: 'PivotTableSingle',
|
||||
tooltip: 'PivotTable',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: new Observable((subscriber) => { subscriber.next(true); }),
|
||||
};
|
||||
}
|
||||
@@ -201,10 +182,6 @@ export function UnitLineColorMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
type: MenuItemType.BUTTON,
|
||||
title: '',
|
||||
icon: '',
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -212,13 +189,9 @@ export function DownloadMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: DOWNLOAD_MENU_ID,
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
title: '',
|
||||
tooltip: 'Download',
|
||||
icon: 'DownloadSingle',
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -226,14 +199,9 @@ export function ShareMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SHARE_MENU_ID,
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
title: '',
|
||||
tooltip: 'Share',
|
||||
icon: 'ShareSingle',
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -241,13 +209,9 @@ export function LockMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: LOCK_MENU_ID,
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
title: '',
|
||||
tooltip: 'Lock',
|
||||
icon: 'LockSingle',
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -255,14 +219,9 @@ export function PrintMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: PRINT_MENU_ID,
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
title: '',
|
||||
tooltip: 'Print',
|
||||
icon: 'PrintSingle',
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -273,10 +232,6 @@ export function ZenMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
title: '',
|
||||
icon: 'ZenSingle',
|
||||
tooltip: 'Full screen',
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -287,9 +242,5 @@ export function DeleteMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
title: 'Delete',
|
||||
tooltip: 'Delete',
|
||||
icon: 'DeleteSingle',
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
positions: [
|
||||
UNI_MENU_POSITIONS.TOOLBAR_FLOAT,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { LocaleType } from '@univerjs/core';
|
||||
import { defaultTheme, greenTheme } from '@univerjs/design';
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
|
||||
import { ConfirmOperation } from '../commands/operations/confirm.operation';
|
||||
@@ -40,7 +40,6 @@ export function LocaleMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
icon: 'VueI18nIcon',
|
||||
tooltip: 'i18n',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'English',
|
||||
@@ -72,7 +71,6 @@ export function ThemeMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
title: 'Theme',
|
||||
tooltip: 'Theme',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'green',
|
||||
@@ -92,7 +90,6 @@ export function NotificationMenuItemFactory(accessor: IAccessor): IMenuSelectorI
|
||||
title: 'Notification',
|
||||
tooltip: 'Notification',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'Notification Success',
|
||||
@@ -120,7 +117,6 @@ export function DialogMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
title: 'Dialog',
|
||||
tooltip: 'Dialog',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'Open Dialog',
|
||||
@@ -140,7 +136,6 @@ export function ConfirmMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
title: 'Confirm',
|
||||
tooltip: 'Confirm',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'Open confirm',
|
||||
@@ -156,7 +151,6 @@ export function MessageMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
title: 'Message',
|
||||
tooltip: 'Message',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'Open message',
|
||||
@@ -172,7 +166,6 @@ export function SidebarMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
title: 'Sidebar',
|
||||
tooltip: 'Sidebar',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'Open sidebar',
|
||||
@@ -192,7 +185,6 @@ export function SetEditableMenuItemFactory(accessor: IAccessor): IMenuSelectorIt
|
||||
title: 'Editable',
|
||||
tooltip: 'Editable',
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'changeUniverEditable',
|
||||
@@ -211,7 +203,6 @@ export function SaveSnapshotSetEditableMenuItemFactory(accessor: IAccessor): IMe
|
||||
id: SaveSnapshotOptions.id,
|
||||
type: MenuItemType.SELECTOR,
|
||||
title: 'Snapshot',
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'saveWorkbook',
|
||||
@@ -237,7 +228,6 @@ export function UnitMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
title: 'Dispose',
|
||||
tooltip: 'Lifecycle Related Commands',
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -248,7 +238,6 @@ export function DisposeUniverItemFactory(_accessor: IAccessor): IMenuButtonItem
|
||||
tooltip: 'Dispose the Univer instance',
|
||||
icon: 'DS',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [UNIT_ITEM_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -259,7 +248,6 @@ export function DisposeCurrentUnitMenuItemFactory(accessor: IAccessor): IMenuBut
|
||||
tooltip: 'Dispose Current Unit',
|
||||
icon: 'DS',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [UNIT_ITEM_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -270,7 +258,6 @@ export function CreateEmptySheetMenuItemFactory(accessor: IAccessor): IMenuButto
|
||||
tooltip: 'Create Another Sheet',
|
||||
icon: 'CR',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [UNIT_ITEM_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -282,7 +269,6 @@ export function FloatDomMenuItemFactory(): IMenuSelectorItem {
|
||||
title: 'FloatDom',
|
||||
tooltip: 'Float Dom Commands',
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -293,7 +279,6 @@ export function CreateFloatDOMMenuItemFactory(): IMenuButtonItem {
|
||||
tooltip: 'Create Float Dom',
|
||||
icon: 'DS',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [FLOAT_DOM_ITEM_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -302,7 +287,6 @@ export function ShowCellContentMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
id: ShowCellContentOperation.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'Cell',
|
||||
positions: [FLOAT_DOM_ITEM_MENU_ID],
|
||||
icon: 'DS',
|
||||
};
|
||||
}
|
||||
@@ -312,7 +296,6 @@ export function ChangeUserMenuItemFactory(): IMenuSelectorItem {
|
||||
id: ChangeUserCommand.id,
|
||||
type: MenuItemType.SELECTOR,
|
||||
title: 'Change User',
|
||||
positions: [MenuPosition.TOOLBAR_OTHERS],
|
||||
selections: [
|
||||
{
|
||||
label: 'Owner',
|
||||
@@ -330,4 +313,3 @@ export function ChangeUserMenuItemFactory(): IMenuSelectorItem {
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuItemType } from '@univerjs/ui';
|
||||
import { IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
|
||||
@@ -65,8 +65,6 @@ export function ImageMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: IMAGE_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
icon: ImageUploadIcon,
|
||||
tooltip: 'docImage.title',
|
||||
disabled$: getDisableWhenSelectionInTableObservable(accessor),
|
||||
@@ -82,7 +80,6 @@ export function UploadFloatImageMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
label: {
|
||||
name: COMPONENT_DOC_UPLOAD_FILE_MENU,
|
||||
},
|
||||
positions: [IMAGE_MENU_ID],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import type { IMenuButtonItem, IShortcutItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, KeyCode, MenuGroup, MenuItemType, MenuPosition, MetaKeys } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, KeyCode, MenuItemType, MetaKeys } from '@univerjs/ui';
|
||||
import { debounceTime, Observable } from 'rxjs';
|
||||
import { TextSelectionManagerService } from '@univerjs/docs';
|
||||
import { whenDocAndEditorFocused } from '@univerjs/docs-ui';
|
||||
@@ -28,12 +28,10 @@ export const DOC_LINK_ICON = 'doc-hyper-link-icon';
|
||||
export function AddHyperLinkMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: ShowDocHyperLinkEditPopupOperation.id,
|
||||
group: MenuGroup.CONTEXT_MENU_DATA,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: DOC_LINK_ICON,
|
||||
title: 'docLink.menu.tooltip',
|
||||
tooltip: 'docLink.menu.tooltip',
|
||||
positions: [MenuPosition.TOOLBAR_START, MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
disabled$: new Observable(function (subscribe) {
|
||||
const textSelectionService = accessor.get(TextSelectionManagerService);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import type { IMenuButtonItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import { DocSkeletonManagerService, TextSelectionManagerService } from '@univerjs/docs';
|
||||
import { DocumentEditArea, IRenderManagerService } from '@univerjs/engine-render';
|
||||
import { debounceTime, Observable } from 'rxjs';
|
||||
@@ -45,12 +45,10 @@ export const shouldDisableAddComment = (accessor: IAccessor) => {
|
||||
export function AddDocCommentMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: StartAddCommentOperation.id,
|
||||
group: MenuGroup.CONTEXT_MENU_DATA,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'CommentSingle',
|
||||
title: 'threadCommentUI.panel.addComment',
|
||||
tooltip: 'threadCommentUI.panel.addComment',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
disabled$: new Observable(function (subscribe) {
|
||||
const textSelectionService = accessor.get(TextSelectionManagerService);
|
||||
@@ -68,12 +66,10 @@ export function AddDocCommentMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
export function ToolbarDocCommentMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: ToggleCommentPanelOperation.id,
|
||||
group: MenuGroup.CONTEXT_MENU_DATA,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'CommentSingle',
|
||||
title: 'threadCommentUI.panel.addComment',
|
||||
tooltip: 'threadCommentUI.panel.addComment',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,9 +17,19 @@
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import { combineLatest, Observable } from 'rxjs';
|
||||
import { DeleteLeftCommand, DocTableDeleteColumnsCommand, DocTableDeleteRowsCommand, DocTableDeleteTableCommand, DocTableInsertColumnLeftCommand, DocTableInsertColumnRightCommand, DocTableInsertRowAboveCommand, DocTableInsertRowBellowCommand, TextSelectionManagerService } from '@univerjs/docs';
|
||||
import {
|
||||
DeleteLeftCommand,
|
||||
DocTableDeleteColumnsCommand,
|
||||
DocTableDeleteRowsCommand,
|
||||
DocTableDeleteTableCommand,
|
||||
DocTableInsertColumnLeftCommand,
|
||||
DocTableInsertColumnRightCommand,
|
||||
DocTableInsertRowAboveCommand,
|
||||
DocTableInsertRowBellowCommand,
|
||||
TextSelectionManagerService,
|
||||
} from '@univerjs/docs';
|
||||
import type { RectRange } from '@univerjs/engine-render';
|
||||
import { DocCopyCommand, DocCutCommand, DocPasteCommand } from '../../commands/commands/clipboard.command';
|
||||
import { DocParagraphSettingPanelOperation } from '../../commands/operations/doc-paragraph-setting-panel.operation';
|
||||
@@ -89,11 +99,9 @@ export const CopyMenuFactory = (accessor: IAccessor): IMenuButtonItem => {
|
||||
return {
|
||||
id: DocCopyCommand.name,
|
||||
commandId: DocCopyCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'Copy',
|
||||
title: 'rightClick.copy',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
disabled$: getDisableOnCollapsedObservable(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
@@ -105,7 +113,6 @@ export const ParagraphSettingMenuFactory = (accessor: IAccessor): IMenuButtonIte
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'MenuSingle24',
|
||||
title: 'doc.menu.paragraphSetting',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
};
|
||||
@@ -113,11 +120,9 @@ export const ParagraphSettingMenuFactory = (accessor: IAccessor): IMenuButtonIte
|
||||
export const CutMenuFactory = (accessor: IAccessor): IMenuButtonItem => {
|
||||
return {
|
||||
id: DocCutCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'Copy',
|
||||
title: 'rightClick.cut',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
disabled$: getDisableOnCollapsedObservable(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
@@ -126,11 +131,9 @@ export const CutMenuFactory = (accessor: IAccessor): IMenuButtonItem => {
|
||||
export const PasteMenuFactory = (accessor: IAccessor): IMenuButtonItem => {
|
||||
return {
|
||||
id: DocPasteCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'PasteSpecial',
|
||||
title: 'rightClick.paste',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
};
|
||||
@@ -138,11 +141,9 @@ export const PasteMenuFactory = (accessor: IAccessor): IMenuButtonItem => {
|
||||
export const DeleteMenuFactory = (accessor: IAccessor): IMenuButtonItem => {
|
||||
return {
|
||||
id: DeleteLeftCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'PasteSpecial',
|
||||
title: 'rightClick.delete',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
disabled$: getDisableOnCollapsedObservable(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
@@ -152,11 +153,9 @@ export const TABLE_INSERT_MENU_ID = 'doc.menu.table-insert';
|
||||
export function TableInsertMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: TABLE_INSERT_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'table.insert',
|
||||
icon: 'Insert',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: combineLatest(getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), getDisableWhenSelectionNotInTableObservable(accessor), (one, two) => {
|
||||
return one || two;
|
||||
}),
|
||||
@@ -169,7 +168,6 @@ export function InsertRowBeforeMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'table.insertRowAbove',
|
||||
icon: 'InsertRowAbove',
|
||||
positions: [TABLE_INSERT_MENU_ID],
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
@@ -179,7 +177,6 @@ export function InsertRowAfterMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
return {
|
||||
id: DocTableInsertRowBellowCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [TABLE_INSERT_MENU_ID],
|
||||
title: 'table.insertRowBelow',
|
||||
icon: 'InsertRowBelow',
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
@@ -193,7 +190,6 @@ export function InsertColumnLeftMenuItemFactory(accessor: IAccessor): IMenuButto
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'table.insertColumnLeft',
|
||||
icon: 'LeftInsertColumn',
|
||||
positions: [TABLE_INSERT_MENU_ID],
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
@@ -203,7 +199,6 @@ export function InsertColumnRightMenuItemFactory(accessor: IAccessor): IMenuButt
|
||||
return {
|
||||
id: DocTableInsertColumnRightCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [TABLE_INSERT_MENU_ID],
|
||||
title: 'table.insertColumnRight',
|
||||
icon: 'RightInsertColumn',
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
@@ -215,11 +210,9 @@ export const TABLE_DELETE_MENU_ID = 'doc.menu.table-delete';
|
||||
export function TableDeleteMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: TABLE_DELETE_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'table.delete',
|
||||
icon: 'Reduce',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: combineLatest(getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), getDisableWhenSelectionNotInTableObservable(accessor), (one, two) => {
|
||||
return one || two;
|
||||
}),
|
||||
@@ -232,7 +225,6 @@ export function DeleteRowsMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'table.deleteRows',
|
||||
icon: 'DeleteRow',
|
||||
positions: [TABLE_DELETE_MENU_ID],
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
@@ -242,7 +234,6 @@ export function DeleteColumnsMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
return {
|
||||
id: DocTableDeleteColumnsCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [TABLE_DELETE_MENU_ID],
|
||||
title: 'table.deleteColumns',
|
||||
icon: 'DeleteColumn',
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
@@ -254,7 +245,6 @@ export function DeleteTableMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
return {
|
||||
id: DocTableDeleteTableCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [TABLE_DELETE_MENU_ID],
|
||||
title: 'table.deleteTable',
|
||||
icon: 'GridSingle',
|
||||
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
||||
|
||||
@@ -55,9 +55,7 @@ import {
|
||||
FONT_SIZE_LIST,
|
||||
getHeaderFooterMenuHiddenObservable,
|
||||
getMenuHiddenObservable,
|
||||
MenuGroup,
|
||||
MenuItemType,
|
||||
MenuPosition,
|
||||
} from '@univerjs/ui';
|
||||
import type { IAccessor, PresetListType } from '@univerjs/core';
|
||||
import type { Subscription } from 'rxjs';
|
||||
@@ -209,12 +207,10 @@ export function BoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetInlineFormatBoldCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'BoldSingle',
|
||||
title: 'Set bold',
|
||||
tooltip: 'toolbar.bold',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -247,12 +243,10 @@ export function ItalicMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetInlineFormatItalicCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'ItalicSingle',
|
||||
title: 'Set italic',
|
||||
tooltip: 'toolbar.italic',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -285,12 +279,10 @@ export function UnderlineMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetInlineFormatUnderlineCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'UnderlineSingle',
|
||||
title: 'Set underline',
|
||||
tooltip: 'toolbar.underline',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -323,12 +315,10 @@ export function StrikeThroughMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
|
||||
return {
|
||||
id: SetInlineFormatStrikethroughCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'StrikethroughSingle',
|
||||
title: 'Set strike through',
|
||||
tooltip: 'toolbar.strikethrough',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -361,11 +351,9 @@ export function SubscriptMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetInlineFormatSubscriptCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'SubscriptSingle',
|
||||
tooltip: 'toolbar.subscript',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -398,11 +386,9 @@ export function SuperscriptMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
|
||||
return {
|
||||
id: SetInlineFormatSuperscriptCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'SuperscriptSingle',
|
||||
tooltip: 'toolbar.superscript',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -436,10 +422,8 @@ export function FontFamilySelectorMenuItemFactory(accessor: IAccessor): IMenuSel
|
||||
return {
|
||||
id: SetInlineFormatFontFamilyCommand.id,
|
||||
tooltip: 'toolbar.font',
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
label: FONT_FAMILY_COMPONENT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: FONT_FAMILY_LIST.map((item) => ({
|
||||
label: {
|
||||
name: FONT_FAMILY_ITEM_COMPONENT,
|
||||
@@ -481,7 +465,6 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec
|
||||
|
||||
return {
|
||||
id: SetInlineFormatFontSizeCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
tooltip: 'toolbar.fontSize',
|
||||
label: {
|
||||
@@ -492,7 +475,6 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec
|
||||
// disabled$,
|
||||
},
|
||||
},
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: FONT_SIZE_LIST,
|
||||
// disabled$,
|
||||
value$: new Observable((subscriber) => {
|
||||
@@ -532,9 +514,7 @@ export function TextColorSelectorMenuItemFactory(accessor: IAccessor): IMenuSele
|
||||
icon: 'FontColor',
|
||||
tooltip: 'toolbar.textColor.main',
|
||||
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [
|
||||
{
|
||||
label: {
|
||||
@@ -564,11 +544,9 @@ export function TextColorSelectorMenuItemFactory(accessor: IAccessor): IMenuSele
|
||||
export function HeaderFooterMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: OpenHeaderFooterPanelCommand.id,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'FreezeRowSingle',
|
||||
tooltip: 'toolbar.headerFooter',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: combineLatest(getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), getHeaderFooterMenuHiddenObservable(accessor), (one, two) => {
|
||||
return one || two;
|
||||
}),
|
||||
@@ -582,8 +560,6 @@ export function TableMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: TABLE_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
icon: TableIcon,
|
||||
tooltip: 'toolbar.table.main',
|
||||
disabled$: getTableDisabledObservable(accessor),
|
||||
@@ -599,7 +575,6 @@ export function InsertTableMenuFactory(_accessor: IAccessor): IMenuButtonItem {
|
||||
id: DocCreateTableOperation.id,
|
||||
title: 'toolbar.table.insert',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [TABLE_MENU_ID],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_DOC),
|
||||
};
|
||||
}
|
||||
@@ -609,11 +584,9 @@ export function AlignLeftMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: AlignLeftCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'LeftJustifyingSingle',
|
||||
tooltip: 'toolbar.alignLeft',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: disableMenuWhenNoDocRange(accessor),
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -645,11 +618,9 @@ export function AlignCenterMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
|
||||
return {
|
||||
id: AlignCenterCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'HorizontallySingle',
|
||||
tooltip: 'toolbar.alignCenter',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -681,11 +652,9 @@ export function AlignRightMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
|
||||
return {
|
||||
id: AlignRightCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'RightJustifyingSingle',
|
||||
tooltip: 'toolbar.alignRight',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -717,11 +686,9 @@ export function AlignJustifyMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
|
||||
return {
|
||||
id: AlignJustifyCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'AlignTextBothSingle',
|
||||
tooltip: 'toolbar.alignJustify',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -795,7 +762,6 @@ const listValueFactory$ = (accessor: IAccessor) => {
|
||||
export function OrderListMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<PresetListType, PresetListType> {
|
||||
return {
|
||||
id: OrderListCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
selections: [
|
||||
{
|
||||
@@ -808,7 +774,6 @@ export function OrderListMenuItemFactory(accessor: IAccessor): IMenuSelectorItem
|
||||
],
|
||||
icon: 'OrderSingle',
|
||||
tooltip: 'toolbar.order',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
disabled$: disableMenuWhenNoDocRange(accessor),
|
||||
activated$: listValueFactory$(accessor).pipe(map((v) => v && v.indexOf('ORDER_LIST') === 0)),
|
||||
@@ -818,7 +783,6 @@ export function OrderListMenuItemFactory(accessor: IAccessor): IMenuSelectorItem
|
||||
export function BulletListMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<PresetListType, PresetListType> {
|
||||
return {
|
||||
id: BulletListCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
selections: [
|
||||
{
|
||||
@@ -831,7 +795,6 @@ export function BulletListMenuItemFactory(accessor: IAccessor): IMenuSelectorIte
|
||||
],
|
||||
icon: 'UnorderSingle',
|
||||
tooltip: 'toolbar.unorder',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: disableMenuWhenNoDocRange(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
activated$: listValueFactory$(accessor).pipe(map((v) => v && v.indexOf('BULLET_LIST') === 0)),
|
||||
@@ -841,11 +804,9 @@ export function BulletListMenuItemFactory(accessor: IAccessor): IMenuSelectorIte
|
||||
export function CheckListMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: CheckListCommand.id,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'TodoList',
|
||||
tooltip: 'toolbar.checklist',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: disableMenuWhenNoDocRange(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
||||
activated$: listValueFactory$(accessor).pipe(map((v) => v && v.indexOf('CHECK_LIST') === 0)),
|
||||
@@ -858,7 +819,6 @@ export function ResetBackgroundColorMenuItemFactory(accessor: IAccessor): IMenuB
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'toolbar.resetColor',
|
||||
icon: 'NoColor',
|
||||
positions: SetInlineFormatTextBackgroundColorCommand.id,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -869,9 +829,7 @@ export function BackgroundColorSelectorMenuItemFactory(accessor: IAccessor): IMe
|
||||
return {
|
||||
id: SetInlineFormatTextBackgroundColorCommand.id,
|
||||
tooltip: 'toolbar.fillColor.main',
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
icon: 'PaintBucket',
|
||||
selections: [
|
||||
{
|
||||
|
||||
@@ -36,7 +36,9 @@ import {
|
||||
RedoCommand,
|
||||
toDisposable,
|
||||
UndoCommand,
|
||||
Univer, UniverInstanceType, WrapStrategy,
|
||||
Univer,
|
||||
UniverInstanceType,
|
||||
WrapStrategy,
|
||||
} from '@univerjs/core';
|
||||
import type { ISocket } from '@univerjs/network';
|
||||
import { ISocketService, WebSocketService } from '@univerjs/network';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { EDITOR_ACTIVATED, FOCUSING_SHEET, IContextService, UniverInstanceType } from '@univerjs/core';
|
||||
import type { IMenuButtonItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { combineLatest, map } from 'rxjs';
|
||||
|
||||
@@ -29,9 +29,7 @@ export function FindReplaceMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
id: OpenFindDialogOperation.id,
|
||||
icon: 'SearchIcon',
|
||||
tooltip: 'find-replace.toolbar',
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: combineLatest([
|
||||
contextService.subscribeContextValue$(EDITOR_ACTIVATED),
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { merge, Observable } from 'rxjs';
|
||||
import type { IMenuSelectorItem } from '@univerjs/ui';
|
||||
import type { IAccessor, Workbook } from '@univerjs/core';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import { checkRangesEditablePermission, RangeProtectionPermissionEditPoint, SetWorksheetActiveOperation, SheetsSelectionsService, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission } from '@univerjs/sheets';
|
||||
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
@@ -157,8 +157,6 @@ export const FactoryManageConditionalFormattingRule = (accessor: IAccessor): IMe
|
||||
return {
|
||||
id: OpenConditionalFormattingOperator.id,
|
||||
type: MenuItemType.SELECTOR,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
icon: 'Conditions',
|
||||
tooltip: 'sheet.cf.title',
|
||||
selections: selections$,
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
import { type IAccessor, UniverInstanceType } from '@univerjs/core';
|
||||
import { getMenuHiddenObservable, type IMenuSelectorItem, MenuItemType } from '@univerjs/ui';
|
||||
import { SheetMenuPosition } from '@univerjs/sheets-ui';
|
||||
import { SheetsCrosshairHighlightService } from '../services/crosshair.service';
|
||||
import { SetCrosshairHighlightColorOperation, ToggleCrosshairHighlightOperation } from '../commands/operations/operation';
|
||||
|
||||
@@ -41,6 +40,5 @@ export function CrosshairHighlightMenuItemFactory(accessor: IAccessor): IMenuSel
|
||||
selectionsCommandId: SetCrosshairHighlightColorOperation.id,
|
||||
activated$: crosshairHighlightService.enabled$,
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
positions: [SheetMenuPosition.SHEET_FOOTER],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
@@ -29,8 +29,6 @@ export function dataValidationMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: DATA_VALIDATION_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
icon: DataValidationIcon,
|
||||
tooltip: 'dataValidation.title',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -43,7 +41,6 @@ export function openDataValidationMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
id: OpenValidationPanelOperation.id,
|
||||
title: 'dataValidation.panel.title',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [DATA_VALIDATION_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -52,6 +49,5 @@ export function addDataValidationMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
id: AddSheetDataValidationAndOpenCommand.id,
|
||||
title: 'dataValidation.panel.add',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [DATA_VALIDATION_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
@@ -29,8 +29,6 @@ export function ImageMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: IMAGE_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
icon: IMAGE_UPLOAD_ICON,
|
||||
tooltip: 'sheetImage.title',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -49,7 +47,6 @@ export function UploadFloatImageMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
type: UploadFileType.floatImage,
|
||||
},
|
||||
},
|
||||
positions: [IMAGE_MENU_ID],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -65,7 +62,6 @@ export function UploadCellImageMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
type: UploadFileType.cellImage,
|
||||
},
|
||||
},
|
||||
positions: [IMAGE_MENU_ID],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { SheetsFilterService } from '@univerjs/sheets-filter';
|
||||
@@ -30,11 +30,9 @@ export function SmartToggleFilterMenuItemFactory(accessor: IAccessor): IMenuSele
|
||||
|
||||
return {
|
||||
id: SmartToggleSheetsFilterCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
icon: 'FilterSingle',
|
||||
tooltip: 'sheets-filter.toolbar.smart-toggle-filter-tooltip',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
activated$: sheetsFilterService.activeFilterModel$.pipe(map((model) => !!model)),
|
||||
disabled$: getObservableWithExclusiveRange$(accessor, getCurrentRangeDisable$(accessor, { worksheetTypes: [WorksheetFilterPermission, WorksheetViewPermission], rangeTypes: [RangeProtectionPermissionViewPoint] })),
|
||||
@@ -46,10 +44,8 @@ export function ClearFilterCriteriaMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
|
||||
return {
|
||||
id: ClearSheetsFilterCriteriaCommand.id,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'sheets-filter.toolbar.clear-filter-criteria',
|
||||
positions: [SmartToggleSheetsFilterCommand.id],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => model?.hasCriteria$.pipe(map((m) => !m)) ?? of(true))),
|
||||
};
|
||||
@@ -60,10 +56,8 @@ export function ReCalcFilterMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
|
||||
return {
|
||||
id: ReCalcSheetsFilterCommand.id,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'sheets-filter.toolbar.re-calc-filter-conditions',
|
||||
positions: [SmartToggleSheetsFilterCommand.id],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: sheetsFilterService.activeFilterModel$.pipe(switchMap((model) => model?.hasCriteria$.pipe(map((m) => !m)) ?? of(true))),
|
||||
};
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
|
||||
import type { IAccessor, Workbook } from '@univerjs/core';
|
||||
import { IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
||||
import { getCurrentRangeDisable$, PASTE_SPECIAL_MENU_ID } from '@univerjs/sheets-ui';
|
||||
import { getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
import type { IMenuItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, IClipboardInterfaceService, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, IClipboardInterfaceService, MenuItemType } from '@univerjs/ui';
|
||||
import { combineLatestWith, map, Observable, of, switchMap } from 'rxjs';
|
||||
|
||||
import { RangeProtectionPermissionEditPoint, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellValuePermission } from '@univerjs/sheets';
|
||||
@@ -31,9 +31,7 @@ export function InsertFunctionMenuItemFactory(accessor: IAccessor): IMenuItem {
|
||||
id: InsertFunctionOperation.id,
|
||||
icon: 'FunctionSingle',
|
||||
tooltip: 'formula.insert.tooltip',
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [
|
||||
{
|
||||
label: 'SUM',
|
||||
@@ -70,7 +68,6 @@ export function MoreFunctionsMenuItemFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: MoreFunctionsOperation.id,
|
||||
title: 'formula.insert.more',
|
||||
positions: InsertFunctionOperation.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
};
|
||||
}
|
||||
@@ -97,7 +94,6 @@ export function PasteFormulaMenuItemFactory(accessor: IAccessor): IMenuItem {
|
||||
id: SheetOnlyPasteFormulaCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'formula.operation.pasteFormula',
|
||||
positions: [PASTE_SPECIAL_MENU_ID],
|
||||
disabled$: menuClipboardDisabledObservable(accessor).pipe(
|
||||
combineLatestWith(getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetSetCellValuePermission, WorksheetEditPermission] })),
|
||||
map(([d1, d2]) => d1 || d2)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import type { IMenuItem, IShortcutItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, KeyCode, MenuGroup, MenuItemType, MenuPosition, MetaKeys } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, KeyCode, MenuItemType, MetaKeys } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { getCurrentRangeDisable$, getObservableWithExclusiveRange$, whenSheetEditorFocused } from '@univerjs/sheets-ui';
|
||||
import { RangeProtectionPermissionEditPoint, WorkbookEditablePermission, WorksheetEditPermission, WorksheetInsertHyperlinkPermission, WorksheetSetCellValuePermission } from '@univerjs/sheets';
|
||||
@@ -26,7 +26,6 @@ export const insertLinkMenuFactory = (accessor: IAccessor) => {
|
||||
return {
|
||||
id: InsertHyperLinkOperation.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
title: 'hyperLink.menu.add',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
icon: 'LinkSingle',
|
||||
@@ -37,8 +36,6 @@ export const insertLinkMenuFactory = (accessor: IAccessor) => {
|
||||
export const insertLinkMenuToolbarFactory = (accessor: IAccessor) => {
|
||||
return {
|
||||
tooltip: 'hyperLink.form.addTitle',
|
||||
positions: MenuPosition.TOOLBAR_START,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
id: InsertHyperLinkToolbarOperation.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'LinkSingle',
|
||||
|
||||
@@ -25,7 +25,7 @@ import {
|
||||
WorksheetSetCellStylePermission,
|
||||
} from '@univerjs/sheets';
|
||||
import type { IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { merge, Observable } from 'rxjs';
|
||||
import { deriveStateFromActiveSheet$, getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
@@ -65,8 +65,6 @@ export const CurrencyMenuItem = (accessor: IAccessor) => {
|
||||
title: 'sheet.numfmt.currency',
|
||||
tooltip: 'sheet.numfmt.currency',
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
|
||||
@@ -80,8 +78,6 @@ export const AddDecimalMenuItem = (accessor: IAccessor) => {
|
||||
title: 'sheet.numfmt.addDecimal',
|
||||
tooltip: 'sheet.numfmt.addDecimal',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
@@ -94,8 +90,6 @@ export const SubtractDecimalMenuItem = (accessor: IAccessor) => {
|
||||
title: 'sheet.numfmt.subtractDecimal',
|
||||
tooltip: 'sheet.numfmt.subtractDecimal',
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
@@ -108,8 +102,6 @@ export const PercentMenuItem = (accessor: IAccessor) => {
|
||||
title: 'sheet.numfmt.percent',
|
||||
tooltip: 'sheet.numfmt.percent',
|
||||
type: MenuItemType.BUTTON,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
|
||||
@@ -167,8 +159,6 @@ export const FactoryOtherMenuItem = (accessor: IAccessor): IMenuSelectorItem =>
|
||||
id: OpenNumfmtPanelOperator.id,
|
||||
tooltip: 'sheet.numfmt.title',
|
||||
type: MenuItemType.SELECTOR,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [
|
||||
{
|
||||
label: {
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
*/
|
||||
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, type IMenuItem, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { getCurrentRangeDisable$, SheetMenuPosition } from '@univerjs/sheets-ui';
|
||||
import { getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
import { RangeProtectionPermissionEditPoint, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSortPermission } from '@univerjs/sheets';
|
||||
import { SortRangeAscCommand, SortRangeAscExtCommand, SortRangeAscExtInCtxMenuCommand, SortRangeAscInCtxMenuCommand, SortRangeCustomCommand, SortRangeCustomInCtxMenuCommand, SortRangeDescCommand, SortRangeDescExtCommand, SortRangeDescExtInCtxMenuCommand, SortRangeDescInCtxMenuCommand } from '../commands/commands/sheets-sort.command';
|
||||
|
||||
@@ -34,8 +34,6 @@ export function sortRangeMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: SHEETS_SORT_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
icon: SHEETS_SORT_ASC_ICON,
|
||||
tooltip: 'sheets-sort.general.sort',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -49,7 +47,6 @@ export function sortRangeAscMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
icon: SHEETS_SORT_ASC_ICON,
|
||||
title: 'sheets-sort.general.sort-asc-cur',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -59,7 +56,6 @@ export function sortRangeAscExtMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
title: 'sheets-sort.general.sort-asc-ext',
|
||||
icon: SHEETS_SORT_ASC_EXT_ICON,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -69,7 +65,6 @@ export function sortRangeDescMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
title: 'sheets-sort.general.sort-desc-cur',
|
||||
icon: SHEETS_SORT_DESC_ICON,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -79,7 +74,6 @@ export function sortRangeDescExtMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
title: 'sheets-sort.general.sort-desc-ext',
|
||||
icon: SHEETS_SORT_DESC_EXT_ICON,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_MENU_ID],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -88,7 +82,6 @@ export function sortRangeCustomMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
id: SortRangeCustomCommand.id,
|
||||
title: 'sheets-sort.general.sort-custom',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_MENU_ID],
|
||||
icon: SHEETS_SORT_CUSTOM_ICON,
|
||||
};
|
||||
}
|
||||
@@ -98,12 +91,6 @@ export function sortRangeCtxMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
id: SHEETS_SORT_CTX_MENU_ID,
|
||||
title: 'sheets-sort.general.sort',
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [
|
||||
MenuPosition.CONTEXT_MENU,
|
||||
SheetMenuPosition.COL_HEADER_CONTEXT_MENU,
|
||||
SheetMenuPosition.ROW_HEADER_CONTEXT_MENU,
|
||||
],
|
||||
group: MenuGroup.CONTEXT_MENU_DATA,
|
||||
icon: SHEETS_SORT_ASC_ICON,
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
@@ -120,7 +107,6 @@ export function sortRangeAscCtxMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
title: 'sheets-sort.general.sort-asc-cur',
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: SHEETS_SORT_ASC_ICON,
|
||||
positions: [SHEETS_SORT_CTX_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(_accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSortPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
}
|
||||
@@ -131,7 +117,6 @@ export function sortRangeAscExtCtxMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
title: 'sheets-sort.general.sort-asc-ext',
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: SHEETS_SORT_ASC_EXT_ICON,
|
||||
positions: [SHEETS_SORT_CTX_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(_accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSortPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
}
|
||||
@@ -141,7 +126,6 @@ export function sortRangeDescCtxMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
id: SortRangeDescInCtxMenuCommand.id,
|
||||
title: 'sheets-sort.general.sort-desc-cur',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_CTX_MENU_ID],
|
||||
icon: SHEETS_SORT_DESC_ICON,
|
||||
disabled$: getCurrentRangeDisable$(_accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSortPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
@@ -152,7 +136,6 @@ export function sortRangeDescExtCtxMenuFactory(_accessor: IAccessor): IMenuItem
|
||||
id: SortRangeDescExtInCtxMenuCommand.id,
|
||||
title: 'sheets-sort.general.sort-desc-ext',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_CTX_MENU_ID],
|
||||
icon: SHEETS_SORT_DESC_EXT_ICON,
|
||||
disabled$: getCurrentRangeDisable$(_accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSortPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
@@ -163,7 +146,6 @@ export function sortRangeCustomCtxMenuFactory(_accessor: IAccessor): IMenuItem {
|
||||
id: SortRangeCustomInCtxMenuCommand.id,
|
||||
title: 'sheets-sort.general.sort-custom',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEETS_SORT_CTX_MENU_ID],
|
||||
icon: SHEETS_SORT_CUSTOM_ICON,
|
||||
disabled$: getCurrentRangeDisable$(_accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSortPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { IMenuItem, IShortcutItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, KeyCode, MenuGroup, MenuItemType, MenuPosition, MetaKeys } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, KeyCode, MenuItemType, MetaKeys } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { ToggleSheetCommentPanelOperation } from '@univerjs/thread-comment-ui';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
@@ -28,7 +28,6 @@ export const threadCommentMenuFactory = (accessor: IAccessor) => {
|
||||
return {
|
||||
id: ShowAddSheetCommentModalOperation.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
icon: COMMENT_SINGLE_ICON,
|
||||
title: 'sheetThreadComment.menu.addComment',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -46,8 +45,6 @@ export const threadPanelMenuFactory = (accessor: IAccessor) => {
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: COMMENT_SINGLE_ICON,
|
||||
tooltip: 'sheetThreadComment.menu.commentManagement',
|
||||
positions: MenuPosition.TOOLBAR_START,
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
disabled$: getCurrentRangeDisable$(accessor, {
|
||||
workbookTypes: [WorkbookCommentPermission],
|
||||
worksheetTypes: [WorksheetViewPermission],
|
||||
|
||||
@@ -18,7 +18,7 @@ import { ICommandService, UniverInstanceType } from '@univerjs/core';
|
||||
import type { IBorderInfo } from '@univerjs/sheets';
|
||||
import { BorderStyleManagerService, RangeProtectionPermissionEditPoint, SetBorderBasicCommand, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission } from '@univerjs/sheets';
|
||||
import type { IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@@ -57,9 +57,7 @@ export function CellBorderSelectorMenuItemFactory(accessor: IAccessor): IMenuSel
|
||||
|
||||
return disposable.dispose;
|
||||
}),
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
tooltip: 'toolbar.border.main',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
selections: [
|
||||
{
|
||||
|
||||
@@ -16,26 +16,19 @@
|
||||
|
||||
import { ClearSelectionAllCommand, ClearSelectionContentCommand, ClearSelectionFormatCommand, RangeProtectionPermissionEditPoint, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission } from '@univerjs/sheets';
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { SheetMenuPosition } from './menu';
|
||||
import { getCurrentRangeDisable$, getObservableWithExclusiveRange$ } from './menu-util';
|
||||
|
||||
export const CLEAR_SELECTION_MENU_ID = 'sheet.menu.clear-selection';
|
||||
export function ClearSelectionMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: CLEAR_SELECTION_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
icon: 'ClearFormat',
|
||||
title: 'rightClick.clearSelection',
|
||||
positions: [
|
||||
MenuPosition.CONTEXT_MENU,
|
||||
SheetMenuPosition.COL_HEADER_CONTEXT_MENU,
|
||||
SheetMenuPosition.ROW_HEADER_CONTEXT_MENU,
|
||||
],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -45,7 +38,6 @@ export function ClearSelectionContentMenuItemFactory(accessor: IAccessor): IMenu
|
||||
id: ClearSelectionContentCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.clearContent',
|
||||
positions: [CLEAR_SELECTION_MENU_ID],
|
||||
disabled$: getObservableWithExclusiveRange$(accessor, getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellValuePermission], rangeTypes: [RangeProtectionPermissionEditPoint] })),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -55,7 +47,6 @@ export function ClearSelectionFormatMenuItemFactory(accessor: IAccessor): IMenuB
|
||||
id: ClearSelectionFormatCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.clearFormat',
|
||||
positions: [CLEAR_SELECTION_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -65,7 +56,6 @@ export function ClearSelectionAllMenuItemFactory(accessor: IAccessor): IMenuButt
|
||||
id: ClearSelectionAllCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.clearAll',
|
||||
positions: [CLEAR_SELECTION_MENU_ID],
|
||||
disabled$: getObservableWithExclusiveRange$(accessor, getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellValuePermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] })),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { MenuItemType } from '@univerjs/ui';
|
||||
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { RangeProtectionPermissionEditPoint, WorkbookEditablePermission, WorksheetDeleteColumnPermission, WorksheetDeleteRowPermission, WorksheetEditPermission } from '@univerjs/sheets';
|
||||
@@ -25,18 +25,15 @@ import {
|
||||
RemoveColConfirmCommand,
|
||||
RemoveRowConfirmCommand,
|
||||
} from '../../commands/commands/remove-row-col-confirm.command';
|
||||
import { SheetMenuPosition } from './menu';
|
||||
import { getBaseRangeMenuHidden$, getCellMenuHidden$, getCurrentRangeDisable$, getDeleteMenuHidden$, getObservableWithExclusiveRange$ } from './menu-util';
|
||||
|
||||
export const DELETE_RANGE_MENU_ID = 'sheet.menu.delete';
|
||||
export function DeleteRangeMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: DELETE_RANGE_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.delete',
|
||||
icon: 'Reduce',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getObservableWithExclusiveRange$(accessor, getBaseRangeMenuHidden$(accessor)),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission] }),
|
||||
};
|
||||
@@ -45,10 +42,8 @@ export function DeleteRangeMenuItemFactory(accessor: IAccessor): IMenuSelectorIt
|
||||
export function RemoveColMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: RemoveColConfirmCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'DeleteColumn',
|
||||
positions: [DELETE_RANGE_MENU_ID, SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
title: 'rightClick.deleteSelectedColumn',
|
||||
hidden$: getDeleteMenuHidden$(accessor, 'col'),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetDeleteColumnPermission] }),
|
||||
@@ -58,10 +53,8 @@ export function RemoveColMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
export function RemoveRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: RemoveRowConfirmCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'DeleteRow',
|
||||
positions: [DELETE_RANGE_MENU_ID, SheetMenuPosition.ROW_HEADER_CONTEXT_MENU],
|
||||
title: 'rightClick.deleteSelectedRow',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetDeleteRowPermission] }),
|
||||
hidden$: getDeleteMenuHidden$(accessor, 'row'),
|
||||
@@ -71,11 +64,9 @@ export function RemoveRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
export function DeleteRangeMoveLeftMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: DeleteRangeMoveLeftConfirmCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.moveLeft',
|
||||
icon: 'DeleteCellShiftLeft',
|
||||
positions: [DELETE_RANGE_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
hidden$: getCellMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
@@ -84,11 +75,9 @@ export function DeleteRangeMoveLeftMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
export function DeleteRangeMoveUpMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: DeleteRangeMoveUpConfirmCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.moveUp',
|
||||
icon: 'DeleteCellShiftUp',
|
||||
positions: [DELETE_RANGE_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
hidden$: getCellMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
|
||||
@@ -26,23 +26,20 @@ import {
|
||||
WorksheetInsertRowPermission,
|
||||
} from '@univerjs/sheets';
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
|
||||
import { InsertRangeMoveDownConfirmCommand } from '../../commands/commands/insert-range-move-down-confirm.command';
|
||||
import { InsertRangeMoveRightConfirmCommand } from '../../commands/commands/insert-range-move-right-confirm.command';
|
||||
import { SheetMenuPosition } from './menu';
|
||||
import { getBaseRangeMenuHidden$, getCellMenuHidden$, getCurrentRangeDisable$, getInsertAfterMenuHidden$, getInsertBeforeMenuHidden$, getObservableWithExclusiveRange$ } from './menu-util';
|
||||
|
||||
export const COL_INSERT_MENU_ID = 'sheet.menu.col-insert';
|
||||
export function ColInsertMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: COL_INSERT_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.insert',
|
||||
icon: 'Insert',
|
||||
positions: [SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
hidden$: getBaseRangeMenuHidden$(accessor),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetInsertColumnPermission] }),
|
||||
};
|
||||
@@ -52,11 +49,9 @@ export const ROW_INSERT_MENU_ID = 'sheet.menu.row-insert';
|
||||
export function RowInsertMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: ROW_INSERT_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.insert',
|
||||
icon: 'Insert',
|
||||
positions: [SheetMenuPosition.ROW_HEADER_CONTEXT_MENU],
|
||||
hidden$: getBaseRangeMenuHidden$(accessor),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
@@ -66,11 +61,9 @@ export const CELL_INSERT_MENU_ID = 'sheet.menu.cell-insert';
|
||||
export function CellInsertMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: CELL_INSERT_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.insert',
|
||||
icon: 'Insert',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getObservableWithExclusiveRange$(accessor, getBaseRangeMenuHidden$(accessor)),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
@@ -82,7 +75,6 @@ export function InsertRowBeforeMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.insertRowBefore',
|
||||
icon: 'InsertRowAbove',
|
||||
positions: [ROW_INSERT_MENU_ID, CELL_INSERT_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
hidden$: getInsertBeforeMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
@@ -92,7 +84,6 @@ export function InsertRowAfterMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
return {
|
||||
id: InsertRowAfterCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [ROW_INSERT_MENU_ID],
|
||||
title: 'rightClick.insertRow',
|
||||
icon: 'InsertRowBelow',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetInsertRowPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -104,13 +95,10 @@ export function InsertColBeforeMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
return {
|
||||
id: InsertColBeforeCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [COL_INSERT_MENU_ID, CELL_INSERT_MENU_ID],
|
||||
title: 'rightClick.insertColumnBefore',
|
||||
icon: 'LeftInsertColumn',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
|
||||
hidden$: getInsertBeforeMenuHidden$(accessor, 'col'),
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -118,11 +106,9 @@ export function InsertColAfterMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
return {
|
||||
id: InsertColAfterCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [COL_INSERT_MENU_ID],
|
||||
title: 'rightClick.insertColumn',
|
||||
icon: 'RightInsertColumn',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetInsertColumnPermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
|
||||
hidden$: getInsertAfterMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
}
|
||||
@@ -133,7 +119,6 @@ export function InsertRangeMoveRightMenuItemFactory(accessor: IAccessor): IMenuB
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.moveRight',
|
||||
icon: 'InsertCellShiftRight',
|
||||
positions: [CELL_INSERT_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
hidden$: getCellMenuHidden$(accessor, 'col'),
|
||||
};
|
||||
@@ -145,9 +130,7 @@ export function InsertRangeMoveDownMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.moveDown',
|
||||
icon: 'InsertCellDown',
|
||||
positions: [CELL_INSERT_MENU_ID],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
|
||||
hidden$: getCellMenuHidden$(accessor, 'row'),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -75,9 +75,7 @@ import {
|
||||
FONT_SIZE_LIST,
|
||||
getMenuHiddenObservable,
|
||||
IClipboardInterfaceService,
|
||||
MenuGroup,
|
||||
MenuItemType,
|
||||
MenuPosition,
|
||||
} from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { combineLatestWith, map, Observable } from 'rxjs';
|
||||
@@ -131,12 +129,10 @@ export function FormatPainterMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
return {
|
||||
id: SetOnceFormatPainterCommand.id,
|
||||
subId: SetInfiniteFormatPainterCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'BrushSingle',
|
||||
title: 'Format Painter',
|
||||
tooltip: 'toolbar.formatPainter',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: new Observable<boolean>((subscriber) => {
|
||||
let active = false;
|
||||
|
||||
@@ -164,12 +160,10 @@ export function BoldMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetRangeBoldCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'BoldSingle',
|
||||
title: 'Set bold',
|
||||
tooltip: 'toolbar.bold',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -228,12 +222,10 @@ export function ItalicMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetRangeItalicCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'ItalicSingle',
|
||||
title: 'Set italic',
|
||||
tooltip: 'toolbar.italic',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -284,12 +276,10 @@ export function UnderlineMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetRangeUnderlineCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'UnderlineSingle',
|
||||
title: 'Set underline',
|
||||
tooltip: 'toolbar.underline',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -340,12 +330,10 @@ export function StrikeThroughMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
|
||||
return {
|
||||
id: SetRangeStrickThroughCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'StrikethroughSingle',
|
||||
title: 'Set strike through',
|
||||
tooltip: 'toolbar.strikethrough',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
activated$: deriveStateFromActiveSheet$(univerInstanceService, false, ({ worksheet }) => new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -402,10 +390,8 @@ export function FontFamilySelectorMenuItemFactory(accessor: IAccessor): IMenuSel
|
||||
return {
|
||||
id: SetRangeFontFamilyCommand.id,
|
||||
tooltip: 'toolbar.font',
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
label: FONT_FAMILY_COMPONENT,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: FONT_FAMILY_LIST.map((item) => ({
|
||||
label: {
|
||||
name: FONT_FAMILY_ITEM_COMPONENT,
|
||||
@@ -457,7 +443,6 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec
|
||||
|
||||
return {
|
||||
id: SetRangeFontSizeCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
tooltip: 'toolbar.fontSize',
|
||||
label: {
|
||||
@@ -468,7 +453,6 @@ export function FontSizeSelectorMenuItemFactory(accessor: IAccessor): IMenuSelec
|
||||
disabled$,
|
||||
},
|
||||
},
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: FONT_SIZE_LIST,
|
||||
disabled$,
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, ({ worksheet }) => new Observable((subscriber) => {
|
||||
@@ -520,7 +504,6 @@ export function ResetTextColorMenuItemFactory(accessor: IAccessor): IMenuButtonI
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'toolbar.resetColor',
|
||||
icon: 'NoColor',
|
||||
positions: SetRangeTextColorCommand.id,
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -535,9 +518,7 @@ export function TextColorSelectorMenuItemFactory(accessor: IAccessor): IMenuSele
|
||||
icon: 'FontColor',
|
||||
tooltip: 'toolbar.textColor.main',
|
||||
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: [
|
||||
{
|
||||
label: {
|
||||
@@ -569,7 +550,6 @@ export function ResetBackgroundColorMenuItemFactory(accessor: IAccessor): IMenuB
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'toolbar.resetColor',
|
||||
icon: 'NoColor',
|
||||
positions: SetBackgroundColorCommand.id,
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
}
|
||||
@@ -581,9 +561,7 @@ export function BackgroundColorSelectorMenuItemFactory(accessor: IAccessor): IMe
|
||||
return {
|
||||
id: SetBackgroundColorCommand.id,
|
||||
tooltip: 'toolbar.fillColor.main',
|
||||
group: MenuGroup.TOOLBAR_FORMAT,
|
||||
type: MenuItemType.BUTTON_SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
icon: 'PaintBucket',
|
||||
selections: [
|
||||
{
|
||||
@@ -637,9 +615,7 @@ export function HorizontalAlignMenuItemFactory(accessor: IAccessor): IMenuSelect
|
||||
return {
|
||||
id: SetHorizontalTextAlignCommand.id,
|
||||
icon: HORIZONTAL_ALIGN_CHILDREN[0].icon,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
tooltip: 'toolbar.horizontalAlignMode.main',
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
selections: HORIZONTAL_ALIGN_CHILDREN,
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, ({ worksheet }) => new Observable<HorizontalAlign>((subscriber) => {
|
||||
@@ -703,9 +679,7 @@ export function VerticalAlignMenuItemFactory(accessor: IAccessor): IMenuSelector
|
||||
id: SetVerticalTextAlignCommand.id,
|
||||
icon: VERTICAL_ALIGN_CHILDREN[2].icon,
|
||||
tooltip: 'toolbar.verticalAlignMode.main',
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: VERTICAL_ALIGN_CHILDREN,
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, ({ worksheet }) => new Observable<VerticalAlign>((subscriber) => {
|
||||
const disposable = accessor.get(ICommandService).onCommandExecuted((c) => {
|
||||
@@ -768,9 +742,7 @@ export function WrapTextMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<
|
||||
id: SetTextWrapCommand.id,
|
||||
tooltip: 'toolbar.textWrapMode.main',
|
||||
icon: TEXT_WRAP_CHILDREN[0].icon,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
selections: TEXT_WRAP_CHILDREN,
|
||||
value$: deriveStateFromActiveSheet$<WrapStrategy>(univerInstanceService, defaultValue, ({ worksheet }) => new Observable((subscriber) => {
|
||||
const disposable = accessor.get(ICommandService).onCommandExecuted((c) => {
|
||||
@@ -848,10 +820,8 @@ export function TextRotateMenuItemFactory(accessor: IAccessor): IMenuSelectorIte
|
||||
id: SetTextRotationCommand.id,
|
||||
tooltip: 'toolbar.textRotateMode.main',
|
||||
icon: TEXT_ROTATE_CHILDREN[0].icon,
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.SELECTOR,
|
||||
selections: TEXT_ROTATE_CHILDREN,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
value$: deriveStateFromActiveSheet$(univerInstanceService, defaultValue, ({ worksheet }) => new Observable<number | string>((subscriber) => {
|
||||
const disposable = accessor.get(ICommandService).onCommandExecuted((c) => {
|
||||
const id = c.id;
|
||||
@@ -905,15 +875,9 @@ export function CopyMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SheetCopyCommand.name,
|
||||
commandId: SheetCopyCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.copy',
|
||||
icon: 'Copy',
|
||||
positions: [
|
||||
MenuPosition.CONTEXT_MENU,
|
||||
SheetMenuPosition.COL_HEADER_CONTEXT_MENU,
|
||||
SheetMenuPosition.ROW_HEADER_CONTEXT_MENU,
|
||||
],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookCopyPermission], worksheetTypes: [WorksheetCopyPermission], rangeTypes: [RangeProtectionPermissionViewPoint] }),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -923,14 +887,8 @@ export function CutMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SheetCutCommand.name,
|
||||
commandId: CutCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'contextMenu.cut',
|
||||
positions: [
|
||||
MenuPosition.CONTEXT_MENU,
|
||||
SheetMenuPosition.COL_HEADER_CONTEXT_MENU,
|
||||
SheetMenuPosition.ROW_HEADER_CONTEXT_MENU,
|
||||
],
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetCopyPermission, WorksheetEditPermission] }),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -940,7 +898,6 @@ export function PasteMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SheetPasteCommand.name,
|
||||
commandId: SheetPasteCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.paste',
|
||||
icon: 'PasteSpecial',
|
||||
@@ -948,11 +905,6 @@ export function PasteMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
combineLatestWith(getCurrentRangeDisable$(accessor, { rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission], workbookTypes: [WorkbookEditablePermission] })),
|
||||
map(([d1, d2]) => d1 || d2)
|
||||
),
|
||||
positions: [
|
||||
MenuPosition.CONTEXT_MENU,
|
||||
SheetMenuPosition.COL_HEADER_CONTEXT_MENU,
|
||||
SheetMenuPosition.ROW_HEADER_CONTEXT_MENU,
|
||||
],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -961,15 +913,9 @@ export const PASTE_SPECIAL_MENU_ID = 'sheet.menu.paste-special';
|
||||
export function PasteSpacialMenuItemFactory(accessor: IAccessor): IMenuSelectorItem {
|
||||
return {
|
||||
id: PASTE_SPECIAL_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
icon: 'PasteSpecial',
|
||||
title: 'rightClick.pasteSpecial',
|
||||
positions: [
|
||||
MenuPosition.CONTEXT_MENU,
|
||||
SheetMenuPosition.COL_HEADER_CONTEXT_MENU,
|
||||
SheetMenuPosition.ROW_HEADER_CONTEXT_MENU,
|
||||
],
|
||||
hidden$: getObservableWithExclusiveRange$(accessor, getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET)),
|
||||
};
|
||||
}
|
||||
@@ -979,7 +925,6 @@ export function PasteValueMenuItemFactory(accessor: IAccessor): IMenuButtonItem<
|
||||
id: SheetPasteValueCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.pasteValue',
|
||||
positions: [PASTE_SPECIAL_MENU_ID],
|
||||
disabled$: menuClipboardDisabledObservable(accessor).pipe(
|
||||
combineLatestWith(getCurrentRangeDisable$(accessor, { rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetSetCellValuePermission, WorksheetEditPermission], workbookTypes: [WorkbookEditablePermission] })),
|
||||
map(([d1, d2]) => d1 || d2)
|
||||
@@ -993,7 +938,6 @@ export function PasteFormatMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
id: SheetPasteFormatCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.pasteFormat',
|
||||
positions: [PASTE_SPECIAL_MENU_ID],
|
||||
disabled$: menuClipboardDisabledObservable(accessor).pipe(
|
||||
combineLatestWith(getCurrentRangeDisable$(accessor, { rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission], workbookTypes: [WorkbookEditablePermission] })),
|
||||
map(([d1, d2]) => d1 || d2)
|
||||
@@ -1007,7 +951,6 @@ export function PasteColWidthMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
id: SheetPasteColWidthCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.pasteColWidth',
|
||||
positions: [PASTE_SPECIAL_MENU_ID],
|
||||
disabled$: menuClipboardDisabledObservable(accessor).pipe(
|
||||
combineLatestWith(getCurrentRangeDisable$(accessor, { rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetSetColumnStylePermission, WorksheetEditPermission], workbookTypes: [WorkbookEditablePermission] })),
|
||||
map(([d1, d2]) => d1 || d2)
|
||||
@@ -1020,7 +963,6 @@ export function PasteBesidesBorderMenuItemFactory(accessor: IAccessor): IMenuBut
|
||||
id: SheetPasteBesidesBorderCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.pasteBesidesBorder',
|
||||
positions: [PASTE_SPECIAL_MENU_ID],
|
||||
disabled$: menuClipboardDisabledObservable(accessor).pipe(
|
||||
combineLatestWith(getCurrentRangeDisable$(accessor, { rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission, WorksheetSetRowStylePermission, WorksheetSetColumnStylePermission], workbookTypes: [WorkbookEditablePermission] })),
|
||||
map(([d1, d2]) => d1 || d2)
|
||||
@@ -1032,9 +974,7 @@ export function PasteBesidesBorderMenuItemFactory(accessor: IAccessor): IMenuBut
|
||||
export function FitContentMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SetWorksheetRowIsAutoHeightCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.ROW_HEADER_CONTEXT_MENU],
|
||||
icon: 'AutoHeight',
|
||||
title: 'rightClick.fitContent',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSetRowStylePermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1047,11 +987,9 @@ export const SHEET_FROZEN_MENU_ID = 'sheet.menu.sheet-frozen';
|
||||
export function SheetFrozenMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: SHEET_FROZEN_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.freeze',
|
||||
icon: 'FreezeToSelectedSingle',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -1061,11 +999,9 @@ export const SHEET_FROZEN_HEADER_MENU_ID = 'sheet.header-menu.sheet-frozen';
|
||||
export function SheetFrozenHeaderMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: SHEET_FROZEN_HEADER_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.freeze',
|
||||
icon: 'FreezeToSelectedSingle',
|
||||
positions: [SheetMenuPosition.ROW_HEADER_CONTEXT_MENU, SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -1074,7 +1010,6 @@ export function FrozenMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SetSelectionFrozenCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEET_FROZEN_MENU_ID, SHEET_FROZEN_HEADER_MENU_ID],
|
||||
title: 'rightClick.freeze',
|
||||
icon: 'FreezeToSelectedSingle',
|
||||
// disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1086,7 +1021,6 @@ export function FrozenRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SetRowFrozenCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEET_FROZEN_MENU_ID],
|
||||
title: 'rightClick.freezeRow',
|
||||
icon: 'FreezeRowSingle',
|
||||
// disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1098,7 +1032,6 @@ export function FrozenColMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SetColumnFrozenCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEET_FROZEN_MENU_ID],
|
||||
title: 'rightClick.freezeCol',
|
||||
icon: 'FreezeColumnSingle',
|
||||
// disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1110,7 +1043,6 @@ export function CancelFrozenMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
return {
|
||||
id: CancelFrozenCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHEET_FROZEN_MENU_ID, SHEET_FROZEN_HEADER_MENU_ID],
|
||||
title: 'rightClick.cancelFreeze',
|
||||
icon: 'CancelFreezeSingle',
|
||||
// disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1121,9 +1053,7 @@ export function CancelFrozenMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
export function HideRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: HideRowConfirmCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.ROW_HEADER_CONTEXT_MENU],
|
||||
icon: 'Hide',
|
||||
title: 'rightClick.hideSelectedRow',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetSetRowStylePermission, WorksheetEditPermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1134,9 +1064,7 @@ export function HideRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
export function HideColMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: HideColConfirmCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
icon: 'Hide',
|
||||
title: 'rightClick.hideSelectedColumn',
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetColumnStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
@@ -1154,9 +1082,7 @@ export function ShowRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetSelectedRowsVisibleCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.ROW_HEADER_CONTEXT_MENU],
|
||||
title: 'rightClick.showHideRow',
|
||||
hidden$: deriveStateFromActiveSheet$(univerInstanceService, true, ({ worksheet }) => new Observable((subscriber) => {
|
||||
function hasHiddenRowsInSelections(): boolean {
|
||||
@@ -1190,9 +1116,7 @@ export function ShowColMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: SetSelectedColsVisibleCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
title: 'rightClick.showHideColumn',
|
||||
hidden$: deriveStateFromActiveSheet$(univerInstanceService, true, ({ worksheet }) => new Observable((subscriber) => {
|
||||
function hasHiddenColsInSelections(): boolean {
|
||||
@@ -1228,10 +1152,8 @@ export function SetRowHeightMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
|
||||
return {
|
||||
id: SetRowHeightCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'AdjustHeight',
|
||||
positions: [SheetMenuPosition.ROW_HEADER_CONTEXT_MENU],
|
||||
label: {
|
||||
name: MENU_ITEM_INPUT_COMPONENT,
|
||||
props: {
|
||||
@@ -1271,10 +1193,8 @@ export function SetColWidthMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
|
||||
return {
|
||||
id: SetColWidthCommand.id,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'AdjustWidth',
|
||||
positions: [SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
label: {
|
||||
name: MENU_ITEM_INPUT_COMPONENT,
|
||||
props: {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { RangeProtectionPermissionEditPoint, RemoveWorksheetMergeCommand, WorkbookEditablePermission, WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission } from '@univerjs/sheets';
|
||||
import type { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
|
||||
import { combineLatestWith, map } from 'rxjs';
|
||||
@@ -38,8 +38,6 @@ export function CellMergeMenuItemFactory(accessor: IAccessor): IMenuSelectorItem
|
||||
id: AddWorksheetMergeCommand.id,
|
||||
icon: 'MergeAllSingle',
|
||||
tooltip: 'toolbar.mergeCell.main',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
// selections: [...MERGE_CHILDREN],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -56,7 +54,6 @@ export function CellMergeAllMenuItemFactory(accessor: IAccessor): IMenuButtonIte
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'merge.all',
|
||||
icon: 'MergeAllSingle',
|
||||
positions: [AddWorksheetMergeCommand.id],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -67,7 +64,6 @@ export function CellMergeVerticalMenuItemFactory(accessor: IAccessor): IMenuButt
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'merge.vertical',
|
||||
icon: 'VerticalIntegrationSingle',
|
||||
positions: [AddWorksheetMergeCommand.id],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -78,7 +74,6 @@ export function CellMergeHorizontalMenuItemFactory(accessor: IAccessor): IMenuBu
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'merge.horizontal',
|
||||
icon: 'HorizontalMergeSingle',
|
||||
positions: [AddWorksheetMergeCommand.id],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -89,7 +84,6 @@ export function CellMergeCancelMenuItemFactory(accessor: IAccessor): IMenuButton
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'merge.cancel',
|
||||
icon: 'CancelMergeSingle',
|
||||
positions: [AddWorksheetMergeCommand.id],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { IMenuButtonItem, IMenuItem, IMenuSelectorItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
@@ -23,7 +23,6 @@ import { AddRangeProtectionFromContextMenuCommand, AddRangeProtectionFromSheetBa
|
||||
import { permissionLockIconKey, permissionMenuIconKey } from '../../consts/permission';
|
||||
import { ChangeSheetProtectionFromSheetBarCommand, DeleteWorksheetProtectionFormSheetBarCommand } from '../../commands/commands/worksheet-protection.command';
|
||||
import { getAddPermissionDisableBase$, getAddPermissionFromSheetBarDisable$, getAddPermissionHidden$, getEditPermissionHidden$, getPermissionDisableBase$, getRemovePermissionDisable$, getRemovePermissionFromSheetBarDisable$, getSetPermissionFromSheetBarDisable$, getViewPermissionDisable$ } from './permission-menu-util';
|
||||
import { SheetMenuPosition } from './menu';
|
||||
|
||||
export const SHEET_PERMISSION_CONTEXT_MENU_ID = 'sheet.contextMenu.permission';
|
||||
|
||||
@@ -31,10 +30,6 @@ export function sheetPermissionToolbarMenuFactory(accessor: IAccessor): IMenuIte
|
||||
return {
|
||||
id: AddRangeProtectionFromToolbarCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [
|
||||
MenuPosition.TOOLBAR_START,
|
||||
],
|
||||
group: MenuGroup.TOOLBAR_OTHERS,
|
||||
icon: permissionMenuIconKey,
|
||||
tooltip: 'permission.toolbarMenu',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -45,11 +40,9 @@ export function sheetPermissionToolbarMenuFactory(accessor: IAccessor): IMenuIte
|
||||
export function sheetPermissionContextMenuFactory(accessor: IAccessor): IMenuSelectorItem<string> {
|
||||
return {
|
||||
id: SHEET_PERMISSION_CONTEXT_MENU_ID,
|
||||
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
title: 'rightClick.protectRange',
|
||||
icon: permissionLockIconKey,
|
||||
positions: [MenuPosition.CONTEXT_MENU, SheetMenuPosition.ROW_HEADER_CONTEXT_MENU, SheetMenuPosition.COL_HEADER_CONTEXT_MENU],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
}
|
||||
@@ -59,7 +52,6 @@ export function sheetPermissionAddProtectContextMenuFactory(accessor: IAccessor)
|
||||
id: AddRangeProtectionFromContextMenuCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.turnOnProtectRange',
|
||||
positions: [SHEET_PERMISSION_CONTEXT_MENU_ID],
|
||||
hidden$: getAddPermissionHidden$(accessor),
|
||||
disabled$: getAddPermissionDisableBase$(accessor),
|
||||
};
|
||||
@@ -70,7 +62,6 @@ export function sheetPermissionEditProtectContextMenuFactory(accessor: IAccessor
|
||||
id: SetRangeProtectionFromContextMenuCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.editProtectRange',
|
||||
positions: [SHEET_PERMISSION_CONTEXT_MENU_ID],
|
||||
hidden$: getEditPermissionHidden$(accessor),
|
||||
disabled$: getPermissionDisableBase$(accessor),
|
||||
};
|
||||
@@ -81,7 +72,6 @@ export function sheetPermissionRemoveProtectContextMenuFactory(accessor: IAccess
|
||||
id: DeleteRangeProtectionFromContextMenuCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.removeProtectRange',
|
||||
positions: [SHEET_PERMISSION_CONTEXT_MENU_ID],
|
||||
disabled$: getRemovePermissionDisable$(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -92,7 +82,6 @@ export function sheetPermissionViewAllProtectRuleContextMenuFactory(accessor: IA
|
||||
id: ViewSheetPermissionFromContextMenuCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.viewAllProtectArea',
|
||||
positions: [SHEET_PERMISSION_CONTEXT_MENU_ID],
|
||||
disabled$: getViewPermissionDisable$(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
};
|
||||
@@ -102,7 +91,6 @@ export function sheetPermissionProtectSheetInSheetBarMenuFactory(accessor: IAcce
|
||||
return {
|
||||
id: AddRangeProtectionFromSheetBarCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.addProtectSheet',
|
||||
disabled$: getAddPermissionFromSheetBarDisable$(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -113,7 +101,6 @@ export function sheetPermissionRemoveProtectionSheetBarMenuFactory(accessor: IAc
|
||||
return {
|
||||
id: DeleteWorksheetProtectionFormSheetBarCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.removeProtectSheet',
|
||||
disabled$: getRemovePermissionFromSheetBarDisable$(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -124,7 +111,6 @@ export function sheetPermissionChangeSheetPermissionSheetBarMenuFactory(accessor
|
||||
return {
|
||||
id: ChangeSheetProtectionFromSheetBarCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.changeSheetPermission',
|
||||
disabled$: getSetPermissionFromSheetBarDisable$(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -135,7 +121,6 @@ export function sheetPermissionViewAllProtectRuleSheetBarMenuFactory(accessor: I
|
||||
return {
|
||||
id: ViewSheetPermissionFromSheetBarCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.viewAllProtectArea',
|
||||
disabled$: getViewPermissionDisable$(accessor),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
|
||||
@@ -39,7 +39,6 @@ import { RemoveSheetConfirmCommand } from '../../commands/commands/remove-sheet-
|
||||
import { ShowMenuListCommand } from '../../commands/commands/unhide.command';
|
||||
import { RenameSheetOperation } from '../../commands/operations/rename-sheet.operation';
|
||||
import { COLOR_PICKER_COMPONENT } from '../../components/color-picker';
|
||||
import { SheetMenuPosition } from './menu';
|
||||
import { getWorkbookPermissionDisable$ } from './menu-util';
|
||||
|
||||
export function DeleteSheetMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
@@ -67,7 +66,6 @@ export function DeleteSheetMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
return {
|
||||
id: RemoveSheetConfirmCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.delete',
|
||||
disabled$: combineLatest([defaultDisable$, permissionDisable$]).pipe(
|
||||
map(([defaultDisabled, permissionDisabled]) => {
|
||||
@@ -82,7 +80,6 @@ export function CopySheetMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: CopySheetCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.copy',
|
||||
disabled$: getWorkbookPermissionDisable$(accessor, [WorkbookEditablePermission, WorkbookCreateSheetPermission]),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -93,7 +90,6 @@ export function RenameSheetMenuItemFactory(accessor: IAccessor): IMenuButtonItem
|
||||
return {
|
||||
id: RenameSheetOperation.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.rename',
|
||||
disabled$: getWorkbookPermissionDisable$(accessor, [WorkbookEditablePermission, WorkbookRenameSheetPermission]),
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
@@ -104,7 +100,6 @@ export function ChangeColorSheetMenuItemFactory(accessor: IAccessor): IMenuSelec
|
||||
return {
|
||||
id: SetTabColorCommand.id,
|
||||
title: 'sheetConfig.changeColor',
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
type: MenuItemType.SELECTOR,
|
||||
selections: [
|
||||
{
|
||||
@@ -125,7 +120,6 @@ export function HideSheetMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SetWorksheetHideCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.hide',
|
||||
disabled$: new Observable<boolean>((subscriber) => {
|
||||
const disposable = commandService.onCommandExecuted((c) => {
|
||||
@@ -176,7 +170,6 @@ export function UnHideSheetMenuItemFactory(accessor: IAccessor): IMenuSelectorIt
|
||||
return {
|
||||
id: SetWorksheetShowCommand.id,
|
||||
type: MenuItemType.SELECTOR,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.unhide',
|
||||
disabled$: defaultDisable$.pipe(
|
||||
combineLatestWith(getWorkbookPermissionDisable$(accessor, [WorkbookEditablePermission, WorkbookHideSheetPermission])),
|
||||
@@ -207,7 +200,6 @@ export function ShowMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: ShowMenuListCommand.id,
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SheetMenuPosition.SHEET_BAR],
|
||||
title: 'sheetConfig.unhide',
|
||||
disabled$: new Observable<boolean>((subscriber) => {
|
||||
function disableFunction() {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { type IMenuButtonItem, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { type IMenuButtonItem, MenuItemType } from '@univerjs/ui';
|
||||
|
||||
import { getCurrentExclusiveRangeInterest$, getCurrentRangeDisable$ } from '@univerjs/sheets-ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
@@ -24,11 +24,9 @@ import { OpenZenEditorOperation } from '../commands/operations/zen-editor.operat
|
||||
export function ZenEditorMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: OpenZenEditorOperation.id,
|
||||
group: MenuGroup.CONTEXT_MENU_OTHERS,
|
||||
type: MenuItemType.BUTTON,
|
||||
title: 'rightClick.zenEditor',
|
||||
icon: 'AmplifySingle',
|
||||
positions: [MenuPosition.CONTEXT_MENU],
|
||||
hidden$: getCurrentExclusiveRangeInterest$(accessor),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellValuePermission, WorksheetSetCellStylePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { IMenuItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { COMPONENT_UPLOAD_FILE_MENU, UploadFileType } from '../components/upload-component/component-name';
|
||||
@@ -28,8 +28,6 @@ export function SlideImageMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: IMAGE_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
icon: IMAGE_UPLOAD_ICON,
|
||||
tooltip: 'slide.image.insert.title',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SLIDE),
|
||||
@@ -48,7 +46,6 @@ export function UploadSlideFloatImageMenuFactory(_accessor: IAccessor): IMenuIte
|
||||
type: UploadFileType.floatImage,
|
||||
},
|
||||
},
|
||||
positions: [IMAGE_MENU_ID],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SLIDE),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { IMenuButtonItem, IMenuItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import { InsertSlideShapeRectangleCommand } from '../commands/operations/insert-shape.operation';
|
||||
@@ -27,8 +27,6 @@ export function SlideShapeMenuFactory(accessor: IAccessor): IMenuItem {
|
||||
return {
|
||||
id: SHAPE_MENU_ID,
|
||||
type: MenuItemType.SUBITEMS,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
icon: GRAPH_SINGLE_ICON,
|
||||
tooltip: 'slide.shape.insert.title',
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SLIDE),
|
||||
@@ -41,7 +39,6 @@ export function UploadSlideFloatShapeMenuFactory(_accessor: IAccessor): IMenuBut
|
||||
id: InsertSlideShapeRectangleCommand.id,
|
||||
title: 'slide.shape.insert.rectangle',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [SHAPE_MENU_ID],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SLIDE),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
import type { IMenuButtonItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuGroup, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import { SlideAddTextCommand } from '../commands/operations/insert-text.operation';
|
||||
|
||||
export const TEXT_ICON_ID = 'text-single';
|
||||
@@ -25,11 +25,9 @@ export const TEXT_ICON_ID = 'text-single';
|
||||
export function SlideAddTextMenuItemFactory(_accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
id: SlideAddTextCommand.id,
|
||||
group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: TEXT_ICON_ID,
|
||||
tooltip: 'slide.text.insert.title',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SLIDE),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,19 +19,17 @@ import type { IAccessor } from '@univerjs/core';
|
||||
import { map } from 'rxjs/operators';
|
||||
|
||||
import type { IMenuButtonItem } from '../../services/menu/menu';
|
||||
import { MenuGroup, MenuItemType, MenuPosition } from '../../services/menu/menu';
|
||||
import { MenuItemType } from '../../services/menu/menu';
|
||||
|
||||
export function UndoMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
const undoRedoService = accessor.get(IUndoRedoService);
|
||||
|
||||
return {
|
||||
id: UndoCommand.id,
|
||||
group: MenuGroup.TOOLBAR_HISTORY,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'UndoSingle',
|
||||
title: 'Undo',
|
||||
tooltip: 'toolbar.undo',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: undoRedoService.undoRedoStatus$.pipe(map((v) => v.undos <= 0)),
|
||||
};
|
||||
}
|
||||
@@ -41,12 +39,10 @@ export function RedoMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
|
||||
return {
|
||||
id: RedoCommand.id,
|
||||
group: MenuGroup.TOOLBAR_HISTORY,
|
||||
type: MenuItemType.BUTTON,
|
||||
icon: 'RedoSingle',
|
||||
title: 'Redo',
|
||||
tooltip: 'toolbar.redo',
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
disabled$: undoRedoService.undoRedoStatus$.pipe(map((v) => v.redos <= 0)),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import type { IAccessor } from '@univerjs/core';
|
||||
import { ToggleShortcutPanelOperation } from '../../commands/operations/toggle-shortcut-panel.operation';
|
||||
import { getMenuHiddenObservable } from '../../common/menu-hidden-observable';
|
||||
import type { IMenuButtonItem } from '../../services/menu/menu';
|
||||
import { MenuItemType, MenuPosition } from '../../services/menu/menu';
|
||||
import { MenuItemType } from '../../services/menu/menu';
|
||||
|
||||
export function ShortcutPanelMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
return {
|
||||
@@ -29,7 +29,6 @@ export function ShortcutPanelMenuItemFactory(accessor: IAccessor): IMenuButtonIt
|
||||
tooltip: 'toggle-shortcut-panel',
|
||||
icon: 'KeyboardSingle',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
// disabled$: getCurrentSheetDisabled$(accessor),
|
||||
};
|
||||
|
||||
@@ -90,7 +90,7 @@ export class MenuService extends Disposable implements IMenuService {
|
||||
|
||||
if (Array.isArray(item.positions)) {
|
||||
item.positions.forEach((menu) => this._appendMenuToPosition(item, menu));
|
||||
} else {
|
||||
} else if (item.positions) {
|
||||
this._appendMenuToPosition(item, item.positions);
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ export class MenuService extends Disposable implements IMenuService {
|
||||
menus.splice(index, 1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
} else if (item.positions) {
|
||||
const menus = this._menuByPositions.get(item.positions);
|
||||
if (!menus) {
|
||||
return;
|
||||
@@ -187,7 +187,7 @@ export class MenuService extends Disposable implements IMenuService {
|
||||
this._menuItemMap.set(item.id, item);
|
||||
if (Array.isArray(item.positions)) {
|
||||
item.positions.forEach((menu) => this._updateMenuItems(item, menu));
|
||||
} else {
|
||||
} else if (item.positions) {
|
||||
this._updateMenuItems(item, item.positions);
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ interface IMenuItemBase<V> {
|
||||
|
||||
/** In what menu should the item display. */
|
||||
/** @deprecated positions will be removed in the future. */
|
||||
positions: OneOrMany<MenuPosition | string>;
|
||||
positions?: OneOrMany<MenuPosition | string>;
|
||||
|
||||
type: MenuItemType;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import type { IMenuButtonItem } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType, MenuPosition } from '@univerjs/ui';
|
||||
import { getMenuHiddenObservable, MenuItemType } from '@univerjs/ui';
|
||||
import type { IAccessor } from '@univerjs/core';
|
||||
|
||||
import { UniverInstanceType } from '@univerjs/core';
|
||||
@@ -30,7 +30,6 @@ export function UniscriptMenuItemFactory(accessor: IAccessor): IMenuButtonItem {
|
||||
tooltip: 'script-panel.tooltip.menu-button',
|
||||
icon: 'CodeSingle',
|
||||
type: MenuItemType.BUTTON,
|
||||
positions: [MenuPosition.TOOLBAR_START],
|
||||
// FIXME hidden$ and disabled$ are not correctly in doc
|
||||
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SHEET),
|
||||
disabled$: getCurrentRangeDisable$(accessor, { workbookTypes: [WorkbookEditablePermission], worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission], rangeTypes: [RangeProtectionPermissionEditPoint] }),
|
||||
|
||||
Reference in New Issue
Block a user