@univerjs/sheets-ui 0.21.1 → 0.22.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.
- package/README.md +33 -21
- package/lib/cjs/index.js +444 -409
- package/lib/es/index.js +445 -410
- package/lib/index.js +445 -410
- package/lib/types/config/config.d.ts +21 -0
- package/lib/types/controllers/shortcuts/utils.d.ts +8 -0
- package/lib/types/services/clipboard/html-to-usm/converter.d.ts +11 -0
- package/lib/types/services/clipboard/type.d.ts +1 -0
- package/lib/types/services/editor/cell-editor-manager.service.d.ts +1 -1
- package/lib/types/services/editor/formula-editor-manager.service.d.ts +6 -4
- package/lib/types/services/editor-bridge.service.d.ts +2 -2
- package/lib/types/services/status-bar.service.d.ts +1 -1
- package/lib/umd/index.js +11 -11
- package/package.json +23 -19
package/lib/es/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BreakLineCommand, CoverContentCommand, DOCS_COMPONENT_MAIN_LAYER_INDEX, DOCS_VIEW_KEY, DOC_VERTICAL_PADDING, DeleteLeftCommand, DeleteRightCommand, DocSelectionRenderService, IEditorService, IMEInputCommand, InsertCommand, MoveCursorOperation, MoveSelectionOperation, NodePositionConvertToCursor, ReplaceSnapshotCommand, SetInlineFormatBoldCommand, SetInlineFormatCommand, SetInlineFormatFontFamilyCommand, SetInlineFormatFontSizeCommand, SetInlineFormatItalicCommand, SetInlineFormatStrikethroughCommand, SetInlineFormatSubscriptCommand, SetInlineFormatSuperscriptCommand, SetInlineFormatTextColorCommand, SetInlineFormatUnderlineCommand, VIEWPORT_KEY, convertBodyToHtml, getCanvasOffsetByEngine, getLineBounding } from "@univerjs/docs-ui";
|
|
2
|
-
import { AbsoluteRefType, BaselineOffset, BooleanNumber, BorderStyleTypes, CellModeEnum, CellValueType, ColorKit, CommandType, CustomRangeType, DEFAULT_EMPTY_DOCUMENT_VALUE, DEFAULT_STYLES, DEFAULT_WORKSHEET_COLUMN_WIDTH, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY, DEFAULT_WORKSHEET_ROW_HEIGHT, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DataStreamTreeTokenType, DependentOn, Direction, Disposable, DisposableCollection, DocumentFlavor, EDITOR_ACTIVATED, ErrorService, FOCUSING_COMMENT_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_EDITOR_BUT_HIDDEN, FOCUSING_EDITOR_INPUT_FORMULA, FOCUSING_EDITOR_STANDALONE, FOCUSING_FX_BAR_EDITOR, FOCUSING_SHAPE_TEXT_EDITOR, FOCUSING_SHEET, FOCUSING_UNIVER_EDITOR, FontItalic, FontWeight, HorizontalAlign, IAuthzIoService, ICommandService, IConfigService, IConfirmService, IContextService, ILogService, IPermissionService, IUndoRedoService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, InterceptorManager, LRUMap, LocaleService, LocaleType, NilCommand, ObjectMatrix, Optional, Plugin, PresetListType, Quantity, RANGE_TYPE, Range, Rectangle, RxDisposable, ThemeService, Tools, UndoCommandId, UniverInstanceType, UserManagerService, VerticalAlign, Workbook, WrapStrategy, cloneCellData, cloneCellDataMatrix, cloneCellDataWithSpanAndDisplay, cloneValue, composeStyles, convertCellToRange, createIdentifier, createInterceptorKey, dateKit, debounce, extractPureTextFromCell, fromEventSubject, generateRandomId, get, getEmptyCell, getNumfmtParseValueFilter, getReverseDirection, handleStyleToString, isFormulaString, isNotNullOrUndefined, isRealNum, isTextFormat, isValidRange, merge, mergeOverrideWithDependencies, nameCharacterCheck, numfmt, registerDependencies, sequenceExecute, set, skipParseTagNames, sortRules, splitIntoGrid, throttle, toDisposable, touchDependencies, willLoseNumericPrecision } from "@univerjs/core";
|
|
2
|
+
import { AbsoluteRefType, BaselineOffset, BooleanNumber, BorderStyleTypes, CellModeEnum, CellValueType, ColorKit, CommandType, CustomRangeType, DEFAULT_EMPTY_DOCUMENT_VALUE, DEFAULT_STYLES, DEFAULT_WORKSHEET_COLUMN_COUNT, DEFAULT_WORKSHEET_COLUMN_WIDTH, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY, DEFAULT_WORKSHEET_ROW_COUNT, DEFAULT_WORKSHEET_ROW_HEIGHT, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DataStreamTreeTokenType, DependentOn, Direction, Disposable, DisposableCollection, DocumentFlavor, EDITOR_ACTIVATED, ErrorService, FOCUSING_COMMENT_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_EDITOR_BUT_HIDDEN, FOCUSING_EDITOR_INPUT_FORMULA, FOCUSING_EDITOR_STANDALONE, FOCUSING_FX_BAR_EDITOR, FOCUSING_SHAPE_TEXT_EDITOR, FOCUSING_SHEET, FOCUSING_UNIVER_EDITOR, FontItalic, FontWeight, HorizontalAlign, IAuthzIoService, ICommandService, IConfigService, IConfirmService, IContextService, ILogService, IPermissionService, IUndoRedoService, IUniverInstanceService, Inject, Injector, InterceptorEffectEnum, InterceptorManager, LRUMap, LocaleService, LocaleType, NilCommand, ObjectMatrix, Optional, Plugin, PresetListType, Quantity, RANGE_TYPE, Range, Rectangle, RxDisposable, ThemeService, Tools, UndoCommandId, UniverInstanceType, UserManagerService, VerticalAlign, Workbook, WrapStrategy, cloneCellData, cloneCellDataMatrix, cloneCellDataWithSpanAndDisplay, cloneValue, composeStyles, convertCellToRange, createIdentifier, createInterceptorKey, dateKit, debounce, extractPureTextFromCell, fromEventSubject, generateRandomId, get, getEmptyCell, getNumfmtParseValueFilter, getReverseDirection, handleStyleToString, isFormulaString, isNotNullOrUndefined, isRealNum, isTextFormat, isValidRange, merge, mergeOverrideWithDependencies, nameCharacterCheck, numfmt, registerDependencies, sequenceExecute, set, skipParseTagNames, sortRules, splitIntoGrid, throttle, toDisposable, touchDependencies, willLoseNumericPrecision } from "@univerjs/core";
|
|
3
3
|
import { AnchoredContextMenu, BuiltInUIPart, COLOR_PICKER_COMPONENT, ComponentContainer, ComponentManager, ContextMenuGroup, ContextMenuPosition, CopyCommand, CutCommand, DISABLE_AUTO_FOCUS_KEY, FILE_PNG_CLIPBOARD_MIME_TYPE, FILE__BMP_CLIPBOARD_MIME_TYPE, FILE__JPEG_CLIPBOARD_MIME_TYPE, FILE__WEBP_CLIPBOARD_MIME_TYPE, FONT_FAMILY_COMPONENT, FONT_FAMILY_ITEM_COMPONENT, FONT_SIZE_COMPONENT, FONT_SIZE_LIST, HTML_CLIPBOARD_MIME_TYPE, ICanvasPopupService, IClipboardInterfaceService, IContextMenuService, IDialogService, ILayoutService, IMenuManagerService, IMessageService, INotificationService, IPlatformService, IShortcutService, ISidebarService, IUIPartsService, IZenZoneService, KeyCode, MenuItemType, MetaKeys, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, PasteCommand, RibbonDataGroup, RibbonPosition, RibbonStartGroup, SheetPasteShortKeyCommandName, Slider, ToolbarItem, UI_PLUGIN_CONFIG_KEY, UniverMobileUIPlugin, connectInjector, getMenuHiddenObservable, handleStringToStyle, imageMimeTypeSet, sanitizeParsedHtml, textTrim, useComponentsOfPart, useConfigValue, useDependency, useEvent, useObservable, useSidebarClick, useVirtualList } from "@univerjs/ui";
|
|
4
4
|
import { CURSOR_TYPE, DEFAULT_PADDING_DATA, DashedRect, DeviceInputEventType, FIX_ONE_PIXEL_BLUR_OFFSET, Group, IRenderManagerService, Layer, RENDER_CLASS_TYPE, RENDER_RAW_FORMULA_KEY, Rect, RegularPolygon, SHEET_EXTENSION_PREFIX, SHEET_VIEWPORT_KEY, ScrollBar, ScrollTimer, ScrollTimerType, Shape, SheetExtension, Spreadsheet, SpreadsheetColumnHeader, SpreadsheetRowHeader, TRANSFORM_CHANGE_OBSERVABLE_TYPE, Vector2, Viewport, cancelRequestFrame, convertTextRotation, convertTransformToOffsetX, convertTransformToOffsetY, fixLineWidthByScale, getCurrentTypeOfRenderer, ptToPixel, requestNewFrame, withCurrentTypeOfRenderer } from "@univerjs/engine-render";
|
|
5
5
|
import { AUTO_FILL_APPLY_TYPE, AUTO_FILL_HOOK_TYPE, AddMergeUndoMutationFactory, AddRangeProtectionCommand, AddRangeProtectionMutation, AddWorksheetMergeAllCommand, AddWorksheetMergeCommand, AddWorksheetMergeHorizontalCommand, AddWorksheetMergeMutation, AddWorksheetMergeVerticalCommand, AddWorksheetProtectionCommand, AutoClearContentCommand, AutoFillCommand, AutoFillController, BEFORE_CELL_EDIT, BorderStyleManagerService, COMMAND_LISTENER_SKELETON_CHANGE, COMMAND_LISTENER_VALUE_CHANGE, CancelFrozenCommand, CancelMarkDirtyRowAutoHeightOperation, ClearSelectionAllCommand, ClearSelectionContentCommand, ClearSelectionFormatCommand, CopySheetCommand, DeleteRangeMoveLeftCommand, DeleteRangeMoveUpCommand, DeleteRangeProtectionCommand, DeleteRangeProtectionMutation, DeleteWorksheetProtectionCommand, DeltaColumnWidthCommand, DeltaRowHeightCommand, EditStateEnum, IAutoFillService, IExclusiveRangeService, INTERCEPTOR_POINT, INumfmtService, IRefSelectionsService, InsertColBeforeCommand, InsertColCommand, InsertColMutation, InsertDefinedNameCommand, InsertMultiColsLeftCommand, InsertMultiColsRightCommand, InsertMultiRowsAboveCommand, InsertMultiRowsAfterCommand, InsertRangeMoveDownCommand, InsertRangeMoveRightCommand, InsertRowBeforeCommand, InsertRowCommand, InsertRowMutation, InsertSheetCommand, InsertSheetMutation, MAX_CELL_PER_SHEET_KEY, MERGE_CELL_INTERCEPTOR_CHECK, MarkDirtyRowAutoHeightOperation, MergeCellController, MoveColsCommand, MoveColsMutation, MoveRangeCommand, MoveRangeMutation, MoveRowsCommand, MoveRowsMutation, REF_SELECTIONS_ENABLED, RangeProtectionCache, RangeProtectionPermissionEditPoint, RangeProtectionPermissionViewPoint, RangeProtectionRuleModel, RefRangeService, RefSelectionsService, RefillCommand, RemoveColCommand, RemoveColMutation, RemoveDefinedNameCommand, RemoveMergeUndoMutationFactory, RemoveRowCommand, RemoveRowMutation, RemoveSheetCommand, RemoveSheetMutation, RemoveWorksheetMergeCommand, RemoveWorksheetMergeMutation, ResetBackgroundColorCommand, ResetTextColorCommand, SCOPE_WORKBOOK_VALUE_DEFINED_NAME, SELECTIONS_ENABLED, SELECTION_CONTROL_BORDER_BUFFER_COLOR, SELECTION_CONTROL_BORDER_BUFFER_WIDTH, SHEETS_PLUGIN_CONFIG_KEY, ScrollToCellOperation, SelectionMoveType, SetBackgroundColorCommand, SetBoldCommand, SetBorderBasicCommand, SetBorderCommand, SetColHiddenCommand, SetColHiddenMutation, SetColVisibleMutation, SetColWidthCommand, SetDefinedNameCommand, SetFontFamilyCommand, SetFontSizeCommand, SetFrozenCommand, SetFrozenMutation, SetFrozenMutationFactory, SetHorizontalTextAlignCommand, SetItalicCommand, SetProtectionCommand, SetRangeValuesCommand, SetRangeValuesMutation, SetRangeValuesUndoMutationFactory, SetRowHeightCommand, SetRowHiddenCommand, SetRowHiddenMutation, SetRowVisibleMutation, SetSelectedColsVisibleCommand, SetSelectedRowsVisibleCommand, SetSelectionsOperation, SetSpecificColsVisibleCommand, SetSpecificRowsVisibleCommand, SetStrikeThroughCommand, SetStyleCommand, SetTabColorCommand, SetTabColorMutation, SetTextColorCommand, SetTextRotationCommand, SetTextWrapCommand, SetUnderlineCommand, SetVerticalTextAlignCommand, SetWorksheetActivateCommand, SetWorksheetActiveOperation, SetWorksheetColWidthMutation, SetWorksheetColWidthMutationFactory, SetWorksheetHideCommand, SetWorksheetHideMutation, SetWorksheetNameCommand, SetWorksheetNameMutation, SetWorksheetOrderCommand, SetWorksheetOrderMutation, SetWorksheetPermissionPointsCommand, SetWorksheetRowAutoHeightMutation, SetWorksheetRowAutoHeightMutationFactory, SetWorksheetRowHeightMutation, SetWorksheetRowIsAutoHeightCommand, SetWorksheetRowIsAutoHeightMutation, SetWorksheetShowCommand, SheetCopyDownCommand, SheetCopyDownCommand as SheetCopyDownCommand$1, SheetCopyRightCommand, SheetCopyRightCommand as SheetCopyRightCommand$1, SheetInterceptorService, SheetPermissionCheckController, SheetPermissionInitController, SheetSkeletonService, SheetsSelectionsService, TextToNumberCommand, ToggleCellCheckboxCommand, ToggleGridlinesCommand, ToggleGridlinesMutation, UnitAction, UnitObject, UniverSheetsPlugin, ViewStateEnum, WorkbookCopyPermission, WorkbookCreateProtectPermission, WorkbookCreateSheetPermission, WorkbookDeleteColumnPermission, WorkbookDeleteRowPermission, WorkbookDeleteSheetPermission, WorkbookEditablePermission, WorkbookHideSheetPermission, WorkbookInsertColumnPermission, WorkbookInsertRowPermission, WorkbookManageCollaboratorPermission, WorkbookRenameSheetPermission, WorksheetCopyPermission, WorksheetDeleteColumnPermission, WorksheetDeleteProtectionPermission, WorksheetDeleteRowPermission, WorksheetEditPermission, WorksheetInsertColumnPermission, WorksheetInsertRowPermission, WorksheetManageCollaboratorPermission, WorksheetProtectionPointModel, WorksheetProtectionRuleModel, WorksheetSetCellStylePermission, WorksheetSetCellValuePermission, WorksheetSetColumnStylePermission, WorksheetSetRowStylePermission, WorksheetViewPermission, adjustRangeOnMutation, alignToMergedCellsBorders, attachPrimaryWithCoord, attachRangeWithCoord, attachSelectionWithCoord, baseProtectionActions, convertPrimaryWithCoordToPrimary, convertSelectionDataToRange, countCells, defaultLargeSheetOperationConfig, discreteRangeToRange, expandToContinuousRange, getAddMergeMutationRangeByType, getAllWorksheetPermissionPoint, getCellAtRowCol, getClearContentMutationParamsForRanges, getMoveRangeCommandMutations, getPrimaryForRange, getSelectionsService, getSheetCommandTarget, rangeToDiscreteRange, setEndForRange, validateDefinedName } from "@univerjs/sheets";
|
|
@@ -41,6 +41,16 @@ function whenSheetFocused(contextService) {
|
|
|
41
41
|
function whenSheetEditorFocused(contextService) {
|
|
42
42
|
return contextService.getContextValue(FOCUSING_SHEET) && contextService.getContextValue(FOCUSING_UNIVER_EDITOR) && !contextService.getContextValue(EDITOR_ACTIVATED) && !contextService.getContextValue(FOCUSING_COMMON_DRAWINGS);
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Requires the currently focused unit to be Workbook, regardless of whether the cell editor is activated.
|
|
46
|
+
* Used by inline-format shortcuts (bold/italic/underline/strikethrough) so they can also fire
|
|
47
|
+
* inside the cell editor — the corresponding command will route to the docs inline-format command
|
|
48
|
+
* when EDITOR_ACTIVATED is true.
|
|
49
|
+
* @param contextService
|
|
50
|
+
*/
|
|
51
|
+
function whenSheetFocusedInlineFormat(contextService) {
|
|
52
|
+
return contextService.getContextValue(FOCUSING_SHEET) && contextService.getContextValue(FOCUSING_UNIVER_EDITOR) && !contextService.getContextValue(FOCUSING_COMMON_DRAWINGS);
|
|
53
|
+
}
|
|
44
54
|
function whenSheetEditorFocusedAndFxNotFocused(contextService) {
|
|
45
55
|
return contextService.getContextValue(FOCUSING_SHEET) && contextService.getContextValue(FOCUSING_UNIVER_EDITOR) && !contextService.getContextValue(EDITOR_ACTIVATED) && !contextService.getContextValue(FOCUSING_FX_BAR_EDITOR) && !contextService.getContextValue(FOCUSING_COMMON_DRAWINGS);
|
|
46
56
|
}
|
|
@@ -175,7 +185,7 @@ let SHEET_VIEW_KEY = /* @__PURE__ */ function(SHEET_VIEW_KEY) {
|
|
|
175
185
|
}({});
|
|
176
186
|
|
|
177
187
|
//#endregion
|
|
178
|
-
//#region \0@oxc-project+runtime@0.
|
|
188
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/typeof.js
|
|
179
189
|
function _typeof(o) {
|
|
180
190
|
"@babel/helpers - typeof";
|
|
181
191
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -186,7 +196,7 @@ function _typeof(o) {
|
|
|
186
196
|
}
|
|
187
197
|
|
|
188
198
|
//#endregion
|
|
189
|
-
//#region \0@oxc-project+runtime@0.
|
|
199
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/toPrimitive.js
|
|
190
200
|
function toPrimitive(t, r) {
|
|
191
201
|
if ("object" != _typeof(t) || !t) return t;
|
|
192
202
|
var e = t[Symbol.toPrimitive];
|
|
@@ -199,14 +209,14 @@ function toPrimitive(t, r) {
|
|
|
199
209
|
}
|
|
200
210
|
|
|
201
211
|
//#endregion
|
|
202
|
-
//#region \0@oxc-project+runtime@0.
|
|
212
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/toPropertyKey.js
|
|
203
213
|
function toPropertyKey(t) {
|
|
204
214
|
var i = toPrimitive(t, "string");
|
|
205
215
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
206
216
|
}
|
|
207
217
|
|
|
208
218
|
//#endregion
|
|
209
|
-
//#region \0@oxc-project+runtime@0.
|
|
219
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/defineProperty.js
|
|
210
220
|
function _defineProperty(e, r, t) {
|
|
211
221
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
212
222
|
value: t,
|
|
@@ -347,7 +357,7 @@ const SetRowHeaderWidthCommand = {
|
|
|
347
357
|
if (render) {
|
|
348
358
|
renderManagerSrv.getRenderById(unitId).with(SheetSkeletonManagerService).setRowHeaderSize(render, subUnitId, size);
|
|
349
359
|
const { components } = render;
|
|
350
|
-
const renderComponent = components.get(
|
|
360
|
+
const renderComponent = components.get("__SpreadsheetRowHeader__");
|
|
351
361
|
if (renderComponent) renderComponent.setCustomHeader({ headerStyle: { size } }, subUnitId);
|
|
352
362
|
}
|
|
353
363
|
return true;
|
|
@@ -365,7 +375,7 @@ const SetColumnHeaderHeightCommand = {
|
|
|
365
375
|
if (render) {
|
|
366
376
|
renderManagerSrv.getRenderById(unitId).with(SheetSkeletonManagerService).setColumnHeaderSize(render, subUnitId, size);
|
|
367
377
|
const { components } = render;
|
|
368
|
-
const renderComponent = components.get(
|
|
378
|
+
const renderComponent = components.get("__SpreadsheetColumnHeader__");
|
|
369
379
|
if (renderComponent) renderComponent.setCustomHeader({ headerStyle: { size } }, subUnitId);
|
|
370
380
|
}
|
|
371
381
|
return true;
|
|
@@ -954,7 +964,7 @@ function genSelectionByRange(skeleton, range) {
|
|
|
954
964
|
}
|
|
955
965
|
|
|
956
966
|
//#endregion
|
|
957
|
-
//#region \0@oxc-project+runtime@0.
|
|
967
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/decorateParam.js
|
|
958
968
|
function __decorateParam(paramIndex, decorator) {
|
|
959
969
|
return function(target, key) {
|
|
960
970
|
decorator(target, key, paramIndex);
|
|
@@ -962,7 +972,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
962
972
|
}
|
|
963
973
|
|
|
964
974
|
//#endregion
|
|
965
|
-
//#region \0@oxc-project+runtime@0.
|
|
975
|
+
//#region \0@oxc-project+runtime@0.129.0/helpers/decorate.js
|
|
966
976
|
function __decorate(decorators, target, key, desc) {
|
|
967
977
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
968
978
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -1763,41 +1773,6 @@ var SelectionShapeExtension = class {
|
|
|
1763
1773
|
|
|
1764
1774
|
//#endregion
|
|
1765
1775
|
//#region src/services/selection/selection-control.ts
|
|
1766
|
-
let SELECTION_MANAGER_KEY = /* @__PURE__ */ function(SELECTION_MANAGER_KEY) {
|
|
1767
|
-
SELECTION_MANAGER_KEY["Selection"] = "__SpreadsheetSelectionShape__";
|
|
1768
|
-
SELECTION_MANAGER_KEY["top"] = "__SpreadsheetSelectionTopControl__";
|
|
1769
|
-
SELECTION_MANAGER_KEY["bottom"] = "__SpreadsheetSelectionBottomControl__";
|
|
1770
|
-
SELECTION_MANAGER_KEY["left"] = "__SpreadsheetSelectionShapeLeftControl__";
|
|
1771
|
-
SELECTION_MANAGER_KEY["right"] = "__SpreadsheetSelectionShapeRightControl__";
|
|
1772
|
-
SELECTION_MANAGER_KEY["backgroundTop"] = "__SpreadsheetSelectionBackgroundControlTop__";
|
|
1773
|
-
SELECTION_MANAGER_KEY["backgroundMiddleLeft"] = "__SpreadsheetSelectionBackgroundControlMiddleLeft__";
|
|
1774
|
-
SELECTION_MANAGER_KEY["backgroundMiddleRight"] = "__SpreadsheetSelectionBackgroundControlMiddleRight__";
|
|
1775
|
-
SELECTION_MANAGER_KEY["backgroundBottom"] = "__SpreadsheetSelectionBackgroundControlBottom__";
|
|
1776
|
-
SELECTION_MANAGER_KEY["fill"] = "__SpreadsheetSelectionFillControl__";
|
|
1777
|
-
SELECTION_MANAGER_KEY["fillTopLeft"] = "__SpreadsheetSelectionFillControlTopLeft__";
|
|
1778
|
-
SELECTION_MANAGER_KEY["fillBottomRight"] = "__SpreadsheetSelectionFillControlBottomRight__";
|
|
1779
|
-
SELECTION_MANAGER_KEY["fillTopLeftInner"] = "__SpreadsheetSelectionFillControlTopLeftInner__";
|
|
1780
|
-
SELECTION_MANAGER_KEY["fillBottomRightInner"] = "__SpreadsheetSelectionFillControlBottomRightInner__";
|
|
1781
|
-
SELECTION_MANAGER_KEY["lineMain"] = "__SpreadsheetDragLineMainControl__";
|
|
1782
|
-
SELECTION_MANAGER_KEY["lineContent"] = "__SpreadsheetDragLineContentControl__";
|
|
1783
|
-
SELECTION_MANAGER_KEY["line"] = "__SpreadsheetDragLineControl__";
|
|
1784
|
-
SELECTION_MANAGER_KEY["dash"] = "__SpreadsheetDragDashControl__";
|
|
1785
|
-
SELECTION_MANAGER_KEY["rowHeaderBackground"] = "__SpreadSheetSelectionRowHeaderBackground__";
|
|
1786
|
-
SELECTION_MANAGER_KEY["rowHeaderBorder"] = "__SpreadSheetSelectionRowHeaderBorder__";
|
|
1787
|
-
SELECTION_MANAGER_KEY["rowHeaderGroup"] = "__SpreadSheetSelectionRowHeaderGroup__";
|
|
1788
|
-
SELECTION_MANAGER_KEY["columnHeaderBackground"] = "__SpreadSheetSelectionColumnHeaderBackground__";
|
|
1789
|
-
SELECTION_MANAGER_KEY["columnHeaderBorder"] = "__SpreadSheetSelectionColumnHeaderBorder__";
|
|
1790
|
-
SELECTION_MANAGER_KEY["columnHeaderGroup"] = "__SpreadSheetSelectionColumnHeaderGroup__";
|
|
1791
|
-
SELECTION_MANAGER_KEY["topLeftWidget"] = "__SpreadSheetSelectionTopLeftWidget__";
|
|
1792
|
-
SELECTION_MANAGER_KEY["topCenterWidget"] = "__SpreadSheetSelectionTopCenterWidget__";
|
|
1793
|
-
SELECTION_MANAGER_KEY["topRightWidget"] = "__SpreadSheetSelectionTopRightWidget__";
|
|
1794
|
-
SELECTION_MANAGER_KEY["middleLeftWidget"] = "__SpreadSheetSelectionMiddleLeftWidget__";
|
|
1795
|
-
SELECTION_MANAGER_KEY["middleRightWidget"] = "__SpreadSheetSelectionMiddleRightWidget__";
|
|
1796
|
-
SELECTION_MANAGER_KEY["bottomLeftWidget"] = "__SpreadSheetSelectionBottomLeftWidget__";
|
|
1797
|
-
SELECTION_MANAGER_KEY["bottomCenterWidget"] = "__SpreadSheetSelectionBottomCenterWidget__";
|
|
1798
|
-
SELECTION_MANAGER_KEY["bottomRightWidget"] = "__SpreadSheetSelectionBottomRightWidget__";
|
|
1799
|
-
return SELECTION_MANAGER_KEY;
|
|
1800
|
-
}({});
|
|
1801
1776
|
const SELECTION_TITLE_HIGHLIGHT_ALPHA = .3;
|
|
1802
1777
|
/**
|
|
1803
1778
|
* The main selection canvas component, includes leftControl,rightControl,topControl,bottomControl,backgroundControlTop,backgroundControlMiddleLeft,backgroundControlMiddleRight,backgroundControlBottom,fillControl
|
|
@@ -1868,29 +1843,29 @@ var SelectionControl = class extends Disposable {
|
|
|
1868
1843
|
this._currentStyle = genNormalSelectionStyle(this._themeService);
|
|
1869
1844
|
this._selectionRenderModel = new SelectionRenderModel();
|
|
1870
1845
|
const zIndex = this._zIndex;
|
|
1871
|
-
this._leftBorder = new Rect(
|
|
1872
|
-
this._rightBorder = new Rect(
|
|
1873
|
-
this._topBorder = new Rect(
|
|
1874
|
-
this._bottomBorder = new Rect(
|
|
1875
|
-
this._backgroundControlTop = new Rect(
|
|
1846
|
+
this._leftBorder = new Rect("__SpreadsheetSelectionShapeLeftControl__" + zIndex, { zIndex });
|
|
1847
|
+
this._rightBorder = new Rect("__SpreadsheetSelectionShapeRightControl__" + zIndex, { zIndex });
|
|
1848
|
+
this._topBorder = new Rect("__SpreadsheetSelectionTopControl__" + zIndex, { zIndex });
|
|
1849
|
+
this._bottomBorder = new Rect("__SpreadsheetSelectionBottomControl__" + zIndex, { zIndex });
|
|
1850
|
+
this._backgroundControlTop = new Rect("__SpreadsheetSelectionBackgroundControlTop__" + zIndex, {
|
|
1876
1851
|
zIndex: zIndex - 1,
|
|
1877
1852
|
evented: false
|
|
1878
1853
|
});
|
|
1879
|
-
this._backgroundControlBottom = new Rect(
|
|
1854
|
+
this._backgroundControlBottom = new Rect("__SpreadsheetSelectionBackgroundControlBottom__" + zIndex, {
|
|
1880
1855
|
zIndex: zIndex - 1,
|
|
1881
1856
|
evented: false
|
|
1882
1857
|
});
|
|
1883
|
-
this._backgroundControlMiddleLeft = new Rect(
|
|
1858
|
+
this._backgroundControlMiddleLeft = new Rect("__SpreadsheetSelectionBackgroundControlMiddleLeft__" + zIndex, {
|
|
1884
1859
|
zIndex: zIndex - 1,
|
|
1885
1860
|
evented: false
|
|
1886
1861
|
});
|
|
1887
|
-
this._backgroundControlMiddleRight = new Rect(
|
|
1862
|
+
this._backgroundControlMiddleRight = new Rect("__SpreadsheetSelectionBackgroundControlMiddleRight__" + zIndex, {
|
|
1888
1863
|
zIndex: zIndex - 1,
|
|
1889
1864
|
evented: false
|
|
1890
1865
|
});
|
|
1891
|
-
this._autoFillControl = new Rect(
|
|
1866
|
+
this._autoFillControl = new Rect("__SpreadsheetSelectionFillControl__" + zIndex, { zIndex: zIndex + 1 });
|
|
1892
1867
|
this._autoFillControl.hide();
|
|
1893
|
-
this._dashedRect = new DashedRect(
|
|
1868
|
+
this._dashedRect = new DashedRect("__SpreadsheetDragDashControl__" + zIndex, {
|
|
1894
1869
|
zIndex: zIndex + 2,
|
|
1895
1870
|
evented: false,
|
|
1896
1871
|
stroke: "#fff"
|
|
@@ -1908,7 +1883,7 @@ var SelectionControl = class extends Disposable {
|
|
|
1908
1883
|
this._dashedRect
|
|
1909
1884
|
];
|
|
1910
1885
|
this._widgetRects = this._initialWidget();
|
|
1911
|
-
this._selectionShapeGroup = new Group(
|
|
1886
|
+
this._selectionShapeGroup = new Group("__SpreadsheetSelectionShape__" + zIndex, ...shapes, ...this._widgetRects);
|
|
1912
1887
|
this._selectionShapeGroup.hide();
|
|
1913
1888
|
this._selectionShapeGroup.evented = false;
|
|
1914
1889
|
this._selectionShapeGroup.zIndex = zIndex;
|
|
@@ -1922,27 +1897,27 @@ var SelectionControl = class extends Disposable {
|
|
|
1922
1897
|
}
|
|
1923
1898
|
_initialHeader() {
|
|
1924
1899
|
const zIndex = this._zIndex;
|
|
1925
|
-
this._rowHeaderBackground = new Rect(
|
|
1900
|
+
this._rowHeaderBackground = new Rect("__SpreadSheetSelectionRowHeaderBackground__" + zIndex, {
|
|
1926
1901
|
zIndex: zIndex - 1,
|
|
1927
1902
|
evented: false
|
|
1928
1903
|
});
|
|
1929
|
-
this._rowHeaderBorder = new Rect(
|
|
1904
|
+
this._rowHeaderBorder = new Rect("__SpreadSheetSelectionRowHeaderBorder__" + zIndex, {
|
|
1930
1905
|
zIndex: zIndex - 1,
|
|
1931
1906
|
evented: false
|
|
1932
1907
|
});
|
|
1933
|
-
this._rowHeaderGroup = new Group(
|
|
1908
|
+
this._rowHeaderGroup = new Group("__SpreadSheetSelectionRowHeaderGroup__" + zIndex, this._rowHeaderBackground, this._rowHeaderBorder);
|
|
1934
1909
|
this._rowHeaderGroup.hide();
|
|
1935
1910
|
this._rowHeaderGroup.evented = false;
|
|
1936
1911
|
this._rowHeaderGroup.zIndex = zIndex;
|
|
1937
|
-
this._columnHeaderBackground = new Rect(
|
|
1912
|
+
this._columnHeaderBackground = new Rect("__SpreadSheetSelectionColumnHeaderBackground__" + zIndex, {
|
|
1938
1913
|
zIndex: zIndex - 1,
|
|
1939
1914
|
evented: false
|
|
1940
1915
|
});
|
|
1941
|
-
this._columnHeaderBorder = new Rect(
|
|
1916
|
+
this._columnHeaderBorder = new Rect("__SpreadSheetSelectionColumnHeaderBorder__" + zIndex, {
|
|
1942
1917
|
zIndex: zIndex - 1,
|
|
1943
1918
|
evented: false
|
|
1944
1919
|
});
|
|
1945
|
-
this._columnHeaderGroup = new Group(
|
|
1920
|
+
this._columnHeaderGroup = new Group("__SpreadSheetSelectionColumnHeaderGroup__" + zIndex, this._columnHeaderBackground, this._columnHeaderBorder);
|
|
1946
1921
|
this._columnHeaderGroup.hide();
|
|
1947
1922
|
this._columnHeaderGroup.evented = false;
|
|
1948
1923
|
this._columnHeaderGroup.zIndex = zIndex;
|
|
@@ -1950,14 +1925,14 @@ var SelectionControl = class extends Disposable {
|
|
|
1950
1925
|
}
|
|
1951
1926
|
_initialWidget() {
|
|
1952
1927
|
const zIndex = this._zIndex;
|
|
1953
|
-
this._topLeftWidget = new Rect(
|
|
1954
|
-
this._topCenterWidget = new Rect(
|
|
1955
|
-
this._topRightWidget = new Rect(
|
|
1956
|
-
this._middleLeftWidget = new Rect(
|
|
1957
|
-
this._middleRightWidget = new Rect(
|
|
1958
|
-
this._bottomLeftWidget = new Rect(
|
|
1959
|
-
this._bottomCenterWidget = new Rect(
|
|
1960
|
-
this._bottomRightWidget = new Rect(
|
|
1928
|
+
this._topLeftWidget = new Rect("__SpreadSheetSelectionTopLeftWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1929
|
+
this._topCenterWidget = new Rect("__SpreadSheetSelectionTopCenterWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1930
|
+
this._topRightWidget = new Rect("__SpreadSheetSelectionTopRightWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1931
|
+
this._middleLeftWidget = new Rect("__SpreadSheetSelectionMiddleLeftWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1932
|
+
this._middleRightWidget = new Rect("__SpreadSheetSelectionMiddleRightWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1933
|
+
this._bottomLeftWidget = new Rect("__SpreadSheetSelectionBottomLeftWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1934
|
+
this._bottomCenterWidget = new Rect("__SpreadSheetSelectionBottomCenterWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1935
|
+
this._bottomRightWidget = new Rect("__SpreadSheetSelectionBottomRightWidget__" + zIndex, { zIndex: zIndex + 1 });
|
|
1961
1936
|
return [
|
|
1962
1937
|
this._topLeftWidget,
|
|
1963
1938
|
this._topCenterWidget,
|
|
@@ -2591,7 +2566,7 @@ var SelectionControl = class extends Disposable {
|
|
|
2591
2566
|
|
|
2592
2567
|
//#endregion
|
|
2593
2568
|
//#region src/services/mark-selection/mark-selection.service.ts
|
|
2594
|
-
const DEFAULT_Z_INDEX =
|
|
2569
|
+
const DEFAULT_Z_INDEX = 1e4;
|
|
2595
2570
|
const IMarkSelectionService = createIdentifier("univer.mark-selection-service");
|
|
2596
2571
|
let MarkSelectionService = class MarkSelectionService extends Disposable {
|
|
2597
2572
|
constructor(_currentService, _sheetSkeletonService, _renderManagerService, _themeService) {
|
|
@@ -2971,6 +2946,7 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
2971
2946
|
_defineProperty(this, "_styleRules", []);
|
|
2972
2947
|
_defineProperty(this, "_afterProcessRules", []);
|
|
2973
2948
|
_defineProperty(this, "_dom", null);
|
|
2949
|
+
_defineProperty(this, "_msoNumfmtMap", /* @__PURE__ */ new Map());
|
|
2974
2950
|
_defineProperty(this, "_getCurrentSkeleton", void 0);
|
|
2975
2951
|
this._getCurrentSkeleton = props.getCurrentSkeleton;
|
|
2976
2952
|
}
|
|
@@ -2984,6 +2960,8 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
2984
2960
|
this._dom = parseToDom(html);
|
|
2985
2961
|
const style = this._dom.querySelector("style");
|
|
2986
2962
|
if (style) {
|
|
2963
|
+
var _style$textContent;
|
|
2964
|
+
this._parseMsoNumfmtFromCssText((_style$textContent = style.textContent) !== null && _style$textContent !== void 0 ? _style$textContent : "");
|
|
2987
2965
|
const shadowHost = document.createElement("div");
|
|
2988
2966
|
const shadowRoot = shadowHost.attachShadow({ mode: "open" });
|
|
2989
2967
|
document.body.appendChild(shadowHost);
|
|
@@ -3079,6 +3057,40 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
3079
3057
|
cellMatrix: valueMatrix
|
|
3080
3058
|
};
|
|
3081
3059
|
}
|
|
3060
|
+
/**
|
|
3061
|
+
* Parse mso-number-format from raw CSS text before the browser drops proprietary properties.
|
|
3062
|
+
* Must be called with style.textContent BEFORE the style element is moved into a shadow DOM.
|
|
3063
|
+
*/
|
|
3064
|
+
_parseMsoNumfmtFromCssText(rawCssText) {
|
|
3065
|
+
const ruleRegex = /([^{]+)\{([^}]*)\}/g;
|
|
3066
|
+
let match;
|
|
3067
|
+
while ((match = ruleRegex.exec(rawCssText)) !== null) {
|
|
3068
|
+
const selectors = match[1].trim();
|
|
3069
|
+
const numfmtMatch = match[2].match(/mso-number-format\s*:\s*("(?:[^"\\]|\\.)*"|[^;]+)/i);
|
|
3070
|
+
if (!numfmtMatch) continue;
|
|
3071
|
+
let value = numfmtMatch[1].trim();
|
|
3072
|
+
if (value.startsWith("\"") && value.endsWith("\"")) value = value.slice(1, -1);
|
|
3073
|
+
const decoded = decodeMsoNumberFormat(value);
|
|
3074
|
+
selectors.split(",").forEach((sel) => {
|
|
3075
|
+
this._msoNumfmtMap.set(sel.trim(), decoded);
|
|
3076
|
+
});
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
/**
|
|
3080
|
+
* Get the mso-number-format value for a given DOM node,
|
|
3081
|
+
* following the same priority as _getStyle: class > id > tag.
|
|
3082
|
+
*/
|
|
3083
|
+
_getMsoNumfmtForNode(node) {
|
|
3084
|
+
for (const className of node.classList) {
|
|
3085
|
+
const fmt = this._msoNumfmtMap.get(`.${className}`);
|
|
3086
|
+
if (fmt) return fmt;
|
|
3087
|
+
}
|
|
3088
|
+
if (node.id) {
|
|
3089
|
+
const fmt = this._msoNumfmtMap.get(`#${node.id}`);
|
|
3090
|
+
if (fmt) return fmt;
|
|
3091
|
+
}
|
|
3092
|
+
return this._msoNumfmtMap.get(node.nodeName.toLowerCase());
|
|
3093
|
+
}
|
|
3082
3094
|
_getStyleBySelectorText(selectorText, cssText) {
|
|
3083
3095
|
var _this$_styleMap$get;
|
|
3084
3096
|
const css = (_this$_styleMap$get = this._styleMap.get(selectorText)) === null || _this$_styleMap$get === void 0 ? void 0 : _this$_styleMap$get.getPropertyValue(cssText);
|
|
@@ -3161,6 +3173,13 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
3161
3173
|
rowSpan: value.rowSpan,
|
|
3162
3174
|
colSpan: value.colSpan
|
|
3163
3175
|
};
|
|
3176
|
+
if (value.numfmtPattern) {
|
|
3177
|
+
cellValue.s = {
|
|
3178
|
+
...cellValue.s,
|
|
3179
|
+
n: { pattern: value.numfmtPattern }
|
|
3180
|
+
};
|
|
3181
|
+
cellValue.v = Number(cellValue.v);
|
|
3182
|
+
}
|
|
3164
3183
|
valueMatrix.setValue(row, col, cellValue);
|
|
3165
3184
|
});
|
|
3166
3185
|
return {
|
|
@@ -3202,7 +3221,33 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
3202
3221
|
if (borderRight && textTrim(borderRight.substr(borderRight.indexOf(":") + 1)) !== "none") cellStyle = cellStyle.replace(/border-left:[^;]+;/, "");
|
|
3203
3222
|
}
|
|
3204
3223
|
}
|
|
3205
|
-
|
|
3224
|
+
let cellText = "";
|
|
3225
|
+
let cellRichStyle;
|
|
3226
|
+
let numfmtPattern;
|
|
3227
|
+
const pattern = this._getMsoNumfmtForNode(cell);
|
|
3228
|
+
if (pattern) {
|
|
3229
|
+
cellText = cell.innerHTML;
|
|
3230
|
+
if (cellText.includes("mso-spacerun:yes")) cellText = cleanMsoSpaceRun(cellText);
|
|
3231
|
+
const parseData = getNumfmtParseValueFilter(cellText);
|
|
3232
|
+
if (typeof (parseData === null || parseData === void 0 ? void 0 : parseData.v) === "number" && (parseData.z === pattern || numfmt.format(pattern, parseData.v) === cellText)) {
|
|
3233
|
+
cellText = parseData.v.toString();
|
|
3234
|
+
numfmtPattern = pattern;
|
|
3235
|
+
} else if (parseData && parseData.z) {
|
|
3236
|
+
cellText = parseData.v.toString();
|
|
3237
|
+
numfmtPattern = parseData.z;
|
|
3238
|
+
} else if (!parseData) {
|
|
3239
|
+
const extractedNumber = extractNumber(cellText);
|
|
3240
|
+
if (extractedNumber !== null && !Number.isNaN(extractedNumber) && numfmt.format(pattern, extractedNumber) === cellText) {
|
|
3241
|
+
cellText = extractedNumber.toString();
|
|
3242
|
+
numfmtPattern = pattern;
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
}
|
|
3246
|
+
if (!numfmtPattern) {
|
|
3247
|
+
const cellTextAndRichText = this._getCellTextAndRichText(cell, cellStyle, skeleton);
|
|
3248
|
+
cellText = cellTextAndRichText.cellText;
|
|
3249
|
+
cellRichStyle = cellTextAndRichText.cellRichStyle;
|
|
3250
|
+
}
|
|
3206
3251
|
const cellValue = {
|
|
3207
3252
|
rowSpan,
|
|
3208
3253
|
colSpan,
|
|
@@ -3211,7 +3256,8 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
3211
3256
|
richTextParma: {
|
|
3212
3257
|
p: cellRichStyle,
|
|
3213
3258
|
v: cellText
|
|
3214
|
-
}
|
|
3259
|
+
},
|
|
3260
|
+
numfmtPattern
|
|
3215
3261
|
};
|
|
3216
3262
|
if (cellMatrix.getValue(rowIndex, colSetValueIndex)) {
|
|
3217
3263
|
colSetValueIndex += 1;
|
|
@@ -3269,9 +3315,9 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
3269
3315
|
* "<span style="mso-spacerun:yes"> </span>1,234.57 "
|
|
3270
3316
|
*/
|
|
3271
3317
|
if (cell.innerHTML.includes("mso-spacerun:yes")) {
|
|
3272
|
-
const cellText = cell.innerHTML
|
|
3318
|
+
const cellText = cleanMsoSpaceRun(cell.innerHTML);
|
|
3273
3319
|
const parseInfo = getNumfmtParseValueFilter(cellText);
|
|
3274
|
-
if (parseInfo && parseInfo.z &&
|
|
3320
|
+
if (parseInfo && parseInfo.z && typeof parseInfo.v === "number") return {
|
|
3275
3321
|
cellText,
|
|
3276
3322
|
cellRichStyle: void 0
|
|
3277
3323
|
};
|
|
@@ -3391,6 +3437,7 @@ var HtmlToUSMService = class HtmlToUSMService {
|
|
|
3391
3437
|
this._dom = null;
|
|
3392
3438
|
this._styleCache.clear();
|
|
3393
3439
|
this._styleMap.clear();
|
|
3440
|
+
this._msoNumfmtMap.clear();
|
|
3394
3441
|
}
|
|
3395
3442
|
};
|
|
3396
3443
|
_defineProperty(HtmlToUSMService, "_pluginList", []);
|
|
@@ -3489,11 +3536,38 @@ function setMergedCellStyle(cellMatrix, cellStyle, cellValue, indexParams) {
|
|
|
3489
3536
|
});
|
|
3490
3537
|
else cellMatrix.setValue(i, j, { style: cellStyle });
|
|
3491
3538
|
}
|
|
3539
|
+
/**
|
|
3540
|
+
* Decode mso-number-format value from Excel HTML CSS.
|
|
3541
|
+
* Excel escapes certain characters in CSS with backslash, and uses \0022 for double-quote.
|
|
3542
|
+
* e.g. "_\(* \#\,\#\#0_\)\;_\(* \\\(\#\,\#\#0\\\)\;_\(* \0022-\0022??_\)\;_\(\@_\)"
|
|
3543
|
+
* → "_(* #,##0_);_(* \(#,##0\);_(* \"-\"??_);_(@_)"
|
|
3544
|
+
*/
|
|
3545
|
+
function decodeMsoNumberFormat(value) {
|
|
3546
|
+
let result = value.replace(/\\([0-9a-fA-F]{4})/g, (_, hex) => String.fromCharCode(Number.parseInt(hex, 16)));
|
|
3547
|
+
result = result.replace(/\\\\/g, "\0BACKSLASH\0");
|
|
3548
|
+
result = result.replace(/\\([^\\])/g, "$1");
|
|
3549
|
+
result = result.replace(/\x00BACKSLASH\x00/g, "\\");
|
|
3550
|
+
return result;
|
|
3551
|
+
}
|
|
3552
|
+
function cleanMsoSpaceRun(value) {
|
|
3553
|
+
return value.replace(/<span[^>]*mso-spacerun:yes[^>]*>/gi, "").replace(/<\/span>/gi, "").replace(/\u00A0| /gi, "");
|
|
3554
|
+
}
|
|
3555
|
+
function extractNumber(value) {
|
|
3556
|
+
const match = value.match(/\(?-?\d[\d,]*(\.\d+)?%?\)?/);
|
|
3557
|
+
if (!match) return null;
|
|
3558
|
+
let numStr = match[0];
|
|
3559
|
+
const isPercent = numStr.includes("%");
|
|
3560
|
+
numStr = numStr.replace(/[,%]/g, "");
|
|
3561
|
+
if (/^\(.*\)$/.test(numStr)) numStr = `-${numStr.slice(1, -1)}`;
|
|
3562
|
+
let num = Number(numStr);
|
|
3563
|
+
if (isPercent) num = num / 100;
|
|
3564
|
+
return num;
|
|
3565
|
+
}
|
|
3492
3566
|
|
|
3493
3567
|
//#endregion
|
|
3494
3568
|
//#region src/services/clipboard/html-to-usm/paste-plugins/plugin-lark.ts
|
|
3495
3569
|
const LarkPastePlugin = {
|
|
3496
|
-
name: "univer-
|
|
3570
|
+
name: "univer-sheet-paste-plugin-lark",
|
|
3497
3571
|
checkPasteType(html) {
|
|
3498
3572
|
return /lark-record-clipboard/i.test(html);
|
|
3499
3573
|
},
|
|
@@ -3522,7 +3596,7 @@ const LarkPastePlugin = {
|
|
|
3522
3596
|
//#endregion
|
|
3523
3597
|
//#region src/services/clipboard/html-to-usm/paste-plugins/plugin-univer.ts
|
|
3524
3598
|
const UniverPastePlugin = {
|
|
3525
|
-
name: "univer-
|
|
3599
|
+
name: "univer-sheet-paste-plugin-univer",
|
|
3526
3600
|
checkPasteType(html) {
|
|
3527
3601
|
return /UniverNormal/i.test(html);
|
|
3528
3602
|
},
|
|
@@ -3545,7 +3619,7 @@ const UniverPastePlugin = {
|
|
|
3545
3619
|
//#endregion
|
|
3546
3620
|
//#region src/services/clipboard/html-to-usm/paste-plugins/plugin-word.ts
|
|
3547
3621
|
const WordPastePlugin = {
|
|
3548
|
-
name: "univer-
|
|
3622
|
+
name: "univer-sheet-paste-plugin-word",
|
|
3549
3623
|
checkPasteType(html) {
|
|
3550
3624
|
return /word|mso/i.test(html);
|
|
3551
3625
|
},
|
|
@@ -3944,7 +4018,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
3944
4018
|
return this._copyContentCache;
|
|
3945
4019
|
}
|
|
3946
4020
|
generateCopyContent(workbookId, worksheetId, range, options) {
|
|
3947
|
-
const { copyType =
|
|
4021
|
+
const { copyType = "COPY", copyHookType = PREDEFINED_HOOK_NAME_COPY.DEFAULT_COPY } = options || {};
|
|
3948
4022
|
let hooks = this._clipboardHooks;
|
|
3949
4023
|
if (copyHookType === PREDEFINED_HOOK_NAME_COPY.SPECIAL_COPY_FORMULA_ONLY) hooks = this._clipboardHooks.filter((h) => h.id === copyHookType);
|
|
3950
4024
|
hooks.forEach((h) => {
|
|
@@ -3966,7 +4040,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
3966
4040
|
if (!workbook || !worksheet) return false;
|
|
3967
4041
|
const workbookId = workbook.getUnitId();
|
|
3968
4042
|
const worksheetId = worksheet.getSheetId();
|
|
3969
|
-
const { copyType =
|
|
4043
|
+
const { copyType = "COPY", copyHookType = PREDEFINED_HOOK_NAME_COPY.DEFAULT_COPY } = options || {};
|
|
3970
4044
|
const copyContent = this.generateCopyContent(workbookId, worksheetId, selection.range, {
|
|
3971
4045
|
copyType,
|
|
3972
4046
|
copyHookType
|
|
@@ -3990,7 +4064,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
3990
4064
|
return true;
|
|
3991
4065
|
}
|
|
3992
4066
|
async cut() {
|
|
3993
|
-
return this.copy({ copyType:
|
|
4067
|
+
return this.copy({ copyType: "CUT" });
|
|
3994
4068
|
}
|
|
3995
4069
|
async paste(item, pasteType = PREDEFINED_HOOK_NAME_PASTE.DEFAULT_PASTE) {
|
|
3996
4070
|
const types = item.types;
|
|
@@ -4036,7 +4110,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
4036
4110
|
const undoRedoService = this._injector.get(IUndoRedoService);
|
|
4037
4111
|
const element = undoRedoService.pitchTopUndoElement();
|
|
4038
4112
|
if (element) {
|
|
4039
|
-
if (sequenceExecute(element.undoMutations, this._commandService)) undoRedoService.popUndoToRedo();
|
|
4113
|
+
if (sequenceExecute(element.undoMutations, this._commandService).result) undoRedoService.popUndoToRedo();
|
|
4040
4114
|
}
|
|
4041
4115
|
const { cellMatrix, rowProperties = [], colProperties = [], source, target } = pasteOptionsCache;
|
|
4042
4116
|
this._pasteUSM({
|
|
@@ -4280,7 +4354,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
4280
4354
|
range.rows.forEach((j) => {
|
|
4281
4355
|
rowProperties.push({ height: `${rowManager.getRowHeight(j)}` });
|
|
4282
4356
|
});
|
|
4283
|
-
if (cachedData.copyType ===
|
|
4357
|
+
if (cachedData.copyType === "CUT") {
|
|
4284
4358
|
const start = pasteTarget.pastedRange.rows[0];
|
|
4285
4359
|
const end = range.rows[range.rows.length - 1] - range.rows[0] + start;
|
|
4286
4360
|
pasteTarget.pastedRange.rows = Array.from(new Array(end + 1).keys()).slice(start);
|
|
@@ -4296,7 +4370,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
4296
4370
|
copyType: cachedData.copyType,
|
|
4297
4371
|
copyId
|
|
4298
4372
|
});
|
|
4299
|
-
if (cachedData.copyType ===
|
|
4373
|
+
if (cachedData.copyType === "CUT") {
|
|
4300
4374
|
this._copyContentCache.set(copyId, {
|
|
4301
4375
|
...cachedData,
|
|
4302
4376
|
matrix: null
|
|
@@ -4332,7 +4406,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
4332
4406
|
range: source.range
|
|
4333
4407
|
} : null;
|
|
4334
4408
|
const payload = {
|
|
4335
|
-
copyType: (source === null || source === void 0 ? void 0 : source.copyType) ||
|
|
4409
|
+
copyType: (source === null || source === void 0 ? void 0 : source.copyType) || "COPY",
|
|
4336
4410
|
copyId: source === null || source === void 0 ? void 0 : source.copyId,
|
|
4337
4411
|
pasteType
|
|
4338
4412
|
};
|
|
@@ -4369,7 +4443,7 @@ let SheetClipboardService = class SheetClipboardService extends Disposable {
|
|
|
4369
4443
|
undoMutationsInfo.push(...contentReturn.undos);
|
|
4370
4444
|
}
|
|
4371
4445
|
});
|
|
4372
|
-
if (payload.copyType ===
|
|
4446
|
+
if (payload.copyType === "COPY") {
|
|
4373
4447
|
const setSelectionOperation = this._getSetSelectionOperation(unitId, subUnitId, pastedRange, cellMatrix, pasteType);
|
|
4374
4448
|
if (setSelectionOperation) redoMutationsInfo.push(setSelectionOperation);
|
|
4375
4449
|
}
|
|
@@ -4784,6 +4858,7 @@ function getCellTextForClipboard(cell) {
|
|
|
4784
4858
|
if (isNotNullOrUndefined(cell.displayV)) return cell.displayV;
|
|
4785
4859
|
return extractPureTextFromCell(cell);
|
|
4786
4860
|
}
|
|
4861
|
+
const escapeSpecialCode = (cellStr) => cellStr.replace(/&/g, "&").replace(/\uFEFF/g, "").replace(/</g, "<").replace(/>/g, ">");
|
|
4787
4862
|
function rowAcrossMergedCell(row, startColumn, endColumn, worksheet) {
|
|
4788
4863
|
return worksheet.getMergeData().some((mergedCell) => mergedCell.startRow <= row && row < mergedCell.endRow && startColumn <= mergedCell.startColumn && mergedCell.startColumn <= endColumn);
|
|
4789
4864
|
}
|
|
@@ -6138,7 +6213,7 @@ let FormatPainterService = class FormatPainterService extends Disposable {
|
|
|
6138
6213
|
_defineProperty(this, "_status$", void 0);
|
|
6139
6214
|
_defineProperty(this, "_defaultHook", null);
|
|
6140
6215
|
_defineProperty(this, "_extendHooks", []);
|
|
6141
|
-
this._status$ = new BehaviorSubject(
|
|
6216
|
+
this._status$ = new BehaviorSubject(0);
|
|
6142
6217
|
this.status$ = this._status$.asObservable();
|
|
6143
6218
|
this._selectionFormat = {
|
|
6144
6219
|
styles: new ObjectMatrix(),
|
|
@@ -6209,11 +6284,11 @@ let FormatPainterService = class FormatPainterService extends Disposable {
|
|
|
6209
6284
|
}
|
|
6210
6285
|
_updateRangeMark(status) {
|
|
6211
6286
|
this._markSelectionService.removeAllShapes();
|
|
6212
|
-
if (status !==
|
|
6287
|
+
if (status !== 0) {
|
|
6213
6288
|
const selection = this._selectionManagerService.getCurrentLastSelection();
|
|
6214
6289
|
if (selection) {
|
|
6215
6290
|
const style = createCopyPasteSelectionStyle(this._themeService);
|
|
6216
|
-
if (status ===
|
|
6291
|
+
if (status === 2) this._markId = this._markSelectionService.addShape({
|
|
6217
6292
|
...selection,
|
|
6218
6293
|
style
|
|
6219
6294
|
});
|
|
@@ -6254,8 +6329,8 @@ const SetInfiniteFormatPainterCommand = {
|
|
|
6254
6329
|
handler: async (accessor) => {
|
|
6255
6330
|
const status = accessor.get(IFormatPainterService).getStatus();
|
|
6256
6331
|
let newStatus;
|
|
6257
|
-
if (status !==
|
|
6258
|
-
else newStatus =
|
|
6332
|
+
if (status !== 0) newStatus = 0;
|
|
6333
|
+
else newStatus = 2;
|
|
6259
6334
|
return accessor.get(ICommandService).executeCommand(SetFormatPainterOperation.id, { status: newStatus });
|
|
6260
6335
|
}
|
|
6261
6336
|
};
|
|
@@ -6265,8 +6340,8 @@ const SetOnceFormatPainterCommand = {
|
|
|
6265
6340
|
handler: async (accessor) => {
|
|
6266
6341
|
const status = accessor.get(IFormatPainterService).getStatus();
|
|
6267
6342
|
let newStatus;
|
|
6268
|
-
if (status !==
|
|
6269
|
-
else newStatus =
|
|
6343
|
+
if (status !== 0) newStatus = 0;
|
|
6344
|
+
else newStatus = 1;
|
|
6270
6345
|
return accessor.get(ICommandService).executeCommand(SetFormatPainterOperation.id, { status: newStatus });
|
|
6271
6346
|
}
|
|
6272
6347
|
};
|
|
@@ -6403,14 +6478,6 @@ SheetScrollManagerService = __decorate([__decorateParam(1, Inject(SheetSkeletonM
|
|
|
6403
6478
|
|
|
6404
6479
|
//#endregion
|
|
6405
6480
|
//#region src/commands/commands/set-frozen.command.ts
|
|
6406
|
-
let SetSelectionFrozenType = /* @__PURE__ */ function(SetSelectionFrozenType) {
|
|
6407
|
-
SetSelectionFrozenType[SetSelectionFrozenType["RowColumn"] = 0] = "RowColumn";
|
|
6408
|
-
SetSelectionFrozenType[SetSelectionFrozenType["Row"] = 1] = "Row";
|
|
6409
|
-
SetSelectionFrozenType[SetSelectionFrozenType["Column"] = 2] = "Column";
|
|
6410
|
-
SetSelectionFrozenType[SetSelectionFrozenType["FirstRow"] = 3] = "FirstRow";
|
|
6411
|
-
SetSelectionFrozenType[SetSelectionFrozenType["FirstColumn"] = 4] = "FirstColumn";
|
|
6412
|
-
return SetSelectionFrozenType;
|
|
6413
|
-
}({});
|
|
6414
6481
|
const SetSelectionFrozenCommand = {
|
|
6415
6482
|
type: CommandType.COMMAND,
|
|
6416
6483
|
id: "sheet.command.set-selection-frozen",
|
|
@@ -6429,12 +6496,12 @@ const SetSelectionFrozenCommand = {
|
|
|
6429
6496
|
let startColumn;
|
|
6430
6497
|
let freezedRowCount;
|
|
6431
6498
|
let freezedColCount;
|
|
6432
|
-
if (type ===
|
|
6499
|
+
if (type === 3) {
|
|
6433
6500
|
startRow = sheetViewStartRow + 1;
|
|
6434
6501
|
freezedRowCount = 1;
|
|
6435
6502
|
startColumn = -1;
|
|
6436
6503
|
freezedColCount = 0;
|
|
6437
|
-
} else if (type ===
|
|
6504
|
+
} else if (type === 4) {
|
|
6438
6505
|
startRow = -1;
|
|
6439
6506
|
freezedRowCount = 0;
|
|
6440
6507
|
startColumn = sheetViewStartColumn + 1;
|
|
@@ -6447,12 +6514,12 @@ const SetSelectionFrozenCommand = {
|
|
|
6447
6514
|
let selectColumn = (_primary$startColumn = primary === null || primary === void 0 ? void 0 : primary.startColumn) !== null && _primary$startColumn !== void 0 ? _primary$startColumn : range.startColumn;
|
|
6448
6515
|
if (selectColumn === 0) selectColumn = 1;
|
|
6449
6516
|
const rangeType = range.rangeType;
|
|
6450
|
-
if (rangeType === RANGE_TYPE.ROW || type ===
|
|
6517
|
+
if (rangeType === RANGE_TYPE.ROW || type === 1) {
|
|
6451
6518
|
startRow = selectRow;
|
|
6452
6519
|
freezedRowCount = selectRow - sheetViewStartRow;
|
|
6453
6520
|
startColumn = -1;
|
|
6454
6521
|
freezedColCount = 0;
|
|
6455
|
-
} else if (rangeType === RANGE_TYPE.COLUMN || type ===
|
|
6522
|
+
} else if (rangeType === RANGE_TYPE.COLUMN || type === 2) {
|
|
6456
6523
|
startRow = -1;
|
|
6457
6524
|
freezedRowCount = 0;
|
|
6458
6525
|
startColumn = selectColumn;
|
|
@@ -6494,7 +6561,7 @@ const SetRowFrozenCommand = {
|
|
|
6494
6561
|
type: CommandType.COMMAND,
|
|
6495
6562
|
id: "sheet.command.set-row-frozen",
|
|
6496
6563
|
handler: async (accessor) => {
|
|
6497
|
-
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type:
|
|
6564
|
+
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type: 1 });
|
|
6498
6565
|
return true;
|
|
6499
6566
|
}
|
|
6500
6567
|
};
|
|
@@ -6502,7 +6569,7 @@ const SetColumnFrozenCommand = {
|
|
|
6502
6569
|
type: CommandType.COMMAND,
|
|
6503
6570
|
id: "sheet.command.set-col-frozen",
|
|
6504
6571
|
handler: async (accessor) => {
|
|
6505
|
-
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type:
|
|
6572
|
+
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type: 2 });
|
|
6506
6573
|
return true;
|
|
6507
6574
|
}
|
|
6508
6575
|
};
|
|
@@ -6510,7 +6577,7 @@ const SetFirstRowFrozenCommand = {
|
|
|
6510
6577
|
type: CommandType.COMMAND,
|
|
6511
6578
|
id: "sheet.command.set-first-row-frozen",
|
|
6512
6579
|
handler: async (accessor) => {
|
|
6513
|
-
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type:
|
|
6580
|
+
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type: 3 });
|
|
6514
6581
|
return true;
|
|
6515
6582
|
}
|
|
6516
6583
|
};
|
|
@@ -6518,7 +6585,7 @@ const SetFirstColumnFrozenCommand = {
|
|
|
6518
6585
|
type: CommandType.COMMAND,
|
|
6519
6586
|
id: "sheet.command.set-first-column-frozen",
|
|
6520
6587
|
handler: async (accessor) => {
|
|
6521
|
-
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type:
|
|
6588
|
+
accessor.get(ICommandService).executeCommand(SetSelectionFrozenCommand.id, { type: 4 });
|
|
6522
6589
|
return true;
|
|
6523
6590
|
}
|
|
6524
6591
|
};
|
|
@@ -6616,7 +6683,7 @@ const MoveSelectionCommand = {
|
|
|
6616
6683
|
}
|
|
6617
6684
|
}
|
|
6618
6685
|
const startRange = getStartRange(range, primary, direction);
|
|
6619
|
-
const next = jumpOver ===
|
|
6686
|
+
const next = jumpOver === 1 ? findNextGapRange(startRange, direction, worksheet) : findNextRange(startRange, direction, worksheet);
|
|
6620
6687
|
const destRange = getCellAtRowCol(next.startRow, next.startColumn, worksheet);
|
|
6621
6688
|
if (Rectangle.equals(destRange, startRange)) return false;
|
|
6622
6689
|
const unitId = workbook.getUnitId();
|
|
@@ -6808,7 +6875,7 @@ const ExpandSelectionCommand = {
|
|
|
6808
6875
|
const destRange = !checkIfShrink({
|
|
6809
6876
|
range: startRange,
|
|
6810
6877
|
primary
|
|
6811
|
-
}, direction, worksheet) ? jumpOver ===
|
|
6878
|
+
}, direction, worksheet) ? jumpOver === 1 ? expandToNextGapRange(startRange, direction, worksheet) : expandToNextCell(startRange, direction, worksheet) : jumpOver === 1 ? shrinkToNextGapRange(startRange, {
|
|
6812
6879
|
...Rectangle.clone(primary),
|
|
6813
6880
|
rangeType: RANGE_TYPE.NORMAL
|
|
6814
6881
|
}, direction, worksheet) : shrinkToNextCell(startRange, direction, worksheet);
|
|
@@ -6890,8 +6957,7 @@ const SelectAllCommand = {
|
|
|
6890
6957
|
params: { range }
|
|
6891
6958
|
});
|
|
6892
6959
|
if (interceptor.redos.length) redos.push(...interceptor.redos);
|
|
6893
|
-
sequenceExecute(redos, accessor.get(ICommandService));
|
|
6894
|
-
return true;
|
|
6960
|
+
return sequenceExecute(redos, accessor.get(ICommandService)).result;
|
|
6895
6961
|
}
|
|
6896
6962
|
};
|
|
6897
6963
|
|
|
@@ -6925,9 +6991,9 @@ function getSheetObject(univerInstanceService, renderManagerService) {
|
|
|
6925
6991
|
if (!components || !mainComponent) return null;
|
|
6926
6992
|
return {
|
|
6927
6993
|
spreadsheet: mainComponent,
|
|
6928
|
-
spreadsheetRowHeader: components.get(
|
|
6929
|
-
spreadsheetColumnHeader: components.get(
|
|
6930
|
-
spreadsheetLeftTopPlaceholder: components.get(
|
|
6994
|
+
spreadsheetRowHeader: components.get("__SpreadsheetRowHeader__"),
|
|
6995
|
+
spreadsheetColumnHeader: components.get("__SpreadsheetColumnHeader__"),
|
|
6996
|
+
spreadsheetLeftTopPlaceholder: components.get("__SpreadsheetLeftTopPlaceholder__"),
|
|
6931
6997
|
scene,
|
|
6932
6998
|
engine
|
|
6933
6999
|
};
|
|
@@ -9661,21 +9727,21 @@ let RepeatLastActionService = class RepeatLastActionService extends Disposable {
|
|
|
9661
9727
|
_defineProperty(this, "_repeatableCommands", new Set(SHEETS_BASIC_REPEATABLE_COMMANDS));
|
|
9662
9728
|
_defineProperty(this, "_customCommandHandlers", /* @__PURE__ */ new Map());
|
|
9663
9729
|
_defineProperty(this, "_permissionCheckMap", new Map([
|
|
9664
|
-
[
|
|
9730
|
+
["editable", new Set([
|
|
9665
9731
|
InsertRowCommand.id,
|
|
9666
9732
|
InsertColCommand.id,
|
|
9667
9733
|
RemoveRowCommand.id,
|
|
9668
9734
|
RemoveColCommand.id
|
|
9669
9735
|
])],
|
|
9670
|
-
[
|
|
9736
|
+
["cellStyle", new Set([
|
|
9671
9737
|
SetStyleCommand.id,
|
|
9672
9738
|
SetBorderCommand.id,
|
|
9673
9739
|
ClearSelectionFormatCommand.id,
|
|
9674
9740
|
ClearSelectionAllCommand.id
|
|
9675
9741
|
])],
|
|
9676
|
-
[
|
|
9677
|
-
[
|
|
9678
|
-
[
|
|
9742
|
+
["cellValue", new Set([ClearSelectionContentCommand.id, ClearSelectionAllCommand.id])],
|
|
9743
|
+
["rowStyle", new Set([SetRowHeightCommand.id])],
|
|
9744
|
+
["columnStyle", new Set([SetColWidthCommand.id])]
|
|
9679
9745
|
]));
|
|
9680
9746
|
}
|
|
9681
9747
|
dispose() {
|
|
@@ -9696,13 +9762,13 @@ let RepeatLastActionService = class RepeatLastActionService extends Disposable {
|
|
|
9696
9762
|
return this._repeatableCommands;
|
|
9697
9763
|
}
|
|
9698
9764
|
getActionPermission() {
|
|
9699
|
-
if (!this._action) return
|
|
9765
|
+
if (!this._action) return "none";
|
|
9700
9766
|
const permissions = [];
|
|
9701
9767
|
for (const [permission, commandSet] of this._permissionCheckMap.entries()) if (commandSet.has(this._action.id)) permissions.push(permission);
|
|
9702
|
-
if (permissions.length === 0) return
|
|
9768
|
+
if (permissions.length === 0) return "none";
|
|
9703
9769
|
return permissions.length === 1 ? permissions[0] : permissions;
|
|
9704
9770
|
}
|
|
9705
|
-
registerRepeatableCommand(commandId, handler, permissionType =
|
|
9771
|
+
registerRepeatableCommand(commandId, handler, permissionType = "none") {
|
|
9706
9772
|
var _this$_permissionChec;
|
|
9707
9773
|
this._repeatableCommands.add(commandId);
|
|
9708
9774
|
this._customCommandHandlers.set(commandId, handler);
|
|
@@ -9772,7 +9838,7 @@ RepeatLastActionService = __decorate([__decorateParam(0, ICommandService)], Repe
|
|
|
9772
9838
|
//#endregion
|
|
9773
9839
|
//#region src/commands/commands/repeat-last-action.command.ts
|
|
9774
9840
|
const permissionCheckMap = {
|
|
9775
|
-
[
|
|
9841
|
+
["editable"]: {
|
|
9776
9842
|
permissionTypes: {
|
|
9777
9843
|
workbookTypes: [WorkbookEditablePermission],
|
|
9778
9844
|
worksheetTypes: [WorksheetEditPermission],
|
|
@@ -9780,7 +9846,7 @@ const permissionCheckMap = {
|
|
|
9780
9846
|
},
|
|
9781
9847
|
errorMessageKey: "permission.dialog.editErr"
|
|
9782
9848
|
},
|
|
9783
|
-
[
|
|
9849
|
+
["cellStyle"]: {
|
|
9784
9850
|
permissionTypes: {
|
|
9785
9851
|
workbookTypes: [WorkbookEditablePermission],
|
|
9786
9852
|
worksheetTypes: [WorksheetEditPermission, WorksheetSetCellStylePermission],
|
|
@@ -9788,7 +9854,7 @@ const permissionCheckMap = {
|
|
|
9788
9854
|
},
|
|
9789
9855
|
errorMessageKey: "permission.dialog.setStyleErr"
|
|
9790
9856
|
},
|
|
9791
|
-
[
|
|
9857
|
+
["cellValue"]: {
|
|
9792
9858
|
permissionTypes: {
|
|
9793
9859
|
workbookTypes: [WorkbookEditablePermission],
|
|
9794
9860
|
worksheetTypes: [WorksheetEditPermission, WorksheetSetCellValuePermission],
|
|
@@ -9796,7 +9862,7 @@ const permissionCheckMap = {
|
|
|
9796
9862
|
},
|
|
9797
9863
|
errorMessageKey: "permission.dialog.editErr"
|
|
9798
9864
|
},
|
|
9799
|
-
[
|
|
9865
|
+
["rowStyle"]: {
|
|
9800
9866
|
permissionTypes: {
|
|
9801
9867
|
workbookTypes: [WorkbookEditablePermission],
|
|
9802
9868
|
worksheetTypes: [WorksheetEditPermission, WorksheetSetRowStylePermission],
|
|
@@ -9804,7 +9870,7 @@ const permissionCheckMap = {
|
|
|
9804
9870
|
},
|
|
9805
9871
|
errorMessageKey: "permission.dialog.setRowColStyleErr"
|
|
9806
9872
|
},
|
|
9807
|
-
[
|
|
9873
|
+
["columnStyle"]: {
|
|
9808
9874
|
permissionTypes: {
|
|
9809
9875
|
workbookTypes: [WorkbookEditablePermission],
|
|
9810
9876
|
worksheetTypes: [WorksheetEditPermission, WorksheetSetColumnStylePermission],
|
|
@@ -9825,14 +9891,14 @@ const RepeatLastActionCommand = {
|
|
|
9825
9891
|
const localeService = accessor.get(LocaleService);
|
|
9826
9892
|
const actionPermissionType = repeatLastActionService.getActionPermission();
|
|
9827
9893
|
if (Array.isArray(actionPermissionType)) for (const permissionType of actionPermissionType) {
|
|
9828
|
-
if (permissionType ===
|
|
9894
|
+
if (permissionType === "none") continue;
|
|
9829
9895
|
const permissionConfig = permissionCheckMap[permissionType];
|
|
9830
9896
|
if (!sheetPermissionCheckController.permissionCheckWithRanges(permissionConfig.permissionTypes)) {
|
|
9831
9897
|
sheetPermissionCheckController.blockExecuteWithoutPermission(localeService.t(permissionConfig.errorMessageKey));
|
|
9832
9898
|
return false;
|
|
9833
9899
|
}
|
|
9834
9900
|
}
|
|
9835
|
-
else if (actionPermissionType !==
|
|
9901
|
+
else if (actionPermissionType !== "none") {
|
|
9836
9902
|
const permissionConfig = permissionCheckMap[actionPermissionType];
|
|
9837
9903
|
if (!sheetPermissionCheckController.permissionCheckWithRanges(permissionConfig.permissionTypes)) {
|
|
9838
9904
|
sheetPermissionCheckController.blockExecuteWithoutPermission(localeService.t(permissionConfig.errorMessageKey));
|
|
@@ -10247,12 +10313,6 @@ const isRangeSelector = (unitId) => {
|
|
|
10247
10313
|
//#endregion
|
|
10248
10314
|
//#region src/controllers/editor/editing.render-controller.ts
|
|
10249
10315
|
const HIDDEN_EDITOR_POSITION$1 = -1e3;
|
|
10250
|
-
var CursorChange = /* @__PURE__ */ function(CursorChange) {
|
|
10251
|
-
CursorChange[CursorChange["InitialState"] = 0] = "InitialState";
|
|
10252
|
-
CursorChange[CursorChange["StartEditor"] = 1] = "StartEditor";
|
|
10253
|
-
CursorChange[CursorChange["CursorChange"] = 2] = "CursorChange";
|
|
10254
|
-
return CursorChange;
|
|
10255
|
-
}(CursorChange || {});
|
|
10256
10316
|
let EditingRenderController = class EditingRenderController extends Disposable {
|
|
10257
10317
|
constructor(_undoRedoService, _contextService, _renderManagerService, _editorBridgeService, _cellEditorManagerService, _lexerTreeBuilder, _functionService, _textSelectionManagerService, _commandService, _localService, _editorService, _univerInstanceService, _sheetInterceptorService, _sheetCellEditorResizeService, _selectionManagerService, _configService) {
|
|
10258
10318
|
super();
|
|
@@ -10272,7 +10332,7 @@ let EditingRenderController = class EditingRenderController extends Disposable {
|
|
|
10272
10332
|
this._sheetCellEditorResizeService = _sheetCellEditorResizeService;
|
|
10273
10333
|
this._selectionManagerService = _selectionManagerService;
|
|
10274
10334
|
this._configService = _configService;
|
|
10275
|
-
_defineProperty(this, "_cursorChange",
|
|
10335
|
+
_defineProperty(this, "_cursorChange", 0);
|
|
10276
10336
|
_defineProperty(this, "_editingUnit", "");
|
|
10277
10337
|
_defineProperty(this, "_cursorTimeout", void 0);
|
|
10278
10338
|
this.disposeWithMe(this._init());
|
|
@@ -10448,19 +10508,19 @@ let EditingRenderController = class EditingRenderController extends Disposable {
|
|
|
10448
10508
|
* the up, down, left, and right keys can no longer switch editing cells,
|
|
10449
10509
|
* but move the cursor within the editor instead.
|
|
10450
10510
|
*/
|
|
10451
|
-
if (keycode != null && (this._cursorChange ===
|
|
10511
|
+
if (keycode != null && (this._cursorChange === 2 || this._contextService.getContextValue(FOCUSING_FX_BAR_EDITOR))) {
|
|
10452
10512
|
this._moveInEditor(keycode, isShift);
|
|
10453
10513
|
return;
|
|
10454
10514
|
}
|
|
10455
10515
|
this._commandService.syncExecuteCommand(SetCellEditVisibleOperation.id, params);
|
|
10456
10516
|
}
|
|
10457
|
-
if (command.id === SetCellEditVisibleWithF2Operation.id) this._cursorChange =
|
|
10517
|
+
if (command.id === SetCellEditVisibleWithF2Operation.id) this._cursorChange = 2;
|
|
10458
10518
|
}));
|
|
10459
10519
|
}
|
|
10460
10520
|
_handleEditorVisible(param) {
|
|
10461
10521
|
var _this$_sheetCellEdito4, _this$_renderManagerS5;
|
|
10462
10522
|
const { eventType, keycode } = param;
|
|
10463
|
-
this._cursorChange = eventType === DeviceInputEventType.PointerDown || eventType === DeviceInputEventType.Dblclick ?
|
|
10523
|
+
this._cursorChange = eventType === DeviceInputEventType.PointerDown || eventType === DeviceInputEventType.Dblclick ? 2 : 1;
|
|
10464
10524
|
const editCellState = this._editorBridgeService.getEditLocation();
|
|
10465
10525
|
if (editCellState == null) return;
|
|
10466
10526
|
this._commandService.syncExecuteCommand(ScrollToRangeOperation.id, { range: {
|
|
@@ -10544,7 +10604,7 @@ let EditingRenderController = class EditingRenderController extends Disposable {
|
|
|
10544
10604
|
const documentDataModel = this._univerInstanceService.getUnit(DOCS_NORMAL_EDITOR_UNIT_ID_KEY);
|
|
10545
10605
|
const snapshot = Tools.deepClone(documentDataModel === null || documentDataModel === void 0 ? void 0 : documentDataModel.getSnapshot());
|
|
10546
10606
|
const { keycode } = param;
|
|
10547
|
-
this._cursorChange =
|
|
10607
|
+
this._cursorChange = 0;
|
|
10548
10608
|
const currentUnitId = (_editCellState$unitId = editCellState === null || editCellState === void 0 ? void 0 : editCellState.unitId) !== null && _editCellState$unitId !== void 0 ? _editCellState$unitId : "";
|
|
10549
10609
|
this._exitInput(param);
|
|
10550
10610
|
if (editCellState == null) return;
|
|
@@ -10692,7 +10752,7 @@ let EditingRenderController = class EditingRenderController extends Disposable {
|
|
|
10692
10752
|
if (!(editorObject === null || editorObject === void 0 ? void 0 : editorObject.document)) return;
|
|
10693
10753
|
const { document: documentComponent } = editorObject;
|
|
10694
10754
|
d.add(toDisposable(documentComponent.onPointerDown$.subscribeEvent(() => {
|
|
10695
|
-
if (this._cursorChange ===
|
|
10755
|
+
if (this._cursorChange === 1) this._cursorChange = 2;
|
|
10696
10756
|
})));
|
|
10697
10757
|
}
|
|
10698
10758
|
_moveInEditor(keycode, isShift) {
|
|
@@ -10875,7 +10935,7 @@ function cleanCellDataObject(cellData) {
|
|
|
10875
10935
|
function getDefaultOnPasteCellMutations(pasteFrom, pasteTo, data, payload, accessor) {
|
|
10876
10936
|
const redoMutationsInfo = [];
|
|
10877
10937
|
const undoMutationsInfo = [];
|
|
10878
|
-
if (payload.copyType ===
|
|
10938
|
+
if (payload.copyType === "CUT") {
|
|
10879
10939
|
const { undos, redos } = getMoveRangeMutations(pasteFrom, pasteTo, accessor);
|
|
10880
10940
|
redoMutationsInfo.push(...redos);
|
|
10881
10941
|
undoMutationsInfo.push(...undos);
|
|
@@ -11369,7 +11429,13 @@ let SheetClipboardController = class SheetClipboardController extends RxDisposab
|
|
|
11369
11429
|
var _cell$p, _cell$p2;
|
|
11370
11430
|
const cell = currentSheet.getCell(row, col);
|
|
11371
11431
|
if ((cell === null || cell === void 0 || (_cell$p = cell.p) === null || _cell$p === void 0 || (_cell$p = _cell$p.body) === null || _cell$p === void 0 ? void 0 : _cell$p.paragraphs) || (cell === null || cell === void 0 || (_cell$p2 = cell.p) === null || _cell$p2 === void 0 || (_cell$p2 = _cell$p2.body) === null || _cell$p2 === void 0 ? void 0 : _cell$p2.textRuns)) return convertBodyToHtml(cell.p);
|
|
11372
|
-
|
|
11432
|
+
const content = extractPureTextFromCell(cell);
|
|
11433
|
+
if (content.trim() === "") return content;
|
|
11434
|
+
/**
|
|
11435
|
+
* Used for generating the copied HTML, so we need to escape special code to avoid breaking the HTML structure.
|
|
11436
|
+
* For example, if the cell value contains <, > or &, it would break the HTML structure and cause the copied content to be incorrect.
|
|
11437
|
+
*/
|
|
11438
|
+
return escapeSpecialCode(content);
|
|
11373
11439
|
},
|
|
11374
11440
|
onCopyCellStyle: (row, col, rowSpan, colSpan) => {
|
|
11375
11441
|
const properties = {};
|
|
@@ -11903,8 +11969,9 @@ DragRenderController = __decorate([
|
|
|
11903
11969
|
|
|
11904
11970
|
//#endregion
|
|
11905
11971
|
//#region src/services/editor/formula-editor-manager.service.ts
|
|
11906
|
-
var FormulaEditorManagerService = class {
|
|
11907
|
-
constructor() {
|
|
11972
|
+
var FormulaEditorManagerService = class extends Disposable {
|
|
11973
|
+
constructor(..._args) {
|
|
11974
|
+
super(..._args);
|
|
11908
11975
|
_defineProperty(this, "_position", null);
|
|
11909
11976
|
_defineProperty(this, "_position$", new BehaviorSubject(null));
|
|
11910
11977
|
_defineProperty(this, "position$", this._position$.asObservable());
|
|
@@ -11917,6 +11984,7 @@ var FormulaEditorManagerService = class {
|
|
|
11917
11984
|
_defineProperty(this, "foldBtnStatus$", this._foldBtnStatus$.asObservable());
|
|
11918
11985
|
}
|
|
11919
11986
|
dispose() {
|
|
11987
|
+
super.dispose();
|
|
11920
11988
|
this._position$.complete();
|
|
11921
11989
|
this._focus$.complete();
|
|
11922
11990
|
this._position = null;
|
|
@@ -12502,7 +12570,7 @@ let HoverManagerService = class HoverManagerService extends Disposable {
|
|
|
12502
12570
|
const cellData = worksheet.getCell(overflowLocation.row, overflowLocation.col);
|
|
12503
12571
|
const { topOffset = 0, leftOffset = 0 } = (_cellData$fontRenderE = cellData === null || cellData === void 0 ? void 0 : cellData.fontRenderExtension) !== null && _cellData$fontRenderE !== void 0 ? _cellData$fontRenderE : {};
|
|
12504
12572
|
if (font === null || font === void 0 ? void 0 : font.documentSkeleton) {
|
|
12505
|
-
const { paddingLeft, paddingTop } = calcPadding(cell, font, (cellData === null || cellData === void 0 ? void 0 : cellData.
|
|
12573
|
+
const { paddingLeft, paddingTop } = calcPadding(cell, font, (cellData === null || cellData === void 0 ? void 0 : cellData.p) ? false : isRealNum(cellData === null || cellData === void 0 ? void 0 : cellData.v) && (!(cellData === null || cellData === void 0 ? void 0 : cellData.t) || cellData.t === CellValueType.NUMBER));
|
|
12506
12574
|
const rects = calculateDocSkeletonRects(font.documentSkeleton, paddingLeft, paddingTop);
|
|
12507
12575
|
const innerX = offsetX - position.startX - leftOffset;
|
|
12508
12576
|
const innerY = offsetY - position.startY - topOffset;
|
|
@@ -12734,8 +12802,8 @@ let HoverRenderController = class HoverRenderController extends Disposable {
|
|
|
12734
12802
|
disposeSet.add(mainComponent.onPointerLeave$.subscribeEvent(() => {
|
|
12735
12803
|
this._active = false;
|
|
12736
12804
|
}));
|
|
12737
|
-
const rowHeader = components.get(
|
|
12738
|
-
const colHeader = components.get(
|
|
12805
|
+
const rowHeader = components.get("__SpreadsheetRowHeader__");
|
|
12806
|
+
const colHeader = components.get("__SpreadsheetColumnHeader__");
|
|
12739
12807
|
if (rowHeader) {
|
|
12740
12808
|
disposeSet.add(rowHeader.onPointerMove$.subscribeEvent((evt) => {
|
|
12741
12809
|
this._hoverManagerService.triggerRowHeaderMouseMove(unitId, evt.offsetX, evt.offsetY);
|
|
@@ -12968,18 +13036,6 @@ SheetPermissionCheckUIController = __decorate([
|
|
|
12968
13036
|
|
|
12969
13037
|
//#endregion
|
|
12970
13038
|
//#region src/controllers/render-controllers/freeze.render-controller.ts
|
|
12971
|
-
var FREEZE_DIRECTION_TYPE = /* @__PURE__ */ function(FREEZE_DIRECTION_TYPE) {
|
|
12972
|
-
FREEZE_DIRECTION_TYPE[FREEZE_DIRECTION_TYPE["ROW"] = 0] = "ROW";
|
|
12973
|
-
FREEZE_DIRECTION_TYPE[FREEZE_DIRECTION_TYPE["COLUMN"] = 1] = "COLUMN";
|
|
12974
|
-
return FREEZE_DIRECTION_TYPE;
|
|
12975
|
-
}(FREEZE_DIRECTION_TYPE || {});
|
|
12976
|
-
var ResetScrollType = /* @__PURE__ */ function(ResetScrollType) {
|
|
12977
|
-
ResetScrollType[ResetScrollType["NONE"] = 0] = "NONE";
|
|
12978
|
-
ResetScrollType[ResetScrollType["X"] = 1] = "X";
|
|
12979
|
-
ResetScrollType[ResetScrollType["Y"] = 2] = "Y";
|
|
12980
|
-
ResetScrollType[ResetScrollType["ALL"] = 3] = "ALL";
|
|
12981
|
-
return ResetScrollType;
|
|
12982
|
-
}(ResetScrollType || {});
|
|
12983
13039
|
const FREEZE_ROW_MAIN_NAME = "__SpreadsheetFreezeRowMainName__";
|
|
12984
13040
|
const FREEZE_ROW_HEADER_NAME = "__SpreadsheetFreezeRowHeaderName__";
|
|
12985
13041
|
const FREEZE_COLUMN_MAIN_NAME = "__SpreadsheetFreezeColumnMainName__";
|
|
@@ -13031,7 +13087,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13031
13087
|
this._bindViewportScroll();
|
|
13032
13088
|
this._zoomRefresh();
|
|
13033
13089
|
}
|
|
13034
|
-
_createFreeze(freezeDirectionType =
|
|
13090
|
+
_createFreeze(freezeDirectionType = 0, freezeConfig) {
|
|
13035
13091
|
var _this$_sheetSkeletonM;
|
|
13036
13092
|
const config = freezeConfig !== null && freezeConfig !== void 0 ? freezeConfig : this._getFreeze();
|
|
13037
13093
|
if (config == null) return null;
|
|
@@ -13048,7 +13104,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13048
13104
|
this._changeToOffsetY = startY;
|
|
13049
13105
|
const scale = Math.max(scene.scaleX, scene.scaleY);
|
|
13050
13106
|
let freezeSize = FREEZE_SIZE_NORMAL / Math.max(1, scale);
|
|
13051
|
-
if (freezeDirectionType ===
|
|
13107
|
+
if (freezeDirectionType === 0) {
|
|
13052
13108
|
if (freezeRow === -1 || freezeRow === 0) freezeSize = freezeSize * 2;
|
|
13053
13109
|
const freezeOffset = freezeSize;
|
|
13054
13110
|
this._rowFreezeHeaderRect = new Rect(FREEZE_ROW_HEADER_NAME, {
|
|
@@ -13095,10 +13151,10 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13095
13151
|
}
|
|
13096
13152
|
this._eventBinding(freezeDirectionType);
|
|
13097
13153
|
}
|
|
13098
|
-
_eventBinding(freezeDirectionType =
|
|
13154
|
+
_eventBinding(freezeDirectionType = 0) {
|
|
13099
13155
|
let freezeObjectHeaderRect = this._rowFreezeHeaderRect;
|
|
13100
13156
|
let freezeObjectMainRect = this._rowFreezeMainRect;
|
|
13101
|
-
if (freezeDirectionType ===
|
|
13157
|
+
if (freezeDirectionType === 1) {
|
|
13102
13158
|
freezeObjectHeaderRect = this._columnFreezeHeaderRect;
|
|
13103
13159
|
freezeObjectMainRect = this._columnFreezeMainRect;
|
|
13104
13160
|
}
|
|
@@ -13197,7 +13253,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13197
13253
|
if (!viewports) return null;
|
|
13198
13254
|
return viewports.find((i) => i.isHit(new Vector2(evt.offsetX, evt.offsetY))) || null;
|
|
13199
13255
|
}
|
|
13200
|
-
_freezeDown(evt, freezeObjectHeaderRect, freezeObjectMainRect, freezeDirectionType =
|
|
13256
|
+
_freezeDown(evt, freezeObjectHeaderRect, freezeObjectMainRect, freezeDirectionType = 0) {
|
|
13201
13257
|
var _this$_sheetSkeletonM3;
|
|
13202
13258
|
const skeleton = (_this$_sheetSkeletonM3 = this._sheetSkeletonManagerService.getCurrentParam()) === null || _this$_sheetSkeletonM3 === void 0 ? void 0 : _this$_sheetSkeletonM3.skeleton;
|
|
13203
13259
|
if (skeleton == null) return;
|
|
@@ -13222,7 +13278,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13222
13278
|
if (!this.interceptor.fetchThroughInterceptors(FREEZE_PERMISSION_CHECK)(true, null)) return false;
|
|
13223
13279
|
scene.setCursor(CURSOR_TYPE.GRABBING);
|
|
13224
13280
|
const FREEZE_SIZE = FREEZE_SIZE_NORMAL / Math.max(scene.scaleX, scene.scaleY);
|
|
13225
|
-
if (freezeDirectionType ===
|
|
13281
|
+
if (freezeDirectionType === 0) {
|
|
13226
13282
|
var _freezeObjectHeaderRe, _freezeObjectMainRect;
|
|
13227
13283
|
(_freezeObjectHeaderRe = freezeObjectHeaderRect.transformByState({ top: Math.min(startY, lastRowY) - FREEZE_SIZE / 2 })) === null || _freezeObjectHeaderRe === void 0 || _freezeObjectHeaderRe.setProps({ fill: this._freezeActiveColor });
|
|
13228
13284
|
(_freezeObjectMainRect = freezeObjectMainRect.transformByState({ top: Math.min(startY, lastRowY) - FREEZE_SIZE / 2 })) === null || _freezeObjectMainRect === void 0 || _freezeObjectMainRect.setProps({ fill: this._freezeNormalHeaderColor });
|
|
@@ -13244,7 +13300,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13244
13300
|
scene.enableObjectsEvent();
|
|
13245
13301
|
this._clearObserverEvent();
|
|
13246
13302
|
const { rowHeaderWidthAndMarginLeft, columnHeaderHeightAndMarginTop } = skeleton;
|
|
13247
|
-
if (freezeDirectionType ===
|
|
13303
|
+
if (freezeDirectionType === 0 && (this._changeToRow === 0 || this._changeToRow === -1) || freezeDirectionType === 1 && (this._changeToColumn === 0 || this._changeToColumn === -1)) {
|
|
13248
13304
|
freezeObjectHeaderRect.setProps({ fill: this._freezeNormalHeaderColor });
|
|
13249
13305
|
freezeObjectMainRect.setProps({ fill: this._freezeNormalMainColor });
|
|
13250
13306
|
} else {
|
|
@@ -13252,7 +13308,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13252
13308
|
freezeObjectMainRect === null || freezeObjectMainRect === void 0 || freezeObjectMainRect.setProps({ fill: this._freezeNormalHeaderColor });
|
|
13253
13309
|
}
|
|
13254
13310
|
const FREEZE_SIZE = FREEZE_SIZE_NORMAL / Math.max(scene.scaleX, scene.scaleY);
|
|
13255
|
-
if (freezeDirectionType ===
|
|
13311
|
+
if (freezeDirectionType === 0) {
|
|
13256
13312
|
if (this._changeToRow === 0 || this._changeToRow === -1) {
|
|
13257
13313
|
freezeObjectHeaderRect.transformByState({ top: columnHeaderHeightAndMarginTop - FREEZE_SIZE });
|
|
13258
13314
|
freezeObjectMainRect.transformByState({ top: columnHeaderHeightAndMarginTop - FREEZE_SIZE });
|
|
@@ -13273,12 +13329,12 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13273
13329
|
let xSplit = (oldFreeze === null || oldFreeze === void 0 ? void 0 : oldFreeze.xSplit) || 0;
|
|
13274
13330
|
let ySplit = (oldFreeze === null || oldFreeze === void 0 ? void 0 : oldFreeze.ySplit) || 0;
|
|
13275
13331
|
const viewPortKey = (_this$_activeViewport = this._activeViewport) === null || _this$_activeViewport === void 0 ? void 0 : _this$_activeViewport.viewportKey;
|
|
13276
|
-
if (freezeDirectionType ===
|
|
13332
|
+
if (freezeDirectionType === 0) {
|
|
13277
13333
|
if (!viewPortKey || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_ROW_TOP) ySplit = this._changeToRow - (oldFreeze.startRow - oldFreeze.ySplit);
|
|
13278
13334
|
else ySplit = this._changeToRow - sheetViewStartRow;
|
|
13279
13335
|
ySplit = ySplit < 0 ? 0 : ySplit;
|
|
13280
13336
|
}
|
|
13281
|
-
if (freezeDirectionType ===
|
|
13337
|
+
if (freezeDirectionType === 1) {
|
|
13282
13338
|
if (!viewPortKey || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT || viewPortKey === SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT) xSplit = this._changeToColumn - (oldFreeze.startColumn - oldFreeze.xSplit);
|
|
13283
13339
|
else xSplit = this._changeToColumn - sheetViewStartColumn;
|
|
13284
13340
|
xSplit = xSplit < 0 ? 0 : xSplit;
|
|
@@ -13344,7 +13400,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13344
13400
|
});
|
|
13345
13401
|
}));
|
|
13346
13402
|
}
|
|
13347
|
-
_updateViewport(row = -1, column = -1, ySplit = 0, xSplit = 0, resetScroll =
|
|
13403
|
+
_updateViewport(row = -1, column = -1, ySplit = 0, xSplit = 0, resetScroll = 3) {
|
|
13348
13404
|
var _this$_sheetSkeletonM4;
|
|
13349
13405
|
const skeleton = (_this$_sheetSkeletonM4 = this._sheetSkeletonManagerService.getCurrentParam()) === null || _this$_sheetSkeletonM4 === void 0 ? void 0 : _this$_sheetSkeletonM4.skeleton;
|
|
13350
13406
|
if (skeleton == null) return;
|
|
@@ -13439,7 +13495,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13439
13495
|
startX: 0,
|
|
13440
13496
|
endX: 0
|
|
13441
13497
|
});
|
|
13442
|
-
if (resetScroll &
|
|
13498
|
+
if (resetScroll & 2) this._commandService.executeCommand(ScrollCommand.id, {
|
|
13443
13499
|
sheetViewStartRow: 0,
|
|
13444
13500
|
offsetY: 0
|
|
13445
13501
|
});
|
|
@@ -13483,7 +13539,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13483
13539
|
startY: 0,
|
|
13484
13540
|
endY: 0
|
|
13485
13541
|
});
|
|
13486
|
-
if (resetScroll &
|
|
13542
|
+
if (resetScroll & 1) this._commandService.executeCommand(ScrollCommand.id, {
|
|
13487
13543
|
sheetViewStartColumn: 0,
|
|
13488
13544
|
offsetX: 0
|
|
13489
13545
|
});
|
|
@@ -13530,11 +13586,11 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13530
13586
|
endX: endSheetView.startX
|
|
13531
13587
|
});
|
|
13532
13588
|
if (resetScroll) this._commandService.executeCommand(ScrollCommand.id, {
|
|
13533
|
-
...resetScroll &
|
|
13589
|
+
...resetScroll & 1 ? {
|
|
13534
13590
|
sheetViewStartColumn: 0,
|
|
13535
13591
|
offsetX: 0
|
|
13536
13592
|
} : null,
|
|
13537
|
-
...resetScroll &
|
|
13593
|
+
...resetScroll & 2 ? {
|
|
13538
13594
|
sheetViewStartRow: 0,
|
|
13539
13595
|
offsetY: 0
|
|
13540
13596
|
} : null
|
|
@@ -13620,7 +13676,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13620
13676
|
const worksheet = this._context.unit.getActiveSheet();
|
|
13621
13677
|
if (!worksheet) return;
|
|
13622
13678
|
const { startRow = -1, startColumn = -1, ySplit = 0, xSplit = 0 } = worksheet.getConfig().freeze;
|
|
13623
|
-
this._refreshFreeze(startRow, startColumn, ySplit, xSplit,
|
|
13679
|
+
this._refreshFreeze(startRow, startColumn, ySplit, xSplit, 0);
|
|
13624
13680
|
}
|
|
13625
13681
|
_themeChangeListener() {
|
|
13626
13682
|
this._themeChange(this._themeService.getCurrentTheme());
|
|
@@ -13650,7 +13706,7 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13650
13706
|
const worksheet = workbook.getActiveSheet();
|
|
13651
13707
|
if (!worksheet) return empty;
|
|
13652
13708
|
const subUnitId = worksheet.getSheetId();
|
|
13653
|
-
this._refreshFreeze(newFreeze.startRow, newFreeze.startColumn, newFreeze.ySplit, newFreeze.xSplit,
|
|
13709
|
+
this._refreshFreeze(newFreeze.startRow, newFreeze.startColumn, newFreeze.ySplit, newFreeze.xSplit, 0);
|
|
13654
13710
|
const redoMutationParams = {
|
|
13655
13711
|
...newFreeze,
|
|
13656
13712
|
unitId,
|
|
@@ -13786,11 +13842,11 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13786
13842
|
const freeze = worksheet.getConfig().freeze;
|
|
13787
13843
|
this._lastFreeze = freeze;
|
|
13788
13844
|
if (freeze == null) return;
|
|
13789
|
-
let resetScroll =
|
|
13845
|
+
let resetScroll = 0;
|
|
13790
13846
|
const { startRow = -1, startColumn = -1, ySplit = 0, xSplit = 0 } = freeze;
|
|
13791
|
-
if (!lastFreeze || lastFreeze.startRow !== startRow || lastFreeze.ySplit !== ySplit) resetScroll |=
|
|
13792
|
-
if (!lastFreeze || lastFreeze.startColumn !== startColumn || lastFreeze.xSplit !== xSplit) resetScroll |=
|
|
13793
|
-
if (params.resetScroll === false) resetScroll =
|
|
13847
|
+
if (!lastFreeze || lastFreeze.startRow !== startRow || lastFreeze.ySplit !== ySplit) resetScroll |= 2;
|
|
13848
|
+
if (!lastFreeze || lastFreeze.startColumn !== startColumn || lastFreeze.xSplit !== xSplit) resetScroll |= 1;
|
|
13849
|
+
if (params.resetScroll === false) resetScroll = 0;
|
|
13794
13850
|
this._refreshFreeze(startRow, startColumn, ySplit, xSplit, resetScroll);
|
|
13795
13851
|
}
|
|
13796
13852
|
break;
|
|
@@ -13924,8 +13980,8 @@ let HeaderFreezeRenderController = class HeaderFreezeRenderController extends Di
|
|
|
13924
13980
|
xSplit
|
|
13925
13981
|
};
|
|
13926
13982
|
this._clearFreeze();
|
|
13927
|
-
this._createFreeze(
|
|
13928
|
-
this._createFreeze(
|
|
13983
|
+
this._createFreeze(0, newFreeze);
|
|
13984
|
+
this._createFreeze(1, newFreeze);
|
|
13929
13985
|
this._updateViewport(startRow, startColumn, ySplit, xSplit, resetScroll);
|
|
13930
13986
|
(_this$_getSheetObject2 = this._getSheetObject()) === null || _this$_getSheetObject2 === void 0 || _this$_getSheetObject2.spreadsheet.makeForceDirty();
|
|
13931
13987
|
}
|
|
@@ -14066,8 +14122,8 @@ let HeaderMoveRenderController = class HeaderMoveRenderController extends Dispos
|
|
|
14066
14122
|
this._initialRowOrColumn(RANGE_TYPE.COLUMN);
|
|
14067
14123
|
}
|
|
14068
14124
|
_initialRowOrColumn(initialType = RANGE_TYPE.ROW) {
|
|
14069
|
-
const spreadsheetColumnHeader = this._context.components.get(
|
|
14070
|
-
const spreadsheetRowHeader = this._context.components.get(
|
|
14125
|
+
const spreadsheetColumnHeader = this._context.components.get("__SpreadsheetColumnHeader__");
|
|
14126
|
+
const spreadsheetRowHeader = this._context.components.get("__SpreadsheetRowHeader__");
|
|
14071
14127
|
const scene = this._context.scene;
|
|
14072
14128
|
const eventBindingObject = initialType === RANGE_TYPE.ROW ? spreadsheetRowHeader : spreadsheetColumnHeader;
|
|
14073
14129
|
const pointerMoveHandler = (evt) => {
|
|
@@ -14286,11 +14342,6 @@ HeaderMoveRenderController = __decorate([
|
|
|
14286
14342
|
|
|
14287
14343
|
//#endregion
|
|
14288
14344
|
//#region src/views/header-resize-shape.ts
|
|
14289
|
-
let HEADER_RESIZE_SHAPE_TYPE = /* @__PURE__ */ function(HEADER_RESIZE_SHAPE_TYPE) {
|
|
14290
|
-
HEADER_RESIZE_SHAPE_TYPE[HEADER_RESIZE_SHAPE_TYPE["VERTICAL"] = 0] = "VERTICAL";
|
|
14291
|
-
HEADER_RESIZE_SHAPE_TYPE[HEADER_RESIZE_SHAPE_TYPE["HORIZONTAL"] = 1] = "HORIZONTAL";
|
|
14292
|
-
return HEADER_RESIZE_SHAPE_TYPE;
|
|
14293
|
-
}({});
|
|
14294
14345
|
const HEADER_MENU_SHAPE_RECT_BACKGROUND_FILL = "rgba(120, 120, 120, 0.01)";
|
|
14295
14346
|
const HEADER_MENU_SHAPE_RECT_FILL = "rgb(68, 71, 70)";
|
|
14296
14347
|
const HEADER_MENU_SHAPE_SIZE = 12;
|
|
@@ -14300,7 +14351,7 @@ var HeaderMenuResizeShape = class extends Shape {
|
|
|
14300
14351
|
super(key, props);
|
|
14301
14352
|
_defineProperty(this, "_size", 12);
|
|
14302
14353
|
_defineProperty(this, "_color", HEADER_MENU_SHAPE_RECT_FILL);
|
|
14303
|
-
_defineProperty(this, "_mode",
|
|
14354
|
+
_defineProperty(this, "_mode", 0);
|
|
14304
14355
|
this.setShapeProps(props);
|
|
14305
14356
|
}
|
|
14306
14357
|
get size() {
|
|
@@ -14322,7 +14373,7 @@ var HeaderMenuResizeShape = class extends Shape {
|
|
|
14322
14373
|
let { width, height } = this;
|
|
14323
14374
|
let left = 0;
|
|
14324
14375
|
let top = 0;
|
|
14325
|
-
if (this.mode ===
|
|
14376
|
+
if (this.mode === 0) {
|
|
14326
14377
|
width = HEADER_MENU_SHAPE_THUMB_SIZE_SCALE;
|
|
14327
14378
|
left = HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE - HEADER_MENU_SHAPE_THUMB_SIZE_SCALE;
|
|
14328
14379
|
} else {
|
|
@@ -14356,7 +14407,7 @@ var HeaderMenuResizeShape = class extends Shape {
|
|
|
14356
14407
|
if (props === null || props === void 0 ? void 0 : props.size) this._size = props.size;
|
|
14357
14408
|
if (props === null || props === void 0 ? void 0 : props.mode) this._mode = props.mode;
|
|
14358
14409
|
if (props === null || props === void 0 ? void 0 : props.color) this._color = props.color;
|
|
14359
|
-
if (this.mode ===
|
|
14410
|
+
if (this.mode === 0) this.transformByState({
|
|
14360
14411
|
width: 12,
|
|
14361
14412
|
height: this.size
|
|
14362
14413
|
});
|
|
@@ -14375,11 +14426,6 @@ const HEADER_RESIZE_CONTROLLER_SHAPE_COLUMN = "__SpreadsheetHeaderResizeControll
|
|
|
14375
14426
|
const HEADER_RESIZE_CONTROLLER_SHAPE_HELPER = "__SpreadsheetHeaderResizeControllerShapeHelper__";
|
|
14376
14427
|
const HEADER_RESIZE_CONTROLLER_SHAPE_HELPER_COLOR = "rgb(199, 199, 199)";
|
|
14377
14428
|
const MINIMAL_OFFSET$1 = 2;
|
|
14378
|
-
var HEADER_RESIZE_TYPE = /* @__PURE__ */ function(HEADER_RESIZE_TYPE) {
|
|
14379
|
-
HEADER_RESIZE_TYPE[HEADER_RESIZE_TYPE["ROW"] = 0] = "ROW";
|
|
14380
|
-
HEADER_RESIZE_TYPE[HEADER_RESIZE_TYPE["COLUMN"] = 1] = "COLUMN";
|
|
14381
|
-
return HEADER_RESIZE_TYPE;
|
|
14382
|
-
}(HEADER_RESIZE_TYPE || {});
|
|
14383
14429
|
const HEADER_RESIZE_PERMISSION_CHECK = createInterceptorKey("headerResizePermissionCheck");
|
|
14384
14430
|
let HeaderResizeRenderController = class HeaderResizeRenderController extends Disposable {
|
|
14385
14431
|
constructor(_context, _sheetSkeletonManagerService, _selectionManagerService, _commandService) {
|
|
@@ -14414,25 +14460,25 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14414
14460
|
const scene = this._context.scene;
|
|
14415
14461
|
this._rowResizeRect = new HeaderMenuResizeShape(HEADER_RESIZE_CONTROLLER_SHAPE_ROW, {
|
|
14416
14462
|
visible: false,
|
|
14417
|
-
mode:
|
|
14463
|
+
mode: 1,
|
|
14418
14464
|
zIndex: 100
|
|
14419
14465
|
});
|
|
14420
14466
|
this._columnResizeRect = new HeaderMenuResizeShape(HEADER_RESIZE_CONTROLLER_SHAPE_COLUMN, {
|
|
14421
14467
|
visible: false,
|
|
14422
|
-
mode:
|
|
14468
|
+
mode: 0,
|
|
14423
14469
|
zIndex: 100
|
|
14424
14470
|
});
|
|
14425
14471
|
scene.addObjects([this._rowResizeRect, this._columnResizeRect], 10);
|
|
14426
|
-
this._initialHover(
|
|
14427
|
-
this._initialHover(
|
|
14428
|
-
this._initialHoverResize(
|
|
14429
|
-
this._initialHoverResize(
|
|
14430
|
-
}
|
|
14431
|
-
_initialHover(initialType =
|
|
14432
|
-
const spreadsheetColumnHeader = this._context.components.get(
|
|
14433
|
-
const spreadsheetRowHeader = this._context.components.get(
|
|
14472
|
+
this._initialHover(0);
|
|
14473
|
+
this._initialHover(1);
|
|
14474
|
+
this._initialHoverResize(0);
|
|
14475
|
+
this._initialHoverResize(1);
|
|
14476
|
+
}
|
|
14477
|
+
_initialHover(initialType = 0) {
|
|
14478
|
+
const spreadsheetColumnHeader = this._context.components.get("__SpreadsheetColumnHeader__");
|
|
14479
|
+
const spreadsheetRowHeader = this._context.components.get("__SpreadsheetRowHeader__");
|
|
14434
14480
|
const scene = this._context.scene;
|
|
14435
|
-
const eventBindingObject = initialType ===
|
|
14481
|
+
const eventBindingObject = initialType === 0 ? spreadsheetRowHeader : spreadsheetColumnHeader;
|
|
14436
14482
|
const pointerLeaveEvent = (_evt, _state) => {
|
|
14437
14483
|
var _this$_rowResizeRect2, _this$_columnResizeRe2;
|
|
14438
14484
|
(_this$_rowResizeRect2 = this._rowResizeRect) === null || _this$_rowResizeRect2 === void 0 || _this$_rowResizeRect2.hide();
|
|
@@ -14444,12 +14490,15 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14444
14490
|
if (skeleton == null || this._rowResizeRect == null || this._columnResizeRect == null) return;
|
|
14445
14491
|
const { rowHeaderWidth, columnHeaderHeight } = skeleton;
|
|
14446
14492
|
const { startX, startY, endX, endY, row, column } = getCoordByOffset(evt.offsetX, evt.offsetY, scene, skeleton);
|
|
14493
|
+
const isLastRow = row === skeleton.worksheet.getRowCount() - 1;
|
|
14494
|
+
const isLastColumn = column === skeleton.worksheet.getColumnCount() - 1;
|
|
14447
14495
|
const transformCoord = getTransformCoord(evt.offsetX, evt.offsetY, scene, skeleton);
|
|
14448
14496
|
const { scaleX, scaleY } = scene.getAncestorScale();
|
|
14449
14497
|
const HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE = 12 / Math.max(scaleX, scaleY);
|
|
14450
|
-
if (initialType ===
|
|
14498
|
+
if (initialType === 0) {
|
|
14451
14499
|
let top = startY - HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2;
|
|
14452
|
-
if (
|
|
14500
|
+
if (isLastRow && endY - startY <= HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2) this._currentRow = row;
|
|
14501
|
+
else if (transformCoord.y <= startY + HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2 && transformCoord.y >= startY) this._currentRow = row - 1;
|
|
14453
14502
|
else if (transformCoord.y >= endY - HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2 && transformCoord.y <= endY) {
|
|
14454
14503
|
this._currentRow = row;
|
|
14455
14504
|
top = endY - HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2;
|
|
@@ -14468,7 +14517,8 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14468
14517
|
this._rowResizeRect.show();
|
|
14469
14518
|
} else {
|
|
14470
14519
|
let left = startX - HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2;
|
|
14471
|
-
if (
|
|
14520
|
+
if (isLastColumn && endX - startX <= HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2) this._currentColumn = column;
|
|
14521
|
+
else if (transformCoord.x <= startX + HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2 && transformCoord.x >= startX) this._currentColumn = column - 1;
|
|
14472
14522
|
else if (transformCoord.x >= endX - HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2 && transformCoord.x <= endX) {
|
|
14473
14523
|
this._currentColumn = column;
|
|
14474
14524
|
left = endX - HEADER_MENU_SHAPE_WIDTH_HEIGHT_SCALE / 2;
|
|
@@ -14491,14 +14541,14 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14491
14541
|
this._headerPointerSubs.add(eventBindingObject === null || eventBindingObject === void 0 ? void 0 : eventBindingObject.onPointerMove$.subscribeEvent(pointerMoveEvent));
|
|
14492
14542
|
this._headerPointerSubs.add(eventBindingObject === null || eventBindingObject === void 0 ? void 0 : eventBindingObject.onPointerLeave$.subscribeEvent(pointerLeaveEvent));
|
|
14493
14543
|
}
|
|
14494
|
-
_initialHoverResize(initialType =
|
|
14544
|
+
_initialHoverResize(initialType = 0) {
|
|
14495
14545
|
const scene = this._context.scene;
|
|
14496
|
-
const eventBindingObject = initialType ===
|
|
14546
|
+
const eventBindingObject = initialType === 0 ? this._rowResizeRect : this._columnResizeRect;
|
|
14497
14547
|
if (eventBindingObject == null) return;
|
|
14498
14548
|
this.disposeWithMe(eventBindingObject.onPointerEnter$.subscribeEvent(() => {
|
|
14499
14549
|
if (eventBindingObject == null) return;
|
|
14500
14550
|
eventBindingObject.show();
|
|
14501
|
-
scene.setCursor(initialType ===
|
|
14551
|
+
scene.setCursor(initialType === 0 ? CURSOR_TYPE.ROW_RESIZE : CURSOR_TYPE.COLUMN_RESIZE);
|
|
14502
14552
|
}));
|
|
14503
14553
|
this.disposeWithMe(eventBindingObject.onPointerLeave$.subscribeEvent(() => {
|
|
14504
14554
|
if (eventBindingObject == null) return;
|
|
@@ -14530,7 +14580,7 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14530
14580
|
const shapeWidth = canvasMaxWidth > columnTotalWidth + rowHeaderWidth ? canvasMaxWidth : columnTotalWidth + rowHeaderWidth;
|
|
14531
14581
|
const shapeHeight = canvasMaxHeight > rowTotalHeight + columnHeaderHeight ? canvasMaxHeight : rowTotalHeight + columnHeaderHeight;
|
|
14532
14582
|
const HEADER_MENU_SHAPE_THUMB_SIZE_SCALE = 4 / Math.max(scaleX, scaleY);
|
|
14533
|
-
if (initialType ===
|
|
14583
|
+
if (initialType === 0) this._resizeHelperShape = new Rect(HEADER_RESIZE_CONTROLLER_SHAPE_HELPER, {
|
|
14534
14584
|
width: shapeWidth,
|
|
14535
14585
|
height: HEADER_MENU_SHAPE_THUMB_SIZE_SCALE,
|
|
14536
14586
|
fill: HEADER_RESIZE_CONTROLLER_SHAPE_HELPER_COLOR,
|
|
@@ -14556,8 +14606,8 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14556
14606
|
const HEADER_MENU_SHAPE_THUMB_SIZE_SCALE = 4 / Math.max(scaleX, scaleY);
|
|
14557
14607
|
moveChangeX = moveOffsetX - this._startOffsetX - HEADER_MENU_SHAPE_THUMB_SIZE_SCALE / 2;
|
|
14558
14608
|
moveChangeY = moveOffsetY - this._startOffsetY - HEADER_MENU_SHAPE_THUMB_SIZE_SCALE / 2;
|
|
14559
|
-
if (Math.abs(initialType ===
|
|
14560
|
-
if (initialType ===
|
|
14609
|
+
if (Math.abs(initialType === 0 ? moveChangeY : moveChangeX) >= MINIMAL_OFFSET$1) isStartMove = true;
|
|
14610
|
+
if (initialType === 0) {
|
|
14561
14611
|
if (moveChangeY > canvasMaxHeight - scrollBarHorizontalHeight + scrollXY.y - cell.startY) moveChangeY = canvasMaxHeight - scrollBarHorizontalHeight + scrollXY.y - cell.startY;
|
|
14562
14612
|
if (moveChangeY < -(cell.endY - cell.startY) + 2) moveChangeY = -(cell.endY - cell.startY) + 2;
|
|
14563
14613
|
if (isStartMove) {
|
|
@@ -14591,7 +14641,7 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14591
14641
|
scene.resetCursor();
|
|
14592
14642
|
(_this$_rowResizeRect6 = this._rowResizeRect) === null || _this$_rowResizeRect6 === void 0 || _this$_rowResizeRect6.hide();
|
|
14593
14643
|
(_this$_columnResizeRe6 = this._columnResizeRect) === null || _this$_columnResizeRe6 === void 0 || _this$_columnResizeRe6.hide();
|
|
14594
|
-
if (initialType ===
|
|
14644
|
+
if (initialType === 0) this._commandService.executeCommand(DeltaRowHeightCommand.id, {
|
|
14595
14645
|
deltaY: moveChangeY,
|
|
14596
14646
|
anchorRow: this._currentRow
|
|
14597
14647
|
});
|
|
@@ -14612,7 +14662,7 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14612
14662
|
const endRow = sk.worksheet.getRowCount() - 1 || 0;
|
|
14613
14663
|
const endColumn = sk.worksheet.getColumnCount() - 1 || 0;
|
|
14614
14664
|
switch (initialType) {
|
|
14615
|
-
case
|
|
14665
|
+
case 1: {
|
|
14616
14666
|
var _this$_columnResizeRe7;
|
|
14617
14667
|
const curSelections = this._selectionManagerService.getCurrentSelections();
|
|
14618
14668
|
const ranges = [];
|
|
@@ -14635,7 +14685,7 @@ let HeaderResizeRenderController = class HeaderResizeRenderController extends Di
|
|
|
14635
14685
|
(_this$_columnResizeRe7 = this._columnResizeRect) === null || _this$_columnResizeRe7 === void 0 || _this$_columnResizeRe7.hide();
|
|
14636
14686
|
break;
|
|
14637
14687
|
}
|
|
14638
|
-
case
|
|
14688
|
+
case 0:
|
|
14639
14689
|
var _this$_rowResizeRect7;
|
|
14640
14690
|
this._commandService.executeCommand(SetWorksheetRowIsAutoHeightCommand.id, { ranges: [{
|
|
14641
14691
|
startRow: this._currentRow,
|
|
@@ -14788,11 +14838,11 @@ let SheetRenderController = class SheetRenderController extends RxDisposable {
|
|
|
14788
14838
|
_addComponent(workbook) {
|
|
14789
14839
|
const { scene, components } = this._context;
|
|
14790
14840
|
const worksheet = workbook.getActiveSheet();
|
|
14791
|
-
const spreadsheet = new Spreadsheet(
|
|
14841
|
+
const spreadsheet = new Spreadsheet("__SpreadsheetRender__");
|
|
14792
14842
|
this._addViewport(worksheet);
|
|
14793
|
-
const spreadsheetRowHeader = new SpreadsheetRowHeader(
|
|
14794
|
-
const spreadsheetColumnHeader = new SpreadsheetColumnHeader(
|
|
14795
|
-
const SpreadsheetLeftTopPlaceholder = new Rect(
|
|
14843
|
+
const spreadsheetRowHeader = new SpreadsheetRowHeader("__SpreadsheetRowHeader__");
|
|
14844
|
+
const spreadsheetColumnHeader = new SpreadsheetColumnHeader("__SpreadsheetColumnHeader__");
|
|
14845
|
+
const SpreadsheetLeftTopPlaceholder = new Rect("__SpreadsheetLeftTopPlaceholder__", {
|
|
14796
14846
|
zIndex: 2,
|
|
14797
14847
|
left: -1,
|
|
14798
14848
|
top: -1,
|
|
@@ -14801,10 +14851,10 @@ let SheetRenderController = class SheetRenderController extends RxDisposable {
|
|
|
14801
14851
|
strokeWidth: 1
|
|
14802
14852
|
});
|
|
14803
14853
|
this._context.mainComponent = spreadsheet;
|
|
14804
|
-
components.set(
|
|
14805
|
-
components.set(
|
|
14806
|
-
components.set(
|
|
14807
|
-
components.set(
|
|
14854
|
+
components.set("__SpreadsheetRender__", spreadsheet);
|
|
14855
|
+
components.set("__SpreadsheetRowHeader__", spreadsheetRowHeader);
|
|
14856
|
+
components.set("__SpreadsheetColumnHeader__", spreadsheetColumnHeader);
|
|
14857
|
+
components.set("__SpreadsheetLeftTopPlaceholder__", SpreadsheetLeftTopPlaceholder);
|
|
14808
14858
|
scene.addObjects([spreadsheet], 0);
|
|
14809
14859
|
scene.addObjects([
|
|
14810
14860
|
spreadsheetRowHeader,
|
|
@@ -14918,9 +14968,9 @@ let SheetRenderController = class SheetRenderController extends RxDisposable {
|
|
|
14918
14968
|
if (workbook == null || worksheet == null) return;
|
|
14919
14969
|
const { mainComponent, components } = this._context;
|
|
14920
14970
|
const spreadsheet = mainComponent;
|
|
14921
|
-
const spreadsheetRowHeader = components.get(
|
|
14922
|
-
const spreadsheetColumnHeader = components.get(
|
|
14923
|
-
const spreadsheetLeftTopPlaceholder = components.get(
|
|
14971
|
+
const spreadsheetRowHeader = components.get("__SpreadsheetRowHeader__");
|
|
14972
|
+
const spreadsheetColumnHeader = components.get("__SpreadsheetColumnHeader__");
|
|
14973
|
+
const spreadsheetLeftTopPlaceholder = components.get("__SpreadsheetLeftTopPlaceholder__");
|
|
14924
14974
|
const { rowHeaderWidth, columnHeaderHeight } = spreadsheetSkeleton;
|
|
14925
14975
|
spreadsheet === null || spreadsheet === void 0 || spreadsheet.updateSkeleton(spreadsheetSkeleton);
|
|
14926
14976
|
spreadsheetRowHeader === null || spreadsheetRowHeader === void 0 || spreadsheetRowHeader.updateSkeleton(spreadsheetSkeleton);
|
|
@@ -16008,15 +16058,20 @@ function getCurrentRangeDisable$(accessor, permissionTypes = {}, supportCellEdit
|
|
|
16008
16058
|
if (!workbook || (visible === null || visible === void 0 ? void 0 : visible.visible) && visible.unitId === workbook.getUnitId() && !supportCellEdit || formulaEditorFocus && !supportCellEdit) return of(true);
|
|
16009
16059
|
return workbook.activeSheet$.pipe(switchMap$1((worksheet) => {
|
|
16010
16060
|
if (!worksheet) return of(true);
|
|
16011
|
-
const
|
|
16061
|
+
const unitId = workbook.getUnitId();
|
|
16062
|
+
const subUnitId = worksheet.getSheetId();
|
|
16012
16063
|
const rangeProtectionRuleModel = accessor.get(RangeProtectionRuleModel);
|
|
16013
16064
|
const worksheetRuleModel = accessor.get(WorksheetProtectionRuleModel);
|
|
16065
|
+
const selectionManagerService = accessor.get(SheetsSelectionsService);
|
|
16066
|
+
const selectionChanged$ = selectionManagerService.selectionChanged$.pipe(startWith$1(selectionManagerService.getWorkbookSelections(unitId).getSelectionsOfWorksheet(subUnitId)));
|
|
16014
16067
|
const focusedOnDrawing$ = accessor.get(IContextService).subscribeContextValue$(FOCUSING_COMMON_DRAWINGS).pipe(startWith$1(false));
|
|
16015
|
-
|
|
16068
|
+
const permissionService = accessor.get(IPermissionService);
|
|
16069
|
+
return combineLatest([
|
|
16070
|
+
selectionChanged$,
|
|
16071
|
+
focusedOnDrawing$,
|
|
16072
|
+
permissionService.permissionPointUpdate$.pipe(debounceTime(100), startWith$1(null))
|
|
16073
|
+
]).pipe(switchMap$1(([selection, focusOnDrawings]) => {
|
|
16016
16074
|
if (focusOnDrawings && !focusingShapeTextEditor) return of(true);
|
|
16017
|
-
const unitId = workbook.getUnitId();
|
|
16018
|
-
const subUnitId = worksheet.getSheetId();
|
|
16019
|
-
const permissionService = accessor.get(IPermissionService);
|
|
16020
16075
|
const { workbookTypes = [WorkbookEditablePermission], worksheetTypes, rangeTypes } = permissionTypes;
|
|
16021
16076
|
const permissionIds = [];
|
|
16022
16077
|
workbookTypes === null || workbookTypes === void 0 || workbookTypes.forEach((F) => {
|
|
@@ -16156,23 +16211,24 @@ function getCellMenuHidden$(accessor, type) {
|
|
|
16156
16211
|
}
|
|
16157
16212
|
function getWorkbookPermissionDisable$(accessor, workbookPermissionTypes) {
|
|
16158
16213
|
const workbook$ = accessor.get(IUniverInstanceService).getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET);
|
|
16159
|
-
const worksheetRuleModel = accessor.get(WorksheetProtectionRuleModel);
|
|
16160
|
-
const selectionRuleModel = accessor.get(RangeProtectionRuleModel);
|
|
16161
16214
|
const permissionService = accessor.get(IPermissionService);
|
|
16162
16215
|
return combineLatest([accessor.get(UserManagerService).currentUser$, workbook$]).pipe(switchMap$1(([_user, workbook]) => {
|
|
16163
16216
|
if (!workbook) return of(true);
|
|
16164
|
-
return workbook.activeSheet$.pipe(switchMap$1((
|
|
16165
|
-
|
|
16217
|
+
return workbook.activeSheet$.pipe(switchMap$1((worksheet) => {
|
|
16218
|
+
var _permissionService$co;
|
|
16219
|
+
if (!worksheet) return of(true);
|
|
16166
16220
|
const unitId = workbook.getUnitId();
|
|
16221
|
+
const subUnitId = worksheet.getSheetId();
|
|
16222
|
+
const selectionProtectionRuleModel = accessor.get(RangeProtectionRuleModel);
|
|
16223
|
+
const worksheetProtectionRuleModel = accessor.get(WorksheetProtectionRuleModel);
|
|
16167
16224
|
const workbookPermissionIds = [];
|
|
16168
16225
|
workbookPermissionTypes.forEach((F) => workbookPermissionIds.push(new F(unitId).id));
|
|
16169
|
-
return permissionService.composePermission$(workbookPermissionIds).pipe(map$1((list) => list.every((item) => item.value === true))).pipe(map$1((
|
|
16170
|
-
|
|
16171
|
-
|
|
16172
|
-
const worksheetRule =
|
|
16173
|
-
|
|
16174
|
-
|
|
16175
|
-
return false;
|
|
16226
|
+
return combineLatest([(_permissionService$co = permissionService.composePermission$(workbookPermissionIds).pipe(map$1((list) => list.every((item) => item.value === true)))) !== null && _permissionService$co !== void 0 ? _permissionService$co : of(false), merge$1(selectionProtectionRuleModel.ruleChange$, worksheetProtectionRuleModel.ruleChange$).pipe(startWith$1(null))]).pipe(map$1(([permission, _]) => {
|
|
16227
|
+
var _selectionProtectionR;
|
|
16228
|
+
if (!permission) return true;
|
|
16229
|
+
const worksheetRule = worksheetProtectionRuleModel.getRule(unitId, subUnitId);
|
|
16230
|
+
if (worksheetRule === null || worksheetRule === void 0 ? void 0 : worksheetRule.permissionId) return true;
|
|
16231
|
+
return ((_selectionProtectionR = selectionProtectionRuleModel.getSubunitRuleList(unitId, subUnitId)) === null || _selectionProtectionR === void 0 ? void 0 : _selectionProtectionR.filter((item) => item === null || item === void 0 ? void 0 : item.permissionId)).length > 0;
|
|
16176
16232
|
}));
|
|
16177
16233
|
}));
|
|
16178
16234
|
}));
|
|
@@ -16948,7 +17004,7 @@ function FormatPainterMenuItemFactory(accessor) {
|
|
|
16948
17004
|
activated$: new Observable((subscriber) => {
|
|
16949
17005
|
let active = false;
|
|
16950
17006
|
const status$ = formatPainterService.status$.subscribe((s) => {
|
|
16951
|
-
active = s !==
|
|
17007
|
+
active = s !== 0;
|
|
16952
17008
|
subscriber.next(active);
|
|
16953
17009
|
});
|
|
16954
17010
|
subscriber.next(active);
|
|
@@ -18194,15 +18250,14 @@ function getRemovePermissionFromSheetBarDisable$(accessor) {
|
|
|
18194
18250
|
return combineLatest([univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET), accessor.get(UserManagerService).currentUser$]).pipe(switchMap(([workbook, _]) => {
|
|
18195
18251
|
if (!workbook) return of(true);
|
|
18196
18252
|
return workbook.activeSheet$.pipe(switchMap((worksheet) => {
|
|
18253
|
+
var _permissionService$ge2, _permissionService$ge3;
|
|
18197
18254
|
if (!worksheet) return of(true);
|
|
18198
18255
|
const unitId = workbook.getUnitId();
|
|
18199
18256
|
const subUnitId = worksheet.getSheetId();
|
|
18200
18257
|
const worksheetProtectionRuleModel = accessor.get(WorksheetProtectionRuleModel);
|
|
18201
|
-
return worksheetProtectionRuleModel.ruleChange$.pipe(startWith(null)).pipe(map(() => {
|
|
18202
|
-
|
|
18203
|
-
|
|
18204
|
-
return ((_permissionService$ge2 = permissionService.getPermissionPoint(new WorksheetDeleteProtectionPermission(unitId, subUnitId).id)) === null || _permissionService$ge2 === void 0 ? void 0 : _permissionService$ge2.value) === false;
|
|
18205
|
-
}
|
|
18258
|
+
return combineLatest([(_permissionService$ge2 = (_permissionService$ge3 = permissionService.getPermissionPoint$(new WorksheetDeleteProtectionPermission(unitId, subUnitId).id)) === null || _permissionService$ge3 === void 0 ? void 0 : _permissionService$ge3.pipe(map((e) => !!e.value))) !== null && _permissionService$ge2 !== void 0 ? _permissionService$ge2 : of(false), worksheetProtectionRuleModel.ruleChange$.pipe(startWith(null))]).pipe(map(([permission, _]) => {
|
|
18259
|
+
const worksheetRule = worksheetProtectionRuleModel.getRule(unitId, subUnitId);
|
|
18260
|
+
if (worksheetRule === null || worksheetRule === void 0 ? void 0 : worksheetRule.permissionId) return !permission;
|
|
18206
18261
|
return true;
|
|
18207
18262
|
}));
|
|
18208
18263
|
}));
|
|
@@ -18217,19 +18272,15 @@ function getSetPermissionFromSheetBarDisable$(accessor) {
|
|
|
18217
18272
|
var _permissionService$co4;
|
|
18218
18273
|
if (!worksheet) return of(true);
|
|
18219
18274
|
const unitId = workbook.getUnitId();
|
|
18275
|
+
const subUnitId = worksheet.getSheetId();
|
|
18220
18276
|
const selectionProtectionRuleModel = accessor.get(RangeProtectionRuleModel);
|
|
18221
18277
|
const worksheetProtectionRuleModel = accessor.get(WorksheetProtectionRuleModel);
|
|
18222
|
-
return combineLatest([
|
|
18223
|
-
|
|
18224
|
-
worksheetProtectionRuleModel.ruleChange$.pipe(startWith(null)),
|
|
18225
|
-
selectionProtectionRuleModel.ruleChange$.pipe(startWith(null))
|
|
18226
|
-
]).pipe(map(([permission, _, __]) => {
|
|
18278
|
+
return combineLatest([(_permissionService$co4 = permissionService.composePermission$([new WorkbookCreateProtectPermission(unitId).id, new WorkbookManageCollaboratorPermission(unitId).id]).pipe(map((permissions) => permissions.every((permission) => permission.value)))) !== null && _permissionService$co4 !== void 0 ? _permissionService$co4 : of(false), merge$1(selectionProtectionRuleModel.ruleChange$, worksheetProtectionRuleModel.ruleChange$).pipe(startWith(null))]).pipe(map(([permission, _]) => {
|
|
18279
|
+
var _selectionProtectionR2;
|
|
18227
18280
|
if (!permission) return true;
|
|
18228
|
-
const subUnitId = worksheet.getSheetId();
|
|
18229
18281
|
const worksheetRule = worksheetProtectionRuleModel.getRule(unitId, subUnitId);
|
|
18230
|
-
|
|
18231
|
-
|
|
18232
|
-
return true;
|
|
18282
|
+
if (worksheetRule === null || worksheetRule === void 0 ? void 0 : worksheetRule.permissionId) return false;
|
|
18283
|
+
return ((_selectionProtectionR2 = selectionProtectionRuleModel.getSubunitRuleList(unitId, subUnitId)) === null || _selectionProtectionR2 === void 0 ? void 0 : _selectionProtectionR2.filter((item) => item === null || item === void 0 ? void 0 : item.permissionId)).length === 0;
|
|
18233
18284
|
}));
|
|
18234
18285
|
}));
|
|
18235
18286
|
}));
|
|
@@ -18254,8 +18305,8 @@ function getRemovePermissionDisable$(accessor) {
|
|
|
18254
18305
|
if ((selectionRange === null || selectionRange === void 0 ? void 0 : selectionRange.rangeType) === RANGE_TYPE.ALL || (selectionRange === null || selectionRange === void 0 ? void 0 : selectionRange.rangeType) === RANGE_TYPE.COLUMN || (selectionRange === null || selectionRange === void 0 ? void 0 : selectionRange.rangeType) === RANGE_TYPE.ROW) return true;
|
|
18255
18306
|
const worksheetRule = worksheetProtectionRuleModel.getRule(unitId, subUnitId);
|
|
18256
18307
|
if (worksheetRule === null || worksheetRule === void 0 ? void 0 : worksheetRule.permissionId) {
|
|
18257
|
-
var _permissionService$
|
|
18258
|
-
return ((_permissionService$
|
|
18308
|
+
var _permissionService$ge4;
|
|
18309
|
+
return ((_permissionService$ge4 = permissionService.getPermissionPoint(new WorksheetDeleteProtectionPermission(unitId, subUnitId).id)) === null || _permissionService$ge4 === void 0 ? void 0 : _permissionService$ge4.value) === false;
|
|
18259
18310
|
}
|
|
18260
18311
|
if (selectionProtectionRuleModel.getSubunitRuleList(unitId, subUnitId).filter((rule) => {
|
|
18261
18312
|
return rule.ranges.some((range) => {
|
|
@@ -18290,10 +18341,10 @@ function getViewPermissionDisable$(accessor) {
|
|
|
18290
18341
|
]).pipe(switchMap(([workbook, _, visible, formulaEditorFocus]) => {
|
|
18291
18342
|
if (!workbook || (visible === null || visible === void 0 ? void 0 : visible.visible) && visible.unitId === workbook.getUnitId() || formulaEditorFocus) return of(true);
|
|
18292
18343
|
return workbook.activeSheet$.pipe(switchMap((worksheet) => {
|
|
18293
|
-
var _permissionService$
|
|
18344
|
+
var _permissionService$ge5, _permissionService$ge6;
|
|
18294
18345
|
if (!worksheet) return of(true);
|
|
18295
18346
|
const unitId = workbook.getUnitId();
|
|
18296
|
-
return ((_permissionService$
|
|
18347
|
+
return ((_permissionService$ge5 = (_permissionService$ge6 = permissionService.getPermissionPoint$(new WorkbookEditablePermission(unitId).id)) === null || _permissionService$ge6 === void 0 ? void 0 : _permissionService$ge6.pipe(map((e) => !!e.value))) !== null && _permissionService$ge5 !== void 0 ? _permissionService$ge5 : of(false)).pipe(map((permission) => !permission));
|
|
18297
18348
|
}));
|
|
18298
18349
|
}));
|
|
18299
18350
|
}
|
|
@@ -20050,6 +20101,8 @@ const DefinedNameContainer = () => {
|
|
|
20050
20101
|
const localeService = useDependency(LocaleService);
|
|
20051
20102
|
const definedNamesService = useDependency(IDefinedNamesService);
|
|
20052
20103
|
const selectionManagerService = useDependency(SheetsSelectionsService);
|
|
20104
|
+
const permissionService = useDependency(IPermissionService);
|
|
20105
|
+
const sheetPermissionCheckController = useDependency(SheetPermissionCheckController);
|
|
20053
20106
|
const workbook = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET);
|
|
20054
20107
|
const unitId = workbook === null || workbook === void 0 ? void 0 : workbook.getUnitId();
|
|
20055
20108
|
const getDefinedNameMap = () => {
|
|
@@ -20062,6 +20115,7 @@ const DefinedNameContainer = () => {
|
|
|
20062
20115
|
const [definedNames, setDefinedNames] = useState([]);
|
|
20063
20116
|
const [editorKey, setEditorKey] = useState(null);
|
|
20064
20117
|
const [deleteConformKey, setDeleteConformKey] = useState();
|
|
20118
|
+
const [permissionCheckVersion, setPermissionCheckVersion] = useState(0);
|
|
20065
20119
|
const listContainerRef = useRef(void 0);
|
|
20066
20120
|
const [virtualDefinedNames, virtualActions] = useVirtualList(definedNames, {
|
|
20067
20121
|
containerTarget: listContainerRef,
|
|
@@ -20080,7 +20134,21 @@ const DefinedNameContainer = () => {
|
|
|
20080
20134
|
definedNamesSubscription.unsubscribe();
|
|
20081
20135
|
};
|
|
20082
20136
|
}, []);
|
|
20137
|
+
useEffect(() => {
|
|
20138
|
+
const permissionSubscription = permissionService.permissionPointUpdate$.subscribe(() => {
|
|
20139
|
+
setPermissionCheckVersion((v) => v + 1);
|
|
20140
|
+
});
|
|
20141
|
+
return () => {
|
|
20142
|
+
permissionSubscription.unsubscribe();
|
|
20143
|
+
};
|
|
20144
|
+
}, [permissionService]);
|
|
20083
20145
|
if (!workbook || !unitId) return;
|
|
20146
|
+
const checkWorkbookPermission = sheetPermissionCheckController.permissionCheckWithoutRange({ workbookTypes: [WorkbookEditablePermission] }, unitId);
|
|
20147
|
+
const checkDefinedNamePermission = (definedName) => {
|
|
20148
|
+
const { localSheetId } = definedName;
|
|
20149
|
+
if (!localSheetId || localSheetId === SCOPE_WORKBOOK_VALUE_DEFINED_NAME) return checkWorkbookPermission;
|
|
20150
|
+
return sheetPermissionCheckController.permissionCheckWithoutRange({ worksheetTypes: [WorksheetEditPermission] }, unitId, localSheetId);
|
|
20151
|
+
};
|
|
20084
20152
|
const insertConfirm = (param) => {
|
|
20085
20153
|
const { name, formulaOrRefString, comment, localSheetId, hidden } = param;
|
|
20086
20154
|
let id = param.id;
|
|
@@ -20180,6 +20248,7 @@ const DefinedNameContainer = () => {
|
|
|
20180
20248
|
className: "univer-mb-4",
|
|
20181
20249
|
children: [/* @__PURE__ */ jsxs(Button, {
|
|
20182
20250
|
className: clsx("univer-w-full", { "univer-hidden": editState }),
|
|
20251
|
+
disabled: !checkWorkbookPermission,
|
|
20183
20252
|
onClick: openInsertCloseKeyEditor,
|
|
20184
20253
|
children: [/* @__PURE__ */ jsx(IncreaseIcon, {}), /* @__PURE__ */ jsx("span", {
|
|
20185
20254
|
className: "univer-ml-1",
|
|
@@ -20221,7 +20290,7 @@ const DefinedNameContainer = () => {
|
|
|
20221
20290
|
title: definedName.formulaOrRefString,
|
|
20222
20291
|
children: definedName.formulaOrRefString
|
|
20223
20292
|
})]
|
|
20224
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
20293
|
+
}), checkDefinedNamePermission(definedName) && /* @__PURE__ */ jsxs("div", {
|
|
20225
20294
|
className: "univer-absolute univer-right-5 univer-top-1/2 univer-hidden -univer-translate-y-1/2 univer-cursor-pointer univer-items-center univer-justify-end univer-gap-7 univer-text-xs univer-text-primary-600 group-hover:univer-flex dark:hover:!univer-bg-gray-600",
|
|
20226
20295
|
children: [/* @__PURE__ */ jsx(Tooltip, {
|
|
20227
20296
|
title: localeService.t("definedName.updateButton"),
|
|
@@ -20597,24 +20666,16 @@ const EditorContainer = () => {
|
|
|
20597
20666
|
|
|
20598
20667
|
//#endregion
|
|
20599
20668
|
//#region src/services/utils/defined-name-utils.ts
|
|
20600
|
-
let DefinedNameBoxActionType = /* @__PURE__ */ function(DefinedNameBoxActionType) {
|
|
20601
|
-
DefinedNameBoxActionType["Noop"] = "noop";
|
|
20602
|
-
DefinedNameBoxActionType["FocusDefinedName"] = "focusDefinedName";
|
|
20603
|
-
DefinedNameBoxActionType["FocusSelection"] = "focusSelection";
|
|
20604
|
-
DefinedNameBoxActionType["CreateDefinedName"] = "createDefinedName";
|
|
20605
|
-
DefinedNameBoxActionType["Reset"] = "reset";
|
|
20606
|
-
return DefinedNameBoxActionType;
|
|
20607
|
-
}({});
|
|
20608
20669
|
function resolveDefinedNameBoxAction(params) {
|
|
20609
20670
|
const { inputValue, rangeString, unitId, formulaOrRefString, univerInstanceService, definedNamesService, superTableService, functionService } = params;
|
|
20610
|
-
if (inputValue === rangeString) return { type:
|
|
20671
|
+
if (inputValue === rangeString) return { type: "noop" };
|
|
20611
20672
|
const definedName = definedNamesService.getValueByName(unitId, inputValue);
|
|
20612
20673
|
if (definedName) return {
|
|
20613
|
-
type:
|
|
20674
|
+
type: "focusDefinedName",
|
|
20614
20675
|
definedName
|
|
20615
20676
|
};
|
|
20616
20677
|
if (isReferenceStringWithEffectiveColumn(inputValue)) return {
|
|
20617
|
-
type:
|
|
20678
|
+
type: "focusSelection",
|
|
20618
20679
|
refString: inputValue
|
|
20619
20680
|
};
|
|
20620
20681
|
if (validateDefinedName(inputValue, {
|
|
@@ -20625,10 +20686,10 @@ function resolveDefinedNameBoxAction(params) {
|
|
|
20625
20686
|
superTableService,
|
|
20626
20687
|
functionService
|
|
20627
20688
|
}) === true) return {
|
|
20628
|
-
type:
|
|
20689
|
+
type: "createDefinedName",
|
|
20629
20690
|
name: inputValue
|
|
20630
20691
|
};
|
|
20631
|
-
return { type:
|
|
20692
|
+
return { type: "reset" };
|
|
20632
20693
|
}
|
|
20633
20694
|
function getAbsoluteRefStringFromSelection(workbook, selections, lexerTreeBuilder) {
|
|
20634
20695
|
var _workbook$getActiveSh;
|
|
@@ -20755,6 +20816,7 @@ function DefinedName({ disable }) {
|
|
|
20755
20816
|
const superTableService = useDependency(ISuperTableService);
|
|
20756
20817
|
const functionService = useDependency(IFunctionService);
|
|
20757
20818
|
const layoutService = useDependency(ILayoutService);
|
|
20819
|
+
const sheetPermissionCheckController = useDependency(SheetPermissionCheckController);
|
|
20758
20820
|
const workbook = univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SHEET);
|
|
20759
20821
|
const unitId = workbook === null || workbook === void 0 ? void 0 : workbook.getUnitId();
|
|
20760
20822
|
const themeService = useDependency(ThemeService);
|
|
@@ -20843,19 +20905,19 @@ function DefinedName({ disable }) {
|
|
|
20843
20905
|
functionService
|
|
20844
20906
|
});
|
|
20845
20907
|
switch (action.type) {
|
|
20846
|
-
case
|
|
20847
|
-
case
|
|
20908
|
+
case "noop": return true;
|
|
20909
|
+
case "focusDefinedName":
|
|
20848
20910
|
setRangeString(action.definedName.name);
|
|
20849
20911
|
setInputValue(action.definedName.name);
|
|
20850
20912
|
focusDefinedName(action.definedName);
|
|
20851
20913
|
return true;
|
|
20852
|
-
case
|
|
20914
|
+
case "focusSelection":
|
|
20853
20915
|
setRangeString(action.refString);
|
|
20854
20916
|
setInputValue(action.refString);
|
|
20855
20917
|
focusSelection(action.refString);
|
|
20856
20918
|
return true;
|
|
20857
|
-
case
|
|
20858
|
-
if (!formulaOrRefString) {
|
|
20919
|
+
case "createDefinedName": {
|
|
20920
|
+
if (!formulaOrRefString || !sheetPermissionCheckController.permissionCheckWithoutRange({ workbookTypes: [WorkbookEditablePermission] }, unitId)) {
|
|
20859
20921
|
resetValue();
|
|
20860
20922
|
return false;
|
|
20861
20923
|
}
|
|
@@ -20872,7 +20934,7 @@ function DefinedName({ disable }) {
|
|
|
20872
20934
|
} else resetValue();
|
|
20873
20935
|
return !!result;
|
|
20874
20936
|
}
|
|
20875
|
-
case
|
|
20937
|
+
case "reset":
|
|
20876
20938
|
resetValue();
|
|
20877
20939
|
return false;
|
|
20878
20940
|
}
|
|
@@ -20944,16 +21006,11 @@ function DefinedName({ disable }) {
|
|
|
20944
21006
|
|
|
20945
21007
|
//#endregion
|
|
20946
21008
|
//#region src/views/formula-bar/FormulaBar.tsx
|
|
20947
|
-
var ArrowDirection = /* @__PURE__ */ function(ArrowDirection) {
|
|
20948
|
-
ArrowDirection[ArrowDirection["Down"] = 0] = "Down";
|
|
20949
|
-
ArrowDirection[ArrowDirection["Up"] = 1] = "Up";
|
|
20950
|
-
return ArrowDirection;
|
|
20951
|
-
}(ArrowDirection || {});
|
|
20952
21009
|
function FormulaBar(props) {
|
|
20953
21010
|
var _editState$documentLa, _editState$documentLa2;
|
|
20954
21011
|
const { className, disableDefinedName } = props;
|
|
20955
21012
|
const [iconActivated, setIconActivated] = useState(false);
|
|
20956
|
-
const [arrowDirection, setArrowDirection] = useState(
|
|
21013
|
+
const [arrowDirection, setArrowDirection] = useState(0);
|
|
20957
21014
|
const formulaEditorManagerService = useDependency(IFormulaEditorManagerService);
|
|
20958
21015
|
const editorBridgeService = useDependency(IEditorBridgeService);
|
|
20959
21016
|
const worksheetProtectionRuleModel = useDependency(WorksheetProtectionRuleModel);
|
|
@@ -20974,7 +21031,7 @@ function FormulaBar(props) {
|
|
|
20974
21031
|
const editState = useObservable(editorBridgeService.currentEditCellState$);
|
|
20975
21032
|
const keyCodeConfig = useKeyEventConfig(isRefSelecting, editState === null || editState === void 0 ? void 0 : editState.unitId);
|
|
20976
21033
|
const FormulaEditor = componentManager.get(EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY);
|
|
20977
|
-
const formulaAuxUIParts = useComponentsOfPart(
|
|
21034
|
+
const formulaAuxUIParts = useComponentsOfPart("formula-aux");
|
|
20978
21035
|
const contextService = useDependency(IContextService);
|
|
20979
21036
|
useObservable(useMemo(() => contextService.subscribeContextValue$(FOCUSING_FX_BAR_EDITOR), [contextService]));
|
|
20980
21037
|
const isFocusFxBar = contextService.getContextValue(FOCUSING_FX_BAR_EDITOR);
|
|
@@ -21054,9 +21111,9 @@ function FormulaBar(props) {
|
|
|
21054
21111
|
}
|
|
21055
21112
|
}, [formulaEditorManagerService]);
|
|
21056
21113
|
function handleArrowClick() {
|
|
21057
|
-
setArrowDirection(arrowDirection ===
|
|
21114
|
+
setArrowDirection(arrowDirection === 0 ? 1 : 0);
|
|
21058
21115
|
setTimeout(() => {
|
|
21059
|
-
formulaEditorManagerService.handleFoldBtnClick(arrowDirection ===
|
|
21116
|
+
formulaEditorManagerService.handleFoldBtnClick(arrowDirection === 1);
|
|
21060
21117
|
}, 150);
|
|
21061
21118
|
}
|
|
21062
21119
|
function handleCloseBtnClick() {
|
|
@@ -21109,8 +21166,8 @@ function FormulaBar(props) {
|
|
|
21109
21166
|
return /* @__PURE__ */ jsxs("div", {
|
|
21110
21167
|
"data-u-comp": "formula-bar",
|
|
21111
21168
|
className: clsx("univer-box-border univer-flex univer-bg-white univer-transition-[height] univer-ease-linear dark:!univer-bg-gray-900", borderBottomClassName, className, {
|
|
21112
|
-
"univer-h-7": arrowDirection ===
|
|
21113
|
-
"univer-h-20": arrowDirection ===
|
|
21169
|
+
"univer-h-7": arrowDirection === 0,
|
|
21170
|
+
"univer-h-20": arrowDirection === 1,
|
|
21114
21171
|
"univer-pointer-events-none": editDisable
|
|
21115
21172
|
}),
|
|
21116
21173
|
children: [
|
|
@@ -21175,7 +21232,7 @@ function FormulaBar(props) {
|
|
|
21175
21232
|
}), /* @__PURE__ */ jsx("div", {
|
|
21176
21233
|
className: clsx("univer-flex univer-h-full univer-w-5 univer-cursor-pointer univer-items-center univer-justify-center univer-text-xs univer-text-gray-700 dark:!univer-text-gray-200", { "univer-cursor-not-allowed univer-text-gray-200 dark:!univer-text-gray-700": editDisable }),
|
|
21177
21234
|
onClick: handleArrowClick,
|
|
21178
|
-
children: /* @__PURE__ */ jsx(DropdownIcon, { className: clsx({ "univer-rotate-180": arrowDirection ===
|
|
21235
|
+
children: /* @__PURE__ */ jsx(DropdownIcon, { className: clsx({ "univer-rotate-180": arrowDirection === 1 }) })
|
|
21179
21236
|
})]
|
|
21180
21237
|
})]
|
|
21181
21238
|
}),
|
|
@@ -21404,15 +21461,10 @@ const CONFIG = {
|
|
|
21404
21461
|
cancel(v) {},
|
|
21405
21462
|
complete(v) {}
|
|
21406
21463
|
};
|
|
21407
|
-
let AnimateStatus = /* @__PURE__ */ function(AnimateStatus) {
|
|
21408
|
-
AnimateStatus[AnimateStatus["Request"] = 0] = "Request";
|
|
21409
|
-
AnimateStatus[AnimateStatus["Cancel"] = 1] = "Cancel";
|
|
21410
|
-
return AnimateStatus;
|
|
21411
|
-
}({});
|
|
21412
21464
|
var Animate = class {
|
|
21413
21465
|
constructor(config) {
|
|
21414
21466
|
_defineProperty(this, "_config", void 0);
|
|
21415
|
-
_defineProperty(this, "_status",
|
|
21467
|
+
_defineProperty(this, "_status", 0);
|
|
21416
21468
|
_defineProperty(this, "_start", 0);
|
|
21417
21469
|
_defineProperty(this, "_handle", 0);
|
|
21418
21470
|
_defineProperty(this, "_delayHandle", null);
|
|
@@ -21445,20 +21497,20 @@ var Animate = class {
|
|
|
21445
21497
|
}
|
|
21446
21498
|
request() {
|
|
21447
21499
|
if (this._config.delay === 0) {
|
|
21448
|
-
this._status =
|
|
21500
|
+
this._status = 0;
|
|
21449
21501
|
this._start = Date.now();
|
|
21450
21502
|
this._fakeHandle();
|
|
21451
21503
|
} else {
|
|
21452
21504
|
this._delayHandle && clearTimeout(this._delayHandle);
|
|
21453
21505
|
this._delayHandle = setTimeout(() => {
|
|
21454
|
-
this._status =
|
|
21506
|
+
this._status = 0;
|
|
21455
21507
|
this._start = Date.now();
|
|
21456
21508
|
this._fakeHandle();
|
|
21457
21509
|
}, this._config.delay);
|
|
21458
21510
|
}
|
|
21459
21511
|
}
|
|
21460
21512
|
cancel() {
|
|
21461
|
-
this._status =
|
|
21513
|
+
this._status = 1;
|
|
21462
21514
|
this._delayHandle && clearTimeout(this._delayHandle);
|
|
21463
21515
|
cancelAnimationFrame(this._handle);
|
|
21464
21516
|
}
|
|
@@ -21467,7 +21519,7 @@ var Animate = class {
|
|
|
21467
21519
|
times = times >= this._config.duration ? this._config.duration : times;
|
|
21468
21520
|
const fix = Tween[this._config.type](times, this._config.begin, this._config.end - this._config.begin, this._config.duration, .7).toFixed(2);
|
|
21469
21521
|
this._config.receive(fix);
|
|
21470
|
-
if (this._status ===
|
|
21522
|
+
if (this._status === 1) {
|
|
21471
21523
|
this._config.cancel(fix);
|
|
21472
21524
|
this._config.complete(fix);
|
|
21473
21525
|
return;
|
|
@@ -21757,7 +21809,8 @@ var SlideScrollbar = class {
|
|
|
21757
21809
|
constructor(slideTabBar) {
|
|
21758
21810
|
_defineProperty(this, "_slideTabBar", void 0);
|
|
21759
21811
|
_defineProperty(this, "_scrollX", void 0);
|
|
21760
|
-
|
|
21812
|
+
const primeval = slideTabBar.primeval();
|
|
21813
|
+
this._scrollX = primeval.scrollLeft;
|
|
21761
21814
|
this._slideTabBar = slideTabBar;
|
|
21762
21815
|
}
|
|
21763
21816
|
scrollX(x) {
|
|
@@ -22650,6 +22703,8 @@ const SheetBar = () => {
|
|
|
22650
22703
|
const unitId = useActiveWorkbook().getUnitId();
|
|
22651
22704
|
const workbookEditablePermission = useObservable(permissionService.getPermissionPoint$((_WorkbookEditablePerm = new WorkbookEditablePermission(unitId)) === null || _WorkbookEditablePerm === void 0 ? void 0 : _WorkbookEditablePerm.id));
|
|
22652
22705
|
const workbookCreateSheetPermission = useObservable(permissionService.getPermissionPoint$((_WorkbookCreateSheetP = new WorkbookCreateSheetPermission(unitId)) === null || _WorkbookCreateSheetP === void 0 ? void 0 : _WorkbookCreateSheetP.id));
|
|
22706
|
+
const config = useConfigValue(SHEETS_UI_PLUGIN_CONFIG_KEY);
|
|
22707
|
+
const { show: addSheetButtonShow = true, defaultRowCount = DEFAULT_WORKSHEET_ROW_COUNT, defaultColumnCount = DEFAULT_WORKSHEET_COLUMN_COUNT } = ((config === null || config === void 0 ? void 0 : config.footer) || {}).addSheetButtonConfig || {};
|
|
22653
22708
|
const updateScrollButtonState = (state) => {
|
|
22654
22709
|
const { leftEnd, rightEnd } = state;
|
|
22655
22710
|
setLeftScrollState(leftEnd);
|
|
@@ -22664,7 +22719,10 @@ const SheetBar = () => {
|
|
|
22664
22719
|
};
|
|
22665
22720
|
}, []);
|
|
22666
22721
|
const addSheet = () => {
|
|
22667
|
-
commandService.executeCommand(InsertSheetCommand.id
|
|
22722
|
+
commandService.executeCommand(InsertSheetCommand.id, { sheet: {
|
|
22723
|
+
rowCount: defaultRowCount,
|
|
22724
|
+
columnCount: defaultColumnCount
|
|
22725
|
+
} });
|
|
22668
22726
|
setTimeout(() => {
|
|
22669
22727
|
sheetBarService.setAddSheet(0);
|
|
22670
22728
|
}, 0);
|
|
@@ -22680,7 +22738,7 @@ const SheetBar = () => {
|
|
|
22680
22738
|
children: [
|
|
22681
22739
|
/* @__PURE__ */ jsxs("div", {
|
|
22682
22740
|
className: "univer-flex univer-items-center",
|
|
22683
|
-
children: [/* @__PURE__ */ jsx(SheetBarButton, {
|
|
22741
|
+
children: [addSheetButtonShow && /* @__PURE__ */ jsx(SheetBarButton, {
|
|
22684
22742
|
className: "univer-mr-2",
|
|
22685
22743
|
onClick: addSheet,
|
|
22686
22744
|
disabled: !((workbookCreateSheetPermission === null || workbookCreateSheetPermission === void 0 ? void 0 : workbookCreateSheetPermission.value) && (workbookEditablePermission === null || workbookEditablePermission === void 0 ? void 0 : workbookEditablePermission.value)),
|
|
@@ -23182,7 +23240,7 @@ const MoveSelectionEndDownShortcutItem = {
|
|
|
23182
23240
|
preconditions: whenSheetEditorFocused,
|
|
23183
23241
|
staticParameters: {
|
|
23184
23242
|
direction: Direction.DOWN,
|
|
23185
|
-
jumpOver:
|
|
23243
|
+
jumpOver: 1
|
|
23186
23244
|
}
|
|
23187
23245
|
};
|
|
23188
23246
|
const MoveSelectionEndUpShortcutItem = {
|
|
@@ -23193,7 +23251,7 @@ const MoveSelectionEndUpShortcutItem = {
|
|
|
23193
23251
|
preconditions: whenSheetEditorFocused,
|
|
23194
23252
|
staticParameters: {
|
|
23195
23253
|
direction: Direction.UP,
|
|
23196
|
-
jumpOver:
|
|
23254
|
+
jumpOver: 1
|
|
23197
23255
|
}
|
|
23198
23256
|
};
|
|
23199
23257
|
const MoveSelectionEndLeftShortcutItem = {
|
|
@@ -23204,7 +23262,7 @@ const MoveSelectionEndLeftShortcutItem = {
|
|
|
23204
23262
|
preconditions: whenSheetEditorFocused,
|
|
23205
23263
|
staticParameters: {
|
|
23206
23264
|
direction: Direction.LEFT,
|
|
23207
|
-
jumpOver:
|
|
23265
|
+
jumpOver: 1
|
|
23208
23266
|
}
|
|
23209
23267
|
};
|
|
23210
23268
|
const MoveSelectionEndRightShortcutItem = {
|
|
@@ -23215,7 +23273,7 @@ const MoveSelectionEndRightShortcutItem = {
|
|
|
23215
23273
|
preconditions: whenSheetEditorFocused,
|
|
23216
23274
|
staticParameters: {
|
|
23217
23275
|
direction: Direction.RIGHT,
|
|
23218
|
-
jumpOver:
|
|
23276
|
+
jumpOver: 1
|
|
23219
23277
|
}
|
|
23220
23278
|
};
|
|
23221
23279
|
const ExpandSelectionDownShortcutItem = {
|
|
@@ -23258,7 +23316,7 @@ const ExpandSelectionEndDownShortcutItem = {
|
|
|
23258
23316
|
preconditions: whenSheetEditorFocused,
|
|
23259
23317
|
staticParameters: {
|
|
23260
23318
|
direction: Direction.DOWN,
|
|
23261
|
-
jumpOver:
|
|
23319
|
+
jumpOver: 1
|
|
23262
23320
|
}
|
|
23263
23321
|
};
|
|
23264
23322
|
const ExpandSelectionEndUpShortcutItem = {
|
|
@@ -23269,7 +23327,7 @@ const ExpandSelectionEndUpShortcutItem = {
|
|
|
23269
23327
|
preconditions: whenSheetEditorFocused,
|
|
23270
23328
|
staticParameters: {
|
|
23271
23329
|
direction: Direction.UP,
|
|
23272
|
-
jumpOver:
|
|
23330
|
+
jumpOver: 1
|
|
23273
23331
|
}
|
|
23274
23332
|
};
|
|
23275
23333
|
const ExpandSelectionEndLeftShortcutItem = {
|
|
@@ -23280,7 +23338,7 @@ const ExpandSelectionEndLeftShortcutItem = {
|
|
|
23280
23338
|
preconditions: whenSheetEditorFocused,
|
|
23281
23339
|
staticParameters: {
|
|
23282
23340
|
direction: Direction.LEFT,
|
|
23283
|
-
jumpOver:
|
|
23341
|
+
jumpOver: 1
|
|
23284
23342
|
}
|
|
23285
23343
|
};
|
|
23286
23344
|
const ExpandSelectionEndRightShortcutItem = {
|
|
@@ -23291,7 +23349,7 @@ const ExpandSelectionEndRightShortcutItem = {
|
|
|
23291
23349
|
preconditions: whenSheetEditorFocused,
|
|
23292
23350
|
staticParameters: {
|
|
23293
23351
|
direction: Direction.RIGHT,
|
|
23294
|
-
jumpOver:
|
|
23352
|
+
jumpOver: 1
|
|
23295
23353
|
}
|
|
23296
23354
|
};
|
|
23297
23355
|
const SelectAllShortcutItem = {
|
|
@@ -23312,28 +23370,28 @@ const SetBoldShortcutItem = {
|
|
|
23312
23370
|
id: SetRangeBoldCommand.id,
|
|
23313
23371
|
description: "shortcut.sheet.set-bold",
|
|
23314
23372
|
group: "4_sheet-edit",
|
|
23315
|
-
preconditions: (contextService) =>
|
|
23373
|
+
preconditions: (contextService) => whenSheetFocusedInlineFormat(contextService),
|
|
23316
23374
|
binding: KeyCode.B | MetaKeys.CTRL_COMMAND
|
|
23317
23375
|
};
|
|
23318
23376
|
const SetItalicShortcutItem = {
|
|
23319
23377
|
id: SetRangeItalicCommand.id,
|
|
23320
23378
|
description: "shortcut.sheet.set-italic",
|
|
23321
23379
|
group: "4_sheet-edit",
|
|
23322
|
-
preconditions: (contextService) =>
|
|
23380
|
+
preconditions: (contextService) => whenSheetFocusedInlineFormat(contextService),
|
|
23323
23381
|
binding: KeyCode.I | MetaKeys.CTRL_COMMAND
|
|
23324
23382
|
};
|
|
23325
23383
|
const SetUnderlineShortcutItem = {
|
|
23326
23384
|
id: SetRangeUnderlineCommand.id,
|
|
23327
23385
|
description: "shortcut.sheet.set-underline",
|
|
23328
23386
|
group: "4_sheet-edit",
|
|
23329
|
-
preconditions: (contextService) =>
|
|
23387
|
+
preconditions: (contextService) => whenSheetFocusedInlineFormat(contextService),
|
|
23330
23388
|
binding: KeyCode.U | MetaKeys.CTRL_COMMAND
|
|
23331
23389
|
};
|
|
23332
23390
|
const SetStrikeThroughShortcutItem = {
|
|
23333
23391
|
id: SetRangeStrickThroughCommand.id,
|
|
23334
23392
|
description: "shortcut.sheet.set-strike-through",
|
|
23335
23393
|
group: "4_sheet-edit",
|
|
23336
|
-
preconditions: (contextService) =>
|
|
23394
|
+
preconditions: (contextService) => whenSheetFocusedInlineFormat(contextService),
|
|
23337
23395
|
binding: KeyCode.X | MetaKeys.SHIFT | MetaKeys.CTRL_COMMAND
|
|
23338
23396
|
};
|
|
23339
23397
|
|
|
@@ -23892,7 +23950,7 @@ const useHighlightRange = (ranges = []) => {
|
|
|
23892
23950
|
//#endregion
|
|
23893
23951
|
//#region package.json
|
|
23894
23952
|
var name = "@univerjs/sheets-ui";
|
|
23895
|
-
var version = "0.
|
|
23953
|
+
var version = "0.22.0";
|
|
23896
23954
|
|
|
23897
23955
|
//#endregion
|
|
23898
23956
|
//#region src/services/cell-alert-manager.service.ts
|
|
@@ -23982,9 +24040,9 @@ function CellAlert({ popup }) {
|
|
|
23982
24040
|
if (!alert) return null;
|
|
23983
24041
|
const { type, title, message } = alert;
|
|
23984
24042
|
const iconMap = {
|
|
23985
|
-
[
|
|
23986
|
-
[
|
|
23987
|
-
[
|
|
24043
|
+
[2]: /* @__PURE__ */ jsx(ErrorIcon, { className: "univer-mr-1.5 univer-text-red-500" }),
|
|
24044
|
+
[0]: /* @__PURE__ */ jsx(InfoIcon, { className: "univer-mr-1.5 univer-text-blue-500" }),
|
|
24045
|
+
[1]: /* @__PURE__ */ jsx(WarningIcon, { className: "univer-mr-1.5 univer-text-yellow-500" })
|
|
23988
24046
|
};
|
|
23989
24047
|
return /* @__PURE__ */ jsxs("div", {
|
|
23990
24048
|
className: "univer-z-[100] univer-box-border univer-w-[156px] univer-rounded-lg univer-bg-white univer-px-2 univer-py-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white",
|
|
@@ -24438,7 +24496,7 @@ let ForceStringAlertRenderController = class ForceStringAlertRenderController ex
|
|
|
24438
24496
|
return;
|
|
24439
24497
|
}
|
|
24440
24498
|
this._cellAlertManagerService.showAlert({
|
|
24441
|
-
type:
|
|
24499
|
+
type: 2,
|
|
24442
24500
|
title: this._localeService.t("info.error"),
|
|
24443
24501
|
message: this._localeService.t("info.forceStringInfo"),
|
|
24444
24502
|
location,
|
|
@@ -24547,7 +24605,7 @@ let FormatPainterController = class FormatPainterController extends Disposable {
|
|
|
24547
24605
|
priority: 0,
|
|
24548
24606
|
isDefaultHook: true,
|
|
24549
24607
|
onStatusChange: (status) => {
|
|
24550
|
-
if (status !==
|
|
24608
|
+
if (status !== 0) {
|
|
24551
24609
|
const format = this._collectSelectionRangeFormat();
|
|
24552
24610
|
if (format) this._formatPainterService.setSelectionFormat(format);
|
|
24553
24611
|
}
|
|
@@ -26963,7 +27021,7 @@ let FormatPainterRenderController = class FormatPainterRenderController extends
|
|
|
26963
27021
|
}
|
|
26964
27022
|
_commandExecutedListener() {
|
|
26965
27023
|
this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe((selections) => {
|
|
26966
|
-
if (this._formatPainterService.getStatus() !==
|
|
27024
|
+
if (this._formatPainterService.getStatus() !== 0) {
|
|
26967
27025
|
var _this$_context$unit$g;
|
|
26968
27026
|
const { rangeWithCoord } = selections[selections.length - 1];
|
|
26969
27027
|
this._commandService.executeCommand(ApplyFormatPainterCommand.id, {
|
|
@@ -26976,7 +27034,7 @@ let FormatPainterRenderController = class FormatPainterRenderController extends
|
|
|
26976
27034
|
endColumn: rangeWithCoord.endColumn
|
|
26977
27035
|
}
|
|
26978
27036
|
});
|
|
26979
|
-
if (this._formatPainterService.getStatus() ===
|
|
27037
|
+
if (this._formatPainterService.getStatus() === 1) this._commandService.executeCommand(SetOnceFormatPainterCommand.id);
|
|
26980
27038
|
}
|
|
26981
27039
|
}));
|
|
26982
27040
|
}
|
|
@@ -26984,7 +27042,7 @@ let FormatPainterRenderController = class FormatPainterRenderController extends
|
|
|
26984
27042
|
this.disposeWithMe(toDisposable(this._formatPainterService.status$.subscribe((status) => {
|
|
26985
27043
|
const scene = this._context.scene;
|
|
26986
27044
|
if (!scene) return;
|
|
26987
|
-
if (status !==
|
|
27045
|
+
if (status !== 0) scene.setDefaultCursor(CURSOR_TYPE.CELL);
|
|
26988
27046
|
else scene.setDefaultCursor(CURSOR_TYPE.DEFAULT);
|
|
26989
27047
|
})));
|
|
26990
27048
|
}
|
|
@@ -26997,11 +27055,6 @@ FormatPainterRenderController = __decorate([
|
|
|
26997
27055
|
|
|
26998
27056
|
//#endregion
|
|
26999
27057
|
//#region src/menu/header-menu-shape.ts
|
|
27000
|
-
let HEADER_MENU_SHAPE_TYPE = /* @__PURE__ */ function(HEADER_MENU_SHAPE_TYPE) {
|
|
27001
|
-
HEADER_MENU_SHAPE_TYPE[HEADER_MENU_SHAPE_TYPE["NORMAL"] = 0] = "NORMAL";
|
|
27002
|
-
HEADER_MENU_SHAPE_TYPE[HEADER_MENU_SHAPE_TYPE["HIGHLIGHT"] = 1] = "HIGHLIGHT";
|
|
27003
|
-
return HEADER_MENU_SHAPE_TYPE;
|
|
27004
|
-
}({});
|
|
27005
27058
|
const HEADER_MENU_SHAPE_CIRCLE_FILL = "rgba(0, 0, 0, 0.15)";
|
|
27006
27059
|
const HEADER_MENU_SHAPE_TRIANGLE_FILL = "rgb(0, 0, 0)";
|
|
27007
27060
|
const HEADER_MENU_BACKGROUND_COLOR = "rgb(255, 255, 255, 1)";
|
|
@@ -27010,7 +27063,7 @@ var HeaderMenuShape = class extends Shape {
|
|
|
27010
27063
|
super(key, props);
|
|
27011
27064
|
_defineProperty(this, "_size", 12);
|
|
27012
27065
|
_defineProperty(this, "_iconRatio", .4);
|
|
27013
|
-
_defineProperty(this, "_mode",
|
|
27066
|
+
_defineProperty(this, "_mode", 0);
|
|
27014
27067
|
this.setShapeProps(props);
|
|
27015
27068
|
}
|
|
27016
27069
|
setShapeProps(props) {
|
|
@@ -27022,7 +27075,7 @@ var HeaderMenuShape = class extends Shape {
|
|
|
27022
27075
|
});
|
|
27023
27076
|
}
|
|
27024
27077
|
_draw(ctx) {
|
|
27025
|
-
if (this._mode ===
|
|
27078
|
+
if (this._mode === 1) Rect.drawWith(ctx, {
|
|
27026
27079
|
width: this._size,
|
|
27027
27080
|
height: this._size,
|
|
27028
27081
|
radius: this._size,
|
|
@@ -27057,11 +27110,6 @@ var HeaderMenuShape = class extends Shape {
|
|
|
27057
27110
|
const HEADER_MENU_CONTROLLER_SHAPE = "__SpreadsheetHeaderMenuSHAPEControllerShape__";
|
|
27058
27111
|
const HEADER_MENU_CONTROLLER_MENU = "__SpreadsheetHeaderMenuMAINControllerShape__";
|
|
27059
27112
|
const HEADER_MENU_CONTROLLER_SHAPE_COLOR = "rgba(0, 0, 0, 0.1)";
|
|
27060
|
-
var HEADER_HOVER_TYPE = /* @__PURE__ */ function(HEADER_HOVER_TYPE) {
|
|
27061
|
-
HEADER_HOVER_TYPE[HEADER_HOVER_TYPE["ROW"] = 0] = "ROW";
|
|
27062
|
-
HEADER_HOVER_TYPE[HEADER_HOVER_TYPE["COLUMN"] = 1] = "COLUMN";
|
|
27063
|
-
return HEADER_HOVER_TYPE;
|
|
27064
|
-
}(HEADER_HOVER_TYPE || {});
|
|
27065
27113
|
let HeaderMenuRenderController = class HeaderMenuRenderController extends Disposable {
|
|
27066
27114
|
constructor(_context, _sheetSkeletonManagerService, _contextMenuService, _commandService, _selectionManagerService) {
|
|
27067
27115
|
super();
|
|
@@ -27095,22 +27143,22 @@ let HeaderMenuRenderController = class HeaderMenuRenderController extends Dispos
|
|
|
27095
27143
|
visible: false
|
|
27096
27144
|
});
|
|
27097
27145
|
scene.addObjects([this._hoverRect, this._hoverMenu], 10);
|
|
27098
|
-
this._initialHover(
|
|
27099
|
-
this._initialHover(
|
|
27146
|
+
this._initialHover(0);
|
|
27147
|
+
this._initialHover(1);
|
|
27100
27148
|
this._initialHoverMenu();
|
|
27101
27149
|
}
|
|
27102
|
-
_initialHover(initialType =
|
|
27150
|
+
_initialHover(initialType = 0) {
|
|
27103
27151
|
var _this$_headerPointerS2, _this$_headerPointerS3, _this$_headerPointerS4;
|
|
27104
|
-
const spreadsheetColumnHeader = this._context.components.get(
|
|
27105
|
-
const spreadsheetRowHeader = this._context.components.get(
|
|
27106
|
-
const eventBindingObject = initialType ===
|
|
27152
|
+
const spreadsheetColumnHeader = this._context.components.get("__SpreadsheetColumnHeader__");
|
|
27153
|
+
const spreadsheetRowHeader = this._context.components.get("__SpreadsheetRowHeader__");
|
|
27154
|
+
const eventBindingObject = initialType === 0 ? spreadsheetRowHeader : spreadsheetColumnHeader;
|
|
27107
27155
|
const pointerMoveHandler = (evt) => {
|
|
27108
27156
|
var _this$_sheetSkeletonM;
|
|
27109
27157
|
const skeleton = (_this$_sheetSkeletonM = this._sheetSkeletonManagerService.getCurrentParam()) === null || _this$_sheetSkeletonM === void 0 ? void 0 : _this$_sheetSkeletonM.skeleton;
|
|
27110
27158
|
if (skeleton == null) return;
|
|
27111
27159
|
const { rowHeaderWidth, columnHeaderHeight } = skeleton;
|
|
27112
27160
|
const { startX, startY, endX, endY, column } = getCoordByOffset(evt.offsetX, evt.offsetY, this._context.scene, skeleton);
|
|
27113
|
-
if (initialType ===
|
|
27161
|
+
if (initialType === 0) {
|
|
27114
27162
|
var _this$_hoverRect2;
|
|
27115
27163
|
(_this$_hoverRect2 = this._hoverRect) === null || _this$_hoverRect2 === void 0 || _this$_hoverRect2.transformByState({
|
|
27116
27164
|
width: rowHeaderWidth,
|
|
@@ -27163,7 +27211,7 @@ let HeaderMenuRenderController = class HeaderMenuRenderController extends Dispos
|
|
|
27163
27211
|
this._hoverMenu.onPointerEnter$.subscribeEvent(() => {
|
|
27164
27212
|
if (this._hoverMenu == null) return;
|
|
27165
27213
|
this._hoverMenu.setProps({
|
|
27166
|
-
mode:
|
|
27214
|
+
mode: 1,
|
|
27167
27215
|
visible: true
|
|
27168
27216
|
});
|
|
27169
27217
|
this._context.scene.setCursor(CURSOR_TYPE.POINTER);
|
|
@@ -27171,7 +27219,7 @@ let HeaderMenuRenderController = class HeaderMenuRenderController extends Dispos
|
|
|
27171
27219
|
this._hoverMenu.onPointerLeave$.subscribeEvent(() => {
|
|
27172
27220
|
if (this._hoverMenu == null) return;
|
|
27173
27221
|
this._hoverMenu.setProps({
|
|
27174
|
-
mode:
|
|
27222
|
+
mode: 0,
|
|
27175
27223
|
visible: false
|
|
27176
27224
|
});
|
|
27177
27225
|
this._context.scene.resetCursor();
|
|
@@ -27232,11 +27280,6 @@ HeaderMenuRenderController = __decorate([
|
|
|
27232
27280
|
|
|
27233
27281
|
//#endregion
|
|
27234
27282
|
//#region src/views/header-unhide-shape.ts
|
|
27235
|
-
let HeaderUnhideShapeType = /* @__PURE__ */ function(HeaderUnhideShapeType) {
|
|
27236
|
-
HeaderUnhideShapeType[HeaderUnhideShapeType["ROW"] = 0] = "ROW";
|
|
27237
|
-
HeaderUnhideShapeType[HeaderUnhideShapeType["COLUMN"] = 1] = "COLUMN";
|
|
27238
|
-
return HeaderUnhideShapeType;
|
|
27239
|
-
}({});
|
|
27240
27283
|
const UNHIDE_ICON_SIZE = 12;
|
|
27241
27284
|
const UNHIDE_ARROW_RATIO = .4;
|
|
27242
27285
|
var HeaderUnhideShape = class extends Shape {
|
|
@@ -27259,12 +27302,12 @@ var HeaderUnhideShape = class extends Shape {
|
|
|
27259
27302
|
if (props.hasPrevious !== void 0) this._hasPrevious = props.hasPrevious;
|
|
27260
27303
|
if (props.hasNext !== void 0) this._hasNext = props.hasNext;
|
|
27261
27304
|
this.transformByState({
|
|
27262
|
-
width: this._size * (this._unhideType ===
|
|
27263
|
-
height: this._size * (this._unhideType ===
|
|
27305
|
+
width: this._size * (this._unhideType === 1 ? 2 : 1),
|
|
27306
|
+
height: this._size * (this._unhideType === 0 ? 2 : 1)
|
|
27264
27307
|
});
|
|
27265
27308
|
}
|
|
27266
27309
|
_draw(ctx) {
|
|
27267
|
-
if (this._unhideType ===
|
|
27310
|
+
if (this._unhideType === 0) this._drawOnRow(ctx);
|
|
27268
27311
|
else this._drawOnCol(ctx);
|
|
27269
27312
|
}
|
|
27270
27313
|
_drawOnRow(ctx) {
|
|
@@ -27440,7 +27483,7 @@ let HeaderUnhideRenderController = class HeaderUnhideRenderController extends Rx
|
|
|
27440
27483
|
const hasPrevious = startRow !== 0;
|
|
27441
27484
|
const hasNext = endRow !== rowCount - 1;
|
|
27442
27485
|
return new HeaderUnhideShape(HEADER_UNHIDE_CONTROLLER_SHAPE, {
|
|
27443
|
-
type:
|
|
27486
|
+
type: 0,
|
|
27444
27487
|
hovered: false,
|
|
27445
27488
|
hasPrevious,
|
|
27446
27489
|
hasNext,
|
|
@@ -27459,7 +27502,7 @@ let HeaderUnhideRenderController = class HeaderUnhideRenderController extends Rx
|
|
|
27459
27502
|
const hasPrevious = startColumn !== 0;
|
|
27460
27503
|
const hasNext = endColumn !== colCount - 1;
|
|
27461
27504
|
return new HeaderUnhideShape(HEADER_UNHIDE_CONTROLLER_SHAPE, {
|
|
27462
|
-
type:
|
|
27505
|
+
type: 1,
|
|
27463
27506
|
hovered: false,
|
|
27464
27507
|
hasPrevious,
|
|
27465
27508
|
hasNext,
|
|
@@ -27532,17 +27575,17 @@ const MAIN_AREA_VIEWPORT_KEYS = new Set([
|
|
|
27532
27575
|
SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP
|
|
27533
27576
|
]);
|
|
27534
27577
|
const SELECTION_OBJECT_PREFIXES = [
|
|
27535
|
-
|
|
27536
|
-
|
|
27537
|
-
|
|
27538
|
-
|
|
27539
|
-
|
|
27540
|
-
|
|
27541
|
-
|
|
27542
|
-
|
|
27543
|
-
|
|
27544
|
-
|
|
27545
|
-
|
|
27578
|
+
"__SpreadsheetSelectionShape__",
|
|
27579
|
+
"__SpreadsheetSelectionTopControl__",
|
|
27580
|
+
"__SpreadsheetSelectionBottomControl__",
|
|
27581
|
+
"__SpreadsheetSelectionShapeLeftControl__",
|
|
27582
|
+
"__SpreadsheetSelectionShapeRightControl__",
|
|
27583
|
+
"__SpreadsheetSelectionFillControlTopLeft__",
|
|
27584
|
+
"__SpreadsheetSelectionFillControlBottomRight__",
|
|
27585
|
+
"__SpreadsheetSelectionBackgroundControlTop__",
|
|
27586
|
+
"__SpreadsheetSelectionBackgroundControlMiddleLeft__",
|
|
27587
|
+
"__SpreadsheetSelectionBackgroundControlMiddleRight__",
|
|
27588
|
+
"__SpreadsheetSelectionBackgroundControlBottom__"
|
|
27546
27589
|
];
|
|
27547
27590
|
function isSelectionObjectKey(objectKey) {
|
|
27548
27591
|
return !!objectKey && SELECTION_OBJECT_PREFIXES.some((prefix) => objectKey.startsWith(prefix));
|
|
@@ -27793,12 +27836,12 @@ let MobileHeaderResizeRenderController = class MobileHeaderResizeRenderControlle
|
|
|
27793
27836
|
const scene = this._context.scene;
|
|
27794
27837
|
this._rowResizeButton = new HeaderMenuResizeShape(MOBILE_HEADER_RESIZE_CONTROLLER_SHAPE_ROW, {
|
|
27795
27838
|
visible: false,
|
|
27796
|
-
mode:
|
|
27839
|
+
mode: 1,
|
|
27797
27840
|
zIndex: 100
|
|
27798
27841
|
});
|
|
27799
27842
|
this._columnResizeButton = new HeaderMenuResizeShape(MOBILE_HEADER_RESIZE_CONTROLLER_SHAPE_COLUMN, {
|
|
27800
27843
|
visible: false,
|
|
27801
|
-
mode:
|
|
27844
|
+
mode: 0,
|
|
27802
27845
|
zIndex: 100
|
|
27803
27846
|
});
|
|
27804
27847
|
scene.addObjects([this._rowResizeButton, this._columnResizeButton], 10);
|
|
@@ -29287,7 +29330,7 @@ var MobileSelectionControl = class extends SelectionControl {
|
|
|
29287
29330
|
const stroke = defaultStyle.stroke;
|
|
29288
29331
|
const AutofillStroke = defaultStyle.autofillStroke;
|
|
29289
29332
|
const zIndex = this.zIndex;
|
|
29290
|
-
this._fillControlTopLeft = new Rect(
|
|
29333
|
+
this._fillControlTopLeft = new Rect("__SpreadsheetSelectionFillControlTopLeft__" + zIndex, {
|
|
29291
29334
|
zIndex: zIndex + 2,
|
|
29292
29335
|
width: expandCornerSize,
|
|
29293
29336
|
height: expandCornerSize,
|
|
@@ -29296,7 +29339,7 @@ var MobileSelectionControl = class extends SelectionControl {
|
|
|
29296
29339
|
visualHeight: expandCornerInnerSize,
|
|
29297
29340
|
strokeWidth: AutofillStrokeWidth
|
|
29298
29341
|
});
|
|
29299
|
-
this._fillControlBottomRight = new Rect(
|
|
29342
|
+
this._fillControlBottomRight = new Rect("__SpreadsheetSelectionFillControlBottomRight__" + zIndex, {
|
|
29300
29343
|
zIndex: zIndex + 2,
|
|
29301
29344
|
width: expandCornerSize,
|
|
29302
29345
|
height: expandCornerSize,
|
|
@@ -29436,15 +29479,6 @@ var MobileSelectionControl = class extends SelectionControl {
|
|
|
29436
29479
|
|
|
29437
29480
|
//#endregion
|
|
29438
29481
|
//#region src/services/selection/mobile-selection-render.service.ts
|
|
29439
|
-
var ExpandingControl = /* @__PURE__ */ function(ExpandingControl) {
|
|
29440
|
-
ExpandingControl["BOTTOM_RIGHT"] = "bottom-right";
|
|
29441
|
-
ExpandingControl["TOP_LEFT"] = "top-left";
|
|
29442
|
-
ExpandingControl["LEFT"] = "left";
|
|
29443
|
-
ExpandingControl["RIGHT"] = "right";
|
|
29444
|
-
ExpandingControl["TOP"] = "top";
|
|
29445
|
-
ExpandingControl["BOTTOM"] = "bottom";
|
|
29446
|
-
return ExpandingControl;
|
|
29447
|
-
}(ExpandingControl || {});
|
|
29448
29482
|
let MobileSheetsSelectionRenderService = class MobileSheetsSelectionRenderService extends BaseSelectionRenderService {
|
|
29449
29483
|
constructor(_context, injector, themeService, shortcutService, selectionManagerService, sheetSkeletonManagerService, _logService, _commandService, _contextService, _scrollManagerService) {
|
|
29450
29484
|
super(injector, themeService, shortcutService, sheetSkeletonManagerService, _contextService);
|
|
@@ -29457,7 +29491,7 @@ let MobileSheetsSelectionRenderService = class MobileSheetsSelectionRenderServic
|
|
|
29457
29491
|
_defineProperty(this, "_renderDisposable", null);
|
|
29458
29492
|
_defineProperty(this, "_expandingSelection", false);
|
|
29459
29493
|
_defineProperty(this, "_selectionControls", []);
|
|
29460
|
-
_defineProperty(this, "expandingControlMode",
|
|
29494
|
+
_defineProperty(this, "expandingControlMode", "bottom-right");
|
|
29461
29495
|
_defineProperty(this, "_anchorCellForExpanding", null);
|
|
29462
29496
|
this._workbookSelections = selectionManagerService.getWorkbookSelections(this._context.unitId);
|
|
29463
29497
|
this._init();
|
|
@@ -29667,24 +29701,24 @@ let MobileSheetsSelectionRenderService = class MobileSheetsSelectionRenderServic
|
|
|
29667
29701
|
const { expandingModeForTopLeft, expandingModeForBottomRight } = (() => {
|
|
29668
29702
|
switch (rangeType) {
|
|
29669
29703
|
case RANGE_TYPE.NORMAL: return {
|
|
29670
|
-
expandingModeForTopLeft:
|
|
29671
|
-
expandingModeForBottomRight:
|
|
29704
|
+
expandingModeForTopLeft: "top-left",
|
|
29705
|
+
expandingModeForBottomRight: "bottom-right"
|
|
29672
29706
|
};
|
|
29673
29707
|
case RANGE_TYPE.ROW: return {
|
|
29674
|
-
expandingModeForTopLeft:
|
|
29675
|
-
expandingModeForBottomRight:
|
|
29708
|
+
expandingModeForTopLeft: "top",
|
|
29709
|
+
expandingModeForBottomRight: "bottom"
|
|
29676
29710
|
};
|
|
29677
29711
|
case RANGE_TYPE.COLUMN: return {
|
|
29678
|
-
expandingModeForTopLeft:
|
|
29679
|
-
expandingModeForBottomRight:
|
|
29712
|
+
expandingModeForTopLeft: "left",
|
|
29713
|
+
expandingModeForBottomRight: "right"
|
|
29680
29714
|
};
|
|
29681
29715
|
case RANGE_TYPE.ALL: return {
|
|
29682
|
-
expandingModeForTopLeft:
|
|
29683
|
-
expandingModeForBottomRight:
|
|
29716
|
+
expandingModeForTopLeft: "top-left",
|
|
29717
|
+
expandingModeForBottomRight: "bottom-right"
|
|
29684
29718
|
};
|
|
29685
29719
|
default: return {
|
|
29686
|
-
expandingModeForTopLeft:
|
|
29687
|
-
expandingModeForBottomRight:
|
|
29720
|
+
expandingModeForTopLeft: "top-left",
|
|
29721
|
+
expandingModeForBottomRight: "bottom-right"
|
|
29688
29722
|
};
|
|
29689
29723
|
}
|
|
29690
29724
|
})();
|
|
@@ -29729,7 +29763,8 @@ let MobileSheetsSelectionRenderService = class MobileSheetsSelectionRenderServic
|
|
|
29729
29763
|
const viewportMain = scene.getViewport(SHEET_VIEWPORT_KEY.VIEW_MAIN);
|
|
29730
29764
|
const activeSelectionControl = this.getActiveSelectionControl();
|
|
29731
29765
|
if (!activeSelectionControl) return;
|
|
29732
|
-
|
|
29766
|
+
const anchorCell = this._changeCurrCellWhenControlPointerDown();
|
|
29767
|
+
this._anchorCellForExpanding = anchorCell;
|
|
29733
29768
|
this._selectionMoveStart$.next(this.getSelectionDataWithStyle());
|
|
29734
29769
|
this._clearUpdatingListeners();
|
|
29735
29770
|
this._addEndingListeners();
|
|
@@ -29741,7 +29776,7 @@ let MobileSheetsSelectionRenderService = class MobileSheetsSelectionRenderServic
|
|
|
29741
29776
|
this.endSelection();
|
|
29742
29777
|
this._expandingSelection = false;
|
|
29743
29778
|
this._contextService.setContextValue(MOBILE_EXPANDING_SELECTION, false);
|
|
29744
|
-
this.expandingControlMode =
|
|
29779
|
+
this.expandingControlMode = "bottom-right";
|
|
29745
29780
|
this._selectionMoveEnd$.next(this.getSelectionDataWithStyle());
|
|
29746
29781
|
disposableShortcut.dispose();
|
|
29747
29782
|
});
|
|
@@ -29752,28 +29787,28 @@ let MobileSheetsSelectionRenderService = class MobileSheetsSelectionRenderServic
|
|
|
29752
29787
|
let currCellRange;
|
|
29753
29788
|
const { startRow, startColumn, endRow, endColumn } = activeSelectionControl.model;
|
|
29754
29789
|
switch (this.expandingControlMode) {
|
|
29755
|
-
case
|
|
29790
|
+
case "top-left":
|
|
29756
29791
|
currCellRange = skeleton.getCellWithCoordByIndex(endRow, endColumn);
|
|
29757
29792
|
break;
|
|
29758
|
-
case
|
|
29793
|
+
case "bottom-right":
|
|
29759
29794
|
currCellRange = skeleton.getCellWithCoordByIndex(startRow, startColumn);
|
|
29760
29795
|
break;
|
|
29761
|
-
case
|
|
29796
|
+
case "left":
|
|
29762
29797
|
currCellRange = skeleton.getCellWithCoordByIndex(startRow, endColumn);
|
|
29763
29798
|
currCellRange.isMerged = false;
|
|
29764
29799
|
currCellRange.isMergedMainCell = false;
|
|
29765
29800
|
break;
|
|
29766
|
-
case
|
|
29801
|
+
case "right":
|
|
29767
29802
|
currCellRange = skeleton.getCellWithCoordByIndex(startRow, startColumn);
|
|
29768
29803
|
currCellRange.isMerged = false;
|
|
29769
29804
|
currCellRange.isMergedMainCell = false;
|
|
29770
29805
|
break;
|
|
29771
|
-
case
|
|
29806
|
+
case "top":
|
|
29772
29807
|
currCellRange = skeleton.getCellWithCoordByIndex(endRow, startColumn);
|
|
29773
29808
|
currCellRange.isMerged = false;
|
|
29774
29809
|
currCellRange.isMergedMainCell = false;
|
|
29775
29810
|
break;
|
|
29776
|
-
case
|
|
29811
|
+
case "bottom":
|
|
29777
29812
|
currCellRange = skeleton.getCellWithCoordByIndex(startRow, startColumn);
|
|
29778
29813
|
currCellRange.isMerged = false;
|
|
29779
29814
|
currCellRange.isMergedMainCell = false;
|
|
@@ -30102,8 +30137,8 @@ let SheetContextMenuRenderController = class SheetContextMenuRenderController ex
|
|
|
30102
30137
|
}
|
|
30103
30138
|
});
|
|
30104
30139
|
this.disposeWithMe(spreadsheetSubscription);
|
|
30105
|
-
const spreadsheetColumnHeader = this._context.components.get(
|
|
30106
|
-
const rowHeaderSub = this._context.components.get(
|
|
30140
|
+
const spreadsheetColumnHeader = this._context.components.get("__SpreadsheetColumnHeader__");
|
|
30141
|
+
const rowHeaderSub = this._context.components.get("__SpreadsheetRowHeader__").onPointerDown$.subscribeEvent((event) => {
|
|
30107
30142
|
if (event.button === 2) this._contextMenuService.triggerContextMenu(event, ContextMenuPosition.ROW_HEADER);
|
|
30108
30143
|
});
|
|
30109
30144
|
this.disposeWithMe(rowHeaderSub);
|