@univerjs/sheets-ui 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/lib/cjs/index.js +13 -14
  2. package/lib/es/index.js +11895 -10320
  3. package/lib/index.css +1 -1
  4. package/lib/locale/en-US.json +612 -0
  5. package/lib/locale/ru-RU.json +612 -0
  6. package/lib/locale/zh-CN.json +612 -0
  7. package/lib/types/basics/const/permission.d.ts +16 -0
  8. package/lib/types/commands/commands/clipboard.command.d.ts +5 -0
  9. package/lib/types/commands/commands/range-protection.command.d.ts +28 -0
  10. package/lib/types/commands/commands/worksheet-protection.command.d.ts +21 -0
  11. package/lib/types/commands/operations/sheet-permission-open-dialog.operation.d.ts +3 -0
  12. package/lib/types/commands/operations/sheet-permission-open-panel.operation.d.ts +7 -0
  13. package/lib/types/common/keys.d.ts +4 -3
  14. package/lib/types/common/utils.d.ts +2 -0
  15. package/lib/types/controllers/clipboard/utils.d.ts +1 -1
  16. package/lib/types/controllers/editor/formula-editor.controller.d.ts +11 -1
  17. package/lib/types/controllers/hover-render.controller.d.ts +4 -1
  18. package/lib/types/controllers/menu/menu-util.d.ts +10 -1
  19. package/lib/types/controllers/menu/permission-menu-util.d.ts +14 -0
  20. package/lib/types/controllers/menu/permission.menu.d.ts +14 -0
  21. package/lib/types/controllers/permission/sheet-permission-init.controller.d.ts +26 -0
  22. package/lib/types/controllers/permission/sheet-permission-interceptor-base.controller.d.ts +37 -0
  23. package/lib/types/controllers/permission/sheet-permission-interceptor-canvas-render.controller.d.ts +29 -0
  24. package/lib/types/controllers/permission/sheet-permission-interceptor-clipboard.controller.d.ts +16 -0
  25. package/lib/types/controllers/permission/sheet-permission-interceptor-formula-render.controller.d.ts +19 -0
  26. package/lib/types/controllers/permission/sheet-permission-render.controller.d.ts +19 -0
  27. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +14 -1
  28. package/lib/types/controllers/render-controllers/header-move.render-controller.d.ts +5 -1
  29. package/lib/types/controllers/render-controllers/header-resize.render-controller.d.ts +11 -1
  30. package/lib/types/controllers/sheet-render.controller.d.ts +11 -0
  31. package/lib/types/controllers/status-bar.controller.d.ts +6 -2
  32. package/lib/types/hooks/useHighlightRange.d.ts +3 -0
  33. package/lib/types/index.d.ts +12 -3
  34. package/lib/types/locale/zh-CN.d.ts +98 -0
  35. package/lib/types/services/hover-manager.service.d.ts +1 -2
  36. package/lib/types/services/permission/permission-render.service.d.ts +17 -0
  37. package/lib/types/services/permission/sheet-permission-panel.model.d.ts +27 -0
  38. package/lib/types/services/permission/sheet-permission-user-list.service.d.ts +18 -0
  39. package/lib/types/services/selection/selection-render.service.d.ts +31 -14
  40. package/lib/types/views/defined-name/DefinedName.d.ts +3 -1
  41. package/lib/types/views/permission/error-msg-dialog/index.d.ts +5 -0
  42. package/lib/types/{locale/index.d.ts → views/permission/error-msg-dialog/interface.d.ts} +2 -3
  43. package/lib/types/views/permission/footer/index.d.ts +5 -0
  44. package/lib/types/views/permission/footer/permission-detail-footer.d.ts +3 -0
  45. package/lib/types/views/permission/footer/permission-list-footer.d.ts +3 -0
  46. package/lib/types/views/permission/index.d.ts +21 -0
  47. package/lib/types/views/permission/panel/index.d.ts +8 -0
  48. package/lib/types/views/permission/panel-detail/index.d.ts +5 -0
  49. package/lib/types/views/permission/panel-list/constant.d.ts +16 -0
  50. package/lib/types/views/permission/panel-list/index.d.ts +3 -0
  51. package/lib/types/views/permission/permission-dialog/index.d.ts +3 -0
  52. package/lib/types/views/permission/spin/index.d.ts +8 -0
  53. package/lib/types/views/permission/user-dialog/constant.d.ts +16 -0
  54. package/lib/types/views/permission/user-dialog/index.d.ts +3 -0
  55. package/lib/types/views/sheet-bar/sheet-bar-menu/SheetBarMenu.d.ts +1 -1
  56. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +1 -1
  57. package/lib/types/views/sheet-bar/sheet-bar-tabs/utils/slide-tab-bar.d.ts +1 -0
  58. package/lib/types/views/sheet-canvas-view.d.ts +13 -0
  59. package/lib/types/views/sheet-container/SheetContainer.d.ts +3 -0
  60. package/lib/umd/index.js +13 -14
  61. package/package.json +23 -21
