@univerjs/sheets-ui 0.1.17 → 0.2.0

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 (45) hide show
  1. package/lib/cjs/index.js +12 -11
  2. package/lib/es/index.js +16943 -14998
  3. package/lib/locale/en-US.json +1 -1
  4. package/lib/locale/ru-RU.json +1 -1
  5. package/lib/locale/zh-CN.json +1 -1
  6. package/lib/types/commands/commands/__tests__/create-selection-command-test-bed.d.ts +12 -12
  7. package/lib/types/commands/commands/set-scroll.command.d.ts +5 -5
  8. package/lib/types/commands/operations/scroll.operation.d.ts +2 -2
  9. package/lib/types/commands/operations/set-zoom-ratio.operation.d.ts +0 -2
  10. package/lib/types/controllers/auto-fill.controller.d.ts +2 -1
  11. package/lib/types/controllers/menu/__tests__/create-menu-test-bed.d.ts +6 -6
  12. package/lib/types/controllers/menu/permission.menu.d.ts +1 -1
  13. package/lib/types/controllers/render-controllers/editor-bridge.render-controller.d.ts +3 -8
  14. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +2 -4
  15. package/lib/types/controllers/render-controllers/header-resize.render-controller.d.ts +4 -4
  16. package/lib/types/controllers/render-controllers/mobile/mobile-scroll.render-controller.d.ts +43 -0
  17. package/lib/types/controllers/render-controllers/mobile/mobile-selection.render-controller.d.ts +40 -0
  18. package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +3 -2
  19. package/lib/types/controllers/render-controllers/selection.render-controller.d.ts +1 -1
  20. package/lib/types/controllers/render-controllers/skeleton.render-controller.d.ts +10 -0
  21. package/lib/types/controllers/utils/component-tools.d.ts +3 -0
  22. package/lib/types/index.d.ts +32 -14
  23. package/lib/types/services/auto-fill/rules.d.ts +1 -0
  24. package/lib/types/services/auto-fill/type.d.ts +7 -6
  25. package/lib/types/services/clipboard/__tests__/clipboard-paste-from-notepad.spec.d.ts +16 -0
  26. package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +6 -6
  27. package/lib/types/services/clipboard/__tests__/constant.d.ts +2 -1
  28. package/lib/types/services/clipboard/html-to-usm/converter.d.ts +7 -1
  29. package/lib/types/services/clipboard/html-to-usm/parse-node-style.d.ts +1 -1
  30. package/lib/types/services/clipboard/html-to-usm/utils.d.ts +1 -1
  31. package/lib/types/services/clipboard/utils.d.ts +1 -0
  32. package/lib/types/services/mark-selection/mark-selection.service.d.ts +2 -2
  33. package/lib/types/services/scroll-manager.service.d.ts +63 -14
  34. package/lib/types/services/selection/mobile-selection-render.service.d.ts +179 -0
  35. package/lib/types/services/selection/mobile-selection-shape.d.ts +53 -0
  36. package/lib/types/services/selection/selection-render-model.d.ts +14 -5
  37. package/lib/types/services/selection/selection-render.service.d.ts +20 -18
  38. package/lib/types/services/selection/selection-shape-extension.d.ts +7 -3
  39. package/lib/types/services/selection/selection-shape.d.ts +96 -39
  40. package/lib/types/services/sheet-skeleton-manager.service.d.ts +9 -4
  41. package/lib/types/views/sheet-bar/sheet-bar-tabs/utils/animate.d.ts +0 -1
  42. package/lib/types/views/status-bar/CopyableStatisticItem.d.ts +1 -1
  43. package/lib/umd/index.js +12 -11
  44. package/package.json +25 -25
  45. /package/lib/types/commands/commands/{delete-range-move-left-confirm.command .d.ts → delete-range-move-left-confirm.command.d.ts} +0 -0
@@ -1,12 +1,16 @@
1
1
  import { IRangeWithCoord, ThemeService } from '@univerjs/core';
2
2
  import { Scene, SpreadsheetSkeleton } from '@univerjs/engine-render';
3
3
  import { Injector } from '@wendellhu/redi';
