@univerjs/sheets-ui 0.2.4-alpha.0 → 0.2.5

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.
@@ -1,4 +1,4 @@
1
1
  import { IOperation } from '@univerjs/core';
2
- import { IScrollManagerWithSearchParam } from '../../services/scroll-manager.service';
2
+ import { IScrollStateWithSearchParam } from '../../services/scroll-manager.service';
3
3
 
4
- export declare const SetScrollOperation: IOperation<IScrollManagerWithSearchParam>;
4
+ export declare const SetScrollOperation: IOperation<IScrollStateWithSearchParam>;
@@ -0,0 +1,6 @@
1
+ import { IFunctionInfo, IFunctionNames } from '@univerjs/engine-formula';
2
+
3
+ export declare class MockFunctionService {
4
+ getDescriptions(): Map<IFunctionNames, IFunctionInfo>;
5
+ }
6
+ export declare const IMockFunctionService: import('@univerjs/core').IdentifierDecorator<MockFunctionService>;
@@ -3,7 +3,7 @@ import { TextSelectionManagerService } from '@univerjs/docs';
3
3
  import { IDocumentLayoutObject, IRenderContext, IRenderModule, IRenderManagerService, ITextSelectionRenderManager } from '@univerjs/engine-render';
4
4
  import { IEditorService } from '@univerjs/ui';
5
5
  import { SheetsSelectionsService } from '@univerjs/sheets';
6
- import { LexerTreeBuilder } from '@univerjs/engine-formula';
6
+ import { IFunctionService, LexerTreeBuilder } from '@univerjs/engine-formula';
7
7
  import { IEditorBridgeService } from '../../services/editor-bridge.service';
8
8
  import { ICellEditorManagerService } from '../../services/editor/cell-editor-manager.service';
9
9
 
@@ -17,6 +17,7 @@ export declare class EditingRenderController extends Disposable implements IRend
17
17
  private readonly _cellEditorManagerService;
18
18
  private readonly _textSelectionRenderManager;
19
19
  private readonly _lexerTreeBuilder;
20
+ private readonly _functionService;
20
21
  private readonly _textSelectionManagerService;
21
22
  private readonly _commandService;
22
23
  protected readonly _localService: LocaleService;
@@ -30,7 +31,7 @@ export declare class EditingRenderController extends Disposable implements IRend
30
31
  private _isUnitEditing;
31
32
  private _workbookSelections;
32
33
  private _d;
33
- constructor(_context: IRenderContext<Workbook>, selectionManagerService: SheetsSelectionsService, _undoRedoService: IUndoRedoService, _contextService: IContextService, _instanceSrv: IUniverInstanceService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _cellEditorManagerService: ICellEditorManagerService, _textSelectionRenderManager: ITextSelectionRenderManager, _lexerTreeBuilder: LexerTreeBuilder, _textSelectionManagerService: TextSelectionManagerService, _commandService: ICommandService, _localService: LocaleService, _editorService: IEditorService, _resourceLoaderService: IResourceLoaderService);
34
+ constructor(_context: IRenderContext<Workbook>, selectionManagerService: SheetsSelectionsService, _undoRedoService: IUndoRedoService, _contextService: IContextService, _instanceSrv: IUniverInstanceService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _cellEditorManagerService: ICellEditorManagerService, _textSelectionRenderManager: ITextSelectionRenderManager, _lexerTreeBuilder: LexerTreeBuilder, _functionService: IFunctionService, _textSelectionManagerService: TextSelectionManagerService, _commandService: ICommandService, _localService: LocaleService, _editorService: IEditorService, _resourceLoaderService: IResourceLoaderService);
34
35
  dispose(): void;
35
36
  private _disposeCurrent;
36
37
  private _init;
@@ -84,4 +85,4 @@ export declare class EditingRenderController extends Disposable implements IRend
84
85
  private _cursorStateListener;
85
86
  private _moveInEditor;
86
87
  }
