@univerjs/sheets-ui 0.2.11 → 0.2.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 (65) hide show
  1. package/lib/cjs/index.js +13 -12
  2. package/lib/es/index.js +11979 -11209
  3. package/lib/index.css +1 -1
  4. package/lib/types/commands/commands/__tests__/create-selection-command-test-bed.d.ts +12 -12
  5. package/lib/types/common/keys.d.ts +4 -1
  6. package/lib/types/common/utils.d.ts +12 -3
  7. package/lib/types/controllers/auto-height.controller.d.ts +1 -0
  8. package/lib/types/controllers/clipboard/clipboard.controller.d.ts +2 -3
  9. package/lib/types/controllers/config.schema.d.ts +10 -0
  10. package/lib/types/controllers/editor/__tests__/mock-function.service.d.ts +1 -1
  11. package/lib/types/controllers/editor/editing.render-controller.d.ts +8 -8
  12. package/lib/types/controllers/editor/formula-editor.controller.d.ts +6 -3
  13. package/lib/types/controllers/hover-render.controller.d.ts +2 -0
  14. package/lib/types/controllers/menu/__tests__/create-menu-test-bed.d.ts +6 -6
  15. package/lib/types/controllers/menu/clear.menu.d.ts +1 -0
  16. package/lib/types/controllers/menu/delete.menu.d.ts +1 -0
  17. package/lib/types/controllers/menu/insert.menu.d.ts +3 -0
  18. package/lib/types/controllers/menu/menu-util.d.ts +15 -0
  19. package/lib/types/controllers/menu/permission.menu.d.ts +1 -1
  20. package/lib/types/controllers/menu.schema.d.ts +2 -0
  21. package/lib/types/controllers/mobile/menu.schema.d.ts +2 -0
  22. package/lib/types/controllers/mobile/mobile-sheet-ui.controller.d.ts +3 -8
  23. package/lib/types/controllers/permission/sheet-permission-init.controller.d.ts +5 -3
  24. package/lib/types/controllers/permission/sheet-permission-interceptor-base.controller.d.ts +2 -2
  25. package/lib/types/controllers/permission/sheet-permission-render.controller.d.ts +14 -3
  26. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +2 -2
  27. package/lib/types/controllers/render-controllers/header-move.render-controller.d.ts +3 -3
  28. package/lib/types/controllers/render-controllers/sheet.render-controller.d.ts +9 -2
  29. package/lib/types/controllers/sheet-ui.controller.d.ts +4 -11
  30. package/lib/types/controllers/shortcuts/editor.shortcut.d.ts +1 -1
  31. package/lib/types/controllers/utils/selections-tools.d.ts +23 -2
  32. package/lib/types/index.d.ts +26 -24
  33. package/lib/types/mobile-sheets-ui-plugin.d.ts +2 -2
  34. package/lib/types/services/auto-fill/auto-fill.service.d.ts +13 -6
  35. package/lib/types/services/canvas-pop-manager.service.d.ts +20 -12
  36. package/lib/types/services/cell-alert-manager.service.d.ts +2 -2
  37. package/lib/types/services/clipboard/__tests__/clipboard-copy-filter.spec.d.ts +16 -0
  38. package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +6 -6
  39. package/lib/types/services/clipboard/__tests__/mock-clipboard.d.ts +2 -0
  40. package/lib/types/services/clipboard/__tests__/sheet-paste.spec.d.ts +16 -0
  41. package/lib/types/services/clipboard/clipboard.service.d.ts +5 -5
  42. package/lib/types/services/clipboard/html-to-usm/converter.d.ts +2 -0
  43. package/lib/types/services/clipboard/usm-to-html/convertor.d.ts +3 -2
  44. package/lib/types/services/clipboard/utils.d.ts +2 -2
  45. package/lib/types/services/editor/cell-editor-manager.service.d.ts +1 -1
  46. package/lib/types/services/editor/formula-editor-manager.service.d.ts +1 -1
  47. package/lib/types/services/editor-bridge.service.d.ts +13 -10
  48. package/lib/types/services/format-painter/format-painter.service.d.ts +1 -1
  49. package/lib/types/services/hover-manager.service.d.ts +34 -5
  50. package/lib/types/services/mark-selection/mark-selection.service.d.ts +1 -1
  51. package/lib/types/services/scroll-manager.service.d.ts +2 -2
  52. package/lib/types/services/selection/base-selection-render.service.d.ts +3 -2
  53. package/lib/types/services/selection/mobile-selection-shape.d.ts +4 -13
  54. package/lib/types/services/selection/selection-layer.d.ts +5 -0
  55. package/lib/types/services/selection/selection-shape.d.ts +17 -12
  56. package/lib/types/services/sheet-bar/sheet-bar.service.d.ts +1 -1
  57. package/lib/types/services/status-bar.service.d.ts +1 -1
  58. package/lib/types/services/utils/doc-skeleton-util.d.ts +44 -0
  59. package/lib/types/sheets-ui-plugin.d.ts +4 -3
  60. package/lib/types/views/defined-name/DefinedNameInput.d.ts +1 -1
  61. package/lib/types/views/permission/extensions/range-protection.render.d.ts +3 -3
  62. package/lib/types/views/permission/extensions/worksheet-permission.render.d.ts +3 -3
  63. package/lib/umd/index.js +13 -12
  64. package/package.json +26 -22
  65. package/lib/types/services/permission/worksheet-permission-render.service.d.ts +0 -9