4
- import { SelectionShape } from './selection-shape';
4
+ import { SelectionControl } from './selection-shape';
5
5
 
6
6
  export interface ISelectionShapeTargetSelection {
7
- originControl: SelectionShape;
7
+ originControl: SelectionControl;
8
8
  targetSelection: IRangeWithCoord;
9
9
  }
10
+ /**
11
+ * for auto-fill (crosshair expand selection range)
12
+ * drag selection range
13
+ */
10
14
  export declare class SelectionShapeExtension {
11
15
  private _control;
12
16
  private _skeleton;
@@ -27,7 +31,7 @@ export declare class SelectionShapeExtension {
27
31
  private _targetSelection;
28
32
  private _isInMergeState;
29
33
  private _fillControlColors;
30
- constructor(_control: SelectionShape, _skeleton: SpreadsheetSkeleton, _scene: Scene, _themeService: ThemeService, _injector: Injector);
34
+ constructor(_control: SelectionControl, _skeleton: SpreadsheetSkeleton, _scene: Scene, _themeService: ThemeService, _injector: Injector);
31
35
  get isHelperSelection(): boolean;
32
36
  dispose(): void;
33
37
  private _getFreeze;
@@ -1,17 +1,51 @@
1
- import { IRangeWithCoord, ISelectionCellWithCoord, Nullable, ThemeService, Disposable } from '@univerjs/core';
2
- import { Scene, Group, Rect } from '@univerjs/engine-render';
3
- import { ISelectionStyle, ISelectionWithCoordAndStyle } from '@univerjs/sheets';
1
+ import { IRangeWithCoord, ISelectionCellWithMergeInfo, Nullable, ThemeService, Disposable } from '@univerjs/core';
2
+ import { IRectProps, Scene, Group, Rect } from '@univerjs/engine-render';
3
+ import { ISelectionStyle, ISelectionWidgetConfig, ISelectionWithCoordAndStyle } from '@univerjs/sheets';
4
4
  import { Subject } from 'rxjs';
5
5
  import { SelectionRenderModel } from './selection-render-model';
6
6
 
7
+ export declare enum SELECTION_MANAGER_KEY {
8
+ Selection = "__SpreadsheetSelectionShape__",
9
+ top = "__SpreadsheetSelectionTopControl__",
10
+ bottom = "__SpreadsheetSelectionBottomControl__",
11
+ left = "__SpreadsheetSelectionShapeLeftControl__",
12
+ right = "__SpreadsheetSelectionShapeRightControl__",
13
+ backgroundTop = "__SpreadsheetSelectionBackgroundControlTop__",
14
+ backgroundMiddleLeft = "__SpreadsheetSelectionBackgroundControlMiddleLeft__",
15
+ backgroundMiddleRight = "__SpreadsheetSelectionBackgroundControlMiddleRight__",
16
+ backgroundBottom = "__SpreadsheetSelectionBackgroundControlBottom__",
17
+ fill = "__SpreadsheetSelectionFillControl__",
18
+ fillTopLeft = "__SpreadsheetSelectionFillControlTopLeft__",
19
+ fillBottomRight = "__SpreadsheetSelectionFillControlBottomRight__",
20
+ fillTopLeftInner = "__SpreadsheetSelectionFillControlTopLeftInner__",
21
+ fillBottomRightInner = "__SpreadsheetSelectionFillControlBottomRightInner__",
22
+ lineMain = "__SpreadsheetDragLineMainControl__",
23
+ lineContent = "__SpreadsheetDragLineContentControl__",
24
+ line = "__SpreadsheetDragLineControl__",
25
+ dash = "__SpreadsheetDragDashControl__",
26
+ rowHeaderBackground = "__SpreadSheetSelectionRowHeaderBackground__",
27
+ rowHeaderBorder = "__SpreadSheetSelectionRowHeaderBorder__",
28
+ rowHeaderGroup = "__SpreadSheetSelectionRowHeaderGroup__",
29
+ columnHeaderBackground = "__SpreadSheetSelectionColumnHeaderBackground__",
30
+ columnHeaderBorder = "__SpreadSheetSelectionColumnHeaderBorder__",
31
+ columnHeaderGroup = "__SpreadSheetSelectionColumnHeaderGroup__",
32
+ topLeftWidget = "__SpreadSheetSelectionTopLeftWidget__",
33
+ topCenterWidget = "__SpreadSheetSelectionTopCenterWidget__",
34
+ topRightWidget = "__SpreadSheetSelectionTopRightWidget__",
35
+ middleLeftWidget = "__SpreadSheetSelectionMiddleLeftWidget__",
36
+ middleRightWidget = "__SpreadSheetSelectionMiddleRightWidget__",
37
+ bottomLeftWidget = "__SpreadSheetSelectionBottomLeftWidget__",
38
+ bottomCenterWidget = "__SpreadSheetSelectionBottomCenterWidget__",
39
+ bottomRightWidget = "__SpreadSheetSelectionBottomRightWidget__"
40
+ }
7
41
  /**
8
42
  * The main selection canvas component
9
43
  */
10
- export declare class SelectionShape extends Disposable {
11
- private _scene;
12
- private _zIndex;
13
- private _isHeaderHighlight;
14
- private readonly _themeService;
44
+ export declare class SelectionControl extends Disposable {
45
+ protected _scene: Scene;
46
+ protected _zIndex: number;
47
+ protected _isHeaderHighlight: boolean;
48
+ protected readonly _themeService: ThemeService;
15
49
  private _leftControl;
16
50
  private _rightControl;
17
51
  private _topControl;
@@ -21,7 +55,7 @@ export declare class SelectionShape extends Disposable {
21
55
  private _backgroundControlMiddleLeft;
22
56
  private _backgroundControlMiddleRight;
23
57
  private _fillControl;
24
- private _selectionShape;
58
+ private _selectionShapeGroup;
25
59
  private _rowHeaderBackground;
26
60
  private _rowHeaderBorder;
27
61
  private _rowHeaderGroup;
@@ -39,13 +73,13 @@ export declare class SelectionShape extends Disposable {
39
73
  private _bottomCenterWidget;
40
74
  private _bottomRightWidget;
41
75
  private _dashRect;
42
- private _selectionModel;
43
- private _selectionStyle;
44
- private _rowHeaderWidth;
45
- private _columnHeaderHeight;
46
- private _widgetRects;
76
+ protected _selectionModel: SelectionRenderModel;
77
+ protected _selectionStyle: Nullable<ISelectionStyle>;
78
+ protected _rowHeaderWidth: number;
79
+ protected _columnHeaderHeight: number;
80
+ protected _widgetRects: Rect[];
47
81
  private _dispose$;
48
- readonly dispose$: import('rxjs').Observable<SelectionShape>;
82
+ readonly dispose$: import('rxjs').Observable<SelectionControl>;
49
83
  readonly selectionMoving$: Subject<Nullable<IRangeWithCoord>>;
50
84
  readonly selectionMoved$: Subject<Nullable<IRangeWithCoord>>;
51
85
  readonly selectionScaling$: Subject<Nullable<IRangeWithCoord>>;
@@ -58,34 +92,59 @@ export declare class SelectionShape extends Disposable {
58
92
  private _isHelperSelection;
59
93
  constructor(_scene: Scene, _zIndex: number, _isHeaderHighlight: boolean, _themeService: ThemeService);
60
94
  get zIndex(): number;
61
- get leftControl(): Rect<import('@univerjs/engine-render').IRectProps>;
62
- get rightControl(): Rect<import('@univerjs/engine-render').IRectProps>;
63
- get topControl(): Rect<import('@univerjs/engine-render').IRectProps>;
64
- get bottomControl(): Rect<import('@univerjs/engine-render').IRectProps>;
65
- get fillControl(): Rect<import('@univerjs/engine-render').IRectProps>;
66
- get backgroundControlTop(): Rect<import('@univerjs/engine-render').IRectProps>;
67
- get backgroundControlBottom(): Rect<import('@univerjs/engine-render').IRectProps>;
68
- get backgroundControlMiddleLeft(): Rect<import('@univerjs/engine-render').IRectProps>;
69
- get backgroundControlMiddleRight(): Rect<import('@univerjs/engine-render').IRectProps>;
95
+ get leftControl(): Rect<IRectProps>;
96
+ get rightControl(): Rect<IRectProps>;
97
+ get topControl(): Rect<IRectProps>;
98
+ get bottomControl(): Rect<IRectProps>;
99
+ get fillControl(): Rect<IRectProps>;
100
+ get backgroundControlTop(): Rect<IRectProps>;
101
+ get backgroundControlBottom(): Rect<IRectProps>;
102
+ get backgroundControlMiddleLeft(): Rect<IRectProps>;
103
+ get backgroundControlMiddleRight(): Rect<IRectProps>;
70
104
  get selectionShape(): Group;
105
+ get columnHeaderGroup(): Group;
106
+ get rowHeaderGroup(): Group;
107
+ get selectionShapeGroup(): Group;
71
108
  get model(): SelectionRenderModel;
72
- get topLeftWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
73
- get topCenterWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
74
- get topRightWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
75
- get middleLeftWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
76
- get middleRightWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
77
- get bottomLeftWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
78
- get bottomCenterWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
79
- get bottomRightWidget(): Rect<import('@univerjs/engine-render').IRectProps>;
109
+ get topLeftWidget(): Rect<IRectProps>;
110
+ get topCenterWidget(): Rect<IRectProps>;
111
+ get topRightWidget(): Rect<IRectProps>;
112
+ get middleLeftWidget(): Rect<IRectProps>;
113
+ get middleRightWidget(): Rect<IRectProps>;
114
+ get bottomLeftWidget(): Rect<IRectProps>;
115
+ get bottomCenterWidget(): Rect<IRectProps>;
116
+ get bottomRightWidget(): Rect<IRectProps>;
117
+ get themeService(): ThemeService;
80
118
  get selectionStyle(): Nullable<ISelectionStyle>;
81
- get dashRect(): Rect<import('@univerjs/engine-render').IRectProps>;
119
+ set selectionStyle(style: Nullable<ISelectionStyle>);
120
+ get selectionModel(): SelectionRenderModel;
121
+ set selectionModel(model: SelectionRenderModel);
122
+ get defaultStyle(): ISelectionStyle;
123
+ set defaultStyle(style: ISelectionStyle);
124
+ get dashRect(): Rect<IRectProps>;
125
+ get currentStyle(): Nullable<ISelectionStyle>;
126
+ set currentStyle(style: Nullable<ISelectionStyle>);
82
127
  get isHelperSelection(): boolean;
128
+ get rowHeaderWidth(): number;
129
+ set rowHeaderWidth(width: number);
130
+ get columnHeaderHeight(): number;
131
+ set columnHeaderHeight(height: number);
83
132
  setEvent(state: boolean): void;
84
133
  enableHeaderHighlight(): void;
85
134
  disableHeaderHighlight(): void;
86
135
  refreshSelectionFilled(val: IRangeWithCoord): void;
87
136
  updateStyle(style: ISelectionStyle): void;
88
- update(newSelectionRange: IRangeWithCoord, rowHeaderWidth?: number, columnHeaderHeight?: number, style?: Nullable<ISelectionStyle>, highlight?: Nullable<ISelectionCellWithCoord>): void;
137
+ updateRange(range: IRangeWithCoord): void;
138
+ /**
139
+ * update seleciton model(new range)
140
+ * @param newSelectionRange update new selection range!!
141
+ * @param rowHeaderWidth
142
+ * @param columnHeaderHeight
143
+ * @param style
144
+ * @param highlight
145
+ */
146
+ update(newSelectionRange: IRangeWithCoord, rowHeaderWidth?: number, columnHeaderHeight?: number, style?: Nullable<ISelectionStyle>, highlight?: Nullable<ISelectionCellWithMergeInfo>): void;
147
+ updateCurrCell(highlight?: Nullable<ISelectionCellWithMergeInfo>): void;
89
148
  clearHighlight(): void;
90
149
  getScene(): Scene;
91
150
  dispose(): void;
@@ -99,18 +158,16 @@ export declare class SelectionShape extends Disposable {
99
158
  disableHelperSelection(): void;
100
159
  updateStyleId(id: string): void;
101
160
  /**
102
- * just handle the view
103
- *
104
- * inner update
161
+ * invoked when update selection style & range change
105
162
  */
106
- private _updateControl;
163
+ protected _updateControl(style: Nullable<ISelectionStyle>, rowHeaderWidth: number, columnHeaderHeight: number): void;
107
164
  private _initialize;
108
165
  private _initialTitle;
109
166
  private _initialWidget;
110
167
  private _updateBackgroundTitle;
111
168
  private _updateBackgroundControl;
112
169
  private _updateWidgets;
113
- private _hasWidgets;
170
+ protected _hasWidgets(widgets: ISelectionWidgetConfig): boolean;
114
171
  private _getScale;
115
172
  private _antLineOffset;
116
173
  private _antRequestNewFrame;
@@ -1,8 +1,9 @@
1
- import { Nullable, Workbook } from '@univerjs/core';
1
+ import { Disposable, Nullable, Workbook } from '@univerjs/core';
2
2
  import { IRenderContext, IRenderModule, SpreadsheetSkeleton } from '@univerjs/engine-render';
3
- import { IDisposable, Injector } from '@wendellhu/redi';
3
+ import { Injector } from '@wendellhu/redi';
4
4
 
5
5
  export interface ISheetSkeletonManagerParam {
6
+ unitId?: string;
6
7
  sheetId: string;
7
8
  skeleton: SpreadsheetSkeleton;
8
9
  dirty: boolean;
@@ -22,7 +23,7 @@ export interface ISheetSkeletonManagerSearch {
22
23
  * The viewModel is also a temporary storage variable, which does not need to be persisted,
23
24
  * so it is managed uniformly through the service.
24
25
  */
25
- export declare class SheetSkeletonManagerService implements IDisposable, IRenderModule {
26
+ export declare class SheetSkeletonManagerService extends Disposable implements IRenderModule {
26
27
  private readonly _context;
27
28
  private readonly _injector;
28
29
  private _currentSkeletonSearchParam;
@@ -35,10 +36,13 @@ export declare class SheetSkeletonManagerService implements IDisposable, IRender
35
36
  private readonly _currentSkeletonBefore$;
36
37
  readonly currentSkeletonBefore$: import('rxjs').Observable<Nullable<ISheetSkeletonManagerParam>>;
37
38
  constructor(_context: IRenderContext<Workbook>, _injector: Injector);
38
- dispose(): void;
39
+ private _initRemoveSheet;
39
40
  getCurrentSkeleton(): SpreadsheetSkeleton;
40
41
  /** @deprecated */
41
42
  getCurrent(): Nullable<ISheetSkeletonManagerParam>;
43
+ /**
44
+ * unitId is never read?
45
+ */
42
46
  getUnitSkeleton(unitId: string, sheetId: string): Nullable<ISheetSkeletonManagerParam>;
43
47
  setCurrent(searchParam: ISheetSkeletonManagerSearch): Nullable<ISheetSkeletonManagerParam>;
44
48
  private _setCurrent;
@@ -46,6 +50,7 @@ export declare class SheetSkeletonManagerService implements IDisposable, IRender
46
50
  private _reCalculate;
47
51
  makeDirty(searchParm: ISheetSkeletonManagerSearch, state?: boolean): void;
48
52
  getOrCreateSkeleton(searchParam: ISheetSkeletonManagerSearch): SpreadsheetSkeleton | undefined;
53
+ disposeSkeleton(searchParm: ISheetSkeletonManagerSearch): void;
49
54
  private _getSkeleton;
50
55
  private _buildSkeleton;
51
56
  }
@@ -13,7 +13,6 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- /// <reference types="node" />
17
16
  export interface AnimateConfig {
18
17
  loop: boolean;
19
18
  begin: number;
@@ -13,5 +13,5 @@ interface FunctionNameMap {
13
13
  [key: string]: string;
14
14
  }
15
15
  export declare const CopyableStatisticItem: React.FC<IStatisticItem>;
16
- export declare function formatNumber(item: IStatisticItem): string;
16
+ export declare function formatNumber(item: IStatisticItem): string | 0;
17
17
  export {};