@univerjs/sheets-ui 0.8.2-nightly.202506241607 → 0.8.2-nightly.202506261607
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/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 +1 -0
- package/lib/umd/index.js +9 -9
- package/package.json +12 -12
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 K, 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 Rt, IConfigService as nn, generateRandomId as xo, ObjectMatrix as Ge, Direction as U, 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 Ke, nameCharacterCheck as Qp, throttle as Kp, debounce as hc, VerticalAlign as dn, HorizontalAlign as It, 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 F, CURSOR_TYPE as ye, Vector2 as Ve, Rect as we, ScrollTimer as Gr, ScrollTimerType as bt, 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 Qh, ComponentContainer as Kh, 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 Qv, ContextMenuGroup as Qe, RibbonPosition as Kv, 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 Qt, AddWorksheetMergeMutation as Kt, getAddMergeMutationRangeByType as Bl, AddMergeUndoMutationFactory as Fl, WorkbookEditablePermission as Q, 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 QS, SheetPermissionInitController as KS, SetSpecificRowsVisibleCommand as JS, SetSpecificColsVisibleCommand as $S } from "@univerjs/sheets";
|
|
11
|
+
import { DocSkeletonManagerService as Qn, 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 Qg } 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 Kg, 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: K.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: K.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 F.VIEW_MAIN:
|
|
320
320
|
return e.endRow >= n.startRow && e.endColumn >= n.startColumn;
|
|
321
|
-
case
|
|
322
|
-
case
|
|
321
|
+
case F.VIEW_MAIN_TOP:
|
|
322
|
+
case F.VIEW_COLUMN_RIGHT:
|
|
323
323
|
return e.endColumn >= n.startColumn && e.startRow < n.startRow;
|
|
324
|
-
case
|
|
325
|
-
case
|
|
324
|
+
case F.VIEW_MAIN_LEFT:
|
|
325
|
+
case F.VIEW_ROW_BOTTOM:
|
|
326
326
|
return e.endRow >= n.startRow && e.startColumn < n.startColumn;
|
|
327
|
-
case
|
|
328
|
-
case
|
|
329
|
-
case
|
|
330
|
-
case
|
|
327
|
+
case F.VIEW_MAIN_LEFT_TOP:
|
|
328
|
+
case F.VIEW_COLUMN_LEFT:
|
|
329
|
+
case F.VIEW_ROW_TOP:
|
|
330
|
+
case F.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(F.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(F.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,6 +583,7 @@ 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
|
|
586
587
|
_autoFillForPointerdown(e) {
|
|
587
588
|
const { offsetX: t, offsetY: n } = e, i = this._scene, o = i.getCoordRelativeToViewport(Ve.FromArray([t, n])), { x: s, y: l } = o;
|
|
588
589
|
this._startOffsetX = s, this._startOffsetY = l;
|
|
@@ -604,9 +605,9 @@ class fC {
|
|
|
604
605
|
stroke: C,
|
|
605
606
|
strokeWidth: m + p / 2
|
|
606
607
|
}), i.addObject(this._helperSelection)), this._activeViewport = i.getActiveViewportByCoord(Ve.FromArray([t, n]));
|
|
607
|
-
const _ = i.getViewport(
|
|
608
|
+
const _ = i.getViewport(F.VIEW_MAIN), S = Gr.create(
|
|
608
609
|
i,
|
|
609
|
-
this._activeViewport.viewportKey ===
|
|
610
|
+
this._activeViewport.viewportKey === F.VIEW_MAIN ? bt.ALL : bt.NONE
|
|
610
611
|
);
|
|
611
612
|
S.startScroll(s, l, _), this._scrollTimer = S, i.disableObjectsEvent(), this._controlHandler((I) => {
|
|
612
613
|
this._fillControlColors.push(I.fill);
|
|
@@ -622,21 +623,21 @@ class fC {
|
|
|
622
623
|
const A = this._targetSelection;
|
|
623
624
|
if (_ && M && ((H = this._activeViewport) == null ? void 0 : H.viewportKey) !== (M == null ? void 0 : M.viewportKey)) {
|
|
624
625
|
let O;
|
|
625
|
-
A.startRow !== a ? (S.scrollTimerType =
|
|
626
|
+
A.startRow !== a ? (S.scrollTimerType = bt.Y, O = {
|
|
626
627
|
...A,
|
|
627
628
|
endRow: A.startRow
|
|
628
|
-
}) : A.endRow !== d ? (S.scrollTimerType =
|
|
629
|
+
}) : A.endRow !== d ? (S.scrollTimerType = bt.Y, O = {
|
|
629
630
|
...A,
|
|
630
631
|
startRow: A.endRow
|
|
631
|
-
}) : A.startColumn !== c ? (S.scrollTimerType =
|
|
632
|
+
}) : A.startColumn !== c ? (S.scrollTimerType = bt.X, O = {
|
|
632
633
|
...A,
|
|
633
634
|
endColumn: A.startColumn
|
|
634
|
-
}) : (S.scrollTimerType =
|
|
635
|
+
}) : (S.scrollTimerType = bt.X, O = {
|
|
635
636
|
...A,
|
|
636
637
|
startColumn: A.endColumn
|
|
637
|
-
}), this._isSelectionInViewport(O, M) && (_.scrollToBarPos({
|
|
638
|
-
x: S.scrollTimerType ===
|
|
639
|
-
y: S.scrollTimerType ===
|
|
638
|
+
}), this._isSelectionInViewport(O, M) && (this._viewportMainScrollBarNeedResetPosition(S.scrollTimerType, this._activeViewport.viewportKey, M.viewportKey) && _.scrollToBarPos({
|
|
639
|
+
x: S.scrollTimerType === bt.X ? 0 : void 0,
|
|
640
|
+
y: S.scrollTimerType === bt.Y ? 0 : void 0
|
|
640
641
|
}), this._activeViewport = M);
|
|
641
642
|
}
|
|
642
643
|
S.scrolling(T, P, () => {
|
|
@@ -653,6 +654,9 @@ class fC {
|
|
|
653
654
|
}), this._fillControlColors = [];
|
|
654
655
|
});
|
|
655
656
|
}
|
|
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
|
+
}
|
|
656
660
|
_hasMergeInRange(e, t, n, i) {
|
|
657
661
|
return this._skeleton.worksheet.getMergedCellRange(e, t, n, i).length > 0;
|
|
658
662
|
}
|
|
@@ -1562,15 +1566,15 @@ class rm extends oe {
|
|
|
1562
1566
|
return null;
|
|
1563
1567
|
const i = this._getFreeze();
|
|
1564
1568
|
if (!i || i.startRow <= 0 && i.startColumn <= 0)
|
|
1565
|
-
return this._scene.getViewport(
|
|
1569
|
+
return this._scene.getViewport(F.VIEW_MAIN);
|
|
1566
1570
|
if (t > i.startRow && n > i.startColumn)
|
|
1567
|
-
return this._scene.getViewport(
|
|
1571
|
+
return this._scene.getViewport(F.VIEW_MAIN);
|
|
1568
1572
|
if (t <= i.startRow && n <= i.startColumn)
|
|
1569
|
-
return this._scene.getViewport(
|
|
1573
|
+
return this._scene.getViewport(F.VIEW_MAIN_LEFT_TOP);
|
|
1570
1574
|
if (t <= i.startRow && n > i.startColumn)
|
|
1571
|
-
return this._scene.getViewport(
|
|
1575
|
+
return this._scene.getViewport(F.VIEW_MAIN_TOP);
|
|
1572
1576
|
if (t > i.startRow && n <= i.startColumn)
|
|
1573
|
-
return this._scene.getViewport(
|
|
1577
|
+
return this._scene.getViewport(F.VIEW_MAIN_LEFT);
|
|
1574
1578
|
}
|
|
1575
1579
|
/**
|
|
1576
1580
|
* 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.
|
|
@@ -1621,7 +1625,7 @@ class rm extends oe {
|
|
|
1621
1625
|
* @param moveStartPosY
|
|
1622
1626
|
*/
|
|
1623
1627
|
// eslint-disable-next-line max-lines-per-function
|
|
1624
|
-
_setupPointerMoveListener(t, n, i, o =
|
|
1628
|
+
_setupPointerMoveListener(t, n, i, o = bt.ALL, s, l) {
|
|
1625
1629
|
var m, f;
|
|
1626
1630
|
let a = 0, c = 0, d = s, u = l;
|
|
1627
1631
|
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);
|
|
@@ -1635,7 +1639,7 @@ class rm extends oe {
|
|
|
1635
1639
|
if ((() => {
|
|
1636
1640
|
if (!g || !T || !t)
|
|
1637
1641
|
return !1;
|
|
1638
|
-
const ce = [
|
|
1642
|
+
const ce = [F.VIEW_MAIN, F.VIEW_MAIN_LEFT_TOP, F.VIEW_MAIN_TOP, F.VIEW_MAIN_LEFT];
|
|
1639
1643
|
return ce.includes(g.viewportKey) && ce.includes(T.viewportKey);
|
|
1640
1644
|
})()) {
|
|
1641
1645
|
if (!g || !T || !t)
|
|
@@ -1643,17 +1647,17 @@ class rm extends oe {
|
|
|
1643
1647
|
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;
|
|
1644
1648
|
ce && (a += 1), ge && (c += 1);
|
|
1645
1649
|
const se = g.viewportKey, _e = T.viewportKey;
|
|
1646
|
-
if (se ===
|
|
1650
|
+
if (se === F.VIEW_ROW_TOP)
|
|
1647
1651
|
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({
|
|
1648
1652
|
viewportScrollY: 0
|
|
1649
1653
|
});
|
|
1650
|
-
else if (se ===
|
|
1654
|
+
else if (se === F.VIEW_COLUMN_LEFT)
|
|
1651
1655
|
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({
|
|
1652
1656
|
viewportScrollX: 0
|
|
1653
1657
|
});
|
|
1654
1658
|
else if (se === _e) {
|
|
1655
1659
|
let G = !1, ee = !1;
|
|
1656
|
-
se ===
|
|
1660
|
+
se === F.VIEW_MAIN_LEFT_TOP ? (G = !0, ee = !0) : se === F.VIEW_MAIN_TOP ? ee = !0 : se === F.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);
|
|
1657
1661
|
} else {
|
|
1658
1662
|
const G = {
|
|
1659
1663
|
x: g.scrollX,
|
|
@@ -1665,7 +1669,7 @@ class rm extends oe {
|
|
|
1665
1669
|
(ne || ve) && (t.scrollToBarPos({
|
|
1666
1670
|
x: ne ? G.x : void 0,
|
|
1667
1671
|
y: ve ? G.y : void 0
|
|
1668
|
-
}), ne || (I = t.left), ve || (R = t.top)), (se ===
|
|
1672
|
+
}), ne || (I = t.left), ve || (R = t.top)), (se === F.VIEW_MAIN_LEFT_TOP && _e === F.VIEW_MAIN_LEFT || _e === F.VIEW_MAIN_LEFT_TOP && se === F.VIEW_MAIN_LEFT) && (I = t.left), (se === F.VIEW_MAIN_LEFT_TOP && _e === F.VIEW_MAIN_TOP || _e === F.VIEW_MAIN_LEFT_TOP && se === F.VIEW_MAIN_TOP) && (R = t.top);
|
|
1669
1673
|
}
|
|
1670
1674
|
d = _, u = S;
|
|
1671
1675
|
}
|
|
@@ -1689,7 +1693,7 @@ class rm extends oe {
|
|
|
1689
1693
|
return this.getCellWithCoordByOffset(t, n);
|
|
1690
1694
|
}
|
|
1691
1695
|
getCellWithCoordByOffset(t, n, i) {
|
|
1692
|
-
const o = this._scene, s = i != null ? i : this._skeleton, l = o.getViewportScrollXY(o.getViewport(
|
|
1696
|
+
const o = this._scene, s = i != null ? i : this._skeleton, l = o.getViewportScrollXY(o.getViewport(F.VIEW_MAIN)), { scaleX: a, scaleY: c } = o.getAncestorScale();
|
|
1693
1697
|
return s.getCellWithCoordByOffset(t, n, a, c, l);
|
|
1694
1698
|
}
|
|
1695
1699
|
/**
|
|
@@ -1702,7 +1706,7 @@ class rm extends oe {
|
|
|
1702
1706
|
endRow: (R = i == null ? void 0 : i.model.endRow) != null ? R : -1,
|
|
1703
1707
|
startColumn: (y = i == null ? void 0 : i.model.startColumn) != null ? y : -1,
|
|
1704
1708
|
endColumn: (M = i == null ? void 0 : i.model.endColumn) != null ? M : -1
|
|
1705
|
-
}, u = l.getViewport(
|
|
1709
|
+
}, u = l.getViewport(F.VIEW_MAIN), h = (E = this._getViewportByCell(d.endRow, d.endColumn)) != null ? E : u, g = l.getScrollXYInfoByViewport(
|
|
1706
1710
|
Ve.FromArray([this._startViewportPosX, this._startViewportPosY]),
|
|
1707
1711
|
h
|
|
1708
1712
|
), { scaleX: m, scaleY: f } = l.getAncestorScale();
|
|
@@ -2023,15 +2027,15 @@ let he = class extends oe {
|
|
|
2023
2027
|
if (!e) return;
|
|
2024
2028
|
const i = (c = this.getWorksheetSkeleton(t)) == null ? void 0 : c.skeleton;
|
|
2025
2029
|
if (!i) return;
|
|
2026
|
-
i.columnHeaderHeight = n, e.scene.getViewports()[0].top = n, e.scene.getViewport(
|
|
2030
|
+
i.columnHeaderHeight = n, e.scene.getViewports()[0].top = n, e.scene.getViewport(F.VIEW_COLUMN_RIGHT).setViewportSize({
|
|
2027
2031
|
height: n
|
|
2028
|
-
}), e.scene.getViewport(
|
|
2032
|
+
}), e.scene.getViewport(F.VIEW_COLUMN_LEFT).setViewportSize({
|
|
2029
2033
|
height: n
|
|
2030
|
-
}), e.scene.getViewport(
|
|
2034
|
+
}), e.scene.getViewport(F.VIEW_ROW_BOTTOM).setViewportSize({
|
|
2031
2035
|
top: n
|
|
2032
|
-
}), e.scene.getViewport(
|
|
2036
|
+
}), e.scene.getViewport(F.VIEW_ROW_TOP).setViewportSize({
|
|
2033
2037
|
top: n
|
|
2034
|
-
}), e.scene.getViewport(
|
|
2038
|
+
}), e.scene.getViewport(F.VIEW_LEFT_TOP).setViewportSize({
|
|
2035
2039
|
height: n
|
|
2036
2040
|
});
|
|
2037
2041
|
const o = e == null ? void 0 : e.with($), s = e == null ? void 0 : e.with(lt), l = o.getCurrentSelections();
|
|
@@ -2044,18 +2048,18 @@ let he = class extends oe {
|
|
|
2044
2048
|
const i = (g = this.getWorksheetSkeleton(t)) == null ? void 0 : g.skeleton;
|
|
2045
2049
|
if (!e || !i) return;
|
|
2046
2050
|
i.rowHeaderWidth = n;
|
|
2047
|
-
const o = e.scene.getViewport(
|
|
2048
|
-
e.scene.getViewports()[0].left = l + s, e.scene.getViewport(
|
|
2051
|
+
const o = e.scene.getViewport(F.VIEW_LEFT_TOP).width || 46, s = n - o, l = e.scene.getViewports()[0].left;
|
|
2052
|
+
e.scene.getViewports()[0].left = l + s, e.scene.getViewport(F.VIEW_ROW_BOTTOM).setViewportSize({
|
|
2049
2053
|
width: n
|
|
2050
|
-
}), e.scene.getViewport(
|
|
2054
|
+
}), e.scene.getViewport(F.VIEW_ROW_TOP).setViewportSize({
|
|
2051
2055
|
width: n
|
|
2052
|
-
}), e.scene.getViewport(
|
|
2056
|
+
}), e.scene.getViewport(F.VIEW_COLUMN_LEFT).setViewportSize({
|
|
2053
2057
|
left: n
|
|
2054
2058
|
});
|
|
2055
|
-
const a = e.scene.getViewport(
|
|
2056
|
-
e.scene.getViewport(
|
|
2059
|
+
const a = e.scene.getViewport(F.VIEW_COLUMN_RIGHT).left || 0;
|
|
2060
|
+
e.scene.getViewport(F.VIEW_COLUMN_RIGHT).setViewportSize({
|
|
2057
2061
|
left: a + s
|
|
2058
|
-
}), e.scene.getViewport(
|
|
2062
|
+
}), e.scene.getViewport(F.VIEW_LEFT_TOP).setViewportSize({
|
|
2059
2063
|
width: n
|
|
2060
2064
|
});
|
|
2061
2065
|
const c = e == null ? void 0 : e.with($), d = e == null ? void 0 : e.with(lt), u = c.getCurrentSelections();
|
|
@@ -2065,7 +2069,7 @@ let he = class extends oe {
|
|
|
2065
2069
|
}
|
|
2066
2070
|
};
|
|
2067
2071
|
he = CC([
|
|
2068
|
-
Vu(1, k(
|
|
2072
|
+
Vu(1, k(Rt)),
|
|
2069
2073
|
Vu(2, k(nS))
|
|
2070
2074
|
], he);
|
|
2071
2075
|
function Pr() {
|
|
@@ -2413,7 +2417,7 @@ function Ns(r, e, t) {
|
|
|
2413
2417
|
for (let d = 1; d <= e; d++) {
|
|
2414
2418
|
const u = (d - 1) % r.length, h = le.deepClone(r[u]);
|
|
2415
2419
|
br(h);
|
|
2416
|
-
const g = t ===
|
|
2420
|
+
const g = t === U.DOWN || t === U.RIGHT, m = kC(r.length + d, i, c, g);
|
|
2417
2421
|
h && (Wu(h) && (h.v = m), n.push(h));
|
|
2418
2422
|
}
|
|
2419
2423
|
}
|
|
@@ -2490,7 +2494,7 @@ function Du(r, e, t) {
|
|
|
2490
2494
|
}
|
|
2491
2495
|
return n;
|
|
2492
2496
|
}
|
|
2493
|
-
const
|
|
2497
|
+
const Qi = {
|
|
2494
2498
|
enWeek1: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
2495
2499
|
enWeek2: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
2496
2500
|
enMonth1: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
@@ -2518,15 +2522,15 @@ const Ki = {
|
|
|
2518
2522
|
};
|
|
2519
2523
|
function NC(r) {
|
|
2520
2524
|
let e = !1;
|
|
2521
|
-
return Object.keys(
|
|
2522
|
-
|
|
2525
|
+
return Object.keys(Qi).forEach((t) => {
|
|
2526
|
+
Qi[t].includes(r) && (e = !0);
|
|
2523
2527
|
}), e;
|
|
2524
2528
|
}
|
|
2525
2529
|
function ya(r) {
|
|
2526
2530
|
let e = "";
|
|
2527
2531
|
const t = [];
|
|
2528
|
-
return Object.keys(
|
|
2529
|
-
|
|
2532
|
+
return Object.keys(Qi).forEach((n) => {
|
|
2533
|
+
Qi[n].includes(r) && (e = n, t.push(...Qi[n]));
|
|
2530
2534
|
}), { name: e, series: t };
|
|
2531
2535
|
}
|
|
2532
2536
|
function Lu(r, e, t, n) {
|
|
@@ -2547,23 +2551,23 @@ function Fy(r, e) {
|
|
|
2547
2551
|
const t = [];
|
|
2548
2552
|
let n;
|
|
2549
2553
|
if (e.startRow < r.startRow)
|
|
2550
|
-
n =
|
|
2554
|
+
n = U.UP;
|
|
2551
2555
|
else if (e.endRow > r.endRow)
|
|
2552
|
-
n =
|
|
2556
|
+
n = U.DOWN;
|
|
2553
2557
|
else if (e.startColumn < r.startColumn)
|
|
2554
|
-
n =
|
|
2558
|
+
n = U.LEFT;
|
|
2555
2559
|
else if (e.endColumn > r.endColumn)
|
|
2556
|
-
n =
|
|
2560
|
+
n = U.RIGHT;
|
|
2557
2561
|
else
|
|
2558
2562
|
return [];
|
|
2559
|
-
if (n ===
|
|
2563
|
+
if (n === U.DOWN || n === U.UP) {
|
|
2560
2564
|
const i = r.endRow - r.startRow + 1, o = e.endRow - e.startRow + 1, s = Math.floor(o / i), l = o % i, a = {
|
|
2561
2565
|
startRow: 0,
|
|
2562
2566
|
startColumn: 0,
|
|
2563
2567
|
endRow: r.endRow - r.startRow,
|
|
2564
2568
|
endColumn: r.endColumn - r.startColumn
|
|
2565
2569
|
};
|
|
2566
|
-
if (n ===
|
|
2570
|
+
if (n === U.DOWN) {
|
|
2567
2571
|
for (let c = 0; c < s; c++)
|
|
2568
2572
|
t.push({
|
|
2569
2573
|
repeatStartCell: {
|
|
@@ -2607,14 +2611,14 @@ function Fy(r, e) {
|
|
|
2607
2611
|
});
|
|
2608
2612
|
}
|
|
2609
2613
|
}
|
|
2610
|
-
if (n ===
|
|
2614
|
+
if (n === U.RIGHT || n === U.LEFT) {
|
|
2611
2615
|
const i = r.endColumn - r.startColumn + 1, o = e.endColumn - e.startColumn + 1, s = Math.floor(o / i), l = o % i, a = {
|
|
2612
2616
|
startRow: 0,
|
|
2613
2617
|
startColumn: 0,
|
|
2614
2618
|
endRow: r.endRow - r.startRow,
|
|
2615
2619
|
endColumn: r.endColumn - r.startColumn
|
|
2616
2620
|
};
|
|
2617
|
-
if (n ===
|
|
2621
|
+
if (n === U.RIGHT) {
|
|
2618
2622
|
for (let c = 0; c < s; c++)
|
|
2619
2623
|
t.push({
|
|
2620
2624
|
repeatStartCell: {
|
|
@@ -2688,7 +2692,7 @@ const DC = {
|
|
|
2688
2692
|
applyFunctions: {
|
|
2689
2693
|
[Ne.SERIES]: (r, e, t) => {
|
|
2690
2694
|
const { data: n } = r;
|
|
2691
|
-
return t ===
|
|
2695
|
+
return t === U.LEFT || t === U.UP ? (n.reverse(), Ns(n, e, t).reverse()) : Ns(n, e, t);
|
|
2692
2696
|
}
|
|
2693
2697
|
}
|
|
2694
2698
|
}, LC = {
|
|
@@ -2699,7 +2703,7 @@ const DC = {
|
|
|
2699
2703
|
applyFunctions: {
|
|
2700
2704
|
[Ne.SERIES]: (r, e, t) => {
|
|
2701
2705
|
const { data: n } = r;
|
|
2702
|
-
return t ===
|
|
2706
|
+
return t === U.LEFT || t === U.UP ? (n.reverse(), Ns(n, e, t).reverse()) : Ns(n, e, t);
|
|
2703
2707
|
}
|
|
2704
2708
|
}
|
|
2705
2709
|
}, lm = {
|
|
@@ -2723,7 +2727,7 @@ const DC = {
|
|
|
2723
2727
|
applyFunctions: {
|
|
2724
2728
|
[Ne.SERIES]: (r, e, t) => {
|
|
2725
2729
|
var l;
|
|
2726
|
-
const { data: n } = r, i = t ===
|
|
2730
|
+
const { data: n } = r, i = t === U.UP || t === U.LEFT;
|
|
2727
2731
|
let o;
|
|
2728
2732
|
if (n.length === 1)
|
|
2729
2733
|
return o = i ? -1 : 1, Ft(Nu(n, e, o), i);
|
|
@@ -2743,7 +2747,7 @@ const DC = {
|
|
|
2743
2747
|
applyFunctions: {
|
|
2744
2748
|
[Ne.SERIES]: (r, e, t) => {
|
|
2745
2749
|
var a, c, d;
|
|
2746
|
-
const { data: n } = r, i = t ===
|
|
2750
|
+
const { data: n } = r, i = t === U.LEFT || t === U.UP;
|
|
2747
2751
|
if (n.length === 1) {
|
|
2748
2752
|
const u = `${(a = n[0]) == null ? void 0 : a.v}`;
|
|
2749
2753
|
let h;
|
|
@@ -2780,7 +2784,7 @@ const DC = {
|
|
|
2780
2784
|
applyFunctions: {
|
|
2781
2785
|
[Ne.SERIES]: (r, e, t) => {
|
|
2782
2786
|
var l;
|
|
2783
|
-
const { data: n } = r, i = t ===
|
|
2787
|
+
const { data: n } = r, i = t === U.LEFT || t === U.UP;
|
|
2784
2788
|
if (n.length === 1) {
|
|
2785
2789
|
let a;
|
|
2786
2790
|
return i ? a = -1 : a = 1, Ft(oi(n, e, a, 1), i);
|
|
@@ -2806,7 +2810,7 @@ const DC = {
|
|
|
2806
2810
|
applyFunctions: {
|
|
2807
2811
|
[Ne.SERIES]: (r, e, t) => {
|
|
2808
2812
|
var l;
|
|
2809
|
-
const { data: n } = r, i = t ===
|
|
2813
|
+
const { data: n } = r, i = t === U.LEFT || t === U.UP;
|
|
2810
2814
|
if (n.length === 1) {
|
|
2811
2815
|
let a;
|
|
2812
2816
|
return i ? a = -1 : a = 1, Ft(oi(n, e, a, 2), i);
|
|
@@ -2838,7 +2842,7 @@ const DC = {
|
|
|
2838
2842
|
applyFunctions: {
|
|
2839
2843
|
[Ne.SERIES]: (r, e, t) => {
|
|
2840
2844
|
var a, c;
|
|
2841
|
-
const { data: n } = r, i = t ===
|
|
2845
|
+
const { data: n } = r, i = t === U.LEFT || t === U.UP, { series: o } = ya(`${(a = n[0]) == null ? void 0 : a.v}` || "");
|
|
2842
2846
|
if (n.length === 1) {
|
|
2843
2847
|
let d;
|
|
2844
2848
|
return i ? d = -1 : d = 1, Ft(Lu(n, e, d, o), i);
|
|
@@ -2877,7 +2881,7 @@ let Ds = class extends oe {
|
|
|
2877
2881
|
b(this, "autoFillLocation$", this._autoFillLocation$.asObservable());
|
|
2878
2882
|
b(this, "_showMenu$", new Ee(!1));
|
|
2879
2883
|
b(this, "showMenu$", this._showMenu$.asObservable());
|
|
2880
|
-
b(this, "_direction",
|
|
2884
|
+
b(this, "_direction", U.DOWN);
|
|
2881
2885
|
b(this, "applyType$", this._applyType$.asObservable());
|
|
2882
2886
|
b(this, "_menu$", new Ee([
|
|
2883
2887
|
{
|
|
@@ -2956,13 +2960,13 @@ let Ds = class extends oe {
|
|
|
2956
2960
|
};
|
|
2957
2961
|
let s = null;
|
|
2958
2962
|
if (i.startRow < n.startRow)
|
|
2959
|
-
s =
|
|
2963
|
+
s = U.UP, o.endRow = n.startRow - 1;
|
|
2960
2964
|
else if (i.endRow > n.endRow)
|
|
2961
|
-
s =
|
|
2965
|
+
s = U.DOWN, o.startRow = n.endRow + 1;
|
|
2962
2966
|
else if (i.startColumn < n.startColumn)
|
|
2963
|
-
s =
|
|
2967
|
+
s = U.LEFT, o.endColumn = n.startColumn - 1;
|
|
2964
2968
|
else if (i.endColumn > n.endColumn)
|
|
2965
|
-
s =
|
|
2969
|
+
s = U.RIGHT, o.startColumn = n.endColumn + 1;
|
|
2966
2970
|
else
|
|
2967
2971
|
return !1;
|
|
2968
2972
|
this.direction = s;
|
|
@@ -3130,10 +3134,10 @@ Ds = jC([
|
|
|
3130
3134
|
Vr(2, Ce),
|
|
3131
3135
|
Vr(3, k(N)),
|
|
3132
3136
|
Vr(4, k($)),
|
|
3133
|
-
Vr(5, k(
|
|
3137
|
+
Vr(5, k(Rt))
|
|
3134
3138
|
], Ds);
|
|
3135
3139
|
const xr = jt("univer.auto-fill-service"), hr = {
|
|
3136
|
-
type:
|
|
3140
|
+
type: K.COMMAND,
|
|
3137
3141
|
id: "sheet.command.auto-fill",
|
|
3138
3142
|
handler: async (r, e) => {
|
|
3139
3143
|
const t = r.get(xr), n = r.get(N), { sourceRange: i, targetRange: o } = e, s = Ue(n);
|
|
@@ -3143,7 +3147,7 @@ const xr = jt("univer.auto-fill-service"), hr = {
|
|
|
3143
3147
|
}
|
|
3144
3148
|
}, lo = {
|
|
3145
3149
|
id: "sheet.command.auto-clear-content",
|
|
3146
|
-
type:
|
|
3150
|
+
type: K.COMMAND,
|
|
3147
3151
|
handler: async (r, e) => {
|
|
3148
3152
|
const t = r.get(N), n = r.get(L), i = r.get(Yt), o = r.get(vn), s = Ue(t);
|
|
3149
3153
|
if (!s) return !1;
|
|
@@ -3192,7 +3196,7 @@ const xr = jt("univer.auto-fill-service"), hr = {
|
|
|
3192
3196
|
}
|
|
3193
3197
|
}, Zl = {
|
|
3194
3198
|
id: "sheet.command.refill",
|
|
3195
|
-
type:
|
|
3199
|
+
type: K.COMMAND,
|
|
3196
3200
|
handler: async (r, e) => r.get(xr).fillData(e.type)
|
|
3197
3201
|
};
|
|
3198
3202
|
var YC = Object.getOwnPropertyDescriptor, ZC = (r, e, t, n) => {
|
|
@@ -3421,7 +3425,7 @@ Ls = ZC([
|
|
|
3421
3425
|
], Ls);
|
|
3422
3426
|
const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
3423
3427
|
id: "sheet.operation.set-cell-edit-visible",
|
|
3424
|
-
type:
|
|
3428
|
+
type: K.OPERATION,
|
|
3425
3429
|
handler: (r, e) => {
|
|
3426
3430
|
if (!e)
|
|
3427
3431
|
return !1;
|
|
@@ -3433,7 +3437,7 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3433
3437
|
}
|
|
3434
3438
|
}, Gl = {
|
|
3435
3439
|
id: "sheet.operation.set-cell-edit-visible-f2",
|
|
3436
|
-
type:
|
|
3440
|
+
type: K.OPERATION,
|
|
3437
3441
|
handler: (r, e) => {
|
|
3438
3442
|
const t = r.get(L), i = r.get(N).getCurrentUnitForType(x.UNIVER_SHEET);
|
|
3439
3443
|
return i ? t.syncExecuteCommand(tt.id, {
|
|
@@ -3443,11 +3447,11 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3443
3447
|
}
|
|
3444
3448
|
}, si = {
|
|
3445
3449
|
id: "sheet.operation.set-cell-edit-visible-arrow",
|
|
3446
|
-
type:
|
|
3450
|
+
type: K.OPERATION,
|
|
3447
3451
|
handler: () => !0
|
|
3448
3452
|
}, zo = {
|
|
3449
3453
|
id: "sheet.command.change-zoom-ratio",
|
|
3450
|
-
type:
|
|
3454
|
+
type: K.COMMAND,
|
|
3451
3455
|
handler: (r, e) => {
|
|
3452
3456
|
if (!e)
|
|
3453
3457
|
return !1;
|
|
@@ -3465,7 +3469,7 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3465
3469
|
}
|
|
3466
3470
|
}, jo = {
|
|
3467
3471
|
id: "sheet.command.set-zoom-ratio",
|
|
3468
|
-
type:
|
|
3472
|
+
type: K.COMMAND,
|
|
3469
3473
|
handler: (r, e) => {
|
|
3470
3474
|
if (!e)
|
|
3471
3475
|
return !1;
|
|
@@ -3525,10 +3529,10 @@ function Hn(r, e, t, n, i, o) {
|
|
|
3525
3529
|
};
|
|
3526
3530
|
}
|
|
3527
3531
|
function ps(r, e, t, n) {
|
|
3528
|
-
const i = t.getCoordRelativeToViewport(Ve.FromArray([r, e])), o = t.getViewport(
|
|
3532
|
+
const i = t.getCoordRelativeToViewport(Ve.FromArray([r, e])), o = t.getViewport(F.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;
|
|
3529
3533
|
return { x: u, y: h };
|
|
3530
3534
|
}
|
|
3531
|
-
var qC = Object.getOwnPropertyDescriptor,
|
|
3535
|
+
var qC = Object.getOwnPropertyDescriptor, QC = (r, e, t, n) => {
|
|
3532
3536
|
for (var i = n > 1 ? void 0 : n ? qC(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
3533
3537
|
(s = r[o]) && (i = s(i) || i);
|
|
3534
3538
|
return i;
|
|
@@ -3590,7 +3594,7 @@ let ao = class extends oe {
|
|
|
3590
3594
|
t == null || t.scene.scale(e, e), t == null || t.spreadsheet.makeForceDirty();
|
|
3591
3595
|
}
|
|
3592
3596
|
};
|
|
3593
|
-
ao =
|
|
3597
|
+
ao = QC([
|
|
3594
3598
|
is(1, k(he)),
|
|
3595
3599
|
is(2, L),
|
|
3596
3600
|
is(3, ke),
|
|
@@ -3598,14 +3602,14 @@ ao = KC([
|
|
|
3598
3602
|
], ao);
|
|
3599
3603
|
const Jt = {
|
|
3600
3604
|
id: "sheet.operation.set-zoom-ratio",
|
|
3601
|
-
type:
|
|
3605
|
+
type: K.OPERATION,
|
|
3602
3606
|
handler: (r, e) => {
|
|
3603
3607
|
const n = r.get(Ce).getRenderById(e.unitId);
|
|
3604
3608
|
return n ? n.with(ao).updateZoom(e.subUnitId, e.zoomRatio) : !1;
|
|
3605
3609
|
}
|
|
3606
3610
|
};
|
|
3607
|
-
var
|
|
3608
|
-
for (var i = n > 1 ? void 0 : n ?
|
|
3611
|
+
var KC = Object.getOwnPropertyDescriptor, JC = (r, e, t, n) => {
|
|
3612
|
+
for (var i = n > 1 ? void 0 : n ? KC(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
3609
3613
|
(s = r[o]) && (i = s(i) || i);
|
|
3610
3614
|
return i;
|
|
3611
3615
|
}, os = (r, e) => (t, n) => e(t, n, r);
|
|
@@ -3833,7 +3837,7 @@ let Ws = class extends oe {
|
|
|
3833
3837
|
return a;
|
|
3834
3838
|
}
|
|
3835
3839
|
_applyFunctions(e, t, n, i, o, s, l) {
|
|
3836
|
-
const { data: a } = e, c = n ===
|
|
3840
|
+
const { data: a } = e, c = n === U.UP || n === U.LEFT;
|
|
3837
3841
|
if (i === Ne.COPY) {
|
|
3838
3842
|
const d = o == null ? void 0 : o[Ne.COPY];
|
|
3839
3843
|
return d ? d(e, t, n, s, l) : (c && a.reverse(), _r(a, t));
|
|
@@ -3851,7 +3855,7 @@ let Ws = class extends oe {
|
|
|
3851
3855
|
const n = this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET).getActiveSheet();
|
|
3852
3856
|
if (!n)
|
|
3853
3857
|
throw new Error("No active sheet found");
|
|
3854
|
-
const i = n.getCellMatrix(), o = this._autoFillService.getRules(), s = [], l = t ===
|
|
3858
|
+
const i = n.getCellMatrix(), o = this._autoFillService.getRules(), s = [], l = t === U.DOWN || t === U.UP;
|
|
3855
3859
|
let a, c;
|
|
3856
3860
|
return l ? (a = e.cols, c = e.rows) : (a = e.rows, c = e.cols), a.forEach((d) => {
|
|
3857
3861
|
const u = this._getEmptyCopyDataPiece(), h = {
|
|
@@ -3896,7 +3900,7 @@ let Ws = class extends oe {
|
|
|
3896
3900
|
for (let a = e.startColumn; a <= e.endColumn; a++) {
|
|
3897
3901
|
const { isMergedMainCell: c, startRow: d, startColumn: u, endRow: h, endColumn: g } = o.getCellInfoInMergeData(l, a);
|
|
3898
3902
|
if (c) {
|
|
3899
|
-
if (n ===
|
|
3903
|
+
if (n === U.DOWN) {
|
|
3900
3904
|
let m = d + i, f = h + i;
|
|
3901
3905
|
for (; f <= t.endRow; )
|
|
3902
3906
|
s.push({
|
|
@@ -3905,7 +3909,7 @@ let Ws = class extends oe {
|
|
|
3905
3909
|
endRow: f,
|
|
3906
3910
|
endColumn: g
|
|
3907
3911
|
}), m += i, f += i;
|
|
3908
|
-
} else if (n ===
|
|
3912
|
+
} else if (n === U.UP) {
|
|
3909
3913
|
let m = d - i, f = h - i;
|
|
3910
3914
|
for (; m >= t.startRow; )
|
|
3911
3915
|
s.push({
|
|
@@ -3914,7 +3918,7 @@ let Ws = class extends oe {
|
|
|
3914
3918
|
endRow: f,
|
|
3915
3919
|
endColumn: g
|
|
3916
3920
|
}), m -= i, f -= i;
|
|
3917
|
-
} else if (n ===
|
|
3921
|
+
} else if (n === U.RIGHT) {
|
|
3918
3922
|
let m = u + i, f = g + i;
|
|
3919
3923
|
for (; f <= t.endColumn; )
|
|
3920
3924
|
s.push({
|
|
@@ -3923,7 +3927,7 @@ let Ws = class extends oe {
|
|
|
3923
3927
|
endRow: h,
|
|
3924
3928
|
endColumn: f
|
|
3925
3929
|
}), m += i, f += i;
|
|
3926
|
-
} else if (n ===
|
|
3930
|
+
} else if (n === U.LEFT) {
|
|
3927
3931
|
let m = u - i, f = g - i;
|
|
3928
3932
|
for (; m >= t.startColumn; )
|
|
3929
3933
|
s.push({
|
|
@@ -3964,9 +3968,9 @@ let Ws = class extends oe {
|
|
|
3964
3968
|
};
|
|
3965
3969
|
const u = Cr(l), h = Cr(a), { cols: g, rows: m } = a, { cols: f, rows: v } = l, p = this._copyData;
|
|
3966
3970
|
let C;
|
|
3967
|
-
t ===
|
|
3971
|
+
t === U.DOWN || t === U.UP ? C = v.length : C = f.length;
|
|
3968
3972
|
const _ = [];
|
|
3969
|
-
if (t ===
|
|
3973
|
+
if (t === U.DOWN || t === U.UP) {
|
|
3970
3974
|
const O = m.length, V = [];
|
|
3971
3975
|
g.forEach((W, j) => {
|
|
3972
3976
|
const B = p[j], z = this._getApplyData(B, C, O, t, n, s, e);
|
|
@@ -4023,7 +4027,7 @@ let Ws = class extends oe {
|
|
|
4023
4027
|
Wl,
|
|
4024
4028
|
W
|
|
4025
4029
|
);
|
|
4026
|
-
O.length && (o.push({ id:
|
|
4030
|
+
O.length && (o.push({ id: Qt.id, params: W }), i.unshift({ id: Kt.id, params: j }));
|
|
4027
4031
|
}
|
|
4028
4032
|
const R = {
|
|
4029
4033
|
subUnitId: d,
|
|
@@ -4060,7 +4064,7 @@ let Ws = class extends oe {
|
|
|
4060
4064
|
Fl,
|
|
4061
4065
|
V
|
|
4062
4066
|
);
|
|
4063
|
-
i.unshift({ id:
|
|
4067
|
+
i.unshift({ id: Qt.id, params: W }), o.push({ id: Kt.id, params: V });
|
|
4064
4068
|
}
|
|
4065
4069
|
return {
|
|
4066
4070
|
undos: i,
|
|
@@ -4094,7 +4098,7 @@ Ws = e1([
|
|
|
4094
4098
|
or(2, xr),
|
|
4095
4099
|
or(3, qe),
|
|
4096
4100
|
or(4, Ce),
|
|
4097
|
-
or(5, k(
|
|
4101
|
+
or(5, k(Rt)),
|
|
4098
4102
|
or(6, k(Rr))
|
|
4099
4103
|
], Ws);
|
|
4100
4104
|
var t1 = Object.getOwnPropertyDescriptor, n1 = (r, e, t, n) => {
|
|
@@ -4166,7 +4170,7 @@ let Bs = class extends oe {
|
|
|
4166
4170
|
if (g) {
|
|
4167
4171
|
const [C, _] = g, { row: S, col: I, worksheet: R, unitId: y, subUnitId: M } = _;
|
|
4168
4172
|
if (!((m = this._permissionService.composePermission(
|
|
4169
|
-
[new
|
|
4173
|
+
[new Q(y).id, new te(y, M).id]
|
|
4170
4174
|
)) == null ? void 0 : m.every((P) => P.value)))
|
|
4171
4175
|
return !1;
|
|
4172
4176
|
const T = (v = (f = R.getCell(S, I)) == null ? void 0 : f.selectionProtection) == null ? void 0 : v[0];
|
|
@@ -4269,25 +4273,25 @@ function Gn(r, e, t, n, i = !0, o = 1, s = !0) {
|
|
|
4269
4273
|
});
|
|
4270
4274
|
let a;
|
|
4271
4275
|
switch (e) {
|
|
4272
|
-
case
|
|
4276
|
+
case U.UP:
|
|
4273
4277
|
for (a = r.startRow - o; a > -1 && !t.getRowVisible(a); )
|
|
4274
4278
|
a -= 1;
|
|
4275
|
-
a >= n.startRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.endRow, l.endRow = n.endRow, i && (l = Gn(l,
|
|
4279
|
+
a >= n.startRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.endRow, l.endRow = n.endRow, i && (l = Gn(l, U.LEFT, t, n, !1)));
|
|
4276
4280
|
break;
|
|
4277
|
-
case
|
|
4281
|
+
case U.DOWN:
|
|
4278
4282
|
for (a = r.endRow + o; a < t.getRowCount() && !t.getRowVisible(a); )
|
|
4279
4283
|
a += 1;
|
|
4280
|
-
a <= n.endRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.startRow, l.endRow = n.startRow, i && (l = Gn(l,
|
|
4284
|
+
a <= n.endRow ? (l.startRow = a, l.endRow = a) : s && (l.startRow = n.startRow, l.endRow = n.startRow, i && (l = Gn(l, U.RIGHT, t, n, !1)));
|
|
4281
4285
|
break;
|
|
4282
|
-
case
|
|
4286
|
+
case U.LEFT:
|
|
4283
4287
|
for (a = r.startColumn - o; a > -1 && !t.getColVisible(a); )
|
|
4284
4288
|
a -= 1;
|
|
4285
|
-
a >= n.startColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.endColumn, l.endColumn = n.endColumn, i && (l = Gn(l,
|
|
4289
|
+
a >= n.startColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.endColumn, l.endColumn = n.endColumn, i && (l = Gn(l, U.UP, t, n, !1)));
|
|
4286
4290
|
break;
|
|
4287
|
-
case
|
|
4291
|
+
case U.RIGHT:
|
|
4288
4292
|
for (a = r.endColumn + o; a < t.getColumnCount() && !t.getColVisible(a); )
|
|
4289
4293
|
a += 1;
|
|
4290
|
-
a <= n.endColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.startColumn, l.endColumn = n.startColumn, i && (l = Gn(l,
|
|
4294
|
+
a <= n.endColumn ? (l.startColumn = a, l.endColumn = a) : s && (l.startColumn = n.startColumn, l.endColumn = n.startColumn, i && (l = Gn(l, U.DOWN, t, n, !1)));
|
|
4291
4295
|
break;
|
|
4292
4296
|
}
|
|
4293
4297
|
return l;
|
|
@@ -4296,7 +4300,7 @@ function Ld(r, e, t) {
|
|
|
4296
4300
|
const n = { ...r }, { startRow: i, startColumn: o, endRow: s, endColumn: l } = co(r, e, t);
|
|
4297
4301
|
let a = Ai(t, i, o, s, l).hasValue, c = !0, d = !0;
|
|
4298
4302
|
for (; d; ) {
|
|
4299
|
-
if (
|
|
4303
|
+
if (U.UP === e) {
|
|
4300
4304
|
let u = n.startRow - 1;
|
|
4301
4305
|
for (; u > -1 && !t.getRowVisible(u); )
|
|
4302
4306
|
u -= 1;
|
|
@@ -4329,7 +4333,7 @@ function Ld(r, e, t) {
|
|
|
4329
4333
|
a = h, c = !1;
|
|
4330
4334
|
}
|
|
4331
4335
|
}
|
|
4332
|
-
if (
|
|
4336
|
+
if (U.DOWN === e) {
|
|
4333
4337
|
let u = n.endRow + 1;
|
|
4334
4338
|
for (; u < t.getRowCount() && !t.getRowVisible(u); )
|
|
4335
4339
|
u += 1;
|
|
@@ -4362,7 +4366,7 @@ function Ld(r, e, t) {
|
|
|
4362
4366
|
a = h, c = !1;
|
|
4363
4367
|
}
|
|
4364
4368
|
}
|
|
4365
|
-
if (
|
|
4369
|
+
if (U.LEFT === e) {
|
|
4366
4370
|
let u = n.startColumn - 1;
|
|
4367
4371
|
for (; u > -1 && !t.getColVisible(u); )
|
|
4368
4372
|
u -= 1;
|
|
@@ -4395,7 +4399,7 @@ function Ld(r, e, t) {
|
|
|
4395
4399
|
a = h, c = !1;
|
|
4396
4400
|
}
|
|
4397
4401
|
}
|
|
4398
|
-
if (
|
|
4402
|
+
if (U.RIGHT === e) {
|
|
4399
4403
|
let u = n.endColumn + 1;
|
|
4400
4404
|
for (; u < t.getColumnCount() && !t.getColVisible(u); )
|
|
4401
4405
|
u += 1;
|
|
@@ -4449,19 +4453,19 @@ function s1(r, e, t) {
|
|
|
4449
4453
|
}
|
|
4450
4454
|
function l1(r, e, t, n) {
|
|
4451
4455
|
const i = Wh(t), o = Ld(co(r, i, n), t, n);
|
|
4452
|
-
return t ===
|
|
4456
|
+
return t === U.UP && o.startRow <= r.startRow ? En(
|
|
4453
4457
|
{ ...e, startColumn: r.startColumn, endColumn: r.endColumn },
|
|
4454
4458
|
n,
|
|
4455
4459
|
!0
|
|
4456
|
-
) : t ===
|
|
4460
|
+
) : t === U.DOWN && o.endRow >= r.endRow ? En(
|
|
4457
4461
|
{ ...e, startColumn: r.startColumn, endColumn: r.endColumn },
|
|
4458
4462
|
n,
|
|
4459
4463
|
!0
|
|
4460
|
-
) : t ===
|
|
4464
|
+
) : t === U.LEFT && o.startColumn <= r.startColumn ? En(
|
|
4461
4465
|
{ ...e, startRow: r.startRow, endRow: r.endRow },
|
|
4462
4466
|
n,
|
|
4463
4467
|
!0
|
|
4464
|
-
) : t ===
|
|
4468
|
+
) : t === U.RIGHT && o.endColumn >= r.endColumn ? En(
|
|
4465
4469
|
{ ...e, startRow: r.startRow, endRow: r.endRow },
|
|
4466
4470
|
n,
|
|
4467
4471
|
!0
|
|
@@ -4483,7 +4487,7 @@ function Xu(r) {
|
|
|
4483
4487
|
function co(r, e, t) {
|
|
4484
4488
|
let n;
|
|
4485
4489
|
switch (e) {
|
|
4486
|
-
case
|
|
4490
|
+
case U.UP:
|
|
4487
4491
|
n = {
|
|
4488
4492
|
startRow: r.startRow,
|
|
4489
4493
|
startColumn: r.startColumn,
|
|
@@ -4492,7 +4496,7 @@ function co(r, e, t) {
|
|
|
4492
4496
|
rangeType: X.NORMAL
|
|
4493
4497
|
};
|
|
4494
4498
|
break;
|
|
4495
|
-
case
|
|
4499
|
+
case U.DOWN:
|
|
4496
4500
|
n = {
|
|
4497
4501
|
startRow: r.endRow,
|
|
4498
4502
|
startColumn: r.startColumn,
|
|
@@ -4501,7 +4505,7 @@ function co(r, e, t) {
|
|
|
4501
4505
|
rangeType: X.NORMAL
|
|
4502
4506
|
};
|
|
4503
4507
|
break;
|
|
4504
|
-
case
|
|
4508
|
+
case U.LEFT:
|
|
4505
4509
|
n = {
|
|
4506
4510
|
startRow: r.startRow,
|
|
4507
4511
|
startColumn: r.startColumn,
|
|
@@ -4510,7 +4514,7 @@ function co(r, e, t) {
|
|
|
4510
4514
|
rangeType: X.NORMAL
|
|
4511
4515
|
};
|
|
4512
4516
|
break;
|
|
4513
|
-
case
|
|
4517
|
+
case U.RIGHT:
|
|
4514
4518
|
n = {
|
|
4515
4519
|
startRow: r.startRow,
|
|
4516
4520
|
startColumn: r.endColumn,
|
|
@@ -4540,12 +4544,12 @@ function Hc(r, e, t) {
|
|
|
4540
4544
|
if (e == null)
|
|
4541
4545
|
return n;
|
|
4542
4546
|
switch (t) {
|
|
4543
|
-
case
|
|
4544
|
-
case
|
|
4547
|
+
case U.UP:
|
|
4548
|
+
case U.DOWN:
|
|
4545
4549
|
n.startColumn = n.endColumn = e.actualColumn;
|
|
4546
4550
|
break;
|
|
4547
|
-
case
|
|
4548
|
-
case
|
|
4551
|
+
case U.LEFT:
|
|
4552
|
+
case U.RIGHT:
|
|
4549
4553
|
n.startRow = n.endRow = e.actualRow;
|
|
4550
4554
|
break;
|
|
4551
4555
|
}
|
|
@@ -4555,24 +4559,24 @@ function c1(r, e, t) {
|
|
|
4555
4559
|
var l, a, c, d;
|
|
4556
4560
|
const { primary: n, range: i } = r, o = ae.clone(i);
|
|
4557
4561
|
switch (e) {
|
|
4558
|
-
case
|
|
4559
|
-
case
|
|
4562
|
+
case U.UP:
|
|
4563
|
+
case U.DOWN:
|
|
4560
4564
|
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;
|
|
4561
4565
|
break;
|
|
4562
|
-
case
|
|
4563
|
-
case
|
|
4566
|
+
case U.LEFT:
|
|
4567
|
+
case U.RIGHT:
|
|
4564
4568
|
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;
|
|
4565
4569
|
break;
|
|
4566
4570
|
}
|
|
4567
4571
|
const s = co(o, e, t);
|
|
4568
4572
|
switch (e) {
|
|
4569
|
-
case
|
|
4573
|
+
case U.DOWN:
|
|
4570
4574
|
return i.startRow < s.startRow;
|
|
4571
|
-
case
|
|
4575
|
+
case U.UP:
|
|
4572
4576
|
return i.endRow > s.endRow;
|
|
4573
|
-
case
|
|
4577
|
+
case U.LEFT:
|
|
4574
4578
|
return s.endColumn < i.endColumn;
|
|
4575
|
-
case
|
|
4579
|
+
case U.RIGHT:
|
|
4576
4580
|
return s.startColumn > i.startColumn;
|
|
4577
4581
|
}
|
|
4578
4582
|
}
|
|
@@ -4623,7 +4627,7 @@ function d1(r) {
|
|
|
4623
4627
|
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 || {});
|
|
4624
4628
|
const Lt = {
|
|
4625
4629
|
id: "sheet.command.move-selection",
|
|
4626
|
-
type:
|
|
4630
|
+
type: K.COMMAND,
|
|
4627
4631
|
handler: (r, e) => {
|
|
4628
4632
|
if (!e)
|
|
4629
4633
|
return !1;
|
|
@@ -4667,7 +4671,7 @@ const Lt = {
|
|
|
4667
4671
|
}
|
|
4668
4672
|
}, Ln = {
|
|
4669
4673
|
id: "sheet.command.move-selection-enter-tab",
|
|
4670
|
-
type:
|
|
4674
|
+
type: K.COMMAND,
|
|
4671
4675
|
// eslint-disable-next-line max-lines-per-function, complexity
|
|
4672
4676
|
handler: (r, e) => {
|
|
4673
4677
|
var V;
|
|
@@ -4675,7 +4679,7 @@ const Lt = {
|
|
|
4675
4679
|
return !1;
|
|
4676
4680
|
const t = Ue(r.get(N));
|
|
4677
4681
|
if (!t) return !1;
|
|
4678
|
-
const { workbook: n, worksheet: i } = t, o = Lo(r), { direction: s, keycode: l } = e, a = s ===
|
|
4682
|
+
const { workbook: n, worksheet: i } = t, o = Lo(r), { direction: s, keycode: l } = e, a = s === U.LEFT || s === U.UP, c = o.getCurrentSelections().concat(), d = c.findIndex((W) => W.primary), u = c[d];
|
|
4679
4683
|
if (!u)
|
|
4680
4684
|
return !1;
|
|
4681
4685
|
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();
|
|
@@ -4776,7 +4780,7 @@ const Lt = {
|
|
|
4776
4780
|
}
|
|
4777
4781
|
}, Gt = {
|
|
4778
4782
|
id: "sheet.command.expand-selection",
|
|
4779
|
-
type:
|
|
4783
|
+
type: K.COMMAND,
|
|
4780
4784
|
handler: (r, e) => {
|
|
4781
4785
|
if (!e) return !1;
|
|
4782
4786
|
const t = Ue(r.get(N));
|
|
@@ -4804,9 +4808,9 @@ const Lt = {
|
|
|
4804
4808
|
reveal: !0
|
|
4805
4809
|
});
|
|
4806
4810
|
}
|
|
4807
|
-
},
|
|
4811
|
+
}, Ql = {
|
|
4808
4812
|
id: "sheet.command.select-all",
|
|
4809
|
-
type:
|
|
4813
|
+
type: K.COMMAND,
|
|
4810
4814
|
// eslint-disable-next-line max-lines-per-function
|
|
4811
4815
|
handler: async (r, e = { expandToGapFirst: !0, loop: !1 }) => {
|
|
4812
4816
|
const t = Ue(r.get(N));
|
|
@@ -4844,7 +4848,7 @@ const Lt = {
|
|
|
4844
4848
|
}
|
|
4845
4849
|
});
|
|
4846
4850
|
const _ = r.get(vn).onCommandExecute({
|
|
4847
|
-
id:
|
|
4851
|
+
id: Ql.id,
|
|
4848
4852
|
params: { range: g }
|
|
4849
4853
|
});
|
|
4850
4854
|
_.redos.length && p.push(..._.redos);
|
|
@@ -4990,7 +4994,7 @@ Et = h1([
|
|
|
4990
4994
|
], Et);
|
|
4991
4995
|
const hn = {
|
|
4992
4996
|
id: "sheet.operation.set-scroll",
|
|
4993
|
-
type:
|
|
4997
|
+
type: K.OPERATION,
|
|
4994
4998
|
handler: (r, e) => {
|
|
4995
4999
|
if (!e)
|
|
4996
5000
|
return !1;
|
|
@@ -5006,7 +5010,7 @@ const hn = {
|
|
|
5006
5010
|
}
|
|
5007
5011
|
}, uo = {
|
|
5008
5012
|
id: "sheet.command.set-scroll-relative",
|
|
5009
|
-
type:
|
|
5013
|
+
type: K.COMMAND,
|
|
5010
5014
|
// offsetXY derived from mouse wheel event
|
|
5011
5015
|
// this._commandService.executeCommand(SetScrollRelativeCommand.id, { offsetY });
|
|
5012
5016
|
handler: async (r, e) => {
|
|
@@ -5033,7 +5037,7 @@ const hn = {
|
|
|
5033
5037
|
}
|
|
5034
5038
|
}, gn = {
|
|
5035
5039
|
id: "sheet.command.scroll-view",
|
|
5036
|
-
type:
|
|
5040
|
+
type: K.COMMAND,
|
|
5037
5041
|
handler: (r, e) => {
|
|
5038
5042
|
if (!e)
|
|
5039
5043
|
return !1;
|
|
@@ -5062,14 +5066,14 @@ const hn = {
|
|
|
5062
5066
|
}
|
|
5063
5067
|
}, um = {
|
|
5064
5068
|
id: "sheet.command.scroll-to-cell",
|
|
5065
|
-
type:
|
|
5069
|
+
type: K.COMMAND,
|
|
5066
5070
|
handler: (r, e) => {
|
|
5067
5071
|
const t = r.get(N);
|
|
5068
5072
|
return r.get(Ce).getRenderById(t.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId()).with(ho).scrollToRange(e.range, e.forceTop, e.forceLeft);
|
|
5069
5073
|
}
|
|
5070
5074
|
}, Uy = {
|
|
5071
5075
|
id: "sheet.command.scroll-view-reset",
|
|
5072
|
-
type:
|
|
5076
|
+
type: K.COMMAND,
|
|
5073
5077
|
handler: async (r) => {
|
|
5074
5078
|
const e = r.get(N), t = Ue(e);
|
|
5075
5079
|
if (!t) return !1;
|
|
@@ -5096,7 +5100,7 @@ let ho = class extends oe {
|
|
|
5096
5100
|
_wheelEventListener() {
|
|
5097
5101
|
const { scene: r } = this._context;
|
|
5098
5102
|
if (!r) return;
|
|
5099
|
-
const e = r.getViewport(
|
|
5103
|
+
const e = r.getViewport(F.VIEW_MAIN);
|
|
5100
5104
|
e && this.disposeWithMe(
|
|
5101
5105
|
r.onMouseWheel$.subscribeEvent((t, n) => {
|
|
5102
5106
|
if (t.ctrlKey || !this._contextService.getContextValue(Ht))
|
|
@@ -5112,7 +5116,7 @@ let ho = class extends oe {
|
|
|
5112
5116
|
_scrollBarEventListener() {
|
|
5113
5117
|
const { scene: r } = this._context;
|
|
5114
5118
|
if (r == null) return;
|
|
5115
|
-
const e = r.getViewport(
|
|
5119
|
+
const e = r.getViewport(F.VIEW_MAIN);
|
|
5116
5120
|
e && (this.disposeWithMe(
|
|
5117
5121
|
We(
|
|
5118
5122
|
this._scrollManagerService.rawScrollInfo$.subscribe((t) => {
|
|
@@ -5205,7 +5209,7 @@ let ho = class extends oe {
|
|
|
5205
5209
|
_updateViewportScroll(r = 0, e = 0) {
|
|
5206
5210
|
const t = this._getSheetObject();
|
|
5207
5211
|
if (!t) return;
|
|
5208
|
-
const n = t.scene, i = n.getViewport(
|
|
5212
|
+
const n = t.scene, i = n.getViewport(F.VIEW_MAIN), o = n.getViewport(F.VIEW_COLUMN_RIGHT), s = n.getViewport(F.VIEW_ROW_BOTTOM), l = n.getViewport(F.VIEW_MAIN_LEFT), a = n.getViewport(F.VIEW_MAIN_TOP);
|
|
5209
5213
|
i && (i.viewportScrollX = r, i.viewportScrollY = e), s && (s.viewportScrollY = e), o && (o.viewportScrollX = r), l && (l.viewportScrollY = e), a && (a.viewportScrollX = r);
|
|
5210
5214
|
}
|
|
5211
5215
|
scrollToRange(r, e, t) {
|
|
@@ -5275,7 +5279,7 @@ let ho = class extends oe {
|
|
|
5275
5279
|
return;
|
|
5276
5280
|
const { startRow: l, startColumn: a, endRow: c, endColumn: d } = s;
|
|
5277
5281
|
let u = 0, h = 0;
|
|
5278
|
-
t > l ? u = i : i < c ? u = t : u = l, n > a ? h = o : o < d ? h = n : h = a, r.direction ===
|
|
5282
|
+
t > l ? u = i : i < c ? u = t : u = l, n > a ? h = o : o < d ? h = n : h = a, r.direction === U.DOWN ? u = i : r.direction === U.UP ? u = t : r.direction === U.RIGHT ? h = o : r.direction === U.LEFT && (h = n), this._scrollToCell(u, h);
|
|
5279
5283
|
}, 0);
|
|
5280
5284
|
}
|
|
5281
5285
|
_getFreeze() {
|
|
@@ -5329,7 +5333,7 @@ let ho = class extends oe {
|
|
|
5329
5333
|
const r = (i = this._getSheetObject()) == null ? void 0 : i.scene;
|
|
5330
5334
|
if (r == null)
|
|
5331
5335
|
return;
|
|
5332
|
-
const e = r.getViewport(
|
|
5336
|
+
const e = r.getViewport(F.VIEW_MAIN);
|
|
5333
5337
|
if (e == null)
|
|
5334
5338
|
return;
|
|
5335
5339
|
const t = (o = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : o.skeleton;
|
|
@@ -5346,7 +5350,7 @@ let ho = class extends oe {
|
|
|
5346
5350
|
if (i == null || o == null) return !1;
|
|
5347
5351
|
const s = (T = this._getSheetObject()) == null ? void 0 : T.scene;
|
|
5348
5352
|
if (s == null) return !1;
|
|
5349
|
-
const l = s.getViewport(
|
|
5353
|
+
const l = s.getViewport(F.VIEW_MAIN);
|
|
5350
5354
|
if (l == null) return !1;
|
|
5351
5355
|
const a = (P = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : P.skeleton;
|
|
5352
5356
|
if (a == null) return !1;
|
|
@@ -5403,7 +5407,7 @@ let ho = class extends oe {
|
|
|
5403
5407
|
}
|
|
5404
5408
|
};
|
|
5405
5409
|
ho = f1([
|
|
5406
|
-
Nr(1, k(
|
|
5410
|
+
Nr(1, k(Rt)),
|
|
5407
5411
|
Nr(2, k(he)),
|
|
5408
5412
|
Nr(3, ke),
|
|
5409
5413
|
Nr(4, L),
|
|
@@ -5412,7 +5416,7 @@ ho = f1([
|
|
|
5412
5416
|
], ho);
|
|
5413
5417
|
const hm = {
|
|
5414
5418
|
id: "sheet.operation.scroll-to-range",
|
|
5415
|
-
type:
|
|
5419
|
+
type: K.OPERATION,
|
|
5416
5420
|
handler: (r, e) => {
|
|
5417
5421
|
if (!e)
|
|
5418
5422
|
return !1;
|
|
@@ -5454,7 +5458,7 @@ class v1 {
|
|
|
5454
5458
|
this._state$.next(e);
|
|
5455
5459
|
}
|
|
5456
5460
|
}
|
|
5457
|
-
const
|
|
5461
|
+
const Kl = jt(
|
|
5458
5462
|
"univer.sheet-cell-editor-manager.service"
|
|
5459
5463
|
), Nt = "sheets-ui.config", Vc = {
|
|
5460
5464
|
formulaBar: !0,
|
|
@@ -5791,7 +5795,7 @@ function Em(r, e) {
|
|
|
5791
5795
|
{ keyCode: Y.TAB }
|
|
5792
5796
|
],
|
|
5793
5797
|
handler: (o) => {
|
|
5794
|
-
(o === Y.ENTER || o === Y.ESC || o === Y.TAB) && (t.disableForceKeepVisible(), n.
|
|
5798
|
+
(o === Y.ENTER || o === Y.ESC || o === Y.TAB) && (t.disableForceKeepVisible(), n.syncExecuteCommand(tt.id, {
|
|
5795
5799
|
visible: !1,
|
|
5796
5800
|
eventType: ze.Keyboard,
|
|
5797
5801
|
keycode: o,
|
|
@@ -5808,7 +5812,7 @@ const Fs = -1e3, zu = {
|
|
|
5808
5812
|
}, j1 = () => {
|
|
5809
5813
|
const [r, e] = re({
|
|
5810
5814
|
...zu
|
|
5811
|
-
}), t = D(
|
|
5815
|
+
}), t = D(Kl), n = D(Si), i = D(ke), o = D(Zt), s = D(qe), l = ht(s.visible$), a = D(L), c = Tn(0), d = ht(
|
|
5812
5816
|
() => i.subscribeContextValue$(Su),
|
|
5813
5817
|
!1,
|
|
5814
5818
|
void 0,
|
|
@@ -5942,7 +5946,7 @@ const $l = jt(
|
|
|
5942
5946
|
"univer.sheet-formula-editor-manager.service"
|
|
5943
5947
|
), go = "DefinedNameContainer", zd = {
|
|
5944
5948
|
id: "sidebar.operation.defined-name",
|
|
5945
|
-
type:
|
|
5949
|
+
type: K.COMMAND,
|
|
5946
5950
|
handler: async (r, e) => {
|
|
5947
5951
|
const t = r.get(wi);
|
|
5948
5952
|
r.get(Si);
|
|
@@ -6115,7 +6119,7 @@ function q1(r) {
|
|
|
6115
6119
|
), 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({
|
|
6116
6120
|
editDisable: !1,
|
|
6117
6121
|
viewDisable: !1
|
|
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 =
|
|
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 = Qh(om.FORMULA_AUX), P = D(ke);
|
|
6119
6123
|
ht(wt(() => P.subscribeContextValue$(Ot), [P]));
|
|
6120
6124
|
const A = P.getContextValue(Ot), H = Tn(null), O = D(Si);
|
|
6121
6125
|
eS(() => {
|
|
@@ -6141,16 +6145,16 @@ function q1(r) {
|
|
|
6141
6145
|
).subscribe((de) => {
|
|
6142
6146
|
var it, ot, vt, _t, Bn, Fn;
|
|
6143
6147
|
if (de) {
|
|
6144
|
-
const { unitId:
|
|
6145
|
-
if (c.getRule(
|
|
6146
|
-
const Ip = !((ot = (it = g.getPermissionPoint(new te(
|
|
6148
|
+
const { unitId: Ko, subUnitId: Jo, primary: _p } = de;
|
|
6149
|
+
if (c.getRule(Ko, Jo)) {
|
|
6150
|
+
const Ip = !((ot = (it = g.getPermissionPoint(new te(Ko, Jo).id)) == null ? void 0 : it.value) == null || ot), yp = !((_t = (vt = g.getPermissionPoint(new rg(Ko, Jo).id)) == null ? void 0 : vt.value) == null || _t);
|
|
6147
6151
|
p({
|
|
6148
6152
|
viewDisable: yp,
|
|
6149
6153
|
editDisable: Ip
|
|
6150
6154
|
});
|
|
6151
6155
|
return;
|
|
6152
6156
|
}
|
|
6153
|
-
const { actualRow: bp, actualColumn: Rp } = _p, Hr = m.getCellInfo(
|
|
6157
|
+
const { actualRow: bp, actualColumn: Rp } = _p, Hr = m.getCellInfo(Ko, Jo, bp, Rp);
|
|
6154
6158
|
p({
|
|
6155
6159
|
editDisable: !((Bn = Hr == null ? void 0 : Hr[ro.Edit]) == null || Bn),
|
|
6156
6160
|
viewDisable: !((Fn = Hr == null ? void 0 : Hr[ro.View]) == null || Fn)
|
|
@@ -6342,7 +6346,7 @@ function q1(r) {
|
|
|
6342
6346
|
)
|
|
6343
6347
|
] })
|
|
6344
6348
|
] }),
|
|
6345
|
-
/* @__PURE__ */ w(
|
|
6349
|
+
/* @__PURE__ */ w(Kh, { components: T }, "formula-aux")
|
|
6346
6350
|
]
|
|
6347
6351
|
}
|
|
6348
6352
|
);
|
|
@@ -6414,7 +6418,7 @@ function vs(r) {
|
|
|
6414
6418
|
}
|
|
6415
6419
|
);
|
|
6416
6420
|
}
|
|
6417
|
-
function
|
|
6421
|
+
function Q1() {
|
|
6418
6422
|
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) => {
|
|
6419
6423
|
const { sheetId: v } = f;
|
|
6420
6424
|
!v || !a || (f.hidden ? o.executeCommand(gd.id, {
|
|
@@ -6431,7 +6435,7 @@ function K1() {
|
|
|
6431
6435
|
label: C.getName(),
|
|
6432
6436
|
index: `${_}`,
|
|
6433
6437
|
sheetId: C.getSheetId(),
|
|
6434
|
-
hidden: C.isSheetHidden() ===
|
|
6438
|
+
hidden: C.isSheetHidden() === Ke.TRUE,
|
|
6435
6439
|
selected: v === C
|
|
6436
6440
|
}));
|
|
6437
6441
|
e(p);
|
|
@@ -6490,7 +6494,7 @@ function K1() {
|
|
|
6490
6494
|
}
|
|
6491
6495
|
);
|
|
6492
6496
|
}
|
|
6493
|
-
function
|
|
6497
|
+
function K1(r) {
|
|
6494
6498
|
const { sheetId: e, label: t, color: n, selected: i, menuOverlay: o } = r, [s, l] = re(i), a = D(At);
|
|
6495
6499
|
Me(() => {
|
|
6496
6500
|
l(i);
|
|
@@ -6644,7 +6648,7 @@ class vr {
|
|
|
6644
6648
|
}
|
|
6645
6649
|
selectAll() {
|
|
6646
6650
|
const e = this.getEditor();
|
|
6647
|
-
e &&
|
|
6651
|
+
e && Qr.keepSelectAll(e);
|
|
6648
6652
|
}
|
|
6649
6653
|
isEditMode() {
|
|
6650
6654
|
return this._editMode;
|
|
@@ -6682,11 +6686,11 @@ class vr {
|
|
|
6682
6686
|
setTimeout(() => {
|
|
6683
6687
|
if (t) {
|
|
6684
6688
|
const u = n.innerText;
|
|
6685
|
-
u.length > d && (n.innerText = u.substring(0, d),
|
|
6689
|
+
u.length > d && (n.innerText = u.substring(0, d), Qr.keepLastIndex(n));
|
|
6686
6690
|
}
|
|
6687
6691
|
}, 0);
|
|
6688
6692
|
};
|
|
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,
|
|
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, Qr.keepSelectAll(n));
|
|
6690
6694
|
}
|
|
6691
6695
|
}
|
|
6692
6696
|
nameCheck() {
|
|
@@ -7084,7 +7088,7 @@ const Zr = class Zr {
|
|
|
7084
7088
|
b(Zr, "LongPressDelay", 500), // in milliseconds
|
|
7085
7089
|
/** Time in milliseconds with two consecutive clicks will be considered as a double click */
|
|
7086
7090
|
b(Zr, "DoubleClickDelay", 300);
|
|
7087
|
-
let
|
|
7091
|
+
let Qr = Zr;
|
|
7088
7092
|
function nw() {
|
|
7089
7093
|
var _e;
|
|
7090
7094
|
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(() => {
|
|
@@ -7132,7 +7136,7 @@ function nw() {
|
|
|
7132
7136
|
};
|
|
7133
7137
|
}, [p, R]);
|
|
7134
7138
|
const y = () => {
|
|
7135
|
-
const G = new
|
|
7139
|
+
const G = new Qr({
|
|
7136
7140
|
slideTabBarSelector: "[data-u-comp=slide-tab-bar]",
|
|
7137
7141
|
slideTabBarItemSelector: "[data-u-comp=slide-tab-item]",
|
|
7138
7142
|
slideTabBarItemAutoSort: !0,
|
|
@@ -7190,7 +7194,7 @@ function nw() {
|
|
|
7190
7194
|
}
|
|
7191
7195
|
return !1;
|
|
7192
7196
|
}, P = (G) => {
|
|
7193
|
-
if (!
|
|
7197
|
+
if (!Qp(G)) {
|
|
7194
7198
|
const ee = "sheetNameSpecCharAlert";
|
|
7195
7199
|
return f.open({
|
|
7196
7200
|
id: ee,
|
|
@@ -7323,7 +7327,7 @@ function nw() {
|
|
|
7323
7327
|
"data-u-comp": "slide-tab-bar",
|
|
7324
7328
|
className: "univer-flex univer-select-none univer-flex-row univer-items-center univer-overflow-hidden univer-px-1.5 univer-py-1",
|
|
7325
7329
|
style: { boxShadow: i },
|
|
7326
|
-
children: r.map((G) => /* @__PURE__ */ st(
|
|
7330
|
+
children: r.map((G) => /* @__PURE__ */ st(K1, { ...G, key: G.sheetId, selected: t === G.sheetId }))
|
|
7327
7331
|
}
|
|
7328
7332
|
)
|
|
7329
7333
|
}
|
|
@@ -7333,12 +7337,12 @@ function nw() {
|
|
|
7333
7337
|
}
|
|
7334
7338
|
const rw = 100, iw = () => {
|
|
7335
7339
|
var f, v;
|
|
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
|
|
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 Q(a)) == null ? void 0 : f.id)), d = ht(s.getPermissionPoint$((v = new sg(a)) == null ? void 0 : v.id)), u = (p) => {
|
|
7337
7341
|
const { leftEnd: C, rightEnd: _ } = p;
|
|
7338
7342
|
e(C), n(_);
|
|
7339
7343
|
};
|
|
7340
7344
|
Me(() => {
|
|
7341
|
-
const p = o.scroll$.subscribe(
|
|
7345
|
+
const p = o.scroll$.subscribe(Kp((C) => {
|
|
7342
7346
|
u(C);
|
|
7343
7347
|
}, 100));
|
|
7344
7348
|
return () => {
|
|
@@ -7365,7 +7369,7 @@ const rw = 100, iw = () => {
|
|
|
7365
7369
|
children: /* @__PURE__ */ w(Fd, {})
|
|
7366
7370
|
}
|
|
7367
7371
|
),
|
|
7368
|
-
/* @__PURE__ */ w(
|
|
7372
|
+
/* @__PURE__ */ w(Q1, {})
|
|
7369
7373
|
] }),
|
|
7370
7374
|
/* @__PURE__ */ w(nw, {}),
|
|
7371
7375
|
(!r || !t) && /* @__PURE__ */ q(
|
|
@@ -7508,7 +7512,7 @@ const ea = jt("univer.sheet-status-bar.service"), aw = [
|
|
|
7508
7512
|
}, cw = (r) => {
|
|
7509
7513
|
const e = D(Pe), t = D(Jh), n = D(Ol), i = dw(r), o = async () => {
|
|
7510
7514
|
await n.writeText(r.value.toString()), t.show({
|
|
7511
|
-
type:
|
|
7515
|
+
type: Kg.Success,
|
|
7512
7516
|
content: e.t("statusbar.copied")
|
|
7513
7517
|
});
|
|
7514
7518
|
};
|
|
@@ -7723,7 +7727,7 @@ let Us = class extends oe {
|
|
|
7723
7727
|
let R = 0;
|
|
7724
7728
|
v === dn.MIDDLE ? R = (I - f) / 2 / s : v === dn.TOP ? R = C.t || 0 : R = (I - f) / s;
|
|
7725
7729
|
let y = 0;
|
|
7726
|
-
p ===
|
|
7730
|
+
p === It.CENTER ? y = (S - m) / 2 / o : p === It.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({
|
|
7727
7731
|
t: R,
|
|
7728
7732
|
l: y
|
|
7729
7733
|
}), h.calculate(), this._editAreaProcessing(
|
|
@@ -7758,7 +7762,7 @@ let Us = class extends oe {
|
|
|
7758
7762
|
const m = t.getActualSize();
|
|
7759
7763
|
let f = l - s;
|
|
7760
7764
|
return f < m.actualWidth * i + Yu * i && (f = m.actualWidth * i + Yu * i), u == null || u.updateDocumentDataPageSize(f / i), u == null || u.updateDocumentRenderConfig({
|
|
7761
|
-
horizontalAlign:
|
|
7765
|
+
horizontalAlign: It.UNSPECIFIED,
|
|
7762
7766
|
cellValueType: void 0
|
|
7763
7767
|
}), {
|
|
7764
7768
|
actualWidth: m.actualWidth * i,
|
|
@@ -7776,10 +7780,10 @@ let Us = class extends oe {
|
|
|
7776
7780
|
if (!o) return;
|
|
7777
7781
|
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;
|
|
7778
7782
|
let p = c - u;
|
|
7779
|
-
if (t ===
|
|
7783
|
+
if (t === It.CENTER) {
|
|
7780
7784
|
const R = m - g, y = u;
|
|
7781
7785
|
p = g - u + Math.min(y, R) * 2;
|
|
7782
|
-
} else t ===
|
|
7786
|
+
} else t === It.RIGHT && (p = g);
|
|
7783
7787
|
return {
|
|
7784
7788
|
height: v,
|
|
7785
7789
|
width: p - Zu,
|
|
@@ -7821,7 +7825,7 @@ let Us = class extends oe {
|
|
|
7821
7825
|
const T = this._layoutService.getContentElement().getBoundingClientRect(), P = u.getBoundingClientRect();
|
|
7822
7826
|
h = h * I + (P.left - T.left), g = g * I + (P.top - T.top);
|
|
7823
7827
|
const A = t.endX - t.startX;
|
|
7824
|
-
l ===
|
|
7828
|
+
l === It.RIGHT ? h += (A - r) * I : l === It.CENTER && (h += (A - r * I) / 2), this._cellEditorManagerService.setState({
|
|
7825
7829
|
startX: h,
|
|
7826
7830
|
startY: g,
|
|
7827
7831
|
endX: r * I + h,
|
|
@@ -7874,12 +7878,12 @@ let Us = class extends oe {
|
|
|
7874
7878
|
}
|
|
7875
7879
|
_getEditorSkeleton() {
|
|
7876
7880
|
var r;
|
|
7877
|
-
return (r = this._renderManagerService.getRenderById(Le)) == null ? void 0 : r.with(
|
|
7881
|
+
return (r = this._renderManagerService.getRenderById(Le)) == null ? void 0 : r.with(Qn).getSkeleton();
|
|
7878
7882
|
}
|
|
7879
7883
|
};
|
|
7880
7884
|
Us = vw([
|
|
7881
7885
|
Dr(0, Al),
|
|
7882
|
-
Dr(1,
|
|
7886
|
+
Dr(1, Kl),
|
|
7883
7887
|
Dr(2, qe),
|
|
7884
7888
|
Dr(3, Ce),
|
|
7885
7889
|
Dr(4, N),
|
|
@@ -7887,7 +7891,7 @@ Us = vw([
|
|
|
7887
7891
|
], Us);
|
|
7888
7892
|
const jd = {
|
|
7889
7893
|
id: "sheet.operation.set-activate-cell-edit",
|
|
7890
|
-
type:
|
|
7894
|
+
type: K.OPERATION,
|
|
7891
7895
|
handler: (r, e) => (r.get(qe).setEditCell(e), !0)
|
|
7892
7896
|
};
|
|
7893
7897
|
var Sw = Object.getOwnPropertyDescriptor, Cw = (r, e, t, n) => {
|
|
@@ -8368,7 +8372,7 @@ var Lw = Object.getOwnPropertyDescriptor, Ww = (r, e, t, n) => {
|
|
|
8368
8372
|
for (var i = n > 1 ? void 0 : n ? Lw(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
8369
8373
|
(s = r[o]) && (i = s(i) || i);
|
|
8370
8374
|
return i;
|
|
8371
|
-
},
|
|
8375
|
+
}, yt = (r, e) => (t, n) => e(t, n, r);
|
|
8372
8376
|
const Gu = -1e3;
|
|
8373
8377
|
let zs = class extends oe {
|
|
8374
8378
|
constructor(e, t, n, i, o, s, l, a, c, d, u, h, g, m, f) {
|
|
@@ -8627,10 +8631,10 @@ let zs = class extends oe {
|
|
|
8627
8631
|
}));
|
|
8628
8632
|
}
|
|
8629
8633
|
async _handleEditorInvisible(e) {
|
|
8630
|
-
var
|
|
8634
|
+
var f, v;
|
|
8631
8635
|
const t = this._editorBridgeService.getEditCellState(), n = this._univerInstanceService.getUnit(Le), i = le.deepClone(n == null ? void 0 : n.getSnapshot()), { keycode: o } = e;
|
|
8632
8636
|
this._cursorChange = 0;
|
|
8633
|
-
const s = (
|
|
8637
|
+
const s = (f = t == null ? void 0 : t.unitId) != null ? f : "";
|
|
8634
8638
|
if (this._exitInput(e), t == null)
|
|
8635
8639
|
return;
|
|
8636
8640
|
const l = this._univerInstanceService.getUnit(s, x.UNIVER_SHEET);
|
|
@@ -8640,16 +8644,12 @@ let zs = class extends oe {
|
|
|
8640
8644
|
if (c === u && h !== d && await this._commandService.executeCommand(pd.id, {
|
|
8641
8645
|
subUnitId: h,
|
|
8642
8646
|
unitId: u
|
|
8643
|
-
}),
|
|
8644
|
-
this._editorBridgeService.isForceKeepVisible() && this._editorBridgeService.disableForceKeepVisible(), this._moveSelection(o, s, d);
|
|
8645
|
-
return;
|
|
8646
|
-
}
|
|
8647
|
-
if (o === Y.ESC) {
|
|
8647
|
+
}), 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 g = ((v = i == null ? void 0 : i.body) == null ? void 0 : v.dataStream.length) === 2, m = t.documentLayoutObject.documentModel ? this._isCellImageData(t.documentLayoutObject.documentModel.getSnapshot()) : !1;
|
|
8652
|
+
i && !(g && m) && 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 = U.LEFT;
|
|
8722
8722
|
switch (e) {
|
|
8723
8723
|
case Y.ENTER:
|
|
8724
|
-
i =
|
|
8724
|
+
i = U.DOWN;
|
|
8725
8725
|
break;
|
|
8726
8726
|
case Y.TAB:
|
|
8727
|
-
i =
|
|
8727
|
+
i = U.RIGHT;
|
|
8728
8728
|
break;
|
|
8729
8729
|
case Y.ARROW_DOWN:
|
|
8730
|
-
i =
|
|
8730
|
+
i = U.DOWN;
|
|
8731
8731
|
break;
|
|
8732
8732
|
case Y.ARROW_UP:
|
|
8733
|
-
i =
|
|
8733
|
+
i = U.UP;
|
|
8734
8734
|
break;
|
|
8735
8735
|
case Y.ARROW_LEFT:
|
|
8736
|
-
i =
|
|
8736
|
+
i = U.LEFT;
|
|
8737
8737
|
break;
|
|
8738
8738
|
case Y.ARROW_RIGHT:
|
|
8739
|
-
i =
|
|
8739
|
+
i = U.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 = U.LEFT;
|
|
8765
|
+
e === Y.ARROW_DOWN ? n = U.DOWN : e === Y.ARROW_UP ? n = U.UP : e === Y.ARROW_RIGHT && (n = U.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(Qn).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(Qn).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
|
+
yt(0, Yt),
|
|
8797
|
+
yt(1, ke),
|
|
8798
|
+
yt(2, Ce),
|
|
8799
|
+
yt(3, qe),
|
|
8800
|
+
yt(4, Kl),
|
|
8801
|
+
yt(5, k(jg)),
|
|
8802
|
+
yt(6, Yg),
|
|
8803
|
+
yt(7, k(Md)),
|
|
8804
|
+
yt(8, L),
|
|
8805
|
+
yt(9, k(Pe)),
|
|
8806
|
+
yt(10, Si),
|
|
8807
|
+
yt(11, N),
|
|
8808
|
+
yt(12, k(vn)),
|
|
8809
|
+
yt(13, k(Us)),
|
|
8810
|
+
yt(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 Qu = 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 = Qu) {
|
|
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 = Qu) {
|
|
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 = Ke.TRUE;
|
|
9009
9009
|
break;
|
|
9010
9010
|
}
|
|
9011
9011
|
case "s": {
|
|
9012
9012
|
n.st = {
|
|
9013
|
-
s:
|
|
9013
|
+
s: Ke.TRUE
|
|
9014
9014
|
};
|
|
9015
9015
|
break;
|
|
9016
9016
|
}
|
|
9017
9017
|
case "u": {
|
|
9018
9018
|
n.ul = {
|
|
9019
|
-
s:
|
|
9019
|
+
s: Ke.TRUE
|
|
9020
9020
|
};
|
|
9021
9021
|
break;
|
|
9022
9022
|
}
|
|
9023
9023
|
case "i": {
|
|
9024
|
-
n.it =
|
|
9024
|
+
n.it = Ke.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
|
+
Ku(n, i, e);
|
|
9040
9040
|
}
|
|
9041
9041
|
else
|
|
9042
9042
|
for (const t in r) {
|
|
9043
9043
|
const n = r[t];
|
|
9044
|
-
|
|
9044
|
+
Ku(t, n, e);
|
|
9045
9045
|
}
|
|
9046
9046
|
}
|
|
9047
|
-
function
|
|
9047
|
+
function Ku(r, e, t) {
|
|
9048
9048
|
switch (r) {
|
|
9049
9049
|
case "font-family":
|
|
9050
9050
|
t.ff = e;
|
|
@@ -9055,14 +9055,14 @@ function Qu(r, e, t) {
|
|
|
9055
9055
|
break;
|
|
9056
9056
|
}
|
|
9057
9057
|
case "font-style":
|
|
9058
|
-
e === "italic" && (t.it =
|
|
9058
|
+
e === "italic" && (t.it = Ke.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 = Ke.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: Ke.TRUE } : /overline/.test(e) ? t.ol = { s: Ke.TRUE } : /line-through/.test(e) && (t.st = { s: Ke.TRUE });
|
|
9066
9066
|
break;
|
|
9067
9067
|
}
|
|
9068
9068
|
case "color": {
|
|
@@ -9082,7 +9082,7 @@ function Qu(r, e, t) {
|
|
|
9082
9082
|
}
|
|
9083
9083
|
}
|
|
9084
9084
|
}
|
|
9085
|
-
function
|
|
9085
|
+
function Qw(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 = Qw(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 = [] } = Kw(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 Kw(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: Ke.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: Ke.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(Rt))
|
|
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 Qd = 998, mn = {
|
|
10574
10574
|
id: Fv.id,
|
|
10575
10575
|
name: "sheet.command.copy",
|
|
10576
|
-
type:
|
|
10576
|
+
type: K.COMMAND,
|
|
10577
10577
|
multi: !0,
|
|
10578
|
-
priority:
|
|
10578
|
+
priority: Qd,
|
|
10579
10579
|
preconditions: Yd,
|
|
10580
10580
|
handler: async (r) => r.get(on).copy()
|
|
10581
|
-
},
|
|
10581
|
+
}, Kd = {
|
|
10582
10582
|
id: Uv.id,
|
|
10583
10583
|
name: "sheet.command.cut",
|
|
10584
|
-
type:
|
|
10584
|
+
type: K.COMMAND,
|
|
10585
10585
|
multi: !0,
|
|
10586
|
-
priority:
|
|
10586
|
+
priority: Qd,
|
|
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: K.COMMAND,
|
|
10592
10592
|
multi: !0,
|
|
10593
10593
|
name: "sheet.command.paste",
|
|
10594
|
-
priority:
|
|
10594
|
+
priority: Qd,
|
|
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 Kd = 998, mn = {
|
|
|
10599
10599
|
}
|
|
10600
10600
|
}, Lc = {
|
|
10601
10601
|
id: zv,
|
|
10602
|
-
type:
|
|
10602
|
+
type: K.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
|
+
}, Ki = {
|
|
10608
10608
|
id: "sheet.command.paste-value",
|
|
10609
|
-
type:
|
|
10609
|
+
type: K.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: K.COMMAND,
|
|
10614
10614
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10615
10615
|
value: et.SPECIAL_PASTE_FORMAT
|
|
10616
10616
|
})
|
|
10617
|
-
},
|
|
10617
|
+
}, Kr = {
|
|
10618
10618
|
id: "sheet.command.paste-col-width",
|
|
10619
|
-
type:
|
|
10619
|
+
type: K.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: K.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: K.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: K.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 Kd = 998, mn = {
|
|
|
10656
10656
|
}
|
|
10657
10657
|
}, ra = {
|
|
10658
10658
|
id: "sheet.command.hide-col-confirm",
|
|
10659
|
-
type:
|
|
10659
|
+
type: K.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 Kd = 998, mn = {
|
|
|
10680
10680
|
return await n.executeCommand(cg.id), !0;
|
|
10681
10681
|
}
|
|
10682
10682
|
}, Ii = {
|
|
10683
|
-
type:
|
|
10683
|
+
type: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.OPERATION,
|
|
10853
10853
|
handler: (r, e) => e ? (r.get(Wn).setStatus(e.status), !0) : !1
|
|
10854
10854
|
}, Jd = {
|
|
10855
|
-
type:
|
|
10855
|
+
type: K.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: K.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: K.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
|
+
}, Kn = {
|
|
10875
|
+
type: K.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: K.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(Kn.id, {
|
|
10912
10912
|
type: 1
|
|
10913
10913
|
/* Row */
|
|
10914
10914
|
}), !0)
|
|
10915
10915
|
}, ca = {
|
|
10916
|
-
type:
|
|
10916
|
+
type: K.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(Kn.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: K.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`, Qm = (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 = [Q], 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 Q(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 Km(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 Qm(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 Q(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 Q(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 Q(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: [Q], 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: [Q], 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 === Ke.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: [Q],
|
|
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 === Ke.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) === Ke.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: [Q],
|
|
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: [Q],
|
|
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) === Ke.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: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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: It.LEFT
|
|
11584
11584
|
},
|
|
11585
11585
|
{
|
|
11586
11586
|
label: "align.center",
|
|
11587
11587
|
icon: "HorizontallyIcon",
|
|
11588
|
-
value:
|
|
11588
|
+
value: It.CENTER
|
|
11589
11589
|
},
|
|
11590
11590
|
{
|
|
11591
11591
|
label: "align.right",
|
|
11592
11592
|
icon: "RightJustifyingIcon",
|
|
11593
|
-
value:
|
|
11593
|
+
value: It.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 = It.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: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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) === Ke.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) === Ke.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: [Q],
|
|
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: [Q]
|
|
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: Ki.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: [Q]
|
|
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: [Q]
|
|
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: Kr.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: [Q]
|
|
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: [Q]
|
|
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: [Q],
|
|
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: [Q],
|
|
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: Kn.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: [Q],
|
|
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: [Q],
|
|
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 Q0(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 K0(r) {
|
|
|
12065
12065
|
return s.next(!l()), () => a.dispose();
|
|
12066
12066
|
})),
|
|
12067
12067
|
disabled$: fe(r, {
|
|
12068
|
-
workbookTypes: [
|
|
12068
|
+
workbookTypes: [Q],
|
|
12069
12069
|
worksheetTypes: [te, Er],
|
|
12070
12070
|
rangeTypes: [ie]
|
|
12071
12071
|
})
|
|
12072
12072
|
};
|
|
12073
12073
|
}
|
|
12074
|
-
function
|
|
12074
|
+
function K0(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 Q0(r) {
|
|
|
12094
12094
|
return s.next(!l()), () => a.dispose();
|
|
12095
12095
|
})),
|
|
12096
12096
|
disabled$: fe(r, {
|
|
12097
|
-
workbookTypes: [
|
|
12097
|
+
workbookTypes: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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 === F.VIEW_LEFT_TOP || E === F.VIEW_MAIN_LEFT_TOP || E === F.VIEW_MAIN_TOP || E === F.VIEW_ROW_TOP ? M = this._changeToRow - (R.startRow - R.ySplit) : M = this._changeToRow - C, M = M < 0 ? 0 : M), i === 1 && (!E || E === F.VIEW_LEFT_TOP || E === F.VIEW_MAIN_LEFT_TOP || E === F.VIEW_MAIN_LEFT || E === F.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(F.VIEW_COLUMN_LEFT), i = t.getViewport(F.VIEW_COLUMN_RIGHT), o = t.getViewport(F.VIEW_ROW_TOP), s = t.getViewport(F.VIEW_ROW_BOTTOM), l = t.getViewport(F.VIEW_LEFT_TOP), a = t.getViewport(F.VIEW_MAIN), c = t.getViewport(F.VIEW_MAIN_LEFT_TOP), d = t.getViewport(F.VIEW_MAIN_LEFT), u = t.getViewport(F.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 === U.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 === U.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(Rt))
|
|
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 = bt.Y) : (this._changeFromColumn = S, I = bt.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(F.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(F.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 Qs = class extends oe {
|
|
13389
13389
|
constructor(e, t, n, i) {
|
|
13390
13390
|
super();
|
|
13391
13391
|
b(this, "_currentRow", 0);
|
|
@@ -13508,7 +13508,7 @@ let Ks = 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(F.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 Ks = 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
|
+
Qs = S_([
|
|
13612
13612
|
Xa(1, k(he)),
|
|
13613
13613
|
Xa(2, k($)),
|
|
13614
13614
|
Xa(3, L)
|
|
13615
|
-
],
|
|
13615
|
+
], Qs);
|
|
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 Ks = 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 Qs = 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(F.VIEW_MAIN, e, {
|
|
13715
13715
|
left: t.width,
|
|
13716
13716
|
top: n.height,
|
|
13717
13717
|
bottom: 0,
|
|
@@ -13720,43 +13720,43 @@ let Qs = class extends Nn {
|
|
|
13720
13720
|
allowCache: !0,
|
|
13721
13721
|
bufferEdgeX: 100,
|
|
13722
13722
|
bufferEdgeY: 100
|
|
13723
|
-
}), l = new Cn(
|
|
13723
|
+
}), l = new Cn(F.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(F.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(F.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(F.VIEW_ROW_TOP, e, {
|
|
13742
13742
|
active: !1,
|
|
13743
13743
|
isWheelPreventDefaultX: !0
|
|
13744
|
-
}), u = new Cn(
|
|
13744
|
+
}), u = new Cn(F.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(F.VIEW_COLUMN_LEFT, e, {
|
|
13751
13751
|
active: !1,
|
|
13752
13752
|
isWheelPreventDefaultX: !0
|
|
13753
|
-
}), g = new Cn(
|
|
13753
|
+
}), g = new Cn(F.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(F.VIEW_LEFT_TOP, e, {
|
|
13760
13760
|
left: 0,
|
|
13761
13761
|
top: 0,
|
|
13762
13762
|
width: t.width,
|
|
@@ -13819,7 +13819,7 @@ let Qs = class extends Nn {
|
|
|
13819
13819
|
commandId: n
|
|
13820
13820
|
});
|
|
13821
13821
|
} else wS.includes(n) && this._sheetSkeletonManagerService.reCalculate();
|
|
13822
|
-
e.type ===
|
|
13822
|
+
e.type === K.MUTATION && this._markUnitDirty(e);
|
|
13823
13823
|
}));
|
|
13824
13824
|
}
|
|
13825
13825
|
_markUnitDirty(e) {
|
|
@@ -13873,13 +13873,13 @@ let Qs = class extends Nn {
|
|
|
13873
13873
|
return e.getViewports().filter((t) => ["viewMain", "viewMainLeftTop", "viewMainTop", "viewMainLeft"].includes(t.viewportKey));
|
|
13874
13874
|
}
|
|
13875
13875
|
};
|
|
13876
|
-
|
|
13876
|
+
Ks = 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
|
+
], Ks);
|
|
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(F.VIEW_MAIN);
|
|
13949
13949
|
if (r >= i.startRow && e >= i.startColumn)
|
|
13950
|
-
return t.getViewport(
|
|
13950
|
+
return t.getViewport(F.VIEW_MAIN);
|
|
13951
13951
|
if (r < i.startRow && e < i.startColumn)
|
|
13952
|
-
return t.getViewport(
|
|
13952
|
+
return t.getViewport(F.VIEW_MAIN_LEFT_TOP);
|
|
13953
13953
|
if (r < i.startRow && e >= i.startColumn)
|
|
13954
|
-
return t.getViewport(
|
|
13954
|
+
return t.getViewport(F.VIEW_MAIN_TOP);
|
|
13955
13955
|
if (r >= i.startRow && e < i.startColumn)
|
|
13956
|
-
return t.getViewport(
|
|
13956
|
+
return t.getViewport(F.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(F.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: K.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: Qt.id, params: p }), h.push({ id: Kt.id, params: v }), g.push({ id: Qt.id, params: C }), p.ranges.length > 0 && g.push({ id: Kt.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: K.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: K.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: K.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: K.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: K.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: K.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
|
+
}, Qo = {
|
|
14238
|
+
type: K.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: Qo.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.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: K.OPERATION,
|
|
14536
14536
|
handler: async (r) => (r.get(Or).triggerSheetBarMenu(), !0)
|
|
14537
14537
|
}, va = {
|
|
14538
|
-
type:
|
|
14538
|
+
type: K.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: K.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: K.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: K.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(Qv)),
|
|
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, Q_ = (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
|
+
}, K_ = (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 = Q_([
|
|
15558
|
+
K_(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: [Q], 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: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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: [Q], 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: [Q], 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: [Q], 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: [Q], 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: [Q], 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 === Ke.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: [Q], 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: [Q], 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: [Q], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16149
|
+
hidden$: Km(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: [Q], worksheetTypes: [Ag, te], rangeTypes: [ie] }),
|
|
16181
|
+
hidden$: Km(r, "col")
|
|
16182
16182
|
};
|
|
16183
16183
|
}
|
|
16184
16184
|
function lb(r) {
|
|
16185
16185
|
return {
|
|
16186
|
-
id:
|
|
16186
|
+
id: Qo.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: [Q], 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: [Q], 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: [Q], 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: [Q], 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: [Q], 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: [Q], 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: [Q], 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 Q(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 Q(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 Qa(r) {
|
|
16656
16656
|
return {
|
|
16657
16657
|
id: $r.id,
|
|
16658
16658
|
type: J.BUTTON,
|
|
@@ -16661,7 +16661,7 @@ function Ka(r) {
|
|
|
16661
16661
|
disabled$: Sf(r)
|
|
16662
16662
|
};
|
|
16663
16663
|
}
|
|
16664
|
-
function
|
|
16664
|
+
function Ka(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, [Q, 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, [Q, 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, [Q, 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, [Q])
|
|
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, [Q, 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, [Q, 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 === Ke.FALSE
|
|
16824
16824
|
);
|
|
16825
16825
|
e.next(n.length === 1);
|
|
16826
16826
|
}
|
|
16827
16827
|
const Nb = {
|
|
16828
|
-
[
|
|
16828
|
+
[Kv.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
|
+
[Qe.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
|
+
[Ki.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
|
+
[Kr.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
|
+
[Qe.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
|
+
[Qo.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
|
+
[Kn.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: Qa
|
|
17051
17051
|
},
|
|
17052
17052
|
[ni.id]: {
|
|
17053
17053
|
order: 1,
|
|
17054
|
-
menuItemFactory:
|
|
17054
|
+
menuItemFactory: Ka
|
|
17055
17055
|
},
|
|
17056
17056
|
[ti.id]: {
|
|
17057
17057
|
order: 2,
|
|
@@ -17063,15 +17063,15 @@ const Nb = {
|
|
|
17063
17063
|
}
|
|
17064
17064
|
}
|
|
17065
17065
|
},
|
|
17066
|
-
[
|
|
17066
|
+
[Qe.DATA]: {
|
|
17067
17067
|
order: 2
|
|
17068
17068
|
},
|
|
17069
|
-
[
|
|
17069
|
+
[Qe.OTHERS]: {
|
|
17070
17070
|
order: 3
|
|
17071
17071
|
}
|
|
17072
17072
|
},
|
|
17073
17073
|
[Ct.COL_HEADER]: {
|
|
17074
|
-
[
|
|
17074
|
+
[Qe.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
|
+
[Ki.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
|
+
[Kr.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
|
+
[Qe.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: K0
|
|
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
|
+
[Kn.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: Qa
|
|
17172
17172
|
},
|
|
17173
17173
|
[ni.id]: {
|
|
17174
17174
|
order: 1,
|
|
17175
|
-
menuItemFactory:
|
|
17175
|
+
menuItemFactory: Ka
|
|
17176
17176
|
},
|
|
17177
17177
|
[ti.id]: {
|
|
17178
17178
|
order: 2,
|
|
@@ -17184,15 +17184,15 @@ const Nb = {
|
|
|
17184
17184
|
}
|
|
17185
17185
|
}
|
|
17186
17186
|
},
|
|
17187
|
-
[
|
|
17187
|
+
[Qe.DATA]: {
|
|
17188
17188
|
order: 2
|
|
17189
17189
|
},
|
|
17190
|
-
[
|
|
17190
|
+
[Qe.OTHERS]: {
|
|
17191
17191
|
order: 3
|
|
17192
17192
|
}
|
|
17193
17193
|
},
|
|
17194
17194
|
[Ct.ROW_HEADER]: {
|
|
17195
|
-
[
|
|
17195
|
+
[Qe.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
|
+
[Ki.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
|
+
[Kr.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
|
+
[Qe.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: Q0
|
|
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
|
+
[Kn.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: Qa
|
|
17293
17293
|
},
|
|
17294
17294
|
[ni.id]: {
|
|
17295
17295
|
order: 1,
|
|
17296
|
-
menuItemFactory:
|
|
17296
|
+
menuItemFactory: Ka
|
|
17297
17297
|
},
|
|
17298
17298
|
[ti.id]: {
|
|
17299
17299
|
order: 2,
|
|
@@ -17305,15 +17305,15 @@ const Nb = {
|
|
|
17305
17305
|
}
|
|
17306
17306
|
}
|
|
17307
17307
|
},
|
|
17308
|
-
[
|
|
17308
|
+
[Qe.DATA]: {
|
|
17309
17309
|
order: 2
|
|
17310
17310
|
},
|
|
17311
|
-
[
|
|
17311
|
+
[Qe.OTHERS]: {
|
|
17312
17312
|
order: 3
|
|
17313
17313
|
}
|
|
17314
17314
|
},
|
|
17315
17315
|
[Ct.FOOTER_TABS]: {
|
|
17316
|
-
[
|
|
17316
|
+
[Qe.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
|
+
[Qe.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.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: U.RIGHT,
|
|
17580
17580
|
jumpOver: Dn.moveGap
|
|
17581
17581
|
}
|
|
17582
17582
|
}, Uf = {
|
|
17583
|
-
id:
|
|
17583
|
+
id: Ql.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: Kd.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
|
+
}, Qf = {
|
|
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
|
+
}, Kf = {
|
|
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, Qm)), 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
|
+
Ql,
|
|
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
|
+
Kn,
|
|
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
|
+
Qo,
|
|
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
|
+
Qf,
|
|
17803
17803
|
Jf,
|
|
17804
17804
|
$f,
|
|
17805
17805
|
qf,
|
|
17806
|
-
|
|
17806
|
+
Kf,
|
|
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(Rt)),
|
|
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
|
+
}, Qb = (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
|
+
Qb(1, k(Zt))
|
|
18091
18091
|
], nl);
|
|
18092
|
-
const Ih = 2,
|
|
18092
|
+
const Ih = 2, Kb = [
|
|
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, Qb = [
|
|
|
18140
18140
|
Ed,
|
|
18141
18141
|
{
|
|
18142
18142
|
align: "start",
|
|
18143
|
-
items:
|
|
18143
|
+
items: Kb.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: Qt.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: Qt.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: Kt.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: Qt.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: Kt.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: Kt.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: Qt.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: Kt.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: Kt.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: Qt.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, Kd, fn].forEach(
|
|
18640
18640
|
(t) => this.disposeWithMe(this._commandService.registerMultipleCommand(t))
|
|
18641
18641
|
), [
|
|
18642
|
-
|
|
18642
|
+
Ki,
|
|
18643
18643
|
Ji,
|
|
18644
|
-
|
|
18644
|
+
Kr,
|
|
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: Kg.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: Ke.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: Ke.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(Rt)),
|
|
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 It.RIGHT:
|
|
19352
19352
|
a = r.mergeInfo.endX - r.mergeInfo.startX - i;
|
|
19353
19353
|
break;
|
|
19354
|
-
case
|
|
19354
|
+
case It.CENTER:
|
|
19355
19355
|
a = (r.mergeInfo.endX - r.mergeInfo.startX - i) / 2;
|
|
19356
19356
|
break;
|
|
19357
|
-
case
|
|
19357
|
+
case It.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(Qn).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 !== F.VIEW_ROW_TOP && c.viewportKey !== F.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 !== F.VIEW_COLUMN_LEFT && c.viewportKey !== F.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
|
+
[Qe.FORMAT]: {
|
|
20010
20010
|
[mn.name]: {
|
|
20011
20011
|
order: 0,
|
|
20012
20012
|
menuItemFactory: Jr
|
|
20013
20013
|
}
|
|
20014
20014
|
},
|
|
20015
|
-
[
|
|
20015
|
+
[Qe.DATA]: {
|
|
20016
20016
|
order: 2
|
|
20017
20017
|
},
|
|
20018
|
-
[
|
|
20018
|
+
[Qe.OTHERS]: {
|
|
20019
20019
|
order: 3
|
|
20020
20020
|
}
|
|
20021
20021
|
},
|
|
20022
20022
|
[Ct.COL_HEADER]: {
|
|
20023
|
-
[
|
|
20023
|
+
[Qe.FORMAT]: {
|
|
20024
20024
|
[mn.name]: {
|
|
20025
20025
|
order: 0,
|
|
20026
20026
|
menuItemFactory: Jr
|
|
20027
20027
|
}
|
|
20028
20028
|
},
|
|
20029
|
-
[
|
|
20029
|
+
[Qe.LAYOUT]: {
|
|
20030
20030
|
order: 1
|
|
20031
20031
|
},
|
|
20032
|
-
[
|
|
20032
|
+
[Qe.DATA]: {
|
|
20033
20033
|
order: 2
|
|
20034
20034
|
},
|
|
20035
|
-
[
|
|
20035
|
+
[Qe.OTHERS]: {
|
|
20036
20036
|
order: 3
|
|
20037
20037
|
}
|
|
20038
20038
|
},
|
|
20039
20039
|
[Ct.ROW_HEADER]: {
|
|
20040
|
-
[
|
|
20040
|
+
[Qe.FORMAT]: {
|
|
20041
20041
|
[mn.name]: {
|
|
20042
20042
|
order: 0,
|
|
20043
20043
|
menuItemFactory: Jr
|
|
20044
20044
|
}
|
|
20045
20045
|
},
|
|
20046
|
-
[
|
|
20046
|
+
[Qe.LAYOUT]: {
|
|
20047
20047
|
order: 1
|
|
20048
20048
|
},
|
|
20049
|
-
[
|
|
20049
|
+
[Qe.DATA]: {
|
|
20050
20050
|
order: 2
|
|
20051
20051
|
},
|
|
20052
|
-
[
|
|
20052
|
+
[Qe.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, Qm)), 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
|
+
Ql,
|
|
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
|
+
Kn,
|
|
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
|
+
Qo,
|
|
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
|
+
Qf,
|
|
20178
20178
|
Jf,
|
|
20179
20179
|
$f,
|
|
20180
20180
|
qf,
|
|
20181
|
-
|
|
20181
|
+
Kf,
|
|
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(Rt)),
|
|
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: [Q],
|
|
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: [Q],
|
|
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 Kr.id:
|
|
20287
20287
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20288
|
-
workbookTypes: [
|
|
20288
|
+
workbookTypes: [Q],
|
|
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: [Q],
|
|
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: [Q],
|
|
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 Kd.id:
|
|
20322
20322
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20323
|
-
workbookTypes: [Xi,
|
|
20323
|
+
workbookTypes: [Xi, Q],
|
|
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: [Q],
|
|
20347
20347
|
rangeTypes: [ie],
|
|
20348
20348
|
worksheetTypes: [Ze, te]
|
|
20349
20349
|
}) : e.value === et.SPECIAL_PASTE_FORMAT ? this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20350
|
-
workbookTypes: [
|
|
20350
|
+
workbookTypes: [Q],
|
|
20351
20351
|
rangeTypes: [ie],
|
|
20352
20352
|
worksheetTypes: [Ze, te]
|
|
20353
20353
|
}) : this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20354
|
-
workbookTypes: [
|
|
20354
|
+
workbookTypes: [Q],
|
|
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 Q(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 Q(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 Q(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 Q(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(Qs))
|
|
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(Rt), 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(Qg).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
|
+
}, QR = (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(Rt), 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 = Qh(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
|
+
Kh,
|
|
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
|
-
}, QR = "data:image/png;base64,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";
|
|
21139
|
+
}, KR = "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: KR, 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
|
+
QR,
|
|
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(Rt)),
|
|
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(F.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 === U.DOWN ? u = i : r.direction === U.UP ? u = t : r.direction === U.RIGHT ? h = o : r.direction === U.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(F.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(F.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(F.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(F.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(F.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: [Q],
|
|
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(F.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(F.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(F.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 = bt.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(F.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(F.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(F.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(Rt)),
|
|
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
|
+
[Ks],
|
|
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(Rt)),
|
|
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(QS.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 = Qg(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(Qn).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: It.UNSPECIFIED,
|
|
23632
23632
|
verticalAlign: dn.TOP,
|
|
23633
23633
|
centerAngle: 0,
|
|
23634
23634
|
vertexAngle: 0,
|
|
23635
23635
|
wrapStrategy: mr.WRAP,
|
|
23636
|
-
isRenderStyle:
|
|
23636
|
+
isRenderStyle: Ke.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(Qn).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(Qn).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(Qn).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 = Ke.TRUE : n.isRenderStyle = Ke.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 = It.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: Qt.id, params: O }), T.push({ id: Kt.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: Qt.id, params: j }), P.push({ id: Kt.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(Rt))
|
|
23914
23914
|
], _l);
|
|
23915
|
-
var qI = Object.getOwnPropertyDescriptor,
|
|
23915
|
+
var qI = Object.getOwnPropertyDescriptor, QI = (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 = QI([
|
|
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 KI = Object.getOwnPropertyDescriptor, JI = (r, e, t, n) => {
|
|
23970
|
+
for (var i = n > 1 ? void 0 : n ? KI(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(KS))
|
|
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 Qc = /* @__PURE__ */ ((r) => (r[r.ROW = 0] = "ROW", r[r.COLUMN = 1] = "COLUMN", r))(Qc || {});
|
|
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 Kc = class extends Nn {
|
|
24355
24355
|
constructor(e, t, n) {
|
|
24356
24356
|
super();
|
|
24357
24357
|
b(this, "_shapes", { cols: [], rows: [] });
|
|
@@ -24392,7 +24392,7 @@ let Qc = class extends Nn {
|
|
|
24392
24392
|
return new xh(
|
|
24393
24393
|
Ah,
|
|
24394
24394
|
{
|
|
24395
|
-
type:
|
|
24395
|
+
type: Qc.ROW,
|
|
24396
24396
|
hovered: !1,
|
|
24397
24397
|
hasPrevious: p,
|
|
24398
24398
|
hasNext: C,
|
|
@@ -24413,7 +24413,7 @@ let Qc = class extends Nn {
|
|
|
24413
24413
|
return new xh(
|
|
24414
24414
|
Ah,
|
|
24415
24415
|
{
|
|
24416
|
-
type:
|
|
24416
|
+
type: Qc.COLUMN,
|
|
24417
24417
|
hovered: !1,
|
|
24418
24418
|
hasPrevious: p,
|
|
24419
24419
|
hasNext: C,
|
|
@@ -24439,10 +24439,10 @@ let Qc = class extends Nn {
|
|
|
24439
24439
|
return tn(this._workbook, this._context);
|
|
24440
24440
|
}
|
|
24441
24441
|
};
|
|
24442
|
-
|
|
24442
|
+
Kc = gy([
|
|
24443
24443
|
Oh(1, k(he)),
|
|
24444
24444
|
Oh(2, L)
|
|
24445
|
-
],
|
|
24445
|
+
], Kc);
|
|
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), bt.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), bt.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(F.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 = bt.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(F.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(Rt)),
|
|
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
|
+
[Kl, { 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
|
+
[Ks],
|
|
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
|
+
[Kc],
|
|
24826
|
+
[Qs],
|
|
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(Rt)),
|
|
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
|
+
Qs 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
|
+
Kl 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
|
+
Qo 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
|
+
Ql 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
|
+
Kn 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
|
+
Kd as SheetCutCommand,
|
|
25053
25053
|
E0 as SheetMenuPosition,
|
|
25054
25054
|
$i as SheetPasteBesidesBorderCommand,
|
|
25055
|
-
|
|
25055
|
+
Kr as SheetPasteColWidthCommand,
|
|
25056
25056
|
fn as SheetPasteCommand,
|
|
25057
25057
|
Ji as SheetPasteFormatCommand,
|
|
25058
25058
|
Lc as SheetPasteShortKeyCommand,
|
|
25059
|
-
|
|
25059
|
+
Ki 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
|
+
Ks as SheetRenderController,
|
|
25066
25066
|
Et as SheetScrollManagerService,
|
|
25067
25067
|
$c as SheetSelectionRenderService,
|
|
25068
25068
|
he as SheetSkeletonManagerService,
|