@@ -0,0 +1,21 @@
1
+ import { ICommand } from '@univerjs/core';
2
+ import { IWorksheetProtectionRule } from '@univerjs/sheets';
3
+
4
+ export interface IAddWorksheetProtectionParams {
5
+ unitId: string;
6
+ rule: IWorksheetProtectionRule;
7
+ }
8
+ export interface IDeleteWorksheetProtectionParams {
9
+ unitId: string;
10
+ subUnitId: string;
11
+ rule: IWorksheetProtectionRule;
12
+ }
13
+ export interface ISetWorksheetProtectionParams {
14
+ permissionId: string;
15
+ rule: IWorksheetProtectionRule;
16
+ }
17
+ export declare const AddWorksheetProtectionCommand: ICommand<IAddWorksheetProtectionParams>;
18
+ export declare const DeleteWorksheetProtectionCommand: ICommand<IDeleteWorksheetProtectionParams>;
19
+ export declare const SetWorksheetProtectionCommand: ICommand<ISetWorksheetProtectionParams>;
20
+ export declare const DeleteWorksheetProtectionFormSheetBarCommand: ICommand;
21
+ export declare const ChangeSheetProtectionFromSheetBarCommand: ICommand;
@@ -0,0 +1,3 @@
1
+ import { ICommand } from '@univerjs/core';
2
+
3
+ export declare const SheetPermissionOpenDialogOperation: ICommand;
@@ -0,0 +1,7 @@
1
+ import { ICommand } from '@univerjs/core';
2
+
3
+ export interface IPermissionOpenPanelParam {
4
+ fromSheetBar?: boolean;
5
+ showDetail?: boolean;
6
+ }
7
+ export declare const SheetPermissionOpenPanelOperation: ICommand<IPermissionOpenPanelParam>;
@@ -31,7 +31,8 @@ export declare enum VIEWPORT_KEY {
31
31
  VIEW_LEFT_TOP = "viewLeftTop"
32
32
  }
33
33
  export declare const SHEET_COMPONENT_MAIN_LAYER_INDEX = 0;
34
- export declare const SHEET_COMPONENT_HEADER_LAYER_INDEX = 2;
35
- export declare const SHEET_COMPONENT_SELECTION_LAYER_INDEX = 3;
34
+ export declare const SHEET_COMPONENT_SELECTION_LAYER_INDEX = 1;
35
+ export declare const SHEET_COMPONENT_HEADER_LAYER_INDEX = 10;
36
36
  export declare const SHEET_ZOOM_RANGE: number[];