87
- export declare function getCellDataByInput(cellData: ICellData, documentLayoutObject: IDocumentLayoutObject, lexerTreeBuilder: LexerTreeBuilder, getSnapshot: (data: DocumentDataModel) => IDocumentData): ICellData | null;
88
+ export declare function getCellDataByInput(cellData: ICellData, documentLayoutObject: IDocumentLayoutObject, lexerTreeBuilder: LexerTreeBuilder, getSnapshot: (data: DocumentDataModel) => IDocumentData, localeService: LocaleService, functionService: IFunctionService): ICellData | null;
@@ -3,6 +3,7 @@ import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
3
  import { SheetsSelectionsService } from '@univerjs/sheets';
4
4
  import { IContextMenuService, ILayoutService } from '@univerjs/ui';
5
5
  import { ISheetSelectionRenderService } from '../../../services/selection/base-selection-render.service';
6
+ import { SheetSkeletonManagerService } from '../../../services/sheet-skeleton-manager.service';
6
7
 
7
8
  /**
8
9
  * On mobile devices, the context menu would popup when
@@ -15,6 +16,7 @@ export declare class SheetContextMenuMobileRenderController extends Disposable i
15
16
  private readonly _contextMenuService;
16
17
  private readonly _selectionManagerService;
17
18
  private readonly _selectionRenderService;
18
- constructor(_context: IRenderContext<Workbook>, _layoutService: ILayoutService, _contextMenuService: IContextMenuService, _selectionManagerService: SheetsSelectionsService, _selectionRenderService: ISheetSelectionRenderService);
19
+ private readonly _sheetSkeletonManagerService;
20
+ constructor(_context: IRenderContext<Workbook>, _layoutService: ILayoutService, _contextMenuService: IContextMenuService, _selectionManagerService: SheetsSelectionsService, _selectionRenderService: ISheetSelectionRenderService, _sheetSkeletonManagerService: SheetSkeletonManagerService);
19
21
  private _init;
20
22
  }
@@ -22,13 +22,6 @@ export declare class MobileSheetsScrollRenderController extends Disposable imple
22
22
  private _scrollToSelectionForExpand;
23
23
  private _getFreeze;
24
24
  private _initScrollEventListener;
25
- /**
26
- * for row & col selection.
27
- * x value of row seleciton controlPoints is always half of viewport wide.
28
- * y value of col selection controlPoints is always half of viewport height.
29
- *
30
- */
31
- private _scrollInfo$Handler;
32
25
  private _initSkeletonListener;
33
26
  /**
34
27
  * for mobile
@@ -20,7 +20,6 @@ export declare class SheetsScrollRenderController extends Disposable implements
20
20
  private _scrollToSelectionForExpand;
21
21
  private _getFreeze;
22
22
  private _initScrollEventListener;
23
- private _scrollSubscribeBinding;
24
23
  private _initSkeletonListener;
25
24
  private _updateSceneSize;
26
25
  private _getSheetObject;
@@ -0,0 +1,23 @@
1
+ import { LocaleType } from '@univerjs/core';
2
+ import { IFunctionService, LexerTreeBuilder } from '@univerjs/engine-formula';
3
+
4
+ export declare function isCJKLocale(locale: LocaleType): boolean;
5
+ /**
6
+ * Convert all full-width characters to half-width characters and try to parse them. If the parsing is successful, apply them. If the parsing is not successful, return them to full-width characters.
7
+ *
8
+ * Convert full-width characters to half-width characters
9
+ * 1. Formula
10
+ * 2. Boolean
11
+ * 3. Formatted number
12
+ *
13
+ * Not converted
14
+ * 1. Force string
15
+ * 2. Chinese single and double quotation marks
16
+ * 3. Characters between single and double quotes in formulas
17
+ * 4. Other text that cannot be recognized as formulas, Boolean values, or numbers
18
+ *
19
+ * @param str
20
+ * @param lexerTreeBuilder
21
+ * @returns
22
+ */
23
+ export declare function normalizeString(str: string, lexerTreeBuilder: LexerTreeBuilder, functionService: IFunctionService): string;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
@@ -101,3 +101,9 @@ export declare function getAutoFillRepeatRange(sourceRange: IRange, targetRange:
101
101
  };
