@univerjs/sheets-ui 0.2.4-alpha.0 → 0.2.4
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 +11 -11
- package/lib/es/index.js +130 -130
- package/lib/types/commands/commands/__tests__/create-command-test-bed.d.ts +2 -1
- package/lib/types/commands/commands/__tests__/create-selection-command-test-bed.d.ts +12 -12
- package/lib/types/common/utils.d.ts +2 -1
- package/lib/types/controllers/auto-fill.controller.d.ts +2 -1
- package/lib/types/controllers/auto-height.controller.d.ts +2 -1
- package/lib/types/controllers/clipboard/clipboard.controller.d.ts +2 -1
- package/lib/types/controllers/clipboard/utils.d.ts +2 -1
- package/lib/types/controllers/editor/__tests__/create-test-bed.d.ts +2 -1
- package/lib/types/controllers/format-painter/format-painter.controller.d.ts +2 -1
- package/lib/types/controllers/menu/__tests__/create-menu-test-bed.d.ts +6 -6
- package/lib/types/controllers/menu/border.menu.d.ts +1 -1
- package/lib/types/controllers/menu/clear.menu.d.ts +1 -1
- package/lib/types/controllers/menu/delete.menu.d.ts +1 -1
- package/lib/types/controllers/menu/insert.menu.d.ts +1 -1
- package/lib/types/controllers/menu/menu-util.d.ts +2 -1
- package/lib/types/controllers/menu/menu.d.ts +2 -1
- package/lib/types/controllers/menu/merge.menu.d.ts +1 -1
- package/lib/types/controllers/menu/permission-menu-util.d.ts +1 -1
- package/lib/types/controllers/menu/permission.menu.d.ts +1 -1
- package/lib/types/controllers/menu/sheet.menu.d.ts +1 -1
- package/lib/types/controllers/mobile/mobile-sheet-ui.controller.d.ts +2 -1
- package/lib/types/controllers/permission/sheet-permission-interceptor-formula-render.controller.d.ts +2 -1
- package/lib/types/controllers/permission/sheet-permission-render.controller.d.ts +2 -1
- package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +2 -1
- package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +2 -1
- package/lib/types/controllers/sheet-ui.controller.d.ts +2 -1
- package/lib/types/controllers/utils/range-tools.d.ts +2 -1
- package/lib/types/controllers/utils/selections-tools.d.ts +2 -1
- package/lib/types/mobile-sheets-ui-plugin.d.ts +2 -1
- package/lib/types/services/auto-fill/auto-fill.service.d.ts +3 -2
- package/lib/types/services/auto-fill/type.d.ts +2 -1
- package/lib/types/services/canvas-pop-manager.service.d.ts +2 -1
- package/lib/types/services/cell-alert-manager.service.d.ts +1 -1
- package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +8 -7
- package/lib/types/services/clipboard/clipboard.service.d.ts +3 -2
- package/lib/types/services/editor/cell-editor-manager.service.d.ts +3 -2
- package/lib/types/services/editor/formula-editor-manager.service.d.ts +3 -2
- package/lib/types/services/editor-bridge.service.d.ts +3 -2
- package/lib/types/services/format-painter/format-painter.service.d.ts +1 -1
- package/lib/types/services/mark-selection/mark-selection.service.d.ts +1 -1
- package/lib/types/services/permission/worksheet-permission-render.service.d.ts +1 -1
- package/lib/types/services/selection/base-selection-render.service.d.ts +3 -2
- package/lib/types/services/selection/mobile-selection-render.service.d.ts +2 -1
- package/lib/types/services/selection/selection-render.service.d.ts +2 -1
- package/lib/types/services/selection/selection-shape-extension.d.ts +2 -1
- package/lib/types/services/sheet-bar/sheet-bar.service.d.ts +3 -2
- package/lib/types/services/sheet-skeleton-manager.service.d.ts +2 -1
- package/lib/types/services/sheets-render.service.d.ts +2 -1
- package/lib/types/services/shortcut-experience.service.d.ts +2 -1
- package/lib/types/services/status-bar.service.d.ts +3 -2
- package/lib/types/sheets-ui-plugin.d.ts +2 -1
- package/lib/types/views/status-bar/CopyableStatisticItem.d.ts +1 -1
- package/lib/umd/index.js +11 -11
- package/package.json +22 -20
package/lib/es/index.js
CHANGED
|
@@ -2,19 +2,21 @@ var Zm = Object.defineProperty;
|
|
|
2
2
|
var Gm = (s, e, t) => e in s ? Zm(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
|
|
3
3
|
var w = (s, e, t) => Gm(s, typeof e != "symbol" ? e + "" : e, t);
|
|
4
4
|
import { DOCS_VIEW_KEY as qm, SetInlineFormatBoldCommand as Qm, SetInlineFormatItalicCommand as Km, SetInlineFormatUnderlineCommand as Jm, SetInlineFormatStrikethroughCommand as $m, SetInlineFormatSubscriptCommand as eg, SetInlineFormatSuperscriptCommand as tg, SetInlineFormatFontSizeCommand as ng, SetInlineFormatFontFamilyCommand as sg, SetInlineFormatTextColorCommand as ig, SetTextSelectionsOperation as io, SetInlineFormatCommand as oo, TextSelectionManagerService as _a, CoverContentCommand as og, RichTextEditingMutation as Ou, DocSkeletonManagerService as bs, VIEWPORT_KEY as Nl, BreakLineCommand as rg, DeleteLeftCommand as lg, DOCS_COMPONENT_MAIN_LAYER_INDEX as ag, MoveSelectionOperation as cg, MoveCursorOperation as dg, IMEInputCommand as ug, InsertCommand as hg } from "@univerjs/docs";
|
|
5
|
-
import { Disposable as ue,
|
|
6
|
-
import { SpreadsheetSkeleton as yg, IRenderManagerService as Oe, Vector2 as xe, SHEET_VIEWPORT_KEY as q, RENDER_RAW_FORMULA_KEY as Pg, Spreadsheet as
|
|
7
|
-
import { getSheetCommandTarget as Pe, alignToMergedCellsBorders as dn, getSelectionsService as lo, getCellAtRowCol as
|
|
5
|
+
import { Disposable as ue, CommandType as J, IUniverInstanceService as B, ICommandService as L, UniverInstanceType as x, LocaleService as Te, Direction as D, Rectangle as re, getReverseDirection as Au, RANGE_TYPE as j, Tools as _e, Workbook as fg, toDisposable as ve, UserManagerService as It, IContextService as je, FOCUSING_COMMON_DRAWINGS as Mr, IPermissionService as it, RxDisposable as Cn, OnLifecycle as ze, LifecycleStages as Ye, ObjectMatrix as Je, CellValueType as Hn, IUndoRedoService as ut, createInterceptorKey as Yt, makeCellToSelection as ba, ColorKit as Vn, InterceptorManager as ds, DOCS_NORMAL_EDITOR_UNIT_ID_KEY as Nt, FOCUSING_EDITOR_STANDALONE as Er, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE as Nu, ThemeService as kt, DisposableCollection as _t, getCellInfoInMergeData as Hu, sortRules as mg, FOCUSING_SHEET as Wt, FOCUSING_UNIVER_EDITOR as us, EDITOR_ACTIVATED as Qe, FOCUSING_EDITOR_INPUT_FORMULA as wa, FOCUSING_FORMULA_EDITOR as An, LRUMap as gg, BaselineOffset as fd, BooleanNumber as qe, DataStreamTreeTokenType as pg, skipParseTagNames as Sg, ErrorService as vg, extractPureTextFromCell as Vu, ILogService as xr, HorizontalAlign as Jn, VerticalAlign as $n, WrapStrategy as es, FontWeight as Oo, FontItalic as Ao, DEFAULT_STYLES as Ra, Range as zo, cellToRange as Cg, convertBodyToHtml as _g, handleStyleToString as md, DEFAULT_WORKSHEET_ROW_HEIGHT as No, DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY as gd, DEFAULT_WORKSHEET_COLUMN_WIDTH as pd, isFormulaString as Lu, IConfigService as bg, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY as De, FOCUSING_EDITOR_BUT_HIDDEN as Hl, DEFAULT_EMPTY_DOCUMENT_VALUE as Or, IResourceLoaderService as wg, sequenceExecute as Du, Dimension as ku, BorderStyleTypes as we, DocumentFlavor as Wu, nameCharacterCheck as Rg, debounce as Bu, createInternalEditorID as Vl, AbsoluteRefType as Sd, NilCommand as Ia, isRealNum as Uu, isICellData as ju, IAuthzIoService as ro, isValidRange as Ig, Plugin as Fu, DependentOn as Xu } from "@univerjs/core";
|
|
6
|
+
import { SpreadsheetSkeleton as yg, IRenderManagerService as Oe, Vector2 as xe, SHEET_VIEWPORT_KEY as q, RENDER_RAW_FORMULA_KEY as Pg, Spreadsheet as zu, Rect as he, DashedRect as Tg, Group as nl, TRANSFORM_CHANGE_OBSERVABLE_TYPE as Yu, cancelRequestFrame as Mg, requestNewFrame as Eg, FIX_ONE_PIXEL_BLUR_OFFSET as Kn, CURSOR_TYPE as me, ScrollTimer as Ms, ScrollTimerType as Ct, isRectIntersect as xg, DeviceInputEventType as Ge, getCanvasOffsetByEngine as Og, convertTextRotation as Ll, DEFAULT_PADDING_DATA as Ag, ptToPx as vd, ITextSelectionRenderManager as ya, ScrollBar as Pa, fixLineWidthByScale as Cd, Shape as Ta, RegularPolygon as fi, hasCJKText as Ng, Layer as _d, SpreadsheetRowHeader as Hg, SpreadsheetColumnHeader as Vg, Viewport as on, PointerInput as bd, RENDER_CLASS_TYPE as sl, SheetExtension as Zu } from "@univerjs/engine-render";
|
|
7
|
+
import { getSheetCommandTarget as Pe, alignToMergedCellsBorders as dn, getSelectionsService as lo, getCellAtRowCol as Dl, SetSelectionsOperation as Ae, ScrollToCellOperation as Ma, SheetsSelectionsService as ie, RangeProtectionRuleModel as Ne, WorksheetProtectionRuleModel as nt, WorkbookEditablePermission as Z, WorkbookManageCollaboratorPermission as Zt, generateNullCellValue as Lg, SetRangeValuesUndoMutationFactory as en, SetRangeValuesMutation as Ce, SELECTION_CONTROL_BORDER_BUFFER_COLOR as Ho, getNormalSelectionStyle as Vs, SELECTION_CONTROL_BORDER_BUFFER_WIDTH as er, transformCellDataToSelectionData as Dg, IRefSelectionsService as kg, SetRangeValuesCommand as ao, SetWorksheetActiveOperation as $e, MoveRangeMutation as Ls, RemoveRowMutation as Gu, RemoveColMutation as qu, InsertRowMutation as Ea, InsertColMutation as xa, MoveRowsMutation as Qu, MoveColsMutation as Ku, SetWorksheetColWidthMutation as ts, SetWorksheetRowHeightMutation as tr, RemoveSheetMutation as gn, RemoveMergeUndoMutationFactory as Ar, RemoveWorksheetMergeMutation as Ft, AddWorksheetMergeMutation as Xt, getAddMergeMutationRangeByType as Nr, AddMergeUndoMutationFactory as Hr, getPrimaryForRange as Ju, SetRowHiddenCommand as $u, SetColHiddenCommand as eh, SetBoldCommand as Oa, SetItalicCommand as Aa, SetUnderlineCommand as Na, SetStrikeThroughCommand as Ha, SetFontSizeCommand as Va, SetFontFamilyCommand as La, SetTextColorCommand as Wg, SetFrozenMutationFactory as Da, SetFrozenMutation as un, WorksheetCopyPermission as ka, WorksheetEditPermission as ne, RangeProtectionPermissionEditPoint as oe, WorksheetSetCellStylePermission as We, ResetTextColorCommand as Bg, ResetBackgroundColorCommand as Ug, SetBackgroundColorCommand as nr, SetHorizontalTextAlignCommand as wd, SetVerticalTextAlignCommand as Rd, SetTextWrapCommand as Id, SetTextRotationCommand as yd, WorkbookCopyPermission as kl, RangeProtectionPermissionViewPoint as th, WorksheetSetCellValuePermission as Vt, WorksheetSetColumnStylePermission as hn, WorksheetSetRowStylePermission as $t, SetWorksheetRowIsAutoHeightCommand as Vr, SetRowHiddenMutation as Wa, SetRowVisibleMutation as Ba, SetSelectedRowsVisibleCommand as nh, SetColHiddenMutation as Ua, SetColVisibleMutation as ja, SetSelectedColsVisibleCommand as sh, SetRowHeightCommand as ih, SetWorksheetRowIsAutoHeightMutation as oh, SetColWidthCommand as rh, DISABLE_NORMAL_SELECTIONS as sr, SelectionMoveType as Es, convertSelectionDataToRange as lh, SetWorksheetHideMutation as Ln, InsertSheetMutation as hs, SetWorksheetRowAutoHeightMutationFactory as jg, SetWorksheetRowAutoHeightMutation as ir, SetStyleCommand as Fg, SheetInterceptorService as Ys, MoveRangeCommand as Fa, MAX_CELL_PER_SHEET_KEY as Xg, ClearSelectionFormatCommand as ah, SetWorksheetActivateCommand as Xa, SetFrozenCommand as zg, InsertRangeMoveDownCommand as or, InsertRangeMoveRightCommand as rr, InsertRowCommand as Yg, InsertColCommand as Zg, MoveColsCommand as za, MoveRowsCommand as Ya, RemoveColCommand as ch, RemoveRowCommand as dh, DeltaRowHeightCommand as uh, DeltaColumnWidthCommand as hh, SetSpecificRowsVisibleCommand as fh, SetSpecificColsVisibleCommand as mh, AddMergeRedoSelectionsOperationFactory as Gg, AddMergeUndoSelectionsOperationFactory as qg, DeleteRangeMoveLeftCommand as Wl, DeleteRangeMoveUpCommand as Bl, RemoveSheetCommand as Qg, BorderStyleManagerService as Ul, SetWorksheetOrderMutation as Za, SetWorksheetNameMutation as Lr, SetWorksheetShowCommand as gh, SetWorksheetNameCommand as ph, SetWorksheetOrderCommand as Sh, WorkbookRenameSheetPermission as Ga, SetTabColorMutation as Kg, WorkbookCreateSheetPermission as vh, InsertSheetCommand as Jg, InsertDefinedNameCommand as $g, SetDefinedNameCommand as ep, RemoveDefinedNameCommand as tp, AddWorksheetProtectionMutation as Ui, DeleteWorksheetProtectionMutation as ji, SetWorksheetProtectionMutation as _i, AddRangeProtectionMutation as Ds, DeleteRangeProtectionMutation as ls, SetRangeProtectionMutation as bi, ClearSelectionContentCommand as qa, ClearSelectionAllCommand as np, WorksheetDeleteColumnPermission as sp, WorksheetDeleteRowPermission as ip, WorksheetInsertColumnPermission as Dr, WorksheetInsertRowPermission as Qa, InsertRowBeforeCommand as op, InsertRowAfterCommand as rp, InsertColBeforeCommand as lp, InsertColAfterCommand as ap, CopySheetCommand as cp, SetTabColorCommand as dp, SetWorksheetHideCommand as up, WorkbookDeleteSheetPermission as hp, WorkbookHideSheetPermission as Ka, SetBorderBasicCommand as Pd, RemoveWorksheetMergeCommand as fp, INumfmtService as mp, COMMAND_LISTENER_SKELETON_CHANGE as Ja, COMMAND_LISTENER_VALUE_CHANGE as gp, RefRangeService as pp, INTERCEPTOR_POINT as jl, WorkbookMoveSheetPermission as Sp, WorksheetViewPermission as $a, getAllRangePermissionPoint as il, getAllWorksheetPermissionPointByPointPanel as si, defaultWorkbookPermissionPoints as vp, getAllWorkbookPermissionPoint as Td, getAllWorksheetPermissionPoint as mi, defaultWorksheetPermissionPoint as Md, WorksheetProtectionPointModel as Ch, RangeProtectionRenderModel as _h, setEndForRange as Cp, DeleteRangeProtectionCommand as _p, AddRangeProtectionCommand as bp, SetWorksheetPermissionPointsCommand as wp, UniverSheetsPlugin as bh } from "@univerjs/sheets";
|
|
8
|
+
import { Inject as H, Injector as vt, createIdentifier as nn, Quantity as Fl, Optional as wh } from "@wendellhu/redi";
|
|
8
9
|
import { BehaviorSubject as He, switchMap as Be, of as Ie, combineLatest as tt, startWith as zt, map as ge, takeUntil as At, distinctUntilChanged as Zs, Subject as rt, Observable as et, combineLatestWith as Un, filter as Rh, Subscription as Nn, merge as Bt, EMPTY as Ed, throttleTime as Rp } from "rxjs";
|
|
9
|
-
import { KeyCode as $, IEditorService as kr, DEFAULT_BACKGROUND_COLOR_RGB as Ip, DEFAULT_BACKGROUND_COLOR_RGBA as yp, handleStringToStyle as Pp, textTrim as ws, PLAIN_TEXT_CLIPBOARD_MIME_TYPE as xd, HTML_CLIPBOARD_MIME_TYPE as Od, IClipboardInterfaceService as Wr, INotificationService as Tp, IPlatformService as Mp, CopyCommand as Ih, CutCommand as Ep, PasteCommand as yh, IConfirmService as Gt, MenuGroup as fe, MenuItemType as ee, MenuPosition as Ve, getMenuHiddenObservable as le, FONT_FAMILY_LIST as xp, FONT_SIZE_LIST as Op, useObservable as dt, IShortcutService as Br, IMessageService as Ph, SetEditorResizeOperation as Th, MetaKeys as be, IContextMenuService as ec, ComponentManager as co, DISABLE_AUTO_FOCUS_KEY as Ad, TextEditor as tc, ISidebarService as Gs, ProgressBar as Ap, Menu as Np, RangeSelector as Mh, IDialogService as fs, FontFamily as Eh, FontFamilyItem as xh, FontSize as Oh, BuiltInUIPart as
|
|
10
|
-
import fn from "@univerjs/engine-numfmt";
|
|
10
|
+
import { KeyCode as $, IEditorService as kr, DEFAULT_BACKGROUND_COLOR_RGB as Ip, DEFAULT_BACKGROUND_COLOR_RGBA as yp, handleStringToStyle as Pp, textTrim as ws, PLAIN_TEXT_CLIPBOARD_MIME_TYPE as xd, HTML_CLIPBOARD_MIME_TYPE as Od, IClipboardInterfaceService as Wr, INotificationService as Tp, IPlatformService as Mp, CopyCommand as Ih, CutCommand as Ep, PasteCommand as yh, IConfirmService as Gt, MenuGroup as fe, MenuItemType as ee, MenuPosition as Ve, getMenuHiddenObservable as le, FONT_FAMILY_LIST as xp, FONT_SIZE_LIST as Op, useObservable as dt, IShortcutService as Br, IMessageService as Ph, SetEditorResizeOperation as Th, MetaKeys as be, IContextMenuService as ec, ComponentManager as co, DISABLE_AUTO_FOCUS_KEY as Ad, TextEditor as tc, ISidebarService as Gs, ProgressBar as Ap, Menu as Np, RangeSelector as Mh, IDialogService as fs, FontFamily as Eh, FontFamilyItem as xh, FontSize as Oh, BuiltInUIPart as Yo, ILayoutService as nc, IMenuService as sc, IUIPartsService as Ah, ICanvasPopupService as Hp, IRangeSelectorService as Vp, UniverMobileUIPlugin as Lp } from "@univerjs/ui";
|
|
11
|
+
import { numfmt as fn } from "@univerjs/engine-numfmt";
|
|
11
12
|
import { PastePluginWord as Dp, PastePluginLark as kp, PastePluginUniver as Wp } from "@univerjs/docs-ui";
|
|
13
|
+
import { useDependency as F, connectInjector as Zo } from "@wendellhu/redi/react-bindings";
|
|
12
14
|
import { filter as Nh } from "rxjs/operators";
|
|
13
15
|
import { InputNumber as Bp, MessageType as Hh, Dropdown as ks, ColorPicker as ic, Menu as Up, MenuItem as jp, Slider as Fp, Input as Fi, Tooltip as xn, RadioGroup as Xl, Radio as Rs, Select as Vh, Button as tn, Confirm as Xp, FormLayout as Vo, Avatar as oc, Switch as zp } from "@univerjs/design";
|
|
14
16
|
import { LexerTreeBuilder as rc, matchToken as Yp, IDefinedNamesService as qs, FUNCTION_NAMES_STATISTICAL as Xe, FUNCTION_NAMES_MATH as lc, FUNCTION_NAMES_TEXT as Zp, IFunctionService as Lh, operatorToken as En, isReferenceStrings as Dh, isReferenceStringWithEffectiveColumn as Gp, serializeRangeToRefString as qp, serializeRangeWithSheet as Qp, RangeReferenceObject as Kp, convertUnitDataToRuntime as Jp, FormulaDataModel as $p, deserializeRangeWithSheet as zl, serializeRange as gi, NullValueObject as Nd } from "@univerjs/engine-formula";
|
|
15
17
|
import Ws, { useState as ce, useEffect as Se, forwardRef as ht, useRef as Yl, createElement as lt, useCallback as Dn, useLayoutEffect as eS, useMemo as tS } from "react";
|
|
16
18
|
import Ke from "clsx";
|
|
17
|
-
const
|
|
19
|
+
const zP = "SheetUI";
|
|
18
20
|
var nS = /* @__PURE__ */ ((s) => (s.FILTER_PANEL_EMBED_POINT = "filter-panel-embed-point", s))(nS || {});
|
|
19
21
|
function kh(s, e) {
|
|
20
22
|
if (s == null)
|
|
@@ -380,7 +382,7 @@ const kn = {
|
|
|
380
382
|
const t = s.get(B);
|
|
381
383
|
return s.get(Oe).getRenderById(t.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId()).with(zi).scrollToRange(e.range);
|
|
382
384
|
}
|
|
383
|
-
},
|
|
385
|
+
}, YP = {
|
|
384
386
|
id: "sheet.command.scroll-view-reset",
|
|
385
387
|
type: J.COMMAND,
|
|
386
388
|
handler: async (s) => {
|
|
@@ -877,7 +879,7 @@ const Mt = {
|
|
|
877
879
|
const { workbook: n, worksheet: i } = t, o = lo(s).getCurrentLastSelection();
|
|
878
880
|
if (!o)
|
|
879
881
|
return !1;
|
|
880
|
-
const { direction: r, jumpOver: l } = e, { range: a, primary: c } = o, d = Zl(a, c, r), u = l === 1 ? ac(d, r, i) : On(d, r, i), h =
|
|
882
|
+
const { direction: r, jumpOver: l } = e, { range: a, primary: c } = o, d = Zl(a, c, r), u = l === 1 ? ac(d, r, i) : On(d, r, i), h = Dl(u.startRow, u.startColumn, i);
|
|
881
883
|
return re.equals(h, d) ? !1 : (s.get(Bs).remove({
|
|
882
884
|
unitId: n.getUnitId(),
|
|
883
885
|
sheetId: i.getSheetId(),
|
|
@@ -945,7 +947,7 @@ const Mt = {
|
|
|
945
947
|
keycode: $.TAB
|
|
946
948
|
});
|
|
947
949
|
}
|
|
948
|
-
const _ = On(h, a, i), R =
|
|
950
|
+
const _ = On(h, a, i), R = Dl(_.startRow, _.startColumn, i);
|
|
949
951
|
if (re.equals(R, h))
|
|
950
952
|
return !1;
|
|
951
953
|
g = {
|
|
@@ -982,7 +984,7 @@ const Mt = {
|
|
|
982
984
|
startColumn: C,
|
|
983
985
|
endColumn: b
|
|
984
986
|
}
|
|
985
|
-
), I =
|
|
987
|
+
), I = Dl(R.startRow, R.startColumn, i);
|
|
986
988
|
g = {
|
|
987
989
|
range: re.clone(d),
|
|
988
990
|
primary: {
|
|
@@ -1616,7 +1618,7 @@ let ss = class extends Cn {
|
|
|
1616
1618
|
_initContextListener() {
|
|
1617
1619
|
this._contextService.subscribeContextValue$(Pg).pipe(Zs(), At(this.dispose$)).subscribe(() => {
|
|
1618
1620
|
this._renderManagerService.getRenderAll().forEach((e) => {
|
|
1619
|
-
e.mainComponent instanceof
|
|
1621
|
+
e.mainComponent instanceof zu && e.mainComponent.makeForceDirty(!0);
|
|
1620
1622
|
});
|
|
1621
1623
|
});
|
|
1622
1624
|
}
|
|
@@ -1983,7 +1985,7 @@ function jd(s, e, t, n) {
|
|
|
1983
1985
|
}
|
|
1984
1986
|
return o;
|
|
1985
1987
|
}
|
|
1986
|
-
function
|
|
1988
|
+
function ZP(s, e) {
|
|
1987
1989
|
const t = [];
|
|
1988
1990
|
let n;
|
|
1989
1991
|
if (e.startRow < s.startRow)
|
|
@@ -3035,7 +3037,7 @@ class uc extends ue {
|
|
|
3035
3037
|
i.addObject(this._selectionShapeGroup, Xh), this.disposeWithMe(
|
|
3036
3038
|
ve(
|
|
3037
3039
|
i.onTransformChange$.subscribeEvent((o) => {
|
|
3038
|
-
o.type ===
|
|
3040
|
+
o.type === Yu.scale && this._updateControl(this._currentStyle, this._rowHeaderWidth, this._columnHeaderHeight);
|
|
3039
3041
|
})
|
|
3040
3042
|
)
|
|
3041
3043
|
), this._initialTitle();
|
|
@@ -3288,7 +3290,7 @@ class sv {
|
|
|
3288
3290
|
[e, t, n, i].forEach((o) => {
|
|
3289
3291
|
o.onPointerDown$.subscribeEvent(() => {
|
|
3290
3292
|
var l;
|
|
3291
|
-
((l = this._injector.get(St,
|
|
3293
|
+
((l = this._injector.get(St, Fl.OPTIONAL)) == null ? void 0 : l.interceptor.fetchThroughInterceptors(Ql)(!1, null)) !== !1 && o.setCursor(me.MOVE);
|
|
3292
3294
|
}), o.onPointerLeave$.subscribeEvent(() => {
|
|
3293
3295
|
o.resetCursor();
|
|
3294
3296
|
}), o.onPointerDown$.subscribeEvent(this._controlEvent.bind(this));
|
|
@@ -3354,7 +3356,7 @@ class sv {
|
|
|
3354
3356
|
y.startScroll(r, l, I), this._scrollTimer = y, i.disableEvent(), this._scenePointerMoveSub = i.onPointerMove$.subscribeEvent((P) => {
|
|
3355
3357
|
var A;
|
|
3356
3358
|
const { offsetX: T, offsetY: E } = P;
|
|
3357
|
-
if (((A = this._injector.get(St,
|
|
3359
|
+
if (((A = this._injector.get(St, Fl.OPTIONAL)) == null ? void 0 : A.interceptor.fetchThroughInterceptors(Ql)(!1, null)) === !1)
|
|
3358
3360
|
return;
|
|
3359
3361
|
const { x: O, y: V } = i.getRelativeToViewportCoord(
|
|
3360
3362
|
xe.FromArray([T, E])
|
|
@@ -4300,7 +4302,7 @@ let Jl = class extends ue {
|
|
|
4300
4302
|
if (M != null && (M.cellValueType = Hn.STRING), !E || E.documentModel == null) {
|
|
4301
4303
|
const G = n.getBlankCellDocumentModel(T);
|
|
4302
4304
|
if (E != null) {
|
|
4303
|
-
const { verticalAlign: Q, horizontalAlign: z, wrapStrategy: k, textRotation: X, fill: U } = E, { centerAngle: K, vertexAngle: N } =
|
|
4305
|
+
const { verticalAlign: Q, horizontalAlign: z, wrapStrategy: k, textRotation: X, fill: U } = E, { centerAngle: K, vertexAngle: N } = Ll(X);
|
|
4304
4306
|
G.documentModel.documentStyle.renderConfig = {
|
|
4305
4307
|
verticalAlign: Q,
|
|
4306
4308
|
horizontalAlign: z,
|
|
@@ -4525,12 +4527,12 @@ let qo = class extends ue {
|
|
|
4525
4527
|
Sn.id,
|
|
4526
4528
|
$e.id,
|
|
4527
4529
|
Ls.id,
|
|
4530
|
+
Gu.id,
|
|
4528
4531
|
qu.id,
|
|
4529
|
-
Qu.id,
|
|
4530
4532
|
Ea.id,
|
|
4531
4533
|
xa.id,
|
|
4534
|
+
Qu.id,
|
|
4532
4535
|
Ku.id,
|
|
4533
|
-
Ju.id,
|
|
4534
4536
|
ts.id,
|
|
4535
4537
|
tr.id
|
|
4536
4538
|
];
|
|
@@ -5150,7 +5152,7 @@ function _v(s) {
|
|
|
5150
5152
|
function $h(s) {
|
|
5151
5153
|
return s.getContextValue(An) && s.getContextValue(us);
|
|
5152
5154
|
}
|
|
5153
|
-
function
|
|
5155
|
+
function GP(s) {
|
|
5154
5156
|
return s.getContextValue(Wt) && s.getContextValue(Qe) && s.getContextValue(wa) && s.getContextValue(us);
|
|
5155
5157
|
}
|
|
5156
5158
|
function Gi(s) {
|
|
@@ -5826,7 +5828,7 @@ class Bv {
|
|
|
5826
5828
|
<tbody>${l.join("")}</tbody></table>`;
|
|
5827
5829
|
}
|
|
5828
5830
|
}
|
|
5829
|
-
const
|
|
5831
|
+
const qP = (s, e, t = !1) => {
|
|
5830
5832
|
const n = (u) => u.endRow - u.startRow + 1, i = (u) => u.endColumn - u.startColumn + 1, o = n(e) % n(s), r = i(e) % i(s), l = {
|
|
5831
5833
|
startRow: 0,
|
|
5832
5834
|
endRow: n(s) - 1,
|
|
@@ -6275,7 +6277,7 @@ let ur = class extends ue {
|
|
|
6275
6277
|
const o = (C = this._univerInstanceService.getUniverSheetInstance(e)) == null ? void 0 : C.getSheetBySheetId(t);
|
|
6276
6278
|
if (!o)
|
|
6277
6279
|
return null;
|
|
6278
|
-
const { rows: r, cols: l } = n, a = r[0], c = l[0], d = r[r.length - 1], u = l[l.length - 1], f =
|
|
6280
|
+
const { rows: r, cols: l } = n, a = r[0], c = l[0], d = r[r.length - 1], u = l[l.length - 1], f = Ju({
|
|
6279
6281
|
startRow: a,
|
|
6280
6282
|
endRow: a,
|
|
6281
6283
|
startColumn: c,
|
|
@@ -6646,7 +6648,7 @@ const Sc = 998, nf = {
|
|
|
6646
6648
|
confirmText: d.t("button.confirm")
|
|
6647
6649
|
}), !1;
|
|
6648
6650
|
}
|
|
6649
|
-
return await n.executeCommand(
|
|
6651
|
+
return await n.executeCommand($u.id), !0;
|
|
6650
6652
|
}
|
|
6651
6653
|
}, _c = {
|
|
6652
6654
|
id: "sheet.command.hide-col-confirm",
|
|
@@ -6671,7 +6673,7 @@ const Sc = 998, nf = {
|
|
|
6671
6673
|
confirmText: d.t("button.confirm")
|
|
6672
6674
|
}), !1;
|
|
6673
6675
|
}
|
|
6674
|
-
return await n.executeCommand(
|
|
6676
|
+
return await n.executeCommand(eh.id), !0;
|
|
6675
6677
|
}
|
|
6676
6678
|
}, po = {
|
|
6677
6679
|
type: J.COMMAND,
|
|
@@ -7582,7 +7584,7 @@ function ff(s) {
|
|
|
7582
7584
|
"ROW_HEADER_CONTEXT_MENU"
|
|
7583
7585
|
/* ROW_HEADER_CONTEXT_MENU */
|
|
7584
7586
|
],
|
|
7585
|
-
disabled$: ae(s, { workbookTypes: [
|
|
7587
|
+
disabled$: ae(s, { workbookTypes: [kl], worksheetTypes: [ka], rangeTypes: [th] }),
|
|
7586
7588
|
hidden$: le(s, x.UNIVER_SHEET)
|
|
7587
7589
|
};
|
|
7588
7590
|
}
|
|
@@ -7794,7 +7796,7 @@ function BC(s) {
|
|
|
7794
7796
|
function UC(s) {
|
|
7795
7797
|
const e = s.get(B), t = s.get(ie), n = s.get(L), i = [Ae, Wa, Ba].map((o) => o.id);
|
|
7796
7798
|
return {
|
|
7797
|
-
id:
|
|
7799
|
+
id: nh.id,
|
|
7798
7800
|
group: fe.CONTEXT_MENU_LAYOUT,
|
|
7799
7801
|
type: ee.BUTTON,
|
|
7800
7802
|
positions: [
|
|
@@ -7823,7 +7825,7 @@ function UC(s) {
|
|
|
7823
7825
|
function jC(s) {
|
|
7824
7826
|
const e = s.get(B), t = s.get(ie), n = s.get(L), i = [Ae, Ua, ja].map((o) => o.id);
|
|
7825
7827
|
return {
|
|
7826
|
-
id:
|
|
7828
|
+
id: sh.id,
|
|
7827
7829
|
group: fe.CONTEXT_MENU_LAYOUT,
|
|
7828
7830
|
type: ee.BUTTON,
|
|
7829
7831
|
positions: [
|
|
@@ -7852,7 +7854,7 @@ function jC(s) {
|
|
|
7852
7854
|
function FC(s) {
|
|
7853
7855
|
const e = s.get(L), t = s.get(B), n = s.get(ie), i = 0;
|
|
7854
7856
|
return {
|
|
7855
|
-
id:
|
|
7857
|
+
id: ih.id,
|
|
7856
7858
|
group: fe.CONTEXT_MENU_LAYOUT,
|
|
7857
7859
|
type: ee.BUTTON,
|
|
7858
7860
|
icon: "AdjustHeight",
|
|
@@ -7877,7 +7879,7 @@ function FC(s) {
|
|
|
7877
7879
|
}
|
|
7878
7880
|
const a = e.onCommandExecuted((c) => {
|
|
7879
7881
|
const d = c.id;
|
|
7880
|
-
if (d === Ce.id || d === Ae.id || d ===
|
|
7882
|
+
if (d === Ce.id || d === Ae.id || d === oh.id)
|
|
7881
7883
|
return l();
|
|
7882
7884
|
});
|
|
7883
7885
|
return l(), a.dispose;
|
|
@@ -7888,7 +7890,7 @@ function FC(s) {
|
|
|
7888
7890
|
function XC(s) {
|
|
7889
7891
|
const e = s.get(L), t = s.get(B), n = s.get(ie), i = 0;
|
|
7890
7892
|
return {
|
|
7891
|
-
id:
|
|
7893
|
+
id: rh.id,
|
|
7892
7894
|
group: fe.CONTEXT_MENU_LAYOUT,
|
|
7893
7895
|
type: ee.BUTTON,
|
|
7894
7896
|
icon: "AdjustWidth",
|
|
@@ -7963,7 +7965,7 @@ function $s() {
|
|
|
7963
7965
|
const s = F(B), e = dt(() => s.getCurrentTypeOfUnit$(x.UNIVER_SHEET), void 0, void 0, []);
|
|
7964
7966
|
return e != null ? e : null;
|
|
7965
7967
|
}
|
|
7966
|
-
function
|
|
7968
|
+
function QP(s) {
|
|
7967
7969
|
return dt(() => {
|
|
7968
7970
|
var t;
|
|
7969
7971
|
return (t = s == null ? void 0 : s.activeSheet$) != null ? t : Ie(null);
|
|
@@ -8127,7 +8129,7 @@ let ea = class extends Qh {
|
|
|
8127
8129
|
subUnitId: o,
|
|
8128
8130
|
type: t,
|
|
8129
8131
|
selections: e.map(
|
|
8130
|
-
(r) =>
|
|
8132
|
+
(r) => lh(r)
|
|
8131
8133
|
)
|
|
8132
8134
|
});
|
|
8133
8135
|
}
|
|
@@ -9098,7 +9100,7 @@ Ei = a1([
|
|
|
9098
9100
|
Qt(6, jn),
|
|
9099
9101
|
Qt(7, Ph),
|
|
9100
9102
|
Qt(8, H(Te)),
|
|
9101
|
-
Qt(9,
|
|
9103
|
+
Qt(9, wh(ya))
|
|
9102
9104
|
], Ei);
|
|
9103
9105
|
var c1 = Object.defineProperty, d1 = Object.getOwnPropertyDescriptor, u1 = (s, e, t, n) => {
|
|
9104
9106
|
for (var i = n > 1 ? void 0 : n ? d1(e, t) : e, o = s.length - 1, r; o >= 0; o--)
|
|
@@ -9134,7 +9136,7 @@ let Qo = class extends Cn {
|
|
|
9134
9136
|
_listenFxBtnClick() {
|
|
9135
9137
|
this._formulaEditorManagerService.fxBtnClick$.pipe(At(this.dispose$)).subscribe(() => {
|
|
9136
9138
|
var t, n;
|
|
9137
|
-
if (this._contextService.getContextValue(
|
|
9139
|
+
if (this._contextService.getContextValue(Hl) && !this._contextService.getContextValue(Qe)) {
|
|
9138
9140
|
this._univerInstanceService.setCurrentUnitForType(De), this._contextService.setContextValue(An, !0);
|
|
9139
9141
|
const i = this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET), o = this._univerInstanceService.getUniverDocInstance(
|
|
9140
9142
|
De
|
|
@@ -9526,8 +9528,8 @@ let na = class extends ue {
|
|
|
9526
9528
|
const { position: n, documentLayoutObject: i, scaleX: o, editorUnitId: r } = t;
|
|
9527
9529
|
if (this._contextService.getContextValue(Er) || this._contextService.getContextValue(Nu))
|
|
9528
9530
|
return;
|
|
9529
|
-
const { startX: l, endX: a } = n, { textRotation: c, wrapStrategy: d, documentModel: u } = i, { vertexAngle: h } =
|
|
9530
|
-
u.updateDocumentId(r), d === es.WRAP && h === 0 && u.updateDocumentDataPageSize((a - l) / o), this._instanceSrv.changeDoc(r, u), this._contextService.setContextValue(
|
|
9531
|
+
const { startX: l, endX: a } = n, { textRotation: c, wrapStrategy: d, documentModel: u } = i, { vertexAngle: h } = Ll(c);
|
|
9532
|
+
u.updateDocumentId(r), d === es.WRAP && h === 0 && u.updateDocumentDataPageSize((a - l) / o), this._instanceSrv.changeDoc(r, u), this._contextService.setContextValue(Hl, !0), this._textSelectionManagerService.replaceTextRanges([{
|
|
9531
9533
|
startOffset: 0,
|
|
9532
9534
|
endOffset: 0
|
|
9533
9535
|
}]), this._textSelectionRenderManager.activate(ru, ru);
|
|
@@ -9561,7 +9563,7 @@ let na = class extends ue {
|
|
|
9561
9563
|
* to determine whether it needs to be automatically widened.
|
|
9562
9564
|
*/
|
|
9563
9565
|
_predictingSize(e, t, n, i, o = 1, r = 1) {
|
|
9564
|
-
const { startX: l, endX: a } = e, { textRotation: c, wrapStrategy: d } = i, u = i.documentModel, { vertexAngle: h } =
|
|
9566
|
+
const { startX: l, endX: a } = e, { textRotation: c, wrapStrategy: d } = i, u = i.documentModel, { vertexAngle: h } = Ll(c), f = document.body.clientWidth;
|
|
9565
9567
|
if (d === es.WRAP && h === 0) {
|
|
9566
9568
|
const { actualWidth: p, actualHeight: S } = n.getActualSize();
|
|
9567
9569
|
return {
|
|
@@ -9586,14 +9588,14 @@ let na = class extends ue {
|
|
|
9586
9588
|
* and calculate the editor's boundaries relative to the browser.
|
|
9587
9589
|
*/
|
|
9588
9590
|
_editAreaProcessing(e, t, n, i, o, r = 1, l = 1) {
|
|
9589
|
-
var
|
|
9591
|
+
var R;
|
|
9590
9592
|
const a = this._getEditorObject();
|
|
9591
9593
|
if (a == null)
|
|
9592
9594
|
return;
|
|
9593
9595
|
let { startX: c, startY: d } = n;
|
|
9594
9596
|
const { document: u, scene: h, engine: f } = a, m = h.getViewport(Nl.VIEW_MAIN), g = document.body.clientHeight - d - Number.parseFloat(Sf.sheetFooterBarHeight) - i.top - _1 * 2, p = document.body.clientWidth - c - i.left;
|
|
9595
9597
|
let S = t, C = m == null ? void 0 : m.getScrollBar();
|
|
9596
|
-
S > g ? (S = g, C == null ? m && new Pa(m, { enableHorizontal: !1, barSize: 8 }) : m == null || m.resetCanvasSizeAndUpdateScrollBar()) : (C = null, (
|
|
9598
|
+
S > g ? (S = g, C == null ? m && new Pa(m, { enableHorizontal: !1, barSize: 8 }) : m == null || m.resetCanvasSizeAndUpdateScrollBar()) : (C = null, (R = m == null ? void 0 : m.getScrollBar()) == null || R.dispose()), e += (C == null ? void 0 : C.barSize) || 0, e > p && (e = p), c -= Kn, d -= Kn, this._addBackground(h, e / r, t / l, o);
|
|
9597
9599
|
const { scaleX: b, scaleY: _ } = h.getPrecisionScale();
|
|
9598
9600
|
h.transformByState({
|
|
9599
9601
|
width: e / r,
|
|
@@ -9605,9 +9607,7 @@ let na = class extends ue {
|
|
|
9605
9607
|
Cd(e, b),
|
|
9606
9608
|
Cd(S, _)
|
|
9607
9609
|
);
|
|
9608
|
-
})
|
|
9609
|
-
const I = this._context.engine.getCanvasElement().getBoundingClientRect();
|
|
9610
|
-
c += I.left, this._cellEditorManagerService.setState({
|
|
9610
|
+
}), this._cellEditorManagerService.setState({
|
|
9611
9611
|
startX: c,
|
|
9612
9612
|
startY: d,
|
|
9613
9613
|
endX: e + c,
|
|
@@ -9740,7 +9740,7 @@ let na = class extends ue {
|
|
|
9740
9740
|
this._fitTextSize(d, h, a, u, f, m);
|
|
9741
9741
|
}
|
|
9742
9742
|
})), e.add(this._commandService.onCommandExecuted((i) => {
|
|
9743
|
-
i.id ===
|
|
9743
|
+
i.id === ah.id && this._editorBridgeService.refreshEditCellState();
|
|
9744
9744
|
}));
|
|
9745
9745
|
const n = [Yi.id];
|
|
9746
9746
|
e.add(this._commandService.onCommandExecuted((i) => {
|
|
@@ -9824,7 +9824,7 @@ let na = class extends ue {
|
|
|
9824
9824
|
}), this._moveCursor(t);
|
|
9825
9825
|
}
|
|
9826
9826
|
_exitInput(e) {
|
|
9827
|
-
this._contextService.setContextValue(wa, !1), this._contextService.setContextValue(Qe, !1), this._contextService.setContextValue(
|
|
9827
|
+
this._contextService.setContextValue(wa, !1), this._contextService.setContextValue(Qe, !1), this._contextService.setContextValue(Hl, !1), this._contextService.setContextValue(An, !1), this._cellEditorManagerService.setState({
|
|
9828
9828
|
show: e.visible
|
|
9829
9829
|
});
|
|
9830
9830
|
const t = this._editorBridgeService.getCurrentEditorId();
|
|
@@ -10611,7 +10611,7 @@ let Qi = class extends ue {
|
|
|
10611
10611
|
};
|
|
10612
10612
|
return i(g);
|
|
10613
10613
|
}
|
|
10614
|
-
if (e.id ===
|
|
10614
|
+
if (e.id === ch.id || e.id === dh.id) {
|
|
10615
10615
|
const o = e.params, r = o.range;
|
|
10616
10616
|
if (r.rangeType === j.COLUMN && r.startColumn < n.startColumn) {
|
|
10617
10617
|
const l = Math.min(n.startColumn, r.endColumn + 1) - r.startColumn, a = {
|
|
@@ -10683,7 +10683,7 @@ let Qi = class extends ue {
|
|
|
10683
10683
|
return;
|
|
10684
10684
|
const { scene: t } = e;
|
|
10685
10685
|
t.onTransformChange$.subscribeEvent((n) => {
|
|
10686
|
-
n.type ===
|
|
10686
|
+
n.type === Yu.scale && this._refreshCurrent();
|
|
10687
10687
|
});
|
|
10688
10688
|
}
|
|
10689
10689
|
_clearObserverEvent() {
|
|
@@ -11406,11 +11406,11 @@ let mr = class extends ue {
|
|
|
11406
11406
|
}), this._scenePointerUpSub = r.onPointerUp$.subscribeEvent((W) => {
|
|
11407
11407
|
var te, de, pe;
|
|
11408
11408
|
const Y = this._context.scene;
|
|
11409
|
-
this._clearObserverEvent(), (te = this._resizeHelperShape) == null || te.dispose(), this._resizeHelperShape = null, Y.enableEvent(), b && (Y.resetCursor(), (de = this._rowResizeRect) == null || de.hide(), (pe = this._columnResizeRect) == null || pe.hide(), e === 0 ? this._commandService.executeCommand(
|
|
11409
|
+
this._clearObserverEvent(), (te = this._resizeHelperShape) == null || te.dispose(), this._resizeHelperShape = null, Y.enableEvent(), b && (Y.resetCursor(), (de = this._rowResizeRect) == null || de.hide(), (pe = this._columnResizeRect) == null || pe.hide(), e === 0 ? this._commandService.executeCommand(uh.id, {
|
|
11410
11410
|
deltaY: R,
|
|
11411
11411
|
anchorRow: this._currentRow
|
|
11412
11412
|
}) : this._commandService.executeCommand(
|
|
11413
|
-
|
|
11413
|
+
hh.id,
|
|
11414
11414
|
{
|
|
11415
11415
|
deltaX: _,
|
|
11416
11416
|
anchorCol: this._currentColumn
|
|
@@ -11549,12 +11549,12 @@ var o_ = Object.defineProperty, r_ = Object.getOwnPropertyDescriptor, l_ = (s, e
|
|
|
11549
11549
|
const mu = "__SpreadsheetHeaderUnhideSHAPEControllerShape__", a_ = [
|
|
11550
11550
|
xa.id,
|
|
11551
11551
|
Ea.id,
|
|
11552
|
-
Qu.id,
|
|
11553
11552
|
qu.id,
|
|
11554
|
-
|
|
11553
|
+
Gu.id,
|
|
11555
11554
|
Ku.id,
|
|
11555
|
+
Qu.id,
|
|
11556
11556
|
ts.id,
|
|
11557
|
-
|
|
11557
|
+
oh.id,
|
|
11558
11558
|
Wa.id,
|
|
11559
11559
|
Ba.id,
|
|
11560
11560
|
Ua.id,
|
|
@@ -11604,7 +11604,7 @@ let aa = class extends Cn {
|
|
|
11604
11604
|
left: p.startX - Ci
|
|
11605
11605
|
},
|
|
11606
11606
|
() => this._commandService.executeCommand(
|
|
11607
|
-
|
|
11607
|
+
fh.id,
|
|
11608
11608
|
{
|
|
11609
11609
|
unitId: e.getUnitId(),
|
|
11610
11610
|
subUnitId: t.getSheetId(),
|
|
@@ -11625,7 +11625,7 @@ let aa = class extends Cn {
|
|
|
11625
11625
|
left: p.startX - (S ? Ci : 0)
|
|
11626
11626
|
},
|
|
11627
11627
|
() => this._commandService.executeCommand(
|
|
11628
|
-
|
|
11628
|
+
mh.id,
|
|
11629
11629
|
{
|
|
11630
11630
|
unitId: e.getUnitId(),
|
|
11631
11631
|
subUnitId: t.getSheetId(),
|
|
@@ -11850,7 +11850,7 @@ const sn = {
|
|
|
11850
11850
|
const b = Gg(s, e, d);
|
|
11851
11851
|
b && h.push(b);
|
|
11852
11852
|
const _ = qg(s, e);
|
|
11853
|
-
return _ && f.push(_),
|
|
11853
|
+
return _ && f.push(_), Du(h, t).result ? (n.pushUndoRedo({
|
|
11854
11854
|
unitID: l,
|
|
11855
11855
|
undoMutations: f,
|
|
11856
11856
|
redoMutations: h
|
|
@@ -11889,7 +11889,7 @@ const sn = {
|
|
|
11889
11889
|
if (!l) return !1;
|
|
11890
11890
|
const a = r.getUnitId(), c = l.getSheetId();
|
|
11891
11891
|
return e.executeCommand(sn.id, {
|
|
11892
|
-
value:
|
|
11892
|
+
value: ku.COLUMNS,
|
|
11893
11893
|
selections: i,
|
|
11894
11894
|
unitId: a,
|
|
11895
11895
|
subUnitId: c
|
|
@@ -11909,7 +11909,7 @@ const sn = {
|
|
|
11909
11909
|
if (!l) return !1;
|
|
11910
11910
|
const a = r.getUnitId(), c = l.getSheetId();
|
|
11911
11911
|
return e.executeCommand(sn.id, {
|
|
11912
|
-
value:
|
|
11912
|
+
value: ku.ROWS,
|
|
11913
11913
|
selections: i,
|
|
11914
11914
|
unitId: a,
|
|
11915
11915
|
subUnitId: c
|
|
@@ -11939,7 +11939,7 @@ const sn = {
|
|
|
11939
11939
|
children: { title: n.t("merge.confirm.dismantleMergeCellWaring") },
|
|
11940
11940
|
cancelText: n.t("button.cancel"),
|
|
11941
11941
|
confirmText: n.t("button.confirm")
|
|
11942
|
-
}) ? t.executeCommand(
|
|
11942
|
+
}) ? t.executeCommand(Wl.id) : !0 : t.executeCommand(Wl.id);
|
|
11943
11943
|
}
|
|
11944
11944
|
}, Ji = {
|
|
11945
11945
|
type: J.COMMAND,
|
|
@@ -11971,7 +11971,7 @@ const sn = {
|
|
|
11971
11971
|
children: { title: n.t("merge.confirm.dismantleMergeCellWaring") },
|
|
11972
11972
|
cancelText: n.t("button.cancel"),
|
|
11973
11973
|
confirmText: n.t("button.confirm")
|
|
11974
|
-
}) ? t.executeCommand(
|
|
11974
|
+
}) ? t.executeCommand(Bl.id) : !0 : t.executeCommand(Bl.id);
|
|
11975
11975
|
}
|
|
11976
11976
|
}, $i = {
|
|
11977
11977
|
type: J.COMMAND,
|
|
@@ -12064,7 +12064,7 @@ const sn = {
|
|
|
12064
12064
|
confirmText: u.t("button.confirm")
|
|
12065
12065
|
}), !1;
|
|
12066
12066
|
}
|
|
12067
|
-
return await i.executeCommand(
|
|
12067
|
+
return await i.executeCommand(dh.id, { range: n }), !0;
|
|
12068
12068
|
}
|
|
12069
12069
|
}, kc = {
|
|
12070
12070
|
id: "sheet.command.remove-col-confirm",
|
|
@@ -12090,7 +12090,7 @@ const sn = {
|
|
|
12090
12090
|
confirmText: u.t("button.confirm")
|
|
12091
12091
|
}), !1;
|
|
12092
12092
|
}
|
|
12093
|
-
return await i.executeCommand(
|
|
12093
|
+
return await i.executeCommand(ch.id, { range: n }), !0;
|
|
12094
12094
|
}
|
|
12095
12095
|
}, Wc = {
|
|
12096
12096
|
id: "sheet.command.remove-sheet-confirm",
|
|
@@ -12723,7 +12723,7 @@ const G_ = "univer-ui-plugin-sheets-border-panel", q_ = "univer-ui-plugin-sheets
|
|
|
12723
12723
|
];
|
|
12724
12724
|
function Bf(s) {
|
|
12725
12725
|
var a;
|
|
12726
|
-
const e = F(co), t = F(
|
|
12726
|
+
const e = F(co), t = F(Ul), { onChange: n, value: i } = s;
|
|
12727
12727
|
function o(c, d) {
|
|
12728
12728
|
n == null || n({
|
|
12729
12729
|
...i,
|
|
@@ -12855,7 +12855,7 @@ const ab = "univer-editor-container", cb = "univer-editor-input", vu = {
|
|
|
12855
12855
|
]
|
|
12856
12856
|
},
|
|
12857
12857
|
documentStyle: {
|
|
12858
|
-
documentFlavor:
|
|
12858
|
+
documentFlavor: Wu.MODERN
|
|
12859
12859
|
}
|
|
12860
12860
|
};
|
|
12861
12861
|
return Se(() => {
|
|
@@ -13080,7 +13080,7 @@ function ew() {
|
|
|
13080
13080
|
width: Number.POSITIVE_INFINITY,
|
|
13081
13081
|
height: Number.POSITIVE_INFINITY
|
|
13082
13082
|
},
|
|
13083
|
-
documentFlavor:
|
|
13083
|
+
documentFlavor: Wu.MODERN,
|
|
13084
13084
|
marginTop: 5,
|
|
13085
13085
|
marginBottom: 5,
|
|
13086
13086
|
marginRight: 0,
|
|
@@ -13339,7 +13339,7 @@ const Sw = "univer-sheet-bar-menu", vw = "univer-sheet-bar-menu-item", Cw = "uni
|
|
|
13339
13339
|
function Rw(s) {
|
|
13340
13340
|
const { style: e } = s, [t, n] = ce([]), [i, o] = ce(!1), r = F(B), l = F(L), a = F(gs), c = F(nt), d = dt(() => r.getCurrentTypeOfUnit$(x.UNIVER_SHEET), null, !1, []), u = (p) => {
|
|
13341
13341
|
const { sheetId: S } = p;
|
|
13342
|
-
!S || !d || (p.hidden ? l.executeCommand(
|
|
13342
|
+
!S || !d || (p.hidden ? l.executeCommand(gh.id, {
|
|
13343
13343
|
unitId: d.getUnitId(),
|
|
13344
13344
|
subUnitId: S,
|
|
13345
13345
|
value: S
|
|
@@ -13999,7 +13999,7 @@ w(Ts, "LongPressDelay", 500), // in milliseconds
|
|
|
13999
13999
|
w(Ts, "DoubleClickDelay", 300);
|
|
14000
14000
|
let Os = Ts;
|
|
14001
14001
|
function Lw() {
|
|
14002
|
-
const [s, e] = ce([]), [t, n] = ce(""), [i, o] = ce(""), [r, l] = ce(!1), [a, c] = ce([0, 0]), d = Yl({ slideTabBar: null }), u = Yl(null), h = F(L), f = F(gs), m = F(Te), g = F(Gt), p = F(Rn,
|
|
14002
|
+
const [s, e] = ce([]), [t, n] = ce(""), [i, o] = ce(""), [r, l] = ce(!1), [a, c] = ce([0, 0]), d = Yl({ slideTabBar: null }), u = Yl(null), h = F(L), f = F(gs), m = F(Te), g = F(Gt), p = F(Rn, Fl.OPTIONAL), S = F(nt), C = F(Ne), b = dt(S.resetOrder$), _ = $s(), R = F(it), I = Dn(() => {
|
|
14003
14003
|
var de;
|
|
14004
14004
|
const N = ((de = _.getActiveSheet()) == null ? void 0 : de.getSheetId()) || "";
|
|
14005
14005
|
n(N);
|
|
@@ -14053,13 +14053,13 @@ function Lw() {
|
|
|
14053
14053
|
slideTabBarContainer: u.current,
|
|
14054
14054
|
currentIndex: 0,
|
|
14055
14055
|
onChangeName: (W, Y) => {
|
|
14056
|
-
h.executeCommand(
|
|
14056
|
+
h.executeCommand(ph.id, {
|
|
14057
14057
|
subUnitId: W,
|
|
14058
14058
|
name: Y
|
|
14059
14059
|
});
|
|
14060
14060
|
},
|
|
14061
14061
|
onSlideEnd: async (W, Y) => {
|
|
14062
|
-
await h.executeCommand(
|
|
14062
|
+
await h.executeCommand(Sh.id, { order: Y });
|
|
14063
14063
|
},
|
|
14064
14064
|
onChangeTab: (W, Y) => {
|
|
14065
14065
|
h.executeCommand($e.id, {
|
|
@@ -14236,7 +14236,7 @@ function Lw() {
|
|
|
14236
14236
|
}
|
|
14237
14237
|
const _u = 100, Dw = () => {
|
|
14238
14238
|
var g, p;
|
|
14239
|
-
const [s, e] = ce(!0), [t, n] = ce(!0), i = F(L), o = F(gs), r = F(it), a = $s().getUnitId(), c = dt(r.getPermissionPoint$((g = new Z(a)) == null ? void 0 : g.id)), d = dt(r.getPermissionPoint$((p = new
|
|
14239
|
+
const [s, e] = ce(!0), [t, n] = ce(!0), i = F(L), o = F(gs), r = F(it), a = $s().getUnitId(), c = dt(r.getPermissionPoint$((g = new Z(a)) == null ? void 0 : g.id)), d = dt(r.getPermissionPoint$((p = new vh(a)) == null ? void 0 : p.id));
|
|
14240
14240
|
Se(() => {
|
|
14241
14241
|
const S = o.scroll$.subscribe((C) => {
|
|
14242
14242
|
u(C);
|
|
@@ -14407,7 +14407,7 @@ const bu = 800, qw = 3, Qw = () => {
|
|
|
14407
14407
|
h.unsubscribe();
|
|
14408
14408
|
};
|
|
14409
14409
|
}, [i]);
|
|
14410
|
-
const d =
|
|
14410
|
+
const d = Bu(() => {
|
|
14411
14411
|
const h = window.innerWidth < bu;
|
|
14412
14412
|
s !== h && e(h);
|
|
14413
14413
|
}, 100);
|
|
@@ -14554,8 +14554,8 @@ const wl = {
|
|
|
14554
14554
|
/* @__PURE__ */ v.jsx(Rs, { value: "range", children: m.t("definedName.ratioRange") }),
|
|
14555
14555
|
/* @__PURE__ */ v.jsx(Rs, { value: "formula", children: m.t("definedName.ratioFormula") })
|
|
14556
14556
|
] }) }),
|
|
14557
|
-
/* @__PURE__ */ v.jsx("div", { style: { display: V === "range" ? "block" : "none" }, children: /* @__PURE__ */ v.jsx(Mh, { value: R, onValid: Q, onChange: U, placeholder: m.t("definedName.inputRangePlaceholder"), id:
|
|
14558
|
-
/* @__PURE__ */ v.jsx("div", { style: { display: V === "range" ? "none" : "block" }, children: /* @__PURE__ */ v.jsx(tc, { value: R, onValid: Q, onChange: K, id:
|
|
14557
|
+
/* @__PURE__ */ v.jsx("div", { style: { display: V === "range" ? "block" : "none" }, children: /* @__PURE__ */ v.jsx(Mh, { value: R, onValid: Q, onChange: U, placeholder: m.t("definedName.inputRangePlaceholder"), id: Vl(`${e}-rangeSelector`), width: "99%", openForSheetUnitId: C }, `${e}-rangeSelector`) }),
|
|
14558
|
+
/* @__PURE__ */ v.jsx("div", { style: { display: V === "range" ? "none" : "block" }, children: /* @__PURE__ */ v.jsx(tc, { value: R, onValid: Q, onChange: K, id: Vl(`${e}-editor`), placeholder: m.t("definedName.inputFormulaPlaceholder"), openForSheetUnitId: C, onlyInputFormula: !0, style: { width: "99%" }, canvasStyle: { fontSize: 10 } }, `${e}-editor`) }),
|
|
14559
14559
|
/* @__PURE__ */ v.jsx("div", { children: /* @__PURE__ */ v.jsx(Vh, { style: wl, value: T, options: z, onChange: E }) }),
|
|
14560
14560
|
/* @__PURE__ */ v.jsx("div", { children: /* @__PURE__ */ v.jsx(Fi, { affixWrapperStyle: wl, placeholder: m.t("definedName.inputCommentPlaceholder"), value: y, onChange: P }) }),
|
|
14561
14561
|
/* @__PURE__ */ v.jsxs("div", { style: { display: M.length === 0 ? "none" : "flex" }, className: ke.definedNameInputValidation, children: [
|
|
@@ -14964,7 +14964,7 @@ const Po = "UNIVER_SHEET_PERMISSION_PANEL", To = "UNIVER_SHEET_PERMISSION_PANEL_
|
|
|
14964
14964
|
async handler(s) {
|
|
14965
14965
|
return await s.get(L).executeCommand(vn.id, { showDetail: !1 }), !0;
|
|
14966
14966
|
}
|
|
14967
|
-
},
|
|
14967
|
+
}, KP = {
|
|
14968
14968
|
type: J.COMMAND,
|
|
14969
14969
|
id: "sheet.command.add-range-protection",
|
|
14970
14970
|
async handler(s, e) {
|
|
@@ -14991,7 +14991,7 @@ const Po = "UNIVER_SHEET_PERMISSION_PANEL", To = "UNIVER_SHEET_PERMISSION_PANEL_
|
|
|
14991
14991
|
}
|
|
14992
14992
|
return !0;
|
|
14993
14993
|
}
|
|
14994
|
-
},
|
|
14994
|
+
}, JP = {
|
|
14995
14995
|
type: J.COMMAND,
|
|
14996
14996
|
id: "sheet.command.delete-range-protection",
|
|
14997
14997
|
async handler(s, e) {
|
|
@@ -15008,7 +15008,7 @@ const Po = "UNIVER_SHEET_PERMISSION_PANEL", To = "UNIVER_SHEET_PERMISSION_PANEL_
|
|
|
15008
15008
|
undoMutations: [{ id: Ds.id, params: { unitId: i, subUnitId: o, rules: [r] } }]
|
|
15009
15009
|
}), !0;
|
|
15010
15010
|
}
|
|
15011
|
-
},
|
|
15011
|
+
}, $P = {
|
|
15012
15012
|
type: J.COMMAND,
|
|
15013
15013
|
id: "sheet.command.set-range-protection",
|
|
15014
15014
|
async handler(s, e) {
|
|
@@ -15118,7 +15118,7 @@ const Po = "UNIVER_SHEET_PERMISSION_PANEL", To = "UNIVER_SHEET_PERMISSION_PANEL_
|
|
|
15118
15118
|
if (!e)
|
|
15119
15119
|
return !1;
|
|
15120
15120
|
const t = s.get(L), n = s.get(ut), i = s.get(mt), o = s.get(Ne), { rule: r } = e, { unitId: l, subUnitId: a } = r, c = [], d = [], u = i.oldRule;
|
|
15121
|
-
return (u == null ? void 0 : u.unitType) === r.unitType ? r.unitType === Re.Worksheet ? (c.push({ id: _i.id, params: { unitId: l, subUnitId: a, rule: r } }), d.push({ id: _i.id, params: { unitId: l, subUnitId: a, rule: u } })) : (c.push({ id: bi.id, params: { unitId: l, subUnitId: a, rule: r, ruleId: r.id } }), d.push({ id: bi.id, params: { unitId: l, subUnitId: a, ruleId: u.id, rule: u } })) : (u && (u.unitType === Re.Worksheet ? (c.push({ id: ji.id, params: { unitId: l, subUnitId: a } }), d.push({ id: Ui.id, params: { unitId: l, rule: u, subUnitId: u.subUnitId } })) : u.unitType === Re.SelectRange && (c.push({ id: ls.id, params: { unitId: l, subUnitId: a, ruleIds: [u.id] } }), d.push({ id: Ds.id, params: { unitId: l, subUnitId: a, rules: [u] } }))), r.unitType === Re.Worksheet ? (c.push({ id: Ui.id, params: { unitId: l, rule: r, subUnitId: r.subUnitId } }), d.unshift({ id: ji.id, params: { unitId: l, subUnitId: a } })) : r.unitType === Re.SelectRange && (r.id = o.createRuleId(l, a), c.push({ id: Ds.id, params: { unitId: l, subUnitId: a, rules: [r] } }), d.unshift({ id: ls.id, params: { unitId: l, subUnitId: a, ruleIds: [r.id] } }))),
|
|
15121
|
+
return (u == null ? void 0 : u.unitType) === r.unitType ? r.unitType === Re.Worksheet ? (c.push({ id: _i.id, params: { unitId: l, subUnitId: a, rule: r } }), d.push({ id: _i.id, params: { unitId: l, subUnitId: a, rule: u } })) : (c.push({ id: bi.id, params: { unitId: l, subUnitId: a, rule: r, ruleId: r.id } }), d.push({ id: bi.id, params: { unitId: l, subUnitId: a, ruleId: u.id, rule: u } })) : (u && (u.unitType === Re.Worksheet ? (c.push({ id: ji.id, params: { unitId: l, subUnitId: a } }), d.push({ id: Ui.id, params: { unitId: l, rule: u, subUnitId: u.subUnitId } })) : u.unitType === Re.SelectRange && (c.push({ id: ls.id, params: { unitId: l, subUnitId: a, ruleIds: [u.id] } }), d.push({ id: Ds.id, params: { unitId: l, subUnitId: a, rules: [u] } }))), r.unitType === Re.Worksheet ? (c.push({ id: Ui.id, params: { unitId: l, rule: r, subUnitId: r.subUnitId } }), d.unshift({ id: ji.id, params: { unitId: l, subUnitId: a } })) : r.unitType === Re.SelectRange && (r.id = o.createRuleId(l, a), c.push({ id: Ds.id, params: { unitId: l, subUnitId: a, rules: [r] } }), d.unshift({ id: ls.id, params: { unitId: l, subUnitId: a, ruleIds: [r.id] } }))), Du(c, t) && n.pushUndoRedo({
|
|
15122
15122
|
unitID: l,
|
|
15123
15123
|
undoMutations: d,
|
|
15124
15124
|
redoMutations: c
|
|
@@ -15159,7 +15159,7 @@ function cR(s) {
|
|
|
15159
15159
|
}
|
|
15160
15160
|
function dR(s) {
|
|
15161
15161
|
return {
|
|
15162
|
-
id:
|
|
15162
|
+
id: ah.id,
|
|
15163
15163
|
type: ee.BUTTON,
|
|
15164
15164
|
title: "rightClick.clearFormat",
|
|
15165
15165
|
positions: [tl],
|
|
@@ -15368,7 +15368,7 @@ function TR(s) {
|
|
|
15368
15368
|
type: ee.BUTTON,
|
|
15369
15369
|
positions: [Ue.SHEET_BAR],
|
|
15370
15370
|
title: "sheetConfig.copy",
|
|
15371
|
-
disabled$: Qs(s, [Z,
|
|
15371
|
+
disabled$: Qs(s, [Z, vh]),
|
|
15372
15372
|
hidden$: le(s, x.UNIVER_SHEET)
|
|
15373
15373
|
};
|
|
15374
15374
|
}
|
|
@@ -15450,12 +15450,12 @@ function Cr(s, e) {
|
|
|
15450
15450
|
e.next(n.length === 1);
|
|
15451
15451
|
}
|
|
15452
15452
|
const qf = {
|
|
15453
|
-
id:
|
|
15453
|
+
id: $u.id,
|
|
15454
15454
|
// when focusing on any other input tag do not trigger this shortcut
|
|
15455
15455
|
preconditions: (s) => Me(s),
|
|
15456
15456
|
binding: $.Digit9 | be.CTRL_COMMAND
|
|
15457
15457
|
}, Qf = {
|
|
15458
|
-
id:
|
|
15458
|
+
id: eh.id,
|
|
15459
15459
|
// when focusing on any other input tag do not trigger this shortcut
|
|
15460
15460
|
preconditions: (s) => Me(s),
|
|
15461
15461
|
binding: $.Digit0 | be.CTRL_COMMAND | be.SHIFT
|
|
@@ -15740,11 +15740,11 @@ const qf = {
|
|
|
15740
15740
|
binding: $.Digit0 | be.CTRL_COMMAND
|
|
15741
15741
|
};
|
|
15742
15742
|
function AR(s) {
|
|
15743
|
-
const e = s.get(
|
|
15743
|
+
const e = s.get(Ul), t = ae(s, { workbookTypes: [Z], worksheetTypes: [ne, We], rangeTypes: [oe] });
|
|
15744
15744
|
return {
|
|
15745
15745
|
id: Pd.id,
|
|
15746
15746
|
icon: new et((n) => {
|
|
15747
|
-
const i = "AllBorderSingle", o = s.get(
|
|
15747
|
+
const i = "AllBorderSingle", o = s.get(Ul), r = s.get(L).onCommandExecuted((l) => {
|
|
15748
15748
|
var h;
|
|
15749
15749
|
if (l.id !== Pd.id)
|
|
15750
15750
|
return;
|
|
@@ -16394,7 +16394,7 @@ let xi = class extends ue {
|
|
|
16394
16394
|
}
|
|
16395
16395
|
_initWorkbenchParts() {
|
|
16396
16396
|
const s = this._uiPartsService, e = this._injector;
|
|
16397
|
-
this.disposeWithMe(s.registerComponent(
|
|
16397
|
+
this.disposeWithMe(s.registerComponent(Yo.HEADER, () => Zo(Jw, e))), this.disposeWithMe(s.registerComponent(Yo.FOOTER, () => Zo(Kw, e))), this.disposeWithMe(s.registerComponent(Yo.CONTENT, () => Zo($w, e)));
|
|
16398
16398
|
}
|
|
16399
16399
|
_initFocusHandler() {
|
|
16400
16400
|
this.disposeWithMe(
|
|
@@ -16431,7 +16431,7 @@ let As = class extends ue {
|
|
|
16431
16431
|
this._registerSelectionListener();
|
|
16432
16432
|
}
|
|
16433
16433
|
_registerSelectionListener() {
|
|
16434
|
-
const e =
|
|
16434
|
+
const e = Bu((t) => {
|
|
16435
16435
|
var i;
|
|
16436
16436
|
const n = (i = t[t.length - 1]) == null ? void 0 : i.primary;
|
|
16437
16437
|
this._calculateSelection(
|
|
@@ -16551,7 +16551,7 @@ let _r = class extends Cn {
|
|
|
16551
16551
|
const { scene: e, components: t } = this._context, n = s.getActiveSheet();
|
|
16552
16552
|
if (!n)
|
|
16553
16553
|
throw new Error("No active sheet found");
|
|
16554
|
-
const i = new
|
|
16554
|
+
const i = new zu(Ze.MAIN);
|
|
16555
16555
|
this._addViewport(n);
|
|
16556
16556
|
const o = new Hg(Ze.ROW), r = new Vg(Ze.COLUMN), l = new he(Ze.LEFT_TOP, {
|
|
16557
16557
|
zIndex: 2,
|
|
@@ -17135,7 +17135,7 @@ let Ni = class extends Cn {
|
|
|
17135
17135
|
};
|
|
17136
17136
|
this.disposeWithMe(
|
|
17137
17137
|
this._sheetInterceptorService.intercept(
|
|
17138
|
-
|
|
17138
|
+
jl.CELL_CONTENT,
|
|
17139
17139
|
{
|
|
17140
17140
|
priority: 10,
|
|
17141
17141
|
handler: (e, t, n) => {
|
|
@@ -17143,7 +17143,7 @@ let Ni = class extends Cn {
|
|
|
17143
17143
|
if (!((r = this._sheetSkeletonManagerService.getCurrent()) == null ? void 0 : r.skeleton))
|
|
17144
17144
|
return n(e);
|
|
17145
17145
|
const o = t.worksheet.getCellRaw(t.row, t.col);
|
|
17146
|
-
return !o || o.v === null || o.v === void 0 ? n(e) : (e == null ? void 0 : e.t) === Hn.FORCE_STRING &&
|
|
17146
|
+
return !o || o.v === null || o.v === void 0 ? n(e) : (e == null ? void 0 : e.t) === Hn.FORCE_STRING && Uu(o.v) ? n({
|
|
17147
17147
|
...e,
|
|
17148
17148
|
markers: {
|
|
17149
17149
|
...e == null ? void 0 : e.markers,
|
|
@@ -17181,7 +17181,7 @@ let Hi = class extends ue {
|
|
|
17181
17181
|
const n = this._context.unit.getActiveSheet();
|
|
17182
17182
|
if (!n) return;
|
|
17183
17183
|
const i = n.getCell(s.location.row, s.location.col);
|
|
17184
|
-
if ((i == null ? void 0 : i.t) === Hn.FORCE_STRING && i.v &&
|
|
17184
|
+
if ((i == null ? void 0 : i.t) === Hn.FORCE_STRING && i.v && Uu(i.v)) {
|
|
17185
17185
|
const o = this._cellAlertManagerService.currentAlert.get(Pl), r = (e = o == null ? void 0 : o.alert) == null ? void 0 : e.location;
|
|
17186
17186
|
if (r && r.row === s.location.row && r.col === s.location.col && r.subUnitId === s.location.subUnitId && r.unitId === s.location.unitId)
|
|
17187
17187
|
return;
|
|
@@ -17472,7 +17472,7 @@ let Jo = class extends ue {
|
|
|
17472
17472
|
for (let W = 0; W <= K - X; W++)
|
|
17473
17473
|
C.setValue(N + k, W + X, g[N][W]);
|
|
17474
17474
|
}
|
|
17475
|
-
else if (
|
|
17475
|
+
else if (ju(g))
|
|
17476
17476
|
for (let z = 0; z < S.length; z++) {
|
|
17477
17477
|
const { startRow: k, startColumn: X } = S[z];
|
|
17478
17478
|
C.setValue(k, X, g);
|
|
@@ -17677,7 +17677,7 @@ let Ns = class extends ue {
|
|
|
17677
17677
|
}), i = this._localeService.t("permission.dialog.editErr");
|
|
17678
17678
|
break;
|
|
17679
17679
|
case ao.id:
|
|
17680
|
-
|
|
17680
|
+
ju(t.value) && t.value.f ? (n = this._permissionCheckWithFormula(t), i = this._localeService.t("permission.dialog.formulaErr")) : n = this._permissionCheckBySetRangeValue({
|
|
17681
17681
|
workbookTypes: [Z],
|
|
17682
17682
|
rangeTypes: [oe],
|
|
17683
17683
|
worksheetTypes: [Vt, ne]
|
|
@@ -17721,21 +17721,21 @@ let Ns = class extends ue {
|
|
|
17721
17721
|
case nf.id:
|
|
17722
17722
|
case sf.id:
|
|
17723
17723
|
n = this.permissionCheckWithRanges({
|
|
17724
|
-
workbookTypes: [
|
|
17725
|
-
rangeTypes: [
|
|
17724
|
+
workbookTypes: [kl],
|
|
17725
|
+
rangeTypes: [th],
|
|
17726
17726
|
worksheetTypes: [ka]
|
|
17727
|
-
}), i = this._localeService.t("permission.dialog.copyErr"), (o = this._permissionService.getPermissionPoint(new
|
|
17727
|
+
}), i = this._localeService.t("permission.dialog.copyErr"), (o = this._permissionService.getPermissionPoint(new kl(this._univerInstanceService.getCurrentUnitForType(x.UNIVER_SHEET).getUnitId()).id)) != null && o.value || (i = this._localeService.t("permission.dialog.workbookCopyErr"));
|
|
17728
17728
|
break;
|
|
17729
|
-
case
|
|
17730
|
-
case
|
|
17729
|
+
case hh.id:
|
|
17730
|
+
case rh.id:
|
|
17731
17731
|
n = this.permissionCheckWithoutRange({
|
|
17732
17732
|
workbookTypes: [Z],
|
|
17733
17733
|
rangeTypes: [oe],
|
|
17734
17734
|
worksheetTypes: [$t, ne]
|
|
17735
17735
|
}), i = this._localeService.t("permission.dialog.setRowColStyleErr");
|
|
17736
17736
|
break;
|
|
17737
|
-
case
|
|
17738
|
-
case
|
|
17737
|
+
case uh.id:
|
|
17738
|
+
case ih.id:
|
|
17739
17739
|
case Vr.id:
|
|
17740
17740
|
n = this.permissionCheckWithoutRange({
|
|
17741
17741
|
workbookTypes: [Z],
|
|
@@ -17753,37 +17753,37 @@ let Ns = class extends ue {
|
|
|
17753
17753
|
case xs.id:
|
|
17754
17754
|
n = this._permissionCheckByAutoFillCommand((r = this._autoFillService.autoFillLocation) == null ? void 0 : r.target), i = this._localeService.t("permission.dialog.autoFillErr");
|
|
17755
17755
|
break;
|
|
17756
|
-
case
|
|
17756
|
+
case Sh.id:
|
|
17757
17757
|
n = this._permissionCheckByWorksheetCommand([Z, Sp]), i = this._localeService.t("permission.dialog.operatorSheetErr"), n === !1 && this._worksheetProtectionRuleModel.resetOrder();
|
|
17758
17758
|
break;
|
|
17759
|
-
case
|
|
17759
|
+
case ph.id:
|
|
17760
17760
|
n = this._permissionCheckByWorksheetCommand([Z, Ga]), i = this._localeService.t("permission.dialog.operatorSheetErr"), n === !1 && this._worksheetProtectionRuleModel.resetOrder();
|
|
17761
17761
|
break;
|
|
17762
|
-
case
|
|
17762
|
+
case gh.id:
|
|
17763
17763
|
n = this._permissionCheckByWorksheetCommand([Z, Ka]), i = this._localeService.t("permission.dialog.operatorSheetErr"), n === !1 && this._worksheetProtectionRuleModel.resetOrder();
|
|
17764
17764
|
break;
|
|
17765
|
-
case
|
|
17765
|
+
case mh.id:
|
|
17766
17766
|
n = this.permissionCheckWithRanges({
|
|
17767
17767
|
workbookTypes: [Z],
|
|
17768
17768
|
rangeTypes: [oe],
|
|
17769
17769
|
worksheetTypes: [ne, hn]
|
|
17770
17770
|
}, t.ranges), i = this._localeService.t("permission.dialog.setRowColStyleErr");
|
|
17771
17771
|
break;
|
|
17772
|
-
case
|
|
17772
|
+
case fh.id:
|
|
17773
17773
|
n = this.permissionCheckWithRanges({
|
|
17774
17774
|
workbookTypes: [Z],
|
|
17775
17775
|
rangeTypes: [oe],
|
|
17776
17776
|
worksheetTypes: [ne, $t]
|
|
17777
17777
|
}, t.ranges), i = this._localeService.t("permission.dialog.setRowColStyleErr");
|
|
17778
17778
|
break;
|
|
17779
|
-
case
|
|
17779
|
+
case sh.id:
|
|
17780
17780
|
n = this.permissionCheckWithRanges({
|
|
17781
17781
|
workbookTypes: [Z],
|
|
17782
17782
|
rangeTypes: [oe],
|
|
17783
17783
|
worksheetTypes: [ne, hn]
|
|
17784
17784
|
}), i = this._localeService.t("permission.dialog.setRowColStyleErr");
|
|
17785
17785
|
break;
|
|
17786
|
-
case
|
|
17786
|
+
case nh.id:
|
|
17787
17787
|
n = this.permissionCheckWithRanges({
|
|
17788
17788
|
workbookTypes: [Z],
|
|
17789
17789
|
rangeTypes: [oe],
|
|
@@ -17796,10 +17796,10 @@ let Ns = class extends ue {
|
|
|
17796
17796
|
case or.id:
|
|
17797
17797
|
n = this._permissionCheckWithInsertRangeMove("bottom"), i = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
|
|
17798
17798
|
break;
|
|
17799
|
-
case
|
|
17799
|
+
case Wl.id:
|
|
17800
17800
|
n = this._permissionCheckWithInsertRangeMove("left"), i = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
|
|
17801
17801
|
break;
|
|
17802
|
-
case
|
|
17802
|
+
case Bl.id:
|
|
17803
17803
|
n = this._permissionCheckWithInsertRangeMove("top"), i = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
|
|
17804
17804
|
break;
|
|
17805
17805
|
}
|
|
@@ -18273,7 +18273,7 @@ let Li = class extends ue {
|
|
|
18273
18273
|
}
|
|
18274
18274
|
_initViewModelByRangeInterceptor() {
|
|
18275
18275
|
this.disposeWithMe(this._sheetInterceptorService.intercept(
|
|
18276
|
-
|
|
18276
|
+
jl.CELL_CONTENT,
|
|
18277
18277
|
{
|
|
18278
18278
|
// permissions are placed at a high level to prioritize whether to filter subsequent renderings.
|
|
18279
18279
|
priority: 999,
|
|
@@ -18296,7 +18296,7 @@ let Li = class extends ue {
|
|
|
18296
18296
|
}
|
|
18297
18297
|
_initViewModelBySheetInterceptor() {
|
|
18298
18298
|
this.disposeWithMe(this._sheetInterceptorService.intercept(
|
|
18299
|
-
|
|
18299
|
+
jl.CELL_CONTENT,
|
|
18300
18300
|
{
|
|
18301
18301
|
// permissions are placed at a high level to prioritize whether to filter subsequent renderings.
|
|
18302
18302
|
priority: 999,
|
|
@@ -18325,9 +18325,9 @@ Li = dI([
|
|
|
18325
18325
|
Kt(4, H(Ne)),
|
|
18326
18326
|
Kt(5, H(nt)),
|
|
18327
18327
|
Kt(6, H(It)),
|
|
18328
|
-
Kt(7, H(
|
|
18328
|
+
Kt(7, H(Ch)),
|
|
18329
18329
|
Kt(8, H(Ys)),
|
|
18330
|
-
Kt(9, H(
|
|
18330
|
+
Kt(9, H(_h))
|
|
18331
18331
|
], Li);
|
|
18332
18332
|
const Hm = "data:image/png;base64,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", uI = "univer-spin-container", hI = "univer-spin-overlay", fI = "univer-spinner", mI = "univer-spin", gI = "univer-content-blur", jo = {
|
|
18333
18333
|
spinContainer: uI,
|
|
@@ -18484,7 +18484,7 @@ const Hm = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADwCAYAAADYdbe6AA
|
|
|
18484
18484
|
className: Ke(Fe.permissionRangeSelector),
|
|
18485
18485
|
textEditorClassName: Ke({ [Fe.permissionRangeSelectorError]: f }),
|
|
18486
18486
|
value: (O = r == null ? void 0 : r.ranges) == null ? void 0 : O.map((A) => gi(A)).join(","),
|
|
18487
|
-
id:
|
|
18487
|
+
id: Vl("sheet-permission-panel"),
|
|
18488
18488
|
openForSheetUnitId: p,
|
|
18489
18489
|
openForSheetSubUnitId: S,
|
|
18490
18490
|
onChange: (A) => {
|
|
@@ -19021,7 +19021,7 @@ const Hm = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADwCAYAAADYdbe6AA
|
|
|
19021
19021
|
sheetPermissionUserDialogFooterConfirm: yy,
|
|
19022
19022
|
sheetPermissionUserDialogButton: Py
|
|
19023
19023
|
}, Ty = () => {
|
|
19024
|
-
const s = F(Te), e = F(B), t = F(ro), n = F(
|
|
19024
|
+
const s = F(Te), e = F(B), t = F(ro), n = F(Ch), i = F(fs), o = F(it), r = e.getCurrentUnitForType(x.UNIVER_SHEET), l = r.getActiveSheet();
|
|
19025
19025
|
if (!l)
|
|
19026
19026
|
throw new Error("No active sheet found");
|
|
19027
19027
|
const [a, c] = ce([]), d = F(L), [u, h] = ce(() => !!n.getRule(r.getUnitId(), l.getSheetId())), [f, m] = ce(() => Object.keys(Uo).reduce((p, S) => (p[S] = {
|
|
@@ -19162,7 +19162,7 @@ const Hm = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAADwCAYAAADYdbe6AA
|
|
|
19162
19162
|
) })
|
|
19163
19163
|
] });
|
|
19164
19164
|
}, Lm = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI0IiB2aWV3Qm94PSIwIDAgNCA0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWFzayBpZD0ibWFzazBfNzU5XzExMDgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRDZEOEQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF83NTlfMTEwOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTS0zLjY0MDAyIDMuNDQxNDFMMi4wNzM5NyAtMi4yNzI1OEwyLjc4MTA4IC0xLjU2NTQ4TC0yLjkzMjkxIDQuMTQ4NTJMLTMuNjQwMDIgMy40NDE0MVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS41MTg2OCA1LjU2Mjc1TDQuMTk1MzEgLTAuMTUxMjQ1TDQuOTAyNDIgMC41NTU4NjJMLTAuODExNTc1IDYuMjY5ODZMLTEuNTE4NjggNS41NjI3NVoiIGZpbGw9IiNENkQ4REIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjYwMjY1NiA3LjY4NDAzTDYuMzE2NjUgMS45NzAwM0w3LjAyMzc2IDIuNjc3MTRMMS4zMDk3NiA4LjM5MTEzTDAuNjAyNjU2IDcuNjg0MDNaIiBmaWxsPSIjRDZEOERCIi8+CjwvZz4KPC9zdmc+", Dm = "RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY", km = "RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY", Ay = 25, Ny = 80;
|
|
19165
|
-
class Wm extends
|
|
19165
|
+
class Wm extends Zu {
|
|
19166
19166
|
constructor() {
|
|
19167
19167
|
super();
|
|
19168
19168
|
w(this, "_pattern", null);
|
|
@@ -19456,7 +19456,7 @@ Di = By([
|
|
|
19456
19456
|
Mn(5, H(Ki)),
|
|
19457
19457
|
Mn(6, St),
|
|
19458
19458
|
Mn(7, H(Qi)),
|
|
19459
|
-
Mn(8,
|
|
19459
|
+
Mn(8, wh(mr))
|
|
19460
19460
|
], Di);
|
|
19461
19461
|
var Uy = Object.defineProperty, jy = Object.getOwnPropertyDescriptor, Fy = (s, e, t, n) => {
|
|
19462
19462
|
for (var i = n > 1 ? void 0 : n ? jy(e, t) : e, o = s.length - 1, r; o >= 0; o--)
|
|
@@ -19509,10 +19509,10 @@ ki = Fy([
|
|
|
19509
19509
|
ui(2, B),
|
|
19510
19510
|
ui(3, it),
|
|
19511
19511
|
ui(4, H(As)),
|
|
19512
|
-
ui(5, H(
|
|
19512
|
+
ui(5, H(_h))
|
|
19513
19513
|
], ki);
|
|
19514
19514
|
const Um = "worksheet-protection", Eu = 25, Xy = 80;
|
|
19515
|
-
class zy extends
|
|
19515
|
+
class zy extends Zu {
|
|
19516
19516
|
constructor() {
|
|
19517
19517
|
super();
|
|
19518
19518
|
w(this, "uKey", Um);
|
|
@@ -19640,7 +19640,7 @@ let $o = class extends ue {
|
|
|
19640
19640
|
let c = null;
|
|
19641
19641
|
if (r === n.length - 1) {
|
|
19642
19642
|
const d = a.range, { startRow: u, startColumn: h, endRow: f, endColumn: m } = d;
|
|
19643
|
-
c =
|
|
19643
|
+
c = Ju({
|
|
19644
19644
|
startRow: u,
|
|
19645
19645
|
startColumn: h,
|
|
19646
19646
|
endRow: f,
|
|
@@ -19723,7 +19723,7 @@ var Fm = Object.defineProperty, sP = Object.getOwnPropertyDescriptor, iP = (s, e
|
|
|
19723
19723
|
(r = s[o]) && (i = (n ? r(e, t, i) : r(i)) || i);
|
|
19724
19724
|
return n && i && Fm(e, t, i), i;
|
|
19725
19725
|
}, Ol = (s, e) => (t, n) => e(t, n, s), Xm = (s, e, t) => iP(s, typeof e != "symbol" ? e + "" : e, t);
|
|
19726
|
-
let Ir = class extends
|
|
19726
|
+
let Ir = class extends Fu {
|
|
19727
19727
|
constructor(s = {}, e, t, n) {
|
|
19728
19728
|
super(), this._config = s, this._injector = e, this._renderManagerService = t, this._univerInstanceService = n, this._config = _e.deepMerge({}, Om, this._config);
|
|
19729
19729
|
}
|
|
@@ -19838,7 +19838,7 @@ let Ir = class extends Xu {
|
|
|
19838
19838
|
Xm(Ir, "pluginName", "SHEET_UI_PLUGIN");
|
|
19839
19839
|
Xm(Ir, "type", x.UNIVER_SHEET);
|
|
19840
19840
|
Ir = oP([
|
|
19841
|
-
|
|
19841
|
+
Xu(bh),
|
|
19842
19842
|
Ol(1, H(vt)),
|
|
19843
19843
|
Ol(2, Oe),
|
|
19844
19844
|
Ol(3, B)
|
|
@@ -20441,7 +20441,7 @@ let Bi = class extends ue {
|
|
|
20441
20441
|
});
|
|
20442
20442
|
}
|
|
20443
20443
|
_initWorkbenchParts() {
|
|
20444
|
-
this._uiPartsService.registerComponent(
|
|
20444
|
+
this._uiPartsService.registerComponent(Yo.HEADER, () => Zo(mP, this._injector));
|
|
20445
20445
|
}
|
|
20446
20446
|
_initFocusHandler() {
|
|
20447
20447
|
this.disposeWithMe(
|
|
@@ -20809,7 +20809,7 @@ let yr = class extends Qh {
|
|
|
20809
20809
|
subUnitId: o,
|
|
20810
20810
|
type: t,
|
|
20811
20811
|
selections: e.map(
|
|
20812
|
-
(r) =>
|
|
20812
|
+
(r) => lh(r)
|
|
20813
20813
|
)
|
|
20814
20814
|
});
|
|
20815
20815
|
}
|
|
@@ -21049,7 +21049,7 @@ var zm = Object.defineProperty, PP = Object.getOwnPropertyDescriptor, TP = (s, e
|
|
|
21049
21049
|
(r = s[o]) && (i = (n ? r(e, t, i) : r(i)) || i);
|
|
21050
21050
|
return n && i && zm(e, t, i), i;
|
|
21051
21051
|
}, Al = (s, e) => (t, n) => e(t, n, s), Ym = (s, e, t) => TP(s, typeof e != "symbol" ? e + "" : e, t);
|
|
21052
|
-
let Pr = class extends
|
|
21052
|
+
let Pr = class extends Fu {
|
|
21053
21053
|
constructor(s = {}, e, t, n) {
|
|
21054
21054
|
super(), this._config = s, this._injector = e, this._renderManagerService = t, this._univerInstanceService = n, this._config = _e.deepMerge({}, Om, this._config);
|
|
21055
21055
|
}
|
|
@@ -21158,14 +21158,14 @@ let Pr = class extends Xu {
|
|
|
21158
21158
|
Ym(Pr, "pluginName", "SHEET_UI_PLUGIN");
|
|
21159
21159
|
Ym(Pr, "type", x.UNIVER_SHEET);
|
|
21160
21160
|
Pr = MP([
|
|
21161
|
-
|
|
21161
|
+
Xu(bh, Lp),
|
|
21162
21162
|
Al(1, H(vt)),
|
|
21163
21163
|
Al(2, Oe),
|
|
21164
21164
|
Al(3, B)
|
|
21165
21165
|
], Pr);
|
|
21166
21166
|
export {
|
|
21167
21167
|
Ee as APPLY_TYPE,
|
|
21168
|
-
|
|
21168
|
+
KP as AddRangeProtectionCommand,
|
|
21169
21169
|
$c as AddRangeProtectionFromContextMenuCommand,
|
|
21170
21170
|
td as AddRangeProtectionFromSheetBarCommand,
|
|
21171
21171
|
Jc as AddRangeProtectionFromToolbarCommand,
|
|
@@ -21193,7 +21193,7 @@ export {
|
|
|
21193
21193
|
Qr as DeleteRangeMoveLeftConfirmCommand,
|
|
21194
21194
|
Ji as DeleteRangeMoveUpConfirmCommand,
|
|
21195
21195
|
sd as DeleteRangeProtectionFromContextMenuCommand,
|
|
21196
|
-
|
|
21196
|
+
JP as DeleteRangeSelectionCommand,
|
|
21197
21197
|
Xs as DeleteWorksheetProtectionCommand,
|
|
21198
21198
|
Qc as DeleteWorksheetProtectionFormSheetBarCommand,
|
|
21199
21199
|
so as DragManagerService,
|
|
@@ -21229,8 +21229,8 @@ export {
|
|
|
21229
21229
|
Dc as RemoveRowConfirmCommand,
|
|
21230
21230
|
Wc as RemoveSheetConfirmCommand,
|
|
21231
21231
|
jc as RenameSheetOperation,
|
|
21232
|
-
|
|
21233
|
-
|
|
21232
|
+
YP as ResetScrollCommand,
|
|
21233
|
+
zP as SHEET_UI_PLUGIN_NAME,
|
|
21234
21234
|
Ze as SHEET_VIEW_KEY,
|
|
21235
21235
|
mn as ScrollCommand,
|
|
21236
21236
|
Bh as ScrollToCellCommand,
|
|
@@ -21250,7 +21250,7 @@ export {
|
|
|
21250
21250
|
wc as SetRangeFontFamilyCommand,
|
|
21251
21251
|
bc as SetRangeFontSizeCommand,
|
|
21252
21252
|
So as SetRangeItalicCommand,
|
|
21253
|
-
|
|
21253
|
+
$P as SetRangeProtectionCommand,
|
|
21254
21254
|
id as SetRangeProtectionFromContextMenuCommand,
|
|
21255
21255
|
Co as SetRangeStrickThroughCommand,
|
|
21256
21256
|
af as SetRangeSubscriptCommand,
|
|
@@ -21299,21 +21299,21 @@ export {
|
|
|
21299
21299
|
yt as deriveStateFromActiveSheet$,
|
|
21300
21300
|
vS as expandToContinuousRange,
|
|
21301
21301
|
Kh as getAllSelection,
|
|
21302
|
-
|
|
21302
|
+
ZP as getAutoFillRepeatRange,
|
|
21303
21303
|
kd as getCoordByCell,
|
|
21304
21304
|
pn as getCoordByOffset,
|
|
21305
21305
|
ae as getCurrentRangeDisable$,
|
|
21306
21306
|
kh as getEditorObject,
|
|
21307
|
-
|
|
21307
|
+
qP as getRepeatRange,
|
|
21308
21308
|
wn as getSheetObject,
|
|
21309
21309
|
fc as getTopLeftSelection,
|
|
21310
21310
|
Go as getTransformCoord,
|
|
21311
21311
|
Jd as mergeSetRangeValues,
|
|
21312
21312
|
wi as rangeToDiscreteRange,
|
|
21313
21313
|
$s as useActiveWorkbook,
|
|
21314
|
-
|
|
21314
|
+
QP as useActiveWorksheet,
|
|
21315
21315
|
VI as useHighlightRange,
|
|
21316
21316
|
uo as virtualizeDiscreteRanges,
|
|
21317
|
-
|
|
21317
|
+
GP as whenFormulaEditorActivated,
|
|
21318
21318
|
Me as whenSheetEditorFocused
|
|
21319
21319
|
};
|