37
- export declare const SHEET_COMPONENT_UNHIDE_LAYER_INDEX = 1001;
37
+ export declare const SHEET_COMPONENT_HEADER_SELECTION_LAYER_INDEX = 11;
38
+ export declare const SHEET_COMPONENT_UNHIDE_LAYER_INDEX = 12;
@@ -2,8 +2,10 @@ import { ICellData, IMutationInfo, IPosition, IRange, Nullable, Workbook, Worksh
2
2
  import { ISheetLocation } from '@univerjs/sheets';
3
3
  import { IAccessor } from '@wendellhu/redi';
4
4
  import { IBoundRectNoAngle, IRender, Scene, SpreadsheetSkeleton } from '@univerjs/engine-render';
5
+ import { ICollaborator } from '@univerjs/protocol';
5
6
  import { ISheetSkeletonManagerParam } from '../services/sheet-skeleton-manager.service';
6
7
 
8
+ export declare function getUserListEqual(userList1: ICollaborator[], userList2: ICollaborator[]): boolean;
7
9
  export declare function checkCellContentInRanges(worksheet: Worksheet, ranges: IRange[]): boolean;
8
10
  export declare function checkCellContentInRange(worksheet: Worksheet, range: IRange): boolean;
9
11
  export declare function getClearContentMutationParamsForRanges(accessor: IAccessor, unitId: string, worksheet: Worksheet, ranges: IRange[]): {
@@ -23,7 +23,7 @@ export declare function getSetCellValueMutations(pasteTo: ISheetDiscreteRangeLoc
23
23
  undos: IMutationInfo<object>[];
24
24
  redos: IMutationInfo<object>[];
25
25
  };
26
- export declare function getSetCellStyleMutations(pasteTo: ISheetDiscreteRangeLocation, matrix: ObjectMatrix<ICellDataWithSpanInfo>, accessor: IAccessor): {
26
+ export declare function getSetCellStyleMutations(pasteTo: ISheetDiscreteRangeLocation, matrix: ObjectMatrix<ICellDataWithSpanInfo>, accessor: IAccessor, withRichFormat?: boolean): {
27
27
  undos: IMutationInfo<object>[];
28
28
  redos: IMutationInfo<object>[];
29
29
  };
@@ -1,9 +1,13 @@
1
- import { ICommandService, IContextService, IUndoRedoService, IUniverInstanceService, RxDisposable } from '@univerjs/core';
1
+ import { ICommandService, IContextService, InterceptorManager, IUndoRedoService, IUniverInstanceService, RxDisposable } from '@univerjs/core';
2
2
  import { DocSkeletonManagerService, DocViewModelManagerService, TextSelectionManagerService } from '@univerjs/docs';
3
3
  import { IRenderManagerService } from '@univerjs/engine-render';
4
4
  import { IFormulaEditorManagerService } from '../../services/editor/formula-editor-manager.service';
5
5
  import { IEditorBridgeService } from '../../services/editor-bridge.service';
6
6
 
7
+ export declare const FORMULA_EDIT_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, {
8
+ row: number;
9
+ col: number;
10
+ }>;
7
11
  export declare class FormulaEditorController extends RxDisposable {
8
12
  private readonly _univerInstanceService;
9
13
  private readonly _renderManagerService;
@@ -16,6 +20,12 @@ export declare class FormulaEditorController extends RxDisposable {
16
20
  private readonly _docViewModelManagerService;
17
21
  private readonly _textSelectionManagerService;
18
22
  private _loadedMap;
23
+ interceptor: InterceptorManager<{
24
+ FORMULA_EDIT_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, {
25
+ row: number;
26
+ col: number;
27
+ }>;
28
+ }>;
19
29
  constructor(_univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _commandService: ICommandService, _contextService: IContextService, _formulaEditorManagerService: IFormulaEditorManagerService, _undoRedoService: IUndoRedoService, _docSkeletonManagerService: DocSkeletonManagerService, _docViewModelManagerService: DocViewModelManagerService, _textSelectionManagerService: TextSelectionManagerService);
20
30
  private _initialize;
21
31
  private _create;
@@ -2,12 +2,15 @@ import { Workbook, Disposable } from '@univerjs/core';
2
2
  import { IRenderContext, IRenderController, IRenderManagerService } from '@univerjs/engine-render';
3
3
  import { HoverManagerService } from '../services/hover-manager.service';
4
4
  import { SheetSkeletonManagerService } from '../services/sheet-skeleton-manager.service';
5
+ import { ScrollManagerService } from '../services/scroll-manager.service';
5
6
 
6
7
  export declare class HoverRenderController extends Disposable implements IRenderController {
7
8
  private readonly _context;
8
9
  private _renderManagerService;
9
10
  private _hoverManagerService;
10
11
  private _sheetSkeletonManagerService;
11
- constructor(_context: IRenderContext<Workbook>, _renderManagerService: IRenderManagerService, _hoverManagerService: HoverManagerService, _sheetSkeletonManagerService: SheetSkeletonManagerService);
12
+ private _scrollManagerService;
13
+ constructor(_context: IRenderContext<Workbook>, _renderManagerService: IRenderManagerService, _hoverManagerService: HoverManagerService, _sheetSkeletonManagerService: SheetSkeletonManagerService, _scrollManagerService: ScrollManagerService);
12
14
  private _initPointerEvent;
15
+ private _initScrollEvent;
13
16
  }
@@ -1,4 +1,5 @@
1
- import { IUniverInstanceService, Workbook, Worksheet } from '@univerjs/core';
1
+ import { IPermissionTypes, Workbook, Worksheet, IUniverInstanceService } from '@univerjs/core';
2
+ import { IAccessor } from '@wendellhu/redi';
2
3
  import { Observable } from 'rxjs';
3
4
 
4
5
  interface IActive {
@@ -6,4 +7,12 @@ interface IActive {
6
7
  worksheet: Worksheet;
7
8
  }
8
9
  export declare function deriveStateFromActiveSheet$<T>(univerInstanceService: IUniverInstanceService, defaultValue: T, callback: (active: IActive) => Observable<T>): Observable<T>;
10
+ export declare function getCurrentRangeDisable$(accessor: IAccessor, permissionTypes?: IPermissionTypes): Observable<boolean>;
11
+ export declare function getCommentDisable$(accessor: IAccessor, permissionTypes?: IPermissionTypes): Observable<boolean>;
12
+ export declare function getBaseRangeMenuHidden$(accessor: IAccessor): Observable<boolean>;
13
+ export declare function getInsertAfterMenuHidden$(accessor: IAccessor, type: 'row' | 'col'): Observable<boolean>;
14
+ export declare function getInsertBeforeMenuHidden$(accessor: IAccessor, type: 'row' | 'col'): Observable<boolean>;
15
+ export declare function getDeleteMenuHidden$(accessor: IAccessor, type: 'row' | 'col'): Observable<boolean>;
16
+ export declare function getCellMenuHidden$(accessor: IAccessor, type: 'row' | 'col'): Observable<boolean>;
17
+ export declare function getWorkbookPermissionDisable$(accessor: IAccessor): Observable<boolean>;
9
18
  export {};
@@ -0,0 +1,14 @@
1
+ import { ICellData } from '@univerjs/core';
2
+ import { ISheetRenderExtension } from '@univerjs/engine-render';
3
+ import { IAccessor } from '@wendellhu/redi';
4
+
5
+ export declare function getAddPermissionHidden$(accessor: IAccessor): import('rxjs').Observable<boolean>;
6
+ export declare function getEditPermissionHidden$(accessor: IAccessor): import('rxjs').Observable<boolean>;
7
+ export declare function getPermissionDisableBase$(accessor: IAccessor): import('rxjs').Observable<boolean>;
8
+ export declare function getAddPermissionDisableBase$(accessor: IAccessor): import('rxjs').Observable<boolean>;
9
+ export declare function getAddPermissionFromSheetBarDisable$(accessor: IAccessor): import('rxjs').Observable<boolean>;
10
+ export declare function getRemovePermissionFromSheetBarDisable$(accessor: IAccessor): import('rxjs').Observable<boolean>;
11
+ export declare function getSetPermissionFromSheetBarDisable$(accessor: IAccessor): import('rxjs').Observable<boolean>;
12
+ export declare function getRemovePermissionDisable$(accessor: IAccessor): import('rxjs').Observable<boolean>;
13
+ export declare function getViewPermissionDisable$(accessor: IAccessor): import('rxjs').Observable<boolean>;
14
+ export declare const changeRenderExtensionSkip: (cellData: ICellData & ISheetRenderExtension, key: keyof ISheetRenderExtension, value: boolean) => void;
@@ -0,0 +1,14 @@
1
+ import { IMenuButtonItem, IMenuItem, IMenuSelectorItem } from '@univerjs/ui';
2
+ import { IAccessor } from '@wendellhu/redi';
3
+
4
+ export declare const tmpIcon = "data-validation-single";
5
+ export declare function sheetPermissionToolbarMenuFactory(accessor: IAccessor): IMenuItem;
6
+ export declare function sheetPermissionContextMenuFactory(): IMenuSelectorItem<string>;
7
+ export declare function sheetPermissionAddProtectContextMenuFactory(accessor: IAccessor): IMenuButtonItem;
8
+ export declare function sheetPermissionEditProtectContextMenuFactory(accessor: IAccessor): IMenuButtonItem;
9
+ export declare function sheetPermissionRemoveProtectContextMenuFactory(accessor: IAccessor): IMenuButtonItem;
10
+ export declare function sheetPermissionViewAllProtectRuleContextMenuFactory(accessor: IAccessor): IMenuButtonItem;
11
+ export declare function sheetPermissionProtectSheetInSheetBarMenuFactory(accessor: IAccessor): IMenuButtonItem;
12
+ export declare function sheetPermissionRemoveProtectionSheetBarMenuFactory(accessor: IAccessor): IMenuButtonItem;
13
+ export declare function sheetPermissionChangeSheetPermissionSheetBarMenuFactory(accessor: IAccessor): IMenuButtonItem;
14
+ export declare function sheetPermissionViewAllProtectRuleSheetBarMenuFactory(accessor: IAccessor): IMenuButtonItem;
@@ -0,0 +1,26 @@
1
+ import { Disposable, IAuthzIoService, IPermissionService, IUniverInstanceService, UserManagerService } from '@univerjs/core';
2
+ import { RangeProtectionRenderModel, RangeProtectionRuleModel, SheetInterceptorService, WorksheetProtectionPointModel, WorksheetProtectionRuleModel } from '@univerjs/sheets';
3
+ import { IDialogService } from '@univerjs/ui';
4
+
5
+ export declare class SheetPermissionInitController extends Disposable {
6
+ private readonly _univerInstanceService;
7
+ private readonly _dialogService;
8
+ private _permissionService;
9
+ private _authzIoService;
10
+ private _rangeProtectionRuleModel;
11
+ private _worksheetProtectionRuleModel;
12
+ private _userManagerService;
13
+ private _worksheetProtectionPointRuleModel;
14
+ private _sheetInterceptorService;
15
+ private _selectionProtectionRenderModel;
16
+ constructor(_univerInstanceService: IUniverInstanceService, _dialogService: IDialogService, _permissionService: IPermissionService, _authzIoService: IAuthzIoService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _userManagerService: UserManagerService, _worksheetProtectionPointRuleModel: WorksheetProtectionPointModel, _sheetInterceptorService: SheetInterceptorService, _selectionProtectionRenderModel: RangeProtectionRenderModel);
17
+ private _initRangePermissionFromSnapshot;
18
+ private _initRangePermissionChange;
19
+ private _initWorkbookPermissionChange;
20
+ private _initWorksheetPermissionChange;
21
+ private _initWorksheetPermissionPointsChange;
22
+ private _initWorksheetPermissionFromSnapshot;
23
+ private _initUserChange;
24
+ private _initViewModelByRangeInterceptor;
25
+ private _initViewModelBySheetInterceptor;
26
+ }
@@ -0,0 +1,37 @@
1
+ import { IPermissionTypes, IRange, Disposable, DisposableCollection, ICommandService, IContextService, IPermissionService, IUniverInstanceService, LocaleService } from '@univerjs/core';
2
+ import { RangeProtectionRuleModel, SelectionManagerService, WorksheetProtectionRuleModel } from '@univerjs/sheets';
3
+ import { IDialogService } from '@univerjs/ui';
4
+ import { IDefinedNamesService, LexerTreeBuilder } from '@univerjs/engine-formula';
5
+ import { IAutoFillService } from '../../services/auto-fill/auto-fill.service';
6
+
7
+ export declare const SHEET_PERMISSION_PASTE_PLUGIN = "SHEET_PERMISSION_PASTE_PLUGIN";
8
+ export declare class SheetPermissionInterceptorBaseController extends Disposable {
9
+ private readonly _commandService;
10
+ private readonly _univerInstanceService;
11
+ private readonly _permissionService;
12
+ private readonly _selectionManagerService;
13
+ private readonly _dialogService;
14
+ private _rangeProtectionRuleModel;
15
+ private _worksheetProtectionRuleModel;
16
+ private _autoFillService;
17
+ private readonly _localeService;
18
+ private readonly _lexerTreeBuilder;
19
+ private readonly _contextService;
20
+ private readonly _definedNamesService;
21
+ disposableCollection: DisposableCollection;
22
+ constructor(_commandService: ICommandService, _univerInstanceService: IUniverInstanceService, _permissionService: IPermissionService, _selectionManagerService: SelectionManagerService, _dialogService: IDialogService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _autoFillService: IAutoFillService, _localeService: LocaleService, _lexerTreeBuilder: LexerTreeBuilder, _contextService: IContextService, _definedNamesService: IDefinedNamesService);
23
+ haveNotPermissionHandle(errorMsg: string): void;
24
+ private _getPermissionCheck;
25
+ private _initialize;
26
+ private _commandExecutedListener;
27
+ private _permissionCheckWithInsertRangeMove;
28
+ private _permissionCheckByWorksheetCommand;
29
+ permissionCheckWithoutRange(permissionTypes: IPermissionTypes): boolean;
30
+ permissionCheckWithRanges(permissionTypes: IPermissionTypes, selectionRanges?: IRange[], unitId?: string, subUnitId?: string): boolean;
31
+ private _permissionCheckByPaste;
32
+ private _permissionCheckByMoveCommand;
33
+ private _permissionCheckByAutoFillCommand;
34
+ private _permissionCheckByMoveRangeCommand;
35
+ private _permissionCheckBySetRangeValue;
36
+ private _permissionCheckWithFormula;
37
+ }
@@ -0,0 +1,29 @@
1
+ import { Workbook, DisposableCollection, IPermissionService, IUniverInstanceService, RxDisposable } from '@univerjs/core';
2
+ import { RangeProtectionRuleModel, SelectionManagerService } from '@univerjs/sheets';
3
+ import { IDialogService } from '@univerjs/ui';
4
+ import { IRenderContext, IRenderController } from '@univerjs/engine-render';
5
+ import { HeaderMoveRenderController } from '../render-controllers/header-move.render-controller';
6
+ import { HeaderResizeRenderController } from '../render-controllers/header-resize.render-controller';
7
+ import { ISelectionRenderService } from '../../services/selection/selection-render.service';
8
+ import { HeaderFreezeRenderController } from '../render-controllers/freeze.render-controller';
9
+
10
+ export declare const SHEET_PERMISSION_PASTE_PLUGIN = "SHEET_PERMISSION_PASTE_PLUGIN";
11
+ export declare class SheetPermissionInterceptorCanvasRenderController extends RxDisposable implements IRenderController {
12
+ private readonly _context;
13
+ private readonly _univerInstanceService;
14
+ private readonly _permissionService;
15
+ private readonly _selectionManagerService;
16
+ private readonly _dialogService;
17
+ private _rangeProtectionRuleModel;
18
+ private _headerMoveRenderController;
19
+ private _headerResizeRenderController;
20
+ private _selectionRenderService;
21
+ private _headerFreezeRenderController;
22
+ disposableCollection: DisposableCollection;
23
+ constructor(_context: IRenderContext<Workbook>, _univerInstanceService: IUniverInstanceService, _permissionService: IPermissionService, _selectionManagerService: SelectionManagerService, _dialogService: IDialogService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _headerMoveRenderController: HeaderMoveRenderController, _headerResizeRenderController: HeaderResizeRenderController, _selectionRenderService: ISelectionRenderService, _headerFreezeRenderController: HeaderFreezeRenderController);
24
+ private _initHeaderMovePermissionInterceptor;
25
+ private _initHeaderResizePermissionInterceptor;
26
+ private _initRangeFillPermissionInterceptor;
27
+ private _initRangeMovePermissionInterceptor;
28
+ private _initFreezePermissionInterceptor;
29
+ }
@@ -0,0 +1,16 @@
1
+ import { Disposable, DisposableCollection, IUniverInstanceService, LocaleService } from '@univerjs/core';
2
+ import { SelectionManagerService } from '@univerjs/sheets';
3
+ import { ISheetClipboardService } from '../../services/clipboard/clipboard.service';
4
+ import { SheetPermissionInterceptorBaseController } from './sheet-permission-interceptor-base.controller';
5
+
6
+ export declare const SHEET_PERMISSION_PASTE_PLUGIN = "SHEET_PERMISSION_PASTE_PLUGIN";
7
+ export declare class SheetPermissionInterceptorClipboardController extends Disposable {
8
+ private readonly _univerInstanceService;
9
+ private readonly _selectionManagerService;
10
+ private readonly _localService;
11
+ private _sheetClipboardService;
12
+ private readonly _sheetPermissionInterceptorBaseController;
13
+ disposableCollection: DisposableCollection;
14
+ constructor(_univerInstanceService: IUniverInstanceService, _selectionManagerService: SelectionManagerService, _localService: LocaleService, _sheetClipboardService: ISheetClipboardService, _sheetPermissionInterceptorBaseController: SheetPermissionInterceptorBaseController);
15
+ private _initClipboardHook;
16
+ }
@@ -0,0 +1,19 @@
1
+ import { Workbook, DisposableCollection, IPermissionService, IUniverInstanceService, RxDisposable } from '@univerjs/core';
2
+ import { RangeProtectionRuleModel } from '@univerjs/sheets';
3
+ import { Injector } from '@wendellhu/redi';
4
+ import { IRenderContext, IRenderController } from '@univerjs/engine-render';
5
+ import { StatusBarController } from '../status-bar.controller';
6
+
7
+ export declare const SHEET_PERMISSION_PASTE_PLUGIN = "SHEET_PERMISSION_PASTE_PLUGIN";
8
+ export declare class SheetPermissionInterceptorFormulaRenderController extends RxDisposable implements IRenderController {
9
+ private readonly _context;
10
+ private readonly _injector;
11
+ private readonly _univerInstanceService;
12
+ private readonly _permissionService;
13
+ private _rangeProtectionRuleModel;
14
+ private readonly _statusBarController;
15
+ disposableCollection: DisposableCollection;
16
+ constructor(_context: IRenderContext<Workbook>, _injector: Injector, _univerInstanceService: IUniverInstanceService, _permissionService: IPermissionService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _statusBarController: StatusBarController);
17
+ private _initStatusBarPermissionInterceptor;
18
+ private _initFormulaEditorPermissionInterceptor;
19
+ }
@@ -0,0 +1,19 @@
1
+ import { Disposable } from '@univerjs/core';
2
+ import { MenuConfig, ComponentManager, IMenuService } from '@univerjs/ui';
3
+ import { Injector } from '@wendellhu/redi';
4
+
5
+ export interface IUniverSheetsPermissionMenuConfig {
6
+ menu: MenuConfig;
7
+ }
8
+ export declare const DefaultSheetPermissionMenuConfig: {};
9
+ export declare class SheetPermissionRenderController extends Disposable {
10
+ private readonly _config;
11
+ private _menuService;
12
+ private _componentManager;
13
+ private readonly _injector;
14
+ constructor(_config: Partial<IUniverSheetsPermissionMenuConfig>, _menuService: IMenuService, _componentManager: ComponentManager, _injector: Injector);
15
+ private _init;
16
+ private _initToolbarMenu;
17
+ private _initContextMenu;
18
+ private _initComponents;
19
+ }
@@ -1,10 +1,11 @@
1
- import { Workbook, Disposable, ICommandService, ThemeService } from '@univerjs/core';
1
+ import { Workbook, Disposable, ICommandService, InterceptorManager, ThemeService } from '@univerjs/core';
2
2
  import { IRenderContext, IRenderController } from '@univerjs/engine-render';
3
3
  import { SelectionManagerService, SheetInterceptorService } from '@univerjs/sheets';
4
4
  import { Injector } from '@wendellhu/redi';
5
5
  import { ScrollManagerService } from '../../services/scroll-manager.service';
6
6
  import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service';
7
7
 
8
+ export declare const FREEZE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, null>;
8
9
  export declare class HeaderFreezeRenderController extends Disposable implements IRenderController {
9
10
  private readonly _context;
10
11
  private readonly _sheetSkeletonManagerService;
@@ -33,6 +34,9 @@ export declare class HeaderFreezeRenderController extends Disposable implements
33
34
  private _freezeActiveColor;
34
35
  private _freezeHoverColor;
35
36
  private _lastFreeze;
37
+ interceptor: InterceptorManager<{
38
+ FREEZE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, null>;
39
+ }>;
36
40
  constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService, _commandService: ICommandService, _selectionManagerService: SelectionManagerService, _scrollManagerService: ScrollManagerService, _themeService: ThemeService, _sheetInterceptorService: SheetInterceptorService, _injector: Injector);
37
41
  dispose(): void;
38
42
  private _initialize;
@@ -59,5 +63,14 @@ export declare class HeaderFreezeRenderController extends Disposable implements
59
63
  private _getPositionByIndex;
60
64
  private _getFreeze;
61
65
  private _getSheetObject;
66
+ /**
67
+ * 调整冻结 & 缩放都会进入
68
+ * 但是窗口 resize 并不会进入
69
+ * @param startRow
70
+ * @param startColumn
71
+ * @param ySplit
72
+ * @param xSplit
73
+ * @param resetScroll
74
+ */
62
75
  private _refreshFreeze;
63
76
  }
@@ -1,9 +1,10 @@
1
- import { Workbook, Disposable, ICommandService } from '@univerjs/core';
1
+ import { IRange, Workbook, Disposable, ICommandService, InterceptorManager } from '@univerjs/core';
2
2
  import { IRenderContext, IRenderController } from '@univerjs/engine-render';
3
3
  import { SelectionManagerService } from '@univerjs/sheets';
4
4
  import { ISelectionRenderService } from '../../services/selection/selection-render.service';
5
5
  import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service';
6
6
 
7
+ export declare const HEADER_MOVE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, IRange>;
7
8
  export declare class HeaderMoveRenderController extends Disposable implements IRenderController {
8
9
  private readonly _context;
9
10
  private readonly _sheetSkeletonManagerService;
@@ -24,6 +25,9 @@ export declare class HeaderMoveRenderController extends Disposable implements IR
24
25
  private _changeFromRow;
25
26
  private _changeToColumn;
26
27
  private _changeToRow;
28
+ interceptor: InterceptorManager<{
29
+ HEADER_MOVE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, IRange>;
30
+ }>;
27
31
  dispose(): void;
28
32
  constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService, _commandService: ICommandService, _selectionRenderService: ISelectionRenderService, _selectionManagerService: SelectionManagerService);
29
33
  private _initialize;
@@ -1,8 +1,12 @@
1
- import { Workbook, Disposable, ICommandService } from '@univerjs/core';
1
+ import { Workbook, Disposable, ICommandService, InterceptorManager } from '@univerjs/core';
2
2
  import { IRenderContext, IRenderController } from '@univerjs/engine-render';
3
3
  import { IEditorBridgeService } from '../../services/editor-bridge.service';
4
4
  import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service';
5
5
 
6
+ export declare const HEADER_RESIZE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, {
7
+ row?: number | undefined;
8
+ col?: number | undefined;
9
+ }>;
6
10
  export declare class HeaderResizeRenderController extends Disposable implements IRenderController {
7
11
  private readonly _context;
8
12
  private readonly _sheetSkeletonManagerService;
@@ -18,6 +22,12 @@ export declare class HeaderResizeRenderController extends Disposable implements
18
22
  private _resizeHelperShape;
19
23
  private _startOffsetX;
20
24
  private _startOffsetY;
25
+ interceptor: InterceptorManager<{
26
+ HEADER_RESIZE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, {
27
+ row?: number | undefined;
28
+ col?: number | undefined;
29
+ }>;
30
+ }>;
21
31
  constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService, _commandService: ICommandService, _editorBridgeService: IEditorBridgeService);
22
32
  dispose(): void;
23
33
  private _init;
@@ -24,4 +24,15 @@ export declare class SheetRenderController extends RxDisposable {
24
24
  private _createSheetRenderer;
25
25
  private _initCommandListener;
26
26
  private _initContextListener;
27
+ private _spreadsheetViewports;
28
+ private _markSpreadsheetDirty;
29
+ /**
30
+ * cellValue data structure:
31
+ * {[row]: { [col]: value}}
32
+ * @param cellValue
33
+ * @returns
34
+ */
35
+ private _cellValueToRange;
36
+ private _rangeToBounds;
37
+ private _markViewportDirty;
27
38
  }
@@ -1,8 +1,9 @@
1
- import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
2
- import { FormulaDataModel, IFunctionService } from '@univerjs/engine-formula';
1
+ import { Disposable, ICommandService, InterceptorManager, IUniverInstanceService } from '@univerjs/core';
2
+ import { ArrayValueObject, FormulaDataModel, IFunctionService } from '@univerjs/engine-formula';
3
3
  import { INumfmtService, SelectionManagerService } from '@univerjs/sheets';
4
4
  import { IStatusBarService } from '../services/status-bar.service';
5
5
 
6
+ export declare const STATUS_BAR_PERMISSION_CORRECT: import('@univerjs/core').IInterceptor<ArrayValueObject[], ArrayValueObject[]>;
6
7
  export declare class StatusBarController extends Disposable {
7
8
  private readonly _univerInstanceService;
8
9
  private readonly _selectionManagerService;
@@ -12,6 +13,9 @@ export declare class StatusBarController extends Disposable {
12
13
  private readonly _formulaDataModel;
13
14
  private _numfmtService;
14
15
  private _calculateTimeout;
16
+ interceptor: InterceptorManager<{
17
+ STATUS_BAR_PERMISSION_CORRECT: import('@univerjs/core').IInterceptor<ArrayValueObject[], ArrayValueObject[]>;
18
+ }>;
15
19
  constructor(_univerInstanceService: IUniverInstanceService, _selectionManagerService: SelectionManagerService, _functionService: IFunctionService, _statusBarService: IStatusBarService, _commandService: ICommandService, _formulaDataModel: FormulaDataModel, _numfmtService: INumfmtService);
16
20
  private _init;
17
21
  private _registerSelectionListener;
@@ -0,0 +1,3 @@
1
+ import { IRange } from '@univerjs/core';
2
+
3
+ export declare const useHighlightRange: (ranges?: IRange[]) => void;
@@ -16,14 +16,13 @@
16
16
  export * from './basics';
17
17
  export { getEditorObject } from './basics/editor/get-editor-object';
18
18
  export { AutoFillCommand } from './commands/commands/auto-fill.command';
19
- export { SheetPasteCommand } from './commands/commands/clipboard.command';
20
19
  export { SheetCopyCommand } from './commands/commands/clipboard.command';
21
20
  export { expandToContinuousRange } from './commands/commands/utils/selection-utils';
22
21
  export { ExpandSelectionCommand, JumpOver, MoveSelectionCommand } from './commands/commands/set-selection.command';
23
22
  export { SetCellEditVisibleArrowOperation, SetCellEditVisibleOperation } from './commands/operations/cell-edit.operation';
24
23
  export { SetScrollOperation } from './commands/operations/scroll.operation';
25
24
  export { SheetsScrollRenderController } from './controllers/render-controllers/scroll.render-controller';
26
- export { deriveStateFromActiveSheet$ } from './controllers/menu/menu-util';
25
+ export { deriveStateFromActiveSheet$, getCurrentRangeDisable$, getCommentDisable$ } from './controllers/menu/menu-util';
27
26
  export { SheetRenderController } from './controllers/sheet-render.controller';
28
27
  export { SetZoomRatioOperation } from './commands/operations/set-zoom-ratio.operation';
29
28
  export { ResetScrollCommand, ScrollCommand, ScrollToCellCommand, SetScrollRelativeCommand, type IScrollCommandParams, type IScrollToCellCommandParams, type ISetScrollRelativeCommandParams, } from './commands/commands/set-scroll.command';
@@ -36,7 +35,6 @@ export { getCoordByCell, getCoordByOffset, getSheetObject, getTransformCoord, }
36
35
  export { useActiveWorkbook, useActiveWorksheet } from './components/hook';
37
36
  export { whenSheetEditorFocused } from './controllers/shortcuts/utils';
38
37
  export type { IEditorBridgeServiceParam } from './services/editor-bridge.service';
39
- export { enUS, zhCN, ruRU } from './locale';
40
38
  export { AutoFillService, IAutoFillService } from './services/auto-fill/auto-fill.service';
41
39
  export { getAutoFillRepeatRange } from './services/auto-fill/tools';
42
40
  export type { ICopyDataPiece, ISheetAutoFillHook } from './services/auto-fill/type';
@@ -73,3 +71,14 @@ export { type IHoverCellPosition } from './services/hover-manager.service';
73
71
  export { AutoHeightController } from './controllers/auto-height.controller';
74
72
  export { type IDragCellPosition } from './services/drag-manager.service';
75
73
  export { SheetMenuPosition } from './controllers/menu/menu';
74
+ export { useHighlightRange } from './hooks/useHighlightRange';
75
+ export { HeaderMoveRenderController } from './controllers/render-controllers/header-move.render-controller';
76
+ export { HeaderResizeRenderController } from './controllers/render-controllers/header-resize.render-controller';
77
+ export type { ISheetPasteParams } from './commands/commands/clipboard.command';
78
+ export { SheetCutCommand, SheetPasteColWidthCommand, SheetPasteCommand, SheetPasteShortKeyCommand } from './commands/commands/clipboard.command';
79
+ export { SetRangeBoldCommand, SetRangeItalicCommand, SetRangeUnderlineCommand, SetRangeStrickThroughCommand } from './commands/commands/inline-format.command';
80
+ export { ApplyFormatPainterCommand } from './commands/commands/set-format-painter.command';
81
+ export { HeaderFreezeRenderController } from './controllers/render-controllers/freeze.render-controller';
82
+ export { FormulaEditorController } from './controllers/editor/formula-editor.controller';
83
+ export { StatusBarController } from './controllers/status-bar.controller';
84
+ export { SheetPermissionInterceptorBaseController } from './controllers/permission/sheet-permission-interceptor-base.controller';
@@ -304,6 +304,10 @@ declare const locale: {
304
304
  sheetNameAlreadyExistsError: string;
305
305
  deleteSheet: string;
306
306
  deleteSheetContent: string;
307
+ addProtectSheet: string;
308
+ removeProtectSheet: string;
309
+ changeSheetPermission: string;
310
+ viewAllProtectArea: string;
307
311
  };
308
312
  rightClick: {
309
313
  copy: string;
@@ -404,6 +408,11 @@ declare const locale: {
404
408
  deleteAllColumnsAlert: string;
405
409
  hideAllRowsAlert: string;
406
410
  hideAllColumnsAlert: string;
411
+ protectRange: string;
412
+ editProtectRange: string;
413
+ removeProtectRange: string;
414
+ turnOnProtectRange: string;
415
+ viewAllProtectArea: string;
407
416
  };
408
417
  info: {
409
418
  tooltip: string;
@@ -526,5 +535,94 @@ declare const locale: {
526
535
  nameInvalid: string;
527
536
  nameSheetConflict: string;
528
537
  };
538
+ uploadLoading: {
539
+ loading: string;
540
+ error: string;
541
+ };
542
+ permission: {
543
+ toolbarMenu: string;
544
+ panel: {
545
+ title: string;
546
+ name: string;
547
+ protectedRange: string;
548
+ permissionDirection: string;
549
+ permissionDirectionPlaceholder: string;
550
+ editPermission: string;
551
+ onlyICanEdit: string;
552
+ designedUserCanEdit: string;
553
+ viewPermission: string;
554
+ othersCanView: string;
555
+ noOneElseCanView: string;
556
+ designedPerson: string;
557
+ addPerson: string;
558
+ canEdit: string;
559
+ canView: string;
560
+ delete: string;
561
+ currentSheet: string;
562
+ allSheet: string;
563
+ edit: string;
564
+ Print: string;
565
+ Comment: string;
566
+ Copy: string;
567
+ SetCellStyle: string;
568
+ SetCellValue: string;
569
+ SetHyperLink: string;
570
+ Sort: string;
571
+ Filter: string;
572
+ PivotTable: string;
573
+ FloatImage: string;
574
+ RowHeightColWidth: string;
575
+ RowHeightColWidthReadonly: string;
576
+ FilterReadonly: string;
577
+ nameError: string;
578
+ created: string;
579
+ iCanEdit: string;
580
+ iCanNotEdit: string;
581
+ iCanView: string;
582
+ iCanNotView: string;
583
+ emptyRangeError: string;
584
+ rangeOverlapError: string;
585
+ rangeOverlapOverPermissionError: string;
586
+ InsertHyperlink: string;
587
+ SetRowStyle: string;
588
+ SetColumnStyle: string;
589
+ InsertColumn: string;
590
+ InsertRow: string;
591
+ DeleteRow: string;
592
+ DeleteColumn: string;
593
+ EditExtraObject: string;
594
+ };
595
+ dialog: {
596
+ allowUserToEdit: string;
597
+ allowedPermissionType: string;
598
+ setCellValue: string;
599
+ setCellStyle: string;
600
+ copy: string;
601
+ alert: string;
602
+ alertContent: string;
603
+ userEmpty: string;
604
+ listEmpty: string;
605
+ commonErr: string;
606
+ editErr: string;
607
+ pasteErr: string;
608
+ setStyleErr: string;
609
+ copyErr: string;
610
+ setRowColStyleErr: string;
611
+ moveRowColErr: string;
612
+ moveRangeErr: string;
613
+ autoFillErr: string;
614
+ filterErr: string;
615
+ operatorSheetErr: string;
616
+ insertOrDeleteMoveRangeErr: string;
617
+ printErr: string;
618
+ formulaErr: string;
619
+ hyperLinkErr: string;
620
+ };
621
+ button: {
622
+ confirm: string;
623
+ cancel: string;
624
+ addNewPermission: string;
625
+ };
626
+ };
529
627
  };
530
628
  export default locale;
@@ -22,6 +22,5 @@ export declare class HoverManagerService extends Disposable {
22
22
  private _initCellDisposableListener;
23
23
  private _calcActiveCell;
24
24
  onMouseMove(offsetX: number, offsetY: number): void;
25
- onScrollStart(): void;
26
- onScrollEnd(): void;
25
+ onScroll(): void;
27
26
  }