@univerjs/sheets-ui 0.8.2-nightly.202506261607 → 0.8.2
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/LICENSE +176 -0
- package/lib/cjs/index.js +9 -9
- package/lib/es/index.js +631 -631
- package/lib/index.js +631 -631
- package/lib/types/services/selection/selection-shape-extension.d.ts +0 -1
- package/lib/umd/index.js +9 -9
- package/package.json +14 -14
- package/lib/cjs/locale/ko-KR.js +0 -1
- package/lib/es/locale/ko-KR.js +0 -454
- package/lib/locale/ko-KR.js +0 -454
- package/lib/types/locale/ko-KR.d.ts +0 -3
- package/lib/umd/locale/ko-KR.js +0 -1
package/lib/es/index.js
CHANGED
|
@@ -2,17 +2,17 @@ var Mp = Object.defineProperty;
|
|
|
2
2
|
var Ep = (r, e, t) => e in r ? Mp(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
|
|
3
3
|
var b = (r, e, t) => Ep(r, typeof e != "symbol" ? e + "" : e, t);
|
|
4
4
|
import { DOCS_VIEW_KEY as Tp, IEditorService as Si, getCanvasOffsetByEngine as su, VIEWPORT_KEY as _s, DOCS_COMPONENT_MAIN_LAYER_INDEX as Pp, DocSelectionRenderService as gr, BreakLineCommand as xp, DeleteLeftCommand as Vh, DeleteRightCommand as Op, ReplaceSnapshotCommand as kh, MoveSelectionOperation as Ap, MoveCursorOperation as Hp, SetInlineFormatBoldCommand as Vp, SetInlineFormatItalicCommand as kp, SetInlineFormatUnderlineCommand as Np, SetInlineFormatStrikethroughCommand as Dp, SetInlineFormatSubscriptCommand as Lp, SetInlineFormatSuperscriptCommand as Wp, SetInlineFormatFontSizeCommand as Bp, SetInlineFormatFontFamilyCommand as Fp, SetInlineFormatTextColorCommand as Nh, SetInlineFormatCommand as Po, convertBodyToHtml as Up, NodePositionConvertToCursor as Dh, getLineBounding as Lh, DOC_VERTICAL_PADDING as Xp, IMEInputCommand as zp, InsertCommand as jp, CoverContentCommand as Yp } from "@univerjs/docs-ui";
|
|
5
|
-
import { CommandType as
|
|
6
|
-
import { IRenderManagerService as Ce, withCurrentTypeOfRenderer as od, SHEET_VIEWPORT_KEY as
|
|
7
|
-
import { useDependency as D, useObservable as ht, KeyCode as Y, ComponentManager as Zt, DISABLE_AUTO_FOCUS_KEY as Su, useEvent as Cu, useSidebarClick as qh, MetaKeys as Se, ISidebarService as wi, useComponentsOfPart as
|
|
5
|
+
import { CommandType as Q, createInterceptorKey as kn, ColorKit as xn, RANGE_TYPE as X, convertCellToRange as bs, UniverInstanceType as x, IUniverInstanceService as N, Quantity as uc, Disposable as oe, toDisposable as We, Tools as le, createIdentifier as jt, InterceptorManager as Ci, ThemeService as At, Inject as k, Injector as bt, IConfigService as nn, generateRandomId as xo, ObjectMatrix as Ge, Direction as F, isFormulaString as ed, isFormulaId as Zp, CellValueType as Mt, numfmt as $t, ICommandService as L, IUndoRedoService as Yt, Rectangle as ae, sequenceExecute as Oo, IContextService as ke, DOCS_NORMAL_EDITOR_UNIT_ID_KEY as Le, EDITOR_ACTIVATED as Je, FOCUSING_EDITOR_STANDALONE as yl, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY as De, Workbook as Gp, Optional as td, FOCUSING_SHEET as Ht, RxDisposable as Nn, DisposableCollection as gt, IPermissionService as rt, fromEventSubject as Rs, sortRules as qp, LocaleService as Pe, getReverseDirection as Wh, FOCUSING_FX_BAR_EDITOR as Ot, BooleanNumber as Qe, nameCharacterCheck as Kp, throttle as Qp, debounce as hc, VerticalAlign as dn, HorizontalAlign as Rt, WrapStrategy as mr, FOCUSING_UNIVER_EDITOR as yr, FOCUSING_COMMON_DRAWINGS as Ml, FOCUSING_EDITOR_INPUT_FORMULA as Is, LocaleType as lu, FOCUSING_EDITOR_BUT_HIDDEN as gc, DEFAULT_EMPTY_DOCUMENT_VALUE as Bh, LRUMap as Jp, BaselineOffset as au, DataStreamTreeTokenType as $p, skipParseTagNames as ev, CustomRangeType as nd, DEFAULT_WORKSHEET_ROW_HEIGHT as mc, ILogService as El, ErrorService as tv, CellModeEnum as Fh, isNotNullOrUndefined as nv, extractPureTextFromCell as Uh, UserManagerService as Dt, DEFAULT_STYLES as rd, FontWeight as $o, FontItalic as es, composeStyles as rv, get as wa, Dimension as Xh, BorderStyleTypes as Ae, AbsoluteRefType as cu, NilCommand as id, UndoCommandId as iv, willLoseNumericPrecision as ov, Range as gs, cellToRange as sv, handleStyleToString as du, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY as uu, DEFAULT_WORKSHEET_COLUMN_WIDTH as hu, PresetListType as lv, isRealNum as zh, InterceptorEffectEnum as av, splitIntoGrid as cv, IAuthzIoService as Tl, isValidRange as dv, dayjs as gu, BuildTextUtils as uv, DependentOn as jh, Plugin as Yh, DocumentFlavor as hv, set as gv, merge as mv, registerDependencies as mu, mergeOverrideWithDependencies as fv, touchDependencies as _a } from "@univerjs/core";
|
|
6
|
+
import { IRenderManagerService as Ce, withCurrentTypeOfRenderer as od, SHEET_VIEWPORT_KEY as U, CURSOR_TYPE as ye, Vector2 as Ve, Rect as we, ScrollTimer as Gr, ScrollTimerType as yt, DashedRect as pv, Group as ba, TRANSFORM_CHANGE_OBSERVABLE_TYPE as fc, cancelRequestFrame as vv, requestNewFrame as Sv, FIX_ONE_PIXEL_BLUR_OFFSET as Cv, Layer as wv, SpreadsheetSkeleton as _v, DeviceInputEventType as ze, convertTransformToOffsetX as Ur, convertTransformToOffsetY as Xr, convertTextRotation as sd, RENDER_RAW_FORMULA_KEY as bv, Spreadsheet as Zh, getCurrentTypeOfRenderer as Pl, RENDER_CLASS_TYPE as Rv, ScrollBar as ld, fixLineWidthByScale as fu, ptToPixel as pu, Shape as ad, SHEET_EXTENSION_PREFIX as vu, SpreadsheetRowHeader as Iv, SpreadsheetColumnHeader as yv, Viewport as Cn, hasCJKText as Mv, DEFAULT_PADDING_DATA as Ev, SheetExtension as Gh, RegularPolygon as Ui, precisionTo as Zn } from "@univerjs/engine-render";
|
|
7
|
+
import { useDependency as D, useObservable as ht, KeyCode as Y, ComponentManager as Zt, DISABLE_AUTO_FOCUS_KEY as Su, useEvent as Cu, useSidebarClick as qh, MetaKeys as Se, ISidebarService as wi, useComponentsOfPart as Kh, ComponentContainer as Qh, IConfirmService as rn, useConfigValue as xl, UI_PLUGIN_CONFIG_KEY as cd, UIMenu as Tv, ContextMenuPosition as Ct, Slider as Pv, IMessageService as Jh, IClipboardInterfaceService as Ol, IMenuManagerService as dd, ToolbarItem as xv, ILayoutService as Al, DEFAULT_BACKGROUND_COLOR_RGB as Ov, DEFAULT_BACKGROUND_COLOR_RGBA as Av, handleStringToStyle as Hv, textTrim as wu, INotificationService as Vv, IPlatformService as kv, PLAIN_TEXT_CLIPBOARD_MIME_TYPE as _u, HTML_CLIPBOARD_MIME_TYPE as bu, imageMimeTypeSet as Nv, FILE__BMP_CLIPBOARD_MIME_TYPE as Dv, FILE__WEBP_CLIPBOARD_MIME_TYPE as Lv, FILE__JPEG_CLIPBOARD_MIME_TYPE as Wv, FILE_PNG_CLIPBOARD_MIME_TYPE as Bv, CopyCommand as Fv, CutCommand as Uv, PasteCommand as Xv, SheetPasteShortKeyCommandName as zv, IContextMenuService as Hl, getMenuHiddenObservable as ue, MenuItemType as J, COLOR_PICKER_COMPONENT as ud, FONT_SIZE_LIST as jv, FONT_SIZE_COMPONENT as Yv, FONT_FAMILY_LIST as Zv, FONT_FAMILY_COMPONENT as Gv, FONT_FAMILY_ITEM_COMPONENT as qv, IDialogService as Ao, ICanvasPopupService as Kv, ContextMenuGroup as Ke, RibbonPosition as Qv, RibbonStartGroup as ts, IShortcutService as Vl, IUIPartsService as kl, BuiltInUIPart as Zi, connectInjector as qr, IZenZoneService as $h, RectPopup as Jv, UniverMobileUIPlugin as $v } from "@univerjs/ui";
|
|
8
8
|
import { forwardRef as dt, useRef as Tn, createElement as st, useState as re, useMemo as wt, useEffect as Me, useCallback as On, useLayoutEffect as eS } from "react";
|
|
9
9
|
import { BehaviorSubject as Ee, Subject as xe, of as Ie, merge as St, map as Be, startWith as xt, switchMap as at, takeUntil as ri, distinctUntilChanged as un, throttleTime as ys, EMPTY as Ru, filter as Ho, combineLatest as ct, combineLatestWith as rr, Observable as je, Subscription as qn, withLatestFrom as tS, shareReplay as Iu } from "rxjs";
|
|
10
|
-
import { SELECTION_CONTROL_BORDER_BUFFER_WIDTH as Ms, SELECTION_CONTROL_BORDER_BUFFER_COLOR as ns, SELECTIONS_ENABLED as zr, REF_SELECTIONS_ENABLED as to, SheetSkeletonService as nS, SheetsSelectionsService as $, SheetInterceptorService as vn, MarkDirtyRowAutoHeightMutation as eg, CancelMarkDirtyRowAutoHeightMutation as tg, getSheetCommandTarget as Ue, SetWorksheetRowAutoHeightMutationFactory as ng, SetWorksheetRowAutoHeightMutation as Jn, rangeToDiscreteRange as Gi, SetSelectionsOperation as Te, SetRangeValuesMutation as be, generateNullCellValue as rS, SetRangeValuesUndoMutationFactory as en, BEFORE_CELL_EDIT as iS, SetRangeValuesCommand as Nl, SetWorksheetActiveOperation as nt, MoveRangeMutation as $n, RemoveRowMutation as Vo, RemoveColMutation as ko, InsertRowMutation as No, InsertColMutation as Do, MoveRowsMutation as Dl, MoveColsMutation as Ll, SetWorksheetColWidthMutation as an, SetWorksheetRowHeightMutation as no, RemoveSheetMutation as An, RemoveMergeUndoMutationFactory as Wl, RemoveWorksheetMergeMutation as
|
|
11
|
-
import { DocSkeletonManagerService as
|
|
12
|
-
import { IDefinedNamesService as Uo, FUNCTION_NAMES_STATISTICAL as Xe, FUNCTION_NAMES_MATH as Xl, FUNCTION_NAMES_TEXT as eC, sequenceNodeType as Ra, matchToken as zg, LexerTreeBuilder as jg, IFunctionService as Yg, SetFormulaCalculationNotificationMutation as tC, operatorToken as Fr, isReferenceStrings as Zg, isReferenceStringWithEffectiveColumn as nC, serializeRangeWithSheet as Gg, NullValueObject as Tu, serializeRange as qg, deserializeRangeWithSheet as
|
|
10
|
+
import { SELECTION_CONTROL_BORDER_BUFFER_WIDTH as Ms, SELECTION_CONTROL_BORDER_BUFFER_COLOR as ns, SELECTIONS_ENABLED as zr, REF_SELECTIONS_ENABLED as to, SheetSkeletonService as nS, SheetsSelectionsService as $, SheetInterceptorService as vn, MarkDirtyRowAutoHeightMutation as eg, CancelMarkDirtyRowAutoHeightMutation as tg, getSheetCommandTarget as Ue, SetWorksheetRowAutoHeightMutationFactory as ng, SetWorksheetRowAutoHeightMutation as Jn, rangeToDiscreteRange as Gi, SetSelectionsOperation as Te, SetRangeValuesMutation as be, generateNullCellValue as rS, SetRangeValuesUndoMutationFactory as en, BEFORE_CELL_EDIT as iS, SetRangeValuesCommand as Nl, SetWorksheetActiveOperation as nt, MoveRangeMutation as $n, RemoveRowMutation as Vo, RemoveColMutation as ko, InsertRowMutation as No, InsertColMutation as Do, MoveRowsMutation as Dl, MoveColsMutation as Ll, SetWorksheetColWidthMutation as an, SetWorksheetRowHeightMutation as no, RemoveSheetMutation as An, RemoveMergeUndoMutationFactory as Wl, RemoveWorksheetMergeMutation as Kt, AddWorksheetMergeMutation as Qt, getAddMergeMutationRangeByType as Bl, AddMergeUndoMutationFactory as Fl, WorkbookEditablePermission as K, WorksheetEditPermission as te, UnitAction as ro, alignToMergedCellsBorders as En, getSelectionsService as Lo, SelectionMoveType as Ut, getCellAtRowCol as ms, expandToContinuousRange as oS, ScrollToCellOperation as hd, SetWorksheetShowCommand as gd, WorksheetProtectionRuleModel as ft, RangeProtectionRuleModel as $e, RangeProtectionCache as Wo, WorksheetViewPermission as rg, SetWorksheetOrderMutation as md, InsertSheetMutation as Mr, SetWorksheetNameMutation as fd, SetWorksheetHideMutation as er, SetWorksheetActivateCommand as pd, WorkbookManageCollaboratorPermission as ig, WorkbookRenameSheetPermission as og, SetWorksheetOrderCommand as sS, SetWorksheetNameCommand as lS, SetTabColorMutation as aS, WorkbookCreateSheetPermission as sg, InsertSheetCommand as cS, ClearSelectionFormatCommand as qi, COMMAND_LISTENER_SKELETON_CHANGE as Es, adjustRangeOnMutation as dS, getPrimaryForRange as lg, SetRowHiddenCommand as ag, SetColHiddenCommand as cg, SetBoldCommand as vd, SetItalicCommand as Sd, SetUnderlineCommand as Cd, SetStrikeThroughCommand as wd, SetFontSizeCommand as _d, SetFontFamilyCommand as bd, SetTextColorCommand as dg, SetFrozenMutationFactory as ug, SetFrozenMutation as fr, RangeProtectionPermissionEditPoint as ie, IExclusiveRangeService as uS, CancelFrozenCommand as fs, SetWorksheetRowIsAutoHeightCommand as Rd, WorksheetSetRowStylePermission as Er, SetRowHeightCommand as hg, SetRowHiddenMutation as gg, SetRowVisibleMutation as mg, SetSelectedRowsVisibleCommand as fg, WorksheetSetCellStylePermission as Ze, WorksheetSetCellValuePermission as qt, WorksheetSetColumnStylePermission as Tr, SetColWidthCommand as pg, SetColHiddenMutation as vg, SetColVisibleMutation as Sg, SetSelectedColsVisibleCommand as Cg, SetTextRotationCommand as pc, SetTextWrapCommand as vc, SetVerticalTextAlignCommand as Sc, SetHorizontalTextAlignCommand as Cc, ResetBackgroundColorCommand as wg, SetBackgroundColorCommand as Ts, WorksheetCopyPermission as Ps, RangeProtectionPermissionViewPoint as wc, WorkbookCopyPermission as Xi, SetWorksheetRowIsAutoHeightMutation as hS, SetFrozenCommand as gS, InsertRangeMoveDownCommand as _c, InsertRangeMoveRightCommand as bc, InsertRowCommand as mS, InsertColCommand as fS, MoveColsCommand as _g, MoveRowsCommand as bg, RemoveColCommand as Rg, RemoveRowCommand as Ig, MergeCellController as pS, MERGE_CELL_INTERCEPTOR_CHECK as vS, DeltaRowHeightCommand as SS, DeltaColumnWidthCommand as CS, COMMAND_LISTENER_VALUE_CHANGE as wS, AddMergeRedoSelectionsOperationFactory as _S, AddMergeUndoSelectionsOperationFactory as bS, DeleteRangeMoveLeftCommand as yu, DeleteRangeMoveUpCommand as Mu, EditStateEnum as cn, ViewStateEnum as ii, UnitObject as Vt, DeleteWorksheetProtectionCommand as xs, DeleteRangeProtectionMutation as Eu, AddRangeProtectionMutation as RS, RemoveSheetCommand as IS, AddWorksheetProtectionCommand as yg, BorderStyleManagerService as Rc, RefRangeService as yS, IRefSelectionsService as Id, SCOPE_WORKBOOK_VALUE_DEFINED_NAME as Ic, InsertDefinedNameCommand as MS, SetDefinedNameCommand as ES, RemoveDefinedNameCommand as TS, SetBorderBasicCommand as yc, ClearSelectionAllCommand as zi, ClearSelectionContentCommand as pr, WorksheetDeleteRowPermission as PS, WorksheetDeleteColumnPermission as xS, ToggleGridlinesCommand as Mg, ToggleGridlinesMutation as OS, InsertMultiRowsAfterCommand as Eg, WorksheetInsertRowPermission as Bo, InsertMultiRowsAboveCommand as Tg, InsertMultiColsRightCommand as Pg, InsertMultiColsLeftCommand as xg, InsertColBeforeCommand as Og, WorksheetInsertColumnPermission as Ag, InsertRowBeforeCommand as Hg, RemoveWorksheetMergeCommand as Vg, WorkbookCreateProtectPermission as Ul, WorksheetDeleteProtectionPermission as kg, WorksheetManageCollaboratorPermission as AS, SetWorksheetHideCommand as Ng, SetTabColorCommand as Dg, CopySheetCommand as Lg, WorkbookDeleteSheetPermission as HS, WorkbookHideSheetPermission as Wg, AddWorksheetMergeCommand as VS, AddWorksheetMergeHorizontalCommand as kS, AddWorksheetMergeVerticalCommand as NS, AddWorksheetMergeAllCommand as DS, ResetTextColorCommand as LS, MoveRangeCommand as Bg, MAX_CELL_PER_SHEET_KEY as WS, INTERCEPTOR_POINT as BS, SheetPermissionCheckController as yd, INumfmtService as FS, SetProtectionCommand as US, AddRangeProtectionCommand as XS, setEndForRange as zS, baseProtectionActions as jS, DeleteRangeProtectionCommand as YS, WorksheetProtectionPointModel as ZS, SetWorksheetPermissionPointsCommand as GS, getAllWorksheetPermissionPoint as qS, convertSelectionDataToRange as Fg, UniverSheetsPlugin as Ug, RefSelectionsService as Xg, ToggleCellCheckboxCommand as KS, SheetPermissionInitController as QS, SetSpecificRowsVisibleCommand as JS, SetSpecificColsVisibleCommand as $S } from "@univerjs/sheets";
|
|
11
|
+
import { DocSkeletonManagerService as Kn, DocSelectionManagerService as Md, RichTextEditingMutation as io, SetTextSelectionsOperation as Fo } from "@univerjs/docs";
|
|
12
|
+
import { IDefinedNamesService as Uo, FUNCTION_NAMES_STATISTICAL as Xe, FUNCTION_NAMES_MATH as Xl, FUNCTION_NAMES_TEXT as eC, sequenceNodeType as Ra, matchToken as zg, LexerTreeBuilder as jg, IFunctionService as Yg, SetFormulaCalculationNotificationMutation as tC, operatorToken as Fr, isReferenceStrings as Zg, isReferenceStringWithEffectiveColumn as nC, serializeRangeWithSheet as Gg, NullValueObject as Tu, serializeRange as qg, deserializeRangeWithSheet as Kg } from "@univerjs/engine-formula";
|
|
13
13
|
import { isTextFormat as zl } from "@univerjs/engine-numfmt";
|
|
14
14
|
import { jsx as w, jsxs as q, Fragment as tr } from "react/jsx-runtime";
|
|
15
|
-
import { DropdownMenu as Ed, clsx as He, borderClassName as _i, borderBottomClassName as Td, scrollbarClassName as jl, borderRightClassName as Pd, Dropdown as Mc, Button as zt, DropdownLegacy as rC, Tooltip as Yn, MessageType as
|
|
15
|
+
import { DropdownMenu as Ed, clsx as He, borderClassName as _i, borderBottomClassName as Td, scrollbarClassName as jl, borderRightClassName as Pd, Dropdown as Mc, Button as zt, DropdownLegacy as rC, Tooltip as Yn, MessageType as Qg, InputNumber as iC, Separator as oC, ColorPicker as Jg, Input as Os, RadioGroup as Ec, Radio as jr, Select as $g, Confirm as sC, FormLayout as As, Avatar as xd, Switch as lC, CascaderList as aC, DatePanel as cC, borderTopClassName as dC } from "@univerjs/design";
|
|
16
16
|
import { startWith as Ia, shareReplay as Pu, switchMap as Pn, map as pn, debounceTime as Yl, filter as em } from "rxjs/operators";
|
|
17
17
|
import { ITelemetryService as uC } from "@univerjs/telemetry";
|
|
18
18
|
function Od(r, e) {
|
|
@@ -33,7 +33,7 @@ const Tc = [10, 400], tm = "RANGE_SELECTOR_COMPONENT_KEY", Ad = "EMBEDDING_FORMU
|
|
|
33
33
|
var Ye = /* @__PURE__ */ ((r) => (r.MAIN = "__SpreadsheetRender__", r.ROW = "__SpreadsheetRowHeader__", r.COLUMN = "__SpreadsheetColumnHeader__", r.LEFT_TOP = "__SpreadsheetLeftTopPlaceholder__", r))(Ye || {});
|
|
34
34
|
const xu = 0, Hs = 1, nr = 10, hC = 11, Ou = 12, Hd = {
|
|
35
35
|
id: "sheet.command.set-row-header-width",
|
|
36
|
-
type:
|
|
36
|
+
type: Q.COMMAND,
|
|
37
37
|
handler: async (r, e) => {
|
|
38
38
|
if (!e)
|
|
39
39
|
return !1;
|
|
@@ -50,7 +50,7 @@ const xu = 0, Hs = 1, nr = 10, hC = 11, Ou = 12, Hd = {
|
|
|
50
50
|
}
|
|
51
51
|
}, Vd = {
|
|
52
52
|
id: "sheet.command.set-col-header-height",
|
|
53
|
-
type:
|
|
53
|
+
type: Q.COMMAND,
|
|
54
54
|
handler: async (r, e) => {
|
|
55
55
|
if (!e)
|
|
56
56
|
return !1;
|
|
@@ -316,18 +316,18 @@ class fC {
|
|
|
316
316
|
startColumn: -1
|
|
317
317
|
};
|
|
318
318
|
switch (t.viewportKey) {
|
|
319
|
-
case
|
|
319
|
+
case U.VIEW_MAIN:
|
|
320
320
|
return e.endRow >= n.startRow && e.endColumn >= n.startColumn;
|
|
321
|
-
case
|
|
322
|
-
case
|
|
321
|
+
case U.VIEW_MAIN_TOP:
|
|
322
|
+
case U.VIEW_COLUMN_RIGHT:
|
|
323
323
|
return e.endColumn >= n.startColumn && e.startRow < n.startRow;
|
|
324
|
-
case
|
|
325
|
-
case
|
|
324
|
+
case U.VIEW_MAIN_LEFT:
|
|
325
|
+
case U.VIEW_ROW_BOTTOM:
|
|
326
326
|
return e.endRow >= n.startRow && e.startColumn < n.startColumn;
|
|
327
|
-
case
|
|
328
|
-
case
|
|
329
|
-
case
|
|
330
|
-
case
|
|
327
|
+
case U.VIEW_MAIN_LEFT_TOP:
|
|
328
|
+
case U.VIEW_COLUMN_LEFT:
|
|
329
|
+
case U.VIEW_ROW_TOP:
|
|
330
|
+
case U.VIEW_LEFT_TOP:
|
|
331
331
|
return e.startRow < n.startRow && e.startColumn < n.startColumn;
|
|
332
332
|
}
|
|
333
333
|
}
|
|
@@ -403,7 +403,7 @@ class fC {
|
|
|
403
403
|
stroke: S.stroke,
|
|
404
404
|
strokeWidth: S.strokeWidth / I
|
|
405
405
|
}), i.addObject(this._helperSelection));
|
|
406
|
-
const R = i.getViewport(
|
|
406
|
+
const R = i.getViewport(U.VIEW_MAIN), y = Gr.create(i);
|
|
407
407
|
this._scrollTimer = y, y.startScroll(s, l, R), i.disableObjectsEvent(), this._scenePointerMoveSub = i.onPointerMove$.subscribeEvent((M) => {
|
|
408
408
|
var O;
|
|
409
409
|
if (this._disabled)
|
|
@@ -478,7 +478,7 @@ class fC {
|
|
|
478
478
|
endColumn: h
|
|
479
479
|
} = this._control.model, g = Math.min(c, u), m = Math.min(d, h), f = Math.max(c, u), v = Math.max(d, h);
|
|
480
480
|
this._relativeSelectionPositionRow = g, this._relativeSelectionPositionColumn = m, this._relativeSelectionRowLength = f - g, this._relativeSelectionColumnLength = v - m, t === ye.NORTH_WEST_RESIZE ? (this._relativeSelectionPositionRow = f, this._relativeSelectionPositionColumn = v) : t === ye.NORTH_RESIZE ? this._relativeSelectionPositionRow = f : t === ye.NORTH_EAST_RESIZE ? this._relativeSelectionPositionRow = f : t === ye.WEST_RESIZE ? this._relativeSelectionPositionColumn = v : t === ye.SOUTH_WEST_RESIZE ? this._relativeSelectionPositionColumn = v : t === ye.SOUTH_RESIZE && (this._relativeSelectionPositionRow = g);
|
|
481
|
-
const p = Gr.create(n), C = n.getViewport(
|
|
481
|
+
const p = Gr.create(n), C = n.getViewport(U.VIEW_MAIN);
|
|
482
482
|
p.startScroll(l, a, C), this._scrollTimer = p, n.disableObjectsEvent(), this._scenePointerMoveSub = n.onPointerMove$.subscribeEvent((_) => {
|
|
483
483
|
const { offsetX: S, offsetY: I } = _, { x: R, y } = n.getCoordRelativeToViewport(
|
|
484
484
|
Ve.FromArray([S, I])
|
|
@@ -583,7 +583,6 @@ class fC {
|
|
|
583
583
|
endColumn: v
|
|
584
584
|
}, this._control.selectionFilling$.next(this._targetSelection);
|
|
585
585
|
}
|
|
586
|
-
// eslint-disable-next-line max-lines-per-function
|
|
587
586
|
_autoFillForPointerdown(e) {
|
|
588
587
|
const { offsetX: t, offsetY: n } = e, i = this._scene, o = i.getCoordRelativeToViewport(Ve.FromArray([t, n])), { x: s, y: l } = o;
|
|
589
588
|
this._startOffsetX = s, this._startOffsetY = l;
|
|
@@ -605,9 +604,9 @@ class fC {
|
|
|
605
604
|
stroke: C,
|
|
606
605
|
strokeWidth: m + p / 2
|
|
607
606
|
}), i.addObject(this._helperSelection)), this._activeViewport = i.getActiveViewportByCoord(Ve.FromArray([t, n]));
|
|
608
|
-
const _ = i.getViewport(
|
|
607
|
+
const _ = i.getViewport(U.VIEW_MAIN), S = Gr.create(
|
|
609
608
|
i,
|
|
610
|
-
this._activeViewport.viewportKey ===
|
|
609
|
+
this._activeViewport.viewportKey === U.VIEW_MAIN ? yt.ALL : yt.NONE
|
|
611
610
|
);
|
|
612
611
|
S.startScroll(s, l, _), this._scrollTimer = S, i.disableObjectsEvent(), this._controlHandler((I) => {
|
|
613
612
|
this._fillControlColors.push(I.fill);
|
|
@@ -623,21 +622,21 @@ class fC {
|
|
|
623
622
|
const A = this._targetSelection;
|
|
624
623
|
if (_ && M && ((H = this._activeViewport) == null ? void 0 : H.viewportKey) !== (M == null ? void 0 : M.viewportKey)) {
|
|
625
624
|
let O;
|
|
626
|
-
A.startRow !== a ? (S.scrollTimerType =
|
|
625
|
+
A.startRow !== a ? (S.scrollTimerType = yt.Y, O = {
|
|
627
626
|
...A,
|
|
628
627
|
endRow: A.startRow
|
|
629
|
-
}) : A.endRow !== d ? (S.scrollTimerType =
|
|
628
|
+
}) : A.endRow !== d ? (S.scrollTimerType = yt.Y, O = {
|
|
630
629
|
...A,
|
|
631
630
|
startRow: A.endRow
|
|
632
|
-
}) : A.startColumn !== c ? (S.scrollTimerType =
|
|
631
|
+
}) : A.startColumn !== c ? (S.scrollTimerType = yt.X, O = {
|
|
633
632
|
...A,
|
|
634
633
|
endColumn: A.startColumn
|
|
635
|
-
}) : (S.scrollTimerType =
|
|
634
|
+
}) : (S.scrollTimerType = yt.X, O = {
|
|
636
635
|
...A,
|
|
637
636
|
startColumn: A.endColumn
|
|
638
|
-
}), this._isSelectionInViewport(O, M) && (
|
|
639
|
-
x: S.scrollTimerType ===
|
|
640
|
-
y: S.scrollTimerType ===
|
|
637
|
+
}), this._isSelectionInViewport(O, M) && (_.scrollToBarPos({
|
|
638
|
+
x: S.scrollTimerType === yt.X ? 0 : void 0,
|
|
639
|
+
y: S.scrollTimerType === yt.Y ? 0 : void 0
|
|
641
640
|
}), this._activeViewport = M);
|
|
642
641
|
}
|
|
643
642
|
S.scrolling(T, P, () => {
|
|
@@ -654,9 +653,6 @@ class fC {
|
|
|
654
653
|
}), this._fillControlColors = [];
|
|
655
654
|
});
|
|
656
655
|
}
|
|
657
|
-
_viewportMainScrollBarNeedResetPosition(e, t, n) {
|
|
658
|
-
return e === bt.X && (t === F.VIEW_MAIN_LEFT || t === F.VIEW_MAIN_LEFT_TOP) && (n === F.VIEW_MAIN || n === F.VIEW_MAIN_TOP) || e === bt.Y && (t === F.VIEW_MAIN_TOP || t === F.VIEW_MAIN_LEFT_TOP) && (n === F.VIEW_MAIN || n === F.VIEW_MAIN_LEFT);
|
|
659
|
-
}
|
|
660
656
|
_hasMergeInRange(e, t, n, i) {
|
|
661
657
|
return this._skeleton.worksheet.getMergedCellRange(e, t, n, i).length > 0;
|
|
662
658
|
}
|
|
@@ -1566,15 +1562,15 @@ class rm extends oe {
|
|
|
1566
1562
|
return null;
|
|
1567
1563
|
const i = this._getFreeze();
|
|
1568
1564
|
if (!i || i.startRow <= 0 && i.startColumn <= 0)
|
|
1569
|
-
return this._scene.getViewport(
|
|
1565
|
+
return this._scene.getViewport(U.VIEW_MAIN);
|
|
1570
1566
|
if (t > i.startRow && n > i.startColumn)
|
|
1571
|
-
return this._scene.getViewport(
|
|
1567
|
+
return this._scene.getViewport(U.VIEW_MAIN);
|
|
1572
1568
|
if (t <= i.startRow && n <= i.startColumn)
|
|
1573
|
-
return this._scene.getViewport(
|
|
1569
|
+
return this._scene.getViewport(U.VIEW_MAIN_LEFT_TOP);
|
|
1574
1570
|
if (t <= i.startRow && n > i.startColumn)
|
|
1575
|
-
return this._scene.getViewport(
|
|
1571
|
+
return this._scene.getViewport(U.VIEW_MAIN_TOP);
|
|
1576
1572
|
if (t > i.startRow && n <= i.startColumn)
|
|
1577
|
-
return this._scene.getViewport(
|
|
1573
|
+
return this._scene.getViewport(U.VIEW_MAIN_LEFT);
|
|
1578
1574
|
}
|
|
1579
1575
|
/**
|
|
1580
1576
|
* Returns the selected range in the active sheet, or null if there is no active range. If multiple ranges are selected this method returns only the last selected range.
|
|
@@ -1625,7 +1621,7 @@ class rm extends oe {
|
|
|
1625
1621
|
* @param moveStartPosY
|
|
1626
1622
|
*/
|
|
1627
1623
|
// eslint-disable-next-line max-lines-per-function
|
|
1628
|
-
_setupPointerMoveListener(t, n, i, o =
|
|
1624
|
+
_setupPointerMoveListener(t, n, i, o = yt.ALL, s, l) {
|
|
1629
1625
|
var m, f;
|
|
1630
1626
|
let a = 0, c = 0, d = s, u = l;
|
|
1631
1627
|
this._scrollTimer = Gr.create(this._scene, o), this._scrollTimer.startScroll((m = t == null ? void 0 : t.left) != null ? m : 0, (f = t == null ? void 0 : t.top) != null ? f : 0, t);
|
|
@@ -1639,7 +1635,7 @@ class rm extends oe {
|
|
|
1639
1635
|
if ((() => {
|
|
1640
1636
|
if (!g || !T || !t)
|
|
1641
1637
|
return !1;
|
|
1642
|
-
const ce = [
|
|
1638
|
+
const ce = [U.VIEW_MAIN, U.VIEW_MAIN_LEFT_TOP, U.VIEW_MAIN_TOP, U.VIEW_MAIN_LEFT];
|
|
1643
1639
|
return ce.includes(g.viewportKey) && ce.includes(T.viewportKey);
|
|
1644
1640
|
})()) {
|
|
1645
1641
|
if (!g || !T || !t)
|
|
@@ -1647,17 +1643,17 @@ class rm extends oe {
|
|
|
1647
1643
|
const ce = d < t.left && _ > t.left || d > t.left && _ < t.left, ge = u < t.top && S > t.top || u > t.top && S < t.top;
|
|
1648
1644
|
ce && (a += 1), ge && (c += 1);
|
|
1649
1645
|
const se = g.viewportKey, _e = T.viewportKey;
|
|
1650
|
-
if (se ===
|
|
1646
|
+
if (se === U.VIEW_ROW_TOP)
|
|
1651
1647
|
C < t.top && ((H = E == null ? void 0 : E.endRow) != null ? H : 0) < ((O = M == null ? void 0 : M.startRow) != null ? O : 0) ? R = t.top : ge && c % 2 === 1 && t.scrollToViewportPos({
|
|
1652
1648
|
viewportScrollY: 0
|
|
1653
1649
|
});
|
|
1654
|
-
else if (se ===
|
|
1650
|
+
else if (se === U.VIEW_COLUMN_LEFT)
|
|
1655
1651
|
p < t.left && ((V = E == null ? void 0 : E.endColumn) != null ? V : 0) < ((W = M == null ? void 0 : M.startColumn) != null ? W : 0) ? I = t.left : ce && a % 2 === 1 && t.scrollToViewportPos({
|
|
1656
1652
|
viewportScrollX: 0
|
|
1657
1653
|
});
|
|
1658
1654
|
else if (se === _e) {
|
|
1659
1655
|
let G = !1, ee = !1;
|
|
1660
|
-
se ===
|
|
1656
|
+
se === U.VIEW_MAIN_LEFT_TOP ? (G = !0, ee = !0) : se === U.VIEW_MAIN_TOP ? ee = !0 : se === U.VIEW_MAIN_LEFT && (G = !0), ((j = E == null ? void 0 : E.endRow) != null ? j : 0) > ((B = M == null ? void 0 : M.startRow) != null ? B : 0) && (ee = !1), ((z = E == null ? void 0 : E.endColumn) != null ? z : 0) > ((Z = M == null ? void 0 : M.startColumn) != null ? Z : 0) && (G = !1), G && (I = t.left), ee && (R = t.top);
|
|
1661
1657
|
} else {
|
|
1662
1658
|
const G = {
|
|
1663
1659
|
x: g.scrollX,
|
|
@@ -1669,7 +1665,7 @@ class rm extends oe {
|
|
|
1669
1665
|
(ne || ve) && (t.scrollToBarPos({
|
|
1670
1666
|
x: ne ? G.x : void 0,
|
|
1671
1667
|
y: ve ? G.y : void 0
|
|
1672
|
-
}), ne || (I = t.left), ve || (R = t.top)), (se ===
|
|
1668
|
+
}), ne || (I = t.left), ve || (R = t.top)), (se === U.VIEW_MAIN_LEFT_TOP && _e === U.VIEW_MAIN_LEFT || _e === U.VIEW_MAIN_LEFT_TOP && se === U.VIEW_MAIN_LEFT) && (I = t.left), (se === U.VIEW_MAIN_LEFT_TOP && _e === U.VIEW_MAIN_TOP || _e === U.VIEW_MAIN_LEFT_TOP && se === U.VIEW_MAIN_TOP) && (R = t.top);
|
|
1673
1669
|
}
|
|
1674
1670
|
d = _, u = S;
|
|
1675
1671
|
}
|
|
@@ -1693,7 +1689,7 @@ class rm extends oe {
|
|
|
1693
1689
|
return this.getCellWithCoordByOffset(t, n);
|
|
1694
1690
|
}
|
|
1695
1691
|
getCellWithCoordByOffset(t, n, i) {
|
|
1696
|
-
const o = this._scene, s = i != null ? i : this._skeleton, l = o.getViewportScrollXY(o.getViewport(
|
|
1692
|
+
const o = this._scene, s = i != null ? i : this._skeleton, l = o.getViewportScrollXY(o.getViewport(U.VIEW_MAIN)), { scaleX: a, scaleY: c } = o.getAncestorScale();
|
|
1697
1693
|
return s.getCellWithCoordByOffset(t, n, a, c, l);
|
|
1698
1694
|
}
|
|
1699
1695
|
/**
|
|
@@ -1706,7 +1702,7 @@ class rm extends oe {
|
|
|
1706
1702
|
endRow: (R = i == null ? void 0 : i.model.endRow) != null ? R : -1,
|
|
1707
1703
|
startColumn: (y = i == null ? void 0 : i.model.startColumn) != null ? y : -1,
|
|
1708
1704
|
endColumn: (M = i == null ? void 0 : i.model.endColumn) != null ? M : -1
|
|
1709
|
-
}, u = l.getViewport(
|
|
1705
|
+
}, u = l.getViewport(U.VIEW_MAIN), h = (E = this._getViewportByCell(d.endRow, d.endColumn)) != null ? E : u, g = l.getScrollXYInfoByViewport(
|
|
1710
1706
|
Ve.FromArray([this._startViewportPosX, this._startViewportPosY]),
|
|
1711
1707
|
h
|
|
1712
1708
|
), { scaleX: m, scaleY: f } = l.getAncestorScale();
|
|
@@ -2027,15 +2023,15 @@ let he = class extends oe {
|
|
|
2027
2023
|
if (!e) return;
|
|
2028
2024
|
const i = (c = this.getWorksheetSkeleton(t)) == null ? void 0 : c.skeleton;
|
|
2029
2025
|
if (!i) return;
|
|
2030
|
-
i.columnHeaderHeight = n, e.scene.getViewports()[0].top = n, e.scene.getViewport(
|
|
2026
|
+
i.columnHeaderHeight = n, e.scene.getViewports()[0].top = n, e.scene.getViewport(U.VIEW_COLUMN_RIGHT).setViewportSize({
|
|
2031
2027
|
height: n
|
|
2032
|
-
}), e.scene.getViewport(
|
|
2028
|
+
}), e.scene.getViewport(U.VIEW_COLUMN_LEFT).setViewportSize({
|
|
2033
2029
|
height: n
|
|
2034
|
-
}), e.scene.getViewport(
|
|
2030
|
+
}), e.scene.getViewport(U.VIEW_ROW_BOTTOM).setViewportSize({
|
|
2035
2031
|
top: n
|
|
2036
|
-
}), e.scene.getViewport(
|
|
2032
|
+
}), e.scene.getViewport(U.VIEW_ROW_TOP).setViewportSize({
|
|
2037
2033
|
top: n
|
|
2038
|
-
}), e.scene.getViewport(
|
|
2034
|
+
}), e.scene.getViewport(U.VIEW_LEFT_TOP).setViewportSize({
|
|
2039
2035
|
height: n
|
|
2040
2036
|
});
|
|
2041
2037
|
const o = e == null ? void 0 : e.with($), s = e == null ? void 0 : e.with(lt), l = o.getCurrentSelections();
|
|
@@ -2048,18 +2044,18 @@ let he = class extends oe {
|
|
|
2048
2044
|
const i = (g = this.getWorksheetSkeleton(t)) == null ? void 0 : g.skeleton;
|
|
2049
2045
|
if (!e || !i) return;
|
|
2050
2046
|
i.rowHeaderWidth = n;
|
|
2051
|
-
const o = e.scene.getViewport(
|
|
2052
|
-
e.scene.getViewports()[0].left = l + s, e.scene.getViewport(
|
|
2047
|
+
const o = e.scene.getViewport(U.VIEW_LEFT_TOP).width || 46, s = n - o, l = e.scene.getViewports()[0].left;
|
|
2048
|
+
e.scene.getViewports()[0].left = l + s, e.scene.getViewport(U.VIEW_ROW_BOTTOM).setViewportSize({
|
|
2053
2049
|
width: n
|
|
2054
|
-
}), e.scene.getViewport(
|
|
2050
|
+
}), e.scene.getViewport(U.VIEW_ROW_TOP).setViewportSize({
|
|
2055
2051
|
width: n
|
|
2056
|
-
}), e.scene.getViewport(
|
|
2052
|
+
}), e.scene.getViewport(U.VIEW_COLUMN_LEFT).setViewportSize({
|
|
2057
2053
|
left: n
|
|
2058
2054
|
});
|
|
2059
|
-
const a = e.scene.getViewport(
|
|
2060
|
-
e.scene.getViewport(
|
|
2055
|
+
const a = e.scene.getViewport(U.VIEW_COLUMN_RIGHT).left || 0;
|
|
2056
|
+
e.scene.getViewport(U.VIEW_COLUMN_RIGHT).setViewportSize({
|
|
2061
2057
|
left: a + s
|
|
2062
|
-
}), e.scene.getViewport(
|
|
2058
|
+
}), e.scene.getViewport(U.VIEW_LEFT_TOP).setViewportSize({
|
|
2063
2059
|
width: n
|
|
2064
2060
|
});
|
|
2065
2061
|
const c = e == null ? void 0 : e.with($), d = e == null ? void 0 : e.with(lt), u = c.getCurrentSelections();
|
|
@@ -2069,7 +2065,7 @@ let he = class extends oe {
|
|
|
2069
2065
|
}
|
|
2070
2066
|
};
|
|
2071
2067
|
he = CC([
|
|
2072
|
-
Vu(1, k(
|
|
2068
|
+
Vu(1, k(bt)),
|
|
2073
2069
|
Vu(2, k(nS))
|
|
2074
2070
|
], he);
|
|
2075
2071
|
function Pr() {
|
|
@@ -2417,7 +2413,7 @@ function Ns(r, e, t) {
|
|
|
2417
2413
|
for (let d = 1; d <= e; d++) {
|
|
2418
2414
|
const u = (d - 1) % r.length, h = le.deepClone(r[u]);
|
|
2419
2415
|
br(h);
|
|
2420
|
-
const g = t ===
|
|
2416
|
+
const g = t === F.DOWN || t === F.RIGHT, m = kC(r.length + d, i, c, g);
|
|
2421
2417
|
h && (Wu(h) && (h.v = m), n.push(h));
|
|
2422
2418
|
}
|
|
2423
2419
|
}
|
|
@@ -2494,7 +2490,7 @@ function Du(r, e, t) {
|
|
|
2494
2490
|
}
|
|
2495
2491
|
return n;
|
|
2496
2492
|
}
|
|
2497
|
-
const
|
|
2493
|
+
const Ki = {
|
|
2498
2494
|
enWeek1: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
2499
2495
|
enWeek2: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
2500
2496
|
enMonth1: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
@@ -2522,15 +2518,15 @@ const Qi = {
|
|
|
2522
2518
|
};
|
|
2523
2519
|
function NC(r) {
|
|
2524
2520
|
let e = !1;
|
|
2525
|
-
return Object.keys(
|
|
2526
|
-
|
|
2521
|
+
return Object.keys(Ki).forEach((t) => {
|
|
2522
|
+
Ki[t].includes(r) && (e = !0);
|
|
2527
2523
|
}), e;
|
|
2528
2524
|
}
|
|
2529
2525
|
function ya(r) {
|
|
2530
2526
|
let e = "";
|
|
2531
2527
|
const t = [];
|
|
2532
|
-
return Object.keys(
|
|
2533
|
-
|
|
2528
|
+
return Object.keys(Ki).forEach((n) => {
|
|
2529
|
+
Ki[n].includes(r) && (e = n, t.push(...Ki[n]));
|
|
2534
2530
|
}), { name: e, series: t };
|
|
2535
2531
|
}
|
|
2536
2532
|
function Lu(r, e, t, n) {
|
|
@@ -2551,23 +2547,23 @@ function Fy(r, e) {
|
|
|
2551
2547
|
const t = [];
|
|
2552
2548
|
let n;
|
|
2553
2549
|
if (e.startRow < r.startRow)
|
|
2554
|
-
n =
|
|
2550
|
+
n = F.UP;
|
|
2555
2551
|
else if (e.endRow > r.endRow)
|
|
2556
|
-
n =
|
|
2552
|
+
n = F.DOWN;
|
|
2557
2553
|
else if (e.startColumn < r.startColumn)
|
|
2558
|
-
n =
|
|
2554
|
+
n = F.LEFT;
|
|
2559
2555
|
else if (e.endColumn > r.endColumn)
|
|
2560
|
-
n =
|
|
2556
|
+
n = F.RIGHT;
|
|
2561
2557
|
else
|
|
2562
2558
|
return [];
|
|
2563
|
-
if (n ===
|
|
2559
|
+
if (n === F.DOWN || n === F.UP) {
|
|
2564
2560
|
const i = r.endRow - r.startRow + 1, o = e.endRow - e.startRow + 1, s = Math.floor(o / i), l = o % i, a = {
|
|
2565
2561
|
startRow: 0,
|
|
2566
2562
|
startColumn: 0,
|
|
2567
2563
|
endRow: r.endRow - r.startRow,
|
|
2568
2564
|
endColumn: r.endColumn - r.startColumn
|
|
2569
2565
|
};
|
|
2570
|
-
if (n ===
|
|
2566
|
+
if (n === F.DOWN) {
|
|
2571
2567
|
for (let c = 0; c < s; c++)
|
|
2572
2568
|
t.push({
|
|
2573
2569
|
repeatStartCell: {
|
|
@@ -2611,14 +2607,14 @@ function Fy(r, e) {
|
|
|
2611
2607
|
});
|
|
2612
2608
|
}
|
|
2613
2609
|
}
|
|
2614
|
-
if (n ===
|
|
2610
|
+
if (n === F.RIGHT || n === F.LEFT) {
|
|
2615
2611
|
const i = r.endColumn - r.startColumn + 1, o = e.endColumn - e.startColumn + 1, s = Math.floor(o / i), l = o % i, a = {
|
|
2616
2612
|
startRow: 0,
|
|
2617
2613
|
startColumn: 0,
|
|
2618
2614
|
endRow: r.endRow - r.startRow,
|
|
2619
2615
|
endColumn: r.endColumn - r.startColumn
|
|
2620
2616
|
};
|
|
2621
|
-
if (n ===
|
|
2617
|
+
if (n === F.RIGHT) {
|
|
2622
2618
|
for (let c = 0; c < s; c++)
|
|
2623
2619
|
t.push({
|
|
2624
2620
|
repeatStartCell: {
|
|
@@ -2692,7 +2688,7 @@ const DC = {
|
|
|
2692
2688
|
applyFunctions: {
|
|
2693
2689
|
[Ne.SERIES]: (r, e, t) => {
|
|
2694
2690
|
const { data: n } = r;
|
|
2695
|
-
return t ===
|
|
2691
|
+
return t === F.LEFT || t === F.UP ? (n.reverse(), Ns(n, e, t).reverse()) : Ns(n, e, t);
|
|
2696
2692
|
}
|
|
2697
2693
|
}
|
|
2698
2694
|
}, LC = {
|
|
@@ -2703,7 +2699,7 @@ const DC = {
|
|
|
2703
2699
|
applyFunctions: {
|
|
2704
2700
|
[Ne.SERIES]: (r, e, t) => {
|
|
2705
2701
|
const { data: n } = r;
|
|
2706
|
-
return t ===
|
|
2702
|
+
return t === F.LEFT || t === F.UP ? (n.reverse(), Ns(n, e, t).reverse()) : Ns(n, e, t);
|
|
2707
2703
|
}
|
|
2708
2704
|
}
|
|
2709
2705
|
}, lm = {
|
|
@@ -2727,7 +2723,7 @@ const DC = {
|
|
|
2727
2723
|
applyFunctions: {
|
|
2728
2724
|
[Ne.SERIES]: (r, e, t) => {
|
|
2729
2725
|
var l;
|
|
2730
|
-
const { data: n } = r, i = t ===
|
|
2726
|
+
const { data: n } = r, i = t === F.UP || t === F.LEFT;
|
|
2731
2727
|
let o;
|
|
2732
2728
|
if (n.length === 1)
|
|
2733
2729
|
return o = i ? -1 : 1, Ft(Nu(n, e, o), i);
|
|
@@ -2747,7 +2743,7 @@ const DC = {
|
|
|
2747
2743
|
applyFunctions: {
|
|
2748
2744
|
[Ne.SERIES]: (r, e, t) => {
|
|
2749
2745
|
var a, c, d;
|
|
2750
|
-
const { data: n } = r, i = t ===
|
|
2746
|
+
const { data: n } = r, i = t === F.LEFT || t === F.UP;
|
|
2751
2747
|
if (n.length === 1) {
|
|
2752
2748
|
const u = `${(a = n[0]) == null ? void 0 : a.v}`;
|
|
2753
2749
|
let h;
|
|
@@ -2784,7 +2780,7 @@ const DC = {
|
|
|
2784
2780
|
applyFunctions: {
|
|
2785
2781
|
[Ne.SERIES]: (r, e, t) => {
|
|
2786
2782
|
var l;
|
|
2787
|
-
const { data: n } = r, i = t ===
|
|
2783
|
+
const { data: n } = r, i = t === F.LEFT || t === F.UP;
|
|
2788
2784
|
if (n.length === 1) {
|
|
2789
2785
|
let a;
|
|
2790
2786
|
return i ? a = -1 : a = 1, Ft(oi(n, e, a, 1), i);
|
|
@@ -2810,7 +2806,7 @@ const DC = {
|
|
|
2810
2806
|
applyFunctions: {
|
|
2811
2807
|
[Ne.SERIES]: (r, e, t) => {
|
|
2812
2808
|
var l;
|
|
2813
|
-
const { data: n } = r, i = t ===
|
|
2809
|
+
const { data: n } = r, i = t === F.LEFT || t === F.UP;
|
|
2814
2810
|
if (n.length === 1) {
|
|
2815
2811
|
let a;
|
|
2816
2812
|
return i ? a = -1 : a = 1, Ft(oi(n, e, a, 2), i);
|
|
@@ -2842,7 +2838,7 @@ const DC = {
|
|
|
2842
2838
|
applyFunctions: {
|
|
2843
2839
|
[Ne.SERIES]: (r, e, t) => {
|
|
2844
2840
|
var a, c;
|
|
2845
|
-
const { data: n } = r, i = t ===
|
|
2841
|
+
const { data: n } = r, i = t === F.LEFT || t === F.UP, { series: o } = ya(`${(a = n[0]) == null ? void 0 : a.v}` || "");
|
|
2846
2842
|
if (n.length === 1) {
|
|
2847
2843
|
let d;
|
|
2848
2844
|
return i ? d = -1 : d = 1, Ft(Lu(n, e, d, o), i);
|
|
@@ -2881,7 +2877,7 @@ let Ds = class extends oe {
|
|
|
2881
2877
|
b(this, "autoFillLocation$", this._autoFillLocation$.asObservable());
|
|
2882
2878
|
b(this, "_showMenu$", new Ee(!1));
|
|
2883
2879
|
b(this, "showMenu$", this._showMenu$.asObservable());
|
|
2884
|
-
b(this, "_direction",
|
|
2880
|
+
b(this, "_direction", F.DOWN);
|
|
2885
2881
|
b(this, "applyType$", this._applyType$.asObservable());
|
|
2886
2882
|
b(this, "_menu$", new Ee([
|
|
2887
2883
|
{
|
|
@@ -2960,13 +2956,13 @@ let Ds = class extends oe {
|
|
|
2960
2956
|
};
|
|
2961
2957
|
let s = null;
|
|
2962
2958
|
if (i.startRow < n.startRow)
|
|
2963
|
-
s =
|
|
2959
|
+
s = F.UP, o.endRow = n.startRow - 1;
|
|
2964
2960
|
else if (i.endRow > n.endRow)
|
|
2965
|
-
s =
|
|
2961
|
+
s = F.DOWN, o.startRow = n.endRow + 1;
|
|
2966
2962
|
else if (i.startColumn < n.startColumn)
|
|
2967
|
-
s =
|
|
2963
|
+
s = F.LEFT, o.endColumn = n.startColumn - 1;
|
|
2968
2964
|
else if (i.endColumn > n.endColumn)
|
|
2969
|
-
s =
|
|
2965
|
+
s = F.RIGHT, o.startColumn = n.endColumn + 1;
|
|
2970
2966
|
else
|
|
2971
2967
|
return !1;
|
|
2972
2968
|
this.direction = s;
|
|
@@ -3134,10 +3130,10 @@ Ds = jC([
|
|
|
3134
3130
|
Vr(2, Ce),
|
|
3135
3131
|
Vr(3, k(N)),
|
|
3136
3132
|
Vr(4, k($)),
|
|
3137
|
-
Vr(5, k(
|
|
3133
|
+
Vr(5, k(bt))
|
|
3138
3134
|
], Ds);
|
|
3139
3135
|
const xr = jt("univer.auto-fill-service"), hr = {
|
|
3140
|
-
type:
|
|
3136
|
+
type: Q.COMMAND,
|
|
3141
3137
|
id: "sheet.command.auto-fill",
|
|
3142
3138
|
handler: async (r, e) => {
|
|
3143
3139
|
const t = r.get(xr), n = r.get(N), { sourceRange: i, targetRange: o } = e, s = Ue(n);
|
|
@@ -3147,7 +3143,7 @@ const xr = jt("univer.auto-fill-service"), hr = {
|
|
|
3147
3143
|
}
|
|
3148
3144
|
}, lo = {
|
|
3149
3145
|
id: "sheet.command.auto-clear-content",
|
|
3150
|
-
type:
|
|
3146
|
+
type: Q.COMMAND,
|
|
3151
3147
|
handler: async (r, e) => {
|
|
3152
3148
|
const t = r.get(N), n = r.get(L), i = r.get(Yt), o = r.get(vn), s = Ue(t);
|
|
3153
3149
|
if (!s) return !1;
|
|
@@ -3196,7 +3192,7 @@ const xr = jt("univer.auto-fill-service"), hr = {
|
|
|
3196
3192
|
}
|
|
3197
3193
|
}, Zl = {
|
|
3198
3194
|
id: "sheet.command.refill",
|
|
3199
|
-
type:
|
|
3195
|
+
type: Q.COMMAND,
|
|
3200
3196
|
handler: async (r, e) => r.get(xr).fillData(e.type)
|
|
3201
3197
|
};
|
|
3202
3198
|
var YC = Object.getOwnPropertyDescriptor, ZC = (r, e, t, n) => {
|
|
@@ -3425,7 +3421,7 @@ Ls = ZC([
|
|
|
3425
3421
|
], Ls);
|
|
3426
3422
|
const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
3427
3423
|
id: "sheet.operation.set-cell-edit-visible",
|
|
3428
|
-
type:
|
|
3424
|
+
type: Q.OPERATION,
|
|
3429
3425
|
handler: (r, e) => {
|
|
3430
3426
|
if (!e)
|
|
3431
3427
|
return !1;
|
|
@@ -3437,7 +3433,7 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3437
3433
|
}
|
|
3438
3434
|
}, Gl = {
|
|
3439
3435
|
id: "sheet.operation.set-cell-edit-visible-f2",
|
|
3440
|
-
type:
|
|
3436
|
+
type: Q.OPERATION,
|
|
3441
3437
|
handler: (r, e) => {
|
|
3442
3438
|
const t = r.get(L), i = r.get(N).getCurrentUnitForType(x.UNIVER_SHEET);
|
|
3443
3439
|
return i ? t.syncExecuteCommand(tt.id, {
|
|
@@ -3447,11 +3443,11 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3447
3443
|
}
|
|
3448
3444
|
}, si = {
|
|
3449
3445
|
id: "sheet.operation.set-cell-edit-visible-arrow",
|
|
3450
|
-
type:
|
|
3446
|
+
type: Q.OPERATION,
|
|
3451
3447
|
handler: () => !0
|
|
3452
3448
|
}, zo = {
|
|
3453
3449
|
id: "sheet.command.change-zoom-ratio",
|
|
3454
|
-
type:
|
|
3450
|
+
type: Q.COMMAND,
|
|
3455
3451
|
handler: (r, e) => {
|
|
3456
3452
|
if (!e)
|
|
3457
3453
|
return !1;
|
|
@@ -3469,7 +3465,7 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3469
3465
|
}
|
|
3470
3466
|
}, jo = {
|
|
3471
3467
|
id: "sheet.command.set-zoom-ratio",
|
|
3472
|
-
type:
|
|
3468
|
+
type: Q.COMMAND,
|
|
3473
3469
|
handler: (r, e) => {
|
|
3474
3470
|
if (!e)
|
|
3475
3471
|
return !1;
|
|
@@ -3529,10 +3525,10 @@ function Hn(r, e, t, n, i, o) {
|
|
|
3529
3525
|
};
|
|
3530
3526
|
}
|
|
3531
3527
|
function ps(r, e, t, n) {
|
|
3532
|
-
const i = t.getCoordRelativeToViewport(Ve.FromArray([r, e])), o = t.getViewport(
|
|
3528
|
+
const i = t.getCoordRelativeToViewport(Ve.FromArray([r, e])), o = t.getViewport(U.VIEW_MAIN), s = t.getScrollXYInfoByViewport(i, o), { scaleX: l, scaleY: a } = t.getAncestorScale(), { x: c, y: d } = s, u = r / l + c, h = e / a + d;
|
|
3533
3529
|
return { x: u, y: h };
|
|
3534
3530
|
}
|
|
3535
|
-
var qC = Object.getOwnPropertyDescriptor,
|
|
3531
|
+
var qC = Object.getOwnPropertyDescriptor, KC = (r, e, t, n) => {
|
|
3536
3532
|
for (var i = n > 1 ? void 0 : n ? qC(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
3537
3533
|
(s = r[o]) && (i = s(i) || i);
|
|
3538
3534
|
return i;
|
|
@@ -3594,7 +3590,7 @@ let ao = class extends oe {
|
|
|
3594
3590
|
t == null || t.scene.scale(e, e), t == null || t.spreadsheet.makeForceDirty();
|
|
3595
3591
|
}
|
|
3596
3592
|
};
|
|
3597
|
-
ao =
|
|
3593
|
+
ao = KC([
|
|
3598
3594
|
is(1, k(he)),
|
|
3599
3595
|
is(2, L),
|
|
3600
3596
|
is(3, ke),
|
|
@@ -3602,14 +3598,14 @@ ao = QC([
|
|
|
3602
3598
|
], ao);
|
|
3603
3599
|
const Jt = {
|
|
3604
3600
|
id: "sheet.operation.set-zoom-ratio",
|
|
3605
|
-
type:
|
|
3601
|
+
type: Q.OPERATION,
|
|
3606
3602
|
handler: (r, e) => {
|
|
3607
3603
|
const n = r.get(Ce).getRenderById(e.unitId);
|
|
3608
3604
|
return n ? n.with(ao).updateZoom(e.subUnitId, e.zoomRatio) : !1;
|
|
3609
3605
|
}
|
|
3610
3606
|
};
|
|
3611
|
-
var
|
|
3612
|
-
for (var i = n > 1 ? void 0 : n ?
|
|
3607
|
+
var QC = Object.getOwnPropertyDescriptor, JC = (r, e, t, n) => {
|
|
3608
|
+
for (var i = n > 1 ? void 0 : n ? QC(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
3613
3609
|
(s = r[o]) && (i = s(i) || i);
|
|
3614
3610
|
return i;
|
|
3615
3611
|
}, os = (r, e) => (t, n) => e(t, n, r);
|
|
@@ -3837,7 +3833,7 @@ let Ws = class extends oe {
|
|
|
3837
3833
|
return a;
|
|
3838
3834
|
}
|
|
3839
3835
|
_applyFunctions(e, t, n, i, o, s, l) {
|
|
3840
|
-
const { data: a } = e, c = n ===
|
|
3836
|
+
const { data: a } = e, c = n === F.UP || n === F.LEFT;
|
|
3841
3837
|
if (i === Ne.COPY) {
|
|
3842
3838
|
const d = o == null ? void 0 : o[Ne.COPY];
|
|
3843
3839
|
return d ? d(e, t, n, s, l) : (c && a.reverse(), _r(a, t));
|
|
@@ -3855,7 +3851,7 @@ let Ws = class extends oe {
|
|
|
3855
3851
|
const n = this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET).getActiveSheet();
|
|
3856
3852
|
if (!n)
|
|
3857
3853
|
throw new Error("No active sheet found");
|
|
3858
|
-
const i = n.getCellMatrix(), o = this._autoFillService.getRules(), s = [], l = t ===
|
|
3854
|
+
const i = n.getCellMatrix(), o = this._autoFillService.getRules(), s = [], l = t === F.DOWN || t === F.UP;
|
|
3859
3855
|
let a, c;
|
|
3860
3856
|
return l ? (a = e.cols, c = e.rows) : (a = e.rows, c = e.cols), a.forEach((d) => {
|
|
3861
3857
|
const u = this._getEmptyCopyDataPiece(), h = {
|
|
@@ -3900,7 +3896,7 @@ let Ws = class extends oe {
|
|
|
3900
3896
|
for (let a = e.startColumn; a <= e.endColumn; a++) {
|
|
3901
3897
|
const { isMergedMainCell: c, startRow: d, startColumn: u, endRow: h, endColumn: g } = o.getCellInfoInMergeData(l, a);
|
|
3902
3898
|
if (c) {
|
|
3903
|
-
if (n ===
|
|
3899
|
+
if (n === F.DOWN) {
|
|
3904
3900
|
let m = d + i, f = h + i;
|
|
3905
3901
|
for (; f <= t.endRow; )
|
|
3906
3902
|
s.push({
|
|
@@ -3909,7 +3905,7 @@ let Ws = class extends oe {
|
|
|
3909
3905
|
endRow: f,
|
|
3910
3906
|
endColumn: g
|
|
3911
3907
|
}), m += i, f += i;
|
|
3912
|
-
} else if (n ===
|
|
3908
|
+
} else if (n === F.UP) {
|
|
3913
3909
|
let m = d - i, f = h - i;
|
|
3914
3910
|
for (; m >= t.startRow; )
|
|
3915
3911
|
s.push({
|
|
@@ -3918,7 +3914,7 @@ let Ws = class extends oe {
|
|
|
3918
3914
|
endRow: f,
|
|
3919
3915
|
endColumn: g
|
|
3920
3916
|
}), m -= i, f -= i;
|
|
3921
|
-
} else if (n ===
|
|
3917
|
+
} else if (n === F.RIGHT) {
|
|
3922
3918
|
let m = u + i, f = g + i;
|
|
3923
3919
|
for (; f <= t.endColumn; )
|
|
3924
3920
|
s.push({
|
|
@@ -3927,7 +3923,7 @@ let Ws = class extends oe {
|
|
|
3927
3923
|
endRow: h,
|
|
3928
3924
|
endColumn: f
|
|
3929
3925
|
}), m += i, f += i;
|
|
3930
|
-
} else if (n ===
|
|
3926
|
+
} else if (n === F.LEFT) {
|
|
3931
3927
|
let m = u - i, f = g - i;
|
|
3932
3928
|
for (; m >= t.startColumn; )
|
|
3933
3929
|
s.push({
|
|
@@ -3968,9 +3964,9 @@ let Ws = class extends oe {
|
|
|
3968
3964
|
};
|
|
3969
3965
|
const u = Cr(l), h = Cr(a), { cols: g, rows: m } = a, { cols: f, rows: v } = l, p = this._copyData;
|
|
3970
3966
|
let C;
|
|
3971
|
-
t ===
|
|
3967
|
+
t === F.DOWN || t === F.UP ? C = v.length : C = f.length;
|
|
3972
3968
|
const _ = [];
|
|
3973
|
-
if (t ===
|
|
3969
|
+
if (t === F.DOWN || t === F.UP) {
|
|
3974
3970
|
const O = m.length, V = [];
|
|
3975
3971
|
g.forEach((W, j) => {
|
|
3976
3972
|
const B = p[j], z = this._getApplyData(B, C, O, t, n, s, e);
|
|
@@ -4027,7 +4023,7 @@ let Ws = class extends oe {
|
|
|
4027
4023
|
Wl,
|
|
4028
4024
|
W
|
|
4029
4025
|
);
|
|
4030
|
-
O.length && (o.push({ id:
|
|
4026
|
+
O.length && (o.push({ id: Kt.id, params: W }), i.unshift({ id: Qt.id, params: j }));
|
|
4031
4027
|
}
|
|
4032
4028
|
const R = {
|
|
4033
4029
|
subUnitId: d,
|
|
@@ -4064,7 +4060,7 @@ let Ws = class extends oe {
|
|
|
4064
4060
|
Fl,
|
|
4065
4061
|
V
|
|
4066
4062
|
);
|
|
4067
|
-
i.unshift({ id:
|
|
4063
|
+
i.unshift({ id: Kt.id, params: W }), o.push({ id: Qt.id, params: V });
|
|
4068
4064
|
}
|
|
4069
4065
|
return {
|
|
4070
4066
|
undos: i,
|
|
@@ -4098,7 +4094,7 @@ Ws = e1([
|
|
|
4098
4094
|
or(2, xr),
|
|
4099
4095
|
or(3, qe),
|
|
4100
4096
|
or(4, Ce),
|
|
4101
|
-
or(5, k(
|
|
4097
|
+
or(5, k(bt)),
|
|
4102
4098
|
or(6, k(Rr))
|
|
4103
4099
|
], Ws);
|
|
4104
4100
|
var t1 = Object.getOwnPropertyDescriptor, n1 = (r, e, t, n) => {
|
|
@@ -4170,7 +4166,7 @@ let Bs = class extends oe {
|
|
|
4170
4166
|
if (g) {
|
|
4171
4167
|
const [C, _] = g, { row: S, col: I, worksheet: R, unitId: y, subUnitId: M } = _;
|
|
4172
4168
|
if (!((m = this._permissionService.composePermission(
|
|
4173
|
-
[new
|
|
4169
|
+
[new K(y).id, new te(y, M).id]
|
|
4174
4170
|
)) == null ? void 0 : m.every((P) => P.value)))
|
|
4175
4171
|
return !1;
|
|
4176
4172
|
const T = (v = (f = R.getCell(S, I)) == null ? void 0 : f.selectionProtection) == null ? void 0 : v[0];
|
|
@@ -4273,25 +4269,25 @@ function Gn(r, e, t, n, i = !0, o = 1, s = !0) {
|
|
|
4273
4269
|
});
|
|
4274
4270
|
let a;
|
|
4275
4271
|
switch (e) {
|
|
4276
|
-
case
|
|
4272
|
+
case F.UP:
|
|
4277
4273
|
for (a = r.startRow - o; a > -1 && !t.getRowVisible(a); )
|
|
4278
4274
|
a -= 1;
|
|
4279
|
-
a >= n.startRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.endRow, l.endRow = n.endRow, i && (l = Gn(l,
|
|
4275
|
+
a >= n.startRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.endRow, l.endRow = n.endRow, i && (l = Gn(l, F.LEFT, t, n, !1)));
|
|
4280
4276
|
break;
|
|
4281
|
-
case
|
|
4277
|
+
case F.DOWN:
|
|
4282
4278
|
for (a = r.endRow + o; a < t.getRowCount() && !t.getRowVisible(a); )
|
|
4283
4279
|
a += 1;
|
|
4284
|
-
a <= n.endRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.startRow, l.endRow = n.startRow, i && (l = Gn(l,
|
|
4280
|
+
a <= n.endRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.startRow, l.endRow = n.startRow, i && (l = Gn(l, F.RIGHT, t, n, !1)));
|
|
4285
4281
|
break;
|
|
4286
|
-
case
|
|
4282
|
+
case F.LEFT:
|
|
4287
4283
|
for (a = r.startColumn - o; a > -1 && !t.getColVisible(a); )
|
|
4288
4284
|
a -= 1;
|
|
4289
|
-
a >= n.startColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.endColumn, l.endColumn = n.endColumn, i && (l = Gn(l,
|
|
4285
|
+
a >= n.startColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.endColumn, l.endColumn = n.endColumn, i && (l = Gn(l, F.UP, t, n, !1)));
|
|
4290
4286
|
break;
|
|
4291
|
-
case
|
|
4287
|
+
case F.RIGHT:
|
|
4292
4288
|
for (a = r.endColumn + o; a < t.getColumnCount() && !t.getColVisible(a); )
|
|
4293
4289
|
a += 1;
|
|
4294
|
-
a <= n.endColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.startColumn, l.endColumn = n.startColumn, i && (l = Gn(l,
|
|
4290
|
+
a <= n.endColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.startColumn, l.endColumn = n.startColumn, i && (l = Gn(l, F.DOWN, t, n, !1)));
|
|
4295
4291
|
break;
|
|
4296
4292
|
}
|
|
4297
4293
|
return l;
|
|
@@ -4300,7 +4296,7 @@ function Ld(r, e, t) {
|
|
|
4300
4296
|
const n = { ...r }, { startRow: i, startColumn: o, endRow: s, endColumn: l } = co(r, e, t);
|
|
4301
4297
|
let a = Ai(t, i, o, s, l).hasValue, c = !0, d = !0;
|
|
4302
4298
|
for (; d; ) {
|
|
4303
|
-
if (
|
|
4299
|
+
if (F.UP === e) {
|
|
4304
4300
|
let u = n.startRow - 1;
|
|
4305
4301
|
for (; u > -1 && !t.getRowVisible(u); )
|
|
4306
4302
|
u -= 1;
|
|
@@ -4333,7 +4329,7 @@ function Ld(r, e, t) {
|
|
|
4333
4329
|
a = h, c = !1;
|
|
4334
4330
|
}
|
|
4335
4331
|
}
|
|
4336
|
-
if (
|
|
4332
|
+
if (F.DOWN === e) {
|
|
4337
4333
|
let u = n.endRow + 1;
|
|
4338
4334
|
for (; u < t.getRowCount() && !t.getRowVisible(u); )
|
|
4339
4335
|
u += 1;
|
|
@@ -4366,7 +4362,7 @@ function Ld(r, e, t) {
|
|
|
4366
4362
|
a = h, c = !1;
|
|
4367
4363
|
}
|
|
4368
4364
|
}
|
|
4369
|
-
if (
|
|
4365
|
+
if (F.LEFT === e) {
|
|
4370
4366
|
let u = n.startColumn - 1;
|
|
4371
4367
|
for (; u > -1 && !t.getColVisible(u); )
|
|
4372
4368
|
u -= 1;
|
|
@@ -4399,7 +4395,7 @@ function Ld(r, e, t) {
|
|
|
4399
4395
|
a = h, c = !1;
|
|
4400
4396
|
}
|
|
4401
4397
|
}
|
|
4402
|
-
if (
|
|
4398
|
+
if (F.RIGHT === e) {
|
|
4403
4399
|
let u = n.endColumn + 1;
|
|
4404
4400
|
for (; u < t.getColumnCount() && !t.getColVisible(u); )
|
|
4405
4401
|
u += 1;
|
|
@@ -4453,19 +4449,19 @@ function s1(r, e, t) {
|
|
|
4453
4449
|
}
|
|
4454
4450
|
function l1(r, e, t, n) {
|
|
4455
4451
|
const i = Wh(t), o = Ld(co(r, i, n), t, n);
|
|
4456
|
-
return t ===
|
|
4452
|
+
return t === F.UP && o.startRow <= r.startRow ? En(
|
|
4457
4453
|
{ ...e, startColumn: r.startColumn, endColumn: r.endColumn },
|
|
4458
4454
|
n,
|
|
4459
4455
|
!0
|
|
4460
|
-
) : t ===
|
|
4456
|
+
) : t === F.DOWN && o.endRow >= r.endRow ? En(
|
|
4461
4457
|
{ ...e, startColumn: r.startColumn, endColumn: r.endColumn },
|
|
4462
4458
|
n,
|
|
4463
4459
|
!0
|
|
4464
|
-
) : t ===
|
|
4460
|
+
) : t === F.LEFT && o.startColumn <= r.startColumn ? En(
|
|
4465
4461
|
{ ...e, startRow: r.startRow, endRow: r.endRow },
|
|
4466
4462
|
n,
|
|
4467
4463
|
!0
|
|
4468
|
-
) : t ===
|
|
4464
|
+
) : t === F.RIGHT && o.endColumn >= r.endColumn ? En(
|
|
4469
4465
|
{ ...e, startRow: r.startRow, endRow: r.endRow },
|
|
4470
4466
|
n,
|
|
4471
4467
|
!0
|
|
@@ -4487,7 +4483,7 @@ function Xu(r) {
|
|
|
4487
4483
|
function co(r, e, t) {
|
|
4488
4484
|
let n;
|
|
4489
4485
|
switch (e) {
|
|
4490
|
-
case
|
|
4486
|
+
case F.UP:
|
|
4491
4487
|
n = {
|
|
4492
4488
|
startRow: r.startRow,
|
|
4493
4489
|
startColumn: r.startColumn,
|
|
@@ -4496,7 +4492,7 @@ function co(r, e, t) {
|
|
|
4496
4492
|
rangeType: X.NORMAL
|
|
4497
4493
|
};
|
|
4498
4494
|
break;
|
|
4499
|
-
case
|
|
4495
|
+
case F.DOWN:
|
|
4500
4496
|
n = {
|
|
4501
4497
|
startRow: r.endRow,
|
|
4502
4498
|
startColumn: r.startColumn,
|
|
@@ -4505,7 +4501,7 @@ function co(r, e, t) {
|
|
|
4505
4501
|
rangeType: X.NORMAL
|
|
4506
4502
|
};
|
|
4507
4503
|
break;
|
|
4508
|
-
case
|
|
4504
|
+
case F.LEFT:
|
|
4509
4505
|
n = {
|
|
4510
4506
|
startRow: r.startRow,
|
|
4511
4507
|
startColumn: r.startColumn,
|
|
@@ -4514,7 +4510,7 @@ function co(r, e, t) {
|
|
|
4514
4510
|
rangeType: X.NORMAL
|
|
4515
4511
|
};
|
|
4516
4512
|
break;
|
|
4517
|
-
case
|
|
4513
|
+
case F.RIGHT:
|
|
4518
4514
|
n = {
|
|
4519
4515
|
startRow: r.startRow,
|
|
4520
4516
|
startColumn: r.endColumn,
|
|
@@ -4544,12 +4540,12 @@ function Hc(r, e, t) {
|
|
|
4544
4540
|
if (e == null)
|
|
4545
4541
|
return n;
|
|
4546
4542
|
switch (t) {
|
|
4547
|
-
case
|
|
4548
|
-
case
|
|
4543
|
+
case F.UP:
|
|
4544
|
+
case F.DOWN:
|
|
4549
4545
|
n.startColumn = n.endColumn = e.actualColumn;
|
|
4550
4546
|
break;
|
|
4551
|
-
case
|
|
4552
|
-
case
|
|
4547
|
+
case F.LEFT:
|
|
4548
|
+
case F.RIGHT:
|
|
4553
4549
|
n.startRow = n.endRow = e.actualRow;
|
|
4554
4550
|
break;
|
|
4555
4551
|
}
|
|
@@ -4559,24 +4555,24 @@ function c1(r, e, t) {
|
|
|
4559
4555
|
var l, a, c, d;
|
|
4560
4556
|
const { primary: n, range: i } = r, o = ae.clone(i);
|
|
4561
4557
|
switch (e) {
|
|
4562
|
-
case
|
|
4563
|
-
case
|
|
4558
|
+
case F.UP:
|
|
4559
|
+
case F.DOWN:
|
|
4564
4560
|
o.startRow = (l = n == null ? void 0 : n.startRow) != null ? l : i.startRow, o.endRow = (a = n == null ? void 0 : n.endRow) != null ? a : i.startRow;
|
|
4565
4561
|
break;
|
|
4566
|
-
case
|
|
4567
|
-
case
|
|
4562
|
+
case F.LEFT:
|
|
4563
|
+
case F.RIGHT:
|
|
4568
4564
|
o.startColumn = (c = n == null ? void 0 : n.startColumn) != null ? c : i.startColumn, o.endColumn = (d = n == null ? void 0 : n.endColumn) != null ? d : i.startColumn;
|
|
4569
4565
|
break;
|
|
4570
4566
|
}
|
|
4571
4567
|
const s = co(o, e, t);
|
|
4572
4568
|
switch (e) {
|
|
4573
|
-
case
|
|
4569
|
+
case F.DOWN:
|
|
4574
4570
|
return i.startRow < s.startRow;
|
|
4575
|
-
case
|
|
4571
|
+
case F.UP:
|
|
4576
4572
|
return i.endRow > s.endRow;
|
|
4577
|
-
case
|
|
4573
|
+
case F.LEFT:
|
|
4578
4574
|
return s.endColumn < i.endColumn;
|
|
4579
|
-
case
|
|
4575
|
+
case F.RIGHT:
|
|
4580
4576
|
return s.startColumn > i.startColumn;
|
|
4581
4577
|
}
|
|
4582
4578
|
}
|
|
@@ -4627,7 +4623,7 @@ function d1(r) {
|
|
|
4627
4623
|
var Dn = /* @__PURE__ */ ((r) => (r[r.moveStopeOne = 0] = "moveStopeOne", r[r.moveGap = 1] = "moveGap", r[r.moveStepPage = 2] = "moveStepPage", r[r.moveStepEnd = 3] = "moveStepEnd", r))(Dn || {});
|
|
4628
4624
|
const Lt = {
|
|
4629
4625
|
id: "sheet.command.move-selection",
|
|
4630
|
-
type:
|
|
4626
|
+
type: Q.COMMAND,
|
|
4631
4627
|
handler: (r, e) => {
|
|
4632
4628
|
if (!e)
|
|
4633
4629
|
return !1;
|
|
@@ -4671,7 +4667,7 @@ const Lt = {
|
|
|
4671
4667
|
}
|
|
4672
4668
|
}, Ln = {
|
|
4673
4669
|
id: "sheet.command.move-selection-enter-tab",
|
|
4674
|
-
type:
|
|
4670
|
+
type: Q.COMMAND,
|
|
4675
4671
|
// eslint-disable-next-line max-lines-per-function, complexity
|
|
4676
4672
|
handler: (r, e) => {
|
|
4677
4673
|
var V;
|
|
@@ -4679,7 +4675,7 @@ const Lt = {
|
|
|
4679
4675
|
return !1;
|
|
4680
4676
|
const t = Ue(r.get(N));
|
|
4681
4677
|
if (!t) return !1;
|
|
4682
|
-
const { workbook: n, worksheet: i } = t, o = Lo(r), { direction: s, keycode: l } = e, a = s ===
|
|
4678
|
+
const { workbook: n, worksheet: i } = t, o = Lo(r), { direction: s, keycode: l } = e, a = s === F.LEFT || s === F.UP, c = o.getCurrentSelections().concat(), d = c.findIndex((W) => W.primary), u = c[d];
|
|
4683
4679
|
if (!u)
|
|
4684
4680
|
return !1;
|
|
4685
4681
|
const h = a ? -1 : 1, g = d + h !== c.length ? c[d + h] : c[0], m = c.findIndex((W) => W === g), f = n.getUnitId(), v = i.getSheetId();
|
|
@@ -4780,7 +4776,7 @@ const Lt = {
|
|
|
4780
4776
|
}
|
|
4781
4777
|
}, Gt = {
|
|
4782
4778
|
id: "sheet.command.expand-selection",
|
|
4783
|
-
type:
|
|
4779
|
+
type: Q.COMMAND,
|
|
4784
4780
|
handler: (r, e) => {
|
|
4785
4781
|
if (!e) return !1;
|
|
4786
4782
|
const t = Ue(r.get(N));
|
|
@@ -4808,9 +4804,9 @@ const Lt = {
|
|
|
4808
4804
|
reveal: !0
|
|
4809
4805
|
});
|
|
4810
4806
|
}
|
|
4811
|
-
},
|
|
4807
|
+
}, Kl = {
|
|
4812
4808
|
id: "sheet.command.select-all",
|
|
4813
|
-
type:
|
|
4809
|
+
type: Q.COMMAND,
|
|
4814
4810
|
// eslint-disable-next-line max-lines-per-function
|
|
4815
4811
|
handler: async (r, e = { expandToGapFirst: !0, loop: !1 }) => {
|
|
4816
4812
|
const t = Ue(r.get(N));
|
|
@@ -4848,7 +4844,7 @@ const Lt = {
|
|
|
4848
4844
|
}
|
|
4849
4845
|
});
|
|
4850
4846
|
const _ = r.get(vn).onCommandExecute({
|
|
4851
|
-
id:
|
|
4847
|
+
id: Kl.id,
|
|
4852
4848
|
params: { range: g }
|
|
4853
4849
|
});
|
|
4854
4850
|
_.redos.length && p.push(..._.redos);
|
|
@@ -4994,7 +4990,7 @@ Et = h1([
|
|
|
4994
4990
|
], Et);
|
|
4995
4991
|
const hn = {
|
|
4996
4992
|
id: "sheet.operation.set-scroll",
|
|
4997
|
-
type:
|
|
4993
|
+
type: Q.OPERATION,
|
|
4998
4994
|
handler: (r, e) => {
|
|
4999
4995
|
if (!e)
|
|
5000
4996
|
return !1;
|
|
@@ -5010,7 +5006,7 @@ const hn = {
|
|
|
5010
5006
|
}
|
|
5011
5007
|
}, uo = {
|
|
5012
5008
|
id: "sheet.command.set-scroll-relative",
|
|
5013
|
-
type:
|
|
5009
|
+
type: Q.COMMAND,
|
|
5014
5010
|
// offsetXY derived from mouse wheel event
|
|
5015
5011
|
// this._commandService.executeCommand(SetScrollRelativeCommand.id, { offsetY });
|
|
5016
5012
|
handler: async (r, e) => {
|
|
@@ -5037,7 +5033,7 @@ const hn = {
|
|
|
5037
5033
|
}
|
|
5038
5034
|
}, gn = {
|
|
5039
5035
|
id: "sheet.command.scroll-view",
|
|
5040
|
-
type:
|
|
5036
|
+
type: Q.COMMAND,
|
|
5041
5037
|
handler: (r, e) => {
|
|
5042
5038
|
if (!e)
|
|
5043
5039
|
return !1;
|
|
@@ -5066,14 +5062,14 @@ const hn = {
|
|
|
5066
5062
|
}
|
|
5067
5063
|
}, um = {
|
|
5068
5064
|
id: "sheet.command.scroll-to-cell",
|
|
5069
|
-
type:
|
|
5065
|
+
type: Q.COMMAND,
|
|
5070
5066
|
handler: (r, e) => {
|
|
5071
5067
|
const t = r.get(N);
|
|
5072
5068
|
return r.get(Ce).getRenderById(t.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId()).with(ho).scrollToRange(e.range, e.forceTop, e.forceLeft);
|
|
5073
5069
|
}
|
|
5074
5070
|
}, Uy = {
|
|
5075
5071
|
id: "sheet.command.scroll-view-reset",
|
|
5076
|
-
type:
|
|
5072
|
+
type: Q.COMMAND,
|
|
5077
5073
|
handler: async (r) => {
|
|
5078
5074
|
const e = r.get(N), t = Ue(e);
|
|
5079
5075
|
if (!t) return !1;
|
|
@@ -5100,7 +5096,7 @@ let ho = class extends oe {
|
|
|
5100
5096
|
_wheelEventListener() {
|
|
5101
5097
|
const { scene: r } = this._context;
|
|
5102
5098
|
if (!r) return;
|
|
5103
|
-
const e = r.getViewport(
|
|
5099
|
+
const e = r.getViewport(U.VIEW_MAIN);
|
|
5104
5100
|
e && this.disposeWithMe(
|
|
5105
5101
|
r.onMouseWheel$.subscribeEvent((t, n) => {
|
|
5106
5102
|
if (t.ctrlKey || !this._contextService.getContextValue(Ht))
|
|
@@ -5116,7 +5112,7 @@ let ho = class extends oe {
|
|
|
5116
5112
|
_scrollBarEventListener() {
|
|
5117
5113
|
const { scene: r } = this._context;
|
|
5118
5114
|
if (r == null) return;
|
|
5119
|
-
const e = r.getViewport(
|
|
5115
|
+
const e = r.getViewport(U.VIEW_MAIN);
|
|
5120
5116
|
e && (this.disposeWithMe(
|
|
5121
5117
|
We(
|
|
5122
5118
|
this._scrollManagerService.rawScrollInfo$.subscribe((t) => {
|
|
@@ -5209,7 +5205,7 @@ let ho = class extends oe {
|
|
|
5209
5205
|
_updateViewportScroll(r = 0, e = 0) {
|
|
5210
5206
|
const t = this._getSheetObject();
|
|
5211
5207
|
if (!t) return;
|
|
5212
|
-
const n = t.scene, i = n.getViewport(
|
|
5208
|
+
const n = t.scene, i = n.getViewport(U.VIEW_MAIN), o = n.getViewport(U.VIEW_COLUMN_RIGHT), s = n.getViewport(U.VIEW_ROW_BOTTOM), l = n.getViewport(U.VIEW_MAIN_LEFT), a = n.getViewport(U.VIEW_MAIN_TOP);
|
|
5213
5209
|
i && (i.viewportScrollX = r, i.viewportScrollY = e), s && (s.viewportScrollY = e), o && (o.viewportScrollX = r), l && (l.viewportScrollY = e), a && (a.viewportScrollX = r);
|
|
5214
5210
|
}
|
|
5215
5211
|
scrollToRange(r, e, t) {
|
|
@@ -5279,7 +5275,7 @@ let ho = class extends oe {
|
|
|
5279
5275
|
return;
|
|
5280
5276
|
const { startRow: l, startColumn: a, endRow: c, endColumn: d } = s;
|
|
5281
5277
|
let u = 0, h = 0;
|
|
5282
|
-
t > l ? u = i : i < c ? u = t : u = l, n > a ? h = o : o < d ? h = n : h = a, r.direction ===
|
|
5278
|
+
t > l ? u = i : i < c ? u = t : u = l, n > a ? h = o : o < d ? h = n : h = a, r.direction === F.DOWN ? u = i : r.direction === F.UP ? u = t : r.direction === F.RIGHT ? h = o : r.direction === F.LEFT && (h = n), this._scrollToCell(u, h);
|
|
5283
5279
|
}, 0);
|
|
5284
5280
|
}
|
|
5285
5281
|
_getFreeze() {
|
|
@@ -5333,7 +5329,7 @@ let ho = class extends oe {
|
|
|
5333
5329
|
const r = (i = this._getSheetObject()) == null ? void 0 : i.scene;
|
|
5334
5330
|
if (r == null)
|
|
5335
5331
|
return;
|
|
5336
|
-
const e = r.getViewport(
|
|
5332
|
+
const e = r.getViewport(U.VIEW_MAIN);
|
|
5337
5333
|
if (e == null)
|
|
5338
5334
|
return;
|
|
5339
5335
|
const t = (o = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : o.skeleton;
|
|
@@ -5350,7 +5346,7 @@ let ho = class extends oe {
|
|
|
5350
5346
|
if (i == null || o == null) return !1;
|
|
5351
5347
|
const s = (T = this._getSheetObject()) == null ? void 0 : T.scene;
|
|
5352
5348
|
if (s == null) return !1;
|
|
5353
|
-
const l = s.getViewport(
|
|
5349
|
+
const l = s.getViewport(U.VIEW_MAIN);
|
|
5354
5350
|
if (l == null) return !1;
|
|
5355
5351
|
const a = (P = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : P.skeleton;
|
|
5356
5352
|
if (a == null) return !1;
|
|
@@ -5407,7 +5403,7 @@ let ho = class extends oe {
|
|
|
5407
5403
|
}
|
|
5408
5404
|
};
|
|
5409
5405
|
ho = f1([
|
|
5410
|
-
Nr(1, k(
|
|
5406
|
+
Nr(1, k(bt)),
|
|
5411
5407
|
Nr(2, k(he)),
|
|
5412
5408
|
Nr(3, ke),
|
|
5413
5409
|
Nr(4, L),
|
|
@@ -5416,7 +5412,7 @@ ho = f1([
|
|
|
5416
5412
|
], ho);
|
|
5417
5413
|
const hm = {
|
|
5418
5414
|
id: "sheet.operation.scroll-to-range",
|
|
5419
|
-
type:
|
|
5415
|
+
type: Q.OPERATION,
|
|
5420
5416
|
handler: (r, e) => {
|
|
5421
5417
|
if (!e)
|
|
5422
5418
|
return !1;
|
|
@@ -5458,7 +5454,7 @@ class v1 {
|
|
|
5458
5454
|
this._state$.next(e);
|
|
5459
5455
|
}
|
|
5460
5456
|
}
|
|
5461
|
-
const
|
|
5457
|
+
const Ql = jt(
|
|
5462
5458
|
"univer.sheet-cell-editor-manager.service"
|
|
5463
5459
|
), Nt = "sheets-ui.config", Vc = {
|
|
5464
5460
|
formulaBar: !0,
|
|
@@ -5795,7 +5791,7 @@ function Em(r, e) {
|
|
|
5795
5791
|
{ keyCode: Y.TAB }
|
|
5796
5792
|
],
|
|
5797
5793
|
handler: (o) => {
|
|
5798
|
-
(o === Y.ENTER || o === Y.ESC || o === Y.TAB) && (t.disableForceKeepVisible(), n.
|
|
5794
|
+
(o === Y.ENTER || o === Y.ESC || o === Y.TAB) && (t.disableForceKeepVisible(), n.executeCommand(tt.id, {
|
|
5799
5795
|
visible: !1,
|
|
5800
5796
|
eventType: ze.Keyboard,
|
|
5801
5797
|
keycode: o,
|
|
@@ -5812,7 +5808,7 @@ const Fs = -1e3, zu = {
|
|
|
5812
5808
|
}, j1 = () => {
|
|
5813
5809
|
const [r, e] = re({
|
|
5814
5810
|
...zu
|
|
5815
|
-
}), t = D(
|
|
5811
|
+
}), t = D(Ql), n = D(Si), i = D(ke), o = D(Zt), s = D(qe), l = ht(s.visible$), a = D(L), c = Tn(0), d = ht(
|
|
5816
5812
|
() => i.subscribeContextValue$(Su),
|
|
5817
5813
|
!1,
|
|
5818
5814
|
void 0,
|
|
@@ -5946,7 +5942,7 @@ const $l = jt(
|
|
|
5946
5942
|
"univer.sheet-formula-editor-manager.service"
|
|
5947
5943
|
), go = "DefinedNameContainer", zd = {
|
|
5948
5944
|
id: "sidebar.operation.defined-name",
|
|
5949
|
-
type:
|
|
5945
|
+
type: Q.COMMAND,
|
|
5950
5946
|
handler: async (r, e) => {
|
|
5951
5947
|
const t = r.get(wi);
|
|
5952
5948
|
r.get(Si);
|
|
@@ -6119,7 +6115,7 @@ function q1(r) {
|
|
|
6119
6115
|
), l = D($l), a = D(qe), c = D(ft), d = D($e), u = D(N), h = D($), g = D(rt), m = D(Wo), f = D(L), [v, p] = re({
|
|
6120
6116
|
editDisable: !1,
|
|
6121
6117
|
viewDisable: !1
|
|
6122
|
-
}), [C, _] = re(!1), S = D(Zt), I = ht(() => u.getCurrentTypeOfUnit$(x.UNIVER_SHEET), void 0, void 0, []), R = Tn(0), y = ht(a.currentEditCellState$), M = Em(R, (ne = y == null ? void 0 : y.unitId) != null ? ne : ""), E = S.get(Ad), T =
|
|
6118
|
+
}), [C, _] = re(!1), S = D(Zt), I = ht(() => u.getCurrentTypeOfUnit$(x.UNIVER_SHEET), void 0, void 0, []), R = Tn(0), y = ht(a.currentEditCellState$), M = Em(R, (ne = y == null ? void 0 : y.unitId) != null ? ne : ""), E = S.get(Ad), T = Kh(om.FORMULA_AUX), P = D(ke);
|
|
6123
6119
|
ht(wt(() => P.subscribeContextValue$(Ot), [P]));
|
|
6124
6120
|
const A = P.getContextValue(Ot), H = Tn(null), O = D(Si);
|
|
6125
6121
|
eS(() => {
|
|
@@ -6145,16 +6141,16 @@ function q1(r) {
|
|
|
6145
6141
|
).subscribe((de) => {
|
|
6146
6142
|
var it, ot, vt, _t, Bn, Fn;
|
|
6147
6143
|
if (de) {
|
|
6148
|
-
const { unitId:
|
|
6149
|
-
if (c.getRule(
|
|
6150
|
-
const Ip = !((ot = (it = g.getPermissionPoint(new te(
|
|
6144
|
+
const { unitId: Qo, subUnitId: Jo, primary: _p } = de;
|
|
6145
|
+
if (c.getRule(Qo, Jo)) {
|
|
6146
|
+
const Ip = !((ot = (it = g.getPermissionPoint(new te(Qo, Jo).id)) == null ? void 0 : it.value) == null || ot), yp = !((_t = (vt = g.getPermissionPoint(new rg(Qo, Jo).id)) == null ? void 0 : vt.value) == null || _t);
|
|
6151
6147
|
p({
|
|
6152
6148
|
viewDisable: yp,
|
|
6153
6149
|
editDisable: Ip
|
|
6154
6150
|
});
|
|
6155
6151
|
return;
|
|
6156
6152
|
}
|
|
6157
|
-
const { actualRow: bp, actualColumn: Rp } = _p, Hr = m.getCellInfo(
|
|
6153
|
+
const { actualRow: bp, actualColumn: Rp } = _p, Hr = m.getCellInfo(Qo, Jo, bp, Rp);
|
|
6158
6154
|
p({
|
|
6159
6155
|
editDisable: !((Bn = Hr == null ? void 0 : Hr[ro.Edit]) == null || Bn),
|
|
6160
6156
|
viewDisable: !((Fn = Hr == null ? void 0 : Hr[ro.View]) == null || Fn)
|
|
@@ -6346,7 +6342,7 @@ function q1(r) {
|
|
|
6346
6342
|
)
|
|
6347
6343
|
] })
|
|
6348
6344
|
] }),
|
|
6349
|
-
/* @__PURE__ */ w(
|
|
6345
|
+
/* @__PURE__ */ w(Qh, { components: T }, "formula-aux")
|
|
6350
6346
|
]
|
|
6351
6347
|
}
|
|
6352
6348
|
);
|
|
@@ -6418,7 +6414,7 @@ function vs(r) {
|
|
|
6418
6414
|
}
|
|
6419
6415
|
);
|
|
6420
6416
|
}
|
|
6421
|
-
function
|
|
6417
|
+
function K1() {
|
|
6422
6418
|
const [r, e] = re([]), [t, n] = re(!1), i = D(N), o = D(L), s = D(Or), l = D(ft), a = ht(() => i.getCurrentTypeOfUnit$(x.UNIVER_SHEET), null, !1, []), c = (f) => {
|
|
6423
6419
|
const { sheetId: v } = f;
|
|
6424
6420
|
!v || !a || (f.hidden ? o.executeCommand(gd.id, {
|
|
@@ -6435,7 +6431,7 @@ function Q1() {
|
|
|
6435
6431
|
label: C.getName(),
|
|
6436
6432
|
index: `${_}`,
|
|
6437
6433
|
sheetId: C.getSheetId(),
|
|
6438
|
-
hidden: C.isSheetHidden() ===
|
|
6434
|
+
hidden: C.isSheetHidden() === Qe.TRUE,
|
|
6439
6435
|
selected: v === C
|
|
6440
6436
|
}));
|
|
6441
6437
|
e(p);
|
|
@@ -6494,7 +6490,7 @@ function Q1() {
|
|
|
6494
6490
|
}
|
|
6495
6491
|
);
|
|
6496
6492
|
}
|
|
6497
|
-
function
|
|
6493
|
+
function Q1(r) {
|
|
6498
6494
|
const { sheetId: e, label: t, color: n, selected: i, menuOverlay: o } = r, [s, l] = re(i), a = D(At);
|
|
6499
6495
|
Me(() => {
|
|
6500
6496
|
l(i);
|
|
@@ -6648,7 +6644,7 @@ class vr {
|
|
|
6648
6644
|
}
|
|
6649
6645
|
selectAll() {
|
|
6650
6646
|
const e = this.getEditor();
|
|
6651
|
-
e &&
|
|
6647
|
+
e && Kr.keepSelectAll(e);
|
|
6652
6648
|
}
|
|
6653
6649
|
isEditMode() {
|
|
6654
6650
|
return this._editMode;
|
|
@@ -6686,11 +6682,11 @@ class vr {
|
|
|
6686
6682
|
setTimeout(() => {
|
|
6687
6683
|
if (t) {
|
|
6688
6684
|
const u = n.innerText;
|
|
6689
|
-
u.length > d && (n.innerText = u.substring(0, d),
|
|
6685
|
+
u.length > d && (n.innerText = u.substring(0, d), Kr.keepLastIndex(n));
|
|
6690
6686
|
}
|
|
6691
6687
|
}, 0);
|
|
6692
6688
|
};
|
|
6693
|
-
n && (n.setAttribute("contentEditable", "true"), n.addEventListener("focusout", i), n.addEventListener("compositionstart", s), n.addEventListener("compositionend", l), n.addEventListener("input", a), n.addEventListener("keydown", o), this._editMode = !0,
|
|
6689
|
+
n && (n.setAttribute("contentEditable", "true"), n.addEventListener("focusout", i), n.addEventListener("compositionstart", s), n.addEventListener("compositionend", l), n.addEventListener("input", a), n.addEventListener("keydown", o), this._editMode = !0, Kr.keepSelectAll(n));
|
|
6694
6690
|
}
|
|
6695
6691
|
}
|
|
6696
6692
|
nameCheck() {
|
|
@@ -7088,7 +7084,7 @@ const Zr = class Zr {
|
|
|
7088
7084
|
b(Zr, "LongPressDelay", 500), // in milliseconds
|
|
7089
7085
|
/** Time in milliseconds with two consecutive clicks will be considered as a double click */
|
|
7090
7086
|
b(Zr, "DoubleClickDelay", 300);
|
|
7091
|
-
let
|
|
7087
|
+
let Kr = Zr;
|
|
7092
7088
|
function nw() {
|
|
7093
7089
|
var _e;
|
|
7094
7090
|
const [r, e] = re([]), [t, n] = re(""), [i, o] = re(""), [s, l] = re(!1), [a, c] = re([0, 0]), d = Tn({ slideTabBar: null }), u = Tn(null), h = D(L), g = D(Or), m = D(Pe), f = D(rn), v = D(qe, uc.OPTIONAL), p = D(ft), C = D($e), _ = ht(p.resetOrder$), S = Pr(), I = D(rt), R = On(() => {
|
|
@@ -7136,7 +7132,7 @@ function nw() {
|
|
|
7136
7132
|
};
|
|
7137
7133
|
}, [p, R]);
|
|
7138
7134
|
const y = () => {
|
|
7139
|
-
const G = new
|
|
7135
|
+
const G = new Kr({
|
|
7140
7136
|
slideTabBarSelector: "[data-u-comp=slide-tab-bar]",
|
|
7141
7137
|
slideTabBarItemSelector: "[data-u-comp=slide-tab-item]",
|
|
7142
7138
|
slideTabBarItemAutoSort: !0,
|
|
@@ -7194,7 +7190,7 @@ function nw() {
|
|
|
7194
7190
|
}
|
|
7195
7191
|
return !1;
|
|
7196
7192
|
}, P = (G) => {
|
|
7197
|
-
if (!
|
|
7193
|
+
if (!Kp(G)) {
|
|
7198
7194
|
const ee = "sheetNameSpecCharAlert";
|
|
7199
7195
|
return f.open({
|
|
7200
7196
|
id: ee,
|
|
@@ -7327,7 +7323,7 @@ function nw() {
|
|
|
7327
7323
|
"data-u-comp": "slide-tab-bar",
|
|
7328
7324
|
className: "univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden univer-px-1.5 univer-py-1",
|
|
7329
7325
|
style: { boxShadow: i },
|
|
7330
|
-
children: r.map((G) => /* @__PURE__ */ st(
|
|
7326
|
+
children: r.map((G) => /* @__PURE__ */ st(Q1, { ...G, key: G.sheetId, selected: t === G.sheetId }))
|
|
7331
7327
|
}
|
|
7332
7328
|
)
|
|
7333
7329
|
}
|
|
@@ -7337,12 +7333,12 @@ function nw() {
|
|
|
7337
7333
|
}
|
|
7338
7334
|
const rw = 100, iw = () => {
|
|
7339
7335
|
var f, v;
|
|
7340
|
-
const [r, e] = re(!0), [t, n] = re(!0), i = D(L), o = D(Or), s = D(rt), a = Pr().getUnitId(), c = ht(s.getPermissionPoint$((f = new
|
|
7336
|
+
const [r, e] = re(!0), [t, n] = re(!0), i = D(L), o = D(Or), s = D(rt), a = Pr().getUnitId(), c = ht(s.getPermissionPoint$((f = new K(a)) == null ? void 0 : f.id)), d = ht(s.getPermissionPoint$((v = new sg(a)) == null ? void 0 : v.id)), u = (p) => {
|
|
7341
7337
|
const { leftEnd: C, rightEnd: _ } = p;
|
|
7342
7338
|
e(C), n(_);
|
|
7343
7339
|
};
|
|
7344
7340
|
Me(() => {
|
|
7345
|
-
const p = o.scroll$.subscribe(
|
|
7341
|
+
const p = o.scroll$.subscribe(Qp((C) => {
|
|
7346
7342
|
u(C);
|
|
7347
7343
|
}, 100));
|
|
7348
7344
|
return () => {
|
|
@@ -7369,7 +7365,7 @@ const rw = 100, iw = () => {
|
|
|
7369
7365
|
children: /* @__PURE__ */ w(Fd, {})
|
|
7370
7366
|
}
|
|
7371
7367
|
),
|
|
7372
|
-
/* @__PURE__ */ w(
|
|
7368
|
+
/* @__PURE__ */ w(K1, {})
|
|
7373
7369
|
] }),
|
|
7374
7370
|
/* @__PURE__ */ w(nw, {}),
|
|
7375
7371
|
(!r || !t) && /* @__PURE__ */ q(
|
|
@@ -7512,7 +7508,7 @@ const ea = jt("univer.sheet-status-bar.service"), aw = [
|
|
|
7512
7508
|
}, cw = (r) => {
|
|
7513
7509
|
const e = D(Pe), t = D(Jh), n = D(Ol), i = dw(r), o = async () => {
|
|
7514
7510
|
await n.writeText(r.value.toString()), t.show({
|
|
7515
|
-
type:
|
|
7511
|
+
type: Qg.Success,
|
|
7516
7512
|
content: e.t("statusbar.copied")
|
|
7517
7513
|
});
|
|
7518
7514
|
};
|
|
@@ -7727,7 +7723,7 @@ let Us = class extends oe {
|
|
|
7727
7723
|
let R = 0;
|
|
7728
7724
|
v === dn.MIDDLE ? R = (I - f) / 2 / s : v === dn.TOP ? R = C.t || 0 : R = (I - f) / s;
|
|
7729
7725
|
let y = 0;
|
|
7730
|
-
p ===
|
|
7726
|
+
p === Rt.CENTER ? y = (S - m) / 2 / o : p === Rt.RIGHT ? y = (S - m) / o : y = C.l || 0, R = R < (C.t || 0) ? C.t || 0 : R, y = y < (C.l || 0) ? C.l || 0 : y, u.updateDocumentDataMargin({
|
|
7731
7727
|
t: R,
|
|
7732
7728
|
l: y
|
|
7733
7729
|
}), h.calculate(), this._editAreaProcessing(
|
|
@@ -7762,7 +7758,7 @@ let Us = class extends oe {
|
|
|
7762
7758
|
const m = t.getActualSize();
|
|
7763
7759
|
let f = l - s;
|
|
7764
7760
|
return f < m.actualWidth * i + Yu * i && (f = m.actualWidth * i + Yu * i), u == null || u.updateDocumentDataPageSize(f / i), u == null || u.updateDocumentRenderConfig({
|
|
7765
|
-
horizontalAlign:
|
|
7761
|
+
horizontalAlign: Rt.UNSPECIFIED,
|
|
7766
7762
|
cellValueType: void 0
|
|
7767
7763
|
}), {
|
|
7768
7764
|
actualWidth: m.actualWidth * i,
|
|
@@ -7780,10 +7776,10 @@ let Us = class extends oe {
|
|
|
7780
7776
|
if (!o) return;
|
|
7781
7777
|
const s = o.getCanvasElement(), l = s.getBoundingClientRect(), a = i(s.style.width), { width: c } = l, d = c / a, { startX: u, startY: h, endX: g } = r, m = o.width, f = ((_ = (C = this._configService.getConfig(cd)) == null ? void 0 : C.footer) == null || _) && ((I = (S = this._configService.getConfig(Nt)) == null ? void 0 : S.footer) == null || I) ? xm : 0, v = document.body.clientHeight - h - f - e.top - Zu * 2;
|
|
7782
7778
|
let p = c - u;
|
|
7783
|
-
if (t ===
|
|
7779
|
+
if (t === Rt.CENTER) {
|
|
7784
7780
|
const R = m - g, y = u;
|
|
7785
7781
|
p = g - u + Math.min(y, R) * 2;
|
|
7786
|
-
} else t ===
|
|
7782
|
+
} else t === Rt.RIGHT && (p = g);
|
|
7787
7783
|
return {
|
|
7788
7784
|
height: v,
|
|
7789
7785
|
width: p - Zu,
|
|
@@ -7825,7 +7821,7 @@ let Us = class extends oe {
|
|
|
7825
7821
|
const T = this._layoutService.getContentElement().getBoundingClientRect(), P = u.getBoundingClientRect();
|
|
7826
7822
|
h = h * I + (P.left - T.left), g = g * I + (P.top - T.top);
|
|
7827
7823
|
const A = t.endX - t.startX;
|
|
7828
|
-
l ===
|
|
7824
|
+
l === Rt.RIGHT ? h += (A - r) * I : l === Rt.CENTER && (h += (A - r * I) / 2), this._cellEditorManagerService.setState({
|
|
7829
7825
|
startX: h,
|
|
7830
7826
|
startY: g,
|
|
7831
7827
|
endX: r * I + h,
|
|
@@ -7878,12 +7874,12 @@ let Us = class extends oe {
|
|
|
7878
7874
|
}
|
|
7879
7875
|
_getEditorSkeleton() {
|
|
7880
7876
|
var r;
|
|
7881
|
-
return (r = this._renderManagerService.getRenderById(Le)) == null ? void 0 : r.with(
|
|
7877
|
+
return (r = this._renderManagerService.getRenderById(Le)) == null ? void 0 : r.with(Kn).getSkeleton();
|
|
7882
7878
|
}
|
|
7883
7879
|
};
|
|
7884
7880
|
Us = vw([
|
|
7885
7881
|
Dr(0, Al),
|
|
7886
|
-
Dr(1,
|
|
7882
|
+
Dr(1, Ql),
|
|
7887
7883
|
Dr(2, qe),
|
|
7888
7884
|
Dr(3, Ce),
|
|
7889
7885
|
Dr(4, N),
|
|
@@ -7891,7 +7887,7 @@ Us = vw([
|
|
|
7891
7887
|
], Us);
|
|
7892
7888
|
const jd = {
|
|
7893
7889
|
id: "sheet.operation.set-activate-cell-edit",
|
|
7894
|
-
type:
|
|
7890
|
+
type: Q.OPERATION,
|
|
7895
7891
|
handler: (r, e) => (r.get(qe).setEditCell(e), !0)
|
|
7896
7892
|
};
|
|
7897
7893
|
var Sw = Object.getOwnPropertyDescriptor, Cw = (r, e, t, n) => {
|
|
@@ -8372,7 +8368,7 @@ var Lw = Object.getOwnPropertyDescriptor, Ww = (r, e, t, n) => {
|
|
|
8372
8368
|
for (var i = n > 1 ? void 0 : n ? Lw(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
8373
8369
|
(s = r[o]) && (i = s(i) || i);
|
|
8374
8370
|
return i;
|
|
8375
|
-
},
|
|
8371
|
+
}, It = (r, e) => (t, n) => e(t, n, r);
|
|
8376
8372
|
const Gu = -1e3;
|
|
8377
8373
|
let zs = class extends oe {
|
|
8378
8374
|
constructor(e, t, n, i, o, s, l, a, c, d, u, h, g, m, f) {
|
|
@@ -8631,10 +8627,10 @@ let zs = class extends oe {
|
|
|
8631
8627
|
}));
|
|
8632
8628
|
}
|
|
8633
8629
|
async _handleEditorInvisible(e) {
|
|
8634
|
-
var
|
|
8630
|
+
var v, p;
|
|
8635
8631
|
const t = this._editorBridgeService.getEditCellState(), n = this._univerInstanceService.getUnit(Le), i = le.deepClone(n == null ? void 0 : n.getSnapshot()), { keycode: o } = e;
|
|
8636
8632
|
this._cursorChange = 0;
|
|
8637
|
-
const s = (
|
|
8633
|
+
const s = (v = t == null ? void 0 : t.unitId) != null ? v : "";
|
|
8638
8634
|
if (this._exitInput(e), t == null)
|
|
8639
8635
|
return;
|
|
8640
8636
|
const l = this._univerInstanceService.getUnit(s, x.UNIVER_SHEET);
|
|
@@ -8644,12 +8640,16 @@ let zs = class extends oe {
|
|
|
8644
8640
|
if (c === u && h !== d && await this._commandService.executeCommand(pd.id, {
|
|
8645
8641
|
subUnitId: h,
|
|
8646
8642
|
unitId: u
|
|
8647
|
-
}),
|
|
8643
|
+
}), this._editorBridgeService.getEditorDirty() === !1) {
|
|
8644
|
+
this._editorBridgeService.isForceKeepVisible() && this._editorBridgeService.disableForceKeepVisible(), this._moveSelection(o, s, d);
|
|
8645
|
+
return;
|
|
8646
|
+
}
|
|
8647
|
+
if (o === Y.ESC) {
|
|
8648
8648
|
this._editorBridgeService.isForceKeepVisible() && this._editorBridgeService.disableForceKeepVisible(), this._refreshCurrentSelections(h);
|
|
8649
8649
|
return;
|
|
8650
8650
|
}
|
|
8651
|
-
const
|
|
8652
|
-
i && !(
|
|
8651
|
+
const m = ((p = i == null ? void 0 : i.body) == null ? void 0 : p.dataStream.length) === 2, f = t.documentLayoutObject.documentModel ? this._isCellImageData(t.documentLayoutObject.documentModel.getSnapshot()) : !1;
|
|
8652
|
+
i && !(m && f) && await this._submitEdit(i, o === (Se.CTRL_COMMAND | Y.ENTER) || o === (Se.MAC_CTRL | Y.ENTER)) === !1 || this._moveSelection(o, s, d);
|
|
8653
8653
|
}
|
|
8654
8654
|
_getEditorObject() {
|
|
8655
8655
|
return Od(this._editorBridgeService.getCurrentEditorId(), this._renderManagerService);
|
|
@@ -8718,25 +8718,25 @@ let zs = class extends oe {
|
|
|
8718
8718
|
this._refreshCurrentSelections(n);
|
|
8719
8719
|
return;
|
|
8720
8720
|
}
|
|
8721
|
-
let i =
|
|
8721
|
+
let i = F.LEFT;
|
|
8722
8722
|
switch (e) {
|
|
8723
8723
|
case Y.ENTER:
|
|
8724
|
-
i =
|
|
8724
|
+
i = F.DOWN;
|
|
8725
8725
|
break;
|
|
8726
8726
|
case Y.TAB:
|
|
8727
|
-
i =
|
|
8727
|
+
i = F.RIGHT;
|
|
8728
8728
|
break;
|
|
8729
8729
|
case Y.ARROW_DOWN:
|
|
8730
|
-
i =
|
|
8730
|
+
i = F.DOWN;
|
|
8731
8731
|
break;
|
|
8732
8732
|
case Y.ARROW_UP:
|
|
8733
|
-
i =
|
|
8733
|
+
i = F.UP;
|
|
8734
8734
|
break;
|
|
8735
8735
|
case Y.ARROW_LEFT:
|
|
8736
|
-
i =
|
|
8736
|
+
i = F.LEFT;
|
|
8737
8737
|
break;
|
|
8738
8738
|
case Y.ARROW_RIGHT:
|
|
8739
|
-
i =
|
|
8739
|
+
i = F.RIGHT;
|
|
8740
8740
|
break;
|
|
8741
8741
|
}
|
|
8742
8742
|
const o = this._univerInstanceService.getCurrentUnitOfType(x.UNIVER_SHEET);
|
|
@@ -8761,8 +8761,8 @@ let zs = class extends oe {
|
|
|
8761
8761
|
}
|
|
8762
8762
|
// TODO: @JOCS, is it necessary to move these commands MoveSelectionOperation\MoveCursorOperation to shortcut? and use multi-commands?
|
|
8763
8763
|
_moveInEditor(e, t) {
|
|
8764
|
-
let n =
|
|
8765
|
-
e === Y.ARROW_DOWN ? n =
|
|
8764
|
+
let n = F.LEFT;
|
|
8765
|
+
e === Y.ARROW_DOWN ? n = F.DOWN : e === Y.ARROW_UP ? n = F.UP : e === Y.ARROW_RIGHT && (n = F.RIGHT), t ? this._commandService.executeCommand(Ap.id, {
|
|
8766
8766
|
direction: n
|
|
8767
8767
|
}) : this._commandService.executeCommand(Hp.id, {
|
|
8768
8768
|
direction: n
|
|
@@ -8773,11 +8773,11 @@ let zs = class extends oe {
|
|
|
8773
8773
|
}
|
|
8774
8774
|
_getEditorSkeleton(e) {
|
|
8775
8775
|
var t;
|
|
8776
|
-
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(
|
|
8776
|
+
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(Kn).getSkeleton();
|
|
8777
8777
|
}
|
|
8778
8778
|
_getEditorViewModel(e) {
|
|
8779
8779
|
var t;
|
|
8780
|
-
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(
|
|
8780
|
+
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(Kn).getViewModel();
|
|
8781
8781
|
}
|
|
8782
8782
|
_getEditingUnit() {
|
|
8783
8783
|
return this._editingUnit ? this._univerInstanceService.getUnit(this._editingUnit, x.UNIVER_SHEET) : null;
|
|
@@ -8793,21 +8793,21 @@ let zs = class extends oe {
|
|
|
8793
8793
|
}
|
|
8794
8794
|
};
|
|
8795
8795
|
zs = Ww([
|
|
8796
|
-
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8796
|
+
It(0, Yt),
|
|
8797
|
+
It(1, ke),
|
|
8798
|
+
It(2, Ce),
|
|
8799
|
+
It(3, qe),
|
|
8800
|
+
It(4, Ql),
|
|
8801
|
+
It(5, k(jg)),
|
|
8802
|
+
It(6, Yg),
|
|
8803
|
+
It(7, k(Md)),
|
|
8804
|
+
It(8, L),
|
|
8805
|
+
It(9, k(Pe)),
|
|
8806
|
+
It(10, Si),
|
|
8807
|
+
It(11, N),
|
|
8808
|
+
It(12, k(vn)),
|
|
8809
|
+
It(13, k(Us)),
|
|
8810
|
+
It(14, k($))
|
|
8811
8811
|
], zs);
|
|
8812
8812
|
function Bw(r, e, t, n, i, o) {
|
|
8813
8813
|
var u, h, g;
|
|
@@ -8881,14 +8881,14 @@ var Uw = Object.getOwnPropertyDescriptor, Xw = (r, e, t, n) => {
|
|
|
8881
8881
|
(s = r[o]) && (i = s(i) || i);
|
|
8882
8882
|
return i;
|
|
8883
8883
|
}, Ta = (r, e) => (t, n) => e(t, n, r);
|
|
8884
|
-
const
|
|
8884
|
+
const Ku = nm.MARK_SELECTION, Ri = jt("univer.mark-selection-service");
|
|
8885
8885
|
let js = class extends oe {
|
|
8886
8886
|
constructor(e, t, n) {
|
|
8887
8887
|
super();
|
|
8888
8888
|
b(this, "_shapeMap", /* @__PURE__ */ new Map());
|
|
8889
8889
|
this._currentService = e, this._renderManagerService = t, this._themeService = n;
|
|
8890
8890
|
}
|
|
8891
|
-
addShape(e, t = [], n =
|
|
8891
|
+
addShape(e, t = [], n = Ku) {
|
|
8892
8892
|
var a;
|
|
8893
8893
|
const i = this._currentService.getCurrentUnitForType(x.UNIVER_SHEET), o = (a = i.getActiveSheet()) == null ? void 0 : a.getSheetId();
|
|
8894
8894
|
if (!o) return null;
|
|
@@ -8902,7 +8902,7 @@ let js = class extends oe {
|
|
|
8902
8902
|
};
|
|
8903
8903
|
return this._shapeMap.set(s, l), this.refreshShapes(), s;
|
|
8904
8904
|
}
|
|
8905
|
-
addShapeWithNoFresh(e, t = [], n =
|
|
8905
|
+
addShapeWithNoFresh(e, t = [], n = Ku) {
|
|
8906
8906
|
var l;
|
|
8907
8907
|
const i = this._currentService.getCurrentUnitForType(x.UNIVER_SHEET), o = (l = i.getActiveSheet()) == null ? void 0 : l.getSheetId();
|
|
8908
8908
|
if (!o) return null;
|
|
@@ -9005,23 +9005,23 @@ function Ys(r, e) {
|
|
|
9005
9005
|
case "b":
|
|
9006
9006
|
case "em":
|
|
9007
9007
|
case "strong": {
|
|
9008
|
-
n.bl =
|
|
9008
|
+
n.bl = Qe.TRUE;
|
|
9009
9009
|
break;
|
|
9010
9010
|
}
|
|
9011
9011
|
case "s": {
|
|
9012
9012
|
n.st = {
|
|
9013
|
-
s:
|
|
9013
|
+
s: Qe.TRUE
|
|
9014
9014
|
};
|
|
9015
9015
|
break;
|
|
9016
9016
|
}
|
|
9017
9017
|
case "u": {
|
|
9018
9018
|
n.ul = {
|
|
9019
|
-
s:
|
|
9019
|
+
s: Qe.TRUE
|
|
9020
9020
|
};
|
|
9021
9021
|
break;
|
|
9022
9022
|
}
|
|
9023
9023
|
case "i": {
|
|
9024
|
-
n.it =
|
|
9024
|
+
n.it = Qe.TRUE;
|
|
9025
9025
|
break;
|
|
9026
9026
|
}
|
|
9027
9027
|
case "sub":
|
|
@@ -9036,15 +9036,15 @@ function qw(r, e) {
|
|
|
9036
9036
|
if (r instanceof CSSStyleDeclaration)
|
|
9037
9037
|
for (let t = 0; t < r.length; t++) {
|
|
9038
9038
|
const n = r[t], i = r.getPropertyValue(n);
|
|
9039
|
-
|
|
9039
|
+
Qu(n, i, e);
|
|
9040
9040
|
}
|
|
9041
9041
|
else
|
|
9042
9042
|
for (const t in r) {
|
|
9043
9043
|
const n = r[t];
|
|
9044
|
-
|
|
9044
|
+
Qu(t, n, e);
|
|
9045
9045
|
}
|
|
9046
9046
|
}
|
|
9047
|
-
function
|
|
9047
|
+
function Qu(r, e, t) {
|
|
9048
9048
|
switch (r) {
|
|
9049
9049
|
case "font-family":
|
|
9050
9050
|
t.ff = e;
|
|
@@ -9055,14 +9055,14 @@ function Ku(r, e, t) {
|
|
|
9055
9055
|
break;
|
|
9056
9056
|
}
|
|
9057
9057
|
case "font-style":
|
|
9058
|
-
e === "italic" && (t.it =
|
|
9058
|
+
e === "italic" && (t.it = Qe.TRUE);
|
|
9059
9059
|
break;
|
|
9060
9060
|
case "font-weight": {
|
|
9061
|
-
(Number(e) > 400 || e === "bold") && (t.bl =
|
|
9061
|
+
(Number(e) > 400 || e === "bold") && (t.bl = Qe.TRUE);
|
|
9062
9062
|
break;
|
|
9063
9063
|
}
|
|
9064
9064
|
case "text-decoration": {
|
|
9065
|
-
/underline/.test(e) ? t.ul = { s:
|
|
9065
|
+
/underline/.test(e) ? t.ul = { s: Qe.TRUE } : /overline/.test(e) ? t.ol = { s: Qe.TRUE } : /line-through/.test(e) && (t.st = { s: Qe.TRUE });
|
|
9066
9066
|
break;
|
|
9067
9067
|
}
|
|
9068
9068
|
case "color": {
|
|
@@ -9082,7 +9082,7 @@ function Ku(r, e, t) {
|
|
|
9082
9082
|
}
|
|
9083
9083
|
}
|
|
9084
9084
|
}
|
|
9085
|
-
function
|
|
9085
|
+
function Kw(r) {
|
|
9086
9086
|
const e = document.createElement("body");
|
|
9087
9087
|
return e.innerHTML = r, e;
|
|
9088
9088
|
}
|
|
@@ -9174,7 +9174,7 @@ const Il = class Il {
|
|
|
9174
9174
|
const t = Il._pluginList.find((f) => f.checkPasteType(e));
|
|
9175
9175
|
t && (this._styleRules = [...t.stylesRules], this._afterProcessRules = [...t.afterProcessRules]);
|
|
9176
9176
|
const n = new Ge();
|
|
9177
|
-
this._dom =
|
|
9177
|
+
this._dom = Kw(e);
|
|
9178
9178
|
const i = this._dom.querySelector("style");
|
|
9179
9179
|
if (i) {
|
|
9180
9180
|
const f = document.createElement("div"), v = f.attachShadow({ mode: "open" });
|
|
@@ -9300,7 +9300,7 @@ const Il = class Il {
|
|
|
9300
9300
|
}
|
|
9301
9301
|
_parseTable(e, t) {
|
|
9302
9302
|
var l, a;
|
|
9303
|
-
const n = new Ge(), i = (l = Jw(e)) != null ? l : [], { rowProperties: o = [] } =
|
|
9303
|
+
const n = new Ge(), i = (l = Jw(e)) != null ? l : [], { rowProperties: o = [] } = Qw(e), s = this._parseTableByHtml(this._dom, t, (a = this._getCurrentSkeleton()) == null ? void 0 : a.skeleton);
|
|
9304
9304
|
return s && s.forValue((c, d, u) => {
|
|
9305
9305
|
var m, f, v, p, C, _, S, I, R, y, M, E, T, P, A, H, O, V, W, j, B, z, Z, ce;
|
|
9306
9306
|
let h = Hv(void 0, u.style);
|
|
@@ -9500,7 +9500,7 @@ const Il = class Il {
|
|
|
9500
9500
|
};
|
|
9501
9501
|
b(Il, "_pluginList", []);
|
|
9502
9502
|
let di = Il;
|
|
9503
|
-
function
|
|
9503
|
+
function Qw(r) {
|
|
9504
9504
|
const e = /<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi, t = r.matchAll(e);
|
|
9505
9505
|
if (!t)
|
|
9506
9506
|
return {
|
|
@@ -9589,7 +9589,7 @@ const t0 = {
|
|
|
9589
9589
|
const e = Ys(r);
|
|
9590
9590
|
return {
|
|
9591
9591
|
st: {
|
|
9592
|
-
s:
|
|
9592
|
+
s: Qe.TRUE
|
|
9593
9593
|
},
|
|
9594
9594
|
...e
|
|
9595
9595
|
};
|
|
@@ -9638,7 +9638,7 @@ const t0 = {
|
|
|
9638
9638
|
filter: ["b"],
|
|
9639
9639
|
getStyle(r) {
|
|
9640
9640
|
const e = Ys(r);
|
|
9641
|
-
return { bl:
|
|
9641
|
+
return { bl: Qe.TRUE, ...e };
|
|
9642
9642
|
}
|
|
9643
9643
|
}
|
|
9644
9644
|
],
|
|
@@ -10523,7 +10523,7 @@ Zs = g0([
|
|
|
10523
10523
|
Tt(10, k(At)),
|
|
10524
10524
|
Tt(11, k(Pe)),
|
|
10525
10525
|
Tt(12, k(tv)),
|
|
10526
|
-
Tt(13, k(
|
|
10526
|
+
Tt(13, k(bt))
|
|
10527
10527
|
], Zs);
|
|
10528
10528
|
function f0(r) {
|
|
10529
10529
|
let e = "";
|
|
@@ -10570,28 +10570,28 @@ function Hi() {
|
|
|
10570
10570
|
t: null
|
|
10571
10571
|
};
|
|
10572
10572
|
}
|
|
10573
|
-
const
|
|
10573
|
+
const Kd = 998, mn = {
|
|
10574
10574
|
id: Fv.id,
|
|
10575
10575
|
name: "sheet.command.copy",
|
|
10576
|
-
type:
|
|
10576
|
+
type: Q.COMMAND,
|
|
10577
10577
|
multi: !0,
|
|
10578
|
-
priority:
|
|
10578
|
+
priority: Kd,
|
|
10579
10579
|
preconditions: Yd,
|
|
10580
10580
|
handler: async (r) => r.get(on).copy()
|
|
10581
|
-
},
|
|
10581
|
+
}, Qd = {
|
|
10582
10582
|
id: Uv.id,
|
|
10583
10583
|
name: "sheet.command.cut",
|
|
10584
|
-
type:
|
|
10584
|
+
type: Q.COMMAND,
|
|
10585
10585
|
multi: !0,
|
|
10586
|
-
priority:
|
|
10586
|
+
priority: Kd,
|
|
10587
10587
|
preconditions: Yd,
|
|
10588
10588
|
handler: async (r) => r.get(on).cut()
|
|
10589
10589
|
}, fn = {
|
|
10590
10590
|
id: Xv.id,
|
|
10591
|
-
type:
|
|
10591
|
+
type: Q.COMMAND,
|
|
10592
10592
|
multi: !0,
|
|
10593
10593
|
name: "sheet.command.paste",
|
|
10594
|
-
priority:
|
|
10594
|
+
priority: Kd,
|
|
10595
10595
|
preconditions: Yd,
|
|
10596
10596
|
handler: async (r, e) => {
|
|
10597
10597
|
const n = await r.get(Ol).read(), i = r.get(on);
|
|
@@ -10599,40 +10599,40 @@ const Qd = 998, mn = {
|
|
|
10599
10599
|
}
|
|
10600
10600
|
}, Lc = {
|
|
10601
10601
|
id: zv,
|
|
10602
|
-
type:
|
|
10602
|
+
type: Q.COMMAND,
|
|
10603
10603
|
handler: async (r, e) => {
|
|
10604
10604
|
const t = r.get(on), { htmlContent: n, textContent: i, files: o } = e;
|
|
10605
10605
|
return t.legacyPaste(n, i, o), !0;
|
|
10606
10606
|
}
|
|
10607
|
-
},
|
|
10607
|
+
}, Qi = {
|
|
10608
10608
|
id: "sheet.command.paste-value",
|
|
10609
|
-
type:
|
|
10609
|
+
type: Q.COMMAND,
|
|
10610
10610
|
handler: async (r) => r.get(L).executeCommand(fn.id, { value: et.SPECIAL_PASTE_VALUE })
|
|
10611
10611
|
}, Ji = {
|
|
10612
10612
|
id: "sheet.command.paste-format",
|
|
10613
|
-
type:
|
|
10613
|
+
type: Q.COMMAND,
|
|
10614
10614
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10615
10615
|
value: et.SPECIAL_PASTE_FORMAT
|
|
10616
10616
|
})
|
|
10617
|
-
},
|
|
10617
|
+
}, Qr = {
|
|
10618
10618
|
id: "sheet.command.paste-col-width",
|
|
10619
|
-
type:
|
|
10619
|
+
type: Q.COMMAND,
|
|
10620
10620
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10621
10621
|
value: et.SPECIAL_PASTE_COL_WIDTH
|
|
10622
10622
|
})
|
|
10623
10623
|
}, $i = {
|
|
10624
10624
|
id: "sheet.command.paste-besides-border",
|
|
10625
|
-
type:
|
|
10625
|
+
type: Q.COMMAND,
|
|
10626
10626
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10627
10627
|
value: et.SPECIAL_PASTE_BESIDES_BORDER
|
|
10628
10628
|
})
|
|
10629
10629
|
}, jm = {
|
|
10630
10630
|
id: "sheet.command.optional-paste",
|
|
10631
|
-
type:
|
|
10631
|
+
type: Q.COMMAND,
|
|
10632
10632
|
handler: async (r, { type: e }) => r.get(on).rePasteWithPasteType(e)
|
|
10633
10633
|
}, na = {
|
|
10634
10634
|
id: "sheet.command.hide-row-confirm",
|
|
10635
|
-
type:
|
|
10635
|
+
type: Q.COMMAND,
|
|
10636
10636
|
handler: async (r) => {
|
|
10637
10637
|
var a;
|
|
10638
10638
|
const t = (a = r.get($).getCurrentSelections()) == null ? void 0 : a.map((c) => c.range);
|
|
@@ -10656,7 +10656,7 @@ const Qd = 998, mn = {
|
|
|
10656
10656
|
}
|
|
10657
10657
|
}, ra = {
|
|
10658
10658
|
id: "sheet.command.hide-col-confirm",
|
|
10659
|
-
type:
|
|
10659
|
+
type: Q.COMMAND,
|
|
10660
10660
|
handler: async (r) => {
|
|
10661
10661
|
var a;
|
|
10662
10662
|
const t = (a = r.get($).getCurrentSelections()) == null ? void 0 : a.map((c) => c.range);
|
|
@@ -10680,70 +10680,70 @@ const Qd = 998, mn = {
|
|
|
10680
10680
|
return await n.executeCommand(cg.id), !0;
|
|
10681
10681
|
}
|
|
10682
10682
|
}, Ii = {
|
|
10683
|
-
type:
|
|
10683
|
+
type: Q.COMMAND,
|
|
10684
10684
|
id: "sheet.command.set-range-bold",
|
|
10685
10685
|
handler: async (r) => {
|
|
10686
10686
|
const e = r.get(L);
|
|
10687
10687
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Vp.id) : e.executeCommand(vd.id);
|
|
10688
10688
|
}
|
|
10689
10689
|
}, yi = {
|
|
10690
|
-
type:
|
|
10690
|
+
type: Q.COMMAND,
|
|
10691
10691
|
id: "sheet.command.set-range-italic",
|
|
10692
10692
|
handler: async (r) => {
|
|
10693
10693
|
const e = r.get(L);
|
|
10694
10694
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(kp.id) : e.executeCommand(Sd.id);
|
|
10695
10695
|
}
|
|
10696
10696
|
}, Mi = {
|
|
10697
|
-
type:
|
|
10697
|
+
type: Q.COMMAND,
|
|
10698
10698
|
id: "sheet.command.set-range-underline",
|
|
10699
10699
|
handler: async (r) => {
|
|
10700
10700
|
const e = r.get(L);
|
|
10701
10701
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Np.id) : e.executeCommand(Cd.id);
|
|
10702
10702
|
}
|
|
10703
10703
|
}, Ei = {
|
|
10704
|
-
type:
|
|
10704
|
+
type: Q.COMMAND,
|
|
10705
10705
|
id: "sheet.command.set-range-stroke",
|
|
10706
10706
|
handler: async (r) => {
|
|
10707
10707
|
const e = r.get(L);
|
|
10708
10708
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Dp.id) : e.executeCommand(wd.id);
|
|
10709
10709
|
}
|
|
10710
10710
|
}, Ym = {
|
|
10711
|
-
type:
|
|
10711
|
+
type: Q.COMMAND,
|
|
10712
10712
|
id: "sheet.command.set-range-subscript",
|
|
10713
10713
|
handler: async (r) => {
|
|
10714
10714
|
const e = r.get(L);
|
|
10715
10715
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Lp.id) : !1;
|
|
10716
10716
|
}
|
|
10717
10717
|
}, Zm = {
|
|
10718
|
-
type:
|
|
10718
|
+
type: Q.COMMAND,
|
|
10719
10719
|
id: "sheet.command.set-range-superscript",
|
|
10720
10720
|
handler: async (r) => {
|
|
10721
10721
|
const e = r.get(L);
|
|
10722
10722
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Wp.id) : !1;
|
|
10723
10723
|
}
|
|
10724
10724
|
}, ia = {
|
|
10725
|
-
type:
|
|
10725
|
+
type: Q.COMMAND,
|
|
10726
10726
|
id: "sheet.command.set-range-fontsize",
|
|
10727
10727
|
handler: async (r, e) => {
|
|
10728
10728
|
const t = r.get(L);
|
|
10729
10729
|
return r.get(ke).getContextValue(Je) ? t.executeCommand(Bp.id, e) : t.executeCommand(_d.id, e);
|
|
10730
10730
|
}
|
|
10731
10731
|
}, oa = {
|
|
10732
|
-
type:
|
|
10732
|
+
type: Q.COMMAND,
|
|
10733
10733
|
id: "sheet.command.set-range-font-family",
|
|
10734
10734
|
handler: async (r, e) => {
|
|
10735
10735
|
const t = r.get(L);
|
|
10736
10736
|
return r.get(ke).getContextValue(Je) ? t.executeCommand(Fp.id, e) : t.executeCommand(bd.id, e);
|
|
10737
10737
|
}
|
|
10738
10738
|
}, mo = {
|
|
10739
|
-
type:
|
|
10739
|
+
type: Q.COMMAND,
|
|
10740
10740
|
id: "sheet.command.set-range-text-color",
|
|
10741
10741
|
handler: async (r, e) => {
|
|
10742
10742
|
const t = r.get(L);
|
|
10743
10743
|
return r.get(ke).getContextValue(Je) ? t.executeCommand(Nh.id, e) : t.executeCommand(dg.id, e);
|
|
10744
10744
|
}
|
|
10745
10745
|
}, Gm = {
|
|
10746
|
-
type:
|
|
10746
|
+
type: Q.COMMAND,
|
|
10747
10747
|
id: "sheet.command.reset-range-text-color",
|
|
10748
10748
|
handler: async (r) => {
|
|
10749
10749
|
const e = r.get(L), n = r.get(ke).getContextValue(Je), i = r.get(At);
|
|
@@ -10849,10 +10849,10 @@ Gs = _0([
|
|
|
10849
10849
|
], Gs);
|
|
10850
10850
|
const sa = {
|
|
10851
10851
|
id: "sheet.operation.set-format-painter",
|
|
10852
|
-
type:
|
|
10852
|
+
type: Q.OPERATION,
|
|
10853
10853
|
handler: (r, e) => e ? (r.get(Wn).setStatus(e.status), !0) : !1
|
|
10854
10854
|
}, Jd = {
|
|
10855
|
-
type:
|
|
10855
|
+
type: Q.COMMAND,
|
|
10856
10856
|
id: "sheet.command.set-infinite-format-painter",
|
|
10857
10857
|
handler: async (r) => {
|
|
10858
10858
|
const t = r.get(Wn).getStatus();
|
|
@@ -10860,7 +10860,7 @@ const sa = {
|
|
|
10860
10860
|
return t !== Xt.OFF ? n = Xt.OFF : n = Xt.INFINITE, r.get(L).executeCommand(sa.id, { status: n });
|
|
10861
10861
|
}
|
|
10862
10862
|
}, Yo = {
|
|
10863
|
-
type:
|
|
10863
|
+
type: Q.COMMAND,
|
|
10864
10864
|
id: "sheet.command.set-once-format-painter",
|
|
10865
10865
|
handler: async (r) => {
|
|
10866
10866
|
const t = r.get(Wn).getStatus();
|
|
@@ -10868,11 +10868,11 @@ const sa = {
|
|
|
10868
10868
|
return t !== Xt.OFF ? n = Xt.OFF : n = Xt.ONCE, r.get(L).executeCommand(sa.id, { status: n });
|
|
10869
10869
|
}
|
|
10870
10870
|
}, la = {
|
|
10871
|
-
type:
|
|
10871
|
+
type: Q.COMMAND,
|
|
10872
10872
|
id: "sheet.command.apply-format-painter",
|
|
10873
10873
|
handler: async (r, e) => r.get(Wn).applyFormatPainter(e.unitId, e.subUnitId, e.range)
|
|
10874
|
-
},
|
|
10875
|
-
type:
|
|
10874
|
+
}, Qn = {
|
|
10875
|
+
type: Q.COMMAND,
|
|
10876
10876
|
id: "sheet.command.set-selection-frozen",
|
|
10877
10877
|
handler: async (r, e) => {
|
|
10878
10878
|
const { type: t } = e || {}, n = r.get(N), i = r.get(Yt), o = Ue(n);
|
|
@@ -10906,16 +10906,16 @@ const sa = {
|
|
|
10906
10906
|
}), !0;
|
|
10907
10907
|
}
|
|
10908
10908
|
}, aa = {
|
|
10909
|
-
type:
|
|
10909
|
+
type: Q.COMMAND,
|
|
10910
10910
|
id: "sheet.command.set-row-frozen",
|
|
10911
|
-
handler: async (r) => (r.get(L).executeCommand(
|
|
10911
|
+
handler: async (r) => (r.get(L).executeCommand(Qn.id, {
|
|
10912
10912
|
type: 1
|
|
10913
10913
|
/* Row */
|
|
10914
10914
|
}), !0)
|
|
10915
10915
|
}, ca = {
|
|
10916
|
-
type:
|
|
10916
|
+
type: Q.COMMAND,
|
|
10917
10917
|
id: "sheet.command.set-col-frozen",
|
|
10918
|
-
handler: async (r) => (r.get(L).executeCommand(
|
|
10918
|
+
handler: async (r) => (r.get(L).executeCommand(Qn.id, {
|
|
10919
10919
|
type: 2
|
|
10920
10920
|
/* Column */
|
|
10921
10921
|
}), !0)
|
|
@@ -10978,7 +10978,7 @@ fo = R0([
|
|
|
10978
10978
|
sh(1, k(N))
|
|
10979
10979
|
], fo);
|
|
10980
10980
|
const da = {
|
|
10981
|
-
type:
|
|
10981
|
+
type: Q.COMMAND,
|
|
10982
10982
|
id: "sheet.command.set-col-auto-width",
|
|
10983
10983
|
handler: (r, e) => {
|
|
10984
10984
|
const t = r.get(L), n = r.get(Yt), i = r.get($), o = r.get(N), s = Ue(o, e);
|
|
@@ -11005,7 +11005,7 @@ const da = {
|
|
|
11005
11005
|
redoMutations: [...u]
|
|
11006
11006
|
}), !0) : !1;
|
|
11007
11007
|
}
|
|
11008
|
-
}, qm = "UI_PLUGIN_SHEETS", Sn = `${qm}_MENU_ITEM_INPUT_COMPONENT`,
|
|
11008
|
+
}, qm = "UI_PLUGIN_SHEETS", Sn = `${qm}_MENU_ITEM_INPUT_COMPONENT`, Km = (r) => {
|
|
11009
11009
|
const { prefix: e, suffix: t, value: n, onChange: i, min: o = Number.MIN_SAFE_INTEGER, max: s = Number.MAX_SAFE_INTEGER } = r, l = D(Pe), a = D(Hl), [c, d] = re(), u = (g) => {
|
|
11010
11010
|
if (!g) {
|
|
11011
11011
|
d(o.toString());
|
|
@@ -11088,7 +11088,7 @@ function fe(r, e = {}, t = !1) {
|
|
|
11088
11088
|
Pn(([y, M]) => {
|
|
11089
11089
|
if (M)
|
|
11090
11090
|
return Ie(!0);
|
|
11091
|
-
const E = m.getUnitId(), T = p.getSheetId(), P = r.get(rt), { workbookTypes: A = [
|
|
11091
|
+
const E = m.getUnitId(), T = p.getSheetId(), P = r.get(rt), { workbookTypes: A = [K], worksheetTypes: H, rangeTypes: O } = e, V = [];
|
|
11092
11092
|
if (A == null || A.forEach((z) => {
|
|
11093
11093
|
V.push(new z(E).id);
|
|
11094
11094
|
}), H == null || H.forEach((z) => {
|
|
@@ -11117,14 +11117,14 @@ function Pi(r) {
|
|
|
11117
11117
|
const s = e.getCurrentUnitForType(x.UNIVER_SHEET), l = s == null ? void 0 : s.getActiveSheet();
|
|
11118
11118
|
if (!s || !l)
|
|
11119
11119
|
return !0;
|
|
11120
|
-
const a = s.getUnitId(), c = l.getSheetId(), d = [new
|
|
11120
|
+
const a = s.getUnitId(), c = l.getSheetId(), d = [new K(a).id, new te(a, c).id];
|
|
11121
11121
|
return n.getSubunitRuleList(a, c).filter((h) => h.ranges.some((g) => ae.intersects(o, g))).forEach((h) => {
|
|
11122
11122
|
d.push(new ie(a, c, h.permissionId).id);
|
|
11123
11123
|
}), i.composePermission(d).some((h) => h.value === !1);
|
|
11124
11124
|
})
|
|
11125
11125
|
);
|
|
11126
11126
|
}
|
|
11127
|
-
function
|
|
11127
|
+
function Qm(r, e) {
|
|
11128
11128
|
const t = r.get(N), n = r.get($), i = r.get($e), o = r.get(rt);
|
|
11129
11129
|
return St(n.selectionMoveEnd$, o.permissionPointUpdate$.pipe(Yl(100))).pipe(
|
|
11130
11130
|
pn(() => {
|
|
@@ -11134,7 +11134,7 @@ function Km(r, e) {
|
|
|
11134
11134
|
const l = t.getCurrentUnitForType(x.UNIVER_SHEET), a = l == null ? void 0 : l.getActiveSheet();
|
|
11135
11135
|
if (!l || !a)
|
|
11136
11136
|
return !0;
|
|
11137
|
-
const c = l.getUnitId(), d = a.getSheetId(), u = [new
|
|
11137
|
+
const c = l.getUnitId(), d = a.getSheetId(), u = [new K(c).id, new te(c, d).id];
|
|
11138
11138
|
return i.getSubunitRuleList(c, d).filter((g) => e === "row" ? g.ranges.some((m) => s.startRow > m.startRow && s.startRow <= m.endRow) : g.ranges.some((m) => s.startColumn > m.startColumn && s.startColumn <= m.endColumn)).forEach((g) => {
|
|
11139
11139
|
u.push(new ie(c, d, g.permissionId).id);
|
|
11140
11140
|
}), o.composePermission(u).some((g) => g.value === !1);
|
|
@@ -11151,7 +11151,7 @@ function Jm(r, e) {
|
|
|
11151
11151
|
const l = t.getCurrentUnitForType(x.UNIVER_SHEET), a = l == null ? void 0 : l.getActiveSheet();
|
|
11152
11152
|
if (!l || !a)
|
|
11153
11153
|
return !0;
|
|
11154
|
-
const c = l.getUnitId(), d = a.getSheetId(), u = [new
|
|
11154
|
+
const c = l.getUnitId(), d = a.getSheetId(), u = [new K(c).id, new te(c, d).id], h = le.deepClone(s);
|
|
11155
11155
|
return e === "row" ? (h.startColumn = 0, h.endColumn = a.getColumnCount() - 1) : (h.startRow = 0, h.endRow = a.getRowCount() - 1), i.getSubunitRuleList(c, d).filter((m) => m.ranges.some((f) => ae.intersects(h, f))).forEach((m) => {
|
|
11156
11156
|
u.push(new ie(c, d, m.permissionId).id);
|
|
11157
11157
|
}), o.composePermission(u).some((m) => m.value === !1);
|
|
@@ -11168,7 +11168,7 @@ function ua(r, e) {
|
|
|
11168
11168
|
const l = t.getCurrentUnitForType(x.UNIVER_SHEET), a = l == null ? void 0 : l.getActiveSheet();
|
|
11169
11169
|
if (!l || !a)
|
|
11170
11170
|
return !0;
|
|
11171
|
-
const c = l.getUnitId(), d = a.getSheetId(), u = [new
|
|
11171
|
+
const c = l.getUnitId(), d = a.getSheetId(), u = [new K(c).id, new te(c, d).id], h = le.deepClone(s);
|
|
11172
11172
|
return e === "row" ? h.endRow = a.getRowCount() - 1 : h.endColumn = a.getColumnCount() - 1, i.getSubunitRuleList(c, d).filter((m) => m.ranges.some((f) => ae.intersects(h, f))).forEach((m) => {
|
|
11173
11173
|
u.push(new ie(c, d, m.permissionId).id);
|
|
11174
11174
|
}), o.composePermission(u).some((m) => m.value === !1);
|
|
@@ -11215,7 +11215,7 @@ function T0(r) {
|
|
|
11215
11215
|
};
|
|
11216
11216
|
}),
|
|
11217
11217
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11218
|
-
disabled$: fe(r, { workbookTypes: [
|
|
11218
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Ps, te], rangeTypes: [ie] }, !0)
|
|
11219
11219
|
};
|
|
11220
11220
|
}
|
|
11221
11221
|
function P0(r) {
|
|
@@ -11226,7 +11226,7 @@ function P0(r) {
|
|
|
11226
11226
|
icon: "BoldIcon",
|
|
11227
11227
|
title: "Set bold",
|
|
11228
11228
|
tooltip: "toolbar.bold",
|
|
11229
|
-
disabled$: fe(r, { workbookTypes: [
|
|
11229
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te, Ze], rangeTypes: [ie] }, !0),
|
|
11230
11230
|
activated$: pt(t, !1, ({ worksheet: o }) => new je((s) => {
|
|
11231
11231
|
var d;
|
|
11232
11232
|
const l = e.onCommandExecuted((u) => {
|
|
@@ -11246,7 +11246,7 @@ function P0(r) {
|
|
|
11246
11246
|
if (f == null)
|
|
11247
11247
|
return;
|
|
11248
11248
|
const v = (m = f.ts) == null ? void 0 : m.bl;
|
|
11249
|
-
s.next(v ===
|
|
11249
|
+
s.next(v === Qe.TRUE);
|
|
11250
11250
|
}
|
|
11251
11251
|
}), a = (d = i.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11252
11252
|
if (!o) {
|
|
@@ -11274,7 +11274,7 @@ function x0(r) {
|
|
|
11274
11274
|
disabled$: fe(
|
|
11275
11275
|
r,
|
|
11276
11276
|
{
|
|
11277
|
-
workbookTypes: [
|
|
11277
|
+
workbookTypes: [K],
|
|
11278
11278
|
worksheetTypes: [te, Ze],
|
|
11279
11279
|
rangeTypes: [ie]
|
|
11280
11280
|
},
|
|
@@ -11298,7 +11298,7 @@ function x0(r) {
|
|
|
11298
11298
|
const f = Go(r);
|
|
11299
11299
|
if (f == null) return;
|
|
11300
11300
|
const v = (m = f.ts) == null ? void 0 : m.it;
|
|
11301
|
-
s.next(v ===
|
|
11301
|
+
s.next(v === Qe.TRUE);
|
|
11302
11302
|
}
|
|
11303
11303
|
}), a = (d = n.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11304
11304
|
let c = es.NORMAL;
|
|
@@ -11337,7 +11337,7 @@ function O0(r) {
|
|
|
11337
11337
|
const f = Go(r);
|
|
11338
11338
|
if (f == null) return;
|
|
11339
11339
|
const v = (m = f.ts) == null ? void 0 : m.ul;
|
|
11340
|
-
s.next((v == null ? void 0 : v.s) ===
|
|
11340
|
+
s.next((v == null ? void 0 : v.s) === Qe.TRUE);
|
|
11341
11341
|
}
|
|
11342
11342
|
}), a = (d = n.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11343
11343
|
let c;
|
|
@@ -11348,7 +11348,7 @@ function O0(r) {
|
|
|
11348
11348
|
return s.next(!!(c && c.s)), l.dispose;
|
|
11349
11349
|
})),
|
|
11350
11350
|
disabled$: fe(r, {
|
|
11351
|
-
workbookTypes: [
|
|
11351
|
+
workbookTypes: [K],
|
|
11352
11352
|
worksheetTypes: [te, Ze],
|
|
11353
11353
|
rangeTypes: [ie]
|
|
11354
11354
|
}, !0),
|
|
@@ -11364,7 +11364,7 @@ function A0(r) {
|
|
|
11364
11364
|
title: "Set strike through",
|
|
11365
11365
|
tooltip: "toolbar.strikethrough",
|
|
11366
11366
|
disabled$: fe(r, {
|
|
11367
|
-
workbookTypes: [
|
|
11367
|
+
workbookTypes: [K],
|
|
11368
11368
|
worksheetTypes: [te, Ze],
|
|
11369
11369
|
rangeTypes: [ie]
|
|
11370
11370
|
}, !0),
|
|
@@ -11387,7 +11387,7 @@ function A0(r) {
|
|
|
11387
11387
|
if (f == null)
|
|
11388
11388
|
return;
|
|
11389
11389
|
const v = (m = f.ts) == null ? void 0 : m.st;
|
|
11390
|
-
s.next((v == null ? void 0 : v.s) ===
|
|
11390
|
+
s.next((v == null ? void 0 : v.s) === Qe.TRUE);
|
|
11391
11391
|
}
|
|
11392
11392
|
}), a = (d = n.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11393
11393
|
let c;
|
|
@@ -11414,7 +11414,7 @@ function H0(r) {
|
|
|
11414
11414
|
value: o.value
|
|
11415
11415
|
})),
|
|
11416
11416
|
disabled$: fe(r, {
|
|
11417
|
-
workbookTypes: [
|
|
11417
|
+
workbookTypes: [K],
|
|
11418
11418
|
worksheetTypes: [te, Ze],
|
|
11419
11419
|
rangeTypes: [ie]
|
|
11420
11420
|
}, !0),
|
|
@@ -11439,7 +11439,7 @@ function H0(r) {
|
|
|
11439
11439
|
}
|
|
11440
11440
|
function V0(r) {
|
|
11441
11441
|
const e = r.get(L), t = r.get(N), n = r.get($), i = r.get(ke), o = rd.fs, s = fe(r, {
|
|
11442
|
-
workbookTypes: [
|
|
11442
|
+
workbookTypes: [K],
|
|
11443
11443
|
worksheetTypes: [te, Ze],
|
|
11444
11444
|
rangeTypes: [ie]
|
|
11445
11445
|
}, !0);
|
|
@@ -11490,7 +11490,7 @@ function k0(r) {
|
|
|
11490
11490
|
title: "toolbar.resetColor",
|
|
11491
11491
|
icon: "NoColorDoubleIcon",
|
|
11492
11492
|
disabled$: fe(r, {
|
|
11493
|
-
workbookTypes: [
|
|
11493
|
+
workbookTypes: [K],
|
|
11494
11494
|
worksheetTypes: [te, Ze],
|
|
11495
11495
|
rangeTypes: [ie]
|
|
11496
11496
|
}, !0),
|
|
@@ -11524,7 +11524,7 @@ function N0(r) {
|
|
|
11524
11524
|
}),
|
|
11525
11525
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11526
11526
|
disabled$: fe(r, {
|
|
11527
|
-
workbookTypes: [
|
|
11527
|
+
workbookTypes: [K],
|
|
11528
11528
|
worksheetTypes: [te, Ze],
|
|
11529
11529
|
rangeTypes: [ie]
|
|
11530
11530
|
}, !0)
|
|
@@ -11537,7 +11537,7 @@ function D0(r) {
|
|
|
11537
11537
|
title: "toolbar.resetColor",
|
|
11538
11538
|
icon: "NoColorDoubleIcon",
|
|
11539
11539
|
disabled$: fe(r, {
|
|
11540
|
-
workbookTypes: [
|
|
11540
|
+
workbookTypes: [K],
|
|
11541
11541
|
worksheetTypes: [te, Ze],
|
|
11542
11542
|
rangeTypes: [ie]
|
|
11543
11543
|
})
|
|
@@ -11570,7 +11570,7 @@ function L0(r) {
|
|
|
11570
11570
|
}),
|
|
11571
11571
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11572
11572
|
disabled$: fe(r, {
|
|
11573
|
-
workbookTypes: [
|
|
11573
|
+
workbookTypes: [K],
|
|
11574
11574
|
worksheetTypes: [te, Ze],
|
|
11575
11575
|
rangeTypes: [ie]
|
|
11576
11576
|
})
|
|
@@ -11580,21 +11580,21 @@ const lh = [
|
|
|
11580
11580
|
{
|
|
11581
11581
|
label: "align.left",
|
|
11582
11582
|
icon: "LeftJustifyingIcon",
|
|
11583
|
-
value:
|
|
11583
|
+
value: Rt.LEFT
|
|
11584
11584
|
},
|
|
11585
11585
|
{
|
|
11586
11586
|
label: "align.center",
|
|
11587
11587
|
icon: "HorizontallyIcon",
|
|
11588
|
-
value:
|
|
11588
|
+
value: Rt.CENTER
|
|
11589
11589
|
},
|
|
11590
11590
|
{
|
|
11591
11591
|
label: "align.right",
|
|
11592
11592
|
icon: "RightJustifyingIcon",
|
|
11593
|
-
value:
|
|
11593
|
+
value: Rt.RIGHT
|
|
11594
11594
|
}
|
|
11595
11595
|
];
|
|
11596
11596
|
function W0(r) {
|
|
11597
|
-
const e = r.get(N), t = r.get($), n =
|
|
11597
|
+
const e = r.get(N), t = r.get($), n = Rt.LEFT;
|
|
11598
11598
|
return {
|
|
11599
11599
|
id: Cc.id,
|
|
11600
11600
|
icon: lh[0].icon,
|
|
@@ -11625,7 +11625,7 @@ function W0(r) {
|
|
|
11625
11625
|
})),
|
|
11626
11626
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11627
11627
|
disabled$: fe(r, {
|
|
11628
|
-
workbookTypes: [
|
|
11628
|
+
workbookTypes: [K],
|
|
11629
11629
|
worksheetTypes: [te, Ze],
|
|
11630
11630
|
rangeTypes: [ie]
|
|
11631
11631
|
})
|
|
@@ -11680,7 +11680,7 @@ function B0(r) {
|
|
|
11680
11680
|
})),
|
|
11681
11681
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11682
11682
|
disabled$: fe(r, {
|
|
11683
|
-
workbookTypes: [
|
|
11683
|
+
workbookTypes: [K],
|
|
11684
11684
|
worksheetTypes: [te, Ze],
|
|
11685
11685
|
rangeTypes: [ie]
|
|
11686
11686
|
})
|
|
@@ -11735,7 +11735,7 @@ function F0(r) {
|
|
|
11735
11735
|
})),
|
|
11736
11736
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11737
11737
|
disabled$: fe(r, {
|
|
11738
|
-
workbookTypes: [
|
|
11738
|
+
workbookTypes: [K],
|
|
11739
11739
|
worksheetTypes: [te, Ze],
|
|
11740
11740
|
rangeTypes: [ie]
|
|
11741
11741
|
})
|
|
@@ -11794,18 +11794,18 @@ function U0(r) {
|
|
|
11794
11794
|
const p = i.getRange(g.startRow, g.startColumn);
|
|
11795
11795
|
m = p == null ? void 0 : p.getTextRotation();
|
|
11796
11796
|
}
|
|
11797
|
-
(m == null ? void 0 : m.v) ===
|
|
11797
|
+
(m == null ? void 0 : m.v) === Qe.TRUE ? o.next("v") : o.next((v = m && m.a) != null ? v : n);
|
|
11798
11798
|
}), l = (c = e.getCurrentLastSelection()) == null ? void 0 : c.primary;
|
|
11799
11799
|
let a;
|
|
11800
11800
|
if (l != null) {
|
|
11801
11801
|
const u = i.getRange(l.startRow, l.startColumn);
|
|
11802
11802
|
a = u == null ? void 0 : u.getTextRotation();
|
|
11803
11803
|
}
|
|
11804
|
-
return (a == null ? void 0 : a.v) ===
|
|
11804
|
+
return (a == null ? void 0 : a.v) === Qe.TRUE ? o.next("v") : o.next((d = a && a.a) != null ? d : n), s.dispose;
|
|
11805
11805
|
})),
|
|
11806
11806
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11807
11807
|
disabled$: fe(r, {
|
|
11808
|
-
workbookTypes: [
|
|
11808
|
+
workbookTypes: [K],
|
|
11809
11809
|
worksheetTypes: [te, Ze],
|
|
11810
11810
|
rangeTypes: [ie]
|
|
11811
11811
|
})
|
|
@@ -11840,7 +11840,7 @@ function Oa(r) {
|
|
|
11840
11840
|
rr(fe(r, {
|
|
11841
11841
|
rangeTypes: [ie],
|
|
11842
11842
|
worksheetTypes: [te, Ze, qt],
|
|
11843
|
-
workbookTypes: [
|
|
11843
|
+
workbookTypes: [K]
|
|
11844
11844
|
})),
|
|
11845
11845
|
Be(([e, t]) => e || t)
|
|
11846
11846
|
),
|
|
@@ -11859,14 +11859,14 @@ function Aa(r) {
|
|
|
11859
11859
|
}
|
|
11860
11860
|
function Ha(r) {
|
|
11861
11861
|
return {
|
|
11862
|
-
id:
|
|
11862
|
+
id: Qi.id,
|
|
11863
11863
|
type: J.BUTTON,
|
|
11864
11864
|
title: "rightClick.pasteValue",
|
|
11865
11865
|
disabled$: Zo(r).pipe(
|
|
11866
11866
|
rr(fe(r, {
|
|
11867
11867
|
rangeTypes: [ie],
|
|
11868
11868
|
worksheetTypes: [qt, te],
|
|
11869
|
-
workbookTypes: [
|
|
11869
|
+
workbookTypes: [K]
|
|
11870
11870
|
})),
|
|
11871
11871
|
Be(([e, t]) => e || t)
|
|
11872
11872
|
),
|
|
@@ -11882,7 +11882,7 @@ function Va(r) {
|
|
|
11882
11882
|
rr(fe(r, {
|
|
11883
11883
|
rangeTypes: [ie],
|
|
11884
11884
|
worksheetTypes: [Ze, te],
|
|
11885
|
-
workbookTypes: [
|
|
11885
|
+
workbookTypes: [K]
|
|
11886
11886
|
})),
|
|
11887
11887
|
Be(([e, t]) => e || t)
|
|
11888
11888
|
),
|
|
@@ -11891,14 +11891,14 @@ function Va(r) {
|
|
|
11891
11891
|
}
|
|
11892
11892
|
function ka(r) {
|
|
11893
11893
|
return {
|
|
11894
|
-
id:
|
|
11894
|
+
id: Qr.id,
|
|
11895
11895
|
type: J.BUTTON,
|
|
11896
11896
|
title: "rightClick.pasteColWidth",
|
|
11897
11897
|
disabled$: Zo(r).pipe(
|
|
11898
11898
|
rr(fe(r, {
|
|
11899
11899
|
rangeTypes: [ie],
|
|
11900
11900
|
worksheetTypes: [Tr, te],
|
|
11901
|
-
workbookTypes: [
|
|
11901
|
+
workbookTypes: [K]
|
|
11902
11902
|
})),
|
|
11903
11903
|
Be(([e, t]) => e || t)
|
|
11904
11904
|
)
|
|
@@ -11919,7 +11919,7 @@ function Na(r) {
|
|
|
11919
11919
|
Er,
|
|
11920
11920
|
Tr
|
|
11921
11921
|
],
|
|
11922
|
-
workbookTypes: [
|
|
11922
|
+
workbookTypes: [K]
|
|
11923
11923
|
})),
|
|
11924
11924
|
Be(([e, t]) => e || t)
|
|
11925
11925
|
),
|
|
@@ -11933,7 +11933,7 @@ function X0(r) {
|
|
|
11933
11933
|
icon: "AutoHeightDoubleIcon",
|
|
11934
11934
|
title: "rightClick.fitContent",
|
|
11935
11935
|
disabled$: fe(r, {
|
|
11936
|
-
workbookTypes: [
|
|
11936
|
+
workbookTypes: [K],
|
|
11937
11937
|
worksheetTypes: [Er, te],
|
|
11938
11938
|
rangeTypes: [ie]
|
|
11939
11939
|
}),
|
|
@@ -11947,7 +11947,7 @@ function z0(r) {
|
|
|
11947
11947
|
icon: "AutoWidthDoubleIcon",
|
|
11948
11948
|
title: "rightClick.fitContent",
|
|
11949
11949
|
disabled$: fe(r, {
|
|
11950
|
-
workbookTypes: [
|
|
11950
|
+
workbookTypes: [K],
|
|
11951
11951
|
worksheetTypes: [Er, te],
|
|
11952
11952
|
rangeTypes: [ie]
|
|
11953
11953
|
}),
|
|
@@ -11976,7 +11976,7 @@ function uh(r) {
|
|
|
11976
11976
|
}
|
|
11977
11977
|
function Da(r) {
|
|
11978
11978
|
return {
|
|
11979
|
-
id:
|
|
11979
|
+
id: Qn.id,
|
|
11980
11980
|
type: J.BUTTON,
|
|
11981
11981
|
title: "rightClick.freeze",
|
|
11982
11982
|
icon: "FreezeToSelectedIcon",
|
|
@@ -12021,7 +12021,7 @@ function G0(r) {
|
|
|
12021
12021
|
icon: "HideDoubleIcon",
|
|
12022
12022
|
title: "rightClick.hideSelectedRow",
|
|
12023
12023
|
disabled$: fe(r, {
|
|
12024
|
-
workbookTypes: [
|
|
12024
|
+
workbookTypes: [K],
|
|
12025
12025
|
worksheetTypes: [Er, te],
|
|
12026
12026
|
rangeTypes: [ie]
|
|
12027
12027
|
}),
|
|
@@ -12035,14 +12035,14 @@ function q0(r) {
|
|
|
12035
12035
|
icon: "HideDoubleIcon",
|
|
12036
12036
|
title: "rightClick.hideSelectedColumn",
|
|
12037
12037
|
disabled$: fe(r, {
|
|
12038
|
-
workbookTypes: [
|
|
12038
|
+
workbookTypes: [K],
|
|
12039
12039
|
worksheetTypes: [te, Tr],
|
|
12040
12040
|
rangeTypes: [ie]
|
|
12041
12041
|
}),
|
|
12042
12042
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
12043
12043
|
};
|
|
12044
12044
|
}
|
|
12045
|
-
function
|
|
12045
|
+
function K0(r) {
|
|
12046
12046
|
const e = r.get(N), t = r.get($), n = r.get(L), i = [Te, gg, mg].map((o) => o.id);
|
|
12047
12047
|
return {
|
|
12048
12048
|
id: fg.id,
|
|
@@ -12065,13 +12065,13 @@ function Q0(r) {
|
|
|
12065
12065
|
return s.next(!l()), () => a.dispose();
|
|
12066
12066
|
})),
|
|
12067
12067
|
disabled$: fe(r, {
|
|
12068
|
-
workbookTypes: [
|
|
12068
|
+
workbookTypes: [K],
|
|
12069
12069
|
worksheetTypes: [te, Er],
|
|
12070
12070
|
rangeTypes: [ie]
|
|
12071
12071
|
})
|
|
12072
12072
|
};
|
|
12073
12073
|
}
|
|
12074
|
-
function
|
|
12074
|
+
function Q0(r) {
|
|
12075
12075
|
const e = r.get(N), t = r.get($), n = r.get(L), i = [Te, vg, Sg].map((o) => o.id);
|
|
12076
12076
|
return {
|
|
12077
12077
|
id: Cg.id,
|
|
@@ -12094,7 +12094,7 @@ function K0(r) {
|
|
|
12094
12094
|
return s.next(!l()), () => a.dispose();
|
|
12095
12095
|
})),
|
|
12096
12096
|
disabled$: fe(r, {
|
|
12097
|
-
workbookTypes: [
|
|
12097
|
+
workbookTypes: [K],
|
|
12098
12098
|
worksheetTypes: [Tr, te],
|
|
12099
12099
|
rangeTypes: [ie]
|
|
12100
12100
|
})
|
|
@@ -12129,7 +12129,7 @@ function J0(r) {
|
|
|
12129
12129
|
return l(), a.dispose;
|
|
12130
12130
|
})),
|
|
12131
12131
|
hidden$: fe(r, {
|
|
12132
|
-
workbookTypes: [
|
|
12132
|
+
workbookTypes: [K],
|
|
12133
12133
|
worksheetTypes: [te, Er],
|
|
12134
12134
|
rangeTypes: [ie]
|
|
12135
12135
|
})
|
|
@@ -12164,7 +12164,7 @@ function $0(r) {
|
|
|
12164
12164
|
return l(), a.dispose;
|
|
12165
12165
|
})),
|
|
12166
12166
|
hidden$: fe(r, {
|
|
12167
|
-
workbookTypes: [
|
|
12167
|
+
workbookTypes: [K],
|
|
12168
12168
|
worksheetTypes: [te, Tr],
|
|
12169
12169
|
rangeTypes: [ie]
|
|
12170
12170
|
})
|
|
@@ -12435,7 +12435,7 @@ let po = class extends oe {
|
|
|
12435
12435
|
const R = (T = I.getConfig()) == null ? void 0 : T.freeze;
|
|
12436
12436
|
let y = (R == null ? void 0 : R.xSplit) || 0, M = (R == null ? void 0 : R.ySplit) || 0;
|
|
12437
12437
|
const E = (P = this._activeViewport) == null ? void 0 : P.viewportKey;
|
|
12438
|
-
i === 0 && (!E || E ===
|
|
12438
|
+
i === 0 && (!E || E === U.VIEW_LEFT_TOP || E === U.VIEW_MAIN_LEFT_TOP || E === U.VIEW_MAIN_TOP || E === U.VIEW_ROW_TOP ? M = this._changeToRow - (R.startRow - R.ySplit) : M = this._changeToRow - C, M = M < 0 ? 0 : M), i === 1 && (!E || E === U.VIEW_LEFT_TOP || E === U.VIEW_MAIN_LEFT_TOP || E === U.VIEW_MAIN_LEFT || E === U.VIEW_COLUMN_LEFT ? y = this._changeToColumn - (R.startColumn - R.xSplit) : y = this._changeToColumn - _, y = y < 0 ? 0 : y), this._commandService.executeCommand(gS.id, {
|
|
12439
12439
|
startRow: M === 0 ? -1 : this._changeToRow,
|
|
12440
12440
|
startColumn: y === 0 ? -1 : this._changeToColumn,
|
|
12441
12441
|
ySplit: M,
|
|
@@ -12449,7 +12449,7 @@ let po = class extends oe {
|
|
|
12449
12449
|
const e = this._getSheetObject();
|
|
12450
12450
|
if (e == null)
|
|
12451
12451
|
return;
|
|
12452
|
-
const { scene: t } = e, n = t.getViewport(
|
|
12452
|
+
const { scene: t } = e, n = t.getViewport(U.VIEW_COLUMN_LEFT), i = t.getViewport(U.VIEW_COLUMN_RIGHT), o = t.getViewport(U.VIEW_ROW_TOP), s = t.getViewport(U.VIEW_ROW_BOTTOM), l = t.getViewport(U.VIEW_LEFT_TOP), a = t.getViewport(U.VIEW_MAIN), c = t.getViewport(U.VIEW_MAIN_LEFT_TOP), d = t.getViewport(U.VIEW_MAIN_LEFT), u = t.getViewport(U.VIEW_MAIN_TOP);
|
|
12453
12453
|
if (!(n == null || i == null || o == null || s == null || l == null || a == null || c == null || d == null || u == null))
|
|
12454
12454
|
return {
|
|
12455
12455
|
viewMain: a,
|
|
@@ -12787,7 +12787,7 @@ let po = class extends oe {
|
|
|
12787
12787
|
};
|
|
12788
12788
|
if (e.id === mS.id) {
|
|
12789
12789
|
const o = e.params, { range: s, direction: l } = o, a = s.endRow - s.startRow + 1;
|
|
12790
|
-
if (s.startRow + 1 < n.startRow || s.startRow + 1 === n.startRow && l ===
|
|
12790
|
+
if (s.startRow + 1 < n.startRow || s.startRow + 1 === n.startRow && l === F.UP) {
|
|
12791
12791
|
const c = {
|
|
12792
12792
|
...n,
|
|
12793
12793
|
startRow: Math.max(1, n.startRow + a),
|
|
@@ -12798,7 +12798,7 @@ let po = class extends oe {
|
|
|
12798
12798
|
}
|
|
12799
12799
|
if (e.id === fS.id) {
|
|
12800
12800
|
const o = e.params, { range: s, direction: l } = o, a = s.endColumn - s.startColumn + 1;
|
|
12801
|
-
if (s.startColumn + 1 < n.startColumn || s.startColumn + 1 === n.startColumn && l ===
|
|
12801
|
+
if (s.startColumn + 1 < n.startColumn || s.startColumn + 1 === n.startColumn && l === F.LEFT) {
|
|
12802
12802
|
const c = {
|
|
12803
12803
|
...n,
|
|
12804
12804
|
startColumn: Math.max(1, n.startColumn + a),
|
|
@@ -13036,7 +13036,7 @@ po = t_([
|
|
|
13036
13036
|
lr(4, k(Et)),
|
|
13037
13037
|
lr(5, k(At)),
|
|
13038
13038
|
lr(6, k(vn)),
|
|
13039
|
-
lr(7, k(
|
|
13039
|
+
lr(7, k(bt))
|
|
13040
13040
|
], po);
|
|
13041
13041
|
function l_(r) {
|
|
13042
13042
|
const e = r.get($), t = r.get($e), n = r.get(N), i = r.get(pS), o = n.getCurrentTypeOfUnit$(x.UNIVER_SHEET);
|
|
@@ -13151,7 +13151,7 @@ let vo = class extends oe {
|
|
|
13151
13151
|
this._startOffsetX = p, this._startOffsetY = C;
|
|
13152
13152
|
const { row: _, column: S } = Hn(c.offsetX, c.offsetY, i, u);
|
|
13153
13153
|
let I;
|
|
13154
|
-
e === X.ROW ? (this._changeFromRow = _, I =
|
|
13154
|
+
e === X.ROW ? (this._changeFromRow = _, I = yt.Y) : (this._changeFromColumn = S, I = yt.X);
|
|
13155
13155
|
const R = this._workbookSelections.getCurrentSelections(), y = qs(
|
|
13156
13156
|
R,
|
|
13157
13157
|
e === X.ROW ? _ : S,
|
|
@@ -13168,7 +13168,7 @@ let vo = class extends oe {
|
|
|
13168
13168
|
if (E)
|
|
13169
13169
|
return;
|
|
13170
13170
|
T = Gr.create(i, I), this._scrollTimer = T;
|
|
13171
|
-
const O = i.getViewport(
|
|
13171
|
+
const O = i.getViewport(U.VIEW_MAIN);
|
|
13172
13172
|
T.startScroll(p, C, O), E = !0;
|
|
13173
13173
|
};
|
|
13174
13174
|
this._dragHeaderMoveSub = i.onPointerMove$.subscribeEvent((O) => {
|
|
@@ -13236,7 +13236,7 @@ let vo = class extends oe {
|
|
|
13236
13236
|
const s = this._context.scene, l = (B = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : B.skeleton;
|
|
13237
13237
|
if (l == null)
|
|
13238
13238
|
return;
|
|
13239
|
-
const { rowHeaderWidth: a, columnHeaderHeight: c, rowTotalHeight: d, columnTotalWidth: u } = l, h = s.getViewportScrollXY(s.getViewport(
|
|
13239
|
+
const { rowHeaderWidth: a, columnHeaderHeight: c, rowTotalHeight: d, columnTotalWidth: u } = l, h = s.getViewportScrollXY(s.getViewport(U.VIEW_MAIN)), { scaleX: g, scaleY: m } = s.getAncestorScale(), f = l.getCellIndexByOffset(
|
|
13240
13240
|
e,
|
|
13241
13241
|
t,
|
|
13242
13242
|
g,
|
|
@@ -13385,7 +13385,7 @@ var v_ = Object.getOwnPropertyDescriptor, S_ = (r, e, t, n) => {
|
|
|
13385
13385
|
return i;
|
|
13386
13386
|
}, Xa = (r, e) => (t, n) => e(t, n, r);
|
|
13387
13387
|
const C_ = "__SpreadsheetHeaderResizeControllerShapeRow__", w_ = "__SpreadsheetHeaderResizeControllerShapeColumn__", gh = "__SpreadsheetHeaderResizeControllerShapeHelper__", mh = "rgb(199, 199, 199)", __ = 2, za = kn("headerResizePermissionCheck");
|
|
13388
|
-
let
|
|
13388
|
+
let Ks = class extends oe {
|
|
13389
13389
|
constructor(e, t, n, i) {
|
|
13390
13390
|
super();
|
|
13391
13391
|
b(this, "_currentRow", 0);
|
|
@@ -13508,7 +13508,7 @@ let Qs = class extends oe {
|
|
|
13508
13508
|
var W, j, B, z, Z, ce, ge;
|
|
13509
13509
|
const o = (W = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : W.skeleton;
|
|
13510
13510
|
if (o == null) return;
|
|
13511
|
-
const s = this._context.scene, l = s.getEngine(), a = (l == null ? void 0 : l.height) || 0, c = (l == null ? void 0 : l.width) || 0, d = s.getViewport(
|
|
13511
|
+
const s = this._context.scene, l = s.getEngine(), a = (l == null ? void 0 : l.height) || 0, c = (l == null ? void 0 : l.width) || 0, d = s.getViewport(U.VIEW_MAIN), u = (((B = (j = d == null ? void 0 : d.getScrollBar()) == null ? void 0 : j.horizonScrollTrack) == null ? void 0 : B.height) || 0) + 10, h = (((Z = (z = d == null ? void 0 : d.getScrollBar()) == null ? void 0 : z.verticalScrollTrack) == null ? void 0 : Z.width) || 0) + 10, g = ps(i.offsetX, i.offsetY, s), { scaleX: m, scaleY: f } = s.getAncestorScale();
|
|
13512
13512
|
this._startOffsetX = g.x, this._startOffsetY = g.y;
|
|
13513
13513
|
const v = o.getOffsetByColumn(this._currentColumn), p = o.getOffsetByRow(this._currentRow), C = o.getNoMergeCellWithCoordByIndex(this._currentRow, this._currentColumn);
|
|
13514
13514
|
let _ = !1, S = 0, I = 0;
|
|
@@ -13608,18 +13608,18 @@ let Qs = class extends oe {
|
|
|
13608
13608
|
(e = this._scenePointerMoveSub) == null || e.unsubscribe(), (t = this._scenePointerUpSub) == null || t.unsubscribe(), this._scenePointerMoveSub = null, this._scenePointerUpSub = null;
|
|
13609
13609
|
}
|
|
13610
13610
|
};
|
|
13611
|
-
|
|
13611
|
+
Ks = S_([
|
|
13612
13612
|
Xa(1, k(he)),
|
|
13613
13613
|
Xa(2, k($)),
|
|
13614
13614
|
Xa(3, L)
|
|
13615
|
-
],
|
|
13615
|
+
], Ks);
|
|
13616
13616
|
var b_ = Object.getOwnPropertyDescriptor, R_ = (r, e, t, n) => {
|
|
13617
13617
|
for (var i = n > 1 ? void 0 : n ? b_(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
13618
13618
|
(s = r[o]) && (i = s(i) || i);
|
|
13619
13619
|
return i;
|
|
13620
13620
|
}, ki = (r, e) => (t, n) => e(t, n, r);
|
|
13621
13621
|
const I_ = 60;
|
|
13622
|
-
let
|
|
13622
|
+
let Qs = class extends Nn {
|
|
13623
13623
|
constructor(e, t, n, i, o, s) {
|
|
13624
13624
|
super();
|
|
13625
13625
|
b(this, "_renderMetric$", new xe());
|
|
@@ -13711,7 +13711,7 @@ let Ks = class extends Nn {
|
|
|
13711
13711
|
), t.enableLayerCache(xu, nr);
|
|
13712
13712
|
}
|
|
13713
13713
|
_initViewports(e, t, n) {
|
|
13714
|
-
const s = new Cn(
|
|
13714
|
+
const s = new Cn(U.VIEW_MAIN, e, {
|
|
13715
13715
|
left: t.width,
|
|
13716
13716
|
top: n.height,
|
|
13717
13717
|
bottom: 0,
|
|
@@ -13720,43 +13720,43 @@ let Ks = class extends Nn {
|
|
|
13720
13720
|
allowCache: !0,
|
|
13721
13721
|
bufferEdgeX: 100,
|
|
13722
13722
|
bufferEdgeY: 100
|
|
13723
|
-
}), l = new Cn(
|
|
13723
|
+
}), l = new Cn(U.VIEW_MAIN_LEFT_TOP, e, {
|
|
13724
13724
|
isWheelPreventDefaultX: !0,
|
|
13725
13725
|
active: !1,
|
|
13726
13726
|
allowCache: !0,
|
|
13727
13727
|
bufferEdgeX: 0,
|
|
13728
13728
|
bufferEdgeY: 0
|
|
13729
|
-
}), a = new Cn(
|
|
13729
|
+
}), a = new Cn(U.VIEW_MAIN_LEFT, e, {
|
|
13730
13730
|
isWheelPreventDefaultX: !0,
|
|
13731
13731
|
active: !1,
|
|
13732
13732
|
allowCache: !0,
|
|
13733
13733
|
bufferEdgeX: 0,
|
|
13734
13734
|
bufferEdgeY: 100
|
|
13735
|
-
}), c = new Cn(
|
|
13735
|
+
}), c = new Cn(U.VIEW_MAIN_TOP, e, {
|
|
13736
13736
|
isWheelPreventDefaultX: !0,
|
|
13737
13737
|
active: !1,
|
|
13738
13738
|
allowCache: !0,
|
|
13739
13739
|
bufferEdgeX: 100,
|
|
13740
13740
|
bufferEdgeY: 0
|
|
13741
|
-
}), d = new Cn(
|
|
13741
|
+
}), d = new Cn(U.VIEW_ROW_TOP, e, {
|
|
13742
13742
|
active: !1,
|
|
13743
13743
|
isWheelPreventDefaultX: !0
|
|
13744
|
-
}), u = new Cn(
|
|
13744
|
+
}), u = new Cn(U.VIEW_ROW_BOTTOM, e, {
|
|
13745
13745
|
left: 0,
|
|
13746
13746
|
top: n.height,
|
|
13747
13747
|
bottom: 0,
|
|
13748
13748
|
width: t.width + 1,
|
|
13749
13749
|
isWheelPreventDefaultX: !0
|
|
13750
|
-
}), h = new Cn(
|
|
13750
|
+
}), h = new Cn(U.VIEW_COLUMN_LEFT, e, {
|
|
13751
13751
|
active: !1,
|
|
13752
13752
|
isWheelPreventDefaultX: !0
|
|
13753
|
-
}), g = new Cn(
|
|
13753
|
+
}), g = new Cn(U.VIEW_COLUMN_RIGHT, e, {
|
|
13754
13754
|
left: t.width,
|
|
13755
13755
|
top: 0,
|
|
13756
13756
|
height: n.height + 1,
|
|
13757
13757
|
right: 0,
|
|
13758
13758
|
isWheelPreventDefaultX: !0
|
|
13759
|
-
}), m = new Cn(
|
|
13759
|
+
}), m = new Cn(U.VIEW_LEFT_TOP, e, {
|
|
13760
13760
|
left: 0,
|
|
13761
13761
|
top: 0,
|
|
13762
13762
|
width: t.width,
|
|
@@ -13819,7 +13819,7 @@ let Ks = class extends Nn {
|
|
|
13819
13819
|
commandId: n
|
|
13820
13820
|
});
|
|
13821
13821
|
} else wS.includes(n) && this._sheetSkeletonManagerService.reCalculate();
|
|
13822
|
-
e.type ===
|
|
13822
|
+
e.type === Q.MUTATION && this._markUnitDirty(e);
|
|
13823
13823
|
}));
|
|
13824
13824
|
}
|
|
13825
13825
|
_markUnitDirty(e) {
|
|
@@ -13873,13 +13873,13 @@ let Ks = class extends Nn {
|
|
|
13873
13873
|
return e.getViewports().filter((t) => ["viewMain", "viewMainLeftTop", "viewMainTop", "viewMainLeft"].includes(t.viewportKey));
|
|
13874
13874
|
}
|
|
13875
13875
|
};
|
|
13876
|
-
|
|
13876
|
+
Qs = R_([
|
|
13877
13877
|
ki(1, k(nn)),
|
|
13878
13878
|
ki(2, k(he)),
|
|
13879
13879
|
ki(3, k(Rr)),
|
|
13880
13880
|
ki(4, L),
|
|
13881
13881
|
ki(5, td(uC))
|
|
13882
|
-
],
|
|
13882
|
+
], Qs);
|
|
13883
13883
|
function y_(r, e) {
|
|
13884
13884
|
if (r.length !== e.length) return !1;
|
|
13885
13885
|
const t = r.sort((i, o) => i.id.localeCompare(o.id)), n = e.sort((i, o) => i.id.localeCompare(o.id));
|
|
@@ -13945,15 +13945,15 @@ function T_(r, e, t, n) {
|
|
|
13945
13945
|
function fh(r, e, t, n) {
|
|
13946
13946
|
const i = n.getFreeze();
|
|
13947
13947
|
if (!i || i.startRow <= 0 && i.startColumn <= 0)
|
|
13948
|
-
return t.getViewport(
|
|
13948
|
+
return t.getViewport(U.VIEW_MAIN);
|
|
13949
13949
|
if (r >= i.startRow && e >= i.startColumn)
|
|
13950
|
-
return t.getViewport(
|
|
13950
|
+
return t.getViewport(U.VIEW_MAIN);
|
|
13951
13951
|
if (r < i.startRow && e < i.startColumn)
|
|
13952
|
-
return t.getViewport(
|
|
13952
|
+
return t.getViewport(U.VIEW_MAIN_LEFT_TOP);
|
|
13953
13953
|
if (r < i.startRow && e >= i.startColumn)
|
|
13954
|
-
return t.getViewport(
|
|
13954
|
+
return t.getViewport(U.VIEW_MAIN_TOP);
|
|
13955
13955
|
if (r >= i.startRow && e < i.startColumn)
|
|
13956
|
-
return t.getViewport(
|
|
13956
|
+
return t.getViewport(U.VIEW_MAIN_LEFT);
|
|
13957
13957
|
}
|
|
13958
13958
|
function P_(r, e, t, n) {
|
|
13959
13959
|
const i = ph(r.left, r.top, e, t, n), o = ph(r.right, r.bottom, e, t, n);
|
|
@@ -13965,7 +13965,7 @@ function P_(r, e, t, n) {
|
|
|
13965
13965
|
};
|
|
13966
13966
|
}
|
|
13967
13967
|
function ph(r, e, t, n, i) {
|
|
13968
|
-
const { scaleX: o, scaleY: s } = t.getAncestorScale(), l = t.getViewport(
|
|
13968
|
+
const { scaleX: o, scaleY: s } = t.getAncestorScale(), l = t.getViewport(U.VIEW_MAIN);
|
|
13969
13969
|
if (!l)
|
|
13970
13970
|
return {
|
|
13971
13971
|
x: r,
|
|
@@ -14040,7 +14040,7 @@ function of(r, e, t, n, i, o) {
|
|
|
14040
14040
|
};
|
|
14041
14041
|
}
|
|
14042
14042
|
const ir = {
|
|
14043
|
-
type:
|
|
14043
|
+
type: Q.COMMAND,
|
|
14044
14044
|
id: "sheet.command.add-worksheet-merge",
|
|
14045
14045
|
handler: async (r, e) => {
|
|
14046
14046
|
const t = r.get(L), n = r.get(Yt), i = r.get(N), o = r.get(rn), s = r.get(Pe), l = e.unitId, a = e.subUnitId, c = e.selections, d = Bl(c, e.value), u = i.getUniverSheetInstance(l).getSheetBySheetId(a), h = [], g = [], m = nf(u, d);
|
|
@@ -14065,7 +14065,7 @@ const ir = {
|
|
|
14065
14065
|
subUnitId: a,
|
|
14066
14066
|
ranges: le.deepClone(d)
|
|
14067
14067
|
}, p = Wl(r, f), C = Fl(r, v);
|
|
14068
|
-
if (p.ranges.length > 0 && h.push({ id:
|
|
14068
|
+
if (p.ranges.length > 0 && h.push({ id: Kt.id, params: p }), h.push({ id: Qt.id, params: v }), g.push({ id: Kt.id, params: C }), p.ranges.length > 0 && g.push({ id: Qt.id, params: p }), m) {
|
|
14069
14069
|
const M = rf(r, l, u, d);
|
|
14070
14070
|
h.unshift(...M.redos), g.push(...M.undos);
|
|
14071
14071
|
}
|
|
@@ -14084,7 +14084,7 @@ const ir = {
|
|
|
14084
14084
|
}), !0) : !1;
|
|
14085
14085
|
}
|
|
14086
14086
|
}, $d = {
|
|
14087
|
-
type:
|
|
14087
|
+
type: Q.COMMAND,
|
|
14088
14088
|
id: "sheet.command.add-worksheet-merge-all",
|
|
14089
14089
|
handler: async (r) => {
|
|
14090
14090
|
var d;
|
|
@@ -14103,7 +14103,7 @@ const ir = {
|
|
|
14103
14103
|
});
|
|
14104
14104
|
}
|
|
14105
14105
|
}, eu = {
|
|
14106
|
-
type:
|
|
14106
|
+
type: Q.COMMAND,
|
|
14107
14107
|
id: "sheet.command.add-worksheet-merge-vertical",
|
|
14108
14108
|
handler: async (r) => {
|
|
14109
14109
|
var d;
|
|
@@ -14123,7 +14123,7 @@ const ir = {
|
|
|
14123
14123
|
});
|
|
14124
14124
|
}
|
|
14125
14125
|
}, tu = {
|
|
14126
|
-
type:
|
|
14126
|
+
type: Q.COMMAND,
|
|
14127
14127
|
id: "sheet.command.add-worksheet-merge-horizontal",
|
|
14128
14128
|
handler: async (r) => {
|
|
14129
14129
|
var d;
|
|
@@ -14143,7 +14143,7 @@ const ir = {
|
|
|
14143
14143
|
});
|
|
14144
14144
|
}
|
|
14145
14145
|
}, qo = {
|
|
14146
|
-
type:
|
|
14146
|
+
type: Q.COMMAND,
|
|
14147
14147
|
id: "sheet.command.delete-range-move-left-confirm",
|
|
14148
14148
|
handler: async (r) => {
|
|
14149
14149
|
const e = r.get(rn), t = r.get(L), n = r.get(Pe), i = r.get($), o = r.get(N), s = i.getCurrentSelections();
|
|
@@ -14169,7 +14169,7 @@ const ir = {
|
|
|
14169
14169
|
}) ? t.executeCommand(yu.id) : !0 : t.executeCommand(yu.id);
|
|
14170
14170
|
}
|
|
14171
14171
|
}, ui = {
|
|
14172
|
-
type:
|
|
14172
|
+
type: Q.COMMAND,
|
|
14173
14173
|
id: "sheet.command.delete-range-move-up-confirm",
|
|
14174
14174
|
handler: async (r) => {
|
|
14175
14175
|
const e = r.get(rn), t = r.get(L), n = r.get(Pe), i = r.get($), o = r.get(N), s = i.getCurrentSelections();
|
|
@@ -14201,7 +14201,7 @@ const ir = {
|
|
|
14201
14201
|
}) ? t.executeCommand(Mu.id) : !0 : t.executeCommand(Mu.id);
|
|
14202
14202
|
}
|
|
14203
14203
|
}, hi = {
|
|
14204
|
-
type:
|
|
14204
|
+
type: Q.COMMAND,
|
|
14205
14205
|
id: "sheet.command.insert-range-move-down-confirm",
|
|
14206
14206
|
handler: async (r) => {
|
|
14207
14207
|
const e = r.get(rn), t = r.get(L), n = r.get(Pe), i = r.get($), o = r.get(N), s = i.getCurrentSelections();
|
|
@@ -14234,8 +14234,8 @@ const ir = {
|
|
|
14234
14234
|
confirmText: n.t("button.confirm")
|
|
14235
14235
|
}) ? t.executeCommand(_c.id) : !0 : t.executeCommand(_c.id);
|
|
14236
14236
|
}
|
|
14237
|
-
},
|
|
14238
|
-
type:
|
|
14237
|
+
}, Ko = {
|
|
14238
|
+
type: Q.COMMAND,
|
|
14239
14239
|
id: "sheet.command.insert-range-move-right-confirm",
|
|
14240
14240
|
handler: async (r) => {
|
|
14241
14241
|
const e = r.get(rn), t = r.get(L), n = r.get(Pe), i = r.get($), o = r.get(N), s = i.getCurrentSelections();
|
|
@@ -14253,7 +14253,7 @@ const ir = {
|
|
|
14253
14253
|
const m = ae.getIntersects(g, c);
|
|
14254
14254
|
return m ? d(g) > d(m) : !1;
|
|
14255
14255
|
}) ? await e.confirm({
|
|
14256
|
-
id:
|
|
14256
|
+
id: Ko.id,
|
|
14257
14257
|
title: { title: n.t("merge.confirm.warning") },
|
|
14258
14258
|
children: { title: n.t("merge.confirm.dismantleMergeCellWarning") },
|
|
14259
14259
|
cancelText: n.t("button.cancel"),
|
|
@@ -14353,7 +14353,7 @@ class Ar {
|
|
|
14353
14353
|
}
|
|
14354
14354
|
}
|
|
14355
14355
|
const Vn = {
|
|
14356
|
-
type:
|
|
14356
|
+
type: Q.OPERATION,
|
|
14357
14357
|
id: "sheet-permission.operation.openPanel",
|
|
14358
14358
|
async handler(r, e = {}) {
|
|
14359
14359
|
const t = r.get(wi), n = r.get(gi), i = r.get(Ar), { showDetail: o = !0, fromSheetBar: s = !1, rule: l, oldRule: a } = e, c = {
|
|
@@ -14373,37 +14373,37 @@ const Vn = {
|
|
|
14373
14373
|
return n.setVisible(!0), t.open(c), !0;
|
|
14374
14374
|
}
|
|
14375
14375
|
}, ha = {
|
|
14376
|
-
type:
|
|
14376
|
+
type: Q.COMMAND,
|
|
14377
14377
|
id: "sheet.command.add-range-protection-from-toolbar",
|
|
14378
14378
|
async handler(r) {
|
|
14379
14379
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !0 }), !0;
|
|
14380
14380
|
}
|
|
14381
14381
|
}, $r = {
|
|
14382
|
-
type:
|
|
14382
|
+
type: Q.COMMAND,
|
|
14383
14383
|
id: "sheet.command.add-range-protection-from-context-menu",
|
|
14384
14384
|
async handler(r) {
|
|
14385
14385
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !0 }), !0;
|
|
14386
14386
|
}
|
|
14387
14387
|
}, ei = {
|
|
14388
|
-
type:
|
|
14388
|
+
type: Q.COMMAND,
|
|
14389
14389
|
id: "sheet.command.view-sheet-permission-from-context-menu",
|
|
14390
14390
|
async handler(r) {
|
|
14391
14391
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !1 }), !0;
|
|
14392
14392
|
}
|
|
14393
14393
|
}, ga = {
|
|
14394
|
-
type:
|
|
14394
|
+
type: Q.COMMAND,
|
|
14395
14395
|
id: "sheet.command.add-range-protection-from-sheet-bar",
|
|
14396
14396
|
async handler(r) {
|
|
14397
14397
|
return await r.get(L).executeCommand(Vn.id, { fromSheetBar: !0, showDetail: !0 }), !0;
|
|
14398
14398
|
}
|
|
14399
14399
|
}, ma = {
|
|
14400
|
-
type:
|
|
14400
|
+
type: Q.COMMAND,
|
|
14401
14401
|
id: "sheet.command.view-sheet-permission-from-sheet-bar",
|
|
14402
14402
|
async handler(r) {
|
|
14403
14403
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !1 }), !0;
|
|
14404
14404
|
}
|
|
14405
14405
|
}, ti = {
|
|
14406
|
-
type:
|
|
14406
|
+
type: Q.COMMAND,
|
|
14407
14407
|
id: "sheet.command.delete-range-protection-from-context-menu",
|
|
14408
14408
|
async handler(r) {
|
|
14409
14409
|
var u;
|
|
@@ -14431,7 +14431,7 @@ const Vn = {
|
|
|
14431
14431
|
}
|
|
14432
14432
|
}
|
|
14433
14433
|
}, ni = {
|
|
14434
|
-
type:
|
|
14434
|
+
type: Q.COMMAND,
|
|
14435
14435
|
id: "sheet.command.set-range-protection-from-context-menu",
|
|
14436
14436
|
async handler(r) {
|
|
14437
14437
|
var d;
|
|
@@ -14465,7 +14465,7 @@ const Vn = {
|
|
|
14465
14465
|
}
|
|
14466
14466
|
}, wo = {
|
|
14467
14467
|
id: "sheet.command.remove-row-confirm",
|
|
14468
|
-
type:
|
|
14468
|
+
type: Q.COMMAND,
|
|
14469
14469
|
handler: async (r, e) => {
|
|
14470
14470
|
var c;
|
|
14471
14471
|
const t = r.get($);
|
|
@@ -14491,7 +14491,7 @@ const Vn = {
|
|
|
14491
14491
|
}
|
|
14492
14492
|
}, _o = {
|
|
14493
14493
|
id: "sheet.command.remove-col-confirm",
|
|
14494
|
-
type:
|
|
14494
|
+
type: Q.COMMAND,
|
|
14495
14495
|
handler: async (r, e) => {
|
|
14496
14496
|
var c;
|
|
14497
14497
|
const t = r.get($);
|
|
@@ -14517,7 +14517,7 @@ const Vn = {
|
|
|
14517
14517
|
}
|
|
14518
14518
|
}, fa = {
|
|
14519
14519
|
id: "sheet.command.remove-sheet-confirm",
|
|
14520
|
-
type:
|
|
14520
|
+
type: Q.COMMAND,
|
|
14521
14521
|
handler: async (r, e) => {
|
|
14522
14522
|
const { subUnitId: t } = e, n = r.get(rn), i = r.get(L), o = r.get(Pe);
|
|
14523
14523
|
return await n.confirm({
|
|
@@ -14532,10 +14532,10 @@ const Vn = {
|
|
|
14532
14532
|
}
|
|
14533
14533
|
}, pa = {
|
|
14534
14534
|
id: "ui-sheet.command.show-menu-list",
|
|
14535
|
-
type:
|
|
14535
|
+
type: Q.OPERATION,
|
|
14536
14536
|
handler: async (r) => (r.get(Or).triggerSheetBarMenu(), !0)
|
|
14537
14537
|
}, va = {
|
|
14538
|
-
type:
|
|
14538
|
+
type: Q.COMMAND,
|
|
14539
14539
|
id: "sheet.command.delete-worksheet-protection-from-sheet-bar",
|
|
14540
14540
|
async handler(r, e) {
|
|
14541
14541
|
if (!e)
|
|
@@ -14558,20 +14558,20 @@ const Vn = {
|
|
|
14558
14558
|
return !0;
|
|
14559
14559
|
}
|
|
14560
14560
|
}, Sa = {
|
|
14561
|
-
type:
|
|
14561
|
+
type: Q.COMMAND,
|
|
14562
14562
|
id: "sheet.command.change-sheet-protection-from-sheet-bar",
|
|
14563
14563
|
async handler(r) {
|
|
14564
14564
|
return await r.get(L).executeCommand("sheet-permission.operation.openDialog"), !0;
|
|
14565
14565
|
}
|
|
14566
14566
|
}, Ca = {
|
|
14567
14567
|
id: "sheet.operation.rename-sheet",
|
|
14568
|
-
type:
|
|
14568
|
+
type: Q.OPERATION,
|
|
14569
14569
|
handler: async (r, e) => {
|
|
14570
14570
|
const t = r.get(Or);
|
|
14571
14571
|
return e && t.setRenameId(e.subUnitId), !0;
|
|
14572
14572
|
}
|
|
14573
14573
|
}, uf = {
|
|
14574
|
-
type:
|
|
14574
|
+
type: Q.OPERATION,
|
|
14575
14575
|
id: "sheet-permission.operation.openDialog",
|
|
14576
14576
|
async handler(r, e) {
|
|
14577
14577
|
const t = r.get(Ao);
|
|
@@ -15468,7 +15468,7 @@ let mi = class extends oe {
|
|
|
15468
15468
|
}
|
|
15469
15469
|
};
|
|
15470
15470
|
mi = G_([
|
|
15471
|
-
ar(0, k(
|
|
15471
|
+
ar(0, k(Kv)),
|
|
15472
15472
|
ar(1, Ce),
|
|
15473
15473
|
ar(2, N),
|
|
15474
15474
|
ar(3, k(yS)),
|
|
@@ -15479,11 +15479,11 @@ mi = G_([
|
|
|
15479
15479
|
function ja(r) {
|
|
15480
15480
|
return Number.parseInt(r.replace("px", ""));
|
|
15481
15481
|
}
|
|
15482
|
-
var q_ = Object.getOwnPropertyDescriptor,
|
|
15482
|
+
var q_ = Object.getOwnPropertyDescriptor, K_ = (r, e, t, n) => {
|
|
15483
15483
|
for (var i = n > 1 ? void 0 : n ? q_(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
15484
15484
|
(s = r[o]) && (i = s(i) || i);
|
|
15485
15485
|
return i;
|
|
15486
|
-
},
|
|
15486
|
+
}, Q_ = (r, e) => (t, n) => e(t, n, r);
|
|
15487
15487
|
let fi = class extends oe {
|
|
15488
15488
|
constructor(e) {
|
|
15489
15489
|
super();
|
|
@@ -15554,8 +15554,8 @@ let fi = class extends oe {
|
|
|
15554
15554
|
return ((a = (l = this._ensureCellPopupMap(e, t).getValue(n, i)) == null ? void 0 : l[o]) == null ? void 0 : a.popups) || [];
|
|
15555
15555
|
}
|
|
15556
15556
|
};
|
|
15557
|
-
fi =
|
|
15558
|
-
|
|
15557
|
+
fi = K_([
|
|
15558
|
+
Q_(0, k(mi))
|
|
15559
15559
|
], fi);
|
|
15560
15560
|
const J_ = (r) => {
|
|
15561
15561
|
const { popup: e } = r, t = e.extraProps, { row: n, col: i, direction: o, unitId: s, subUnitId: l } = t, a = D(fi);
|
|
@@ -15950,7 +15950,7 @@ const J_ = (r) => {
|
|
|
15950
15950
|
);
|
|
15951
15951
|
};
|
|
15952
15952
|
function $_(r) {
|
|
15953
|
-
const e = r.get(Rc), t = fe(r, { workbookTypes: [
|
|
15953
|
+
const e = r.get(Rc), t = fe(r, { workbookTypes: [K], worksheetTypes: [te, Ze], rangeTypes: [ie] });
|
|
15954
15954
|
return {
|
|
15955
15955
|
id: yc.id,
|
|
15956
15956
|
icon: new je((n) => {
|
|
@@ -15998,7 +15998,7 @@ function Za(r) {
|
|
|
15998
15998
|
icon: "ClearFormatDoubleIcon",
|
|
15999
15999
|
title: "rightClick.clearContent",
|
|
16000
16000
|
disabled$: Ti(r, fe(r, {
|
|
16001
|
-
workbookTypes: [
|
|
16001
|
+
workbookTypes: [K],
|
|
16002
16002
|
worksheetTypes: [te, qt],
|
|
16003
16003
|
rangeTypes: [ie]
|
|
16004
16004
|
})),
|
|
@@ -16012,7 +16012,7 @@ function Ga(r) {
|
|
|
16012
16012
|
icon: "ClearFormatDoubleIcon",
|
|
16013
16013
|
title: "rightClick.clearFormat",
|
|
16014
16014
|
disabled$: fe(r, {
|
|
16015
|
-
workbookTypes: [
|
|
16015
|
+
workbookTypes: [K],
|
|
16016
16016
|
worksheetTypes: [te, Ze],
|
|
16017
16017
|
rangeTypes: [ie]
|
|
16018
16018
|
}),
|
|
@@ -16027,7 +16027,7 @@ function ls(r) {
|
|
|
16027
16027
|
title: "rightClick.clearAll",
|
|
16028
16028
|
tooltip: "rightClick.clearAll",
|
|
16029
16029
|
disabled$: Ti(r, fe(r, {
|
|
16030
|
-
workbookTypes: [
|
|
16030
|
+
workbookTypes: [K],
|
|
16031
16031
|
worksheetTypes: [te, qt, Ze],
|
|
16032
16032
|
rangeTypes: [ie]
|
|
16033
16033
|
})),
|
|
@@ -16042,7 +16042,7 @@ function eb(r) {
|
|
|
16042
16042
|
title: "rightClick.delete",
|
|
16043
16043
|
icon: "ReduceDoubleIcon",
|
|
16044
16044
|
hidden$: Ti(r, Pi(r)),
|
|
16045
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16045
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te] })
|
|
16046
16046
|
};
|
|
16047
16047
|
}
|
|
16048
16048
|
function Ch(r) {
|
|
@@ -16052,7 +16052,7 @@ function Ch(r) {
|
|
|
16052
16052
|
icon: "DeleteColumnDoubleIcon",
|
|
16053
16053
|
title: "rightClick.deleteSelectedColumn",
|
|
16054
16054
|
hidden$: Jm(r, "col"),
|
|
16055
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16055
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te, xS] })
|
|
16056
16056
|
};
|
|
16057
16057
|
}
|
|
16058
16058
|
function wh(r) {
|
|
@@ -16061,7 +16061,7 @@ function wh(r) {
|
|
|
16061
16061
|
type: J.BUTTON,
|
|
16062
16062
|
icon: "DeleteRowDoubleIcon",
|
|
16063
16063
|
title: "rightClick.deleteSelectedRow",
|
|
16064
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16064
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te, PS] }),
|
|
16065
16065
|
hidden$: Jm(r, "row")
|
|
16066
16066
|
};
|
|
16067
16067
|
}
|
|
@@ -16071,7 +16071,7 @@ function tb(r) {
|
|
|
16071
16071
|
type: J.BUTTON,
|
|
16072
16072
|
title: "rightClick.moveLeft",
|
|
16073
16073
|
icon: "DeleteCellShiftLeftDoubleIcon",
|
|
16074
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16074
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16075
16075
|
hidden$: ua(r, "col")
|
|
16076
16076
|
};
|
|
16077
16077
|
}
|
|
@@ -16081,7 +16081,7 @@ function nb(r) {
|
|
|
16081
16081
|
type: J.BUTTON,
|
|
16082
16082
|
title: "rightClick.moveUp",
|
|
16083
16083
|
icon: "DeleteCellShiftUpDoubleIcon",
|
|
16084
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16084
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16085
16085
|
hidden$: ua(r, "row")
|
|
16086
16086
|
};
|
|
16087
16087
|
}
|
|
@@ -16095,7 +16095,7 @@ function rb(r) {
|
|
|
16095
16095
|
activated$: new je((n) => {
|
|
16096
16096
|
const i = () => {
|
|
16097
16097
|
const s = t.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
16098
|
-
return s ? s.getActiveSheet().getConfig().showGridlines ===
|
|
16098
|
+
return s ? s.getActiveSheet().getConfig().showGridlines === Qe.TRUE : !1;
|
|
16099
16099
|
}, o = new gt();
|
|
16100
16100
|
return o.add(e.onCommandExecuted((s) => {
|
|
16101
16101
|
(s.id === OS.id || s.id === nt.id) && n.next(i());
|
|
@@ -16103,7 +16103,7 @@ function rb(r) {
|
|
|
16103
16103
|
n.next(i());
|
|
16104
16104
|
})), n.next(i()), () => o.dispose();
|
|
16105
16105
|
}),
|
|
16106
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16106
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te] })
|
|
16107
16107
|
};
|
|
16108
16108
|
}
|
|
16109
16109
|
const vf = "sheet.menu.cell-insert";
|
|
@@ -16114,7 +16114,7 @@ function ib(r) {
|
|
|
16114
16114
|
title: "rightClick.insert",
|
|
16115
16115
|
icon: "InsertDoubleIcon",
|
|
16116
16116
|
hidden$: Ti(r, Pi(r)),
|
|
16117
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16117
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Ag, te], rangeTypes: [ie] })
|
|
16118
16118
|
};
|
|
16119
16119
|
}
|
|
16120
16120
|
function ob(r) {
|
|
@@ -16145,8 +16145,8 @@ function ob(r) {
|
|
|
16145
16145
|
});
|
|
16146
16146
|
return s(), l.dispose;
|
|
16147
16147
|
})),
|
|
16148
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16149
|
-
hidden$:
|
|
16148
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16149
|
+
hidden$: Qm(r, "row")
|
|
16150
16150
|
};
|
|
16151
16151
|
}
|
|
16152
16152
|
function sb(r) {
|
|
@@ -16177,17 +16177,17 @@ function sb(r) {
|
|
|
16177
16177
|
});
|
|
16178
16178
|
return s(), l.dispose;
|
|
16179
16179
|
})),
|
|
16180
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16181
|
-
hidden$:
|
|
16180
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Ag, te], rangeTypes: [ie] }),
|
|
16181
|
+
hidden$: Qm(r, "col")
|
|
16182
16182
|
};
|
|
16183
16183
|
}
|
|
16184
16184
|
function lb(r) {
|
|
16185
16185
|
return {
|
|
16186
|
-
id:
|
|
16186
|
+
id: Ko.id,
|
|
16187
16187
|
type: J.BUTTON,
|
|
16188
16188
|
title: "rightClick.moveRight",
|
|
16189
16189
|
icon: "InsertCellShiftRightDoubleIcon",
|
|
16190
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16190
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16191
16191
|
hidden$: ua(r, "col")
|
|
16192
16192
|
};
|
|
16193
16193
|
}
|
|
@@ -16197,7 +16197,7 @@ function ab(r) {
|
|
|
16197
16197
|
type: J.BUTTON,
|
|
16198
16198
|
title: "rightClick.moveDown",
|
|
16199
16199
|
icon: "InsertCellDownDoubleIcon",
|
|
16200
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16200
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16201
16201
|
hidden$: ua(r, "row")
|
|
16202
16202
|
};
|
|
16203
16203
|
}
|
|
@@ -16229,7 +16229,7 @@ function cb(r) {
|
|
|
16229
16229
|
});
|
|
16230
16230
|
return s(), l.dispose;
|
|
16231
16231
|
})),
|
|
16232
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16232
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16233
16233
|
hidden$: Pi(r)
|
|
16234
16234
|
};
|
|
16235
16235
|
}
|
|
@@ -16261,7 +16261,7 @@ function db(r) {
|
|
|
16261
16261
|
});
|
|
16262
16262
|
return s(), l.dispose;
|
|
16263
16263
|
})),
|
|
16264
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16264
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16265
16265
|
hidden$: Pi(r)
|
|
16266
16266
|
};
|
|
16267
16267
|
}
|
|
@@ -16293,7 +16293,7 @@ function ub(r) {
|
|
|
16293
16293
|
});
|
|
16294
16294
|
return s(), l.dispose;
|
|
16295
16295
|
})),
|
|
16296
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16296
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16297
16297
|
hidden$: Pi(r)
|
|
16298
16298
|
};
|
|
16299
16299
|
}
|
|
@@ -16325,12 +16325,12 @@ function hb(r) {
|
|
|
16325
16325
|
});
|
|
16326
16326
|
return s(), l.dispose;
|
|
16327
16327
|
})),
|
|
16328
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16328
|
+
disabled$: fe(r, { workbookTypes: [K], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16329
16329
|
hidden$: Pi(r)
|
|
16330
16330
|
};
|
|
16331
16331
|
}
|
|
16332
16332
|
function gb(r) {
|
|
16333
|
-
const e = Ti(r, fe(r, { workbookTypes: [
|
|
16333
|
+
const e = Ti(r, fe(r, { workbookTypes: [K], worksheetTypes: [te, qt, Ze], rangeTypes: [ie] })), t = l_(r);
|
|
16334
16334
|
return {
|
|
16335
16335
|
id: ir.id,
|
|
16336
16336
|
icon: "MergeAllIcon",
|
|
@@ -16453,7 +16453,7 @@ function wb(r) {
|
|
|
16453
16453
|
var m;
|
|
16454
16454
|
if (!l)
|
|
16455
16455
|
return Ie(!0);
|
|
16456
|
-
const a = o.getUnitId(), c = r.get($), d = r.get($e), u = r.get(ft), h = (m = t.composePermission$([new
|
|
16456
|
+
const a = o.getUnitId(), c = r.get($), d = r.get($e), u = r.get(ft), h = (m = t.composePermission$([new K(a).id]).pipe(Be((f) => f.every((v) => v.value)))) != null ? m : Ie(!1), g = St(
|
|
16457
16457
|
d.ruleChange$,
|
|
16458
16458
|
u.ruleChange$
|
|
16459
16459
|
).pipe(
|
|
@@ -16625,7 +16625,7 @@ function Cf(r) {
|
|
|
16625
16625
|
if (!m)
|
|
16626
16626
|
return Ie(!0);
|
|
16627
16627
|
const f = d.getUnitId();
|
|
16628
|
-
return ((C = (p = t.getPermissionPoint$(new
|
|
16628
|
+
return ((C = (p = t.getPermissionPoint$(new K(f).id)) == null ? void 0 : p.pipe(Be((_) => !!_.value))) != null ? C : Ie(!1)).pipe(
|
|
16629
16629
|
Be((_) => !_)
|
|
16630
16630
|
);
|
|
16631
16631
|
})
|
|
@@ -16652,7 +16652,7 @@ function qa(r) {
|
|
|
16652
16652
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
16653
16653
|
};
|
|
16654
16654
|
}
|
|
16655
|
-
function
|
|
16655
|
+
function Ka(r) {
|
|
16656
16656
|
return {
|
|
16657
16657
|
id: $r.id,
|
|
16658
16658
|
type: J.BUTTON,
|
|
@@ -16661,7 +16661,7 @@ function Qa(r) {
|
|
|
16661
16661
|
disabled$: Sf(r)
|
|
16662
16662
|
};
|
|
16663
16663
|
}
|
|
16664
|
-
function
|
|
16664
|
+
function Qa(r) {
|
|
16665
16665
|
return {
|
|
16666
16666
|
id: ni.id,
|
|
16667
16667
|
type: J.BUTTON,
|
|
@@ -16731,7 +16731,7 @@ function xb(r) {
|
|
|
16731
16731
|
(a === An.id || a === Mr.id || a === er.id) && el(e, o);
|
|
16732
16732
|
});
|
|
16733
16733
|
return el(e, o), s.dispose;
|
|
16734
|
-
}), i = xi(r, [
|
|
16734
|
+
}), i = xi(r, [K, HS]);
|
|
16735
16735
|
return {
|
|
16736
16736
|
id: fa.id,
|
|
16737
16737
|
type: J.BUTTON,
|
|
@@ -16747,7 +16747,7 @@ function Ob(r) {
|
|
|
16747
16747
|
id: Lg.id,
|
|
16748
16748
|
type: J.BUTTON,
|
|
16749
16749
|
title: "sheetConfig.copy",
|
|
16750
|
-
disabled$: xi(r, [
|
|
16750
|
+
disabled$: xi(r, [K, sg]),
|
|
16751
16751
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
16752
16752
|
};
|
|
16753
16753
|
}
|
|
@@ -16756,7 +16756,7 @@ function Ab(r) {
|
|
|
16756
16756
|
id: Ca.id,
|
|
16757
16757
|
type: J.BUTTON,
|
|
16758
16758
|
title: "sheetConfig.rename",
|
|
16759
|
-
disabled$: xi(r, [
|
|
16759
|
+
disabled$: xi(r, [K, og]),
|
|
16760
16760
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
16761
16761
|
};
|
|
16762
16762
|
}
|
|
@@ -16773,7 +16773,7 @@ function Hb(r) {
|
|
|
16773
16773
|
}
|
|
16774
16774
|
}
|
|
16775
16775
|
],
|
|
16776
|
-
hidden$: xi(r, [
|
|
16776
|
+
hidden$: xi(r, [K])
|
|
16777
16777
|
};
|
|
16778
16778
|
}
|
|
16779
16779
|
function Vb(r) {
|
|
@@ -16789,7 +16789,7 @@ function Vb(r) {
|
|
|
16789
16789
|
});
|
|
16790
16790
|
return el(e, n), i.dispose;
|
|
16791
16791
|
}).pipe(
|
|
16792
|
-
rr(xi(r, [
|
|
16792
|
+
rr(xi(r, [K, Wg])),
|
|
16793
16793
|
Be(([n, i]) => n || i)
|
|
16794
16794
|
),
|
|
16795
16795
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -16812,7 +16812,7 @@ function kb(r) {
|
|
|
16812
16812
|
});
|
|
16813
16813
|
return i(), o.dispose;
|
|
16814
16814
|
}).pipe(
|
|
16815
|
-
rr(xi(r, [
|
|
16815
|
+
rr(xi(r, [K, Wg])),
|
|
16816
16816
|
Be(([n, i]) => n || i)
|
|
16817
16817
|
),
|
|
16818
16818
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -16820,12 +16820,12 @@ function kb(r) {
|
|
|
16820
16820
|
}
|
|
16821
16821
|
function el(r, e) {
|
|
16822
16822
|
const t = r.getCurrentUnitForType(x.UNIVER_SHEET).getWorksheets(), n = Array.from(t.values()).filter(
|
|
16823
|
-
(i) => i.getConfig().hidden ===
|
|
16823
|
+
(i) => i.getConfig().hidden === Qe.FALSE
|
|
16824
16824
|
);
|
|
16825
16825
|
e.next(n.length === 1);
|
|
16826
16826
|
}
|
|
16827
16827
|
const Nb = {
|
|
16828
|
-
[
|
|
16828
|
+
[Qv.START]: {
|
|
16829
16829
|
[ts.HISTORY]: {
|
|
16830
16830
|
[Yo.id]: {
|
|
16831
16831
|
order: 2,
|
|
@@ -16930,7 +16930,7 @@ const Nb = {
|
|
|
16930
16930
|
}
|
|
16931
16931
|
},
|
|
16932
16932
|
[Ct.MAIN_AREA]: {
|
|
16933
|
-
[
|
|
16933
|
+
[Ke.FORMAT]: {
|
|
16934
16934
|
[mn.name]: {
|
|
16935
16935
|
order: 0,
|
|
16936
16936
|
menuItemFactory: Jr
|
|
@@ -16946,7 +16946,7 @@ const Nb = {
|
|
|
16946
16946
|
[Ss]: {
|
|
16947
16947
|
order: 3,
|
|
16948
16948
|
menuItemFactory: Aa,
|
|
16949
|
-
[
|
|
16949
|
+
[Qi.id]: {
|
|
16950
16950
|
order: 0,
|
|
16951
16951
|
menuItemFactory: Ha
|
|
16952
16952
|
},
|
|
@@ -16954,7 +16954,7 @@ const Nb = {
|
|
|
16954
16954
|
order: 1,
|
|
16955
16955
|
menuItemFactory: Va
|
|
16956
16956
|
},
|
|
16957
|
-
[
|
|
16957
|
+
[Qr.id]: {
|
|
16958
16958
|
order: 2,
|
|
16959
16959
|
menuItemFactory: ka
|
|
16960
16960
|
},
|
|
@@ -16980,7 +16980,7 @@ const Nb = {
|
|
|
16980
16980
|
}
|
|
16981
16981
|
}
|
|
16982
16982
|
},
|
|
16983
|
-
[
|
|
16983
|
+
[Ke.LAYOUT]: {
|
|
16984
16984
|
order: 1,
|
|
16985
16985
|
[vf]: {
|
|
16986
16986
|
order: 0,
|
|
@@ -16993,7 +16993,7 @@ const Nb = {
|
|
|
16993
16993
|
order: 1,
|
|
16994
16994
|
menuItemFactory: sb
|
|
16995
16995
|
},
|
|
16996
|
-
[
|
|
16996
|
+
[Ko.id]: {
|
|
16997
16997
|
order: 2,
|
|
16998
16998
|
menuItemFactory: lb
|
|
16999
16999
|
},
|
|
@@ -17025,7 +17025,7 @@ const Nb = {
|
|
|
17025
17025
|
[$m]: {
|
|
17026
17026
|
order: 2,
|
|
17027
17027
|
menuItemFactory: j0,
|
|
17028
|
-
[
|
|
17028
|
+
[Qn.id]: {
|
|
17029
17029
|
order: 0,
|
|
17030
17030
|
menuItemFactory: Da
|
|
17031
17031
|
},
|
|
@@ -17047,11 +17047,11 @@ const Nb = {
|
|
|
17047
17047
|
menuItemFactory: qa,
|
|
17048
17048
|
[$r.id]: {
|
|
17049
17049
|
order: 0,
|
|
17050
|
-
menuItemFactory:
|
|
17050
|
+
menuItemFactory: Ka
|
|
17051
17051
|
},
|
|
17052
17052
|
[ni.id]: {
|
|
17053
17053
|
order: 1,
|
|
17054
|
-
menuItemFactory:
|
|
17054
|
+
menuItemFactory: Qa
|
|
17055
17055
|
},
|
|
17056
17056
|
[ti.id]: {
|
|
17057
17057
|
order: 2,
|
|
@@ -17063,15 +17063,15 @@ const Nb = {
|
|
|
17063
17063
|
}
|
|
17064
17064
|
}
|
|
17065
17065
|
},
|
|
17066
|
-
[
|
|
17066
|
+
[Ke.DATA]: {
|
|
17067
17067
|
order: 2
|
|
17068
17068
|
},
|
|
17069
|
-
[
|
|
17069
|
+
[Ke.OTHERS]: {
|
|
17070
17070
|
order: 3
|
|
17071
17071
|
}
|
|
17072
17072
|
},
|
|
17073
17073
|
[Ct.COL_HEADER]: {
|
|
17074
|
-
[
|
|
17074
|
+
[Ke.FORMAT]: {
|
|
17075
17075
|
[mn.name]: {
|
|
17076
17076
|
order: 0,
|
|
17077
17077
|
menuItemFactory: Jr
|
|
@@ -17087,7 +17087,7 @@ const Nb = {
|
|
|
17087
17087
|
[Ss]: {
|
|
17088
17088
|
order: 3,
|
|
17089
17089
|
menuItemFactory: Aa,
|
|
17090
|
-
[
|
|
17090
|
+
[Qi.id]: {
|
|
17091
17091
|
order: 0,
|
|
17092
17092
|
menuItemFactory: Ha
|
|
17093
17093
|
},
|
|
@@ -17095,7 +17095,7 @@ const Nb = {
|
|
|
17095
17095
|
order: 1,
|
|
17096
17096
|
menuItemFactory: Va
|
|
17097
17097
|
},
|
|
17098
|
-
[
|
|
17098
|
+
[Qr.id]: {
|
|
17099
17099
|
order: 2,
|
|
17100
17100
|
menuItemFactory: ka
|
|
17101
17101
|
},
|
|
@@ -17121,7 +17121,7 @@ const Nb = {
|
|
|
17121
17121
|
}
|
|
17122
17122
|
}
|
|
17123
17123
|
},
|
|
17124
|
-
[
|
|
17124
|
+
[Ke.LAYOUT]: {
|
|
17125
17125
|
order: 1,
|
|
17126
17126
|
[xg.id]: {
|
|
17127
17127
|
order: 0,
|
|
@@ -17137,7 +17137,7 @@ const Nb = {
|
|
|
17137
17137
|
},
|
|
17138
17138
|
[Cg.id]: {
|
|
17139
17139
|
order: 2,
|
|
17140
|
-
menuItemFactory:
|
|
17140
|
+
menuItemFactory: Q0
|
|
17141
17141
|
},
|
|
17142
17142
|
[_o.id]: {
|
|
17143
17143
|
order: 2,
|
|
@@ -17154,7 +17154,7 @@ const Nb = {
|
|
|
17154
17154
|
[Wc]: {
|
|
17155
17155
|
order: 5,
|
|
17156
17156
|
menuItemFactory: uh,
|
|
17157
|
-
[
|
|
17157
|
+
[Qn.id]: {
|
|
17158
17158
|
order: 0,
|
|
17159
17159
|
menuItemFactory: Da
|
|
17160
17160
|
},
|
|
@@ -17168,11 +17168,11 @@ const Nb = {
|
|
|
17168
17168
|
menuItemFactory: qa,
|
|
17169
17169
|
[$r.id]: {
|
|
17170
17170
|
order: 0,
|
|
17171
|
-
menuItemFactory:
|
|
17171
|
+
menuItemFactory: Ka
|
|
17172
17172
|
},
|
|
17173
17173
|
[ni.id]: {
|
|
17174
17174
|
order: 1,
|
|
17175
|
-
menuItemFactory:
|
|
17175
|
+
menuItemFactory: Qa
|
|
17176
17176
|
},
|
|
17177
17177
|
[ti.id]: {
|
|
17178
17178
|
order: 2,
|
|
@@ -17184,15 +17184,15 @@ const Nb = {
|
|
|
17184
17184
|
}
|
|
17185
17185
|
}
|
|
17186
17186
|
},
|
|
17187
|
-
[
|
|
17187
|
+
[Ke.DATA]: {
|
|
17188
17188
|
order: 2
|
|
17189
17189
|
},
|
|
17190
|
-
[
|
|
17190
|
+
[Ke.OTHERS]: {
|
|
17191
17191
|
order: 3
|
|
17192
17192
|
}
|
|
17193
17193
|
},
|
|
17194
17194
|
[Ct.ROW_HEADER]: {
|
|
17195
|
-
[
|
|
17195
|
+
[Ke.FORMAT]: {
|
|
17196
17196
|
[mn.name]: {
|
|
17197
17197
|
order: 0,
|
|
17198
17198
|
menuItemFactory: Jr
|
|
@@ -17208,7 +17208,7 @@ const Nb = {
|
|
|
17208
17208
|
[Ss]: {
|
|
17209
17209
|
order: 3,
|
|
17210
17210
|
menuItemFactory: Aa,
|
|
17211
|
-
[
|
|
17211
|
+
[Qi.id]: {
|
|
17212
17212
|
order: 0,
|
|
17213
17213
|
menuItemFactory: Ha
|
|
17214
17214
|
},
|
|
@@ -17216,7 +17216,7 @@ const Nb = {
|
|
|
17216
17216
|
order: 1,
|
|
17217
17217
|
menuItemFactory: Va
|
|
17218
17218
|
},
|
|
17219
|
-
[
|
|
17219
|
+
[Qr.id]: {
|
|
17220
17220
|
order: 2,
|
|
17221
17221
|
menuItemFactory: ka
|
|
17222
17222
|
},
|
|
@@ -17242,7 +17242,7 @@ const Nb = {
|
|
|
17242
17242
|
}
|
|
17243
17243
|
}
|
|
17244
17244
|
},
|
|
17245
|
-
[
|
|
17245
|
+
[Ke.LAYOUT]: {
|
|
17246
17246
|
order: 1,
|
|
17247
17247
|
[Tg.id]: {
|
|
17248
17248
|
order: 0,
|
|
@@ -17262,7 +17262,7 @@ const Nb = {
|
|
|
17262
17262
|
},
|
|
17263
17263
|
[fg.id]: {
|
|
17264
17264
|
order: 2,
|
|
17265
|
-
menuItemFactory:
|
|
17265
|
+
menuItemFactory: K0
|
|
17266
17266
|
},
|
|
17267
17267
|
[hg.id]: {
|
|
17268
17268
|
order: 3,
|
|
@@ -17275,7 +17275,7 @@ const Nb = {
|
|
|
17275
17275
|
[Wc]: {
|
|
17276
17276
|
order: 5,
|
|
17277
17277
|
menuItemFactory: uh,
|
|
17278
|
-
[
|
|
17278
|
+
[Qn.id]: {
|
|
17279
17279
|
order: 0,
|
|
17280
17280
|
menuItemFactory: Da
|
|
17281
17281
|
},
|
|
@@ -17289,11 +17289,11 @@ const Nb = {
|
|
|
17289
17289
|
menuItemFactory: qa,
|
|
17290
17290
|
[$r.id]: {
|
|
17291
17291
|
order: 0,
|
|
17292
|
-
menuItemFactory:
|
|
17292
|
+
menuItemFactory: Ka
|
|
17293
17293
|
},
|
|
17294
17294
|
[ni.id]: {
|
|
17295
17295
|
order: 1,
|
|
17296
|
-
menuItemFactory:
|
|
17296
|
+
menuItemFactory: Qa
|
|
17297
17297
|
},
|
|
17298
17298
|
[ti.id]: {
|
|
17299
17299
|
order: 2,
|
|
@@ -17305,15 +17305,15 @@ const Nb = {
|
|
|
17305
17305
|
}
|
|
17306
17306
|
}
|
|
17307
17307
|
},
|
|
17308
|
-
[
|
|
17308
|
+
[Ke.DATA]: {
|
|
17309
17309
|
order: 2
|
|
17310
17310
|
},
|
|
17311
|
-
[
|
|
17311
|
+
[Ke.OTHERS]: {
|
|
17312
17312
|
order: 3
|
|
17313
17313
|
}
|
|
17314
17314
|
},
|
|
17315
17315
|
[Ct.FOOTER_TABS]: {
|
|
17316
|
-
[
|
|
17316
|
+
[Ke.OTHERS]: {
|
|
17317
17317
|
order: 0,
|
|
17318
17318
|
[fa.id]: {
|
|
17319
17319
|
order: 0,
|
|
@@ -17362,7 +17362,7 @@ const Nb = {
|
|
|
17362
17362
|
}
|
|
17363
17363
|
},
|
|
17364
17364
|
[Ct.FOOTER_MENU]: {
|
|
17365
|
-
[
|
|
17365
|
+
[Ke.OTHERS]: {
|
|
17366
17366
|
[Mg.id]: {
|
|
17367
17367
|
order: 1,
|
|
17368
17368
|
menuItemFactory: rb
|
|
@@ -17387,7 +17387,7 @@ const Nb = {
|
|
|
17387
17387
|
priority: 100,
|
|
17388
17388
|
preconditions: Oe,
|
|
17389
17389
|
staticParameters: {
|
|
17390
|
-
direction:
|
|
17390
|
+
direction: F.DOWN
|
|
17391
17391
|
}
|
|
17392
17392
|
}, Rf = {
|
|
17393
17393
|
id: Lt.id,
|
|
@@ -17397,7 +17397,7 @@ const Nb = {
|
|
|
17397
17397
|
priority: 100,
|
|
17398
17398
|
preconditions: Oe,
|
|
17399
17399
|
staticParameters: {
|
|
17400
|
-
direction:
|
|
17400
|
+
direction: F.UP
|
|
17401
17401
|
}
|
|
17402
17402
|
}, If = {
|
|
17403
17403
|
id: Lt.id,
|
|
@@ -17407,7 +17407,7 @@ const Nb = {
|
|
|
17407
17407
|
priority: 100,
|
|
17408
17408
|
preconditions: Am,
|
|
17409
17409
|
staticParameters: {
|
|
17410
|
-
direction:
|
|
17410
|
+
direction: F.LEFT
|
|
17411
17411
|
}
|
|
17412
17412
|
}, yf = {
|
|
17413
17413
|
id: Lt.id,
|
|
@@ -17417,7 +17417,7 @@ const Nb = {
|
|
|
17417
17417
|
priority: 100,
|
|
17418
17418
|
preconditions: Am,
|
|
17419
17419
|
staticParameters: {
|
|
17420
|
-
direction:
|
|
17420
|
+
direction: F.RIGHT
|
|
17421
17421
|
}
|
|
17422
17422
|
}, Mf = {
|
|
17423
17423
|
id: Ln.id,
|
|
@@ -17427,7 +17427,7 @@ const Nb = {
|
|
|
17427
17427
|
priority: 100,
|
|
17428
17428
|
preconditions: Oe,
|
|
17429
17429
|
staticParameters: {
|
|
17430
|
-
direction:
|
|
17430
|
+
direction: F.RIGHT,
|
|
17431
17431
|
keycode: Y.TAB
|
|
17432
17432
|
}
|
|
17433
17433
|
}, Ef = {
|
|
@@ -17438,7 +17438,7 @@ const Nb = {
|
|
|
17438
17438
|
priority: 100,
|
|
17439
17439
|
preconditions: Oe,
|
|
17440
17440
|
staticParameters: {
|
|
17441
|
-
direction:
|
|
17441
|
+
direction: F.LEFT,
|
|
17442
17442
|
keycode: Y.TAB
|
|
17443
17443
|
}
|
|
17444
17444
|
}, Tf = {
|
|
@@ -17449,7 +17449,7 @@ const Nb = {
|
|
|
17449
17449
|
priority: 100,
|
|
17450
17450
|
preconditions: Oe,
|
|
17451
17451
|
staticParameters: {
|
|
17452
|
-
direction:
|
|
17452
|
+
direction: F.DOWN,
|
|
17453
17453
|
keycode: Y.ENTER
|
|
17454
17454
|
}
|
|
17455
17455
|
}, Pf = {
|
|
@@ -17460,7 +17460,7 @@ const Nb = {
|
|
|
17460
17460
|
priority: 100,
|
|
17461
17461
|
preconditions: Oe,
|
|
17462
17462
|
staticParameters: {
|
|
17463
|
-
direction:
|
|
17463
|
+
direction: F.UP,
|
|
17464
17464
|
keycode: Y.ENTER
|
|
17465
17465
|
}
|
|
17466
17466
|
}, xf = {
|
|
@@ -17470,7 +17470,7 @@ const Nb = {
|
|
|
17470
17470
|
binding: Y.ARROW_DOWN | Se.CTRL_COMMAND,
|
|
17471
17471
|
preconditions: Oe,
|
|
17472
17472
|
staticParameters: {
|
|
17473
|
-
direction:
|
|
17473
|
+
direction: F.DOWN,
|
|
17474
17474
|
jumpOver: Dn.moveGap
|
|
17475
17475
|
}
|
|
17476
17476
|
}, Of = {
|
|
@@ -17480,7 +17480,7 @@ const Nb = {
|
|
|
17480
17480
|
binding: Y.ARROW_UP | Se.CTRL_COMMAND,
|
|
17481
17481
|
preconditions: Oe,
|
|
17482
17482
|
staticParameters: {
|
|
17483
|
-
direction:
|
|
17483
|
+
direction: F.UP,
|
|
17484
17484
|
jumpOver: Dn.moveGap
|
|
17485
17485
|
}
|
|
17486
17486
|
}, Af = {
|
|
@@ -17490,7 +17490,7 @@ const Nb = {
|
|
|
17490
17490
|
binding: Y.ARROW_LEFT | Se.CTRL_COMMAND,
|
|
17491
17491
|
preconditions: Oe,
|
|
17492
17492
|
staticParameters: {
|
|
17493
|
-
direction:
|
|
17493
|
+
direction: F.LEFT,
|
|
17494
17494
|
jumpOver: Dn.moveGap
|
|
17495
17495
|
}
|
|
17496
17496
|
}, Hf = {
|
|
@@ -17500,7 +17500,7 @@ const Nb = {
|
|
|
17500
17500
|
binding: Y.ARROW_RIGHT | Se.CTRL_COMMAND,
|
|
17501
17501
|
preconditions: Oe,
|
|
17502
17502
|
staticParameters: {
|
|
17503
|
-
direction:
|
|
17503
|
+
direction: F.RIGHT,
|
|
17504
17504
|
jumpOver: Dn.moveGap
|
|
17505
17505
|
}
|
|
17506
17506
|
}, Vf = {
|
|
@@ -17510,7 +17510,7 @@ const Nb = {
|
|
|
17510
17510
|
binding: Y.ARROW_DOWN | Se.SHIFT,
|
|
17511
17511
|
preconditions: Oe,
|
|
17512
17512
|
staticParameters: {
|
|
17513
|
-
direction:
|
|
17513
|
+
direction: F.DOWN
|
|
17514
17514
|
}
|
|
17515
17515
|
}, kf = {
|
|
17516
17516
|
id: Gt.id,
|
|
@@ -17519,7 +17519,7 @@ const Nb = {
|
|
|
17519
17519
|
binding: Y.ARROW_UP | Se.SHIFT,
|
|
17520
17520
|
preconditions: Oe,
|
|
17521
17521
|
staticParameters: {
|
|
17522
|
-
direction:
|
|
17522
|
+
direction: F.UP
|
|
17523
17523
|
}
|
|
17524
17524
|
}, Nf = {
|
|
17525
17525
|
id: Gt.id,
|
|
@@ -17528,7 +17528,7 @@ const Nb = {
|
|
|
17528
17528
|
binding: Y.ARROW_LEFT | Se.SHIFT,
|
|
17529
17529
|
preconditions: Oe,
|
|
17530
17530
|
staticParameters: {
|
|
17531
|
-
direction:
|
|
17531
|
+
direction: F.LEFT
|
|
17532
17532
|
}
|
|
17533
17533
|
}, Df = {
|
|
17534
17534
|
id: Gt.id,
|
|
@@ -17537,7 +17537,7 @@ const Nb = {
|
|
|
17537
17537
|
binding: Y.ARROW_RIGHT | Se.SHIFT,
|
|
17538
17538
|
preconditions: Oe,
|
|
17539
17539
|
staticParameters: {
|
|
17540
|
-
direction:
|
|
17540
|
+
direction: F.RIGHT
|
|
17541
17541
|
}
|
|
17542
17542
|
}, Lf = {
|
|
17543
17543
|
id: Gt.id,
|
|
@@ -17546,7 +17546,7 @@ const Nb = {
|
|
|
17546
17546
|
binding: Y.ARROW_DOWN | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17547
17547
|
preconditions: Oe,
|
|
17548
17548
|
staticParameters: {
|
|
17549
|
-
direction:
|
|
17549
|
+
direction: F.DOWN,
|
|
17550
17550
|
jumpOver: Dn.moveGap
|
|
17551
17551
|
}
|
|
17552
17552
|
}, Wf = {
|
|
@@ -17556,7 +17556,7 @@ const Nb = {
|
|
|
17556
17556
|
binding: Y.ARROW_UP | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17557
17557
|
preconditions: Oe,
|
|
17558
17558
|
staticParameters: {
|
|
17559
|
-
direction:
|
|
17559
|
+
direction: F.UP,
|
|
17560
17560
|
jumpOver: Dn.moveGap
|
|
17561
17561
|
}
|
|
17562
17562
|
}, Bf = {
|
|
@@ -17566,7 +17566,7 @@ const Nb = {
|
|
|
17566
17566
|
binding: Y.ARROW_LEFT | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17567
17567
|
preconditions: Oe,
|
|
17568
17568
|
staticParameters: {
|
|
17569
|
-
direction:
|
|
17569
|
+
direction: F.LEFT,
|
|
17570
17570
|
jumpOver: Dn.moveGap
|
|
17571
17571
|
}
|
|
17572
17572
|
}, Ff = {
|
|
@@ -17576,11 +17576,11 @@ const Nb = {
|
|
|
17576
17576
|
binding: Y.ARROW_RIGHT | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17577
17577
|
preconditions: Oe,
|
|
17578
17578
|
staticParameters: {
|
|
17579
|
-
direction:
|
|
17579
|
+
direction: F.RIGHT,
|
|
17580
17580
|
jumpOver: Dn.moveGap
|
|
17581
17581
|
}
|
|
17582
17582
|
}, Uf = {
|
|
17583
|
-
id:
|
|
17583
|
+
id: Kl.id,
|
|
17584
17584
|
description: "shortcut.sheet.select-all",
|
|
17585
17585
|
group: "3_sheet-view",
|
|
17586
17586
|
binding: Y.A | Se.CTRL_COMMAND,
|
|
@@ -17630,7 +17630,7 @@ const Nb = {
|
|
|
17630
17630
|
preconditions: (r) => Oe(r),
|
|
17631
17631
|
binding: Se.SHIFT + Y.BACKSPACE
|
|
17632
17632
|
}, Wb = {
|
|
17633
|
-
id:
|
|
17633
|
+
id: Qd.id,
|
|
17634
17634
|
// when focusing on any other input tag do not trigger this shortcut
|
|
17635
17635
|
preconditions: (r) => Oe(r),
|
|
17636
17636
|
binding: Se.SHIFT + Y.DELETE
|
|
@@ -17647,7 +17647,7 @@ const Nb = {
|
|
|
17647
17647
|
}, qf = {
|
|
17648
17648
|
id: id.id,
|
|
17649
17649
|
binding: Y.EQUAL | Se.CTRL_COMMAND
|
|
17650
|
-
},
|
|
17650
|
+
}, Kf = {
|
|
17651
17651
|
id: zo.id,
|
|
17652
17652
|
description: "shortcut.sheet.zoom-out",
|
|
17653
17653
|
binding: Y.MINUS | Se.CTRL_COMMAND,
|
|
@@ -17657,7 +17657,7 @@ const Nb = {
|
|
|
17657
17657
|
staticParameters: {
|
|
17658
17658
|
delta: -0.2
|
|
17659
17659
|
}
|
|
17660
|
-
},
|
|
17660
|
+
}, Qf = {
|
|
17661
17661
|
id: id.id,
|
|
17662
17662
|
binding: Y.MINUS | Se.CTRL_COMMAND
|
|
17663
17663
|
}, Jf = {
|
|
@@ -17688,7 +17688,7 @@ let tl = class extends oe {
|
|
|
17688
17688
|
}
|
|
17689
17689
|
_initComponents() {
|
|
17690
17690
|
const r = this._componentManager;
|
|
17691
|
-
this.disposeWithMe(r.register(Sn,
|
|
17691
|
+
this.disposeWithMe(r.register(Sn, Km)), this.disposeWithMe(r.register(ru, gf)), this.disposeWithMe(r.register(go, ff)), this.disposeWithMe(r.register(mf, J_)), this.disposeWithMe(r.register("HideGridlinesDoubleIcon", wm));
|
|
17692
17692
|
}
|
|
17693
17693
|
_initCommands() {
|
|
17694
17694
|
[
|
|
@@ -17708,7 +17708,7 @@ let tl = class extends oe {
|
|
|
17708
17708
|
ra,
|
|
17709
17709
|
gn,
|
|
17710
17710
|
um,
|
|
17711
|
-
|
|
17711
|
+
Kl,
|
|
17712
17712
|
jd,
|
|
17713
17713
|
vd,
|
|
17714
17714
|
si,
|
|
@@ -17734,7 +17734,7 @@ let tl = class extends oe {
|
|
|
17734
17734
|
la,
|
|
17735
17735
|
hn,
|
|
17736
17736
|
uo,
|
|
17737
|
-
|
|
17737
|
+
Qn,
|
|
17738
17738
|
aa,
|
|
17739
17739
|
ca,
|
|
17740
17740
|
hm,
|
|
@@ -17745,7 +17745,7 @@ let tl = class extends oe {
|
|
|
17745
17745
|
Zl,
|
|
17746
17746
|
hi,
|
|
17747
17747
|
ui,
|
|
17748
|
-
|
|
17748
|
+
Ko,
|
|
17749
17749
|
qo,
|
|
17750
17750
|
zd,
|
|
17751
17751
|
hr,
|
|
@@ -17799,11 +17799,11 @@ let tl = class extends oe {
|
|
|
17799
17799
|
Uf,
|
|
17800
17800
|
// view shortcuts
|
|
17801
17801
|
Gf,
|
|
17802
|
-
|
|
17802
|
+
Kf,
|
|
17803
17803
|
Jf,
|
|
17804
17804
|
$f,
|
|
17805
17805
|
qf,
|
|
17806
|
-
|
|
17806
|
+
Qf,
|
|
17807
17807
|
// toggle cell style shortcuts
|
|
17808
17808
|
Xf,
|
|
17809
17809
|
zf,
|
|
@@ -17846,7 +17846,7 @@ let tl = class extends oe {
|
|
|
17846
17846
|
}
|
|
17847
17847
|
};
|
|
17848
17848
|
tl = Fb([
|
|
17849
|
-
Un(0, k(
|
|
17849
|
+
Un(0, k(bt)),
|
|
17850
17850
|
Un(1, k(Zt)),
|
|
17851
17851
|
Un(2, Al),
|
|
17852
17852
|
Un(3, L),
|
|
@@ -18075,7 +18075,7 @@ var Gb = Object.getOwnPropertyDescriptor, qb = (r, e, t, n) => {
|
|
|
18075
18075
|
for (var i = n > 1 ? void 0 : n ? Gb(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
18076
18076
|
(s = r[o]) && (i = s(i) || i);
|
|
18077
18077
|
return i;
|
|
18078
|
-
},
|
|
18078
|
+
}, Kb = (r, e) => (t, n) => e(t, n, r);
|
|
18079
18079
|
let nl = class extends oe {
|
|
18080
18080
|
constructor(r, e) {
|
|
18081
18081
|
super(), this._context = r, this._componentManager = e, this._initComponent();
|
|
@@ -18087,9 +18087,9 @@ let nl = class extends oe {
|
|
|
18087
18087
|
}
|
|
18088
18088
|
};
|
|
18089
18089
|
nl = qb([
|
|
18090
|
-
|
|
18090
|
+
Kb(1, k(Zt))
|
|
18091
18091
|
], nl);
|
|
18092
|
-
const Ih = 2,
|
|
18092
|
+
const Ih = 2, Qb = [
|
|
18093
18093
|
{ value: "DEFAULT_PASTE", label: "rightClick.paste" },
|
|
18094
18094
|
{ value: "SPECIAL_PASTE_VALUE", label: "rightClick.pasteValue" },
|
|
18095
18095
|
{ value: "SPECIAL_PASTE_FORMAT", label: "rightClick.pasteFormat" },
|
|
@@ -18140,7 +18140,7 @@ const Ih = 2, Kb = [
|
|
|
18140
18140
|
Ed,
|
|
18141
18141
|
{
|
|
18142
18142
|
align: "start",
|
|
18143
|
-
items:
|
|
18143
|
+
items: Qb.map((g) => ({
|
|
18144
18144
|
type: "checkbox",
|
|
18145
18145
|
value: g.value,
|
|
18146
18146
|
label: n.t(g.label),
|
|
@@ -18261,7 +18261,7 @@ function nR(r, e, t) {
|
|
|
18261
18261
|
params: { toRange: d, fromRange: u }
|
|
18262
18262
|
}), T = f.getMergeData(), P = v.getMergeData(), A = T.filter((B) => ae.intersects(B, u)), H = P.filter((B) => ae.intersects(B, d)), O = A.map((B) => ae.getRelativeRange(B, u)).map((B) => ae.getPositionRange(B, d)), V = Bl(O), W = [
|
|
18263
18263
|
{
|
|
18264
|
-
id:
|
|
18264
|
+
id: Kt.id,
|
|
18265
18265
|
params: {
|
|
18266
18266
|
unitId: l,
|
|
18267
18267
|
subUnitId: s,
|
|
@@ -18269,7 +18269,7 @@ function nR(r, e, t) {
|
|
|
18269
18269
|
}
|
|
18270
18270
|
},
|
|
18271
18271
|
{
|
|
18272
|
-
id:
|
|
18272
|
+
id: Kt.id,
|
|
18273
18273
|
params: {
|
|
18274
18274
|
unitId: l,
|
|
18275
18275
|
subUnitId: s,
|
|
@@ -18277,7 +18277,7 @@ function nR(r, e, t) {
|
|
|
18277
18277
|
}
|
|
18278
18278
|
},
|
|
18279
18279
|
{
|
|
18280
|
-
id:
|
|
18280
|
+
id: Qt.id,
|
|
18281
18281
|
params: {
|
|
18282
18282
|
unitId: l,
|
|
18283
18283
|
subUnitId: c,
|
|
@@ -18286,7 +18286,7 @@ function nR(r, e, t) {
|
|
|
18286
18286
|
}
|
|
18287
18287
|
], j = [
|
|
18288
18288
|
{
|
|
18289
|
-
id:
|
|
18289
|
+
id: Kt.id,
|
|
18290
18290
|
params: {
|
|
18291
18291
|
unitId: l,
|
|
18292
18292
|
subUnitId: c,
|
|
@@ -18294,7 +18294,7 @@ function nR(r, e, t) {
|
|
|
18294
18294
|
}
|
|
18295
18295
|
},
|
|
18296
18296
|
{
|
|
18297
|
-
id:
|
|
18297
|
+
id: Qt.id,
|
|
18298
18298
|
params: {
|
|
18299
18299
|
unitId: l,
|
|
18300
18300
|
subUnitId: c,
|
|
@@ -18302,7 +18302,7 @@ function nR(r, e, t) {
|
|
|
18302
18302
|
}
|
|
18303
18303
|
},
|
|
18304
18304
|
{
|
|
18305
|
-
id:
|
|
18305
|
+
id: Qt.id,
|
|
18306
18306
|
params: {
|
|
18307
18307
|
unitId: l,
|
|
18308
18308
|
subUnitId: s,
|
|
@@ -18523,7 +18523,7 @@ function Uc(r, e, t) {
|
|
|
18523
18523
|
ranges: _
|
|
18524
18524
|
};
|
|
18525
18525
|
n.push({
|
|
18526
|
-
id:
|
|
18526
|
+
id: Kt.id,
|
|
18527
18527
|
params: S
|
|
18528
18528
|
});
|
|
18529
18529
|
const I = Wl(
|
|
@@ -18531,7 +18531,7 @@ function Uc(r, e, t) {
|
|
|
18531
18531
|
S
|
|
18532
18532
|
);
|
|
18533
18533
|
i.push({
|
|
18534
|
-
id:
|
|
18534
|
+
id: Qt.id,
|
|
18535
18535
|
params: I
|
|
18536
18536
|
});
|
|
18537
18537
|
}
|
|
@@ -18541,7 +18541,7 @@ function Uc(r, e, t) {
|
|
|
18541
18541
|
ranges: h
|
|
18542
18542
|
};
|
|
18543
18543
|
h.length > 0 && n.push({
|
|
18544
|
-
id:
|
|
18544
|
+
id: Qt.id,
|
|
18545
18545
|
params: v
|
|
18546
18546
|
});
|
|
18547
18547
|
const p = Fl(
|
|
@@ -18549,7 +18549,7 @@ function Uc(r, e, t) {
|
|
|
18549
18549
|
v
|
|
18550
18550
|
);
|
|
18551
18551
|
return h.length > 0 && i.push({
|
|
18552
|
-
id:
|
|
18552
|
+
id: Kt.id,
|
|
18553
18553
|
params: p
|
|
18554
18554
|
}), { undos: i, redos: n };
|
|
18555
18555
|
}
|
|
@@ -18636,12 +18636,12 @@ let pi = class extends Nn {
|
|
|
18636
18636
|
return t.length > 0 ? t : void 0;
|
|
18637
18637
|
}
|
|
18638
18638
|
_init() {
|
|
18639
|
-
[mn,
|
|
18639
|
+
[mn, Qd, fn].forEach(
|
|
18640
18640
|
(t) => this.disposeWithMe(this._commandService.registerMultipleCommand(t))
|
|
18641
18641
|
), [
|
|
18642
|
-
|
|
18642
|
+
Qi,
|
|
18643
18643
|
Ji,
|
|
18644
|
-
|
|
18644
|
+
Qr,
|
|
18645
18645
|
$i,
|
|
18646
18646
|
Lc,
|
|
18647
18647
|
jm
|
|
@@ -18715,7 +18715,7 @@ let pi = class extends Nn {
|
|
|
18715
18715
|
i = e._getWorksheet(o, s), t = o, n = s;
|
|
18716
18716
|
const a = e._configService.getConfig(WS), c = l.rows[l.rows.length - 1], d = l.cols[l.cols.length - 1];
|
|
18717
18717
|
return a && c * d > a ? (e._messageService.show({
|
|
18718
|
-
type:
|
|
18718
|
+
type: Qg.Error,
|
|
18719
18719
|
content: e._localService.t("clipboard.paste.exceedMaxCells")
|
|
18720
18720
|
}), !1) : !0;
|
|
18721
18721
|
},
|
|
@@ -18728,7 +18728,7 @@ let pi = class extends Nn {
|
|
|
18728
18728
|
const { height: R } = S || {};
|
|
18729
18729
|
R && (p[I] = {
|
|
18730
18730
|
h: Number.parseFloat(R),
|
|
18731
|
-
hd:
|
|
18731
|
+
hd: Qe.FALSE
|
|
18732
18732
|
});
|
|
18733
18733
|
});
|
|
18734
18734
|
const C = {
|
|
@@ -18810,7 +18810,7 @@ let pi = class extends Nn {
|
|
|
18810
18810
|
range: S,
|
|
18811
18811
|
colInfo: s.slice(m).map((R, y) => ({
|
|
18812
18812
|
w: R.width ? Math.max(+R.width, i.getColumnWidth(v[y])) : f,
|
|
18813
|
-
hd:
|
|
18813
|
+
hd: Qe.FALSE
|
|
18814
18814
|
}))
|
|
18815
18815
|
};
|
|
18816
18816
|
c.push({
|
|
@@ -19128,7 +19128,7 @@ let pi = class extends Nn {
|
|
|
19128
19128
|
}
|
|
19129
19129
|
};
|
|
19130
19130
|
pi = sR([
|
|
19131
|
-
sn(0, k(
|
|
19131
|
+
sn(0, k(bt)),
|
|
19132
19132
|
sn(1, N),
|
|
19133
19133
|
sn(2, Ce),
|
|
19134
19134
|
sn(3, L),
|
|
@@ -19348,13 +19348,13 @@ function ip(r, e, t) {
|
|
|
19348
19348
|
}
|
|
19349
19349
|
let a = 0;
|
|
19350
19350
|
switch (s) {
|
|
19351
|
-
case
|
|
19351
|
+
case Rt.RIGHT:
|
|
19352
19352
|
a = r.mergeInfo.endX - r.mergeInfo.startX - i;
|
|
19353
19353
|
break;
|
|
19354
|
-
case
|
|
19354
|
+
case Rt.CENTER:
|
|
19355
19355
|
a = (r.mergeInfo.endX - r.mergeInfo.startX - i) / 2;
|
|
19356
19356
|
break;
|
|
19357
|
-
case
|
|
19357
|
+
case Rt.UNSPECIFIED: {
|
|
19358
19358
|
t && (a = r.mergeInfo.endX - r.mergeInfo.startX - i);
|
|
19359
19359
|
break;
|
|
19360
19360
|
}
|
|
@@ -19407,7 +19407,7 @@ const jy = (r, e, t, n, i, o) => {
|
|
|
19407
19407
|
const m = r.get(Ce), f = m.getRenderById(c), v = m.getRenderById(e);
|
|
19408
19408
|
if (!f || !v)
|
|
19409
19409
|
return null;
|
|
19410
|
-
const p = f.with(
|
|
19410
|
+
const p = f.with(Kn).getSkeleton(), C = (y = v.with(he).getSkeletonParam(u)) == null ? void 0 : y.skeleton;
|
|
19411
19411
|
if (!p || !C)
|
|
19412
19412
|
return null;
|
|
19413
19413
|
const _ = (E = (M = p.getViewModel().getBody()) == null ? void 0 : M.customRanges) == null ? void 0 : E.find((T) => T.rangeId === o);
|
|
@@ -19590,7 +19590,7 @@ let Ir = class extends oe {
|
|
|
19590
19590
|
if (!i)
|
|
19591
19591
|
return;
|
|
19592
19592
|
const { currentRender: o, worksheet: s, skeletonParam: l } = i, { scaleY: a } = o.scene.getAncestorScale(), c = o.scene.getViewports().find((h) => h.isHit(new Ve(t, n)));
|
|
19593
|
-
if (!c || c.viewportKey !==
|
|
19593
|
+
if (!c || c.viewportKey !== U.VIEW_ROW_TOP && c.viewportKey !== U.VIEW_ROW_BOTTOM)
|
|
19594
19594
|
return;
|
|
19595
19595
|
const d = {
|
|
19596
19596
|
x: c.viewportScrollX,
|
|
@@ -19603,7 +19603,7 @@ let Ir = class extends oe {
|
|
|
19603
19603
|
if (!i)
|
|
19604
19604
|
return;
|
|
19605
19605
|
const { currentRender: o, worksheet: s, skeletonParam: l } = i, { scaleX: a } = o.scene.getAncestorScale(), c = o.scene.getViewports().find((h) => h.isHit(new Ve(t, n)));
|
|
19606
|
-
if (!c || c.viewportKey !==
|
|
19606
|
+
if (!c || c.viewportKey !== U.VIEW_COLUMN_LEFT && c.viewportKey !== U.VIEW_COLUMN_RIGHT)
|
|
19607
19607
|
return;
|
|
19608
19608
|
const d = {
|
|
19609
19609
|
x: c.viewportScrollX,
|
|
@@ -20006,50 +20006,50 @@ function ER(r) {
|
|
|
20006
20006
|
}
|
|
20007
20007
|
const TR = {
|
|
20008
20008
|
[Ct.MAIN_AREA]: {
|
|
20009
|
-
[
|
|
20009
|
+
[Ke.FORMAT]: {
|
|
20010
20010
|
[mn.name]: {
|
|
20011
20011
|
order: 0,
|
|
20012
20012
|
menuItemFactory: Jr
|
|
20013
20013
|
}
|
|
20014
20014
|
},
|
|
20015
|
-
[
|
|
20015
|
+
[Ke.DATA]: {
|
|
20016
20016
|
order: 2
|
|
20017
20017
|
},
|
|
20018
|
-
[
|
|
20018
|
+
[Ke.OTHERS]: {
|
|
20019
20019
|
order: 3
|
|
20020
20020
|
}
|
|
20021
20021
|
},
|
|
20022
20022
|
[Ct.COL_HEADER]: {
|
|
20023
|
-
[
|
|
20023
|
+
[Ke.FORMAT]: {
|
|
20024
20024
|
[mn.name]: {
|
|
20025
20025
|
order: 0,
|
|
20026
20026
|
menuItemFactory: Jr
|
|
20027
20027
|
}
|
|
20028
20028
|
},
|
|
20029
|
-
[
|
|
20029
|
+
[Ke.LAYOUT]: {
|
|
20030
20030
|
order: 1
|
|
20031
20031
|
},
|
|
20032
|
-
[
|
|
20032
|
+
[Ke.DATA]: {
|
|
20033
20033
|
order: 2
|
|
20034
20034
|
},
|
|
20035
|
-
[
|
|
20035
|
+
[Ke.OTHERS]: {
|
|
20036
20036
|
order: 3
|
|
20037
20037
|
}
|
|
20038
20038
|
},
|
|
20039
20039
|
[Ct.ROW_HEADER]: {
|
|
20040
|
-
[
|
|
20040
|
+
[Ke.FORMAT]: {
|
|
20041
20041
|
[mn.name]: {
|
|
20042
20042
|
order: 0,
|
|
20043
20043
|
menuItemFactory: Jr
|
|
20044
20044
|
}
|
|
20045
20045
|
},
|
|
20046
|
-
[
|
|
20046
|
+
[Ke.LAYOUT]: {
|
|
20047
20047
|
order: 1
|
|
20048
20048
|
},
|
|
20049
|
-
[
|
|
20049
|
+
[Ke.DATA]: {
|
|
20050
20050
|
order: 2
|
|
20051
20051
|
},
|
|
20052
|
-
[
|
|
20052
|
+
[Ke.OTHERS]: {
|
|
20053
20053
|
order: 3
|
|
20054
20054
|
}
|
|
20055
20055
|
}
|
|
@@ -20068,7 +20068,7 @@ let al = class extends oe {
|
|
|
20068
20068
|
}
|
|
20069
20069
|
_initCustomComponents() {
|
|
20070
20070
|
const r = this._componentManager;
|
|
20071
|
-
this.disposeWithMe(r.register(Sn,
|
|
20071
|
+
this.disposeWithMe(r.register(Sn, Km)), this.disposeWithMe(r.register(ru, gf)), this.disposeWithMe(r.register(go, ff));
|
|
20072
20072
|
}
|
|
20073
20073
|
_initCommands() {
|
|
20074
20074
|
[
|
|
@@ -20088,7 +20088,7 @@ let al = class extends oe {
|
|
|
20088
20088
|
ra,
|
|
20089
20089
|
gn,
|
|
20090
20090
|
um,
|
|
20091
|
-
|
|
20091
|
+
Kl,
|
|
20092
20092
|
jd,
|
|
20093
20093
|
vd,
|
|
20094
20094
|
si,
|
|
@@ -20113,7 +20113,7 @@ let al = class extends oe {
|
|
|
20113
20113
|
la,
|
|
20114
20114
|
hn,
|
|
20115
20115
|
uo,
|
|
20116
|
-
|
|
20116
|
+
Qn,
|
|
20117
20117
|
aa,
|
|
20118
20118
|
ca,
|
|
20119
20119
|
Cd,
|
|
@@ -20123,7 +20123,7 @@ let al = class extends oe {
|
|
|
20123
20123
|
Zl,
|
|
20124
20124
|
hi,
|
|
20125
20125
|
ui,
|
|
20126
|
-
|
|
20126
|
+
Ko,
|
|
20127
20127
|
qo,
|
|
20128
20128
|
zd,
|
|
20129
20129
|
hr,
|
|
@@ -20174,11 +20174,11 @@ let al = class extends oe {
|
|
|
20174
20174
|
Uf,
|
|
20175
20175
|
// view shortcuts
|
|
20176
20176
|
Gf,
|
|
20177
|
-
|
|
20177
|
+
Kf,
|
|
20178
20178
|
Jf,
|
|
20179
20179
|
$f,
|
|
20180
20180
|
qf,
|
|
20181
|
-
|
|
20181
|
+
Qf,
|
|
20182
20182
|
// toggle cell style shortcuts
|
|
20183
20183
|
Xf,
|
|
20184
20184
|
zf,
|
|
@@ -20212,7 +20212,7 @@ let al = class extends oe {
|
|
|
20212
20212
|
}
|
|
20213
20213
|
};
|
|
20214
20214
|
al = xR([
|
|
20215
|
-
dr(0, k(
|
|
20215
|
+
dr(0, k(bt)),
|
|
20216
20216
|
dr(1, k(Zt)),
|
|
20217
20217
|
dr(2, Al),
|
|
20218
20218
|
dr(3, L),
|
|
@@ -20269,7 +20269,7 @@ let yo = class extends oe {
|
|
|
20269
20269
|
if (this._contextService.getContextValue(yl) === !0)
|
|
20270
20270
|
break;
|
|
20271
20271
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20272
|
-
workbookTypes: [
|
|
20272
|
+
workbookTypes: [K],
|
|
20273
20273
|
rangeTypes: [ie],
|
|
20274
20274
|
worksheetTypes: [qt, te]
|
|
20275
20275
|
}), i = this._localeService.t("permission.dialog.editErr");
|
|
@@ -20278,14 +20278,14 @@ let yo = class extends oe {
|
|
|
20278
20278
|
if (t.visible === !1)
|
|
20279
20279
|
break;
|
|
20280
20280
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20281
|
-
workbookTypes: [
|
|
20281
|
+
workbookTypes: [K],
|
|
20282
20282
|
rangeTypes: [ie],
|
|
20283
20283
|
worksheetTypes: [qt, te]
|
|
20284
20284
|
}), i = this._localeService.t("permission.dialog.editErr");
|
|
20285
20285
|
break;
|
|
20286
|
-
case
|
|
20286
|
+
case Qr.id:
|
|
20287
20287
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20288
|
-
workbookTypes: [
|
|
20288
|
+
workbookTypes: [K],
|
|
20289
20289
|
rangeTypes: [ie],
|
|
20290
20290
|
worksheetTypes: [te, Tr]
|
|
20291
20291
|
}), i = this._localeService.t("permission.dialog.pasteErr");
|
|
@@ -20295,7 +20295,7 @@ let yo = class extends oe {
|
|
|
20295
20295
|
break;
|
|
20296
20296
|
case la.id:
|
|
20297
20297
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20298
|
-
workbookTypes: [
|
|
20298
|
+
workbookTypes: [K],
|
|
20299
20299
|
rangeTypes: [ie],
|
|
20300
20300
|
worksheetTypes: [te, qt, Ze]
|
|
20301
20301
|
}), i = this._localeService.t("permission.dialog.commonErr");
|
|
@@ -20306,7 +20306,7 @@ let yo = class extends oe {
|
|
|
20306
20306
|
case Mi.id:
|
|
20307
20307
|
case Ei.id:
|
|
20308
20308
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20309
|
-
workbookTypes: [
|
|
20309
|
+
workbookTypes: [K],
|
|
20310
20310
|
rangeTypes: [ie],
|
|
20311
20311
|
worksheetTypes: [Ze, te]
|
|
20312
20312
|
}), i = this._localeService.t("permission.dialog.setStyleErr");
|
|
@@ -20318,9 +20318,9 @@ let yo = class extends oe {
|
|
|
20318
20318
|
worksheetTypes: [Ps]
|
|
20319
20319
|
}), i = this._localeService.t("permission.dialog.copyErr"), (o = this._permissionService.getPermissionPoint(new Xi(this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId()).id)) != null && o.value || (i = this._localeService.t("permission.dialog.workbookCopyErr"));
|
|
20320
20320
|
break;
|
|
20321
|
-
case
|
|
20321
|
+
case Qd.id:
|
|
20322
20322
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20323
|
-
workbookTypes: [Xi,
|
|
20323
|
+
workbookTypes: [Xi, K],
|
|
20324
20324
|
rangeTypes: [wc, ie],
|
|
20325
20325
|
worksheetTypes: [Ps, te]
|
|
20326
20326
|
}), i = this._localeService.t("permission.dialog.copyErr"), (s = this._permissionService.getPermissionPoint(new Xi(this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId()).id)) != null && s.value || (i = this._localeService.t("permission.dialog.workbookCopyErr"));
|
|
@@ -20343,15 +20343,15 @@ let yo = class extends oe {
|
|
|
20343
20343
|
}
|
|
20344
20344
|
_permissionCheckByPaste(e) {
|
|
20345
20345
|
return e.value === et.SPECIAL_PASTE_VALUE || e.value === et.SPECIAL_PASTE_FORMULA ? this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20346
|
-
workbookTypes: [
|
|
20346
|
+
workbookTypes: [K],
|
|
20347
20347
|
rangeTypes: [ie],
|
|
20348
20348
|
worksheetTypes: [Ze, te]
|
|
20349
20349
|
}) : e.value === et.SPECIAL_PASTE_FORMAT ? this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20350
|
-
workbookTypes: [
|
|
20350
|
+
workbookTypes: [K],
|
|
20351
20351
|
rangeTypes: [ie],
|
|
20352
20352
|
worksheetTypes: [Ze, te]
|
|
20353
20353
|
}) : this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20354
|
-
workbookTypes: [
|
|
20354
|
+
workbookTypes: [K],
|
|
20355
20355
|
rangeTypes: [ie],
|
|
20356
20356
|
worksheetTypes: [qt, Ze, te]
|
|
20357
20357
|
});
|
|
@@ -20406,7 +20406,7 @@ let cl = class extends Nn {
|
|
|
20406
20406
|
if (!i)
|
|
20407
20407
|
return !1;
|
|
20408
20408
|
const { unitId: o, subUnitId: s } = i;
|
|
20409
|
-
if (!this._permissionService.composePermission([new
|
|
20409
|
+
if (!this._permissionService.composePermission([new K(o).id, new te(o, s).id]).every((a) => a.value))
|
|
20410
20410
|
return !1;
|
|
20411
20411
|
if (!n)
|
|
20412
20412
|
return !0;
|
|
@@ -20454,7 +20454,7 @@ let cl = class extends Nn {
|
|
|
20454
20454
|
return !1;
|
|
20455
20455
|
const { worksheet: i, unitId: o, subUnitId: s } = n;
|
|
20456
20456
|
if (!this._permissionService.composePermission([
|
|
20457
|
-
new
|
|
20457
|
+
new K(o).id,
|
|
20458
20458
|
new te(o, s).id,
|
|
20459
20459
|
new qt(o, s).id,
|
|
20460
20460
|
new Ze(o, s).id
|
|
@@ -20487,7 +20487,7 @@ let cl = class extends Nn {
|
|
|
20487
20487
|
if (!n)
|
|
20488
20488
|
return !1;
|
|
20489
20489
|
const { worksheet: i, unitId: o, subUnitId: s } = n;
|
|
20490
|
-
if (!this._permissionService.composePermission([new
|
|
20490
|
+
if (!this._permissionService.composePermission([new K(o).id, new te(o, s).id]).every((g) => g.value))
|
|
20491
20491
|
return !1;
|
|
20492
20492
|
const a = (h = this._selectionManagerService.getCurrentSelections()) == null ? void 0 : h.map((g) => g.range), c = this._rangeProtectionRuleModel.getSubunitRuleList(o, s).reduce((g, m) => [...g, ...m.ranges], []), d = a == null ? void 0 : a.filter((g) => c.some((m) => ae.intersects(m, g)));
|
|
20493
20493
|
return !(d == null ? void 0 : d.some((g) => {
|
|
@@ -20511,7 +20511,7 @@ let cl = class extends Nn {
|
|
|
20511
20511
|
handler: (e, t) => {
|
|
20512
20512
|
var s, l;
|
|
20513
20513
|
const n = this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
20514
|
-
return !(n == null ? void 0 : n.getActiveSheet()) || !n ? !1 : (l = (s = this._permissionService.getPermissionPoint(new
|
|
20514
|
+
return !(n == null ? void 0 : n.getActiveSheet()) || !n ? !1 : (l = (s = this._permissionService.getPermissionPoint(new K(n.getUnitId()).id)) == null ? void 0 : s.value) != null ? l : !1;
|
|
20515
20515
|
}
|
|
20516
20516
|
})
|
|
20517
20517
|
);
|
|
@@ -20526,7 +20526,7 @@ cl = VR([
|
|
|
20526
20526
|
_n(6, lt),
|
|
20527
20527
|
_n(7, k(po)),
|
|
20528
20528
|
_n(8, k(Wo)),
|
|
20529
|
-
_n(9, td(
|
|
20529
|
+
_n(9, td(Ks))
|
|
20530
20530
|
], cl);
|
|
20531
20531
|
var kR = Object.getOwnPropertyDescriptor, NR = (r, e, t, n) => {
|
|
20532
20532
|
for (var i = n > 1 ? void 0 : n ? kR(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -21033,11 +21033,11 @@ const sp = (r, e, t, n, i) => {
|
|
|
21033
21033
|
)
|
|
21034
21034
|
] });
|
|
21035
21035
|
}, qR = (r) => {
|
|
21036
|
-
const { ranges: e, onRangesChange: t, desc: n, onDescChange: i, rangesErrMsg: o, permissionId: s } = r, l = D(Zt), a = wt(() => l.get(tm), []), c = D(N), d = D(Pe), u = D(
|
|
21036
|
+
const { ranges: e, onRangesChange: t, desc: n, onDescChange: i, rangesErrMsg: o, permissionId: s } = r, l = D(Zt), a = wt(() => l.get(tm), []), c = D(N), d = D(Pe), u = D(bt), h = c.getCurrentUnitForType(x.UNIVER_SHEET), g = h == null ? void 0 : h.getActiveSheet();
|
|
21037
21037
|
if (!h || !g)
|
|
21038
21038
|
return null;
|
|
21039
21039
|
const m = h.getUnitId(), f = g.getSheetId(), v = (p) => {
|
|
21040
|
-
const C = p.split(",").map(
|
|
21040
|
+
const C = p.split(",").map(Kg).map((E) => E.range);
|
|
21041
21041
|
if (C.some((E) => !dv(E) || E.endColumn < E.startColumn || E.endRow < E.startRow))
|
|
21042
21042
|
return;
|
|
21043
21043
|
const _ = c.getCurrentUnitForType(x.UNIVER_SHEET), S = _ == null ? void 0 : _.getActiveSheet();
|
|
@@ -21076,9 +21076,9 @@ const sp = (r, e, t, n, i) => {
|
|
|
21076
21076
|
}
|
|
21077
21077
|
) })
|
|
21078
21078
|
] });
|
|
21079
|
-
},
|
|
21079
|
+
}, KR = (r) => {
|
|
21080
21080
|
var p, C;
|
|
21081
|
-
const { fromSheetBar: e, rule: t, oldRule: n } = r, i = D(
|
|
21081
|
+
const { fromSheetBar: e, rule: t, oldRule: n } = r, i = D(bt), o = t ? ZR(i, t) : YR(i, e), [s, l] = re(o.ranges), [a, c] = re(() => sp(i, o.ranges, o.permissionId, o.unitId, o.subUnitId)), [d, u] = re(o.description), [h, g] = re((p = o.editState) != null ? p : cn.OnlyMe), [m, f] = re((C = o.viewState) != null ? C : ii.OthersCanView), v = Kh(Co);
|
|
21082
21082
|
return Me(() => {
|
|
21083
21083
|
const _ = i.get(N), S = i.get(wi), I = _.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
21084
21084
|
if (!I) return;
|
|
@@ -21107,7 +21107,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
21107
21107
|
}
|
|
21108
21108
|
),
|
|
21109
21109
|
/* @__PURE__ */ w(
|
|
21110
|
-
|
|
21110
|
+
Qh,
|
|
21111
21111
|
{
|
|
21112
21112
|
components: v,
|
|
21113
21113
|
sharedProps: {
|
|
@@ -21136,7 +21136,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
21136
21136
|
]
|
|
21137
21137
|
}
|
|
21138
21138
|
);
|
|
21139
|
-
}, KR = "data:image/png;base64,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";
|
|
21139
|
+
}, QR = "data:image/png;base64,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";
|
|
21140
21140
|
function JR() {
|
|
21141
21141
|
var H;
|
|
21142
21142
|
const [r, e] = re(!0), [t, n] = re(!1), [i, o] = re([]), s = D(Pe), l = D($e), a = D(ft), c = D(N), d = D(L), u = D(wi), h = D(Tl), g = D(rt), f = D(Dt).getCurrentUser(), v = D(Ar), p = ht(a.ruleRefresh$, ""), C = ht(l.ruleRefresh$, ""), _ = c.getCurrentUnitOfType(x.UNIVER_SHEET);
|
|
@@ -21359,7 +21359,7 @@ function JR() {
|
|
|
21359
21359
|
{
|
|
21360
21360
|
className: "univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center",
|
|
21361
21361
|
children: [
|
|
21362
|
-
/* @__PURE__ */ w("img", { width: 240, height: 120, src:
|
|
21362
|
+
/* @__PURE__ */ w("img", { width: 240, height: 120, src: QR, alt: "", draggable: !1 }),
|
|
21363
21363
|
/* @__PURE__ */ w("p", { className: "univer-w-60 univer-break-words univer-text-sm univer-text-gray-400", children: s.t("permission.dialog.listEmpty") })
|
|
21364
21364
|
]
|
|
21365
21365
|
}
|
|
@@ -21396,7 +21396,7 @@ const $R = ({ showDetail: r, fromSheetBar: e, rule: t, oldRule: n }) => {
|
|
|
21396
21396
|
if (!l) return null;
|
|
21397
21397
|
const { worksheet: a } = l, d = ((u = o.getCurrentSelections()) == null ? void 0 : u.map((h) => h.range)).reduce((h, g) => h + Gg(a.getName(), g), "");
|
|
21398
21398
|
return r ? /* @__PURE__ */ w(
|
|
21399
|
-
|
|
21399
|
+
KR,
|
|
21400
21400
|
{
|
|
21401
21401
|
fromSheetBar: e,
|
|
21402
21402
|
rule: t,
|
|
@@ -21876,7 +21876,7 @@ let Eo = class extends oe {
|
|
|
21876
21876
|
}
|
|
21877
21877
|
};
|
|
21878
21878
|
Eo = ou([
|
|
21879
|
-
Bt(0, k(
|
|
21879
|
+
Bt(0, k(bt)),
|
|
21880
21880
|
Bt(1, k(Zt)),
|
|
21881
21881
|
Bt(2, k(kl))
|
|
21882
21882
|
], Eo);
|
|
@@ -22009,7 +22009,7 @@ let Xc = class extends oe {
|
|
|
22009
22009
|
r = !1;
|
|
22010
22010
|
const n = e[0];
|
|
22011
22011
|
if (!n.primary) return;
|
|
22012
|
-
const i = Pt(n, t), o = n.range.rangeType, { scene: s } = this._context, l = s.getViewport(
|
|
22012
|
+
const i = Pt(n, t), o = n.range.rangeType, { scene: s } = this._context, l = s.getViewport(U.VIEW_MAIN), a = (l == null ? void 0 : l.viewportScrollX) || 0, c = (l == null ? void 0 : l.viewportScrollY) || 0;
|
|
22013
22013
|
let d = 0, u = 0;
|
|
22014
22014
|
const h = t.rowHeaderWidth, g = this._layoutService.getContentElement().getBoundingClientRect();
|
|
22015
22015
|
switch (o) {
|
|
@@ -22094,7 +22094,7 @@ let zc = class extends oe {
|
|
|
22094
22094
|
return;
|
|
22095
22095
|
const { startRow: l, startColumn: a, endRow: c, endColumn: d } = s;
|
|
22096
22096
|
let u = 0, h = 0;
|
|
22097
|
-
t > l ? u = i : i < c ? u = t : u = l, n > a ? h = o : o < d ? h = n : h = a, r.direction ===
|
|
22097
|
+
t > l ? u = i : i < c ? u = t : u = l, n > a ? h = o : o < d ? h = n : h = a, r.direction === F.DOWN ? u = i : r.direction === F.UP ? u = t : r.direction === F.RIGHT ? h = o : r.direction === F.LEFT && (h = n), this._scrollToCell(u, h);
|
|
22098
22098
|
}, 0);
|
|
22099
22099
|
}
|
|
22100
22100
|
_getFreeze() {
|
|
@@ -22107,7 +22107,7 @@ let zc = class extends oe {
|
|
|
22107
22107
|
_initScrollEventListener() {
|
|
22108
22108
|
const { scene: r } = this._context;
|
|
22109
22109
|
if (r == null) return;
|
|
22110
|
-
const e = r.getViewport(
|
|
22110
|
+
const e = r.getViewport(U.VIEW_MAIN);
|
|
22111
22111
|
e && (this.disposeWithMe(
|
|
22112
22112
|
We(
|
|
22113
22113
|
// wheel event --> set-scroll.command('sheet.operation.set-scroll') --> scroll.operation.ts -->
|
|
@@ -22192,7 +22192,7 @@ let zc = class extends oe {
|
|
|
22192
22192
|
this._scrollManagerService.setSearchParam(e);
|
|
22193
22193
|
const t = this._getSheetObject();
|
|
22194
22194
|
if (!t) return;
|
|
22195
|
-
const i = t.scene.getViewport(
|
|
22195
|
+
const i = t.scene.getViewport(U.VIEW_MAIN), o = this._scrollManagerService.getScrollStateByParam(e), { viewportScrollX: s, viewportScrollY: l } = this._scrollManagerService.calcViewportScrollFromRowColOffset(o);
|
|
22196
22196
|
i && (o ? (i.viewportScrollX = s, i.viewportScrollY = l) : (i.viewportScrollX = 0, i.viewportScrollY = 0), this._updateSceneSize(r));
|
|
22197
22197
|
})
|
|
22198
22198
|
));
|
|
@@ -22204,7 +22204,7 @@ let zc = class extends oe {
|
|
|
22204
22204
|
_initPointerScrollEvent() {
|
|
22205
22205
|
const r = this._getSheetObject();
|
|
22206
22206
|
if (!r) return;
|
|
22207
|
-
const e = this._scrollManagerService, t = r.scene, n = r.spreadsheet, i = t.getViewport(
|
|
22207
|
+
const e = this._scrollManagerService, t = r.scene, n = r.spreadsheet, i = t.getViewport(U.VIEW_MAIN), o = { x: 0, y: 0 };
|
|
22208
22208
|
let s = !1;
|
|
22209
22209
|
const l = { x: 0, y: 0 }, a = 0.95;
|
|
22210
22210
|
let c = null;
|
|
@@ -22280,7 +22280,7 @@ let zc = class extends oe {
|
|
|
22280
22280
|
const r = (n = this._getSheetObject()) == null ? void 0 : n.scene;
|
|
22281
22281
|
if (r == null)
|
|
22282
22282
|
return;
|
|
22283
|
-
const e = r.getViewport(
|
|
22283
|
+
const e = r.getViewport(U.VIEW_MAIN);
|
|
22284
22284
|
if (e == null)
|
|
22285
22285
|
return;
|
|
22286
22286
|
const t = (i = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : i.skeleton;
|
|
@@ -22294,7 +22294,7 @@ let zc = class extends oe {
|
|
|
22294
22294
|
if (t == null || n == null) return !1;
|
|
22295
22295
|
const i = (y = this._getSheetObject()) == null ? void 0 : y.scene;
|
|
22296
22296
|
if (i == null) return !1;
|
|
22297
|
-
const o = i.getViewport(
|
|
22297
|
+
const o = i.getViewport(U.VIEW_MAIN);
|
|
22298
22298
|
if (o == null || ((M = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : M.skeleton) == null) return !1;
|
|
22299
22299
|
const l = this._context.unit.getActiveSheet();
|
|
22300
22300
|
if (!l) return !1;
|
|
@@ -22545,7 +22545,7 @@ function II(r) {
|
|
|
22545
22545
|
const yI = (r) => {
|
|
22546
22546
|
const { value: e, onChange: t, multiple: n, options: i, title: o, onEdit: s, filter: l, style: a, location: c, showEdit: d } = r, u = D(Pe), h = l == null ? void 0 : l.toLowerCase(), { row: g, col: m, unitId: f, subUnitId: v } = c, p = i.filter((S) => h ? S.label.toLowerCase().includes(h) : !0), C = D(yd), _ = wt(() => C.permissionCheckWithRanges(
|
|
22547
22547
|
{
|
|
22548
|
-
workbookTypes: [
|
|
22548
|
+
workbookTypes: [K],
|
|
22549
22549
|
rangeTypes: [ie],
|
|
22550
22550
|
worksheetTypes: [te]
|
|
22551
22551
|
},
|
|
@@ -22853,7 +22853,7 @@ class OI extends kd {
|
|
|
22853
22853
|
(o = this.fillControlTopLeft) == null || o.hide(), (s = this.fillControlBottomRight) == null || s.hide();
|
|
22854
22854
|
}
|
|
22855
22855
|
getViewportMainScrollInfo() {
|
|
22856
|
-
const t = this.getScene().getViewport(
|
|
22856
|
+
const t = this.getScene().getViewport(U.VIEW_MAIN);
|
|
22857
22857
|
return {
|
|
22858
22858
|
viewportScrollX: (t == null ? void 0 : t.viewportScrollX) || 0,
|
|
22859
22859
|
viewportScrollY: (t == null ? void 0 : t.viewportScrollY) || 0,
|
|
@@ -22941,7 +22941,7 @@ let pl = class extends rm {
|
|
|
22941
22941
|
this._logService.error("[SelectionRenderService]: should not receive null!");
|
|
22942
22942
|
return;
|
|
22943
22943
|
}
|
|
22944
|
-
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(
|
|
22944
|
+
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(U.VIEW_MAIN);
|
|
22945
22945
|
this._changeRuntime(i, o, s), this._workbookSelections.getCurrentLastSelection() || this._commandService.syncExecuteCommand(Te.id, {
|
|
22946
22946
|
unitId: t,
|
|
22947
22947
|
subUnitId: n,
|
|
@@ -23123,7 +23123,7 @@ let pl = class extends rm {
|
|
|
23123
23123
|
l,
|
|
23124
23124
|
this._activeViewport
|
|
23125
23125
|
);
|
|
23126
|
-
}), (l === X.ROW || l === X.COLUMN) && !e.getViewport(
|
|
23126
|
+
}), (l === X.ROW || l === X.COLUMN) && !e.getViewport(U.VIEW_MAIN), a;
|
|
23127
23127
|
}
|
|
23128
23128
|
// same as PC
|
|
23129
23129
|
_getActiveViewport(e) {
|
|
@@ -23141,13 +23141,13 @@ let pl = class extends rm {
|
|
|
23141
23141
|
getSelectionControls() {
|
|
23142
23142
|
return this._selectionControls;
|
|
23143
23143
|
}
|
|
23144
|
-
_fillControlPointerDownHandler(e, t = X.NORMAL, n, i =
|
|
23144
|
+
_fillControlPointerDownHandler(e, t = X.NORMAL, n, i = yt.ALL) {
|
|
23145
23145
|
var u, h, g;
|
|
23146
23146
|
const o = this._skeleton, s = this._scene;
|
|
23147
23147
|
if (!s || !o)
|
|
23148
23148
|
return;
|
|
23149
23149
|
n && (this._activeViewport = n);
|
|
23150
|
-
const l = s.getViewport(
|
|
23150
|
+
const l = s.getViewport(U.VIEW_MAIN), a = this.getActiveSelectionControl();
|
|
23151
23151
|
if (!a) return;
|
|
23152
23152
|
this._changeCurrCellWhenControlPointerDown(), this._selectionMoveStart$.next(this.getSelectionDataWithStyle()), this._clearUpdatingListeners(), this._addEndingListeners(), this._scrollTimer = Gr.create(this._scene, i), this._scrollTimer.startScroll((u = l == null ? void 0 : l.left) != null ? u : 0, (h = l == null ? void 0 : l.top) != null ? h : 0, l), (g = s.getTransformer()) == null || g.clearSelectedObjects();
|
|
23153
23153
|
const c = s.getCoordRelativeToViewport(Ve.FromArray([e.offsetX, e.offsetY]));
|
|
@@ -23200,7 +23200,7 @@ let pl = class extends rm {
|
|
|
23200
23200
|
endRow: n.model.endRow,
|
|
23201
23201
|
startColumn: n.model.startColumn,
|
|
23202
23202
|
endColumn: n.model.endColumn
|
|
23203
|
-
}, a = s.getViewport(
|
|
23203
|
+
}, a = s.getViewport(U.VIEW_MAIN), c = (M = this._getViewportByCell(l.endRow, l.endColumn)) != null ? M : a, d = s.getScrollXYInfoByViewport(
|
|
23204
23204
|
Ve.FromArray([this._startViewportPosX, this._startViewportPosY]),
|
|
23205
23205
|
c
|
|
23206
23206
|
), { scaleX: u, scaleY: h } = s.getAncestorScale();
|
|
@@ -23232,7 +23232,7 @@ let pl = class extends rm {
|
|
|
23232
23232
|
}
|
|
23233
23233
|
_updateControlPointWhenScrolling() {
|
|
23234
23234
|
const { scene: e } = this._context;
|
|
23235
|
-
if (!e.getViewport(
|
|
23235
|
+
if (!e.getViewport(U.VIEW_MAIN)) return;
|
|
23236
23236
|
const n = this._scrollManagerService.validViewportScrollInfo$.subscribe((i) => {
|
|
23237
23237
|
var h;
|
|
23238
23238
|
if (i == null)
|
|
@@ -23247,7 +23247,7 @@ let pl = class extends rm {
|
|
|
23247
23247
|
}
|
|
23248
23248
|
};
|
|
23249
23249
|
pl = HI([
|
|
23250
|
-
bn(1, k(
|
|
23250
|
+
bn(1, k(bt)),
|
|
23251
23251
|
bn(2, k(At)),
|
|
23252
23252
|
bn(3, Vl),
|
|
23253
23253
|
bn(4, k($)),
|
|
@@ -23310,7 +23310,7 @@ let vl = class extends Yh {
|
|
|
23310
23310
|
_registerRenderBasics() {
|
|
23311
23311
|
[
|
|
23312
23312
|
[he],
|
|
23313
|
-
[
|
|
23313
|
+
[Qs],
|
|
23314
23314
|
[lt, { useClass: pl }],
|
|
23315
23315
|
[Et],
|
|
23316
23316
|
[ml]
|
|
@@ -23359,7 +23359,7 @@ Cp(vl, "pluginName", "SHEET_UI_PLUGIN");
|
|
|
23359
23359
|
Cp(vl, "type", x.UNIVER_SHEET);
|
|
23360
23360
|
vl = DI([
|
|
23361
23361
|
jh(Ug, $v),
|
|
23362
|
-
lc(1, k(
|
|
23362
|
+
lc(1, k(bt)),
|
|
23363
23363
|
lc(2, Ce),
|
|
23364
23364
|
lc(3, N)
|
|
23365
23365
|
], vl);
|
|
@@ -23387,7 +23387,7 @@ let Sl = class extends oe {
|
|
|
23387
23387
|
_initPointerEvent() {
|
|
23388
23388
|
this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe((e) => {
|
|
23389
23389
|
const { location: t, bullet: n } = e;
|
|
23390
|
-
n && this._commandService.executeCommand(
|
|
23390
|
+
n && this._commandService.executeCommand(KS.id, {
|
|
23391
23391
|
unitId: t.unitId,
|
|
23392
23392
|
subUnitId: t.subUnitId,
|
|
23393
23393
|
row: t.row,
|
|
@@ -23450,7 +23450,7 @@ let Cl = class extends oe {
|
|
|
23450
23450
|
return [];
|
|
23451
23451
|
const o = [];
|
|
23452
23452
|
for (let s = 0; s < n.length; s++) {
|
|
23453
|
-
const l = n[s].trim(), a =
|
|
23453
|
+
const l = n[s].trim(), a = Kg(l.trim());
|
|
23454
23454
|
if (s === 0) {
|
|
23455
23455
|
const d = r.getSheetBySheetName(a.sheetName);
|
|
23456
23456
|
d && i.getSheetId() !== d.getSheetId() && (i = d, await this._cmdSrv.executeCommand(pd.id, {
|
|
@@ -23584,7 +23584,7 @@ let To = class extends Nn {
|
|
|
23584
23584
|
}
|
|
23585
23585
|
autoScroll() {
|
|
23586
23586
|
var m, f;
|
|
23587
|
-
const e = this._formulaEditorManagerService.getPosition(), t = (m = this._renderManagerService.getRenderById(De)) == null ? void 0 : m.with(
|
|
23587
|
+
const e = this._formulaEditorManagerService.getPosition(), t = (m = this._renderManagerService.getRenderById(De)) == null ? void 0 : m.with(Kn).getSkeleton(), n = this._renderManagerService.getRenderById(De), i = this._univerInstanceService.getUniverDocInstance(
|
|
23588
23588
|
De
|
|
23589
23589
|
);
|
|
23590
23590
|
if (t == null || e == null || n == null || i == null)
|
|
@@ -23628,12 +23628,12 @@ const YI = {
|
|
|
23628
23628
|
marginLeft: 0,
|
|
23629
23629
|
paragraphLineGapDefault: 0,
|
|
23630
23630
|
renderConfig: {
|
|
23631
|
-
horizontalAlign:
|
|
23631
|
+
horizontalAlign: Rt.UNSPECIFIED,
|
|
23632
23632
|
verticalAlign: dn.TOP,
|
|
23633
23633
|
centerAngle: 0,
|
|
23634
23634
|
vertexAngle: 0,
|
|
23635
23635
|
wrapStrategy: mr.WRAP,
|
|
23636
|
-
isRenderStyle:
|
|
23636
|
+
isRenderStyle: Qe.FALSE
|
|
23637
23637
|
}
|
|
23638
23638
|
};
|
|
23639
23639
|
let wl = class extends oe {
|
|
@@ -23645,7 +23645,7 @@ let wl = class extends oe {
|
|
|
23645
23645
|
}
|
|
23646
23646
|
_getEditorViewModel(r) {
|
|
23647
23647
|
var e;
|
|
23648
|
-
return (e = this._renderManagerService.getRenderById(r)) == null ? void 0 : e.with(
|
|
23648
|
+
return (e = this._renderManagerService.getRenderById(r)) == null ? void 0 : e.with(Kn).getViewModel();
|
|
23649
23649
|
}
|
|
23650
23650
|
// Sync cell content to formula editor bar when sheet selection changed.
|
|
23651
23651
|
_syncFormulaEditorContent() {
|
|
@@ -23710,7 +23710,7 @@ let wl = class extends oe {
|
|
|
23710
23710
|
const t = [Le, De], n = this._renderManagerService.getRenderById(r);
|
|
23711
23711
|
if (n == null)
|
|
23712
23712
|
return;
|
|
23713
|
-
const i = n.with(
|
|
23713
|
+
const i = n.with(Kn).getSkeleton(), o = this._univerInstanceService.getUnit(r, x.UNIVER_DOC), s = this._getEditorViewModel(r);
|
|
23714
23714
|
o == null || s == null || (this._commandService.syncExecuteCommand(io.id, {
|
|
23715
23715
|
...e,
|
|
23716
23716
|
textRanges: null,
|
|
@@ -23722,7 +23722,7 @@ let wl = class extends oe {
|
|
|
23722
23722
|
_syncContentAndRender(r, e, t, n) {
|
|
23723
23723
|
var c, d;
|
|
23724
23724
|
r === De && e.paragraphs && (e.paragraphs = this._clearParagraph(e.paragraphs));
|
|
23725
|
-
const i = [Le, De], o = (c = this._renderManagerService.getRenderById(r)) == null ? void 0 : c.with(
|
|
23725
|
+
const i = [Le, De], o = (c = this._renderManagerService.getRenderById(r)) == null ? void 0 : c.with(Kn).getSkeleton(), s = this._univerInstanceService.getUnit(r, x.UNIVER_DOC), l = this._getEditorViewModel(r);
|
|
23726
23726
|
if (s == null || l == null || o == null)
|
|
23727
23727
|
return;
|
|
23728
23728
|
s.getSnapshot().body = e, s.getSnapshot().drawings = t != null ? t : {}, s.getSnapshot().drawingsOrder = n != null ? n : [], this._checkAndSetRenderStyleConfig(s), l.reset(s);
|
|
@@ -23745,12 +23745,12 @@ let wl = class extends oe {
|
|
|
23745
23745
|
height: 1 / 0
|
|
23746
23746
|
};
|
|
23747
23747
|
}
|
|
23748
|
-
((o = t == null ? void 0 : t.dataStream) != null ? o : "").startsWith("=") ? n.isRenderStyle =
|
|
23748
|
+
((o = t == null ? void 0 : t.dataStream) != null ? o : "").startsWith("=") ? n.isRenderStyle = Qe.TRUE : n.isRenderStyle = Qe.FALSE;
|
|
23749
23749
|
}
|
|
23750
23750
|
_clearParagraph(r) {
|
|
23751
23751
|
const e = le.deepClone(r);
|
|
23752
23752
|
for (const t of e)
|
|
23753
|
-
t.paragraphStyle && (t.paragraphStyle.horizontalAlign =
|
|
23753
|
+
t.paragraphStyle && (t.paragraphStyle.horizontalAlign = Rt.UNSPECIFIED);
|
|
23754
23754
|
return e;
|
|
23755
23755
|
}
|
|
23756
23756
|
};
|
|
@@ -23875,7 +23875,7 @@ let _l = class extends oe {
|
|
|
23875
23875
|
subUnitId: e,
|
|
23876
23876
|
ranges: E
|
|
23877
23877
|
};
|
|
23878
|
-
T.push({ id:
|
|
23878
|
+
T.push({ id: Kt.id, params: O }), T.push({ id: Qt.id, params: V });
|
|
23879
23879
|
const W = this._injector.invoke(
|
|
23880
23880
|
Wl,
|
|
23881
23881
|
O
|
|
@@ -23883,7 +23883,7 @@ let _l = class extends oe {
|
|
|
23883
23883
|
Fl,
|
|
23884
23884
|
V
|
|
23885
23885
|
);
|
|
23886
|
-
if (P.push({ id:
|
|
23886
|
+
if (P.push({ id: Kt.id, params: j }), P.push({ id: Qt.id, params: W }), H) {
|
|
23887
23887
|
const B = this._injector.invoke((z) => rf(z, r, A, E));
|
|
23888
23888
|
T.unshift(...B.redos), P.push(...B.undos);
|
|
23889
23889
|
}
|
|
@@ -23910,9 +23910,9 @@ _l = GI([
|
|
|
23910
23910
|
ur(3, Ce),
|
|
23911
23911
|
ur(4, k($)),
|
|
23912
23912
|
ur(5, k(vn)),
|
|
23913
|
-
ur(6, k(
|
|
23913
|
+
ur(6, k(bt))
|
|
23914
23914
|
], _l);
|
|
23915
|
-
var qI = Object.getOwnPropertyDescriptor,
|
|
23915
|
+
var qI = Object.getOwnPropertyDescriptor, KI = (r, e, t, n) => {
|
|
23916
23916
|
for (var i = n > 1 ? void 0 : n ? qI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
23917
23917
|
(s = r[o]) && (i = s(i) || i);
|
|
23918
23918
|
return i;
|
|
@@ -23961,13 +23961,13 @@ let jc = class extends oe {
|
|
|
23961
23961
|
this._context = e, this._selectionRenderService = t, this._selectionManagerService = n, this._commandService = i, this._initialize();
|
|
23962
23962
|
}
|
|
23963
23963
|
};
|
|
23964
|
-
jc =
|
|
23964
|
+
jc = KI([
|
|
23965
23965
|
ac(1, k(lt)),
|
|
23966
23966
|
ac(2, k($)),
|
|
23967
23967
|
ac(3, k(L))
|
|
23968
23968
|
], jc);
|
|
23969
|
-
var
|
|
23970
|
-
for (var i = n > 1 ? void 0 : n ?
|
|
23969
|
+
var QI = Object.getOwnPropertyDescriptor, JI = (r, e, t, n) => {
|
|
23970
|
+
for (var i = n > 1 ? void 0 : n ? QI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
23971
23971
|
(s = r[o]) && (i = s(i) || i);
|
|
23972
23972
|
return i;
|
|
23973
23973
|
}, $I = (r, e) => (t, n) => e(t, n, r);
|
|
@@ -23980,7 +23980,7 @@ let bl = class extends oe {
|
|
|
23980
23980
|
}
|
|
23981
23981
|
};
|
|
23982
23982
|
bl = JI([
|
|
23983
|
-
$I(0, k(
|
|
23983
|
+
$I(0, k(QS))
|
|
23984
23984
|
], bl);
|
|
23985
23985
|
var ey = Object.getOwnPropertyDescriptor, ty = (r, e, t, n) => {
|
|
23986
23986
|
for (var i = n > 1 ? void 0 : n ? ey(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -24246,7 +24246,7 @@ qc = ly([
|
|
|
24246
24246
|
hs(3, L),
|
|
24247
24247
|
hs(4, k($))
|
|
24248
24248
|
], qc);
|
|
24249
|
-
var
|
|
24249
|
+
var Kc = /* @__PURE__ */ ((r) => (r[r.ROW = 0] = "ROW", r[r.COLUMN = 1] = "COLUMN", r))(Kc || {});
|
|
24250
24250
|
const Yi = 12, uy = 0.4;
|
|
24251
24251
|
class xh extends ad {
|
|
24252
24252
|
constructor(t, n, i) {
|
|
@@ -24351,7 +24351,7 @@ var hy = Object.getOwnPropertyDescriptor, gy = (r, e, t, n) => {
|
|
|
24351
24351
|
return i;
|
|
24352
24352
|
}, Oh = (r, e) => (t, n) => e(t, n, r);
|
|
24353
24353
|
const Ah = "__SpreadsheetHeaderUnhideSHAPEControllerShape__";
|
|
24354
|
-
let
|
|
24354
|
+
let Qc = class extends Nn {
|
|
24355
24355
|
constructor(e, t, n) {
|
|
24356
24356
|
super();
|
|
24357
24357
|
b(this, "_shapes", { cols: [], rows: [] });
|
|
@@ -24392,7 +24392,7 @@ let Kc = class extends Nn {
|
|
|
24392
24392
|
return new xh(
|
|
24393
24393
|
Ah,
|
|
24394
24394
|
{
|
|
24395
|
-
type:
|
|
24395
|
+
type: Kc.ROW,
|
|
24396
24396
|
hovered: !1,
|
|
24397
24397
|
hasPrevious: p,
|
|
24398
24398
|
hasNext: C,
|
|
@@ -24413,7 +24413,7 @@ let Kc = class extends Nn {
|
|
|
24413
24413
|
return new xh(
|
|
24414
24414
|
Ah,
|
|
24415
24415
|
{
|
|
24416
|
-
type:
|
|
24416
|
+
type: Kc.COLUMN,
|
|
24417
24417
|
hovered: !1,
|
|
24418
24418
|
hasPrevious: p,
|
|
24419
24419
|
hasNext: C,
|
|
@@ -24439,10 +24439,10 @@ let Kc = class extends Nn {
|
|
|
24439
24439
|
return tn(this._workbook, this._context);
|
|
24440
24440
|
}
|
|
24441
24441
|
};
|
|
24442
|
-
|
|
24442
|
+
Qc = gy([
|
|
24443
24443
|
Oh(1, k(he)),
|
|
24444
24444
|
Oh(2, L)
|
|
24445
|
-
],
|
|
24445
|
+
], Qc);
|
|
24446
24446
|
var my = Object.getOwnPropertyDescriptor, fy = (r, e, t, n) => {
|
|
24447
24447
|
for (var i = n > 1 ? void 0 : n ? my(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
24448
24448
|
(s = r[o]) && (i = s(i) || i);
|
|
@@ -24504,12 +24504,12 @@ let $c = class extends rm {
|
|
|
24504
24504
|
t == null ? void 0 : t.onPointerDown$.subscribeEvent((l, a) => {
|
|
24505
24505
|
if (this.isSelectionDisabled() || this.inRefSelectionMode()) return;
|
|
24506
24506
|
const c = this._sheetSkeletonManagerService.getCurrentParam().skeleton, { row: d } = Hn(l.offsetX, l.offsetY, s, c);
|
|
24507
|
-
ef(this._workbookSelections.getCurrentSelections(), d) || (this._onPointerDown(l, (i.zIndex || 1) + 1, X.ROW, this._getActiveViewport(l),
|
|
24507
|
+
ef(this._workbookSelections.getCurrentSelections(), d) || (this._onPointerDown(l, (i.zIndex || 1) + 1, X.ROW, this._getActiveViewport(l), yt.Y), l.button !== 2 && a.stopPropagation());
|
|
24508
24508
|
})
|
|
24509
24509
|
), this.disposeWithMe(n == null ? void 0 : n.onPointerDown$.subscribeEvent((l, a) => {
|
|
24510
24510
|
if (this.isSelectionDisabled() || this.inRefSelectionMode()) return;
|
|
24511
24511
|
const c = this._sheetSkeletonManagerService.getCurrentParam().skeleton, { column: d } = Hn(l.offsetX, l.offsetY, s, c);
|
|
24512
|
-
tf(this._workbookSelections.getCurrentSelections(), d) || (this._onPointerDown(l, (i.zIndex || 1) + 1, X.COLUMN, this._getActiveViewport(l),
|
|
24512
|
+
tf(this._workbookSelections.getCurrentSelections(), d) || (this._onPointerDown(l, (i.zIndex || 1) + 1, X.COLUMN, this._getActiveViewport(l), yt.X), l.button !== 2 && a.stopPropagation());
|
|
24513
24513
|
})), this.disposeWithMe(o == null ? void 0 : o.onPointerDown$.subscribeEvent((l, a) => {
|
|
24514
24514
|
if (this.isSelectionDisabled() || this.inRefSelectionMode()) return;
|
|
24515
24515
|
this._reset();
|
|
@@ -24608,7 +24608,7 @@ let $c = class extends rm {
|
|
|
24608
24608
|
this._logService.error("[SelectionRenderService]: should not receive null!");
|
|
24609
24609
|
return;
|
|
24610
24610
|
}
|
|
24611
|
-
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(
|
|
24611
|
+
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(U.VIEW_MAIN), l = (d = (c = this._skeleton) == null ? void 0 : c.worksheet) == null ? void 0 : d.getSheetId();
|
|
24612
24612
|
if (this._changeRuntime(i, o, s), l !== i.worksheet.getSheetId()) {
|
|
24613
24613
|
const u = this._workbookSelections.getCurrentSelections();
|
|
24614
24614
|
this._commandService.syncExecuteCommand(Te.id, {
|
|
@@ -24639,14 +24639,14 @@ let $c = class extends rm {
|
|
|
24639
24639
|
* @param scrollTimerType
|
|
24640
24640
|
*/
|
|
24641
24641
|
// eslint-disable-next-line complexity, max-lines-per-function
|
|
24642
|
-
_onPointerDown(e, t = 0, n = X.NORMAL, i, o =
|
|
24642
|
+
_onPointerDown(e, t = 0, n = X.NORMAL, i, o = yt.ALL) {
|
|
24643
24643
|
var T, P;
|
|
24644
24644
|
this._rangeType = n;
|
|
24645
24645
|
const s = this._skeleton, l = this._scene;
|
|
24646
24646
|
if (!l || !s)
|
|
24647
24647
|
return;
|
|
24648
24648
|
i && (this._activeViewport = i);
|
|
24649
|
-
const { offsetX: a, offsetY: c } = e, d = l.getViewport(
|
|
24649
|
+
const { offsetX: a, offsetY: c } = e, d = l.getViewport(U.VIEW_MAIN);
|
|
24650
24650
|
if (!d) return;
|
|
24651
24651
|
const u = l.getCoordRelativeToViewport(Ve.FromArray([a, c])), { x: h, y: g } = u;
|
|
24652
24652
|
this._startViewportPosX = h, this._startViewportPosY = g;
|
|
@@ -24694,7 +24694,7 @@ let $c = class extends rm {
|
|
|
24694
24694
|
}
|
|
24695
24695
|
};
|
|
24696
24696
|
$c = vy([
|
|
24697
|
-
zn(1, k(
|
|
24697
|
+
zn(1, k(bt)),
|
|
24698
24698
|
zn(2, k(At)),
|
|
24699
24699
|
zn(3, Vl),
|
|
24700
24700
|
zn(4, k($)),
|
|
@@ -24734,7 +24734,7 @@ let Rl = class extends Yh {
|
|
|
24734
24734
|
[on, { useClass: Zs }],
|
|
24735
24735
|
[Or, { useClass: Tm }],
|
|
24736
24736
|
[Wn, { useClass: Gs }],
|
|
24737
|
-
[
|
|
24737
|
+
[Ql, { useClass: v1 }],
|
|
24738
24738
|
[$l, { useClass: Y1 }],
|
|
24739
24739
|
[Id, { useClass: Xg }],
|
|
24740
24740
|
[xr, { useClass: Ds }],
|
|
@@ -24809,7 +24809,7 @@ let Rl = class extends Yh {
|
|
|
24809
24809
|
[
|
|
24810
24810
|
[he],
|
|
24811
24811
|
[Jc],
|
|
24812
|
-
[
|
|
24812
|
+
[Qs],
|
|
24813
24813
|
[lt, { useClass: $c }],
|
|
24814
24814
|
[ml]
|
|
24815
24815
|
].forEach((r) => {
|
|
@@ -24822,8 +24822,8 @@ let Rl = class extends Yh {
|
|
|
24822
24822
|
var n;
|
|
24823
24823
|
const r = [
|
|
24824
24824
|
[vo],
|
|
24825
|
-
[
|
|
24826
|
-
[
|
|
24825
|
+
[Qc],
|
|
24826
|
+
[Ks],
|
|
24827
24827
|
// Caution: ScrollRenderController should placed before ZoomRenderController.
|
|
24828
24828
|
[Et],
|
|
24829
24829
|
[ho],
|
|
@@ -24861,7 +24861,7 @@ wp(Rl, "pluginName", "SHEET_UI_PLUGIN");
|
|
|
24861
24861
|
wp(Rl, "type", x.UNIVER_SHEET);
|
|
24862
24862
|
Rl = _y([
|
|
24863
24863
|
jh(Ug),
|
|
24864
|
-
Fi(1, k(
|
|
24864
|
+
Fi(1, k(bt)),
|
|
24865
24865
|
Fi(2, Ce),
|
|
24866
24866
|
Fi(3, nn),
|
|
24867
24867
|
Fi(4, N),
|
|
@@ -24970,13 +24970,13 @@ export {
|
|
|
24970
24970
|
To as FormulaEditorController,
|
|
24971
24971
|
po as HeaderFreezeRenderController,
|
|
24972
24972
|
vo as HeaderMoveRenderController,
|
|
24973
|
-
|
|
24973
|
+
Ks as HeaderResizeRenderController,
|
|
24974
24974
|
ra as HideColConfirmCommand,
|
|
24975
24975
|
na as HideRowConfirmCommand,
|
|
24976
24976
|
Ir as HoverManagerService,
|
|
24977
24977
|
sl as HoverRenderController,
|
|
24978
24978
|
xr as IAutoFillService,
|
|
24979
|
-
|
|
24979
|
+
Ql as ICellEditorManagerService,
|
|
24980
24980
|
qe as IEditorBridgeService,
|
|
24981
24981
|
Wn as IFormatPainterService,
|
|
24982
24982
|
$l as IFormulaEditorManagerService,
|
|
@@ -24986,7 +24986,7 @@ export {
|
|
|
24986
24986
|
lt as ISheetSelectionRenderService,
|
|
24987
24987
|
ea as IStatusBarService,
|
|
24988
24988
|
hi as InsertRangeMoveDownConfirmCommand,
|
|
24989
|
-
|
|
24989
|
+
Ko as InsertRangeMoveRightConfirmCommand,
|
|
24990
24990
|
Dn as JumpOver,
|
|
24991
24991
|
js as MarkSelectionService,
|
|
24992
24992
|
MR as MobileSheetBar,
|
|
@@ -25012,7 +25012,7 @@ export {
|
|
|
25012
25012
|
gn as ScrollCommand,
|
|
25013
25013
|
um as ScrollToCellCommand,
|
|
25014
25014
|
hm as ScrollToRangeOperation,
|
|
25015
|
-
|
|
25015
|
+
Kl as SelectAllCommand,
|
|
25016
25016
|
kd as SelectionControl,
|
|
25017
25017
|
kd as SelectionShape,
|
|
25018
25018
|
fC as SelectionShapeExtension,
|
|
@@ -25039,7 +25039,7 @@ export {
|
|
|
25039
25039
|
Hd as SetRowHeaderWidthCommand,
|
|
25040
25040
|
hn as SetScrollOperation,
|
|
25041
25041
|
uo as SetScrollRelativeCommand,
|
|
25042
|
-
|
|
25042
|
+
Qn as SetSelectionFrozenCommand,
|
|
25043
25043
|
da as SetWorksheetColAutoWidthCommand,
|
|
25044
25044
|
jo as SetZoomRatioCommand,
|
|
25045
25045
|
Jt as SetZoomRatioOperation,
|
|
@@ -25049,20 +25049,20 @@ export {
|
|
|
25049
25049
|
Us as SheetCellEditorResizeService,
|
|
25050
25050
|
Zs as SheetClipboardService,
|
|
25051
25051
|
mn as SheetCopyCommand,
|
|
25052
|
-
|
|
25052
|
+
Qd as SheetCutCommand,
|
|
25053
25053
|
E0 as SheetMenuPosition,
|
|
25054
25054
|
$i as SheetPasteBesidesBorderCommand,
|
|
25055
|
-
|
|
25055
|
+
Qr as SheetPasteColWidthCommand,
|
|
25056
25056
|
fn as SheetPasteCommand,
|
|
25057
25057
|
Ji as SheetPasteFormatCommand,
|
|
25058
25058
|
Lc as SheetPasteShortKeyCommand,
|
|
25059
|
-
|
|
25059
|
+
Qi as SheetPasteValueCommand,
|
|
25060
25060
|
yo as SheetPermissionCheckUIController,
|
|
25061
25061
|
uf as SheetPermissionOpenDialogOperation,
|
|
25062
25062
|
Vn as SheetPermissionOpenPanelOperation,
|
|
25063
25063
|
Ar as SheetPermissionUserManagerService,
|
|
25064
25064
|
Sp as SheetPrintInterceptorService,
|
|
25065
|
-
|
|
25065
|
+
Qs as SheetRenderController,
|
|
25066
25066
|
Et as SheetScrollManagerService,
|
|
25067
25067
|
$c as SheetSelectionRenderService,
|
|
25068
25068
|
he as SheetSkeletonManagerService,
|