@univerjs/docs-ui 0.2.6 → 0.2.7
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 +7 -4
- package/lib/es/index.js +1907 -640
- package/lib/index.css +1 -1
- package/lib/locale/en-US.json +38 -0
- package/lib/locale/ru-RU.json +39 -1
- package/lib/locale/vi-VN.json +39 -1
- package/lib/locale/zh-CN.json +40 -2
- package/lib/locale/zh-TW.json +39 -1
- package/lib/types/basics/interfaces/component-config/i-doc-ui-plugin-config.d.ts +2 -0
- package/lib/types/commands/commands/doc-paragraph-setting.command.d.ts +4 -0
- package/lib/types/commands/commands/doc-tab.command.d.ts +8 -0
- package/lib/types/commands/operations/doc-create-table.operation.d.ts +3 -0
- package/lib/types/commands/operations/doc-paragraph-setting-panel.operation.d.ts +3 -0
- package/lib/types/components/list-type-picker/index.d.ts +18 -0
- package/lib/types/components/list-type-picker/picker.d.ts +17 -0
- package/lib/types/controllers/doc-auto-format.controller.d.ts +11 -0
- package/lib/types/controllers/doc-header-footer.controller.d.ts +0 -1
- package/lib/types/controllers/doc-paragraph-setting.controller.d.ts +11 -0
- package/lib/types/controllers/doc-table.controller.d.ts +12 -0
- package/lib/types/controllers/doc-ui.controller.d.ts +12 -10
- package/lib/types/controllers/menu/context-menu.d.ts +11 -1
- package/lib/types/controllers/menu/menu.d.ts +9 -4
- package/lib/types/controllers/render-controllers/doc-checklist.render-controller.d.ts +15 -0
- package/lib/types/controllers/render-controllers/doc.render-controller.d.ts +3 -2
- package/lib/types/controllers/render-controllers/zoom.render-controller.d.ts +3 -3
- package/lib/types/docs-ui-plugin.d.ts +6 -3
- package/lib/types/index.d.ts +2 -0
- package/lib/types/locale/zh-CN.d.ts +38 -0
- package/lib/types/services/clipboard/clipboard.service.d.ts +2 -2
- package/lib/types/services/clipboard/copy-content-cache.d.ts +3 -3
- package/lib/types/services/clipboard/html-to-udm/converter.d.ts +5 -2
- package/lib/types/services/clipboard/html-to-udm/paste-plugins/type.d.ts +2 -2
- package/lib/types/services/clipboard/udm-to-html/convertor.d.ts +1 -1
- package/lib/types/services/doc-hover-manager.service.d.ts +3 -1
- package/lib/types/shortcuts/format.shortcut.d.ts +4 -0
- package/lib/types/views/paragraph-setting/Setting.d.ts +17 -0
- package/lib/types/views/paragraph-setting/hook/utils.d.ts +11 -0
- package/lib/types/views/paragraph-setting/index.d.ts +3 -0
- package/lib/types/views/table/create/TableCreate.d.ts +11 -0
- package/lib/types/views/table/create/component-name.d.ts +16 -0
- package/lib/umd/index.js +7 -4
- package/package.json +16 -13
- /package/lib/types/{controllers/shortcut → shortcuts}/toolbar.shortcut.d.ts +0 -0
package/lib/es/index.js
CHANGED
|
@@ -2,13 +2,14 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
|
3
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
5
|
-
import { FOCUSING_DOC, FOCUSING_UNIVER_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, Tools, LRUMap, BaselineOffset, BooleanNumber, ColorKit, DataStreamTreeTokenType, CustomRangeType, skipParseTagNames, createIdentifier, Inject, IUniverInstanceService, ILogService, ICommandService, Disposable, SliceBodyType, normalizeBody, UniverInstanceType, toDisposable, RxDisposable, Direction, EDITOR_ACTIVATED, LocaleService, Injector, Optional, useDependency,
|
|
6
|
-
import { IClipboardInterfaceService, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, HTML_CLIPBOARD_MIME_TYPE, IEditorService, KeyCode, MetaKeys, ILayoutService, ISidebarService,
|
|
7
|
-
import { TextSelectionManagerService, DocCustomRangeService, CutContentCommand, InnerPasteCommand, getDeleteSelection, DocSkeletonManagerService, VIEWPORT_KEY, getDocObject, MoveCursorOperation, MoveSelectionOperation, SelectAllOperation,
|
|
8
|
-
import { pixelToPt, ptToPixel, NodePositionConvertToCursor, getAnchorBounding, IRenderManagerService, ITextSelectionRenderManager, Shape, DocumentEditArea, PageLayoutType, Vector2, Rect, Path, ScrollBar, Viewport, Layer, Documents, DocBackground, CURSOR_TYPE, pxToNum, getLineBounding, TRANSFORM_CHANGE_OBSERVABLE_TYPE } from "@univerjs/engine-render";
|
|
9
|
-
import { takeUntil, Observable, combineLatest, fromEvent, BehaviorSubject,
|
|
10
|
-
import require$$0
|
|
11
|
-
import {
|
|
5
|
+
import { FOCUSING_DOC, FOCUSING_UNIVER_EDITOR, FOCUSING_COMMON_DRAWINGS, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, Tools, LRUMap, BaselineOffset, BooleanNumber, ColorKit, DataStreamTreeTokenType, CustomRangeType, skipParseTagNames, DataStreamTreeNodeType, createIdentifier, Inject, IUniverInstanceService, ILogService, ICommandService, Disposable, SliceBodyType, normalizeBody, UniverInstanceType, toDisposable, getBodySlice, RxDisposable, Direction, EDITOR_ACTIVATED, LocaleService, Injector, Optional, useDependency, DocumentFlavor, CommandType, JSONX, useObservable, PresetListType, ThemeService, HorizontalAlign, MemoryCursor, TextX, TextXActionType, UpdateDocsAttributeType, generateRandomId, OnLifecycle, LifecycleStages, connectInjector, IContextService, checkForSubstrings, IConfigService, isInternalEditorID, DisposableCollection, DEFAULT_EMPTY_DOCUMENT_VALUE, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DOCS_ZEN_EDITOR_UNIT_ID_KEY, fromEventSubject, QuickListTypeMap, Plugin, mergeOverrideWithDependencies, ObjectRelativeFromH, ObjectRelativeFromV } from "@univerjs/core";
|
|
6
|
+
import { IClipboardInterfaceService, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, HTML_CLIPBOARD_MIME_TYPE, IEditorService, KeyCode, MetaKeys, ILayoutService, ComponentManager, ISidebarService, IConfirmService, MenuGroup, MenuItemType, MenuPosition, getMenuHiddenObservable, FONT_FAMILY_LIST, FONT_SIZE_LIST, getHeaderFooterMenuHiddenObservable, CopyCommand, CutCommand, PasteCommand, FontFamily, FontFamilyItem, FontSize, BuiltInUIPart, IMenuService, IUIPartsService, IShortcutService, SetEditorResizeOperation, ICanvasPopupService, IContextMenuService } from "@univerjs/ui";
|
|
7
|
+
import { getEmptyTableCell, getEmptyTableRow, genTableSource, getTableColumn, TextSelectionManagerService, DocCustomRangeService, getCursorWhenDelete, CutContentCommand, InnerPasteCommand, getDeleteSelection, DocSkeletonManagerService, VIEWPORT_KEY, getDocObject, MoveCursorOperation, MoveSelectionOperation, SelectAllOperation, neoGetDocObject, RichTextEditingMutation, SetDocZoomRatioOperation, SetInlineFormatBoldCommand, SetInlineFormatItalicCommand, SetInlineFormatUnderlineCommand, SetInlineFormatStrikethroughCommand, SetInlineFormatSubscriptCommand, SetInlineFormatSuperscriptCommand, AlignLeftCommand, AlignRightCommand, AlignCenterCommand, AlignJustifyCommand, OrderListCommand, BulletListCommand, TabCommand, CreateDocTableCommand, SetTextSelectionsOperation, SetInlineFormatCommand, SetInlineFormatFontFamilyCommand, SetInlineFormatFontSizeCommand, SetInlineFormatTextColorCommand, AlignOperationCommand, CheckListCommand, ResetInlineFormatTextBackgroundColorCommand, SetInlineFormatTextBackgroundColorCommand, getCommandSkeleton, getParagraphsInRange, getParagraphsInRanges, serializeDocRange, getRichTextEditPath, DeleteLeftCommand, DocTableInsertRowAboveCommand, DocTableInsertRowBellowCommand, DocTableInsertColumnLeftCommand, DocTableInsertColumnRightCommand, DocTableDeleteRowsCommand, DocTableDeleteColumnsCommand, DocTableDeleteTableCommand, EnterCommand, DeleteRightCommand, CoverContentCommand, DOCS_COMPONENT_MAIN_LAYER_INDEX, DOCS_COMPONENT_HEADER_LAYER_INDEX, DOCS_VIEW_KEY, DOCS_COMPONENT_DEFAULT_Z_INDEX, DOCS_COMPONENT_BACKGROUND_LAYER_INDEX, SetDocZoomRatioCommand, ChangeListNestingLevelCommand, ChangeListNestingLevelType, AfterSpaceCommand, QuickListCommand, ListOperationCommand, BreakLineCommand, DocAutoFormatService, ToggleCheckListCommand, DocTableTabCommand, DocTableShiftTabCommand, DocInterceptorService } from "@univerjs/docs";
|
|
8
|
+
import { pixelToPt, ptToPixel, parseDataStreamToTree, DOC_RANGE_TYPE, NodePositionConvertToCursor, getAnchorBounding, IRenderManagerService, ITextSelectionRenderManager, Shape, DocumentEditArea, PageLayoutType, Vector2, Rect, Path, getNumberUnitValue, ScrollBar, Viewport, Layer, Documents, DocBackground, CURSOR_TYPE, pxToNum, getLineBounding, TRANSFORM_CHANGE_OBSERVABLE_TYPE, getParagraphByGlyph, GlyphType, isInSameTableCell } from "@univerjs/engine-render";
|
|
9
|
+
import { takeUntil, Observable, combineLatest, map, fromEvent, BehaviorSubject, filter, throttleTime, Subject, debounceTime } from "rxjs";
|
|
10
|
+
import * as require$$0 from "react";
|
|
11
|
+
import require$$0__default, { forwardRef, useRef, createElement, useState, useEffect, useMemo, useCallback } from "react";
|
|
12
|
+
import { Checkbox, InputNumber, Button, Slider, Tooltip, ColorPicker } from "@univerjs/design";
|
|
12
13
|
import clsx from "clsx";
|
|
13
14
|
function whenDocAndEditorFocused(contextService) {
|
|
14
15
|
return contextService.getContextValue(FOCUSING_DOC) && contextService.getContextValue(FOCUSING_UNIVER_EDITOR) && !contextService.getContextValue(FOCUSING_COMMON_DRAWINGS);
|
|
@@ -135,8 +136,9 @@ function matchFilter(node, filter2) {
|
|
|
135
136
|
return typeof filter2 == "string" ? tagName === filter2 : Array.isArray(filter2) ? filter2.some((name) => name === tagName) : filter2(node);
|
|
136
137
|
}
|
|
137
138
|
__name(matchFilter, "matchFilter");
|
|
138
|
-
const _HtmlToUDMService = class _HtmlToUDMService {
|
|
139
|
+
const DEFAULT_TABLE_WIDTH = 600, _HtmlToUDMService = class _HtmlToUDMService {
|
|
139
140
|
constructor() {
|
|
141
|
+
__publicField(this, "_tableCache", []);
|
|
140
142
|
__publicField(this, "_styleCache", /* @__PURE__ */ new Map());
|
|
141
143
|
__publicField(this, "_styleRules", []);
|
|
142
144
|
__publicField(this, "_afterProcessRules", []);
|
|
@@ -147,37 +149,41 @@ const _HtmlToUDMService = class _HtmlToUDMService {
|
|
|
147
149
|
this._pluginList.push(plugin);
|
|
148
150
|
}
|
|
149
151
|
convert(html) {
|
|
150
|
-
const pastePlugin = _HtmlToUDMService._pluginList.find((plugin) => plugin.checkPasteType(html)), dom = parseToDom(html),
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
const pastePlugin = _HtmlToUDMService._pluginList.find((plugin) => plugin.checkPasteType(html)), dom = parseToDom(html), docData = {
|
|
153
|
+
body: {
|
|
154
|
+
dataStream: "",
|
|
155
|
+
textRuns: []
|
|
156
|
+
},
|
|
157
|
+
tableSource: {}
|
|
153
158
|
};
|
|
154
|
-
return pastePlugin && (this._styleRules = [...pastePlugin.stylesRules], this._afterProcessRules = [...pastePlugin.afterProcessRules]), this._styleCache.clear(), this._process(null, dom
|
|
159
|
+
return pastePlugin && (this._styleRules = [...pastePlugin.stylesRules], this._afterProcessRules = [...pastePlugin.afterProcessRules]), this._tableCache = [], this._styleCache.clear(), this._process(null, dom.childNodes, docData), this._styleCache.clear(), this._styleRules = [], this._afterProcessRules = [], docData;
|
|
155
160
|
}
|
|
156
161
|
_process(parent, nodes, doc) {
|
|
157
|
-
var
|
|
162
|
+
var _a23, _b, _c;
|
|
163
|
+
const body = doc.body;
|
|
158
164
|
for (const node of nodes)
|
|
159
165
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
160
|
-
if (((
|
|
166
|
+
if (((_a23 = node.nodeValue) == null ? void 0 : _a23.trim()) === "")
|
|
161
167
|
continue;
|
|
162
168
|
let text = (_b = node.nodeValue) == null ? void 0 : _b.replace(/[\r\n]/g, ""), style;
|
|
163
169
|
if (parent && parent.nodeType === Node.ELEMENT_NODE && parent.tagName.toUpperCase() === "A") {
|
|
164
170
|
const id = Tools.generateRandomId();
|
|
165
|
-
text = `${DataStreamTreeTokenType.CUSTOM_RANGE_START}${text}${DataStreamTreeTokenType.CUSTOM_RANGE_END}`,
|
|
166
|
-
...(_c =
|
|
171
|
+
text = `${DataStreamTreeTokenType.CUSTOM_RANGE_START}${text}${DataStreamTreeTokenType.CUSTOM_RANGE_END}`, body.customRanges = [
|
|
172
|
+
...(_c = body.customRanges) != null ? _c : [],
|
|
167
173
|
{
|
|
168
|
-
startIndex:
|
|
169
|
-
endIndex:
|
|
174
|
+
startIndex: body.dataStream.length,
|
|
175
|
+
endIndex: body.dataStream.length + text.length - 1,
|
|
170
176
|
rangeId: id,
|
|
171
177
|
rangeType: CustomRangeType.HYPERLINK
|
|
172
178
|
}
|
|
173
|
-
],
|
|
174
|
-
...
|
|
179
|
+
], body.payloads = {
|
|
180
|
+
...body.payloads,
|
|
175
181
|
[id]: parent.href
|
|
176
182
|
};
|
|
177
183
|
}
|
|
178
|
-
parent && this._styleCache.has(parent) && (style = this._styleCache.get(parent)),
|
|
179
|
-
st:
|
|
180
|
-
ed:
|
|
184
|
+
parent && this._styleCache.has(parent) && (style = this._styleCache.get(parent)), body.dataStream += text, style && Object.getOwnPropertyNames(style).length && body.textRuns.push({
|
|
185
|
+
st: body.dataStream.length - text.length,
|
|
186
|
+
ed: body.dataStream.length,
|
|
181
187
|
ts: style
|
|
182
188
|
});
|
|
183
189
|
} else {
|
|
@@ -187,7 +193,7 @@ const _HtmlToUDMService = class _HtmlToUDMService {
|
|
|
187
193
|
const parentStyles = parent ? this._styleCache.get(parent) : {}, styleRule = this._styleRules.find(({ filter: filter2 }) => matchFilter(node, filter2)), nodeStyles = styleRule ? styleRule.getStyle(node) : extractNodeStyle(node);
|
|
188
194
|
this._styleCache.set(node, { ...parentStyles, ...nodeStyles });
|
|
189
195
|
const { childNodes } = node;
|
|
190
|
-
this._process(node, childNodes, doc);
|
|
196
|
+
this._processBeforeTable(node, doc), this._process(node, childNodes, doc), this._processAfterTable(node, doc);
|
|
191
197
|
const afterProcessRule = this._afterProcessRules.find(
|
|
192
198
|
({ filter: filter2 }) => matchFilter(node, filter2)
|
|
193
199
|
);
|
|
@@ -195,6 +201,61 @@ const _HtmlToUDMService = class _HtmlToUDMService {
|
|
|
195
201
|
}
|
|
196
202
|
}
|
|
197
203
|
}
|
|
204
|
+
_processBeforeTable(node, doc) {
|
|
205
|
+
var _a23;
|
|
206
|
+
const tagName = node.tagName.toUpperCase(), body = doc.body;
|
|
207
|
+
switch (tagName) {
|
|
208
|
+
case "TABLE": {
|
|
209
|
+
body.dataStream[body.dataStream.length - 1] !== "\r" && (body.dataStream += "\r", (_a23 = body.paragraphs) == null || _a23.push({
|
|
210
|
+
startIndex: body.dataStream.length - 1
|
|
211
|
+
}));
|
|
212
|
+
const table = genTableSource(0, 0, DEFAULT_TABLE_WIDTH);
|
|
213
|
+
this._tableCache.push({
|
|
214
|
+
table,
|
|
215
|
+
startIndex: body.dataStream.length
|
|
216
|
+
}), body.dataStream += DataStreamTreeTokenType.TABLE_START;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
case "TR": {
|
|
220
|
+
const row = getEmptyTableRow(0);
|
|
221
|
+
this._tableCache[this._tableCache.length - 1].table.tableRows.push(row), body.dataStream += DataStreamTreeTokenType.TABLE_ROW_START;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
case "TD": {
|
|
225
|
+
const cell = getEmptyTableCell(), lastTable = this._tableCache[this._tableCache.length - 1].table;
|
|
226
|
+
lastTable.tableRows[lastTable.tableRows.length - 1].tableCells.push(cell), body.dataStream += DataStreamTreeTokenType.TABLE_CELL_START;
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
_processAfterTable(node, doc) {
|
|
232
|
+
var _a23;
|
|
233
|
+
const tagName = node.tagName.toUpperCase(), body = doc.body;
|
|
234
|
+
doc.tableSource == null && (doc.tableSource = {}), body.tables == null && (body.tables = []), body.sectionBreaks == null && (body.sectionBreaks = []);
|
|
235
|
+
const { tableSource } = doc;
|
|
236
|
+
switch (tagName) {
|
|
237
|
+
case "TABLE": {
|
|
238
|
+
const tableCache = this._tableCache.pop(), { startIndex, table } = tableCache, colCount = table.tableRows[0].tableCells.length, tableColumn = getTableColumn(DEFAULT_TABLE_WIDTH / colCount), tableColumns = [...new Array(colCount).fill(null).map(() => Tools.deepClone(tableColumn))];
|
|
239
|
+
table.tableColumns = tableColumns, tableSource[table.tableId] = table, body.dataStream += DataStreamTreeTokenType.TABLE_END, body.tables.push({
|
|
240
|
+
startIndex,
|
|
241
|
+
endIndex: body.dataStream.length - 1,
|
|
242
|
+
tableId: table.tableId
|
|
243
|
+
});
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
case "TR": {
|
|
247
|
+
body.dataStream += DataStreamTreeTokenType.TABLE_ROW_END;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
case "TD": {
|
|
251
|
+
(_a23 = body.sectionBreaks) == null || _a23.push({
|
|
252
|
+
startIndex: body.dataStream.length
|
|
253
|
+
}), body.dataStream += `
|
|
254
|
+
${DataStreamTreeTokenType.TABLE_CELL_END}`;
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
198
259
|
};
|
|
199
260
|
__name(_HtmlToUDMService, "HtmlToUDMService"), __publicField(_HtmlToUDMService, "_pluginList", []);
|
|
200
261
|
let HtmlToUDMService = _HtmlToUDMService;
|
|
@@ -224,9 +285,10 @@ const wordPastePlugin$1 = {
|
|
|
224
285
|
return el.tagName === "DIV" && /ace-line/i.test(el.className);
|
|
225
286
|
},
|
|
226
287
|
handler(doc) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
288
|
+
const body = doc.body;
|
|
289
|
+
body.paragraphs == null && (body.paragraphs = []), body.paragraphs.push({
|
|
290
|
+
startIndex: body.dataStream.length
|
|
291
|
+
}), body.dataStream += "\r";
|
|
230
292
|
}
|
|
231
293
|
}
|
|
232
294
|
]
|
|
@@ -247,8 +309,8 @@ function getParagraphStyle(el) {
|
|
|
247
309
|
break;
|
|
248
310
|
}
|
|
249
311
|
case "line-height": {
|
|
250
|
-
|
|
251
|
-
paragraphStyle.lineSpacing = lineHeightValue;
|
|
312
|
+
let lineHeightValue = Number.parseFloat(cssValue);
|
|
313
|
+
cssValue.endsWith("%") && (lineHeightValue /= 100), paragraphStyle.lineSpacing = lineHeightValue;
|
|
252
314
|
break;
|
|
253
315
|
}
|
|
254
316
|
}
|
|
@@ -276,11 +338,12 @@ const wordPastePlugin = {
|
|
|
276
338
|
return el.tagName === "P";
|
|
277
339
|
},
|
|
278
340
|
handler(doc, el) {
|
|
279
|
-
|
|
341
|
+
const body = doc.body;
|
|
342
|
+
body.paragraphs == null && (body.paragraphs = []);
|
|
280
343
|
const paragraph = {
|
|
281
|
-
startIndex:
|
|
344
|
+
startIndex: body.dataStream.length
|
|
282
345
|
}, paragraphStyle = getParagraphStyle(el);
|
|
283
|
-
paragraphStyle && (paragraph.paragraphStyle = paragraphStyle),
|
|
346
|
+
paragraphStyle && (paragraph.paragraphStyle = paragraphStyle), body.paragraphs.push(paragraph), body.dataStream += "\r";
|
|
284
347
|
}
|
|
285
348
|
}
|
|
286
349
|
]
|
|
@@ -296,11 +359,12 @@ const wordPastePlugin = {
|
|
|
296
359
|
return el.tagName === "P" && /UniverNormal/i.test(el.className);
|
|
297
360
|
},
|
|
298
361
|
handler(doc, el) {
|
|
299
|
-
|
|
362
|
+
const body = doc.body;
|
|
363
|
+
body.paragraphs == null && (body.paragraphs = []);
|
|
300
364
|
const paragraph = {
|
|
301
|
-
startIndex:
|
|
365
|
+
startIndex: body.dataStream.length
|
|
302
366
|
}, paragraphStyle = getParagraphStyle(el);
|
|
303
|
-
paragraphStyle && (paragraph.paragraphStyle = paragraphStyle),
|
|
367
|
+
paragraphStyle && (paragraph.paragraphStyle = paragraphStyle), body.paragraphs.push(paragraph), body.dataStream += "\r";
|
|
304
368
|
}
|
|
305
369
|
}
|
|
306
370
|
]
|
|
@@ -330,42 +394,102 @@ function getBodySliceHtml(body, startIndex, endIndex) {
|
|
|
330
394
|
return cursorIndex !== endIndex && spanList.push(dataStream.slice(cursorIndex, endIndex)), spanList.join("");
|
|
331
395
|
}
|
|
332
396
|
__name(getBodySliceHtml, "getBodySliceHtml");
|
|
333
|
-
function convertBodyToHtml(body
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
}
|
|
344
|
-
|
|
397
|
+
function convertBodyToHtml(body) {
|
|
398
|
+
const { paragraphs = [], sectionBreaks = [] } = body;
|
|
399
|
+
let { dataStream } = body;
|
|
400
|
+
dataStream.endsWith(`\r
|
|
401
|
+
`) || (dataStream += `\r
|
|
402
|
+
`, paragraphs.push({
|
|
403
|
+
startIndex: dataStream.length - 2
|
|
404
|
+
}), sectionBreaks.push({
|
|
405
|
+
startIndex: dataStream.length - 1
|
|
406
|
+
}), body.dataStream = dataStream, body.paragraphs = paragraphs, body.sectionBreaks = sectionBreaks);
|
|
407
|
+
const result = { html: "" }, nodeList = parseDataStreamToTree(dataStream);
|
|
408
|
+
for (const node of nodeList)
|
|
409
|
+
processNode(node, body, result);
|
|
410
|
+
return result.html;
|
|
345
411
|
}
|
|
346
412
|
__name(convertBodyToHtml, "convertBodyToHtml");
|
|
413
|
+
function processNode(node, body, result) {
|
|
414
|
+
var _a23;
|
|
415
|
+
switch (node.nodeType) {
|
|
416
|
+
case DataStreamTreeNodeType.SECTION_BREAK: {
|
|
417
|
+
for (const n2 of node.children)
|
|
418
|
+
processNode(n2, body, result);
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
421
|
+
case DataStreamTreeNodeType.PARAGRAPH: {
|
|
422
|
+
const { children, startIndex, endIndex } = node, paragraph = (_a23 = body.paragraphs.find((p2) => p2.startIndex === endIndex)) != null ? _a23 : {}, { paragraphStyle = {} } = paragraph, { spaceAbove, spaceBelow, lineSpacing } = paragraphStyle, style = [];
|
|
423
|
+
if (spaceAbove != null && (typeof spaceAbove == "number" ? style.push(`margin-top: ${spaceAbove}px`) : style.push(`margin-top: ${spaceAbove.v}px`)), spaceBelow != null && (typeof spaceBelow == "number" ? style.push(`margin-bottom: ${spaceBelow}px`) : style.push(`margin-bottom: ${spaceBelow.v}px`)), lineSpacing != null && style.push(`line-height: ${lineSpacing}`), result.html += `<p class="UniverNormal" ${style.length ? `style="${style.join("; ")};"` : ""}>`, children.length)
|
|
424
|
+
for (const table of children)
|
|
425
|
+
processNode(table, body, result);
|
|
426
|
+
result.html += `${getBodySliceHtml(body, startIndex, endIndex)}</p>`;
|
|
427
|
+
break;
|
|
428
|
+
}
|
|
429
|
+
case DataStreamTreeNodeType.TABLE: {
|
|
430
|
+
const { children } = node;
|
|
431
|
+
result.html += '<table class="UniverTable" style="width: 100%; border-collapse: collapse;"><tbody>';
|
|
432
|
+
for (const row of children)
|
|
433
|
+
processNode(row, body, result);
|
|
434
|
+
result.html += "</tbody></table>";
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
437
|
+
case DataStreamTreeNodeType.TABLE_ROW: {
|
|
438
|
+
const { children } = node;
|
|
439
|
+
result.html += '<tr class="UniverTableRow">';
|
|
440
|
+
for (const cell of children)
|
|
441
|
+
processNode(cell, body, result);
|
|
442
|
+
result.html += "</tr>";
|
|
443
|
+
break;
|
|
444
|
+
}
|
|
445
|
+
case DataStreamTreeNodeType.TABLE_CELL: {
|
|
446
|
+
const { children } = node;
|
|
447
|
+
result.html += '<td class="UniverTableCell">';
|
|
448
|
+
for (const n2 of children)
|
|
449
|
+
processNode(n2, body, result);
|
|
450
|
+
result.html += "</td>";
|
|
451
|
+
break;
|
|
452
|
+
}
|
|
453
|
+
default:
|
|
454
|
+
throw new Error(`Unknown node type: ${node.nodeType}`);
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
__name(processNode, "processNode");
|
|
347
458
|
const _UDMToHtmlService = class _UDMToHtmlService {
|
|
348
459
|
convert(bodyList) {
|
|
349
460
|
if (bodyList.length === 0)
|
|
350
461
|
throw new Error("The bodyList length at least to be 1");
|
|
351
|
-
if (bodyList.length === 1)
|
|
352
|
-
return convertBodyToHtml(bodyList[0]);
|
|
353
462
|
let html = "";
|
|
354
|
-
for (const body of bodyList)
|
|
355
|
-
html +=
|
|
463
|
+
for (const body of Tools.deepClone(bodyList))
|
|
464
|
+
html += convertBodyToHtml(body);
|
|
356
465
|
return html;
|
|
357
466
|
}
|
|
358
467
|
};
|
|
359
468
|
__name(_UDMToHtmlService, "UDMToHtmlService");
|
|
360
469
|
let UDMToHtmlService = _UDMToHtmlService;
|
|
361
|
-
var __defProp$
|
|
362
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
470
|
+
var __defProp$l = Object.defineProperty, __getOwnPropDesc$l = Object.getOwnPropertyDescriptor, __decorateClass$l = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
471
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$l(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
363
472
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
364
|
-
return kind && result && __defProp$
|
|
365
|
-
}, "__decorateClass$
|
|
473
|
+
return kind && result && __defProp$l(target, key, result), result;
|
|
474
|
+
}, "__decorateClass$l"), __decorateParam$l = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$l");
|
|
366
475
|
HtmlToUDMService.use(PastePluginWord);
|
|
367
476
|
HtmlToUDMService.use(PastePluginLark);
|
|
368
477
|
HtmlToUDMService.use(PastePluginUniver);
|
|
478
|
+
function getTableSlice(body, start, end) {
|
|
479
|
+
var _a23, _b, _c;
|
|
480
|
+
const bodySlice = getBodySlice(body, start, end + 2), dataStream = DataStreamTreeTokenType.TABLE_START + DataStreamTreeTokenType.TABLE_ROW_START + DataStreamTreeTokenType.TABLE_CELL_START + bodySlice.dataStream + DataStreamTreeTokenType.TABLE_CELL_END + DataStreamTreeTokenType.TABLE_ROW_END + DataStreamTreeTokenType.TABLE_END;
|
|
481
|
+
return bodySlice.dataStream = dataStream, (_a23 = bodySlice.textRuns) == null || _a23.forEach((textRun) => {
|
|
482
|
+
const { st, ed } = textRun;
|
|
483
|
+
textRun.st = st + 3, textRun.ed = ed + 3;
|
|
484
|
+
}), (_b = bodySlice.tables) == null || _b.forEach((table) => {
|
|
485
|
+
const { startIndex, endIndex } = table;
|
|
486
|
+
table.startIndex = startIndex + 3, table.endIndex = endIndex + 3;
|
|
487
|
+
}), (_c = bodySlice.paragraphs) == null || _c.forEach((paragraph) => {
|
|
488
|
+
const { startIndex } = paragraph;
|
|
489
|
+
paragraph.startIndex = startIndex + 3;
|
|
490
|
+
}), bodySlice;
|
|
491
|
+
}
|
|
492
|
+
__name(getTableSlice, "getTableSlice");
|
|
369
493
|
const IDocClipboardService = createIdentifier("doc.clipboard-service");
|
|
370
494
|
var _a;
|
|
371
495
|
let DocClipboardService = (_a = class extends Disposable {
|
|
@@ -377,12 +501,12 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
377
501
|
this._univerInstanceService = _univerInstanceService, this._logService = _logService, this._commandService = _commandService, this._clipboardInterfaceService = _clipboardInterfaceService, this._textSelectionManagerService = _textSelectionManagerService, this._docCustomRangeService = _docCustomRangeService;
|
|
378
502
|
}
|
|
379
503
|
async copy(sliceType = SliceBodyType.copy) {
|
|
380
|
-
const
|
|
381
|
-
if (
|
|
504
|
+
const { bodyList, needCache } = this._getDocumentBodyInRanges(sliceType);
|
|
505
|
+
if (bodyList.length === 0)
|
|
382
506
|
return !1;
|
|
383
507
|
try {
|
|
384
|
-
const activeRange = this._textSelectionManagerService.
|
|
385
|
-
this._setClipboardData(
|
|
508
|
+
const activeRange = this._textSelectionManagerService.getActiveTextRangeWithStyle(), isCopyInHeaderFooter = !!(activeRange != null && activeRange.segmentId);
|
|
509
|
+
this._setClipboardData(bodyList, !isCopyInHeaderFooter && needCache);
|
|
386
510
|
} catch (e) {
|
|
387
511
|
return this._logService.error("[DocClipboardService] copy failed", e), !1;
|
|
388
512
|
}
|
|
@@ -392,51 +516,57 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
392
516
|
return this._cut();
|
|
393
517
|
}
|
|
394
518
|
async paste(items) {
|
|
395
|
-
const
|
|
396
|
-
return this._paste(
|
|
519
|
+
const partDocData = await this._genDocDataFromClipboardItems(items);
|
|
520
|
+
return this._paste(partDocData);
|
|
397
521
|
}
|
|
398
522
|
async legacyPaste(html, text) {
|
|
399
|
-
const
|
|
400
|
-
return this._paste(
|
|
523
|
+
const partDocData = this._genDocDataFromHtmlAndText(html, text);
|
|
524
|
+
return this._paste(partDocData);
|
|
401
525
|
}
|
|
402
526
|
async _cut() {
|
|
403
|
-
var
|
|
527
|
+
var _a23, _b, _c;
|
|
404
528
|
const {
|
|
405
529
|
segmentId,
|
|
406
530
|
endOffset: activeEndOffset,
|
|
407
531
|
style
|
|
408
|
-
} = (
|
|
409
|
-
if (segmentId == null && this._logService.error("[DocClipboardController] segmentId is not existed"),
|
|
532
|
+
} = (_a23 = this._textSelectionManagerService.getActiveTextRangeWithStyle()) != null ? _a23 : {}, textRanges = (_b = this._textSelectionManagerService.getCurrentTextRanges()) != null ? _b : [], rectRanges = (_c = this._textSelectionManagerService.getCurrentRectRanges()) != null ? _c : [];
|
|
533
|
+
if (segmentId == null && this._logService.error("[DocClipboardController] segmentId is not existed"), textRanges.length === 0 && rectRanges.length === 0)
|
|
410
534
|
return !1;
|
|
411
535
|
this.copy(SliceBodyType.cut);
|
|
412
536
|
try {
|
|
413
|
-
let cursor =
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
537
|
+
let cursor = 0;
|
|
538
|
+
if (rectRanges.length > 0)
|
|
539
|
+
cursor = getCursorWhenDelete(textRanges, rectRanges);
|
|
540
|
+
else if (activeEndOffset != null)
|
|
541
|
+
for (const range of textRanges) {
|
|
542
|
+
const { startOffset, endOffset } = range;
|
|
543
|
+
startOffset == null || endOffset == null || endOffset <= activeEndOffset && (cursor -= endOffset - startOffset);
|
|
544
|
+
}
|
|
545
|
+
const newTextRanges = [
|
|
419
546
|
{
|
|
420
547
|
startOffset: cursor,
|
|
421
548
|
endOffset: cursor,
|
|
422
549
|
style
|
|
423
550
|
}
|
|
424
551
|
];
|
|
425
|
-
return this._commandService.executeCommand(CutContentCommand.id, { segmentId, textRanges });
|
|
552
|
+
return this._commandService.executeCommand(CutContentCommand.id, { segmentId, textRanges: newTextRanges });
|
|
426
553
|
} catch {
|
|
427
554
|
return this._logService.error("[DocClipboardController] cut content failed"), !1;
|
|
428
555
|
}
|
|
429
556
|
}
|
|
430
|
-
async _paste(
|
|
431
|
-
var
|
|
557
|
+
async _paste(docData) {
|
|
558
|
+
var _a23, _b;
|
|
559
|
+
const { body: _body } = docData;
|
|
560
|
+
if (_body == null)
|
|
561
|
+
return !1;
|
|
432
562
|
let body = normalizeBody(_body);
|
|
433
|
-
const unitId = (
|
|
563
|
+
const unitId = (_a23 = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_DOC)) == null ? void 0 : _a23.getUnitId();
|
|
434
564
|
if (!unitId)
|
|
435
565
|
return !1;
|
|
436
566
|
this._clipboardHooks.forEach((hook) => {
|
|
437
567
|
hook.onBeforePaste && (body = hook.onBeforePaste(body));
|
|
438
568
|
}), body.customRanges = (_b = body.customRanges) == null ? void 0 : _b.map((range) => this._docCustomRangeService.copyCustomRange(unitId, range));
|
|
439
|
-
const activeRange = this._textSelectionManagerService.
|
|
569
|
+
const activeRange = this._textSelectionManagerService.getActiveTextRangeWithStyle(), { segmentId, endOffset: activeEndOffset, style } = activeRange || {}, ranges = this._textSelectionManagerService.getCurrentTextRanges();
|
|
440
570
|
if (segmentId == null && this._logService.error("[DocClipboardController] segmentId does not exist!"), activeEndOffset == null || ranges == null)
|
|
441
571
|
return !1;
|
|
442
572
|
try {
|
|
@@ -452,7 +582,14 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
452
582
|
style
|
|
453
583
|
}
|
|
454
584
|
];
|
|
455
|
-
return this._commandService.executeCommand(InnerPasteCommand.id, {
|
|
585
|
+
return this._commandService.executeCommand(InnerPasteCommand.id, {
|
|
586
|
+
doc: {
|
|
587
|
+
...docData,
|
|
588
|
+
body
|
|
589
|
+
},
|
|
590
|
+
segmentId,
|
|
591
|
+
textRanges
|
|
592
|
+
});
|
|
456
593
|
} catch {
|
|
457
594
|
return this._logService.error("[DocClipboardController]", "clipboard is empty."), !1;
|
|
458
595
|
}
|
|
@@ -461,7 +598,7 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
461
598
|
const copyId = genId(), text = documentBodyList.length > 1 ? documentBodyList.map((body) => body.dataStream).join(`
|
|
462
599
|
`) : documentBodyList[0].dataStream;
|
|
463
600
|
let html = this._umdToHtml.convert(documentBodyList);
|
|
464
|
-
return documentBodyList.length === 1 && needCache && (html = html.replace(/(<[a-z]+)/, (_p0, p1) => `${p1} data-copy-id="${copyId}"`), copyContentCache.set(copyId, documentBodyList[0])), this._clipboardInterfaceService.write(text, html);
|
|
601
|
+
return documentBodyList.length === 1 && needCache && (html = html.replace(/(<[a-z]+)/, (_p0, p1) => `${p1} data-copy-id="${copyId}"`), copyContentCache.set(copyId, { body: documentBodyList[0] })), this._clipboardInterfaceService.write(text, html);
|
|
465
602
|
}
|
|
466
603
|
addClipboardHook(hook) {
|
|
467
604
|
return this._clipboardHooks.push(hook), toDisposable(() => {
|
|
@@ -469,15 +606,33 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
469
606
|
index > -1 && this._clipboardHooks.splice(index, 1);
|
|
470
607
|
});
|
|
471
608
|
}
|
|
609
|
+
// eslint-disable-next-line max-lines-per-function
|
|
472
610
|
_getDocumentBodyInRanges(sliceType) {
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
611
|
+
var _a23;
|
|
612
|
+
const docDataModel = this._univerInstanceService.getCurrentUniverDocInstance(), allRanges = this._textSelectionManagerService.getDocRanges(), results = [];
|
|
613
|
+
let needCache = !0;
|
|
614
|
+
if (docDataModel == null || allRanges.length === 0)
|
|
615
|
+
return {
|
|
616
|
+
bodyList: results,
|
|
617
|
+
needCache
|
|
618
|
+
};
|
|
619
|
+
const segmentId = allRanges[0].segmentId, body = (_a23 = docDataModel == null ? void 0 : docDataModel.getSelfOrHeaderFooterModel(segmentId)) == null ? void 0 : _a23.getBody();
|
|
620
|
+
if (body == null)
|
|
621
|
+
return {
|
|
622
|
+
bodyList: results,
|
|
623
|
+
needCache
|
|
624
|
+
};
|
|
625
|
+
for (const range of allRanges) {
|
|
626
|
+
const { startOffset, endOffset, collapsed, rangeType } = range;
|
|
479
627
|
if (collapsed || startOffset == null || endOffset == null)
|
|
480
628
|
continue;
|
|
629
|
+
if (rangeType === DOC_RANGE_TYPE.RECT) {
|
|
630
|
+
needCache = !1;
|
|
631
|
+
const { spanEntireRow } = range;
|
|
632
|
+
let bodySlice;
|
|
633
|
+
bodySlice = getTableSlice(body, startOffset, endOffset), results.push(bodySlice);
|
|
634
|
+
continue;
|
|
635
|
+
}
|
|
481
636
|
const deleteRange = getDeleteSelection({ startOffset, endOffset, collapsed }, body), docBody = docDataModel.getSelfOrHeaderFooterModel(segmentId).sliceBody(deleteRange.startOffset, deleteRange.endOffset, sliceType);
|
|
482
637
|
if (docBody != null) {
|
|
483
638
|
if (docBody.customRanges) {
|
|
@@ -493,15 +648,18 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
493
648
|
results.push(docBody);
|
|
494
649
|
}
|
|
495
650
|
}
|
|
496
|
-
return
|
|
651
|
+
return {
|
|
652
|
+
bodyList: results,
|
|
653
|
+
needCache
|
|
654
|
+
};
|
|
497
655
|
}
|
|
498
|
-
async
|
|
656
|
+
async _genDocDataFromClipboardItems(items) {
|
|
499
657
|
try {
|
|
500
658
|
let html = "", text = "";
|
|
501
659
|
for (const clipboardItem of items)
|
|
502
660
|
for (const type of clipboardItem.types)
|
|
503
661
|
type === PLAIN_TEXT_CLIPBOARD_MIME_TYPE ? text = await clipboardItem.getType(type).then((blob) => blob && blob.text()) : type === HTML_CLIPBOARD_MIME_TYPE && (html = await clipboardItem.getType(type).then((blob) => blob && blob.text()));
|
|
504
|
-
return this.
|
|
662
|
+
return this._genDocDataFromHtmlAndText(html, text);
|
|
505
663
|
} catch (e) {
|
|
506
664
|
return Promise.reject(e);
|
|
507
665
|
}
|
|
@@ -532,10 +690,10 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
532
690
|
paragraphs
|
|
533
691
|
};
|
|
534
692
|
}
|
|
535
|
-
|
|
693
|
+
_genDocDataFromHtmlAndText(html, text) {
|
|
536
694
|
if (!html) {
|
|
537
695
|
if (text)
|
|
538
|
-
return this._generateBody(text);
|
|
696
|
+
return { body: this._generateBody(text) };
|
|
539
697
|
throw new Error("[DocClipboardService] html and text cannot be both empty!");
|
|
540
698
|
}
|
|
541
699
|
const copyId = extractId(html);
|
|
@@ -547,19 +705,19 @@ let DocClipboardService = (_a = class extends Disposable {
|
|
|
547
705
|
return this._htmlToUDM.convert(html);
|
|
548
706
|
}
|
|
549
707
|
}, __name(_a, "DocClipboardService"), _a);
|
|
550
|
-
DocClipboardService = __decorateClass$
|
|
551
|
-
__decorateParam$
|
|
552
|
-
__decorateParam$
|
|
553
|
-
__decorateParam$
|
|
554
|
-
__decorateParam$
|
|
555
|
-
__decorateParam$
|
|
556
|
-
__decorateParam$
|
|
708
|
+
DocClipboardService = __decorateClass$l([
|
|
709
|
+
__decorateParam$l(0, IUniverInstanceService),
|
|
710
|
+
__decorateParam$l(1, ILogService),
|
|
711
|
+
__decorateParam$l(2, ICommandService),
|
|
712
|
+
__decorateParam$l(3, IClipboardInterfaceService),
|
|
713
|
+
__decorateParam$l(4, Inject(TextSelectionManagerService)),
|
|
714
|
+
__decorateParam$l(5, Inject(DocCustomRangeService))
|
|
557
715
|
], DocClipboardService);
|
|
558
|
-
var __defProp$
|
|
559
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
716
|
+
var __defProp$k = Object.defineProperty, __getOwnPropDesc$k = Object.getOwnPropertyDescriptor, __decorateClass$k = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
717
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
560
718
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
561
|
-
return kind && result && __defProp$
|
|
562
|
-
}, "__decorateClass$
|
|
719
|
+
return kind && result && __defProp$k(target, key, result), result;
|
|
720
|
+
}, "__decorateClass$k"), __decorateParam$k = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$k");
|
|
563
721
|
const ANCHOR_WIDTH = 1.5;
|
|
564
722
|
var _a2;
|
|
565
723
|
let DocBackScrollRenderController = (_a2 = class extends RxDisposable {
|
|
@@ -575,16 +733,16 @@ let DocBackScrollRenderController = (_a2 = class extends RxDisposable {
|
|
|
575
733
|
});
|
|
576
734
|
}
|
|
577
735
|
scrollToRange(unitId, range) {
|
|
578
|
-
var
|
|
579
|
-
const docSkeletonManagerService = (
|
|
736
|
+
var _a23;
|
|
737
|
+
const docSkeletonManagerService = (_a23 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a23.with(DocSkeletonManagerService), skeleton = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getSkeleton();
|
|
580
738
|
if (!skeleton)
|
|
581
739
|
return;
|
|
582
740
|
const { startOffset } = range, anchorNodePosition = skeleton.findNodePositionByCharIndex(startOffset);
|
|
583
741
|
this.scrollToNode(unitId, anchorNodePosition);
|
|
584
742
|
}
|
|
585
743
|
scrollToNode(unitId, startNodePosition) {
|
|
586
|
-
var
|
|
587
|
-
const docObject = this._getDocObject(), docSkeletonManagerService = (
|
|
744
|
+
var _a23;
|
|
745
|
+
const docObject = this._getDocObject(), docSkeletonManagerService = (_a23 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a23.with(DocSkeletonManagerService), skeleton = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getSkeleton();
|
|
588
746
|
if (docObject == null || skeleton == null)
|
|
589
747
|
return;
|
|
590
748
|
const documentOffsetConfig = docObject.document.getOffsetConfig(), { docsLeft, docsTop } = documentOffsetConfig, convertor = new NodePositionConvertToCursor(documentOffsetConfig, skeleton), { contentBoxPointGroup } = convertor.getRangePointData(startNodePosition, startNodePosition), { left: aLeft, top: aTop, height } = getAnchorBounding(contentBoxPointGroup), left = aLeft + docsLeft, top = aTop + docsTop, viewportMain = docObject.scene.getViewport(VIEWPORT_KEY.VIEW_MAIN), isEditor = !!this._editorService.getEditor(unitId);
|
|
@@ -604,7 +762,7 @@ let DocBackScrollRenderController = (_a2 = class extends RxDisposable {
|
|
|
604
762
|
}
|
|
605
763
|
// Let the selection show on the current screen.
|
|
606
764
|
_scrollToSelection(unitId) {
|
|
607
|
-
const activeTextRange = this._textSelectionManagerService.
|
|
765
|
+
const activeTextRange = this._textSelectionManagerService.getActiveTextRangeWithStyle();
|
|
608
766
|
if (activeTextRange == null)
|
|
609
767
|
return;
|
|
610
768
|
const { collapsed, startNodePosition } = activeTextRange;
|
|
@@ -614,11 +772,11 @@ let DocBackScrollRenderController = (_a2 = class extends RxDisposable {
|
|
|
614
772
|
return getDocObject(this._univerInstanceService, this._renderManagerService);
|
|
615
773
|
}
|
|
616
774
|
}, __name(_a2, "DocBackScrollRenderController"), _a2);
|
|
617
|
-
DocBackScrollRenderController = __decorateClass$
|
|
618
|
-
__decorateParam$
|
|
619
|
-
__decorateParam$
|
|
620
|
-
__decorateParam$
|
|
621
|
-
__decorateParam$
|
|
775
|
+
DocBackScrollRenderController = __decorateClass$k([
|
|
776
|
+
__decorateParam$k(1, Inject(TextSelectionManagerService)),
|
|
777
|
+
__decorateParam$k(2, IEditorService),
|
|
778
|
+
__decorateParam$k(3, Inject(IUniverInstanceService)),
|
|
779
|
+
__decorateParam$k(4, IRenderManagerService)
|
|
622
780
|
], DocBackScrollRenderController);
|
|
623
781
|
const DefaultToolbarConfig = {
|
|
624
782
|
undo: !0,
|
|
@@ -727,11 +885,11 @@ const DefaultToolbarConfig = {
|
|
|
727
885
|
binding: KeyCode.A | MetaKeys.CTRL_COMMAND,
|
|
728
886
|
preconditions: /* @__PURE__ */ __name((contextService) => contextService.getContextValue(FOCUSING_UNIVER_EDITOR) && (contextService.getContextValue(FOCUSING_DOC) || contextService.getContextValue(EDITOR_ACTIVATED)), "preconditions")
|
|
729
887
|
};
|
|
730
|
-
var __defProp$
|
|
731
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
888
|
+
var __defProp$j = Object.defineProperty, __getOwnPropDesc$j = Object.getOwnPropertyDescriptor, __decorateClass$j = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
889
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
732
890
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
733
|
-
return kind && result && __defProp$
|
|
734
|
-
}, "__decorateClass$
|
|
891
|
+
return kind && result && __defProp$j(target, key, result), result;
|
|
892
|
+
}, "__decorateClass$j"), __decorateParam$j = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$j"), _a3;
|
|
735
893
|
let DocContainerUIController = (_a3 = class {
|
|
736
894
|
constructor(_config, _localeService, _injector) {
|
|
737
895
|
__publicField(this, "_docContainer");
|
|
@@ -771,15 +929,15 @@ let DocContainerUIController = (_a3 = class {
|
|
|
771
929
|
return this._docContainer;
|
|
772
930
|
}
|
|
773
931
|
}, __name(_a3, "DocContainerUIController"), _a3);
|
|
774
|
-
DocContainerUIController = __decorateClass$
|
|
775
|
-
__decorateParam$
|
|
776
|
-
__decorateParam$
|
|
932
|
+
DocContainerUIController = __decorateClass$j([
|
|
933
|
+
__decorateParam$j(1, Inject(LocaleService)),
|
|
934
|
+
__decorateParam$j(2, Inject(Injector))
|
|
777
935
|
], DocContainerUIController);
|
|
778
|
-
var __defProp$
|
|
779
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
936
|
+
var __defProp$i = Object.defineProperty, __getOwnPropDesc$i = Object.getOwnPropertyDescriptor, __decorateClass$i = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
937
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
780
938
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
781
|
-
return kind && result && __defProp$
|
|
782
|
-
}, "__decorateClass$
|
|
939
|
+
return kind && result && __defProp$i(target, key, result), result;
|
|
940
|
+
}, "__decorateClass$i"), __decorateParam$i = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$i"), _a4;
|
|
783
941
|
let AppUIController = (_a4 = class extends RxDisposable {
|
|
784
942
|
constructor(_config, _localeService, _injector, _textSelectionRenderManager, _layoutService) {
|
|
785
943
|
super();
|
|
@@ -806,83 +964,100 @@ let AppUIController = (_a4 = class extends RxDisposable {
|
|
|
806
964
|
return this._docContainerController;
|
|
807
965
|
}
|
|
808
966
|
}, __name(_a4, "AppUIController"), _a4);
|
|
809
|
-
AppUIController = __decorateClass$
|
|
810
|
-
__decorateParam$
|
|
811
|
-
__decorateParam$
|
|
812
|
-
__decorateParam$
|
|
813
|
-
__decorateParam$
|
|
967
|
+
AppUIController = __decorateClass$i([
|
|
968
|
+
__decorateParam$i(1, Inject(LocaleService)),
|
|
969
|
+
__decorateParam$i(2, Inject(Injector)),
|
|
970
|
+
__decorateParam$i(3, ITextSelectionRenderManager),
|
|
971
|
+
__decorateParam$i(4, Optional(ILayoutService))
|
|
814
972
|
], AppUIController);
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
*
|
|
821
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
822
|
-
*
|
|
823
|
-
* This source code is licensed under the MIT license found in the
|
|
824
|
-
* LICENSE file in the root directory of this source tree.
|
|
825
|
-
*/
|
|
826
|
-
var f = require$$0, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
827
|
-
function q(c, a, g) {
|
|
828
|
-
var b, d = {}, e = null, h = null;
|
|
829
|
-
g !== void 0 && (e = "" + g), a.key !== void 0 && (e = "" + a.key), a.ref !== void 0 && (h = a.ref);
|
|
830
|
-
for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
|
|
831
|
-
if (c && c.defaultProps) for (b in a = c.defaultProps, a) d[b] === void 0 && (d[b] = a[b]);
|
|
832
|
-
return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
|
|
833
|
-
}
|
|
834
|
-
__name(q, "q");
|
|
835
|
-
reactJsxRuntime_production_min.Fragment = l;
|
|
836
|
-
reactJsxRuntime_production_min.jsx = q;
|
|
837
|
-
reactJsxRuntime_production_min.jsxs = q;
|
|
838
|
-
jsxRuntime.exports = reactJsxRuntime_production_min;
|
|
839
|
-
var jsxRuntimeExports = jsxRuntime.exports;
|
|
840
|
-
const docCountBar = "univer-doc-count-bar", styles$2 = {
|
|
841
|
-
docCountBar
|
|
842
|
-
}, ZOOM_MAP = [50, 80, 100, 130, 150, 170, 200, 400], DOC_ZOOM_RANGE = [10, 400];
|
|
843
|
-
function ZoomSlider() {
|
|
844
|
-
const commandService = useDependency(ICommandService), univerInstanceService = useDependency(IUniverInstanceService), currentDoc$ = useMemo(() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC), []), documentDataModel = useObservable(currentDoc$), getCurrentZoom = useCallback(() => {
|
|
845
|
-
var _a19, _b;
|
|
846
|
-
if (!documentDataModel) return 100;
|
|
847
|
-
const currentZoom = ((_b = (_a19 = documentDataModel.getSettings()) == null ? void 0 : _a19.zoomRatio) != null ? _b : 1) * 100;
|
|
848
|
-
return Math.round(currentZoom);
|
|
849
|
-
}, [documentDataModel]), [zoom, setZoom] = useState(() => getCurrentZoom());
|
|
850
|
-
useEffect(() => (setZoom(getCurrentZoom()), commandService.onCommandExecuted((commandInfo) => {
|
|
851
|
-
if (commandInfo.id === SetDocZoomRatioOperation.id) {
|
|
852
|
-
const currentZoom = getCurrentZoom();
|
|
853
|
-
setZoom(currentZoom);
|
|
854
|
-
}
|
|
855
|
-
}).dispose), [commandService, getCurrentZoom]);
|
|
856
|
-
function handleChange(value) {
|
|
857
|
-
if (setZoom(value), documentDataModel == null)
|
|
858
|
-
return;
|
|
859
|
-
const zoomRatio = value / 100;
|
|
860
|
-
commandService.executeCommand(SetDocZoomRatioOperation.id, {
|
|
861
|
-
unitId: documentDataModel.getUnitId(),
|
|
862
|
-
zoomRatio
|
|
863
|
-
});
|
|
864
|
-
}
|
|
865
|
-
return __name(handleChange, "handleChange"), /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
866
|
-
Slider,
|
|
867
|
-
{
|
|
868
|
-
min: DOC_ZOOM_RANGE[0],
|
|
869
|
-
value: zoom,
|
|
870
|
-
shortcuts: ZOOM_MAP,
|
|
871
|
-
onChange: handleChange
|
|
973
|
+
var __assign = function() {
|
|
974
|
+
return __assign = Object.assign || function(t) {
|
|
975
|
+
for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
|
|
976
|
+
s = arguments[i];
|
|
977
|
+
for (var p2 in s) Object.prototype.hasOwnProperty.call(s, p2) && (t[p2] = s[p2]);
|
|
872
978
|
}
|
|
873
|
-
|
|
979
|
+
return t;
|
|
980
|
+
}, __assign.apply(this, arguments);
|
|
981
|
+
}, __rest = function(s, e) {
|
|
982
|
+
var t = {};
|
|
983
|
+
for (var p2 in s) Object.prototype.hasOwnProperty.call(s, p2) && e.indexOf(p2) < 0 && (t[p2] = s[p2]);
|
|
984
|
+
if (s != null && typeof Object.getOwnPropertySymbols == "function")
|
|
985
|
+
for (var i = 0, p2 = Object.getOwnPropertySymbols(s); i < p2.length; i++)
|
|
986
|
+
e.indexOf(p2[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p2[i]) && (t[p2[i]] = s[p2[i]]);
|
|
987
|
+
return t;
|
|
988
|
+
}, IconBase = forwardRef(function(props, ref) {
|
|
989
|
+
var icon = props.icon, id = props.id, className = props.className, extend = props.extend, restProps = __rest(props, ["icon", "id", "className", "extend"]), cls = "univerjs-icon univerjs-icon-".concat(id, " ").concat(className || "").trim(), idSuffix = useRef("_".concat(generateShortUuid()));
|
|
990
|
+
return render(icon, "".concat(id), { defIds: icon.defIds, idSuffix: idSuffix.current }, __assign({ ref, className: cls }, restProps), extend);
|
|
991
|
+
});
|
|
992
|
+
function render(node, id, runtimeProps, rootProps, extend) {
|
|
993
|
+
return createElement(node.tag, __assign(__assign({ key: id }, replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend)), rootProps), (replaceRuntimeIdsInDefs(node, runtimeProps).children || []).map(function(child, index) {
|
|
994
|
+
return render(child, "".concat(id, "-").concat(node.tag, "-").concat(index), runtimeProps, void 0, extend);
|
|
995
|
+
}));
|
|
874
996
|
}
|
|
875
|
-
__name(
|
|
876
|
-
function
|
|
877
|
-
|
|
997
|
+
__name(render, "render");
|
|
998
|
+
function replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend) {
|
|
999
|
+
var attrs = __assign({}, node.attrs);
|
|
1000
|
+
extend != null && extend.colorChannel1 && attrs.fill === "colorChannel1" && (attrs.fill = extend.colorChannel1);
|
|
1001
|
+
var defIds = runtimeProps.defIds;
|
|
1002
|
+
return !defIds || defIds.length === 0 || (node.tag === "use" && attrs["xlink:href"] && (attrs["xlink:href"] = attrs["xlink:href"] + runtimeProps.idSuffix), Object.entries(attrs).forEach(function(_a23) {
|
|
1003
|
+
var key = _a23[0], value = _a23[1];
|
|
1004
|
+
typeof value == "string" && (attrs[key] = value.replace(/url\(#(.*)\)/, "url(#$1".concat(runtimeProps.idSuffix, ")")));
|
|
1005
|
+
})), attrs;
|
|
878
1006
|
}
|
|
879
|
-
__name(
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
1007
|
+
__name(replaceRuntimeIdsAndExtInAttrs, "replaceRuntimeIdsAndExtInAttrs");
|
|
1008
|
+
function replaceRuntimeIdsInDefs(node, runtimeProps) {
|
|
1009
|
+
var _a23, defIds = runtimeProps.defIds;
|
|
1010
|
+
return !defIds || defIds.length === 0 ? node : node.tag === "defs" && (!((_a23 = node.children) === null || _a23 === void 0) && _a23.length) ? __assign(__assign({}, node), { children: node.children.map(function(child) {
|
|
1011
|
+
return typeof child.attrs.id == "string" && defIds && defIds.indexOf(child.attrs.id) > -1 ? __assign(__assign({}, child), { attrs: __assign(__assign({}, child.attrs), { id: child.attrs.id + runtimeProps.idSuffix }) }) : child;
|
|
1012
|
+
}) }) : node;
|
|
1013
|
+
}
|
|
1014
|
+
__name(replaceRuntimeIdsInDefs, "replaceRuntimeIdsInDefs");
|
|
1015
|
+
function generateShortUuid() {
|
|
1016
|
+
return Math.random().toString(36).substring(2, 8);
|
|
1017
|
+
}
|
|
1018
|
+
__name(generateShortUuid, "generateShortUuid");
|
|
1019
|
+
IconBase.displayName = "UniverIcon";
|
|
1020
|
+
var element$4 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641 1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H13.9999C14.3313 6.76641 14.5999 6.49778 14.5999 6.16641 14.5999 5.83504 14.3313 5.56641 13.9999 5.56641H1.9999zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004 1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H13.9999C14.3313 14.1004 14.5999 13.8318 14.5999 13.5004 14.5999 13.169 14.3313 12.9004 13.9999 12.9004H1.9999z" } }] }, AlignTextBothSingle = forwardRef(function(props, ref) {
|
|
1021
|
+
return createElement(IconBase, Object.assign({}, props, {
|
|
1022
|
+
id: "align-text-both-single",
|
|
1023
|
+
ref,
|
|
1024
|
+
icon: element$4
|
|
1025
|
+
}));
|
|
1026
|
+
});
|
|
1027
|
+
AlignTextBothSingle.displayName = "AlignTextBothSingle";
|
|
1028
|
+
var element$3 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM3.33315 5.56641C3.00178 5.56641 2.73315 5.83504 2.73315 6.16641 2.73315 6.49778 3.00178 6.76641 3.33315 6.76641H12.6665C12.9979 6.76641 13.2665 6.49778 13.2665 6.16641 13.2665 5.83504 12.9979 5.56641 12.6665 5.56641H3.33315zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM3.33315 12.9004C3.00178 12.9004 2.73315 13.169 2.73315 13.5004 2.73315 13.8318 3.00178 14.1004 3.33315 14.1004H12.6665C12.9979 14.1004 13.2665 13.8318 13.2665 13.5004 13.2665 13.169 12.9979 12.9004 12.6665 12.9004H3.33315z" } }] }, HorizontallySingle = forwardRef(function(props, ref) {
|
|
1029
|
+
return createElement(IconBase, Object.assign({}, props, {
|
|
1030
|
+
id: "horizontally-single",
|
|
1031
|
+
ref,
|
|
1032
|
+
icon: element$3
|
|
1033
|
+
}));
|
|
1034
|
+
});
|
|
1035
|
+
HorizontallySingle.displayName = "HorizontallySingle";
|
|
1036
|
+
var element$2 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641 1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H11.3332C11.6646 6.76641 11.9332 6.49778 11.9332 6.16641 11.9332 5.83504 11.6646 5.56641 11.3332 5.56641H1.9999zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004 1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H11.3332C11.6646 14.1004 11.9332 13.8318 11.9332 13.5004 11.9332 13.169 11.6646 12.9004 11.3332 12.9004H1.9999z" } }] }, LeftJustifyingSingle = forwardRef(function(props, ref) {
|
|
1037
|
+
return createElement(IconBase, Object.assign({}, props, {
|
|
1038
|
+
id: "left-justifying-single",
|
|
1039
|
+
ref,
|
|
1040
|
+
icon: element$2
|
|
1041
|
+
}));
|
|
1042
|
+
});
|
|
1043
|
+
LeftJustifyingSingle.displayName = "LeftJustifyingSingle";
|
|
1044
|
+
var element$1 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM4.66665 5.56641C4.33528 5.56641 4.06665 5.83504 4.06665 6.16641 4.06665 6.49778 4.33528 6.76641 4.66665 6.76641H14C14.3314 6.76641 14.6 6.49778 14.6 6.16641 14.6 5.83504 14.3314 5.56641 14 5.56641H4.66665zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM4.66665 12.9004C4.33528 12.9004 4.06665 13.169 4.06665 13.5004 4.06665 13.8318 4.33528 14.1004 4.66665 14.1004H14C14.3314 14.1004 14.6 13.8318 14.6 13.5004 14.6 13.169 14.3314 12.9004 14 12.9004H4.66665z" } }] }, RightJustifyingSingle = forwardRef(function(props, ref) {
|
|
1045
|
+
return createElement(IconBase, Object.assign({}, props, {
|
|
1046
|
+
id: "right-justifying-single",
|
|
1047
|
+
ref,
|
|
1048
|
+
icon: element$1
|
|
1049
|
+
}));
|
|
1050
|
+
});
|
|
1051
|
+
RightJustifyingSingle.displayName = "RightJustifyingSingle";
|
|
1052
|
+
var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M4.96372 2.59116C5.19803 2.35684 5.19803 1.97695 4.96372 1.74263 4.7294 1.50832 4.3495 1.50832 4.11519 1.74263L2.53945 3.31837 1.96372 2.74263C1.7294 2.50832 1.3495 2.50832 1.11519 2.74263.880874 2.97695.880874 3.35684 1.11519 3.59116L2.11519 4.59116C2.3495 4.82547 2.7294 4.82547 2.96372 4.59116L4.96372 2.59116zM14.4605 2.56689H6.8981C6.56672 2.56689 6.2981 2.83552 6.2981 3.16689 6.2981 3.49827 6.56672 3.76689 6.8981 3.76689H14.4605C14.7918 3.76689 15.0605 3.49827 15.0605 3.16689 15.0605 2.83552 14.7918 2.56689 14.4605 2.56689zM6.8981 7.2334C6.56672 7.2334 6.2981 7.50203 6.2981 7.8334 6.2981 8.16477 6.56672 8.4334 6.8981 8.4334H14.4605C14.7918 8.4334 15.0605 8.16477 15.0605 7.8334 15.0605 7.50203 14.7918 7.2334 14.4605 7.2334H6.8981zM6.2981 12.4999C6.2981 12.1685 6.56672 11.8999 6.8981 11.8999H14.4605C14.7918 11.8999 15.0605 12.1685 15.0605 12.4999 15.0605 12.8313 14.7918 13.0999 14.4605 13.0999H6.8981C6.56672 13.0999 6.2981 12.8313 6.2981 12.4999z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M2.87279 5.8999C1.80504 5.8999.939453 6.76549.939453 7.83324.939453 8.90099 1.80504 9.76657 2.87279 9.76657 3.94054 9.76657 4.80612 8.90099 4.80612 7.83324 4.80612 6.76549 3.94054 5.8999 2.87279 5.8999zM2.13945 7.83324C2.13945 7.42823 2.46778 7.0999 2.87279 7.0999 3.2778 7.0999 3.60612 7.42823 3.60612 7.83324 3.60612 8.23824 3.2778 8.56657 2.87279 8.56657 2.46778 8.56657 2.13945 8.23824 2.13945 7.83324zM.939453 12.5002C.939453 11.4325 1.80504 10.5669 2.87279 10.5669 3.94054 10.5669 4.80612 11.4325 4.80612 12.5002 4.80612 13.568 3.94054 14.4336 2.87279 14.4336 1.80504 14.4336.939453 13.568.939453 12.5002zM2.87279 11.7669C2.46778 11.7669 2.13945 12.0952 2.13945 12.5002 2.13945 12.9052 2.46778 13.2336 2.87279 13.2336 3.2778 13.2336 3.60612 12.9052 3.60612 12.5002 3.60612 12.0952 3.2778 11.7669 2.87279 11.7669z", fillRule: "evenodd", clipRule: "evenodd" } }] }, TodoList = forwardRef(function(props, ref) {
|
|
1053
|
+
return createElement(IconBase, Object.assign({}, props, {
|
|
1054
|
+
id: "todo-list",
|
|
1055
|
+
ref,
|
|
1056
|
+
icon: element
|
|
1057
|
+
}));
|
|
1058
|
+
});
|
|
1059
|
+
TodoList.displayName = "TodoList";
|
|
1060
|
+
const COMPONENT_PREFIX = "UI_PLUGIN_DOCS", COLOR_PICKER_COMPONENT = `${COMPONENT_PREFIX}_COLOR_PICKER_COMPONENT`, FONT_FAMILY_COMPONENT = `${COMPONENT_PREFIX}_FONT_FAMILY_COMPONENT`, FONT_FAMILY_ITEM_COMPONENT = `${COMPONENT_PREFIX}_FONT_FAMILY_ITEM_COMPONENT`, FONT_SIZE_COMPONENT = `${COMPONENT_PREFIX}_FONT_SIZE_COMPONENT`, COLLAB_CURSOR_LABEL_HEIGHT = 18, COLLAB_CURSOR_LABEL_MAX_WIDTH = 200, COLLAB_CURSOR_LABEL_TEXT_PADDING_LR = 6, COLLAB_CURSOR_LABEL_TEXT_PADDING_TB = 4;
|
|
886
1061
|
function drawBubble(ctx, props) {
|
|
887
1062
|
let { radius, width, height } = props;
|
|
888
1063
|
radius = radius != null ? radius : 0, width = width != null ? width : 30, height = height != null ? height : 30;
|
|
@@ -914,10 +1089,10 @@ const _TextBubbleShape = class _TextBubbleShape extends Shape {
|
|
|
914
1089
|
const offsetX = COLLAB_CURSOR_LABEL_TEXT_PADDING_LR, offsetY = COLLAB_CURSOR_LABEL_HEIGHT - COLLAB_CURSOR_LABEL_TEXT_PADDING_TB, maxTextWidth = COLLAB_CURSOR_LABEL_MAX_WIDTH - 2 * COLLAB_CURSOR_LABEL_TEXT_PADDING_LR;
|
|
915
1090
|
if (textWidth > maxTextWidth) {
|
|
916
1091
|
let truncatedText = "", currentWidth = 0;
|
|
917
|
-
for (const
|
|
918
|
-
const charWidth = ctx.measureText(
|
|
1092
|
+
for (const element2 of text) {
|
|
1093
|
+
const charWidth = ctx.measureText(element2).width;
|
|
919
1094
|
if (currentWidth + charWidth <= maxTextWidth - ctx.measureText("...").width)
|
|
920
|
-
truncatedText +=
|
|
1095
|
+
truncatedText += element2, currentWidth += charWidth;
|
|
921
1096
|
else {
|
|
922
1097
|
truncatedText += "...";
|
|
923
1098
|
break;
|
|
@@ -934,7 +1109,32 @@ const _TextBubbleShape = class _TextBubbleShape extends Shape {
|
|
|
934
1109
|
};
|
|
935
1110
|
__name(_TextBubbleShape, "TextBubbleShape");
|
|
936
1111
|
let TextBubbleShape = _TextBubbleShape;
|
|
937
|
-
const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL"
|
|
1112
|
+
const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL";
|
|
1113
|
+
var jsxRuntime = { exports: {} }, reactJsxRuntime_production_min = {};
|
|
1114
|
+
/**
|
|
1115
|
+
* @license React
|
|
1116
|
+
* react-jsx-runtime.production.min.js
|
|
1117
|
+
*
|
|
1118
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
1119
|
+
*
|
|
1120
|
+
* This source code is licensed under the MIT license found in the
|
|
1121
|
+
* LICENSE file in the root directory of this source tree.
|
|
1122
|
+
*/
|
|
1123
|
+
var f = require$$0__default, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
1124
|
+
function q(c, a, g) {
|
|
1125
|
+
var b, d = {}, e = null, h = null;
|
|
1126
|
+
g !== void 0 && (e = "" + g), a.key !== void 0 && (e = "" + a.key), a.ref !== void 0 && (h = a.ref);
|
|
1127
|
+
for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
|
|
1128
|
+
if (c && c.defaultProps) for (b in a = c.defaultProps, a) d[b] === void 0 && (d[b] = a[b]);
|
|
1129
|
+
return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
|
|
1130
|
+
}
|
|
1131
|
+
__name(q, "q");
|
|
1132
|
+
reactJsxRuntime_production_min.Fragment = l;
|
|
1133
|
+
reactJsxRuntime_production_min.jsx = q;
|
|
1134
|
+
reactJsxRuntime_production_min.jsxs = q;
|
|
1135
|
+
jsxRuntime.exports = reactJsxRuntime_production_min;
|
|
1136
|
+
var jsxRuntimeExports = jsxRuntime.exports;
|
|
1137
|
+
const panel = "univer-panel", optionsSection = "univer-options-section", optionsFormItem = "univer-options-form-item", optionsInput = "univer-options-input", optionsMarginSetting = "univer-options-margin-setting", styles$5 = {
|
|
938
1138
|
panel,
|
|
939
1139
|
optionsSection,
|
|
940
1140
|
optionsFormItem,
|
|
@@ -942,12 +1142,12 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
942
1142
|
optionsMarginSetting
|
|
943
1143
|
}, DocHeaderFooterOptions = /* @__PURE__ */ __name((props) => {
|
|
944
1144
|
const localeService = useDependency(LocaleService), univerInstanceService = useDependency(IUniverInstanceService), renderManagerService = useDependency(IRenderManagerService), commandService = useDependency(ICommandService), textSelectionRenderService = useDependency(ITextSelectionRenderManager), textSelectionManagerService = useDependency(TextSelectionManagerService), { unitId } = props, [options, setOptions] = useState({}), handleCheckboxChange = /* @__PURE__ */ __name((val, type) => {
|
|
945
|
-
var
|
|
1145
|
+
var _a23;
|
|
946
1146
|
setOptions((prev) => ({
|
|
947
1147
|
...prev,
|
|
948
1148
|
[type]: val ? BooleanNumber.TRUE : BooleanNumber.FALSE
|
|
949
1149
|
}));
|
|
950
|
-
const docDataModel = univerInstanceService.getUniverDocInstance(unitId), documentStyle = docDataModel == null ? void 0 : docDataModel.getSnapshot().documentStyle, docSkeletonManagerService = (
|
|
1150
|
+
const docDataModel = univerInstanceService.getUniverDocInstance(unitId), documentStyle = docDataModel == null ? void 0 : docDataModel.getSnapshot().documentStyle, docSkeletonManagerService = (_a23 = renderManagerService.getRenderById(unitId)) == null ? void 0 : _a23.with(DocSkeletonManagerService), viewModel = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getViewModel();
|
|
951
1151
|
if (documentStyle == null || viewModel == null)
|
|
952
1152
|
return;
|
|
953
1153
|
const editArea = viewModel.getEditArea();
|
|
@@ -979,19 +1179,24 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
979
1179
|
headerFooterProps: {
|
|
980
1180
|
[type]: val
|
|
981
1181
|
}
|
|
982
|
-
}), textSelectionRenderService.
|
|
1182
|
+
}), textSelectionRenderService.removeAllRanges(), textSelectionRenderService.blur();
|
|
983
1183
|
}, "handleMarginChange"), closeHeaderFooter = /* @__PURE__ */ __name(() => {
|
|
984
|
-
var
|
|
1184
|
+
var _a23;
|
|
985
1185
|
const renderObject = renderManagerService.getRenderById(unitId);
|
|
986
1186
|
if (renderObject == null)
|
|
987
1187
|
return;
|
|
988
|
-
const { scene } = renderObject, transformer = scene.getTransformerByCreate(), docSkeletonManagerService = renderObject.with(DocSkeletonManagerService), skeleton = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getSkeleton(), viewModel = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getViewModel(),
|
|
989
|
-
|
|
1188
|
+
const { scene } = renderObject, transformer = scene.getTransformerByCreate(), docSkeletonManagerService = renderObject.with(DocSkeletonManagerService), skeleton = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getSkeleton(), viewModel = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getViewModel(), render2 = renderManagerService.getRenderById(unitId);
|
|
1189
|
+
render2 == null || viewModel == null || skeleton == null || (textSelectionManagerService.replaceTextRanges([]), transformer.clearSelectedObjects(), textSelectionRenderService.setSegment(""), textSelectionRenderService.setSegmentPage(-1), viewModel.setEditArea(DocumentEditArea.BODY), skeleton.calculate(), (_a23 = render2.mainComponent) == null || _a23.makeDirty(!0));
|
|
990
1190
|
}, "closeHeaderFooter");
|
|
991
1191
|
return useEffect(() => {
|
|
992
1192
|
const docDataModel = univerInstanceService.getUniverDocInstance(unitId), documentStyle = docDataModel == null ? void 0 : docDataModel.getSnapshot().documentStyle;
|
|
993
1193
|
if (documentStyle) {
|
|
994
|
-
const {
|
|
1194
|
+
const {
|
|
1195
|
+
marginHeader = 0,
|
|
1196
|
+
marginFooter = 0,
|
|
1197
|
+
useFirstPageHeaderFooter = BooleanNumber.FALSE,
|
|
1198
|
+
evenAndOddHeaders = BooleanNumber.FALSE
|
|
1199
|
+
} = documentStyle;
|
|
995
1200
|
setOptions({
|
|
996
1201
|
marginHeader,
|
|
997
1202
|
marginFooter,
|
|
@@ -999,9 +1204,9 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
999
1204
|
evenAndOddHeaders
|
|
1000
1205
|
});
|
|
1001
1206
|
}
|
|
1002
|
-
}, [unitId]), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.options, children: [
|
|
1003
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.optionsSection, children: [
|
|
1004
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.optionsFormItem, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1207
|
+
}, [unitId]), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.options, children: [
|
|
1208
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.optionsSection, children: [
|
|
1209
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.optionsFormItem, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1005
1210
|
Checkbox,
|
|
1006
1211
|
{
|
|
1007
1212
|
checked: options.useFirstPageHeaderFooter === BooleanNumber.TRUE,
|
|
@@ -1011,7 +1216,7 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
1011
1216
|
children: localeService.t("headerFooter.firstPageCheckBox")
|
|
1012
1217
|
}
|
|
1013
1218
|
) }),
|
|
1014
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.optionsFormItem, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1219
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.optionsFormItem, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1015
1220
|
Checkbox,
|
|
1016
1221
|
{
|
|
1017
1222
|
checked: options.evenAndOddHeaders === BooleanNumber.TRUE,
|
|
@@ -1022,8 +1227,8 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
1022
1227
|
}
|
|
1023
1228
|
) })
|
|
1024
1229
|
] }),
|
|
1025
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: clsx(styles.optionsSection, styles.optionsMarginSetting), children: [
|
|
1026
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.optionsMarginItem, children: [
|
|
1230
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: clsx(styles$5.optionsSection, styles$5.optionsMarginSetting), children: [
|
|
1231
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.optionsMarginItem, children: [
|
|
1027
1232
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: localeService.t("headerFooter.headerTopMargin") }),
|
|
1028
1233
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1029
1234
|
InputNumber,
|
|
@@ -1035,11 +1240,11 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
1035
1240
|
onChange: /* @__PURE__ */ __name((val) => {
|
|
1036
1241
|
handleMarginChange(val, "marginHeader");
|
|
1037
1242
|
}, "onChange"),
|
|
1038
|
-
className: styles.optionsInput
|
|
1243
|
+
className: styles$5.optionsInput
|
|
1039
1244
|
}
|
|
1040
1245
|
)
|
|
1041
1246
|
] }),
|
|
1042
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.optionsMarginItem, children: [
|
|
1247
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$5.optionsMarginItem, children: [
|
|
1043
1248
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: localeService.t("headerFooter.footerBottomMargin") }),
|
|
1044
1249
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1045
1250
|
InputNumber,
|
|
@@ -1051,16 +1256,16 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
1051
1256
|
onChange: /* @__PURE__ */ __name((val) => {
|
|
1052
1257
|
handleMarginChange(val, "marginFooter");
|
|
1053
1258
|
}, "onChange"),
|
|
1054
|
-
className: styles.optionsInput
|
|
1259
|
+
className: styles$5.optionsInput
|
|
1055
1260
|
}
|
|
1056
1261
|
)
|
|
1057
1262
|
] })
|
|
1058
1263
|
] }),
|
|
1059
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.optionsSection, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: closeHeaderFooter, children: localeService.t("headerFooter.closeHeaderFooter") }) })
|
|
1264
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.optionsSection, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: closeHeaderFooter, children: localeService.t("headerFooter.closeHeaderFooter") }) })
|
|
1060
1265
|
] });
|
|
1061
1266
|
}, "DocHeaderFooterOptions"), DocHeaderFooterPanel = /* @__PURE__ */ __name(() => {
|
|
1062
|
-
var
|
|
1063
|
-
const localeService = useDependency(LocaleService), renderManagerService = useDependency(IRenderManagerService), unitId = useDependency(IUniverInstanceService).getCurrentUniverDocInstance().getUnitId(), viewModel = ((
|
|
1267
|
+
var _a23;
|
|
1268
|
+
const localeService = useDependency(LocaleService), renderManagerService = useDependency(IRenderManagerService), unitId = useDependency(IUniverInstanceService).getCurrentUniverDocInstance().getUnitId(), viewModel = ((_a23 = renderManagerService.getRenderById(unitId)) == null ? void 0 : _a23.with(DocSkeletonManagerService)).getViewModel(), [isEditHeaderFooter, setIsEditHeaderFooter] = useState(!0);
|
|
1064
1269
|
return useEffect(() => {
|
|
1065
1270
|
const editArea = viewModel.getEditArea();
|
|
1066
1271
|
setIsEditHeaderFooter(editArea !== DocumentEditArea.BODY);
|
|
@@ -1070,35 +1275,13 @@ const COMPONENT_DOC_HEADER_FOOTER_PANEL = "COMPONENT_DOC_HEADER_FOOTER_PANEL", p
|
|
|
1070
1275
|
return () => {
|
|
1071
1276
|
subscription.unsubscribe();
|
|
1072
1277
|
};
|
|
1073
|
-
}, []), /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.panel, children: isEditHeaderFooter ? /* @__PURE__ */ jsxRuntimeExports.jsx(DocHeaderFooterOptions, { unitId }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles.panelDisableText, children: localeService.t("headerFooter.disableText") }) });
|
|
1074
|
-
}, "DocHeaderFooterPanel")
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
handler: /* @__PURE__ */ __name(async (accessor, params) => {
|
|
1078
|
-
const sidebarService = accessor.get(ISidebarService), localeService = accessor.get(LocaleService);
|
|
1079
|
-
switch (params.value) {
|
|
1080
|
-
case "open":
|
|
1081
|
-
sidebarService.open({
|
|
1082
|
-
header: { title: localeService.t("headerFooter.panel") },
|
|
1083
|
-
children: { label: COMPONENT_DOC_HEADER_FOOTER_PANEL },
|
|
1084
|
-
onClose: /* @__PURE__ */ __name(() => {
|
|
1085
|
-
}, "onClose"),
|
|
1086
|
-
width: 400
|
|
1087
|
-
});
|
|
1088
|
-
break;
|
|
1089
|
-
case "close":
|
|
1090
|
-
default:
|
|
1091
|
-
sidebarService.close();
|
|
1092
|
-
break;
|
|
1093
|
-
}
|
|
1094
|
-
return !0;
|
|
1095
|
-
}, "handler")
|
|
1096
|
-
};
|
|
1097
|
-
var __defProp$d = Object.defineProperty, __getOwnPropDesc$d = Object.getOwnPropertyDescriptor, __decorateClass$d = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
1098
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
1278
|
+
}, []), /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.panel, children: isEditHeaderFooter ? /* @__PURE__ */ jsxRuntimeExports.jsx(DocHeaderFooterOptions, { unitId }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5.panelDisableText, children: localeService.t("headerFooter.disableText") }) });
|
|
1279
|
+
}, "DocHeaderFooterPanel");
|
|
1280
|
+
var __defProp$h = Object.defineProperty, __getOwnPropDesc$h = Object.getOwnPropertyDescriptor, __decorateClass$h = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
1281
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
1099
1282
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
1100
|
-
return kind && result && __defProp$
|
|
1101
|
-
}, "__decorateClass$
|
|
1283
|
+
return kind && result && __defProp$h(target, key, result), result;
|
|
1284
|
+
}, "__decorateClass$h"), __decorateParam$h = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$h");
|
|
1102
1285
|
const HEADER_FOOTER_STROKE_COLOR = "rgba(58, 96, 247, 1)", HEADER_FOOTER_FILL_COLOR = "rgba(58, 96, 247, 0.08)";
|
|
1103
1286
|
var HeaderFooterType = /* @__PURE__ */ ((HeaderFooterType2) => (HeaderFooterType2[HeaderFooterType2.FIRST_PAGE_HEADER = 0] = "FIRST_PAGE_HEADER", HeaderFooterType2[HeaderFooterType2.FIRST_PAGE_FOOTER = 1] = "FIRST_PAGE_FOOTER", HeaderFooterType2[HeaderFooterType2.DEFAULT_HEADER = 2] = "DEFAULT_HEADER", HeaderFooterType2[HeaderFooterType2.DEFAULT_FOOTER = 3] = "DEFAULT_FOOTER", HeaderFooterType2[HeaderFooterType2.EVEN_PAGE_HEADER = 4] = "EVEN_PAGE_HEADER", HeaderFooterType2[HeaderFooterType2.EVEN_PAGE_FOOTER = 5] = "EVEN_PAGE_FOOTER", HeaderFooterType2))(HeaderFooterType || {});
|
|
1104
1287
|
function checkCreateHeaderFooterType(viewModel, editArea, segmentPage) {
|
|
@@ -1159,14 +1342,7 @@ let DocHeaderFooterController = (_a5 = class extends Disposable {
|
|
|
1159
1342
|
this._context = _context, this._commandService = _commandService, this._editorService = _editorService, this._instanceSrv = _instanceSrv, this._renderManagerService = _renderManagerService, this._docSkeletonManagerService = _docSkeletonManagerService, this._textSelectionRenderManager = _textSelectionRenderManager, this._localeService = _localeService, this._componentManager = _componentManager, this._initialize();
|
|
1160
1343
|
}
|
|
1161
1344
|
_initialize() {
|
|
1162
|
-
this._context.unit.getSnapshot().documentStyle.documentFlavor === DocumentFlavor.TRADITIONAL && (this._init(), this._drawHeaderFooterLabel(), this.
|
|
1163
|
-
}
|
|
1164
|
-
_registerCommands() {
|
|
1165
|
-
[
|
|
1166
|
-
CoreHeaderFooterCommand,
|
|
1167
|
-
OpenHeaderFooterPanelCommand,
|
|
1168
|
-
SidebarDocHeaderFooterPanelOperation
|
|
1169
|
-
].forEach((command) => this.disposeWithMe(this._commandService.registerCommand(command)));
|
|
1345
|
+
this._context.unit.getSnapshot().documentStyle.documentFlavor === DocumentFlavor.TRADITIONAL && (this._init(), this._drawHeaderFooterLabel(), this._initCustomComponents());
|
|
1170
1346
|
}
|
|
1171
1347
|
_initCustomComponents() {
|
|
1172
1348
|
const componentManager = this._componentManager;
|
|
@@ -1296,16 +1472,39 @@ let DocHeaderFooterController = (_a5 = class extends Disposable {
|
|
|
1296
1472
|
return this._context.unit;
|
|
1297
1473
|
}
|
|
1298
1474
|
}, __name(_a5, "DocHeaderFooterController"), _a5);
|
|
1299
|
-
DocHeaderFooterController = __decorateClass$
|
|
1300
|
-
__decorateParam$
|
|
1301
|
-
__decorateParam$
|
|
1302
|
-
__decorateParam$
|
|
1303
|
-
__decorateParam$
|
|
1304
|
-
__decorateParam$
|
|
1305
|
-
__decorateParam$
|
|
1306
|
-
__decorateParam$
|
|
1307
|
-
__decorateParam$
|
|
1475
|
+
DocHeaderFooterController = __decorateClass$h([
|
|
1476
|
+
__decorateParam$h(1, ICommandService),
|
|
1477
|
+
__decorateParam$h(2, IEditorService),
|
|
1478
|
+
__decorateParam$h(3, IUniverInstanceService),
|
|
1479
|
+
__decorateParam$h(4, IRenderManagerService),
|
|
1480
|
+
__decorateParam$h(5, Inject(DocSkeletonManagerService)),
|
|
1481
|
+
__decorateParam$h(6, ITextSelectionRenderManager),
|
|
1482
|
+
__decorateParam$h(7, Inject(LocaleService)),
|
|
1483
|
+
__decorateParam$h(8, Inject(ComponentManager))
|
|
1308
1484
|
], DocHeaderFooterController);
|
|
1485
|
+
const SidebarDocHeaderFooterPanelOperation = {
|
|
1486
|
+
id: "sidebar.operation.doc-header-footer-panel",
|
|
1487
|
+
type: CommandType.OPERATION,
|
|
1488
|
+
handler: /* @__PURE__ */ __name(async (accessor, params) => {
|
|
1489
|
+
const sidebarService = accessor.get(ISidebarService), localeService = accessor.get(LocaleService);
|
|
1490
|
+
switch (params.value) {
|
|
1491
|
+
case "open":
|
|
1492
|
+
sidebarService.open({
|
|
1493
|
+
header: { title: localeService.t("headerFooter.panel") },
|
|
1494
|
+
children: { label: COMPONENT_DOC_HEADER_FOOTER_PANEL },
|
|
1495
|
+
onClose: /* @__PURE__ */ __name(() => {
|
|
1496
|
+
}, "onClose"),
|
|
1497
|
+
width: 400
|
|
1498
|
+
});
|
|
1499
|
+
break;
|
|
1500
|
+
case "close":
|
|
1501
|
+
default:
|
|
1502
|
+
sidebarService.close();
|
|
1503
|
+
break;
|
|
1504
|
+
}
|
|
1505
|
+
return !0;
|
|
1506
|
+
}, "handler")
|
|
1507
|
+
};
|
|
1309
1508
|
function getEmptyHeaderFooterBody() {
|
|
1310
1509
|
return {
|
|
1311
1510
|
dataStream: `\r
|
|
@@ -1387,8 +1586,8 @@ const CoreHeaderFooterCommandId = "doc.command.core-header-footer", CoreHeaderFo
|
|
|
1387
1586
|
type: CommandType.COMMAND,
|
|
1388
1587
|
// eslint-disable-next-line max-lines-per-function
|
|
1389
1588
|
handler: /* @__PURE__ */ __name(async (accessor, params) => {
|
|
1390
|
-
var
|
|
1391
|
-
const commandService = accessor.get(ICommandService), univerInstanceService = accessor.get(IUniverInstanceService), renderManagerService = accessor.get(IRenderManagerService), { unitId, segmentId, createType, headerFooterProps } = params, docSkeletonManagerService = (
|
|
1589
|
+
var _a23;
|
|
1590
|
+
const commandService = accessor.get(ICommandService), univerInstanceService = accessor.get(IUniverInstanceService), renderManagerService = accessor.get(IRenderManagerService), { unitId, segmentId, createType, headerFooterProps } = params, docSkeletonManagerService = (_a23 = renderManagerService.getRenderById(unitId)) == null ? void 0 : _a23.with(DocSkeletonManagerService), docDataModel = univerInstanceService.getUniverDocInstance(unitId), docViewModel = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getViewModel();
|
|
1392
1591
|
if (docDataModel == null || docViewModel == null)
|
|
1393
1592
|
return !1;
|
|
1394
1593
|
const editArea = docViewModel.getEditArea(), { documentStyle } = docDataModel.getSnapshot(), isUpdateMargin = (headerFooterProps == null ? void 0 : headerFooterProps.marginFooter) != null || (headerFooterProps == null ? void 0 : headerFooterProps.marginHeader) != null, textRanges = [{
|
|
@@ -1424,55 +1623,334 @@ const CoreHeaderFooterCommandId = "doc.command.core-header-footer", CoreHeaderFo
|
|
|
1424
1623
|
id: "doc.command.open-header-footer-panel",
|
|
1425
1624
|
type: CommandType.COMMAND,
|
|
1426
1625
|
handler: /* @__PURE__ */ __name(async (accessor, _params) => accessor.get(ICommandService).executeCommand(SidebarDocHeaderFooterPanelOperation.id, { value: "open" }), "handler")
|
|
1427
|
-
}
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
const
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1626
|
+
}, docCountBar = "univer-doc-count-bar", styles$4 = {
|
|
1627
|
+
docCountBar
|
|
1628
|
+
}, ZOOM_MAP = [50, 80, 100, 130, 150, 170, 200, 400], DOC_ZOOM_RANGE = [10, 400];
|
|
1629
|
+
function ZoomSlider() {
|
|
1630
|
+
const commandService = useDependency(ICommandService), univerInstanceService = useDependency(IUniverInstanceService), currentDoc$ = useMemo(() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC), []), documentDataModel = useObservable(currentDoc$), getCurrentZoom = useCallback(() => {
|
|
1631
|
+
var _a23, _b;
|
|
1632
|
+
if (!documentDataModel) return 100;
|
|
1633
|
+
const currentZoom = ((_b = (_a23 = documentDataModel.getSettings()) == null ? void 0 : _a23.zoomRatio) != null ? _b : 1) * 100;
|
|
1634
|
+
return Math.round(currentZoom);
|
|
1635
|
+
}, [documentDataModel]), [zoom, setZoom] = useState(() => getCurrentZoom());
|
|
1636
|
+
useEffect(() => (setZoom(getCurrentZoom()), commandService.onCommandExecuted((commandInfo) => {
|
|
1637
|
+
if (commandInfo.id === SetDocZoomRatioOperation.id) {
|
|
1638
|
+
const currentZoom = getCurrentZoom();
|
|
1639
|
+
setZoom(currentZoom);
|
|
1640
|
+
}
|
|
1641
|
+
}).dispose), [commandService, getCurrentZoom]);
|
|
1642
|
+
function handleChange(value) {
|
|
1643
|
+
if (setZoom(value), documentDataModel == null)
|
|
1644
|
+
return;
|
|
1645
|
+
const zoomRatio = value / 100;
|
|
1646
|
+
commandService.executeCommand(SetDocZoomRatioOperation.id, {
|
|
1647
|
+
unitId: documentDataModel.getUnitId(),
|
|
1648
|
+
zoomRatio
|
|
1649
|
+
});
|
|
1650
|
+
}
|
|
1651
|
+
return __name(handleChange, "handleChange"), /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1652
|
+
Slider,
|
|
1653
|
+
{
|
|
1654
|
+
min: DOC_ZOOM_RANGE[0],
|
|
1655
|
+
value: zoom,
|
|
1656
|
+
shortcuts: ZOOM_MAP,
|
|
1657
|
+
onChange: handleChange
|
|
1658
|
+
}
|
|
1659
|
+
);
|
|
1660
|
+
}
|
|
1661
|
+
__name(ZoomSlider, "ZoomSlider");
|
|
1662
|
+
function CountBar(props) {
|
|
1663
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: styles$4.docCountBar, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ZoomSlider, {}) });
|
|
1664
|
+
}
|
|
1665
|
+
__name(CountBar, "CountBar");
|
|
1666
|
+
const docFooterContainer = "univer-doc-footer-container", styles$3 = {
|
|
1667
|
+
docFooterContainer
|
|
1668
|
+
}, DocFooter = /* @__PURE__ */ __name(() => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$3.docFooterContainer, children: [
|
|
1669
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", {}),
|
|
1670
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CountBar, {})
|
|
1671
|
+
] }), "DocFooter"), BoldShortCut = {
|
|
1672
|
+
id: SetInlineFormatBoldCommand.id,
|
|
1673
|
+
binding: KeyCode.B | MetaKeys.CTRL_COMMAND,
|
|
1674
|
+
preconditions: whenDocAndEditorFocused
|
|
1675
|
+
}, ItalicShortCut = {
|
|
1676
|
+
id: SetInlineFormatItalicCommand.id,
|
|
1677
|
+
binding: KeyCode.I | MetaKeys.CTRL_COMMAND,
|
|
1678
|
+
preconditions: whenDocAndEditorFocused
|
|
1679
|
+
}, UnderlineShortCut = {
|
|
1680
|
+
id: SetInlineFormatUnderlineCommand.id,
|
|
1681
|
+
binding: KeyCode.U | MetaKeys.CTRL_COMMAND,
|
|
1682
|
+
preconditions: whenDocAndEditorFocused
|
|
1683
|
+
}, StrikeThroughShortCut = {
|
|
1684
|
+
id: SetInlineFormatStrikethroughCommand.id,
|
|
1685
|
+
binding: KeyCode.X | MetaKeys.SHIFT | MetaKeys.CTRL_COMMAND,
|
|
1686
|
+
preconditions: whenDocAndEditorFocused
|
|
1687
|
+
}, SubscriptShortCut = {
|
|
1688
|
+
id: SetInlineFormatSubscriptCommand.id,
|
|
1689
|
+
binding: KeyCode.COMMA | MetaKeys.CTRL_COMMAND,
|
|
1690
|
+
preconditions: whenDocAndEditorFocused
|
|
1691
|
+
}, SuperscriptShortCut = {
|
|
1692
|
+
id: SetInlineFormatSuperscriptCommand.id,
|
|
1693
|
+
binding: KeyCode.PERIOD | MetaKeys.CTRL_COMMAND,
|
|
1694
|
+
preconditions: whenDocAndEditorFocused
|
|
1695
|
+
}, AlignLeftShortCut = {
|
|
1696
|
+
id: AlignLeftCommand.id,
|
|
1697
|
+
binding: KeyCode.L | MetaKeys.CTRL_COMMAND | MetaKeys.SHIFT,
|
|
1698
|
+
preconditions: whenDocAndEditorFocused
|
|
1699
|
+
}, AlignRightShortCut = {
|
|
1700
|
+
id: AlignRightCommand.id,
|
|
1701
|
+
binding: KeyCode.R | MetaKeys.CTRL_COMMAND | MetaKeys.SHIFT,
|
|
1702
|
+
preconditions: whenDocAndEditorFocused
|
|
1703
|
+
}, AlignCenterShortCut = {
|
|
1704
|
+
id: AlignCenterCommand.id,
|
|
1705
|
+
binding: KeyCode.E | MetaKeys.CTRL_COMMAND | MetaKeys.SHIFT,
|
|
1706
|
+
preconditions: whenDocAndEditorFocused
|
|
1707
|
+
}, AlignJustifyShortCut = {
|
|
1708
|
+
id: AlignJustifyCommand.id,
|
|
1709
|
+
binding: KeyCode.J | MetaKeys.CTRL_COMMAND | MetaKeys.SHIFT,
|
|
1710
|
+
preconditions: whenDocAndEditorFocused
|
|
1711
|
+
}, OrderListShortCut = {
|
|
1712
|
+
id: OrderListCommand.id,
|
|
1713
|
+
binding: KeyCode.Digit7 | MetaKeys.CTRL_COMMAND | MetaKeys.SHIFT,
|
|
1714
|
+
preconditions: whenDocAndEditorFocused
|
|
1715
|
+
}, BulletListShortCut = {
|
|
1716
|
+
id: BulletListCommand.id,
|
|
1717
|
+
binding: KeyCode.Digit8 | MetaKeys.CTRL_COMMAND | MetaKeys.SHIFT,
|
|
1718
|
+
preconditions: whenDocAndEditorFocused
|
|
1719
|
+
}, TabShortCut = {
|
|
1720
|
+
id: TabCommand.id,
|
|
1721
|
+
binding: KeyCode.TAB,
|
|
1722
|
+
preconditions: whenDocAndEditorFocused
|
|
1723
|
+
}, ShiftTabShortCut = {
|
|
1724
|
+
id: TabCommand.id,
|
|
1725
|
+
binding: KeyCode.TAB | MetaKeys.SHIFT,
|
|
1726
|
+
preconditions: whenDocAndEditorFocused,
|
|
1727
|
+
staticParameters: {
|
|
1728
|
+
shift: !0
|
|
1729
|
+
}
|
|
1730
|
+
}, docListTypePicker = "univer-doc-list-type-picker", docListTypePickerItem = "univer-doc-list-type-picker-item", docListTypePickerItemActive = "univer-doc-list-type-picker-item-active", styles$2 = {
|
|
1731
|
+
docListTypePicker,
|
|
1732
|
+
docListTypePickerItem,
|
|
1733
|
+
docListTypePickerItemActive
|
|
1734
|
+
}, ListTypePicker = /* @__PURE__ */ __name((props) => {
|
|
1735
|
+
const { value, onChange, options } = props;
|
|
1736
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$2.docListTypePicker, children: options.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1737
|
+
"img",
|
|
1738
|
+
{
|
|
1739
|
+
className: styles$2.docListTypePickerItem + (value === item.value ? ` ${styles$2.docListTypePickerItemActive}` : ""),
|
|
1740
|
+
onClick: /* @__PURE__ */ __name(() => {
|
|
1741
|
+
onChange(item.value);
|
|
1742
|
+
}, "onClick"),
|
|
1743
|
+
src: item.img
|
|
1744
|
+
},
|
|
1745
|
+
item.value
|
|
1746
|
+
)) });
|
|
1747
|
+
}, "ListTypePicker"), orderListOptions = [
|
|
1748
|
+
{
|
|
1749
|
+
value: PresetListType.ORDER_LIST,
|
|
1750
|
+
img: "data:image/jpeg;base64,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"
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
value: PresetListType.ORDER_LIST_1,
|
|
1754
|
+
img: "data:image/jpeg;base64,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"
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
value: PresetListType.ORDER_LIST_2,
|
|
1758
|
+
img: "data:image/jpeg;base64,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"
|
|
1759
|
+
},
|
|
1760
|
+
{
|
|
1761
|
+
value: PresetListType.ORDER_LIST_3,
|
|
1762
|
+
img: "data:image/jpeg;base64,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"
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
value: PresetListType.ORDER_LIST_4,
|
|
1766
|
+
img: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAzAAEAAgMBAQEAAAAAAAAAAAAABwkGCAoFBAMBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/aAAwDAQACEAMQAAAA7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcdPpZewDzdXrAAAAAAAAAAAA1LsjURpqk6Pb3clw8g1gAAAAAAABlxsQADmI355/r7oddHoOx3bt1T/ExEAAAAAAAH2mTgAgicZ3hKBpx842KhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV8XQ0+theRkuAAAAAAAAAAAAjOXOevZR0wYdAxggoAAAAAycnUAAAAA5n92e/PHfNse+YYIAAAAAeoZ0AAAAAag2wwbrfemYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqn0V2sZ7AAAAAAAAAAAABThpquPzWjHyHQADISYQAAAAAAADm620dGGK/wBU8UjEAA9ok4AAAAAAAA0BuhFkuWo57AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK1769Hbob20zsdosAAAAAAAAAAAHMbvz3kZLqHtdPUXg0D4iJAAAAAAAAe0ScADl69DPZznnU3or6sPP0jzyDQAAAAAAAZCTCACnPTVDE45Fzs2wlbJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/xAApEAABAwQCAAYCAwEAAAAAAAAGAAUXBAcICQMWAgoQFUBgASAZMDg6/9oACAEBAAEIAPqmeu33Nu3+fN6rh46sD8zlLEyk498jOzKJgwvxCv8A5Mv+r/W/TFOmE3tRfTy9+QxXcnCSuxsu16EHLycLC983D2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiXZCJdkIl2QiQK9vNYVNdPV/pvHr3PNrLDAjToF0vl58e6Kmp6KisTZRp0m7r7XWlaOTYniNxZs8GvTxKpp+Gsp6ikqI8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgeo8D1Hgem4NG2qs4a+g/RtxisE0ZAP+VDer24wWByPqbd117/HiPjRyZG8WXXJ9uzt2b4p69GVmnPTbsqyM2EF2dDLkN8l7svaEmuOMXgJND/+2d+XqZONY1DblX0EhmCkMwUhmCkMwUhmCkMwUhmCkMwUhmCkMwUhmCDTIkdSRtoK/wDr0P8A+2d+SZ8k8fiC9hNjayJ5aad8balrq4oHVFA6ooHVFA6ooHVFA6ooHVFA6ooHVFA6ooHUzW+ZmNypnSk/rxpwesPidcTJy6FoAzWniYB5unmwce+4E+zqpHdp4PrP8Hyi3Ne+TPvBthgdRehU7VDGw17pSSuRKVyJSuRKVyJSuRIVuC8vj9QNdX8G4P8A1G2MVS+slE6NjHWIhZ/fmesaVEKiFRCohUQoetx7C8Ubt8J8wCEHzY8G7HOXIfVNa/IjYRjTsMe/ruxjZ3aPWu12Wr7ocXmBRf8APLx/jmwW2pYkbBq8yErMfI8ws8NA9frSw/v/AC514RcHHyc3MDkITm95hu1mTuGXo5Vnt7dX16l5S8peUvKXlLyl5S8peUvKXlLyl5S8peUvIeuP788UbT+vmMQ8ZuFeHTcAmv8ACVqiV+7UMGm3ZFrVpcHfR3pOSvanOh4YoIlFBEooIlFBEooIlFBEooIlFBEooIlFBEooIlFBEooIlFBEooIlFBEhW3zyxv1A6Vf6badct6s9qvEQpsP4sXfMGeLw+Lw/jGLT3cBpyoF84dgt/sEMnrqbKsZMwwf7N//EADkQAAAGAAMGBAMGBgMBAAAAAAECAwQFBgAHEggRE5Sl1RSV1OUJFdMQICEzQGAWFyIjJFkwMbe2/9oACAEBAAk/AP2pPKrfDz+Hdmjs5ZObXtfaVOtv0LvYMwbbMRmYR/nstWZO2xknGzISmWyKtfmIiMj5es198q3eHsLYszINpeAscTGz0HKszio0k4eXZoyEZINTiBRO2esnCDlA4gAmSVKO4N+79SqxD+VWXU3MVtjIKlSbT1+fplhMuqwYTHIYf4lvMnX4Q3DEyhE3x1SkPwxKJSyGaXxGahmJnrm9Zp5kZeXZ27PCKLIZYWJ4DxmRynO0yJbUe7+HWZ6Ym+DMLtkFBEVXBjs8+NgrMmzbK+ZEI9VVNKs4imPHKVAcOEXCp3SbFlDIPaExVWRaFXWy/kOE2IVId/2KHSWSiJJVJVI5k1E1E2axiKJnKIGIchgAxDlEDFMACAgIYn5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4l5R03U8dxEHD92uifRHPDk1pKqmIbScpTl1FHSYpTBuEAH7s7Lx0VnPeU9oTahkawuqnLVzJaipzhItFZb5bIxKKsgwh8xpuKQnCLMULjA5dun0csm+jTqbcHxRWjNogk1aNGu1uzbtmrZumVJBu3QSyxIkigikQiaSSZCppplKQhSlKABmDmjdNmL4m+VTqoEu+ddqaWe0qbStXsLt7CfxBZo+s19OyTrifkIurwoqNvGCpnwJ5JdczNNwOaJR2q3FbGyJ5fp1uyrMygWmLZkDBL2lKKPXGtk/lyge9BFOZJExq6ZFYqovHDdkrgnEbukVW66eoxNaK6ZklSayGKcuohjF1EMUxd+8pgEAHER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRvAdocThK+Mfq6OKkdFT+2s6USNqSUOX+og7t+8NxgAQ+5lbV0Noe0VBGhTmbIoOV7W8pzckKRGvlcOHKrVnHlJXYcuhi1bHMDU2tQ3inniMZW1nMV/lJbUL3lnIziTsslR7g1UaLN7DXZGPdsnsdIpLMGK5VUVwDjsma4lFVqgdPJSgn2lkK6NURzlPCpGuiMIMUpACik+EwopvhryytbGZI3CaGtqqV4ZD5KczEf3daJyQzHuzFdfKzJSgVyTtmaGaL4jssa3jqvFNEk4pp4uVUSjU5KxzEJFeMVTakdqvFUGq2U1PyUf7NeckBl7XMuYRjPpXCng/d5hsZ+pZly8zOP2s/baw/p7eKkJCIgam0PIpShgh0UlW7dp+pywoNhzVpMU4hKVmNO1KDl7rTYl44VdvmNTskgxcytbQkHCplJEIV0xM/EqRXhlyIIlT/wBily/9a2kPtW4DtDwfCV4aSujiv2qKn9tYiiRtSShy/wBRB3b94bjAAhL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiX6fF+ixL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiS47RfxnFS8GwS18Jg6WT/uItU1S6VUyG/pOG/duHeURAf8Aj/2KXL/1raQxnPlrK5/U2CbWa05OsbhCOcxIKBdpMXCUpI1VN4aWQbFbSsQ7ciLbWzaTMM7dkQby8aq6wddNu64PEO3MmRYOAuk4JoMqmsQN50SgbUmbeUTAG4RAwPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsOZRRw143DI4WaHRHjoKtz6ypMkTjuIsYS6VC7jAUR3gAlH/AI4+zM7XtcZrSGc2cS09Y3M4xe3aTnLbYXS8AyXRSJBRwyV1nDEj0DKpkRUbJAfc3KI0uaR2kcxIJaEm5p1aph5WGir2Ji4CXnYWrLLCxjZ2bg4dlFyLkp1WgN/FqMWLJ3IyDl1+8Nl/NWSQt+XC18W2iEXgJVCN01OYtia7et/IFiSNGRGHVqMreFbfGKx9+ONYRrD/AEEfrfqn9bLs/WrYukM8JeOUrrdS0nvje0ZhxKbhCzCsDlCMBnW4woxpURTFQqx9e9YQD7CIqOGvheGRwVQ6I8d43bn1lSUROO4ixhLpULuMBRHeACUWULy77uOGULy77uOGULy77uOGULy77uOGULy77uOG0Ym3deK4h26LsiwcBm4cE0GVerEDedEoG1Jm3lEwBuEQMH6H/WfL/wD3ecOJiKaTc0R4rDw7mQaISkslHJFWkFIyPVWI7fkYInKq8O1RVK1SMVRcSEEB+xx4Txfh/wDI4PH4fAdIOfyuKjq1cHR+YXTq1fju0jYek+54sPSfc8WHpPueLD0n3PFh6T7niZ8X4TxH+P8ALuBxOO1Xbfm+OW06eNr/ACzatOn8N+oP0OYFkQutN2enWz22y3TjIs1WewzqatU0awrypjfNk5MitqcIg1TL4UU2iJhHUc+M2c1azfNnCJhIiPoEE9jj06zIVWbs9igCnXeN1JSvNnMjbpdvcGEaqsxtURwWXAiXKsnISX7dywzpzVf58XKVolFrmSVfrNksTixRjeJWTYqRdhttWWduZZaZZMIdnD/M3z18cW5WxDmR4vwvfi1poioQFVEtlGOWVIkJgBQ6aR8w0CqqFLvEiZlkSnMAFFVMBE4TtyqebuXKR3V+yIzkqS2X2b1Uj03xItWTeV872WiZSPZyaiMbLr1ufmxrz91HNLESJXl4gj79RKR0HAwfxA6fMTc3MPm0ZEQ8RGXLKJ7JSkpJPVUGcfHR7NBZ2+fO1kWzRsiquuqmkmc4bY+yqiiiQ6qqqu0LlGmmkmmUTqKKKHt4FIQhQExzmEClKAiIgACOFS3XIzZh2ZblRNqHaJpLNyrlJmXd56AzEr9Py6ir4xKFYv01DHvNGmWzyPeyRn0dT3oMzuYumtniH2J8bwLJ084Wvh8XwyCi3D4mk+jXo069B9O/fpNu3DXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zEN4TxfiP8j5jx+HwGq7n8rwKOrVwdH5hdOrV+O7SP3IZnY6beNvCvU+216RKc8fPVmzWjKeFnoZ8RM6ah2cpFPXbFyUihDmQXOBTlEQMGwzkh5VM96xJ3Ch5A7eWdEnkLnrsmrXi12rKldw+sOWFZaZsU+tWmUnncBP15TMYJ6WlWDxH5cWAZRbRRpXrJYox39hiFWex71okZUTAmVRy2URIZQSlOYCAY4CcSkOYC7xAph/AXsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HsLzD7t2HMYo3a+K4hG6zs6w8dm4bk0FVZIkHcdYom1KF3FAwhvEAKP3M5KNkxftlLOZxnRATl6rEla49zYmStXkaudKLZAds4LFzVZbvHbWSSWZvUDA3USOmZQo/FA2WyCYogBy7J9XExBENwGKB6mcgmL/ANhrIYu8P6imDeA7Ydv249onLlu5TyejXVMisuMnsonj1Nyi4la1RIt6+ilJNsC/i4Y0RF1CJjpcTTzqFlbA3iZeL2yrpl3s+ZPVlOLv+zeykbOSIt0i0Xs674rKHYSLamyMdf20vCRNtcWaOcS8Y2r6LyKcvliQ7eD/AHN//8QAPBEAAQMCAwUDCQQLAAAAAAAAAQIDERIhAAQxEzJAQVFgYXEUI3ORk6Gy0eEzU4HBECI0QkNUZHKCkrH/2gAIAQIBAT8A7KM5ZpTKUrHnn0rU2ZNgkAjQxBEG8mCehgiCQdRY8S02XXENj95QB7hqo/gJOMw/GaCkbrJShIGkIP6w8CZHeIxnEBLtadx5IcSeUne99/8ALicp5pt7MkCUihudCox80i3InHliz/Cy/svrhavKsqpUJC2FTCBAoIvAkwIuf7MbBzZbanzcxMjrTMTMVW8eI2iygN1GgGQnlN7+8/oS4tFQQopChCo5jofXjaLo2dRomaZtOv8A28aTfXte0w48TQBSN5ajCU85J+QOMywhkMlCivaJKioxB3SCkRYGeZNo4oKUElIUQk3KQSAT3jQ/jjN/ZZP0I+Fvi839lk/Qj4W8ULCQspVQTAVBpJ6TpyPqPFOOrcS2lUQ2mlMCLQBfroMF9wtBkkUAyBAnWYJ6SZ7YhicuX9omyoo5m4Gs2N5iN288WGkHKqevWHaBe0Qk6db8Wn9gX6cfCnH5cUHiGCxAgrrq5zAEdOWEZhSGVshKSFzc6iQAfHQR0PXs8wwp+uFJSECVFRIEX6A6QZnHkf8AUZf2n0w7l3GYKoKVaLSaknum1/EX5aHickJRmgLktEADnZWNi7905/or5YILWSU27ZbiwptB3kgFJJKdU6HXr1PE5IkJzJBghqQehAUQceVZj71fr+mEKOZYf2sFbKa0OQArRRpJAEg0wB+YHE5Z9LO0C0lQcTSQDFrz7jjaZP8Al3PaH54XmQWy0y0GkK3rlSleKrGOsza0xbCHW0sONloKWo2ctIFuZuI5Ra9+/tN//8QAOBEAAQIEAQcKBAcBAAAAAAAAAQIRAxIhMQATQEFhcYGRIjJRUmCSobHR8CNy0uEQNEJTY3PB8f/aAAgBAwEBPwDsouKsLJTzEFIVre+h9W4dOL1zlapEqV0Dx0eOIcP4RBusEnfbhQ7cQFEolN0EpO63puzmNy1IhA3LqboHsna2rGQT14ne+2EjIxQHJTEDOes/ifqxOmeR+Uztufi1c4lTNM3KZn1fgpKVM4di41HEqZpmE3S1fbU2U7XriJRc1NgKk7B64hRFLK5gBKWbSL0OsNqzpgSCwcWLVGw4g8+N8581Z3B58b5z5qxMl5XEwqQ9eGdJQElRDuoudtbccCGkLK25R102t2xynxBDlNQ82iz8NDvejZ2VqEZKP0lD766d2dn8wn+v6s7KHiCI9kytxr44VDClpW5dOjRTyvXp7PRIghs4JmLBsZb+OJ3cIiJW4Dgi4IY+/LTnMbnQfn/1OJ0ddPeHrgMuOFJqEpIUoWJYhnsbjhqzmOAVQgbFbHYSnGRhdQePrhQyUSHI4CzKpLki4D1018Oh85iw1LlKSAUl67vTEsf9xPd+2EwjNOtU6hajAbvKzYUhRiJUFkJAqn3Sul/+dpv/2Q=="
|
|
1767
|
+
},
|
|
1768
|
+
{
|
|
1769
|
+
value: PresetListType.ORDER_LIST_5,
|
|
1770
|
+
img: "data:image/jpeg;base64,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"
|
|
1771
|
+
}
|
|
1772
|
+
], OrderListTypePicker = /* @__PURE__ */ __name((props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1773
|
+
ListTypePicker,
|
|
1774
|
+
{
|
|
1775
|
+
...props,
|
|
1776
|
+
options: orderListOptions
|
|
1777
|
+
}
|
|
1778
|
+
), "OrderListTypePicker"), bulletOptions = [
|
|
1779
|
+
{
|
|
1780
|
+
value: PresetListType.BULLET_LIST,
|
|
1781
|
+
img: "data:image/jpeg;base64,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"
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
value: PresetListType.BULLET_LIST_1,
|
|
1785
|
+
img: "data:image/jpeg;base64,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"
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
value: PresetListType.BULLET_LIST_2,
|
|
1789
|
+
img: "data:image/jpeg;base64,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"
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
value: PresetListType.BULLET_LIST_3,
|
|
1793
|
+
img: "data:image/jpeg;base64,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"
|
|
1794
|
+
},
|
|
1795
|
+
{
|
|
1796
|
+
value: PresetListType.BULLET_LIST_4,
|
|
1797
|
+
img: "data:image/jpeg;base64,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"
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
value: PresetListType.BULLET_LIST_5,
|
|
1801
|
+
img: "data:image/jpeg;base64,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"
|
|
1802
|
+
}
|
|
1803
|
+
], BulletListTypePicker = /* @__PURE__ */ __name((props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1804
|
+
ListTypePicker,
|
|
1805
|
+
{
|
|
1806
|
+
...props,
|
|
1807
|
+
options: bulletOptions
|
|
1808
|
+
}
|
|
1809
|
+
), "BulletListTypePicker"), ORDER_LIST_TYPE_COMPONENT = `${COMPONENT_PREFIX}_ORDER_LIST_TYPE_COMPONENT`, BULLET_LIST_TYPE_COMPONENT = `${COMPONENT_PREFIX}_BULLET_LIST_TYPE_COMPONENT`, COMPONENT_DOC_CREATE_TABLE_CONFIRM = "COMPONENT_DOC_CREATE_TABLE_CONFIRM", COMPONENT_DOC_CREATE_TABLE_CONFIRM_ID = "doc.component.create-table-confirm", DocCreateTableOperation = {
|
|
1810
|
+
id: "doc.operation.create-table",
|
|
1811
|
+
type: CommandType.COMMAND,
|
|
1812
|
+
handler: /* @__PURE__ */ __name(async (accessor) => {
|
|
1813
|
+
const localeService = accessor.get(LocaleService), confirmService = accessor.get(IConfirmService), commandService = accessor.get(ICommandService), tableCreateParams = {
|
|
1814
|
+
rowCount: 3,
|
|
1815
|
+
colCount: 5
|
|
1816
|
+
}, handleRowColChange = /* @__PURE__ */ __name((rowCount, colCount) => {
|
|
1817
|
+
tableCreateParams.rowCount = rowCount, tableCreateParams.colCount = colCount;
|
|
1818
|
+
}, "handleRowColChange");
|
|
1819
|
+
return await confirmService.open({
|
|
1820
|
+
id: COMPONENT_DOC_CREATE_TABLE_CONFIRM_ID,
|
|
1821
|
+
children: {
|
|
1822
|
+
label: {
|
|
1823
|
+
name: COMPONENT_DOC_CREATE_TABLE_CONFIRM,
|
|
1824
|
+
props: {
|
|
1825
|
+
handleRowColChange,
|
|
1826
|
+
tableCreateParams
|
|
1827
|
+
}
|
|
1828
|
+
}
|
|
1829
|
+
},
|
|
1830
|
+
width: 400,
|
|
1831
|
+
title: { title: localeService.t("toolbar.table.insert") },
|
|
1832
|
+
onConfirm: /* @__PURE__ */ __name(() => {
|
|
1833
|
+
commandService.executeCommand(CreateDocTableCommand.id, tableCreateParams), confirmService.close(COMPONENT_DOC_CREATE_TABLE_CONFIRM_ID);
|
|
1834
|
+
}, "onConfirm"),
|
|
1835
|
+
onClose: /* @__PURE__ */ __name(() => {
|
|
1836
|
+
confirmService.close(COMPONENT_DOC_CREATE_TABLE_CONFIRM_ID);
|
|
1837
|
+
}, "onClose")
|
|
1838
|
+
}), !0;
|
|
1839
|
+
}, "handler")
|
|
1840
|
+
};
|
|
1841
|
+
function getInsertTableHiddenObservable(accessor) {
|
|
1842
|
+
const univerInstanceService = accessor.get(IUniverInstanceService), renderManagerService = accessor.get(IRenderManagerService);
|
|
1843
|
+
return new Observable((subscriber) => {
|
|
1844
|
+
const subscription = univerInstanceService.focused$.subscribe((unitId) => {
|
|
1845
|
+
if (unitId == null || univerInstanceService.getUnitType(unitId) !== UniverInstanceType.UNIVER_DOC)
|
|
1846
|
+
return subscriber.next(!0);
|
|
1847
|
+
const currentRender2 = renderManagerService.getRenderById(unitId);
|
|
1848
|
+
if (currentRender2 == null)
|
|
1849
|
+
return subscriber.next(!0);
|
|
1850
|
+
currentRender2.with(DocSkeletonManagerService).getViewModel().editAreaChange$.subscribe((editArea) => {
|
|
1851
|
+
subscriber.next(editArea === DocumentEditArea.HEADER || editArea === DocumentEditArea.FOOTER);
|
|
1852
|
+
});
|
|
1853
|
+
}), currentRender = renderManagerService.getCurrentTypeOfRenderer(UniverInstanceType.UNIVER_DOC);
|
|
1854
|
+
if (currentRender == null)
|
|
1855
|
+
return subscriber.next(!0);
|
|
1856
|
+
const viewModel = currentRender.with(DocSkeletonManagerService).getViewModel();
|
|
1857
|
+
return subscriber.next(viewModel.getEditArea() !== DocumentEditArea.BODY), () => subscription.unsubscribe();
|
|
1858
|
+
});
|
|
1859
|
+
}
|
|
1860
|
+
__name(getInsertTableHiddenObservable, "getInsertTableHiddenObservable");
|
|
1861
|
+
function getTableDisabledObservable(accessor) {
|
|
1862
|
+
const textSelectionManagerService = accessor.get(TextSelectionManagerService), univerInstanceService = accessor.get(IUniverInstanceService);
|
|
1863
|
+
return new Observable((subscriber) => {
|
|
1864
|
+
const subscription = textSelectionManagerService.textSelection$.subscribe((selection) => {
|
|
1865
|
+
if (selection == null) {
|
|
1866
|
+
subscriber.next(!0);
|
|
1867
|
+
return;
|
|
1868
|
+
}
|
|
1869
|
+
const { textRanges } = selection;
|
|
1870
|
+
if (textRanges.length !== 1) {
|
|
1871
|
+
subscriber.next(!0);
|
|
1872
|
+
return;
|
|
1873
|
+
}
|
|
1874
|
+
const textRange = textRanges[0], { collapsed, anchorNodePosition, startOffset } = textRange;
|
|
1875
|
+
if (!collapsed || startOffset == null) {
|
|
1876
|
+
subscriber.next(!0);
|
|
1877
|
+
return;
|
|
1878
|
+
}
|
|
1879
|
+
const docDataModel = univerInstanceService.getCurrentUniverDocInstance();
|
|
1880
|
+
if (docDataModel == null) {
|
|
1881
|
+
subscriber.next(!0);
|
|
1882
|
+
return;
|
|
1883
|
+
}
|
|
1884
|
+
const docSkeletonManagerService = getCommandSkeleton(accessor, docDataModel.getUnitId());
|
|
1885
|
+
if (docSkeletonManagerService == null) {
|
|
1886
|
+
subscriber.next(!0);
|
|
1887
|
+
return;
|
|
1888
|
+
}
|
|
1889
|
+
if (docSkeletonManagerService.getViewModel().getCustomRangeRaw(startOffset)) {
|
|
1890
|
+
subscriber.next(!0);
|
|
1891
|
+
return;
|
|
1892
|
+
}
|
|
1893
|
+
if (anchorNodePosition != null) {
|
|
1894
|
+
const { path } = anchorNodePosition;
|
|
1895
|
+
if (path.indexOf("cells") !== -1) {
|
|
1896
|
+
subscriber.next(!0);
|
|
1897
|
+
return;
|
|
1898
|
+
}
|
|
1899
|
+
}
|
|
1900
|
+
subscriber.next(!1);
|
|
1901
|
+
});
|
|
1902
|
+
return () => subscription.unsubscribe();
|
|
1903
|
+
});
|
|
1904
|
+
}
|
|
1905
|
+
__name(getTableDisabledObservable, "getTableDisabledObservable");
|
|
1906
|
+
function BoldMenuItemFactory(accessor) {
|
|
1907
|
+
const commandService = accessor.get(ICommandService);
|
|
1908
|
+
return {
|
|
1909
|
+
id: SetInlineFormatBoldCommand.id,
|
|
1910
|
+
group: MenuGroup.TOOLBAR_FORMAT,
|
|
1911
|
+
type: MenuItemType.BUTTON,
|
|
1912
|
+
icon: "BoldSingle",
|
|
1913
|
+
title: "Set bold",
|
|
1914
|
+
tooltip: "toolbar.bold",
|
|
1915
|
+
positions: [MenuPosition.TOOLBAR_START],
|
|
1916
|
+
activated$: new Observable((subscriber) => {
|
|
1917
|
+
const disposable = commandService.onCommandExecuted((c) => {
|
|
1918
|
+
var _a23;
|
|
1919
|
+
const id = c.id;
|
|
1920
|
+
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatCommand.id) {
|
|
1921
|
+
const textRun = getFontStyleAtCursor(accessor);
|
|
1922
|
+
if (textRun == null)
|
|
1923
|
+
return;
|
|
1924
|
+
const bl = (_a23 = textRun.ts) == null ? void 0 : _a23.bl;
|
|
1925
|
+
subscriber.next(bl === BooleanNumber.TRUE);
|
|
1926
|
+
}
|
|
1927
|
+
});
|
|
1928
|
+
return subscriber.next(!1), disposable.dispose;
|
|
1929
|
+
}),
|
|
1930
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
1931
|
+
};
|
|
1932
|
+
}
|
|
1933
|
+
__name(BoldMenuItemFactory, "BoldMenuItemFactory");
|
|
1934
|
+
function ItalicMenuItemFactory(accessor) {
|
|
1935
|
+
const commandService = accessor.get(ICommandService);
|
|
1936
|
+
return {
|
|
1937
|
+
id: SetInlineFormatItalicCommand.id,
|
|
1938
|
+
group: MenuGroup.TOOLBAR_FORMAT,
|
|
1939
|
+
type: MenuItemType.BUTTON,
|
|
1940
|
+
icon: "ItalicSingle",
|
|
1941
|
+
title: "Set italic",
|
|
1942
|
+
tooltip: "toolbar.italic",
|
|
1943
|
+
positions: [MenuPosition.TOOLBAR_START],
|
|
1944
|
+
activated$: new Observable((subscriber) => {
|
|
1945
|
+
const disposable = commandService.onCommandExecuted((c) => {
|
|
1946
|
+
var _a23;
|
|
1947
|
+
const id = c.id;
|
|
1948
|
+
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatCommand.id) {
|
|
1949
|
+
const textRun = getFontStyleAtCursor(accessor);
|
|
1950
|
+
if (textRun == null)
|
|
1951
|
+
return;
|
|
1952
|
+
const it = (_a23 = textRun.ts) == null ? void 0 : _a23.it;
|
|
1953
|
+
subscriber.next(it === BooleanNumber.TRUE);
|
|
1476
1954
|
}
|
|
1477
1955
|
});
|
|
1478
1956
|
return subscriber.next(!1), disposable.dispose;
|
|
@@ -1493,13 +1971,13 @@ function UnderlineMenuItemFactory(accessor) {
|
|
|
1493
1971
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1494
1972
|
activated$: new Observable((subscriber) => {
|
|
1495
1973
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1496
|
-
var
|
|
1974
|
+
var _a23;
|
|
1497
1975
|
const id = c.id;
|
|
1498
1976
|
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatCommand.id) {
|
|
1499
1977
|
const textRun = getFontStyleAtCursor(accessor);
|
|
1500
1978
|
if (textRun == null)
|
|
1501
1979
|
return;
|
|
1502
|
-
const ul = (
|
|
1980
|
+
const ul = (_a23 = textRun.ts) == null ? void 0 : _a23.ul;
|
|
1503
1981
|
subscriber.next((ul == null ? void 0 : ul.s) === BooleanNumber.TRUE);
|
|
1504
1982
|
}
|
|
1505
1983
|
});
|
|
@@ -1521,13 +1999,13 @@ function StrikeThroughMenuItemFactory(accessor) {
|
|
|
1521
1999
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1522
2000
|
activated$: new Observable((subscriber) => {
|
|
1523
2001
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1524
|
-
var
|
|
2002
|
+
var _a23;
|
|
1525
2003
|
const id = c.id;
|
|
1526
2004
|
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatCommand.id) {
|
|
1527
2005
|
const textRun = getFontStyleAtCursor(accessor);
|
|
1528
2006
|
if (textRun == null)
|
|
1529
2007
|
return;
|
|
1530
|
-
const st = (
|
|
2008
|
+
const st = (_a23 = textRun.ts) == null ? void 0 : _a23.st;
|
|
1531
2009
|
subscriber.next((st == null ? void 0 : st.s) === BooleanNumber.TRUE);
|
|
1532
2010
|
}
|
|
1533
2011
|
});
|
|
@@ -1548,13 +2026,13 @@ function SubscriptMenuItemFactory(accessor) {
|
|
|
1548
2026
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1549
2027
|
activated$: new Observable((subscriber) => {
|
|
1550
2028
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1551
|
-
var
|
|
2029
|
+
var _a23;
|
|
1552
2030
|
const id = c.id;
|
|
1553
2031
|
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatCommand.id) {
|
|
1554
2032
|
const textRun = getFontStyleAtCursor(accessor);
|
|
1555
2033
|
if (textRun == null)
|
|
1556
2034
|
return;
|
|
1557
|
-
const va = (
|
|
2035
|
+
const va = (_a23 = textRun.ts) == null ? void 0 : _a23.va;
|
|
1558
2036
|
subscriber.next(va === BaselineOffset.SUBSCRIPT);
|
|
1559
2037
|
}
|
|
1560
2038
|
});
|
|
@@ -1575,13 +2053,13 @@ function SuperscriptMenuItemFactory(accessor) {
|
|
|
1575
2053
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1576
2054
|
activated$: new Observable((subscriber) => {
|
|
1577
2055
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1578
|
-
var
|
|
2056
|
+
var _a23;
|
|
1579
2057
|
const id = c.id;
|
|
1580
2058
|
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatCommand.id) {
|
|
1581
2059
|
const textRun = getFontStyleAtCursor(accessor);
|
|
1582
2060
|
if (textRun == null)
|
|
1583
2061
|
return;
|
|
1584
|
-
const va = (
|
|
2062
|
+
const va = (_a23 = textRun.ts) == null ? void 0 : _a23.va;
|
|
1585
2063
|
subscriber.next(va === BaselineOffset.SUPERSCRIPT);
|
|
1586
2064
|
}
|
|
1587
2065
|
});
|
|
@@ -1610,13 +2088,13 @@ function FontFamilySelectorMenuItemFactory(accessor) {
|
|
|
1610
2088
|
// disabled$: getCurrentSheetDisabled$(accessor),
|
|
1611
2089
|
value$: new Observable((subscriber) => {
|
|
1612
2090
|
const defaultValue = FONT_FAMILY_LIST[0].value, disposable = commandService.onCommandExecuted((c) => {
|
|
1613
|
-
var
|
|
2091
|
+
var _a23;
|
|
1614
2092
|
const id = c.id;
|
|
1615
2093
|
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatFontFamilyCommand.id) {
|
|
1616
2094
|
const textRun = getFontStyleAtCursor(accessor);
|
|
1617
2095
|
if (textRun == null)
|
|
1618
2096
|
return;
|
|
1619
|
-
const ff = (
|
|
2097
|
+
const ff = (_a23 = textRun.ts) == null ? void 0 : _a23.ff;
|
|
1620
2098
|
subscriber.next(ff != null ? ff : defaultValue);
|
|
1621
2099
|
}
|
|
1622
2100
|
});
|
|
@@ -1646,13 +2124,13 @@ function FontSizeSelectorMenuItemFactory(accessor) {
|
|
|
1646
2124
|
// disabled$,
|
|
1647
2125
|
value$: new Observable((subscriber) => {
|
|
1648
2126
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1649
|
-
var
|
|
2127
|
+
var _a23;
|
|
1650
2128
|
const id = c.id;
|
|
1651
2129
|
if (id === SetTextSelectionsOperation.id || id === SetInlineFormatFontSizeCommand.id) {
|
|
1652
2130
|
const textRun = getFontStyleAtCursor(accessor);
|
|
1653
2131
|
if (textRun == null)
|
|
1654
2132
|
return;
|
|
1655
|
-
const fs = (
|
|
2133
|
+
const fs = (_a23 = textRun.ts) == null ? void 0 : _a23.fs;
|
|
1656
2134
|
subscriber.next(fs != null ? fs : 14);
|
|
1657
2135
|
}
|
|
1658
2136
|
});
|
|
@@ -1705,6 +2183,31 @@ function HeaderFooterMenuItemFactory(accessor) {
|
|
|
1705
2183
|
};
|
|
1706
2184
|
}
|
|
1707
2185
|
__name(HeaderFooterMenuItemFactory, "HeaderFooterMenuItemFactory");
|
|
2186
|
+
const TableIcon = "GridSingle", TABLE_MENU_ID = "doc.menu.table";
|
|
2187
|
+
function TableMenuFactory(accessor) {
|
|
2188
|
+
return {
|
|
2189
|
+
id: TABLE_MENU_ID,
|
|
2190
|
+
type: MenuItemType.SUBITEMS,
|
|
2191
|
+
positions: [MenuPosition.TOOLBAR_START],
|
|
2192
|
+
group: MenuGroup.TOOLBAR_LAYOUT,
|
|
2193
|
+
icon: TableIcon,
|
|
2194
|
+
tooltip: "toolbar.table.main",
|
|
2195
|
+
disabled$: getTableDisabledObservable(accessor),
|
|
2196
|
+
// Do not show header footer menu and insert table at zen mode.
|
|
2197
|
+
hidden$: combineLatest(getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), getInsertTableHiddenObservable(accessor), getHeaderFooterMenuHiddenObservable(accessor), (one, two, three) => one || two || three)
|
|
2198
|
+
};
|
|
2199
|
+
}
|
|
2200
|
+
__name(TableMenuFactory, "TableMenuFactory");
|
|
2201
|
+
function InsertTableMenuFactory(_accessor) {
|
|
2202
|
+
return {
|
|
2203
|
+
id: DocCreateTableOperation.id,
|
|
2204
|
+
title: "toolbar.table.insert",
|
|
2205
|
+
type: MenuItemType.BUTTON,
|
|
2206
|
+
positions: [TABLE_MENU_ID],
|
|
2207
|
+
hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_DOC)
|
|
2208
|
+
};
|
|
2209
|
+
}
|
|
2210
|
+
__name(InsertTableMenuFactory, "InsertTableMenuFactory");
|
|
1708
2211
|
function AlignLeftMenuItemFactory(accessor) {
|
|
1709
2212
|
const commandService = accessor.get(ICommandService);
|
|
1710
2213
|
return {
|
|
@@ -1716,13 +2219,13 @@ function AlignLeftMenuItemFactory(accessor) {
|
|
|
1716
2219
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1717
2220
|
activated$: new Observable((subscriber) => {
|
|
1718
2221
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1719
|
-
var
|
|
2222
|
+
var _a23;
|
|
1720
2223
|
const id = c.id;
|
|
1721
2224
|
if (id === SetTextSelectionsOperation.id || id === AlignOperationCommand.id) {
|
|
1722
2225
|
const paragraph = getParagraphStyleAtCursor(accessor);
|
|
1723
2226
|
if (paragraph == null)
|
|
1724
2227
|
return;
|
|
1725
|
-
const alignType = (
|
|
2228
|
+
const alignType = (_a23 = paragraph.paragraphStyle) == null ? void 0 : _a23.horizontalAlign;
|
|
1726
2229
|
subscriber.next(alignType === HorizontalAlign.LEFT);
|
|
1727
2230
|
}
|
|
1728
2231
|
});
|
|
@@ -1743,13 +2246,13 @@ function AlignCenterMenuItemFactory(accessor) {
|
|
|
1743
2246
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1744
2247
|
activated$: new Observable((subscriber) => {
|
|
1745
2248
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1746
|
-
var
|
|
2249
|
+
var _a23;
|
|
1747
2250
|
const id = c.id;
|
|
1748
2251
|
if (id === SetTextSelectionsOperation.id || id === AlignOperationCommand.id) {
|
|
1749
2252
|
const paragraph = getParagraphStyleAtCursor(accessor);
|
|
1750
2253
|
if (paragraph == null)
|
|
1751
2254
|
return;
|
|
1752
|
-
const alignType = (
|
|
2255
|
+
const alignType = (_a23 = paragraph.paragraphStyle) == null ? void 0 : _a23.horizontalAlign;
|
|
1753
2256
|
subscriber.next(alignType === HorizontalAlign.CENTER);
|
|
1754
2257
|
}
|
|
1755
2258
|
});
|
|
@@ -1770,13 +2273,13 @@ function AlignRightMenuItemFactory(accessor) {
|
|
|
1770
2273
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1771
2274
|
activated$: new Observable((subscriber) => {
|
|
1772
2275
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1773
|
-
var
|
|
2276
|
+
var _a23;
|
|
1774
2277
|
const id = c.id;
|
|
1775
2278
|
if (id === SetTextSelectionsOperation.id || id === AlignOperationCommand.id) {
|
|
1776
2279
|
const paragraph = getParagraphStyleAtCursor(accessor);
|
|
1777
2280
|
if (paragraph == null)
|
|
1778
2281
|
return;
|
|
1779
|
-
const alignType = (
|
|
2282
|
+
const alignType = (_a23 = paragraph.paragraphStyle) == null ? void 0 : _a23.horizontalAlign;
|
|
1780
2283
|
subscriber.next(alignType === HorizontalAlign.RIGHT);
|
|
1781
2284
|
}
|
|
1782
2285
|
});
|
|
@@ -1797,13 +2300,13 @@ function AlignJustifyMenuItemFactory(accessor) {
|
|
|
1797
2300
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1798
2301
|
activated$: new Observable((subscriber) => {
|
|
1799
2302
|
const disposable = commandService.onCommandExecuted((c) => {
|
|
1800
|
-
var
|
|
2303
|
+
var _a23;
|
|
1801
2304
|
const id = c.id;
|
|
1802
2305
|
if (id === SetTextSelectionsOperation.id || id === AlignOperationCommand.id) {
|
|
1803
2306
|
const paragraph = getParagraphStyleAtCursor(accessor);
|
|
1804
2307
|
if (paragraph == null)
|
|
1805
2308
|
return;
|
|
1806
|
-
const alignType = (
|
|
2309
|
+
const alignType = (_a23 = paragraph.paragraphStyle) == null ? void 0 : _a23.horizontalAlign;
|
|
1807
2310
|
subscriber.next(alignType === HorizontalAlign.JUSTIFIED);
|
|
1808
2311
|
}
|
|
1809
2312
|
});
|
|
@@ -1813,15 +2316,53 @@ function AlignJustifyMenuItemFactory(accessor) {
|
|
|
1813
2316
|
};
|
|
1814
2317
|
}
|
|
1815
2318
|
__name(AlignJustifyMenuItemFactory, "AlignJustifyMenuItemFactory");
|
|
2319
|
+
const listValueFactory$ = /* @__PURE__ */ __name((accessor) => new Observable((subscriber) => {
|
|
2320
|
+
const univerInstanceService = accessor.get(IUniverInstanceService), textSelectionManagerService = accessor.get(TextSelectionManagerService);
|
|
2321
|
+
let textSubscription;
|
|
2322
|
+
const subscription = univerInstanceService.focused$.subscribe((unitId) => {
|
|
2323
|
+
if (textSubscription == null || textSubscription.unsubscribe(), unitId == null)
|
|
2324
|
+
return;
|
|
2325
|
+
const docDataModel = univerInstanceService.getUniverDocInstance(unitId);
|
|
2326
|
+
docDataModel != null && (textSubscription = textSelectionManagerService.textSelection$.subscribe(() => {
|
|
2327
|
+
var _a23, _b;
|
|
2328
|
+
const range = textSelectionManagerService.getActiveTextRangeWithStyle();
|
|
2329
|
+
if (range) {
|
|
2330
|
+
const doc = docDataModel.getSelfOrHeaderFooterModel(range == null ? void 0 : range.segmentId), paragraphs = getParagraphsInRange(range, (_b = (_a23 = doc.getBody()) == null ? void 0 : _a23.paragraphs) != null ? _b : []);
|
|
2331
|
+
let listType;
|
|
2332
|
+
if (paragraphs.every((p2) => {
|
|
2333
|
+
var _a24;
|
|
2334
|
+
return listType || (listType = (_a24 = p2.bullet) == null ? void 0 : _a24.listType), p2.bullet && p2.bullet.listType === listType;
|
|
2335
|
+
})) {
|
|
2336
|
+
subscriber.next(listType);
|
|
2337
|
+
return;
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
subscriber.next(void 0);
|
|
2341
|
+
}));
|
|
2342
|
+
});
|
|
2343
|
+
return () => {
|
|
2344
|
+
subscription.unsubscribe(), textSubscription == null || textSubscription.unsubscribe();
|
|
2345
|
+
};
|
|
2346
|
+
}), "listValueFactory$");
|
|
1816
2347
|
function OrderListMenuItemFactory(accessor) {
|
|
1817
2348
|
return {
|
|
1818
2349
|
id: OrderListCommand.id,
|
|
1819
2350
|
group: MenuGroup.TOOLBAR_LAYOUT,
|
|
1820
|
-
type: MenuItemType.
|
|
2351
|
+
type: MenuItemType.BUTTON_SELECTOR,
|
|
2352
|
+
selections: [
|
|
2353
|
+
{
|
|
2354
|
+
label: {
|
|
2355
|
+
name: ORDER_LIST_TYPE_COMPONENT,
|
|
2356
|
+
hoverable: !1
|
|
2357
|
+
},
|
|
2358
|
+
value$: listValueFactory$(accessor)
|
|
2359
|
+
}
|
|
2360
|
+
],
|
|
1821
2361
|
icon: "OrderSingle",
|
|
1822
2362
|
tooltip: "toolbar.order",
|
|
1823
2363
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1824
|
-
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2364
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
|
2365
|
+
activated$: listValueFactory$(accessor).pipe(map((v) => v && v.indexOf("ORDER_LIST") === 0))
|
|
1825
2366
|
};
|
|
1826
2367
|
}
|
|
1827
2368
|
__name(OrderListMenuItemFactory, "OrderListMenuItemFactory");
|
|
@@ -1829,14 +2370,37 @@ function BulletListMenuItemFactory(accessor) {
|
|
|
1829
2370
|
return {
|
|
1830
2371
|
id: BulletListCommand.id,
|
|
1831
2372
|
group: MenuGroup.TOOLBAR_LAYOUT,
|
|
1832
|
-
type: MenuItemType.
|
|
2373
|
+
type: MenuItemType.BUTTON_SELECTOR,
|
|
2374
|
+
selections: [
|
|
2375
|
+
{
|
|
2376
|
+
label: {
|
|
2377
|
+
name: BULLET_LIST_TYPE_COMPONENT,
|
|
2378
|
+
hoverable: !1
|
|
2379
|
+
},
|
|
2380
|
+
value$: listValueFactory$(accessor)
|
|
2381
|
+
}
|
|
2382
|
+
],
|
|
1833
2383
|
icon: "UnorderSingle",
|
|
1834
2384
|
tooltip: "toolbar.unorder",
|
|
1835
2385
|
positions: [MenuPosition.TOOLBAR_START],
|
|
1836
|
-
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2386
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
|
2387
|
+
activated$: listValueFactory$(accessor).pipe(map((v) => v && v.indexOf("BULLET_LIST") === 0))
|
|
1837
2388
|
};
|
|
1838
2389
|
}
|
|
1839
2390
|
__name(BulletListMenuItemFactory, "BulletListMenuItemFactory");
|
|
2391
|
+
function CheckListMenuItemFactory(accessor) {
|
|
2392
|
+
return {
|
|
2393
|
+
id: CheckListCommand.id,
|
|
2394
|
+
group: MenuGroup.TOOLBAR_LAYOUT,
|
|
2395
|
+
type: MenuItemType.BUTTON,
|
|
2396
|
+
icon: "TodoList",
|
|
2397
|
+
tooltip: "toolbar.checklist",
|
|
2398
|
+
positions: [MenuPosition.TOOLBAR_START],
|
|
2399
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC),
|
|
2400
|
+
activated$: listValueFactory$(accessor).pipe(map((v) => v && v.indexOf("CHECK_LIST") === 0))
|
|
2401
|
+
};
|
|
2402
|
+
}
|
|
2403
|
+
__name(CheckListMenuItemFactory, "CheckListMenuItemFactory");
|
|
1840
2404
|
function ResetBackgroundColorMenuItemFactory(accessor) {
|
|
1841
2405
|
return {
|
|
1842
2406
|
id: ResetInlineFormatTextBackgroundColorCommand.id,
|
|
@@ -1878,11 +2442,11 @@ function BackgroundColorSelectorMenuItemFactory(accessor) {
|
|
|
1878
2442
|
}
|
|
1879
2443
|
__name(BackgroundColorSelectorMenuItemFactory, "BackgroundColorSelectorMenuItemFactory");
|
|
1880
2444
|
function getFontStyleAtCursor(accessor) {
|
|
1881
|
-
var
|
|
1882
|
-
const univerInstanceService = accessor.get(IUniverInstanceService), textSelectionService = accessor.get(TextSelectionManagerService), docDataModel = univerInstanceService.getCurrentUniverDocInstance(), activeTextRange = textSelectionService.
|
|
2445
|
+
var _a23;
|
|
2446
|
+
const univerInstanceService = accessor.get(IUniverInstanceService), textSelectionService = accessor.get(TextSelectionManagerService), docDataModel = univerInstanceService.getCurrentUniverDocInstance(), activeTextRange = textSelectionService.getActiveTextRangeWithStyle();
|
|
1883
2447
|
if (docDataModel == null || activeTextRange == null)
|
|
1884
2448
|
return;
|
|
1885
|
-
const { startOffset, segmentId } = activeTextRange, textRuns = (
|
|
2449
|
+
const { startOffset, segmentId } = activeTextRange, textRuns = (_a23 = docDataModel.getSelfOrHeaderFooterModel(segmentId).getBody()) == null ? void 0 : _a23.textRuns;
|
|
1886
2450
|
if (textRuns == null)
|
|
1887
2451
|
return;
|
|
1888
2452
|
let textRun;
|
|
@@ -1901,11 +2465,11 @@ function getFontStyleAtCursor(accessor) {
|
|
|
1901
2465
|
}
|
|
1902
2466
|
__name(getFontStyleAtCursor, "getFontStyleAtCursor");
|
|
1903
2467
|
function getParagraphStyleAtCursor(accessor) {
|
|
1904
|
-
var
|
|
1905
|
-
const univerInstanceService = accessor.get(IUniverInstanceService), textSelectionService = accessor.get(TextSelectionManagerService), docDataModel = univerInstanceService.getCurrentUniverDocInstance(), activeTextRange = textSelectionService.
|
|
2468
|
+
var _a23;
|
|
2469
|
+
const univerInstanceService = accessor.get(IUniverInstanceService), textSelectionService = accessor.get(TextSelectionManagerService), docDataModel = univerInstanceService.getCurrentUniverDocInstance(), activeTextRange = textSelectionService.getActiveTextRangeWithStyle();
|
|
1906
2470
|
if (docDataModel == null || activeTextRange == null)
|
|
1907
2471
|
return;
|
|
1908
|
-
const { startOffset, segmentId } = activeTextRange, paragraphs = (
|
|
2472
|
+
const { startOffset, segmentId } = activeTextRange, paragraphs = (_a23 = docDataModel.getSelfOrHeaderFooterModel(segmentId).getBody()) == null ? void 0 : _a23.paragraphs;
|
|
1909
2473
|
if (paragraphs == null)
|
|
1910
2474
|
return;
|
|
1911
2475
|
let prevIndex = -1;
|
|
@@ -1949,17 +2513,344 @@ const DOC_CLIPBOARD_PRIORITY = 999, DocCopyCommand = {
|
|
|
1949
2513
|
const docClipboardService = accessor.get(IDocClipboardService), clipboardItems = await accessor.get(IClipboardInterfaceService).read();
|
|
1950
2514
|
return clipboardItems.length === 0 ? !1 : docClipboardService.paste(clipboardItems);
|
|
1951
2515
|
}, "handler")
|
|
2516
|
+
}, DocParagraphSettingCommand = {
|
|
2517
|
+
id: "doc-paragraph-setting.command",
|
|
2518
|
+
type: CommandType.COMMAND,
|
|
2519
|
+
handler: /* @__PURE__ */ __name(async (accessor, config) => {
|
|
2520
|
+
var _a23, _b, _c;
|
|
2521
|
+
const textSelectionManagerService = accessor.get(TextSelectionManagerService), univerInstanceService = accessor.get(IUniverInstanceService), commandService = accessor.get(ICommandService), docDataModel = univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_DOC), docRanges = textSelectionManagerService.getDocRanges();
|
|
2522
|
+
if (!docDataModel || docRanges.length === 0 || !config)
|
|
2523
|
+
return !1;
|
|
2524
|
+
const segmentId = docRanges[0].segmentId, unitId = docDataModel.getUnitId(), allParagraphs = (_b = (_a23 = docDataModel.getSelfOrHeaderFooterModel(segmentId).getBody()) == null ? void 0 : _a23.paragraphs) != null ? _b : [], paragraphs = (_c = getParagraphsInRanges(docRanges, allParagraphs)) != null ? _c : [], serializedSelections = docRanges.map(serializeDocRange), doMutation = {
|
|
2525
|
+
id: RichTextEditingMutation.id,
|
|
2526
|
+
params: {
|
|
2527
|
+
unitId,
|
|
2528
|
+
actions: [],
|
|
2529
|
+
textRanges: serializedSelections
|
|
2530
|
+
}
|
|
2531
|
+
}, memoryCursor = new MemoryCursor();
|
|
2532
|
+
memoryCursor.reset();
|
|
2533
|
+
const textX = new TextX(), jsonX = JSONX.getInstance();
|
|
2534
|
+
for (const paragraph of paragraphs) {
|
|
2535
|
+
const { startIndex } = paragraph;
|
|
2536
|
+
textX.push({
|
|
2537
|
+
t: TextXActionType.RETAIN,
|
|
2538
|
+
len: startIndex - memoryCursor.cursor,
|
|
2539
|
+
segmentId
|
|
2540
|
+
});
|
|
2541
|
+
const paragraphStyle = {
|
|
2542
|
+
...paragraph.paragraphStyle,
|
|
2543
|
+
...config
|
|
2544
|
+
};
|
|
2545
|
+
textX.push({
|
|
2546
|
+
t: TextXActionType.RETAIN,
|
|
2547
|
+
len: 1,
|
|
2548
|
+
body: {
|
|
2549
|
+
dataStream: "",
|
|
2550
|
+
paragraphs: [
|
|
2551
|
+
{
|
|
2552
|
+
...paragraph,
|
|
2553
|
+
paragraphStyle,
|
|
2554
|
+
startIndex: 0
|
|
2555
|
+
}
|
|
2556
|
+
]
|
|
2557
|
+
},
|
|
2558
|
+
segmentId,
|
|
2559
|
+
coverType: UpdateDocsAttributeType.REPLACE
|
|
2560
|
+
}), memoryCursor.moveCursorTo(startIndex + 1);
|
|
2561
|
+
}
|
|
2562
|
+
const path = getRichTextEditPath(docDataModel, segmentId);
|
|
2563
|
+
return doMutation.params.actions = jsonX.editOp(textX.serialize(), path), !!commandService.syncExecuteCommand(doMutation.id, doMutation.params);
|
|
2564
|
+
}, "handler")
|
|
2565
|
+
}, useCurrentParagraph = /* @__PURE__ */ __name(() => {
|
|
2566
|
+
var _a23, _b, _c;
|
|
2567
|
+
const textSelectionManagerService = useDependency(TextSelectionManagerService), docDataModel = useDependency(IUniverInstanceService).getCurrentUnitForType(UniverInstanceType.UNIVER_DOC), docRanges = useMemo(() => textSelectionManagerService.getDocRanges(), []);
|
|
2568
|
+
if (!docDataModel || docRanges.length === 0)
|
|
2569
|
+
return [];
|
|
2570
|
+
const segmentId = docRanges[0].segmentId, paragraphs = (_b = (_a23 = docDataModel.getSelfOrHeaderFooterModel(segmentId).getBody()) == null ? void 0 : _a23.paragraphs) != null ? _b : [];
|
|
2571
|
+
return (_c = getParagraphsInRanges(docRanges, paragraphs)) != null ? _c : [];
|
|
2572
|
+
}, "useCurrentParagraph"), useFirstParagraphHorizontalAlign = /* @__PURE__ */ __name((paragraph, defaultValue) => {
|
|
2573
|
+
const commandService = useDependency(ICommandService), [horizontalAlign, _horizontalAlignSet] = useState(() => {
|
|
2574
|
+
var _a23, _b;
|
|
2575
|
+
const firstParagraph = paragraph[0];
|
|
2576
|
+
return firstParagraph ? String((_b = (_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.horizontalAlign) != null ? _b : defaultValue) : defaultValue;
|
|
2577
|
+
});
|
|
2578
|
+
return [horizontalAlign, /* @__PURE__ */ __name((v) => (_horizontalAlignSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2579
|
+
horizontalAlign: Number(v)
|
|
2580
|
+
})), "horizontalAlignSet")];
|
|
2581
|
+
}, "useFirstParagraphHorizontalAlign"), useFirstParagraphIndentStart = /* @__PURE__ */ __name((paragraph) => {
|
|
2582
|
+
const commandService = useDependency(ICommandService), [indentStart, _indentStartSet] = useState(() => {
|
|
2583
|
+
var _a23;
|
|
2584
|
+
const firstParagraph = paragraph[0];
|
|
2585
|
+
return firstParagraph ? getNumberUnitValue((_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.indentStart, 0) : 0;
|
|
2586
|
+
});
|
|
2587
|
+
return [indentStart, /* @__PURE__ */ __name((v) => (_indentStartSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2588
|
+
indentStart: { v }
|
|
2589
|
+
})), "indentStartSet")];
|
|
2590
|
+
}, "useFirstParagraphIndentStart"), useFirstParagraphIndentEnd = /* @__PURE__ */ __name((paragraph) => {
|
|
2591
|
+
const commandService = useDependency(ICommandService), [indentEnd, _indentEndSet] = useState(() => {
|
|
2592
|
+
var _a23;
|
|
2593
|
+
const firstParagraph = paragraph[0];
|
|
2594
|
+
return firstParagraph ? getNumberUnitValue((_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.indentEnd, 0) : 0;
|
|
2595
|
+
});
|
|
2596
|
+
return [indentEnd, /* @__PURE__ */ __name((v) => (_indentEndSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2597
|
+
indentEnd: { v }
|
|
2598
|
+
})), "indentEndSet")];
|
|
2599
|
+
}, "useFirstParagraphIndentEnd"), useFirstParagraphIndentFirstLine = /* @__PURE__ */ __name((paragraph) => {
|
|
2600
|
+
const commandService = useDependency(ICommandService), [indentFirstLine, _indentFirstLineSet] = useState(() => {
|
|
2601
|
+
var _a23;
|
|
2602
|
+
const firstParagraph = paragraph[0];
|
|
2603
|
+
return firstParagraph ? getNumberUnitValue((_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.indentFirstLine, 0) : 0;
|
|
2604
|
+
});
|
|
2605
|
+
return [indentFirstLine, /* @__PURE__ */ __name((v) => (_indentFirstLineSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2606
|
+
indentFirstLine: { v }
|
|
2607
|
+
})), "indentFirstLineSet")];
|
|
2608
|
+
}, "useFirstParagraphIndentFirstLine"), useFirstParagraphIndentHanging = /* @__PURE__ */ __name((paragraph) => {
|
|
2609
|
+
const commandService = useDependency(ICommandService), [hanging, _hangingSet] = useState(() => {
|
|
2610
|
+
var _a23;
|
|
2611
|
+
const firstParagraph = paragraph[0];
|
|
2612
|
+
return firstParagraph ? getNumberUnitValue((_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.hanging, 0) : 0;
|
|
2613
|
+
});
|
|
2614
|
+
return [hanging, /* @__PURE__ */ __name((v) => (_hangingSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2615
|
+
hanging: { v }
|
|
2616
|
+
})), "hangingSet")];
|
|
2617
|
+
}, "useFirstParagraphIndentHanging"), useFirstParagraphIndentSpaceAbove = /* @__PURE__ */ __name((paragraph) => {
|
|
2618
|
+
const commandService = useDependency(ICommandService), [spaceAbove, _spaceAboveSet] = useState(() => {
|
|
2619
|
+
var _a23;
|
|
2620
|
+
const firstParagraph = paragraph[0];
|
|
2621
|
+
return firstParagraph ? getNumberUnitValue((_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.spaceAbove, 0) : 0;
|
|
2622
|
+
});
|
|
2623
|
+
return [spaceAbove, /* @__PURE__ */ __name((v) => (_spaceAboveSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2624
|
+
spaceAbove: { v }
|
|
2625
|
+
})), "spaceAboveSet")];
|
|
2626
|
+
}, "useFirstParagraphIndentSpaceAbove"), useFirstParagraphSpaceBelow = /* @__PURE__ */ __name((paragraph) => {
|
|
2627
|
+
const commandService = useDependency(ICommandService), [spaceBelow, _spaceBelowSet] = useState(() => {
|
|
2628
|
+
var _a23;
|
|
2629
|
+
const firstParagraph = paragraph[0];
|
|
2630
|
+
return firstParagraph ? getNumberUnitValue((_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.spaceBelow, 0) : 0;
|
|
2631
|
+
});
|
|
2632
|
+
return [spaceBelow, /* @__PURE__ */ __name((v) => (_spaceBelowSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2633
|
+
spaceBelow: { v }
|
|
2634
|
+
})), "spaceBelowSet")];
|
|
2635
|
+
}, "useFirstParagraphSpaceBelow"), useFirstParagraphLineSpacing = /* @__PURE__ */ __name((paragraph) => {
|
|
2636
|
+
const commandService = useDependency(ICommandService), [lineSpacing, _lineSpacingSet] = useState(() => {
|
|
2637
|
+
var _a23, _b;
|
|
2638
|
+
const firstParagraph = paragraph[0];
|
|
2639
|
+
return firstParagraph && (_b = (_a23 = firstParagraph.paragraphStyle) == null ? void 0 : _a23.lineSpacing) != null ? _b : 1;
|
|
2640
|
+
});
|
|
2641
|
+
return [lineSpacing, /* @__PURE__ */ __name((v) => (_lineSpacingSet(v), commandService.executeCommand(DocParagraphSettingCommand.id, {
|
|
2642
|
+
lineSpacing: v
|
|
2643
|
+
})), "lineSpacingSet")];
|
|
2644
|
+
}, "useFirstParagraphLineSpacing"), paragraphSettingIconList = "univer-paragraph-setting-icon-list", paragraphSettingIconListItem = "univer-paragraph-setting-icon-list-item", paragraphSettingIconListActive = "univer-paragraph-setting-icon-list-active", paragraphSettingTitle = "univer-paragraph-setting-title", paragraphSettingLabel = "univer-paragraph-setting-label", paragraphSettingMtBase = "univer-paragraph-setting-mt-base", paragraphSettingFlexCol = "univer-paragraph-setting-flex-col", styles$1 = {
|
|
2645
|
+
paragraphSettingIconList,
|
|
2646
|
+
paragraphSettingIconListItem,
|
|
2647
|
+
paragraphSettingIconListActive,
|
|
2648
|
+
paragraphSettingTitle,
|
|
2649
|
+
paragraphSettingLabel,
|
|
2650
|
+
paragraphSettingMtBase,
|
|
2651
|
+
paragraphSettingFlexCol
|
|
2652
|
+
}, AutoFocusInputNumber = /* @__PURE__ */ __name((props) => {
|
|
2653
|
+
const { value, onChange, className = "", min = 0, max = 100 } = props, ref = require$$0.useRef(null);
|
|
2654
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
2655
|
+
InputNumber,
|
|
2656
|
+
{
|
|
2657
|
+
ref,
|
|
2658
|
+
min,
|
|
2659
|
+
max,
|
|
2660
|
+
value,
|
|
2661
|
+
onChange: /* @__PURE__ */ __name((v) => {
|
|
2662
|
+
onChange(v != null ? v : 0).finally(() => {
|
|
2663
|
+
setTimeout(() => {
|
|
2664
|
+
var _a23;
|
|
2665
|
+
(_a23 = ref.current) == null || _a23.focus();
|
|
2666
|
+
}, 2);
|
|
2667
|
+
});
|
|
2668
|
+
}, "onChange"),
|
|
2669
|
+
className
|
|
2670
|
+
}
|
|
2671
|
+
);
|
|
2672
|
+
}, "AutoFocusInputNumber");
|
|
2673
|
+
function ParagraphSetting() {
|
|
2674
|
+
const localeService = useDependency(LocaleService), alignmentOptions = useMemo(
|
|
2675
|
+
() => [
|
|
2676
|
+
{ label: localeService.t("toolbar.alignLeft"), value: String(HorizontalAlign.LEFT), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(LeftJustifyingSingle, {}) },
|
|
2677
|
+
{ label: localeService.t("toolbar.alignCenter"), value: String(HorizontalAlign.CENTER), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(HorizontallySingle, {}) },
|
|
2678
|
+
{ label: localeService.t("toolbar.alignRight"), value: String(HorizontalAlign.RIGHT), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RightJustifyingSingle, {}) },
|
|
2679
|
+
{ label: localeService.t("toolbar.alignJustify"), value: String(HorizontalAlign.JUSTIFIED), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(AlignTextBothSingle, {}) }
|
|
2680
|
+
],
|
|
2681
|
+
[]
|
|
2682
|
+
), currentParagraph = useCurrentParagraph(), [horizontalAlignValue, horizontalAlignSet] = useFirstParagraphHorizontalAlign(currentParagraph, alignmentOptions[0].value), [indentStart, indentStartSet] = useFirstParagraphIndentStart(currentParagraph), [indentEnd, indentEndSet] = useFirstParagraphIndentEnd(currentParagraph), [indentFirstLine, indentFirstLineSet] = useFirstParagraphIndentFirstLine(currentParagraph), [hanging, hangingSet] = useFirstParagraphIndentHanging(currentParagraph), [spaceAbove, spaceAboveSet] = useFirstParagraphIndentSpaceAbove(currentParagraph), [spaceBelow, spaceBelowSet] = useFirstParagraphSpaceBelow(currentParagraph), [lineSpacing, lineSpacingSet] = useFirstParagraphLineSpacing(currentParagraph);
|
|
2683
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSetting, children: [
|
|
2684
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.paragraphSettingTitle, children: localeService.t("doc.paragraphSetting.alignment") }),
|
|
2685
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$1.paragraphSettingIconList} ${styles$1.paragraphSettingMtBase}`, children: alignmentOptions.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: item.label, placement: "bottom", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
2686
|
+
"span",
|
|
2687
|
+
{
|
|
2688
|
+
className: clsx(
|
|
2689
|
+
styles$1.paragraphSettingIconListItem,
|
|
2690
|
+
{ [styles$1.paragraphSettingIconListActive]: horizontalAlignValue === item.value }
|
|
2691
|
+
),
|
|
2692
|
+
onClick: /* @__PURE__ */ __name(() => horizontalAlignSet(item.value), "onClick"),
|
|
2693
|
+
children: item.icon
|
|
2694
|
+
}
|
|
2695
|
+
) }, item.value)) }),
|
|
2696
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.paragraphSettingTitle, children: localeService.t("doc.paragraphSetting.indentation") }),
|
|
2697
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
2698
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2699
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingLabel, children: [
|
|
2700
|
+
localeService.t("doc.paragraphSetting.left"),
|
|
2701
|
+
"(px)"
|
|
2702
|
+
] }),
|
|
2703
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { className: styles$1.paragraphSettingMtBase, value: indentStart, onChange: /* @__PURE__ */ __name((v) => indentStartSet(v != null ? v : 0), "onChange") })
|
|
2704
|
+
] }),
|
|
2705
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2706
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingLabel, children: [
|
|
2707
|
+
localeService.t("doc.paragraphSetting.right"),
|
|
2708
|
+
"(px)"
|
|
2709
|
+
] }),
|
|
2710
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { className: styles$1.paragraphSettingMtBase, value: indentEnd, onChange: /* @__PURE__ */ __name((v) => indentEndSet(v != null ? v : 0), "onChange") })
|
|
2711
|
+
] }),
|
|
2712
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2713
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingLabel, children: [
|
|
2714
|
+
localeService.t("doc.paragraphSetting.firstLine"),
|
|
2715
|
+
"(px)"
|
|
2716
|
+
] }),
|
|
2717
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { className: styles$1.paragraphSettingMtBase, value: indentFirstLine, onChange: /* @__PURE__ */ __name((v) => indentFirstLineSet(v != null ? v : 0), "onChange") })
|
|
2718
|
+
] }),
|
|
2719
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2720
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingLabel, children: [
|
|
2721
|
+
localeService.t("doc.paragraphSetting.hanging"),
|
|
2722
|
+
"(px)"
|
|
2723
|
+
] }),
|
|
2724
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { className: styles$1.paragraphSettingMtBase, value: hanging, onChange: /* @__PURE__ */ __name((v) => hangingSet(v != null ? v : 0), "onChange") })
|
|
2725
|
+
] })
|
|
2726
|
+
] }),
|
|
2727
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.paragraphSettingTitle, children: localeService.t("doc.paragraphSetting.spacing") }),
|
|
2728
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
2729
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2730
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingLabel, children: [
|
|
2731
|
+
localeService.t("doc.paragraphSetting.before"),
|
|
2732
|
+
"(px)"
|
|
2733
|
+
] }),
|
|
2734
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { className: styles$1.paragraphSettingMtBase, value: spaceAbove, onChange: /* @__PURE__ */ __name((v) => spaceAboveSet(v != null ? v : 0), "onChange") })
|
|
2735
|
+
] }),
|
|
2736
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2737
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingLabel, children: [
|
|
2738
|
+
localeService.t("doc.paragraphSetting.after"),
|
|
2739
|
+
"(px)"
|
|
2740
|
+
] }),
|
|
2741
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { className: styles$1.paragraphSettingMtBase, value: spaceBelow, onChange: /* @__PURE__ */ __name((v) => spaceBelowSet(v != null ? v : 0), "onChange") })
|
|
2742
|
+
] }),
|
|
2743
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$1.paragraphSettingFlexCol, children: [
|
|
2744
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.paragraphSettingLabel, children: localeService.t("doc.paragraphSetting.lineSpace") }),
|
|
2745
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AutoFocusInputNumber, { min: 1, max: 5, className: styles$1.paragraphSettingMtBase, value: lineSpacing, onChange: /* @__PURE__ */ __name((v) => lineSpacingSet(v != null ? v : 0), "onChange") })
|
|
2746
|
+
] })
|
|
2747
|
+
] })
|
|
2748
|
+
] });
|
|
2749
|
+
}
|
|
2750
|
+
__name(ParagraphSetting, "ParagraphSetting");
|
|
2751
|
+
const isRangesEqual = /* @__PURE__ */ __name((oldRanges, ranges) => ranges.length === oldRanges.length && oldRanges.some((oldRange) => ranges.some((range) => range.startOffset === oldRange.startOffset && range.endOffset === oldRange.endOffset)), "isRangesEqual"), isRangesIntersection = /* @__PURE__ */ __name((oldRanges, ranges) => oldRanges.some((oldRange) => ranges.some((range) => {
|
|
2752
|
+
const { startOffset: activeStart, endOffset: activeEnd } = oldRange, { startOffset: compareStart, endOffset: compareEnd } = range;
|
|
2753
|
+
return activeStart == null || activeEnd == null || compareStart == null || compareEnd == null ? !1 : activeStart <= compareEnd && activeEnd >= compareStart;
|
|
2754
|
+
})), "isRangesIntersection");
|
|
2755
|
+
function ParagraphSettingIndex() {
|
|
2756
|
+
const commandService = useDependency(ICommandService), localeService = useDependency(LocaleService), currentLocale = useObservable(localeService.currentLocale$), [key, keySet] = useState(""), rangeRef = useRef([]);
|
|
2757
|
+
return useEffect(() => {
|
|
2758
|
+
const dispose = commandService.onCommandExecuted((info) => {
|
|
2759
|
+
var _a23;
|
|
2760
|
+
if (SetTextSelectionsOperation.id === info.id) {
|
|
2761
|
+
const ranges = info.params.ranges;
|
|
2762
|
+
isRangesEqual(ranges, rangeRef.current) || keySet(generateRandomId(4)), rangeRef.current = ranges;
|
|
2763
|
+
}
|
|
2764
|
+
if (RichTextEditingMutation.id === info.id) {
|
|
2765
|
+
const params = info.params, ranges = (_a23 = params.textRanges) != null ? _a23 : [];
|
|
2766
|
+
params.trigger !== DocParagraphSettingCommand.id && isRangesIntersection(ranges, rangeRef.current) && keySet(generateRandomId(4));
|
|
2767
|
+
}
|
|
2768
|
+
});
|
|
2769
|
+
return () => dispose.dispose();
|
|
2770
|
+
}, []), useEffect(() => {
|
|
2771
|
+
keySet(generateRandomId(4));
|
|
2772
|
+
}, [currentLocale]), /* @__PURE__ */ jsxRuntimeExports.jsx(ParagraphSetting, {}, key);
|
|
2773
|
+
}
|
|
2774
|
+
__name(ParagraphSettingIndex, "ParagraphSettingIndex");
|
|
2775
|
+
var __defProp$g = Object.defineProperty, __getOwnPropDesc$g = Object.getOwnPropertyDescriptor, __decorateClass$g = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
2776
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2777
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2778
|
+
return kind && result && __defProp$g(target, key, result), result;
|
|
2779
|
+
}, "__decorateClass$g"), __decorateParam$g = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$g");
|
|
2780
|
+
const paragraphSettingIndexKey = "doc_ui_paragraph-setting-panel";
|
|
2781
|
+
var _a6;
|
|
2782
|
+
let DocParagraphSettingController = (_a6 = class extends Disposable {
|
|
2783
|
+
constructor(_commandService, _componentManager, _sidebarService) {
|
|
2784
|
+
super(), this._commandService = _commandService, this._componentManager = _componentManager, this._sidebarService = _sidebarService, this._init();
|
|
2785
|
+
}
|
|
2786
|
+
_init() {
|
|
2787
|
+
this.disposeWithMe(this._componentManager.register(paragraphSettingIndexKey, ParagraphSettingIndex));
|
|
2788
|
+
}
|
|
2789
|
+
openPanel() {
|
|
2790
|
+
const props = {
|
|
2791
|
+
header: { title: "doc.slider.paragraphSetting" },
|
|
2792
|
+
children: {
|
|
2793
|
+
label: paragraphSettingIndexKey
|
|
2794
|
+
},
|
|
2795
|
+
width: 300
|
|
2796
|
+
};
|
|
2797
|
+
this._sidebarService.open(props);
|
|
2798
|
+
}
|
|
2799
|
+
}, __name(_a6, "DocParagraphSettingController"), _a6);
|
|
2800
|
+
DocParagraphSettingController = __decorateClass$g([
|
|
2801
|
+
OnLifecycle(LifecycleStages.Rendered, DocParagraphSettingController),
|
|
2802
|
+
__decorateParam$g(0, ICommandService),
|
|
2803
|
+
__decorateParam$g(1, Inject(ComponentManager)),
|
|
2804
|
+
__decorateParam$g(2, Inject(ISidebarService))
|
|
2805
|
+
], DocParagraphSettingController);
|
|
2806
|
+
const DocParagraphSettingPanelOperation = {
|
|
2807
|
+
id: "sidebar.operation.doc-paragraph-setting-panel",
|
|
2808
|
+
type: CommandType.OPERATION,
|
|
2809
|
+
handler: /* @__PURE__ */ __name((accessor) => (accessor.get(DocParagraphSettingController).openPanel(), !0), "handler")
|
|
1952
2810
|
}, getDisableOnCollapsedObservable = /* @__PURE__ */ __name((accessor) => {
|
|
1953
2811
|
const textSelectionManagerService = accessor.get(TextSelectionManagerService);
|
|
1954
2812
|
return new Observable((subscriber) => {
|
|
1955
|
-
const observable = textSelectionManagerService.textSelection$.subscribe((
|
|
1956
|
-
const range = textSelectionManagerService.
|
|
2813
|
+
const observable = textSelectionManagerService.textSelection$.subscribe(() => {
|
|
2814
|
+
const range = textSelectionManagerService.getActiveTextRangeWithStyle();
|
|
1957
2815
|
range && !range.collapsed ? subscriber.next(!1) : subscriber.next(!0);
|
|
1958
2816
|
});
|
|
1959
2817
|
return () => observable.unsubscribe();
|
|
1960
2818
|
});
|
|
1961
|
-
}, "getDisableOnCollapsedObservable")
|
|
1962
|
-
|
|
2819
|
+
}, "getDisableOnCollapsedObservable");
|
|
2820
|
+
function inSameTable(rectRanges) {
|
|
2821
|
+
if (rectRanges.length < 2)
|
|
2822
|
+
return !0;
|
|
2823
|
+
const tableIds = rectRanges.map((rectRange) => rectRange.tableId);
|
|
2824
|
+
return tableIds.every((tableId) => tableId === tableIds[0]);
|
|
2825
|
+
}
|
|
2826
|
+
__name(inSameTable, "inSameTable");
|
|
2827
|
+
const getDisableWhenSelectionNotInTableObservable = /* @__PURE__ */ __name((accessor) => {
|
|
2828
|
+
const textSelectionManagerService = accessor.get(TextSelectionManagerService), univerInstanceService = accessor.get(IUniverInstanceService);
|
|
2829
|
+
return new Observable((subscriber) => {
|
|
2830
|
+
const observable = textSelectionManagerService.textSelection$.subscribe(() => {
|
|
2831
|
+
var _a23;
|
|
2832
|
+
const rectRanges = textSelectionManagerService.getCurrentRectRanges(), activeRange = textSelectionManagerService.getActiveTextRangeWithStyle();
|
|
2833
|
+
if (rectRanges && rectRanges.length && inSameTable(rectRanges)) {
|
|
2834
|
+
subscriber.next(!1);
|
|
2835
|
+
return;
|
|
2836
|
+
}
|
|
2837
|
+
if (activeRange && (rectRanges == null || rectRanges.length === 0)) {
|
|
2838
|
+
const { segmentId, startOffset, endOffset } = activeRange, docDataModel = univerInstanceService.getCurrentUniverDocInstance(), tables = (_a23 = docDataModel == null ? void 0 : docDataModel.getSelfOrHeaderFooterModel(segmentId).getBody()) == null ? void 0 : _a23.tables;
|
|
2839
|
+
if (tables && tables.length && tables.some((table) => {
|
|
2840
|
+
const { startIndex, endIndex } = table;
|
|
2841
|
+
return startOffset > startIndex && startOffset < endIndex || endOffset > startIndex && endOffset < endIndex;
|
|
2842
|
+
})) {
|
|
2843
|
+
subscriber.next(!1);
|
|
2844
|
+
return;
|
|
2845
|
+
}
|
|
2846
|
+
}
|
|
2847
|
+
subscriber.next(!0);
|
|
2848
|
+
});
|
|
2849
|
+
return () => observable.unsubscribe();
|
|
2850
|
+
});
|
|
2851
|
+
}, "getDisableWhenSelectionNotInTableObservable"), CopyMenuFactory = /* @__PURE__ */ __name((accessor) => ({
|
|
2852
|
+
id: DocCopyCommand.name,
|
|
2853
|
+
commandId: DocCopyCommand.id,
|
|
1963
2854
|
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
|
1964
2855
|
type: MenuItemType.BUTTON,
|
|
1965
2856
|
icon: "Copy",
|
|
@@ -1967,7 +2858,14 @@ const DOC_CLIPBOARD_PRIORITY = 999, DocCopyCommand = {
|
|
|
1967
2858
|
positions: [MenuPosition.CONTEXT_MENU],
|
|
1968
2859
|
disabled$: getDisableOnCollapsedObservable(accessor),
|
|
1969
2860
|
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
1970
|
-
}), "CopyMenuFactory"),
|
|
2861
|
+
}), "CopyMenuFactory"), ParagraphSettingMenuFactory = /* @__PURE__ */ __name((accessor) => ({
|
|
2862
|
+
id: DocParagraphSettingPanelOperation.id,
|
|
2863
|
+
type: MenuItemType.BUTTON,
|
|
2864
|
+
icon: "MenuSingle24",
|
|
2865
|
+
title: "doc.menu.paragraphSetting",
|
|
2866
|
+
positions: [MenuPosition.CONTEXT_MENU],
|
|
2867
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2868
|
+
}), "ParagraphSettingMenuFactory"), CutMenuFactory = /* @__PURE__ */ __name((accessor) => ({
|
|
1971
2869
|
id: DocCutCommand.id,
|
|
1972
2870
|
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
|
1973
2871
|
type: MenuItemType.BUTTON,
|
|
@@ -1980,85 +2878,146 @@ const DOC_CLIPBOARD_PRIORITY = 999, DocCopyCommand = {
|
|
|
1980
2878
|
id: DocPasteCommand.id,
|
|
1981
2879
|
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
|
1982
2880
|
type: MenuItemType.BUTTON,
|
|
1983
|
-
icon: "PasteSpecial",
|
|
1984
|
-
title: "rightClick.paste",
|
|
1985
|
-
positions: [MenuPosition.CONTEXT_MENU],
|
|
1986
|
-
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
1987
|
-
}), "PasteMenuFactory"), DeleteMenuFactory = /* @__PURE__ */ __name((accessor) => ({
|
|
1988
|
-
id: DeleteLeftCommand.id,
|
|
1989
|
-
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
|
1990
|
-
type: MenuItemType.BUTTON,
|
|
1991
|
-
icon: "PasteSpecial",
|
|
1992
|
-
title: "rightClick.delete",
|
|
1993
|
-
positions: [MenuPosition.CONTEXT_MENU],
|
|
1994
|
-
disabled$: getDisableOnCollapsedObservable(accessor),
|
|
1995
|
-
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
1996
|
-
}), "DeleteMenuFactory"),
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2881
|
+
icon: "PasteSpecial",
|
|
2882
|
+
title: "rightClick.paste",
|
|
2883
|
+
positions: [MenuPosition.CONTEXT_MENU],
|
|
2884
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2885
|
+
}), "PasteMenuFactory"), DeleteMenuFactory = /* @__PURE__ */ __name((accessor) => ({
|
|
2886
|
+
id: DeleteLeftCommand.id,
|
|
2887
|
+
group: MenuGroup.CONTEXT_MENU_FORMAT,
|
|
2888
|
+
type: MenuItemType.BUTTON,
|
|
2889
|
+
icon: "PasteSpecial",
|
|
2890
|
+
title: "rightClick.delete",
|
|
2891
|
+
positions: [MenuPosition.CONTEXT_MENU],
|
|
2892
|
+
disabled$: getDisableOnCollapsedObservable(accessor),
|
|
2893
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2894
|
+
}), "DeleteMenuFactory"), TABLE_INSERT_MENU_ID = "doc.menu.table-insert";
|
|
2895
|
+
function TableInsertMenuItemFactory(accessor) {
|
|
2896
|
+
return {
|
|
2897
|
+
id: TABLE_INSERT_MENU_ID,
|
|
2898
|
+
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
|
2899
|
+
type: MenuItemType.SUBITEMS,
|
|
2900
|
+
title: "table.insert",
|
|
2901
|
+
icon: "Insert",
|
|
2902
|
+
positions: [MenuPosition.CONTEXT_MENU],
|
|
2903
|
+
hidden$: combineLatest(getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), getDisableWhenSelectionNotInTableObservable(accessor), (one, two) => one || two)
|
|
2904
|
+
};
|
|
2905
|
+
}
|
|
2906
|
+
__name(TableInsertMenuItemFactory, "TableInsertMenuItemFactory");
|
|
2907
|
+
function InsertRowBeforeMenuItemFactory(accessor) {
|
|
2908
|
+
return {
|
|
2909
|
+
id: DocTableInsertRowAboveCommand.id,
|
|
2910
|
+
type: MenuItemType.BUTTON,
|
|
2911
|
+
title: "table.insertRowAbove",
|
|
2912
|
+
icon: "InsertRowAbove",
|
|
2913
|
+
positions: [TABLE_INSERT_MENU_ID],
|
|
2914
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
2915
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2916
|
+
};
|
|
2917
|
+
}
|
|
2918
|
+
__name(InsertRowBeforeMenuItemFactory, "InsertRowBeforeMenuItemFactory");
|
|
2919
|
+
function InsertRowAfterMenuItemFactory(accessor) {
|
|
2920
|
+
return {
|
|
2921
|
+
id: DocTableInsertRowBellowCommand.id,
|
|
2922
|
+
type: MenuItemType.BUTTON,
|
|
2923
|
+
positions: [TABLE_INSERT_MENU_ID],
|
|
2924
|
+
title: "table.insertRowBelow",
|
|
2925
|
+
icon: "InsertRowBelow",
|
|
2926
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
2927
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2928
|
+
};
|
|
2929
|
+
}
|
|
2930
|
+
__name(InsertRowAfterMenuItemFactory, "InsertRowAfterMenuItemFactory");
|
|
2931
|
+
function InsertColumnLeftMenuItemFactory(accessor) {
|
|
2932
|
+
return {
|
|
2933
|
+
id: DocTableInsertColumnLeftCommand.id,
|
|
2934
|
+
type: MenuItemType.BUTTON,
|
|
2935
|
+
title: "table.insertColumnLeft",
|
|
2936
|
+
icon: "LeftInsertColumn",
|
|
2937
|
+
positions: [TABLE_INSERT_MENU_ID],
|
|
2938
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
2939
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2940
|
+
};
|
|
2941
|
+
}
|
|
2942
|
+
__name(InsertColumnLeftMenuItemFactory, "InsertColumnLeftMenuItemFactory");
|
|
2943
|
+
function InsertColumnRightMenuItemFactory(accessor) {
|
|
2944
|
+
return {
|
|
2945
|
+
id: DocTableInsertColumnRightCommand.id,
|
|
2946
|
+
type: MenuItemType.BUTTON,
|
|
2947
|
+
positions: [TABLE_INSERT_MENU_ID],
|
|
2948
|
+
title: "table.insertColumnRight",
|
|
2949
|
+
icon: "RightInsertColumn",
|
|
2950
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
2951
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2952
|
+
};
|
|
2953
|
+
}
|
|
2954
|
+
__name(InsertColumnRightMenuItemFactory, "InsertColumnRightMenuItemFactory");
|
|
2955
|
+
const TABLE_DELETE_MENU_ID = "doc.menu.table-delete";
|
|
2956
|
+
function TableDeleteMenuItemFactory(accessor) {
|
|
2957
|
+
return {
|
|
2958
|
+
id: TABLE_DELETE_MENU_ID,
|
|
2959
|
+
group: MenuGroup.CONTEXT_MENU_LAYOUT,
|
|
2960
|
+
type: MenuItemType.SUBITEMS,
|
|
2961
|
+
title: "table.delete",
|
|
2962
|
+
icon: "Reduce",
|
|
2963
|
+
positions: [MenuPosition.CONTEXT_MENU],
|
|
2964
|
+
hidden$: combineLatest(getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC), getDisableWhenSelectionNotInTableObservable(accessor), (one, two) => one || two)
|
|
2965
|
+
};
|
|
2966
|
+
}
|
|
2967
|
+
__name(TableDeleteMenuItemFactory, "TableDeleteMenuItemFactory");
|
|
2968
|
+
function DeleteRowsMenuItemFactory(accessor) {
|
|
2969
|
+
return {
|
|
2970
|
+
id: DocTableDeleteRowsCommand.id,
|
|
2971
|
+
type: MenuItemType.BUTTON,
|
|
2972
|
+
title: "table.deleteRows",
|
|
2973
|
+
icon: "DeleteRow",
|
|
2974
|
+
positions: [TABLE_DELETE_MENU_ID],
|
|
2975
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
2976
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2977
|
+
};
|
|
2978
|
+
}
|
|
2979
|
+
__name(DeleteRowsMenuItemFactory, "DeleteRowsMenuItemFactory");
|
|
2980
|
+
function DeleteColumnsMenuItemFactory(accessor) {
|
|
2981
|
+
return {
|
|
2982
|
+
id: DocTableDeleteColumnsCommand.id,
|
|
2983
|
+
type: MenuItemType.BUTTON,
|
|
2984
|
+
positions: [TABLE_DELETE_MENU_ID],
|
|
2985
|
+
title: "table.deleteColumns",
|
|
2986
|
+
icon: "DeleteColumn",
|
|
2987
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
2988
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
2989
|
+
};
|
|
2990
|
+
}
|
|
2991
|
+
__name(DeleteColumnsMenuItemFactory, "DeleteColumnsMenuItemFactory");
|
|
2992
|
+
function DeleteTableMenuItemFactory(accessor) {
|
|
2993
|
+
return {
|
|
2994
|
+
id: DocTableDeleteTableCommand.id,
|
|
2995
|
+
type: MenuItemType.BUTTON,
|
|
2996
|
+
positions: [TABLE_DELETE_MENU_ID],
|
|
2997
|
+
title: "table.deleteTable",
|
|
2998
|
+
icon: "GridSingle",
|
|
2999
|
+
disabled$: getDisableWhenSelectionNotInTableObservable(accessor),
|
|
3000
|
+
hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
|
|
3001
|
+
};
|
|
3002
|
+
}
|
|
3003
|
+
__name(DeleteTableMenuItemFactory, "DeleteTableMenuItemFactory");
|
|
3004
|
+
var __defProp$f = Object.defineProperty, __getOwnPropDesc$f = Object.getOwnPropertyDescriptor, __decorateClass$f = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3005
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2047
3006
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2048
|
-
return kind && result && __defProp$
|
|
2049
|
-
}, "__decorateClass$
|
|
2050
|
-
let DocUIController = (
|
|
2051
|
-
constructor(_config, _injector, _componentManager, _layoutService, _menuService, _uiPartsService, _univerInstanceService, _shortcutService) {
|
|
2052
|
-
super(), this._config = _config, this._injector = _injector, this._componentManager = _componentManager, this._layoutService = _layoutService, this._menuService = _menuService, this._uiPartsService = _uiPartsService, this._univerInstanceService = _univerInstanceService, this._shortcutService = _shortcutService, this._init();
|
|
3007
|
+
return kind && result && __defProp$f(target, key, result), result;
|
|
3008
|
+
}, "__decorateClass$f"), __decorateParam$f = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$f"), _a7;
|
|
3009
|
+
let DocUIController = (_a7 = class extends Disposable {
|
|
3010
|
+
constructor(_config, _injector, _componentManager, _commandService, _layoutService, _menuService, _uiPartsService, _univerInstanceService, _shortcutService) {
|
|
3011
|
+
super(), this._config = _config, this._injector = _injector, this._componentManager = _componentManager, this._commandService = _commandService, this._layoutService = _layoutService, this._menuService = _menuService, this._uiPartsService = _uiPartsService, this._univerInstanceService = _univerInstanceService, this._shortcutService = _shortcutService, this._init();
|
|
2053
3012
|
}
|
|
2054
3013
|
_initCustomComponents() {
|
|
2055
3014
|
const componentManager = this._componentManager;
|
|
2056
|
-
this.disposeWithMe(componentManager.register(COLOR_PICKER_COMPONENT, ColorPicker)), this.disposeWithMe(componentManager.register(FONT_FAMILY_COMPONENT, FontFamily)), this.disposeWithMe(componentManager.register(FONT_FAMILY_ITEM_COMPONENT, FontFamilyItem)), this.disposeWithMe(componentManager.register(FONT_SIZE_COMPONENT, FontSize));
|
|
3015
|
+
this.disposeWithMe(componentManager.register(COLOR_PICKER_COMPONENT, ColorPicker)), this.disposeWithMe(componentManager.register(FONT_FAMILY_COMPONENT, FontFamily)), this.disposeWithMe(componentManager.register(FONT_FAMILY_ITEM_COMPONENT, FontFamilyItem)), this.disposeWithMe(componentManager.register(FONT_SIZE_COMPONENT, FontSize)), this.disposeWithMe(componentManager.register(BULLET_LIST_TYPE_COMPONENT, BulletListTypePicker)), this.disposeWithMe(componentManager.register(ORDER_LIST_TYPE_COMPONENT, OrderListTypePicker)), this.disposeWithMe(componentManager.register("TodoList", TodoList));
|
|
2057
3016
|
}
|
|
2058
3017
|
_initUiParts() {
|
|
2059
|
-
var
|
|
3018
|
+
var _a23, _b;
|
|
2060
3019
|
const workbook = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET);
|
|
2061
|
-
(_b = (
|
|
3020
|
+
(_b = (_a23 = this._config.layout) == null ? void 0 : _a23.docContainerConfig) != null && _b.footer && !workbook && this.disposeWithMe(this._uiPartsService.registerComponent(BuiltInUIPart.FOOTER, () => connectInjector(DocFooter, this._injector)));
|
|
2062
3021
|
}
|
|
2063
3022
|
_initMenus() {
|
|
2064
3023
|
const { menu = {} } = this._config;
|
|
@@ -2073,12 +3032,15 @@ let DocUIController = (_a6 = class extends Disposable {
|
|
|
2073
3032
|
FontFamilySelectorMenuItemFactory,
|
|
2074
3033
|
TextColorSelectorMenuItemFactory,
|
|
2075
3034
|
HeaderFooterMenuItemFactory,
|
|
3035
|
+
TableMenuFactory,
|
|
3036
|
+
InsertTableMenuFactory,
|
|
2076
3037
|
AlignLeftMenuItemFactory,
|
|
2077
3038
|
AlignCenterMenuItemFactory,
|
|
2078
3039
|
AlignRightMenuItemFactory,
|
|
2079
3040
|
AlignJustifyMenuItemFactory,
|
|
2080
3041
|
OrderListMenuItemFactory,
|
|
2081
3042
|
BulletListMenuItemFactory,
|
|
3043
|
+
CheckListMenuItemFactory,
|
|
2082
3044
|
ResetBackgroundColorMenuItemFactory,
|
|
2083
3045
|
BackgroundColorSelectorMenuItemFactory
|
|
2084
3046
|
].forEach((factory) => {
|
|
@@ -2087,7 +3049,17 @@ let DocUIController = (_a6 = class extends Disposable {
|
|
|
2087
3049
|
CopyMenuFactory,
|
|
2088
3050
|
CutMenuFactory,
|
|
2089
3051
|
PasteMenuFactory,
|
|
2090
|
-
DeleteMenuFactory
|
|
3052
|
+
DeleteMenuFactory,
|
|
3053
|
+
ParagraphSettingMenuFactory,
|
|
3054
|
+
TableInsertMenuItemFactory,
|
|
3055
|
+
InsertRowBeforeMenuItemFactory,
|
|
3056
|
+
InsertRowAfterMenuItemFactory,
|
|
3057
|
+
InsertColumnLeftMenuItemFactory,
|
|
3058
|
+
InsertColumnRightMenuItemFactory,
|
|
3059
|
+
TableDeleteMenuItemFactory,
|
|
3060
|
+
DeleteRowsMenuItemFactory,
|
|
3061
|
+
DeleteColumnsMenuItemFactory,
|
|
3062
|
+
DeleteTableMenuItemFactory
|
|
2091
3063
|
].forEach((factory) => {
|
|
2092
3064
|
try {
|
|
2093
3065
|
this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(factory), menu));
|
|
@@ -2108,13 +3080,21 @@ let DocUIController = (_a6 = class extends Disposable {
|
|
|
2108
3080
|
AlignRightShortCut,
|
|
2109
3081
|
AlignLeftShortCut,
|
|
2110
3082
|
OrderListShortCut,
|
|
2111
|
-
BulletListShortCut
|
|
3083
|
+
BulletListShortCut,
|
|
3084
|
+
TabShortCut
|
|
2112
3085
|
].forEach((shortcut) => {
|
|
2113
3086
|
this.disposeWithMe(this._shortcutService.registerShortcut(shortcut));
|
|
2114
3087
|
});
|
|
2115
3088
|
}
|
|
2116
3089
|
_init() {
|
|
2117
|
-
this._initCustomComponents(), this._initMenus(), this._initFocusHandler(), this._initUiParts(), this._initShortCut();
|
|
3090
|
+
this._initCustomComponents(), this._initMenus(), this._initFocusHandler(), this._initCommands(), this._initUiParts(), this._initShortCut();
|
|
3091
|
+
}
|
|
3092
|
+
_initCommands() {
|
|
3093
|
+
[
|
|
3094
|
+
CoreHeaderFooterCommand,
|
|
3095
|
+
OpenHeaderFooterPanelCommand,
|
|
3096
|
+
SidebarDocHeaderFooterPanelOperation
|
|
3097
|
+
].forEach((command) => this.disposeWithMe(this._commandService.registerCommand(command)));
|
|
2118
3098
|
}
|
|
2119
3099
|
_initFocusHandler() {
|
|
2120
3100
|
this.disposeWithMe(
|
|
@@ -2123,19 +3103,20 @@ let DocUIController = (_a6 = class extends Disposable {
|
|
|
2123
3103
|
})
|
|
2124
3104
|
);
|
|
2125
3105
|
}
|
|
2126
|
-
}, __name(
|
|
2127
|
-
DocUIController = __decorateClass$
|
|
3106
|
+
}, __name(_a7, "DocUIController"), _a7);
|
|
3107
|
+
DocUIController = __decorateClass$f([
|
|
2128
3108
|
OnLifecycle(LifecycleStages.Rendered, DocUIController),
|
|
2129
|
-
__decorateParam$
|
|
2130
|
-
__decorateParam$
|
|
2131
|
-
__decorateParam$
|
|
2132
|
-
__decorateParam$
|
|
2133
|
-
__decorateParam$
|
|
2134
|
-
__decorateParam$
|
|
2135
|
-
__decorateParam$
|
|
3109
|
+
__decorateParam$f(1, Inject(Injector)),
|
|
3110
|
+
__decorateParam$f(2, Inject(ComponentManager)),
|
|
3111
|
+
__decorateParam$f(3, ICommandService),
|
|
3112
|
+
__decorateParam$f(4, ILayoutService),
|
|
3113
|
+
__decorateParam$f(5, IMenuService),
|
|
3114
|
+
__decorateParam$f(6, IUIPartsService),
|
|
3115
|
+
__decorateParam$f(7, IUniverInstanceService),
|
|
3116
|
+
__decorateParam$f(8, IShortcutService)
|
|
2136
3117
|
], DocUIController);
|
|
2137
3118
|
const BreakLineShortcut = {
|
|
2138
|
-
id:
|
|
3119
|
+
id: EnterCommand.id,
|
|
2139
3120
|
preconditions: whenDocAndEditorFocusedWithBreakLine,
|
|
2140
3121
|
binding: KeyCode.ENTER
|
|
2141
3122
|
}, DeleteLeftShortcut = {
|
|
@@ -2147,12 +3128,12 @@ const BreakLineShortcut = {
|
|
|
2147
3128
|
preconditions: whenDocAndEditorFocused,
|
|
2148
3129
|
binding: KeyCode.DELETE
|
|
2149
3130
|
};
|
|
2150
|
-
var __defProp$
|
|
2151
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3131
|
+
var __defProp$e = Object.defineProperty, __getOwnPropDesc$e = Object.getOwnPropertyDescriptor, __decorateClass$e = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3132
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2152
3133
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2153
|
-
return kind && result && __defProp$
|
|
2154
|
-
}, "__decorateClass$
|
|
2155
|
-
let DocClipboardController = (
|
|
3134
|
+
return kind && result && __defProp$e(target, key, result), result;
|
|
3135
|
+
}, "__decorateClass$e"), __decorateParam$e = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$e"), _a8;
|
|
3136
|
+
let DocClipboardController = (_a8 = class extends RxDisposable {
|
|
2156
3137
|
constructor(_commandService, _clipboardInterfaceService, _docClipboardService, _textSelectionRenderManager, _contextService) {
|
|
2157
3138
|
super(), this._commandService = _commandService, this._clipboardInterfaceService = _clipboardInterfaceService, this._docClipboardService = _docClipboardService, this._textSelectionRenderManager = _textSelectionRenderManager, this._contextService = _contextService, this._init();
|
|
2158
3139
|
}
|
|
@@ -2160,31 +3141,31 @@ let DocClipboardController = (_a7 = class extends RxDisposable {
|
|
|
2160
3141
|
[DocCopyCommand, DocCutCommand, DocPasteCommand].forEach((command) => this.disposeWithMe(this._commandService.registerMultipleCommand(command))), [InnerPasteCommand, CutContentCommand].forEach((command) => this.disposeWithMe(this._commandService.registerCommand(command))), this._initLegacyPasteCommand();
|
|
2161
3142
|
}
|
|
2162
3143
|
_initLegacyPasteCommand() {
|
|
2163
|
-
var
|
|
2164
|
-
(
|
|
2165
|
-
var
|
|
3144
|
+
var _a23;
|
|
3145
|
+
(_a23 = this._textSelectionRenderManager) == null || _a23.onPaste$.pipe(takeUntil(this.dispose$)).subscribe((config) => {
|
|
3146
|
+
var _a24, _b;
|
|
2166
3147
|
if (!whenDocOrEditor(this._contextService))
|
|
2167
3148
|
return;
|
|
2168
3149
|
config.event.preventDefault();
|
|
2169
|
-
const clipboardEvent = config.event, htmlContent = (
|
|
3150
|
+
const clipboardEvent = config.event, htmlContent = (_a24 = clipboardEvent.clipboardData) == null ? void 0 : _a24.getData("text/html"), textContent = (_b = clipboardEvent.clipboardData) == null ? void 0 : _b.getData("text/plain");
|
|
2170
3151
|
this._docClipboardService.legacyPaste(htmlContent, textContent);
|
|
2171
3152
|
});
|
|
2172
3153
|
}
|
|
2173
|
-
}, __name(
|
|
2174
|
-
DocClipboardController = __decorateClass$
|
|
3154
|
+
}, __name(_a8, "DocClipboardController"), _a8);
|
|
3155
|
+
DocClipboardController = __decorateClass$e([
|
|
2175
3156
|
OnLifecycle(LifecycleStages.Rendered, DocClipboardController),
|
|
2176
|
-
__decorateParam$
|
|
2177
|
-
__decorateParam$
|
|
2178
|
-
__decorateParam$
|
|
2179
|
-
__decorateParam$
|
|
2180
|
-
__decorateParam$
|
|
3157
|
+
__decorateParam$e(0, ICommandService),
|
|
3158
|
+
__decorateParam$e(1, IClipboardInterfaceService),
|
|
3159
|
+
__decorateParam$e(2, IDocClipboardService),
|
|
3160
|
+
__decorateParam$e(3, ITextSelectionRenderManager),
|
|
3161
|
+
__decorateParam$e(4, IContextService)
|
|
2181
3162
|
], DocClipboardController);
|
|
2182
|
-
var __defProp$
|
|
2183
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3163
|
+
var __defProp$d = Object.defineProperty, __getOwnPropDesc$d = Object.getOwnPropertyDescriptor, __decorateClass$d = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3164
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2184
3165
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2185
|
-
return kind && result && __defProp$
|
|
2186
|
-
}, "__decorateClass$
|
|
2187
|
-
let DocEditorBridgeController = (
|
|
3166
|
+
return kind && result && __defProp$d(target, key, result), result;
|
|
3167
|
+
}, "__decorateClass$d"), __decorateParam$d = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$d"), _a9;
|
|
3168
|
+
let DocEditorBridgeController = (_a9 = class extends Disposable {
|
|
2188
3169
|
constructor(_univerInstanceService, _editorService, _commandService, _textSelectionRenderManager, _renderManagerService) {
|
|
2189
3170
|
super();
|
|
2190
3171
|
__publicField(this, "_initialEditors", /* @__PURE__ */ new Set());
|
|
@@ -2201,7 +3182,7 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2201
3182
|
}), this._commandExecutedListener(), this._initialSetValue(), this._initialBlur(), this._initialFocus(), this._initialValueChange();
|
|
2202
3183
|
}
|
|
2203
3184
|
_resize(unitId) {
|
|
2204
|
-
var
|
|
3185
|
+
var _a23, _b, _c;
|
|
2205
3186
|
if (unitId == null)
|
|
2206
3187
|
return;
|
|
2207
3188
|
const editor = this._editorService.getEditor(unitId);
|
|
@@ -2210,7 +3191,7 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2210
3191
|
const editorDataModel = this._univerInstanceService.getUniverDocInstance(unitId);
|
|
2211
3192
|
if (!editorDataModel)
|
|
2212
3193
|
return;
|
|
2213
|
-
const skeleton = (
|
|
3194
|
+
const skeleton = (_a23 = this._renderManagerService.getRenderById(editorDataModel.getUnitId())) == null ? void 0 : _a23.with(DocSkeletonManagerService).getSkeleton();
|
|
2214
3195
|
if (editor == null || editor.render == null || skeleton == null || editorDataModel == null)
|
|
2215
3196
|
return;
|
|
2216
3197
|
skeleton.calculate();
|
|
@@ -2239,12 +3220,12 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2239
3220
|
_initialBlur() {
|
|
2240
3221
|
this.disposeWithMe(
|
|
2241
3222
|
this._editorService.blur$.subscribe(() => {
|
|
2242
|
-
this._textSelectionRenderManager.
|
|
3223
|
+
this._textSelectionRenderManager.removeAllRanges(), this._textSelectionRenderManager.blur();
|
|
2243
3224
|
})
|
|
2244
3225
|
), this.disposeWithMe(
|
|
2245
3226
|
this._textSelectionRenderManager.onBlur$.subscribe(() => {
|
|
2246
|
-
var
|
|
2247
|
-
const unitId = (
|
|
3227
|
+
var _a23;
|
|
3228
|
+
const unitId = (_a23 = this._univerInstanceService.getCurrentUniverDocInstance()) == null ? void 0 : _a23.getUnitId();
|
|
2248
3229
|
if (unitId == null)
|
|
2249
3230
|
return;
|
|
2250
3231
|
const editor = this._editorService.getEditor(unitId), focusEditor = this._editorService.getFocusEditor();
|
|
@@ -2255,7 +3236,7 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2255
3236
|
_initialFocus() {
|
|
2256
3237
|
this.disposeWithMe(
|
|
2257
3238
|
this._editorService.focus$.subscribe((textRange) => {
|
|
2258
|
-
this._textSelectionRenderManager.
|
|
3239
|
+
this._textSelectionRenderManager.removeAllRanges(), this._textSelectionRenderManager.addDocRanges([textRange]);
|
|
2259
3240
|
})
|
|
2260
3241
|
);
|
|
2261
3242
|
const focusExcepts = [
|
|
@@ -2274,7 +3255,7 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2274
3255
|
this._editorService.changeSpreadsheetFocusState(!1);
|
|
2275
3256
|
})
|
|
2276
3257
|
), this._univerInstanceService.getAllUnitsForType(UniverInstanceType.UNIVER_SHEET).forEach((unit) => {
|
|
2277
|
-
const unitId = unit.getUnitId(),
|
|
3258
|
+
const unitId = unit.getUnitId(), render2 = this._renderManagerService.getRenderById(unitId), canvasEle = render2 == null ? void 0 : render2.engine.getCanvas().getCanvasEle();
|
|
2278
3259
|
canvasEle != null && fromEvent(canvasEle, "mousedown").subscribe((evt) => {
|
|
2279
3260
|
this._editorService.changeSpreadsheetFocusState(!0), evt.stopPropagation();
|
|
2280
3261
|
});
|
|
@@ -2292,8 +3273,8 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2292
3273
|
);
|
|
2293
3274
|
}
|
|
2294
3275
|
_valueChange() {
|
|
2295
|
-
var
|
|
2296
|
-
const unitId = (
|
|
3276
|
+
var _a23;
|
|
3277
|
+
const unitId = (_a23 = this._univerInstanceService.getCurrentUniverDocInstance()) == null ? void 0 : _a23.getUnitId();
|
|
2297
3278
|
if (unitId == null)
|
|
2298
3279
|
return;
|
|
2299
3280
|
const editor = this._editorService.getEditor(unitId);
|
|
@@ -2315,27 +3296,27 @@ let DocEditorBridgeController = (_a8 = class extends Disposable {
|
|
|
2315
3296
|
})
|
|
2316
3297
|
);
|
|
2317
3298
|
}
|
|
2318
|
-
}, __name(
|
|
2319
|
-
DocEditorBridgeController = __decorateClass$
|
|
3299
|
+
}, __name(_a9, "DocEditorBridgeController"), _a9);
|
|
3300
|
+
DocEditorBridgeController = __decorateClass$d([
|
|
2320
3301
|
OnLifecycle(LifecycleStages.Rendered, DocEditorBridgeController),
|
|
2321
|
-
__decorateParam$
|
|
2322
|
-
__decorateParam$
|
|
2323
|
-
__decorateParam$
|
|
2324
|
-
__decorateParam$
|
|
2325
|
-
__decorateParam$
|
|
3302
|
+
__decorateParam$d(0, IUniverInstanceService),
|
|
3303
|
+
__decorateParam$d(1, IEditorService),
|
|
3304
|
+
__decorateParam$d(2, ICommandService),
|
|
3305
|
+
__decorateParam$d(3, ITextSelectionRenderManager),
|
|
3306
|
+
__decorateParam$d(4, IRenderManagerService)
|
|
2326
3307
|
], DocEditorBridgeController);
|
|
2327
|
-
var __defProp$
|
|
2328
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3308
|
+
var __defProp$c = Object.defineProperty, __getOwnPropDesc$c = Object.getOwnPropertyDescriptor, __decorateClass$c = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3309
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2329
3310
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2330
|
-
return kind && result && __defProp$
|
|
2331
|
-
}, "__decorateClass$
|
|
2332
|
-
let DocRenderController = (
|
|
2333
|
-
constructor(_context, _commandService, _docSkeletonManagerService, _configService, _editorService, _renderManagerService) {
|
|
2334
|
-
super(), this._context = _context, this._commandService = _commandService, this._docSkeletonManagerService = _docSkeletonManagerService, this._configService = _configService, this._editorService = _editorService, this._renderManagerService = _renderManagerService, this._addNewRender(), this._initRenderRefresh(), this._initCommandListener();
|
|
3311
|
+
return kind && result && __defProp$c(target, key, result), result;
|
|
3312
|
+
}, "__decorateClass$c"), __decorateParam$c = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$c"), _a10;
|
|
3313
|
+
let DocRenderController = (_a10 = class extends RxDisposable {
|
|
3314
|
+
constructor(_context, _contextService, _commandService, _docSkeletonManagerService, _configService, _editorService, _renderManagerService) {
|
|
3315
|
+
super(), this._context = _context, this._contextService = _contextService, this._commandService = _commandService, this._docSkeletonManagerService = _docSkeletonManagerService, this._configService = _configService, this._editorService = _editorService, this._renderManagerService = _renderManagerService, this._addNewRender(), this._initRenderRefresh(), this._initCommandListener();
|
|
2335
3316
|
}
|
|
2336
3317
|
reRender(unitId) {
|
|
2337
|
-
var
|
|
2338
|
-
const docSkeletonManagerService = (
|
|
3318
|
+
var _a23, _b;
|
|
3319
|
+
const docSkeletonManagerService = (_a23 = this._renderManagerService.getRenderById(unitId)) == null ? void 0 : _a23.with(DocSkeletonManagerService), skeleton = docSkeletonManagerService == null ? void 0 : docSkeletonManagerService.getSkeleton();
|
|
2339
3320
|
if (!(!skeleton || skeleton.getViewModel().getDataModel().getSnapshot().disabled)) {
|
|
2340
3321
|
if (skeleton.calculate(), this._editorService.isEditor(unitId)) {
|
|
2341
3322
|
(_b = this._context.mainComponent) == null || _b.makeDirty();
|
|
@@ -2355,6 +3336,8 @@ let DocRenderController = (_a9 = class extends RxDisposable {
|
|
|
2355
3336
|
isWheelPreventDefaultX: !0
|
|
2356
3337
|
});
|
|
2357
3338
|
scene.attachControl(), scene.onMouseWheel$.subscribeEvent((evt, state) => {
|
|
3339
|
+
if (!this._contextService.getContextValue(FOCUSING_DOC))
|
|
3340
|
+
return;
|
|
2358
3341
|
const e = evt;
|
|
2359
3342
|
if (e.ctrlKey) {
|
|
2360
3343
|
const deltaFactor = Math.abs(e.deltaX);
|
|
@@ -2399,8 +3382,8 @@ let DocRenderController = (_a9 = class extends RxDisposable {
|
|
|
2399
3382
|
}));
|
|
2400
3383
|
}
|
|
2401
3384
|
_recalculateSizeBySkeleton(skeleton) {
|
|
2402
|
-
var
|
|
2403
|
-
const { mainComponent, scene, unitId, components } = this._context, docsComponent = mainComponent, docBackground = components.get(DOCS_VIEW_KEY.BACKGROUND), pages = (
|
|
3385
|
+
var _a23;
|
|
3386
|
+
const { mainComponent, scene, unitId, components } = this._context, docsComponent = mainComponent, docBackground = components.get(DOCS_VIEW_KEY.BACKGROUND), pages = (_a23 = skeleton.getSkeletonData()) == null ? void 0 : _a23.pages;
|
|
2404
3387
|
if (pages == null)
|
|
2405
3388
|
return;
|
|
2406
3389
|
let width = 0, height = 0;
|
|
@@ -2410,21 +3393,22 @@ let DocRenderController = (_a9 = class extends RxDisposable {
|
|
|
2410
3393
|
}
|
|
2411
3394
|
docsComponent.resize(width, height), docBackground.resize(width, height), this._editorService.isEditor(unitId) || scene.resize(width, height);
|
|
2412
3395
|
}
|
|
2413
|
-
}, __name(
|
|
2414
|
-
DocRenderController = __decorateClass$
|
|
2415
|
-
__decorateParam$
|
|
2416
|
-
__decorateParam$
|
|
2417
|
-
__decorateParam$
|
|
2418
|
-
__decorateParam$
|
|
2419
|
-
__decorateParam$
|
|
3396
|
+
}, __name(_a10, "DocRenderController"), _a10);
|
|
3397
|
+
DocRenderController = __decorateClass$c([
|
|
3398
|
+
__decorateParam$c(1, IContextService),
|
|
3399
|
+
__decorateParam$c(2, ICommandService),
|
|
3400
|
+
__decorateParam$c(3, Inject(DocSkeletonManagerService)),
|
|
3401
|
+
__decorateParam$c(4, IConfigService),
|
|
3402
|
+
__decorateParam$c(5, IEditorService),
|
|
3403
|
+
__decorateParam$c(6, IRenderManagerService)
|
|
2420
3404
|
], DocRenderController);
|
|
2421
3405
|
const _DocPageLayoutService = class _DocPageLayoutService extends Disposable {
|
|
2422
3406
|
constructor(_context) {
|
|
2423
3407
|
super(), this._context = _context;
|
|
2424
3408
|
}
|
|
2425
3409
|
calculatePagePosition() {
|
|
2426
|
-
var
|
|
2427
|
-
const docObject = neoGetDocObject(this._context), zoomRatio = (_b = (
|
|
3410
|
+
var _a23, _b;
|
|
3411
|
+
const docObject = neoGetDocObject(this._context), zoomRatio = (_b = (_a23 = this._context.unit.getSettings()) == null ? void 0 : _a23.zoomRatio) != null ? _b : 1, { document: docsComponent, scene, docBackground } = docObject, parent = scene == null ? void 0 : scene.getParent(), { width: docsWidth, height: docsHeight, pageMarginLeft, pageMarginTop } = docsComponent;
|
|
2428
3412
|
if (parent == null || docsWidth === Number.POSITIVE_INFINITY || docsHeight === Number.POSITIVE_INFINITY)
|
|
2429
3413
|
return;
|
|
2430
3414
|
const { width: engineWidth, height: engineHeight } = parent;
|
|
@@ -2438,17 +3422,14 @@ const _DocPageLayoutService = class _DocPageLayoutService extends Disposable {
|
|
|
2438
3422
|
};
|
|
2439
3423
|
__name(_DocPageLayoutService, "DocPageLayoutService");
|
|
2440
3424
|
let DocPageLayoutService = _DocPageLayoutService;
|
|
2441
|
-
var __defProp$
|
|
2442
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3425
|
+
var __defProp$b = Object.defineProperty, __getOwnPropDesc$b = Object.getOwnPropertyDescriptor, __decorateClass$b = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3426
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2443
3427
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2444
|
-
return kind && result && __defProp$
|
|
2445
|
-
}, "__decorateClass$
|
|
2446
|
-
let DocZoomRenderController = (
|
|
2447
|
-
constructor(_context, _docSkeletonManagerService, _univerInstanceService, _commandService, _textSelectionManagerService, _editorService, _docPageLayoutService) {
|
|
2448
|
-
super(), this._context = _context, this._docSkeletonManagerService = _docSkeletonManagerService, this._univerInstanceService = _univerInstanceService, this._commandService = _commandService, this._textSelectionManagerService = _textSelectionManagerService, this._editorService = _editorService, this._docPageLayoutService = _docPageLayoutService, this.
|
|
2449
|
-
}
|
|
2450
|
-
_init() {
|
|
2451
|
-
this._initSkeletonListener(), this._initCommandExecutedListener(), this._initRenderRefresher(), setTimeout(() => this.updateViewZoom(1, !0), 20);
|
|
3428
|
+
return kind && result && __defProp$b(target, key, result), result;
|
|
3429
|
+
}, "__decorateClass$b"), __decorateParam$b = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$b"), _a11;
|
|
3430
|
+
let DocZoomRenderController = (_a11 = class extends Disposable {
|
|
3431
|
+
constructor(_context, _contextService, _docSkeletonManagerService, _univerInstanceService, _commandService, _textSelectionManagerService, _editorService, _docPageLayoutService) {
|
|
3432
|
+
super(), this._context = _context, this._contextService = _contextService, this._docSkeletonManagerService = _docSkeletonManagerService, this._univerInstanceService = _univerInstanceService, this._commandService = _commandService, this._textSelectionManagerService = _textSelectionManagerService, this._editorService = _editorService, this._docPageLayoutService = _docPageLayoutService, this._initSkeletonListener(), this._initCommandExecutedListener(), this._initRenderRefresher(), setTimeout(() => this.updateViewZoom(1, !0), 20);
|
|
2452
3433
|
}
|
|
2453
3434
|
_initRenderRefresher() {
|
|
2454
3435
|
this._docSkeletonManagerService.currentSkeleton$.subscribe((param) => {
|
|
@@ -2456,7 +3437,7 @@ let DocZoomRenderController = (_a10 = class extends Disposable {
|
|
|
2456
3437
|
return;
|
|
2457
3438
|
const { unitId, scene } = this._context;
|
|
2458
3439
|
this._editorService.isEditor(unitId) || this.disposeWithMe(scene.onMouseWheel$.subscribeEvent((e) => {
|
|
2459
|
-
if (!e.ctrlKey)
|
|
3440
|
+
if (!e.ctrlKey || !this._contextService.getContextValue(FOCUSING_DOC))
|
|
2460
3441
|
return;
|
|
2461
3442
|
const documentModel = this._univerInstanceService.getCurrentUniverDocInstance();
|
|
2462
3443
|
if (!documentModel)
|
|
@@ -2486,37 +3467,33 @@ let DocZoomRenderController = (_a10 = class extends Disposable {
|
|
|
2486
3467
|
_initCommandExecutedListener() {
|
|
2487
3468
|
const updateCommandList = [SetDocZoomRatioOperation.id];
|
|
2488
3469
|
this.disposeWithMe(this._commandService.onCommandExecuted((command) => {
|
|
2489
|
-
if (updateCommandList.includes(command.id)) {
|
|
2490
|
-
const
|
|
2491
|
-
if (!documentModel) return;
|
|
2492
|
-
const params = command.params, { unitId } = params;
|
|
2493
|
-
if (unitId !== documentModel.getUnitId())
|
|
2494
|
-
return;
|
|
2495
|
-
const zoomRatio = documentModel.zoomRatio || 1;
|
|
3470
|
+
if (updateCommandList.includes(command.id) && command.params.unitId === this._context.unitId) {
|
|
3471
|
+
const zoomRatio = this._context.unit.zoomRatio || 1;
|
|
2496
3472
|
this.updateViewZoom(zoomRatio);
|
|
2497
3473
|
}
|
|
2498
3474
|
}));
|
|
2499
3475
|
}
|
|
2500
3476
|
updateViewZoom(zoomRatio, needRefreshSelection = !0) {
|
|
2501
|
-
var
|
|
3477
|
+
var _a23;
|
|
2502
3478
|
const docObject = neoGetDocObject(this._context);
|
|
2503
|
-
docObject.scene.scale(zoomRatio, zoomRatio), this._docPageLayoutService.calculatePagePosition(), needRefreshSelection && !this._editorService.isEditor(this._context.unitId) && this._textSelectionManagerService.refreshSelection(), (
|
|
2504
|
-
}
|
|
2505
|
-
}, __name(
|
|
2506
|
-
DocZoomRenderController = __decorateClass$
|
|
2507
|
-
__decorateParam$
|
|
2508
|
-
__decorateParam$
|
|
2509
|
-
__decorateParam$
|
|
2510
|
-
__decorateParam$
|
|
2511
|
-
__decorateParam$
|
|
2512
|
-
__decorateParam$
|
|
3479
|
+
docObject.scene.scale(zoomRatio, zoomRatio), this._docPageLayoutService.calculatePagePosition(), needRefreshSelection && !this._editorService.isEditor(this._context.unitId) && this._textSelectionManagerService.refreshSelection(), (_a23 = docObject.scene.getTransformer()) == null || _a23.clearSelectedObjects();
|
|
3480
|
+
}
|
|
3481
|
+
}, __name(_a11, "DocZoomRenderController"), _a11);
|
|
3482
|
+
DocZoomRenderController = __decorateClass$b([
|
|
3483
|
+
__decorateParam$b(1, IContextService),
|
|
3484
|
+
__decorateParam$b(2, Inject(DocSkeletonManagerService)),
|
|
3485
|
+
__decorateParam$b(3, IUniverInstanceService),
|
|
3486
|
+
__decorateParam$b(4, ICommandService),
|
|
3487
|
+
__decorateParam$b(5, Inject(TextSelectionManagerService)),
|
|
3488
|
+
__decorateParam$b(6, IEditorService),
|
|
3489
|
+
__decorateParam$b(7, Inject(DocPageLayoutService))
|
|
2513
3490
|
], DocZoomRenderController);
|
|
2514
|
-
var __defProp$
|
|
2515
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3491
|
+
var __defProp$a = Object.defineProperty, __getOwnPropDesc$a = Object.getOwnPropertyDescriptor, __decorateClass$a = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3492
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2516
3493
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2517
|
-
return kind && result && __defProp$
|
|
2518
|
-
}, "__decorateClass$
|
|
2519
|
-
let DocTextSelectionRenderController = (
|
|
3494
|
+
return kind && result && __defProp$a(target, key, result), result;
|
|
3495
|
+
}, "__decorateClass$a"), __decorateParam$a = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$a"), _a12;
|
|
3496
|
+
let DocTextSelectionRenderController = (_a12 = class extends Disposable {
|
|
2520
3497
|
constructor(_context, _commandService, _editorService, _instanceSrv, _textSelectionRenderManager, _docSkeletonManagerService, _textSelectionManagerService) {
|
|
2521
3498
|
super();
|
|
2522
3499
|
__publicField(this, "_loadedMap", /* @__PURE__ */ new WeakSet());
|
|
@@ -2555,7 +3532,7 @@ let DocTextSelectionRenderController = (_a11 = class extends Disposable {
|
|
|
2555
3532
|
), viewModel = this._docSkeletonManagerService.getViewModel(), preEditArea = viewModel.getEditArea();
|
|
2556
3533
|
preEditArea !== DocumentEditArea.BODY && editArea !== DocumentEditArea.BODY && editArea !== preEditArea && viewModel.setEditArea(editArea);
|
|
2557
3534
|
}
|
|
2558
|
-
if (this._textSelectionRenderManager.
|
|
3535
|
+
if (this._textSelectionRenderManager.onPointDown(evt), this._editorService.getEditor(unitId)) {
|
|
2559
3536
|
this._setEditorFocus(unitId);
|
|
2560
3537
|
const { offsetX: offsetX2, offsetY: offsetY2 } = evt;
|
|
2561
3538
|
setTimeout(() => {
|
|
@@ -2587,9 +3564,9 @@ let DocTextSelectionRenderController = (_a11 = class extends Disposable {
|
|
|
2587
3564
|
const updateCommandList = [SetDocZoomRatioOperation.id];
|
|
2588
3565
|
this.disposeWithMe(
|
|
2589
3566
|
this._commandService.onCommandExecuted((command) => {
|
|
2590
|
-
var
|
|
3567
|
+
var _a23;
|
|
2591
3568
|
if (updateCommandList.includes(command.id)) {
|
|
2592
|
-
const params = command.params, { unitId: documentId } = params, unitId = (
|
|
3569
|
+
const params = command.params, { unitId: documentId } = params, unitId = (_a23 = this._textSelectionManagerService.getCurrentSelection()) == null ? void 0 : _a23.unitId;
|
|
2593
3570
|
if (documentId !== unitId)
|
|
2594
3571
|
return;
|
|
2595
3572
|
this._textSelectionManagerService.refreshSelection();
|
|
@@ -2598,37 +3575,35 @@ let DocTextSelectionRenderController = (_a11 = class extends Disposable {
|
|
|
2598
3575
|
);
|
|
2599
3576
|
}
|
|
2600
3577
|
_skeletonListener() {
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
})
|
|
2616
|
-
);
|
|
3578
|
+
let init = !1;
|
|
3579
|
+
this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe((skeleton) => {
|
|
3580
|
+
if (!skeleton) return;
|
|
3581
|
+
const { scene, mainComponent, unitId } = this._context, isInternalEditor = isInternalEditorID(unitId);
|
|
3582
|
+
(init || !isInternalEditorID(this._context.unitId)) && (this._textSelectionRenderManager.changeRuntime(skeleton, scene, mainComponent), this._textSelectionManagerService.setCurrentSelectionNotRefresh({
|
|
3583
|
+
unitId,
|
|
3584
|
+
subUnitId: ""
|
|
3585
|
+
}), isInternalEditor || this._textSelectionManagerService.replaceTextRanges([
|
|
3586
|
+
{
|
|
3587
|
+
startOffset: 0,
|
|
3588
|
+
endOffset: 0
|
|
3589
|
+
}
|
|
3590
|
+
], !1)), init = !0;
|
|
3591
|
+
}));
|
|
2617
3592
|
}
|
|
2618
|
-
}, __name(
|
|
2619
|
-
DocTextSelectionRenderController = __decorateClass$
|
|
2620
|
-
__decorateParam$
|
|
2621
|
-
__decorateParam$
|
|
2622
|
-
__decorateParam$
|
|
2623
|
-
__decorateParam$
|
|
2624
|
-
__decorateParam$
|
|
2625
|
-
__decorateParam$
|
|
3593
|
+
}, __name(_a12, "DocTextSelectionRenderController"), _a12);
|
|
3594
|
+
DocTextSelectionRenderController = __decorateClass$a([
|
|
3595
|
+
__decorateParam$a(1, ICommandService),
|
|
3596
|
+
__decorateParam$a(2, IEditorService),
|
|
3597
|
+
__decorateParam$a(3, IUniverInstanceService),
|
|
3598
|
+
__decorateParam$a(4, ITextSelectionRenderManager),
|
|
3599
|
+
__decorateParam$a(5, Inject(DocSkeletonManagerService)),
|
|
3600
|
+
__decorateParam$a(6, Inject(TextSelectionManagerService))
|
|
2626
3601
|
], DocTextSelectionRenderController);
|
|
2627
|
-
var __defProp$
|
|
2628
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3602
|
+
var __defProp$9 = Object.defineProperty, __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor, __decorateClass$9 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3603
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2629
3604
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2630
|
-
return kind && result && __defProp$
|
|
2631
|
-
}, "__decorateClass$
|
|
3605
|
+
return kind && result && __defProp$9(target, key, result), result;
|
|
3606
|
+
}, "__decorateClass$9"), __decorateParam$9 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$9");
|
|
2632
3607
|
function transformBound2OffsetBound(originBound, scene) {
|
|
2633
3608
|
const topLeft = transformPosition2Offset(originBound.left, originBound.top, scene), bottomRight = transformPosition2Offset(originBound.right, originBound.bottom, scene);
|
|
2634
3609
|
return {
|
|
@@ -2653,8 +3628,8 @@ function transformPosition2Offset(x, y, scene) {
|
|
|
2653
3628
|
};
|
|
2654
3629
|
}
|
|
2655
3630
|
__name(transformPosition2Offset, "transformPosition2Offset");
|
|
2656
|
-
var
|
|
2657
|
-
let DocCanvasPopManagerService = (
|
|
3631
|
+
var _a13;
|
|
3632
|
+
let DocCanvasPopManagerService = (_a13 = class extends Disposable {
|
|
2658
3633
|
constructor(_globalPopupManagerService, _renderManagerService, _univerInstanceService, _commandService) {
|
|
2659
3634
|
super(), this._globalPopupManagerService = _globalPopupManagerService, this._renderManagerService = _renderManagerService, this._univerInstanceService = _univerInstanceService, this._commandService = _commandService;
|
|
2660
3635
|
}
|
|
@@ -2687,19 +3662,19 @@ let DocCanvasPopManagerService = (_a12 = class extends Disposable {
|
|
|
2687
3662
|
};
|
|
2688
3663
|
}
|
|
2689
3664
|
_createRangePositionObserver(range, currentRender) {
|
|
2690
|
-
var
|
|
3665
|
+
var _a23;
|
|
2691
3666
|
const calc = /* @__PURE__ */ __name(() => {
|
|
2692
3667
|
const { scene, mainComponent, engine } = currentRender, skeleton = currentRender.with(DocSkeletonManagerService).getSkeleton(), startPosition = skeleton.findNodePositionByCharIndex(range.startOffset), endPosition = skeleton.findNodePositionByCharIndex(range.endOffset), document = mainComponent;
|
|
2693
3668
|
if (!endPosition || !startPosition)
|
|
2694
3669
|
return;
|
|
2695
|
-
const documentOffsetConfig = document.getOffsetConfig(), { docsLeft, docsTop } = documentOffsetConfig, canvasElement = engine.getCanvasElement(), canvasClientRect = canvasElement.getBoundingClientRect(), widthOfCanvas = pxToNum(canvasElement.style.width), { top, left, width } = canvasClientRect, scaleAdjust = width / widthOfCanvas, { scaleX, scaleY } = scene.getAncestorScale(), convertor = new NodePositionConvertToCursor(documentOffsetConfig, skeleton), {
|
|
2696
|
-
return getLineBounding(
|
|
3670
|
+
const documentOffsetConfig = document.getOffsetConfig(), { docsLeft, docsTop } = documentOffsetConfig, canvasElement = engine.getCanvasElement(), canvasClientRect = canvasElement.getBoundingClientRect(), widthOfCanvas = pxToNum(canvasElement.style.width), { top, left, width } = canvasClientRect, scaleAdjust = width / widthOfCanvas, { scaleX, scaleY } = scene.getAncestorScale(), convertor = new NodePositionConvertToCursor(documentOffsetConfig, skeleton), { contentBoxPointGroup } = convertor.getRangePointData(startPosition, endPosition);
|
|
3671
|
+
return getLineBounding(contentBoxPointGroup).map((bound) => transformBound2OffsetBound(bound, scene)).map((i) => ({
|
|
2697
3672
|
left: (i.left + docsLeft * scaleX) * scaleAdjust + left,
|
|
2698
3673
|
right: (i.right + docsLeft * scaleX) * scaleAdjust + left,
|
|
2699
3674
|
top: (i.top + docsTop * scaleY) * scaleAdjust + top,
|
|
2700
3675
|
bottom: (i.bottom + docsTop * scaleY) * scaleAdjust + top
|
|
2701
3676
|
}));
|
|
2702
|
-
}, "calc"), positions = (
|
|
3677
|
+
}, "calc"), positions = (_a23 = calc()) != null ? _a23 : [], positions$ = new BehaviorSubject(positions), disposable = new DisposableCollection();
|
|
2703
3678
|
disposable.add(this._commandService.onCommandExecuted((commandInfo) => {
|
|
2704
3679
|
if (commandInfo.id === SetDocZoomRatioOperation.id) {
|
|
2705
3680
|
const position = calc();
|
|
@@ -2765,24 +3740,24 @@ let DocCanvasPopManagerService = (_a12 = class extends Disposable {
|
|
|
2765
3740
|
}, "dispose")
|
|
2766
3741
|
};
|
|
2767
3742
|
}
|
|
2768
|
-
}, __name(
|
|
2769
|
-
DocCanvasPopManagerService = __decorateClass$
|
|
2770
|
-
__decorateParam$
|
|
2771
|
-
__decorateParam$
|
|
2772
|
-
__decorateParam$
|
|
2773
|
-
__decorateParam$
|
|
3743
|
+
}, __name(_a13, "DocCanvasPopManagerService"), _a13);
|
|
3744
|
+
DocCanvasPopManagerService = __decorateClass$9([
|
|
3745
|
+
__decorateParam$9(0, Inject(ICanvasPopupService)),
|
|
3746
|
+
__decorateParam$9(1, IRenderManagerService),
|
|
3747
|
+
__decorateParam$9(2, IUniverInstanceService),
|
|
3748
|
+
__decorateParam$9(3, ICommandService)
|
|
2774
3749
|
], DocCanvasPopManagerService);
|
|
2775
|
-
var __defProp$
|
|
2776
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3750
|
+
var __defProp$8 = Object.defineProperty, __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor, __decorateClass$8 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3751
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2777
3752
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2778
|
-
return kind && result && __defProp$
|
|
2779
|
-
}, "__decorateClass$
|
|
2780
|
-
let DocsRenderService = (
|
|
3753
|
+
return kind && result && __defProp$8(target, key, result), result;
|
|
3754
|
+
}, "__decorateClass$8"), __decorateParam$8 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$8"), _a14;
|
|
3755
|
+
let DocsRenderService = (_a14 = class extends RxDisposable {
|
|
2781
3756
|
constructor(_instanceSrv, _renderManagerService) {
|
|
2782
3757
|
super(), this._instanceSrv = _instanceSrv, this._renderManagerService = _renderManagerService, this._init();
|
|
2783
3758
|
}
|
|
2784
3759
|
_init() {
|
|
2785
|
-
this._renderManagerService.createRender$.pipe(takeUntil(this.dispose$)).subscribe((unitId) => this._createRenderWithId(unitId)), this._instanceSrv.
|
|
3760
|
+
this._renderManagerService.createRender$.pipe(takeUntil(this.dispose$)).subscribe((unitId) => this._createRenderWithId(unitId)), this._instanceSrv.getAllUnitsForType(UniverInstanceType.UNIVER_DOC).forEach((documentModel) => this._createRenderer(documentModel)), this._instanceSrv.getTypeOfUnitAdded$(UniverInstanceType.UNIVER_DOC).pipe(takeUntil(this.dispose$)).subscribe((doc) => this._createRenderer(doc)), this._instanceSrv.getTypeOfUnitDisposed$(UniverInstanceType.UNIVER_DOC).pipe(takeUntil(this.dispose$)).subscribe((doc) => this._disposeRenderer(doc));
|
|
2786
3761
|
}
|
|
2787
3762
|
_createRenderer(doc) {
|
|
2788
3763
|
const unitId = doc.getUnitId();
|
|
@@ -2795,31 +3770,31 @@ let DocsRenderService = (_a13 = class extends RxDisposable {
|
|
|
2795
3770
|
const unitId = doc.getUnitId();
|
|
2796
3771
|
this._renderManagerService.removeRender(unitId);
|
|
2797
3772
|
}
|
|
2798
|
-
}, __name(
|
|
2799
|
-
DocsRenderService = __decorateClass$
|
|
3773
|
+
}, __name(_a14, "DocsRenderService"), _a14);
|
|
3774
|
+
DocsRenderService = __decorateClass$8([
|
|
2800
3775
|
OnLifecycle(LifecycleStages.Ready, DocsRenderService),
|
|
2801
|
-
__decorateParam$
|
|
2802
|
-
__decorateParam$
|
|
3776
|
+
__decorateParam$8(0, IUniverInstanceService),
|
|
3777
|
+
__decorateParam$8(1, IRenderManagerService)
|
|
2803
3778
|
], DocsRenderService);
|
|
2804
|
-
var __defProp$
|
|
2805
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3779
|
+
var __defProp$7 = Object.defineProperty, __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor, __decorateClass$7 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3780
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2806
3781
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2807
|
-
return kind && result && __defProp$
|
|
2808
|
-
}, "__decorateClass$
|
|
3782
|
+
return kind && result && __defProp$7(target, key, result), result;
|
|
3783
|
+
}, "__decorateClass$7"), __decorateParam$7 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$7");
|
|
2809
3784
|
const SKIP_UNIT_IDS$1 = [
|
|
2810
3785
|
DEFAULT_EMPTY_DOCUMENT_VALUE,
|
|
2811
3786
|
DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,
|
|
2812
3787
|
DOCS_NORMAL_EDITOR_UNIT_ID_KEY,
|
|
2813
3788
|
DOCS_ZEN_EDITOR_UNIT_ID_KEY
|
|
2814
3789
|
];
|
|
2815
|
-
var
|
|
2816
|
-
let DocContextMenuRenderController = (
|
|
3790
|
+
var _a15;
|
|
3791
|
+
let DocContextMenuRenderController = (_a15 = class extends Disposable {
|
|
2817
3792
|
constructor(_context, _contextMenuService, _textSelectionManagerService, _commandService) {
|
|
2818
3793
|
super(), this._context = _context, this._contextMenuService = _contextMenuService, this._textSelectionManagerService = _textSelectionManagerService, this._commandService = _commandService, SKIP_UNIT_IDS$1.includes(this._context.unitId) || (this._initPointerDown(), this._initEditChange());
|
|
2819
3794
|
}
|
|
2820
3795
|
_initPointerDown() {
|
|
2821
|
-
var
|
|
2822
|
-
const documentsSubscription = ((_b = (
|
|
3796
|
+
var _a23, _b;
|
|
3797
|
+
const documentsSubscription = ((_b = (_a23 = this._context) == null ? void 0 : _a23.mainComponent) == null ? void 0 : _b.onPointerDown$).subscribeEvent((event) => {
|
|
2823
3798
|
event.button === 2 && this._contextMenuService.triggerContextMenu(event, MenuPosition.CONTEXT_MENU);
|
|
2824
3799
|
});
|
|
2825
3800
|
this.disposeWithMe(documentsSubscription);
|
|
@@ -2831,24 +3806,24 @@ let DocContextMenuRenderController = (_a14 = class extends Disposable {
|
|
|
2831
3806
|
})
|
|
2832
3807
|
);
|
|
2833
3808
|
}
|
|
2834
|
-
}, __name(
|
|
2835
|
-
DocContextMenuRenderController = __decorateClass$
|
|
2836
|
-
__decorateParam$
|
|
2837
|
-
__decorateParam$
|
|
2838
|
-
__decorateParam$
|
|
3809
|
+
}, __name(_a15, "DocContextMenuRenderController"), _a15);
|
|
3810
|
+
DocContextMenuRenderController = __decorateClass$7([
|
|
3811
|
+
__decorateParam$7(1, IContextMenuService),
|
|
3812
|
+
__decorateParam$7(2, Inject(TextSelectionManagerService)),
|
|
3813
|
+
__decorateParam$7(3, ICommandService)
|
|
2839
3814
|
], DocContextMenuRenderController);
|
|
2840
|
-
var __defProp$
|
|
2841
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3815
|
+
var __defProp$6 = Object.defineProperty, __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor, __decorateClass$6 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3816
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2842
3817
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2843
|
-
return kind && result && __defProp$
|
|
2844
|
-
}, "__decorateClass$
|
|
3818
|
+
return kind && result && __defProp$6(target, key, result), result;
|
|
3819
|
+
}, "__decorateClass$6"), __decorateParam$6 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$6");
|
|
2845
3820
|
const SKIP_UNIT_IDS = [
|
|
2846
3821
|
DEFAULT_EMPTY_DOCUMENT_VALUE,
|
|
2847
3822
|
DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,
|
|
2848
3823
|
DOCS_NORMAL_EDITOR_UNIT_ID_KEY
|
|
2849
3824
|
];
|
|
2850
|
-
var
|
|
2851
|
-
let DocResizeRenderController = (
|
|
3825
|
+
var _a16;
|
|
3826
|
+
let DocResizeRenderController = (_a16 = class extends Disposable {
|
|
2852
3827
|
constructor(_context, _docPageLayoutService, _textSelectionManagerService) {
|
|
2853
3828
|
super(), this._context = _context, this._docPageLayoutService = _docPageLayoutService, this._textSelectionManagerService = _textSelectionManagerService, SKIP_UNIT_IDS.includes(this._context.unitId) || this._initResize();
|
|
2854
3829
|
}
|
|
@@ -2862,23 +3837,25 @@ let DocResizeRenderController = (_a15 = class extends Disposable {
|
|
|
2862
3837
|
})
|
|
2863
3838
|
);
|
|
2864
3839
|
}
|
|
2865
|
-
}, __name(
|
|
2866
|
-
DocResizeRenderController = __decorateClass$
|
|
2867
|
-
__decorateParam$
|
|
2868
|
-
__decorateParam$
|
|
3840
|
+
}, __name(_a16, "DocResizeRenderController"), _a16);
|
|
3841
|
+
DocResizeRenderController = __decorateClass$6([
|
|
3842
|
+
__decorateParam$6(1, Inject(DocPageLayoutService)),
|
|
3843
|
+
__decorateParam$6(2, Inject(TextSelectionManagerService))
|
|
2869
3844
|
], DocResizeRenderController);
|
|
2870
|
-
var __defProp$
|
|
2871
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3845
|
+
var __defProp$5 = Object.defineProperty, __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor, __decorateClass$5 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3846
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2872
3847
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2873
|
-
return kind && result && __defProp$
|
|
2874
|
-
}, "__decorateClass$
|
|
2875
|
-
let DocHoverManagerService = (
|
|
3848
|
+
return kind && result && __defProp$5(target, key, result), result;
|
|
3849
|
+
}, "__decorateClass$5"), __decorateParam$5 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$5"), _a17;
|
|
3850
|
+
let DocHoverManagerService = (_a17 = class extends Disposable {
|
|
2876
3851
|
constructor(_univerInstanceService, _renderManagerService) {
|
|
2877
3852
|
super();
|
|
2878
|
-
__publicField(this, "_activeCustomRanges$", new
|
|
3853
|
+
__publicField(this, "_activeCustomRanges$", new Subject());
|
|
2879
3854
|
__publicField(this, "activeCustomRanges$", this._activeCustomRanges$.asObservable());
|
|
2880
|
-
__publicField(this, "_activeIndex$", new
|
|
3855
|
+
__publicField(this, "_activeIndex$", new Subject());
|
|
2881
3856
|
__publicField(this, "activeIndex$", this._activeIndex$.asObservable());
|
|
3857
|
+
__publicField(this, "_bullet$", new Subject());
|
|
3858
|
+
__publicField(this, "bullet$", this._bullet$.asObservable());
|
|
2882
3859
|
__publicField(this, "_scrolling", !1);
|
|
2883
3860
|
this._univerInstanceService = _univerInstanceService, this._renderManagerService = _renderManagerService, this.disposeWithMe(() => {
|
|
2884
3861
|
this._activeCustomRanges$.complete(), this._activeIndex$.complete();
|
|
@@ -2890,7 +3867,7 @@ let DocHoverManagerService = (_a16 = class extends Disposable {
|
|
|
2890
3867
|
return documentTransform.clone().invert().applyPoint(originCoord);
|
|
2891
3868
|
}
|
|
2892
3869
|
_calcActiveCustomRanges(offsetX, offsetY) {
|
|
2893
|
-
var
|
|
3870
|
+
var _a23, _b;
|
|
2894
3871
|
const document = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_DOC);
|
|
2895
3872
|
if (!document) {
|
|
2896
3873
|
this._activeCustomRanges$.next([]);
|
|
@@ -2915,15 +3892,18 @@ let DocHoverManagerService = (_a16 = class extends Disposable {
|
|
|
2915
3892
|
);
|
|
2916
3893
|
if (node && node.node) {
|
|
2917
3894
|
const left = node.node.left + pageMarginLeft, right = node.node.left + node.node.width + pageMarginLeft;
|
|
2918
|
-
|
|
2919
|
-
|
|
3895
|
+
let index = node.node.parent.st + node.node.parent.glyphGroup.indexOf(node.node);
|
|
3896
|
+
const paragraph = getParagraphByGlyph(node.node, document.getBody());
|
|
3897
|
+
if (paragraph && paragraph.bullet && index === paragraph.paragraphStart) {
|
|
3898
|
+
this._bullet$.next(paragraph), this._activeIndex$.next(null), this._activeCustomRanges$.next([]);
|
|
2920
3899
|
return;
|
|
2921
3900
|
}
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
const ranges = (_b = (_a19 = document.getCustomRanges()) == null ? void 0 : _a19.filter((range) => range.startIndex <= index && range.endIndex >= index)) != null ? _b : [], currentRanges = this._activeCustomRanges$.value;
|
|
2925
|
-
if (currentRanges.length === ranges.length && currentRanges.every((range, i) => range.rangeId === ranges[i].rangeId))
|
|
3901
|
+
if (coord.x < left || coord.x > right) {
|
|
3902
|
+
this._activeIndex$.next(null), this._activeCustomRanges$.next([]), this._bullet$.next(null);
|
|
2926
3903
|
return;
|
|
3904
|
+
}
|
|
3905
|
+
paragraph && paragraph.bullet && (index = index - 1), this._bullet$.next(null), this._activeIndex$.next(index);
|
|
3906
|
+
const ranges = (_b = (_a23 = document.getCustomRanges()) == null ? void 0 : _a23.filter((range) => range.startIndex <= index && range.endIndex >= index)) != null ? _b : [];
|
|
2927
3907
|
this._activeCustomRanges$.next(ranges);
|
|
2928
3908
|
}
|
|
2929
3909
|
}
|
|
@@ -2939,23 +3919,23 @@ let DocHoverManagerService = (_a16 = class extends Disposable {
|
|
|
2939
3919
|
endScroll() {
|
|
2940
3920
|
this._scrolling = !1;
|
|
2941
3921
|
}
|
|
2942
|
-
}, __name(
|
|
2943
|
-
DocHoverManagerService = __decorateClass$
|
|
2944
|
-
__decorateParam$
|
|
2945
|
-
__decorateParam$
|
|
3922
|
+
}, __name(_a17, "DocHoverManagerService"), _a17);
|
|
3923
|
+
DocHoverManagerService = __decorateClass$5([
|
|
3924
|
+
__decorateParam$5(0, IUniverInstanceService),
|
|
3925
|
+
__decorateParam$5(1, IRenderManagerService)
|
|
2946
3926
|
], DocHoverManagerService);
|
|
2947
|
-
var __defProp$
|
|
2948
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
3927
|
+
var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3928
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2949
3929
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2950
|
-
return kind && result && __defProp$
|
|
2951
|
-
}, "__decorateClass$
|
|
2952
|
-
let DocHoverRenderController = (
|
|
3930
|
+
return kind && result && __defProp$4(target, key, result), result;
|
|
3931
|
+
}, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a18;
|
|
3932
|
+
let DocHoverRenderController = (_a18 = class extends Disposable {
|
|
2953
3933
|
constructor(_context, _docHoverManagerService) {
|
|
2954
3934
|
super(), this._context = _context, this._docHoverManagerService = _docHoverManagerService, this._initPointerDown(), this._initScroll();
|
|
2955
3935
|
}
|
|
2956
3936
|
_initPointerDown() {
|
|
2957
3937
|
this.disposeWithMe(
|
|
2958
|
-
fromEventSubject(this._context.scene.onPointerMove$).pipe(debounceTime(
|
|
3938
|
+
fromEventSubject(this._context.scene.onPointerMove$).pipe(debounceTime(100)).subscribe((evt) => {
|
|
2959
3939
|
this._docHoverManagerService.onMouseMove(evt);
|
|
2960
3940
|
})
|
|
2961
3941
|
);
|
|
@@ -2968,18 +3948,284 @@ let DocHoverRenderController = (_a17 = class extends Disposable {
|
|
|
2968
3948
|
this._docHoverManagerService.startScroll();
|
|
2969
3949
|
})));
|
|
2970
3950
|
}
|
|
2971
|
-
}, __name(
|
|
2972
|
-
DocHoverRenderController = __decorateClass$
|
|
2973
|
-
__decorateParam$
|
|
3951
|
+
}, __name(_a18, "DocHoverRenderController"), _a18);
|
|
3952
|
+
DocHoverRenderController = __decorateClass$4([
|
|
3953
|
+
__decorateParam$4(1, Inject(DocHoverManagerService))
|
|
2974
3954
|
], DocHoverRenderController);
|
|
3955
|
+
var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
3956
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
3957
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
3958
|
+
return kind && result && __defProp$3(target, key, result), result;
|
|
3959
|
+
}, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a19;
|
|
3960
|
+
let DocAutoFormatController = (_a19 = class extends Disposable {
|
|
3961
|
+
constructor(_docAutoFormatService) {
|
|
3962
|
+
super(), this._docAutoFormatService = _docAutoFormatService, this._initListTabAutoFormat(), this._initListSpaceAutoFormat(), this._initDefaultEnterFormat(), this._initExitListAutoFormat();
|
|
3963
|
+
}
|
|
3964
|
+
_initListTabAutoFormat() {
|
|
3965
|
+
this.disposeWithMe(
|
|
3966
|
+
this._docAutoFormatService.registerAutoFormat({
|
|
3967
|
+
id: TabCommand.id,
|
|
3968
|
+
match: /* @__PURE__ */ __name((context) => {
|
|
3969
|
+
var _a23;
|
|
3970
|
+
const { selection, paragraphs, unit } = context;
|
|
3971
|
+
if (paragraphs.length === 1 && selection.startOffset === paragraphs[0].paragraphStart && paragraphs[0].bullet) {
|
|
3972
|
+
const allParagraphs = (_a23 = unit.getBody()) == null ? void 0 : _a23.paragraphs, bulletParagraphs = allParagraphs == null ? void 0 : allParagraphs.filter((p2) => {
|
|
3973
|
+
var _a24;
|
|
3974
|
+
return ((_a24 = p2.bullet) == null ? void 0 : _a24.listId) === paragraphs[0].bullet.listId;
|
|
3975
|
+
});
|
|
3976
|
+
return (bulletParagraphs == null ? void 0 : bulletParagraphs.findIndex((p2) => p2.startIndex === paragraphs[0].startIndex)) !== 0;
|
|
3977
|
+
} else if (paragraphs.length > 1)
|
|
3978
|
+
return !0;
|
|
3979
|
+
return !1;
|
|
3980
|
+
}, "match"),
|
|
3981
|
+
// traverse all paragraphs, set paragraph
|
|
3982
|
+
getMutations(context) {
|
|
3983
|
+
const params = context.commandParams;
|
|
3984
|
+
return [{
|
|
3985
|
+
id: ChangeListNestingLevelCommand.id,
|
|
3986
|
+
params: {
|
|
3987
|
+
type: params != null && params.shift ? ChangeListNestingLevelType.decrease : ChangeListNestingLevelType.increase
|
|
3988
|
+
}
|
|
3989
|
+
}];
|
|
3990
|
+
}
|
|
3991
|
+
})
|
|
3992
|
+
);
|
|
3993
|
+
}
|
|
3994
|
+
_initListSpaceAutoFormat() {
|
|
3995
|
+
this.disposeWithMe(
|
|
3996
|
+
this._docAutoFormatService.registerAutoFormat({
|
|
3997
|
+
id: AfterSpaceCommand.id,
|
|
3998
|
+
match: /* @__PURE__ */ __name((context) => {
|
|
3999
|
+
var _a23;
|
|
4000
|
+
const { selection, paragraphs, unit } = context;
|
|
4001
|
+
if (!selection.collapsed || paragraphs.length !== 1)
|
|
4002
|
+
return !1;
|
|
4003
|
+
const text = (_a23 = unit.getBody()) == null ? void 0 : _a23.dataStream.slice(paragraphs[0].paragraphStart, paragraphs[0].paragraphEnd - 1);
|
|
4004
|
+
return !!(text && Object.keys(QuickListTypeMap).includes(text));
|
|
4005
|
+
}, "match"),
|
|
4006
|
+
getMutations(context) {
|
|
4007
|
+
var _a23;
|
|
4008
|
+
const { paragraphs, unit } = context, text = (_a23 = unit.getBody()) == null ? void 0 : _a23.dataStream.slice(paragraphs[0].paragraphStart, paragraphs[0].paragraphEnd - 1);
|
|
4009
|
+
if (text && Object.keys(QuickListTypeMap).includes(text)) {
|
|
4010
|
+
const type = QuickListTypeMap[text];
|
|
4011
|
+
return [{
|
|
4012
|
+
id: QuickListCommand.id,
|
|
4013
|
+
params: {
|
|
4014
|
+
listType: type,
|
|
4015
|
+
paragraph: paragraphs[0]
|
|
4016
|
+
}
|
|
4017
|
+
}];
|
|
4018
|
+
}
|
|
4019
|
+
return [];
|
|
4020
|
+
}
|
|
4021
|
+
})
|
|
4022
|
+
);
|
|
4023
|
+
}
|
|
4024
|
+
_initExitListAutoFormat() {
|
|
4025
|
+
this.disposeWithMe(
|
|
4026
|
+
this._docAutoFormatService.registerAutoFormat({
|
|
4027
|
+
id: EnterCommand.id,
|
|
4028
|
+
match: /* @__PURE__ */ __name((context) => {
|
|
4029
|
+
const { paragraphs } = context;
|
|
4030
|
+
return !!(paragraphs.length === 1 && paragraphs[0].bullet && paragraphs[0].paragraphStart === paragraphs[0].paragraphEnd);
|
|
4031
|
+
}, "match"),
|
|
4032
|
+
getMutations: /* @__PURE__ */ __name((context) => {
|
|
4033
|
+
const bullet = context.paragraphs[0].bullet;
|
|
4034
|
+
return bullet ? bullet.nestingLevel > 0 ? [{
|
|
4035
|
+
id: ChangeListNestingLevelCommand.id,
|
|
4036
|
+
params: {
|
|
4037
|
+
type: ChangeListNestingLevelType.decrease
|
|
4038
|
+
}
|
|
4039
|
+
}] : [{
|
|
4040
|
+
id: ListOperationCommand.id,
|
|
4041
|
+
params: {
|
|
4042
|
+
listType: context.paragraphs[0].bullet.listType
|
|
4043
|
+
}
|
|
4044
|
+
}] : [];
|
|
4045
|
+
}, "getMutations")
|
|
4046
|
+
})
|
|
4047
|
+
);
|
|
4048
|
+
}
|
|
4049
|
+
_initDefaultEnterFormat() {
|
|
4050
|
+
this.disposeWithMe(
|
|
4051
|
+
this._docAutoFormatService.registerAutoFormat({
|
|
4052
|
+
id: EnterCommand.id,
|
|
4053
|
+
match: /* @__PURE__ */ __name(() => !0, "match"),
|
|
4054
|
+
getMutations() {
|
|
4055
|
+
return [{
|
|
4056
|
+
id: BreakLineCommand.id
|
|
4057
|
+
}];
|
|
4058
|
+
},
|
|
4059
|
+
priority: -9999
|
|
4060
|
+
})
|
|
4061
|
+
);
|
|
4062
|
+
}
|
|
4063
|
+
}, __name(_a19, "DocAutoFormatController"), _a19);
|
|
4064
|
+
DocAutoFormatController = __decorateClass$3([
|
|
4065
|
+
OnLifecycle(LifecycleStages.Rendered, DocAutoFormatController),
|
|
4066
|
+
__decorateParam$3(0, Inject(DocAutoFormatService))
|
|
4067
|
+
], DocAutoFormatController);
|
|
4068
|
+
var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
4069
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4070
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
4071
|
+
return kind && result && __defProp$2(target, key, result), result;
|
|
4072
|
+
}, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a20;
|
|
4073
|
+
let DocChecklistRenderController = (_a20 = class extends Disposable {
|
|
4074
|
+
constructor(_context, _docSkeletonManagerService, _commandService, _docHoverManagerService) {
|
|
4075
|
+
super(), this._context = _context, this._docSkeletonManagerService = _docSkeletonManagerService, this._commandService = _commandService, this._docHoverManagerService = _docHoverManagerService, this._initPointerDownObserver(), this._initHoverCursor();
|
|
4076
|
+
}
|
|
4077
|
+
_initPointerDownObserver() {
|
|
4078
|
+
this.disposeWithMe(
|
|
4079
|
+
this._context.mainComponent.onPointerDown$.subscribeEvent((evt) => {
|
|
4080
|
+
const { offsetX, offsetY } = evt, documentComponent = this._context.mainComponent, coord = this._getTransformCoordForDocumentOffset(
|
|
4081
|
+
documentComponent,
|
|
4082
|
+
this._context.scene.getViewport(VIEWPORT_KEY.VIEW_MAIN),
|
|
4083
|
+
offsetX,
|
|
4084
|
+
offsetY
|
|
4085
|
+
);
|
|
4086
|
+
if (!coord)
|
|
4087
|
+
return;
|
|
4088
|
+
const { pageLayoutType = PageLayoutType.VERTICAL, pageMarginLeft, pageMarginTop } = documentComponent.getOffsetConfig(), node = this._docSkeletonManagerService.getSkeleton().findNodeByCoord(
|
|
4089
|
+
coord,
|
|
4090
|
+
pageLayoutType,
|
|
4091
|
+
pageMarginLeft,
|
|
4092
|
+
pageMarginTop
|
|
4093
|
+
);
|
|
4094
|
+
if (!node)
|
|
4095
|
+
return;
|
|
4096
|
+
const paragraph = getParagraphByGlyph(node.node, this._context.unit.getBody());
|
|
4097
|
+
paragraph && paragraph.bullet && node.node.glyphType === GlyphType.LIST && (paragraph.bullet.listType === PresetListType.CHECK_LIST || paragraph.bullet.listType === PresetListType.CHECK_LIST_CHECKED) && this._commandService.executeCommand(ToggleCheckListCommand.id, {
|
|
4098
|
+
index: paragraph.startIndex
|
|
4099
|
+
});
|
|
4100
|
+
})
|
|
4101
|
+
);
|
|
4102
|
+
}
|
|
4103
|
+
_initHoverCursor() {
|
|
4104
|
+
this.disposeWithMe(
|
|
4105
|
+
this._docHoverManagerService.bullet$.subscribe((paragraph) => {
|
|
4106
|
+
paragraph ? this._context.mainComponent.setCursor(CURSOR_TYPE.POINTER) : this._context.mainComponent.setCursor(CURSOR_TYPE.TEXT);
|
|
4107
|
+
})
|
|
4108
|
+
);
|
|
4109
|
+
}
|
|
4110
|
+
_getTransformCoordForDocumentOffset(document, viewport, evtOffsetX, evtOffsetY) {
|
|
4111
|
+
const { documentTransform } = document.getOffsetConfig(), originCoord = viewport.transformVector2SceneCoord(Vector2.FromArray([evtOffsetX, evtOffsetY]));
|
|
4112
|
+
if (originCoord)
|
|
4113
|
+
return documentTransform.clone().invert().applyPoint(originCoord);
|
|
4114
|
+
}
|
|
4115
|
+
}, __name(_a20, "DocChecklistRenderController"), _a20);
|
|
4116
|
+
DocChecklistRenderController = __decorateClass$2([
|
|
4117
|
+
__decorateParam$2(1, Inject(DocSkeletonManagerService)),
|
|
4118
|
+
__decorateParam$2(2, ICommandService),
|
|
4119
|
+
__decorateParam$2(3, Inject(DocHoverManagerService))
|
|
4120
|
+
], DocChecklistRenderController);
|
|
4121
|
+
const create = "univer-create", createItem = "univer-create-item", createLabel = "univer-create-label", createInput = "univer-create-input", styles = {
|
|
4122
|
+
create,
|
|
4123
|
+
createItem,
|
|
4124
|
+
createLabel,
|
|
4125
|
+
createInput
|
|
4126
|
+
}, DocCreateTableConfirm = /* @__PURE__ */ __name(({
|
|
4127
|
+
handleRowColChange,
|
|
4128
|
+
tableCreateParams
|
|
4129
|
+
}) => {
|
|
4130
|
+
const localeService = useDependency(LocaleService), [rowCount, setRowCount] = useState(3), [colCount, setColCount] = useState(5);
|
|
4131
|
+
function handleInputChange(rowCount2, colCount2) {
|
|
4132
|
+
setRowCount(rowCount2), setColCount(colCount2), handleRowColChange(rowCount2, colCount2);
|
|
4133
|
+
}
|
|
4134
|
+
return __name(handleInputChange, "handleInputChange"), useEffect(() => {
|
|
4135
|
+
setRowCount(tableCreateParams.rowCount), setColCount(tableCreateParams.colCount);
|
|
4136
|
+
}, [tableCreateParams]), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.create, children: [
|
|
4137
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.createItem, children: [
|
|
4138
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: styles.createLabel, children: localeService.t("toolbar.table.rowCount") }),
|
|
4139
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4140
|
+
InputNumber,
|
|
4141
|
+
{
|
|
4142
|
+
min: 1,
|
|
4143
|
+
max: 20,
|
|
4144
|
+
precision: 0,
|
|
4145
|
+
value: rowCount,
|
|
4146
|
+
onChange: /* @__PURE__ */ __name((val) => {
|
|
4147
|
+
handleInputChange(val, colCount);
|
|
4148
|
+
}, "onChange"),
|
|
4149
|
+
className: styles.createInput
|
|
4150
|
+
}
|
|
4151
|
+
)
|
|
4152
|
+
] }),
|
|
4153
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles.createItem, children: [
|
|
4154
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: styles.createLabel, children: localeService.t("toolbar.table.colCount") }),
|
|
4155
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4156
|
+
InputNumber,
|
|
4157
|
+
{
|
|
4158
|
+
min: 1,
|
|
4159
|
+
max: 20,
|
|
4160
|
+
precision: 0,
|
|
4161
|
+
value: colCount,
|
|
4162
|
+
onChange: /* @__PURE__ */ __name((val) => {
|
|
4163
|
+
handleInputChange(rowCount, val);
|
|
4164
|
+
}, "onChange"),
|
|
4165
|
+
className: styles.createInput
|
|
4166
|
+
}
|
|
4167
|
+
)
|
|
4168
|
+
] })
|
|
4169
|
+
] });
|
|
4170
|
+
}, "DocCreateTableConfirm");
|
|
4171
|
+
var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
4172
|
+
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4173
|
+
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
4174
|
+
return kind && result && __defProp$1(target, key, result), result;
|
|
4175
|
+
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), _a21;
|
|
4176
|
+
let DocTableController = (_a21 = class extends Disposable {
|
|
4177
|
+
constructor(_commandService, _componentManager) {
|
|
4178
|
+
super(), this._commandService = _commandService, this._componentManager = _componentManager, this._initialize();
|
|
4179
|
+
}
|
|
4180
|
+
_initialize() {
|
|
4181
|
+
this._init(), this._registerCommands(), this._initCustomComponents();
|
|
4182
|
+
}
|
|
4183
|
+
_registerCommands() {
|
|
4184
|
+
[
|
|
4185
|
+
DocCreateTableOperation
|
|
4186
|
+
].forEach((command) => this.disposeWithMe(this._commandService.registerCommand(command)));
|
|
4187
|
+
}
|
|
4188
|
+
_initCustomComponents() {
|
|
4189
|
+
const componentManager = this._componentManager;
|
|
4190
|
+
this.disposeWithMe(componentManager.register(COMPONENT_DOC_CREATE_TABLE_CONFIRM, DocCreateTableConfirm));
|
|
4191
|
+
}
|
|
4192
|
+
_init() {
|
|
4193
|
+
}
|
|
4194
|
+
}, __name(_a21, "DocTableController"), _a21);
|
|
4195
|
+
DocTableController = __decorateClass$1([
|
|
4196
|
+
OnLifecycle(LifecycleStages.Rendered, DocTableController),
|
|
4197
|
+
__decorateParam$1(0, ICommandService),
|
|
4198
|
+
__decorateParam$1(1, Inject(ComponentManager))
|
|
4199
|
+
], DocTableController);
|
|
4200
|
+
const DocTabCommand = {
|
|
4201
|
+
id: "doc.tab.tab-in-doc",
|
|
4202
|
+
type: CommandType.COMMAND,
|
|
4203
|
+
handler: /* @__PURE__ */ __name(async (accessor) => {
|
|
4204
|
+
const textSelectionManagerService = accessor.get(TextSelectionManagerService), commandService = accessor.get(ICommandService), activeTextRange = textSelectionManagerService.getActiveTextRangeWithStyle();
|
|
4205
|
+
if (activeTextRange == null)
|
|
4206
|
+
return !1;
|
|
4207
|
+
const { startNodePosition, endNodePosition } = activeTextRange;
|
|
4208
|
+
return startNodePosition && endNodePosition && isInSameTableCell(startNodePosition, endNodePosition) ? commandService.executeCommand(DocTableTabCommand.id) : !1;
|
|
4209
|
+
}, "handler")
|
|
4210
|
+
}, DocShiftTabCommand = {
|
|
4211
|
+
id: "doc.tab.shift-tab-in-doc",
|
|
4212
|
+
type: CommandType.COMMAND,
|
|
4213
|
+
handler: /* @__PURE__ */ __name(async (accessor) => {
|
|
4214
|
+
const textSelectionManagerService = accessor.get(TextSelectionManagerService), commandService = accessor.get(ICommandService), activeTextRange = textSelectionManagerService.getActiveTextRangeWithStyle();
|
|
4215
|
+
if (activeTextRange == null)
|
|
4216
|
+
return !1;
|
|
4217
|
+
const { startNodePosition, endNodePosition } = activeTextRange;
|
|
4218
|
+
return startNodePosition && endNodePosition && isInSameTableCell(startNodePosition, endNodePosition) ? commandService.executeCommand(DocTableShiftTabCommand.id) : !1;
|
|
4219
|
+
}, "handler")
|
|
4220
|
+
};
|
|
2975
4221
|
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
2976
4222
|
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2977
4223
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
2978
4224
|
return kind && result && __defProp2(target, key, result), result;
|
|
2979
|
-
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"),
|
|
2980
|
-
let UniverDocsUIPlugin = (
|
|
2981
|
-
constructor(_config, _injector, _renderManagerSrv, _logService) {
|
|
2982
|
-
super(), this._config = _config, this._injector = _injector, this._renderManagerSrv = _renderManagerSrv, this._logService = _logService, this._config = Tools.deepMerge({}, DefaultDocUiConfig, this._config), this._initDependencies(_injector), this.
|
|
4225
|
+
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), _a22;
|
|
4226
|
+
let UniverDocsUIPlugin = (_a22 = class extends Plugin {
|
|
4227
|
+
constructor(_config, _injector, _renderManagerSrv, _commandService, _logService) {
|
|
4228
|
+
super(), this._config = _config, this._injector = _injector, this._renderManagerSrv = _renderManagerSrv, this._commandService = _commandService, this._logService = _logService, this._config = Tools.deepMerge({}, DefaultDocUiConfig, this._config), this._initDependencies(_injector), this._initializeShortcut(), this._initCommand(), this._registerCommands();
|
|
2983
4229
|
}
|
|
2984
4230
|
onReady() {
|
|
2985
4231
|
this._initRenderBasics(), this._markDocAsFocused();
|
|
@@ -2987,7 +4233,12 @@ let UniverDocsUIPlugin = (_a18 = class extends Plugin {
|
|
|
2987
4233
|
onRendered() {
|
|
2988
4234
|
this._initUI(), this._initRenderModules();
|
|
2989
4235
|
}
|
|
2990
|
-
|
|
4236
|
+
_initCommand() {
|
|
4237
|
+
[DocParagraphSettingCommand, DocParagraphSettingPanelOperation].forEach((e) => {
|
|
4238
|
+
this._commandService.registerCommand(e);
|
|
4239
|
+
});
|
|
4240
|
+
}
|
|
4241
|
+
_initializeShortcut() {
|
|
2991
4242
|
[
|
|
2992
4243
|
MoveCursorUpShortcut,
|
|
2993
4244
|
MoveCursorDownShortcut,
|
|
@@ -3000,22 +4251,34 @@ let UniverDocsUIPlugin = (_a18 = class extends Plugin {
|
|
|
3000
4251
|
SelectAllShortcut,
|
|
3001
4252
|
DeleteLeftShortcut,
|
|
3002
4253
|
DeleteRightShortcut,
|
|
3003
|
-
BreakLineShortcut
|
|
4254
|
+
BreakLineShortcut,
|
|
4255
|
+
ShiftTabShortCut
|
|
4256
|
+
// TabShortcut,
|
|
4257
|
+
// ShiftTabShortcut,
|
|
3004
4258
|
].forEach((shortcut) => {
|
|
3005
4259
|
this._injector.get(IShortcutService).registerShortcut(shortcut);
|
|
3006
4260
|
});
|
|
3007
4261
|
}
|
|
3008
|
-
|
|
4262
|
+
_registerCommands() {
|
|
3009
4263
|
[
|
|
4264
|
+
DocTabCommand,
|
|
4265
|
+
DocShiftTabCommand
|
|
4266
|
+
].forEach((command) => this.disposeWithMe(this._commandService.registerCommand(command)));
|
|
4267
|
+
}
|
|
4268
|
+
_initDependencies(injector) {
|
|
4269
|
+
mergeOverrideWithDependencies([
|
|
3010
4270
|
[DocUIController, { useFactory: /* @__PURE__ */ __name(() => this._injector.createInstance(DocUIController, this._config), "useFactory") }],
|
|
3011
4271
|
[DocClipboardController],
|
|
3012
4272
|
[DocEditorBridgeController],
|
|
4273
|
+
[DocAutoFormatController],
|
|
4274
|
+
[DocTableController],
|
|
3013
4275
|
[DocsRenderService],
|
|
3014
4276
|
[AppUIController, { useFactory: /* @__PURE__ */ __name(() => this._injector.createInstance(AppUIController, this._config), "useFactory") }],
|
|
3015
4277
|
[IDocClipboardService, { useClass: DocClipboardService }],
|
|
3016
4278
|
[DocCanvasPopManagerService],
|
|
3017
|
-
[DocHoverManagerService]
|
|
3018
|
-
|
|
4279
|
+
[DocHoverManagerService],
|
|
4280
|
+
[DocParagraphSettingController]
|
|
4281
|
+
], this._config.override).forEach((d) => injector.add(d));
|
|
3019
4282
|
}
|
|
3020
4283
|
_markDocAsFocused() {
|
|
3021
4284
|
const currentService = this._injector.get(IUniverInstanceService), editorService = this._injector.get(IEditorService);
|
|
@@ -3049,16 +4312,18 @@ let UniverDocsUIPlugin = (_a18 = class extends Plugin {
|
|
|
3049
4312
|
[DocHeaderFooterController],
|
|
3050
4313
|
[DocResizeRenderController],
|
|
3051
4314
|
[DocHoverRenderController],
|
|
3052
|
-
[DocContextMenuRenderController]
|
|
4315
|
+
[DocContextMenuRenderController],
|
|
4316
|
+
[DocChecklistRenderController]
|
|
3053
4317
|
].forEach((m2) => {
|
|
3054
4318
|
this._renderManagerSrv.registerRenderModule(UniverInstanceType.UNIVER_DOC, m2);
|
|
3055
4319
|
});
|
|
3056
4320
|
}
|
|
3057
|
-
}, __name(
|
|
4321
|
+
}, __name(_a22, "UniverDocsUIPlugin"), __publicField(_a22, "pluginName", DOC_UI_PLUGIN_NAME), __publicField(_a22, "type", UniverInstanceType.UNIVER_DOC), _a22);
|
|
3058
4322
|
UniverDocsUIPlugin = __decorateClass([
|
|
3059
4323
|
__decorateParam(1, Inject(Injector)),
|
|
3060
4324
|
__decorateParam(2, IRenderManagerService),
|
|
3061
|
-
__decorateParam(3,
|
|
4325
|
+
__decorateParam(3, ICommandService),
|
|
4326
|
+
__decorateParam(4, ILogService)
|
|
3062
4327
|
], UniverDocsUIPlugin);
|
|
3063
4328
|
function docDrawingPositionToTransform(position) {
|
|
3064
4329
|
return {
|
|
@@ -3095,10 +4360,12 @@ export {
|
|
|
3095
4360
|
DocBackScrollRenderController,
|
|
3096
4361
|
DocCanvasPopManagerService,
|
|
3097
4362
|
DocCopyCommand,
|
|
4363
|
+
DocCreateTableOperation,
|
|
3098
4364
|
DocCutCommand,
|
|
3099
4365
|
DocHoverManagerService,
|
|
3100
4366
|
DocPasteCommand,
|
|
3101
4367
|
DocRenderController,
|
|
4368
|
+
DocUIController,
|
|
3102
4369
|
DocsRenderService,
|
|
3103
4370
|
IDocClipboardService,
|
|
3104
4371
|
PastePluginLark,
|