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