@univerjs/docs-ui 1.0.0-beta.0 → 1.0.0-beta.1
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 +960 -254
- package/lib/cjs/locale/ar-SA.js +17 -8
- package/lib/cjs/locale/ca-ES.js +17 -8
- package/lib/cjs/locale/de-DE.js +17 -8
- package/lib/cjs/locale/en-US.js +17 -8
- package/lib/cjs/locale/es-ES.js +17 -8
- package/lib/cjs/locale/fa-IR.js +17 -8
- package/lib/cjs/locale/fr-FR.js +17 -8
- package/lib/cjs/locale/id-ID.js +17 -8
- package/lib/cjs/locale/it-IT.js +17 -8
- package/lib/cjs/locale/ja-JP.js +17 -8
- package/lib/cjs/locale/ko-KR.js +17 -8
- package/lib/cjs/locale/pl-PL.js +17 -8
- package/lib/cjs/locale/pt-BR.js +17 -8
- package/lib/cjs/locale/ru-RU.js +17 -8
- package/lib/cjs/locale/sk-SK.js +17 -8
- package/lib/cjs/locale/vi-VN.js +17 -8
- package/lib/cjs/locale/zh-CN.js +17 -8
- package/lib/cjs/locale/zh-HK.js +17 -8
- package/lib/cjs/locale/zh-TW.js +17 -8
- package/lib/es/index.js +962 -258
- package/lib/es/locale/ar-SA.js +17 -8
- package/lib/es/locale/ca-ES.js +17 -8
- package/lib/es/locale/de-DE.js +17 -8
- package/lib/es/locale/en-US.js +17 -8
- package/lib/es/locale/es-ES.js +17 -8
- package/lib/es/locale/fa-IR.js +17 -8
- package/lib/es/locale/fr-FR.js +17 -8
- package/lib/es/locale/id-ID.js +17 -8
- package/lib/es/locale/it-IT.js +17 -8
- package/lib/es/locale/ja-JP.js +17 -8
- package/lib/es/locale/ko-KR.js +17 -8
- package/lib/es/locale/pl-PL.js +17 -8
- package/lib/es/locale/pt-BR.js +17 -8
- package/lib/es/locale/ru-RU.js +17 -8
- package/lib/es/locale/sk-SK.js +17 -8
- package/lib/es/locale/vi-VN.js +17 -8
- package/lib/es/locale/zh-CN.js +17 -8
- package/lib/es/locale/zh-HK.js +17 -8
- package/lib/es/locale/zh-TW.js +17 -8
- package/lib/index.css +154 -16
- package/lib/index.js +962 -258
- package/lib/locale/ar-SA.js +17 -8
- package/lib/locale/ca-ES.js +17 -8
- package/lib/locale/de-DE.js +17 -8
- package/lib/locale/en-US.js +17 -8
- package/lib/locale/es-ES.js +17 -8
- package/lib/locale/fa-IR.js +17 -8
- package/lib/locale/fr-FR.js +17 -8
- package/lib/locale/id-ID.js +17 -8
- package/lib/locale/it-IT.js +17 -8
- package/lib/locale/ja-JP.js +17 -8
- package/lib/locale/ko-KR.js +17 -8
- package/lib/locale/pl-PL.js +17 -8
- package/lib/locale/pt-BR.js +17 -8
- package/lib/locale/ru-RU.js +17 -8
- package/lib/locale/sk-SK.js +17 -8
- package/lib/locale/vi-VN.js +17 -8
- package/lib/locale/zh-CN.js +17 -8
- package/lib/locale/zh-HK.js +17 -8
- package/lib/locale/zh-TW.js +17 -8
- package/lib/types/commands/commands/clipboard.inner.command.d.ts +8 -2
- package/lib/types/commands/commands/doc-select-all.command.d.ts +2 -0
- package/lib/types/commands/commands/replace-content.command.d.ts +1 -0
- package/lib/types/config/config.d.ts +1 -0
- package/lib/types/controllers/render-controllers/doc-ime-input.controller.d.ts +3 -2
- package/lib/types/controllers/render-controllers/doc-input.controller.d.ts +1 -1
- package/lib/types/controllers/render-controllers/doc-paragraph-placeholder.render-controller.d.ts +1 -1
- package/lib/types/controllers/render-controllers/doc.render-controller.d.ts +2 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/locale/en-US.d.ts +16 -7
- package/lib/types/services/doc-ime-input-manager.service.d.ts +17 -0
- package/lib/types/services/doc-menu-style.service.d.ts +3 -2
- package/lib/types/services/doc-render-background.d.ts +1 -1
- package/lib/types/services/selection/doc-selection-render.service.d.ts +2 -0
- package/lib/types/services/selection/text-range.d.ts +3 -0
- package/lib/types/views/doc-statistics/DocStatistics.d.ts +16 -0
- package/lib/types/views/doc-statistics/use-doc-statistics.d.ts +30 -0
- package/lib/types/views/list-type-picker/Picker.d.ts +1 -4
- package/lib/umd/index.js +9 -9
- package/lib/umd/locale/ar-SA.js +1 -1
- package/lib/umd/locale/ca-ES.js +1 -1
- package/lib/umd/locale/de-DE.js +1 -1
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/es-ES.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/id-ID.js +1 -1
- package/lib/umd/locale/it-IT.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -1
- package/lib/umd/locale/ko-KR.js +1 -1
- package/lib/umd/locale/pl-PL.js +1 -1
- package/lib/umd/locale/pt-BR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/sk-SK.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-HK.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +8 -8
package/lib/cjs/index.js
CHANGED
|
@@ -173,7 +173,7 @@ function getTextRunAtPosition(body, position, defaultStyle, cacheStyle, isCellEd
|
|
|
173
173
|
const retTextRun = {
|
|
174
174
|
st: 0,
|
|
175
175
|
ed: 0,
|
|
176
|
-
ts: {}
|
|
176
|
+
ts: !defaultStyle.cl ? {} : { cl: { ...defaultStyle.cl } }
|
|
177
177
|
};
|
|
178
178
|
if (isFormula) return retTextRun;
|
|
179
179
|
for (let i = textRuns.length - 1; i >= 0; i--) {
|
|
@@ -361,11 +361,12 @@ const DEFAULT_TEXT_STYLE = {
|
|
|
361
361
|
fs: BODY_DEFAULT_FONTSIZE
|
|
362
362
|
};
|
|
363
363
|
let DocMenuStyleService = class DocMenuStyleService extends _univerjs_core.Disposable {
|
|
364
|
-
constructor(_textSelectionManagerService, _univerInstanceService, _renderManagerService) {
|
|
364
|
+
constructor(_textSelectionManagerService, _univerInstanceService, _renderManagerService, _themeService) {
|
|
365
365
|
super();
|
|
366
366
|
this._textSelectionManagerService = _textSelectionManagerService;
|
|
367
367
|
this._univerInstanceService = _univerInstanceService;
|
|
368
368
|
this._renderManagerService = _renderManagerService;
|
|
369
|
+
this._themeService = _themeService;
|
|
369
370
|
_defineProperty(this, "_cacheStyle", null);
|
|
370
371
|
this._init();
|
|
371
372
|
}
|
|
@@ -382,15 +383,19 @@ let DocMenuStyleService = class DocMenuStyleService extends _univerjs_core.Dispo
|
|
|
382
383
|
}
|
|
383
384
|
getDefaultStyle() {
|
|
384
385
|
var _this$_renderManagerS;
|
|
386
|
+
const defaultTextStyle = {
|
|
387
|
+
...DEFAULT_TEXT_STYLE,
|
|
388
|
+
cl: { rgb: this._themeService.getColorFromTheme("gray.900") }
|
|
389
|
+
};
|
|
385
390
|
const docDataModel = this._univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
386
|
-
if (docDataModel == null) return { ...
|
|
391
|
+
if (docDataModel == null) return { ...defaultTextStyle };
|
|
387
392
|
const unitId = docDataModel === null || docDataModel === void 0 ? void 0 : docDataModel.getUnitId();
|
|
388
393
|
const docSkeletonManagerService = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(_univerjs_docs.DocSkeletonManagerService);
|
|
389
394
|
const docViewModel = docSkeletonManagerService === null || docSkeletonManagerService === void 0 ? void 0 : docSkeletonManagerService.getViewModel();
|
|
390
|
-
if (docViewModel == null) return { ...
|
|
391
|
-
if (docViewModel.getEditArea() === _univerjs_engine_render.DocumentEditArea.BODY) return { ...
|
|
395
|
+
if (docViewModel == null) return { ...defaultTextStyle };
|
|
396
|
+
if (docViewModel.getEditArea() === _univerjs_engine_render.DocumentEditArea.BODY) return { ...defaultTextStyle };
|
|
392
397
|
else return {
|
|
393
|
-
...
|
|
398
|
+
...defaultTextStyle,
|
|
394
399
|
fs: HEADER_FOOTER_DEFAULT_FONTSIZE
|
|
395
400
|
};
|
|
396
401
|
}
|
|
@@ -407,7 +412,8 @@ let DocMenuStyleService = class DocMenuStyleService extends _univerjs_core.Dispo
|
|
|
407
412
|
DocMenuStyleService = __decorate([
|
|
408
413
|
__decorateParam(0, (0, _univerjs_core.Inject)(_univerjs_docs.DocSelectionManagerService)),
|
|
409
414
|
__decorateParam(1, _univerjs_core.IUniverInstanceService),
|
|
410
|
-
__decorateParam(2, _univerjs_engine_render.IRenderManagerService)
|
|
415
|
+
__decorateParam(2, _univerjs_engine_render.IRenderManagerService),
|
|
416
|
+
__decorateParam(3, (0, _univerjs_core.Inject)(_univerjs_core.ThemeService))
|
|
411
417
|
], DocMenuStyleService);
|
|
412
418
|
|
|
413
419
|
//#endregion
|
|
@@ -1087,17 +1093,18 @@ const InnerPasteCommand = {
|
|
|
1087
1093
|
id: "doc.command.inner-paste",
|
|
1088
1094
|
type: _univerjs_core.CommandType.COMMAND,
|
|
1089
1095
|
handler: async (accessor, params) => {
|
|
1090
|
-
var _docDataModel$getSelf, _body$tables, _body$customBlocks, _body$blockRanges;
|
|
1096
|
+
var _docDataModel$getSelf, _body$tables, _body$customBlocks, _body$blockRanges, _selectionInfo$option;
|
|
1091
1097
|
const { customRangeMappings = [], segmentId, textRanges, doc } = params;
|
|
1092
1098
|
const commandService = accessor.get(_univerjs_core.ICommandService);
|
|
1093
1099
|
const undoRedoService = accessor.get(_univerjs_core.IUndoRedoService);
|
|
1094
1100
|
const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
|
|
1095
1101
|
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
1096
1102
|
const pasteAdapterService = getPasteAdapterService(accessor);
|
|
1097
|
-
const selections = docSelectionManagerService.getTextRanges();
|
|
1098
|
-
const rectRanges = docSelectionManagerService.getRectRanges();
|
|
1103
|
+
const selections = docSelectionManagerService.getTextRanges() ?? [];
|
|
1104
|
+
const rectRanges = docSelectionManagerService.getRectRanges() ?? [];
|
|
1105
|
+
const selectionInfo = docSelectionManagerService.getSelectionInfo();
|
|
1099
1106
|
const { body, tableSource, drawings } = doc;
|
|
1100
|
-
if (
|
|
1107
|
+
if (selections.length === 0 && rectRanges.length === 0 || body == null) return false;
|
|
1101
1108
|
const docDataModel = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
1102
1109
|
const originBody = docDataModel === null || docDataModel === void 0 || (_docDataModel$getSelf = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf === void 0 ? void 0 : _docDataModel$getSelf.getBody();
|
|
1103
1110
|
if (docDataModel == null || originBody == null) return false;
|
|
@@ -1108,7 +1115,8 @@ const InnerPasteCommand = {
|
|
|
1108
1115
|
unitId,
|
|
1109
1116
|
actions: [],
|
|
1110
1117
|
textRanges,
|
|
1111
|
-
segmentId
|
|
1118
|
+
segmentId,
|
|
1119
|
+
trigger: InnerPasteCommand.id
|
|
1112
1120
|
}
|
|
1113
1121
|
};
|
|
1114
1122
|
const memoryCursor = new _univerjs_core.MemoryCursor();
|
|
@@ -1123,10 +1131,34 @@ const InnerPasteCommand = {
|
|
|
1123
1131
|
const hasCustomBlock = !!((_body$customBlocks = body.customBlocks) === null || _body$customBlocks === void 0 ? void 0 : _body$customBlocks.length);
|
|
1124
1132
|
const hasBlockRange = !!((_body$blockRanges = body.blockRanges) === null || _body$blockRanges === void 0 ? void 0 : _body$blockRanges.length);
|
|
1125
1133
|
if (hasTable && segmentId) return false;
|
|
1126
|
-
if (hasTable && hasRangeInTable(selections)) return false;
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1134
|
+
if (hasTable && (hasRangeInTable(selections) || rectRanges.some((range) => !range.spanEntireTable))) return false;
|
|
1135
|
+
const replacesComplexSelection = rectRanges.length > 0 || (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option = selectionInfo.options) === null || _selectionInfo$option === void 0 ? void 0 : _selectionInfo$option.wholeDocument) === true;
|
|
1136
|
+
let selectionCutActions = [];
|
|
1137
|
+
let pasteSelections = selections;
|
|
1138
|
+
if (replacesComplexSelection) {
|
|
1139
|
+
var _selectionInfo$option2, _selections$find;
|
|
1140
|
+
const docSkeletonManagerService = getCommandSkeleton(accessor, unitId);
|
|
1141
|
+
if (!docSkeletonManagerService) return false;
|
|
1142
|
+
const wholeBodySelected = (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option2 = selectionInfo.options) === null || _selectionInfo$option2 === void 0 ? void 0 : _selectionInfo$option2.wholeDocument) === true || isWholeBodySelected(selections, rectRanges, originBody);
|
|
1143
|
+
const insertOffset = wholeBodySelected ? 0 : getDocRangeInsertOffset(selections, rectRanges);
|
|
1144
|
+
if (insertOffset == null) return false;
|
|
1145
|
+
selectionCutActions = getCutActionsFromDocRanges(selections, rectRanges, docDataModel, docSkeletonManagerService.getViewModel(), segmentId, wholeBodySelected);
|
|
1146
|
+
pasteSelections = [{
|
|
1147
|
+
startOffset: insertOffset,
|
|
1148
|
+
endOffset: insertOffset,
|
|
1149
|
+
collapsed: true,
|
|
1150
|
+
segmentId
|
|
1151
|
+
}];
|
|
1152
|
+
doMutation.params.textRanges = [{
|
|
1153
|
+
startOffset: insertOffset + body.dataStream.length,
|
|
1154
|
+
endOffset: insertOffset + body.dataStream.length,
|
|
1155
|
+
collapsed: true,
|
|
1156
|
+
segmentId,
|
|
1157
|
+
style: (_selections$find = selections.find((range) => range.isActive)) === null || _selections$find === void 0 ? void 0 : _selections$find.style
|
|
1158
|
+
}];
|
|
1159
|
+
}
|
|
1160
|
+
for (let i = 0; i < pasteSelections.length; i++) {
|
|
1161
|
+
const selection = pasteSelections[i];
|
|
1130
1162
|
const { startOffset, endOffset, collapsed } = selection;
|
|
1131
1163
|
const len = startOffset - memoryCursor.cursor;
|
|
1132
1164
|
const cloneBody = _univerjs_core.Tools.deepClone(body);
|
|
@@ -1218,7 +1250,7 @@ const InnerPasteCommand = {
|
|
|
1218
1250
|
len: body.dataStream.length
|
|
1219
1251
|
});
|
|
1220
1252
|
} else {
|
|
1221
|
-
const dos = _univerjs_core.BuildTextUtils.selection.delete([selection], body, memoryCursor.cursor, cloneBody,
|
|
1253
|
+
const dos = _univerjs_core.BuildTextUtils.selection.delete([selection], body, memoryCursor.cursor, cloneBody, pasteSelections.length === 1);
|
|
1222
1254
|
textX.push(...dos);
|
|
1223
1255
|
}
|
|
1224
1256
|
memoryCursor.reset();
|
|
@@ -1226,9 +1258,10 @@ const InnerPasteCommand = {
|
|
|
1226
1258
|
}
|
|
1227
1259
|
const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
|
|
1228
1260
|
rawActions.push(jsonX.editOp(textX.serialize(), path));
|
|
1229
|
-
|
|
1261
|
+
const pasteActions = rawActions.reduce((acc, cur) => {
|
|
1230
1262
|
return _univerjs_core.JSONX.compose(acc, cur);
|
|
1231
1263
|
}, null);
|
|
1264
|
+
doMutation.params.actions = selectionCutActions && selectionCutActions.length > 0 ? _univerjs_core.JSONX.compose(selectionCutActions, pasteActions) : pasteActions;
|
|
1232
1265
|
if (!executeResourceMutationGroups(resourceMutationGroups, commandService)) return false;
|
|
1233
1266
|
const historyId = `doc-paste-resource:${unitId}:${Date.now()}`;
|
|
1234
1267
|
let batchingDisposable = null;
|
|
@@ -1296,20 +1329,8 @@ function getCutActionsFromTextRanges(selections, docDataModel, segmentId) {
|
|
|
1296
1329
|
const rawActions = [];
|
|
1297
1330
|
if (originBody == null) return rawActions;
|
|
1298
1331
|
const { tables = [] } = originBody;
|
|
1299
|
-
const
|
|
1300
|
-
|
|
1301
|
-
for (let i = 0; i < selections.length; i++) {
|
|
1302
|
-
const selection = adjustSelectionByTable(selections[i], tables);
|
|
1303
|
-
const { startOffset, endOffset, collapsed } = selection;
|
|
1304
|
-
const len = startOffset - memoryCursor.cursor;
|
|
1305
|
-
if (collapsed) textX.push({
|
|
1306
|
-
t: _univerjs_core.TextXActionType.RETAIN,
|
|
1307
|
-
len
|
|
1308
|
-
});
|
|
1309
|
-
else textX.push(..._univerjs_core.BuildTextUtils.selection.delete([selection], originBody, memoryCursor.cursor, null, false));
|
|
1310
|
-
memoryCursor.reset();
|
|
1311
|
-
memoryCursor.moveCursor(endOffset);
|
|
1312
|
-
}
|
|
1332
|
+
const adjustedSelections = selections.map((selection) => adjustSelectionByTable(selection, tables));
|
|
1333
|
+
textX.push(..._univerjs_core.BuildTextUtils.selection.delete(adjustedSelections, originBody, 0, null, false));
|
|
1313
1334
|
const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
|
|
1314
1335
|
rawActions.push(jsonX.editOp(textX.serialize(), path));
|
|
1315
1336
|
const removedCustomBlockIds = (0, _univerjs_core.getCustomBlockIdsInSelections)(originBody, selections);
|
|
@@ -1333,10 +1354,94 @@ function getCutActionsFromTextRanges(selections, docDataModel, segmentId) {
|
|
|
1333
1354
|
return _univerjs_core.JSONX.compose(acc, cur);
|
|
1334
1355
|
}, null);
|
|
1335
1356
|
}
|
|
1336
|
-
|
|
1357
|
+
const IMPLICIT_WHOLE_BODY_SELECTION_TOKENS = /* @__PURE__ */ new Set([
|
|
1358
|
+
_univerjs_core.DataStreamTreeTokenType.PARAGRAPH,
|
|
1359
|
+
_univerjs_core.DataStreamTreeTokenType.SECTION_BREAK,
|
|
1360
|
+
_univerjs_core.DataStreamTreeTokenType.BLOCK_START,
|
|
1361
|
+
_univerjs_core.DataStreamTreeTokenType.BLOCK_END,
|
|
1362
|
+
_univerjs_core.DataStreamTreeTokenType.COLUMN_GROUP_START,
|
|
1363
|
+
_univerjs_core.DataStreamTreeTokenType.COLUMN_START,
|
|
1364
|
+
_univerjs_core.DataStreamTreeTokenType.COLUMN_END,
|
|
1365
|
+
_univerjs_core.DataStreamTreeTokenType.COLUMN_GROUP_END
|
|
1366
|
+
]);
|
|
1367
|
+
function isWholeBodySelected(textRanges, rectRanges, body) {
|
|
1368
|
+
const intervals = (Array.isArray(textRanges) ? textRanges : []).filter((range) => !range.collapsed).map(({ startOffset, endOffset }) => ({
|
|
1369
|
+
startOffset,
|
|
1370
|
+
endOffset
|
|
1371
|
+
}));
|
|
1372
|
+
for (const rectRange of Array.isArray(rectRanges) ? rectRanges : []) {
|
|
1373
|
+
if (!rectRange.spanEntireTable) continue;
|
|
1374
|
+
const table = (body.tables ?? []).find((item) => rectRange.tableId && item.tableId === rectRange.tableId || item.startIndex === rectRange.startOffset);
|
|
1375
|
+
if (table) intervals.push((0, _univerjs_core.getTableRangeInterval)(table));
|
|
1376
|
+
}
|
|
1377
|
+
intervals.sort((left, right) => left.startOffset - right.startOffset || left.endOffset - right.endOffset);
|
|
1378
|
+
const editableEnd = Math.max(0, body.dataStream.length - 2);
|
|
1379
|
+
let intervalIndex = 0;
|
|
1380
|
+
for (let offset = 0; offset < editableEnd; offset++) {
|
|
1381
|
+
var _intervals$intervalIn;
|
|
1382
|
+
while (((_intervals$intervalIn = intervals[intervalIndex]) === null || _intervals$intervalIn === void 0 ? void 0 : _intervals$intervalIn.endOffset) <= offset) intervalIndex++;
|
|
1383
|
+
const interval = intervals[intervalIndex];
|
|
1384
|
+
if (interval && interval.startOffset <= offset && offset < interval.endOffset) continue;
|
|
1385
|
+
if (!IMPLICIT_WHOLE_BODY_SELECTION_TOKENS.has(body.dataStream[offset])) return false;
|
|
1386
|
+
}
|
|
1387
|
+
return editableEnd > 0;
|
|
1388
|
+
}
|
|
1389
|
+
function getWholeBodyCutActions(selections, docDataModel, segmentId) {
|
|
1337
1390
|
var _docDataModel$getSelf3;
|
|
1391
|
+
const body = (_docDataModel$getSelf3 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf3 === void 0 ? void 0 : _docDataModel$getSelf3.getBody();
|
|
1392
|
+
if (!body) return [];
|
|
1393
|
+
const emptyBody = {
|
|
1394
|
+
dataStream: _univerjs_core.DataStreamTreeTokenType.PARAGRAPH,
|
|
1395
|
+
paragraphs: [{
|
|
1396
|
+
paragraphId: (0, _univerjs_core.createParagraphId)(new Set((body.paragraphs ?? []).map((paragraph) => paragraph.paragraphId))),
|
|
1397
|
+
startIndex: 0
|
|
1398
|
+
}]
|
|
1399
|
+
};
|
|
1400
|
+
const deleteLength = Math.max(0, body.dataStream.length - 1);
|
|
1401
|
+
const textX = new _univerjs_core.TextX();
|
|
1402
|
+
textX.push({
|
|
1403
|
+
t: _univerjs_core.TextXActionType.INSERT,
|
|
1404
|
+
len: emptyBody.dataStream.length,
|
|
1405
|
+
body: emptyBody
|
|
1406
|
+
});
|
|
1407
|
+
textX.push({
|
|
1408
|
+
t: _univerjs_core.TextXActionType.DELETE,
|
|
1409
|
+
len: deleteLength
|
|
1410
|
+
});
|
|
1411
|
+
const jsonX = _univerjs_core.JSONX.getInstance();
|
|
1412
|
+
const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
|
|
1413
|
+
const rawActions = [];
|
|
1414
|
+
const editAction = jsonX.editOp(textX.serialize(), path);
|
|
1415
|
+
if (editAction) rawActions.push(editAction);
|
|
1416
|
+
const drawings = docDataModel.getDrawings() ?? {};
|
|
1417
|
+
const drawingOrder = docDataModel.getDrawingsOrder() ?? [];
|
|
1418
|
+
const removedCustomBlockIds = (0, _univerjs_core.getCustomBlockIdsInSelections)(body, [{
|
|
1419
|
+
...selections[0] ?? { collapsed: false },
|
|
1420
|
+
startOffset: 0,
|
|
1421
|
+
endOffset: deleteLength,
|
|
1422
|
+
collapsed: false
|
|
1423
|
+
}]).sort((left, right) => drawingOrder.indexOf(right) - drawingOrder.indexOf(left));
|
|
1424
|
+
for (const blockId of removedCustomBlockIds) {
|
|
1425
|
+
const drawing = drawings[blockId];
|
|
1426
|
+
const drawingIndex = drawingOrder.indexOf(blockId);
|
|
1427
|
+
if (drawing == null || drawingIndex < 0) continue;
|
|
1428
|
+
const removeDrawingAction = jsonX.removeOp(["drawings", blockId], drawing);
|
|
1429
|
+
const removeDrawingOrderAction = jsonX.removeOp(["drawingsOrder", drawingIndex], blockId);
|
|
1430
|
+
if (removeDrawingAction) rawActions.push(removeDrawingAction);
|
|
1431
|
+
if (removeDrawingOrderAction) rawActions.push(removeDrawingOrderAction);
|
|
1432
|
+
}
|
|
1433
|
+
for (const table of body.tables ?? []) {
|
|
1434
|
+
const removeTableSourceAction = jsonX.removeOp(["tableSource", table.tableId]);
|
|
1435
|
+
if (removeTableSourceAction) rawActions.push(removeTableSourceAction);
|
|
1436
|
+
}
|
|
1437
|
+
let actions = null;
|
|
1438
|
+
for (const action of rawActions) actions = actions == null ? action : _univerjs_core.JSONX.compose(actions, action);
|
|
1439
|
+
return actions ?? [];
|
|
1440
|
+
}
|
|
1441
|
+
function getCutActionsFromRectRanges(ranges, docDataModel, viewModel, segmentId) {
|
|
1442
|
+
var _docDataModel$getSelf4;
|
|
1338
1443
|
const rawActions = [];
|
|
1339
|
-
if (((_docDataModel$
|
|
1444
|
+
if (((_docDataModel$getSelf4 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf4 === void 0 ? void 0 : _docDataModel$getSelf4.getBody()) == null) return rawActions;
|
|
1340
1445
|
const textX = new _univerjs_core.TextX();
|
|
1341
1446
|
const jsonX = _univerjs_core.JSONX.getInstance();
|
|
1342
1447
|
const memoryCursor = new _univerjs_core.MemoryCursor();
|
|
@@ -1417,8 +1522,11 @@ function getCutActionsFromRectRanges(ranges, docDataModel, viewModel, segmentId)
|
|
|
1417
1522
|
return _univerjs_core.JSONX.compose(acc, cur);
|
|
1418
1523
|
}, null);
|
|
1419
1524
|
}
|
|
1420
|
-
function getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewModel, segmentId) {
|
|
1525
|
+
function getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewModel, segmentId, wholeBodySelected = false) {
|
|
1526
|
+
var _docDataModel$getSelf5;
|
|
1421
1527
|
let rawActions = [];
|
|
1528
|
+
const body = (_docDataModel$getSelf5 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf5 === void 0 ? void 0 : _docDataModel$getSelf5.getBody();
|
|
1529
|
+
if (body && Array.isArray(textRanges) && Array.isArray(rectRanges) && (wholeBodySelected || isWholeBodySelected(textRanges, rectRanges, body))) return getWholeBodyCutActions(textRanges, docDataModel, segmentId);
|
|
1422
1530
|
if (Array.isArray(textRanges) && (textRanges === null || textRanges === void 0 ? void 0 : textRanges.length) !== 0) rawActions = getCutActionsFromTextRanges(textRanges, docDataModel, segmentId);
|
|
1423
1531
|
if (Array.isArray(rectRanges) && (rectRanges === null || rectRanges === void 0 ? void 0 : rectRanges.length) !== 0) {
|
|
1424
1532
|
const actions = getCutActionsFromRectRanges(rectRanges, docDataModel, viewModel, segmentId);
|
|
@@ -1427,14 +1535,42 @@ function getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewMo
|
|
|
1427
1535
|
}
|
|
1428
1536
|
return rawActions;
|
|
1429
1537
|
}
|
|
1538
|
+
function getReplaceDocRangesActions(textRanges, rectRanges, docDataModel, viewModel, segmentId, insertBody, wholeBodySelected = false) {
|
|
1539
|
+
var _docDataModel$getSelf6;
|
|
1540
|
+
const body = (_docDataModel$getSelf6 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf6 === void 0 ? void 0 : _docDataModel$getSelf6.getBody();
|
|
1541
|
+
const insertOffset = wholeBodySelected || body && isWholeBodySelected(textRanges, rectRanges, body) ? 0 : getDocRangeInsertOffset(textRanges, rectRanges);
|
|
1542
|
+
if (insertOffset == null) return null;
|
|
1543
|
+
const cutActions = getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewModel, segmentId, wholeBodySelected);
|
|
1544
|
+
const textX = new _univerjs_core.TextX();
|
|
1545
|
+
if (insertOffset > 0) textX.push({
|
|
1546
|
+
t: _univerjs_core.TextXActionType.RETAIN,
|
|
1547
|
+
len: insertOffset
|
|
1548
|
+
});
|
|
1549
|
+
if (insertBody.dataStream.length > 0) textX.push({
|
|
1550
|
+
t: _univerjs_core.TextXActionType.INSERT,
|
|
1551
|
+
body: insertBody,
|
|
1552
|
+
len: insertBody.dataStream.length
|
|
1553
|
+
});
|
|
1554
|
+
const insertAction = _univerjs_core.JSONX.getInstance().editOp(textX.serialize(), (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId));
|
|
1555
|
+
return {
|
|
1556
|
+
actions: insertAction == null ? cutActions : cutActions == null || cutActions.length === 0 ? insertAction : _univerjs_core.JSONX.compose(cutActions, insertAction),
|
|
1557
|
+
insertOffset
|
|
1558
|
+
};
|
|
1559
|
+
}
|
|
1560
|
+
function getDocRangeInsertOffset(textRanges, rectRanges) {
|
|
1561
|
+
const insertOffset = [...Array.isArray(textRanges) ? textRanges : [], ...Array.isArray(rectRanges) ? rectRanges : []].filter((range) => range.startOffset != null && range.endOffset != null).reduce((offset, range) => Math.min(offset, range.startOffset), Number.POSITIVE_INFINITY);
|
|
1562
|
+
return Number.isFinite(insertOffset) ? insertOffset : null;
|
|
1563
|
+
}
|
|
1430
1564
|
const CutContentCommand = {
|
|
1431
1565
|
id: "doc.command.inner-cut",
|
|
1432
1566
|
type: _univerjs_core.CommandType.COMMAND,
|
|
1433
1567
|
handler: (accessor, params) => {
|
|
1568
|
+
var _selectionInfo$option3;
|
|
1434
1569
|
const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
|
|
1435
1570
|
const commandService = accessor.get(_univerjs_core.ICommandService);
|
|
1436
1571
|
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
1437
|
-
const
|
|
1572
|
+
const selectionInfo = docSelectionManagerService.getSelectionInfo();
|
|
1573
|
+
const { segmentId, textRanges, selections = docSelectionManagerService.getTextRanges(), rectRanges = docSelectionManagerService.getRectRanges(), wholeBodySelected = (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option3 = selectionInfo.options) === null || _selectionInfo$option3 === void 0 ? void 0 : _selectionInfo$option3.wholeDocument) === true } = params;
|
|
1438
1574
|
if ((!Array.isArray(selections) || selections.length === 0) && (!Array.isArray(rectRanges) || rectRanges.length === 0)) return false;
|
|
1439
1575
|
const docDataModel = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
1440
1576
|
if (docDataModel == null) return false;
|
|
@@ -1447,10 +1583,11 @@ const CutContentCommand = {
|
|
|
1447
1583
|
params: {
|
|
1448
1584
|
unitId,
|
|
1449
1585
|
actions: [],
|
|
1450
|
-
textRanges
|
|
1586
|
+
textRanges,
|
|
1587
|
+
trigger: CutContentCommand.id
|
|
1451
1588
|
}
|
|
1452
1589
|
};
|
|
1453
|
-
doMutation.params.actions = getCutActionsFromDocRanges(selections, rectRanges, docDataModel, viewModel, segmentId);
|
|
1590
|
+
doMutation.params.actions = getCutActionsFromDocRanges(selections, rectRanges, docDataModel, viewModel, segmentId, wholeBodySelected);
|
|
1454
1591
|
const result = commandService.syncExecuteCommand(doMutation.id, doMutation.params);
|
|
1455
1592
|
return Boolean(result);
|
|
1456
1593
|
}
|
|
@@ -3398,8 +3535,7 @@ function processNode(node, doc, result) {
|
|
|
3398
3535
|
return childResult.html;
|
|
3399
3536
|
}).join("");
|
|
3400
3537
|
if (childHtml) {
|
|
3401
|
-
|
|
3402
|
-
else closeListStack(result);
|
|
3538
|
+
closeListStack(result);
|
|
3403
3539
|
result.html += childHtml;
|
|
3404
3540
|
break;
|
|
3405
3541
|
}
|
|
@@ -3817,10 +3953,12 @@ let DocClipboardService = class DocClipboardService extends _univerjs_core.Dispo
|
|
|
3817
3953
|
var _copy$paragraphStyle;
|
|
3818
3954
|
if ((_copy$paragraphStyle = copy.paragraphStyle) === null || _copy$paragraphStyle === void 0 ? void 0 : _copy$paragraphStyle.headingId) copy.paragraphStyle.headingId = (0, _univerjs_core.generateRandomId)(6);
|
|
3819
3955
|
});
|
|
3820
|
-
const
|
|
3821
|
-
const
|
|
3956
|
+
const activeRange = this._docSelectionManagerService.getActiveTextRange();
|
|
3957
|
+
const docRanges = this._docSelectionManagerService.getDocRanges();
|
|
3958
|
+
const { segmentId, endOffset: activeEndOffset, style } = (activeRange ?? docRanges.find((range) => range.isActive) ?? docRanges[0]) || {};
|
|
3959
|
+
const ranges = this._docSelectionManagerService.getTextRanges() ?? [];
|
|
3822
3960
|
if (segmentId == null) this._logService.error("[DocClipboardController] segmentId does not exist!");
|
|
3823
|
-
if (activeEndOffset == null
|
|
3961
|
+
if (activeEndOffset == null) return false;
|
|
3824
3962
|
const originBody = segmentId == null ? null : (_currentDocument$getS = currentDocument.getSelfOrHeaderFooterModel(segmentId)) === null || _currentDocument$getS === void 0 ? void 0 : _currentDocument$getS.getBody();
|
|
3825
3963
|
if (originBody) ensureParagraphAtStructuralGap(body, originBody, ranges);
|
|
3826
3964
|
try {
|
|
@@ -4525,27 +4663,37 @@ const InsertHorizontalLineBellowCommand = {
|
|
|
4525
4663
|
const DocSelectAllCommand = {
|
|
4526
4664
|
id: "doc.command.select-all",
|
|
4527
4665
|
type: _univerjs_core.CommandType.COMMAND,
|
|
4528
|
-
handler: async (accessor) => {
|
|
4666
|
+
handler: async (accessor, params) => {
|
|
4529
4667
|
var _docDataModel$getSelf;
|
|
4530
4668
|
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
4531
4669
|
const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
|
|
4532
4670
|
const docDataModel = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
4533
4671
|
const docRanges = docSelectionManagerService.getDocRanges();
|
|
4534
4672
|
const activeRange = docRanges.find((range) => range.isActive) ?? docRanges[0];
|
|
4535
|
-
if (docDataModel == null
|
|
4536
|
-
const
|
|
4673
|
+
if (docDataModel == null) return false;
|
|
4674
|
+
const segmentId = (params === null || params === void 0 ? void 0 : params.segmentId) ?? (activeRange === null || activeRange === void 0 ? void 0 : activeRange.segmentId);
|
|
4675
|
+
if (segmentId == null) return false;
|
|
4537
4676
|
const unitId = docDataModel.getUnitId();
|
|
4538
4677
|
const body = (_docDataModel$getSelf = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf === void 0 ? void 0 : _docDataModel$getSelf.getBody();
|
|
4539
4678
|
if (body == null) return false;
|
|
4540
4679
|
const { dataStream } = body;
|
|
4541
4680
|
if (dataStream === "\r\n") return true;
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4681
|
+
let textRanges;
|
|
4682
|
+
let wholeDocument;
|
|
4683
|
+
if (params === null || params === void 0 ? void 0 : params.wholeDocument) {
|
|
4684
|
+
textRanges = getWholeDocumentRanges(body);
|
|
4685
|
+
wholeDocument = true;
|
|
4686
|
+
} else {
|
|
4687
|
+
if (activeRange == null) return false;
|
|
4688
|
+
const scopes = getSelectAllScopes(body, activeRange);
|
|
4689
|
+
const currentScopeIndex = scopes.findIndex((scope) => isSameRanges(docRanges, scope));
|
|
4690
|
+
textRanges = scopes[Math.min(currentScopeIndex + 1, scopes.length - 1)];
|
|
4691
|
+
wholeDocument = textRanges === scopes[scopes.length - 1];
|
|
4692
|
+
}
|
|
4545
4693
|
docSelectionManagerService.replaceDocRanges(textRanges, {
|
|
4546
4694
|
unitId,
|
|
4547
4695
|
subUnitId: unitId
|
|
4548
|
-
}, false);
|
|
4696
|
+
}, false, { wholeDocument });
|
|
4549
4697
|
return true;
|
|
4550
4698
|
}
|
|
4551
4699
|
};
|
|
@@ -4717,6 +4865,9 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
|
|
|
4717
4865
|
super();
|
|
4718
4866
|
this._context = _context;
|
|
4719
4867
|
_defineProperty(this, "_previousActiveRange", null);
|
|
4868
|
+
_defineProperty(this, "_previousDocRanges", []);
|
|
4869
|
+
_defineProperty(this, "_compositionRange", null);
|
|
4870
|
+
_defineProperty(this, "_previousSelectionOptions", null);
|
|
4720
4871
|
_defineProperty(this, "_undoMutationParamsCache", []);
|
|
4721
4872
|
_defineProperty(this, "_redoMutationParamsCache", []);
|
|
4722
4873
|
}
|
|
@@ -4739,6 +4890,25 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
|
|
|
4739
4890
|
}
|
|
4740
4891
|
setActiveRange(range) {
|
|
4741
4892
|
this._previousActiveRange = range;
|
|
4893
|
+
this._compositionRange = range;
|
|
4894
|
+
}
|
|
4895
|
+
getCompositionRange() {
|
|
4896
|
+
return this._compositionRange;
|
|
4897
|
+
}
|
|
4898
|
+
setCompositionRange(range) {
|
|
4899
|
+
this._compositionRange = range;
|
|
4900
|
+
}
|
|
4901
|
+
getPreviousDocRanges() {
|
|
4902
|
+
return this._previousDocRanges;
|
|
4903
|
+
}
|
|
4904
|
+
setPreviousDocRanges(ranges) {
|
|
4905
|
+
this._previousDocRanges = ranges;
|
|
4906
|
+
}
|
|
4907
|
+
getPreviousSelectionOptions() {
|
|
4908
|
+
return this._previousSelectionOptions;
|
|
4909
|
+
}
|
|
4910
|
+
setPreviousSelectionOptions(options) {
|
|
4911
|
+
this._previousSelectionOptions = options;
|
|
4742
4912
|
}
|
|
4743
4913
|
pushUndoRedoMutationParams(undoParams, redoParams) {
|
|
4744
4914
|
this._undoMutationParamsCache.push(undoParams);
|
|
@@ -4747,12 +4917,15 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
|
|
|
4747
4917
|
fetchComposedUndoRedoMutationParams() {
|
|
4748
4918
|
if (this._undoMutationParamsCache.length === 0 || this._previousActiveRange == null || this._redoMutationParamsCache.length === 0) return null;
|
|
4749
4919
|
const { unitId } = this._undoMutationParamsCache[0];
|
|
4920
|
+
const firstUndoParams = this._undoMutationParamsCache[0];
|
|
4921
|
+
const lastRedoParams = this._redoMutationParamsCache.at(-1);
|
|
4750
4922
|
const undoMutationParams = {
|
|
4751
4923
|
unitId,
|
|
4752
4924
|
actions: this._undoMutationParamsCache.reverse().reduce((acc, cur) => {
|
|
4753
4925
|
return _univerjs_core.JSONX.compose(acc, cur.actions);
|
|
4754
4926
|
}, null),
|
|
4755
|
-
textRanges: []
|
|
4927
|
+
textRanges: [],
|
|
4928
|
+
segmentId: firstUndoParams.segmentId
|
|
4756
4929
|
};
|
|
4757
4930
|
return {
|
|
4758
4931
|
redoMutationParams: {
|
|
@@ -4760,16 +4933,24 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
|
|
|
4760
4933
|
actions: this._redoMutationParamsCache.reduce((acc, cur) => {
|
|
4761
4934
|
return _univerjs_core.JSONX.compose(acc, cur.actions);
|
|
4762
4935
|
}, null),
|
|
4763
|
-
textRanges: []
|
|
4936
|
+
textRanges: (lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.textRanges) ?? [],
|
|
4937
|
+
segmentId: lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.segmentId,
|
|
4938
|
+
options: lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.options,
|
|
4939
|
+
isEditing: lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.isEditing
|
|
4764
4940
|
},
|
|
4765
4941
|
undoMutationParams,
|
|
4766
|
-
previousActiveRange: this._previousActiveRange
|
|
4942
|
+
previousActiveRange: this._previousActiveRange,
|
|
4943
|
+
previousDocRanges: this._previousDocRanges,
|
|
4944
|
+
previousSelectionOptions: this._previousSelectionOptions
|
|
4767
4945
|
};
|
|
4768
4946
|
}
|
|
4769
4947
|
dispose() {
|
|
4770
4948
|
this._undoMutationParamsCache = [];
|
|
4771
4949
|
this._redoMutationParamsCache = [];
|
|
4772
4950
|
this._previousActiveRange = null;
|
|
4951
|
+
this._previousDocRanges = [];
|
|
4952
|
+
this._compositionRange = null;
|
|
4953
|
+
this._previousSelectionOptions = null;
|
|
4773
4954
|
}
|
|
4774
4955
|
};
|
|
4775
4956
|
|
|
@@ -4779,7 +4960,7 @@ const IMEInputCommand = {
|
|
|
4779
4960
|
id: "doc.command.ime-input",
|
|
4780
4961
|
type: _univerjs_core.CommandType.COMMAND,
|
|
4781
4962
|
handler: async (accessor, params) => {
|
|
4782
|
-
var _renderManagerService, _docDataModel$getSelf;
|
|
4963
|
+
var _renderManagerService, _docDataModel$getSelf, _imeInputManagerServi;
|
|
4783
4964
|
const { unitId, newText, oldTextLen, isCompositionEnd, isCompositionStart } = params;
|
|
4784
4965
|
const commandService = accessor.get(_univerjs_core.ICommandService);
|
|
4785
4966
|
const renderManagerService = accessor.get(_univerjs_engine_render.IRenderManagerService);
|
|
@@ -4788,82 +4969,121 @@ const IMEInputCommand = {
|
|
|
4788
4969
|
const imeInputManagerService = (_renderManagerService = renderManagerService.getRenderUnitById(unitId)) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.with(DocIMEInputManagerService);
|
|
4789
4970
|
const docDataModel = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
4790
4971
|
if (docDataModel == null || imeInputManagerService == null) return false;
|
|
4791
|
-
const previousActiveRange = imeInputManagerService.
|
|
4972
|
+
const previousActiveRange = imeInputManagerService.getCompositionRange();
|
|
4792
4973
|
if (previousActiveRange == null) return false;
|
|
4793
4974
|
const { style, segmentId } = previousActiveRange;
|
|
4794
4975
|
const body = (_docDataModel$getSelf = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf === void 0 ? void 0 : _docDataModel$getSelf.getBody();
|
|
4795
4976
|
if (body == null) return false;
|
|
4796
4977
|
Object.assign(previousActiveRange, previousActiveRange);
|
|
4797
4978
|
const { startOffset, endOffset } = previousActiveRange;
|
|
4979
|
+
const previousDocRanges = imeInputManagerService.getPreviousDocRanges();
|
|
4980
|
+
const previousRectRanges = previousDocRanges.filter(isRectRange);
|
|
4981
|
+
const previousTextRanges = previousDocRanges.filter((range) => !isRectRange(range));
|
|
4982
|
+
const wholeBodySelected = ((_imeInputManagerServi = imeInputManagerService.getPreviousSelectionOptions()) === null || _imeInputManagerServi === void 0 ? void 0 : _imeInputManagerServi.wholeDocument) === true;
|
|
4983
|
+
const replacesComplexSelection = isCompositionStart && (wholeBodySelected || previousRectRanges.length > 0 || previousTextRanges.length > 1);
|
|
4984
|
+
let replacementOffset = replacesComplexSelection ? wholeBodySelected ? 0 : getDocRangeInsertOffset(previousTextRanges, previousRectRanges) : startOffset;
|
|
4985
|
+
if (replacementOffset == null) return false;
|
|
4798
4986
|
const len = newText.length;
|
|
4799
4987
|
const textRanges = [{
|
|
4800
|
-
startOffset:
|
|
4801
|
-
endOffset:
|
|
4988
|
+
startOffset: replacementOffset + len,
|
|
4989
|
+
endOffset: replacementOffset + len,
|
|
4802
4990
|
collapsed: true,
|
|
4803
|
-
style
|
|
4991
|
+
style,
|
|
4992
|
+
segmentId
|
|
4804
4993
|
}];
|
|
4805
4994
|
const doMutation = {
|
|
4806
4995
|
id: _univerjs_docs.RichTextEditingMutation.id,
|
|
4807
4996
|
params: {
|
|
4808
4997
|
unitId,
|
|
4809
4998
|
actions: [],
|
|
4810
|
-
textRanges
|
|
4999
|
+
textRanges,
|
|
5000
|
+
segmentId,
|
|
5001
|
+
trigger: IMEInputCommand.id
|
|
4811
5002
|
}
|
|
4812
5003
|
};
|
|
4813
5004
|
const defaultTextStyle = docMenuStyleService.getDefaultStyle();
|
|
4814
5005
|
const styleCache = docMenuStyleService.getStyleCache();
|
|
4815
|
-
const
|
|
4816
|
-
const
|
|
4817
|
-
const
|
|
5006
|
+
const styleOffset = replacesComplexSelection ? replacementOffset : startOffset + oldTextLen;
|
|
5007
|
+
const curCustomRange = getCustomRangeAtPosition(body.customRanges ?? [], styleOffset, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
|
|
5008
|
+
const curTextRun = getTextRunAtPosition(body, replacesComplexSelection ? replacementOffset : isCompositionStart ? endOffset : startOffset + oldTextLen, defaultTextStyle, styleCache, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
|
|
5009
|
+
const customDecorations = getCustomDecorationAtPosition(body.customDecorations ?? [], styleOffset);
|
|
5010
|
+
const insertBody = {
|
|
5011
|
+
dataStream: newText,
|
|
5012
|
+
textRuns: curTextRun ? [{
|
|
5013
|
+
...curTextRun,
|
|
5014
|
+
st: 0,
|
|
5015
|
+
ed: newText.length
|
|
5016
|
+
}] : [],
|
|
5017
|
+
customRanges: curCustomRange ? [{
|
|
5018
|
+
...curCustomRange,
|
|
5019
|
+
startIndex: 0,
|
|
5020
|
+
endIndex: newText.length - 1
|
|
5021
|
+
}] : [],
|
|
5022
|
+
customDecorations: customDecorations.map((customDecoration) => ({
|
|
5023
|
+
...customDecoration,
|
|
5024
|
+
startIndex: 0,
|
|
5025
|
+
endIndex: newText.length - 1
|
|
5026
|
+
}))
|
|
5027
|
+
};
|
|
4818
5028
|
const textX = new _univerjs_core.TextX();
|
|
4819
5029
|
const jsonX = _univerjs_core.JSONX.getInstance();
|
|
4820
|
-
if (
|
|
5030
|
+
if (replacesComplexSelection) {
|
|
5031
|
+
var _renderManagerService2;
|
|
5032
|
+
const docSkeletonManagerService = (_renderManagerService2 = renderManagerService.getRenderUnitById(unitId)) === null || _renderManagerService2 === void 0 ? void 0 : _renderManagerService2.with(_univerjs_docs.DocSkeletonManagerService);
|
|
5033
|
+
if (!docSkeletonManagerService) return false;
|
|
5034
|
+
const replacement = getReplaceDocRangesActions(previousTextRanges, previousRectRanges, docDataModel, docSkeletonManagerService.getViewModel(), segmentId ?? "", insertBody, wholeBodySelected);
|
|
5035
|
+
if (!replacement) return false;
|
|
5036
|
+
replacementOffset = replacement.insertOffset;
|
|
5037
|
+
doMutation.params.actions = replacement.actions;
|
|
5038
|
+
doMutation.params.textRanges = [{
|
|
5039
|
+
startOffset: replacementOffset + len,
|
|
5040
|
+
endOffset: replacementOffset + len,
|
|
5041
|
+
collapsed: true,
|
|
5042
|
+
style,
|
|
5043
|
+
segmentId
|
|
5044
|
+
}];
|
|
5045
|
+
} else if (!previousActiveRange.collapsed && isCompositionStart) {
|
|
4821
5046
|
const dos = _univerjs_core.BuildTextUtils.selection.delete([previousActiveRange], body, 0, null, false);
|
|
4822
5047
|
textX.push(...dos);
|
|
4823
5048
|
doMutation.params.textRanges = [{
|
|
4824
|
-
startOffset:
|
|
4825
|
-
endOffset:
|
|
4826
|
-
collapsed: true
|
|
5049
|
+
startOffset: replacementOffset + len,
|
|
5050
|
+
endOffset: replacementOffset + len,
|
|
5051
|
+
collapsed: true,
|
|
5052
|
+
segmentId
|
|
4827
5053
|
}];
|
|
4828
5054
|
} else textX.push({
|
|
4829
5055
|
t: _univerjs_core.TextXActionType.RETAIN,
|
|
4830
5056
|
len: startOffset
|
|
4831
5057
|
});
|
|
4832
|
-
if (oldTextLen > 0) textX.push({
|
|
5058
|
+
if (!replacesComplexSelection && oldTextLen > 0) textX.push({
|
|
4833
5059
|
t: _univerjs_core.TextXActionType.DELETE,
|
|
4834
5060
|
len: oldTextLen
|
|
4835
5061
|
});
|
|
4836
|
-
textX.push({
|
|
5062
|
+
if (!replacesComplexSelection) textX.push({
|
|
4837
5063
|
t: _univerjs_core.TextXActionType.INSERT,
|
|
4838
|
-
body:
|
|
4839
|
-
dataStream: newText,
|
|
4840
|
-
textRuns: curTextRun ? [{
|
|
4841
|
-
...curTextRun,
|
|
4842
|
-
st: 0,
|
|
4843
|
-
ed: newText.length
|
|
4844
|
-
}] : [],
|
|
4845
|
-
customRanges: curCustomRange ? [{
|
|
4846
|
-
...curCustomRange,
|
|
4847
|
-
startIndex: 0,
|
|
4848
|
-
endIndex: newText.length - 1
|
|
4849
|
-
}] : [],
|
|
4850
|
-
customDecorations: customDecorations.map((customDecoration) => ({
|
|
4851
|
-
...customDecoration,
|
|
4852
|
-
startIndex: 0,
|
|
4853
|
-
endIndex: newText.length - 1
|
|
4854
|
-
}))
|
|
4855
|
-
},
|
|
5064
|
+
body: insertBody,
|
|
4856
5065
|
len: newText.length
|
|
4857
5066
|
});
|
|
4858
|
-
|
|
4859
|
-
|
|
5067
|
+
if (!replacesComplexSelection) {
|
|
5068
|
+
const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
|
|
5069
|
+
doMutation.params.actions = jsonX.editOp(textX.serialize(), path);
|
|
5070
|
+
}
|
|
4860
5071
|
doMutation.params.noHistory = !isCompositionEnd;
|
|
4861
5072
|
doMutation.params.isCompositionEnd = isCompositionEnd;
|
|
4862
5073
|
const result = commandService.syncExecuteCommand(doMutation.id, doMutation.params);
|
|
4863
5074
|
imeInputManagerService.pushUndoRedoMutationParams(result, doMutation.params);
|
|
5075
|
+
if (replacesComplexSelection) imeInputManagerService.setCompositionRange({
|
|
5076
|
+
...previousActiveRange,
|
|
5077
|
+
startOffset: replacementOffset,
|
|
5078
|
+
endOffset: replacementOffset,
|
|
5079
|
+
collapsed: true
|
|
5080
|
+
});
|
|
4864
5081
|
return Boolean(result);
|
|
4865
5082
|
}
|
|
4866
5083
|
};
|
|
5084
|
+
function isRectRange(range) {
|
|
5085
|
+
return "tableId" in range;
|
|
5086
|
+
}
|
|
4867
5087
|
|
|
4868
5088
|
//#endregion
|
|
4869
5089
|
//#region src/commands/commands/inline-format.command.ts
|
|
@@ -5336,28 +5556,46 @@ const ReplaceSelectionCommand = {
|
|
|
5336
5556
|
id: "doc.command.replace-selection",
|
|
5337
5557
|
type: _univerjs_core.CommandType.COMMAND,
|
|
5338
5558
|
handler(accessor, params) {
|
|
5559
|
+
var _docSelectionManagerS, _docDataModel$getSelf2, _body$blockRanges, _body$columnGroups, _body$customBlocks, _body$tables, _selectionInfo$option, _selectionInfo$option2, _docSelectionManagerS2;
|
|
5339
5560
|
if (!params) return false;
|
|
5340
5561
|
const commandService = accessor.get(_univerjs_core.ICommandService);
|
|
5341
|
-
const { unitId, body: insertBody, textRanges } = params;
|
|
5562
|
+
const { unitId, body: insertBody, textRanges, segmentId } = params;
|
|
5342
5563
|
const docDataModel = accessor.get(_univerjs_core.IUniverInstanceService).getUnit(unitId);
|
|
5343
5564
|
const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
|
|
5344
5565
|
if (!docDataModel) return false;
|
|
5345
|
-
const body = docDataModel.getBody();
|
|
5346
5566
|
const selection = params.selection ?? docSelectionManagerService.getActiveTextRange();
|
|
5567
|
+
const targetSegmentId = segmentId ?? ((_docSelectionManagerS = docSelectionManagerService.getActiveTextRange()) === null || _docSelectionManagerS === void 0 ? void 0 : _docSelectionManagerS.segmentId) ?? "";
|
|
5568
|
+
const body = (_docDataModel$getSelf2 = docDataModel.getSelfOrHeaderFooterModel(targetSegmentId)) === null || _docDataModel$getSelf2 === void 0 ? void 0 : _docDataModel$getSelf2.getBody();
|
|
5347
5569
|
if (!selection || !body) return false;
|
|
5570
|
+
const selectionInfo = docSelectionManagerService.getSelectionInfo();
|
|
5571
|
+
const selectedTextRanges = params.selection ? [params.selection] : docSelectionManagerService.getTextRanges() ?? [];
|
|
5572
|
+
const selectedRectRanges = params.selection ? [] : docSelectionManagerService.getRectRanges() ?? [];
|
|
5573
|
+
const docSkeletonManagerService = !selection.collapsed && (Boolean((_body$blockRanges = body.blockRanges) === null || _body$blockRanges === void 0 ? void 0 : _body$blockRanges.length) || Boolean((_body$columnGroups = body.columnGroups) === null || _body$columnGroups === void 0 ? void 0 : _body$columnGroups.length) || Boolean((_body$customBlocks = body.customBlocks) === null || _body$customBlocks === void 0 ? void 0 : _body$customBlocks.length) || Boolean((_body$tables = body.tables) === null || _body$tables === void 0 ? void 0 : _body$tables.length)) || selectedRectRanges.length > 0 || selectedTextRanges.length > 1 || (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option = selectionInfo.options) === null || _selectionInfo$option === void 0 ? void 0 : _selectionInfo$option.wholeDocument) === true ? getCommandSkeleton(accessor, unitId) : null;
|
|
5574
|
+
const replacement = docSkeletonManagerService ? getReplaceDocRangesActions(selectedTextRanges, selectedRectRanges, docDataModel, docSkeletonManagerService.getViewModel(), targetSegmentId, insertBody, (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option2 = selectionInfo.options) === null || _selectionInfo$option2 === void 0 ? void 0 : _selectionInfo$option2.wholeDocument) === true) : null;
|
|
5575
|
+
const insertOffset = (replacement === null || replacement === void 0 ? void 0 : replacement.insertOffset) ?? selection.startOffset;
|
|
5348
5576
|
const doMutation = {
|
|
5349
5577
|
id: _univerjs_docs.RichTextEditingMutation.id,
|
|
5350
5578
|
params: {
|
|
5351
5579
|
unitId,
|
|
5352
5580
|
actions: [],
|
|
5353
|
-
textRanges
|
|
5354
|
-
|
|
5581
|
+
textRanges: textRanges ?? [{
|
|
5582
|
+
startOffset: insertOffset + insertBody.dataStream.length,
|
|
5583
|
+
endOffset: insertOffset + insertBody.dataStream.length,
|
|
5584
|
+
collapsed: true,
|
|
5585
|
+
style: (_docSelectionManagerS2 = docSelectionManagerService.getActiveTextRange()) === null || _docSelectionManagerS2 === void 0 ? void 0 : _docSelectionManagerS2.style,
|
|
5586
|
+
segmentId: targetSegmentId
|
|
5587
|
+
}],
|
|
5588
|
+
segmentId: targetSegmentId,
|
|
5589
|
+
debounce: true,
|
|
5590
|
+
trigger: ReplaceSelectionCommand.id
|
|
5355
5591
|
}
|
|
5356
5592
|
};
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5593
|
+
if (replacement) doMutation.params.actions = replacement.actions;
|
|
5594
|
+
else {
|
|
5595
|
+
const textX = new _univerjs_core.TextX();
|
|
5596
|
+
textX.push(..._univerjs_core.BuildTextUtils.selection.delete([selection], body, 0, insertBody));
|
|
5597
|
+
doMutation.params.actions = _univerjs_core.JSONX.getInstance().editOp(textX.serialize(), (0, _univerjs_core.getRichTextEditPath)(docDataModel, targetSegmentId));
|
|
5598
|
+
}
|
|
5361
5599
|
return commandService.syncExecuteCommand(doMutation.id, doMutation.params);
|
|
5362
5600
|
}
|
|
5363
5601
|
};
|
|
@@ -5365,13 +5603,13 @@ const ReplaceTextRunsCommand = {
|
|
|
5365
5603
|
id: "doc.command.replace-text-runs",
|
|
5366
5604
|
type: _univerjs_core.CommandType.COMMAND,
|
|
5367
5605
|
handler: (accessor, params) => {
|
|
5368
|
-
var _docDataModel$
|
|
5606
|
+
var _docDataModel$getSelf3;
|
|
5369
5607
|
const { unitId, body, textRanges, segmentId = "", options } = params;
|
|
5370
5608
|
const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
|
|
5371
5609
|
const commandService = accessor.get(_univerjs_core.ICommandService);
|
|
5372
5610
|
const themeService = accessor.get(_univerjs_core.ThemeService);
|
|
5373
5611
|
const docDataModel = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
5374
|
-
const prevBody = docDataModel === null || docDataModel === void 0 || (_docDataModel$
|
|
5612
|
+
const prevBody = docDataModel === null || docDataModel === void 0 || (_docDataModel$getSelf3 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf3 === void 0 ? void 0 : _docDataModel$getSelf3.getBody();
|
|
5375
5613
|
if (docDataModel == null || prevBody == null) return false;
|
|
5376
5614
|
const textX = _univerjs_core.BuildTextUtils.selection.replaceTextRuns({
|
|
5377
5615
|
doc: docDataModel,
|
|
@@ -5714,10 +5952,7 @@ const QuickListCommand = {
|
|
|
5714
5952
|
indentFirstLine: void 0
|
|
5715
5953
|
},
|
|
5716
5954
|
bullet: {
|
|
5717
|
-
...paragraph.bullet ?? {
|
|
5718
|
-
nestingLevel: 0,
|
|
5719
|
-
textStyle: { fs: 20 }
|
|
5720
|
-
},
|
|
5955
|
+
...paragraph.bullet ?? { nestingLevel: 0 },
|
|
5721
5956
|
listType,
|
|
5722
5957
|
listId
|
|
5723
5958
|
}
|
|
@@ -7157,6 +7392,7 @@ const TEXT_RANGE_KEY_PREFIX = "__TestSelectionRange__";
|
|
|
7157
7392
|
const TEXT_ANCHOR_KEY_PREFIX = "__TestSelectionAnchor__";
|
|
7158
7393
|
const ID_LENGTH$1 = 6;
|
|
7159
7394
|
const BLINK_ON = 500;
|
|
7395
|
+
const DEFAULT_CARET_COLOR = "gray.1000";
|
|
7160
7396
|
const TEXT_RANGE_LAYER_INDEX = 3;
|
|
7161
7397
|
function cursorConvertToTextRange(scene, range, docSkeleton, document) {
|
|
7162
7398
|
const { startOffset, endOffset, style = _univerjs_engine_render.NORMAL_TEXT_SELECTION_PLUGIN_STYLE, segmentId = "", segmentPage } = range;
|
|
@@ -7213,6 +7449,7 @@ var TextRange = class {
|
|
|
7213
7449
|
_defineProperty(this, "_anchorShape", void 0);
|
|
7214
7450
|
_defineProperty(this, "_cursorList", []);
|
|
7215
7451
|
_defineProperty(this, "_anchorBlinkTimer", null);
|
|
7452
|
+
_defineProperty(this, "_anchorActiveStroke", DEFAULT_CARET_COLOR);
|
|
7216
7453
|
this._anchorBlink();
|
|
7217
7454
|
this.refresh();
|
|
7218
7455
|
}
|
|
@@ -7308,27 +7545,36 @@ var TextRange = class {
|
|
|
7308
7545
|
return this._anchorShape;
|
|
7309
7546
|
}
|
|
7310
7547
|
activeStatic() {
|
|
7311
|
-
var _this$_anchorShape
|
|
7312
|
-
(_this$_anchorShape = this._anchorShape) === null || _this$_anchorShape === void 0 || _this$_anchorShape.setProps({ stroke:
|
|
7548
|
+
var _this$_anchorShape;
|
|
7549
|
+
(_this$_anchorShape = this._anchorShape) === null || _this$_anchorShape === void 0 || _this$_anchorShape.setProps({ stroke: this._anchorActiveStroke });
|
|
7313
7550
|
}
|
|
7314
7551
|
deactivateStatic() {
|
|
7315
|
-
var _this$_anchorShape2, _this$
|
|
7316
|
-
(_this$_anchorShape2 = this._anchorShape) === null || _this$_anchorShape2 === void 0 || _this$_anchorShape2.setProps({ stroke: ((_this$
|
|
7552
|
+
var _this$_anchorShape2, _this$style;
|
|
7553
|
+
(_this$_anchorShape2 = this._anchorShape) === null || _this$_anchorShape2 === void 0 || _this$_anchorShape2.setProps({ stroke: ((_this$style = this.style) === null || _this$style === void 0 ? void 0 : _this$style.stroke) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, 0) });
|
|
7317
7554
|
}
|
|
7318
7555
|
isActive() {
|
|
7319
7556
|
return this._current === true;
|
|
7320
7557
|
}
|
|
7321
7558
|
activate() {
|
|
7322
7559
|
this._current = true;
|
|
7560
|
+
if (this._isCollapsed()) {
|
|
7561
|
+
var _this$_anchorShape3;
|
|
7562
|
+
(_this$_anchorShape3 = this._anchorShape) === null || _this$_anchorShape3 === void 0 || _this$_anchorShape3.show();
|
|
7563
|
+
this.activeStatic();
|
|
7564
|
+
}
|
|
7323
7565
|
}
|
|
7324
7566
|
deactivate() {
|
|
7325
7567
|
this._current = false;
|
|
7568
|
+
if (this._isCollapsed()) {
|
|
7569
|
+
var _this$_anchorShape4;
|
|
7570
|
+
(_this$_anchorShape4 = this._anchorShape) === null || _this$_anchorShape4 === void 0 || _this$_anchorShape4.hide();
|
|
7571
|
+
}
|
|
7326
7572
|
}
|
|
7327
7573
|
dispose() {
|
|
7328
|
-
var _this$_rangeShape, _this$
|
|
7574
|
+
var _this$_rangeShape, _this$_anchorShape5;
|
|
7329
7575
|
(_this$_rangeShape = this._rangeShape) === null || _this$_rangeShape === void 0 || _this$_rangeShape.dispose();
|
|
7330
7576
|
this._rangeShape = null;
|
|
7331
|
-
(_this$
|
|
7577
|
+
(_this$_anchorShape5 = this._anchorShape) === null || _this$_anchorShape5 === void 0 || _this$_anchorShape5.dispose();
|
|
7332
7578
|
this._anchorShape = null;
|
|
7333
7579
|
if (this._anchorBlinkTimer) {
|
|
7334
7580
|
clearInterval(this._anchorBlinkTimer);
|
|
@@ -7342,11 +7588,11 @@ var TextRange = class {
|
|
|
7342
7588
|
return activeStart <= compareEnd && activeEnd >= compareStart;
|
|
7343
7589
|
}
|
|
7344
7590
|
refresh() {
|
|
7345
|
-
var _this$
|
|
7591
|
+
var _this$_anchorShape6, _this$_rangeShape2;
|
|
7346
7592
|
const { _document, _docSkeleton } = this;
|
|
7347
7593
|
const anchor = this.anchorNodePosition;
|
|
7348
7594
|
const focus = this.focusNodePosition;
|
|
7349
|
-
(_this$
|
|
7595
|
+
(_this$_anchorShape6 = this._anchorShape) === null || _this$_anchorShape6 === void 0 || _this$_anchorShape6.hide();
|
|
7350
7596
|
(_this$_rangeShape2 = this._rangeShape) === null || _this$_rangeShape2 === void 0 || _this$_rangeShape2.hide();
|
|
7351
7597
|
if (this._isEmpty()) return;
|
|
7352
7598
|
const documentOffsetConfig = _document.getOffsetConfig();
|
|
@@ -7379,7 +7625,7 @@ var TextRange = class {
|
|
|
7379
7625
|
return true;
|
|
7380
7626
|
}
|
|
7381
7627
|
_createOrUpdateRange(pointsGroup, left, top) {
|
|
7382
|
-
var _this$
|
|
7628
|
+
var _this$style2;
|
|
7383
7629
|
if (this._rangeShape) {
|
|
7384
7630
|
this._rangeShape.translate(left, top);
|
|
7385
7631
|
this._rangeShape.updatePointGroup(pointsGroup);
|
|
@@ -7388,7 +7634,7 @@ var TextRange = class {
|
|
|
7388
7634
|
}
|
|
7389
7635
|
const polygon = new _univerjs_engine_render.RegularPolygon(TEXT_RANGE_KEY_PREFIX + (0, _univerjs_core.generateRandomId)(ID_LENGTH$1), {
|
|
7390
7636
|
pointsGroup,
|
|
7391
|
-
fill: ((_this$
|
|
7637
|
+
fill: ((_this$style2 = this.style) === null || _this$style2 === void 0 ? void 0 : _this$style2.fill) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, .3),
|
|
7392
7638
|
left,
|
|
7393
7639
|
top,
|
|
7394
7640
|
evented: false,
|
|
@@ -7398,7 +7644,7 @@ var TextRange = class {
|
|
|
7398
7644
|
this._scene.addObject(polygon, 3);
|
|
7399
7645
|
}
|
|
7400
7646
|
_createOrUpdateAnchor(pointsGroup, docsLeft, docsTop, glyph) {
|
|
7401
|
-
var _glyph$ts, _this$
|
|
7647
|
+
var _glyph$ts, _this$style3;
|
|
7402
7648
|
const bounding = getAnchorBounding(pointsGroup);
|
|
7403
7649
|
const { left: boundingLeft } = bounding;
|
|
7404
7650
|
let { top: boundingTop, height } = bounding;
|
|
@@ -7411,6 +7657,7 @@ var TextRange = class {
|
|
|
7411
7657
|
let left = boundingLeft + docsLeft;
|
|
7412
7658
|
const top = boundingTop + docsTop;
|
|
7413
7659
|
const isItalic = (glyph === null || glyph === void 0 || (_glyph$ts = glyph.ts) === null || _glyph$ts === void 0 ? void 0 : _glyph$ts.it) === _univerjs_core.BooleanNumber.TRUE;
|
|
7660
|
+
this._anchorActiveStroke = this._getAnchorActiveStroke(glyph);
|
|
7414
7661
|
if (isItalic) left += height * Math.tan(ITALIC_DEGREE * Math.PI / 180) / 2;
|
|
7415
7662
|
if (this._anchorShape) {
|
|
7416
7663
|
this._anchorShape.transformByState({
|
|
@@ -7421,14 +7668,15 @@ var TextRange = class {
|
|
|
7421
7668
|
this._anchorShape.show();
|
|
7422
7669
|
if (isItalic) this._anchorShape.skew(-12, 0);
|
|
7423
7670
|
else this._anchorShape.skew(0, 0);
|
|
7671
|
+
this.activeStatic();
|
|
7424
7672
|
return;
|
|
7425
7673
|
}
|
|
7426
7674
|
const anchor = new _univerjs_engine_render.Rect(TEXT_ANCHOR_KEY_PREFIX + (0, _univerjs_core.generateRandomId)(ID_LENGTH$1), {
|
|
7427
7675
|
left,
|
|
7428
7676
|
top,
|
|
7429
7677
|
height,
|
|
7430
|
-
strokeWidth: ((_this$
|
|
7431
|
-
stroke:
|
|
7678
|
+
strokeWidth: ((_this$style3 = this.style) === null || _this$style3 === void 0 ? void 0 : _this$style3.strokeWidth) || 1,
|
|
7679
|
+
stroke: this._anchorActiveStroke,
|
|
7432
7680
|
evented: false
|
|
7433
7681
|
});
|
|
7434
7682
|
if (isItalic) anchor.skew(-12, 0);
|
|
@@ -7436,6 +7684,33 @@ var TextRange = class {
|
|
|
7436
7684
|
this._scene.addObject(anchor, 3);
|
|
7437
7685
|
this.activeStatic();
|
|
7438
7686
|
}
|
|
7687
|
+
_getAnchorActiveStroke(glyph) {
|
|
7688
|
+
var _this$style4, _this$_scene$getEngin, _this$_scene;
|
|
7689
|
+
if (((_this$style4 = this.style) === null || _this$style4 === void 0 ? void 0 : _this$style4.strokeActive) && this.style.strokeActive !== _univerjs_engine_render.NORMAL_TEXT_SELECTION_PLUGIN_STYLE.strokeActive) return this.style.strokeActive;
|
|
7690
|
+
const colorService = (_this$_scene$getEngin = (_this$_scene = this._scene).getEngine) === null || _this$_scene$getEngin === void 0 || (_this$_scene$getEngin = _this$_scene$getEngin.call(_this$_scene)) === null || _this$_scene$getEngin === void 0 ? void 0 : _this$_scene$getEngin.canvasColorService;
|
|
7691
|
+
if (!colorService) return DEFAULT_CARET_COLOR;
|
|
7692
|
+
try {
|
|
7693
|
+
const backgroundColorKit = new _univerjs_core.ColorKit(colorService.getRenderColor(this._getAnchorBackgroundColor(glyph)));
|
|
7694
|
+
if (!backgroundColorKit.isValid) return DEFAULT_CARET_COLOR;
|
|
7695
|
+
return _univerjs_core.ColorKit.getContrastRatio(colorService.getRenderColor("gray.0"), backgroundColorKit) > _univerjs_core.ColorKit.getContrastRatio(colorService.getRenderColor(DEFAULT_CARET_COLOR), backgroundColorKit) ? "gray.0" : DEFAULT_CARET_COLOR;
|
|
7696
|
+
} catch {
|
|
7697
|
+
return DEFAULT_CARET_COLOR;
|
|
7698
|
+
}
|
|
7699
|
+
}
|
|
7700
|
+
_getAnchorBackgroundColor(glyph) {
|
|
7701
|
+
var _glyph$parent, _line$parent, _glyph$ts2;
|
|
7702
|
+
const line = glyph === null || glyph === void 0 || (_glyph$parent = glyph.parent) === null || _glyph$parent === void 0 ? void 0 : _glyph$parent.parent;
|
|
7703
|
+
const page = line === null || line === void 0 || (_line$parent = line.parent) === null || _line$parent === void 0 || (_line$parent = _line$parent.parent) === null || _line$parent === void 0 ? void 0 : _line$parent.parent;
|
|
7704
|
+
let cellBackground;
|
|
7705
|
+
if ((page === null || page === void 0 ? void 0 : page.type) === _univerjs_engine_render.DocumentSkeletonPageType.CELL && page.parent && "rowSource" in page.parent) {
|
|
7706
|
+
var _row$rowSource$tableC;
|
|
7707
|
+
const row = page.parent;
|
|
7708
|
+
const cellIndex = row.cells.indexOf(page);
|
|
7709
|
+
cellBackground = (_row$rowSource$tableC = row.rowSource.tableCells[cellIndex]) === null || _row$rowSource$tableC === void 0 ? void 0 : _row$rowSource$tableC.backgroundColor;
|
|
7710
|
+
}
|
|
7711
|
+
const background = (glyph === null || glyph === void 0 || (_glyph$ts2 = glyph.ts) === null || _glyph$ts2 === void 0 ? void 0 : _glyph$ts2.bg) ?? (line === null || line === void 0 ? void 0 : line.backgroundColor) ?? cellBackground;
|
|
7712
|
+
return (background === null || background === void 0 ? void 0 : background.rgb) ?? (0, _univerjs_core.getColorStyle)(background) ?? "gray.0";
|
|
7713
|
+
}
|
|
7439
7714
|
_setCursorList(cursorList) {
|
|
7440
7715
|
if (cursorList.length === 0) return;
|
|
7441
7716
|
this._cursorList = cursorList;
|
|
@@ -8007,6 +8282,20 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
|
|
|
8007
8282
|
const activeElement = ownerDocument.activeElement;
|
|
8008
8283
|
return !this._shouldPreserveExternalFocus() && (this.isFocusing || activeElement === ownerDocument.body || activeElement === null || activeElement instanceof HTMLElement && this._containsCurrentEmbedRuntimeElement(activeElement));
|
|
8009
8284
|
}
|
|
8285
|
+
cancelPointerSelection() {
|
|
8286
|
+
if (!this._onPointerEvent) return;
|
|
8287
|
+
this._scenePointerMoveSubs.forEach((subscription) => subscription.unsubscribe());
|
|
8288
|
+
this._scenePointerUpSubs.forEach((subscription) => subscription.unsubscribe());
|
|
8289
|
+
this._scenePointerMoveSubs = [];
|
|
8290
|
+
this._scenePointerUpSubs = [];
|
|
8291
|
+
this._onPointerEvent = false;
|
|
8292
|
+
this._anchorNodePosition = null;
|
|
8293
|
+
this._focusNodePosition = null;
|
|
8294
|
+
this._removeAllRanges();
|
|
8295
|
+
this._removeAllCacheRanges();
|
|
8296
|
+
this._disposeScrollTimers();
|
|
8297
|
+
this._context.scene.enableObjectsEvent();
|
|
8298
|
+
}
|
|
8010
8299
|
constructor(_context, _layoutService, _logService, _univerInstanceService, _docSkeletonManagerService, _embedInteractionBoundaryService, _embedRuntimeFocusCoordinator) {
|
|
8011
8300
|
super();
|
|
8012
8301
|
this._context = _context;
|
|
@@ -8143,6 +8432,7 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
|
|
|
8143
8432
|
}
|
|
8144
8433
|
else generalAddRange(startOffset, endOffset, rangeStyle);
|
|
8145
8434
|
}
|
|
8435
|
+
this._hideCollapsedCaretsForVisibleSelection();
|
|
8146
8436
|
this._textSelectionInner$.next({
|
|
8147
8437
|
textRanges: this._getAllTextRanges(),
|
|
8148
8438
|
rectRanges: this._getAllRectRanges(),
|
|
@@ -8520,6 +8810,13 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
|
|
|
8520
8810
|
}
|
|
8521
8811
|
this._rangeList = newRanges;
|
|
8522
8812
|
}
|
|
8813
|
+
_hideCollapsedCaretsForVisibleSelection() {
|
|
8814
|
+
var _expandedTextRanges;
|
|
8815
|
+
const expandedTextRanges = this._rangeList.filter((range) => !range.collapsed);
|
|
8816
|
+
if (expandedTextRanges.length === 0 && this._rectRangeList.length === 0) return;
|
|
8817
|
+
this._deactivateAllTextRanges();
|
|
8818
|
+
(_expandedTextRanges = expandedTextRanges[expandedTextRanges.length - 1]) === null || _expandedTextRanges === void 0 || _expandedTextRanges.activate();
|
|
8819
|
+
}
|
|
8523
8820
|
_deactivateAllTextRanges() {
|
|
8524
8821
|
this._rangeList.forEach((range) => {
|
|
8525
8822
|
range.deactivate();
|
|
@@ -8698,7 +8995,7 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
|
|
|
8698
8995
|
this.disposeWithMe((0, rxjs.fromEvent)(this._input, "input").subscribe((e) => {
|
|
8699
8996
|
if (this._shouldSuppressHostHiddenEditorEvent(e)) return;
|
|
8700
8997
|
if (e.inputType === "historyUndo" || e.inputType === "historyRedo") return;
|
|
8701
|
-
if (this._rectRangeList.length > 0) {
|
|
8998
|
+
if (this._rectRangeList.length > 0 && this._getActiveRange() == null) {
|
|
8702
8999
|
e.stopPropagation();
|
|
8703
9000
|
return e.preventDefault();
|
|
8704
9001
|
}
|
|
@@ -8710,7 +9007,7 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
|
|
|
8710
9007
|
}));
|
|
8711
9008
|
this.disposeWithMe((0, rxjs.fromEvent)(this._input, "compositionstart").subscribe((e) => {
|
|
8712
9009
|
if (this._shouldSuppressHostHiddenEditorEvent(e)) return;
|
|
8713
|
-
if (this._rectRangeList.length > 0) {
|
|
9010
|
+
if (this._rectRangeList.length > 0 && this._getActiveRange() == null) {
|
|
8714
9011
|
e.stopPropagation();
|
|
8715
9012
|
return e.preventDefault();
|
|
8716
9013
|
}
|
|
@@ -9642,15 +9939,19 @@ const DEFAULT_DOC_FIT_TO_WIDTH_OPTIONS = {
|
|
|
9642
9939
|
const defaultPluginConfig = {
|
|
9643
9940
|
toc: false,
|
|
9644
9941
|
footer: true,
|
|
9942
|
+
wordCount: true,
|
|
9645
9943
|
placeholder: true,
|
|
9646
9944
|
fitToWidth: DEFAULT_DOC_FIT_TO_WIDTH_OPTIONS
|
|
9647
9945
|
};
|
|
9648
9946
|
|
|
9649
9947
|
//#endregion
|
|
9650
9948
|
//#region src/services/doc-render-background.ts
|
|
9651
|
-
const DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR = "
|
|
9652
|
-
const DOC_MODERN_WORKSPACE_BACKGROUND_COLOR = "
|
|
9949
|
+
const DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR = "var(--univer-gray-100)";
|
|
9950
|
+
const DOC_MODERN_WORKSPACE_BACKGROUND_COLOR = "var(--univer-gray-0)";
|
|
9951
|
+
const DOC_UNSPECIFIED_WORKSPACE_BACKGROUND_COLOR = "var(--univer-gray-100)";
|
|
9653
9952
|
const DOC_EDITOR_INTERNAL_BACKGROUND_COLOR = "transparent";
|
|
9953
|
+
const DOC_TRADITIONAL_WORKSPACE_BACKGROUND_TOKEN = "gray.100";
|
|
9954
|
+
const DOC_MODERN_WORKSPACE_BACKGROUND_TOKEN = "gray.0";
|
|
9654
9955
|
function resolveDocRenderBackground(options) {
|
|
9655
9956
|
const { documentFlavor, canvasColorService, editorBackgroundColor, isEditor } = options;
|
|
9656
9957
|
const backgroundColor = editorBackgroundColor ?? getDefaultDocCanvasBackgroundColor(documentFlavor, isEditor);
|
|
@@ -9658,14 +9959,30 @@ function resolveDocRenderBackground(options) {
|
|
|
9658
9959
|
canvasElementBackgroundColor: backgroundColor,
|
|
9659
9960
|
docBackgroundFillColor: DOC_EDITOR_INTERNAL_BACKGROUND_COLOR
|
|
9660
9961
|
};
|
|
9962
|
+
if (editorBackgroundColor != null) return {
|
|
9963
|
+
canvasElementBackgroundColor: (canvasColorService === null || canvasColorService === void 0 ? void 0 : canvasColorService.getRenderColor(editorBackgroundColor)) ?? editorBackgroundColor,
|
|
9964
|
+
docBackgroundFillColor: void 0
|
|
9965
|
+
};
|
|
9966
|
+
if (documentFlavor !== _univerjs_core.DocumentFlavor.TRADITIONAL && documentFlavor !== _univerjs_core.DocumentFlavor.MODERN) return {
|
|
9967
|
+
canvasElementBackgroundColor: backgroundColor,
|
|
9968
|
+
docBackgroundFillColor: void 0
|
|
9969
|
+
};
|
|
9970
|
+
const renderBackgroundColor = getDefaultDocCanvasBackgroundToken(documentFlavor);
|
|
9661
9971
|
return {
|
|
9662
|
-
canvasElementBackgroundColor: (canvasColorService === null || canvasColorService === void 0 ? void 0 : canvasColorService.getRenderColor(
|
|
9972
|
+
canvasElementBackgroundColor: (canvasColorService === null || canvasColorService === void 0 ? void 0 : canvasColorService.getRenderColor(renderBackgroundColor)) ?? backgroundColor,
|
|
9663
9973
|
docBackgroundFillColor: void 0
|
|
9664
9974
|
};
|
|
9665
9975
|
}
|
|
9666
9976
|
function getDefaultDocCanvasBackgroundColor(documentFlavor, isEditor) {
|
|
9667
9977
|
if (isEditor) return DOC_EDITOR_INTERNAL_BACKGROUND_COLOR;
|
|
9668
|
-
|
|
9978
|
+
switch (documentFlavor) {
|
|
9979
|
+
case _univerjs_core.DocumentFlavor.MODERN: return DOC_MODERN_WORKSPACE_BACKGROUND_COLOR;
|
|
9980
|
+
case _univerjs_core.DocumentFlavor.TRADITIONAL: return DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR;
|
|
9981
|
+
default: return DOC_UNSPECIFIED_WORKSPACE_BACKGROUND_COLOR;
|
|
9982
|
+
}
|
|
9983
|
+
}
|
|
9984
|
+
function getDefaultDocCanvasBackgroundToken(documentFlavor) {
|
|
9985
|
+
return documentFlavor === _univerjs_core.DocumentFlavor.MODERN ? DOC_MODERN_WORKSPACE_BACKGROUND_TOKEN : DOC_TRADITIONAL_WORKSPACE_BACKGROUND_TOKEN;
|
|
9669
9986
|
}
|
|
9670
9987
|
|
|
9671
9988
|
//#endregion
|
|
@@ -10127,7 +10444,7 @@ DocBackScrollRenderController = __decorate([
|
|
|
10127
10444
|
|
|
10128
10445
|
//#endregion
|
|
10129
10446
|
//#region src/controllers/render-controllers/doc-paragraph-placeholder.render-controller.ts
|
|
10130
|
-
const PLACEHOLDER_COLOR = "
|
|
10447
|
+
const PLACEHOLDER_COLOR = "gray.400";
|
|
10131
10448
|
const DEFAULT_PLACEHOLDER_FONT_SIZE = 12;
|
|
10132
10449
|
const MIN_BODY_TEXT_PLACEHOLDER_FONT_SIZE = 16;
|
|
10133
10450
|
const DEFAULT_PLACEHOLDER_FONT_FAMILY = "Arial";
|
|
@@ -10147,6 +10464,9 @@ let DocParagraphPlaceholderRenderController = class DocParagraphPlaceholderRende
|
|
|
10147
10464
|
const documents = this._context.mainComponent;
|
|
10148
10465
|
if (!documents) return;
|
|
10149
10466
|
this.disposeWithMe(documents.pageRender$.subscribe((pageRenderConfig) => this._drawPagePlaceholders(pageRenderConfig)));
|
|
10467
|
+
this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(({ unitId }) => {
|
|
10468
|
+
if (unitId === this._context.unitId) documents.makeDirty(true);
|
|
10469
|
+
}));
|
|
10150
10470
|
}
|
|
10151
10471
|
_drawPagePlaceholders({ page, pageLeft, pageTop, ctx }) {
|
|
10152
10472
|
var _this$_context$unit$g, _this$_context$mainCo;
|
|
@@ -10154,6 +10474,7 @@ let DocParagraphPlaceholderRenderController = class DocParagraphPlaceholderRende
|
|
|
10154
10474
|
if (!body) return;
|
|
10155
10475
|
const activeRange = this._docSelectionManagerService.getActiveTextRange();
|
|
10156
10476
|
if (!activeRange || (activeRange.segmentId ?? "") !== (page.segmentId ?? "")) return;
|
|
10477
|
+
if (activeRange.startOffset == null || activeRange.endOffset == null || activeRange.startOffset !== activeRange.endOffset) return;
|
|
10157
10478
|
const placeholders = getParagraphPlaceholderLayouts(page, body, this._getLocale(), pageLeft, pageTop, activeRange.startOffset, {
|
|
10158
10479
|
docsLeft: (_this$_context$mainCo = this._context.mainComponent) === null || _this$_context$mainCo === void 0 ? void 0 : _this$_context$mainCo.getOffsetConfig().docsLeft,
|
|
10159
10480
|
unitId: this._context.unitId
|
|
@@ -10220,7 +10541,7 @@ function visitColumn(column, body, paragraphs, locale, layouts, originLeft, orig
|
|
|
10220
10541
|
if (!line.paragraphStart) continue;
|
|
10221
10542
|
const paragraphStart = line.st;
|
|
10222
10543
|
const paragraphEnd = line.paragraphIndex;
|
|
10223
|
-
if (
|
|
10544
|
+
if (!isOffsetInParagraph(activeOffset, paragraphStart, paragraphEnd)) continue;
|
|
10224
10545
|
const paragraph = paragraphs.get(paragraphEnd);
|
|
10225
10546
|
if (!paragraph || !isEmptyParagraph(body.dataStream, line.st, line.paragraphIndex)) continue;
|
|
10226
10547
|
const text = getPlaceholderText(paragraph, locale);
|
|
@@ -10456,7 +10777,7 @@ let DocPageLayoutService = class DocPageLayoutService extends _univerjs_core.Dis
|
|
|
10456
10777
|
} else {
|
|
10457
10778
|
docsLeft = horizontalMargin;
|
|
10458
10779
|
sceneWidth = docsWidth + horizontalMargin * 2;
|
|
10459
|
-
scrollToX =
|
|
10780
|
+
scrollToX = 0;
|
|
10460
10781
|
}
|
|
10461
10782
|
if (engineHeight > docsHeight) sceneHeight = (engineHeight - pageMarginTop * 2) / viewScale;
|
|
10462
10783
|
else sceneHeight = docsHeight + pageMarginTop * 2;
|
|
@@ -10493,6 +10814,7 @@ let DocRenderController = class DocRenderController extends _univerjs_core.RxDis
|
|
|
10493
10814
|
this._textSelectionManagerService = _textSelectionManagerService;
|
|
10494
10815
|
this._docViewScaleService = _docViewScaleService;
|
|
10495
10816
|
this._themeService = _themeService;
|
|
10817
|
+
_defineProperty(this, "_changesetRenderScheduled", false);
|
|
10496
10818
|
this._addNewRender();
|
|
10497
10819
|
this._initRenderRefresh();
|
|
10498
10820
|
this._initCommandListener();
|
|
@@ -10595,15 +10917,28 @@ let DocRenderController = class DocRenderController extends _univerjs_core.RxDis
|
|
|
10595
10917
|
}
|
|
10596
10918
|
_initCommandListener() {
|
|
10597
10919
|
const updateCommandList = [_univerjs_docs.RichTextEditingMutation.id];
|
|
10598
|
-
this.disposeWithMe(this._commandService.onCommandExecuted((command) => {
|
|
10599
|
-
if (updateCommandList.includes(command.id))
|
|
10600
|
-
|
|
10601
|
-
|
|
10920
|
+
this.disposeWithMe(this._commandService.onCommandExecuted((command, options) => {
|
|
10921
|
+
if (!updateCommandList.includes(command.id)) return;
|
|
10922
|
+
const { unitId } = command.params;
|
|
10923
|
+
if (unitId !== this._context.unitId) return;
|
|
10924
|
+
if (options === null || options === void 0 ? void 0 : options.fromChangeset) {
|
|
10925
|
+
this._scheduleChangesetRender();
|
|
10926
|
+
return;
|
|
10602
10927
|
}
|
|
10928
|
+
this.reRender(unitId);
|
|
10603
10929
|
}));
|
|
10604
10930
|
}
|
|
10931
|
+
_scheduleChangesetRender() {
|
|
10932
|
+
if (this._changesetRenderScheduled) return;
|
|
10933
|
+
this._changesetRenderScheduled = true;
|
|
10934
|
+
queueMicrotask(() => {
|
|
10935
|
+
this._changesetRenderScheduled = false;
|
|
10936
|
+
if (this._disposed) return;
|
|
10937
|
+
this.reRender(this._context.unitId);
|
|
10938
|
+
});
|
|
10939
|
+
}
|
|
10605
10940
|
_initThemeListener() {
|
|
10606
|
-
this.disposeWithMe(this._themeService.darkMode
|
|
10941
|
+
this.disposeWithMe((0, rxjs.combineLatest)([this._themeService.currentTheme$, this._themeService.darkMode$]).pipe((0, rxjs.takeUntil)(this.dispose$)).subscribe(() => {
|
|
10607
10942
|
var _this$_context$mainCo3, _this$_context$compon;
|
|
10608
10943
|
this._syncCanvasBackground();
|
|
10609
10944
|
(_this$_context$mainCo3 = this._context.mainComponent) === null || _this$_context$mainCo3 === void 0 || _this$_context$mainCo3.makeDirty(true);
|
|
@@ -11071,7 +11406,7 @@ const getModernWidthMode = (size) => {
|
|
|
11071
11406
|
function SettingsLabel(props) {
|
|
11072
11407
|
const { children, muted } = props;
|
|
11073
11408
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
11074
|
-
className: (0, _univerjs_design.clsx)("univer-text-sm univer-font-medium", muted ? "univer-text-gray-500" : "univer-text-gray-900 dark:!univer-text-
|
|
11409
|
+
className: (0, _univerjs_design.clsx)("univer-text-sm univer-font-medium", muted ? "univer-text-gray-500" : "univer-text-gray-900 dark:!univer-text-gray-0"),
|
|
11075
11410
|
children
|
|
11076
11411
|
});
|
|
11077
11412
|
}
|
|
@@ -11136,7 +11471,7 @@ function PageSettings(props) {
|
|
|
11136
11471
|
className: "univer-grid univer-grid-cols-3 univer-gap-2",
|
|
11137
11472
|
children: MODERN_WIDTH_OPTIONS.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
11138
11473
|
type: "button",
|
|
11139
|
-
className: (0, _univerjs_design.clsx)(_univerjs_design.resetButtonClassName, _univerjs_design.borderClassName, "univer-h-16 univer-flex-col univer-gap-1 univer-rounded-lg univer-bg-
|
|
11474
|
+
className: (0, _univerjs_design.clsx)(_univerjs_design.resetButtonClassName, _univerjs_design.borderClassName, "univer-h-16 univer-flex-col univer-gap-1 univer-rounded-lg univer-bg-gray-0 univer-text-sm univer-font-medium univer-text-gray-700 univer-transition-colors hover:univer-border-primary-500 hover:univer-text-primary-600 dark:!univer-bg-gray-900 dark:!univer-text-gray-100", { "!univer-border-primary-500 !univer-bg-primary-50 !univer-text-primary-600 dark:!univer-bg-primary-900": settings.modernWidth === option }),
|
|
11140
11475
|
onClick: () => handleModernWidthChange(option),
|
|
11141
11476
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: localeService.t(`docs-ui.page-settings.modern-width-${option}`) }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
11142
11477
|
className: "univer-text-xs univer-font-normal univer-text-gray-400",
|
|
@@ -11710,88 +12045,93 @@ const COMPONENT_PREFIX = "UI_PLUGIN_DOCS";
|
|
|
11710
12045
|
*/
|
|
11711
12046
|
const ListTypePicker = (props) => {
|
|
11712
12047
|
const { value, onChange, options } = props;
|
|
12048
|
+
const previewRows = [
|
|
12049
|
+
{
|
|
12050
|
+
id: "level-0-top",
|
|
12051
|
+
levelIndex: 0
|
|
12052
|
+
},
|
|
12053
|
+
{
|
|
12054
|
+
id: "level-1",
|
|
12055
|
+
levelIndex: 1
|
|
12056
|
+
},
|
|
12057
|
+
{
|
|
12058
|
+
id: "level-2",
|
|
12059
|
+
levelIndex: 2
|
|
12060
|
+
},
|
|
12061
|
+
{
|
|
12062
|
+
id: "level-0-bottom",
|
|
12063
|
+
levelIndex: 0
|
|
12064
|
+
}
|
|
12065
|
+
];
|
|
12066
|
+
const previewIndentClassNames = [
|
|
12067
|
+
"",
|
|
12068
|
+
"univer-pl-2",
|
|
12069
|
+
"univer-pl-4"
|
|
12070
|
+
];
|
|
12071
|
+
const getOrderedGlyph = (glyphType) => {
|
|
12072
|
+
switch (glyphType) {
|
|
12073
|
+
case _univerjs_core.ListGlyphType.DECIMAL_ZERO: return "01";
|
|
12074
|
+
case _univerjs_core.ListGlyphType.UPPER_LETTER: return "A";
|
|
12075
|
+
case _univerjs_core.ListGlyphType.LOWER_LETTER: return "a";
|
|
12076
|
+
case _univerjs_core.ListGlyphType.UPPER_ROMAN: return "I";
|
|
12077
|
+
case _univerjs_core.ListGlyphType.LOWER_ROMAN: return "i";
|
|
12078
|
+
default: return "1";
|
|
12079
|
+
}
|
|
12080
|
+
};
|
|
12081
|
+
const getMarker = (listType, levelIndex) => {
|
|
12082
|
+
var _level$glyphFormat;
|
|
12083
|
+
const levels = _univerjs_core.PRESET_LIST_TYPE[listType].nestingLevel;
|
|
12084
|
+
const level = levels[levelIndex];
|
|
12085
|
+
if (level.glyphSymbol) return level.glyphSymbol;
|
|
12086
|
+
return ((_level$glyphFormat = level.glyphFormat) === null || _level$glyphFormat === void 0 ? void 0 : _level$glyphFormat.replace(/%(\d+)/g, (_match, index) => {
|
|
12087
|
+
var _levels;
|
|
12088
|
+
return getOrderedGlyph((_levels = levels[Number(index) - 1]) === null || _levels === void 0 ? void 0 : _levels.glyphType);
|
|
12089
|
+
})) ?? "1.";
|
|
12090
|
+
};
|
|
11713
12091
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11714
12092
|
className: "univer-grid univer-grid-cols-3 univer-gap-2 univer-p-1.5",
|
|
11715
12093
|
"data-u-editor-interaction-boundary": "true",
|
|
11716
|
-
children: options.map((item) => {
|
|
11717
|
-
|
|
11718
|
-
|
|
11719
|
-
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.
|
|
11723
|
-
className: "univer-
|
|
11724
|
-
|
|
11725
|
-
|
|
11726
|
-
|
|
11727
|
-
|
|
11728
|
-
|
|
12094
|
+
children: options.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
12095
|
+
className: (0, _univerjs_design.clsx)("univer-block univer-h-20 univer-w-[72px] univer-cursor-pointer univer-overflow-hidden univer-rounded univer-transition-all hover:univer-border-primary-500", _univerjs_design.borderClassName, { "univer-border-primary-500": value === item }),
|
|
12096
|
+
onClick: () => onChange(item),
|
|
12097
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
12098
|
+
className: "univer-box-border univer-grid univer-size-full univer-grid-rows-4 univer-gap-1 univer-bg-gray-50 univer-p-2 univer-text-gray-900",
|
|
12099
|
+
"data-u-comp": "list-type-preview",
|
|
12100
|
+
children: previewRows.map(({ id, levelIndex }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
12101
|
+
className: (0, _univerjs_design.clsx)("univer-flex univer-items-center univer-gap-1", previewIndentClassNames[levelIndex]),
|
|
12102
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
12103
|
+
className: "univer-w-3 univer-shrink-0 univer-overflow-hidden univer-text-center univer-text-[10px] univer-leading-none",
|
|
12104
|
+
children: getMarker(item, levelIndex)
|
|
12105
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "univer-h-1 univer-flex-1 univer-rounded univer-bg-gray-200" })]
|
|
12106
|
+
}, id))
|
|
12107
|
+
})
|
|
12108
|
+
}, item))
|
|
11729
12109
|
});
|
|
11730
12110
|
};
|
|
11731
12111
|
const orderListOptions = [
|
|
11732
|
-
|
|
11733
|
-
|
|
11734
|
-
|
|
11735
|
-
|
|
11736
|
-
|
|
11737
|
-
|
|
11738
|
-
img: "data:image/jpeg;base64,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"
|
|
11739
|
-
},
|
|
11740
|
-
{
|
|
11741
|
-
value: _univerjs_core.PresetListType.ORDER_LIST_2,
|
|
11742
|
-
img: "data:image/jpeg;base64,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"
|
|
11743
|
-
},
|
|
11744
|
-
{
|
|
11745
|
-
value: _univerjs_core.PresetListType.ORDER_LIST_3,
|
|
11746
|
-
img: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAAzAAEAAgMBAQEAAAAAAAAAAAAABwkGCAoFBAMBAQADAQEAAAAAAAAAAAAAAAACAwQBBf/aAAwDAQACEAMQAAAA7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcdPpZewDzdXrAAAAAAAAAAAA1LsjURpqk6Pb3clw8g1gAAAAAAABlxsQADmI355/r7oddHoOx3bt1T/ExEAAAAAAAH2mTgAgicZ3hKBpx842KhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa6zjSzqqkyPb5MlwxggoAAAAAycnUAAAAqZ0V6sWQ0Nuh1H+fpnCPfMMEAAAAAPUM6AAAAIllyoHTVYTTPHOt8qZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqfRXaxnsAAAAAAAAAAAAFOGmq4/NaMfIdAAMhJhAAAAAAAAObrbR0YYr/VPFIxAAPaJOAAAAAAAANAboRZLlqOewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACte+vR26G9tM7HaLAAAAAAAAAAABzG7895GS6h7XT1F4NA+IiQAAAAAAAHtEnAA5evQz2c551N6K+rDz9I88g0AAAAAAAGQkwgApz01QxOORc7NsJWyZ7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//8QAKRAAAAYCAQMEAwADAAAAAAAAAAUGBwgXBAkDAgoWEBUgQAEwYBk6cP/aAAgBAQABCAD+Unrt9m238+XqcOOpAfE6pIiVTp77E7JREEL4hP8AyZP9X+t/GVOmFbtQ+nb3yGVbkwkzo2O16KDl5OEhO+bh8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQ8kUQQp2c5iqK8fL+G8fPM5tSwgRp0ReL288e8LGx8LCYllCnSbuva5pSjk2JxG4ps8GvTqGTj8OZj5GJkV4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jxXiPFeI8V4jwXI1NlWZw5+B8C2MTBFEgD+VBeHtjAwMj8lu857+uI8aOSRvFLrk/4RLZdvi2kb3cWsaWz1Rz8fVtyN3Zc6f5TycNnrnFrwmD6LIxzCpNmWfgWGsBYawFhrAWGsBYawFhrAWGsBYawFhrAWGsBYawCNWSkNVIW4Gf+ndlNdzoEa/HOfJl210lsYu2qTjszH7fvoYPh2dbW8OLreSXj47TjOe0TYg5Kcc8Lckry6oToqhOiqE6KoToqhOiqE6KoToqhOiqE6KoToqhOgmb4mIzLGNMT9L6sW1El2lXDGPgi+3yh6lsAuRR8wkBI0RlfN45AsrG/WxEuKEhpBSfZX+wU+zrJTu09D6z+j7Stmu+RPvBbCB2F6Ko2yCMhzzTEtdRC11ELXUQtdRC11EEq4JyeH2AV5f0XB/2jWMGSekmEaFhHmBQk/vxPmFIqEVCKhFQioQnm49hOMM2+keQCSB5seRuxzlkPqma+RGwiNOww7/ndjGzto9a5Wy2e6HF3AqX/PLx/jmgttSiRsGz1kkmY+x3CxwUJ5+tLB+f8s64RcHHyc3Mh1CiZvdw21knYZehlme3l2fni3hbwt4W8LeFvC3hbwt4W8LeFvC3hbwt4W8E84/vxxhlPx7jFHplwnh03IFa/wCErVEH7agg027ItauLB30N8TkzyozweGqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEKoUQqhRCqFEEq3xyRn2AaZfw2065XqntlxEVLD9UXe4M6unq6fxGLT24BTKhLzh2Cv9BCTzqbKoyTDQ/wDTf//EADkQAAAGAAMGBAMHBAIDAAAAAAECAwQFBgAHEggRE5Sl1RSV1OUJFdMQICEiM0BgFhcjJDAxWXC2/9oACAEBAAk/AP4pPKrfDz+Hdmjs5ZObXtfaVOtv0LvYMwbbMRmYR/nstWZO2xknGzISmWyKtfmIiMj5es198q3eHsLYszINpeAscTGz0HKszio0k4eXZoyEZINTiBRO2esnCDlA4gAmSVKO4N+79yqxD+1WXU3MVtjIKlSbT1+fplhMuqwYTHIYf6lvMnX4Q3DEyhE3x1SkPwxKJSyGaXxGahmJnrm9Zp5kZeXZ27PCKLIZYWJ4DxmRynO0yJbUe7+HWZ6Ym+DMLtkFBEVXBjs8+NgrMmzbK+ZEI9VVNKs4imPHKVAcOEXCp3SbFlDIPaExVWRaFXWy/kOE2IVId/2KHSWSiJJVJVI5k1E1E2axiKJnKIGIchgAxDlEDFMACAgIYn5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4n5rzR99fE/NeaPvr4l5R03U8dxEHD92uifRHPDk1pKqmIbScpTl1FHSYpTBuEAH7s7Lx0VnPeU9oTahkawuqnLVzJaipzhItFZb5bIxKKsgwh8xpuKQnCLMULjA5dun0csm+jTqbcHxRWjNogk1aNGu1uzbtmrZumVJBu3QSyxIkigikQiaSSZCppplKQhSlKABmDmjdNmL4m+VTqoEu+ddqaWe0qbStXsLt7Cf1BZo+s19OyTrifkIurwoqNvGCpnwJ5JdczNNwOaJR2q3FbGyJ5fp1uyrMygWmLZkDBL2lKKPXGtk/tyge9BFOZJExq6ZFYqovHDdkrgnEbukVW66eoxNaK6ZklSayGKcuohjF1EMUxd+8pgEAHER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRHUJT1uIjqEp63ER1CU9biI6hKetxEdQlPW4iOoSnrcRvAdocThK+Mfq6OKkdFT/Gs6USNqSUOX8xB3b94bjAAh9zK2robQ9oqCNCnM2RQcr2t5Tm5IUiNfK4cOVWrOPKSuw5dDFq2OYGptahvFPPEYytrOYr/KS2oXvLORnEnZZKj3Bqo0Wb2GuyMe7ZPY6RSWYMVyqorgHHZM1xKKrVA6eSlBPtLIV0aojnKeFSNdEYQYpSAFFJ8JhRTfDXlla2MyRuE0NbVUrwyHyU5mI/8AojKv+9efcPVjkypy0O/jo5pYLjKv2UNGOJRzKy0CzNCV00ie0TzMZqLdSUNCv45g+bP3TZUvxbtu/K/aTvMAwtUrlzs55gsMqsmMop+WaN36FHe0KomRr90/pM5koueWiXFbj5Z62fItXTxsp85kcxCZ3Zs7D90qTen58mhmcHM5nZUXdpIKV1a3x8cUWxLHGx7GClVH7p1JTL8lrWYTEtMv6+vOy32LcB2h4PhK8NJXRxX7VFT/ABrEUSNqSUOX8xB3b94bjAAhL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiX6fF+ixL9Pi/RYl+nxfosS/T4v0WJfp8X6LEv0+L9FiS47RfxnFS8GwS18Jg6WT/AMiLVNUulVMhvynDfu3DvKIgP/C0Zjmm9naflxS7BJxyUxGUiSu8oZm5ujuJcpLMJFzCxLWR+QtpUikOa0OYM8uzlo4jmGkdsLa72nMx7LTo2/3nNKY2pbhUss2KkpDJT0q7y9iapJRkVW8umbdZReK8ZMSzZGKJ4tF40jzIsmlkn7hkHFwmUkNlta7LZZm5SdkiISTl4l5Np2qwLOJewQ8lNMpN3W5V0sqV5XVYpVscWhkMZzZcX3M/JaQJFZrUSq2uImbNQpIzpzHqMrJFsnKrlg5ZybN3EySRyiaKmGy8TJA1kkjtQwddNu64PEO3MmRYOAuk4JoMqmsQN50SgbUmbeUTAG4RAwPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsPZrmGPbsOZRRw143DI4WaHRHjoKtz6ypMkTjuIsYS6VC7jAUR3gAlH/hpcVmBlbmLDmhLXVpcFit3rYHCD1m7au2ird/FTEPJtWUxAzkW6Zy0HNMGEvFPGkgzbOE889u3M/IeLVRM12X8wtqaxK7PIN2yoLNY5WjU+Cpz5aMbqAIlYqWAyKxTHTdAukochqavSbjnfVstaVa4KJeJs6BE1fKWtRtSpENTKWyaNYqqsYuDiWLUW8eUEVOEJgTJq3BRpWvZr7Sj58+zDfvLTNS8M1NNWJW4WZrVIR84UaQLGzW06dglGhfEpN3bVoygwh4ZAsZ/Mdl/NWSQt+XC18W2iEXgJVCN01OYtia7et/IFiSNGRGHVqMreFbfGKx9+ONYRrD/QR+t+6f1suz9ati6Qzwl45Sut1LSe+N7RmHEpuELMKwOUIwGdbjCjGlRFMVCrH171hAPsIio4a+F4ZHBVDojx3jdufWVJRE47iLGEulQu4wFEd4AJRZQvLvu44ZQvLvu44ZQvLvu44ZQvLvu44ZQvLvu44bRibd14riHbouyLBwGbhwTQZV6sQN50SgbUmbeUTAG4RAwfsf8Axny//wB3nDiYimk3NEeKw8O5kGiEpLJRyRVpBSMj1ViO35GCJyqvDtUVStUjFUXEhBAfsceE8X4f/Y4PH4fAdIOf0uKjq1cHR+oXTq1fju0jYek+54sPSfc8WHpPueLD0n3PFh6T7niZ8X4TxH+v8u4HE47Vdt+r45bTp42v9M2rTp/DfqD9jmBZELrTdnp1s9tst04yLNVnsM6mrVNGsK8qY3zZOTIranCINUy+FFNoiYR1HPjNnNWs3zZwiYSIj6BBPY49OsyFVm7PYoAp13jdSUrzZzI26Xb3BhGqrMbVEcFlwIlyrJyEl/HcsM6c1X+fFylaJRa5klX6zZLE4sUY3iVk2KkXYbbVlnbmWWmWTCHZw/zN89fHFuVsQ5keL8L34taaIqEBVRLZRjllSJCYAUOmkfMNAqqhS7xImZZEpzABRVTAROE7cqnm7lykd1fsiM5Kktl9m9VI9N8SLVk3lfO9lomUj2cmojGy69bn5sa8/dRzSxEiV5eII+/cSkdBwMH8QOnzE3NzD5tGREPERlyyieyUpKST1VBnHx0ezQWdvnztZFs0bIqrrqppJnOG2PsqoookOqqqrtC5RpppJplE6iiih7eBSEIUBMc5hApSgIiIAAjhUt1yM2YdmW5UTah2iaSzcq5SZl3eegMxK/T8uoq+MShWL9NQx7zRpls8j3skZ9HU96DM7mLprZ4h9ifG8CydPOFr4fF8Mgotw+JpPo16NOvQfTv36Tbtw17q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxXure2Yr3VvbMV7q3tmK91b2zFe6t7ZivdW9sxDeE8X4j/AGPmPH4fAaruf0vAo6tXB0fqF06tX47tI/chmdjpt428K9T7bXpEpzx89WbNaMp4WehnxEzpqHZykU9dsXJSKEOZBc4FOURAwbDOSHlUz3rEncKHkDt5Z0SeQueuyateLXasqV3D6w5YVlpmxT61aZSedwE/XlMxgnpaVYPEflxYBlFtFGleslijHf2GIVZ7HvWiRlRMCZVHLZREhlBKU5gIBjgJxKQ5gLvECmH8BewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3YewvMPu3Ycxijdr4riEbrOzrDx2bhuTQVVkiQdx1iibUoXcUDCG8QAo/czko2TF+2Us5nGdEBOXqsSVrj3NiZK1eRq50otkB2zgsXNVlu8dtZJJZm9QMDdRI6ZlCj8UDZbIJiiAHLsn1cTEEQ3AYoHqZyCYv/YayGLvD8xTBvAdsO37ce0Tly3cp5PRrqmRWXGT2UTx6m5RcStaokW9fRSkm2BfxcMaIi6hEx0uJp51CytgbxMvF7ZV0y72fMnqynF3/AGb2UjZyRFukWi9nXfFZQ7CRbU2Rjr+2l4SJtrizRziXjG1fReRTl8sSHbwf8m//xAA9EQACAQIEAwQFBw0BAAAAAAABAhEDIQAEEjETQVEyQGFxFGCRodEiI1OBk8HhEDRCQ1RkcHJzgpKxsvD/2gAIAQIBAT8A9VKOWpNRVXHz1dXamZNgoBGxiCIN5ME9DBEEg7ix7zSpmrUSmP0mAPgN2P1CTjMV4zQZOzRKooG0IflDyJkeIjGcQLV1r2Kyiop5Se177/3d5ynzVOtmSBKjRTnYsY+Ki3InHpjn9Vl/svxw7elZVmhQ9BphBA0EXgSYEXP8mOBU4XG0/NzEyOumYmY1W8+8cRygp6joBkLym9/efyLUdNQRioYQ0cx0PtxxH0cPUdEzpm07/wC7xtN9/wCBNMIzqHbQhPymiYG/tOw6TOGzFFGK08tSZAYDONTMBz1G4nlvHuGZpoFpVqa6FqgykyFYbx4bjoI2Ex3nK0lrVlRuzBYgWJjlPjzi8THXDZpwxWlTp0wCQFFMFt4hiQZPWwvjOa+Bl+IAHltQAAgwLQLAxv44KOqqzKwVuySCAfI8+8I7U2DodLLcEf8AvaMHOVTcLSV/pFpjX5ySb/Vh6zuioxkIWI6ksZJJ3Mk4evUqIlNzKp2bAcoE9YFh8fXEUJy5r8RbNGjmbgbzY3mI7N572KSHKtWvrFXQL2iFO3W/e1/MH/rj/lcfd3oViKBoQIL69XOYAjpywmYZKL0QqkPNzuJAB89hHQ9fV6hQavrhlUIJYsSBF+gO0GZx6H+8Zf7T8MVcvUowWgq2zqdSnwm1/MX5bHvOSEpmgLk0iABzs2ODV+iqf4N8MEGlkmp1bPUcNTQ9pQCpJK7rsd+vU95yRIXMkGCKUg9CAxBx6VmPpX9v4YRjmaFfiwXorrSpADbMdJIAkHTAH3gd5y1daPEDqWFRdJAMWvPuOOJk/wBnqfaH44fMg0zSo0hSRu1cszebWMdZm1pi2Eq01oVKZpBnY2qWkC3M3Ecote/j6zf/xAA5EQACAQEEBAwCCwEAAAAAAAABAhEDABIhMUBBYYETIlFSYHGRkqGx0fAjMhA0QlNjcHJzwdLh8f/aAAgBAwEBPwDoo9Vw5K/IhUNtnPVOzcOW2eOku1xWbkHjq8bU6fwiDm4JO/LswPXagxKXTmhKndl6btJrcdkpA5mWjkHsnrjZbgF59Tvf5ZRwNUCSVqCJPOnxP9rX1v3J40TG6e2MdIurevRxoidn0MqtEiYMjYbXVvXoF7ljH3GHVh+RLEhSVEtGA2+8bCm5EtVcMcYUwBsgZ7otSZrz02MlDgeUbfDbjpNVyiEjPADZOv3rsKKkS7MxIkm9hu2WoxwtS6ZWMDvFgykkAgkZgHLSCAwIIkHMWFBMpcjmluL2CPOwRVYsBBIA2ACAIG6y01VmYCC2fnhv6Y8J8QU7pxE3tWU9mqZzwjSy7CsqfZKTvx17tLP1hf2/7aWUmoKk5Ldjtx8bNTDOryZXVqw8s8eXo9UqCnEgm8YEW4b8Op3bJUV5AkEZgiD78tek1vmo/r/lbX05694ethD1wy4hVIZhkTBETkcx2bNJrgFqQOReD1ErbgaXMHj62YcFUp3JAc3WWSRmBOOvHw5J0mrTZ7pUgFTOO70tdr/eL3f8stI3r7tfYZYQBu8sosyMaisHIUDFfeGOuf8AnSb/2Q=="
|
|
11747
|
-
},
|
|
11748
|
-
{
|
|
11749
|
-
value: _univerjs_core.PresetListType.ORDER_LIST_4,
|
|
11750
|
-
img: "data:image/jpeg;base64,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"
|
|
11751
|
-
},
|
|
11752
|
-
{
|
|
11753
|
-
value: _univerjs_core.PresetListType.ORDER_LIST_5,
|
|
11754
|
-
img: "data:image/jpeg;base64,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"
|
|
11755
|
-
}
|
|
12112
|
+
_univerjs_core.PresetListType.ORDER_LIST,
|
|
12113
|
+
_univerjs_core.PresetListType.ORDER_LIST_1,
|
|
12114
|
+
_univerjs_core.PresetListType.ORDER_LIST_2,
|
|
12115
|
+
_univerjs_core.PresetListType.ORDER_LIST_3,
|
|
12116
|
+
_univerjs_core.PresetListType.ORDER_LIST_4,
|
|
12117
|
+
_univerjs_core.PresetListType.ORDER_LIST_5
|
|
11756
12118
|
];
|
|
11757
|
-
const OrderListTypePicker = (props) => {
|
|
11758
|
-
|
|
11759
|
-
|
|
11760
|
-
|
|
11761
|
-
});
|
|
11762
|
-
};
|
|
12119
|
+
const OrderListTypePicker = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListTypePicker, {
|
|
12120
|
+
...props,
|
|
12121
|
+
options: orderListOptions
|
|
12122
|
+
});
|
|
11763
12123
|
const bulletOptions = [
|
|
11764
|
-
|
|
11765
|
-
|
|
11766
|
-
|
|
11767
|
-
|
|
11768
|
-
|
|
11769
|
-
|
|
11770
|
-
img: "data:image/jpeg;base64,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"
|
|
11771
|
-
},
|
|
11772
|
-
{
|
|
11773
|
-
value: _univerjs_core.PresetListType.BULLET_LIST_2,
|
|
11774
|
-
img: "data:image/jpeg;base64,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"
|
|
11775
|
-
},
|
|
11776
|
-
{
|
|
11777
|
-
value: _univerjs_core.PresetListType.BULLET_LIST_3,
|
|
11778
|
-
img: "data:image/jpeg;base64,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"
|
|
11779
|
-
},
|
|
11780
|
-
{
|
|
11781
|
-
value: _univerjs_core.PresetListType.BULLET_LIST_4,
|
|
11782
|
-
img: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/CABEIAPQA2AMBEQACEQEDEQH/xAA3AAEAAQQDAQEBAAAAAAAAAAAACgYHCAkDBQsCAQQBAQADAQEBAAAAAAAAAAAAAAACAwQFAQb/2gAMAwEAAhADEAAAAJ/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOj9d54AAAAAAAAAAAA4iEB1ck3/la+UAAAAAAAAAAAtjLzz/AHsYos2/PKcwaJ//AB9tzo+jEkAAAAAAAq4yIAAMQbI+Zb3ef6Z3C6GYVcgKLAAAAAAAP7SpwAAYr2RyorkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDeun8NgNM85KpgAAAAAAAAAAatdFeVNcsoa5aD9dO/DJcKYLFAAAAAFTl9QAAAYrWRwCthtoz2aMNdMg3HeOsKEAAAAAO0K6AAAAMMLYYRWw3N5buxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS3vkZDfQNkdE9uua0AAAAAAAAAACyM4+MJ9NyxMG5umfHyNop8s6AAVCXhAAAAAABZGcfGE+m5YmDc3TPj5G0dKWxAAO6LnAAAAAAA6P1ph01DMGuWfNMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqL01bdM1oAAAAAAAAAAA4yPNto857tYfRl4m6Qpjv5QWXAAAAAAAO6LnAAtrLyKn0M8C7r455vI2SsefouTH0Y+gAAAAAAFQl4QAAR+dlEgbHeAAAAAAAAAAAAPk+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/8QAKxAAAQIGAQMCBwEBAAAAAAAABgAXAwQFBwgJFgIKEAFAFRkaIDA4YBJQ/9oACAEBAAEIAP8AtckovJOI+nuY8eBKwI0zMxN/FuunfS4CgR4E1AgzMt7e7R6T24EJ8lEt1u7rYJdWqFeI1UWlLd1sFtXUBPEmmWlPCq4ohIEZj45IRLkhEuSES5IRLkhEuSES5IRLkhEuSES5IRLkhEuSES5IRLkhEuSESBa3WZwqpcvN/bmvg3jtn7Zas2TyI9NRWSXzOoesWLhRgtjjgFZujWZx38t4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HpvA9N4HqnBo3SpyDPyH3dOLAL0Zp9eaEP+uL9luW+Xt1T2y2omqRu4XsPCmbgzmB+e9pc9rbERWDe33XXxL8dNWeZF0wLCvHcJxQxSsLj8AK7NFkMbt/+IRmAeDKozlKG6lPyDhmCcMwThmCcMwThmCcMwThmCcMwThmCcMwThmCDTIkqpJTZCf8AwZw4x0fMvEfIHGGs6q9hFIuIFUXCbKi511bZ2VCqzce72Ftcq2zPY7X9mFP8Vmky9cpszS5tqB1NQOpqB1NQOpqB1NQOpqB1NQOpqB1NQOpqB1Ua31GodSlqpKfhy5154bZ00mn07KAH7ffWUKklHJimj0ekD1KptCoH9ccl1Nt+EmJ5Wfq5dby+rl1vLW9uhxc2hm1yQOwPt8mf1vyC89n5+yGYfkqq0xQ6DP1SUdciTrkSdciTrkSdciQrcGs1yvSFLm/zZM/rfkF57Pz9kMw/JDR/j1HnKSmhTQpoU0KaFD1uPgNYk6t+cmHKKYjZAIkf05GmZfTkaZlh9rAwZwIJDEuxN/oPmS2/6tx/rrv6PcRYsKBCiRo20XuGMUsKhEiBLARMjL3Rr/8AplJF1c9wpinmwJC4DfuBHgTUCDMy3h3k7yd5O8neTvJ3k7yd5O8neTvJ3k7yd5D1x/j1Yk6T9t1bM2ivoKTYLenaN2v1mbgiJTeHXfxAr5bwFauu18syAiI7d7Ypa2zdo7HC8sEWX8NQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRJqCJNQRIVt9WaHXpCqTf3dGpa3EPe905zdPuv89Pp1evX6fxn/8QAPhAAAQMDAQUGAwMLBAMAAAAAAwIEBQEGBwAREhMUpQgVlNTV5RCV0xYzQAkXICEiIyQwV2C2l6jX2CUxUP/aAAgBAQAJPwD/AO0/BW4qQf2kVF72xymFq/7sS/3K7N4Cn1Ft94e/uERsLw+IHi/iTCbNmwiHcODkQEAABRUhTGKSqRiEIaVLIRakoQhNVKrRNK11dQldiOmPwdi9N4tk17nLHquel0qzq5G7FQqIVvltwZoWUZrFUmJmreaS1cPKVYGMJw2cCGdu4ARBgHAZFCCMEo6qGURRqSsZEKUhaFUUmtU1pX8RhvI+cpZmIhBWRi+QxbHXM84dE12gNlrJGMLcUnZVS6jHPFerQIiGrJ05U3bOMEZA/J/43fM3Ubeti3ISS/PBla3HLhy235q91wsAyb48uFkMSDQePRvIadbrkY2Tvi87cfKZ/DAmQ+3/AIviGzVtbVm2k1nJDNeJrSCdtGDpBXk2YTMYrHFvqdt0oi8jNQQ8C2owh4y+bLt1uJqPDWQ8GTToQ1uLHyXKYsl7iZLVRW/vvMSZHydbSxUqmih706F5wii5li0c0cNW/wAJ+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+p+a+aPvr6n5r5o++vqfmvmj76+peUdNyc9xAOH7s4V7kc8WjfEUqkK3VpStO8mu6pKVU2VpSv6VkMbjiXAHri0brbhA3vfGdzuG3Ba3hYVw8NbuFmGhEAU5b0UWIn2Yaw1yR0vCOXUeYTUGQy3uZmK/yNHarTXiMUae7E5mpQNCkTAGsECp0UasyXlJ1SLLMQVw1U2TYkdbke3asl3deLhs2cX5ky4m4OG6uy/bk4SXs1KuzLOVs0qsUNANTUh7bjYiFbNWAfjEdQlPO6iOoSnndRHUJTzuojqEp53UR1CU87qI6hKed1EdQlPO6iOoSnndRHUJTzuojqEp53UR1CU87qI6hKed1EdQlPO6iOoSnndRHUJTzuo3gOwcThF5x+Xc4olhJ+7M6IJW8Ii0/tIrs27abFUpWn6UbHjyCTs2V7OpnyWrdDw8CrJAcgJOs6AcY5UGaiZVMc9FiaIC1BRYVFSL+7sGY2yRamLbie2NlDtv8AaNm5mE7M8De7FLYkhbmOIm01/bDKzqKGQoHsvbw3rNs7JHyCYWQtSRibglzdgTtr21GiJIXBha0WGRMJ5OkWTbeduI7GN1SbUdp0ligEpo0PeK5XeWUSAwsg5XSqYi6ceZGxncziwM7YIyOw7myfhXIbEjoDq2rtiq7tVtXZGD4kDOAQNtKgaPWzhvGT0TPQUR+HePI27GuOImxoiVjlVHIwyswX7aOH3k3HOErQRm/hY++3coyfgWlzHumgnratHDceoxnGQON8a2zEuVsxKF31czmPFJ3ldTzfKZa5O7bsezNySa6lWjnZMyQ0G3SISNUFGD/KLdmztB4qzhAtyEGxmrh7M1pMso2bkZ2xGmgC3R3PFxNkt5M1VLFAx79sCgSP36n3wNwHYOT4ReGIu5xX7UJP3ZkEEreERaf2kV2bdtNiqUrSX6fF+S1L9Pi/Jal+nxfktS/T4vyWpfp8X5LUv0+L8lqX6fF+S1L9Pi/Jal+nxfktS/T4vyWpfp8X5LUlx2h+c4ouTYC3+EwdGH+8C1GVO6UaFfsrpt2bK7U1rSv8h01jk5hxtOW1CzD4ZjMbfvMKRTNg3M8bt/4hy1ti+Iu3rgcNQ7Cugxq241JUSiqSIMP/AJQjs0RUdibK+Jb8cNoKZySmz2bOIt/K+NHDsoml+wd9W+mHn3ZreqQqJB+5kWcfW1JG3JmVv+z8Y2DbwOYm7xvu4oq17cjR1pXhpcy0w6aM0ncKpwmjWhVOXh6pbtRGOtA1W/PwfY97MmL7o7N/Yplrji5GBe5qvG7JRyHM2d4qKk61cAtUbJMjYkSdTZiqWZGhkOwsrjtq6Ydl8FnG3dcHiLbqGg1OAcThG4oozIptWFNFbw1bU1VSmytaKo9mvEMfTtPZrxDH07T2a8Qx9O09mvEMfTtPZrxDH07T2a8Qx9O09mvEMfTtPZrxDH07T2a8Qx9O09mvEMfTtPZrxDH07TmUI4a8bhocGaLDXjgK3XvpEyCuuxBlVTukTsVRNa7aUqmv8nBNpZIkIQC29uXlRUpa2RbaCtRC0bwWQrQfwV4MY5LpdHy4PvgkA8ejCeQinlRpprFl/ZucW4si7dhs8ZjyJku0oehRjFUIrQkpsFuSLWgxoTyc5GyrRW6hRArWEChRcdBwcMxaxkRDQ7FtGRUVGsQobso+NjmQgNGLFo3GMDVo1CIDcKECENCEpTT+7gPnMPZNrXDd0q2jBgNJOI224l3MvgR4XTlk1K+K1ZFG0G5eNAEOoaTOQDqoqMJ9t3/TfA//AGT1hPtu/wCm+B/+yerCz5aExi21om7rgc5gtfHkBGvI2YllQzUEOay8p5AdOHw3SKkON6zjwJBsUNyUn7qn4f8Aojlf/A574/0RsX/PDfFASOGvK8NDhJFhrx3jduvfSIgV12IMqqd0idiqJrXbSlU1ZQvh33qOmUL4d96jplC+Hfeo6ZQvh33qOmUL4d96jptGDbuua4i24XaDU4DNw4RuKK9Mim1YU0VvDVtTVVKbK1oqn87+iOV/8Dnvj/RGxf8APDfFxynN8v8AxHB4/D4DoDn7rih3t7g7n3id3e3v17N2tw9J9z1cPSfc9XD0n3PVw9J9z1cPSfc9TPN8pzH8P3dwOJx2p233vPG3d3jb/wB2re3d39W3ep/OZ9429dUHLW5PR/MO2fPws4wcRkoz5tgdq+a80xdHBzDNy3dg3+I3OEyUET2OP9wvap/5x12OP9wvap/5x1g/81Fw39BsLcu2Q/OXl++u9oWMfqk2TPlMlX/eLFhwHyqn5iMbM3ZNvDMcgdg/7huRmUiOy2m4CUScXCa52rOKvpdhr4zke7LrwjVpeFUNG51GAYDYy0ma1GL8QQYQhGspSlWkYhCGmqyEIRdaJQNCaVUtaq0SlNK1rWlKVrq7bQ7THafex7+PgbfsSej7mxnjeYqpwwpL5UvOCeOYyrmDeBOY2O4F46ux87aDjJutnsZAU8HJFzFz9TJAsuUycR+tdy0yCCaRPhn6OVbUUIGSGOomdB8gNohEchrSPTRtS7bU7NvanE2ZRMzat5yooDHOSJgYUBXO4uvWXIGFCqbc7iw4/uSSZXYxkHdYeDpeLRp385MJw2cCGdu4ARBgHAZFCCMEo6qGURRqSsZEKUhaFUUmtU1pX4291b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNW91b2zVvdW9s1b3VvbNQ3Kc3zH8R3jx+HwGp3P3XIh3t7g7n3id3e3v17N2v6GL8f5Zsx8lVHVr5HtCAvOCIpVUKoakZcLCQaCcjWMRQuhCQ5bmEE4CjMIa0sVYmy3FNns467P7+YdvsV5FS3Cty5irFezRncpji73yqGrEM3Eq8x+8dcjCDjbIYkNONrbnPtx9o/sh9kO63n2k+1fefcv2b7l4PeHfne//jO6+X5zn/4Tg8f9jTBOW8qTUewmWfZ/j5qVi8a4zIZTd+1Y3nLW5JRsnka72SRjbzMch+3x40MaThSR17tBtZ4mL8e4ls5n+tta2NrOt6yYAS95a1FpE23HxrFRyEKUpXCwqMYxSlKRZCkUr4PYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtPYXxD707T2F8Q+9O09hfEPvTtOYwjdrzXEQ3M7WavHZuG6NxJWQUV2LMmqt4idiaKrTbWlE1/StZiKw/zBucwiiG7Bu2h1drAlxJx0e5nDWiyN3hy2a6c36cyWjZynIpGt1LcFkuIcn4pKaLUlKVL2U3lJRVVUJqr/AN1Smq11TStdiarVWmyqq7f7M//EADwRAAECAgYFCAkDBQAAAAAAAAECEQMSAAQhMUFRExRAcbEQIjJhcoGRogUVI0JSYIKh0kNTkiQzUGLB/9oACAECAQE/AP8ANMWfB2fr2vU1aoze1m0rY3NJvl81m0pAUQCpKBmqZvKFH7UqtVgpaJOmMrAjopPUHNvWq7AA8laqsFTxJ0wVG8lpVHrHxH/W03kE0UAksFJWM0zN5kpP22iFFXBWFoLZjBQyIxHC8W01lGg0/utdjNdLvms3W3UixVxlFay5wGCRkBgON5t2rSHRaLCefvlb5vECHDSFVlaklQdMJABiEZqJsS+R8XsH9Evm+2hHBZlUn6gLW3NvFIsFUJQBZSVB0LTalacweIw3MTs9VQF1iEk3TE75QVN3tSKsxIi1m9SidwwHcGHIkz1OID+itCknIRDKRue1s22iFE0URET4VAkZi4jvDilYgkExYfOgrMyVC0Je9KsiDZbxeiUqWQlIKibgA58BSK0CAIDgxFqC4oDGQAc1D54nK3Ah9ohxosL+2spe8XpO9Jcd7PQ1yOQQFBL3yJSk+LP4Gl9p+bwHIAvJA8S1PV0f44X8l/hT1dH+OF/Jf4Uj1WJVwkrKCFEgSlRuD2ulO0I6aO2niOX0l0IXbPDaEdNHbTxHL6S6ELtnhtAJBBF4LjeKa7Wv3fJD/Cmu1r93yQ/wpFjxYwAiLmALjmpDH6QPmHQHVtM36jfQzPuns2qr1KJFIKwYcPEqDKUMkg8TZk91JEyaOUSSyy4SszUj1OJCJKAVw8CA6kjJQ/6LMS120JUpBdKik5pJB+1KvX1pITG5yTZP7yes4KGeONt1HDTOGZ3wa93yalYr61Epg81IsnYTK3P0Rl72Li6ilKWXUoqOaiSfvtOsq1TQvbPK726Npm8bOzZ80f/EADkRAAECAQgFCQgDAQAAAAAAAAECEQMAEiExQVFhcRNAkaHBBBAjMlJgcrHwFCJCgYKi0dJDUJLh/9oACAEDAQE/AP7rDW9MNM/wNMfe+3drJJAoBVgG4kSixVl0sUC60jE3HDaeaFFWGSxWLrQM7hjtEgSRSCnAtwJ1haErDKGRtGI9Zy0StJo7XrwrfZTurkhCUBkjM2nE+stamifPtmzd797zEUokQgCBQVq6oOF/qyvp00+4sXUg/Is215IWFhxQRQpJrBuPre41iKSmGoitm2kDjJCQlKUiwb7T8zTzETYySP5EqB+kO/kNYWmelSbxvsPyMoa3ExVC00EG1qiL3F3k0iQA5IAvMkdJE0je4kFKDU5tOVY/6DrKkIX1kg427RTIQIYpYnxEkbPz3wJYE3AnZL2mHcvYP2l7TDuXsH7ShxUxCQkKDB6QOBOsL6qvCfI8/Jusrw8RrC+qrwnyPPybrK8PEawQ4INRoloIXZ+5X5loIXZ+5X5kmGhBJSGJorJ8ye8Ok6XRv8L/AFVt/mnWokdKKEspWFQzPAU5SnGdOcznd7XlDjpWAFGarGo5Hgac9YIBoIBzDyicnBDooPZsOVx3ZSYu1tTWvKHycAOuk9mwZ3ndnXIACgAAYBvLWdGNNPaia+E6rypzp70f/9k="
|
|
11783
|
-
},
|
|
11784
|
-
{
|
|
11785
|
-
value: _univerjs_core.PresetListType.BULLET_LIST_5,
|
|
11786
|
-
img: "data:image/jpeg;base64,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"
|
|
11787
|
-
}
|
|
12124
|
+
_univerjs_core.PresetListType.BULLET_LIST,
|
|
12125
|
+
_univerjs_core.PresetListType.BULLET_LIST_1,
|
|
12126
|
+
_univerjs_core.PresetListType.BULLET_LIST_2,
|
|
12127
|
+
_univerjs_core.PresetListType.BULLET_LIST_3,
|
|
12128
|
+
_univerjs_core.PresetListType.BULLET_LIST_4,
|
|
12129
|
+
_univerjs_core.PresetListType.BULLET_LIST_5
|
|
11788
12130
|
];
|
|
11789
|
-
const BulletListTypePicker = (props) => {
|
|
11790
|
-
|
|
11791
|
-
|
|
11792
|
-
|
|
11793
|
-
});
|
|
11794
|
-
};
|
|
12131
|
+
const BulletListTypePicker = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListTypePicker, {
|
|
12132
|
+
...props,
|
|
12133
|
+
options: bulletOptions
|
|
12134
|
+
});
|
|
11795
12135
|
|
|
11796
12136
|
//#endregion
|
|
11797
12137
|
//#region src/views/list-type-picker/index.ts
|
|
@@ -12462,7 +12802,7 @@ function TextColorSelectorMenuItemFactory(accessor) {
|
|
|
12462
12802
|
selectable: false
|
|
12463
12803
|
},
|
|
12464
12804
|
value$: new rxjs.Observable((subscriber) => {
|
|
12465
|
-
const defaultValue =
|
|
12805
|
+
const defaultValue = themeService.getColorFromTheme("gray.900");
|
|
12466
12806
|
const calc = () => {
|
|
12467
12807
|
var _textRun$ts9;
|
|
12468
12808
|
if (shouldSuppressDocMenuStateRefresh(accessor)) return;
|
|
@@ -12855,19 +13195,25 @@ function CheckListMenuItemFactory(accessor) {
|
|
|
12855
13195
|
};
|
|
12856
13196
|
}
|
|
12857
13197
|
function ResetTextColorMenuItemFactory(accessor) {
|
|
13198
|
+
const themeService = accessor.get(_univerjs_core.ThemeService);
|
|
12858
13199
|
return {
|
|
12859
13200
|
id: ResetInlineFormatTextColorCommand.id,
|
|
13201
|
+
commandId: SetInlineFormatTextColorCommand.id,
|
|
12860
13202
|
type: _univerjs_ui.MenuItemType.BUTTON,
|
|
12861
13203
|
title: "docs-ui.toolbar.resetColor",
|
|
12862
|
-
icon: "NoColorDoubleIcon"
|
|
13204
|
+
icon: "NoColorDoubleIcon",
|
|
13205
|
+
params: () => ({ value: themeService.getColorFromTheme("gray.900") })
|
|
12863
13206
|
};
|
|
12864
13207
|
}
|
|
12865
13208
|
function ResetBackgroundColorMenuItemFactory(accessor) {
|
|
13209
|
+
const themeService = accessor.get(_univerjs_core.ThemeService);
|
|
12866
13210
|
return {
|
|
12867
13211
|
id: ResetInlineFormatTextBackgroundColorCommand.id,
|
|
13212
|
+
commandId: SetInlineFormatTextBackgroundColorCommand.id,
|
|
12868
13213
|
type: _univerjs_ui.MenuItemType.BUTTON,
|
|
12869
13214
|
title: "docs-ui.toolbar.resetColor",
|
|
12870
|
-
icon: "NoColorDoubleIcon"
|
|
13215
|
+
icon: "NoColorDoubleIcon",
|
|
13216
|
+
params: () => ({ value: themeService.getColorFromTheme("primary.600") })
|
|
12871
13217
|
};
|
|
12872
13218
|
}
|
|
12873
13219
|
function BackgroundColorSelectorMenuItemFactory(accessor) {
|
|
@@ -13533,12 +13879,15 @@ function ParagraphMenuNoBackgroundMenuItemFactory(accessor) {
|
|
|
13533
13879
|
};
|
|
13534
13880
|
}
|
|
13535
13881
|
function ParagraphMenuResetTextColorMenuItemFactory(accessor) {
|
|
13882
|
+
const themeService = accessor.get(_univerjs_core.ThemeService);
|
|
13536
13883
|
return {
|
|
13537
13884
|
id: ResetInlineFormatTextColorCommand.id,
|
|
13885
|
+
commandId: SetInlineFormatTextColorCommand.id,
|
|
13538
13886
|
type: _univerjs_ui.MenuItemType.BUTTON,
|
|
13539
13887
|
icon: "NoColorDoubleIcon",
|
|
13540
13888
|
title: "docs-ui.toolbar.resetColor",
|
|
13541
13889
|
tooltip: "docs-ui.toolbar.resetColor",
|
|
13890
|
+
params: () => ({ value: themeService.getColorFromTheme("gray.900") }),
|
|
13542
13891
|
hidden$: (0, _univerjs_ui.getMenuHiddenObservable)(accessor, _univerjs_core.UniverInstanceType.UNIVER_DOC)
|
|
13543
13892
|
};
|
|
13544
13893
|
}
|
|
@@ -14584,13 +14933,333 @@ function CountBar(_props) {
|
|
|
14584
14933
|
});
|
|
14585
14934
|
}
|
|
14586
14935
|
|
|
14936
|
+
//#endregion
|
|
14937
|
+
//#region src/views/doc-statistics/use-doc-statistics.ts
|
|
14938
|
+
const STATISTICS_DEBOUNCE_TIME = 200;
|
|
14939
|
+
const EMPTY_STATISTICS = {
|
|
14940
|
+
words: 0,
|
|
14941
|
+
charactersWithoutSpaces: 0,
|
|
14942
|
+
charactersWithSpaces: 0,
|
|
14943
|
+
paragraphs: 0,
|
|
14944
|
+
nonAsianWords: 0,
|
|
14945
|
+
asianCharactersAndKoreanWords: 0
|
|
14946
|
+
};
|
|
14947
|
+
const EMPTY_LAYOUT_STATISTICS = {
|
|
14948
|
+
pages: 0,
|
|
14949
|
+
lines: 0
|
|
14950
|
+
};
|
|
14951
|
+
function getBodySelectionRanges(selectionManager) {
|
|
14952
|
+
return (selectionManager.getTextRanges() ?? []).filter((range) => !range.collapsed && !range.segmentId).map(({ collapsed, direction, endOffset, isActive, rangeType, segmentId, segmentPage, startOffset }) => ({
|
|
14953
|
+
collapsed,
|
|
14954
|
+
direction,
|
|
14955
|
+
endOffset,
|
|
14956
|
+
isActive,
|
|
14957
|
+
rangeType,
|
|
14958
|
+
segmentId,
|
|
14959
|
+
segmentPage,
|
|
14960
|
+
startOffset
|
|
14961
|
+
}));
|
|
14962
|
+
}
|
|
14963
|
+
function rangeIntersectsLine(range, startOffset, endOffset) {
|
|
14964
|
+
const rangeStart = Math.min(range.startOffset, range.endOffset);
|
|
14965
|
+
const rangeEnd = Math.max(range.startOffset, range.endOffset);
|
|
14966
|
+
return rangeStart < endOffset && rangeEnd > startOffset;
|
|
14967
|
+
}
|
|
14968
|
+
function getDocLayoutStatistics(skeleton, ranges = [], calculatePages = true) {
|
|
14969
|
+
var _skeleton$getSkeleton;
|
|
14970
|
+
const pages = (skeleton === null || skeleton === void 0 || (_skeleton$getSkeleton = skeleton.getSkeletonData()) === null || _skeleton$getSkeleton === void 0 ? void 0 : _skeleton$getSkeleton.pages) ?? [];
|
|
14971
|
+
if (ranges.length === 0) {
|
|
14972
|
+
let lines = 0;
|
|
14973
|
+
(0, _univerjs_engine_render.documentSkeletonLineIterator)(pages, {}, () => lines++);
|
|
14974
|
+
return {
|
|
14975
|
+
lines,
|
|
14976
|
+
pages: calculatePages ? pages.length : 0
|
|
14977
|
+
};
|
|
14978
|
+
}
|
|
14979
|
+
let lines = 0;
|
|
14980
|
+
const selectedPages = calculatePages ? /* @__PURE__ */ new Set() : null;
|
|
14981
|
+
(0, _univerjs_engine_render.documentSkeletonLineIterator)(pages, {}, ({ line, pageIndex }) => {
|
|
14982
|
+
if (ranges.some((range) => rangeIntersectsLine(range, line.st, line.ed))) {
|
|
14983
|
+
lines += 1;
|
|
14984
|
+
selectedPages === null || selectedPages === void 0 || selectedPages.add(pageIndex);
|
|
14985
|
+
}
|
|
14986
|
+
});
|
|
14987
|
+
return {
|
|
14988
|
+
lines,
|
|
14989
|
+
pages: (selectedPages === null || selectedPages === void 0 ? void 0 : selectedPages.size) ?? 0
|
|
14990
|
+
};
|
|
14991
|
+
}
|
|
14992
|
+
async function calculateStatistics({ calculateLayout, calculatePages, documentDataModel, cachedStatistics, locale, selectionRanges, signal, skeleton }) {
|
|
14993
|
+
const documentLayout = calculateLayout ? getDocLayoutStatistics(skeleton, [], calculatePages) : EMPTY_LAYOUT_STATISTICS;
|
|
14994
|
+
const selectionLayout = calculateLayout && selectionRanges.length > 0 ? getDocLayoutStatistics(skeleton, selectionRanges, calculatePages) : EMPTY_LAYOUT_STATISTICS;
|
|
14995
|
+
const [documentStatistics, selectionStatistics] = await Promise.all([cachedStatistics ?? documentDataModel.getStatistics({
|
|
14996
|
+
locale,
|
|
14997
|
+
signal
|
|
14998
|
+
}), selectionRanges.length > 0 ? documentDataModel.getStatistics({
|
|
14999
|
+
locale,
|
|
15000
|
+
ranges: selectionRanges,
|
|
15001
|
+
signal
|
|
15002
|
+
}) : null]);
|
|
15003
|
+
return {
|
|
15004
|
+
document: {
|
|
15005
|
+
...documentStatistics,
|
|
15006
|
+
...documentLayout
|
|
15007
|
+
},
|
|
15008
|
+
selection: selectionStatistics ? {
|
|
15009
|
+
...selectionStatistics,
|
|
15010
|
+
...selectionLayout
|
|
15011
|
+
} : null
|
|
15012
|
+
};
|
|
15013
|
+
}
|
|
15014
|
+
function cacheDocumentStatistics(cacheRef, documentDataModel, locale, revision, statistics) {
|
|
15015
|
+
cacheRef.current = {
|
|
15016
|
+
documentDataModel,
|
|
15017
|
+
locale,
|
|
15018
|
+
revision,
|
|
15019
|
+
statistics: {
|
|
15020
|
+
words: statistics.words,
|
|
15021
|
+
charactersWithoutSpaces: statistics.charactersWithoutSpaces,
|
|
15022
|
+
charactersWithSpaces: statistics.charactersWithSpaces,
|
|
15023
|
+
paragraphs: statistics.paragraphs,
|
|
15024
|
+
nonAsianWords: statistics.nonAsianWords,
|
|
15025
|
+
asianCharactersAndKoreanWords: statistics.asianCharactersAndKoreanWords
|
|
15026
|
+
}
|
|
15027
|
+
};
|
|
15028
|
+
}
|
|
15029
|
+
function useStatisticsSelection(documentDataModel, selectionManager) {
|
|
15030
|
+
return (0, _univerjs_ui.useObservable)(documentDataModel ? () => (0, rxjs.combineLatest)([selectionManager.textSelection$.pipe((0, rxjs.startWith)(void 0)), documentDataModel.change$]).pipe((0, rxjs.map)(([, revision]) => ({
|
|
15031
|
+
ranges: getBodySelectionRanges(selectionManager),
|
|
15032
|
+
revision
|
|
15033
|
+
}))) : null, {
|
|
15034
|
+
ranges: [],
|
|
15035
|
+
revision: 0
|
|
15036
|
+
}, false, [documentDataModel, selectionManager]);
|
|
15037
|
+
}
|
|
15038
|
+
function useDocumentSkeleton(documentDataModel, renderManagerService) {
|
|
15039
|
+
var _renderManagerService;
|
|
15040
|
+
const skeletonManager = documentDataModel ? (_renderManagerService = renderManagerService.getRenderUnitById(documentDataModel.getUnitId())) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.with(_univerjs_docs.DocSkeletonManagerService) : null;
|
|
15041
|
+
return (0, _univerjs_ui.useObservable)(skeletonManager ? skeletonManager.currentSkeleton$.pipe((0, rxjs.map)((value) => ({ value }))) : null, { value: (skeletonManager === null || skeletonManager === void 0 ? void 0 : skeletonManager.getSkeleton()) ?? null }, false, [skeletonManager]).value;
|
|
15042
|
+
}
|
|
15043
|
+
function useDocStatistics(calculateLayout = false) {
|
|
15044
|
+
const instanceService = (0, _univerjs_ui.useDependency)(_univerjs_core.IUniverInstanceService);
|
|
15045
|
+
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
15046
|
+
const renderManagerService = (0, _univerjs_ui.useDependency)(_univerjs_engine_render.IRenderManagerService);
|
|
15047
|
+
const selectionManager = (0, _univerjs_ui.useDependency)(_univerjs_docs.DocSelectionManagerService);
|
|
15048
|
+
const documentStatisticsCacheRef = (0, react.useRef)(null);
|
|
15049
|
+
const documentDataModel = (0, _univerjs_ui.useObservable)((0, react.useMemo)(() => instanceService.getCurrentTypeOfUnit$(_univerjs_core.UniverInstanceType.UNIVER_DOC), [instanceService]));
|
|
15050
|
+
const selectionSnapshot = useStatisticsSelection(documentDataModel, selectionManager);
|
|
15051
|
+
const locale = (0, _univerjs_ui.useObservable)(localeService.currentLocale$, localeService.getCurrentLocale());
|
|
15052
|
+
const showPages = (documentDataModel === null || documentDataModel === void 0 ? void 0 : documentDataModel.getDocumentStyle().documentFlavor) !== _univerjs_core.DocumentFlavor.MODERN;
|
|
15053
|
+
const skeleton = useDocumentSkeleton(calculateLayout ? documentDataModel : null, renderManagerService);
|
|
15054
|
+
const [state, setState] = (0, react.useState)({
|
|
15055
|
+
document: {
|
|
15056
|
+
...EMPTY_STATISTICS,
|
|
15057
|
+
lines: 0,
|
|
15058
|
+
pages: 0
|
|
15059
|
+
},
|
|
15060
|
+
selection: null,
|
|
15061
|
+
loading: true
|
|
15062
|
+
});
|
|
15063
|
+
const selectionRanges = selectionSnapshot.ranges;
|
|
15064
|
+
(0, react.useEffect)(() => {
|
|
15065
|
+
if (!(documentDataModel === null || documentDataModel === void 0 ? void 0 : documentDataModel.getBody())) return;
|
|
15066
|
+
const currentDocumentDataModel = documentDataModel;
|
|
15067
|
+
const cachedDocumentStatistics = documentStatisticsCacheRef.current;
|
|
15068
|
+
const hasCachedDocumentStatistics = (cachedDocumentStatistics === null || cachedDocumentStatistics === void 0 ? void 0 : cachedDocumentStatistics.documentDataModel) === currentDocumentDataModel && cachedDocumentStatistics.locale === locale && cachedDocumentStatistics.revision === selectionSnapshot.revision;
|
|
15069
|
+
const abortController = new AbortController();
|
|
15070
|
+
const timeout = setTimeout(async () => {
|
|
15071
|
+
setState((current) => ({
|
|
15072
|
+
...current,
|
|
15073
|
+
loading: true
|
|
15074
|
+
}));
|
|
15075
|
+
try {
|
|
15076
|
+
const result = await calculateStatistics({
|
|
15077
|
+
calculateLayout,
|
|
15078
|
+
calculatePages: showPages,
|
|
15079
|
+
documentDataModel: currentDocumentDataModel,
|
|
15080
|
+
cachedStatistics: hasCachedDocumentStatistics ? cachedDocumentStatistics.statistics : void 0,
|
|
15081
|
+
locale,
|
|
15082
|
+
selectionRanges,
|
|
15083
|
+
signal: abortController.signal,
|
|
15084
|
+
skeleton: skeleton ?? null
|
|
15085
|
+
});
|
|
15086
|
+
if (!hasCachedDocumentStatistics) cacheDocumentStatistics(documentStatisticsCacheRef, currentDocumentDataModel, locale, selectionSnapshot.revision, result.document);
|
|
15087
|
+
setState({
|
|
15088
|
+
...result,
|
|
15089
|
+
loading: false
|
|
15090
|
+
});
|
|
15091
|
+
} catch {
|
|
15092
|
+
if (!abortController.signal.aborted) setState((current) => ({
|
|
15093
|
+
...current,
|
|
15094
|
+
loading: false
|
|
15095
|
+
}));
|
|
15096
|
+
}
|
|
15097
|
+
}, STATISTICS_DEBOUNCE_TIME);
|
|
15098
|
+
return () => {
|
|
15099
|
+
clearTimeout(timeout);
|
|
15100
|
+
abortController.abort();
|
|
15101
|
+
};
|
|
15102
|
+
}, [
|
|
15103
|
+
calculateLayout,
|
|
15104
|
+
documentDataModel,
|
|
15105
|
+
locale,
|
|
15106
|
+
selectionRanges,
|
|
15107
|
+
selectionSnapshot,
|
|
15108
|
+
showPages,
|
|
15109
|
+
skeleton
|
|
15110
|
+
]);
|
|
15111
|
+
return {
|
|
15112
|
+
...state,
|
|
15113
|
+
showPages
|
|
15114
|
+
};
|
|
15115
|
+
}
|
|
15116
|
+
|
|
15117
|
+
//#endregion
|
|
15118
|
+
//#region src/views/doc-statistics/DocStatistics.tsx
|
|
15119
|
+
const STATISTIC_ROWS = [
|
|
15120
|
+
{
|
|
15121
|
+
key: "pages",
|
|
15122
|
+
label: "docs-ui.statistics.pages"
|
|
15123
|
+
},
|
|
15124
|
+
{
|
|
15125
|
+
key: "words",
|
|
15126
|
+
label: "docs-ui.statistics.words"
|
|
15127
|
+
},
|
|
15128
|
+
{
|
|
15129
|
+
key: "charactersWithoutSpaces",
|
|
15130
|
+
label: "docs-ui.statistics.charactersWithoutSpaces"
|
|
15131
|
+
},
|
|
15132
|
+
{
|
|
15133
|
+
key: "charactersWithSpaces",
|
|
15134
|
+
label: "docs-ui.statistics.charactersWithSpaces"
|
|
15135
|
+
},
|
|
15136
|
+
{
|
|
15137
|
+
key: "paragraphs",
|
|
15138
|
+
label: "docs-ui.statistics.paragraphs"
|
|
15139
|
+
},
|
|
15140
|
+
{
|
|
15141
|
+
key: "lines",
|
|
15142
|
+
label: "docs-ui.statistics.lines"
|
|
15143
|
+
},
|
|
15144
|
+
{
|
|
15145
|
+
key: "nonAsianWords",
|
|
15146
|
+
label: "docs-ui.statistics.nonAsianWords"
|
|
15147
|
+
},
|
|
15148
|
+
{
|
|
15149
|
+
key: "asianCharactersAndKoreanWords",
|
|
15150
|
+
label: "docs-ui.statistics.asianCharactersAndKoreanWords"
|
|
15151
|
+
}
|
|
15152
|
+
];
|
|
15153
|
+
function StatisticsPanel({ statistics, selection, showPages }) {
|
|
15154
|
+
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
15155
|
+
const localeTag = _univerjs_core.LOCALE_META[localeService.getCurrentLocale()].tag;
|
|
15156
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
15157
|
+
role: "dialog",
|
|
15158
|
+
"aria-label": localeService.t("docs-ui.statistics.title"),
|
|
15159
|
+
className: "univer-w-80 univer-rounded-lg univer-border univer-border-gray-200 univer-bg-gray-0 univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-800",
|
|
15160
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
15161
|
+
className: "univer-mb-3",
|
|
15162
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15163
|
+
className: "univer-text-sm univer-font-medium",
|
|
15164
|
+
children: localeService.t("docs-ui.statistics.title")
|
|
15165
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15166
|
+
className: "univer-mt-0.5 univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
|
|
15167
|
+
children: localeService.t(selection ? "docs-ui.statistics.selection" : "docs-ui.statistics.document")
|
|
15168
|
+
})]
|
|
15169
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dl", {
|
|
15170
|
+
className: "univer-grid univer-grid-cols-[1fr_auto] univer-gap-x-5 univer-gap-y-2 univer-text-sm",
|
|
15171
|
+
children: STATISTIC_ROWS.filter(({ key }) => showPages || key !== "pages").map(({ key, label }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
15172
|
+
className: "univer-contents",
|
|
15173
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("dt", { children: localeService.t(label) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dd", {
|
|
15174
|
+
className: "univer-m-0 univer-text-right univer-font-medium univer-tabular-nums",
|
|
15175
|
+
children: statistics[key].toLocaleString(localeTag)
|
|
15176
|
+
})]
|
|
15177
|
+
}, String(key)))
|
|
15178
|
+
})]
|
|
15179
|
+
});
|
|
15180
|
+
}
|
|
15181
|
+
function DocStatistics() {
|
|
15182
|
+
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
15183
|
+
const [open, setOpen] = (0, react.useState)(false);
|
|
15184
|
+
const { document, selection, loading, showPages } = useDocStatistics(open);
|
|
15185
|
+
const triggerRef = (0, react.useRef)(null);
|
|
15186
|
+
const anchorRect$ = (0, react.useMemo)(() => new rxjs.BehaviorSubject({
|
|
15187
|
+
left: 0,
|
|
15188
|
+
right: 0,
|
|
15189
|
+
top: 0,
|
|
15190
|
+
bottom: 0
|
|
15191
|
+
}), []);
|
|
15192
|
+
const localeTag = _univerjs_core.LOCALE_META[localeService.getCurrentLocale()].tag;
|
|
15193
|
+
const displayedStatistics = selection ?? document;
|
|
15194
|
+
const openLabel = localeService.t("docs-ui.statistics.open");
|
|
15195
|
+
const label = selection ? localeService.t("docs-ui.statistics.selectedWords", selection.words.toLocaleString(localeTag), document.words.toLocaleString(localeTag)) : localeService.t("docs-ui.statistics.wordCount", document.words.toLocaleString(localeTag));
|
|
15196
|
+
(0, react.useEffect)(() => {
|
|
15197
|
+
if (!open) return;
|
|
15198
|
+
const updatePosition = () => {
|
|
15199
|
+
var _triggerRef$current;
|
|
15200
|
+
const rect = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getBoundingClientRect();
|
|
15201
|
+
if (!rect) return;
|
|
15202
|
+
anchorRect$.next({
|
|
15203
|
+
left: rect.left,
|
|
15204
|
+
right: rect.right,
|
|
15205
|
+
top: rect.top,
|
|
15206
|
+
bottom: rect.bottom
|
|
15207
|
+
});
|
|
15208
|
+
};
|
|
15209
|
+
const closeOnEscape = (event) => {
|
|
15210
|
+
if (event.key === "Escape") setOpen(false);
|
|
15211
|
+
};
|
|
15212
|
+
updatePosition();
|
|
15213
|
+
window.addEventListener("resize", updatePosition);
|
|
15214
|
+
window.addEventListener("scroll", updatePosition, true);
|
|
15215
|
+
window.addEventListener("keydown", closeOnEscape);
|
|
15216
|
+
return () => {
|
|
15217
|
+
window.removeEventListener("resize", updatePosition);
|
|
15218
|
+
window.removeEventListener("scroll", updatePosition, true);
|
|
15219
|
+
window.removeEventListener("keydown", closeOnEscape);
|
|
15220
|
+
};
|
|
15221
|
+
}, [anchorRect$, open]);
|
|
15222
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
15223
|
+
ref: triggerRef,
|
|
15224
|
+
title: open ? void 0 : openLabel,
|
|
15225
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_ui.ToolbarButton, {
|
|
15226
|
+
noIcon: true,
|
|
15227
|
+
active: open,
|
|
15228
|
+
className: "!univer-h-7 univer-px-2 univer-text-xs !univer-text-gray-600 focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500 dark:!univer-text-gray-300",
|
|
15229
|
+
"aria-expanded": open,
|
|
15230
|
+
"aria-haspopup": "dialog",
|
|
15231
|
+
"aria-label": openLabel,
|
|
15232
|
+
onClick: () => setOpen((visible) => !visible),
|
|
15233
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
15234
|
+
className: "univer-flex univer-items-center univer-gap-1.5",
|
|
15235
|
+
children: [
|
|
15236
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.StatisticalFunctionIcon, { className: "univer-size-4" }),
|
|
15237
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: label }),
|
|
15238
|
+
loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.LoadingMultiIcon, { className: "univer-size-3.5 univer-animate-spin" })
|
|
15239
|
+
]
|
|
15240
|
+
})
|
|
15241
|
+
})
|
|
15242
|
+
}), open && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_ui.RectPopup, {
|
|
15243
|
+
portal: true,
|
|
15244
|
+
anchorRect$,
|
|
15245
|
+
direction: "top-left",
|
|
15246
|
+
onClickOutside: () => setOpen(false),
|
|
15247
|
+
onContextMenu: () => setOpen(false),
|
|
15248
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StatisticsPanel, {
|
|
15249
|
+
statistics: displayedStatistics,
|
|
15250
|
+
selection: selection != null,
|
|
15251
|
+
showPages
|
|
15252
|
+
})
|
|
15253
|
+
})] });
|
|
15254
|
+
}
|
|
15255
|
+
|
|
14587
15256
|
//#endregion
|
|
14588
15257
|
//#region src/views/doc-footer/DocFooter.tsx
|
|
14589
15258
|
function DocFooterContent() {
|
|
14590
15259
|
const config = (0, _univerjs_ui.useConfigValue)(DOCS_UI_PLUGIN_CONFIG_KEY);
|
|
14591
15260
|
return ((config === null || config === void 0 ? void 0 : config.footer) ?? true) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14592
15261
|
className: "univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5",
|
|
14593
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
15262
|
+
children: [(config === null || config === void 0 ? void 0 : config.wordCount) !== false && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DocStatistics, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CountBar, {})]
|
|
14594
15263
|
});
|
|
14595
15264
|
}
|
|
14596
15265
|
function DocFooter() {
|
|
@@ -15620,11 +16289,11 @@ const SideMenu = (0, react.forwardRef)((props, ref) => {
|
|
|
15620
16289
|
style: wrapperStyle,
|
|
15621
16290
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15622
16291
|
onClick: () => onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(!open),
|
|
15623
|
-
className: (0, _univerjs_design.clsx)("univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-
|
|
16292
|
+
className: (0, _univerjs_design.clsx)("univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-gray-0 univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200", iconClass),
|
|
15624
16293
|
style: iconStyle,
|
|
15625
16294
|
children: open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.MoreLeftIcon, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.CatalogueIcon, {})
|
|
15626
16295
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
15627
|
-
className: (0, _univerjs_design.clsx)(className, "univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300", { "univer-rounded-r-2xl univer-bg-
|
|
16296
|
+
className: (0, _univerjs_design.clsx)(className, "univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300", { "univer-rounded-r-2xl univer-bg-gray-0 univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900": isSideBar }),
|
|
15628
16297
|
style: {
|
|
15629
16298
|
...style,
|
|
15630
16299
|
transform: open ? "translateX(0)" : "translateX(-100%)",
|
|
@@ -16163,7 +16832,7 @@ function resolveDocsCustomBlockRenderViewport(params) {
|
|
|
16163
16832
|
//#endregion
|
|
16164
16833
|
//#region package.json
|
|
16165
16834
|
var name = "@univerjs/docs-ui";
|
|
16166
|
-
var version = "1.0.0-beta.
|
|
16835
|
+
var version = "1.0.0-beta.1";
|
|
16167
16836
|
|
|
16168
16837
|
//#endregion
|
|
16169
16838
|
//#region src/commands/commands/doc-paragraph-setting.command.ts
|
|
@@ -16266,6 +16935,7 @@ function resolveFloatToolbarMenus(menuManagerService, avaliableMenus) {
|
|
|
16266
16935
|
function FloatToolbar(props) {
|
|
16267
16936
|
const { avaliableMenus = DEFAULT_AVALIABLE_MENUS } = props;
|
|
16268
16937
|
const menuManagerService = (0, _univerjs_ui.useDependency)(_univerjs_ui.IMenuManagerService);
|
|
16938
|
+
const toolbarRef = (0, react.useRef)(null);
|
|
16269
16939
|
const [menus, setMenus] = (0, react.useState)([]);
|
|
16270
16940
|
const [extraMenus, setExtraMenus] = (0, react.useState)([]);
|
|
16271
16941
|
(0, react.useEffect)(() => {
|
|
@@ -16280,8 +16950,14 @@ function FloatToolbar(props) {
|
|
|
16280
16950
|
subscription.unsubscribe();
|
|
16281
16951
|
};
|
|
16282
16952
|
}, [avaliableMenus, menuManagerService]);
|
|
16953
|
+
(0, react.useEffect)(() => {
|
|
16954
|
+
const toolbar = toolbarRef.current;
|
|
16955
|
+
if (!toolbar) return;
|
|
16956
|
+
return (0, _univerjs_ui.preventBrowserZoomInContainers)([toolbar]);
|
|
16957
|
+
}, []);
|
|
16283
16958
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16284
|
-
|
|
16959
|
+
ref: toolbarRef,
|
|
16960
|
+
className: (0, _univerjs_design.clsx)("univer-box-border univer-flex univer-rounded univer-bg-gray-0 univer-py-1.5 univer-shadow-sm dark:!univer-border-gray-700 dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
|
|
16285
16961
|
children: [
|
|
16286
16962
|
menus.map((groupItem) => groupItem.item && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
16287
16963
|
className: "univer-flex univer-flex-nowrap univer-gap-2 univer-px-2",
|
|
@@ -17084,7 +17760,7 @@ function ParagraphSetting() {
|
|
|
17084
17760
|
title: localeService.t("docs-ui.doc.paragraphSetting.alignment"),
|
|
17085
17761
|
first: true,
|
|
17086
17762
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
17087
|
-
className: (0, _univerjs_design.clsx)("univer-flex univer-grid-cols-4 univer-items-center univer-justify-around univer-gap-2 univer-rounded-lg univer-bg-
|
|
17763
|
+
className: (0, _univerjs_design.clsx)("univer-flex univer-grid-cols-4 univer-items-center univer-justify-around univer-gap-2 univer-rounded-lg univer-bg-gray-0 univer-p-1 dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
|
|
17088
17764
|
children: ALIGNMENT_OPTIONS.map((item) => {
|
|
17089
17765
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Tooltip, {
|
|
17090
17766
|
title: localeService.t(item.label),
|
|
@@ -18465,6 +19141,7 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
|
|
|
18465
19141
|
const hoverOpenSchedulerRef = (0, react.useRef)(createParagraphMenuHoverOpenScheduler(() => openMenuRef.current()));
|
|
18466
19142
|
const commandService = (0, _univerjs_ui.useDependency)(_univerjs_core.ICommandService);
|
|
18467
19143
|
const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
|
|
19144
|
+
const themeService = (0, _univerjs_ui.useDependency)(_univerjs_core.ThemeService);
|
|
18468
19145
|
const docSelectionManagerService = (0, _univerjs_ui.useDependency)(_univerjs_docs.DocSelectionManagerService);
|
|
18469
19146
|
const direction = (0, _univerjs_ui.useObservable)(localeService.direction$, "ltr");
|
|
18470
19147
|
const docClipboardService = (0, _univerjs_ui.useDependency)(IDocClipboardService);
|
|
@@ -18633,8 +19310,8 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
|
|
|
18633
19310
|
if (!commandId) return;
|
|
18634
19311
|
if (commandId === "doc.menu.paragraph-t.reset-colors") {
|
|
18635
19312
|
if (formattingRange) replaceSelection(formattingRange);
|
|
18636
|
-
await commandService.executeCommand(SetInlineFormatTextColorCommand.id, { value: "
|
|
18637
|
-
await commandService.executeCommand(
|
|
19313
|
+
await commandService.executeCommand(SetInlineFormatTextColorCommand.id, { value: themeService.getColorFromTheme("gray.900") });
|
|
19314
|
+
await commandService.executeCommand(SetInlineFormatTextBackgroundColorCommand.id, { value: themeService.getColorFromTheme("primary.600") });
|
|
18638
19315
|
finishParagraphMenuCommand(docParagraphMenuService, layoutService, handleHideMenu);
|
|
18639
19316
|
return;
|
|
18640
19317
|
}
|
|
@@ -18748,7 +19425,7 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
|
|
|
18748
19425
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18749
19426
|
"data-u-comp": "paragraph-menu",
|
|
18750
19427
|
ref: anchorRef,
|
|
18751
|
-
className: (0, _univerjs_design.clsx)("univer-mr-1 univer-inline-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1 univer-rounded-md univer-border univer-border-gray-200 univer-bg-
|
|
19428
|
+
className: (0, _univerjs_design.clsx)("univer-mr-1 univer-inline-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1 univer-rounded-md univer-border univer-border-gray-200 univer-bg-gray-0 univer-px-2 univer-py-0 univer-shadow-sm univer-transition-colors hover:univer-bg-gray-50 hover:univer-shadow-md dark:!univer-border-gray-700 dark:!univer-bg-gray-900 dark:hover:!univer-bg-gray-800", { "univer-bg-gray-100 univer-shadow-md dark:!univer-bg-gray-800": visible }),
|
|
18752
19429
|
onMouseEnter: (e) => {
|
|
18753
19430
|
var _popup$onPointerEnter;
|
|
18754
19431
|
(_popup$onPointerEnter = popup.onPointerEnter) === null || _popup$onPointerEnter === void 0 || _popup$onPointerEnter.call(popup, e);
|
|
@@ -18768,7 +19445,7 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
|
|
|
18768
19445
|
isMouseOver.current = true;
|
|
18769
19446
|
hoverOpenSchedulerRef.current.openNow();
|
|
18770
19447
|
},
|
|
18771
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TargetIcon, { className: (0, _univerjs_design.clsx)(getParagraphMenuIconSizeClass(targetIconKey), "univer-shrink-0 univer-text-gray-700 dark:!univer-text-
|
|
19448
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TargetIcon, { className: (0, _univerjs_design.clsx)(getParagraphMenuIconSizeClass(targetIconKey), "univer-shrink-0 univer-text-gray-700 dark:!univer-text-gray-0") }), (currentActiveTarget === null || currentActiveTarget === void 0 ? void 0 : currentActiveTarget.draggable) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
18772
19449
|
type: "button",
|
|
18773
19450
|
className: "univer-group univer-flex univer-h-4 univer-w-2.5 univer-cursor-grab univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 active:univer-cursor-grabbing",
|
|
18774
19451
|
"aria-label": localeService.t("docs-ui.doc.blockMenu.dragBlock"),
|
|
@@ -18961,11 +19638,19 @@ function shouldUseInsertBelowRange(commandId, params) {
|
|
|
18961
19638
|
if (normalized.includes("table") && normalized.includes("create")) return true;
|
|
18962
19639
|
return normalized === "doc.command.create-table" || normalized === "doc.operation.create-table" || normalized === "doc.menu.paragraph-t.insert-below.command";
|
|
18963
19640
|
}
|
|
19641
|
+
const DRAG_HANDLE_DOTS = [
|
|
19642
|
+
"top-left",
|
|
19643
|
+
"top-right",
|
|
19644
|
+
"middle-left",
|
|
19645
|
+
"middle-right",
|
|
19646
|
+
"bottom-left",
|
|
19647
|
+
"bottom-right"
|
|
19648
|
+
];
|
|
18964
19649
|
function DragHandleDotsIcon() {
|
|
18965
19650
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18966
19651
|
className: "univer-grid univer-h-3.5 univer-w-2 univer-grid-cols-2 univer-place-items-center univer-gap-x-0.5 univer-gap-y-px",
|
|
18967
19652
|
"aria-hidden": "true",
|
|
18968
|
-
children:
|
|
19653
|
+
children: DRAG_HANDLE_DOTS.map((key) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300" }, key))
|
|
18969
19654
|
});
|
|
18970
19655
|
}
|
|
18971
19656
|
|
|
@@ -19809,8 +20494,9 @@ var TextBubbleShape = class TextBubbleShape extends _univerjs_engine_render.Shap
|
|
|
19809
20494
|
|
|
19810
20495
|
//#endregion
|
|
19811
20496
|
//#region src/controllers/doc-header-footer.controller.ts
|
|
19812
|
-
const
|
|
19813
|
-
const
|
|
20497
|
+
const HEADER_FOOTER_COVER_COLOR = "alpha(gray.0, 0.5)";
|
|
20498
|
+
const HEADER_FOOTER_STROKE_COLOR = "primary.600";
|
|
20499
|
+
const HEADER_FOOTER_LABEL_COLOR = "alpha(primary.600, 0.08)";
|
|
19814
20500
|
function checkCreateHeaderFooterType(viewModel, editArea, segmentPage, page) {
|
|
19815
20501
|
const { sectionId, config } = getDocPageSectionContext(viewModel.getDataModel().getSnapshot(), page);
|
|
19816
20502
|
const { defaultHeaderId, defaultFooterId, evenPageHeaderId, evenPageFooterId, firstPageHeaderId, firstPageFooterId, evenAndOddHeaders, useFirstPageHeaderFooter } = config;
|
|
@@ -19950,7 +20636,7 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
|
|
|
19950
20636
|
top: 0,
|
|
19951
20637
|
width: pageWidth,
|
|
19952
20638
|
height: marginTop,
|
|
19953
|
-
fill:
|
|
20639
|
+
fill: HEADER_FOOTER_COVER_COLOR
|
|
19954
20640
|
});
|
|
19955
20641
|
ctx.save();
|
|
19956
20642
|
ctx.translate(0, pageHeight - marginBottom);
|
|
@@ -19959,7 +20645,7 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
|
|
|
19959
20645
|
top: 0,
|
|
19960
20646
|
width: pageWidth,
|
|
19961
20647
|
height: marginBottom,
|
|
19962
|
-
fill:
|
|
20648
|
+
fill: HEADER_FOOTER_COVER_COLOR
|
|
19963
20649
|
});
|
|
19964
20650
|
ctx.restore();
|
|
19965
20651
|
} else {
|
|
@@ -19970,7 +20656,7 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
|
|
|
19970
20656
|
top: marginTop,
|
|
19971
20657
|
width: pageWidth,
|
|
19972
20658
|
height: pageHeight - marginTop - marginBottom,
|
|
19973
|
-
fill:
|
|
20659
|
+
fill: HEADER_FOOTER_COVER_COLOR
|
|
19974
20660
|
});
|
|
19975
20661
|
ctx.restore();
|
|
19976
20662
|
}
|
|
@@ -20002,12 +20688,12 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
|
|
|
20002
20688
|
ctx.translate(0, marginTop + 1);
|
|
20003
20689
|
TextBubbleShape.drawWith(ctx, {
|
|
20004
20690
|
text: localeService.t("docs-ui.headerFooter.header"),
|
|
20005
|
-
color:
|
|
20691
|
+
color: HEADER_FOOTER_LABEL_COLOR
|
|
20006
20692
|
});
|
|
20007
20693
|
ctx.translate(0, pageHeight - marginTop - marginBottom);
|
|
20008
20694
|
TextBubbleShape.drawWith(ctx, {
|
|
20009
20695
|
text: localeService.t("docs-ui.headerFooter.footer"),
|
|
20010
|
-
color:
|
|
20696
|
+
color: HEADER_FOOTER_LABEL_COLOR
|
|
20011
20697
|
});
|
|
20012
20698
|
}
|
|
20013
20699
|
ctx.restore();
|
|
@@ -21028,13 +21714,14 @@ DocEditorBridgeController = __decorate([
|
|
|
21028
21714
|
//#endregion
|
|
21029
21715
|
//#region src/controllers/render-controllers/doc-ime-input.controller.ts
|
|
21030
21716
|
let DocIMEInputController = class DocIMEInputController extends _univerjs_core.Disposable {
|
|
21031
|
-
constructor(_context, _docSelectionRenderService, _docImeInputManagerService, _docSkeletonManagerService, _docStateEmitService, _commandService) {
|
|
21717
|
+
constructor(_context, _docSelectionRenderService, _docImeInputManagerService, _docSkeletonManagerService, _docStateEmitService, _docSelectionManagerService, _commandService) {
|
|
21032
21718
|
super();
|
|
21033
21719
|
this._context = _context;
|
|
21034
21720
|
this._docSelectionRenderService = _docSelectionRenderService;
|
|
21035
21721
|
this._docImeInputManagerService = _docImeInputManagerService;
|
|
21036
21722
|
this._docSkeletonManagerService = _docSkeletonManagerService;
|
|
21037
21723
|
this._docStateEmitService = _docStateEmitService;
|
|
21724
|
+
this._docSelectionManagerService = _docSelectionManagerService;
|
|
21038
21725
|
this._commandService = _commandService;
|
|
21039
21726
|
_defineProperty(this, "_previousIMEContent", "");
|
|
21040
21727
|
_defineProperty(this, "_isCompositionStart", true);
|
|
@@ -21056,11 +21743,14 @@ let DocIMEInputController = class DocIMEInputController extends _univerjs_core.D
|
|
|
21056
21743
|
}
|
|
21057
21744
|
_initialOnCompositionstart() {
|
|
21058
21745
|
this._onStartSubscription = this._docSelectionRenderService.onCompositionstart$.subscribe((config) => {
|
|
21746
|
+
var _this$_docSelectionMa;
|
|
21059
21747
|
if (config == null) return;
|
|
21060
21748
|
this._resetIME();
|
|
21061
|
-
const { activeRange } = config;
|
|
21749
|
+
const { activeRange, rangeList = [] } = config;
|
|
21062
21750
|
if (activeRange == null) return;
|
|
21063
21751
|
this._docImeInputManagerService.setActiveRange(_univerjs_core.Tools.deepClone(activeRange));
|
|
21752
|
+
this._docImeInputManagerService.setPreviousDocRanges(_univerjs_core.Tools.deepClone([...rangeList, ...this._docSelectionRenderService.getAllRectRanges()]));
|
|
21753
|
+
this._docImeInputManagerService.setPreviousSelectionOptions(_univerjs_core.Tools.deepClone(((_this$_docSelectionMa = this._docSelectionManagerService.getSelectionInfo()) === null || _this$_docSelectionMa === void 0 ? void 0 : _this$_docSelectionMa.options) ?? null));
|
|
21064
21754
|
});
|
|
21065
21755
|
}
|
|
21066
21756
|
_initialOnCompositionUpdate() {
|
|
@@ -21112,11 +21802,12 @@ let DocIMEInputController = class DocIMEInputController extends _univerjs_core.D
|
|
|
21112
21802
|
trigger: IMEInputCommand.id,
|
|
21113
21803
|
redoState: {
|
|
21114
21804
|
actions: [],
|
|
21115
|
-
textRanges: [previousActiveRange]
|
|
21805
|
+
textRanges: this._docImeInputManagerService.getPreviousDocRanges().length ? this._docImeInputManagerService.getPreviousDocRanges() : [previousActiveRange]
|
|
21116
21806
|
},
|
|
21117
21807
|
undoState: {
|
|
21118
21808
|
actions: [],
|
|
21119
|
-
textRanges: [previousActiveRange]
|
|
21809
|
+
textRanges: this._docImeInputManagerService.getPreviousDocRanges().length ? this._docImeInputManagerService.getPreviousDocRanges() : [previousActiveRange],
|
|
21810
|
+
options: this._docImeInputManagerService.getPreviousSelectionOptions() ?? void 0
|
|
21120
21811
|
},
|
|
21121
21812
|
isCompositionEnd: true
|
|
21122
21813
|
});
|
|
@@ -21126,6 +21817,8 @@ let DocIMEInputController = class DocIMEInputController extends _univerjs_core.D
|
|
|
21126
21817
|
this._isCompositionStart = true;
|
|
21127
21818
|
this._docImeInputManagerService.clearUndoRedoMutationParamsCache();
|
|
21128
21819
|
this._docImeInputManagerService.setActiveRange(null);
|
|
21820
|
+
this._docImeInputManagerService.setPreviousDocRanges([]);
|
|
21821
|
+
this._docImeInputManagerService.setPreviousSelectionOptions(null);
|
|
21129
21822
|
}
|
|
21130
21823
|
};
|
|
21131
21824
|
DocIMEInputController = __decorate([
|
|
@@ -21133,7 +21826,8 @@ DocIMEInputController = __decorate([
|
|
|
21133
21826
|
__decorateParam(2, (0, _univerjs_core.Inject)(DocIMEInputManagerService)),
|
|
21134
21827
|
__decorateParam(3, (0, _univerjs_core.Inject)(_univerjs_docs.DocSkeletonManagerService)),
|
|
21135
21828
|
__decorateParam(4, (0, _univerjs_core.Inject)(_univerjs_docs.DocStateEmitService)),
|
|
21136
|
-
__decorateParam(5, _univerjs_core.
|
|
21829
|
+
__decorateParam(5, (0, _univerjs_core.Inject)(_univerjs_docs.DocSelectionManagerService)),
|
|
21830
|
+
__decorateParam(6, _univerjs_core.ICommandService)
|
|
21137
21831
|
], DocIMEInputController);
|
|
21138
21832
|
|
|
21139
21833
|
//#endregion
|
|
@@ -21160,10 +21854,10 @@ let DocInputController = class DocInputController extends _univerjs_core.Disposa
|
|
|
21160
21854
|
}
|
|
21161
21855
|
_initialNormalInput() {
|
|
21162
21856
|
this._onInputSubscription = this._docSelectionRenderService.onInput$.subscribe(async (config) => {
|
|
21163
|
-
var _docDataModel$getSelf;
|
|
21857
|
+
var _docDataModel$getSelf, _originBody$blockRang, _originBody$columnGro, _originBody$customBlo, _originBody$tables;
|
|
21164
21858
|
if (config == null) return;
|
|
21165
21859
|
const { unitId } = this._context;
|
|
21166
|
-
const { event, content = "", activeRange } = config;
|
|
21860
|
+
const { event, content = "", activeRange, rangeList = [] } = config;
|
|
21167
21861
|
const e = event;
|
|
21168
21862
|
if (e.defaultPrevented) return;
|
|
21169
21863
|
if (!_univerjs_core.SHEET_EDITOR_UNITS.includes(unitId) && this._isEmbedChildInputActive(unitId, e)) return;
|
|
@@ -21177,26 +21871,32 @@ let DocInputController = class DocInputController extends _univerjs_core.Disposa
|
|
|
21177
21871
|
const curCustomRange = getCustomRangeAtPosition((originBody === null || originBody === void 0 ? void 0 : originBody.customRanges) ?? [], activeRange.endOffset, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
|
|
21178
21872
|
const curTextRun = getTextRunAtPosition(originBody, activeRange.endOffset, defaultTextStyle, cacheStyle, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
|
|
21179
21873
|
const curCustomDecorations = getCustomDecorationAtPosition((originBody === null || originBody === void 0 ? void 0 : originBody.customDecorations) ?? [], activeRange.endOffset);
|
|
21180
|
-
|
|
21874
|
+
const insertBody = {
|
|
21875
|
+
dataStream: content,
|
|
21876
|
+
textRuns: curTextRun ? [{
|
|
21877
|
+
...curTextRun,
|
|
21878
|
+
st: 0,
|
|
21879
|
+
ed: content.length
|
|
21880
|
+
}] : [],
|
|
21881
|
+
customRanges: curCustomRange ? [{
|
|
21882
|
+
...curCustomRange,
|
|
21883
|
+
startIndex: 0,
|
|
21884
|
+
endIndex: content.length - 1
|
|
21885
|
+
}] : [],
|
|
21886
|
+
customDecorations: curCustomDecorations.map((customDecoration) => ({
|
|
21887
|
+
...customDecoration,
|
|
21888
|
+
startIndex: 0,
|
|
21889
|
+
endIndex: content.length - 1
|
|
21890
|
+
}))
|
|
21891
|
+
};
|
|
21892
|
+
if (!activeRange.collapsed && (Boolean((_originBody$blockRang = originBody.blockRanges) === null || _originBody$blockRang === void 0 ? void 0 : _originBody$blockRang.length) || Boolean((_originBody$columnGro = originBody.columnGroups) === null || _originBody$columnGro === void 0 ? void 0 : _originBody$columnGro.length) || Boolean((_originBody$customBlo = originBody.customBlocks) === null || _originBody$customBlo === void 0 ? void 0 : _originBody$customBlo.length) || Boolean((_originBody$tables = originBody.tables) === null || _originBody$tables === void 0 ? void 0 : _originBody$tables.length)) || rangeList.length > 1 || this._docSelectionRenderService.getAllRectRanges().length > 0) await this._commandService.executeCommand(ReplaceSelectionCommand.id, {
|
|
21181
21893
|
unitId,
|
|
21182
|
-
body:
|
|
21183
|
-
|
|
21184
|
-
|
|
21185
|
-
|
|
21186
|
-
|
|
21187
|
-
|
|
21188
|
-
}] : [],
|
|
21189
|
-
customRanges: curCustomRange ? [{
|
|
21190
|
-
...curCustomRange,
|
|
21191
|
-
startIndex: 0,
|
|
21192
|
-
endIndex: content.length - 1
|
|
21193
|
-
}] : [],
|
|
21194
|
-
customDecorations: curCustomDecorations.map((customDecoration) => ({
|
|
21195
|
-
...customDecoration,
|
|
21196
|
-
startIndex: 0,
|
|
21197
|
-
endIndex: content.length - 1
|
|
21198
|
-
}))
|
|
21199
|
-
},
|
|
21894
|
+
body: insertBody,
|
|
21895
|
+
segmentId
|
|
21896
|
+
});
|
|
21897
|
+
else await this._commandService.executeCommand(_univerjs_docs.InsertTextCommand.id, {
|
|
21898
|
+
unitId,
|
|
21899
|
+
body: insertBody,
|
|
21200
21900
|
range: activeRange,
|
|
21201
21901
|
segmentId
|
|
21202
21902
|
});
|
|
@@ -21578,17 +22278,21 @@ let DocIMEStateChangeInterceptorService = class DocIMEStateChangeInterceptorServ
|
|
|
21578
22278
|
if (imeInputManagerService == null) return null;
|
|
21579
22279
|
const historyParams = imeInputManagerService.fetchComposedUndoRedoMutationParams();
|
|
21580
22280
|
if (historyParams == null) throw new Error("historyParams is null in RichTextEditingMutation");
|
|
21581
|
-
const { undoMutationParams, redoMutationParams, previousActiveRange } = historyParams;
|
|
22281
|
+
const { undoMutationParams, redoMutationParams, previousActiveRange, previousDocRanges, previousSelectionOptions } = historyParams;
|
|
21582
22282
|
return {
|
|
21583
22283
|
...changeStateInfo,
|
|
21584
22284
|
redoState: {
|
|
21585
22285
|
...changeStateInfo.redoState,
|
|
21586
|
-
actions: redoMutationParams.actions
|
|
22286
|
+
actions: redoMutationParams.actions,
|
|
22287
|
+
textRanges: redoMutationParams.textRanges,
|
|
22288
|
+
options: redoMutationParams.options,
|
|
22289
|
+
isEditing: redoMutationParams.isEditing
|
|
21587
22290
|
},
|
|
21588
22291
|
undoState: {
|
|
21589
22292
|
...changeStateInfo.undoState,
|
|
21590
22293
|
actions: undoMutationParams.actions,
|
|
21591
|
-
textRanges: [previousActiveRange]
|
|
22294
|
+
textRanges: previousDocRanges.length ? previousDocRanges : [previousActiveRange],
|
|
22295
|
+
options: previousSelectionOptions ?? void 0
|
|
21592
22296
|
}
|
|
21593
22297
|
};
|
|
21594
22298
|
}
|
|
@@ -22645,6 +23349,7 @@ exports.BackgroundColorSelectorMenuItemFactory = BackgroundColorSelectorMenuItem
|
|
|
22645
23349
|
exports.BoldMenuItemFactory = BoldMenuItemFactory;
|
|
22646
23350
|
exports.BreakLineCommand = BreakLineCommand;
|
|
22647
23351
|
exports.BulletListCommand = BulletListCommand;
|
|
23352
|
+
exports.BulletListTypePicker = BulletListTypePicker;
|
|
22648
23353
|
exports.ChangeListNestingLevelCommand = ChangeListNestingLevelCommand;
|
|
22649
23354
|
exports.ChangeListNestingLevelType = ChangeListNestingLevelType;
|
|
22650
23355
|
exports.ChangeListTypeCommand = ChangeListTypeCommand;
|
|
@@ -22807,6 +23512,7 @@ exports.NORMAL_TEXT_SELECTION_PLUGIN_NAME = NORMAL_TEXT_SELECTION_PLUGIN_NAME;
|
|
|
22807
23512
|
exports.NodePositionConvertToCursor = NodePositionConvertToCursor;
|
|
22808
23513
|
exports.NodePositionConvertToRectRange = NodePositionConvertToRectRange;
|
|
22809
23514
|
exports.OrderListCommand = OrderListCommand;
|
|
23515
|
+
exports.OrderListTypePicker = OrderListTypePicker;
|
|
22810
23516
|
exports.ParagraphMenuInsertBelowSubmenuItemFactory = ParagraphMenuInsertBelowSubmenuItemFactory;
|
|
22811
23517
|
exports.PastePluginLark = LarkPastePlugin;
|
|
22812
23518
|
exports.PastePluginUniver = UniverPastePlugin;
|