@univerjs/sheets-ui 0.8.2-nightly.202506241607 → 0.8.2-nightly.202506251607
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 +625 -621
- package/lib/index.js +625 -621
- package/lib/types/services/selection/selection-shape-extension.d.ts +1 -0
- package/lib/umd/index.js +9 -9
- package/package.json +13 -13
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,
|
|
@@ -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) {
|
|
@@ -8718,25 +8722,25 @@ let zs = class extends oe {
|
|
|
8718
8722
|
this._refreshCurrentSelections(n);
|
|
8719
8723
|
return;
|
|
8720
8724
|
}
|
|
8721
|
-
let i =
|
|
8725
|
+
let i = U.LEFT;
|
|
8722
8726
|
switch (e) {
|
|
8723
8727
|
case Y.ENTER:
|
|
8724
|
-
i =
|
|
8728
|
+
i = U.DOWN;
|
|
8725
8729
|
break;
|
|
8726
8730
|
case Y.TAB:
|
|
8727
|
-
i =
|
|
8731
|
+
i = U.RIGHT;
|
|
8728
8732
|
break;
|
|
8729
8733
|
case Y.ARROW_DOWN:
|
|
8730
|
-
i =
|
|
8734
|
+
i = U.DOWN;
|
|
8731
8735
|
break;
|
|
8732
8736
|
case Y.ARROW_UP:
|
|
8733
|
-
i =
|
|
8737
|
+
i = U.UP;
|
|
8734
8738
|
break;
|
|
8735
8739
|
case Y.ARROW_LEFT:
|
|
8736
|
-
i =
|
|
8740
|
+
i = U.LEFT;
|
|
8737
8741
|
break;
|
|
8738
8742
|
case Y.ARROW_RIGHT:
|
|
8739
|
-
i =
|
|
8743
|
+
i = U.RIGHT;
|
|
8740
8744
|
break;
|
|
8741
8745
|
}
|
|
8742
8746
|
const o = this._univerInstanceService.getCurrentUnitOfType(x.UNIVER_SHEET);
|
|
@@ -8761,8 +8765,8 @@ let zs = class extends oe {
|
|
|
8761
8765
|
}
|
|
8762
8766
|
// TODO: @JOCS, is it necessary to move these commands MoveSelectionOperation\MoveCursorOperation to shortcut? and use multi-commands?
|
|
8763
8767
|
_moveInEditor(e, t) {
|
|
8764
|
-
let n =
|
|
8765
|
-
e === Y.ARROW_DOWN ? n =
|
|
8768
|
+
let n = U.LEFT;
|
|
8769
|
+
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
8770
|
direction: n
|
|
8767
8771
|
}) : this._commandService.executeCommand(Hp.id, {
|
|
8768
8772
|
direction: n
|
|
@@ -8773,11 +8777,11 @@ let zs = class extends oe {
|
|
|
8773
8777
|
}
|
|
8774
8778
|
_getEditorSkeleton(e) {
|
|
8775
8779
|
var t;
|
|
8776
|
-
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(
|
|
8780
|
+
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(Qn).getSkeleton();
|
|
8777
8781
|
}
|
|
8778
8782
|
_getEditorViewModel(e) {
|
|
8779
8783
|
var t;
|
|
8780
|
-
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(
|
|
8784
|
+
return (t = this._renderManagerService.getRenderById(e)) == null ? void 0 : t.with(Qn).getViewModel();
|
|
8781
8785
|
}
|
|
8782
8786
|
_getEditingUnit() {
|
|
8783
8787
|
return this._editingUnit ? this._univerInstanceService.getUnit(this._editingUnit, x.UNIVER_SHEET) : null;
|
|
@@ -8793,21 +8797,21 @@ let zs = class extends oe {
|
|
|
8793
8797
|
}
|
|
8794
8798
|
};
|
|
8795
8799
|
zs = Ww([
|
|
8796
|
-
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8800
|
+
yt(0, Yt),
|
|
8801
|
+
yt(1, ke),
|
|
8802
|
+
yt(2, Ce),
|
|
8803
|
+
yt(3, qe),
|
|
8804
|
+
yt(4, Kl),
|
|
8805
|
+
yt(5, k(jg)),
|
|
8806
|
+
yt(6, Yg),
|
|
8807
|
+
yt(7, k(Md)),
|
|
8808
|
+
yt(8, L),
|
|
8809
|
+
yt(9, k(Pe)),
|
|
8810
|
+
yt(10, Si),
|
|
8811
|
+
yt(11, N),
|
|
8812
|
+
yt(12, k(vn)),
|
|
8813
|
+
yt(13, k(Us)),
|
|
8814
|
+
yt(14, k($))
|
|
8811
8815
|
], zs);
|
|
8812
8816
|
function Bw(r, e, t, n, i, o) {
|
|
8813
8817
|
var u, h, g;
|
|
@@ -8881,14 +8885,14 @@ var Uw = Object.getOwnPropertyDescriptor, Xw = (r, e, t, n) => {
|
|
|
8881
8885
|
(s = r[o]) && (i = s(i) || i);
|
|
8882
8886
|
return i;
|
|
8883
8887
|
}, Ta = (r, e) => (t, n) => e(t, n, r);
|
|
8884
|
-
const
|
|
8888
|
+
const Qu = nm.MARK_SELECTION, Ri = jt("univer.mark-selection-service");
|
|
8885
8889
|
let js = class extends oe {
|
|
8886
8890
|
constructor(e, t, n) {
|
|
8887
8891
|
super();
|
|
8888
8892
|
b(this, "_shapeMap", /* @__PURE__ */ new Map());
|
|
8889
8893
|
this._currentService = e, this._renderManagerService = t, this._themeService = n;
|
|
8890
8894
|
}
|
|
8891
|
-
addShape(e, t = [], n =
|
|
8895
|
+
addShape(e, t = [], n = Qu) {
|
|
8892
8896
|
var a;
|
|
8893
8897
|
const i = this._currentService.getCurrentUnitForType(x.UNIVER_SHEET), o = (a = i.getActiveSheet()) == null ? void 0 : a.getSheetId();
|
|
8894
8898
|
if (!o) return null;
|
|
@@ -8902,7 +8906,7 @@ let js = class extends oe {
|
|
|
8902
8906
|
};
|
|
8903
8907
|
return this._shapeMap.set(s, l), this.refreshShapes(), s;
|
|
8904
8908
|
}
|
|
8905
|
-
addShapeWithNoFresh(e, t = [], n =
|
|
8909
|
+
addShapeWithNoFresh(e, t = [], n = Qu) {
|
|
8906
8910
|
var l;
|
|
8907
8911
|
const i = this._currentService.getCurrentUnitForType(x.UNIVER_SHEET), o = (l = i.getActiveSheet()) == null ? void 0 : l.getSheetId();
|
|
8908
8912
|
if (!o) return null;
|
|
@@ -9005,23 +9009,23 @@ function Ys(r, e) {
|
|
|
9005
9009
|
case "b":
|
|
9006
9010
|
case "em":
|
|
9007
9011
|
case "strong": {
|
|
9008
|
-
n.bl =
|
|
9012
|
+
n.bl = Ke.TRUE;
|
|
9009
9013
|
break;
|
|
9010
9014
|
}
|
|
9011
9015
|
case "s": {
|
|
9012
9016
|
n.st = {
|
|
9013
|
-
s:
|
|
9017
|
+
s: Ke.TRUE
|
|
9014
9018
|
};
|
|
9015
9019
|
break;
|
|
9016
9020
|
}
|
|
9017
9021
|
case "u": {
|
|
9018
9022
|
n.ul = {
|
|
9019
|
-
s:
|
|
9023
|
+
s: Ke.TRUE
|
|
9020
9024
|
};
|
|
9021
9025
|
break;
|
|
9022
9026
|
}
|
|
9023
9027
|
case "i": {
|
|
9024
|
-
n.it =
|
|
9028
|
+
n.it = Ke.TRUE;
|
|
9025
9029
|
break;
|
|
9026
9030
|
}
|
|
9027
9031
|
case "sub":
|
|
@@ -9036,15 +9040,15 @@ function qw(r, e) {
|
|
|
9036
9040
|
if (r instanceof CSSStyleDeclaration)
|
|
9037
9041
|
for (let t = 0; t < r.length; t++) {
|
|
9038
9042
|
const n = r[t], i = r.getPropertyValue(n);
|
|
9039
|
-
|
|
9043
|
+
Ku(n, i, e);
|
|
9040
9044
|
}
|
|
9041
9045
|
else
|
|
9042
9046
|
for (const t in r) {
|
|
9043
9047
|
const n = r[t];
|
|
9044
|
-
|
|
9048
|
+
Ku(t, n, e);
|
|
9045
9049
|
}
|
|
9046
9050
|
}
|
|
9047
|
-
function
|
|
9051
|
+
function Ku(r, e, t) {
|
|
9048
9052
|
switch (r) {
|
|
9049
9053
|
case "font-family":
|
|
9050
9054
|
t.ff = e;
|
|
@@ -9055,14 +9059,14 @@ function Qu(r, e, t) {
|
|
|
9055
9059
|
break;
|
|
9056
9060
|
}
|
|
9057
9061
|
case "font-style":
|
|
9058
|
-
e === "italic" && (t.it =
|
|
9062
|
+
e === "italic" && (t.it = Ke.TRUE);
|
|
9059
9063
|
break;
|
|
9060
9064
|
case "font-weight": {
|
|
9061
|
-
(Number(e) > 400 || e === "bold") && (t.bl =
|
|
9065
|
+
(Number(e) > 400 || e === "bold") && (t.bl = Ke.TRUE);
|
|
9062
9066
|
break;
|
|
9063
9067
|
}
|
|
9064
9068
|
case "text-decoration": {
|
|
9065
|
-
/underline/.test(e) ? t.ul = { s:
|
|
9069
|
+
/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
9070
|
break;
|
|
9067
9071
|
}
|
|
9068
9072
|
case "color": {
|
|
@@ -9082,7 +9086,7 @@ function Qu(r, e, t) {
|
|
|
9082
9086
|
}
|
|
9083
9087
|
}
|
|
9084
9088
|
}
|
|
9085
|
-
function
|
|
9089
|
+
function Qw(r) {
|
|
9086
9090
|
const e = document.createElement("body");
|
|
9087
9091
|
return e.innerHTML = r, e;
|
|
9088
9092
|
}
|
|
@@ -9174,7 +9178,7 @@ const Il = class Il {
|
|
|
9174
9178
|
const t = Il._pluginList.find((f) => f.checkPasteType(e));
|
|
9175
9179
|
t && (this._styleRules = [...t.stylesRules], this._afterProcessRules = [...t.afterProcessRules]);
|
|
9176
9180
|
const n = new Ge();
|
|
9177
|
-
this._dom =
|
|
9181
|
+
this._dom = Qw(e);
|
|
9178
9182
|
const i = this._dom.querySelector("style");
|
|
9179
9183
|
if (i) {
|
|
9180
9184
|
const f = document.createElement("div"), v = f.attachShadow({ mode: "open" });
|
|
@@ -9300,7 +9304,7 @@ const Il = class Il {
|
|
|
9300
9304
|
}
|
|
9301
9305
|
_parseTable(e, t) {
|
|
9302
9306
|
var l, a;
|
|
9303
|
-
const n = new Ge(), i = (l = Jw(e)) != null ? l : [], { rowProperties: o = [] } =
|
|
9307
|
+
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
9308
|
return s && s.forValue((c, d, u) => {
|
|
9305
9309
|
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
9310
|
let h = Hv(void 0, u.style);
|
|
@@ -9500,7 +9504,7 @@ const Il = class Il {
|
|
|
9500
9504
|
};
|
|
9501
9505
|
b(Il, "_pluginList", []);
|
|
9502
9506
|
let di = Il;
|
|
9503
|
-
function
|
|
9507
|
+
function Kw(r) {
|
|
9504
9508
|
const e = /<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi, t = r.matchAll(e);
|
|
9505
9509
|
if (!t)
|
|
9506
9510
|
return {
|
|
@@ -9589,7 +9593,7 @@ const t0 = {
|
|
|
9589
9593
|
const e = Ys(r);
|
|
9590
9594
|
return {
|
|
9591
9595
|
st: {
|
|
9592
|
-
s:
|
|
9596
|
+
s: Ke.TRUE
|
|
9593
9597
|
},
|
|
9594
9598
|
...e
|
|
9595
9599
|
};
|
|
@@ -9638,7 +9642,7 @@ const t0 = {
|
|
|
9638
9642
|
filter: ["b"],
|
|
9639
9643
|
getStyle(r) {
|
|
9640
9644
|
const e = Ys(r);
|
|
9641
|
-
return { bl:
|
|
9645
|
+
return { bl: Ke.TRUE, ...e };
|
|
9642
9646
|
}
|
|
9643
9647
|
}
|
|
9644
9648
|
],
|
|
@@ -10523,7 +10527,7 @@ Zs = g0([
|
|
|
10523
10527
|
Tt(10, k(At)),
|
|
10524
10528
|
Tt(11, k(Pe)),
|
|
10525
10529
|
Tt(12, k(tv)),
|
|
10526
|
-
Tt(13, k(
|
|
10530
|
+
Tt(13, k(Rt))
|
|
10527
10531
|
], Zs);
|
|
10528
10532
|
function f0(r) {
|
|
10529
10533
|
let e = "";
|
|
@@ -10570,28 +10574,28 @@ function Hi() {
|
|
|
10570
10574
|
t: null
|
|
10571
10575
|
};
|
|
10572
10576
|
}
|
|
10573
|
-
const
|
|
10577
|
+
const Qd = 998, mn = {
|
|
10574
10578
|
id: Fv.id,
|
|
10575
10579
|
name: "sheet.command.copy",
|
|
10576
|
-
type:
|
|
10580
|
+
type: K.COMMAND,
|
|
10577
10581
|
multi: !0,
|
|
10578
|
-
priority:
|
|
10582
|
+
priority: Qd,
|
|
10579
10583
|
preconditions: Yd,
|
|
10580
10584
|
handler: async (r) => r.get(on).copy()
|
|
10581
|
-
},
|
|
10585
|
+
}, Kd = {
|
|
10582
10586
|
id: Uv.id,
|
|
10583
10587
|
name: "sheet.command.cut",
|
|
10584
|
-
type:
|
|
10588
|
+
type: K.COMMAND,
|
|
10585
10589
|
multi: !0,
|
|
10586
|
-
priority:
|
|
10590
|
+
priority: Qd,
|
|
10587
10591
|
preconditions: Yd,
|
|
10588
10592
|
handler: async (r) => r.get(on).cut()
|
|
10589
10593
|
}, fn = {
|
|
10590
10594
|
id: Xv.id,
|
|
10591
|
-
type:
|
|
10595
|
+
type: K.COMMAND,
|
|
10592
10596
|
multi: !0,
|
|
10593
10597
|
name: "sheet.command.paste",
|
|
10594
|
-
priority:
|
|
10598
|
+
priority: Qd,
|
|
10595
10599
|
preconditions: Yd,
|
|
10596
10600
|
handler: async (r, e) => {
|
|
10597
10601
|
const n = await r.get(Ol).read(), i = r.get(on);
|
|
@@ -10599,40 +10603,40 @@ const Kd = 998, mn = {
|
|
|
10599
10603
|
}
|
|
10600
10604
|
}, Lc = {
|
|
10601
10605
|
id: zv,
|
|
10602
|
-
type:
|
|
10606
|
+
type: K.COMMAND,
|
|
10603
10607
|
handler: async (r, e) => {
|
|
10604
10608
|
const t = r.get(on), { htmlContent: n, textContent: i, files: o } = e;
|
|
10605
10609
|
return t.legacyPaste(n, i, o), !0;
|
|
10606
10610
|
}
|
|
10607
|
-
},
|
|
10611
|
+
}, Ki = {
|
|
10608
10612
|
id: "sheet.command.paste-value",
|
|
10609
|
-
type:
|
|
10613
|
+
type: K.COMMAND,
|
|
10610
10614
|
handler: async (r) => r.get(L).executeCommand(fn.id, { value: et.SPECIAL_PASTE_VALUE })
|
|
10611
10615
|
}, Ji = {
|
|
10612
10616
|
id: "sheet.command.paste-format",
|
|
10613
|
-
type:
|
|
10617
|
+
type: K.COMMAND,
|
|
10614
10618
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10615
10619
|
value: et.SPECIAL_PASTE_FORMAT
|
|
10616
10620
|
})
|
|
10617
|
-
},
|
|
10621
|
+
}, Kr = {
|
|
10618
10622
|
id: "sheet.command.paste-col-width",
|
|
10619
|
-
type:
|
|
10623
|
+
type: K.COMMAND,
|
|
10620
10624
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10621
10625
|
value: et.SPECIAL_PASTE_COL_WIDTH
|
|
10622
10626
|
})
|
|
10623
10627
|
}, $i = {
|
|
10624
10628
|
id: "sheet.command.paste-besides-border",
|
|
10625
|
-
type:
|
|
10629
|
+
type: K.COMMAND,
|
|
10626
10630
|
handler: async (r) => r.get(L).executeCommand(fn.id, {
|
|
10627
10631
|
value: et.SPECIAL_PASTE_BESIDES_BORDER
|
|
10628
10632
|
})
|
|
10629
10633
|
}, jm = {
|
|
10630
10634
|
id: "sheet.command.optional-paste",
|
|
10631
|
-
type:
|
|
10635
|
+
type: K.COMMAND,
|
|
10632
10636
|
handler: async (r, { type: e }) => r.get(on).rePasteWithPasteType(e)
|
|
10633
10637
|
}, na = {
|
|
10634
10638
|
id: "sheet.command.hide-row-confirm",
|
|
10635
|
-
type:
|
|
10639
|
+
type: K.COMMAND,
|
|
10636
10640
|
handler: async (r) => {
|
|
10637
10641
|
var a;
|
|
10638
10642
|
const t = (a = r.get($).getCurrentSelections()) == null ? void 0 : a.map((c) => c.range);
|
|
@@ -10656,7 +10660,7 @@ const Kd = 998, mn = {
|
|
|
10656
10660
|
}
|
|
10657
10661
|
}, ra = {
|
|
10658
10662
|
id: "sheet.command.hide-col-confirm",
|
|
10659
|
-
type:
|
|
10663
|
+
type: K.COMMAND,
|
|
10660
10664
|
handler: async (r) => {
|
|
10661
10665
|
var a;
|
|
10662
10666
|
const t = (a = r.get($).getCurrentSelections()) == null ? void 0 : a.map((c) => c.range);
|
|
@@ -10680,70 +10684,70 @@ const Kd = 998, mn = {
|
|
|
10680
10684
|
return await n.executeCommand(cg.id), !0;
|
|
10681
10685
|
}
|
|
10682
10686
|
}, Ii = {
|
|
10683
|
-
type:
|
|
10687
|
+
type: K.COMMAND,
|
|
10684
10688
|
id: "sheet.command.set-range-bold",
|
|
10685
10689
|
handler: async (r) => {
|
|
10686
10690
|
const e = r.get(L);
|
|
10687
10691
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Vp.id) : e.executeCommand(vd.id);
|
|
10688
10692
|
}
|
|
10689
10693
|
}, yi = {
|
|
10690
|
-
type:
|
|
10694
|
+
type: K.COMMAND,
|
|
10691
10695
|
id: "sheet.command.set-range-italic",
|
|
10692
10696
|
handler: async (r) => {
|
|
10693
10697
|
const e = r.get(L);
|
|
10694
10698
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(kp.id) : e.executeCommand(Sd.id);
|
|
10695
10699
|
}
|
|
10696
10700
|
}, Mi = {
|
|
10697
|
-
type:
|
|
10701
|
+
type: K.COMMAND,
|
|
10698
10702
|
id: "sheet.command.set-range-underline",
|
|
10699
10703
|
handler: async (r) => {
|
|
10700
10704
|
const e = r.get(L);
|
|
10701
10705
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Np.id) : e.executeCommand(Cd.id);
|
|
10702
10706
|
}
|
|
10703
10707
|
}, Ei = {
|
|
10704
|
-
type:
|
|
10708
|
+
type: K.COMMAND,
|
|
10705
10709
|
id: "sheet.command.set-range-stroke",
|
|
10706
10710
|
handler: async (r) => {
|
|
10707
10711
|
const e = r.get(L);
|
|
10708
10712
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Dp.id) : e.executeCommand(wd.id);
|
|
10709
10713
|
}
|
|
10710
10714
|
}, Ym = {
|
|
10711
|
-
type:
|
|
10715
|
+
type: K.COMMAND,
|
|
10712
10716
|
id: "sheet.command.set-range-subscript",
|
|
10713
10717
|
handler: async (r) => {
|
|
10714
10718
|
const e = r.get(L);
|
|
10715
10719
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Lp.id) : !1;
|
|
10716
10720
|
}
|
|
10717
10721
|
}, Zm = {
|
|
10718
|
-
type:
|
|
10722
|
+
type: K.COMMAND,
|
|
10719
10723
|
id: "sheet.command.set-range-superscript",
|
|
10720
10724
|
handler: async (r) => {
|
|
10721
10725
|
const e = r.get(L);
|
|
10722
10726
|
return r.get(ke).getContextValue(Je) ? e.executeCommand(Wp.id) : !1;
|
|
10723
10727
|
}
|
|
10724
10728
|
}, ia = {
|
|
10725
|
-
type:
|
|
10729
|
+
type: K.COMMAND,
|
|
10726
10730
|
id: "sheet.command.set-range-fontsize",
|
|
10727
10731
|
handler: async (r, e) => {
|
|
10728
10732
|
const t = r.get(L);
|
|
10729
10733
|
return r.get(ke).getContextValue(Je) ? t.executeCommand(Bp.id, e) : t.executeCommand(_d.id, e);
|
|
10730
10734
|
}
|
|
10731
10735
|
}, oa = {
|
|
10732
|
-
type:
|
|
10736
|
+
type: K.COMMAND,
|
|
10733
10737
|
id: "sheet.command.set-range-font-family",
|
|
10734
10738
|
handler: async (r, e) => {
|
|
10735
10739
|
const t = r.get(L);
|
|
10736
10740
|
return r.get(ke).getContextValue(Je) ? t.executeCommand(Fp.id, e) : t.executeCommand(bd.id, e);
|
|
10737
10741
|
}
|
|
10738
10742
|
}, mo = {
|
|
10739
|
-
type:
|
|
10743
|
+
type: K.COMMAND,
|
|
10740
10744
|
id: "sheet.command.set-range-text-color",
|
|
10741
10745
|
handler: async (r, e) => {
|
|
10742
10746
|
const t = r.get(L);
|
|
10743
10747
|
return r.get(ke).getContextValue(Je) ? t.executeCommand(Nh.id, e) : t.executeCommand(dg.id, e);
|
|
10744
10748
|
}
|
|
10745
10749
|
}, Gm = {
|
|
10746
|
-
type:
|
|
10750
|
+
type: K.COMMAND,
|
|
10747
10751
|
id: "sheet.command.reset-range-text-color",
|
|
10748
10752
|
handler: async (r) => {
|
|
10749
10753
|
const e = r.get(L), n = r.get(ke).getContextValue(Je), i = r.get(At);
|
|
@@ -10849,10 +10853,10 @@ Gs = _0([
|
|
|
10849
10853
|
], Gs);
|
|
10850
10854
|
const sa = {
|
|
10851
10855
|
id: "sheet.operation.set-format-painter",
|
|
10852
|
-
type:
|
|
10856
|
+
type: K.OPERATION,
|
|
10853
10857
|
handler: (r, e) => e ? (r.get(Wn).setStatus(e.status), !0) : !1
|
|
10854
10858
|
}, Jd = {
|
|
10855
|
-
type:
|
|
10859
|
+
type: K.COMMAND,
|
|
10856
10860
|
id: "sheet.command.set-infinite-format-painter",
|
|
10857
10861
|
handler: async (r) => {
|
|
10858
10862
|
const t = r.get(Wn).getStatus();
|
|
@@ -10860,7 +10864,7 @@ const sa = {
|
|
|
10860
10864
|
return t !== Xt.OFF ? n = Xt.OFF : n = Xt.INFINITE, r.get(L).executeCommand(sa.id, { status: n });
|
|
10861
10865
|
}
|
|
10862
10866
|
}, Yo = {
|
|
10863
|
-
type:
|
|
10867
|
+
type: K.COMMAND,
|
|
10864
10868
|
id: "sheet.command.set-once-format-painter",
|
|
10865
10869
|
handler: async (r) => {
|
|
10866
10870
|
const t = r.get(Wn).getStatus();
|
|
@@ -10868,11 +10872,11 @@ const sa = {
|
|
|
10868
10872
|
return t !== Xt.OFF ? n = Xt.OFF : n = Xt.ONCE, r.get(L).executeCommand(sa.id, { status: n });
|
|
10869
10873
|
}
|
|
10870
10874
|
}, la = {
|
|
10871
|
-
type:
|
|
10875
|
+
type: K.COMMAND,
|
|
10872
10876
|
id: "sheet.command.apply-format-painter",
|
|
10873
10877
|
handler: async (r, e) => r.get(Wn).applyFormatPainter(e.unitId, e.subUnitId, e.range)
|
|
10874
|
-
},
|
|
10875
|
-
type:
|
|
10878
|
+
}, Kn = {
|
|
10879
|
+
type: K.COMMAND,
|
|
10876
10880
|
id: "sheet.command.set-selection-frozen",
|
|
10877
10881
|
handler: async (r, e) => {
|
|
10878
10882
|
const { type: t } = e || {}, n = r.get(N), i = r.get(Yt), o = Ue(n);
|
|
@@ -10906,16 +10910,16 @@ const sa = {
|
|
|
10906
10910
|
}), !0;
|
|
10907
10911
|
}
|
|
10908
10912
|
}, aa = {
|
|
10909
|
-
type:
|
|
10913
|
+
type: K.COMMAND,
|
|
10910
10914
|
id: "sheet.command.set-row-frozen",
|
|
10911
|
-
handler: async (r) => (r.get(L).executeCommand(
|
|
10915
|
+
handler: async (r) => (r.get(L).executeCommand(Kn.id, {
|
|
10912
10916
|
type: 1
|
|
10913
10917
|
/* Row */
|
|
10914
10918
|
}), !0)
|
|
10915
10919
|
}, ca = {
|
|
10916
|
-
type:
|
|
10920
|
+
type: K.COMMAND,
|
|
10917
10921
|
id: "sheet.command.set-col-frozen",
|
|
10918
|
-
handler: async (r) => (r.get(L).executeCommand(
|
|
10922
|
+
handler: async (r) => (r.get(L).executeCommand(Kn.id, {
|
|
10919
10923
|
type: 2
|
|
10920
10924
|
/* Column */
|
|
10921
10925
|
}), !0)
|
|
@@ -10978,7 +10982,7 @@ fo = R0([
|
|
|
10978
10982
|
sh(1, k(N))
|
|
10979
10983
|
], fo);
|
|
10980
10984
|
const da = {
|
|
10981
|
-
type:
|
|
10985
|
+
type: K.COMMAND,
|
|
10982
10986
|
id: "sheet.command.set-col-auto-width",
|
|
10983
10987
|
handler: (r, e) => {
|
|
10984
10988
|
const t = r.get(L), n = r.get(Yt), i = r.get($), o = r.get(N), s = Ue(o, e);
|
|
@@ -11005,7 +11009,7 @@ const da = {
|
|
|
11005
11009
|
redoMutations: [...u]
|
|
11006
11010
|
}), !0) : !1;
|
|
11007
11011
|
}
|
|
11008
|
-
}, qm = "UI_PLUGIN_SHEETS", Sn = `${qm}_MENU_ITEM_INPUT_COMPONENT`,
|
|
11012
|
+
}, qm = "UI_PLUGIN_SHEETS", Sn = `${qm}_MENU_ITEM_INPUT_COMPONENT`, Qm = (r) => {
|
|
11009
11013
|
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
11014
|
if (!g) {
|
|
11011
11015
|
d(o.toString());
|
|
@@ -11088,7 +11092,7 @@ function fe(r, e = {}, t = !1) {
|
|
|
11088
11092
|
Pn(([y, M]) => {
|
|
11089
11093
|
if (M)
|
|
11090
11094
|
return Ie(!0);
|
|
11091
|
-
const E = m.getUnitId(), T = p.getSheetId(), P = r.get(rt), { workbookTypes: A = [
|
|
11095
|
+
const E = m.getUnitId(), T = p.getSheetId(), P = r.get(rt), { workbookTypes: A = [Q], worksheetTypes: H, rangeTypes: O } = e, V = [];
|
|
11092
11096
|
if (A == null || A.forEach((z) => {
|
|
11093
11097
|
V.push(new z(E).id);
|
|
11094
11098
|
}), H == null || H.forEach((z) => {
|
|
@@ -11117,14 +11121,14 @@ function Pi(r) {
|
|
|
11117
11121
|
const s = e.getCurrentUnitForType(x.UNIVER_SHEET), l = s == null ? void 0 : s.getActiveSheet();
|
|
11118
11122
|
if (!s || !l)
|
|
11119
11123
|
return !0;
|
|
11120
|
-
const a = s.getUnitId(), c = l.getSheetId(), d = [new
|
|
11124
|
+
const a = s.getUnitId(), c = l.getSheetId(), d = [new Q(a).id, new te(a, c).id];
|
|
11121
11125
|
return n.getSubunitRuleList(a, c).filter((h) => h.ranges.some((g) => ae.intersects(o, g))).forEach((h) => {
|
|
11122
11126
|
d.push(new ie(a, c, h.permissionId).id);
|
|
11123
11127
|
}), i.composePermission(d).some((h) => h.value === !1);
|
|
11124
11128
|
})
|
|
11125
11129
|
);
|
|
11126
11130
|
}
|
|
11127
|
-
function
|
|
11131
|
+
function Km(r, e) {
|
|
11128
11132
|
const t = r.get(N), n = r.get($), i = r.get($e), o = r.get(rt);
|
|
11129
11133
|
return St(n.selectionMoveEnd$, o.permissionPointUpdate$.pipe(Yl(100))).pipe(
|
|
11130
11134
|
pn(() => {
|
|
@@ -11134,7 +11138,7 @@ function Qm(r, e) {
|
|
|
11134
11138
|
const l = t.getCurrentUnitForType(x.UNIVER_SHEET), a = l == null ? void 0 : l.getActiveSheet();
|
|
11135
11139
|
if (!l || !a)
|
|
11136
11140
|
return !0;
|
|
11137
|
-
const c = l.getUnitId(), d = a.getSheetId(), u = [new
|
|
11141
|
+
const c = l.getUnitId(), d = a.getSheetId(), u = [new Q(c).id, new te(c, d).id];
|
|
11138
11142
|
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
11143
|
u.push(new ie(c, d, g.permissionId).id);
|
|
11140
11144
|
}), o.composePermission(u).some((g) => g.value === !1);
|
|
@@ -11151,7 +11155,7 @@ function Jm(r, e) {
|
|
|
11151
11155
|
const l = t.getCurrentUnitForType(x.UNIVER_SHEET), a = l == null ? void 0 : l.getActiveSheet();
|
|
11152
11156
|
if (!l || !a)
|
|
11153
11157
|
return !0;
|
|
11154
|
-
const c = l.getUnitId(), d = a.getSheetId(), u = [new
|
|
11158
|
+
const c = l.getUnitId(), d = a.getSheetId(), u = [new Q(c).id, new te(c, d).id], h = le.deepClone(s);
|
|
11155
11159
|
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
11160
|
u.push(new ie(c, d, m.permissionId).id);
|
|
11157
11161
|
}), o.composePermission(u).some((m) => m.value === !1);
|
|
@@ -11168,7 +11172,7 @@ function ua(r, e) {
|
|
|
11168
11172
|
const l = t.getCurrentUnitForType(x.UNIVER_SHEET), a = l == null ? void 0 : l.getActiveSheet();
|
|
11169
11173
|
if (!l || !a)
|
|
11170
11174
|
return !0;
|
|
11171
|
-
const c = l.getUnitId(), d = a.getSheetId(), u = [new
|
|
11175
|
+
const c = l.getUnitId(), d = a.getSheetId(), u = [new Q(c).id, new te(c, d).id], h = le.deepClone(s);
|
|
11172
11176
|
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
11177
|
u.push(new ie(c, d, m.permissionId).id);
|
|
11174
11178
|
}), o.composePermission(u).some((m) => m.value === !1);
|
|
@@ -11215,7 +11219,7 @@ function T0(r) {
|
|
|
11215
11219
|
};
|
|
11216
11220
|
}),
|
|
11217
11221
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11218
|
-
disabled$: fe(r, { workbookTypes: [
|
|
11222
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Ps, te], rangeTypes: [ie] }, !0)
|
|
11219
11223
|
};
|
|
11220
11224
|
}
|
|
11221
11225
|
function P0(r) {
|
|
@@ -11226,7 +11230,7 @@ function P0(r) {
|
|
|
11226
11230
|
icon: "BoldIcon",
|
|
11227
11231
|
title: "Set bold",
|
|
11228
11232
|
tooltip: "toolbar.bold",
|
|
11229
|
-
disabled$: fe(r, { workbookTypes: [
|
|
11233
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te, Ze], rangeTypes: [ie] }, !0),
|
|
11230
11234
|
activated$: pt(t, !1, ({ worksheet: o }) => new je((s) => {
|
|
11231
11235
|
var d;
|
|
11232
11236
|
const l = e.onCommandExecuted((u) => {
|
|
@@ -11246,7 +11250,7 @@ function P0(r) {
|
|
|
11246
11250
|
if (f == null)
|
|
11247
11251
|
return;
|
|
11248
11252
|
const v = (m = f.ts) == null ? void 0 : m.bl;
|
|
11249
|
-
s.next(v ===
|
|
11253
|
+
s.next(v === Ke.TRUE);
|
|
11250
11254
|
}
|
|
11251
11255
|
}), a = (d = i.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11252
11256
|
if (!o) {
|
|
@@ -11274,7 +11278,7 @@ function x0(r) {
|
|
|
11274
11278
|
disabled$: fe(
|
|
11275
11279
|
r,
|
|
11276
11280
|
{
|
|
11277
|
-
workbookTypes: [
|
|
11281
|
+
workbookTypes: [Q],
|
|
11278
11282
|
worksheetTypes: [te, Ze],
|
|
11279
11283
|
rangeTypes: [ie]
|
|
11280
11284
|
},
|
|
@@ -11298,7 +11302,7 @@ function x0(r) {
|
|
|
11298
11302
|
const f = Go(r);
|
|
11299
11303
|
if (f == null) return;
|
|
11300
11304
|
const v = (m = f.ts) == null ? void 0 : m.it;
|
|
11301
|
-
s.next(v ===
|
|
11305
|
+
s.next(v === Ke.TRUE);
|
|
11302
11306
|
}
|
|
11303
11307
|
}), a = (d = n.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11304
11308
|
let c = es.NORMAL;
|
|
@@ -11337,7 +11341,7 @@ function O0(r) {
|
|
|
11337
11341
|
const f = Go(r);
|
|
11338
11342
|
if (f == null) return;
|
|
11339
11343
|
const v = (m = f.ts) == null ? void 0 : m.ul;
|
|
11340
|
-
s.next((v == null ? void 0 : v.s) ===
|
|
11344
|
+
s.next((v == null ? void 0 : v.s) === Ke.TRUE);
|
|
11341
11345
|
}
|
|
11342
11346
|
}), a = (d = n.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11343
11347
|
let c;
|
|
@@ -11348,7 +11352,7 @@ function O0(r) {
|
|
|
11348
11352
|
return s.next(!!(c && c.s)), l.dispose;
|
|
11349
11353
|
})),
|
|
11350
11354
|
disabled$: fe(r, {
|
|
11351
|
-
workbookTypes: [
|
|
11355
|
+
workbookTypes: [Q],
|
|
11352
11356
|
worksheetTypes: [te, Ze],
|
|
11353
11357
|
rangeTypes: [ie]
|
|
11354
11358
|
}, !0),
|
|
@@ -11364,7 +11368,7 @@ function A0(r) {
|
|
|
11364
11368
|
title: "Set strike through",
|
|
11365
11369
|
tooltip: "toolbar.strikethrough",
|
|
11366
11370
|
disabled$: fe(r, {
|
|
11367
|
-
workbookTypes: [
|
|
11371
|
+
workbookTypes: [Q],
|
|
11368
11372
|
worksheetTypes: [te, Ze],
|
|
11369
11373
|
rangeTypes: [ie]
|
|
11370
11374
|
}, !0),
|
|
@@ -11387,7 +11391,7 @@ function A0(r) {
|
|
|
11387
11391
|
if (f == null)
|
|
11388
11392
|
return;
|
|
11389
11393
|
const v = (m = f.ts) == null ? void 0 : m.st;
|
|
11390
|
-
s.next((v == null ? void 0 : v.s) ===
|
|
11394
|
+
s.next((v == null ? void 0 : v.s) === Ke.TRUE);
|
|
11391
11395
|
}
|
|
11392
11396
|
}), a = (d = n.getCurrentLastSelection()) == null ? void 0 : d.primary;
|
|
11393
11397
|
let c;
|
|
@@ -11414,7 +11418,7 @@ function H0(r) {
|
|
|
11414
11418
|
value: o.value
|
|
11415
11419
|
})),
|
|
11416
11420
|
disabled$: fe(r, {
|
|
11417
|
-
workbookTypes: [
|
|
11421
|
+
workbookTypes: [Q],
|
|
11418
11422
|
worksheetTypes: [te, Ze],
|
|
11419
11423
|
rangeTypes: [ie]
|
|
11420
11424
|
}, !0),
|
|
@@ -11439,7 +11443,7 @@ function H0(r) {
|
|
|
11439
11443
|
}
|
|
11440
11444
|
function V0(r) {
|
|
11441
11445
|
const e = r.get(L), t = r.get(N), n = r.get($), i = r.get(ke), o = rd.fs, s = fe(r, {
|
|
11442
|
-
workbookTypes: [
|
|
11446
|
+
workbookTypes: [Q],
|
|
11443
11447
|
worksheetTypes: [te, Ze],
|
|
11444
11448
|
rangeTypes: [ie]
|
|
11445
11449
|
}, !0);
|
|
@@ -11490,7 +11494,7 @@ function k0(r) {
|
|
|
11490
11494
|
title: "toolbar.resetColor",
|
|
11491
11495
|
icon: "NoColorDoubleIcon",
|
|
11492
11496
|
disabled$: fe(r, {
|
|
11493
|
-
workbookTypes: [
|
|
11497
|
+
workbookTypes: [Q],
|
|
11494
11498
|
worksheetTypes: [te, Ze],
|
|
11495
11499
|
rangeTypes: [ie]
|
|
11496
11500
|
}, !0),
|
|
@@ -11524,7 +11528,7 @@ function N0(r) {
|
|
|
11524
11528
|
}),
|
|
11525
11529
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11526
11530
|
disabled$: fe(r, {
|
|
11527
|
-
workbookTypes: [
|
|
11531
|
+
workbookTypes: [Q],
|
|
11528
11532
|
worksheetTypes: [te, Ze],
|
|
11529
11533
|
rangeTypes: [ie]
|
|
11530
11534
|
}, !0)
|
|
@@ -11537,7 +11541,7 @@ function D0(r) {
|
|
|
11537
11541
|
title: "toolbar.resetColor",
|
|
11538
11542
|
icon: "NoColorDoubleIcon",
|
|
11539
11543
|
disabled$: fe(r, {
|
|
11540
|
-
workbookTypes: [
|
|
11544
|
+
workbookTypes: [Q],
|
|
11541
11545
|
worksheetTypes: [te, Ze],
|
|
11542
11546
|
rangeTypes: [ie]
|
|
11543
11547
|
})
|
|
@@ -11570,7 +11574,7 @@ function L0(r) {
|
|
|
11570
11574
|
}),
|
|
11571
11575
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11572
11576
|
disabled$: fe(r, {
|
|
11573
|
-
workbookTypes: [
|
|
11577
|
+
workbookTypes: [Q],
|
|
11574
11578
|
worksheetTypes: [te, Ze],
|
|
11575
11579
|
rangeTypes: [ie]
|
|
11576
11580
|
})
|
|
@@ -11580,21 +11584,21 @@ const lh = [
|
|
|
11580
11584
|
{
|
|
11581
11585
|
label: "align.left",
|
|
11582
11586
|
icon: "LeftJustifyingIcon",
|
|
11583
|
-
value:
|
|
11587
|
+
value: It.LEFT
|
|
11584
11588
|
},
|
|
11585
11589
|
{
|
|
11586
11590
|
label: "align.center",
|
|
11587
11591
|
icon: "HorizontallyIcon",
|
|
11588
|
-
value:
|
|
11592
|
+
value: It.CENTER
|
|
11589
11593
|
},
|
|
11590
11594
|
{
|
|
11591
11595
|
label: "align.right",
|
|
11592
11596
|
icon: "RightJustifyingIcon",
|
|
11593
|
-
value:
|
|
11597
|
+
value: It.RIGHT
|
|
11594
11598
|
}
|
|
11595
11599
|
];
|
|
11596
11600
|
function W0(r) {
|
|
11597
|
-
const e = r.get(N), t = r.get($), n =
|
|
11601
|
+
const e = r.get(N), t = r.get($), n = It.LEFT;
|
|
11598
11602
|
return {
|
|
11599
11603
|
id: Cc.id,
|
|
11600
11604
|
icon: lh[0].icon,
|
|
@@ -11625,7 +11629,7 @@ function W0(r) {
|
|
|
11625
11629
|
})),
|
|
11626
11630
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11627
11631
|
disabled$: fe(r, {
|
|
11628
|
-
workbookTypes: [
|
|
11632
|
+
workbookTypes: [Q],
|
|
11629
11633
|
worksheetTypes: [te, Ze],
|
|
11630
11634
|
rangeTypes: [ie]
|
|
11631
11635
|
})
|
|
@@ -11680,7 +11684,7 @@ function B0(r) {
|
|
|
11680
11684
|
})),
|
|
11681
11685
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11682
11686
|
disabled$: fe(r, {
|
|
11683
|
-
workbookTypes: [
|
|
11687
|
+
workbookTypes: [Q],
|
|
11684
11688
|
worksheetTypes: [te, Ze],
|
|
11685
11689
|
rangeTypes: [ie]
|
|
11686
11690
|
})
|
|
@@ -11735,7 +11739,7 @@ function F0(r) {
|
|
|
11735
11739
|
})),
|
|
11736
11740
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11737
11741
|
disabled$: fe(r, {
|
|
11738
|
-
workbookTypes: [
|
|
11742
|
+
workbookTypes: [Q],
|
|
11739
11743
|
worksheetTypes: [te, Ze],
|
|
11740
11744
|
rangeTypes: [ie]
|
|
11741
11745
|
})
|
|
@@ -11794,18 +11798,18 @@ function U0(r) {
|
|
|
11794
11798
|
const p = i.getRange(g.startRow, g.startColumn);
|
|
11795
11799
|
m = p == null ? void 0 : p.getTextRotation();
|
|
11796
11800
|
}
|
|
11797
|
-
(m == null ? void 0 : m.v) ===
|
|
11801
|
+
(m == null ? void 0 : m.v) === Ke.TRUE ? o.next("v") : o.next((v = m && m.a) != null ? v : n);
|
|
11798
11802
|
}), l = (c = e.getCurrentLastSelection()) == null ? void 0 : c.primary;
|
|
11799
11803
|
let a;
|
|
11800
11804
|
if (l != null) {
|
|
11801
11805
|
const u = i.getRange(l.startRow, l.startColumn);
|
|
11802
11806
|
a = u == null ? void 0 : u.getTextRotation();
|
|
11803
11807
|
}
|
|
11804
|
-
return (a == null ? void 0 : a.v) ===
|
|
11808
|
+
return (a == null ? void 0 : a.v) === Ke.TRUE ? o.next("v") : o.next((d = a && a.a) != null ? d : n), s.dispose;
|
|
11805
11809
|
})),
|
|
11806
11810
|
hidden$: ue(r, x.UNIVER_SHEET),
|
|
11807
11811
|
disabled$: fe(r, {
|
|
11808
|
-
workbookTypes: [
|
|
11812
|
+
workbookTypes: [Q],
|
|
11809
11813
|
worksheetTypes: [te, Ze],
|
|
11810
11814
|
rangeTypes: [ie]
|
|
11811
11815
|
})
|
|
@@ -11840,7 +11844,7 @@ function Oa(r) {
|
|
|
11840
11844
|
rr(fe(r, {
|
|
11841
11845
|
rangeTypes: [ie],
|
|
11842
11846
|
worksheetTypes: [te, Ze, qt],
|
|
11843
|
-
workbookTypes: [
|
|
11847
|
+
workbookTypes: [Q]
|
|
11844
11848
|
})),
|
|
11845
11849
|
Be(([e, t]) => e || t)
|
|
11846
11850
|
),
|
|
@@ -11859,14 +11863,14 @@ function Aa(r) {
|
|
|
11859
11863
|
}
|
|
11860
11864
|
function Ha(r) {
|
|
11861
11865
|
return {
|
|
11862
|
-
id:
|
|
11866
|
+
id: Ki.id,
|
|
11863
11867
|
type: J.BUTTON,
|
|
11864
11868
|
title: "rightClick.pasteValue",
|
|
11865
11869
|
disabled$: Zo(r).pipe(
|
|
11866
11870
|
rr(fe(r, {
|
|
11867
11871
|
rangeTypes: [ie],
|
|
11868
11872
|
worksheetTypes: [qt, te],
|
|
11869
|
-
workbookTypes: [
|
|
11873
|
+
workbookTypes: [Q]
|
|
11870
11874
|
})),
|
|
11871
11875
|
Be(([e, t]) => e || t)
|
|
11872
11876
|
),
|
|
@@ -11882,7 +11886,7 @@ function Va(r) {
|
|
|
11882
11886
|
rr(fe(r, {
|
|
11883
11887
|
rangeTypes: [ie],
|
|
11884
11888
|
worksheetTypes: [Ze, te],
|
|
11885
|
-
workbookTypes: [
|
|
11889
|
+
workbookTypes: [Q]
|
|
11886
11890
|
})),
|
|
11887
11891
|
Be(([e, t]) => e || t)
|
|
11888
11892
|
),
|
|
@@ -11891,14 +11895,14 @@ function Va(r) {
|
|
|
11891
11895
|
}
|
|
11892
11896
|
function ka(r) {
|
|
11893
11897
|
return {
|
|
11894
|
-
id:
|
|
11898
|
+
id: Kr.id,
|
|
11895
11899
|
type: J.BUTTON,
|
|
11896
11900
|
title: "rightClick.pasteColWidth",
|
|
11897
11901
|
disabled$: Zo(r).pipe(
|
|
11898
11902
|
rr(fe(r, {
|
|
11899
11903
|
rangeTypes: [ie],
|
|
11900
11904
|
worksheetTypes: [Tr, te],
|
|
11901
|
-
workbookTypes: [
|
|
11905
|
+
workbookTypes: [Q]
|
|
11902
11906
|
})),
|
|
11903
11907
|
Be(([e, t]) => e || t)
|
|
11904
11908
|
)
|
|
@@ -11919,7 +11923,7 @@ function Na(r) {
|
|
|
11919
11923
|
Er,
|
|
11920
11924
|
Tr
|
|
11921
11925
|
],
|
|
11922
|
-
workbookTypes: [
|
|
11926
|
+
workbookTypes: [Q]
|
|
11923
11927
|
})),
|
|
11924
11928
|
Be(([e, t]) => e || t)
|
|
11925
11929
|
),
|
|
@@ -11933,7 +11937,7 @@ function X0(r) {
|
|
|
11933
11937
|
icon: "AutoHeightDoubleIcon",
|
|
11934
11938
|
title: "rightClick.fitContent",
|
|
11935
11939
|
disabled$: fe(r, {
|
|
11936
|
-
workbookTypes: [
|
|
11940
|
+
workbookTypes: [Q],
|
|
11937
11941
|
worksheetTypes: [Er, te],
|
|
11938
11942
|
rangeTypes: [ie]
|
|
11939
11943
|
}),
|
|
@@ -11947,7 +11951,7 @@ function z0(r) {
|
|
|
11947
11951
|
icon: "AutoWidthDoubleIcon",
|
|
11948
11952
|
title: "rightClick.fitContent",
|
|
11949
11953
|
disabled$: fe(r, {
|
|
11950
|
-
workbookTypes: [
|
|
11954
|
+
workbookTypes: [Q],
|
|
11951
11955
|
worksheetTypes: [Er, te],
|
|
11952
11956
|
rangeTypes: [ie]
|
|
11953
11957
|
}),
|
|
@@ -11976,7 +11980,7 @@ function uh(r) {
|
|
|
11976
11980
|
}
|
|
11977
11981
|
function Da(r) {
|
|
11978
11982
|
return {
|
|
11979
|
-
id:
|
|
11983
|
+
id: Kn.id,
|
|
11980
11984
|
type: J.BUTTON,
|
|
11981
11985
|
title: "rightClick.freeze",
|
|
11982
11986
|
icon: "FreezeToSelectedIcon",
|
|
@@ -12021,7 +12025,7 @@ function G0(r) {
|
|
|
12021
12025
|
icon: "HideDoubleIcon",
|
|
12022
12026
|
title: "rightClick.hideSelectedRow",
|
|
12023
12027
|
disabled$: fe(r, {
|
|
12024
|
-
workbookTypes: [
|
|
12028
|
+
workbookTypes: [Q],
|
|
12025
12029
|
worksheetTypes: [Er, te],
|
|
12026
12030
|
rangeTypes: [ie]
|
|
12027
12031
|
}),
|
|
@@ -12035,14 +12039,14 @@ function q0(r) {
|
|
|
12035
12039
|
icon: "HideDoubleIcon",
|
|
12036
12040
|
title: "rightClick.hideSelectedColumn",
|
|
12037
12041
|
disabled$: fe(r, {
|
|
12038
|
-
workbookTypes: [
|
|
12042
|
+
workbookTypes: [Q],
|
|
12039
12043
|
worksheetTypes: [te, Tr],
|
|
12040
12044
|
rangeTypes: [ie]
|
|
12041
12045
|
}),
|
|
12042
12046
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
12043
12047
|
};
|
|
12044
12048
|
}
|
|
12045
|
-
function
|
|
12049
|
+
function Q0(r) {
|
|
12046
12050
|
const e = r.get(N), t = r.get($), n = r.get(L), i = [Te, gg, mg].map((o) => o.id);
|
|
12047
12051
|
return {
|
|
12048
12052
|
id: fg.id,
|
|
@@ -12065,13 +12069,13 @@ function K0(r) {
|
|
|
12065
12069
|
return s.next(!l()), () => a.dispose();
|
|
12066
12070
|
})),
|
|
12067
12071
|
disabled$: fe(r, {
|
|
12068
|
-
workbookTypes: [
|
|
12072
|
+
workbookTypes: [Q],
|
|
12069
12073
|
worksheetTypes: [te, Er],
|
|
12070
12074
|
rangeTypes: [ie]
|
|
12071
12075
|
})
|
|
12072
12076
|
};
|
|
12073
12077
|
}
|
|
12074
|
-
function
|
|
12078
|
+
function K0(r) {
|
|
12075
12079
|
const e = r.get(N), t = r.get($), n = r.get(L), i = [Te, vg, Sg].map((o) => o.id);
|
|
12076
12080
|
return {
|
|
12077
12081
|
id: Cg.id,
|
|
@@ -12094,7 +12098,7 @@ function Q0(r) {
|
|
|
12094
12098
|
return s.next(!l()), () => a.dispose();
|
|
12095
12099
|
})),
|
|
12096
12100
|
disabled$: fe(r, {
|
|
12097
|
-
workbookTypes: [
|
|
12101
|
+
workbookTypes: [Q],
|
|
12098
12102
|
worksheetTypes: [Tr, te],
|
|
12099
12103
|
rangeTypes: [ie]
|
|
12100
12104
|
})
|
|
@@ -12129,7 +12133,7 @@ function J0(r) {
|
|
|
12129
12133
|
return l(), a.dispose;
|
|
12130
12134
|
})),
|
|
12131
12135
|
hidden$: fe(r, {
|
|
12132
|
-
workbookTypes: [
|
|
12136
|
+
workbookTypes: [Q],
|
|
12133
12137
|
worksheetTypes: [te, Er],
|
|
12134
12138
|
rangeTypes: [ie]
|
|
12135
12139
|
})
|
|
@@ -12164,7 +12168,7 @@ function $0(r) {
|
|
|
12164
12168
|
return l(), a.dispose;
|
|
12165
12169
|
})),
|
|
12166
12170
|
hidden$: fe(r, {
|
|
12167
|
-
workbookTypes: [
|
|
12171
|
+
workbookTypes: [Q],
|
|
12168
12172
|
worksheetTypes: [te, Tr],
|
|
12169
12173
|
rangeTypes: [ie]
|
|
12170
12174
|
})
|
|
@@ -12435,7 +12439,7 @@ let po = class extends oe {
|
|
|
12435
12439
|
const R = (T = I.getConfig()) == null ? void 0 : T.freeze;
|
|
12436
12440
|
let y = (R == null ? void 0 : R.xSplit) || 0, M = (R == null ? void 0 : R.ySplit) || 0;
|
|
12437
12441
|
const E = (P = this._activeViewport) == null ? void 0 : P.viewportKey;
|
|
12438
|
-
i === 0 && (!E || E ===
|
|
12442
|
+
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
12443
|
startRow: M === 0 ? -1 : this._changeToRow,
|
|
12440
12444
|
startColumn: y === 0 ? -1 : this._changeToColumn,
|
|
12441
12445
|
ySplit: M,
|
|
@@ -12449,7 +12453,7 @@ let po = class extends oe {
|
|
|
12449
12453
|
const e = this._getSheetObject();
|
|
12450
12454
|
if (e == null)
|
|
12451
12455
|
return;
|
|
12452
|
-
const { scene: t } = e, n = t.getViewport(
|
|
12456
|
+
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
12457
|
if (!(n == null || i == null || o == null || s == null || l == null || a == null || c == null || d == null || u == null))
|
|
12454
12458
|
return {
|
|
12455
12459
|
viewMain: a,
|
|
@@ -12787,7 +12791,7 @@ let po = class extends oe {
|
|
|
12787
12791
|
};
|
|
12788
12792
|
if (e.id === mS.id) {
|
|
12789
12793
|
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 ===
|
|
12794
|
+
if (s.startRow + 1 < n.startRow || s.startRow + 1 === n.startRow && l === U.UP) {
|
|
12791
12795
|
const c = {
|
|
12792
12796
|
...n,
|
|
12793
12797
|
startRow: Math.max(1, n.startRow + a),
|
|
@@ -12798,7 +12802,7 @@ let po = class extends oe {
|
|
|
12798
12802
|
}
|
|
12799
12803
|
if (e.id === fS.id) {
|
|
12800
12804
|
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 ===
|
|
12805
|
+
if (s.startColumn + 1 < n.startColumn || s.startColumn + 1 === n.startColumn && l === U.LEFT) {
|
|
12802
12806
|
const c = {
|
|
12803
12807
|
...n,
|
|
12804
12808
|
startColumn: Math.max(1, n.startColumn + a),
|
|
@@ -13036,7 +13040,7 @@ po = t_([
|
|
|
13036
13040
|
lr(4, k(Et)),
|
|
13037
13041
|
lr(5, k(At)),
|
|
13038
13042
|
lr(6, k(vn)),
|
|
13039
|
-
lr(7, k(
|
|
13043
|
+
lr(7, k(Rt))
|
|
13040
13044
|
], po);
|
|
13041
13045
|
function l_(r) {
|
|
13042
13046
|
const e = r.get($), t = r.get($e), n = r.get(N), i = r.get(pS), o = n.getCurrentTypeOfUnit$(x.UNIVER_SHEET);
|
|
@@ -13151,7 +13155,7 @@ let vo = class extends oe {
|
|
|
13151
13155
|
this._startOffsetX = p, this._startOffsetY = C;
|
|
13152
13156
|
const { row: _, column: S } = Hn(c.offsetX, c.offsetY, i, u);
|
|
13153
13157
|
let I;
|
|
13154
|
-
e === X.ROW ? (this._changeFromRow = _, I =
|
|
13158
|
+
e === X.ROW ? (this._changeFromRow = _, I = bt.Y) : (this._changeFromColumn = S, I = bt.X);
|
|
13155
13159
|
const R = this._workbookSelections.getCurrentSelections(), y = qs(
|
|
13156
13160
|
R,
|
|
13157
13161
|
e === X.ROW ? _ : S,
|
|
@@ -13168,7 +13172,7 @@ let vo = class extends oe {
|
|
|
13168
13172
|
if (E)
|
|
13169
13173
|
return;
|
|
13170
13174
|
T = Gr.create(i, I), this._scrollTimer = T;
|
|
13171
|
-
const O = i.getViewport(
|
|
13175
|
+
const O = i.getViewport(F.VIEW_MAIN);
|
|
13172
13176
|
T.startScroll(p, C, O), E = !0;
|
|
13173
13177
|
};
|
|
13174
13178
|
this._dragHeaderMoveSub = i.onPointerMove$.subscribeEvent((O) => {
|
|
@@ -13236,7 +13240,7 @@ let vo = class extends oe {
|
|
|
13236
13240
|
const s = this._context.scene, l = (B = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : B.skeleton;
|
|
13237
13241
|
if (l == null)
|
|
13238
13242
|
return;
|
|
13239
|
-
const { rowHeaderWidth: a, columnHeaderHeight: c, rowTotalHeight: d, columnTotalWidth: u } = l, h = s.getViewportScrollXY(s.getViewport(
|
|
13243
|
+
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
13244
|
e,
|
|
13241
13245
|
t,
|
|
13242
13246
|
g,
|
|
@@ -13385,7 +13389,7 @@ var v_ = Object.getOwnPropertyDescriptor, S_ = (r, e, t, n) => {
|
|
|
13385
13389
|
return i;
|
|
13386
13390
|
}, Xa = (r, e) => (t, n) => e(t, n, r);
|
|
13387
13391
|
const C_ = "__SpreadsheetHeaderResizeControllerShapeRow__", w_ = "__SpreadsheetHeaderResizeControllerShapeColumn__", gh = "__SpreadsheetHeaderResizeControllerShapeHelper__", mh = "rgb(199, 199, 199)", __ = 2, za = kn("headerResizePermissionCheck");
|
|
13388
|
-
let
|
|
13392
|
+
let Qs = class extends oe {
|
|
13389
13393
|
constructor(e, t, n, i) {
|
|
13390
13394
|
super();
|
|
13391
13395
|
b(this, "_currentRow", 0);
|
|
@@ -13508,7 +13512,7 @@ let Ks = class extends oe {
|
|
|
13508
13512
|
var W, j, B, z, Z, ce, ge;
|
|
13509
13513
|
const o = (W = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : W.skeleton;
|
|
13510
13514
|
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(
|
|
13515
|
+
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
13516
|
this._startOffsetX = g.x, this._startOffsetY = g.y;
|
|
13513
13517
|
const v = o.getOffsetByColumn(this._currentColumn), p = o.getOffsetByRow(this._currentRow), C = o.getNoMergeCellWithCoordByIndex(this._currentRow, this._currentColumn);
|
|
13514
13518
|
let _ = !1, S = 0, I = 0;
|
|
@@ -13608,18 +13612,18 @@ let Ks = class extends oe {
|
|
|
13608
13612
|
(e = this._scenePointerMoveSub) == null || e.unsubscribe(), (t = this._scenePointerUpSub) == null || t.unsubscribe(), this._scenePointerMoveSub = null, this._scenePointerUpSub = null;
|
|
13609
13613
|
}
|
|
13610
13614
|
};
|
|
13611
|
-
|
|
13615
|
+
Qs = S_([
|
|
13612
13616
|
Xa(1, k(he)),
|
|
13613
13617
|
Xa(2, k($)),
|
|
13614
13618
|
Xa(3, L)
|
|
13615
|
-
],
|
|
13619
|
+
], Qs);
|
|
13616
13620
|
var b_ = Object.getOwnPropertyDescriptor, R_ = (r, e, t, n) => {
|
|
13617
13621
|
for (var i = n > 1 ? void 0 : n ? b_(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
13618
13622
|
(s = r[o]) && (i = s(i) || i);
|
|
13619
13623
|
return i;
|
|
13620
13624
|
}, ki = (r, e) => (t, n) => e(t, n, r);
|
|
13621
13625
|
const I_ = 60;
|
|
13622
|
-
let
|
|
13626
|
+
let Ks = class extends Nn {
|
|
13623
13627
|
constructor(e, t, n, i, o, s) {
|
|
13624
13628
|
super();
|
|
13625
13629
|
b(this, "_renderMetric$", new xe());
|
|
@@ -13711,7 +13715,7 @@ let Qs = class extends Nn {
|
|
|
13711
13715
|
), t.enableLayerCache(xu, nr);
|
|
13712
13716
|
}
|
|
13713
13717
|
_initViewports(e, t, n) {
|
|
13714
|
-
const s = new Cn(
|
|
13718
|
+
const s = new Cn(F.VIEW_MAIN, e, {
|
|
13715
13719
|
left: t.width,
|
|
13716
13720
|
top: n.height,
|
|
13717
13721
|
bottom: 0,
|
|
@@ -13720,43 +13724,43 @@ let Qs = class extends Nn {
|
|
|
13720
13724
|
allowCache: !0,
|
|
13721
13725
|
bufferEdgeX: 100,
|
|
13722
13726
|
bufferEdgeY: 100
|
|
13723
|
-
}), l = new Cn(
|
|
13727
|
+
}), l = new Cn(F.VIEW_MAIN_LEFT_TOP, e, {
|
|
13724
13728
|
isWheelPreventDefaultX: !0,
|
|
13725
13729
|
active: !1,
|
|
13726
13730
|
allowCache: !0,
|
|
13727
13731
|
bufferEdgeX: 0,
|
|
13728
13732
|
bufferEdgeY: 0
|
|
13729
|
-
}), a = new Cn(
|
|
13733
|
+
}), a = new Cn(F.VIEW_MAIN_LEFT, e, {
|
|
13730
13734
|
isWheelPreventDefaultX: !0,
|
|
13731
13735
|
active: !1,
|
|
13732
13736
|
allowCache: !0,
|
|
13733
13737
|
bufferEdgeX: 0,
|
|
13734
13738
|
bufferEdgeY: 100
|
|
13735
|
-
}), c = new Cn(
|
|
13739
|
+
}), c = new Cn(F.VIEW_MAIN_TOP, e, {
|
|
13736
13740
|
isWheelPreventDefaultX: !0,
|
|
13737
13741
|
active: !1,
|
|
13738
13742
|
allowCache: !0,
|
|
13739
13743
|
bufferEdgeX: 100,
|
|
13740
13744
|
bufferEdgeY: 0
|
|
13741
|
-
}), d = new Cn(
|
|
13745
|
+
}), d = new Cn(F.VIEW_ROW_TOP, e, {
|
|
13742
13746
|
active: !1,
|
|
13743
13747
|
isWheelPreventDefaultX: !0
|
|
13744
|
-
}), u = new Cn(
|
|
13748
|
+
}), u = new Cn(F.VIEW_ROW_BOTTOM, e, {
|
|
13745
13749
|
left: 0,
|
|
13746
13750
|
top: n.height,
|
|
13747
13751
|
bottom: 0,
|
|
13748
13752
|
width: t.width + 1,
|
|
13749
13753
|
isWheelPreventDefaultX: !0
|
|
13750
|
-
}), h = new Cn(
|
|
13754
|
+
}), h = new Cn(F.VIEW_COLUMN_LEFT, e, {
|
|
13751
13755
|
active: !1,
|
|
13752
13756
|
isWheelPreventDefaultX: !0
|
|
13753
|
-
}), g = new Cn(
|
|
13757
|
+
}), g = new Cn(F.VIEW_COLUMN_RIGHT, e, {
|
|
13754
13758
|
left: t.width,
|
|
13755
13759
|
top: 0,
|
|
13756
13760
|
height: n.height + 1,
|
|
13757
13761
|
right: 0,
|
|
13758
13762
|
isWheelPreventDefaultX: !0
|
|
13759
|
-
}), m = new Cn(
|
|
13763
|
+
}), m = new Cn(F.VIEW_LEFT_TOP, e, {
|
|
13760
13764
|
left: 0,
|
|
13761
13765
|
top: 0,
|
|
13762
13766
|
width: t.width,
|
|
@@ -13819,7 +13823,7 @@ let Qs = class extends Nn {
|
|
|
13819
13823
|
commandId: n
|
|
13820
13824
|
});
|
|
13821
13825
|
} else wS.includes(n) && this._sheetSkeletonManagerService.reCalculate();
|
|
13822
|
-
e.type ===
|
|
13826
|
+
e.type === K.MUTATION && this._markUnitDirty(e);
|
|
13823
13827
|
}));
|
|
13824
13828
|
}
|
|
13825
13829
|
_markUnitDirty(e) {
|
|
@@ -13873,13 +13877,13 @@ let Qs = class extends Nn {
|
|
|
13873
13877
|
return e.getViewports().filter((t) => ["viewMain", "viewMainLeftTop", "viewMainTop", "viewMainLeft"].includes(t.viewportKey));
|
|
13874
13878
|
}
|
|
13875
13879
|
};
|
|
13876
|
-
|
|
13880
|
+
Ks = R_([
|
|
13877
13881
|
ki(1, k(nn)),
|
|
13878
13882
|
ki(2, k(he)),
|
|
13879
13883
|
ki(3, k(Rr)),
|
|
13880
13884
|
ki(4, L),
|
|
13881
13885
|
ki(5, td(uC))
|
|
13882
|
-
],
|
|
13886
|
+
], Ks);
|
|
13883
13887
|
function y_(r, e) {
|
|
13884
13888
|
if (r.length !== e.length) return !1;
|
|
13885
13889
|
const t = r.sort((i, o) => i.id.localeCompare(o.id)), n = e.sort((i, o) => i.id.localeCompare(o.id));
|
|
@@ -13945,15 +13949,15 @@ function T_(r, e, t, n) {
|
|
|
13945
13949
|
function fh(r, e, t, n) {
|
|
13946
13950
|
const i = n.getFreeze();
|
|
13947
13951
|
if (!i || i.startRow <= 0 && i.startColumn <= 0)
|
|
13948
|
-
return t.getViewport(
|
|
13952
|
+
return t.getViewport(F.VIEW_MAIN);
|
|
13949
13953
|
if (r >= i.startRow && e >= i.startColumn)
|
|
13950
|
-
return t.getViewport(
|
|
13954
|
+
return t.getViewport(F.VIEW_MAIN);
|
|
13951
13955
|
if (r < i.startRow && e < i.startColumn)
|
|
13952
|
-
return t.getViewport(
|
|
13956
|
+
return t.getViewport(F.VIEW_MAIN_LEFT_TOP);
|
|
13953
13957
|
if (r < i.startRow && e >= i.startColumn)
|
|
13954
|
-
return t.getViewport(
|
|
13958
|
+
return t.getViewport(F.VIEW_MAIN_TOP);
|
|
13955
13959
|
if (r >= i.startRow && e < i.startColumn)
|
|
13956
|
-
return t.getViewport(
|
|
13960
|
+
return t.getViewport(F.VIEW_MAIN_LEFT);
|
|
13957
13961
|
}
|
|
13958
13962
|
function P_(r, e, t, n) {
|
|
13959
13963
|
const i = ph(r.left, r.top, e, t, n), o = ph(r.right, r.bottom, e, t, n);
|
|
@@ -13965,7 +13969,7 @@ function P_(r, e, t, n) {
|
|
|
13965
13969
|
};
|
|
13966
13970
|
}
|
|
13967
13971
|
function ph(r, e, t, n, i) {
|
|
13968
|
-
const { scaleX: o, scaleY: s } = t.getAncestorScale(), l = t.getViewport(
|
|
13972
|
+
const { scaleX: o, scaleY: s } = t.getAncestorScale(), l = t.getViewport(F.VIEW_MAIN);
|
|
13969
13973
|
if (!l)
|
|
13970
13974
|
return {
|
|
13971
13975
|
x: r,
|
|
@@ -14040,7 +14044,7 @@ function of(r, e, t, n, i, o) {
|
|
|
14040
14044
|
};
|
|
14041
14045
|
}
|
|
14042
14046
|
const ir = {
|
|
14043
|
-
type:
|
|
14047
|
+
type: K.COMMAND,
|
|
14044
14048
|
id: "sheet.command.add-worksheet-merge",
|
|
14045
14049
|
handler: async (r, e) => {
|
|
14046
14050
|
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 +14069,7 @@ const ir = {
|
|
|
14065
14069
|
subUnitId: a,
|
|
14066
14070
|
ranges: le.deepClone(d)
|
|
14067
14071
|
}, p = Wl(r, f), C = Fl(r, v);
|
|
14068
|
-
if (p.ranges.length > 0 && h.push({ id:
|
|
14072
|
+
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
14073
|
const M = rf(r, l, u, d);
|
|
14070
14074
|
h.unshift(...M.redos), g.push(...M.undos);
|
|
14071
14075
|
}
|
|
@@ -14084,7 +14088,7 @@ const ir = {
|
|
|
14084
14088
|
}), !0) : !1;
|
|
14085
14089
|
}
|
|
14086
14090
|
}, $d = {
|
|
14087
|
-
type:
|
|
14091
|
+
type: K.COMMAND,
|
|
14088
14092
|
id: "sheet.command.add-worksheet-merge-all",
|
|
14089
14093
|
handler: async (r) => {
|
|
14090
14094
|
var d;
|
|
@@ -14103,7 +14107,7 @@ const ir = {
|
|
|
14103
14107
|
});
|
|
14104
14108
|
}
|
|
14105
14109
|
}, eu = {
|
|
14106
|
-
type:
|
|
14110
|
+
type: K.COMMAND,
|
|
14107
14111
|
id: "sheet.command.add-worksheet-merge-vertical",
|
|
14108
14112
|
handler: async (r) => {
|
|
14109
14113
|
var d;
|
|
@@ -14123,7 +14127,7 @@ const ir = {
|
|
|
14123
14127
|
});
|
|
14124
14128
|
}
|
|
14125
14129
|
}, tu = {
|
|
14126
|
-
type:
|
|
14130
|
+
type: K.COMMAND,
|
|
14127
14131
|
id: "sheet.command.add-worksheet-merge-horizontal",
|
|
14128
14132
|
handler: async (r) => {
|
|
14129
14133
|
var d;
|
|
@@ -14143,7 +14147,7 @@ const ir = {
|
|
|
14143
14147
|
});
|
|
14144
14148
|
}
|
|
14145
14149
|
}, qo = {
|
|
14146
|
-
type:
|
|
14150
|
+
type: K.COMMAND,
|
|
14147
14151
|
id: "sheet.command.delete-range-move-left-confirm",
|
|
14148
14152
|
handler: async (r) => {
|
|
14149
14153
|
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 +14173,7 @@ const ir = {
|
|
|
14169
14173
|
}) ? t.executeCommand(yu.id) : !0 : t.executeCommand(yu.id);
|
|
14170
14174
|
}
|
|
14171
14175
|
}, ui = {
|
|
14172
|
-
type:
|
|
14176
|
+
type: K.COMMAND,
|
|
14173
14177
|
id: "sheet.command.delete-range-move-up-confirm",
|
|
14174
14178
|
handler: async (r) => {
|
|
14175
14179
|
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 +14205,7 @@ const ir = {
|
|
|
14201
14205
|
}) ? t.executeCommand(Mu.id) : !0 : t.executeCommand(Mu.id);
|
|
14202
14206
|
}
|
|
14203
14207
|
}, hi = {
|
|
14204
|
-
type:
|
|
14208
|
+
type: K.COMMAND,
|
|
14205
14209
|
id: "sheet.command.insert-range-move-down-confirm",
|
|
14206
14210
|
handler: async (r) => {
|
|
14207
14211
|
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 +14238,8 @@ const ir = {
|
|
|
14234
14238
|
confirmText: n.t("button.confirm")
|
|
14235
14239
|
}) ? t.executeCommand(_c.id) : !0 : t.executeCommand(_c.id);
|
|
14236
14240
|
}
|
|
14237
|
-
},
|
|
14238
|
-
type:
|
|
14241
|
+
}, Qo = {
|
|
14242
|
+
type: K.COMMAND,
|
|
14239
14243
|
id: "sheet.command.insert-range-move-right-confirm",
|
|
14240
14244
|
handler: async (r) => {
|
|
14241
14245
|
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 +14257,7 @@ const ir = {
|
|
|
14253
14257
|
const m = ae.getIntersects(g, c);
|
|
14254
14258
|
return m ? d(g) > d(m) : !1;
|
|
14255
14259
|
}) ? await e.confirm({
|
|
14256
|
-
id:
|
|
14260
|
+
id: Qo.id,
|
|
14257
14261
|
title: { title: n.t("merge.confirm.warning") },
|
|
14258
14262
|
children: { title: n.t("merge.confirm.dismantleMergeCellWarning") },
|
|
14259
14263
|
cancelText: n.t("button.cancel"),
|
|
@@ -14353,7 +14357,7 @@ class Ar {
|
|
|
14353
14357
|
}
|
|
14354
14358
|
}
|
|
14355
14359
|
const Vn = {
|
|
14356
|
-
type:
|
|
14360
|
+
type: K.OPERATION,
|
|
14357
14361
|
id: "sheet-permission.operation.openPanel",
|
|
14358
14362
|
async handler(r, e = {}) {
|
|
14359
14363
|
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 +14377,37 @@ const Vn = {
|
|
|
14373
14377
|
return n.setVisible(!0), t.open(c), !0;
|
|
14374
14378
|
}
|
|
14375
14379
|
}, ha = {
|
|
14376
|
-
type:
|
|
14380
|
+
type: K.COMMAND,
|
|
14377
14381
|
id: "sheet.command.add-range-protection-from-toolbar",
|
|
14378
14382
|
async handler(r) {
|
|
14379
14383
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !0 }), !0;
|
|
14380
14384
|
}
|
|
14381
14385
|
}, $r = {
|
|
14382
|
-
type:
|
|
14386
|
+
type: K.COMMAND,
|
|
14383
14387
|
id: "sheet.command.add-range-protection-from-context-menu",
|
|
14384
14388
|
async handler(r) {
|
|
14385
14389
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !0 }), !0;
|
|
14386
14390
|
}
|
|
14387
14391
|
}, ei = {
|
|
14388
|
-
type:
|
|
14392
|
+
type: K.COMMAND,
|
|
14389
14393
|
id: "sheet.command.view-sheet-permission-from-context-menu",
|
|
14390
14394
|
async handler(r) {
|
|
14391
14395
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !1 }), !0;
|
|
14392
14396
|
}
|
|
14393
14397
|
}, ga = {
|
|
14394
|
-
type:
|
|
14398
|
+
type: K.COMMAND,
|
|
14395
14399
|
id: "sheet.command.add-range-protection-from-sheet-bar",
|
|
14396
14400
|
async handler(r) {
|
|
14397
14401
|
return await r.get(L).executeCommand(Vn.id, { fromSheetBar: !0, showDetail: !0 }), !0;
|
|
14398
14402
|
}
|
|
14399
14403
|
}, ma = {
|
|
14400
|
-
type:
|
|
14404
|
+
type: K.COMMAND,
|
|
14401
14405
|
id: "sheet.command.view-sheet-permission-from-sheet-bar",
|
|
14402
14406
|
async handler(r) {
|
|
14403
14407
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !1 }), !0;
|
|
14404
14408
|
}
|
|
14405
14409
|
}, ti = {
|
|
14406
|
-
type:
|
|
14410
|
+
type: K.COMMAND,
|
|
14407
14411
|
id: "sheet.command.delete-range-protection-from-context-menu",
|
|
14408
14412
|
async handler(r) {
|
|
14409
14413
|
var u;
|
|
@@ -14431,7 +14435,7 @@ const Vn = {
|
|
|
14431
14435
|
}
|
|
14432
14436
|
}
|
|
14433
14437
|
}, ni = {
|
|
14434
|
-
type:
|
|
14438
|
+
type: K.COMMAND,
|
|
14435
14439
|
id: "sheet.command.set-range-protection-from-context-menu",
|
|
14436
14440
|
async handler(r) {
|
|
14437
14441
|
var d;
|
|
@@ -14465,7 +14469,7 @@ const Vn = {
|
|
|
14465
14469
|
}
|
|
14466
14470
|
}, wo = {
|
|
14467
14471
|
id: "sheet.command.remove-row-confirm",
|
|
14468
|
-
type:
|
|
14472
|
+
type: K.COMMAND,
|
|
14469
14473
|
handler: async (r, e) => {
|
|
14470
14474
|
var c;
|
|
14471
14475
|
const t = r.get($);
|
|
@@ -14491,7 +14495,7 @@ const Vn = {
|
|
|
14491
14495
|
}
|
|
14492
14496
|
}, _o = {
|
|
14493
14497
|
id: "sheet.command.remove-col-confirm",
|
|
14494
|
-
type:
|
|
14498
|
+
type: K.COMMAND,
|
|
14495
14499
|
handler: async (r, e) => {
|
|
14496
14500
|
var c;
|
|
14497
14501
|
const t = r.get($);
|
|
@@ -14517,7 +14521,7 @@ const Vn = {
|
|
|
14517
14521
|
}
|
|
14518
14522
|
}, fa = {
|
|
14519
14523
|
id: "sheet.command.remove-sheet-confirm",
|
|
14520
|
-
type:
|
|
14524
|
+
type: K.COMMAND,
|
|
14521
14525
|
handler: async (r, e) => {
|
|
14522
14526
|
const { subUnitId: t } = e, n = r.get(rn), i = r.get(L), o = r.get(Pe);
|
|
14523
14527
|
return await n.confirm({
|
|
@@ -14532,10 +14536,10 @@ const Vn = {
|
|
|
14532
14536
|
}
|
|
14533
14537
|
}, pa = {
|
|
14534
14538
|
id: "ui-sheet.command.show-menu-list",
|
|
14535
|
-
type:
|
|
14539
|
+
type: K.OPERATION,
|
|
14536
14540
|
handler: async (r) => (r.get(Or).triggerSheetBarMenu(), !0)
|
|
14537
14541
|
}, va = {
|
|
14538
|
-
type:
|
|
14542
|
+
type: K.COMMAND,
|
|
14539
14543
|
id: "sheet.command.delete-worksheet-protection-from-sheet-bar",
|
|
14540
14544
|
async handler(r, e) {
|
|
14541
14545
|
if (!e)
|
|
@@ -14558,20 +14562,20 @@ const Vn = {
|
|
|
14558
14562
|
return !0;
|
|
14559
14563
|
}
|
|
14560
14564
|
}, Sa = {
|
|
14561
|
-
type:
|
|
14565
|
+
type: K.COMMAND,
|
|
14562
14566
|
id: "sheet.command.change-sheet-protection-from-sheet-bar",
|
|
14563
14567
|
async handler(r) {
|
|
14564
14568
|
return await r.get(L).executeCommand("sheet-permission.operation.openDialog"), !0;
|
|
14565
14569
|
}
|
|
14566
14570
|
}, Ca = {
|
|
14567
14571
|
id: "sheet.operation.rename-sheet",
|
|
14568
|
-
type:
|
|
14572
|
+
type: K.OPERATION,
|
|
14569
14573
|
handler: async (r, e) => {
|
|
14570
14574
|
const t = r.get(Or);
|
|
14571
14575
|
return e && t.setRenameId(e.subUnitId), !0;
|
|
14572
14576
|
}
|
|
14573
14577
|
}, uf = {
|
|
14574
|
-
type:
|
|
14578
|
+
type: K.OPERATION,
|
|
14575
14579
|
id: "sheet-permission.operation.openDialog",
|
|
14576
14580
|
async handler(r, e) {
|
|
14577
14581
|
const t = r.get(Ao);
|
|
@@ -15468,7 +15472,7 @@ let mi = class extends oe {
|
|
|
15468
15472
|
}
|
|
15469
15473
|
};
|
|
15470
15474
|
mi = G_([
|
|
15471
|
-
ar(0, k(
|
|
15475
|
+
ar(0, k(Qv)),
|
|
15472
15476
|
ar(1, Ce),
|
|
15473
15477
|
ar(2, N),
|
|
15474
15478
|
ar(3, k(yS)),
|
|
@@ -15479,11 +15483,11 @@ mi = G_([
|
|
|
15479
15483
|
function ja(r) {
|
|
15480
15484
|
return Number.parseInt(r.replace("px", ""));
|
|
15481
15485
|
}
|
|
15482
|
-
var q_ = Object.getOwnPropertyDescriptor,
|
|
15486
|
+
var q_ = Object.getOwnPropertyDescriptor, Q_ = (r, e, t, n) => {
|
|
15483
15487
|
for (var i = n > 1 ? void 0 : n ? q_(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
15484
15488
|
(s = r[o]) && (i = s(i) || i);
|
|
15485
15489
|
return i;
|
|
15486
|
-
},
|
|
15490
|
+
}, K_ = (r, e) => (t, n) => e(t, n, r);
|
|
15487
15491
|
let fi = class extends oe {
|
|
15488
15492
|
constructor(e) {
|
|
15489
15493
|
super();
|
|
@@ -15554,8 +15558,8 @@ let fi = class extends oe {
|
|
|
15554
15558
|
return ((a = (l = this._ensureCellPopupMap(e, t).getValue(n, i)) == null ? void 0 : l[o]) == null ? void 0 : a.popups) || [];
|
|
15555
15559
|
}
|
|
15556
15560
|
};
|
|
15557
|
-
fi =
|
|
15558
|
-
|
|
15561
|
+
fi = Q_([
|
|
15562
|
+
K_(0, k(mi))
|
|
15559
15563
|
], fi);
|
|
15560
15564
|
const J_ = (r) => {
|
|
15561
15565
|
const { popup: e } = r, t = e.extraProps, { row: n, col: i, direction: o, unitId: s, subUnitId: l } = t, a = D(fi);
|
|
@@ -15950,7 +15954,7 @@ const J_ = (r) => {
|
|
|
15950
15954
|
);
|
|
15951
15955
|
};
|
|
15952
15956
|
function $_(r) {
|
|
15953
|
-
const e = r.get(Rc), t = fe(r, { workbookTypes: [
|
|
15957
|
+
const e = r.get(Rc), t = fe(r, { workbookTypes: [Q], worksheetTypes: [te, Ze], rangeTypes: [ie] });
|
|
15954
15958
|
return {
|
|
15955
15959
|
id: yc.id,
|
|
15956
15960
|
icon: new je((n) => {
|
|
@@ -15998,7 +16002,7 @@ function Za(r) {
|
|
|
15998
16002
|
icon: "ClearFormatDoubleIcon",
|
|
15999
16003
|
title: "rightClick.clearContent",
|
|
16000
16004
|
disabled$: Ti(r, fe(r, {
|
|
16001
|
-
workbookTypes: [
|
|
16005
|
+
workbookTypes: [Q],
|
|
16002
16006
|
worksheetTypes: [te, qt],
|
|
16003
16007
|
rangeTypes: [ie]
|
|
16004
16008
|
})),
|
|
@@ -16012,7 +16016,7 @@ function Ga(r) {
|
|
|
16012
16016
|
icon: "ClearFormatDoubleIcon",
|
|
16013
16017
|
title: "rightClick.clearFormat",
|
|
16014
16018
|
disabled$: fe(r, {
|
|
16015
|
-
workbookTypes: [
|
|
16019
|
+
workbookTypes: [Q],
|
|
16016
16020
|
worksheetTypes: [te, Ze],
|
|
16017
16021
|
rangeTypes: [ie]
|
|
16018
16022
|
}),
|
|
@@ -16027,7 +16031,7 @@ function ls(r) {
|
|
|
16027
16031
|
title: "rightClick.clearAll",
|
|
16028
16032
|
tooltip: "rightClick.clearAll",
|
|
16029
16033
|
disabled$: Ti(r, fe(r, {
|
|
16030
|
-
workbookTypes: [
|
|
16034
|
+
workbookTypes: [Q],
|
|
16031
16035
|
worksheetTypes: [te, qt, Ze],
|
|
16032
16036
|
rangeTypes: [ie]
|
|
16033
16037
|
})),
|
|
@@ -16042,7 +16046,7 @@ function eb(r) {
|
|
|
16042
16046
|
title: "rightClick.delete",
|
|
16043
16047
|
icon: "ReduceDoubleIcon",
|
|
16044
16048
|
hidden$: Ti(r, Pi(r)),
|
|
16045
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16049
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te] })
|
|
16046
16050
|
};
|
|
16047
16051
|
}
|
|
16048
16052
|
function Ch(r) {
|
|
@@ -16052,7 +16056,7 @@ function Ch(r) {
|
|
|
16052
16056
|
icon: "DeleteColumnDoubleIcon",
|
|
16053
16057
|
title: "rightClick.deleteSelectedColumn",
|
|
16054
16058
|
hidden$: Jm(r, "col"),
|
|
16055
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16059
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te, xS] })
|
|
16056
16060
|
};
|
|
16057
16061
|
}
|
|
16058
16062
|
function wh(r) {
|
|
@@ -16061,7 +16065,7 @@ function wh(r) {
|
|
|
16061
16065
|
type: J.BUTTON,
|
|
16062
16066
|
icon: "DeleteRowDoubleIcon",
|
|
16063
16067
|
title: "rightClick.deleteSelectedRow",
|
|
16064
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16068
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te, PS] }),
|
|
16065
16069
|
hidden$: Jm(r, "row")
|
|
16066
16070
|
};
|
|
16067
16071
|
}
|
|
@@ -16071,7 +16075,7 @@ function tb(r) {
|
|
|
16071
16075
|
type: J.BUTTON,
|
|
16072
16076
|
title: "rightClick.moveLeft",
|
|
16073
16077
|
icon: "DeleteCellShiftLeftDoubleIcon",
|
|
16074
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16078
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16075
16079
|
hidden$: ua(r, "col")
|
|
16076
16080
|
};
|
|
16077
16081
|
}
|
|
@@ -16081,7 +16085,7 @@ function nb(r) {
|
|
|
16081
16085
|
type: J.BUTTON,
|
|
16082
16086
|
title: "rightClick.moveUp",
|
|
16083
16087
|
icon: "DeleteCellShiftUpDoubleIcon",
|
|
16084
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16088
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16085
16089
|
hidden$: ua(r, "row")
|
|
16086
16090
|
};
|
|
16087
16091
|
}
|
|
@@ -16095,7 +16099,7 @@ function rb(r) {
|
|
|
16095
16099
|
activated$: new je((n) => {
|
|
16096
16100
|
const i = () => {
|
|
16097
16101
|
const s = t.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
16098
|
-
return s ? s.getActiveSheet().getConfig().showGridlines ===
|
|
16102
|
+
return s ? s.getActiveSheet().getConfig().showGridlines === Ke.TRUE : !1;
|
|
16099
16103
|
}, o = new gt();
|
|
16100
16104
|
return o.add(e.onCommandExecuted((s) => {
|
|
16101
16105
|
(s.id === OS.id || s.id === nt.id) && n.next(i());
|
|
@@ -16103,7 +16107,7 @@ function rb(r) {
|
|
|
16103
16107
|
n.next(i());
|
|
16104
16108
|
})), n.next(i()), () => o.dispose();
|
|
16105
16109
|
}),
|
|
16106
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16110
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te] })
|
|
16107
16111
|
};
|
|
16108
16112
|
}
|
|
16109
16113
|
const vf = "sheet.menu.cell-insert";
|
|
@@ -16114,7 +16118,7 @@ function ib(r) {
|
|
|
16114
16118
|
title: "rightClick.insert",
|
|
16115
16119
|
icon: "InsertDoubleIcon",
|
|
16116
16120
|
hidden$: Ti(r, Pi(r)),
|
|
16117
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16121
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Ag, te], rangeTypes: [ie] })
|
|
16118
16122
|
};
|
|
16119
16123
|
}
|
|
16120
16124
|
function ob(r) {
|
|
@@ -16145,8 +16149,8 @@ function ob(r) {
|
|
|
16145
16149
|
});
|
|
16146
16150
|
return s(), l.dispose;
|
|
16147
16151
|
})),
|
|
16148
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16149
|
-
hidden$:
|
|
16152
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16153
|
+
hidden$: Km(r, "row")
|
|
16150
16154
|
};
|
|
16151
16155
|
}
|
|
16152
16156
|
function sb(r) {
|
|
@@ -16177,17 +16181,17 @@ function sb(r) {
|
|
|
16177
16181
|
});
|
|
16178
16182
|
return s(), l.dispose;
|
|
16179
16183
|
})),
|
|
16180
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16181
|
-
hidden$:
|
|
16184
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Ag, te], rangeTypes: [ie] }),
|
|
16185
|
+
hidden$: Km(r, "col")
|
|
16182
16186
|
};
|
|
16183
16187
|
}
|
|
16184
16188
|
function lb(r) {
|
|
16185
16189
|
return {
|
|
16186
|
-
id:
|
|
16190
|
+
id: Qo.id,
|
|
16187
16191
|
type: J.BUTTON,
|
|
16188
16192
|
title: "rightClick.moveRight",
|
|
16189
16193
|
icon: "InsertCellShiftRightDoubleIcon",
|
|
16190
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16194
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16191
16195
|
hidden$: ua(r, "col")
|
|
16192
16196
|
};
|
|
16193
16197
|
}
|
|
@@ -16197,7 +16201,7 @@ function ab(r) {
|
|
|
16197
16201
|
type: J.BUTTON,
|
|
16198
16202
|
title: "rightClick.moveDown",
|
|
16199
16203
|
icon: "InsertCellDownDoubleIcon",
|
|
16200
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16204
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [te], rangeTypes: [ie] }),
|
|
16201
16205
|
hidden$: ua(r, "row")
|
|
16202
16206
|
};
|
|
16203
16207
|
}
|
|
@@ -16229,7 +16233,7 @@ function cb(r) {
|
|
|
16229
16233
|
});
|
|
16230
16234
|
return s(), l.dispose;
|
|
16231
16235
|
})),
|
|
16232
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16236
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16233
16237
|
hidden$: Pi(r)
|
|
16234
16238
|
};
|
|
16235
16239
|
}
|
|
@@ -16261,7 +16265,7 @@ function db(r) {
|
|
|
16261
16265
|
});
|
|
16262
16266
|
return s(), l.dispose;
|
|
16263
16267
|
})),
|
|
16264
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16268
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16265
16269
|
hidden$: Pi(r)
|
|
16266
16270
|
};
|
|
16267
16271
|
}
|
|
@@ -16293,7 +16297,7 @@ function ub(r) {
|
|
|
16293
16297
|
});
|
|
16294
16298
|
return s(), l.dispose;
|
|
16295
16299
|
})),
|
|
16296
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16300
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16297
16301
|
hidden$: Pi(r)
|
|
16298
16302
|
};
|
|
16299
16303
|
}
|
|
@@ -16325,12 +16329,12 @@ function hb(r) {
|
|
|
16325
16329
|
});
|
|
16326
16330
|
return s(), l.dispose;
|
|
16327
16331
|
})),
|
|
16328
|
-
disabled$: fe(r, { workbookTypes: [
|
|
16332
|
+
disabled$: fe(r, { workbookTypes: [Q], worksheetTypes: [Bo, te], rangeTypes: [ie] }),
|
|
16329
16333
|
hidden$: Pi(r)
|
|
16330
16334
|
};
|
|
16331
16335
|
}
|
|
16332
16336
|
function gb(r) {
|
|
16333
|
-
const e = Ti(r, fe(r, { workbookTypes: [
|
|
16337
|
+
const e = Ti(r, fe(r, { workbookTypes: [Q], worksheetTypes: [te, qt, Ze], rangeTypes: [ie] })), t = l_(r);
|
|
16334
16338
|
return {
|
|
16335
16339
|
id: ir.id,
|
|
16336
16340
|
icon: "MergeAllIcon",
|
|
@@ -16453,7 +16457,7 @@ function wb(r) {
|
|
|
16453
16457
|
var m;
|
|
16454
16458
|
if (!l)
|
|
16455
16459
|
return Ie(!0);
|
|
16456
|
-
const a = o.getUnitId(), c = r.get($), d = r.get($e), u = r.get(ft), h = (m = t.composePermission$([new
|
|
16460
|
+
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
16461
|
d.ruleChange$,
|
|
16458
16462
|
u.ruleChange$
|
|
16459
16463
|
).pipe(
|
|
@@ -16625,7 +16629,7 @@ function Cf(r) {
|
|
|
16625
16629
|
if (!m)
|
|
16626
16630
|
return Ie(!0);
|
|
16627
16631
|
const f = d.getUnitId();
|
|
16628
|
-
return ((C = (p = t.getPermissionPoint$(new
|
|
16632
|
+
return ((C = (p = t.getPermissionPoint$(new Q(f).id)) == null ? void 0 : p.pipe(Be((_) => !!_.value))) != null ? C : Ie(!1)).pipe(
|
|
16629
16633
|
Be((_) => !_)
|
|
16630
16634
|
);
|
|
16631
16635
|
})
|
|
@@ -16652,7 +16656,7 @@ function qa(r) {
|
|
|
16652
16656
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
16653
16657
|
};
|
|
16654
16658
|
}
|
|
16655
|
-
function
|
|
16659
|
+
function Qa(r) {
|
|
16656
16660
|
return {
|
|
16657
16661
|
id: $r.id,
|
|
16658
16662
|
type: J.BUTTON,
|
|
@@ -16661,7 +16665,7 @@ function Ka(r) {
|
|
|
16661
16665
|
disabled$: Sf(r)
|
|
16662
16666
|
};
|
|
16663
16667
|
}
|
|
16664
|
-
function
|
|
16668
|
+
function Ka(r) {
|
|
16665
16669
|
return {
|
|
16666
16670
|
id: ni.id,
|
|
16667
16671
|
type: J.BUTTON,
|
|
@@ -16731,7 +16735,7 @@ function xb(r) {
|
|
|
16731
16735
|
(a === An.id || a === Mr.id || a === er.id) && el(e, o);
|
|
16732
16736
|
});
|
|
16733
16737
|
return el(e, o), s.dispose;
|
|
16734
|
-
}), i = xi(r, [
|
|
16738
|
+
}), i = xi(r, [Q, HS]);
|
|
16735
16739
|
return {
|
|
16736
16740
|
id: fa.id,
|
|
16737
16741
|
type: J.BUTTON,
|
|
@@ -16747,7 +16751,7 @@ function Ob(r) {
|
|
|
16747
16751
|
id: Lg.id,
|
|
16748
16752
|
type: J.BUTTON,
|
|
16749
16753
|
title: "sheetConfig.copy",
|
|
16750
|
-
disabled$: xi(r, [
|
|
16754
|
+
disabled$: xi(r, [Q, sg]),
|
|
16751
16755
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
16752
16756
|
};
|
|
16753
16757
|
}
|
|
@@ -16756,7 +16760,7 @@ function Ab(r) {
|
|
|
16756
16760
|
id: Ca.id,
|
|
16757
16761
|
type: J.BUTTON,
|
|
16758
16762
|
title: "sheetConfig.rename",
|
|
16759
|
-
disabled$: xi(r, [
|
|
16763
|
+
disabled$: xi(r, [Q, og]),
|
|
16760
16764
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
16761
16765
|
};
|
|
16762
16766
|
}
|
|
@@ -16773,7 +16777,7 @@ function Hb(r) {
|
|
|
16773
16777
|
}
|
|
16774
16778
|
}
|
|
16775
16779
|
],
|
|
16776
|
-
hidden$: xi(r, [
|
|
16780
|
+
hidden$: xi(r, [Q])
|
|
16777
16781
|
};
|
|
16778
16782
|
}
|
|
16779
16783
|
function Vb(r) {
|
|
@@ -16789,7 +16793,7 @@ function Vb(r) {
|
|
|
16789
16793
|
});
|
|
16790
16794
|
return el(e, n), i.dispose;
|
|
16791
16795
|
}).pipe(
|
|
16792
|
-
rr(xi(r, [
|
|
16796
|
+
rr(xi(r, [Q, Wg])),
|
|
16793
16797
|
Be(([n, i]) => n || i)
|
|
16794
16798
|
),
|
|
16795
16799
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -16812,7 +16816,7 @@ function kb(r) {
|
|
|
16812
16816
|
});
|
|
16813
16817
|
return i(), o.dispose;
|
|
16814
16818
|
}).pipe(
|
|
16815
|
-
rr(xi(r, [
|
|
16819
|
+
rr(xi(r, [Q, Wg])),
|
|
16816
16820
|
Be(([n, i]) => n || i)
|
|
16817
16821
|
),
|
|
16818
16822
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -16820,12 +16824,12 @@ function kb(r) {
|
|
|
16820
16824
|
}
|
|
16821
16825
|
function el(r, e) {
|
|
16822
16826
|
const t = r.getCurrentUnitForType(x.UNIVER_SHEET).getWorksheets(), n = Array.from(t.values()).filter(
|
|
16823
|
-
(i) => i.getConfig().hidden ===
|
|
16827
|
+
(i) => i.getConfig().hidden === Ke.FALSE
|
|
16824
16828
|
);
|
|
16825
16829
|
e.next(n.length === 1);
|
|
16826
16830
|
}
|
|
16827
16831
|
const Nb = {
|
|
16828
|
-
[
|
|
16832
|
+
[Kv.START]: {
|
|
16829
16833
|
[ts.HISTORY]: {
|
|
16830
16834
|
[Yo.id]: {
|
|
16831
16835
|
order: 2,
|
|
@@ -16930,7 +16934,7 @@ const Nb = {
|
|
|
16930
16934
|
}
|
|
16931
16935
|
},
|
|
16932
16936
|
[Ct.MAIN_AREA]: {
|
|
16933
|
-
[
|
|
16937
|
+
[Qe.FORMAT]: {
|
|
16934
16938
|
[mn.name]: {
|
|
16935
16939
|
order: 0,
|
|
16936
16940
|
menuItemFactory: Jr
|
|
@@ -16946,7 +16950,7 @@ const Nb = {
|
|
|
16946
16950
|
[Ss]: {
|
|
16947
16951
|
order: 3,
|
|
16948
16952
|
menuItemFactory: Aa,
|
|
16949
|
-
[
|
|
16953
|
+
[Ki.id]: {
|
|
16950
16954
|
order: 0,
|
|
16951
16955
|
menuItemFactory: Ha
|
|
16952
16956
|
},
|
|
@@ -16954,7 +16958,7 @@ const Nb = {
|
|
|
16954
16958
|
order: 1,
|
|
16955
16959
|
menuItemFactory: Va
|
|
16956
16960
|
},
|
|
16957
|
-
[
|
|
16961
|
+
[Kr.id]: {
|
|
16958
16962
|
order: 2,
|
|
16959
16963
|
menuItemFactory: ka
|
|
16960
16964
|
},
|
|
@@ -16980,7 +16984,7 @@ const Nb = {
|
|
|
16980
16984
|
}
|
|
16981
16985
|
}
|
|
16982
16986
|
},
|
|
16983
|
-
[
|
|
16987
|
+
[Qe.LAYOUT]: {
|
|
16984
16988
|
order: 1,
|
|
16985
16989
|
[vf]: {
|
|
16986
16990
|
order: 0,
|
|
@@ -16993,7 +16997,7 @@ const Nb = {
|
|
|
16993
16997
|
order: 1,
|
|
16994
16998
|
menuItemFactory: sb
|
|
16995
16999
|
},
|
|
16996
|
-
[
|
|
17000
|
+
[Qo.id]: {
|
|
16997
17001
|
order: 2,
|
|
16998
17002
|
menuItemFactory: lb
|
|
16999
17003
|
},
|
|
@@ -17025,7 +17029,7 @@ const Nb = {
|
|
|
17025
17029
|
[$m]: {
|
|
17026
17030
|
order: 2,
|
|
17027
17031
|
menuItemFactory: j0,
|
|
17028
|
-
[
|
|
17032
|
+
[Kn.id]: {
|
|
17029
17033
|
order: 0,
|
|
17030
17034
|
menuItemFactory: Da
|
|
17031
17035
|
},
|
|
@@ -17047,11 +17051,11 @@ const Nb = {
|
|
|
17047
17051
|
menuItemFactory: qa,
|
|
17048
17052
|
[$r.id]: {
|
|
17049
17053
|
order: 0,
|
|
17050
|
-
menuItemFactory:
|
|
17054
|
+
menuItemFactory: Qa
|
|
17051
17055
|
},
|
|
17052
17056
|
[ni.id]: {
|
|
17053
17057
|
order: 1,
|
|
17054
|
-
menuItemFactory:
|
|
17058
|
+
menuItemFactory: Ka
|
|
17055
17059
|
},
|
|
17056
17060
|
[ti.id]: {
|
|
17057
17061
|
order: 2,
|
|
@@ -17063,15 +17067,15 @@ const Nb = {
|
|
|
17063
17067
|
}
|
|
17064
17068
|
}
|
|
17065
17069
|
},
|
|
17066
|
-
[
|
|
17070
|
+
[Qe.DATA]: {
|
|
17067
17071
|
order: 2
|
|
17068
17072
|
},
|
|
17069
|
-
[
|
|
17073
|
+
[Qe.OTHERS]: {
|
|
17070
17074
|
order: 3
|
|
17071
17075
|
}
|
|
17072
17076
|
},
|
|
17073
17077
|
[Ct.COL_HEADER]: {
|
|
17074
|
-
[
|
|
17078
|
+
[Qe.FORMAT]: {
|
|
17075
17079
|
[mn.name]: {
|
|
17076
17080
|
order: 0,
|
|
17077
17081
|
menuItemFactory: Jr
|
|
@@ -17087,7 +17091,7 @@ const Nb = {
|
|
|
17087
17091
|
[Ss]: {
|
|
17088
17092
|
order: 3,
|
|
17089
17093
|
menuItemFactory: Aa,
|
|
17090
|
-
[
|
|
17094
|
+
[Ki.id]: {
|
|
17091
17095
|
order: 0,
|
|
17092
17096
|
menuItemFactory: Ha
|
|
17093
17097
|
},
|
|
@@ -17095,7 +17099,7 @@ const Nb = {
|
|
|
17095
17099
|
order: 1,
|
|
17096
17100
|
menuItemFactory: Va
|
|
17097
17101
|
},
|
|
17098
|
-
[
|
|
17102
|
+
[Kr.id]: {
|
|
17099
17103
|
order: 2,
|
|
17100
17104
|
menuItemFactory: ka
|
|
17101
17105
|
},
|
|
@@ -17121,7 +17125,7 @@ const Nb = {
|
|
|
17121
17125
|
}
|
|
17122
17126
|
}
|
|
17123
17127
|
},
|
|
17124
|
-
[
|
|
17128
|
+
[Qe.LAYOUT]: {
|
|
17125
17129
|
order: 1,
|
|
17126
17130
|
[xg.id]: {
|
|
17127
17131
|
order: 0,
|
|
@@ -17137,7 +17141,7 @@ const Nb = {
|
|
|
17137
17141
|
},
|
|
17138
17142
|
[Cg.id]: {
|
|
17139
17143
|
order: 2,
|
|
17140
|
-
menuItemFactory:
|
|
17144
|
+
menuItemFactory: K0
|
|
17141
17145
|
},
|
|
17142
17146
|
[_o.id]: {
|
|
17143
17147
|
order: 2,
|
|
@@ -17154,7 +17158,7 @@ const Nb = {
|
|
|
17154
17158
|
[Wc]: {
|
|
17155
17159
|
order: 5,
|
|
17156
17160
|
menuItemFactory: uh,
|
|
17157
|
-
[
|
|
17161
|
+
[Kn.id]: {
|
|
17158
17162
|
order: 0,
|
|
17159
17163
|
menuItemFactory: Da
|
|
17160
17164
|
},
|
|
@@ -17168,11 +17172,11 @@ const Nb = {
|
|
|
17168
17172
|
menuItemFactory: qa,
|
|
17169
17173
|
[$r.id]: {
|
|
17170
17174
|
order: 0,
|
|
17171
|
-
menuItemFactory:
|
|
17175
|
+
menuItemFactory: Qa
|
|
17172
17176
|
},
|
|
17173
17177
|
[ni.id]: {
|
|
17174
17178
|
order: 1,
|
|
17175
|
-
menuItemFactory:
|
|
17179
|
+
menuItemFactory: Ka
|
|
17176
17180
|
},
|
|
17177
17181
|
[ti.id]: {
|
|
17178
17182
|
order: 2,
|
|
@@ -17184,15 +17188,15 @@ const Nb = {
|
|
|
17184
17188
|
}
|
|
17185
17189
|
}
|
|
17186
17190
|
},
|
|
17187
|
-
[
|
|
17191
|
+
[Qe.DATA]: {
|
|
17188
17192
|
order: 2
|
|
17189
17193
|
},
|
|
17190
|
-
[
|
|
17194
|
+
[Qe.OTHERS]: {
|
|
17191
17195
|
order: 3
|
|
17192
17196
|
}
|
|
17193
17197
|
},
|
|
17194
17198
|
[Ct.ROW_HEADER]: {
|
|
17195
|
-
[
|
|
17199
|
+
[Qe.FORMAT]: {
|
|
17196
17200
|
[mn.name]: {
|
|
17197
17201
|
order: 0,
|
|
17198
17202
|
menuItemFactory: Jr
|
|
@@ -17208,7 +17212,7 @@ const Nb = {
|
|
|
17208
17212
|
[Ss]: {
|
|
17209
17213
|
order: 3,
|
|
17210
17214
|
menuItemFactory: Aa,
|
|
17211
|
-
[
|
|
17215
|
+
[Ki.id]: {
|
|
17212
17216
|
order: 0,
|
|
17213
17217
|
menuItemFactory: Ha
|
|
17214
17218
|
},
|
|
@@ -17216,7 +17220,7 @@ const Nb = {
|
|
|
17216
17220
|
order: 1,
|
|
17217
17221
|
menuItemFactory: Va
|
|
17218
17222
|
},
|
|
17219
|
-
[
|
|
17223
|
+
[Kr.id]: {
|
|
17220
17224
|
order: 2,
|
|
17221
17225
|
menuItemFactory: ka
|
|
17222
17226
|
},
|
|
@@ -17242,7 +17246,7 @@ const Nb = {
|
|
|
17242
17246
|
}
|
|
17243
17247
|
}
|
|
17244
17248
|
},
|
|
17245
|
-
[
|
|
17249
|
+
[Qe.LAYOUT]: {
|
|
17246
17250
|
order: 1,
|
|
17247
17251
|
[Tg.id]: {
|
|
17248
17252
|
order: 0,
|
|
@@ -17262,7 +17266,7 @@ const Nb = {
|
|
|
17262
17266
|
},
|
|
17263
17267
|
[fg.id]: {
|
|
17264
17268
|
order: 2,
|
|
17265
|
-
menuItemFactory:
|
|
17269
|
+
menuItemFactory: Q0
|
|
17266
17270
|
},
|
|
17267
17271
|
[hg.id]: {
|
|
17268
17272
|
order: 3,
|
|
@@ -17275,7 +17279,7 @@ const Nb = {
|
|
|
17275
17279
|
[Wc]: {
|
|
17276
17280
|
order: 5,
|
|
17277
17281
|
menuItemFactory: uh,
|
|
17278
|
-
[
|
|
17282
|
+
[Kn.id]: {
|
|
17279
17283
|
order: 0,
|
|
17280
17284
|
menuItemFactory: Da
|
|
17281
17285
|
},
|
|
@@ -17289,11 +17293,11 @@ const Nb = {
|
|
|
17289
17293
|
menuItemFactory: qa,
|
|
17290
17294
|
[$r.id]: {
|
|
17291
17295
|
order: 0,
|
|
17292
|
-
menuItemFactory:
|
|
17296
|
+
menuItemFactory: Qa
|
|
17293
17297
|
},
|
|
17294
17298
|
[ni.id]: {
|
|
17295
17299
|
order: 1,
|
|
17296
|
-
menuItemFactory:
|
|
17300
|
+
menuItemFactory: Ka
|
|
17297
17301
|
},
|
|
17298
17302
|
[ti.id]: {
|
|
17299
17303
|
order: 2,
|
|
@@ -17305,15 +17309,15 @@ const Nb = {
|
|
|
17305
17309
|
}
|
|
17306
17310
|
}
|
|
17307
17311
|
},
|
|
17308
|
-
[
|
|
17312
|
+
[Qe.DATA]: {
|
|
17309
17313
|
order: 2
|
|
17310
17314
|
},
|
|
17311
|
-
[
|
|
17315
|
+
[Qe.OTHERS]: {
|
|
17312
17316
|
order: 3
|
|
17313
17317
|
}
|
|
17314
17318
|
},
|
|
17315
17319
|
[Ct.FOOTER_TABS]: {
|
|
17316
|
-
[
|
|
17320
|
+
[Qe.OTHERS]: {
|
|
17317
17321
|
order: 0,
|
|
17318
17322
|
[fa.id]: {
|
|
17319
17323
|
order: 0,
|
|
@@ -17362,7 +17366,7 @@ const Nb = {
|
|
|
17362
17366
|
}
|
|
17363
17367
|
},
|
|
17364
17368
|
[Ct.FOOTER_MENU]: {
|
|
17365
|
-
[
|
|
17369
|
+
[Qe.OTHERS]: {
|
|
17366
17370
|
[Mg.id]: {
|
|
17367
17371
|
order: 1,
|
|
17368
17372
|
menuItemFactory: rb
|
|
@@ -17387,7 +17391,7 @@ const Nb = {
|
|
|
17387
17391
|
priority: 100,
|
|
17388
17392
|
preconditions: Oe,
|
|
17389
17393
|
staticParameters: {
|
|
17390
|
-
direction:
|
|
17394
|
+
direction: U.DOWN
|
|
17391
17395
|
}
|
|
17392
17396
|
}, Rf = {
|
|
17393
17397
|
id: Lt.id,
|
|
@@ -17397,7 +17401,7 @@ const Nb = {
|
|
|
17397
17401
|
priority: 100,
|
|
17398
17402
|
preconditions: Oe,
|
|
17399
17403
|
staticParameters: {
|
|
17400
|
-
direction:
|
|
17404
|
+
direction: U.UP
|
|
17401
17405
|
}
|
|
17402
17406
|
}, If = {
|
|
17403
17407
|
id: Lt.id,
|
|
@@ -17407,7 +17411,7 @@ const Nb = {
|
|
|
17407
17411
|
priority: 100,
|
|
17408
17412
|
preconditions: Am,
|
|
17409
17413
|
staticParameters: {
|
|
17410
|
-
direction:
|
|
17414
|
+
direction: U.LEFT
|
|
17411
17415
|
}
|
|
17412
17416
|
}, yf = {
|
|
17413
17417
|
id: Lt.id,
|
|
@@ -17417,7 +17421,7 @@ const Nb = {
|
|
|
17417
17421
|
priority: 100,
|
|
17418
17422
|
preconditions: Am,
|
|
17419
17423
|
staticParameters: {
|
|
17420
|
-
direction:
|
|
17424
|
+
direction: U.RIGHT
|
|
17421
17425
|
}
|
|
17422
17426
|
}, Mf = {
|
|
17423
17427
|
id: Ln.id,
|
|
@@ -17427,7 +17431,7 @@ const Nb = {
|
|
|
17427
17431
|
priority: 100,
|
|
17428
17432
|
preconditions: Oe,
|
|
17429
17433
|
staticParameters: {
|
|
17430
|
-
direction:
|
|
17434
|
+
direction: U.RIGHT,
|
|
17431
17435
|
keycode: Y.TAB
|
|
17432
17436
|
}
|
|
17433
17437
|
}, Ef = {
|
|
@@ -17438,7 +17442,7 @@ const Nb = {
|
|
|
17438
17442
|
priority: 100,
|
|
17439
17443
|
preconditions: Oe,
|
|
17440
17444
|
staticParameters: {
|
|
17441
|
-
direction:
|
|
17445
|
+
direction: U.LEFT,
|
|
17442
17446
|
keycode: Y.TAB
|
|
17443
17447
|
}
|
|
17444
17448
|
}, Tf = {
|
|
@@ -17449,7 +17453,7 @@ const Nb = {
|
|
|
17449
17453
|
priority: 100,
|
|
17450
17454
|
preconditions: Oe,
|
|
17451
17455
|
staticParameters: {
|
|
17452
|
-
direction:
|
|
17456
|
+
direction: U.DOWN,
|
|
17453
17457
|
keycode: Y.ENTER
|
|
17454
17458
|
}
|
|
17455
17459
|
}, Pf = {
|
|
@@ -17460,7 +17464,7 @@ const Nb = {
|
|
|
17460
17464
|
priority: 100,
|
|
17461
17465
|
preconditions: Oe,
|
|
17462
17466
|
staticParameters: {
|
|
17463
|
-
direction:
|
|
17467
|
+
direction: U.UP,
|
|
17464
17468
|
keycode: Y.ENTER
|
|
17465
17469
|
}
|
|
17466
17470
|
}, xf = {
|
|
@@ -17470,7 +17474,7 @@ const Nb = {
|
|
|
17470
17474
|
binding: Y.ARROW_DOWN | Se.CTRL_COMMAND,
|
|
17471
17475
|
preconditions: Oe,
|
|
17472
17476
|
staticParameters: {
|
|
17473
|
-
direction:
|
|
17477
|
+
direction: U.DOWN,
|
|
17474
17478
|
jumpOver: Dn.moveGap
|
|
17475
17479
|
}
|
|
17476
17480
|
}, Of = {
|
|
@@ -17480,7 +17484,7 @@ const Nb = {
|
|
|
17480
17484
|
binding: Y.ARROW_UP | Se.CTRL_COMMAND,
|
|
17481
17485
|
preconditions: Oe,
|
|
17482
17486
|
staticParameters: {
|
|
17483
|
-
direction:
|
|
17487
|
+
direction: U.UP,
|
|
17484
17488
|
jumpOver: Dn.moveGap
|
|
17485
17489
|
}
|
|
17486
17490
|
}, Af = {
|
|
@@ -17490,7 +17494,7 @@ const Nb = {
|
|
|
17490
17494
|
binding: Y.ARROW_LEFT | Se.CTRL_COMMAND,
|
|
17491
17495
|
preconditions: Oe,
|
|
17492
17496
|
staticParameters: {
|
|
17493
|
-
direction:
|
|
17497
|
+
direction: U.LEFT,
|
|
17494
17498
|
jumpOver: Dn.moveGap
|
|
17495
17499
|
}
|
|
17496
17500
|
}, Hf = {
|
|
@@ -17500,7 +17504,7 @@ const Nb = {
|
|
|
17500
17504
|
binding: Y.ARROW_RIGHT | Se.CTRL_COMMAND,
|
|
17501
17505
|
preconditions: Oe,
|
|
17502
17506
|
staticParameters: {
|
|
17503
|
-
direction:
|
|
17507
|
+
direction: U.RIGHT,
|
|
17504
17508
|
jumpOver: Dn.moveGap
|
|
17505
17509
|
}
|
|
17506
17510
|
}, Vf = {
|
|
@@ -17510,7 +17514,7 @@ const Nb = {
|
|
|
17510
17514
|
binding: Y.ARROW_DOWN | Se.SHIFT,
|
|
17511
17515
|
preconditions: Oe,
|
|
17512
17516
|
staticParameters: {
|
|
17513
|
-
direction:
|
|
17517
|
+
direction: U.DOWN
|
|
17514
17518
|
}
|
|
17515
17519
|
}, kf = {
|
|
17516
17520
|
id: Gt.id,
|
|
@@ -17519,7 +17523,7 @@ const Nb = {
|
|
|
17519
17523
|
binding: Y.ARROW_UP | Se.SHIFT,
|
|
17520
17524
|
preconditions: Oe,
|
|
17521
17525
|
staticParameters: {
|
|
17522
|
-
direction:
|
|
17526
|
+
direction: U.UP
|
|
17523
17527
|
}
|
|
17524
17528
|
}, Nf = {
|
|
17525
17529
|
id: Gt.id,
|
|
@@ -17528,7 +17532,7 @@ const Nb = {
|
|
|
17528
17532
|
binding: Y.ARROW_LEFT | Se.SHIFT,
|
|
17529
17533
|
preconditions: Oe,
|
|
17530
17534
|
staticParameters: {
|
|
17531
|
-
direction:
|
|
17535
|
+
direction: U.LEFT
|
|
17532
17536
|
}
|
|
17533
17537
|
}, Df = {
|
|
17534
17538
|
id: Gt.id,
|
|
@@ -17537,7 +17541,7 @@ const Nb = {
|
|
|
17537
17541
|
binding: Y.ARROW_RIGHT | Se.SHIFT,
|
|
17538
17542
|
preconditions: Oe,
|
|
17539
17543
|
staticParameters: {
|
|
17540
|
-
direction:
|
|
17544
|
+
direction: U.RIGHT
|
|
17541
17545
|
}
|
|
17542
17546
|
}, Lf = {
|
|
17543
17547
|
id: Gt.id,
|
|
@@ -17546,7 +17550,7 @@ const Nb = {
|
|
|
17546
17550
|
binding: Y.ARROW_DOWN | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17547
17551
|
preconditions: Oe,
|
|
17548
17552
|
staticParameters: {
|
|
17549
|
-
direction:
|
|
17553
|
+
direction: U.DOWN,
|
|
17550
17554
|
jumpOver: Dn.moveGap
|
|
17551
17555
|
}
|
|
17552
17556
|
}, Wf = {
|
|
@@ -17556,7 +17560,7 @@ const Nb = {
|
|
|
17556
17560
|
binding: Y.ARROW_UP | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17557
17561
|
preconditions: Oe,
|
|
17558
17562
|
staticParameters: {
|
|
17559
|
-
direction:
|
|
17563
|
+
direction: U.UP,
|
|
17560
17564
|
jumpOver: Dn.moveGap
|
|
17561
17565
|
}
|
|
17562
17566
|
}, Bf = {
|
|
@@ -17566,7 +17570,7 @@ const Nb = {
|
|
|
17566
17570
|
binding: Y.ARROW_LEFT | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17567
17571
|
preconditions: Oe,
|
|
17568
17572
|
staticParameters: {
|
|
17569
|
-
direction:
|
|
17573
|
+
direction: U.LEFT,
|
|
17570
17574
|
jumpOver: Dn.moveGap
|
|
17571
17575
|
}
|
|
17572
17576
|
}, Ff = {
|
|
@@ -17576,11 +17580,11 @@ const Nb = {
|
|
|
17576
17580
|
binding: Y.ARROW_RIGHT | Se.SHIFT | Se.CTRL_COMMAND,
|
|
17577
17581
|
preconditions: Oe,
|
|
17578
17582
|
staticParameters: {
|
|
17579
|
-
direction:
|
|
17583
|
+
direction: U.RIGHT,
|
|
17580
17584
|
jumpOver: Dn.moveGap
|
|
17581
17585
|
}
|
|
17582
17586
|
}, Uf = {
|
|
17583
|
-
id:
|
|
17587
|
+
id: Ql.id,
|
|
17584
17588
|
description: "shortcut.sheet.select-all",
|
|
17585
17589
|
group: "3_sheet-view",
|
|
17586
17590
|
binding: Y.A | Se.CTRL_COMMAND,
|
|
@@ -17630,7 +17634,7 @@ const Nb = {
|
|
|
17630
17634
|
preconditions: (r) => Oe(r),
|
|
17631
17635
|
binding: Se.SHIFT + Y.BACKSPACE
|
|
17632
17636
|
}, Wb = {
|
|
17633
|
-
id:
|
|
17637
|
+
id: Kd.id,
|
|
17634
17638
|
// when focusing on any other input tag do not trigger this shortcut
|
|
17635
17639
|
preconditions: (r) => Oe(r),
|
|
17636
17640
|
binding: Se.SHIFT + Y.DELETE
|
|
@@ -17647,7 +17651,7 @@ const Nb = {
|
|
|
17647
17651
|
}, qf = {
|
|
17648
17652
|
id: id.id,
|
|
17649
17653
|
binding: Y.EQUAL | Se.CTRL_COMMAND
|
|
17650
|
-
},
|
|
17654
|
+
}, Qf = {
|
|
17651
17655
|
id: zo.id,
|
|
17652
17656
|
description: "shortcut.sheet.zoom-out",
|
|
17653
17657
|
binding: Y.MINUS | Se.CTRL_COMMAND,
|
|
@@ -17657,7 +17661,7 @@ const Nb = {
|
|
|
17657
17661
|
staticParameters: {
|
|
17658
17662
|
delta: -0.2
|
|
17659
17663
|
}
|
|
17660
|
-
},
|
|
17664
|
+
}, Kf = {
|
|
17661
17665
|
id: id.id,
|
|
17662
17666
|
binding: Y.MINUS | Se.CTRL_COMMAND
|
|
17663
17667
|
}, Jf = {
|
|
@@ -17688,7 +17692,7 @@ let tl = class extends oe {
|
|
|
17688
17692
|
}
|
|
17689
17693
|
_initComponents() {
|
|
17690
17694
|
const r = this._componentManager;
|
|
17691
|
-
this.disposeWithMe(r.register(Sn,
|
|
17695
|
+
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
17696
|
}
|
|
17693
17697
|
_initCommands() {
|
|
17694
17698
|
[
|
|
@@ -17708,7 +17712,7 @@ let tl = class extends oe {
|
|
|
17708
17712
|
ra,
|
|
17709
17713
|
gn,
|
|
17710
17714
|
um,
|
|
17711
|
-
|
|
17715
|
+
Ql,
|
|
17712
17716
|
jd,
|
|
17713
17717
|
vd,
|
|
17714
17718
|
si,
|
|
@@ -17734,7 +17738,7 @@ let tl = class extends oe {
|
|
|
17734
17738
|
la,
|
|
17735
17739
|
hn,
|
|
17736
17740
|
uo,
|
|
17737
|
-
|
|
17741
|
+
Kn,
|
|
17738
17742
|
aa,
|
|
17739
17743
|
ca,
|
|
17740
17744
|
hm,
|
|
@@ -17745,7 +17749,7 @@ let tl = class extends oe {
|
|
|
17745
17749
|
Zl,
|
|
17746
17750
|
hi,
|
|
17747
17751
|
ui,
|
|
17748
|
-
|
|
17752
|
+
Qo,
|
|
17749
17753
|
qo,
|
|
17750
17754
|
zd,
|
|
17751
17755
|
hr,
|
|
@@ -17799,11 +17803,11 @@ let tl = class extends oe {
|
|
|
17799
17803
|
Uf,
|
|
17800
17804
|
// view shortcuts
|
|
17801
17805
|
Gf,
|
|
17802
|
-
|
|
17806
|
+
Qf,
|
|
17803
17807
|
Jf,
|
|
17804
17808
|
$f,
|
|
17805
17809
|
qf,
|
|
17806
|
-
|
|
17810
|
+
Kf,
|
|
17807
17811
|
// toggle cell style shortcuts
|
|
17808
17812
|
Xf,
|
|
17809
17813
|
zf,
|
|
@@ -17846,7 +17850,7 @@ let tl = class extends oe {
|
|
|
17846
17850
|
}
|
|
17847
17851
|
};
|
|
17848
17852
|
tl = Fb([
|
|
17849
|
-
Un(0, k(
|
|
17853
|
+
Un(0, k(Rt)),
|
|
17850
17854
|
Un(1, k(Zt)),
|
|
17851
17855
|
Un(2, Al),
|
|
17852
17856
|
Un(3, L),
|
|
@@ -18075,7 +18079,7 @@ var Gb = Object.getOwnPropertyDescriptor, qb = (r, e, t, n) => {
|
|
|
18075
18079
|
for (var i = n > 1 ? void 0 : n ? Gb(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
18076
18080
|
(s = r[o]) && (i = s(i) || i);
|
|
18077
18081
|
return i;
|
|
18078
|
-
},
|
|
18082
|
+
}, Qb = (r, e) => (t, n) => e(t, n, r);
|
|
18079
18083
|
let nl = class extends oe {
|
|
18080
18084
|
constructor(r, e) {
|
|
18081
18085
|
super(), this._context = r, this._componentManager = e, this._initComponent();
|
|
@@ -18087,9 +18091,9 @@ let nl = class extends oe {
|
|
|
18087
18091
|
}
|
|
18088
18092
|
};
|
|
18089
18093
|
nl = qb([
|
|
18090
|
-
|
|
18094
|
+
Qb(1, k(Zt))
|
|
18091
18095
|
], nl);
|
|
18092
|
-
const Ih = 2,
|
|
18096
|
+
const Ih = 2, Kb = [
|
|
18093
18097
|
{ value: "DEFAULT_PASTE", label: "rightClick.paste" },
|
|
18094
18098
|
{ value: "SPECIAL_PASTE_VALUE", label: "rightClick.pasteValue" },
|
|
18095
18099
|
{ value: "SPECIAL_PASTE_FORMAT", label: "rightClick.pasteFormat" },
|
|
@@ -18140,7 +18144,7 @@ const Ih = 2, Qb = [
|
|
|
18140
18144
|
Ed,
|
|
18141
18145
|
{
|
|
18142
18146
|
align: "start",
|
|
18143
|
-
items:
|
|
18147
|
+
items: Kb.map((g) => ({
|
|
18144
18148
|
type: "checkbox",
|
|
18145
18149
|
value: g.value,
|
|
18146
18150
|
label: n.t(g.label),
|
|
@@ -18261,7 +18265,7 @@ function nR(r, e, t) {
|
|
|
18261
18265
|
params: { toRange: d, fromRange: u }
|
|
18262
18266
|
}), 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
18267
|
{
|
|
18264
|
-
id:
|
|
18268
|
+
id: Qt.id,
|
|
18265
18269
|
params: {
|
|
18266
18270
|
unitId: l,
|
|
18267
18271
|
subUnitId: s,
|
|
@@ -18269,7 +18273,7 @@ function nR(r, e, t) {
|
|
|
18269
18273
|
}
|
|
18270
18274
|
},
|
|
18271
18275
|
{
|
|
18272
|
-
id:
|
|
18276
|
+
id: Qt.id,
|
|
18273
18277
|
params: {
|
|
18274
18278
|
unitId: l,
|
|
18275
18279
|
subUnitId: s,
|
|
@@ -18277,7 +18281,7 @@ function nR(r, e, t) {
|
|
|
18277
18281
|
}
|
|
18278
18282
|
},
|
|
18279
18283
|
{
|
|
18280
|
-
id:
|
|
18284
|
+
id: Kt.id,
|
|
18281
18285
|
params: {
|
|
18282
18286
|
unitId: l,
|
|
18283
18287
|
subUnitId: c,
|
|
@@ -18286,7 +18290,7 @@ function nR(r, e, t) {
|
|
|
18286
18290
|
}
|
|
18287
18291
|
], j = [
|
|
18288
18292
|
{
|
|
18289
|
-
id:
|
|
18293
|
+
id: Qt.id,
|
|
18290
18294
|
params: {
|
|
18291
18295
|
unitId: l,
|
|
18292
18296
|
subUnitId: c,
|
|
@@ -18294,7 +18298,7 @@ function nR(r, e, t) {
|
|
|
18294
18298
|
}
|
|
18295
18299
|
},
|
|
18296
18300
|
{
|
|
18297
|
-
id:
|
|
18301
|
+
id: Kt.id,
|
|
18298
18302
|
params: {
|
|
18299
18303
|
unitId: l,
|
|
18300
18304
|
subUnitId: c,
|
|
@@ -18302,7 +18306,7 @@ function nR(r, e, t) {
|
|
|
18302
18306
|
}
|
|
18303
18307
|
},
|
|
18304
18308
|
{
|
|
18305
|
-
id:
|
|
18309
|
+
id: Kt.id,
|
|
18306
18310
|
params: {
|
|
18307
18311
|
unitId: l,
|
|
18308
18312
|
subUnitId: s,
|
|
@@ -18523,7 +18527,7 @@ function Uc(r, e, t) {
|
|
|
18523
18527
|
ranges: _
|
|
18524
18528
|
};
|
|
18525
18529
|
n.push({
|
|
18526
|
-
id:
|
|
18530
|
+
id: Qt.id,
|
|
18527
18531
|
params: S
|
|
18528
18532
|
});
|
|
18529
18533
|
const I = Wl(
|
|
@@ -18531,7 +18535,7 @@ function Uc(r, e, t) {
|
|
|
18531
18535
|
S
|
|
18532
18536
|
);
|
|
18533
18537
|
i.push({
|
|
18534
|
-
id:
|
|
18538
|
+
id: Kt.id,
|
|
18535
18539
|
params: I
|
|
18536
18540
|
});
|
|
18537
18541
|
}
|
|
@@ -18541,7 +18545,7 @@ function Uc(r, e, t) {
|
|
|
18541
18545
|
ranges: h
|
|
18542
18546
|
};
|
|
18543
18547
|
h.length > 0 && n.push({
|
|
18544
|
-
id:
|
|
18548
|
+
id: Kt.id,
|
|
18545
18549
|
params: v
|
|
18546
18550
|
});
|
|
18547
18551
|
const p = Fl(
|
|
@@ -18549,7 +18553,7 @@ function Uc(r, e, t) {
|
|
|
18549
18553
|
v
|
|
18550
18554
|
);
|
|
18551
18555
|
return h.length > 0 && i.push({
|
|
18552
|
-
id:
|
|
18556
|
+
id: Qt.id,
|
|
18553
18557
|
params: p
|
|
18554
18558
|
}), { undos: i, redos: n };
|
|
18555
18559
|
}
|
|
@@ -18636,12 +18640,12 @@ let pi = class extends Nn {
|
|
|
18636
18640
|
return t.length > 0 ? t : void 0;
|
|
18637
18641
|
}
|
|
18638
18642
|
_init() {
|
|
18639
|
-
[mn,
|
|
18643
|
+
[mn, Kd, fn].forEach(
|
|
18640
18644
|
(t) => this.disposeWithMe(this._commandService.registerMultipleCommand(t))
|
|
18641
18645
|
), [
|
|
18642
|
-
|
|
18646
|
+
Ki,
|
|
18643
18647
|
Ji,
|
|
18644
|
-
|
|
18648
|
+
Kr,
|
|
18645
18649
|
$i,
|
|
18646
18650
|
Lc,
|
|
18647
18651
|
jm
|
|
@@ -18715,7 +18719,7 @@ let pi = class extends Nn {
|
|
|
18715
18719
|
i = e._getWorksheet(o, s), t = o, n = s;
|
|
18716
18720
|
const a = e._configService.getConfig(WS), c = l.rows[l.rows.length - 1], d = l.cols[l.cols.length - 1];
|
|
18717
18721
|
return a && c * d > a ? (e._messageService.show({
|
|
18718
|
-
type:
|
|
18722
|
+
type: Kg.Error,
|
|
18719
18723
|
content: e._localService.t("clipboard.paste.exceedMaxCells")
|
|
18720
18724
|
}), !1) : !0;
|
|
18721
18725
|
},
|
|
@@ -18728,7 +18732,7 @@ let pi = class extends Nn {
|
|
|
18728
18732
|
const { height: R } = S || {};
|
|
18729
18733
|
R && (p[I] = {
|
|
18730
18734
|
h: Number.parseFloat(R),
|
|
18731
|
-
hd:
|
|
18735
|
+
hd: Ke.FALSE
|
|
18732
18736
|
});
|
|
18733
18737
|
});
|
|
18734
18738
|
const C = {
|
|
@@ -18810,7 +18814,7 @@ let pi = class extends Nn {
|
|
|
18810
18814
|
range: S,
|
|
18811
18815
|
colInfo: s.slice(m).map((R, y) => ({
|
|
18812
18816
|
w: R.width ? Math.max(+R.width, i.getColumnWidth(v[y])) : f,
|
|
18813
|
-
hd:
|
|
18817
|
+
hd: Ke.FALSE
|
|
18814
18818
|
}))
|
|
18815
18819
|
};
|
|
18816
18820
|
c.push({
|
|
@@ -19128,7 +19132,7 @@ let pi = class extends Nn {
|
|
|
19128
19132
|
}
|
|
19129
19133
|
};
|
|
19130
19134
|
pi = sR([
|
|
19131
|
-
sn(0, k(
|
|
19135
|
+
sn(0, k(Rt)),
|
|
19132
19136
|
sn(1, N),
|
|
19133
19137
|
sn(2, Ce),
|
|
19134
19138
|
sn(3, L),
|
|
@@ -19348,13 +19352,13 @@ function ip(r, e, t) {
|
|
|
19348
19352
|
}
|
|
19349
19353
|
let a = 0;
|
|
19350
19354
|
switch (s) {
|
|
19351
|
-
case
|
|
19355
|
+
case It.RIGHT:
|
|
19352
19356
|
a = r.mergeInfo.endX - r.mergeInfo.startX - i;
|
|
19353
19357
|
break;
|
|
19354
|
-
case
|
|
19358
|
+
case It.CENTER:
|
|
19355
19359
|
a = (r.mergeInfo.endX - r.mergeInfo.startX - i) / 2;
|
|
19356
19360
|
break;
|
|
19357
|
-
case
|
|
19361
|
+
case It.UNSPECIFIED: {
|
|
19358
19362
|
t && (a = r.mergeInfo.endX - r.mergeInfo.startX - i);
|
|
19359
19363
|
break;
|
|
19360
19364
|
}
|
|
@@ -19407,7 +19411,7 @@ const jy = (r, e, t, n, i, o) => {
|
|
|
19407
19411
|
const m = r.get(Ce), f = m.getRenderById(c), v = m.getRenderById(e);
|
|
19408
19412
|
if (!f || !v)
|
|
19409
19413
|
return null;
|
|
19410
|
-
const p = f.with(
|
|
19414
|
+
const p = f.with(Qn).getSkeleton(), C = (y = v.with(he).getSkeletonParam(u)) == null ? void 0 : y.skeleton;
|
|
19411
19415
|
if (!p || !C)
|
|
19412
19416
|
return null;
|
|
19413
19417
|
const _ = (E = (M = p.getViewModel().getBody()) == null ? void 0 : M.customRanges) == null ? void 0 : E.find((T) => T.rangeId === o);
|
|
@@ -19590,7 +19594,7 @@ let Ir = class extends oe {
|
|
|
19590
19594
|
if (!i)
|
|
19591
19595
|
return;
|
|
19592
19596
|
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 !==
|
|
19597
|
+
if (!c || c.viewportKey !== F.VIEW_ROW_TOP && c.viewportKey !== F.VIEW_ROW_BOTTOM)
|
|
19594
19598
|
return;
|
|
19595
19599
|
const d = {
|
|
19596
19600
|
x: c.viewportScrollX,
|
|
@@ -19603,7 +19607,7 @@ let Ir = class extends oe {
|
|
|
19603
19607
|
if (!i)
|
|
19604
19608
|
return;
|
|
19605
19609
|
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 !==
|
|
19610
|
+
if (!c || c.viewportKey !== F.VIEW_COLUMN_LEFT && c.viewportKey !== F.VIEW_COLUMN_RIGHT)
|
|
19607
19611
|
return;
|
|
19608
19612
|
const d = {
|
|
19609
19613
|
x: c.viewportScrollX,
|
|
@@ -20006,50 +20010,50 @@ function ER(r) {
|
|
|
20006
20010
|
}
|
|
20007
20011
|
const TR = {
|
|
20008
20012
|
[Ct.MAIN_AREA]: {
|
|
20009
|
-
[
|
|
20013
|
+
[Qe.FORMAT]: {
|
|
20010
20014
|
[mn.name]: {
|
|
20011
20015
|
order: 0,
|
|
20012
20016
|
menuItemFactory: Jr
|
|
20013
20017
|
}
|
|
20014
20018
|
},
|
|
20015
|
-
[
|
|
20019
|
+
[Qe.DATA]: {
|
|
20016
20020
|
order: 2
|
|
20017
20021
|
},
|
|
20018
|
-
[
|
|
20022
|
+
[Qe.OTHERS]: {
|
|
20019
20023
|
order: 3
|
|
20020
20024
|
}
|
|
20021
20025
|
},
|
|
20022
20026
|
[Ct.COL_HEADER]: {
|
|
20023
|
-
[
|
|
20027
|
+
[Qe.FORMAT]: {
|
|
20024
20028
|
[mn.name]: {
|
|
20025
20029
|
order: 0,
|
|
20026
20030
|
menuItemFactory: Jr
|
|
20027
20031
|
}
|
|
20028
20032
|
},
|
|
20029
|
-
[
|
|
20033
|
+
[Qe.LAYOUT]: {
|
|
20030
20034
|
order: 1
|
|
20031
20035
|
},
|
|
20032
|
-
[
|
|
20036
|
+
[Qe.DATA]: {
|
|
20033
20037
|
order: 2
|
|
20034
20038
|
},
|
|
20035
|
-
[
|
|
20039
|
+
[Qe.OTHERS]: {
|
|
20036
20040
|
order: 3
|
|
20037
20041
|
}
|
|
20038
20042
|
},
|
|
20039
20043
|
[Ct.ROW_HEADER]: {
|
|
20040
|
-
[
|
|
20044
|
+
[Qe.FORMAT]: {
|
|
20041
20045
|
[mn.name]: {
|
|
20042
20046
|
order: 0,
|
|
20043
20047
|
menuItemFactory: Jr
|
|
20044
20048
|
}
|
|
20045
20049
|
},
|
|
20046
|
-
[
|
|
20050
|
+
[Qe.LAYOUT]: {
|
|
20047
20051
|
order: 1
|
|
20048
20052
|
},
|
|
20049
|
-
[
|
|
20053
|
+
[Qe.DATA]: {
|
|
20050
20054
|
order: 2
|
|
20051
20055
|
},
|
|
20052
|
-
[
|
|
20056
|
+
[Qe.OTHERS]: {
|
|
20053
20057
|
order: 3
|
|
20054
20058
|
}
|
|
20055
20059
|
}
|
|
@@ -20068,7 +20072,7 @@ let al = class extends oe {
|
|
|
20068
20072
|
}
|
|
20069
20073
|
_initCustomComponents() {
|
|
20070
20074
|
const r = this._componentManager;
|
|
20071
|
-
this.disposeWithMe(r.register(Sn,
|
|
20075
|
+
this.disposeWithMe(r.register(Sn, Qm)), this.disposeWithMe(r.register(ru, gf)), this.disposeWithMe(r.register(go, ff));
|
|
20072
20076
|
}
|
|
20073
20077
|
_initCommands() {
|
|
20074
20078
|
[
|
|
@@ -20088,7 +20092,7 @@ let al = class extends oe {
|
|
|
20088
20092
|
ra,
|
|
20089
20093
|
gn,
|
|
20090
20094
|
um,
|
|
20091
|
-
|
|
20095
|
+
Ql,
|
|
20092
20096
|
jd,
|
|
20093
20097
|
vd,
|
|
20094
20098
|
si,
|
|
@@ -20113,7 +20117,7 @@ let al = class extends oe {
|
|
|
20113
20117
|
la,
|
|
20114
20118
|
hn,
|
|
20115
20119
|
uo,
|
|
20116
|
-
|
|
20120
|
+
Kn,
|
|
20117
20121
|
aa,
|
|
20118
20122
|
ca,
|
|
20119
20123
|
Cd,
|
|
@@ -20123,7 +20127,7 @@ let al = class extends oe {
|
|
|
20123
20127
|
Zl,
|
|
20124
20128
|
hi,
|
|
20125
20129
|
ui,
|
|
20126
|
-
|
|
20130
|
+
Qo,
|
|
20127
20131
|
qo,
|
|
20128
20132
|
zd,
|
|
20129
20133
|
hr,
|
|
@@ -20174,11 +20178,11 @@ let al = class extends oe {
|
|
|
20174
20178
|
Uf,
|
|
20175
20179
|
// view shortcuts
|
|
20176
20180
|
Gf,
|
|
20177
|
-
|
|
20181
|
+
Qf,
|
|
20178
20182
|
Jf,
|
|
20179
20183
|
$f,
|
|
20180
20184
|
qf,
|
|
20181
|
-
|
|
20185
|
+
Kf,
|
|
20182
20186
|
// toggle cell style shortcuts
|
|
20183
20187
|
Xf,
|
|
20184
20188
|
zf,
|
|
@@ -20212,7 +20216,7 @@ let al = class extends oe {
|
|
|
20212
20216
|
}
|
|
20213
20217
|
};
|
|
20214
20218
|
al = xR([
|
|
20215
|
-
dr(0, k(
|
|
20219
|
+
dr(0, k(Rt)),
|
|
20216
20220
|
dr(1, k(Zt)),
|
|
20217
20221
|
dr(2, Al),
|
|
20218
20222
|
dr(3, L),
|
|
@@ -20269,7 +20273,7 @@ let yo = class extends oe {
|
|
|
20269
20273
|
if (this._contextService.getContextValue(yl) === !0)
|
|
20270
20274
|
break;
|
|
20271
20275
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20272
|
-
workbookTypes: [
|
|
20276
|
+
workbookTypes: [Q],
|
|
20273
20277
|
rangeTypes: [ie],
|
|
20274
20278
|
worksheetTypes: [qt, te]
|
|
20275
20279
|
}), i = this._localeService.t("permission.dialog.editErr");
|
|
@@ -20278,14 +20282,14 @@ let yo = class extends oe {
|
|
|
20278
20282
|
if (t.visible === !1)
|
|
20279
20283
|
break;
|
|
20280
20284
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20281
|
-
workbookTypes: [
|
|
20285
|
+
workbookTypes: [Q],
|
|
20282
20286
|
rangeTypes: [ie],
|
|
20283
20287
|
worksheetTypes: [qt, te]
|
|
20284
20288
|
}), i = this._localeService.t("permission.dialog.editErr");
|
|
20285
20289
|
break;
|
|
20286
|
-
case
|
|
20290
|
+
case Kr.id:
|
|
20287
20291
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20288
|
-
workbookTypes: [
|
|
20292
|
+
workbookTypes: [Q],
|
|
20289
20293
|
rangeTypes: [ie],
|
|
20290
20294
|
worksheetTypes: [te, Tr]
|
|
20291
20295
|
}), i = this._localeService.t("permission.dialog.pasteErr");
|
|
@@ -20295,7 +20299,7 @@ let yo = class extends oe {
|
|
|
20295
20299
|
break;
|
|
20296
20300
|
case la.id:
|
|
20297
20301
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20298
|
-
workbookTypes: [
|
|
20302
|
+
workbookTypes: [Q],
|
|
20299
20303
|
rangeTypes: [ie],
|
|
20300
20304
|
worksheetTypes: [te, qt, Ze]
|
|
20301
20305
|
}), i = this._localeService.t("permission.dialog.commonErr");
|
|
@@ -20306,7 +20310,7 @@ let yo = class extends oe {
|
|
|
20306
20310
|
case Mi.id:
|
|
20307
20311
|
case Ei.id:
|
|
20308
20312
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20309
|
-
workbookTypes: [
|
|
20313
|
+
workbookTypes: [Q],
|
|
20310
20314
|
rangeTypes: [ie],
|
|
20311
20315
|
worksheetTypes: [Ze, te]
|
|
20312
20316
|
}), i = this._localeService.t("permission.dialog.setStyleErr");
|
|
@@ -20318,9 +20322,9 @@ let yo = class extends oe {
|
|
|
20318
20322
|
worksheetTypes: [Ps]
|
|
20319
20323
|
}), 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
20324
|
break;
|
|
20321
|
-
case
|
|
20325
|
+
case Kd.id:
|
|
20322
20326
|
n = this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20323
|
-
workbookTypes: [Xi,
|
|
20327
|
+
workbookTypes: [Xi, Q],
|
|
20324
20328
|
rangeTypes: [wc, ie],
|
|
20325
20329
|
worksheetTypes: [Ps, te]
|
|
20326
20330
|
}), 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 +20347,15 @@ let yo = class extends oe {
|
|
|
20343
20347
|
}
|
|
20344
20348
|
_permissionCheckByPaste(e) {
|
|
20345
20349
|
return e.value === et.SPECIAL_PASTE_VALUE || e.value === et.SPECIAL_PASTE_FORMULA ? this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20346
|
-
workbookTypes: [
|
|
20350
|
+
workbookTypes: [Q],
|
|
20347
20351
|
rangeTypes: [ie],
|
|
20348
20352
|
worksheetTypes: [Ze, te]
|
|
20349
20353
|
}) : e.value === et.SPECIAL_PASTE_FORMAT ? this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20350
|
-
workbookTypes: [
|
|
20354
|
+
workbookTypes: [Q],
|
|
20351
20355
|
rangeTypes: [ie],
|
|
20352
20356
|
worksheetTypes: [Ze, te]
|
|
20353
20357
|
}) : this._sheetPermissionCheckController.permissionCheckWithRanges({
|
|
20354
|
-
workbookTypes: [
|
|
20358
|
+
workbookTypes: [Q],
|
|
20355
20359
|
rangeTypes: [ie],
|
|
20356
20360
|
worksheetTypes: [qt, Ze, te]
|
|
20357
20361
|
});
|
|
@@ -20406,7 +20410,7 @@ let cl = class extends Nn {
|
|
|
20406
20410
|
if (!i)
|
|
20407
20411
|
return !1;
|
|
20408
20412
|
const { unitId: o, subUnitId: s } = i;
|
|
20409
|
-
if (!this._permissionService.composePermission([new
|
|
20413
|
+
if (!this._permissionService.composePermission([new Q(o).id, new te(o, s).id]).every((a) => a.value))
|
|
20410
20414
|
return !1;
|
|
20411
20415
|
if (!n)
|
|
20412
20416
|
return !0;
|
|
@@ -20454,7 +20458,7 @@ let cl = class extends Nn {
|
|
|
20454
20458
|
return !1;
|
|
20455
20459
|
const { worksheet: i, unitId: o, subUnitId: s } = n;
|
|
20456
20460
|
if (!this._permissionService.composePermission([
|
|
20457
|
-
new
|
|
20461
|
+
new Q(o).id,
|
|
20458
20462
|
new te(o, s).id,
|
|
20459
20463
|
new qt(o, s).id,
|
|
20460
20464
|
new Ze(o, s).id
|
|
@@ -20487,7 +20491,7 @@ let cl = class extends Nn {
|
|
|
20487
20491
|
if (!n)
|
|
20488
20492
|
return !1;
|
|
20489
20493
|
const { worksheet: i, unitId: o, subUnitId: s } = n;
|
|
20490
|
-
if (!this._permissionService.composePermission([new
|
|
20494
|
+
if (!this._permissionService.composePermission([new Q(o).id, new te(o, s).id]).every((g) => g.value))
|
|
20491
20495
|
return !1;
|
|
20492
20496
|
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
20497
|
return !(d == null ? void 0 : d.some((g) => {
|
|
@@ -20511,7 +20515,7 @@ let cl = class extends Nn {
|
|
|
20511
20515
|
handler: (e, t) => {
|
|
20512
20516
|
var s, l;
|
|
20513
20517
|
const n = this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
20514
|
-
return !(n == null ? void 0 : n.getActiveSheet()) || !n ? !1 : (l = (s = this._permissionService.getPermissionPoint(new
|
|
20518
|
+
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
20519
|
}
|
|
20516
20520
|
})
|
|
20517
20521
|
);
|
|
@@ -20526,7 +20530,7 @@ cl = VR([
|
|
|
20526
20530
|
_n(6, lt),
|
|
20527
20531
|
_n(7, k(po)),
|
|
20528
20532
|
_n(8, k(Wo)),
|
|
20529
|
-
_n(9, td(
|
|
20533
|
+
_n(9, td(Qs))
|
|
20530
20534
|
], cl);
|
|
20531
20535
|
var kR = Object.getOwnPropertyDescriptor, NR = (r, e, t, n) => {
|
|
20532
20536
|
for (var i = n > 1 ? void 0 : n ? kR(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -21033,11 +21037,11 @@ const sp = (r, e, t, n, i) => {
|
|
|
21033
21037
|
)
|
|
21034
21038
|
] });
|
|
21035
21039
|
}, 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(
|
|
21040
|
+
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
21041
|
if (!h || !g)
|
|
21038
21042
|
return null;
|
|
21039
21043
|
const m = h.getUnitId(), f = g.getSheetId(), v = (p) => {
|
|
21040
|
-
const C = p.split(",").map(
|
|
21044
|
+
const C = p.split(",").map(Qg).map((E) => E.range);
|
|
21041
21045
|
if (C.some((E) => !dv(E) || E.endColumn < E.startColumn || E.endRow < E.startRow))
|
|
21042
21046
|
return;
|
|
21043
21047
|
const _ = c.getCurrentUnitForType(x.UNIVER_SHEET), S = _ == null ? void 0 : _.getActiveSheet();
|
|
@@ -21076,9 +21080,9 @@ const sp = (r, e, t, n, i) => {
|
|
|
21076
21080
|
}
|
|
21077
21081
|
) })
|
|
21078
21082
|
] });
|
|
21079
|
-
},
|
|
21083
|
+
}, QR = (r) => {
|
|
21080
21084
|
var p, C;
|
|
21081
|
-
const { fromSheetBar: e, rule: t, oldRule: n } = r, i = D(
|
|
21085
|
+
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
21086
|
return Me(() => {
|
|
21083
21087
|
const _ = i.get(N), S = i.get(wi), I = _.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
21084
21088
|
if (!I) return;
|
|
@@ -21107,7 +21111,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
21107
21111
|
}
|
|
21108
21112
|
),
|
|
21109
21113
|
/* @__PURE__ */ w(
|
|
21110
|
-
|
|
21114
|
+
Kh,
|
|
21111
21115
|
{
|
|
21112
21116
|
components: v,
|
|
21113
21117
|
sharedProps: {
|
|
@@ -21136,7 +21140,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
21136
21140
|
]
|
|
21137
21141
|
}
|
|
21138
21142
|
);
|
|
21139
|
-
}, QR = "data:image/png;base64,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";
|
|
21143
|
+
}, KR = "data:image/png;base64,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";
|
|
21140
21144
|
function JR() {
|
|
21141
21145
|
var H;
|
|
21142
21146
|
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 +21363,7 @@ function JR() {
|
|
|
21359
21363
|
{
|
|
21360
21364
|
className: "univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center",
|
|
21361
21365
|
children: [
|
|
21362
|
-
/* @__PURE__ */ w("img", { width: 240, height: 120, src:
|
|
21366
|
+
/* @__PURE__ */ w("img", { width: 240, height: 120, src: KR, alt: "", draggable: !1 }),
|
|
21363
21367
|
/* @__PURE__ */ w("p", { className: "univer-w-60 univer-break-words univer-text-sm univer-text-gray-400", children: s.t("permission.dialog.listEmpty") })
|
|
21364
21368
|
]
|
|
21365
21369
|
}
|
|
@@ -21396,7 +21400,7 @@ const $R = ({ showDetail: r, fromSheetBar: e, rule: t, oldRule: n }) => {
|
|
|
21396
21400
|
if (!l) return null;
|
|
21397
21401
|
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
21402
|
return r ? /* @__PURE__ */ w(
|
|
21399
|
-
|
|
21403
|
+
QR,
|
|
21400
21404
|
{
|
|
21401
21405
|
fromSheetBar: e,
|
|
21402
21406
|
rule: t,
|
|
@@ -21876,7 +21880,7 @@ let Eo = class extends oe {
|
|
|
21876
21880
|
}
|
|
21877
21881
|
};
|
|
21878
21882
|
Eo = ou([
|
|
21879
|
-
Bt(0, k(
|
|
21883
|
+
Bt(0, k(Rt)),
|
|
21880
21884
|
Bt(1, k(Zt)),
|
|
21881
21885
|
Bt(2, k(kl))
|
|
21882
21886
|
], Eo);
|
|
@@ -22009,7 +22013,7 @@ let Xc = class extends oe {
|
|
|
22009
22013
|
r = !1;
|
|
22010
22014
|
const n = e[0];
|
|
22011
22015
|
if (!n.primary) return;
|
|
22012
|
-
const i = Pt(n, t), o = n.range.rangeType, { scene: s } = this._context, l = s.getViewport(
|
|
22016
|
+
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
22017
|
let d = 0, u = 0;
|
|
22014
22018
|
const h = t.rowHeaderWidth, g = this._layoutService.getContentElement().getBoundingClientRect();
|
|
22015
22019
|
switch (o) {
|
|
@@ -22094,7 +22098,7 @@ let zc = class extends oe {
|
|
|
22094
22098
|
return;
|
|
22095
22099
|
const { startRow: l, startColumn: a, endRow: c, endColumn: d } = s;
|
|
22096
22100
|
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 ===
|
|
22101
|
+
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
22102
|
}, 0);
|
|
22099
22103
|
}
|
|
22100
22104
|
_getFreeze() {
|
|
@@ -22107,7 +22111,7 @@ let zc = class extends oe {
|
|
|
22107
22111
|
_initScrollEventListener() {
|
|
22108
22112
|
const { scene: r } = this._context;
|
|
22109
22113
|
if (r == null) return;
|
|
22110
|
-
const e = r.getViewport(
|
|
22114
|
+
const e = r.getViewport(F.VIEW_MAIN);
|
|
22111
22115
|
e && (this.disposeWithMe(
|
|
22112
22116
|
We(
|
|
22113
22117
|
// wheel event --> set-scroll.command('sheet.operation.set-scroll') --> scroll.operation.ts -->
|
|
@@ -22192,7 +22196,7 @@ let zc = class extends oe {
|
|
|
22192
22196
|
this._scrollManagerService.setSearchParam(e);
|
|
22193
22197
|
const t = this._getSheetObject();
|
|
22194
22198
|
if (!t) return;
|
|
22195
|
-
const i = t.scene.getViewport(
|
|
22199
|
+
const i = t.scene.getViewport(F.VIEW_MAIN), o = this._scrollManagerService.getScrollStateByParam(e), { viewportScrollX: s, viewportScrollY: l } = this._scrollManagerService.calcViewportScrollFromRowColOffset(o);
|
|
22196
22200
|
i && (o ? (i.viewportScrollX = s, i.viewportScrollY = l) : (i.viewportScrollX = 0, i.viewportScrollY = 0), this._updateSceneSize(r));
|
|
22197
22201
|
})
|
|
22198
22202
|
));
|
|
@@ -22204,7 +22208,7 @@ let zc = class extends oe {
|
|
|
22204
22208
|
_initPointerScrollEvent() {
|
|
22205
22209
|
const r = this._getSheetObject();
|
|
22206
22210
|
if (!r) return;
|
|
22207
|
-
const e = this._scrollManagerService, t = r.scene, n = r.spreadsheet, i = t.getViewport(
|
|
22211
|
+
const e = this._scrollManagerService, t = r.scene, n = r.spreadsheet, i = t.getViewport(F.VIEW_MAIN), o = { x: 0, y: 0 };
|
|
22208
22212
|
let s = !1;
|
|
22209
22213
|
const l = { x: 0, y: 0 }, a = 0.95;
|
|
22210
22214
|
let c = null;
|
|
@@ -22280,7 +22284,7 @@ let zc = class extends oe {
|
|
|
22280
22284
|
const r = (n = this._getSheetObject()) == null ? void 0 : n.scene;
|
|
22281
22285
|
if (r == null)
|
|
22282
22286
|
return;
|
|
22283
|
-
const e = r.getViewport(
|
|
22287
|
+
const e = r.getViewport(F.VIEW_MAIN);
|
|
22284
22288
|
if (e == null)
|
|
22285
22289
|
return;
|
|
22286
22290
|
const t = (i = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : i.skeleton;
|
|
@@ -22294,7 +22298,7 @@ let zc = class extends oe {
|
|
|
22294
22298
|
if (t == null || n == null) return !1;
|
|
22295
22299
|
const i = (y = this._getSheetObject()) == null ? void 0 : y.scene;
|
|
22296
22300
|
if (i == null) return !1;
|
|
22297
|
-
const o = i.getViewport(
|
|
22301
|
+
const o = i.getViewport(F.VIEW_MAIN);
|
|
22298
22302
|
if (o == null || ((M = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : M.skeleton) == null) return !1;
|
|
22299
22303
|
const l = this._context.unit.getActiveSheet();
|
|
22300
22304
|
if (!l) return !1;
|
|
@@ -22545,7 +22549,7 @@ function II(r) {
|
|
|
22545
22549
|
const yI = (r) => {
|
|
22546
22550
|
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
22551
|
{
|
|
22548
|
-
workbookTypes: [
|
|
22552
|
+
workbookTypes: [Q],
|
|
22549
22553
|
rangeTypes: [ie],
|
|
22550
22554
|
worksheetTypes: [te]
|
|
22551
22555
|
},
|
|
@@ -22853,7 +22857,7 @@ class OI extends kd {
|
|
|
22853
22857
|
(o = this.fillControlTopLeft) == null || o.hide(), (s = this.fillControlBottomRight) == null || s.hide();
|
|
22854
22858
|
}
|
|
22855
22859
|
getViewportMainScrollInfo() {
|
|
22856
|
-
const t = this.getScene().getViewport(
|
|
22860
|
+
const t = this.getScene().getViewport(F.VIEW_MAIN);
|
|
22857
22861
|
return {
|
|
22858
22862
|
viewportScrollX: (t == null ? void 0 : t.viewportScrollX) || 0,
|
|
22859
22863
|
viewportScrollY: (t == null ? void 0 : t.viewportScrollY) || 0,
|
|
@@ -22941,7 +22945,7 @@ let pl = class extends rm {
|
|
|
22941
22945
|
this._logService.error("[SelectionRenderService]: should not receive null!");
|
|
22942
22946
|
return;
|
|
22943
22947
|
}
|
|
22944
|
-
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(
|
|
22948
|
+
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(F.VIEW_MAIN);
|
|
22945
22949
|
this._changeRuntime(i, o, s), this._workbookSelections.getCurrentLastSelection() || this._commandService.syncExecuteCommand(Te.id, {
|
|
22946
22950
|
unitId: t,
|
|
22947
22951
|
subUnitId: n,
|
|
@@ -23123,7 +23127,7 @@ let pl = class extends rm {
|
|
|
23123
23127
|
l,
|
|
23124
23128
|
this._activeViewport
|
|
23125
23129
|
);
|
|
23126
|
-
}), (l === X.ROW || l === X.COLUMN) && !e.getViewport(
|
|
23130
|
+
}), (l === X.ROW || l === X.COLUMN) && !e.getViewport(F.VIEW_MAIN), a;
|
|
23127
23131
|
}
|
|
23128
23132
|
// same as PC
|
|
23129
23133
|
_getActiveViewport(e) {
|
|
@@ -23141,13 +23145,13 @@ let pl = class extends rm {
|
|
|
23141
23145
|
getSelectionControls() {
|
|
23142
23146
|
return this._selectionControls;
|
|
23143
23147
|
}
|
|
23144
|
-
_fillControlPointerDownHandler(e, t = X.NORMAL, n, i =
|
|
23148
|
+
_fillControlPointerDownHandler(e, t = X.NORMAL, n, i = bt.ALL) {
|
|
23145
23149
|
var u, h, g;
|
|
23146
23150
|
const o = this._skeleton, s = this._scene;
|
|
23147
23151
|
if (!s || !o)
|
|
23148
23152
|
return;
|
|
23149
23153
|
n && (this._activeViewport = n);
|
|
23150
|
-
const l = s.getViewport(
|
|
23154
|
+
const l = s.getViewport(F.VIEW_MAIN), a = this.getActiveSelectionControl();
|
|
23151
23155
|
if (!a) return;
|
|
23152
23156
|
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
23157
|
const c = s.getCoordRelativeToViewport(Ve.FromArray([e.offsetX, e.offsetY]));
|
|
@@ -23200,7 +23204,7 @@ let pl = class extends rm {
|
|
|
23200
23204
|
endRow: n.model.endRow,
|
|
23201
23205
|
startColumn: n.model.startColumn,
|
|
23202
23206
|
endColumn: n.model.endColumn
|
|
23203
|
-
}, a = s.getViewport(
|
|
23207
|
+
}, a = s.getViewport(F.VIEW_MAIN), c = (M = this._getViewportByCell(l.endRow, l.endColumn)) != null ? M : a, d = s.getScrollXYInfoByViewport(
|
|
23204
23208
|
Ve.FromArray([this._startViewportPosX, this._startViewportPosY]),
|
|
23205
23209
|
c
|
|
23206
23210
|
), { scaleX: u, scaleY: h } = s.getAncestorScale();
|
|
@@ -23232,7 +23236,7 @@ let pl = class extends rm {
|
|
|
23232
23236
|
}
|
|
23233
23237
|
_updateControlPointWhenScrolling() {
|
|
23234
23238
|
const { scene: e } = this._context;
|
|
23235
|
-
if (!e.getViewport(
|
|
23239
|
+
if (!e.getViewport(F.VIEW_MAIN)) return;
|
|
23236
23240
|
const n = this._scrollManagerService.validViewportScrollInfo$.subscribe((i) => {
|
|
23237
23241
|
var h;
|
|
23238
23242
|
if (i == null)
|
|
@@ -23247,7 +23251,7 @@ let pl = class extends rm {
|
|
|
23247
23251
|
}
|
|
23248
23252
|
};
|
|
23249
23253
|
pl = HI([
|
|
23250
|
-
bn(1, k(
|
|
23254
|
+
bn(1, k(Rt)),
|
|
23251
23255
|
bn(2, k(At)),
|
|
23252
23256
|
bn(3, Vl),
|
|
23253
23257
|
bn(4, k($)),
|
|
@@ -23310,7 +23314,7 @@ let vl = class extends Yh {
|
|
|
23310
23314
|
_registerRenderBasics() {
|
|
23311
23315
|
[
|
|
23312
23316
|
[he],
|
|
23313
|
-
[
|
|
23317
|
+
[Ks],
|
|
23314
23318
|
[lt, { useClass: pl }],
|
|
23315
23319
|
[Et],
|
|
23316
23320
|
[ml]
|
|
@@ -23359,7 +23363,7 @@ Cp(vl, "pluginName", "SHEET_UI_PLUGIN");
|
|
|
23359
23363
|
Cp(vl, "type", x.UNIVER_SHEET);
|
|
23360
23364
|
vl = DI([
|
|
23361
23365
|
jh(Ug, $v),
|
|
23362
|
-
lc(1, k(
|
|
23366
|
+
lc(1, k(Rt)),
|
|
23363
23367
|
lc(2, Ce),
|
|
23364
23368
|
lc(3, N)
|
|
23365
23369
|
], vl);
|
|
@@ -23387,7 +23391,7 @@ let Sl = class extends oe {
|
|
|
23387
23391
|
_initPointerEvent() {
|
|
23388
23392
|
this.disposeWithMe(this._hoverManagerService.currentClickedCell$.subscribe((e) => {
|
|
23389
23393
|
const { location: t, bullet: n } = e;
|
|
23390
|
-
n && this._commandService.executeCommand(
|
|
23394
|
+
n && this._commandService.executeCommand(QS.id, {
|
|
23391
23395
|
unitId: t.unitId,
|
|
23392
23396
|
subUnitId: t.subUnitId,
|
|
23393
23397
|
row: t.row,
|
|
@@ -23450,7 +23454,7 @@ let Cl = class extends oe {
|
|
|
23450
23454
|
return [];
|
|
23451
23455
|
const o = [];
|
|
23452
23456
|
for (let s = 0; s < n.length; s++) {
|
|
23453
|
-
const l = n[s].trim(), a =
|
|
23457
|
+
const l = n[s].trim(), a = Qg(l.trim());
|
|
23454
23458
|
if (s === 0) {
|
|
23455
23459
|
const d = r.getSheetBySheetName(a.sheetName);
|
|
23456
23460
|
d && i.getSheetId() !== d.getSheetId() && (i = d, await this._cmdSrv.executeCommand(pd.id, {
|
|
@@ -23584,7 +23588,7 @@ let To = class extends Nn {
|
|
|
23584
23588
|
}
|
|
23585
23589
|
autoScroll() {
|
|
23586
23590
|
var m, f;
|
|
23587
|
-
const e = this._formulaEditorManagerService.getPosition(), t = (m = this._renderManagerService.getRenderById(De)) == null ? void 0 : m.with(
|
|
23591
|
+
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
23592
|
De
|
|
23589
23593
|
);
|
|
23590
23594
|
if (t == null || e == null || n == null || i == null)
|
|
@@ -23628,12 +23632,12 @@ const YI = {
|
|
|
23628
23632
|
marginLeft: 0,
|
|
23629
23633
|
paragraphLineGapDefault: 0,
|
|
23630
23634
|
renderConfig: {
|
|
23631
|
-
horizontalAlign:
|
|
23635
|
+
horizontalAlign: It.UNSPECIFIED,
|
|
23632
23636
|
verticalAlign: dn.TOP,
|
|
23633
23637
|
centerAngle: 0,
|
|
23634
23638
|
vertexAngle: 0,
|
|
23635
23639
|
wrapStrategy: mr.WRAP,
|
|
23636
|
-
isRenderStyle:
|
|
23640
|
+
isRenderStyle: Ke.FALSE
|
|
23637
23641
|
}
|
|
23638
23642
|
};
|
|
23639
23643
|
let wl = class extends oe {
|
|
@@ -23645,7 +23649,7 @@ let wl = class extends oe {
|
|
|
23645
23649
|
}
|
|
23646
23650
|
_getEditorViewModel(r) {
|
|
23647
23651
|
var e;
|
|
23648
|
-
return (e = this._renderManagerService.getRenderById(r)) == null ? void 0 : e.with(
|
|
23652
|
+
return (e = this._renderManagerService.getRenderById(r)) == null ? void 0 : e.with(Qn).getViewModel();
|
|
23649
23653
|
}
|
|
23650
23654
|
// Sync cell content to formula editor bar when sheet selection changed.
|
|
23651
23655
|
_syncFormulaEditorContent() {
|
|
@@ -23710,7 +23714,7 @@ let wl = class extends oe {
|
|
|
23710
23714
|
const t = [Le, De], n = this._renderManagerService.getRenderById(r);
|
|
23711
23715
|
if (n == null)
|
|
23712
23716
|
return;
|
|
23713
|
-
const i = n.with(
|
|
23717
|
+
const i = n.with(Qn).getSkeleton(), o = this._univerInstanceService.getUnit(r, x.UNIVER_DOC), s = this._getEditorViewModel(r);
|
|
23714
23718
|
o == null || s == null || (this._commandService.syncExecuteCommand(io.id, {
|
|
23715
23719
|
...e,
|
|
23716
23720
|
textRanges: null,
|
|
@@ -23722,7 +23726,7 @@ let wl = class extends oe {
|
|
|
23722
23726
|
_syncContentAndRender(r, e, t, n) {
|
|
23723
23727
|
var c, d;
|
|
23724
23728
|
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(
|
|
23729
|
+
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
23730
|
if (s == null || l == null || o == null)
|
|
23727
23731
|
return;
|
|
23728
23732
|
s.getSnapshot().body = e, s.getSnapshot().drawings = t != null ? t : {}, s.getSnapshot().drawingsOrder = n != null ? n : [], this._checkAndSetRenderStyleConfig(s), l.reset(s);
|
|
@@ -23745,12 +23749,12 @@ let wl = class extends oe {
|
|
|
23745
23749
|
height: 1 / 0
|
|
23746
23750
|
};
|
|
23747
23751
|
}
|
|
23748
|
-
((o = t == null ? void 0 : t.dataStream) != null ? o : "").startsWith("=") ? n.isRenderStyle =
|
|
23752
|
+
((o = t == null ? void 0 : t.dataStream) != null ? o : "").startsWith("=") ? n.isRenderStyle = Ke.TRUE : n.isRenderStyle = Ke.FALSE;
|
|
23749
23753
|
}
|
|
23750
23754
|
_clearParagraph(r) {
|
|
23751
23755
|
const e = le.deepClone(r);
|
|
23752
23756
|
for (const t of e)
|
|
23753
|
-
t.paragraphStyle && (t.paragraphStyle.horizontalAlign =
|
|
23757
|
+
t.paragraphStyle && (t.paragraphStyle.horizontalAlign = It.UNSPECIFIED);
|
|
23754
23758
|
return e;
|
|
23755
23759
|
}
|
|
23756
23760
|
};
|
|
@@ -23875,7 +23879,7 @@ let _l = class extends oe {
|
|
|
23875
23879
|
subUnitId: e,
|
|
23876
23880
|
ranges: E
|
|
23877
23881
|
};
|
|
23878
|
-
T.push({ id:
|
|
23882
|
+
T.push({ id: Qt.id, params: O }), T.push({ id: Kt.id, params: V });
|
|
23879
23883
|
const W = this._injector.invoke(
|
|
23880
23884
|
Wl,
|
|
23881
23885
|
O
|
|
@@ -23883,7 +23887,7 @@ let _l = class extends oe {
|
|
|
23883
23887
|
Fl,
|
|
23884
23888
|
V
|
|
23885
23889
|
);
|
|
23886
|
-
if (P.push({ id:
|
|
23890
|
+
if (P.push({ id: Qt.id, params: j }), P.push({ id: Kt.id, params: W }), H) {
|
|
23887
23891
|
const B = this._injector.invoke((z) => rf(z, r, A, E));
|
|
23888
23892
|
T.unshift(...B.redos), P.push(...B.undos);
|
|
23889
23893
|
}
|
|
@@ -23910,9 +23914,9 @@ _l = GI([
|
|
|
23910
23914
|
ur(3, Ce),
|
|
23911
23915
|
ur(4, k($)),
|
|
23912
23916
|
ur(5, k(vn)),
|
|
23913
|
-
ur(6, k(
|
|
23917
|
+
ur(6, k(Rt))
|
|
23914
23918
|
], _l);
|
|
23915
|
-
var qI = Object.getOwnPropertyDescriptor,
|
|
23919
|
+
var qI = Object.getOwnPropertyDescriptor, QI = (r, e, t, n) => {
|
|
23916
23920
|
for (var i = n > 1 ? void 0 : n ? qI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
23917
23921
|
(s = r[o]) && (i = s(i) || i);
|
|
23918
23922
|
return i;
|
|
@@ -23961,13 +23965,13 @@ let jc = class extends oe {
|
|
|
23961
23965
|
this._context = e, this._selectionRenderService = t, this._selectionManagerService = n, this._commandService = i, this._initialize();
|
|
23962
23966
|
}
|
|
23963
23967
|
};
|
|
23964
|
-
jc =
|
|
23968
|
+
jc = QI([
|
|
23965
23969
|
ac(1, k(lt)),
|
|
23966
23970
|
ac(2, k($)),
|
|
23967
23971
|
ac(3, k(L))
|
|
23968
23972
|
], jc);
|
|
23969
|
-
var
|
|
23970
|
-
for (var i = n > 1 ? void 0 : n ?
|
|
23973
|
+
var KI = Object.getOwnPropertyDescriptor, JI = (r, e, t, n) => {
|
|
23974
|
+
for (var i = n > 1 ? void 0 : n ? KI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
23971
23975
|
(s = r[o]) && (i = s(i) || i);
|
|
23972
23976
|
return i;
|
|
23973
23977
|
}, $I = (r, e) => (t, n) => e(t, n, r);
|
|
@@ -23980,7 +23984,7 @@ let bl = class extends oe {
|
|
|
23980
23984
|
}
|
|
23981
23985
|
};
|
|
23982
23986
|
bl = JI([
|
|
23983
|
-
$I(0, k(
|
|
23987
|
+
$I(0, k(KS))
|
|
23984
23988
|
], bl);
|
|
23985
23989
|
var ey = Object.getOwnPropertyDescriptor, ty = (r, e, t, n) => {
|
|
23986
23990
|
for (var i = n > 1 ? void 0 : n ? ey(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -24246,7 +24250,7 @@ qc = ly([
|
|
|
24246
24250
|
hs(3, L),
|
|
24247
24251
|
hs(4, k($))
|
|
24248
24252
|
], qc);
|
|
24249
|
-
var
|
|
24253
|
+
var Qc = /* @__PURE__ */ ((r) => (r[r.ROW = 0] = "ROW", r[r.COLUMN = 1] = "COLUMN", r))(Qc || {});
|
|
24250
24254
|
const Yi = 12, uy = 0.4;
|
|
24251
24255
|
class xh extends ad {
|
|
24252
24256
|
constructor(t, n, i) {
|
|
@@ -24351,7 +24355,7 @@ var hy = Object.getOwnPropertyDescriptor, gy = (r, e, t, n) => {
|
|
|
24351
24355
|
return i;
|
|
24352
24356
|
}, Oh = (r, e) => (t, n) => e(t, n, r);
|
|
24353
24357
|
const Ah = "__SpreadsheetHeaderUnhideSHAPEControllerShape__";
|
|
24354
|
-
let
|
|
24358
|
+
let Kc = class extends Nn {
|
|
24355
24359
|
constructor(e, t, n) {
|
|
24356
24360
|
super();
|
|
24357
24361
|
b(this, "_shapes", { cols: [], rows: [] });
|
|
@@ -24392,7 +24396,7 @@ let Qc = class extends Nn {
|
|
|
24392
24396
|
return new xh(
|
|
24393
24397
|
Ah,
|
|
24394
24398
|
{
|
|
24395
|
-
type:
|
|
24399
|
+
type: Qc.ROW,
|
|
24396
24400
|
hovered: !1,
|
|
24397
24401
|
hasPrevious: p,
|
|
24398
24402
|
hasNext: C,
|
|
@@ -24413,7 +24417,7 @@ let Qc = class extends Nn {
|
|
|
24413
24417
|
return new xh(
|
|
24414
24418
|
Ah,
|
|
24415
24419
|
{
|
|
24416
|
-
type:
|
|
24420
|
+
type: Qc.COLUMN,
|
|
24417
24421
|
hovered: !1,
|
|
24418
24422
|
hasPrevious: p,
|
|
24419
24423
|
hasNext: C,
|
|
@@ -24439,10 +24443,10 @@ let Qc = class extends Nn {
|
|
|
24439
24443
|
return tn(this._workbook, this._context);
|
|
24440
24444
|
}
|
|
24441
24445
|
};
|
|
24442
|
-
|
|
24446
|
+
Kc = gy([
|
|
24443
24447
|
Oh(1, k(he)),
|
|
24444
24448
|
Oh(2, L)
|
|
24445
|
-
],
|
|
24449
|
+
], Kc);
|
|
24446
24450
|
var my = Object.getOwnPropertyDescriptor, fy = (r, e, t, n) => {
|
|
24447
24451
|
for (var i = n > 1 ? void 0 : n ? my(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
24448
24452
|
(s = r[o]) && (i = s(i) || i);
|
|
@@ -24504,12 +24508,12 @@ let $c = class extends rm {
|
|
|
24504
24508
|
t == null ? void 0 : t.onPointerDown$.subscribeEvent((l, a) => {
|
|
24505
24509
|
if (this.isSelectionDisabled() || this.inRefSelectionMode()) return;
|
|
24506
24510
|
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),
|
|
24511
|
+
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
24512
|
})
|
|
24509
24513
|
), this.disposeWithMe(n == null ? void 0 : n.onPointerDown$.subscribeEvent((l, a) => {
|
|
24510
24514
|
if (this.isSelectionDisabled() || this.inRefSelectionMode()) return;
|
|
24511
24515
|
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),
|
|
24516
|
+
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
24517
|
})), this.disposeWithMe(o == null ? void 0 : o.onPointerDown$.subscribeEvent((l, a) => {
|
|
24514
24518
|
if (this.isSelectionDisabled() || this.inRefSelectionMode()) return;
|
|
24515
24519
|
this._reset();
|
|
@@ -24608,7 +24612,7 @@ let $c = class extends rm {
|
|
|
24608
24612
|
this._logService.error("[SelectionRenderService]: should not receive null!");
|
|
24609
24613
|
return;
|
|
24610
24614
|
}
|
|
24611
|
-
const t = this._context.unitId, { sheetId: n, skeleton: i } = e, { scene: o } = this._context, s = o.getViewport(
|
|
24615
|
+
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
24616
|
if (this._changeRuntime(i, o, s), l !== i.worksheet.getSheetId()) {
|
|
24613
24617
|
const u = this._workbookSelections.getCurrentSelections();
|
|
24614
24618
|
this._commandService.syncExecuteCommand(Te.id, {
|
|
@@ -24639,14 +24643,14 @@ let $c = class extends rm {
|
|
|
24639
24643
|
* @param scrollTimerType
|
|
24640
24644
|
*/
|
|
24641
24645
|
// eslint-disable-next-line complexity, max-lines-per-function
|
|
24642
|
-
_onPointerDown(e, t = 0, n = X.NORMAL, i, o =
|
|
24646
|
+
_onPointerDown(e, t = 0, n = X.NORMAL, i, o = bt.ALL) {
|
|
24643
24647
|
var T, P;
|
|
24644
24648
|
this._rangeType = n;
|
|
24645
24649
|
const s = this._skeleton, l = this._scene;
|
|
24646
24650
|
if (!l || !s)
|
|
24647
24651
|
return;
|
|
24648
24652
|
i && (this._activeViewport = i);
|
|
24649
|
-
const { offsetX: a, offsetY: c } = e, d = l.getViewport(
|
|
24653
|
+
const { offsetX: a, offsetY: c } = e, d = l.getViewport(F.VIEW_MAIN);
|
|
24650
24654
|
if (!d) return;
|
|
24651
24655
|
const u = l.getCoordRelativeToViewport(Ve.FromArray([a, c])), { x: h, y: g } = u;
|
|
24652
24656
|
this._startViewportPosX = h, this._startViewportPosY = g;
|
|
@@ -24694,7 +24698,7 @@ let $c = class extends rm {
|
|
|
24694
24698
|
}
|
|
24695
24699
|
};
|
|
24696
24700
|
$c = vy([
|
|
24697
|
-
zn(1, k(
|
|
24701
|
+
zn(1, k(Rt)),
|
|
24698
24702
|
zn(2, k(At)),
|
|
24699
24703
|
zn(3, Vl),
|
|
24700
24704
|
zn(4, k($)),
|
|
@@ -24734,7 +24738,7 @@ let Rl = class extends Yh {
|
|
|
24734
24738
|
[on, { useClass: Zs }],
|
|
24735
24739
|
[Or, { useClass: Tm }],
|
|
24736
24740
|
[Wn, { useClass: Gs }],
|
|
24737
|
-
[
|
|
24741
|
+
[Kl, { useClass: v1 }],
|
|
24738
24742
|
[$l, { useClass: Y1 }],
|
|
24739
24743
|
[Id, { useClass: Xg }],
|
|
24740
24744
|
[xr, { useClass: Ds }],
|
|
@@ -24809,7 +24813,7 @@ let Rl = class extends Yh {
|
|
|
24809
24813
|
[
|
|
24810
24814
|
[he],
|
|
24811
24815
|
[Jc],
|
|
24812
|
-
[
|
|
24816
|
+
[Ks],
|
|
24813
24817
|
[lt, { useClass: $c }],
|
|
24814
24818
|
[ml]
|
|
24815
24819
|
].forEach((r) => {
|
|
@@ -24822,8 +24826,8 @@ let Rl = class extends Yh {
|
|
|
24822
24826
|
var n;
|
|
24823
24827
|
const r = [
|
|
24824
24828
|
[vo],
|
|
24825
|
-
[
|
|
24826
|
-
[
|
|
24829
|
+
[Kc],
|
|
24830
|
+
[Qs],
|
|
24827
24831
|
// Caution: ScrollRenderController should placed before ZoomRenderController.
|
|
24828
24832
|
[Et],
|
|
24829
24833
|
[ho],
|
|
@@ -24861,7 +24865,7 @@ wp(Rl, "pluginName", "SHEET_UI_PLUGIN");
|
|
|
24861
24865
|
wp(Rl, "type", x.UNIVER_SHEET);
|
|
24862
24866
|
Rl = _y([
|
|
24863
24867
|
jh(Ug),
|
|
24864
|
-
Fi(1, k(
|
|
24868
|
+
Fi(1, k(Rt)),
|
|
24865
24869
|
Fi(2, Ce),
|
|
24866
24870
|
Fi(3, nn),
|
|
24867
24871
|
Fi(4, N),
|
|
@@ -24970,13 +24974,13 @@ export {
|
|
|
24970
24974
|
To as FormulaEditorController,
|
|
24971
24975
|
po as HeaderFreezeRenderController,
|
|
24972
24976
|
vo as HeaderMoveRenderController,
|
|
24973
|
-
|
|
24977
|
+
Qs as HeaderResizeRenderController,
|
|
24974
24978
|
ra as HideColConfirmCommand,
|
|
24975
24979
|
na as HideRowConfirmCommand,
|
|
24976
24980
|
Ir as HoverManagerService,
|
|
24977
24981
|
sl as HoverRenderController,
|
|
24978
24982
|
xr as IAutoFillService,
|
|
24979
|
-
|
|
24983
|
+
Kl as ICellEditorManagerService,
|
|
24980
24984
|
qe as IEditorBridgeService,
|
|
24981
24985
|
Wn as IFormatPainterService,
|
|
24982
24986
|
$l as IFormulaEditorManagerService,
|
|
@@ -24986,7 +24990,7 @@ export {
|
|
|
24986
24990
|
lt as ISheetSelectionRenderService,
|
|
24987
24991
|
ea as IStatusBarService,
|
|
24988
24992
|
hi as InsertRangeMoveDownConfirmCommand,
|
|
24989
|
-
|
|
24993
|
+
Qo as InsertRangeMoveRightConfirmCommand,
|
|
24990
24994
|
Dn as JumpOver,
|
|
24991
24995
|
js as MarkSelectionService,
|
|
24992
24996
|
MR as MobileSheetBar,
|
|
@@ -25012,7 +25016,7 @@ export {
|
|
|
25012
25016
|
gn as ScrollCommand,
|
|
25013
25017
|
um as ScrollToCellCommand,
|
|
25014
25018
|
hm as ScrollToRangeOperation,
|
|
25015
|
-
|
|
25019
|
+
Ql as SelectAllCommand,
|
|
25016
25020
|
kd as SelectionControl,
|
|
25017
25021
|
kd as SelectionShape,
|
|
25018
25022
|
fC as SelectionShapeExtension,
|
|
@@ -25039,7 +25043,7 @@ export {
|
|
|
25039
25043
|
Hd as SetRowHeaderWidthCommand,
|
|
25040
25044
|
hn as SetScrollOperation,
|
|
25041
25045
|
uo as SetScrollRelativeCommand,
|
|
25042
|
-
|
|
25046
|
+
Kn as SetSelectionFrozenCommand,
|
|
25043
25047
|
da as SetWorksheetColAutoWidthCommand,
|
|
25044
25048
|
jo as SetZoomRatioCommand,
|
|
25045
25049
|
Jt as SetZoomRatioOperation,
|
|
@@ -25049,20 +25053,20 @@ export {
|
|
|
25049
25053
|
Us as SheetCellEditorResizeService,
|
|
25050
25054
|
Zs as SheetClipboardService,
|
|
25051
25055
|
mn as SheetCopyCommand,
|
|
25052
|
-
|
|
25056
|
+
Kd as SheetCutCommand,
|
|
25053
25057
|
E0 as SheetMenuPosition,
|
|
25054
25058
|
$i as SheetPasteBesidesBorderCommand,
|
|
25055
|
-
|
|
25059
|
+
Kr as SheetPasteColWidthCommand,
|
|
25056
25060
|
fn as SheetPasteCommand,
|
|
25057
25061
|
Ji as SheetPasteFormatCommand,
|
|
25058
25062
|
Lc as SheetPasteShortKeyCommand,
|
|
25059
|
-
|
|
25063
|
+
Ki as SheetPasteValueCommand,
|
|
25060
25064
|
yo as SheetPermissionCheckUIController,
|
|
25061
25065
|
uf as SheetPermissionOpenDialogOperation,
|
|
25062
25066
|
Vn as SheetPermissionOpenPanelOperation,
|
|
25063
25067
|
Ar as SheetPermissionUserManagerService,
|
|
25064
25068
|
Sp as SheetPrintInterceptorService,
|
|
25065
|
-
|
|
25069
|
+
Ks as SheetRenderController,
|
|
25066
25070
|
Et as SheetScrollManagerService,
|
|
25067
25071
|
$c as SheetSelectionRenderService,
|
|
25068
25072
|
he as SheetSkeletonManagerService,
|