@univerjs/sheets-ui 0.8.0-nightly.202505281606 → 0.8.0-nightly.202505291607
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +8 -8
- package/lib/es/index.js +557 -561
- package/lib/index.js +557 -561
- package/lib/umd/index.js +8 -8
- package/package.json +13 -13
package/lib/es/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
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
|
-
import { DOCS_VIEW_KEY as Tp, IEditorService 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
|
|
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
|
|
7
|
-
import { useDependency as D, useObservable as ht, KeyCode as Y, ComponentManager as Zt, DISABLE_AUTO_FOCUS_KEY as vu, useEvent as Su, useSidebarClick as Gh, MetaKeys as Se, ISidebarService as
|
|
4
|
+
import { DOCS_VIEW_KEY as Tp, IEditorService as vi, getCanvasOffsetByEngine as ou, VIEWPORT_KEY as _s, DOCS_COMPONENT_MAIN_LAYER_INDEX as Pp, DocSelectionRenderService as gr, BreakLineCommand as xp, DeleteLeftCommand as Hh, DeleteRightCommand as Op, ReplaceSnapshotCommand as Vh, 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 kh, SetInlineFormatCommand as Po, convertBodyToHtml as Up, NodePositionConvertToCursor as Nh, getLineBounding as Dh, DOC_VERTICAL_PADDING as Xp, IMEInputCommand as zp, InsertCommand as jp, CoverContentCommand as Yp } from "@univerjs/docs-ui";
|
|
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 Si, ThemeService as At, Inject as k, Injector as bt, IConfigService as pn, generateRandomId as xo, ObjectMatrix as Ge, Direction as F, isFormulaString as ed, isFormulaId as Zp, CellValueType as Mt, numfmt as mn, 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 Lh, FOCUSING_FX_BAR_EDITOR as Ot, BooleanNumber as Qe, nameCharacterCheck as Kp, throttle as Qp, debounce as hc, VerticalAlign as an, HorizontalAlign as Rt, WrapStrategy as mr, FOCUSING_UNIVER_EDITOR as yr, FOCUSING_COMMON_DRAWINGS as Ml, FOCUSING_EDITOR_INPUT_FORMULA as Is, LocaleType as su, FOCUSING_EDITOR_BUT_HIDDEN as gc, DEFAULT_EMPTY_DOCUMENT_VALUE as Wh, LRUMap as Jp, BaselineOffset as lu, DataStreamTreeTokenType as $p, skipParseTagNames as ev, CustomRangeType as nd, DEFAULT_WORKSHEET_ROW_HEIGHT as mc, ILogService as El, ErrorService as tv, CellModeEnum as Bh, isNotNullOrUndefined as nv, extractPureTextFromCell as Fh, UserManagerService as Nt, DEFAULT_STYLES as rd, FontWeight as $o, FontItalic as es, composeStyles as rv, get as wa, Dimension as Uh, BorderStyleTypes as Ae, AbsoluteRefType as au, NilCommand as id, UndoCommandId as iv, willLoseNumericPrecision as ov, Range as gs, cellToRange as sv, handleStyleToString as cu, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY as du, DEFAULT_WORKSHEET_COLUMN_WIDTH as uu, PresetListType as lv, isRealNum as Xh, InterceptorEffectEnum as av, splitIntoGrid as cv, IAuthzIoService as Tl, isValidRange as dv, dayjs as hu, BuildTextUtils as uv, DependentOn as zh, Plugin as jh, DocumentFlavor as hv, set as gv, merge as mv, registerDependencies as gu, 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 Zr, 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 Fr, convertTransformToOffsetY as Ur, convertTextRotation as sd, RENDER_RAW_FORMULA_KEY as bv, Spreadsheet as Yh, getCurrentTypeOfRenderer as Pl, RENDER_CLASS_TYPE as Rv, ScrollBar as ld, fixLineWidthByScale as mu, ptToPixel as fu, Shape as ad, SHEET_EXTENSION_PREFIX as pu, SpreadsheetRowHeader as Iv, SpreadsheetColumnHeader as yv, Viewport as Cn, hasCJKText as Mv, DEFAULT_PADDING_DATA as Ev, SheetExtension as Zh, 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 vu, useEvent as Su, useSidebarClick as Gh, MetaKeys as Se, ISidebarService as Ci, useComponentsOfPart as qh, ComponentContainer as Kh, IConfirmService as tn, useConfigValue as xl, UI_PLUGIN_CONFIG_KEY as Qh, UIMenu as Tv, ContextMenuPosition as Ct, Slider as Pv, IMessageService as Jh, IClipboardInterfaceService as Ol, IMenuManagerService as cd, ToolbarItem as xv, ILayoutService as Al, DEFAULT_BACKGROUND_COLOR_RGB as Ov, DEFAULT_BACKGROUND_COLOR_RGBA as Av, handleStringToStyle as Hv, textTrim as Cu, INotificationService as Vv, IPlatformService as kv, PLAIN_TEXT_CLIPBOARD_MIME_TYPE as wu, HTML_CLIPBOARD_MIME_TYPE as _u, 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 dd, 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 Gr, 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
|
-
import { BehaviorSubject as Ee, Subject as xe, of as Ie, merge as St, map as Be, startWith as xt, switchMap as at, takeUntil as
|
|
10
|
-
import { SELECTION_CONTROL_BORDER_BUFFER_WIDTH as Ms, SELECTION_CONTROL_BORDER_BUFFER_COLOR as ns, SELECTIONS_ENABLED as
|
|
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 ni, distinctUntilChanged as cn, throttleTime as ys, EMPTY as bu, filter as Ho, combineLatest as ct, combineLatestWith as rr, Observable as je, Subscription as qn, withLatestFrom as tS, shareReplay as Ru } from "rxjs";
|
|
10
|
+
import { SELECTION_CONTROL_BORDER_BUFFER_WIDTH as Ms, SELECTION_CONTROL_BORDER_BUFFER_COLOR as ns, SELECTIONS_ENABLED as Xr, 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 $t, 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 sn, 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 Ft, getCellAtRowCol as ms, expandToContinuousRange as oS, ScrollToCellOperation as ud, SetWorksheetShowCommand as hd, WorksheetProtectionRuleModel as ft, RangeProtectionRuleModel as $e, RangeProtectionCache as Wo, WorksheetViewPermission as rg, SetWorksheetOrderMutation as gd, InsertSheetMutation as Mr, SetWorksheetNameMutation as md, SetWorksheetHideMutation as er, SetWorksheetActivateCommand as fd, 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 pd, SetItalicCommand as vd, SetUnderlineCommand as Sd, SetStrikeThroughCommand as Cd, SetFontSizeCommand as wd, SetFontFamilyCommand as _d, SetTextColorCommand as dg, SetFrozenMutationFactory as ug, SetFrozenMutation as fr, RangeProtectionPermissionEditPoint as ie, IExclusiveRangeService as uS, CancelFrozenCommand as fs, SetWorksheetRowIsAutoHeightCommand as bd, 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 Iu, DeleteRangeMoveUpCommand as yu, EditStateEnum as ln, ViewStateEnum as ri, UnitObject as Vt, DeleteWorksheetProtectionCommand as xs, DeleteRangeProtectionMutation as Mu, AddRangeProtectionMutation as RS, RemoveSheetCommand as IS, AddWorksheetProtectionCommand as yg, BorderStyleManagerService as Rc, RefRangeService as yS, IRefSelectionsService as Rd, 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 Id, 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
11
|
import { DocSkeletonManagerService as Kn, DocSelectionManagerService as yd, 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
|
|
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 Br, isReferenceStrings as Zg, isReferenceStringWithEffectiveColumn as nC, serializeRangeWithSheet as Gg, NullValueObject as Eu, 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 Md, clsx as He, borderClassName as
|
|
15
|
+
import { DropdownMenu as Md, clsx as He, borderClassName as wi, borderBottomClassName as Ed, scrollbarClassName as jl, borderRightClassName as Td, Dropdown as Mc, Button as Xt, 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 zr, Select as $g, Confirm as sC, FormLayout as As, Avatar as Pd, Switch as lC, CascaderList as aC, DatePanel as cC, borderTopClassName as dC } from "@univerjs/design";
|
|
16
16
|
import { startWith as Ia, shareReplay as Tu, switchMap as Pn, map as fn, debounceTime as Yl, filter as em } from "rxjs/operators";
|
|
17
17
|
import { ITelemetryService as uC } from "@univerjs/telemetry";
|
|
18
18
|
function xd(r, e) {
|
|
@@ -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(U.VIEW_MAIN), y =
|
|
406
|
+
const R = i.getViewport(U.VIEW_MAIN), y = Zr.create(i);
|
|
407
407
|
this._scrollTimer = y, y.startScroll(s, l, R), i.disableObjectsEvent(), this._scenePointerMoveSub = i.onPointerMove$.subscribeEvent((E) => {
|
|
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 =
|
|
481
|
+
const p = Zr.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])
|
|
@@ -604,7 +604,7 @@ class fC {
|
|
|
604
604
|
stroke: C,
|
|
605
605
|
strokeWidth: m + p / 2
|
|
606
606
|
}), i.addObject(this._helperSelection)), this._activeViewport = i.getActiveViewportByCoord(Ve.FromArray([t, n]));
|
|
607
|
-
const _ = i.getViewport(U.VIEW_MAIN), S =
|
|
607
|
+
const _ = i.getViewport(U.VIEW_MAIN), S = Zr.create(
|
|
608
608
|
i,
|
|
609
609
|
this._activeViewport.viewportKey === U.VIEW_MAIN ? yt.ALL : yt.NONE
|
|
610
610
|
);
|
|
@@ -1431,7 +1431,7 @@ class rm extends oe {
|
|
|
1431
1431
|
b(this, "_selectionMoving", !1);
|
|
1432
1432
|
b(this, "_selectionTheme");
|
|
1433
1433
|
b(this, "_activeViewport");
|
|
1434
|
-
b(this, "interceptor", new
|
|
1434
|
+
b(this, "interceptor", new Si({ RANGE_MOVE_PERMISSION_CHECK: Pc, RANGE_FILL_PERMISSION_CHECK: xc }));
|
|
1435
1435
|
b(this, "_escapeShortcutDisposable", null);
|
|
1436
1436
|
this._injector = t, this._themeService = n, this._shortcutService = i, this._sheetSkeletonManagerService = o, this.contextService = s, this._initSelectionThemeFromThemeService(), this._initMoving();
|
|
1437
1437
|
}
|
|
@@ -1624,10 +1624,10 @@ class rm extends oe {
|
|
|
1624
1624
|
_setupPointerMoveListener(t, n, i, o = yt.ALL, s, l) {
|
|
1625
1625
|
var m, f;
|
|
1626
1626
|
let a = 0, c = 0, d = s, u = l;
|
|
1627
|
-
this._scrollTimer =
|
|
1627
|
+
this._scrollTimer = Zr.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);
|
|
1628
1628
|
const h = this._scene, g = h.getActiveViewportByCoord(Ve.FromArray([s, l]));
|
|
1629
1629
|
this._scenePointerMoveSub = h.onPointerMove$.subscribeEvent((v) => {
|
|
1630
|
-
var A, H, O, V, W,
|
|
1630
|
+
var A, H, O, V, W, z, B, j, Z;
|
|
1631
1631
|
const { offsetX: p, offsetY: C } = v, { x: _, y: S } = h.getCoordRelativeToViewport(Ve.FromArray([p, C]));
|
|
1632
1632
|
this._movingHandler(_, S, n, i);
|
|
1633
1633
|
let I = _, R = S;
|
|
@@ -1653,7 +1653,7 @@ class rm extends oe {
|
|
|
1653
1653
|
});
|
|
1654
1654
|
else if (se === _e) {
|
|
1655
1655
|
let G = !1, ee = !1;
|
|
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), ((
|
|
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), ((z = M == null ? void 0 : M.endRow) != null ? z : 0) > ((B = E == null ? void 0 : E.startRow) != null ? B : 0) && (ee = !1), ((j = M == null ? void 0 : M.endColumn) != null ? j : 0) > ((Z = E == null ? void 0 : E.startColumn) != null ? Z : 0) && (G = !1), G && (I = t.left), ee && (R = t.top);
|
|
1657
1657
|
} else {
|
|
1658
1658
|
const G = {
|
|
1659
1659
|
x: g.scrollX,
|
|
@@ -1808,10 +1808,10 @@ class rm extends oe {
|
|
|
1808
1808
|
s.updateRangeBySelectionWithCoord(v);
|
|
1809
1809
|
}
|
|
1810
1810
|
isSelectionEnabled() {
|
|
1811
|
-
return this.contextService.getContextValue(
|
|
1811
|
+
return this.contextService.getContextValue(Xr);
|
|
1812
1812
|
}
|
|
1813
1813
|
isSelectionDisabled() {
|
|
1814
|
-
return this.contextService.getContextValue(
|
|
1814
|
+
return this.contextService.getContextValue(Xr) === !1;
|
|
1815
1815
|
}
|
|
1816
1816
|
inRefSelectionMode() {
|
|
1817
1817
|
return this.contextService.getContextValue(to);
|
|
@@ -2068,7 +2068,7 @@ he = CC([
|
|
|
2068
2068
|
Hu(1, k(bt)),
|
|
2069
2069
|
Hu(2, k(nS))
|
|
2070
2070
|
], he);
|
|
2071
|
-
function
|
|
2071
|
+
function Pr() {
|
|
2072
2072
|
const r = D(N), e = ht(() => r.getCurrentTypeOfUnit$(x.UNIVER_SHEET), void 0, void 0, []);
|
|
2073
2073
|
return e != null ? e : null;
|
|
2074
2074
|
}
|
|
@@ -2197,7 +2197,7 @@ function Cr(r) {
|
|
|
2197
2197
|
endColumn: t[t.length - 1]
|
|
2198
2198
|
};
|
|
2199
2199
|
}
|
|
2200
|
-
function
|
|
2200
|
+
function wr(r) {
|
|
2201
2201
|
let e = [], t = [];
|
|
2202
2202
|
const n = [];
|
|
2203
2203
|
return r.forEach((i) => {
|
|
@@ -2355,11 +2355,11 @@ function OC(r, e, t) {
|
|
|
2355
2355
|
n[t[l]] = s, s++;
|
|
2356
2356
|
return n;
|
|
2357
2357
|
}
|
|
2358
|
-
function
|
|
2358
|
+
function _r(r, e) {
|
|
2359
2359
|
const t = [];
|
|
2360
2360
|
for (let n = 1; n <= e; n++) {
|
|
2361
2361
|
const i = (n - 1) % r.length, o = le.deepClone(r[i]);
|
|
2362
|
-
|
|
2362
|
+
br(o), t.push({
|
|
2363
2363
|
v: null,
|
|
2364
2364
|
s: null,
|
|
2365
2365
|
p: null,
|
|
@@ -2404,7 +2404,7 @@ function Ns(r, e, t) {
|
|
|
2404
2404
|
if (r.length > 2 && HC(i))
|
|
2405
2405
|
for (let c = 1; c <= e; c++) {
|
|
2406
2406
|
const d = (c - 1) % r.length, u = le.deepClone(r[d]);
|
|
2407
|
-
|
|
2407
|
+
br(u);
|
|
2408
2408
|
const h = Number((s = r[r.length - 1]) == null ? void 0 : s.v) * (Number((l = r[1]) == null ? void 0 : l.v) / Number((a = r[0]) == null ? void 0 : a.v)) ** c;
|
|
2409
2409
|
u && (Lu(u) && (u.v = h), n.push(u));
|
|
2410
2410
|
}
|
|
@@ -2412,7 +2412,7 @@ function Ns(r, e, t) {
|
|
|
2412
2412
|
const c = VC(r.length);
|
|
2413
2413
|
for (let d = 1; d <= e; d++) {
|
|
2414
2414
|
const u = (d - 1) % r.length, h = le.deepClone(r[u]);
|
|
2415
|
-
|
|
2415
|
+
br(h);
|
|
2416
2416
|
const g = t === F.DOWN || t === F.RIGHT, m = kC(r.length + d, i, c, g);
|
|
2417
2417
|
h && (Lu(h) && (h.v = m), n.push(h));
|
|
2418
2418
|
}
|
|
@@ -2440,7 +2440,7 @@ function ku(r, e, t) {
|
|
|
2440
2440
|
const n = [], i = /0|([1-9]+[0-9]*)/g;
|
|
2441
2441
|
for (let s = 1; s <= e; s++) {
|
|
2442
2442
|
const l = (s - 1) % r.length, a = le.deepClone(r[l]);
|
|
2443
|
-
|
|
2443
|
+
br(a);
|
|
2444
2444
|
const c = `${(o = r[r.length - 1]) == null ? void 0 : o.v}`;
|
|
2445
2445
|
if (!c) continue;
|
|
2446
2446
|
const d = c == null ? void 0 : c.match(i), u = d == null ? void 0 : d[d.length - 1];
|
|
@@ -2450,7 +2450,7 @@ function ku(r, e, t) {
|
|
|
2450
2450
|
}
|
|
2451
2451
|
return n;
|
|
2452
2452
|
}
|
|
2453
|
-
function
|
|
2453
|
+
function ii(r, e, t, n = 0) {
|
|
2454
2454
|
var l, a;
|
|
2455
2455
|
const i = [
|
|
2456
2456
|
["日", "一", "二", "三", "四", "五", "六"],
|
|
@@ -2461,7 +2461,7 @@ function ri(r, e, t, n = 0) {
|
|
|
2461
2461
|
const o = i[n], s = [];
|
|
2462
2462
|
for (let c = 1; c <= e; c++) {
|
|
2463
2463
|
const d = (c - 1) % r.length, u = le.deepClone(r[d]);
|
|
2464
|
-
|
|
2464
|
+
br(u);
|
|
2465
2465
|
let h = 0;
|
|
2466
2466
|
if (((l = r[r.length - 1]) == null ? void 0 : l.v) === o[0])
|
|
2467
2467
|
h = 7 + t * c;
|
|
@@ -2483,7 +2483,7 @@ function Nu(r, e, t) {
|
|
|
2483
2483
|
const n = [];
|
|
2484
2484
|
for (let o = 1; o <= e; o++) {
|
|
2485
2485
|
const s = (o - 1) % r.length, l = le.deepClone(r[s]);
|
|
2486
|
-
|
|
2486
|
+
br(l);
|
|
2487
2487
|
const a = `${(i = r[r.length - 1]) == null ? void 0 : i.v}`, c = Mn(a) + t * o;
|
|
2488
2488
|
let d;
|
|
2489
2489
|
c <= 0 ? d = "零" : d = MC(c), l && (l.v = d, n.push(l));
|
|
@@ -2534,7 +2534,7 @@ function Du(r, e, t, n) {
|
|
|
2534
2534
|
const i = n.length, o = [];
|
|
2535
2535
|
for (let l = 1; l <= e; l++) {
|
|
2536
2536
|
const a = (l - 1) % r.length, c = le.deepClone(r[a]);
|
|
2537
|
-
|
|
2537
|
+
br(c);
|
|
2538
2538
|
const d = `${(s = r[r.length - 1]) == null ? void 0 : s.v}`;
|
|
2539
2539
|
let u = n.indexOf(d) + t * l;
|
|
2540
2540
|
u < 0 && (u += Math.abs(t) * i);
|
|
@@ -2663,10 +2663,10 @@ function Fy(r, e) {
|
|
|
2663
2663
|
function Lu(r) {
|
|
2664
2664
|
return !(ed(r.f) || Zp(r.si) || r.t === Mt.BOOLEAN);
|
|
2665
2665
|
}
|
|
2666
|
-
function
|
|
2666
|
+
function br(r) {
|
|
2667
2667
|
r && "custom" in r && delete r.custom;
|
|
2668
2668
|
}
|
|
2669
|
-
var
|
|
2669
|
+
var jr = /* @__PURE__ */ ((r) => (r.Append = "APPEND", r.Default = "DEFAULT", r.Only = "ONLY", r))(jr || {}), mt = /* @__PURE__ */ ((r) => (r.NUMBER = "number", r.DATE = "date", r.EXTEND_NUMBER = "extendNumber", r.CHN_NUMBER = "chnNumber", r.CHN_WEEK2 = "chnWeek2", r.CHN_WEEK3 = "chnWeek3", r.LOOP_SERIES = "loopSeries", r.FORMULA = "formula", r.OTHER = "other", r))(mt || {}), Ne = /* @__PURE__ */ ((r) => (r.COPY = "COPY", r.SERIES = "SERIES", r.ONLY_FORMAT = "ONLY_FORMAT", r.NO_FORMAT = "NO_FORMAT", r))(Ne || {});
|
|
2670
2670
|
const DC = {
|
|
2671
2671
|
type: mt.DATE,
|
|
2672
2672
|
priority: 1100,
|
|
@@ -2732,7 +2732,7 @@ const DC = {
|
|
|
2732
2732
|
const c = `${(l = n[a]) == null ? void 0 : l.v}`;
|
|
2733
2733
|
c && s.push(Number(rs(c).matchTxt));
|
|
2734
2734
|
}
|
|
2735
|
-
return i && (n.reverse(), s.reverse()), Xo(s) ? (o = s[1] - s[0], Bt(ku(n, e, o), i)) :
|
|
2735
|
+
return i && (n.reverse(), s.reverse()), Xo(s) ? (o = s[1] - s[0], Bt(ku(n, e, o), i)) : _r(n, e);
|
|
2736
2736
|
}
|
|
2737
2737
|
}
|
|
2738
2738
|
}, BC = {
|
|
@@ -2747,7 +2747,7 @@ const DC = {
|
|
|
2747
2747
|
if (n.length === 1) {
|
|
2748
2748
|
const u = `${(a = n[0]) == null ? void 0 : a.v}`;
|
|
2749
2749
|
let h;
|
|
2750
|
-
return i ? h = -1 : h = 1, u && (u === "日" || Mn(u) < 7) ? Bt(
|
|
2750
|
+
return i ? h = -1 : h = 1, u && (u === "日" || Mn(u) < 7) ? Bt(ii(n, e, h), i) : Bt(Nu(n, e, h), i);
|
|
2751
2751
|
}
|
|
2752
2752
|
let o = !1;
|
|
2753
2753
|
for (let u = 0; u < n.length; u++)
|
|
@@ -2764,12 +2764,12 @@ const DC = {
|
|
|
2764
2764
|
if (i && (n.reverse(), s.reverse()), Xo(s)) {
|
|
2765
2765
|
if (o || s[s.length - 1] < 6 && s[0] > 0 || s[0] < 6 && s[s.length - 1] > 0) {
|
|
2766
2766
|
const h = s[1] - s[0];
|
|
2767
|
-
return Bt(
|
|
2767
|
+
return Bt(ii(n, e, h), i);
|
|
2768
2768
|
}
|
|
2769
2769
|
const u = s[1] - s[0];
|
|
2770
2770
|
return Bt(Nu(n, e, u), i);
|
|
2771
2771
|
}
|
|
2772
|
-
return
|
|
2772
|
+
return _r(n, e);
|
|
2773
2773
|
}
|
|
2774
2774
|
}
|
|
2775
2775
|
}, FC = {
|
|
@@ -2783,7 +2783,7 @@ const DC = {
|
|
|
2783
2783
|
const { data: n } = r, i = t === F.LEFT || t === F.UP;
|
|
2784
2784
|
if (n.length === 1) {
|
|
2785
2785
|
let a;
|
|
2786
|
-
return i ? a = -1 : a = 1, Bt(
|
|
2786
|
+
return i ? a = -1 : a = 1, Bt(ii(n, e, a, 1), i);
|
|
2787
2787
|
}
|
|
2788
2788
|
const o = [];
|
|
2789
2789
|
let s = 0;
|
|
@@ -2793,9 +2793,9 @@ const DC = {
|
|
|
2793
2793
|
}
|
|
2794
2794
|
if (i && (n.reverse(), o.reverse()), Xo(o)) {
|
|
2795
2795
|
const a = o[1] - o[0];
|
|
2796
|
-
return Bt(
|
|
2796
|
+
return Bt(ii(n, e, a, 1), i);
|
|
2797
2797
|
}
|
|
2798
|
-
return
|
|
2798
|
+
return _r(n, e);
|
|
2799
2799
|
}
|
|
2800
2800
|
}
|
|
2801
2801
|
}, UC = {
|
|
@@ -2809,7 +2809,7 @@ const DC = {
|
|
|
2809
2809
|
const { data: n } = r, i = t === F.LEFT || t === F.UP;
|
|
2810
2810
|
if (n.length === 1) {
|
|
2811
2811
|
let a;
|
|
2812
|
-
return i ? a = -1 : a = 1, Bt(
|
|
2812
|
+
return i ? a = -1 : a = 1, Bt(ii(n, e, a, 2), i);
|
|
2813
2813
|
}
|
|
2814
2814
|
const o = [];
|
|
2815
2815
|
let s = 0;
|
|
@@ -2822,9 +2822,9 @@ const DC = {
|
|
|
2822
2822
|
}
|
|
2823
2823
|
if (i && (n.reverse(), o.reverse()), Xo(o)) {
|
|
2824
2824
|
const a = o[1] - o[0];
|
|
2825
|
-
return Bt(
|
|
2825
|
+
return Bt(ii(n, e, a, 2), i);
|
|
2826
2826
|
}
|
|
2827
|
-
return
|
|
2827
|
+
return _r(n, e);
|
|
2828
2828
|
}
|
|
2829
2829
|
}
|
|
2830
2830
|
}, XC = {
|
|
@@ -2853,7 +2853,7 @@ const DC = {
|
|
|
2853
2853
|
const d = s[1] - s[0];
|
|
2854
2854
|
return Bt(Du(n, e, d, o), i);
|
|
2855
2855
|
}
|
|
2856
|
-
return
|
|
2856
|
+
return _r(n, e);
|
|
2857
2857
|
}
|
|
2858
2858
|
}
|
|
2859
2859
|
};
|
|
@@ -2864,7 +2864,7 @@ var zC = Object.getOwnPropertyDescriptor, jC = (r, e, t, n) => {
|
|
|
2864
2864
|
for (var i = n > 1 ? void 0 : n ? zC(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
2865
2865
|
(s = r[o]) && (i = s(i) || i);
|
|
2866
2866
|
return i;
|
|
2867
|
-
},
|
|
2867
|
+
}, Vr = (r, e) => (t, n) => e(t, n, r);
|
|
2868
2868
|
let Ds = class extends oe {
|
|
2869
2869
|
constructor(e, t, n, i, o, s) {
|
|
2870
2870
|
super();
|
|
@@ -2992,7 +2992,7 @@ let Ds = class extends oe {
|
|
|
2992
2992
|
addHook(e) {
|
|
2993
2993
|
if (this._hooks.find((t) => t.id === e.id))
|
|
2994
2994
|
throw new Error(`Add hook failed, hook id '${e.id}' already exist!`);
|
|
2995
|
-
return e.priority === void 0 && (e.priority = 0), e.type === void 0 && (e.type =
|
|
2995
|
+
return e.priority === void 0 && (e.priority = 0), e.type === void 0 && (e.type = jr.Append), this._hooks.push(e), We(() => {
|
|
2996
2996
|
const t = this._hooks.findIndex((n) => n === e);
|
|
2997
2997
|
t > -1 && this._hooks.splice(t, 1);
|
|
2998
2998
|
});
|
|
@@ -3018,10 +3018,10 @@ let Ds = class extends oe {
|
|
|
3018
3018
|
var d;
|
|
3019
3019
|
return !((d = c.disable) != null && d.call(c, { source: e, target: t, unitId: n, subUnitId: i }, this._direction, this.applyType));
|
|
3020
3020
|
}
|
|
3021
|
-
), s = o.filter((c) => c.type ===
|
|
3021
|
+
), s = o.filter((c) => c.type === jr.Only);
|
|
3022
3022
|
if (s.length > 0)
|
|
3023
3023
|
return this._getOneByPriority(s);
|
|
3024
|
-
const l = this._getOneByPriority(o.filter((c) => c.type ===
|
|
3024
|
+
const l = this._getOneByPriority(o.filter((c) => c.type === jr.Default)), a = o.filter((c) => c.type === jr.Append) || [];
|
|
3025
3025
|
return [...l, ...a];
|
|
3026
3026
|
}
|
|
3027
3027
|
get applyType() {
|
|
@@ -3125,18 +3125,18 @@ let Ds = class extends oe {
|
|
|
3125
3125
|
}
|
|
3126
3126
|
};
|
|
3127
3127
|
Ds = jC([
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3128
|
+
Vr(0, L),
|
|
3129
|
+
Vr(1, Yt),
|
|
3130
|
+
Vr(2, Ce),
|
|
3131
|
+
Vr(3, k(N)),
|
|
3132
|
+
Vr(4, k($)),
|
|
3133
|
+
Vr(5, k(bt))
|
|
3134
3134
|
], Ds);
|
|
3135
|
-
const
|
|
3135
|
+
const xr = jt("univer.auto-fill-service"), hr = {
|
|
3136
3136
|
type: Q.COMMAND,
|
|
3137
3137
|
id: "sheet.command.auto-fill",
|
|
3138
3138
|
handler: async (r, e) => {
|
|
3139
|
-
const t = r.get(
|
|
3139
|
+
const t = r.get(xr), n = r.get(N), { sourceRange: i, targetRange: o } = e, s = Ue(n);
|
|
3140
3140
|
if (!s) return !1;
|
|
3141
3141
|
const { subUnitId: l, unitId: a } = s;
|
|
3142
3142
|
return t.triggerAutoFill(a, l, i, o);
|
|
@@ -3193,13 +3193,13 @@ const Pr = jt("univer.auto-fill-service"), hr = {
|
|
|
3193
3193
|
}, Zl = {
|
|
3194
3194
|
id: "sheet.command.refill",
|
|
3195
3195
|
type: Q.COMMAND,
|
|
3196
|
-
handler: async (r, e) => r.get(
|
|
3196
|
+
handler: async (r, e) => r.get(xr).fillData(e.type)
|
|
3197
3197
|
};
|
|
3198
3198
|
var YC = Object.getOwnPropertyDescriptor, ZC = (r, e, t, n) => {
|
|
3199
3199
|
for (var i = n > 1 ? void 0 : n ? YC(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
3200
3200
|
(s = r[o]) && (i = s(i) || i);
|
|
3201
3201
|
return i;
|
|
3202
|
-
},
|
|
3202
|
+
}, kr = (r, e) => (t, n) => e(t, n, r);
|
|
3203
3203
|
let Ls = class extends oe {
|
|
3204
3204
|
constructor(e, t, n, i, o, s) {
|
|
3205
3205
|
super();
|
|
@@ -3261,7 +3261,7 @@ let Ls = class extends oe {
|
|
|
3261
3261
|
const u = bs(d), h = ou(c);
|
|
3262
3262
|
let { startX: g, startY: m, endX: f, endY: v } = u;
|
|
3263
3263
|
const { scaleX: p, scaleY: C } = a.getAncestorScale(), _ = a.getViewportScrollXY(s.getViewPort());
|
|
3264
|
-
g =
|
|
3264
|
+
g = Fr(g, p, _), m = Ur(m, C, _), f = Fr(f, p, _), v = Ur(v, C, _), e && this._currentEditCellLayout && (f = f - g + this._currentEditCellLayout.position.startX, v = v - m + this._currentEditCellLayout.position.startY, g = this._currentEditCellLayout.position.startX, m = this._currentEditCellLayout.position.startY), this._currentEditCellLayout = {
|
|
3265
3265
|
position: {
|
|
3266
3266
|
startX: g,
|
|
3267
3267
|
startY: m,
|
|
@@ -3318,7 +3318,7 @@ let Ls = class extends oe {
|
|
|
3318
3318
|
const m = bs(g), f = ou(d);
|
|
3319
3319
|
let { startX: v, startY: p, endX: C, endY: _ } = m;
|
|
3320
3320
|
const { scaleX: S, scaleY: I } = c.getAncestorScale(), R = c.getViewportScrollXY(o.getViewPort());
|
|
3321
|
-
v =
|
|
3321
|
+
v = Fr(v, S, R), p = Ur(p, I, R), C = Fr(C, S, R), _ = Ur(_, I, R);
|
|
3322
3322
|
const y = t.getActiveSheet();
|
|
3323
3323
|
if (!y) return;
|
|
3324
3324
|
const E = {
|
|
@@ -3335,16 +3335,16 @@ let Ls = class extends oe {
|
|
|
3335
3335
|
y.getCell(u, h),
|
|
3336
3336
|
E
|
|
3337
3337
|
);
|
|
3338
|
-
M = T &&
|
|
3338
|
+
M = T && y.getCellDocumentModelWithFormula(T, E.row, E.col);
|
|
3339
3339
|
const P = (A = M == null ? void 0 : M.documentModel) == null ? void 0 : A.documentStyle.renderConfig;
|
|
3340
3340
|
if (P != null && (P.cellValueType = Mt.STRING), !M || M.documentModel == null) {
|
|
3341
|
-
const V =
|
|
3341
|
+
const V = y.getBlankCellDocumentModel(T, E.row, E.col);
|
|
3342
3342
|
if (M != null) {
|
|
3343
|
-
const { verticalAlign: W, horizontalAlign:
|
|
3343
|
+
const { verticalAlign: W, horizontalAlign: z, wrapStrategy: B, textRotation: j, fill: Z } = M, { centerAngle: ce, vertexAngle: ge } = sd(j);
|
|
3344
3344
|
V.documentModel.documentStyle.renderConfig = {
|
|
3345
3345
|
...P,
|
|
3346
3346
|
verticalAlign: W,
|
|
3347
|
-
horizontalAlign:
|
|
3347
|
+
horizontalAlign: z,
|
|
3348
3348
|
wrapStrategy: B,
|
|
3349
3349
|
background: { rgb: Z },
|
|
3350
3350
|
centerAngle: ce,
|
|
@@ -3412,12 +3412,12 @@ let Ls = class extends oe {
|
|
|
3412
3412
|
}
|
|
3413
3413
|
};
|
|
3414
3414
|
Ls = ZC([
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3415
|
+
kr(0, k(vn)),
|
|
3416
|
+
kr(1, Ce),
|
|
3417
|
+
kr(2, k(At)),
|
|
3418
|
+
kr(3, N),
|
|
3419
|
+
kr(4, vi),
|
|
3420
|
+
kr(5, ke)
|
|
3421
3421
|
], Ls);
|
|
3422
3422
|
const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
3423
3423
|
id: "sheet.operation.set-cell-edit-visible",
|
|
@@ -3441,7 +3441,7 @@ const qe = jt("univer.sheet-editor-bridge.service"), tt = {
|
|
|
3441
3441
|
unitId: i.getUnitId()
|
|
3442
3442
|
}) : !1;
|
|
3443
3443
|
}
|
|
3444
|
-
},
|
|
3444
|
+
}, oi = {
|
|
3445
3445
|
id: "sheet.operation.set-cell-edit-visible-arrow",
|
|
3446
3446
|
type: Q.OPERATION,
|
|
3447
3447
|
handler: () => !0
|
|
@@ -3610,7 +3610,7 @@ var QC = Object.getOwnPropertyDescriptor, JC = (r, e, t, n) => {
|
|
|
3610
3610
|
return i;
|
|
3611
3611
|
}, os = (r, e) => (t, n) => e(t, n, r);
|
|
3612
3612
|
const Bu = "univer-sheet-main-canvas";
|
|
3613
|
-
let
|
|
3613
|
+
let Rr = class extends Nn {
|
|
3614
3614
|
constructor(e, t, n, i) {
|
|
3615
3615
|
super();
|
|
3616
3616
|
b(this, "_skeletonChangeMutations", /* @__PURE__ */ new Set());
|
|
@@ -3645,7 +3645,7 @@ let br = class extends Nn {
|
|
|
3645
3645
|
}));
|
|
3646
3646
|
}
|
|
3647
3647
|
_initWorkbookListener() {
|
|
3648
|
-
this._instanceSrv.getTypeOfUnitAdded$(x.UNIVER_SHEET).pipe(
|
|
3648
|
+
this._instanceSrv.getTypeOfUnitAdded$(x.UNIVER_SHEET).pipe(ni(this.dispose$)).subscribe((e) => this._createRenderer(e)), this._instanceSrv.getAllUnitsForType(x.UNIVER_SHEET).forEach((e) => this._createRenderer(e)), this._instanceSrv.getTypeOfUnitDisposed$(x.UNIVER_SHEET).pipe(ni(this.dispose$)).subscribe((e) => this._disposeRenderer(e));
|
|
3649
3649
|
}
|
|
3650
3650
|
_createRenderer(e) {
|
|
3651
3651
|
const t = e.getUnitId();
|
|
@@ -3665,12 +3665,12 @@ let br = class extends Nn {
|
|
|
3665
3665
|
}));
|
|
3666
3666
|
}
|
|
3667
3667
|
};
|
|
3668
|
-
|
|
3668
|
+
Rr = JC([
|
|
3669
3669
|
os(0, ke),
|
|
3670
3670
|
os(1, N),
|
|
3671
3671
|
os(2, Ce),
|
|
3672
3672
|
os(3, k(At))
|
|
3673
|
-
],
|
|
3673
|
+
], Rr);
|
|
3674
3674
|
var $C = Object.getOwnPropertyDescriptor, e1 = (r, e, t, n) => {
|
|
3675
3675
|
for (var i = n > 1 ? void 0 : n ? $C(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
3676
3676
|
(s = r[o]) && (i = s(i) || i);
|
|
@@ -3685,7 +3685,7 @@ let Ws = class extends oe {
|
|
|
3685
3685
|
b(this, "_defaultHook");
|
|
3686
3686
|
this._univerInstanceService = e, this._commandService = t, this._autoFillService = n, this._editorBridgeService = i, this._renderManagerService = o, this._injector = s, this._sheetsRenderService = l, this._defaultHook = {
|
|
3687
3687
|
id: "default",
|
|
3688
|
-
type:
|
|
3688
|
+
type: jr.Default,
|
|
3689
3689
|
priority: 0,
|
|
3690
3690
|
onBeforeFillData: (a, c) => this._presetAndCacheData(a, c),
|
|
3691
3691
|
onFillData: (a, c, d) => this._fillData(a, c, d)
|
|
@@ -3845,11 +3845,11 @@ let Ws = class extends oe {
|
|
|
3845
3845
|
const { data: a } = e, c = n === F.UP || n === F.LEFT;
|
|
3846
3846
|
if (i === Ne.COPY) {
|
|
3847
3847
|
const d = o == null ? void 0 : o[Ne.COPY];
|
|
3848
|
-
return d ? d(e, t, n, s, l) : (c && a.reverse(),
|
|
3848
|
+
return d ? d(e, t, n, s, l) : (c && a.reverse(), _r(a, t));
|
|
3849
3849
|
}
|
|
3850
3850
|
if (i === Ne.SERIES) {
|
|
3851
3851
|
const d = o == null ? void 0 : o[Ne.SERIES];
|
|
3852
|
-
return d ? d(e, t, n, s) : (c && a.reverse(), o != null && o[Ne.COPY] ? o[Ne.COPY](e, t, n, s, l) :
|
|
3852
|
+
return d ? d(e, t, n, s) : (c && a.reverse(), o != null && o[Ne.COPY] ? o[Ne.COPY](e, t, n, s, l) : _r(a, t));
|
|
3853
3853
|
}
|
|
3854
3854
|
if (i === Ne.ONLY_FORMAT) {
|
|
3855
3855
|
const d = o == null ? void 0 : o[Ne.ONLY_FORMAT];
|
|
@@ -3977,29 +3977,29 @@ let Ws = class extends oe {
|
|
|
3977
3977
|
const _ = [];
|
|
3978
3978
|
if (t === F.DOWN || t === F.UP) {
|
|
3979
3979
|
const O = m.length, V = [];
|
|
3980
|
-
g.forEach((W,
|
|
3981
|
-
const B = p[
|
|
3982
|
-
V.push(
|
|
3980
|
+
g.forEach((W, z) => {
|
|
3981
|
+
const B = p[z], j = this._getApplyData(B, C, O, t, n, s, e);
|
|
3982
|
+
V.push(j);
|
|
3983
3983
|
});
|
|
3984
3984
|
for (let W = 0; W < V[0].length; W++) {
|
|
3985
|
-
const
|
|
3985
|
+
const z = [];
|
|
3986
3986
|
for (let B = 0; B < V.length; B++)
|
|
3987
|
-
|
|
3987
|
+
z.push({
|
|
3988
3988
|
s: null,
|
|
3989
3989
|
...V[B][W]
|
|
3990
3990
|
});
|
|
3991
|
-
_.push(
|
|
3991
|
+
_.push(z);
|
|
3992
3992
|
}
|
|
3993
3993
|
} else {
|
|
3994
3994
|
const O = g.length;
|
|
3995
3995
|
m.forEach((V, W) => {
|
|
3996
|
-
const
|
|
3996
|
+
const z = p[W], B = this._getApplyData(z, C, O, t, n, s, e), j = [];
|
|
3997
3997
|
for (let Z = 0; Z < B.length; Z++)
|
|
3998
|
-
|
|
3998
|
+
j.push({
|
|
3999
3999
|
s: null,
|
|
4000
4000
|
...B[Z]
|
|
4001
4001
|
});
|
|
4002
|
-
_.push(
|
|
4002
|
+
_.push(j);
|
|
4003
4003
|
});
|
|
4004
4004
|
}
|
|
4005
4005
|
let S = [];
|
|
@@ -4009,13 +4009,13 @@ let Ws = class extends oe {
|
|
|
4009
4009
|
V && I && I && (V.s = I.getStyleByCell(V));
|
|
4010
4010
|
});
|
|
4011
4011
|
})) : _.forEach((O, V) => {
|
|
4012
|
-
O.forEach((W,
|
|
4013
|
-
W && I && (W.s = I.getStyleByCell(this._beforeApplyData[V][
|
|
4012
|
+
O.forEach((W, z) => {
|
|
4013
|
+
W && I && (W.s = I.getStyleByCell(this._beforeApplyData[V][z]) || null);
|
|
4014
4014
|
});
|
|
4015
4015
|
}), n === Ne.ONLY_FORMAT && _.forEach((O, V) => {
|
|
4016
|
-
O.forEach((W,
|
|
4016
|
+
O.forEach((W, z) => {
|
|
4017
4017
|
if (W) {
|
|
4018
|
-
const B = this._beforeApplyData[V][
|
|
4018
|
+
const B = this._beforeApplyData[V][z] || {};
|
|
4019
4019
|
W.f = B.f, W.si = B.si, W.t = B.t, W.v = B.v;
|
|
4020
4020
|
}
|
|
4021
4021
|
});
|
|
@@ -4028,11 +4028,11 @@ let Ws = class extends oe {
|
|
|
4028
4028
|
unitId: c,
|
|
4029
4029
|
subUnitId: d,
|
|
4030
4030
|
ranges: O
|
|
4031
|
-
},
|
|
4031
|
+
}, z = this._injector.invoke(
|
|
4032
4032
|
Wl,
|
|
4033
4033
|
W
|
|
4034
4034
|
);
|
|
4035
|
-
O.length && (o.push({ id: Kt.id, params: W }), i.unshift({ id: Qt.id, params:
|
|
4035
|
+
O.length && (o.push({ id: Kt.id, params: W }), i.unshift({ id: Qt.id, params: z }));
|
|
4036
4036
|
}
|
|
4037
4037
|
const R = {
|
|
4038
4038
|
subUnitId: d,
|
|
@@ -4045,8 +4045,8 @@ let Ws = class extends oe {
|
|
|
4045
4045
|
o.push({ id: be.id, params: R }), i.unshift({ id: be.id, params: y });
|
|
4046
4046
|
const E = new Ge();
|
|
4047
4047
|
m.forEach((O, V) => {
|
|
4048
|
-
g.forEach((W,
|
|
4049
|
-
_[V][
|
|
4048
|
+
g.forEach((W, z) => {
|
|
4049
|
+
_[V][z] && E.setValue(O, W, _[V][z]);
|
|
4050
4050
|
});
|
|
4051
4051
|
});
|
|
4052
4052
|
const M = E.getMatrix(), T = {
|
|
@@ -4100,11 +4100,11 @@ let Ws = class extends oe {
|
|
|
4100
4100
|
Ws = e1([
|
|
4101
4101
|
or(0, N),
|
|
4102
4102
|
or(1, L),
|
|
4103
|
-
or(2,
|
|
4103
|
+
or(2, xr),
|
|
4104
4104
|
or(3, qe),
|
|
4105
4105
|
or(4, Ce),
|
|
4106
4106
|
or(5, k(bt)),
|
|
4107
|
-
or(6, k(
|
|
4107
|
+
or(6, k(Rr))
|
|
4108
4108
|
], Ws);
|
|
4109
4109
|
var t1 = Object.getOwnPropertyDescriptor, n1 = (r, e, t, n) => {
|
|
4110
4110
|
for (var i = n > 1 ? void 0 : n ? t1(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -4163,9 +4163,9 @@ let Bs = class extends oe {
|
|
|
4163
4163
|
}, V = {
|
|
4164
4164
|
x: S.x + g / C,
|
|
4165
4165
|
y: S.y + m / _
|
|
4166
|
-
}, W = A.find((
|
|
4166
|
+
}, W = A.find((z) => {
|
|
4167
4167
|
var B;
|
|
4168
|
-
return (B =
|
|
4168
|
+
return (B = z.isHit) == null ? void 0 : B.call(z, V, O);
|
|
4169
4169
|
});
|
|
4170
4170
|
if (W)
|
|
4171
4171
|
return [W, O];
|
|
@@ -4221,7 +4221,7 @@ var r1 = Object.getOwnPropertyDescriptor, i1 = (r, e, t, n) => {
|
|
|
4221
4221
|
(s = r[o]) && (i = s(i) || i);
|
|
4222
4222
|
return i;
|
|
4223
4223
|
}, Fu = (r, e) => (t, n) => e(t, n, r);
|
|
4224
|
-
let
|
|
4224
|
+
let si = class {
|
|
4225
4225
|
constructor(r, e) {
|
|
4226
4226
|
b(this, "_current", null);
|
|
4227
4227
|
b(this, "_shortcutParam", []);
|
|
@@ -4263,10 +4263,10 @@ let oi = class {
|
|
|
4263
4263
|
);
|
|
4264
4264
|
}
|
|
4265
4265
|
};
|
|
4266
|
-
|
|
4266
|
+
si = i1([
|
|
4267
4267
|
Fu(0, N),
|
|
4268
4268
|
Fu(1, k(Pe))
|
|
4269
|
-
],
|
|
4269
|
+
], si);
|
|
4270
4270
|
var ql = /* @__PURE__ */ ((r) => (r.MergeAll = "mergeAll", r.MergeVertical = "mergeVertical", r.MergeHorizontal = "mergeHorizontal", r))(ql || {});
|
|
4271
4271
|
function Gn(r, e, t, n, i = !0, o = 1, s = !0) {
|
|
4272
4272
|
let l = { ...r };
|
|
@@ -4645,7 +4645,7 @@ const Dt = {
|
|
|
4645
4645
|
if (ae.equals(g, u))
|
|
4646
4646
|
return !1;
|
|
4647
4647
|
const m = n.getUnitId();
|
|
4648
|
-
r.get(
|
|
4648
|
+
r.get(si).remove({
|
|
4649
4649
|
unitId: m,
|
|
4650
4650
|
sheetId: i.getSheetId(),
|
|
4651
4651
|
keycode: Y.TAB
|
|
@@ -4692,7 +4692,7 @@ const Dt = {
|
|
|
4692
4692
|
return !1;
|
|
4693
4693
|
const { range: p } = u, C = u.primary;
|
|
4694
4694
|
let _ = Hc(p, C, s);
|
|
4695
|
-
const S = r.get(
|
|
4695
|
+
const S = r.get(si), I = S.getCurrentBySearch({
|
|
4696
4696
|
unitId: f,
|
|
4697
4697
|
sheetId: v,
|
|
4698
4698
|
keycode: Y.TAB
|
|
@@ -4710,8 +4710,8 @@ const Dt = {
|
|
|
4710
4710
|
else {
|
|
4711
4711
|
const B = I == null ? void 0 : I.selection;
|
|
4712
4712
|
if (B != null) {
|
|
4713
|
-
const { range:
|
|
4714
|
-
_ = Hc(
|
|
4713
|
+
const { range: j, primary: Z } = B;
|
|
4714
|
+
_ = Hc(j, Z, s);
|
|
4715
4715
|
}
|
|
4716
4716
|
S.remove({
|
|
4717
4717
|
unitId: f,
|
|
@@ -4719,20 +4719,20 @@ const Dt = {
|
|
|
4719
4719
|
keycode: Y.TAB
|
|
4720
4720
|
});
|
|
4721
4721
|
}
|
|
4722
|
-
const W = Gn(_, s, i),
|
|
4723
|
-
if (ae.equals(
|
|
4722
|
+
const W = Gn(_, s, i), z = ms(W.startRow, W.startColumn, i);
|
|
4723
|
+
if (ae.equals(z, _))
|
|
4724
4724
|
return !1;
|
|
4725
4725
|
R = {
|
|
4726
|
-
range: ae.clone(
|
|
4726
|
+
range: ae.clone(z),
|
|
4727
4727
|
primary: {
|
|
4728
|
-
startRow:
|
|
4729
|
-
startColumn:
|
|
4730
|
-
endRow:
|
|
4731
|
-
endColumn:
|
|
4728
|
+
startRow: z.startRow,
|
|
4729
|
+
startColumn: z.startColumn,
|
|
4730
|
+
endRow: z.endRow,
|
|
4731
|
+
endColumn: z.endColumn,
|
|
4732
4732
|
actualRow: W.startRow,
|
|
4733
4733
|
actualColumn: W.startColumn,
|
|
4734
|
-
isMerged:
|
|
4735
|
-
isMergedMainCell:
|
|
4734
|
+
isMerged: z.isMerged,
|
|
4735
|
+
isMergedMainCell: z.startRow === W.startRow && z.startColumn === W.startColumn
|
|
4736
4736
|
}
|
|
4737
4737
|
};
|
|
4738
4738
|
} else {
|
|
@@ -4741,7 +4741,7 @@ const Dt = {
|
|
|
4741
4741
|
sheetId: v,
|
|
4742
4742
|
keycode: Y.TAB
|
|
4743
4743
|
});
|
|
4744
|
-
const W = le.deepClone(C),
|
|
4744
|
+
const W = le.deepClone(C), z = P ? g.range : Gn(
|
|
4745
4745
|
{
|
|
4746
4746
|
startRow: W.startRow,
|
|
4747
4747
|
startColumn: W.startColumn,
|
|
@@ -4756,18 +4756,18 @@ const Dt = {
|
|
|
4756
4756
|
startColumn: M,
|
|
4757
4757
|
endColumn: T
|
|
4758
4758
|
}
|
|
4759
|
-
), B = P && a,
|
|
4759
|
+
), B = P && a, j = B ? ms(z.endRow, z.endColumn, i) : ms(z.startRow, z.startColumn, i);
|
|
4760
4760
|
R = {
|
|
4761
4761
|
range: P ? g.range : ae.clone(p),
|
|
4762
4762
|
primary: {
|
|
4763
|
-
startRow:
|
|
4764
|
-
startColumn:
|
|
4765
|
-
endRow:
|
|
4766
|
-
endColumn:
|
|
4767
|
-
actualRow: B ?
|
|
4768
|
-
actualColumn: B ?
|
|
4769
|
-
isMerged:
|
|
4770
|
-
isMergedMainCell:
|
|
4763
|
+
startRow: j.startRow,
|
|
4764
|
+
startColumn: j.startColumn,
|
|
4765
|
+
endRow: j.endRow,
|
|
4766
|
+
endColumn: j.endColumn,
|
|
4767
|
+
actualRow: B ? j.startRow : z.startRow,
|
|
4768
|
+
actualColumn: B ? j.startColumn : z.startColumn,
|
|
4769
|
+
isMerged: j.isMerged,
|
|
4770
|
+
isMergedMainCell: j.startRow === z.startRow && j.startColumn === z.startColumn
|
|
4771
4771
|
},
|
|
4772
4772
|
style: P ? g.style : u.style
|
|
4773
4773
|
};
|
|
@@ -5095,7 +5095,7 @@ var m1 = Object.getOwnPropertyDescriptor, f1 = (r, e, t, n) => {
|
|
|
5095
5095
|
for (var i = n > 1 ? void 0 : n ? m1(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
5096
5096
|
(s = r[o]) && (i = s(i) || i);
|
|
5097
5097
|
return i;
|
|
5098
|
-
},
|
|
5098
|
+
}, Nr = (r, e) => (t, n) => e(t, n, r);
|
|
5099
5099
|
Dt.id, Ln.id;
|
|
5100
5100
|
const p1 = 3;
|
|
5101
5101
|
let ho = class extends oe {
|
|
@@ -5412,12 +5412,12 @@ let ho = class extends oe {
|
|
|
5412
5412
|
}
|
|
5413
5413
|
};
|
|
5414
5414
|
ho = f1([
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5415
|
+
Nr(1, k(bt)),
|
|
5416
|
+
Nr(2, k(he)),
|
|
5417
|
+
Nr(3, ke),
|
|
5418
|
+
Nr(4, L),
|
|
5419
|
+
Nr(5, Ce),
|
|
5420
|
+
Nr(6, k(Et))
|
|
5421
5421
|
], ho);
|
|
5422
5422
|
const hm = {
|
|
5423
5423
|
id: "sheet.operation.scroll-to-range",
|
|
@@ -5620,14 +5620,14 @@ var V1 = { tag: "svg", attrs: { xmlns: "http://www.w3.org/2000/svg", fill: "none
|
|
|
5620
5620
|
}));
|
|
5621
5621
|
});
|
|
5622
5622
|
Fd.displayName = "LockIcon";
|
|
5623
|
-
var k1 = { tag: "svg", attrs: { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z", fillRule: "evenodd", clipRule: "evenodd" } }] },
|
|
5623
|
+
var k1 = { tag: "svg", attrs: { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, li = dt(function(r, e) {
|
|
5624
5624
|
return st(ut, Object.assign({}, r, {
|
|
5625
5625
|
id: "more-down-icon",
|
|
5626
5626
|
ref: e,
|
|
5627
5627
|
icon: k1
|
|
5628
5628
|
}));
|
|
5629
5629
|
});
|
|
5630
|
-
|
|
5630
|
+
li.displayName = "MoreDownIcon";
|
|
5631
5631
|
var N1 = { tag: "svg", attrs: { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, kc = dt(function(r, e) {
|
|
5632
5632
|
return st(ut, Object.assign({}, r, {
|
|
5633
5633
|
id: "more-icon",
|
|
@@ -5689,7 +5689,7 @@ const X1 = () => {
|
|
|
5689
5689
|
return On(() => r((e) => !e), []);
|
|
5690
5690
|
};
|
|
5691
5691
|
function z1() {
|
|
5692
|
-
const r = D(L), e = D(N), t = D(Ce), n = D(
|
|
5692
|
+
const r = D(L), e = D(N), t = D(Ce), n = D(xr), i = D(Pe), [o, s] = re([]), [l, a] = re(!1), [c, d] = re({ row: -1, col: -1 }), [u, h] = re(Ne.SERIES), [g, m] = re(!1), f = Pr(), { sheetSkeletonManagerService: v, selectionRenderService: p } = wt(() => {
|
|
5693
5693
|
if (f) {
|
|
5694
5694
|
const Z = t.getRenderById(f.getUnitId());
|
|
5695
5695
|
return {
|
|
@@ -5742,13 +5742,13 @@ function z1() {
|
|
|
5742
5742
|
if (!I || !p) return null;
|
|
5743
5743
|
const { scene: R } = I, y = v == null ? void 0 : v.getCurrentSkeleton(), E = p.getViewPort(), M = R == null ? void 0 : R.scaleX, T = R == null ? void 0 : R.scaleY, P = R == null ? void 0 : R.getViewportScrollXY(E);
|
|
5744
5744
|
if (!M || !R || !M || !T || !P) return null;
|
|
5745
|
-
const A = (y == null ? void 0 : y.getNoMergeCellWithCoordByIndex(c.row, c.col).endX) || 0, H = (y == null ? void 0 : y.getNoMergeCellWithCoordByIndex(c.row, c.col).endY) || 0, O =
|
|
5745
|
+
const A = (y == null ? void 0 : y.getNoMergeCellWithCoordByIndex(c.row, c.col).endX) || 0, H = (y == null ? void 0 : y.getNoMergeCellWithCoordByIndex(c.row, c.col).endY) || 0, O = Fr(A, M, P), V = Ur(H, T, P);
|
|
5746
5746
|
if (O == null || V == null) return null;
|
|
5747
5747
|
const W = (Z) => {
|
|
5748
5748
|
a(Z);
|
|
5749
|
-
},
|
|
5749
|
+
}, z = (Z) => {
|
|
5750
5750
|
r.executeCommand(Zl.id, { type: Z.value }), a(!1);
|
|
5751
|
-
}, B = l || g,
|
|
5751
|
+
}, B = l || g, j = o.filter((Z) => !Z.disable);
|
|
5752
5752
|
return /* @__PURE__ */ w("div", { className: "univer-absolute univer-inset-0 univer-z-10 univer-size-0", children: /* @__PURE__ */ w(
|
|
5753
5753
|
"div",
|
|
5754
5754
|
{
|
|
@@ -5760,18 +5760,18 @@ function z1() {
|
|
|
5760
5760
|
Md,
|
|
5761
5761
|
{
|
|
5762
5762
|
align: "start",
|
|
5763
|
-
items:
|
|
5763
|
+
items: j.map((Z) => ({
|
|
5764
5764
|
type: "radio",
|
|
5765
5765
|
value: u,
|
|
5766
5766
|
options: [{ label: i.t(Z.label), value: Z.value }],
|
|
5767
|
-
onSelect: () =>
|
|
5767
|
+
onSelect: () => z(Z)
|
|
5768
5768
|
})),
|
|
5769
5769
|
open: l,
|
|
5770
5770
|
onOpenChange: W,
|
|
5771
5771
|
children: /* @__PURE__ */ q(
|
|
5772
5772
|
"div",
|
|
5773
5773
|
{
|
|
5774
|
-
className: He("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-100",
|
|
5774
|
+
className: He("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-100", wi, {
|
|
5775
5775
|
"univer-bg-gray-100 dark:!univer-bg-gray-800": l,
|
|
5776
5776
|
"univer-bg-white dark:!univer-bg-gray-900": !l
|
|
5777
5777
|
}),
|
|
@@ -5782,7 +5782,7 @@ function z1() {
|
|
|
5782
5782
|
className: "univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"
|
|
5783
5783
|
}
|
|
5784
5784
|
),
|
|
5785
|
-
B && /* @__PURE__ */ w(
|
|
5785
|
+
B && /* @__PURE__ */ w(li, { className: "dark:!univer-text-white" })
|
|
5786
5786
|
]
|
|
5787
5787
|
}
|
|
5788
5788
|
)
|
|
@@ -5817,7 +5817,7 @@ const Fs = -1e3, Xu = {
|
|
|
5817
5817
|
}, j1 = () => {
|
|
5818
5818
|
const [r, e] = re({
|
|
5819
5819
|
...Xu
|
|
5820
|
-
}), t = D(Ql), n = D(
|
|
5820
|
+
}), t = D(Ql), n = D(vi), i = D(ke), o = D(Zt), s = D(qe), l = ht(s.visible$), a = D(L), c = Tn(0), d = ht(
|
|
5821
5821
|
() => i.subscribeContextValue$(vu),
|
|
5822
5822
|
!1,
|
|
5823
5823
|
void 0,
|
|
@@ -5867,7 +5867,7 @@ const Fs = -1e3, Xu = {
|
|
|
5867
5867
|
});
|
|
5868
5868
|
Gh(g);
|
|
5869
5869
|
const m = Em(c, h == null ? void 0 : h.unitId), f = Su((v, p) => {
|
|
5870
|
-
a.executeCommand(
|
|
5870
|
+
a.executeCommand(oi.id, {
|
|
5871
5871
|
keycode: v,
|
|
5872
5872
|
visible: !1,
|
|
5873
5873
|
eventType: ze.Keyboard,
|
|
@@ -5953,8 +5953,8 @@ const $l = jt(
|
|
|
5953
5953
|
id: "sidebar.operation.defined-name",
|
|
5954
5954
|
type: Q.COMMAND,
|
|
5955
5955
|
handler: async (r, e) => {
|
|
5956
|
-
const t = r.get(
|
|
5957
|
-
r.get(
|
|
5956
|
+
const t = r.get(Ci);
|
|
5957
|
+
r.get(vi);
|
|
5958
5958
|
const n = r.get(Pe), i = r.get(N), o = Ue(i);
|
|
5959
5959
|
if (!o) return !1;
|
|
5960
5960
|
const { unitId: s } = o;
|
|
@@ -5978,7 +5978,7 @@ const $l = jt(
|
|
|
5978
5978
|
}
|
|
5979
5979
|
};
|
|
5980
5980
|
function Z1() {
|
|
5981
|
-
const r = D(L), e = D(Pe), t = D(Uo), n = D(N), i = D(
|
|
5981
|
+
const r = D(L), e = D(Pe), t = D(Uo), n = D(N), i = D(Ci), s = n.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId(), l = () => {
|
|
5982
5982
|
const h = t.getDefinedNameMap(s);
|
|
5983
5983
|
return h ? Array.from(Object.values(h)) : [];
|
|
5984
5984
|
}, [a, c] = re(l());
|
|
@@ -6107,7 +6107,7 @@ function G1({ disable: r }) {
|
|
|
6107
6107
|
className: He("univer-absolute univer-right-0 univer-top-0 univer-flex univer-h-full univer-cursor-pointer univer-items-center univer-justify-center univer-px-1 univer-transition-colors univer-duration-200 dark:!univer-text-white dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-100", {
|
|
6108
6108
|
"univer-cursor-not-allowed univer-text-gray-300 dark:!univer-text-gray-700 hover:univer-bg-transparent": r
|
|
6109
6109
|
}),
|
|
6110
|
-
children: /* @__PURE__ */ w(
|
|
6110
|
+
children: /* @__PURE__ */ w(li, {})
|
|
6111
6111
|
}
|
|
6112
6112
|
)
|
|
6113
6113
|
}
|
|
@@ -6126,7 +6126,7 @@ function q1(r) {
|
|
|
6126
6126
|
viewDisable: !1
|
|
6127
6127
|
}), [C, _] = re(!1), S = D(Zt), I = ht(() => u.getCurrentTypeOfUnit$(x.UNIVER_SHEET), void 0, void 0, []), R = Tn(0), y = ht(a.currentEditCellState$), E = Em(R, (ne = y == null ? void 0 : y.unitId) != null ? ne : ""), M = S.get(Od), T = qh(om.FORMULA_AUX), P = D(ke);
|
|
6128
6128
|
ht(wt(() => P.subscribeContextValue$(Ot), [P]));
|
|
6129
|
-
const A = P.getContextValue(Ot), H = Tn(null), O = D(
|
|
6129
|
+
const A = P.getContextValue(Ot), H = Tn(null), O = D(vi);
|
|
6130
6130
|
eS(() => {
|
|
6131
6131
|
const Re = I.activeSheet$.pipe(
|
|
6132
6132
|
at((de) => de ? St(
|
|
@@ -6159,10 +6159,10 @@ function q1(r) {
|
|
|
6159
6159
|
});
|
|
6160
6160
|
return;
|
|
6161
6161
|
}
|
|
6162
|
-
const { actualRow: bp, actualColumn: Rp } = _p,
|
|
6162
|
+
const { actualRow: bp, actualColumn: Rp } = _p, Hr = m.getCellInfo(Qo, Jo, bp, Rp);
|
|
6163
6163
|
p({
|
|
6164
|
-
editDisable: !((Bn =
|
|
6165
|
-
viewDisable: !((Fn =
|
|
6164
|
+
editDisable: !((Bn = Hr == null ? void 0 : Hr[ro.Edit]) == null || Bn),
|
|
6165
|
+
viewDisable: !((Fn = Hr == null ? void 0 : Hr[ro.View]) == null || Fn)
|
|
6166
6166
|
});
|
|
6167
6167
|
} else
|
|
6168
6168
|
p({
|
|
@@ -6215,7 +6215,7 @@ function q1(r) {
|
|
|
6215
6215
|
unitId: y.unitId
|
|
6216
6216
|
});
|
|
6217
6217
|
}
|
|
6218
|
-
function
|
|
6218
|
+
function z() {
|
|
6219
6219
|
a.isVisible().visible && f.executeCommand(tt.id, {
|
|
6220
6220
|
visible: !1,
|
|
6221
6221
|
eventType: ze.PointerDown,
|
|
@@ -6225,7 +6225,7 @@ function q1(r) {
|
|
|
6225
6225
|
function B() {
|
|
6226
6226
|
l.handleFxBtnClick(!0);
|
|
6227
6227
|
}
|
|
6228
|
-
const { viewDisable:
|
|
6228
|
+
const { viewDisable: j, editDisable: Z } = v, ce = Z || C, ge = Tn(!1), se = () => {
|
|
6229
6229
|
try {
|
|
6230
6230
|
a.isVisible().visible === !1 && f.syncExecuteCommand(
|
|
6231
6231
|
tt.id,
|
|
@@ -6242,7 +6242,7 @@ function q1(r) {
|
|
|
6242
6242
|
ge.current && setTimeout(() => {
|
|
6243
6243
|
O.blur(!0);
|
|
6244
6244
|
}, 30), ge.current = !1;
|
|
6245
|
-
}, ee = ((pe = (Fe = (ve = y == null ? void 0 : y.documentLayoutObject.documentModel) == null ? void 0 : ve.getDrawingsOrder()) == null ? void 0 : Fe.length) != null ? pe : 0) > 0 ||
|
|
6245
|
+
}, ee = ((pe = (Fe = (ve = y == null ? void 0 : y.documentLayoutObject.documentModel) == null ? void 0 : ve.getDrawingsOrder()) == null ? void 0 : Fe.length) != null ? pe : 0) > 0 || j;
|
|
6246
6246
|
return /* @__PURE__ */ q(
|
|
6247
6247
|
"div",
|
|
6248
6248
|
{
|
|
@@ -6276,7 +6276,7 @@ function q1(r) {
|
|
|
6276
6276
|
className: He("univer-flex univer-items-center univer-justify-center univer-rounded univer-p-1 univer-text-base dark:!univer-text-white", {
|
|
6277
6277
|
"univer-cursor-pointer univer-text-red-600 dark:!univer-text-red-400 dark:hover:!univer-bg-gray-700 hover:univer-bg-gray-100": n
|
|
6278
6278
|
}),
|
|
6279
|
-
onClick:
|
|
6279
|
+
onClick: z,
|
|
6280
6280
|
children: /* @__PURE__ */ w(_i, {})
|
|
6281
6281
|
}
|
|
6282
6282
|
),
|
|
@@ -6356,7 +6356,7 @@ function q1(r) {
|
|
|
6356
6356
|
}
|
|
6357
6357
|
);
|
|
6358
6358
|
}
|
|
6359
|
-
const
|
|
6359
|
+
const Or = jt("univer.sheetbar-service");
|
|
6360
6360
|
class Tm extends oe {
|
|
6361
6361
|
constructor() {
|
|
6362
6362
|
super();
|
|
@@ -6424,7 +6424,7 @@ function vs(r) {
|
|
|
6424
6424
|
);
|
|
6425
6425
|
}
|
|
6426
6426
|
function K1() {
|
|
6427
|
-
const [r, e] = re([]), [t, n] = re(!1), i = D(N), o = D(L), s = D(
|
|
6427
|
+
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) => {
|
|
6428
6428
|
const { sheetId: v } = f;
|
|
6429
6429
|
!v || !a || (f.hidden ? o.executeCommand(hd.id, {
|
|
6430
6430
|
unitId: a.getUnitId(),
|
|
@@ -6449,7 +6449,7 @@ function K1() {
|
|
|
6449
6449
|
case er.id:
|
|
6450
6450
|
case An.id:
|
|
6451
6451
|
case md.id:
|
|
6452
|
-
case
|
|
6452
|
+
case Mr.id:
|
|
6453
6453
|
case gd.id:
|
|
6454
6454
|
case nt.id:
|
|
6455
6455
|
d();
|
|
@@ -6654,7 +6654,7 @@ class vr {
|
|
|
6654
6654
|
}
|
|
6655
6655
|
selectAll() {
|
|
6656
6656
|
const e = this.getEditor();
|
|
6657
|
-
e &&
|
|
6657
|
+
e && qr.keepSelectAll(e);
|
|
6658
6658
|
}
|
|
6659
6659
|
isEditMode() {
|
|
6660
6660
|
return this._editMode;
|
|
@@ -6692,11 +6692,11 @@ class vr {
|
|
|
6692
6692
|
setTimeout(() => {
|
|
6693
6693
|
if (t) {
|
|
6694
6694
|
const u = n.innerText;
|
|
6695
|
-
u.length > d && (n.innerText = u.substring(0, d),
|
|
6695
|
+
u.length > d && (n.innerText = u.substring(0, d), qr.keepLastIndex(n));
|
|
6696
6696
|
}
|
|
6697
6697
|
}, 0);
|
|
6698
6698
|
};
|
|
6699
|
-
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,
|
|
6699
|
+
n && (n.setAttribute("contentEditable", "true"), n.addEventListener("focusout", i), n.addEventListener("compositionstart", s), n.addEventListener("compositionend", l), n.addEventListener("input", a), n.addEventListener("keydown", o), this._editMode = !0, qr.keepSelectAll(n));
|
|
6700
6700
|
}
|
|
6701
6701
|
}
|
|
6702
6702
|
nameCheck() {
|
|
@@ -6790,7 +6790,7 @@ class tw {
|
|
|
6790
6790
|
return this._scrollX;
|
|
6791
6791
|
}
|
|
6792
6792
|
}
|
|
6793
|
-
const
|
|
6793
|
+
const Yr = class Yr {
|
|
6794
6794
|
// eslint-disable-next-line max-lines-per-function
|
|
6795
6795
|
constructor(e) {
|
|
6796
6796
|
// in milliseconds
|
|
@@ -6854,11 +6854,11 @@ const jr = class jr {
|
|
|
6854
6854
|
const { x: d, width: u } = this._activeTabItem.getBoundingRect(), { x: h, width: g } = this.getBoundingRect(), m = this._slideScrollbar.getScrollX();
|
|
6855
6855
|
if (this._leftBoundingLine = this._downActionX - (d - m), this._rightBoundingLine = d - m + u - this._downActionX, this._leftMoveX = d - h - m, this._rightMoveX = h + g - (d + u) + m, s.button === 2 || this._hasEditItem())
|
|
6856
6856
|
return;
|
|
6857
|
-
const { pageX: f, pageY: v } = s, p = Date.now(), C = p - o <=
|
|
6857
|
+
const { pageX: f, pageY: v } = s, p = Date.now(), C = p - o <= Yr.DoubleClickDelay, _ = Math.abs(f - n) < 10, S = Math.abs(v - i) < 10;
|
|
6858
6858
|
C && _ && S && this._activeTabItem.setEditor(), n = f, i = v, o = p, this._longPressTimer = setTimeout(() => {
|
|
6859
6859
|
var P, A, H;
|
|
6860
6860
|
!c || (P = this._activeTabItem) != null && P.isEditMode() || ((A = this._activeTabItem) == null || A.enableFixed(), this._startAutoScroll(), c.setPointerCapture(s.pointerId), c.style.cursor = "move", (H = this._activeTabItem) == null || H.addEventListener("pointermove", this._moveAction));
|
|
6861
|
-
},
|
|
6861
|
+
}, Yr.LongPressDelay);
|
|
6862
6862
|
}, this._upAction = (s) => {
|
|
6863
6863
|
var c, d, u, h;
|
|
6864
6864
|
if ((c = this._activeTabItem) != null && c.isEditMode() || (this._longPressTimer && (clearTimeout(this._longPressTimer), this._longPressTimer = null), !this._activeTabItem)) return;
|
|
@@ -7091,13 +7091,13 @@ const jr = class jr {
|
|
|
7091
7091
|
}
|
|
7092
7092
|
};
|
|
7093
7093
|
/** Time in milliseconds to wait to raise long press events if button is still pressed */
|
|
7094
|
-
b(
|
|
7094
|
+
b(Yr, "LongPressDelay", 500), // in milliseconds
|
|
7095
7095
|
/** Time in milliseconds with two consecutive clicks will be considered as a double click */
|
|
7096
|
-
b(
|
|
7097
|
-
let
|
|
7096
|
+
b(Yr, "DoubleClickDelay", 300);
|
|
7097
|
+
let qr = Yr;
|
|
7098
7098
|
function nw() {
|
|
7099
7099
|
var _e;
|
|
7100
|
-
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(
|
|
7100
|
+
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(tn), v = D(qe, uc.OPTIONAL), p = D(ft), C = D($e), _ = ht(p.resetOrder$), S = Pr(), I = D(rt), R = On(() => {
|
|
7101
7101
|
var Fe;
|
|
7102
7102
|
const G = ((Fe = S.getActiveSheet()) == null ? void 0 : Fe.getSheetId()) || "";
|
|
7103
7103
|
n(G);
|
|
@@ -7120,9 +7120,9 @@ function nw() {
|
|
|
7120
7120
|
Me(() => {
|
|
7121
7121
|
R();
|
|
7122
7122
|
const { slideTabBar: G, disconnectResizeObserver: ee } = y(), ne = W(), ve = [
|
|
7123
|
-
|
|
7123
|
+
z(),
|
|
7124
7124
|
B(),
|
|
7125
|
-
|
|
7125
|
+
j()
|
|
7126
7126
|
// When adding a sheet, it no longer slides, which has been uniformly handled in setupSlideTabBarUpdate
|
|
7127
7127
|
];
|
|
7128
7128
|
return () => {
|
|
@@ -7142,7 +7142,7 @@ function nw() {
|
|
|
7142
7142
|
};
|
|
7143
7143
|
}, [p, R]);
|
|
7144
7144
|
const y = () => {
|
|
7145
|
-
const G = new
|
|
7145
|
+
const G = new qr({
|
|
7146
7146
|
slideTabBarSelector: "[data-u-comp=slide-tab-bar]",
|
|
7147
7147
|
slideTabBarItemSelector: "[data-u-comp=slide-tab-item]",
|
|
7148
7148
|
slideTabBarItemAutoSort: !0,
|
|
@@ -7257,18 +7257,18 @@ function nw() {
|
|
|
7257
7257
|
case er.id:
|
|
7258
7258
|
case An.id:
|
|
7259
7259
|
case md.id:
|
|
7260
|
-
case
|
|
7260
|
+
case Mr.id:
|
|
7261
7261
|
case gd.id:
|
|
7262
7262
|
case nt.id:
|
|
7263
7263
|
R();
|
|
7264
7264
|
break;
|
|
7265
7265
|
}
|
|
7266
|
-
}),
|
|
7266
|
+
}), z = () => g.scroll$.subscribe((G) => {
|
|
7267
7267
|
Z(G);
|
|
7268
7268
|
}), B = () => g.scrollX$.subscribe((G) => {
|
|
7269
7269
|
var ee;
|
|
7270
7270
|
(ee = d.current.slideTabBar) == null || ee.flipPage(G);
|
|
7271
|
-
}),
|
|
7271
|
+
}), j = () => g.renameId$.subscribe(() => {
|
|
7272
7272
|
O();
|
|
7273
7273
|
}), Z = (G) => {
|
|
7274
7274
|
const { leftEnd: ee, rightEnd: ne } = G;
|
|
@@ -7343,7 +7343,7 @@ function nw() {
|
|
|
7343
7343
|
}
|
|
7344
7344
|
const rw = 100, iw = () => {
|
|
7345
7345
|
var f, v;
|
|
7346
|
-
const [r, e] = re(!0), [t, n] = re(!0), i = D(L), o = D(
|
|
7346
|
+
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) => {
|
|
7347
7347
|
const { leftEnd: C, rightEnd: _ } = p;
|
|
7348
7348
|
e(C), n(_);
|
|
7349
7349
|
};
|
|
@@ -7391,7 +7391,7 @@ const rw = 100, iw = () => {
|
|
|
7391
7391
|
] });
|
|
7392
7392
|
}, ow = [50, 75, 100, 125, 150, 175, 200, 400];
|
|
7393
7393
|
function sw() {
|
|
7394
|
-
const r = D(L), e = D(N), t =
|
|
7394
|
+
const r = D(L), e = D(N), t = Pr(), n = D(qe), i = ht(n.visible$), o = On(() => {
|
|
7395
7395
|
if (!t) return 100;
|
|
7396
7396
|
const d = t.getActiveSheet(), u = d && d.getZoomRatio() * 100 || 100;
|
|
7397
7397
|
return Math.round(u);
|
|
@@ -7628,7 +7628,7 @@ const zu = 800, uw = 3, hw = () => {
|
|
|
7628
7628
|
function gw() {
|
|
7629
7629
|
var c;
|
|
7630
7630
|
const r = xl(zt), e = D(cd), t = (c = r == null ? void 0 : r.footer) != null ? c : !0;
|
|
7631
|
-
if (!
|
|
7631
|
+
if (!Pr() || !t) return null;
|
|
7632
7632
|
const i = e.getMenuByPositionKey(Ct.FOOTER_MENU), { sheetBar: o = !0, statisticBar: s = !0, menus: l = !0, zoomSlider: a = !0 } = (r == null ? void 0 : r.footer) || {};
|
|
7633
7633
|
return !o && !s && !l && !a ? null : /* @__PURE__ */ q(
|
|
7634
7634
|
"section",
|
|
@@ -8060,25 +8060,25 @@ function jd(r) {
|
|
|
8060
8060
|
return r.getContextValue(Ht);
|
|
8061
8061
|
}
|
|
8062
8062
|
function Oe(r) {
|
|
8063
|
-
return r.getContextValue(Ht) && r.getContextValue(
|
|
8063
|
+
return r.getContextValue(Ht) && r.getContextValue(yr) && !r.getContextValue(Je) && !r.getContextValue(Ml);
|
|
8064
8064
|
}
|
|
8065
8065
|
function Am(r) {
|
|
8066
|
-
return r.getContextValue(Ht) && r.getContextValue(
|
|
8066
|
+
return r.getContextValue(Ht) && r.getContextValue(yr) && !r.getContextValue(Je) && !r.getContextValue(Ot) && !r.getContextValue(Ml);
|
|
8067
8067
|
}
|
|
8068
8068
|
function ww(r) {
|
|
8069
|
-
return r.getContextValue(Ht) && r.getContextValue(
|
|
8069
|
+
return r.getContextValue(Ht) && r.getContextValue(yr) && r.getContextValue(Je);
|
|
8070
8070
|
}
|
|
8071
8071
|
function Yd(r) {
|
|
8072
|
-
return r.getContextValue(
|
|
8072
|
+
return r.getContextValue(yr) && r.getContextValue(Je);
|
|
8073
8073
|
}
|
|
8074
8074
|
function ta(r) {
|
|
8075
|
-
return r.getContextValue(Ot) && r.getContextValue(
|
|
8075
|
+
return r.getContextValue(Ot) && r.getContextValue(yr);
|
|
8076
8076
|
}
|
|
8077
8077
|
function Xy(r) {
|
|
8078
|
-
return r.getContextValue(Ht) && r.getContextValue(Je) && r.getContextValue(Is) && r.getContextValue(
|
|
8078
|
+
return r.getContextValue(Ht) && r.getContextValue(Je) && r.getContextValue(Is) && r.getContextValue(yr);
|
|
8079
8079
|
}
|
|
8080
|
-
function
|
|
8081
|
-
return r.getContextValue(Ht) && r.getContextValue(
|
|
8080
|
+
function ai(r) {
|
|
8081
|
+
return r.getContextValue(Ht) && r.getContextValue(yr) && r.getContextValue(Je) && !r.getContextValue(Is) && !r.getContextValue(yl);
|
|
8082
8082
|
}
|
|
8083
8083
|
const Hm = [
|
|
8084
8084
|
Y.ARROW_DOWN,
|
|
@@ -8090,9 +8090,9 @@ function Vm() {
|
|
|
8090
8090
|
const r = [];
|
|
8091
8091
|
for (const e of Hm)
|
|
8092
8092
|
r.push({
|
|
8093
|
-
id:
|
|
8093
|
+
id: oi.id,
|
|
8094
8094
|
binding: e,
|
|
8095
|
-
preconditions: (t) =>
|
|
8095
|
+
preconditions: (t) => ai(t),
|
|
8096
8096
|
staticParameters: {
|
|
8097
8097
|
visible: !1,
|
|
8098
8098
|
eventType: ze.Keyboard,
|
|
@@ -8100,9 +8100,9 @@ function Vm() {
|
|
|
8100
8100
|
isShift: !1
|
|
8101
8101
|
}
|
|
8102
8102
|
}), r.push({
|
|
8103
|
-
id:
|
|
8103
|
+
id: oi.id,
|
|
8104
8104
|
binding: e | Se.SHIFT,
|
|
8105
|
-
preconditions: (t) =>
|
|
8105
|
+
preconditions: (t) => ai(t),
|
|
8106
8106
|
staticParameters: {
|
|
8107
8107
|
visible: !1,
|
|
8108
8108
|
eventType: ze.Keyboard,
|
|
@@ -8128,7 +8128,7 @@ const km = {
|
|
|
8128
8128
|
binding: Y.ENTER,
|
|
8129
8129
|
description: "shortcut.sheet.toggle-editing",
|
|
8130
8130
|
group: "4_sheet-edit",
|
|
8131
|
-
preconditions: (r) =>
|
|
8131
|
+
preconditions: (r) => ai(r),
|
|
8132
8132
|
staticParameters: {
|
|
8133
8133
|
visible: !1,
|
|
8134
8134
|
eventType: ze.Keyboard,
|
|
@@ -8137,7 +8137,7 @@ const km = {
|
|
|
8137
8137
|
}, Dm = {
|
|
8138
8138
|
id: tt.id,
|
|
8139
8139
|
binding: Y.TAB,
|
|
8140
|
-
preconditions: (r) =>
|
|
8140
|
+
preconditions: (r) => ai(r),
|
|
8141
8141
|
staticParameters: {
|
|
8142
8142
|
visible: !1,
|
|
8143
8143
|
eventType: ze.Keyboard,
|
|
@@ -8148,7 +8148,7 @@ const km = {
|
|
|
8148
8148
|
binding: Y.ESC,
|
|
8149
8149
|
description: "shortcut.sheet.abort-editing",
|
|
8150
8150
|
group: "4_sheet-edit",
|
|
8151
|
-
preconditions: (r) =>
|
|
8151
|
+
preconditions: (r) => ai(r),
|
|
8152
8152
|
staticParameters: {
|
|
8153
8153
|
visible: !1,
|
|
8154
8154
|
eventType: ze.Keyboard,
|
|
@@ -8158,7 +8158,7 @@ const km = {
|
|
|
8158
8158
|
id: tt.id,
|
|
8159
8159
|
binding: Y.ENTER | Se.CTRL_COMMAND,
|
|
8160
8160
|
mac: Y.ENTER | Se.MAC_CTRL,
|
|
8161
|
-
preconditions: (r) =>
|
|
8161
|
+
preconditions: (r) => ai(r),
|
|
8162
8162
|
staticParameters: {
|
|
8163
8163
|
visible: !1,
|
|
8164
8164
|
eventType: ze.Keyboard,
|
|
@@ -8326,27 +8326,27 @@ function Ow(r, e, t, n) {
|
|
|
8326
8326
|
const c = l.token;
|
|
8327
8327
|
if (Nc[c.toLowerCase()]) {
|
|
8328
8328
|
const d = l.startIndex + s + 1, u = l.endIndex + s + 2;
|
|
8329
|
-
o =
|
|
8329
|
+
o = Dr(c.toLocaleUpperCase(), o, d, u);
|
|
8330
8330
|
} else if (l.nodeType === Ra.FUNCTION && Aw(c, n, i, a) || l.nodeType === Ra.REFERENCE) {
|
|
8331
8331
|
const d = c.indexOf("!");
|
|
8332
8332
|
if (d > -1) {
|
|
8333
8333
|
const u = c.substring(d + 1), h = l.startIndex + s + (d + 1) + 1, g = l.endIndex + s + 2;
|
|
8334
|
-
o =
|
|
8334
|
+
o = Dr(u.toLocaleUpperCase(), o, h, g);
|
|
8335
8335
|
} else {
|
|
8336
8336
|
const u = l.startIndex + s + 1, h = l.endIndex + s + 2;
|
|
8337
|
-
o =
|
|
8337
|
+
o = Dr(c.toLocaleUpperCase(), o, u, h);
|
|
8338
8338
|
}
|
|
8339
8339
|
} else if (c.startsWith('"') && c.endsWith('"') || c.startsWith("'") && c.endsWith("'")) {
|
|
8340
8340
|
const d = l.startIndex + s + 2, u = l.endIndex + s + 1;
|
|
8341
|
-
o =
|
|
8341
|
+
o = Dr(r.slice(d, u), o, d, u);
|
|
8342
8342
|
} else if (l.nodeType !== Ra.ARRAY) {
|
|
8343
8343
|
const d = mn.parseValue(c);
|
|
8344
8344
|
if (d == null) {
|
|
8345
8345
|
const u = l.startIndex + s + 1, h = l.endIndex + s + 2;
|
|
8346
|
-
o =
|
|
8346
|
+
o = Dr(r.slice(u, h), o, u, h);
|
|
8347
8347
|
} else if (typeof d.v == "number" && (d.z === void 0 || !mn.getFormatInfo(d.z).isDate)) {
|
|
8348
8348
|
const u = `${d.v}`, h = l.startIndex + s + 1, g = l.endIndex + s + 2, { processedString: m, offset: f } = kw(c, u);
|
|
8349
|
-
o =
|
|
8349
|
+
o = Dr(m, o, h, g), s += f;
|
|
8350
8350
|
}
|
|
8351
8351
|
}
|
|
8352
8352
|
}
|
|
@@ -8363,7 +8363,7 @@ function Hw(r) {
|
|
|
8363
8363
|
function Vw(r) {
|
|
8364
8364
|
return Ew[r] || r;
|
|
8365
8365
|
}
|
|
8366
|
-
function
|
|
8366
|
+
function Dr(r, e, t, n) {
|
|
8367
8367
|
return e.substring(0, t) + r + e.substring(n);
|
|
8368
8368
|
}
|
|
8369
8369
|
function kw(r, e) {
|
|
@@ -8531,7 +8531,7 @@ let zs = class extends oe {
|
|
|
8531
8531
|
s === Le && ((i = this._sheetCellEditorResizeService) == null || i.fitTextSize());
|
|
8532
8532
|
}
|
|
8533
8533
|
}));
|
|
8534
|
-
const t = [
|
|
8534
|
+
const t = [oi.id];
|
|
8535
8535
|
e.add(this._commandService.onCommandExecuted((n) => {
|
|
8536
8536
|
if (t.includes(n.id)) {
|
|
8537
8537
|
const i = n.params, { keycode: o, isShift: s } = i;
|
|
@@ -8811,7 +8811,7 @@ zs = Ww([
|
|
|
8811
8811
|
It(7, k(yd)),
|
|
8812
8812
|
It(8, L),
|
|
8813
8813
|
It(9, k(Pe)),
|
|
8814
|
-
It(10,
|
|
8814
|
+
It(10, vi),
|
|
8815
8815
|
It(11, N),
|
|
8816
8816
|
It(12, k(vn)),
|
|
8817
8817
|
It(13, k(Us)),
|
|
@@ -9310,7 +9310,7 @@ const Il = class Il {
|
|
|
9310
9310
|
var l, a;
|
|
9311
9311
|
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);
|
|
9312
9312
|
return s && s.forValue((c, d, u) => {
|
|
9313
|
-
var m, f, v, p, C, _, S, I, R, y, E, M, T, P, A, H, O, V, W,
|
|
9313
|
+
var m, f, v, p, C, _, S, I, R, y, E, M, T, P, A, H, O, V, W, z, B, j, Z, ce;
|
|
9314
9314
|
let h = Hv(void 0, u.style);
|
|
9315
9315
|
if ((p = (v = (f = (m = u == null ? void 0 : u.richTextParma) == null ? void 0 : m.p) == null ? void 0 : f.body) == null ? void 0 : v.textRuns) != null && p.length) {
|
|
9316
9316
|
const ge = (_ = (C = u == null ? void 0 : u.richTextParma) == null ? void 0 : C.v) == null ? void 0 : _.length;
|
|
@@ -9318,9 +9318,9 @@ const Il = class Il {
|
|
|
9318
9318
|
const _e = (T = (M = (E = u == null ? void 0 : u.richTextParma) == null ? void 0 : E.p) == null ? void 0 : M.body) == null ? void 0 : T.textRuns[se];
|
|
9319
9319
|
_e.st === 0 && _e.ed === ge && (h = { ..._e.ts, ...h }, (H = (A = (P = u == null ? void 0 : u.richTextParma) == null ? void 0 : P.p) == null ? void 0 : A.body) == null || H.textRuns.splice(se, 1), se--);
|
|
9320
9320
|
}
|
|
9321
|
-
((
|
|
9321
|
+
((z = (W = (V = (O = u == null ? void 0 : u.richTextParma) == null ? void 0 : O.p) == null ? void 0 : V.body) == null ? void 0 : W.textRuns) == null ? void 0 : z.length) === 0 && (u.content = (B = u == null ? void 0 : u.richTextParma) == null ? void 0 : B.v, delete u.richTextParma);
|
|
9322
9322
|
}
|
|
9323
|
-
const g = (ce = (Z = (
|
|
9323
|
+
const g = (ce = (Z = (j = u == null ? void 0 : u.richTextParma) == null ? void 0 : j.p) == null ? void 0 : Z.body) != null && ce.textRuns ? {
|
|
9324
9324
|
v: u.richTextParma.v,
|
|
9325
9325
|
p: u.richTextParma.p,
|
|
9326
9326
|
s: h,
|
|
@@ -9507,7 +9507,7 @@ const Il = class Il {
|
|
|
9507
9507
|
}
|
|
9508
9508
|
};
|
|
9509
9509
|
b(Il, "_pluginList", []);
|
|
9510
|
-
let
|
|
9510
|
+
let ci = Il;
|
|
9511
9511
|
function Qw(r) {
|
|
9512
9512
|
const e = /<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi, t = r.matchAll(e);
|
|
9513
9513
|
if (!t)
|
|
@@ -9875,9 +9875,9 @@ const et = {
|
|
|
9875
9875
|
[Lv]: "webp",
|
|
9876
9876
|
[Dv]: "bmp"
|
|
9877
9877
|
};
|
|
9878
|
-
|
|
9879
|
-
|
|
9880
|
-
|
|
9878
|
+
ci.use(r0);
|
|
9879
|
+
ci.use(t0);
|
|
9880
|
+
ci.use(n0);
|
|
9881
9881
|
const nn = jt("sheet.clipboard-service");
|
|
9882
9882
|
let Zs = class extends oe {
|
|
9883
9883
|
constructor(e, t, n, i, o, s, l, a, c, d, u, h, g, m) {
|
|
@@ -9895,7 +9895,7 @@ let Zs = class extends oe {
|
|
|
9895
9895
|
//Control the visibility of the Paste Options menu
|
|
9896
9896
|
b(this, "_showMenu$", new Ee(!1));
|
|
9897
9897
|
b(this, "showMenu$", this._showMenu$.asObservable());
|
|
9898
|
-
this._logService = e, this._univerInstanceService = t, this._selectionManagerService = n, this._clipboardInterfaceService = i, this._undoRedoService = o, this._commandService = s, this._markSelectionService = l, this._notificationService = a, this._platformService = c, this._renderManagerService = d, this._themeService = u, this._localeService = h, this._errorService = g, this._injector = m, this._htmlToUSM = new
|
|
9898
|
+
this._logService = e, this._univerInstanceService = t, this._selectionManagerService = n, this._clipboardInterfaceService = i, this._undoRedoService = o, this._commandService = s, this._markSelectionService = l, this._notificationService = a, this._platformService = c, this._renderManagerService = d, this._themeService = u, this._localeService = h, this._errorService = g, this._injector = m, this._htmlToUSM = new ci({
|
|
9899
9899
|
getCurrentSkeleton: () => {
|
|
9900
9900
|
var f;
|
|
9901
9901
|
return (f = od(
|
|
@@ -10137,55 +10137,52 @@ let Zs = class extends oe {
|
|
|
10137
10137
|
}
|
|
10138
10138
|
// eslint-disable-next-line max-lines-per-function, complexity
|
|
10139
10139
|
async _pasteInternal(e, t) {
|
|
10140
|
-
var
|
|
10140
|
+
var R, y;
|
|
10141
10141
|
const n = le.deepClone(this._copyContentCache.get(e)), { range: i, matrix: o, unitId: s, subUnitId: l } = n || {};
|
|
10142
10142
|
if (!o || !n || !i || !s || !l || !o || !n)
|
|
10143
10143
|
return !1;
|
|
10144
|
-
const a = (
|
|
10145
|
-
o.forValue((
|
|
10146
|
-
|
|
10147
|
-
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
if (T === 0 && P === 0) continue;
|
|
10154
|
-
const A = y + T, H = E + P;
|
|
10155
|
-
o.setValue(A, H, { s: a == null ? void 0 : a.getStyleByCell(M) });
|
|
10144
|
+
const { mapFunc: a } = wr([i]), c = (R = this._univerInstanceService.getUniverSheetInstance(s)) == null ? void 0 : R.getSheetBySheetId(l);
|
|
10145
|
+
o.forValue((E, M, T) => {
|
|
10146
|
+
const { row: P, col: A } = a(E, M), H = c == null ? void 0 : c.getComposedCellStyle(P, A), O = le.deepClone(T);
|
|
10147
|
+
if (O.s = H, o.setValue(E, M, O), T.colSpan || T.rowSpan)
|
|
10148
|
+
for (let V = 0; V < T.rowSpan; V++)
|
|
10149
|
+
for (let W = 0; W < T.colSpan; W++) {
|
|
10150
|
+
if (V === 0 && W === 0) continue;
|
|
10151
|
+
const z = E + V, B = M + W;
|
|
10152
|
+
o.setValue(z, B, { s: H });
|
|
10156
10153
|
}
|
|
10157
10154
|
});
|
|
10158
|
-
const
|
|
10159
|
-
if (!
|
|
10160
|
-
const
|
|
10161
|
-
if (!
|
|
10155
|
+
const d = this._getPastedRange(o);
|
|
10156
|
+
if (!d) return !1;
|
|
10157
|
+
const u = (y = this._univerInstanceService.getUniverSheetInstance(d.unitId)) == null ? void 0 : y.getSheetBySheetId(d.subUnitId);
|
|
10158
|
+
if (!u)
|
|
10162
10159
|
return !1;
|
|
10163
|
-
const
|
|
10164
|
-
if (
|
|
10160
|
+
const h = u == null ? void 0 : u.getMergeData();
|
|
10161
|
+
if (h && h.some((M) => xa(M, d.pastedRange) && !ih(d.pastedRange, M)))
|
|
10165
10162
|
return this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")), !1;
|
|
10166
|
-
const
|
|
10167
|
-
if (!h) return !1;
|
|
10168
|
-
const g = h.getSheetBySheetId(l);
|
|
10163
|
+
const g = this._univerInstanceService.getUnit(s);
|
|
10169
10164
|
if (!g) return !1;
|
|
10170
|
-
const m = g.
|
|
10171
|
-
if (
|
|
10172
|
-
|
|
10173
|
-
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
|
|
10165
|
+
const m = g.getSheetBySheetId(l);
|
|
10166
|
+
if (!m) return !1;
|
|
10167
|
+
const f = m.getColumnManager(), v = m.getRowManager(), p = m.getConfig().defaultColumnWidth, C = m.getConfig().defaultRowHeight, _ = [], S = [];
|
|
10168
|
+
if (i.cols.forEach((E) => {
|
|
10169
|
+
const M = f.getColumnOrCreate(E);
|
|
10170
|
+
_.push({ width: `${M.w || p}` });
|
|
10171
|
+
}), i.rows.forEach((E) => {
|
|
10172
|
+
const M = v.getRowOrCreate(E), { ah: T = C, h: P = C } = M, A = Math.max(T, P);
|
|
10173
|
+
S.push({ height: `${A}` });
|
|
10177
10174
|
}), n.copyType === jn.CUT) {
|
|
10178
|
-
const
|
|
10179
|
-
|
|
10175
|
+
const E = d.pastedRange.rows[0], M = i.rows[i.rows.length - 1] - i.rows[0] + E;
|
|
10176
|
+
d.pastedRange.rows = Array.from(new Array(M + 1).keys()).slice(E);
|
|
10180
10177
|
}
|
|
10181
|
-
const
|
|
10178
|
+
const I = this._pasteUSM(
|
|
10182
10179
|
{
|
|
10183
10180
|
cellMatrix: o,
|
|
10184
|
-
colProperties:
|
|
10185
|
-
rowProperties:
|
|
10181
|
+
colProperties: _,
|
|
10182
|
+
rowProperties: S
|
|
10186
10183
|
},
|
|
10187
10184
|
// paste data
|
|
10188
|
-
|
|
10185
|
+
d,
|
|
10189
10186
|
t,
|
|
10190
10187
|
{
|
|
10191
10188
|
range: i,
|
|
@@ -10196,7 +10193,7 @@ let Zs = class extends oe {
|
|
|
10196
10193
|
copyId: e
|
|
10197
10194
|
}
|
|
10198
10195
|
);
|
|
10199
|
-
return n.copyType === jn.CUT && (this._copyContentCache.set(e, { ...n, matrix: null }), this._copyMarkId && this._markSelectionService.removeShape(this._copyMarkId), this._copyMarkId = null),
|
|
10196
|
+
return n.copyType === jn.CUT && (this._copyContentCache.set(e, { ...n, matrix: null }), this._copyMarkId && this._markSelectionService.removeShape(this._copyMarkId), this._copyMarkId = null), I;
|
|
10200
10197
|
}
|
|
10201
10198
|
// eslint-disable-next-line max-lines-per-function
|
|
10202
10199
|
_pasteUSM(e, t, n, i) {
|
|
@@ -10372,7 +10369,7 @@ let Zs = class extends oe {
|
|
|
10372
10369
|
const a = this._injector.invoke((T) => Gi(o.range, T, s, l));
|
|
10373
10370
|
if (!a)
|
|
10374
10371
|
return null;
|
|
10375
|
-
const { ranges: [c], mapFunc: d } =
|
|
10372
|
+
const { ranges: [c], mapFunc: d } = wr([a]), { startRow: u, startColumn: h, endRow: g, endColumn: m } = c, f = g - u + 1, v = m - h + 1, p = this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET), C = p == null ? void 0 : p.getActiveSheet();
|
|
10376
10373
|
if (!C)
|
|
10377
10374
|
return null;
|
|
10378
10375
|
const S = C.getMergeData().filter(
|
|
@@ -10627,7 +10624,7 @@ const qd = 998, hn = {
|
|
|
10627
10624
|
handler: async (r) => r.get(L).executeCommand(gn.id, {
|
|
10628
10625
|
value: et.SPECIAL_PASTE_FORMAT
|
|
10629
10626
|
})
|
|
10630
|
-
},
|
|
10627
|
+
}, Kr = {
|
|
10631
10628
|
id: "sheet.command.paste-col-width",
|
|
10632
10629
|
type: Q.COMMAND,
|
|
10633
10630
|
handler: async (r) => r.get(L).executeCommand(gn.id, {
|
|
@@ -10769,7 +10766,7 @@ var w0 = Object.getOwnPropertyDescriptor, _0 = (r, e, t, n) => {
|
|
|
10769
10766
|
for (var i = n > 1 ? void 0 : n ? w0(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
10770
10767
|
(s = r[o]) && (i = s(i) || i);
|
|
10771
10768
|
return i;
|
|
10772
|
-
},
|
|
10769
|
+
}, Lr = (r, e) => (t, n) => e(t, n, r), Ut = /* @__PURE__ */ ((r) => (r[r.OFF = 0] = "OFF", r[r.ONCE = 1] = "ONCE", r[r.INFINITE = 2] = "INFINITE", r))(Ut || {});
|
|
10773
10770
|
const Wn = jt("univer.format-painter-service");
|
|
10774
10771
|
let Gs = class extends oe {
|
|
10775
10772
|
constructor(e, t, n, i, o, s) {
|
|
@@ -10853,12 +10850,12 @@ let Gs = class extends oe {
|
|
|
10853
10850
|
}
|
|
10854
10851
|
};
|
|
10855
10852
|
Gs = _0([
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
10859
|
-
|
|
10860
|
-
|
|
10861
|
-
|
|
10853
|
+
Lr(0, k($)),
|
|
10854
|
+
Lr(1, k(At)),
|
|
10855
|
+
Lr(2, bi),
|
|
10856
|
+
Lr(3, El),
|
|
10857
|
+
Lr(4, L),
|
|
10858
|
+
Lr(5, Yt)
|
|
10862
10859
|
], Gs);
|
|
10863
10860
|
const sa = {
|
|
10864
10861
|
id: "sheet.operation.set-format-painter",
|
|
@@ -11032,7 +11029,7 @@ const da = {
|
|
|
11032
11029
|
Me(() => {
|
|
11033
11030
|
a.visible || d(n);
|
|
11034
11031
|
}, [a.visible]), Me(() => {
|
|
11035
|
-
d(n);
|
|
11032
|
+
+n < o ? d(o.toString()) : +n > s ? d(s.toString()) : d(n);
|
|
11036
11033
|
}, [n]);
|
|
11037
11034
|
function h() {
|
|
11038
11035
|
c && i(c);
|
|
@@ -11104,18 +11101,18 @@ function fe(r, e = {}, t = !1) {
|
|
|
11104
11101
|
if (E)
|
|
11105
11102
|
return Ie(!0);
|
|
11106
11103
|
const M = m.getUnitId(), T = p.getSheetId(), P = r.get(rt), { workbookTypes: A = [K], worksheetTypes: H, rangeTypes: O } = e, V = [];
|
|
11107
|
-
if (A == null || A.forEach((
|
|
11108
|
-
V.push(new
|
|
11109
|
-
}), H == null || H.forEach((
|
|
11110
|
-
V.push(new
|
|
11104
|
+
if (A == null || A.forEach((j) => {
|
|
11105
|
+
V.push(new j(M).id);
|
|
11106
|
+
}), H == null || H.forEach((j) => {
|
|
11107
|
+
V.push(new j(M, T).id);
|
|
11111
11108
|
}), S.getRule(M, T))
|
|
11112
|
-
return P.composePermission$(V).pipe(fn((
|
|
11113
|
-
const
|
|
11114
|
-
return O == null || O.forEach((
|
|
11109
|
+
return P.composePermission$(V).pipe(fn((j) => j.some((Z) => Z.value === !1)));
|
|
11110
|
+
const z = y == null ? void 0 : y.map((j) => j.range), B = _.getSubunitRuleList(M, T).filter((j) => z == null ? void 0 : z.some((Z) => j.ranges.some((ce) => ae.intersects(Z, ce))));
|
|
11111
|
+
return O == null || O.forEach((j) => {
|
|
11115
11112
|
B.forEach((Z) => {
|
|
11116
|
-
V.push(new
|
|
11113
|
+
V.push(new j(M, T, Z.permissionId).id);
|
|
11117
11114
|
});
|
|
11118
|
-
}), P.composePermission$(V).pipe(fn((
|
|
11115
|
+
}), P.composePermission$(V).pipe(fn((j) => j.some((Z) => Z.value === !1)));
|
|
11119
11116
|
})
|
|
11120
11117
|
);
|
|
11121
11118
|
})
|
|
@@ -11829,7 +11826,7 @@ function U0(r) {
|
|
|
11829
11826
|
function Zo(r) {
|
|
11830
11827
|
return new je((t) => t.next(!r.get(Ol).supportClipboard));
|
|
11831
11828
|
}
|
|
11832
|
-
function
|
|
11829
|
+
function Qr(r) {
|
|
11833
11830
|
return {
|
|
11834
11831
|
id: hn.name,
|
|
11835
11832
|
commandId: hn.id,
|
|
@@ -11906,13 +11903,13 @@ function Va(r) {
|
|
|
11906
11903
|
}
|
|
11907
11904
|
function ka(r) {
|
|
11908
11905
|
return {
|
|
11909
|
-
id:
|
|
11906
|
+
id: Kr.id,
|
|
11910
11907
|
type: J.BUTTON,
|
|
11911
11908
|
title: "rightClick.pasteColWidth",
|
|
11912
11909
|
disabled$: Zo(r).pipe(
|
|
11913
11910
|
rr(fe(r, {
|
|
11914
11911
|
rangeTypes: [ie],
|
|
11915
|
-
worksheetTypes: [
|
|
11912
|
+
worksheetTypes: [Tr, te],
|
|
11916
11913
|
workbookTypes: [K]
|
|
11917
11914
|
})),
|
|
11918
11915
|
Be(([e, t]) => e || t)
|
|
@@ -11931,8 +11928,8 @@ function Na(r) {
|
|
|
11931
11928
|
te,
|
|
11932
11929
|
Ze,
|
|
11933
11930
|
qt,
|
|
11934
|
-
|
|
11935
|
-
|
|
11931
|
+
Er,
|
|
11932
|
+
Tr
|
|
11936
11933
|
],
|
|
11937
11934
|
workbookTypes: [K]
|
|
11938
11935
|
})),
|
|
@@ -11949,7 +11946,7 @@ function X0(r) {
|
|
|
11949
11946
|
title: "rightClick.fitContent",
|
|
11950
11947
|
disabled$: fe(r, {
|
|
11951
11948
|
workbookTypes: [K],
|
|
11952
|
-
worksheetTypes: [
|
|
11949
|
+
worksheetTypes: [Er, te],
|
|
11953
11950
|
rangeTypes: [ie]
|
|
11954
11951
|
}),
|
|
11955
11952
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -11963,7 +11960,7 @@ function z0(r) {
|
|
|
11963
11960
|
title: "rightClick.fitContent",
|
|
11964
11961
|
disabled$: fe(r, {
|
|
11965
11962
|
workbookTypes: [K],
|
|
11966
|
-
worksheetTypes: [
|
|
11963
|
+
worksheetTypes: [Er, te],
|
|
11967
11964
|
rangeTypes: [ie]
|
|
11968
11965
|
}),
|
|
11969
11966
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -12037,7 +12034,7 @@ function G0(r) {
|
|
|
12037
12034
|
title: "rightClick.hideSelectedRow",
|
|
12038
12035
|
disabled$: fe(r, {
|
|
12039
12036
|
workbookTypes: [K],
|
|
12040
|
-
worksheetTypes: [
|
|
12037
|
+
worksheetTypes: [Er, te],
|
|
12041
12038
|
rangeTypes: [ie]
|
|
12042
12039
|
}),
|
|
12043
12040
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -12051,7 +12048,7 @@ function q0(r) {
|
|
|
12051
12048
|
title: "rightClick.hideSelectedColumn",
|
|
12052
12049
|
disabled$: fe(r, {
|
|
12053
12050
|
workbookTypes: [K],
|
|
12054
|
-
worksheetTypes: [te,
|
|
12051
|
+
worksheetTypes: [te, Tr],
|
|
12055
12052
|
rangeTypes: [ie]
|
|
12056
12053
|
}),
|
|
12057
12054
|
hidden$: ue(r, x.UNIVER_SHEET)
|
|
@@ -12081,7 +12078,7 @@ function K0(r) {
|
|
|
12081
12078
|
})),
|
|
12082
12079
|
disabled$: fe(r, {
|
|
12083
12080
|
workbookTypes: [K],
|
|
12084
|
-
worksheetTypes: [te,
|
|
12081
|
+
worksheetTypes: [te, Er],
|
|
12085
12082
|
rangeTypes: [ie]
|
|
12086
12083
|
})
|
|
12087
12084
|
};
|
|
@@ -12110,13 +12107,13 @@ function Q0(r) {
|
|
|
12110
12107
|
})),
|
|
12111
12108
|
disabled$: fe(r, {
|
|
12112
12109
|
workbookTypes: [K],
|
|
12113
|
-
worksheetTypes: [
|
|
12110
|
+
worksheetTypes: [Tr, te],
|
|
12114
12111
|
rangeTypes: [ie]
|
|
12115
12112
|
})
|
|
12116
12113
|
};
|
|
12117
12114
|
}
|
|
12118
12115
|
function J0(r) {
|
|
12119
|
-
const e = r.get(L), t = r.get(N), n = r.get($), i =
|
|
12116
|
+
const e = r.get(L), t = r.get(N), n = r.get($), i = 2;
|
|
12120
12117
|
return {
|
|
12121
12118
|
id: hg.id,
|
|
12122
12119
|
type: J.BUTTON,
|
|
@@ -12126,14 +12123,14 @@ function J0(r) {
|
|
|
12126
12123
|
props: {
|
|
12127
12124
|
prefix: "rightClick.rowHeight",
|
|
12128
12125
|
suffix: "px",
|
|
12129
|
-
min:
|
|
12126
|
+
min: i,
|
|
12130
12127
|
max: 1e3
|
|
12131
12128
|
}
|
|
12132
12129
|
},
|
|
12133
12130
|
value$: pt(t, i, ({ worksheet: o }) => new je((s) => {
|
|
12134
12131
|
function l() {
|
|
12135
12132
|
var u;
|
|
12136
|
-
const c = (u = n.getCurrentLastSelection()) == null ? void 0 : u.primary, d = c ? o.getRowHeight(c.startRow) :
|
|
12133
|
+
const c = (u = n.getCurrentLastSelection()) == null ? void 0 : u.primary, d = c ? o.getRowHeight(c.startRow) : o.getConfig().defaultRowHeight;
|
|
12137
12134
|
s.next(d);
|
|
12138
12135
|
}
|
|
12139
12136
|
const a = e.onCommandExecuted((c) => {
|
|
@@ -12145,13 +12142,13 @@ function J0(r) {
|
|
|
12145
12142
|
})),
|
|
12146
12143
|
hidden$: fe(r, {
|
|
12147
12144
|
workbookTypes: [K],
|
|
12148
|
-
worksheetTypes: [te,
|
|
12145
|
+
worksheetTypes: [te, Er],
|
|
12149
12146
|
rangeTypes: [ie]
|
|
12150
12147
|
})
|
|
12151
12148
|
};
|
|
12152
12149
|
}
|
|
12153
12150
|
function $0(r) {
|
|
12154
|
-
const e = r.get(L), t = r.get(N), n = r.get($), i =
|
|
12151
|
+
const e = r.get(L), t = r.get(N), n = r.get($), i = 2;
|
|
12155
12152
|
return {
|
|
12156
12153
|
id: pg.id,
|
|
12157
12154
|
type: J.BUTTON,
|
|
@@ -12161,16 +12158,15 @@ function $0(r) {
|
|
|
12161
12158
|
props: {
|
|
12162
12159
|
prefix: "rightClick.columnWidth",
|
|
12163
12160
|
suffix: "px",
|
|
12164
|
-
min:
|
|
12161
|
+
min: i,
|
|
12165
12162
|
max: 1e3
|
|
12166
12163
|
}
|
|
12167
12164
|
},
|
|
12168
12165
|
value$: pt(t, i, ({ worksheet: o }) => new je((s) => {
|
|
12169
12166
|
function l() {
|
|
12170
12167
|
var u;
|
|
12171
|
-
const c = (u = n.getCurrentLastSelection()) == null ? void 0 : u.primary;
|
|
12172
|
-
|
|
12173
|
-
c != null && (d = o.getColumnWidth(c.startColumn)), s.next(d);
|
|
12168
|
+
const c = (u = n.getCurrentLastSelection()) == null ? void 0 : u.primary, d = c ? o.getColumnWidth(c.startColumn) : o.getConfig().defaultColumnWidth;
|
|
12169
|
+
s.next(d);
|
|
12174
12170
|
}
|
|
12175
12171
|
const a = e.onCommandExecuted((c) => {
|
|
12176
12172
|
const d = c.id;
|
|
@@ -12181,7 +12177,7 @@ function $0(r) {
|
|
|
12181
12177
|
})),
|
|
12182
12178
|
hidden$: fe(r, {
|
|
12183
12179
|
workbookTypes: [K],
|
|
12184
|
-
worksheetTypes: [te,
|
|
12180
|
+
worksheetTypes: [te, Tr],
|
|
12185
12181
|
rangeTypes: [ie]
|
|
12186
12182
|
})
|
|
12187
12183
|
};
|
|
@@ -12223,7 +12219,7 @@ let po = class extends oe {
|
|
|
12223
12219
|
b(this, "_freezeActiveColor", "");
|
|
12224
12220
|
b(this, "_freezeHoverColor", "");
|
|
12225
12221
|
b(this, "_lastFreeze");
|
|
12226
|
-
b(this, "interceptor", new
|
|
12222
|
+
b(this, "interceptor", new Si({ FREEZE_PERMISSION_CHECK: Vi }));
|
|
12227
12223
|
this._context = e, this._sheetSkeletonManagerService = t, this._commandService = n, this._selectionManagerService = i, this._scrollManagerService = o, this._themeService = s, this._sheetInterceptorService = l, this._injector = a, this._initialize();
|
|
12228
12224
|
}
|
|
12229
12225
|
dispose() {
|
|
@@ -13120,7 +13116,7 @@ let vo = class extends oe {
|
|
|
13120
13116
|
b(this, "_changeFromRow", -1);
|
|
13121
13117
|
b(this, "_changeToColumn", -1);
|
|
13122
13118
|
b(this, "_changeToRow", -1);
|
|
13123
|
-
b(this, "interceptor", new
|
|
13119
|
+
b(this, "interceptor", new Si({ HEADER_MOVE_PERMISSION_CHECK: Fa }));
|
|
13124
13120
|
b(this, "_workbookSelections");
|
|
13125
13121
|
this._context = e, this._sheetSkeletonManagerService = n, this._commandService = i, this._workbookSelections = t.getWorkbookSelections(this._context.unitId), this._init();
|
|
13126
13122
|
}
|
|
@@ -13183,24 +13179,24 @@ let vo = class extends oe {
|
|
|
13183
13179
|
const P = () => {
|
|
13184
13180
|
if (M)
|
|
13185
13181
|
return;
|
|
13186
|
-
T =
|
|
13182
|
+
T = Zr.create(i, I), this._scrollTimer = T;
|
|
13187
13183
|
const O = i.getViewport(U.VIEW_MAIN);
|
|
13188
13184
|
T.startScroll(p, C, O), M = !0;
|
|
13189
13185
|
};
|
|
13190
13186
|
this._dragHeaderMoveSub = i.onPointerMove$.subscribeEvent((O) => {
|
|
13191
13187
|
P();
|
|
13192
|
-
const { offsetX: V, offsetY: W } = O, { x:
|
|
13188
|
+
const { offsetX: V, offsetY: W } = O, { x: z, y: B } = i.getCoordRelativeToViewport(
|
|
13193
13189
|
Ve.FromArray([V, W])
|
|
13194
13190
|
);
|
|
13195
13191
|
this._rowColumnMoving(
|
|
13196
|
-
|
|
13192
|
+
z,
|
|
13197
13193
|
B,
|
|
13198
13194
|
y,
|
|
13199
13195
|
E,
|
|
13200
13196
|
e
|
|
13201
|
-
), T.scrolling(
|
|
13197
|
+
), T.scrolling(z, B, () => {
|
|
13202
13198
|
this._rowColumnMoving(
|
|
13203
|
-
|
|
13199
|
+
z,
|
|
13204
13200
|
B,
|
|
13205
13201
|
y,
|
|
13206
13202
|
E,
|
|
@@ -13208,35 +13204,35 @@ let vo = class extends oe {
|
|
|
13208
13204
|
);
|
|
13209
13205
|
});
|
|
13210
13206
|
}), this._scenePointerUpSub = i.onPointerUp$.subscribeEvent(() => {
|
|
13211
|
-
var V, W,
|
|
13207
|
+
var V, W, z;
|
|
13212
13208
|
this._disposeBackgroundAndLine(), i.resetCursor(), i.enableObjectsEvent(), this._clearObserverEvent(), (V = this._scrollTimer) == null || V.dispose();
|
|
13213
13209
|
const O = this._workbookSelections.getCurrentSelections();
|
|
13214
13210
|
if (e === X.ROW) {
|
|
13215
13211
|
if (this._changeFromRow !== this._changeToRow && this._changeToRow !== -1) {
|
|
13216
|
-
const
|
|
13212
|
+
const j = (W = ((O == null ? void 0 : O.filter(
|
|
13217
13213
|
(Z) => Z.range.rangeType === X.ROW && Z.range.startRow <= this._changeFromRow && this._changeFromRow <= Z.range.endRow
|
|
13218
13214
|
)) || [])[0]) == null ? void 0 : W.range;
|
|
13219
|
-
|
|
13220
|
-
fromRange:
|
|
13215
|
+
j && this._commandService.executeCommand(bg.id, {
|
|
13216
|
+
fromRange: j,
|
|
13221
13217
|
toRange: {
|
|
13222
|
-
...
|
|
13218
|
+
...j,
|
|
13223
13219
|
startRow: this._changeToRow,
|
|
13224
|
-
endRow: this._changeToRow +
|
|
13220
|
+
endRow: this._changeToRow + j.endRow - j.startRow
|
|
13225
13221
|
}
|
|
13226
13222
|
});
|
|
13227
13223
|
}
|
|
13228
13224
|
this._changeToRow = this._changeFromRow = -1;
|
|
13229
13225
|
} else {
|
|
13230
13226
|
if (this._changeFromColumn !== this._changeToColumn && this._changeToColumn !== -1) {
|
|
13231
|
-
const
|
|
13227
|
+
const j = (z = ((O == null ? void 0 : O.filter(
|
|
13232
13228
|
(Z) => Z.range.rangeType === X.COLUMN && Z.range.startColumn <= this._changeFromColumn && this._changeFromColumn <= Z.range.endColumn
|
|
13233
|
-
)) || [])[0]) == null ? void 0 :
|
|
13234
|
-
|
|
13235
|
-
fromRange:
|
|
13229
|
+
)) || [])[0]) == null ? void 0 : z.range;
|
|
13230
|
+
j && this._commandService.executeCommand(_g.id, {
|
|
13231
|
+
fromRange: j,
|
|
13236
13232
|
toRange: {
|
|
13237
|
-
...
|
|
13233
|
+
...j,
|
|
13238
13234
|
startColumn: this._changeToColumn,
|
|
13239
|
-
endColumn: this._changeToColumn +
|
|
13235
|
+
endColumn: this._changeToColumn + j.endColumn - j.startColumn
|
|
13240
13236
|
}
|
|
13241
13237
|
});
|
|
13242
13238
|
}
|
|
@@ -13248,7 +13244,7 @@ let vo = class extends oe {
|
|
|
13248
13244
|
}
|
|
13249
13245
|
// eslint-disable-next-line max-lines-per-function
|
|
13250
13246
|
_rowColumnMoving(e, t, n, i, o) {
|
|
13251
|
-
var B,
|
|
13247
|
+
var B, j, Z, ce, ge, se, _e;
|
|
13252
13248
|
const s = this._context.scene, l = (B = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : B.skeleton;
|
|
13253
13249
|
if (l == null)
|
|
13254
13250
|
return;
|
|
@@ -13271,7 +13267,7 @@ let vo = class extends oe {
|
|
|
13271
13267
|
endRow: V,
|
|
13272
13268
|
endColumn: W
|
|
13273
13269
|
} = y;
|
|
13274
|
-
o === X.ROW ? (
|
|
13270
|
+
o === X.ROW ? (j = this._moveHelperBackgroundShape) == null || j.transformByState({
|
|
13275
13271
|
height: A - P,
|
|
13276
13272
|
width: u + a,
|
|
13277
13273
|
left: 0,
|
|
@@ -13282,17 +13278,17 @@ let vo = class extends oe {
|
|
|
13282
13278
|
left: M + (e - this._startOffsetX) / E + h.x - i.x,
|
|
13283
13279
|
top: 0
|
|
13284
13280
|
}), (ce = this._moveHelperBackgroundShape) == null || ce.show();
|
|
13285
|
-
const
|
|
13281
|
+
const z = m_ / E;
|
|
13286
13282
|
if (o === X.ROW) {
|
|
13287
13283
|
let G = 0;
|
|
13288
13284
|
if (v <= H)
|
|
13289
|
-
G = S -
|
|
13285
|
+
G = S - z / 2, this._changeToRow = v;
|
|
13290
13286
|
else if (v > V)
|
|
13291
|
-
G = R -
|
|
13287
|
+
G = R - z / 2, this._changeToRow = v + 1;
|
|
13292
13288
|
else
|
|
13293
13289
|
return;
|
|
13294
13290
|
(ge = this._moveHelperLineShape) == null || ge.transformByState({
|
|
13295
|
-
height:
|
|
13291
|
+
height: z,
|
|
13296
13292
|
width: u,
|
|
13297
13293
|
left: a,
|
|
13298
13294
|
top: G
|
|
@@ -13300,14 +13296,14 @@ let vo = class extends oe {
|
|
|
13300
13296
|
} else {
|
|
13301
13297
|
let G = 0;
|
|
13302
13298
|
if (p <= O)
|
|
13303
|
-
G = _ -
|
|
13299
|
+
G = _ - z / 2, this._changeToColumn = p;
|
|
13304
13300
|
else if (p > W)
|
|
13305
|
-
G = I -
|
|
13301
|
+
G = I - z / 2, this._changeToColumn = p + 1;
|
|
13306
13302
|
else
|
|
13307
13303
|
return;
|
|
13308
13304
|
(se = this._moveHelperLineShape) == null || se.transformByState({
|
|
13309
13305
|
height: d,
|
|
13310
|
-
width:
|
|
13306
|
+
width: z,
|
|
13311
13307
|
left: G,
|
|
13312
13308
|
top: c
|
|
13313
13309
|
});
|
|
@@ -13415,7 +13411,7 @@ let Ks = class extends oe {
|
|
|
13415
13411
|
b(this, "_resizeHelperShape");
|
|
13416
13412
|
b(this, "_startOffsetX", Number.POSITIVE_INFINITY);
|
|
13417
13413
|
b(this, "_startOffsetY", Number.POSITIVE_INFINITY);
|
|
13418
|
-
b(this, "interceptor", new
|
|
13414
|
+
b(this, "interceptor", new Si({ HEADER_RESIZE_PERMISSION_CHECK: za }));
|
|
13419
13415
|
this._context = e, this._sheetSkeletonManagerService = t, this._selectionManagerService = n, this._commandService = i, this._init();
|
|
13420
13416
|
}
|
|
13421
13417
|
dispose() {
|
|
@@ -13521,10 +13517,10 @@ let Ks = class extends oe {
|
|
|
13521
13517
|
})
|
|
13522
13518
|
), this.disposeWithMe(
|
|
13523
13519
|
n.onPointerDown$.subscribeEvent((i) => {
|
|
13524
|
-
var W,
|
|
13520
|
+
var W, z, B, j, Z, ce, ge;
|
|
13525
13521
|
const o = (W = this._sheetSkeletonManagerService.getCurrentParam()) == null ? void 0 : W.skeleton;
|
|
13526
13522
|
if (o == null) return;
|
|
13527
|
-
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 = (
|
|
13523
|
+
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 = (z = d == null ? void 0 : d.getScrollBar()) == null ? void 0 : z.horizonScrollTrack) == null ? void 0 : B.height) || 0) + 10, h = (((Z = (j = d == null ? void 0 : d.getScrollBar()) == null ? void 0 : j.verticalScrollTrack) == null ? void 0 : Z.width) || 0) + 10, g = ps(i.offsetX, i.offsetY, s), { scaleX: m, scaleY: f } = s.getAncestorScale();
|
|
13528
13524
|
this._startOffsetX = g.x, this._startOffsetY = g.y;
|
|
13529
13525
|
const v = o.getOffsetByColumn(this._currentColumn), p = o.getOffsetByRow(this._currentRow), C = o.getNoMergeCellWithCoordByIndex(this._currentRow, this._currentColumn);
|
|
13530
13526
|
let _ = !1, S = 0, I = 0;
|
|
@@ -13892,7 +13888,7 @@ let Qs = class extends Nn {
|
|
|
13892
13888
|
Qs = R_([
|
|
13893
13889
|
ki(1, k(pn)),
|
|
13894
13890
|
ki(2, k(he)),
|
|
13895
|
-
ki(3, k(
|
|
13891
|
+
ki(3, k(Rr)),
|
|
13896
13892
|
ki(4, L),
|
|
13897
13893
|
ki(5, td(uC))
|
|
13898
13894
|
], Qs);
|
|
@@ -14181,7 +14177,7 @@ const ir = {
|
|
|
14181
14177
|
confirmText: n.t("button.confirm")
|
|
14182
14178
|
}) ? t.executeCommand(Iu.id) : !0 : t.executeCommand(Iu.id);
|
|
14183
14179
|
}
|
|
14184
|
-
},
|
|
14180
|
+
}, di = {
|
|
14185
14181
|
type: Q.COMMAND,
|
|
14186
14182
|
id: "sheet.command.delete-range-move-up-confirm",
|
|
14187
14183
|
handler: async (r) => {
|
|
@@ -14195,7 +14191,7 @@ const ir = {
|
|
|
14195
14191
|
c = { ...c, endRow: a.getRowCount() - 1 };
|
|
14196
14192
|
for (let g = c.startRow; g <= c.endRow; g++)
|
|
14197
14193
|
if (a.getRowFiltered(g) && await e.confirm({
|
|
14198
|
-
id:
|
|
14194
|
+
id: di.id,
|
|
14199
14195
|
title: { title: n.t("filter.confirm.error") },
|
|
14200
14196
|
children: { title: n.t("filter.confirm.notAllowedToInsertRange") },
|
|
14201
14197
|
confirmText: n.t("button.confirm")
|
|
@@ -14206,14 +14202,14 @@ const ir = {
|
|
|
14206
14202
|
const m = ae.getIntersects(g, c);
|
|
14207
14203
|
return m ? d(g) > d(m) : !1;
|
|
14208
14204
|
}) ? await e.confirm({
|
|
14209
|
-
id:
|
|
14205
|
+
id: di.id,
|
|
14210
14206
|
title: { title: n.t("merge.confirm.waring") },
|
|
14211
14207
|
children: { title: n.t("merge.confirm.dismantleMergeCellWaring") },
|
|
14212
14208
|
cancelText: n.t("button.cancel"),
|
|
14213
14209
|
confirmText: n.t("button.confirm")
|
|
14214
14210
|
}) ? t.executeCommand(yu.id) : !0 : t.executeCommand(yu.id);
|
|
14215
14211
|
}
|
|
14216
|
-
},
|
|
14212
|
+
}, ui = {
|
|
14217
14213
|
type: Q.COMMAND,
|
|
14218
14214
|
id: "sheet.command.insert-range-move-down-confirm",
|
|
14219
14215
|
handler: async (r) => {
|
|
@@ -14229,7 +14225,7 @@ const ir = {
|
|
|
14229
14225
|
c = { ...c, endRow: a.getRowCount() - 1 };
|
|
14230
14226
|
for (let g = c.startRow; g <= c.endRow; g++)
|
|
14231
14227
|
if (a.getRowFiltered(g) && await e.confirm({
|
|
14232
|
-
id:
|
|
14228
|
+
id: ui.id,
|
|
14233
14229
|
title: { title: n.t("filter.confirm.error") },
|
|
14234
14230
|
children: { title: n.t("filter.confirm.notAllowedToInsertRange") },
|
|
14235
14231
|
confirmText: n.t("button.confirm")
|
|
@@ -14240,7 +14236,7 @@ const ir = {
|
|
|
14240
14236
|
const m = ae.getIntersects(g, c);
|
|
14241
14237
|
return m ? d(g) > d(m) : !1;
|
|
14242
14238
|
}) ? await e.confirm({
|
|
14243
|
-
id:
|
|
14239
|
+
id: ui.id,
|
|
14244
14240
|
title: { title: n.t("merge.confirm.waring") },
|
|
14245
14241
|
children: { title: n.t("merge.confirm.dismantleMergeCellWaring") },
|
|
14246
14242
|
cancelText: n.t("button.cancel"),
|
|
@@ -14313,10 +14309,10 @@ const So = "UNIVER_SHEET_PERMISSION_PANEL", Co = "UNIVER_SHEET_PERMISSION_USER_P
|
|
|
14313
14309
|
unitType: Vt.SelectRange,
|
|
14314
14310
|
id: "",
|
|
14315
14311
|
ranges: [],
|
|
14316
|
-
viewState:
|
|
14312
|
+
viewState: ri.OthersCanView,
|
|
14317
14313
|
editState: ln.OnlyMe
|
|
14318
14314
|
};
|
|
14319
|
-
class
|
|
14315
|
+
class hi {
|
|
14320
14316
|
constructor() {
|
|
14321
14317
|
b(this, "_rule", k_);
|
|
14322
14318
|
b(this, "_visible", !1);
|
|
@@ -14331,7 +14327,7 @@ class ui {
|
|
|
14331
14327
|
this.setVisible(!1);
|
|
14332
14328
|
}
|
|
14333
14329
|
}
|
|
14334
|
-
class
|
|
14330
|
+
class Ar {
|
|
14335
14331
|
constructor() {
|
|
14336
14332
|
b(this, "_userList", []);
|
|
14337
14333
|
b(this, "_userList$", new Ee(this._userList));
|
|
@@ -14369,7 +14365,7 @@ const Vn = {
|
|
|
14369
14365
|
type: Q.OPERATION,
|
|
14370
14366
|
id: "sheet-permission.operation.openPanel",
|
|
14371
14367
|
async handler(r, e = {}) {
|
|
14372
|
-
const t = r.get(
|
|
14368
|
+
const t = r.get(Ci), n = r.get(hi), i = r.get(Ar), { showDetail: o = !0, fromSheetBar: s = !1, rule: l, oldRule: a } = e, c = {
|
|
14373
14369
|
header: { title: "permission.panel.title" },
|
|
14374
14370
|
children: {
|
|
14375
14371
|
label: So,
|
|
@@ -14391,13 +14387,13 @@ const Vn = {
|
|
|
14391
14387
|
async handler(r) {
|
|
14392
14388
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !0 }), !0;
|
|
14393
14389
|
}
|
|
14394
|
-
},
|
|
14390
|
+
}, Jr = {
|
|
14395
14391
|
type: Q.COMMAND,
|
|
14396
14392
|
id: "sheet.command.add-range-protection-from-context-menu",
|
|
14397
14393
|
async handler(r) {
|
|
14398
14394
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !0 }), !0;
|
|
14399
14395
|
}
|
|
14400
|
-
},
|
|
14396
|
+
}, $r = {
|
|
14401
14397
|
type: Q.COMMAND,
|
|
14402
14398
|
id: "sheet.command.view-sheet-permission-from-context-menu",
|
|
14403
14399
|
async handler(r) {
|
|
@@ -14415,7 +14411,7 @@ const Vn = {
|
|
|
14415
14411
|
async handler(r) {
|
|
14416
14412
|
return await r.get(L).executeCommand(Vn.id, { showDetail: !1 }), !0;
|
|
14417
14413
|
}
|
|
14418
|
-
},
|
|
14414
|
+
}, ei = {
|
|
14419
14415
|
type: Q.COMMAND,
|
|
14420
14416
|
id: "sheet.command.delete-range-protection-from-context-menu",
|
|
14421
14417
|
async handler(r) {
|
|
@@ -14443,7 +14439,7 @@ const Vn = {
|
|
|
14443
14439
|
return !1;
|
|
14444
14440
|
}
|
|
14445
14441
|
}
|
|
14446
|
-
},
|
|
14442
|
+
}, ti = {
|
|
14447
14443
|
type: Q.COMMAND,
|
|
14448
14444
|
id: "sheet.command.set-range-protection-from-context-menu",
|
|
14449
14445
|
async handler(r) {
|
|
@@ -14546,7 +14542,7 @@ const Vn = {
|
|
|
14546
14542
|
}, pa = {
|
|
14547
14543
|
id: "ui-sheet.command.show-menu-list",
|
|
14548
14544
|
type: Q.OPERATION,
|
|
14549
|
-
handler: async (r) => (r.get(
|
|
14545
|
+
handler: async (r) => (r.get(Or).triggerSheetBarMenu(), !0)
|
|
14550
14546
|
}, va = {
|
|
14551
14547
|
type: Q.COMMAND,
|
|
14552
14548
|
id: "sheet.command.delete-worksheet-protection-from-sheet-bar",
|
|
@@ -14580,7 +14576,7 @@ const Vn = {
|
|
|
14580
14576
|
id: "sheet.operation.rename-sheet",
|
|
14581
14577
|
type: Q.OPERATION,
|
|
14582
14578
|
handler: async (r, e) => {
|
|
14583
|
-
const t = r.get(
|
|
14579
|
+
const t = r.get(Or);
|
|
14584
14580
|
return e && t.setRenameId(e.subUnitId), !0;
|
|
14585
14581
|
}
|
|
14586
14582
|
}, uf = {
|
|
@@ -15011,7 +15007,7 @@ function gf(r) {
|
|
|
15011
15007
|
extend: { colorChannel1: (l = i == null ? void 0 : i.color) != null ? l : "" }
|
|
15012
15008
|
}
|
|
15013
15009
|
),
|
|
15014
|
-
/* @__PURE__ */ w(
|
|
15010
|
+
/* @__PURE__ */ w(li, { className: "dark:!univer-text-white" })
|
|
15015
15011
|
]
|
|
15016
15012
|
}
|
|
15017
15013
|
)
|
|
@@ -15048,7 +15044,7 @@ function gf(r) {
|
|
|
15048
15044
|
type: Ae.THIN
|
|
15049
15045
|
}
|
|
15050
15046
|
),
|
|
15051
|
-
/* @__PURE__ */ w(
|
|
15047
|
+
/* @__PURE__ */ w(li, { className: "dark:!univer-text-white" })
|
|
15052
15048
|
]
|
|
15053
15049
|
}
|
|
15054
15050
|
)
|
|
@@ -15063,7 +15059,7 @@ var Z_ = Object.getOwnPropertyDescriptor, G_ = (r, e, t, n) => {
|
|
|
15063
15059
|
(s = r[o]) && (i = s(i) || i);
|
|
15064
15060
|
return i;
|
|
15065
15061
|
}, ar = (r, e) => (t, n) => e(t, n, r);
|
|
15066
|
-
let
|
|
15062
|
+
let gi = class extends oe {
|
|
15067
15063
|
constructor(e, t, n, i, o, s, l) {
|
|
15068
15064
|
super();
|
|
15069
15065
|
// the DrawingTypeEnum should refer from drawing package, here we just use type, so no need to import the drawing package
|
|
@@ -15114,8 +15110,8 @@ let hi = class extends oe {
|
|
|
15114
15110
|
}
|
|
15115
15111
|
_createHiddenRectObserver(e) {
|
|
15116
15112
|
const { row: t, column: n, worksheet: i, skeleton: o, currentRender: s } = e, l = () => {
|
|
15117
|
-
var B,
|
|
15118
|
-
const u = i.getFreeze(), { startRow: h, startColumn: g, xSplit: m, ySplit: f } = u, v = h - f, p = g - m, { rowHeightAccumulation: C, columnWidthAccumulation: _, rowHeaderWidth: S, columnHeaderHeight: I } = o, R = S + (p === -1 ? 0 : _[p + m - 1] - ((B = _[p - 1]) != null ? B : 0)), y = I + (v === -1 ? 0 : C[v + f - 1] - ((
|
|
15113
|
+
var B, j;
|
|
15114
|
+
const u = i.getFreeze(), { startRow: h, startColumn: g, xSplit: m, ySplit: f } = u, v = h - f, p = g - m, { rowHeightAccumulation: C, columnWidthAccumulation: _, rowHeaderWidth: S, columnHeaderHeight: I } = o, R = S + (p === -1 ? 0 : _[p + m - 1] - ((B = _[p - 1]) != null ? B : 0)), y = I + (v === -1 ? 0 : C[v + f - 1] - ((j = C[v]) != null ? j : 0)), E = s.engine.getCanvasElement(), M = E.getBoundingClientRect(), T = ja(E.style.width), P = M.width / T, A = s.scene.getAncestorScale().scaleX, H = R * P * A, O = y * P * A, V = {
|
|
15119
15115
|
left: -1 / 0,
|
|
15120
15116
|
top: -1 / 0,
|
|
15121
15117
|
right: M.left + H,
|
|
@@ -15125,13 +15121,13 @@ let hi = class extends oe {
|
|
|
15125
15121
|
top: -1 / 0,
|
|
15126
15122
|
right: 1 / 0,
|
|
15127
15123
|
bottom: M.top + O
|
|
15128
|
-
},
|
|
15124
|
+
}, z = {
|
|
15129
15125
|
left: -1 / 0,
|
|
15130
15126
|
top: M.top + O,
|
|
15131
15127
|
right: M.left + H,
|
|
15132
15128
|
bottom: 1 / 0
|
|
15133
15129
|
};
|
|
15134
|
-
return t < h && n < g ? [] : t < h ? [V] : n < g ? [V] : [V, W,
|
|
15130
|
+
return t < h && n < g ? [] : t < h ? [V] : n < g ? [V] : [V, W, z];
|
|
15135
15131
|
}, a = l(), c = new Ee(a), d = new gt();
|
|
15136
15132
|
return d.add(this._commandService.onCommandExecuted((u) => {
|
|
15137
15133
|
u.id === fr.id && c.next(l());
|
|
@@ -15472,7 +15468,7 @@ let hi = class extends oe {
|
|
|
15472
15468
|
};
|
|
15473
15469
|
}
|
|
15474
15470
|
};
|
|
15475
|
-
|
|
15471
|
+
gi = G_([
|
|
15476
15472
|
ar(0, k(Kv)),
|
|
15477
15473
|
ar(1, Ce),
|
|
15478
15474
|
ar(2, N),
|
|
@@ -15480,7 +15476,7 @@ hi = G_([
|
|
|
15480
15476
|
ar(4, L),
|
|
15481
15477
|
ar(5, Rd),
|
|
15482
15478
|
ar(6, k($))
|
|
15483
|
-
],
|
|
15479
|
+
], gi);
|
|
15484
15480
|
function ja(r) {
|
|
15485
15481
|
return Number.parseInt(r.replace("px", ""));
|
|
15486
15482
|
}
|
|
@@ -15489,7 +15485,7 @@ var q_ = Object.getOwnPropertyDescriptor, K_ = (r, e, t, n) => {
|
|
|
15489
15485
|
(s = r[o]) && (i = s(i) || i);
|
|
15490
15486
|
return i;
|
|
15491
15487
|
}, Q_ = (r, e) => (t, n) => e(t, n, r);
|
|
15492
|
-
let
|
|
15488
|
+
let mi = class extends oe {
|
|
15493
15489
|
constructor(e) {
|
|
15494
15490
|
super();
|
|
15495
15491
|
b(this, "_cellPopupMap", /* @__PURE__ */ new Map());
|
|
@@ -15559,11 +15555,11 @@ let gi = class extends oe {
|
|
|
15559
15555
|
return ((a = (l = this._ensureCellPopupMap(e, t).getValue(n, i)) == null ? void 0 : l[o]) == null ? void 0 : a.popups) || [];
|
|
15560
15556
|
}
|
|
15561
15557
|
};
|
|
15562
|
-
|
|
15563
|
-
Q_(0, k(
|
|
15564
|
-
],
|
|
15558
|
+
mi = K_([
|
|
15559
|
+
Q_(0, k(gi))
|
|
15560
|
+
], mi);
|
|
15565
15561
|
const J_ = (r) => {
|
|
15566
|
-
const { popup: e } = r, t = e.extraProps, { row: n, col: i, direction: o, unitId: s, subUnitId: l } = t, a = D(
|
|
15562
|
+
const { popup: e } = r, t = e.extraProps, { row: n, col: i, direction: o, unitId: s, subUnitId: l } = t, a = D(mi);
|
|
15567
15563
|
ht(
|
|
15568
15564
|
wt(() => a.change$.pipe(
|
|
15569
15565
|
Ho((u) => u.row === n && u.col === i && u.direction === o)
|
|
@@ -15592,14 +15588,14 @@ const J_ = (r) => {
|
|
|
15592
15588
|
} = r, g = D(N).getCurrentUnitForType(x.UNIVER_SHEET), m = D(Pe), f = D(Uo), v = D(Yg), p = D(jg), C = D(Zt), _ = wt(() => C.get(tm), []), S = wt(() => C.get(Od), []);
|
|
15593
15589
|
if (g == null)
|
|
15594
15590
|
return;
|
|
15595
|
-
const I = wt(() => g.getUnitId(), []), R = wt(() => g.getActiveSheet().getSheetId(), []), [y, E] = re(s), [M, T] = re(l), [P, A] = re(a), [H, O] = re(c), [V, W] = re(""), [
|
|
15591
|
+
const I = wt(() => g.getUnitId(), []), R = wt(() => g.getActiveSheet().getSheetId(), []), [y, E] = re(s), [M, T] = re(l), [P, A] = re(a), [H, O] = re(c), [V, W] = re(""), [z, B] = re(n), [j, Z] = re(!0), ce = [{
|
|
15596
15592
|
label: m.t("definedName.scopeWorkbook"),
|
|
15597
15593
|
value: Ic
|
|
15598
15594
|
}], ge = (pe) => !Zg(pe);
|
|
15599
15595
|
Me(() => {
|
|
15600
15596
|
Z(!0), E(s), A(a), O(c);
|
|
15601
15597
|
let pe = l;
|
|
15602
|
-
l.substring(0, 1) ===
|
|
15598
|
+
l.substring(0, 1) === Br.EQUALS ? B("formula") : ge(l) ? (B("formula"), pe = Br.EQUALS + l) : B("range"), T(pe), W("");
|
|
15603
15599
|
}, [t]), g.getSheetOrders().forEach((pe) => {
|
|
15604
15600
|
const Re = g.getSheetBySheetId(pe);
|
|
15605
15601
|
ce.push({
|
|
@@ -15635,7 +15631,7 @@ const J_ = (r) => {
|
|
|
15635
15631
|
W(m.t("definedName.formulaOrRefStringEmpty"));
|
|
15636
15632
|
return;
|
|
15637
15633
|
}
|
|
15638
|
-
if (!
|
|
15634
|
+
if (!j) {
|
|
15639
15635
|
W(m.t("definedName.formulaOrRefStringInvalid"));
|
|
15640
15636
|
return;
|
|
15641
15637
|
}
|
|
@@ -15653,7 +15649,7 @@ const J_ = (r) => {
|
|
|
15653
15649
|
});
|
|
15654
15650
|
}, ee = (pe) => {
|
|
15655
15651
|
const Re = pe;
|
|
15656
|
-
Re === "formula" ? l[0] ===
|
|
15652
|
+
Re === "formula" ? l[0] === Br.EQUALS ? T(l) : T(`${Br.EQUALS}`) : l[0] === Br.EQUALS ? T("") : T(l), B(Re);
|
|
15657
15653
|
}, ne = Tn(null), [ve, Fe] = re(!1);
|
|
15658
15654
|
return Gh((pe) => {
|
|
15659
15655
|
var de;
|
|
@@ -15675,11 +15671,11 @@ const J_ = (r) => {
|
|
|
15675
15671
|
onChange: E
|
|
15676
15672
|
}
|
|
15677
15673
|
) }),
|
|
15678
|
-
/* @__PURE__ */ w("div", { children: /* @__PURE__ */ q(Ec, { value:
|
|
15679
|
-
/* @__PURE__ */ w(
|
|
15680
|
-
/* @__PURE__ */ w(
|
|
15674
|
+
/* @__PURE__ */ w("div", { children: /* @__PURE__ */ q(Ec, { value: z, onChange: ee, children: [
|
|
15675
|
+
/* @__PURE__ */ w(zr, { value: "range", children: m.t("definedName.ratioRange") }),
|
|
15676
|
+
/* @__PURE__ */ w(zr, { value: "formula", children: m.t("definedName.ratioFormula") })
|
|
15681
15677
|
] }) }),
|
|
15682
|
-
|
|
15678
|
+
z === "range" ? _ && /* @__PURE__ */ w(
|
|
15683
15679
|
_,
|
|
15684
15680
|
{
|
|
15685
15681
|
unitId: I,
|
|
@@ -15692,7 +15688,7 @@ const J_ = (r) => {
|
|
|
15692
15688
|
S,
|
|
15693
15689
|
{
|
|
15694
15690
|
ref: ne,
|
|
15695
|
-
className: He("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent dark:!univer-bg-gray-700 dark:!univer-text-white hover:univer-border-primary-600",
|
|
15691
|
+
className: He("univer-box-border univer-h-8 univer-w-full univer-cursor-pointer univer-items-center univer-rounded-lg univer-bg-white univer-pt-2 univer-transition-colors [&>div:first-child]:univer-px-2.5 [&>div]:univer-h-5 [&>div]:univer-ring-transparent dark:!univer-bg-gray-700 dark:!univer-text-white hover:univer-border-primary-600", wi),
|
|
15696
15692
|
initValue: M,
|
|
15697
15693
|
unitId: I,
|
|
15698
15694
|
subUnitId: R,
|
|
@@ -15778,11 +15774,11 @@ const J_ = (r) => {
|
|
|
15778
15774
|
}, []);
|
|
15779
15775
|
const v = (P) => {
|
|
15780
15776
|
const { name: A, formulaOrRefString: H, comment: O, localSheetId: V, hidden: W } = P;
|
|
15781
|
-
let
|
|
15782
|
-
if (
|
|
15783
|
-
|
|
15777
|
+
let z = P.id;
|
|
15778
|
+
if (z == null || z.length === 0)
|
|
15779
|
+
z = le.generateRandomId(10), r.executeCommand(MS.id, { id: z, unitId: s, name: A, formulaOrRefString: H, comment: O, localSheetId: V, hidden: W });
|
|
15784
15780
|
else {
|
|
15785
|
-
const B = { id:
|
|
15781
|
+
const B = { id: z, unitId: s, name: A, formulaOrRefString: H, comment: O, localSheetId: V, hidden: W };
|
|
15786
15782
|
r.executeCommand(ES.id, B);
|
|
15787
15783
|
}
|
|
15788
15784
|
c(!1), g(null);
|
|
@@ -16082,7 +16078,7 @@ function tb(r) {
|
|
|
16082
16078
|
}
|
|
16083
16079
|
function nb(r) {
|
|
16084
16080
|
return {
|
|
16085
|
-
id:
|
|
16081
|
+
id: di.id,
|
|
16086
16082
|
type: J.BUTTON,
|
|
16087
16083
|
title: "rightClick.moveUp",
|
|
16088
16084
|
icon: "DeleteCellShiftUpDoubleIcon",
|
|
@@ -16198,7 +16194,7 @@ function lb(r) {
|
|
|
16198
16194
|
}
|
|
16199
16195
|
function ab(r) {
|
|
16200
16196
|
return {
|
|
16201
|
-
id:
|
|
16197
|
+
id: ui.id,
|
|
16202
16198
|
type: J.BUTTON,
|
|
16203
16199
|
title: "rightClick.moveDown",
|
|
16204
16200
|
icon: "InsertCellDownDoubleIcon",
|
|
@@ -16508,7 +16504,7 @@ function Sf(r) {
|
|
|
16508
16504
|
if (V != null && V.permissionId)
|
|
16509
16505
|
return !0;
|
|
16510
16506
|
const W = _.getSubunitRuleList(p, C);
|
|
16511
|
-
return O == null ? void 0 : O.some((B) => W.some((
|
|
16507
|
+
return O == null ? void 0 : O.some((B) => W.some((j) => j.ranges.some((Z) => ae.intersects(B, Z))));
|
|
16512
16508
|
})
|
|
16513
16509
|
);
|
|
16514
16510
|
})
|
|
@@ -16659,7 +16655,7 @@ function qa(r) {
|
|
|
16659
16655
|
}
|
|
16660
16656
|
function Ka(r) {
|
|
16661
16657
|
return {
|
|
16662
|
-
id:
|
|
16658
|
+
id: Jr.id,
|
|
16663
16659
|
type: J.BUTTON,
|
|
16664
16660
|
title: "rightClick.turnOnProtectRange",
|
|
16665
16661
|
hidden$: Sb(r),
|
|
@@ -16668,7 +16664,7 @@ function Ka(r) {
|
|
|
16668
16664
|
}
|
|
16669
16665
|
function Qa(r) {
|
|
16670
16666
|
return {
|
|
16671
|
-
id:
|
|
16667
|
+
id: ti.id,
|
|
16672
16668
|
type: J.BUTTON,
|
|
16673
16669
|
title: "rightClick.editProtectRange",
|
|
16674
16670
|
disabled$: wb(r),
|
|
@@ -16677,7 +16673,7 @@ function Qa(r) {
|
|
|
16677
16673
|
}
|
|
16678
16674
|
function Ja(r) {
|
|
16679
16675
|
return {
|
|
16680
|
-
id:
|
|
16676
|
+
id: ei.id,
|
|
16681
16677
|
type: J.BUTTON,
|
|
16682
16678
|
title: "rightClick.removeProtectRange",
|
|
16683
16679
|
disabled$: Ib(r),
|
|
@@ -16686,7 +16682,7 @@ function Ja(r) {
|
|
|
16686
16682
|
}
|
|
16687
16683
|
function $a(r) {
|
|
16688
16684
|
return {
|
|
16689
|
-
id:
|
|
16685
|
+
id: $r.id,
|
|
16690
16686
|
type: J.BUTTON,
|
|
16691
16687
|
title: "rightClick.viewAllProtectArea",
|
|
16692
16688
|
disabled$: Cf(r),
|
|
@@ -16733,7 +16729,7 @@ function xb(r) {
|
|
|
16733
16729
|
const e = r.get(N), t = r.get(L), n = new je((o) => {
|
|
16734
16730
|
const s = t.onCommandExecuted((l) => {
|
|
16735
16731
|
const a = l.id;
|
|
16736
|
-
(a === An.id || a ===
|
|
16732
|
+
(a === An.id || a === Mr.id || a === er.id) && el(e, o);
|
|
16737
16733
|
});
|
|
16738
16734
|
return el(e, o), s.dispose;
|
|
16739
16735
|
}), i = Pi(r, [K, HS]);
|
|
@@ -16790,7 +16786,7 @@ function Vb(r) {
|
|
|
16790
16786
|
disabled$: new je((n) => {
|
|
16791
16787
|
const i = t.onCommandExecuted((o) => {
|
|
16792
16788
|
const s = o.id;
|
|
16793
|
-
(s === An.id || s ===
|
|
16789
|
+
(s === An.id || s === Mr.id || s === er.id) && el(e, n);
|
|
16794
16790
|
});
|
|
16795
16791
|
return el(e, n), i.dispose;
|
|
16796
16792
|
}).pipe(
|
|
@@ -16813,7 +16809,7 @@ function kb(r) {
|
|
|
16813
16809
|
}
|
|
16814
16810
|
const o = t.onCommandExecuted((s) => {
|
|
16815
16811
|
const l = s.id;
|
|
16816
|
-
(l === An.id || l ===
|
|
16812
|
+
(l === An.id || l === Mr.id || l === er.id) && i();
|
|
16817
16813
|
});
|
|
16818
16814
|
return i(), o.dispose;
|
|
16819
16815
|
}).pipe(
|
|
@@ -16938,7 +16934,7 @@ const Nb = {
|
|
|
16938
16934
|
[Ke.FORMAT]: {
|
|
16939
16935
|
[hn.name]: {
|
|
16940
16936
|
order: 0,
|
|
16941
|
-
menuItemFactory:
|
|
16937
|
+
menuItemFactory: Qr
|
|
16942
16938
|
},
|
|
16943
16939
|
// [SheetCutCommand.name]: {
|
|
16944
16940
|
// order: 1,
|
|
@@ -16959,7 +16955,7 @@ const Nb = {
|
|
|
16959
16955
|
order: 1,
|
|
16960
16956
|
menuItemFactory: Va
|
|
16961
16957
|
},
|
|
16962
|
-
[
|
|
16958
|
+
[Kr.id]: {
|
|
16963
16959
|
order: 2,
|
|
16964
16960
|
menuItemFactory: ka
|
|
16965
16961
|
},
|
|
@@ -17002,7 +16998,7 @@ const Nb = {
|
|
|
17002
16998
|
order: 2,
|
|
17003
16999
|
menuItemFactory: lb
|
|
17004
17000
|
},
|
|
17005
|
-
[
|
|
17001
|
+
[ui.id]: {
|
|
17006
17002
|
order: 3,
|
|
17007
17003
|
menuItemFactory: ab
|
|
17008
17004
|
}
|
|
@@ -17022,7 +17018,7 @@ const Nb = {
|
|
|
17022
17018
|
order: 2,
|
|
17023
17019
|
menuItemFactory: tb
|
|
17024
17020
|
},
|
|
17025
|
-
[
|
|
17021
|
+
[di.id]: {
|
|
17026
17022
|
order: 3,
|
|
17027
17023
|
menuItemFactory: nb
|
|
17028
17024
|
}
|
|
@@ -17050,19 +17046,19 @@ const Nb = {
|
|
|
17050
17046
|
[ws]: {
|
|
17051
17047
|
order: 3,
|
|
17052
17048
|
menuItemFactory: qa,
|
|
17053
|
-
[
|
|
17049
|
+
[Jr.id]: {
|
|
17054
17050
|
order: 0,
|
|
17055
17051
|
menuItemFactory: Ka
|
|
17056
17052
|
},
|
|
17057
|
-
[
|
|
17053
|
+
[ti.id]: {
|
|
17058
17054
|
order: 1,
|
|
17059
17055
|
menuItemFactory: Qa
|
|
17060
17056
|
},
|
|
17061
|
-
[
|
|
17057
|
+
[ei.id]: {
|
|
17062
17058
|
order: 2,
|
|
17063
17059
|
menuItemFactory: Ja
|
|
17064
17060
|
},
|
|
17065
|
-
[
|
|
17061
|
+
[$r.id]: {
|
|
17066
17062
|
order: 3,
|
|
17067
17063
|
menuItemFactory: $a
|
|
17068
17064
|
}
|
|
@@ -17079,7 +17075,7 @@ const Nb = {
|
|
|
17079
17075
|
[Ke.FORMAT]: {
|
|
17080
17076
|
[hn.name]: {
|
|
17081
17077
|
order: 0,
|
|
17082
|
-
menuItemFactory:
|
|
17078
|
+
menuItemFactory: Qr
|
|
17083
17079
|
},
|
|
17084
17080
|
// [SheetCutCommand.name]: {
|
|
17085
17081
|
// order: 1,
|
|
@@ -17100,7 +17096,7 @@ const Nb = {
|
|
|
17100
17096
|
order: 1,
|
|
17101
17097
|
menuItemFactory: Va
|
|
17102
17098
|
},
|
|
17103
|
-
[
|
|
17099
|
+
[Kr.id]: {
|
|
17104
17100
|
order: 2,
|
|
17105
17101
|
menuItemFactory: ka
|
|
17106
17102
|
},
|
|
@@ -17171,19 +17167,19 @@ const Nb = {
|
|
|
17171
17167
|
[ws]: {
|
|
17172
17168
|
order: 6,
|
|
17173
17169
|
menuItemFactory: qa,
|
|
17174
|
-
[
|
|
17170
|
+
[Jr.id]: {
|
|
17175
17171
|
order: 0,
|
|
17176
17172
|
menuItemFactory: Ka
|
|
17177
17173
|
},
|
|
17178
|
-
[
|
|
17174
|
+
[ti.id]: {
|
|
17179
17175
|
order: 1,
|
|
17180
17176
|
menuItemFactory: Qa
|
|
17181
17177
|
},
|
|
17182
|
-
[
|
|
17178
|
+
[ei.id]: {
|
|
17183
17179
|
order: 2,
|
|
17184
17180
|
menuItemFactory: Ja
|
|
17185
17181
|
},
|
|
17186
|
-
[
|
|
17182
|
+
[$r.id]: {
|
|
17187
17183
|
order: 3,
|
|
17188
17184
|
menuItemFactory: $a
|
|
17189
17185
|
}
|
|
@@ -17200,7 +17196,7 @@ const Nb = {
|
|
|
17200
17196
|
[Ke.FORMAT]: {
|
|
17201
17197
|
[hn.name]: {
|
|
17202
17198
|
order: 0,
|
|
17203
|
-
menuItemFactory:
|
|
17199
|
+
menuItemFactory: Qr
|
|
17204
17200
|
},
|
|
17205
17201
|
// [SheetCutCommand.name]: {
|
|
17206
17202
|
// order: 1,
|
|
@@ -17221,7 +17217,7 @@ const Nb = {
|
|
|
17221
17217
|
order: 1,
|
|
17222
17218
|
menuItemFactory: Va
|
|
17223
17219
|
},
|
|
17224
|
-
[
|
|
17220
|
+
[Kr.id]: {
|
|
17225
17221
|
order: 2,
|
|
17226
17222
|
menuItemFactory: ka
|
|
17227
17223
|
},
|
|
@@ -17292,19 +17288,19 @@ const Nb = {
|
|
|
17292
17288
|
[ws]: {
|
|
17293
17289
|
order: 6,
|
|
17294
17290
|
menuItemFactory: qa,
|
|
17295
|
-
[
|
|
17291
|
+
[Jr.id]: {
|
|
17296
17292
|
order: 0,
|
|
17297
17293
|
menuItemFactory: Ka
|
|
17298
17294
|
},
|
|
17299
|
-
[
|
|
17295
|
+
[ti.id]: {
|
|
17300
17296
|
order: 1,
|
|
17301
17297
|
menuItemFactory: Qa
|
|
17302
17298
|
},
|
|
17303
|
-
[
|
|
17299
|
+
[ei.id]: {
|
|
17304
17300
|
order: 2,
|
|
17305
17301
|
menuItemFactory: Ja
|
|
17306
17302
|
},
|
|
17307
|
-
[
|
|
17303
|
+
[$r.id]: {
|
|
17308
17304
|
order: 3,
|
|
17309
17305
|
menuItemFactory: $a
|
|
17310
17306
|
}
|
|
@@ -17716,7 +17712,7 @@ let tl = class extends oe {
|
|
|
17716
17712
|
Kl,
|
|
17717
17713
|
zd,
|
|
17718
17714
|
pd,
|
|
17719
|
-
|
|
17715
|
+
oi,
|
|
17720
17716
|
tt,
|
|
17721
17717
|
Gl,
|
|
17722
17718
|
Ri,
|
|
@@ -17748,8 +17744,8 @@ let tl = class extends oe {
|
|
|
17748
17744
|
Jt,
|
|
17749
17745
|
pa,
|
|
17750
17746
|
Zl,
|
|
17747
|
+
ui,
|
|
17751
17748
|
di,
|
|
17752
|
-
ci,
|
|
17753
17749
|
Ko,
|
|
17754
17750
|
qo,
|
|
17755
17751
|
Xd,
|
|
@@ -17759,13 +17755,13 @@ let tl = class extends oe {
|
|
|
17759
17755
|
Vn,
|
|
17760
17756
|
uf,
|
|
17761
17757
|
ha,
|
|
17762
|
-
Qr,
|
|
17763
17758
|
Jr,
|
|
17759
|
+
$r,
|
|
17764
17760
|
ga,
|
|
17765
17761
|
ma,
|
|
17766
17762
|
Sa,
|
|
17767
|
-
$r,
|
|
17768
17763
|
ei,
|
|
17764
|
+
ti,
|
|
17769
17765
|
va,
|
|
17770
17766
|
da,
|
|
17771
17767
|
Ad,
|
|
@@ -17839,7 +17835,7 @@ let tl = class extends oe {
|
|
|
17839
17835
|
}
|
|
17840
17836
|
_initWorkbenchParts() {
|
|
17841
17837
|
const r = this._uiPartsService, e = this._injector;
|
|
17842
|
-
this.disposeWithMe(r.registerComponent(Zi.HEADER, () =>
|
|
17838
|
+
this.disposeWithMe(r.registerComponent(Zi.HEADER, () => Gr(mw, e))), this.disposeWithMe(r.registerComponent(Zi.FOOTER, () => Gr(gw, e))), this.disposeWithMe(r.registerComponent(Zi.CONTENT, () => Gr(fw, e)));
|
|
17843
17839
|
}
|
|
17844
17840
|
_initFocusHandler() {
|
|
17845
17841
|
this.disposeWithMe(
|
|
@@ -17909,7 +17905,7 @@ let bo = class extends oe {
|
|
|
17909
17905
|
if (n.id === er.id && n.params.hidden)
|
|
17910
17906
|
return this._adjustActiveSheetOnHideSheet(n);
|
|
17911
17907
|
if (i != null && i.fromCollab) return !1;
|
|
17912
|
-
if (n.id ===
|
|
17908
|
+
if (n.id === Mr.id)
|
|
17913
17909
|
return this._adjustActiveSheetOnInsertSheet(n);
|
|
17914
17910
|
if (n.id === er.id && !n.params.hidden)
|
|
17915
17911
|
return this._adjustActiveSheetOnShowSheet(n);
|
|
@@ -18043,7 +18039,7 @@ let Ro = class extends oe {
|
|
|
18043
18039
|
};
|
|
18044
18040
|
Ro = Yb([
|
|
18045
18041
|
bh(0, Ce),
|
|
18046
|
-
bh(1, k(
|
|
18042
|
+
bh(1, k(mi))
|
|
18047
18043
|
], Ro);
|
|
18048
18044
|
function Zb({ popup: r }) {
|
|
18049
18045
|
var s;
|
|
@@ -18103,7 +18099,7 @@ const Rh = 2, Qb = [
|
|
|
18103
18099
|
{ value: "SPECIAL_PASTE_FORMULA", label: "formula.operation.pasteFormula" }
|
|
18104
18100
|
], Jb = (r) => {
|
|
18105
18101
|
var P, A, H, O, V;
|
|
18106
|
-
const e = D(N), t = D(Ce), n =
|
|
18102
|
+
const e = D(N), t = D(Ce), n = Pr();
|
|
18107
18103
|
if (!r || !n) return null;
|
|
18108
18104
|
const i = {
|
|
18109
18105
|
startRow: r.rows[0],
|
|
@@ -18117,7 +18113,7 @@ const Rh = 2, Qb = [
|
|
|
18117
18113
|
if (!a || !l) return null;
|
|
18118
18114
|
const { scene: c } = a, d = s == null ? void 0 : s.getCurrentSkeleton(), u = l.getViewPort(), h = c == null ? void 0 : c.scaleX, g = c == null ? void 0 : c.scaleY, m = c == null ? void 0 : c.getViewportScrollXY(u), f = (P = c.getEngine()) == null ? void 0 : P.getCanvas();
|
|
18119
18115
|
if (!h || !c || !h || !g || !m) return null;
|
|
18120
|
-
const v = d == null ? void 0 : d.getNoMergeCellPositionByIndex(i.endRow, i.endCol), p = (A = v == null ? void 0 : v.endX) != null ? A : 0, C = (H = v == null ? void 0 : v.endY) != null ? H : 0, _ = (O =
|
|
18116
|
+
const v = d == null ? void 0 : d.getNoMergeCellPositionByIndex(i.endRow, i.endCol), p = (A = v == null ? void 0 : v.endX) != null ? A : 0, C = (H = v == null ? void 0 : v.endY) != null ? H : 0, _ = (O = Fr(p, h, m)) != null ? O : -9999, S = (V = Ur(C, g, m)) != null ? V : -9999, I = f == null ? void 0 : f.getWidth(), R = f == null ? void 0 : f.getHeight();
|
|
18121
18117
|
if (!I || !R) return null;
|
|
18122
18118
|
const y = _ + 50 <= I, E = S + 50 <= R;
|
|
18123
18119
|
let M = _, T = S;
|
|
@@ -18157,7 +18153,7 @@ const Rh = 2, Qb = [
|
|
|
18157
18153
|
children: /* @__PURE__ */ q(
|
|
18158
18154
|
"div",
|
|
18159
18155
|
{
|
|
18160
|
-
className: He("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-100",
|
|
18156
|
+
className: He("univer-flex univer-items-center univer-gap-2 univer-rounded univer-p-1 dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-100", wi, {
|
|
18161
18157
|
"univer-bg-gray-100 dark:!univer-bg-gray-800": l,
|
|
18162
18158
|
"univer-bg-white dark:!univer-bg-gray-900": !l
|
|
18163
18159
|
}),
|
|
@@ -18168,7 +18164,7 @@ const Rh = 2, Qb = [
|
|
|
18168
18164
|
className: "univer-fill-primary-600 univer-text-gray-900 dark:!univer-text-white"
|
|
18169
18165
|
}
|
|
18170
18166
|
),
|
|
18171
|
-
u && /* @__PURE__ */ w(
|
|
18167
|
+
u && /* @__PURE__ */ w(li, { className: "dark:!univer-text-white" })
|
|
18172
18168
|
]
|
|
18173
18169
|
}
|
|
18174
18170
|
)
|
|
@@ -18225,17 +18221,17 @@ function nR(r, e, t) {
|
|
|
18225
18221
|
const h = t.get(N), g = t.get(vn), m = h.getUniverSheetInstance(l), f = m == null ? void 0 : m.getSheetBySheetId(s), v = m == null ? void 0 : m.getSheetBySheetId(c);
|
|
18226
18222
|
if (f && v) {
|
|
18227
18223
|
const p = new Ge(), C = new Ge(), _ = f.getCellMatrix(), S = v.getCellMatrix();
|
|
18228
|
-
gs.foreach(u, (B,
|
|
18229
|
-
p.setValue(B,
|
|
18224
|
+
gs.foreach(u, (B, j) => {
|
|
18225
|
+
p.setValue(B, j, le.deepClone(_.getValue(B, j))), C.setValue(B, j, null);
|
|
18230
18226
|
});
|
|
18231
18227
|
const I = new Ge();
|
|
18232
|
-
gs.foreach(d, (B,
|
|
18233
|
-
I.setValue(B,
|
|
18228
|
+
gs.foreach(d, (B, j) => {
|
|
18229
|
+
I.setValue(B, j, le.deepClone(S.getValue(B, j)));
|
|
18234
18230
|
});
|
|
18235
18231
|
const R = new Ge();
|
|
18236
|
-
gs.foreach(u, (B,
|
|
18237
|
-
const Z = sv(B,
|
|
18238
|
-
R.setValue(ge.startRow, ge.startColumn, _.getValue(B,
|
|
18232
|
+
gs.foreach(u, (B, j) => {
|
|
18233
|
+
const Z = sv(B, j), ce = ae.getRelativeRange(Z, u), ge = ae.getPositionRange(ce, d);
|
|
18234
|
+
R.setValue(ge.startRow, ge.startColumn, _.getValue(B, j));
|
|
18239
18235
|
});
|
|
18240
18236
|
const y = {
|
|
18241
18237
|
fromRange: u,
|
|
@@ -18289,7 +18285,7 @@ function nR(r, e, t) {
|
|
|
18289
18285
|
ranges: V
|
|
18290
18286
|
}
|
|
18291
18287
|
}
|
|
18292
|
-
],
|
|
18288
|
+
], z = [
|
|
18293
18289
|
{
|
|
18294
18290
|
id: Kt.id,
|
|
18295
18291
|
params: {
|
|
@@ -18331,7 +18327,7 @@ function nR(r, e, t) {
|
|
|
18331
18327
|
], i = [
|
|
18332
18328
|
{ id: $n.id, params: E },
|
|
18333
18329
|
...M.undos,
|
|
18334
|
-
...
|
|
18330
|
+
...z,
|
|
18335
18331
|
{
|
|
18336
18332
|
id: Te.id,
|
|
18337
18333
|
params: {
|
|
@@ -18351,7 +18347,7 @@ function nR(r, e, t) {
|
|
|
18351
18347
|
}
|
|
18352
18348
|
function tp(r, e, t, n) {
|
|
18353
18349
|
var m;
|
|
18354
|
-
const { unitId: i, subUnitId: o, range: s } = r, l = (m = n.get(N).getUniverSheetInstance(i)) == null ? void 0 : m.getSheetBySheetId(o), a = [], c = [], { mapFunc: d } =
|
|
18350
|
+
const { unitId: i, subUnitId: o, range: s } = r, l = (m = n.get(N).getUniverSheetInstance(i)) == null ? void 0 : m.getSheetBySheetId(o), a = [], c = [], { mapFunc: d } = wr([s]), u = new Ge();
|
|
18355
18351
|
t.forValue((f, v, p) => {
|
|
18356
18352
|
var I, R;
|
|
18357
18353
|
const { row: C, col: _ } = d(f, v), S = {
|
|
@@ -18396,7 +18392,7 @@ function tp(r, e, t, n) {
|
|
|
18396
18392
|
}
|
|
18397
18393
|
function np(r, e, t, n, i = !1) {
|
|
18398
18394
|
var f;
|
|
18399
|
-
const o = [], s = [], { unitId: l, subUnitId: a, range: c } = r, d = (f = n.get(N).getUniverSheetInstance(l)) == null ? void 0 : f.getSheetBySheetId(a), u = new Ge(), { mapFunc: h } =
|
|
18395
|
+
const o = [], s = [], { unitId: l, subUnitId: a, range: c } = r, d = (f = n.get(N).getUniverSheetInstance(l)) == null ? void 0 : f.getSheetBySheetId(a), u = new Ge(), { mapFunc: h } = wr([c]);
|
|
18400
18396
|
t.forValue((v, p, C) => {
|
|
18401
18397
|
var E, M;
|
|
18402
18398
|
const _ = {
|
|
@@ -18444,7 +18440,7 @@ function np(r, e, t, n, i = !1) {
|
|
|
18444
18440
|
};
|
|
18445
18441
|
}
|
|
18446
18442
|
function rp(r, e, t) {
|
|
18447
|
-
const n = [], i = [], o = new Ge(), { unitId: s, subUnitId: l, range: a } = r, { mapFunc: c } =
|
|
18443
|
+
const n = [], i = [], o = new Ge(), { unitId: s, subUnitId: l, range: a } = r, { mapFunc: c } = wr([a]);
|
|
18448
18444
|
if (e.forEach((d, u) => {
|
|
18449
18445
|
Object.keys(u).forEach((h) => {
|
|
18450
18446
|
const g = Number(h), { row: m, col: f } = c(d, g);
|
|
@@ -18472,7 +18468,7 @@ function rp(r, e, t) {
|
|
|
18472
18468
|
return { undos: i, redos: n };
|
|
18473
18469
|
}
|
|
18474
18470
|
function rR(r, e, t) {
|
|
18475
|
-
const n = [], i = [], o = new Ge(), { unitId: s, subUnitId: l, range: a } = r, { mapFunc: c } =
|
|
18471
|
+
const n = [], i = [], o = new Ge(), { unitId: s, subUnitId: l, range: a } = r, { mapFunc: c } = wr([a]);
|
|
18476
18472
|
if (e.forValue((d, u, h) => {
|
|
18477
18473
|
const { row: g, col: m } = c(d, u);
|
|
18478
18474
|
o.setValue(g, m, { v: null, p: null });
|
|
@@ -18606,7 +18602,7 @@ const lR = [
|
|
|
18606
18602
|
Dl.id,
|
|
18607
18603
|
Ll.id
|
|
18608
18604
|
];
|
|
18609
|
-
let
|
|
18605
|
+
let fi = class extends Nn {
|
|
18610
18606
|
constructor(e, t, n, i, o, s, l, a, c, d) {
|
|
18611
18607
|
super();
|
|
18612
18608
|
b(this, "_refreshOptionalPaste$", new xe());
|
|
@@ -18619,7 +18615,7 @@ let mi = class extends Nn {
|
|
|
18619
18615
|
_pasteWithDoc() {
|
|
18620
18616
|
var n;
|
|
18621
18617
|
const e = (i) => {
|
|
18622
|
-
i.onPaste$.pipe(
|
|
18618
|
+
i.onPaste$.pipe(ni(this.dispose$)).subscribe((o) => {
|
|
18623
18619
|
var d, u;
|
|
18624
18620
|
if (!Oe(this._contextService))
|
|
18625
18621
|
return;
|
|
@@ -18646,7 +18642,7 @@ let mi = class extends Nn {
|
|
|
18646
18642
|
), [
|
|
18647
18643
|
Qi,
|
|
18648
18644
|
Ji,
|
|
18649
|
-
|
|
18645
|
+
Kr,
|
|
18650
18646
|
$i,
|
|
18651
18647
|
Lc,
|
|
18652
18648
|
jm
|
|
@@ -18674,16 +18670,16 @@ let mi = class extends Nn {
|
|
|
18674
18670
|
onCopyCellStyle: (n, i, o, s) => {
|
|
18675
18671
|
const l = {};
|
|
18676
18672
|
(o || s) && (l.rowspan = `${o || 1}`, l.colspan = `${s || 1}`);
|
|
18677
|
-
const a = t.
|
|
18678
|
-
let
|
|
18679
|
-
if (
|
|
18680
|
-
const
|
|
18681
|
-
if (
|
|
18682
|
-
const
|
|
18683
|
-
|
|
18673
|
+
const a = t.getMergedCell(n, i), c = t.getComposedCellStyle(n, i);
|
|
18674
|
+
let d = "";
|
|
18675
|
+
if (c && (d = cu(c)), a) {
|
|
18676
|
+
const u = a.endRow, h = a.endColumn, m = t.getRange(u, h).getTextStyle();
|
|
18677
|
+
if (m) {
|
|
18678
|
+
const f = cu(m);
|
|
18679
|
+
d ? d += f ? `;${f}` : "" : d = f;
|
|
18684
18680
|
}
|
|
18685
18681
|
}
|
|
18686
|
-
return
|
|
18682
|
+
return d && (l.style = d), Object.keys(l).length ? l : null;
|
|
18687
18683
|
},
|
|
18688
18684
|
onCopyColumn(n) {
|
|
18689
18685
|
return {
|
|
@@ -19107,11 +19103,11 @@ let mi = class extends Nn {
|
|
|
19107
19103
|
var t;
|
|
19108
19104
|
const e = this._configService.getConfig(zt);
|
|
19109
19105
|
(t = e == null ? void 0 : e.clipboardConfig) != null && t.hidePasteOptions || this.disposeWithMe(
|
|
19110
|
-
this._uiPartsService.registerComponent(Zi.CONTENT, () =>
|
|
19106
|
+
this._uiPartsService.registerComponent(Zi.CONTENT, () => Gr($b, this._injector))
|
|
19111
19107
|
);
|
|
19112
19108
|
}
|
|
19113
19109
|
};
|
|
19114
|
-
|
|
19110
|
+
fi = sR([
|
|
19115
19111
|
rn(0, k(bt)),
|
|
19116
19112
|
rn(1, N),
|
|
19117
19113
|
rn(2, Ce),
|
|
@@ -19122,7 +19118,7 @@ mi = sR([
|
|
|
19122
19118
|
rn(7, Jh),
|
|
19123
19119
|
rn(8, k(Pe)),
|
|
19124
19120
|
rn(9, kl)
|
|
19125
|
-
],
|
|
19121
|
+
], fi);
|
|
19126
19122
|
var aR = Object.getOwnPropertyDescriptor, cR = (r, e, t, n) => {
|
|
19127
19123
|
for (var i = n > 1 ? void 0 : n ? aR(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
19128
19124
|
(s = r[o]) && (i = s(i) || i);
|
|
@@ -19418,7 +19414,7 @@ function cr(r) {
|
|
|
19418
19414
|
const { workbook: e, worksheet: t, ...n } = r;
|
|
19419
19415
|
return n;
|
|
19420
19416
|
}
|
|
19421
|
-
let
|
|
19417
|
+
let Ir = class extends oe {
|
|
19422
19418
|
constructor(e, t) {
|
|
19423
19419
|
super();
|
|
19424
19420
|
b(this, "_currentCell$", new Ee(null));
|
|
@@ -19709,10 +19705,10 @@ let Rr = class extends oe {
|
|
|
19709
19705
|
i && this._currentColHeaderPointerUp$.next(i);
|
|
19710
19706
|
}
|
|
19711
19707
|
};
|
|
19712
|
-
|
|
19708
|
+
Ir = vR([
|
|
19713
19709
|
yh(0, N),
|
|
19714
19710
|
yh(1, Ce)
|
|
19715
|
-
],
|
|
19711
|
+
], Ir);
|
|
19716
19712
|
var SR = Object.getOwnPropertyDescriptor, CR = (r, e, t, n) => {
|
|
19717
19713
|
for (var i = n > 1 ? void 0 : n ? SR(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
19718
19714
|
(s = r[o]) && (i = s(i) || i);
|
|
@@ -19762,7 +19758,7 @@ let il = class extends oe {
|
|
|
19762
19758
|
}
|
|
19763
19759
|
};
|
|
19764
19760
|
il = CR([
|
|
19765
|
-
Ni(1, k(
|
|
19761
|
+
Ni(1, k(Ir)),
|
|
19766
19762
|
Ni(2, k(Ro)),
|
|
19767
19763
|
Ni(3, k(Pe)),
|
|
19768
19764
|
Ni(4, $h),
|
|
@@ -19878,7 +19874,7 @@ let sl = class extends oe {
|
|
|
19878
19874
|
}
|
|
19879
19875
|
};
|
|
19880
19876
|
sl = RR([
|
|
19881
|
-
rc(1, k(
|
|
19877
|
+
rc(1, k(Ir)),
|
|
19882
19878
|
rc(2, k(he)),
|
|
19883
19879
|
rc(3, k(Et))
|
|
19884
19880
|
], sl);
|
|
@@ -19916,7 +19912,7 @@ ll = yR([
|
|
|
19916
19912
|
ic(3, k(he))
|
|
19917
19913
|
], ll);
|
|
19918
19914
|
function MR() {
|
|
19919
|
-
const r =
|
|
19915
|
+
const r = Pr();
|
|
19920
19916
|
return r ? /* @__PURE__ */ w(ER, { workbook: r }) : null;
|
|
19921
19917
|
}
|
|
19922
19918
|
function ER(r) {
|
|
@@ -19950,7 +19946,7 @@ function ER(r) {
|
|
|
19950
19946
|
case er.id:
|
|
19951
19947
|
case An.id:
|
|
19952
19948
|
case md.id:
|
|
19953
|
-
case
|
|
19949
|
+
case Mr.id:
|
|
19954
19950
|
case gd.id:
|
|
19955
19951
|
case nt.id:
|
|
19956
19952
|
a();
|
|
@@ -19993,7 +19989,7 @@ const TR = {
|
|
|
19993
19989
|
[Ke.FORMAT]: {
|
|
19994
19990
|
[hn.name]: {
|
|
19995
19991
|
order: 0,
|
|
19996
|
-
menuItemFactory:
|
|
19992
|
+
menuItemFactory: Qr
|
|
19997
19993
|
}
|
|
19998
19994
|
},
|
|
19999
19995
|
[Ke.DATA]: {
|
|
@@ -20007,7 +20003,7 @@ const TR = {
|
|
|
20007
20003
|
[Ke.FORMAT]: {
|
|
20008
20004
|
[hn.name]: {
|
|
20009
20005
|
order: 0,
|
|
20010
|
-
menuItemFactory:
|
|
20006
|
+
menuItemFactory: Qr
|
|
20011
20007
|
}
|
|
20012
20008
|
},
|
|
20013
20009
|
[Ke.LAYOUT]: {
|
|
@@ -20024,7 +20020,7 @@ const TR = {
|
|
|
20024
20020
|
[Ke.FORMAT]: {
|
|
20025
20021
|
[hn.name]: {
|
|
20026
20022
|
order: 0,
|
|
20027
|
-
menuItemFactory:
|
|
20023
|
+
menuItemFactory: Qr
|
|
20028
20024
|
}
|
|
20029
20025
|
},
|
|
20030
20026
|
[Ke.LAYOUT]: {
|
|
@@ -20075,7 +20071,7 @@ let al = class extends oe {
|
|
|
20075
20071
|
Kl,
|
|
20076
20072
|
zd,
|
|
20077
20073
|
pd,
|
|
20078
|
-
|
|
20074
|
+
oi,
|
|
20079
20075
|
tt,
|
|
20080
20076
|
Gl,
|
|
20081
20077
|
Ri,
|
|
@@ -20105,8 +20101,8 @@ let al = class extends oe {
|
|
|
20105
20101
|
Jt,
|
|
20106
20102
|
pa,
|
|
20107
20103
|
Zl,
|
|
20104
|
+
ui,
|
|
20108
20105
|
di,
|
|
20109
|
-
ci,
|
|
20110
20106
|
Ko,
|
|
20111
20107
|
qo,
|
|
20112
20108
|
Xd,
|
|
@@ -20116,13 +20112,13 @@ let al = class extends oe {
|
|
|
20116
20112
|
Vn,
|
|
20117
20113
|
uf,
|
|
20118
20114
|
ha,
|
|
20119
|
-
Qr,
|
|
20120
20115
|
Jr,
|
|
20116
|
+
$r,
|
|
20121
20117
|
ga,
|
|
20122
20118
|
ma,
|
|
20123
20119
|
Sa,
|
|
20124
|
-
$r,
|
|
20125
20120
|
ei,
|
|
20121
|
+
ti,
|
|
20126
20122
|
va
|
|
20127
20123
|
].forEach((r) => {
|
|
20128
20124
|
this.disposeWithMe(this._commandService.registerCommand(r));
|
|
@@ -20186,7 +20182,7 @@ let al = class extends oe {
|
|
|
20186
20182
|
});
|
|
20187
20183
|
}
|
|
20188
20184
|
_initWorkbenchParts() {
|
|
20189
|
-
this._uiPartsService.registerComponent(Zi.HEADER, () =>
|
|
20185
|
+
this._uiPartsService.registerComponent(Zi.HEADER, () => Gr(MR, this._injector));
|
|
20190
20186
|
}
|
|
20191
20187
|
_initFocusHandler() {
|
|
20192
20188
|
this.disposeWithMe(
|
|
@@ -20267,11 +20263,11 @@ let yo = class extends oe {
|
|
|
20267
20263
|
worksheetTypes: [qt, te]
|
|
20268
20264
|
}), i = this._localeService.t("permission.dialog.editErr");
|
|
20269
20265
|
break;
|
|
20270
|
-
case
|
|
20266
|
+
case Kr.id:
|
|
20271
20267
|
n = this._sheetPermissionCheckController.permissionCheckWithoutRange({
|
|
20272
20268
|
workbookTypes: [K],
|
|
20273
20269
|
rangeTypes: [ie],
|
|
20274
|
-
worksheetTypes: [te,
|
|
20270
|
+
worksheetTypes: [te, Tr]
|
|
20275
20271
|
}), i = this._localeService.t("permission.dialog.pasteErr");
|
|
20276
20272
|
break;
|
|
20277
20273
|
case Lc.id:
|
|
@@ -20365,7 +20361,7 @@ yo = AR([
|
|
|
20365
20361
|
wn(2, rt),
|
|
20366
20362
|
wn(3, Ao),
|
|
20367
20363
|
wn(4, k($e)),
|
|
20368
|
-
wn(5,
|
|
20364
|
+
wn(5, xr),
|
|
20369
20365
|
wn(6, k(Pe)),
|
|
20370
20366
|
wn(7, ke),
|
|
20371
20367
|
wn(8, k(Id))
|
|
@@ -20419,9 +20415,9 @@ let cl = class extends Nn {
|
|
|
20419
20415
|
return !1;
|
|
20420
20416
|
const { unitId: i, subUnitId: o } = n;
|
|
20421
20417
|
if (t.row) {
|
|
20422
|
-
if (((l = (s = this._permissionService.getPermissionPoint(new
|
|
20418
|
+
if (((l = (s = this._permissionService.getPermissionPoint(new Er(i, o).id)) == null ? void 0 : s.value) != null ? l : !1) === !1)
|
|
20423
20419
|
return !1;
|
|
20424
|
-
} else if (t.col && ((c = (a = this._permissionService.getPermissionPoint(new
|
|
20420
|
+
} else if (t.col && ((c = (a = this._permissionService.getPermissionPoint(new Tr(i, o).id)) == null ? void 0 : a.value) != null ? c : !1) === !1)
|
|
20425
20421
|
return !1;
|
|
20426
20422
|
return !0;
|
|
20427
20423
|
}
|
|
@@ -20530,7 +20526,7 @@ let Mo = class extends oe {
|
|
|
20530
20526
|
id: DR,
|
|
20531
20527
|
onBeforePaste: (e) => {
|
|
20532
20528
|
var h, g, m;
|
|
20533
|
-
const [t] =
|
|
20529
|
+
const [t] = wr([e.range]).ranges, n = (h = this._selectionManagerService.getCurrentLastSelection()) == null ? void 0 : h.range;
|
|
20534
20530
|
if (!n)
|
|
20535
20531
|
return !1;
|
|
20536
20532
|
const i = {
|
|
@@ -20644,10 +20640,10 @@ function UR(r) {
|
|
|
20644
20640
|
}
|
|
20645
20641
|
];
|
|
20646
20642
|
}
|
|
20647
|
-
let
|
|
20643
|
+
let pi = class extends oe {
|
|
20648
20644
|
constructor(e, t, n, i, o) {
|
|
20649
20645
|
super();
|
|
20650
|
-
b(this, "interceptor", new
|
|
20646
|
+
b(this, "interceptor", new Si({ STATUS_BAR_PERMISSION_CORRECT: BR }));
|
|
20651
20647
|
this._univerInstanceService = e, this._selectionManagerService = t, this._statusBarService = n, this._commandService = i, this._numfmtService = o, this._init();
|
|
20652
20648
|
}
|
|
20653
20649
|
_init() {
|
|
@@ -20770,13 +20766,13 @@ let fi = class extends oe {
|
|
|
20770
20766
|
this._clearResult();
|
|
20771
20767
|
}
|
|
20772
20768
|
};
|
|
20773
|
-
|
|
20769
|
+
pi = WR([
|
|
20774
20770
|
Li(0, N),
|
|
20775
20771
|
Li(1, k($)),
|
|
20776
20772
|
Li(2, ea),
|
|
20777
20773
|
Li(3, L),
|
|
20778
20774
|
Li(4, k(FS))
|
|
20779
|
-
],
|
|
20775
|
+
], pi);
|
|
20780
20776
|
var XR = Object.getOwnPropertyDescriptor, zR = (r, e, t, n) => {
|
|
20781
20777
|
for (var i = n > 1 ? void 0 : n ? XR(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
20782
20778
|
(s = r[o]) && (i = s(i) || i);
|
|
@@ -20825,7 +20821,7 @@ let dl = class extends Nn {
|
|
|
20825
20821
|
dl = zR([
|
|
20826
20822
|
as(1, N),
|
|
20827
20823
|
as(2, rt),
|
|
20828
|
-
as(3, k(
|
|
20824
|
+
as(3, k(pi)),
|
|
20829
20825
|
as(4, k(Wo))
|
|
20830
20826
|
], dl);
|
|
20831
20827
|
const sp = (r, e, t, n, i) => {
|
|
@@ -20877,7 +20873,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
20877
20873
|
id: "",
|
|
20878
20874
|
ranges: l,
|
|
20879
20875
|
editState: ln.OnlyMe,
|
|
20880
|
-
viewState:
|
|
20876
|
+
viewState: ri.OthersCanView
|
|
20881
20877
|
};
|
|
20882
20878
|
}, ZR = (r, e) => {
|
|
20883
20879
|
const i = r.get(N).getCurrentUnitForType(x.UNIVER_SHEET).getActiveSheet(), { unitType: o } = e;
|
|
@@ -20892,7 +20888,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
20892
20888
|
}]
|
|
20893
20889
|
} : e;
|
|
20894
20890
|
}, GR = (r) => {
|
|
20895
|
-
const { viewState: e, editState: t, permissionId: n, ranges: i, rangesErrMsg: o, desc: s, oldRule: l, id: a } = r, c = D(
|
|
20891
|
+
const { viewState: e, editState: t, permissionId: n, ranges: i, rangesErrMsg: o, desc: s, oldRule: l, id: a } = r, c = D(hi), d = D(Ci), u = D(Tl), h = D(Pe), g = D(L), m = D(Ar), v = D(N).getCurrentUnitForType(x.UNIVER_SHEET), p = v == null ? void 0 : v.getActiveSheet();
|
|
20896
20892
|
if (!v || !p)
|
|
20897
20893
|
return null;
|
|
20898
20894
|
const C = v.getUnitId(), _ = p.getSheetId();
|
|
@@ -20918,7 +20914,7 @@ const sp = (r, e, t, n, i) => {
|
|
|
20918
20914
|
let R = m.selectUserList;
|
|
20919
20915
|
S.editState === ln.OnlyMe && (R = [], m.setSelectUserList([]));
|
|
20920
20916
|
const y = {
|
|
20921
|
-
read: S.viewState ===
|
|
20917
|
+
read: S.viewState === ri.OthersCanView ? on.AllCollaborator : on.SomeCollaborator,
|
|
20922
20918
|
edit: S.editState === ln.DesignedUserCanEdit ? on.SomeCollaborator : on.OneSelf
|
|
20923
20919
|
};
|
|
20924
20920
|
if (S.editState === ln.DesignedUserCanEdit && R.length === 0 && (R = [], y.edit = on.OneSelf), S.permissionId) {
|
|
@@ -21062,9 +21058,9 @@ const sp = (r, e, t, n, i) => {
|
|
|
21062
21058
|
] });
|
|
21063
21059
|
}, KR = (r) => {
|
|
21064
21060
|
var p, C;
|
|
21065
|
-
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 : ln.OnlyMe), [m, f] = re((C = o.viewState) != null ? C :
|
|
21061
|
+
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 : ln.OnlyMe), [m, f] = re((C = o.viewState) != null ? C : ri.OthersCanView), v = qh(Co);
|
|
21066
21062
|
return Me(() => {
|
|
21067
|
-
const _ = i.get(N), S = i.get(
|
|
21063
|
+
const _ = i.get(N), S = i.get(Ci), I = _.getCurrentUnitForType(x.UNIVER_SHEET);
|
|
21068
21064
|
if (!I) return;
|
|
21069
21065
|
const R = I.getActiveSheet().getSheetId(), y = I.activeSheet$.subscribe((E) => {
|
|
21070
21066
|
(E == null ? void 0 : E.getSheetId()) !== R && S.close();
|
|
@@ -21123,28 +21119,28 @@ const sp = (r, e, t, n, i) => {
|
|
|
21123
21119
|
}, QR = "data:image/png;base64,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";
|
|
21124
21120
|
function JR() {
|
|
21125
21121
|
var H;
|
|
21126
|
-
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(
|
|
21122
|
+
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(Ci), h = D(Tl), g = D(rt), f = D(Nt).getCurrentUser(), v = D(Ar), p = ht(a.ruleRefresh$, ""), C = ht(l.ruleRefresh$, ""), _ = c.getCurrentUnitOfType(x.UNIVER_SHEET);
|
|
21127
21123
|
if (!_) return null;
|
|
21128
21124
|
const S = _.getUnitId(), I = On(async (O) => {
|
|
21129
21125
|
var G;
|
|
21130
|
-
const V = _.getActiveSheet(), W = _.getUnitId(),
|
|
21126
|
+
const V = _.getActiveSheet(), W = _.getUnitId(), z = V.getSheetId(), B = [], j = [];
|
|
21131
21127
|
_.getSheets().forEach((ee) => {
|
|
21132
21128
|
const ne = ee.getSheetId();
|
|
21133
21129
|
l.getSubunitRuleList(W, ne).forEach((pe) => {
|
|
21134
21130
|
pe.permissionId && B.push(pe.permissionId);
|
|
21135
21131
|
});
|
|
21136
21132
|
const Fe = a.getRule(W, ne);
|
|
21137
|
-
Fe != null && Fe.permissionId &&
|
|
21133
|
+
Fe != null && Fe.permissionId && j.push(Fe.permissionId);
|
|
21138
21134
|
});
|
|
21139
|
-
const Z = [...B, ...
|
|
21135
|
+
const Z = [...B, ...j], ce = await h.list({
|
|
21140
21136
|
objectIDs: Z,
|
|
21141
21137
|
unitID: W,
|
|
21142
21138
|
actions: jS
|
|
21143
|
-
}), ge = l.getSubunitRuleList(W,
|
|
21139
|
+
}), ge = l.getSubunitRuleList(W, z).map((ee) => ee.permissionId), se = (G = a.getRule(W, z)) == null ? void 0 : G.permissionId;
|
|
21144
21140
|
se && ge.push(se);
|
|
21145
21141
|
const _e = ce.filter((ee) => {
|
|
21146
21142
|
var ne;
|
|
21147
|
-
return ge.includes(ee.objectID) || ee.objectID === ((ne = a.getRule(W,
|
|
21143
|
+
return ge.includes(ee.objectID) || ee.objectID === ((ne = a.getRule(W, z)) == null ? void 0 : ne.permissionId);
|
|
21148
21144
|
});
|
|
21149
21145
|
return O ? _e : ce;
|
|
21150
21146
|
}, []), [R, y] = re([]);
|
|
@@ -21178,9 +21174,9 @@ function JR() {
|
|
|
21178
21174
|
})();
|
|
21179
21175
|
}, [p, C]);
|
|
21180
21176
|
function E(O) {
|
|
21181
|
-
const { unitId: V, subUnitId: W, unitType:
|
|
21177
|
+
const { unitId: V, subUnitId: W, unitType: z } = O;
|
|
21182
21178
|
let B;
|
|
21183
|
-
|
|
21179
|
+
z === yn.Worksheet ? B = d.executeCommand(xs.id, { unitId: V, subUnitId: W, rule: O }) : z === yn.SelectRange && (B = d.executeCommand(YS.id, { unitId: V, subUnitId: W, rule: O })), B && (n(!t), O.ranges === i && o([]));
|
|
21184
21180
|
}
|
|
21185
21181
|
Me(() => {
|
|
21186
21182
|
v.reset();
|
|
@@ -21189,8 +21185,8 @@ function JR() {
|
|
|
21189
21185
|
const O = /* @__PURE__ */ new Map();
|
|
21190
21186
|
return _.getSheets().forEach((V) => {
|
|
21191
21187
|
const W = V.getSheetId();
|
|
21192
|
-
l.getSubunitRuleList(S, W).forEach((
|
|
21193
|
-
O.set(
|
|
21188
|
+
l.getSubunitRuleList(S, W).forEach((j) => {
|
|
21189
|
+
O.set(j.permissionId, j);
|
|
21194
21190
|
});
|
|
21195
21191
|
const B = a.getRule(S, W);
|
|
21196
21192
|
B && O.set(B == null ? void 0 : B.permissionId, B);
|
|
@@ -21233,7 +21229,7 @@ function JR() {
|
|
|
21233
21229
|
const V = M.get(O.objectID);
|
|
21234
21230
|
if (!V)
|
|
21235
21231
|
return null;
|
|
21236
|
-
const W = O.actions.find((de) => de.action === me.Edit),
|
|
21232
|
+
const W = O.actions.find((de) => de.action === me.Edit), z = W == null ? void 0 : W.allowed, B = O.actions.find((de) => de.action === me.View), j = B == null ? void 0 : B.allowed, Z = O.actions.find((de) => de.action === me.ManageCollaborator), ce = O.actions.find((de) => de.action === me.Delete), ge = (Z == null ? void 0 : Z.allowed) || f.userID === ((ne = O.creator) == null ? void 0 : ne.userID), se = (ce == null ? void 0 : ce.allowed) || f.userID === ((ve = O.creator) == null ? void 0 : ve.userID);
|
|
21237
21233
|
let _e = "";
|
|
21238
21234
|
const G = _.getSheetBySheetId(V.subUnitId), ee = G == null ? void 0 : G.getName();
|
|
21239
21235
|
if (V.unitType === yn.SelectRange) {
|
|
@@ -21246,7 +21242,7 @@ function JR() {
|
|
|
21246
21242
|
return /* @__PURE__ */ q(
|
|
21247
21243
|
"div",
|
|
21248
21244
|
{
|
|
21249
|
-
className: He("univer-mt-3 univer-rounded-lg univer-p-3 hover:univer-bg-gray-50",
|
|
21245
|
+
className: He("univer-mt-3 univer-rounded-lg univer-p-3 hover:univer-bg-gray-50", wi),
|
|
21250
21246
|
onMouseMove: () => {
|
|
21251
21247
|
const { subUnitId: de, unitType: it } = V, ot = _.getActiveSheet();
|
|
21252
21248
|
if (!ot)
|
|
@@ -21306,7 +21302,7 @@ function JR() {
|
|
|
21306
21302
|
"span",
|
|
21307
21303
|
{
|
|
21308
21304
|
className: "univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white",
|
|
21309
|
-
children:
|
|
21305
|
+
children: z ? `${s.t("permission.panel.iCanEdit")}` : `${s.t("permission.panel.iCanNotEdit")}`
|
|
21310
21306
|
}
|
|
21311
21307
|
)
|
|
21312
21308
|
] }),
|
|
@@ -21322,7 +21318,7 @@ function JR() {
|
|
|
21322
21318
|
"span",
|
|
21323
21319
|
{
|
|
21324
21320
|
className: "univer-h-4 univer-text-xs univer-text-gray-900 dark:!univer-text-white",
|
|
21325
|
-
children:
|
|
21321
|
+
children: j ? `${s.t("permission.panel.iCanView")}` : `${s.t("permission.panel.iCanNotView")}`
|
|
21326
21322
|
}
|
|
21327
21323
|
)
|
|
21328
21324
|
] }),
|
|
@@ -21375,7 +21371,7 @@ function JR() {
|
|
|
21375
21371
|
const $R = ({ showDetail: r, fromSheetBar: e, rule: t, oldRule: n }) => {
|
|
21376
21372
|
var u;
|
|
21377
21373
|
const i = D(N), o = D($);
|
|
21378
|
-
if (!D(
|
|
21374
|
+
if (!D(hi).getVisible()) return null;
|
|
21379
21375
|
const l = Ue(i);
|
|
21380
21376
|
if (!l) return null;
|
|
21381
21377
|
const { worksheet: a } = l, d = ((u = o.getCurrentSelections()) == null ? void 0 : u.map((h) => h.range)).reduce((h, g) => h + Gg(a.getName(), g), "");
|
|
@@ -21538,7 +21534,7 @@ const $R = ({ showDetail: r, fromSheetBar: e, rule: t, oldRule: n }) => {
|
|
|
21538
21534
|
] }) });
|
|
21539
21535
|
}, lp = "data:image/png;base64,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", nI = () => {
|
|
21540
21536
|
var d;
|
|
21541
|
-
const [r, e] = re(""), t = D(Pe), n = D(Ao), i = D(
|
|
21537
|
+
const [r, e] = re(""), t = D(Pe), n = D(Ao), i = D(Ar), o = ht(i.userList$, i.userList), s = (d = o == null ? void 0 : o.filter((u) => {
|
|
21542
21538
|
var h;
|
|
21543
21539
|
return ((h = u.subject) == null ? void 0 : h.name.toLocaleLowerCase().includes(r.toLocaleLowerCase())) && u.role === kt.Editor;
|
|
21544
21540
|
})) != null ? d : [], [l, a] = re(i.selectUserList), c = (u) => {
|
|
@@ -21700,7 +21696,7 @@ class cI extends Zh {
|
|
|
21700
21696
|
}
|
|
21701
21697
|
}
|
|
21702
21698
|
const dI = (r) => {
|
|
21703
|
-
const { editState: e, onEditStateChange: t, viewState: n, onViewStateChange: i, permissionId: o } = r, s = D(Pe), l = D(Ao), a = D(Tl), c = D(
|
|
21699
|
+
const { editState: e, onEditStateChange: t, viewState: n, onViewStateChange: i, permissionId: o } = r, s = D(Pe), l = D(Ao), a = D(Tl), c = D(Ar), d = D(Nt), u = D(N), h = ht(c.selectUserList$, c.selectUserList), g = u.getCurrentUnitForType(x.UNIVER_SHEET), m = g == null ? void 0 : g.getActiveSheet();
|
|
21704
21700
|
if (!g || !m)
|
|
21705
21701
|
return null;
|
|
21706
21702
|
const f = g.getUnitId(), v = async () => {
|
|
@@ -21738,15 +21734,15 @@ const dI = (r) => {
|
|
|
21738
21734
|
onChange: (p) => t(p),
|
|
21739
21735
|
className: "univer-flex univer-flex-col",
|
|
21740
21736
|
children: [
|
|
21741
|
-
/* @__PURE__ */ w(
|
|
21742
|
-
/* @__PURE__ */ w(
|
|
21737
|
+
/* @__PURE__ */ w(zr, { value: ln.OnlyMe, children: /* @__PURE__ */ w("span", { children: s.t("permission.panel.onlyICanEdit") }) }),
|
|
21738
|
+
/* @__PURE__ */ w(zr, { value: ln.DesignedUserCanEdit, children: /* @__PURE__ */ w("span", { children: s.t("permission.panel.designedUserCanEdit") }) })
|
|
21743
21739
|
]
|
|
21744
21740
|
}
|
|
21745
21741
|
) }),
|
|
21746
21742
|
e === ln.DesignedUserCanEdit && /* @__PURE__ */ q(
|
|
21747
21743
|
"div",
|
|
21748
21744
|
{
|
|
21749
|
-
className: He("univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-rounded-lg univer-p-3",
|
|
21745
|
+
className: He("univer-mb-2 univer-flex univer-h-[270px] univer-flex-col univer-rounded-lg univer-p-3", wi),
|
|
21750
21746
|
children: [
|
|
21751
21747
|
/* @__PURE__ */ q("div", { className: "univer-flex univer-items-center univer-justify-between", children: [
|
|
21752
21748
|
/* @__PURE__ */ w("span", { children: s.t("permission.panel.designedPerson") }),
|
|
@@ -21816,8 +21812,8 @@ const dI = (r) => {
|
|
|
21816
21812
|
onChange: (p) => i(p),
|
|
21817
21813
|
className: "univer-flex univer-flex-col last:univer-mb-0",
|
|
21818
21814
|
children: [
|
|
21819
|
-
/* @__PURE__ */ w(
|
|
21820
|
-
/* @__PURE__ */ w(
|
|
21815
|
+
/* @__PURE__ */ w(zr, { value: ri.OthersCanView, children: /* @__PURE__ */ w("span", { children: s.t("permission.panel.othersCanView") }) }),
|
|
21816
|
+
/* @__PURE__ */ w(zr, { value: ri.NoOneElseCanView, children: /* @__PURE__ */ w("span", { children: s.t("permission.panel.noOneElseCanView") }) })
|
|
21821
21817
|
]
|
|
21822
21818
|
}
|
|
21823
21819
|
) })
|
|
@@ -21856,7 +21852,7 @@ let Eo = class extends oe {
|
|
|
21856
21852
|
_initUiPartComponents() {
|
|
21857
21853
|
var t;
|
|
21858
21854
|
const e = this._injector.get(pn).getConfig(zt);
|
|
21859
|
-
(t = e == null ? void 0 : e.customComponents) != null && t.has(Co) || this.disposeWithMe(this._uiPartsService.registerComponent(Co, () =>
|
|
21855
|
+
(t = e == null ? void 0 : e.customComponents) != null && t.has(Co) || this.disposeWithMe(this._uiPartsService.registerComponent(Co, () => Gr(dI, this._injector)));
|
|
21860
21856
|
}
|
|
21861
21857
|
};
|
|
21862
21858
|
Eo = iu([
|
|
@@ -22035,7 +22031,7 @@ var pI = Object.getOwnPropertyDescriptor, vI = (r, e, t, n) => {
|
|
|
22035
22031
|
for (var i = n > 1 ? void 0 : n ? pI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
22036
22032
|
(s = r[o]) && (i = s(i) || i);
|
|
22037
22033
|
return i;
|
|
22038
|
-
},
|
|
22034
|
+
}, Wr = (r, e) => (t, n) => e(t, n, r);
|
|
22039
22035
|
const SI = [Dt.id, Ln.id];
|
|
22040
22036
|
let zc = class extends oe {
|
|
22041
22037
|
constructor(r, e, t, n, i, o, s) {
|
|
@@ -22323,12 +22319,12 @@ let zc = class extends oe {
|
|
|
22323
22319
|
}
|
|
22324
22320
|
};
|
|
22325
22321
|
zc = vI([
|
|
22326
|
-
|
|
22327
|
-
|
|
22328
|
-
|
|
22329
|
-
|
|
22330
|
-
|
|
22331
|
-
|
|
22322
|
+
Wr(1, k(he)),
|
|
22323
|
+
Wr(2, L),
|
|
22324
|
+
Wr(3, Ce),
|
|
22325
|
+
Wr(4, k($)),
|
|
22326
|
+
Wr(5, k(Et)),
|
|
22327
|
+
Wr(6, N)
|
|
22332
22328
|
], zc);
|
|
22333
22329
|
var CI = Object.getOwnPropertyDescriptor, wI = (r, e, t, n) => {
|
|
22334
22330
|
for (var i = n > 1 ? void 0 : n ? CI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -22541,7 +22537,7 @@ const yI = (r) => {
|
|
|
22541
22537
|
"div",
|
|
22542
22538
|
{
|
|
22543
22539
|
"data-u-comp": "sheets-dropdown-list",
|
|
22544
|
-
className: He("univer-box-border univer-rounded-lg univer-bg-white univer-pb-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white",
|
|
22540
|
+
className: He("univer-box-border univer-rounded-lg univer-bg-white univer-pb-1 univer-text-gray-900 univer-shadow dark:!univer-bg-black dark:!univer-text-white", wi),
|
|
22545
22541
|
style: a,
|
|
22546
22542
|
children: [
|
|
22547
22543
|
/* @__PURE__ */ w(
|
|
@@ -22712,7 +22708,7 @@ let fl = class extends oe {
|
|
|
22712
22708
|
}
|
|
22713
22709
|
};
|
|
22714
22710
|
fl = EI([
|
|
22715
|
-
cs(0, k(
|
|
22711
|
+
cs(0, k(gi)),
|
|
22716
22712
|
cs(1, $h),
|
|
22717
22713
|
cs(2, Ce),
|
|
22718
22714
|
cs(3, k(Zt))
|
|
@@ -22722,7 +22718,7 @@ class Sp extends oe {
|
|
|
22722
22718
|
constructor() {
|
|
22723
22719
|
super();
|
|
22724
22720
|
b(this, "_printComponentMap", /* @__PURE__ */ new Map());
|
|
22725
|
-
b(this, "interceptor", new
|
|
22721
|
+
b(this, "interceptor", new Si({
|
|
22726
22722
|
PRINTING_RANGE: TI,
|
|
22727
22723
|
PRINTING_COMPONENT_COLLECT: PI,
|
|
22728
22724
|
PRINTING_DOM_COLLECT: xI
|
|
@@ -23133,7 +23129,7 @@ let pl = class extends rm {
|
|
|
23133
23129
|
n && (this._activeViewport = n);
|
|
23134
23130
|
const l = s.getViewport(U.VIEW_MAIN), a = this.getActiveSelectionControl();
|
|
23135
23131
|
if (!a) return;
|
|
23136
|
-
this._changeCurrCellWhenControlPointerDown(), this._selectionMoveStart$.next(this.getSelectionDataWithStyle()), this._clearUpdatingListeners(), this._addEndingListeners(), this._scrollTimer =
|
|
23132
|
+
this._changeCurrCellWhenControlPointerDown(), this._selectionMoveStart$.next(this.getSelectionDataWithStyle()), this._clearUpdatingListeners(), this._addEndingListeners(), this._scrollTimer = Zr.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();
|
|
23137
23133
|
const c = s.getCoordRelativeToViewport(Ve.FromArray([e.offsetX, e.offsetY]));
|
|
23138
23134
|
this._setupPointerMoveListener(l, a, t, i, c.x, c.y);
|
|
23139
23135
|
const d = this._shortcutService.forceEscape();
|
|
@@ -23177,7 +23173,7 @@ let pl = class extends rm {
|
|
|
23177
23173
|
* In Mobile version, new selection is determined by cursor cell and current of activeSelectionControl.model
|
|
23178
23174
|
*/
|
|
23179
23175
|
_movingHandler(e, t, n, i) {
|
|
23180
|
-
var E, M, T, P, A, H, O, V, W,
|
|
23176
|
+
var E, M, T, P, A, H, O, V, W, z, B, j, Z;
|
|
23181
23177
|
this._rangeType = i;
|
|
23182
23178
|
const o = this._skeleton, s = this._scene, l = {
|
|
23183
23179
|
startRow: n.model.startRow,
|
|
@@ -23205,9 +23201,9 @@ let pl = class extends rm {
|
|
|
23205
23201
|
endRow: Math.max(m.endRow, (V = f == null ? void 0 : f.actualRow) != null ? V : -1),
|
|
23206
23202
|
endColumn: Math.max(m.endColumn, (W = f == null ? void 0 : f.actualColumn) != null ? W : -1)
|
|
23207
23203
|
} : i === X.ROW && (S = {
|
|
23208
|
-
startRow: Math.min(m.startRow, (
|
|
23204
|
+
startRow: Math.min(m.startRow, (z = f == null ? void 0 : f.actualRow) != null ? z : -1),
|
|
23209
23205
|
startColumn: Math.min(m.startColumn, (B = f == null ? void 0 : f.actualColumn) != null ? B : -1),
|
|
23210
|
-
endRow: Math.max(m.endRow, (
|
|
23206
|
+
endRow: Math.max(m.endRow, (j = f == null ? void 0 : f.actualRow) != null ? j : -1),
|
|
23211
23207
|
endColumn: Math.max(m.endColumn, (Z = f == null ? void 0 : f.actualColumn) != null ? Z : -1)
|
|
23212
23208
|
}), !S)
|
|
23213
23209
|
return !1;
|
|
@@ -23252,33 +23248,33 @@ let vl = class extends jh {
|
|
|
23252
23248
|
}
|
|
23253
23249
|
onStarting() {
|
|
23254
23250
|
[
|
|
23255
|
-
[
|
|
23251
|
+
[si],
|
|
23256
23252
|
[nn, { useClass: Zs }],
|
|
23257
|
-
[
|
|
23253
|
+
[Or, { useClass: Tm }],
|
|
23258
23254
|
[Wn, { useClass: Gs }],
|
|
23259
|
-
[
|
|
23255
|
+
[xr, { useClass: Ds }],
|
|
23260
23256
|
[Sp],
|
|
23261
23257
|
[lt, { useClass: pl }],
|
|
23262
23258
|
[ea, { useClass: Pm }],
|
|
23263
23259
|
[bi, { useClass: js }],
|
|
23264
23260
|
[qe, { useClass: Ls }],
|
|
23265
|
-
[
|
|
23261
|
+
[Ir],
|
|
23266
23262
|
[Io],
|
|
23267
|
-
[hi],
|
|
23268
23263
|
[gi],
|
|
23264
|
+
[mi],
|
|
23269
23265
|
[Ro],
|
|
23270
23266
|
[Nd],
|
|
23271
23267
|
[vp, { useClass: fl }],
|
|
23272
23268
|
[bo],
|
|
23273
23269
|
[so],
|
|
23274
|
-
[mi],
|
|
23275
|
-
[br],
|
|
23276
|
-
[al],
|
|
23277
23270
|
[fi],
|
|
23271
|
+
[Rr],
|
|
23272
|
+
[al],
|
|
23273
|
+
[pi],
|
|
23278
23274
|
[Rd, { useClass: Xg }],
|
|
23279
23275
|
// permission
|
|
23280
|
-
[
|
|
23281
|
-
[
|
|
23276
|
+
[hi],
|
|
23277
|
+
[Ar],
|
|
23282
23278
|
[hl],
|
|
23283
23279
|
[Mo],
|
|
23284
23280
|
[yo],
|
|
@@ -23382,7 +23378,7 @@ let Sl = class extends oe {
|
|
|
23382
23378
|
}
|
|
23383
23379
|
};
|
|
23384
23380
|
Sl = WI([
|
|
23385
|
-
ds(0, k(
|
|
23381
|
+
ds(0, k(Ir)),
|
|
23386
23382
|
ds(1, N),
|
|
23387
23383
|
ds(2, L),
|
|
23388
23384
|
ds(3, Ce)
|
|
@@ -23408,7 +23404,7 @@ let Cl = class extends oe {
|
|
|
23408
23404
|
if (r == null) return;
|
|
23409
23405
|
const { unitId: e } = r;
|
|
23410
23406
|
let { formulaOrRefString: t } = r;
|
|
23411
|
-
if (t.substring(0, 1) ===
|
|
23407
|
+
if (t.substring(0, 1) === Br.EQUALS && (t = t.substring(1)), !Zg(t))
|
|
23412
23408
|
return;
|
|
23413
23409
|
const i = this._instanceSrv.getUnit(e), o = await this._getSelections(i, e, t);
|
|
23414
23410
|
this._selectionManagerService.setSelections(o), this._cmdSrv.executeCommand(ud.id, {
|
|
@@ -23483,7 +23479,7 @@ let To = class extends Nn {
|
|
|
23483
23479
|
this._univerInstanceService = e, this._renderManagerService = t, this._editorBridgeService = n, this._commandService = i, this._contextService = o, this._formulaEditorManagerService = s, this._undoRedoService = l, this._textSelectionManagerService = a, this._editorService = c, this._initialize();
|
|
23484
23480
|
}
|
|
23485
23481
|
_initialize() {
|
|
23486
|
-
this._syncEditorSize(), this._listenFxBtnClick(), this._handleContentChange(), this._univerInstanceService.focused$.pipe(
|
|
23482
|
+
this._syncEditorSize(), this._listenFxBtnClick(), this._handleContentChange(), this._univerInstanceService.focused$.pipe(ni(this.dispose$)).subscribe((e) => {
|
|
23487
23483
|
this._create(e);
|
|
23488
23484
|
}), this._create(De), this.disposeWithMe(this._editorService.focus$.subscribe(() => {
|
|
23489
23485
|
var t;
|
|
@@ -23510,7 +23506,7 @@ let To = class extends Nn {
|
|
|
23510
23506
|
n != null && (this._loadedMap.has(n) || this._loadedMap.add(n));
|
|
23511
23507
|
}
|
|
23512
23508
|
_listenFxBtnClick() {
|
|
23513
|
-
this._formulaEditorManagerService.fxBtnClick$.pipe(
|
|
23509
|
+
this._formulaEditorManagerService.fxBtnClick$.pipe(ni(this.dispose$)).subscribe(() => {
|
|
23514
23510
|
var t, n;
|
|
23515
23511
|
if (this._contextService.getContextValue(gc) && !this._contextService.getContextValue(Je)) {
|
|
23516
23512
|
this._univerInstanceService.setCurrentUnitForType(De), this._contextService.setContextValue(Ot, !0);
|
|
@@ -23593,7 +23589,7 @@ To = XI([
|
|
|
23593
23589
|
Rn(5, $l),
|
|
23594
23590
|
Rn(6, Yt),
|
|
23595
23591
|
Rn(7, k(yd)),
|
|
23596
|
-
Rn(8,
|
|
23592
|
+
Rn(8, vi)
|
|
23597
23593
|
], To);
|
|
23598
23594
|
var zI = Object.getOwnPropertyDescriptor, jI = (r, e, t, n) => {
|
|
23599
23595
|
for (var i = n > 1 ? void 0 : n ? zI(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -23807,13 +23803,13 @@ let _l = class extends oe {
|
|
|
23807
23803
|
endRow: t.startRow + h - 1,
|
|
23808
23804
|
endColumn: t.startColumn + g - 1
|
|
23809
23805
|
} : t, f = Array.from({ length: m.endRow - m.startRow + 1 }, () => Array.from({ length: m.endColumn - m.startColumn + 1 }, () => ({}))), v = [];
|
|
23810
|
-
f.forEach((B,
|
|
23806
|
+
f.forEach((B, j) => {
|
|
23811
23807
|
B.forEach((Z, ce) => {
|
|
23812
|
-
const ge =
|
|
23813
|
-
_e && (f[
|
|
23808
|
+
const ge = j % h + a, se = ce % g + c, _e = l.getValue(ge, se);
|
|
23809
|
+
_e && (f[j][ce].s = Object.keys(_e).length > 0 ? _e : null);
|
|
23814
23810
|
});
|
|
23815
23811
|
}), s.forEach((B) => {
|
|
23816
|
-
const
|
|
23812
|
+
const j = {
|
|
23817
23813
|
startRow: B.startRow - a,
|
|
23818
23814
|
startColumn: B.startColumn - c,
|
|
23819
23815
|
endRow: B.endRow - a,
|
|
@@ -23822,19 +23818,19 @@ let _l = class extends oe {
|
|
|
23822
23818
|
for (let ge = 0; ge < Z; ge++)
|
|
23823
23819
|
for (let se = 0; se < ce; se++)
|
|
23824
23820
|
v.push({
|
|
23825
|
-
startRow:
|
|
23826
|
-
startColumn:
|
|
23827
|
-
endRow:
|
|
23828
|
-
endColumn:
|
|
23821
|
+
startRow: j.startRow + ge * h + m.startRow,
|
|
23822
|
+
startColumn: j.startColumn + se * g + m.startColumn,
|
|
23823
|
+
endRow: j.endRow + ge * h + m.startRow,
|
|
23824
|
+
endColumn: j.endColumn + se * g + m.startColumn
|
|
23829
23825
|
});
|
|
23830
23826
|
});
|
|
23831
23827
|
const p = [m], C = new Ge(), _ = new Ge();
|
|
23832
23828
|
if (le.isArray(f))
|
|
23833
23829
|
for (let B = 0; B < p.length; B++) {
|
|
23834
|
-
const { startRow:
|
|
23835
|
-
for (let se = 0; se <= ce -
|
|
23830
|
+
const { startRow: j, startColumn: Z, endRow: ce, endColumn: ge } = p[B];
|
|
23831
|
+
for (let se = 0; se <= ce - j; se++)
|
|
23836
23832
|
for (let _e = 0; _e <= ge - Z; _e++)
|
|
23837
|
-
C.setValue(se +
|
|
23833
|
+
C.setValue(se + j, _e + Z, { s: null }), _.setValue(se + j, _e + Z, f[se][_e]);
|
|
23838
23834
|
}
|
|
23839
23835
|
const S = {
|
|
23840
23836
|
subUnitId: e,
|
|
@@ -23863,12 +23859,12 @@ let _l = class extends oe {
|
|
|
23863
23859
|
const W = this._injector.invoke(
|
|
23864
23860
|
Wl,
|
|
23865
23861
|
O
|
|
23866
|
-
),
|
|
23862
|
+
), z = this._injector.invoke(
|
|
23867
23863
|
Fl,
|
|
23868
23864
|
V
|
|
23869
23865
|
);
|
|
23870
|
-
if (P.push({ id: Kt.id, params:
|
|
23871
|
-
const B = this._injector.invoke((
|
|
23866
|
+
if (P.push({ id: Kt.id, params: z }), P.push({ id: Qt.id, params: W }), H) {
|
|
23867
|
+
const B = this._injector.invoke((j) => rf(j, r, A, M));
|
|
23872
23868
|
T.unshift(...B.redos), P.push(...B.undos);
|
|
23873
23869
|
}
|
|
23874
23870
|
return {
|
|
@@ -23989,7 +23985,7 @@ let Yc = class extends oe {
|
|
|
23989
23985
|
Yc = ty([
|
|
23990
23986
|
cc(1, k(he)),
|
|
23991
23987
|
cc(2, nn),
|
|
23992
|
-
cc(3, k(
|
|
23988
|
+
cc(3, k(fi))
|
|
23993
23989
|
], Yc);
|
|
23994
23990
|
var ny = Object.getOwnPropertyDescriptor, ry = (r, e, t, n) => {
|
|
23995
23991
|
for (var i = n > 1 ? void 0 : n ? ny(e, t) : e, o = r.length - 1, s; o >= 0; o--)
|
|
@@ -24349,7 +24345,7 @@ let Qc = class extends Nn {
|
|
|
24349
24345
|
}
|
|
24350
24346
|
_init() {
|
|
24351
24347
|
let e = "";
|
|
24352
|
-
this._context.unit.activeSheet$.pipe(
|
|
24348
|
+
this._context.unit.activeSheet$.pipe(ni(this.dispose$)).subscribe((t) => {
|
|
24353
24349
|
if (this._clearShapes(), !t) {
|
|
24354
24350
|
e = "";
|
|
24355
24351
|
return;
|
|
@@ -24478,7 +24474,7 @@ let $c = class extends rm {
|
|
|
24478
24474
|
}
|
|
24479
24475
|
_init() {
|
|
24480
24476
|
const e = this._getSheetObject();
|
|
24481
|
-
this._contextService.setContextValue(
|
|
24477
|
+
this._contextService.setContextValue(Xr, !0), this._initEventListeners(e), this._initSelectionModelChangeListener(), this._initThemeChangeListener(), this._initSkeletonChangeListener(), this._initUserActionSyncListener();
|
|
24482
24478
|
}
|
|
24483
24479
|
_initEventListeners(e) {
|
|
24484
24480
|
const { spreadsheetRowHeader: t, spreadsheetColumnHeader: n, spreadsheet: i, spreadsheetLeftTopPlaceholder: o } = e, { scene: s } = this._context;
|
|
@@ -24522,10 +24518,10 @@ let $c = class extends rm {
|
|
|
24522
24518
|
}));
|
|
24523
24519
|
}
|
|
24524
24520
|
disableSelection() {
|
|
24525
|
-
this._contextService.setContextValue(
|
|
24521
|
+
this._contextService.setContextValue(Xr, !1);
|
|
24526
24522
|
}
|
|
24527
24523
|
enableSelection() {
|
|
24528
|
-
this._contextService.setContextValue(
|
|
24524
|
+
this._contextService.setContextValue(Xr, !0);
|
|
24529
24525
|
}
|
|
24530
24526
|
transparentSelection() {
|
|
24531
24527
|
const e = this._themeService.getCurrentTheme(), t = gv(e, "primary.600", "transparent");
|
|
@@ -24553,7 +24549,7 @@ let $c = class extends rm {
|
|
|
24553
24549
|
_initUserActionSyncListener() {
|
|
24554
24550
|
this.disposeWithMe(this.selectionMoveStart$.subscribe((e) => this._updateSelections(e, Ft.MOVE_START))), this.disposeWithMe(this.selectionMoving$.subscribe((e) => this._updateSelections(e, Ft.MOVING))), this.disposeWithMe(this._contextService.subscribeContextValue$(to).pipe(xt(!1), cn()).subscribe((e) => {
|
|
24555
24551
|
e && this._reset();
|
|
24556
|
-
})), this.disposeWithMe(this._contextService.subscribeContextValue$(
|
|
24552
|
+
})), this.disposeWithMe(this._contextService.subscribeContextValue$(Xr).pipe(xt(!0), cn()).subscribe((e) => {
|
|
24557
24553
|
var t;
|
|
24558
24554
|
e ? this._renderDisposable = We(
|
|
24559
24555
|
this.selectionMoveEnd$.subscribe((n) => {
|
|
@@ -24713,22 +24709,22 @@ let Rl = class extends jh {
|
|
|
24713
24709
|
}
|
|
24714
24710
|
onStarting() {
|
|
24715
24711
|
gu(this._injector, fv([
|
|
24716
|
-
[
|
|
24712
|
+
[si],
|
|
24717
24713
|
[qe, { useClass: Ls }],
|
|
24718
24714
|
[nn, { useClass: Zs }],
|
|
24719
|
-
[
|
|
24715
|
+
[Or, { useClass: Tm }],
|
|
24720
24716
|
[Wn, { useClass: Gs }],
|
|
24721
24717
|
[Ql, { useClass: v1 }],
|
|
24722
24718
|
[$l, { useClass: Y1 }],
|
|
24723
24719
|
[Rd, { useClass: Xg }],
|
|
24724
|
-
[
|
|
24720
|
+
[xr, { useClass: Ds }],
|
|
24725
24721
|
[Sp],
|
|
24726
24722
|
[ea, { useClass: Pm }],
|
|
24727
24723
|
[bi, { useClass: js }],
|
|
24728
|
-
[
|
|
24724
|
+
[Ir],
|
|
24729
24725
|
[Io],
|
|
24730
|
-
[hi],
|
|
24731
24726
|
[gi],
|
|
24727
|
+
[mi],
|
|
24732
24728
|
[Ro],
|
|
24733
24729
|
[Nd],
|
|
24734
24730
|
[vp, { useClass: fl }],
|
|
@@ -24738,9 +24734,9 @@ let Rl = class extends jh {
|
|
|
24738
24734
|
[so],
|
|
24739
24735
|
[fo],
|
|
24740
24736
|
[To],
|
|
24741
|
-
[
|
|
24737
|
+
[Rr],
|
|
24742
24738
|
[tl],
|
|
24743
|
-
[
|
|
24739
|
+
[pi],
|
|
24744
24740
|
[Ws],
|
|
24745
24741
|
[_l],
|
|
24746
24742
|
[Cl],
|
|
@@ -24748,9 +24744,9 @@ let Rl = class extends jh {
|
|
|
24748
24744
|
[Sl],
|
|
24749
24745
|
[zs],
|
|
24750
24746
|
// permission
|
|
24751
|
-
[
|
|
24747
|
+
[hi],
|
|
24752
24748
|
[bl],
|
|
24753
|
-
[
|
|
24749
|
+
[Ar],
|
|
24754
24750
|
[Mo],
|
|
24755
24751
|
[yo],
|
|
24756
24752
|
[Eo]
|
|
@@ -24758,10 +24754,10 @@ let Rl = class extends jh {
|
|
|
24758
24754
|
}
|
|
24759
24755
|
onReady() {
|
|
24760
24756
|
this._config.disableAutoFocus || this._initAutoFocus(), gu(this._injector, [
|
|
24761
|
-
[
|
|
24757
|
+
[fi]
|
|
24762
24758
|
]), this._registerRenderBasics(), _a(this._injector, [
|
|
24763
24759
|
[tl],
|
|
24764
|
-
[
|
|
24760
|
+
[Rr],
|
|
24765
24761
|
[bo],
|
|
24766
24762
|
[yo],
|
|
24767
24763
|
[bl]
|
|
@@ -24770,11 +24766,11 @@ let Rl = class extends jh {
|
|
|
24770
24766
|
onRendered() {
|
|
24771
24767
|
this._registerRenderModules(), _a(this._injector, [
|
|
24772
24768
|
[Eo],
|
|
24773
|
-
[
|
|
24774
|
-
[
|
|
24769
|
+
[hi],
|
|
24770
|
+
[fi],
|
|
24775
24771
|
[To],
|
|
24776
24772
|
[Cl],
|
|
24777
|
-
[
|
|
24773
|
+
[pi],
|
|
24778
24774
|
[so],
|
|
24779
24775
|
[fo],
|
|
24780
24776
|
[wl],
|
|
@@ -24918,7 +24914,7 @@ function qy(r, e, t, n, i, o, s) {
|
|
|
24918
24914
|
export {
|
|
24919
24915
|
bC as AFFECT_LAYOUT_STYLES,
|
|
24920
24916
|
Ne as APPLY_TYPE,
|
|
24921
|
-
|
|
24917
|
+
Jr as AddRangeProtectionFromContextMenuCommand,
|
|
24922
24918
|
ga as AddRangeProtectionFromSheetBarCommand,
|
|
24923
24919
|
ha as AddRangeProtectionFromToolbarCommand,
|
|
24924
24920
|
la as ApplyFormatPainterCommand,
|
|
@@ -24934,13 +24930,13 @@ export {
|
|
|
24934
24930
|
eo as CellAlertType,
|
|
24935
24931
|
Bs as CellCustomRenderController,
|
|
24936
24932
|
v1 as CellEditorManagerService,
|
|
24937
|
-
|
|
24933
|
+
mi as CellPopupManagerService,
|
|
24938
24934
|
Sa as ChangeSheetProtectionFromSheetBarCommand,
|
|
24939
24935
|
zo as ChangeZoomRatioCommand,
|
|
24940
24936
|
mt as DATA_TYPE,
|
|
24941
24937
|
qo as DeleteRangeMoveLeftConfirmCommand,
|
|
24942
|
-
|
|
24943
|
-
|
|
24938
|
+
di as DeleteRangeMoveUpConfirmCommand,
|
|
24939
|
+
ei as DeleteRangeProtectionFromContextMenuCommand,
|
|
24944
24940
|
va as DeleteWorksheetProtectionFormSheetBarCommand,
|
|
24945
24941
|
Io as DragManagerService,
|
|
24946
24942
|
rl as DragRenderController,
|
|
@@ -24957,9 +24953,9 @@ export {
|
|
|
24957
24953
|
Ks as HeaderResizeRenderController,
|
|
24958
24954
|
ra as HideColConfirmCommand,
|
|
24959
24955
|
na as HideRowConfirmCommand,
|
|
24960
|
-
|
|
24956
|
+
Ir as HoverManagerService,
|
|
24961
24957
|
sl as HoverRenderController,
|
|
24962
|
-
|
|
24958
|
+
xr as IAutoFillService,
|
|
24963
24959
|
Ql as ICellEditorManagerService,
|
|
24964
24960
|
qe as IEditorBridgeService,
|
|
24965
24961
|
Wn as IFormatPainterService,
|
|
@@ -24969,7 +24965,7 @@ export {
|
|
|
24969
24965
|
nn as ISheetClipboardService,
|
|
24970
24966
|
lt as ISheetSelectionRenderService,
|
|
24971
24967
|
ea as IStatusBarService,
|
|
24972
|
-
|
|
24968
|
+
ui as InsertRangeMoveDownConfirmCommand,
|
|
24973
24969
|
Ko as InsertRangeMoveRightConfirmCommand,
|
|
24974
24970
|
Dn as JumpOver,
|
|
24975
24971
|
js as MarkSelectionService,
|
|
@@ -25001,7 +24997,7 @@ export {
|
|
|
25001
24997
|
Vd as SelectionShape,
|
|
25002
24998
|
fC as SelectionShapeExtension,
|
|
25003
24999
|
zd as SetActivateCellEditOperation,
|
|
25004
|
-
|
|
25000
|
+
oi as SetCellEditVisibleArrowOperation,
|
|
25005
25001
|
tt as SetCellEditVisibleOperation,
|
|
25006
25002
|
Gl as SetCellEditVisibleWithF2Operation,
|
|
25007
25003
|
ca as SetColumnFrozenCommand,
|
|
@@ -25013,7 +25009,7 @@ export {
|
|
|
25013
25009
|
oa as SetRangeFontFamilyCommand,
|
|
25014
25010
|
ia as SetRangeFontSizeCommand,
|
|
25015
25011
|
Ii as SetRangeItalicCommand,
|
|
25016
|
-
|
|
25012
|
+
ti as SetRangeProtectionFromContextMenuCommand,
|
|
25017
25013
|
Mi as SetRangeStrickThroughCommand,
|
|
25018
25014
|
Ym as SetRangeSubscriptCommand,
|
|
25019
25015
|
Zm as SetRangeSuperscriptCommand,
|
|
@@ -25028,7 +25024,7 @@ export {
|
|
|
25028
25024
|
jo as SetZoomRatioCommand,
|
|
25029
25025
|
Jt as SetZoomRatioOperation,
|
|
25030
25026
|
iw as SheetBar,
|
|
25031
|
-
|
|
25027
|
+
gi as SheetCanvasPopManagerService,
|
|
25032
25028
|
fl as SheetCellDropdownManagerService,
|
|
25033
25029
|
Us as SheetCellEditorResizeService,
|
|
25034
25030
|
Zs as SheetClipboardService,
|
|
@@ -25036,7 +25032,7 @@ export {
|
|
|
25036
25032
|
Kd as SheetCutCommand,
|
|
25037
25033
|
E0 as SheetMenuPosition,
|
|
25038
25034
|
$i as SheetPasteBesidesBorderCommand,
|
|
25039
|
-
|
|
25035
|
+
Kr as SheetPasteColWidthCommand,
|
|
25040
25036
|
gn as SheetPasteCommand,
|
|
25041
25037
|
Ji as SheetPasteFormatCommand,
|
|
25042
25038
|
Lc as SheetPasteShortKeyCommand,
|
|
@@ -25044,26 +25040,26 @@ export {
|
|
|
25044
25040
|
yo as SheetPermissionCheckUIController,
|
|
25045
25041
|
uf as SheetPermissionOpenDialogOperation,
|
|
25046
25042
|
Vn as SheetPermissionOpenPanelOperation,
|
|
25047
|
-
|
|
25043
|
+
Ar as SheetPermissionUserManagerService,
|
|
25048
25044
|
Sp as SheetPrintInterceptorService,
|
|
25049
25045
|
Qs as SheetRenderController,
|
|
25050
25046
|
Et as SheetScrollManagerService,
|
|
25051
25047
|
$c as SheetSelectionRenderService,
|
|
25052
25048
|
he as SheetSkeletonManagerService,
|
|
25053
25049
|
tl as SheetUIController,
|
|
25054
|
-
|
|
25050
|
+
Rr as SheetsRenderService,
|
|
25055
25051
|
ho as SheetsScrollRenderController,
|
|
25056
25052
|
Nb as SheetsUIMenuSchema,
|
|
25057
25053
|
om as SheetsUIPart,
|
|
25058
25054
|
pa as ShowMenuListCommand,
|
|
25059
25055
|
Xd as SidebarDefinedNameOperation,
|
|
25060
|
-
|
|
25056
|
+
pi as StatusBarController,
|
|
25061
25057
|
Pm as StatusBarService,
|
|
25062
25058
|
tu as UNIVER_SHEET_PERMISSION_BACKGROUND,
|
|
25063
25059
|
Co as UNIVER_SHEET_PERMISSION_USER_PART,
|
|
25064
25060
|
vl as UniverSheetsMobileUIPlugin,
|
|
25065
25061
|
Rl as UniverSheetsUIPlugin,
|
|
25066
|
-
|
|
25062
|
+
$r as ViewSheetPermissionFromContextMenuCommand,
|
|
25067
25063
|
ma as ViewSheetPermissionFromSheetBarCommand,
|
|
25068
25064
|
Vs as attachPrimaryWithCoord,
|
|
25069
25065
|
oo as attachRangeWithCoord,
|
|
@@ -25096,12 +25092,12 @@ export {
|
|
|
25096
25092
|
Zy as isEmbeddingFormulaEditor,
|
|
25097
25093
|
Dw as isRangeSelector,
|
|
25098
25094
|
rh as mergeSetRangeValues,
|
|
25099
|
-
|
|
25095
|
+
Pr as useActiveWorkbook,
|
|
25100
25096
|
Ly as useActiveWorksheet,
|
|
25101
25097
|
Ub as useHighlightRange,
|
|
25102
25098
|
Em as useKeyEventConfig,
|
|
25103
25099
|
Wy as useWorkbooks,
|
|
25104
|
-
|
|
25100
|
+
wr as virtualizeDiscreteRanges,
|
|
25105
25101
|
Xy as whenFormulaEditorActivated,
|
|
25106
25102
|
Oe as whenSheetEditorFocused
|
|
25107
25103
|
};
|