102
102
  relativeRange: IRange;
103
103
  }[];
104
+ /**
105
+ * Formulas or Boolean values do not need to update cell.v
106
+ * @param cell
107
+ * @returns
108
+ */
109
+ export declare function needsUpdateCellValue(cell: ICellData): boolean;
@@ -30,7 +30,7 @@ export declare class SheetCanvasPopManagerService extends Disposable {
30
30
  * @param viewport target viewport
31
31
  * @returns disposable
32
32
  */
33
- attachPopupToCell(row: number, col: number, popup: ICanvasPopup, viewport?: Viewport): Nullable<IDisposable>;
33
+ attachPopupToCell(row: number, col: number, popup: ICanvasPopup, viewport?: Viewport, showOnSelectionMoving?: boolean): Nullable<IDisposable>;
34
34
  private _createCellPositionObserver;
35
35
  private _calcCellPositionByCell;
36
36
  }
@@ -1,4 +1,4 @@
1
- import { IDisposable } from '@univerjs/core';
1
+ import { IDisposable, Disposable } from '@univerjs/core';
2
2
  import { ISheetLocation } from '@univerjs/sheets';
3
3
  import { IRenderManagerService } from '@univerjs/engine-render';
4
4
  import { SheetCanvasPopManagerService } from './canvas-pop-manager.service';
@@ -17,7 +17,7 @@ export interface ICellAlert {
17
17
  height: number;
18
18
  key: string;
19
19
  }