@@ -1,5 +1,5 @@
1
- import { Nullable, Workbook } from '@univerjs/core';
2
1
  import { BehaviorSubject } from 'rxjs';
2
+ import { Nullable, Workbook } from '@univerjs/core';
3
3
  import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
4
4
  import { SheetSkeletonManagerService } from './sheet-skeleton-manager.service';
5
5
  export interface IScrollState {
@@ -73,7 +73,7 @@ export declare class SheetScrollManagerService implements IRenderModule {
73
73
  getScrollStateByParam(param: IScrollStateSearchParam): Readonly<Nullable<IScrollState>>;
74
74
  getCurrentScrollState(): Readonly<Nullable<IScrollState>>;
75
75
  /**
76
- * set scrollInfo by cmd, call by scroll operation
76
+ * set scrollInfo by SetScrollOperation, call by scroll operation
77
77
  * @param param
78
78
  */
79
79
  setScrollInfoAndEmitEvent(param: IScrollStateWithSearchParam): void;
@@ -35,7 +35,7 @@ export interface ISheetSelectionRenderService {
35
35
  getSelectionCellByPosition(x: number, y: number): Nullable<ISelectionCellWithMergeInfo>;
36
36
  setSingleSelectionEnabled(enabled: boolean): void;
37
37
  }
38
- export declare const ISheetSelectionRenderService: import('@univerjs/core').IdentifierDecorator<ISheetSelectionRenderService>;
38
+ export declare const ISheetSelectionRenderService: import('@wendellhu/redi').IdentifierDecorator<ISheetSelectionRenderService>;
39
39
  /**
40
40
  * The basic implementation of selection rendering logics. It is designed to be reused for different purposes.
41
41
  */
@@ -147,7 +147,8 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
147
147
  */
148
148
  protected _onPointerDown(evt: IPointerEvent | IMouseEvent, _zIndex: number | undefined, rangeType: RANGE_TYPE | undefined, viewport: Nullable<Viewport>, scrollTimerType?: ScrollTimerType): void;
149
149
  /**
150
- * Init pointer move listener, bind in each pointer down, unbind in each pointer up
150
+ * Init pointer move listener in each pointer down, unbind in each pointer up.
151
+ * Both cell selections and row-column selections are supported by this method.
151
152
  * @param viewportMain
152
153
  * @param activeSelectionControl
153
154
  * @param rangeType
@@ -1,5 +1,5 @@
1
- import { IRangeWithCoord, Nullable, ThemeService, RANGE_TYPE } from '@univerjs/core';
2
- import { IRectProps, Scene, Rect } from '@univerjs/engine-render';
1
+ import { RANGE_TYPE, ThemeService } from '@univerjs/core';
2
+ import { Rect, IRectProps, Scene } from '@univerjs/engine-render';
3
3
  import { ISelectionStyle } from '@univerjs/sheets';
4
4
  import { SelectionControl } from './selection-shape';
5
5
  export declare class MobileSelectionControl extends SelectionControl {
@@ -16,15 +16,7 @@ export declare class MobileSelectionControl extends SelectionControl {
16
16
  * bottomRight controlPointer, it is not visible, just transparent, for handling event.
17
17
  */
18
18
  private _fillControlBottomRight;
19
- /**
20
- * a very small visible point, placed in control pointer
21
- */
22
- private _fillControlTopLeftInner;
23
- /**
24
- * a very small visible point, placed in control pointer
25
- */
26
- private _fillControlBottomRightInner;
27
- constructor(_scene: Scene, _zIndex: number, _highlightHeader: boolean, _themeService: ThemeService, _rangeType?: RANGE_TYPE);
19
+ constructor(_scene: Scene, _zIndex: number, _highlightHeader: boolean | undefined, _themeService: ThemeService, _rangeType?: RANGE_TYPE);
28
20
  initControlPoints(): void;
29
21
  get fillControlTopLeft(): Rect<IRectProps> | null;
30
22
  set fillControlTopLeft(value: Rect);
@@ -33,8 +25,7 @@ export declare class MobileSelectionControl extends SelectionControl {
33
25
  get rangeType(): RANGE_TYPE;
34
26
  set rangeType(value: RANGE_TYPE);
35
27
  dispose(): void;
36
- updateRange(range: IRangeWithCoord): void;
37
- protected _updateControlStyleAndLayout(style: Nullable<ISelectionStyle>): void;
28
+ protected _setSizeAndStyleForSelectionControl(style: ISelectionStyle): void;
38
29
  getViewportMainScrollInfo(): {
39
30
  viewportScrollX: number;
40
31
  viewportScrollY: number;
@@ -0,0 +1,5 @@
1
+ import { UniverRenderingContext, Layer } from '@univerjs/engine-render';
2
+ export declare class SelectionLayer extends Layer {
3
+ render(ctx?: UniverRenderingContext, isMaxLayer?: boolean): this;
4
+ _afterRender(startTime: number): void;
5
+ }
@@ -1,7 +1,7 @@
1
- import { IRangeWithCoord, ISelectionCellWithMergeInfo, Nullable, ThemeService, Disposable } from '@univerjs/core';
2
- import { Scene, Group, Rect } from '@univerjs/engine-render';
3
- import { ISelectionStyle, ISelectionWidgetConfig, ISelectionWithCoordAndStyle } from '@univerjs/sheets';
1
+ import { Disposable, IRangeWithCoord, ISelectionCellWithMergeInfo, Nullable, ThemeService } from '@univerjs/core';
2
+ import { Group, Rect, Scene } from '@univerjs/engine-render';
4
3
  import { Subject } from 'rxjs';
4
+ import { ISelectionStyle, ISelectionWidgetConfig, ISelectionWithCoordAndStyle } from '@univerjs/sheets';
5
5
  import { SelectionRenderModel } from './selection-render-model';
6
6
  export declare enum SELECTION_MANAGER_KEY {
7
7
  Selection = "__SpreadsheetSelectionShape__",
@@ -45,10 +45,10 @@ export declare class SelectionControl extends Disposable {
45
45
  protected _zIndex: number;
46
46
  protected readonly _themeService: ThemeService;
47
47
  protected _highlightHeader: boolean;
48
- private _leftControl;
49
- private _rightControl;
50
- private _topControl;
51
- private _bottomControl;
48
+ private _leftBorder;
49
+ private _rightBorder;
50
+ private _topBorder;
51
+ private _bottomBorder;
52
52
  private _backgroundControlTop;
53
53
  private _backgroundControlBottom;
54
54
  private _backgroundControlMiddleLeft;
@@ -69,7 +69,7 @@ export declare class SelectionControl extends Disposable {
69
69
  private _bottomLeftWidget;
70
70
  private _bottomCenterWidget;
71
71
  private _bottomRightWidget;
72
- private _dashRect;
72
+ private _dashedRect;
73
73
  protected _selectionModel: SelectionRenderModel;
74
74
  private _defaultStyle;
75
75
  private _currentStyle;
@@ -122,7 +122,7 @@ export declare class SelectionControl extends Disposable {
122
122
  set selectionModel(model: SelectionRenderModel);
123
123
  get defaultStyle(): ISelectionStyle;
124
124
  set defaultStyle(style: ISelectionStyle);
125
- get dashRect(): Rect;
125
+ get dashedRect(): Rect;
126
126
  get currentStyle(): Nullable<ISelectionStyle>;
127
127
  set currentStyle(style: Nullable<ISelectionStyle>);
128
128
  get isHelperSelection(): boolean;
@@ -133,13 +133,18 @@ export declare class SelectionControl extends Disposable {
133
133
  setEvent(state: boolean): void;
134
134
  refreshSelectionFilled(val: IRangeWithCoord): void;
135
135
  /**
136
- * invoked when update selection style & range change, invoked by updateStyle, updateRange, update
136
+ * Update Control Style And Position of SelectionControl
137
+ * @param selectionStyle
138
+ */
139
+ protected _setSizeAndStyleForSelectionControl(selectionStyle: ISelectionStyle): void;
140
+ /**
141
+ * update selection control position by curr selection model
137
142
  */
138
- protected _updateControlStyleAndLayout(selectionStyle: Nullable<ISelectionStyle>): void;
143
+ protected _refreshControlPosition(): void;
139
144
  updateStyle(style: ISelectionStyle): void;
140
145
  updateRange(range: IRangeWithCoord, primaryCell: Nullable<ISelectionCellWithMergeInfo>): void;
141
146
  /**
142
- * update selection model with new range & primary cell(aka: highlight/current), also update row/col selection size & style.
147
+ * Update selection model with new range & primary cell(aka: highlight/current), also update row/col selection size & style.
143
148
  *
144
149
  * @param newSelectionRange
145
150
  * @param rowHeaderWidth
@@ -18,7 +18,7 @@ export interface ISheetBarService {
18
18
  triggerSheetBarMenu(): void;
19
19
  registerSheetBarMenuHandler(handler: ISheetBarMenuHandler): IDisposable;
20
20
  }
21
- export declare const ISheetBarService: import('@univerjs/core').IdentifierDecorator<ISheetBarService>;
21
+ export declare const ISheetBarService: import('@wendellhu/redi').IdentifierDecorator<ISheetBarService>;
22
22
  export declare class SheetBarService extends Disposable implements ISheetBarService {
23
23
  readonly renameId$: Observable<string>;
24
24
  readonly removeId$: Observable<string>;
@@ -29,4 +29,4 @@ export declare class StatusBarService implements IStatusBarService, IDisposable
29
29
  getFunctions(): Readonly<IStatusBarFunction[]>;
30
30
  addFunctions(functions: IStatusBarFunction[]): void;
31
31
  }
32
- export declare const IStatusBarService: import('@univerjs/core').IdentifierDecorator<StatusBarService>;
32
+ export declare const IStatusBarService: import('@wendellhu/redi').IdentifierDecorator<StatusBarService>;
@@ -0,0 +1,44 @@
1
+ import { ICustomRange, Injector, IParagraph } from '@univerjs/core';
2
+ import { DocumentSkeleton } from '@univerjs/engine-render';
3
+ export declare const calculateDocSkeletonRects: (docSkeleton: DocumentSkeleton, paddingLeft?: number, paddingTop?: number) => {
4
+ links: {
5
+ rects: {
6
+ top: number;
7
+ bottom: number;
8
+ left: number;
9
+ right: number;
10
+ }[];
11
+ range: ICustomRange<Record<string, any>>;
12
+ }[];
13
+ checkLists: {
14
+ rect: {
15
+ top: number;
16
+ bottom: number;
17
+ left: number;
18
+ right: number;
19
+ };
20
+ segmentId: undefined;
21
+ segmentPageIndex: number;
22
+ paragraph: IParagraph;
23
+ }[];
24
+ };
25
+ export declare const getCustomRangePosition: (injector: Injector, unitId: string, subUnitId: string, row: number, col: number, rangeId: string) => {
26
+ rects: {
27
+ top: number;
28
+ bottom: number;
29
+ left: number;
30
+ right: number;
31
+ }[] | undefined;
32
+ customRange: ICustomRange<Record<string, any>>;
33
+ label: string;
34
+ } | null | undefined;
35
+ export declare const getEditingCustomRangePosition: (injector: Injector, unitId: string, subUnitId: string, row: number, col: number, rangeId: string) => {
36
+ rects: {
37
+ top: number;
38
+ bottom: number;
39
+ left: number;
40
+ right: number;
41
+ }[] | undefined;
42
+ customRange: ICustomRange<Record<string, any>>;
43
+ label: string;
44
+ } | null;
@@ -1,15 +1,16 @@
1
- import { Injector, IUniverInstanceService, Plugin, UniverInstanceType } from '@univerjs/core';
1
+ import { IConfigService, Injector, IUniverInstanceService, Plugin, UniverInstanceType } from '@univerjs/core';
2
2
  import { IRenderManagerService } from '@univerjs/engine-render';
3
- import { IUniverSheetsUIConfig } from './controllers/sheet-ui.controller';
3
+ import { IUniverSheetsUIConfig } from './controllers/config.schema';
4
4
  export declare class UniverSheetsUIPlugin extends Plugin {
5
5
  private readonly _config;
6
6
  readonly _injector: Injector;
7
7
  private readonly _renderManagerService;
8
+ private readonly _configService;
8
9
  private readonly _univerInstanceService;
9
10
  static pluginName: string;
10
11
  static type: UniverInstanceType;
11
12
  /** @ignore */
12
- constructor(_config: Partial<IUniverSheetsUIConfig>, _injector: Injector, _renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService);
13
+ constructor(_config: Partial<IUniverSheetsUIConfig> | undefined, _injector: Injector, _renderManagerService: IRenderManagerService, _configService: IConfigService, _univerInstanceService: IUniverInstanceService);
13
14
  onStarting(): void;
14
15
  onReady(): void;
15
16
  onRendered(): void;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { IDefinedNamesServiceParam } from '@univerjs/engine-formula';
2
+ import { default as React } from 'react';
3
3
  export interface IDefinedNameInputProps extends Omit<IDefinedNamesServiceParam, 'id'> {
4
4
  inputId: string;
5
5
  type?: string;
@@ -1,5 +1,5 @@
1
- import { ICellDataForSheetInterceptor, IRange, IScale } from '@univerjs/core';
2
- import { SpreadsheetSkeleton, UniverRenderingContext, SheetExtension } from '@univerjs/engine-render';
1
+ import { SheetExtension, SpreadsheetSkeleton, UniverRenderingContext } from '@univerjs/engine-render';
2
+ import { ICellDataForSheetInterceptor, IScale } from '@univerjs/core';
3
3
  import { ICellPermission } from '@univerjs/sheets';
4
4
  export declare const RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY = "RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY";
5
5
  export declare const RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY = "RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY";
@@ -15,7 +15,7 @@ export declare abstract class RangeProtectionRenderExtension extends SheetExtens
15
15
  constructor();
16
16
  clearCache(): void;
17
17
  protected abstract shouldRender(config: ICellPermission): boolean;
18
- draw(ctx: UniverRenderingContext, _parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, _diffRanges?: IRange[]): void;
18
+ draw(ctx: UniverRenderingContext, _parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): void;
19
19
  }
20
20
  export declare class RangeProtectionCanViewRenderExtension extends RangeProtectionRenderExtension {
21
21
  uKey: string;
@@ -1,5 +1,5 @@
1
- import { IRange, IScale } from '@univerjs/core';
2
- import { SpreadsheetSkeleton, UniverRenderingContext, SheetExtension } from '@univerjs/engine-render';
1
+ import { SheetExtension, SpreadsheetSkeleton, UniverRenderingContext } from '@univerjs/engine-render';
2
+ import { IScale } from '@univerjs/core';
3
3
  export declare const worksheetProtectionKey = "worksheet-protection";
4
4
  export declare class WorksheetProtectionRenderExtension extends SheetExtension {
5
5
  uKey: string;
@@ -7,6 +7,6 @@ export declare class WorksheetProtectionRenderExtension extends SheetExtension {
7
7
  private _pattern;
8
8
  private _img;
9
9
  constructor();
10
- draw(ctx: UniverRenderingContext, _parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton, _diffRanges?: IRange[]): false | undefined;
10
+ draw(ctx: UniverRenderingContext, _parentScale: IScale, spreadsheetSkeleton: SpreadsheetSkeleton): false | undefined;
11
11
  setZIndex(zIndex: number): void;
12
12
  }