20
- export declare class CellAlertManagerService {
20
+ export declare class CellAlertManagerService extends Disposable {
21
21
  private readonly _renderManagerService;
22
22
  private readonly _canvasPopManagerService;
23
23
  private _currentAlert$;
@@ -3,13 +3,7 @@ import { BehaviorSubject } from 'rxjs';
3
3
  import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
4
4
  import { SheetSkeletonManagerService } from './sheet-skeleton-manager.service';
5
5
 
6
- export interface IViewportScrollState {
7
- scrollX: number;
8
- scrollY: number;
9
- viewportScrollX: number;
10
- viewportScrollY: number;
11
- }
12
- export interface IScrollManagerParam {
6
+ export interface IScrollState {
13
7
  /**
14
8
  * offsetX from startRow, coordinate same as viewport, not scrollbar
15
9
  */
@@ -26,24 +20,20 @@ export interface IScrollManagerParam {
26
20
  * current start column in viewport visible area
27
21
  */
28
22
  sheetViewStartColumn: number;
29
- /**
30
- * overall offsetX from sheet cotent topleft, should be same as startRow * rowHeight + offsetY
31
- * coordinate same as viewport, not scrollbar
32
- */
33
- viewportScrollX?: number;
34
- /**
35
- * overall offsetY from sheet content topleft, should be same as startColumn * columnWidth + offsetX
36
- * coordinate same as viewport, not scrollbar
37
- */
38
- viewportScrollY?: number;
39
23
  }
40
- export interface IScrollManagerSearchParam {
24
+ export interface IViewportScrollState extends IScrollState {
25
+ scrollX: number;
26
+ scrollY: number;
27
+ viewportScrollX: number;
28
+ viewportScrollY: number;
29
+ }
30
+ export interface IScrollStateSearchParam {
41
31
  unitId: string;
42
32
  sheetId: string;
43
33
  }
44
- export interface IScrollManagerWithSearchParam extends IScrollManagerSearchParam, IScrollManagerParam {
34
+ export interface IScrollStateWithSearchParam extends IScrollStateSearchParam, IScrollState {
45
35
  }
46
- export type IScrollInfo = Map<string, Map<string, IScrollManagerParam>>;
36
+ export type IScrollStateMap = Map<string, Map<string, IScrollState>>;
47
37
  /**
48
38
  * This service manages and sets the virtual scrolling of the canvas content area.
49
39
  * It triggers service changes through SetScrollOperation.
@@ -56,7 +46,7 @@ export declare class SheetScrollManagerService implements IRenderModule {
56
46
  /**
57
47
  * a map holds all scroll info for each sheet
58
48
  */
59
- private readonly _scrollInfoMap;
49
+ private readonly _scrollStateMap;
60
50
  /**
61
51
  * a subject for current sheet scrollInfo
62
52
  */
@@ -64,10 +54,12 @@ export declare class SheetScrollManagerService implements IRenderModule {
64
54
  /**
65
55
  * a subject for current sheet scrollInfo ( events, ex wheel event and point events add deltaXY to rawScrollInfo$)
66
56
  */
67
- readonly rawScrollInfo$: import('rxjs').Observable<Nullable<IScrollManagerParam>>;
57
+ readonly rawScrollInfo$: import('rxjs').Observable<Nullable<IScrollState>>;
68
58
  /**
69
59
  * a subject for current valid scrollInfo, viewport@_scrollCore would limit rawScrollInfo$ exclude negative value or over max value.
70
60
  * use this subject not rawScrollInfo$ when get scrolling state of viewport.
61
+ * The value of this subject is the same as the value of onScrollAfter$
62
+ *
71
63
  */
72
64
  readonly validViewportScrollInfo$: BehaviorSubject<Nullable<IViewportScrollState>>;
73
65
  /**
@@ -77,43 +69,32 @@ export declare class SheetScrollManagerService implements IRenderModule {
77
69
  private _searchParamForScroll;
78
70
  constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService);
79
71
  dispose(): void;
80
- setSearchParam(param: IScrollManagerSearchParam): void;
81
- setSearchParamAndRefresh(param: IScrollManagerSearchParam): void;
82
- getScrollInfoByParam(param: IScrollManagerSearchParam): Readonly<Nullable<IScrollManagerParam>>;
83
- getCurrentScrollInfo(): Readonly<Nullable<IScrollManagerParam>>;
84
- setScrollInfoToSnapshot(scrollInfo: IScrollManagerParam): void;
72
+ setSearchParam(param: IScrollStateSearchParam): void;
73
+ setSearchParamAndRefresh(param: IScrollStateSearchParam): void;
74
+ getScrollStateByParam(param: IScrollStateSearchParam): Readonly<Nullable<IScrollState>>;
75
+ getCurrentScrollState(): Readonly<Nullable<IScrollState>>;
85
76
  /**
86
- * set scrollInfo by cmd,
87
- * call _setScrollInfo twice after one scrolling.
88
- * first time set scrollInfo by scrollOperation, but offsetXY is derived from scroll event.
89
- * second time set scrollInfo by viewport.scrollTo(scrol.render-controller --> onScrollAfterObserver), this time offsetXY has been limited.
90
- *
91
- * wheelevent --> sheetCanvasView --> set-scroll.command('sheet.command.set-scroll-relative') --> scrollOperation --> scrollManagerService.setScrollInfo --> scrollInfo$.next --> scroll.render-controller@viewportMain.scrollTo & notify -->
92
- * scroll.render-controller@onScrollAfter$ --> this.setScrollInfoToCurrSheetWithoutNotify --> this._setScrollInfo({}, false)
93
- * call _setScrollInfo again, a loop!, so we should call setScrollInfoToCurrSheetWithoutNotify
77
+ * set scrollInfo by cmd, call by scroll operation
94
78
  * @param param
95
79
  */
96
- setScrollInfoAndEmitEvent(param: IScrollManagerWithSearchParam): void;
97
- setScrollInfoToCurrSheetAndEmitEvent(scrollInfo: IScrollManagerParam): void;
80
+ setScrollInfoAndEmitEvent(param: IScrollStateWithSearchParam): void;
81
+ /**
82
+ * call by set frozen
83
+ * @param scrollInfo
84
+ */
85
+ setScrollStateToCurrSheetAndEmitEvent(scrollInfo: IScrollState): void;
98
86
  /**
99
- * call _setScrollInfo but no _scrollInfo$.next
87
+ * set _scrollStateMap but no _scrollInfo$.next
100
88
  * @param scroll
101
89
  */
102
- justSetScrollInfoToCurrSheet(scroll: IScrollManagerParam): void;
90
+ setScrollStateToCurrSheet(scroll: IScrollState): void;
103
91
  clear(): void;
104
- calcViewportScrollFromRowColOffset(scrollInfo: IScrollManagerWithSearchParam): {
105
- scrollTop: number;
106
- scrollLeft: number;
107
- overallScrollX?: undefined;
108
- overallScrollY?: undefined;
109
- } | {
110
- overallScrollX: number;
111
- overallScrollY: number;
112
- scrollTop?: undefined;
113
- scrollLeft?: undefined;
92
+ calcViewportScrollFromRowColOffset(scrollInfo: Nullable<IViewportScrollState>): {
93
+ viewportScrollX: number;
94
+ viewportScrollY: number;
114
95
  };
115
- private _setScrollInfo;
116
- private _clearByParam;
96
+ private _setScrollState;
97
+ private _clearByParamAndNotify;
117
98
  private _getCurrentScroll;
118
- private _notifyCurrentScrollInfo;
99
+ private _scrollStateNext;
119
100
  }
@@ -14,6 +14,7 @@ export interface ISheetSelectionRenderService {
14
14
  readonly controlFillConfig$: Observable<IControlFillConfig | null>;
15
15
  readonly selectionMoving$: Observable<ISelectionWithCoordAndStyle[]>;
16
16
  readonly selectionMoveStart$: Observable<ISelectionWithCoordAndStyle[]>;
17
+ get selectionMoving(): boolean;
17
18
  interceptor: InterceptorManager<{
18
19
  RANGE_MOVE_PERMISSION_CHECK: IInterceptor<boolean, null>;
19
20
  RANGE_FILL_PERMISSION_CHECK: IInterceptor<boolean, {
@@ -75,6 +76,8 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
75
76
  readonly selectionMoving$: Observable<ISelectionWithCoordAndStyle[]>;
76
77
  protected readonly _selectionMoveStart$: Subject<ISelectionWithCoordAndStyle[]>;
77
78
  readonly selectionMoveStart$: Observable<ISelectionWithCoordAndStyle[]>;
79
+ private _selectionMoving;
80
+ get selectionMoving(): boolean;
78
81
  protected _activeViewport: Nullable<Viewport>;
79
82
  readonly interceptor: InterceptorManager<{
80
83
  RANGE_MOVE_PERMISSION_CHECK: IInterceptor<boolean, null>;
@@ -86,6 +89,7 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
86
89
  }>;
87
90
  }>;
88
91
  constructor(_injector: Injector, _themeService: ThemeService, _shortcutService: IShortcutService, _renderManagerService: IRenderManagerService);
92
+ private _initMoving;
89
93
  protected _setStyle(style: ISelectionStyle): void;
90
94
  protected _resetStyle(): void;
91
95
  /** @deprecated This should not be provided by the selection render service. */
@@ -11,7 +11,8 @@ export declare enum HEADER_RESIZE_SHAPE_TYPE {
11
11
  }
12
12
  export declare const HEADER_MENU_SHAPE_RECT_BACKGROUND_FILL = "rgba(120, 120, 120, 0.01)";
13
13
  export declare const HEADER_MENU_SHAPE_RECT_FILL = "rgb(68, 71, 70)";
14
- export declare const HEADER_MENU_SHAPE_WIDTH_HEIGHT = 12;
14
+ export declare const HEADER_MENU_SHAPE_SIZE = 12;
15
+ export declare const MAX_HEADER_MENU_SHAPE_SIZE = 44;
15
16
  export declare const HEADER_MENU_SHAPE_THUMB_SIZE = 4;
16
17
  export declare class HeaderMenuResizeShape<T extends IHeaderMenuShapeResizeProps = IHeaderMenuShapeResizeProps> extends Shape<T> {
17
18
  private _size;
@@ -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 | 0;
16
+ export declare function formatNumber(item: IStatisticItem): any;
17
17
  export {};