@univerjs/docs-thread-comment-ui 1.0.0-rc.0 → 1.0.0
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 +64 -13
- package/lib/cjs/locale/ar-SA.js +0 -1
- package/lib/cjs/locale/ca-ES.js +0 -1
- package/lib/cjs/locale/de-DE.js +0 -1
- package/lib/cjs/locale/en-US.js +1 -2
- package/lib/cjs/locale/es-ES.js +0 -1
- package/lib/cjs/locale/fa-IR.js +0 -1
- package/lib/cjs/locale/fr-FR.js +0 -1
- package/lib/cjs/locale/id-ID.js +0 -1
- package/lib/cjs/locale/it-IT.js +0 -1
- package/lib/cjs/locale/ja-JP.js +0 -1
- package/lib/cjs/locale/ko-KR.js +0 -1
- package/lib/cjs/locale/pl-PL.js +0 -1
- package/lib/cjs/locale/pt-BR.js +0 -1
- package/lib/cjs/locale/ru-RU.js +0 -1
- package/lib/cjs/locale/sk-SK.js +0 -1
- package/lib/cjs/locale/vi-VN.js +0 -1
- package/lib/cjs/locale/zh-CN.js +0 -1
- package/lib/cjs/locale/zh-HK.js +0 -1
- package/lib/cjs/locale/zh-TW.js +0 -1
- package/lib/es/index.js +61 -16
- package/lib/es/locale/en-US.js +1 -1
- package/lib/index.js +61 -16
- package/lib/locale/en-US.js +1 -1
- package/lib/types/controllers/doc-thread-comment-ui.controller.d.ts +26 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/mobile-plugin.d.ts +32 -0
- package/lib/types/views/doc-thread-comment-panel/index.d.ts +16 -0
- package/lib/umd/index.js +3 -3
- package/lib/umd/locale/en-US.js +1 -1
- package/package.json +15 -15
package/lib/cjs/index.js
CHANGED
|
@@ -86,7 +86,7 @@ const DOCS_THREAD_COMMENT_PANEL = "univer.doc.thread-comment-panel";
|
|
|
86
86
|
const PLUGIN_NAME = "DOC_THREAD_COMMENT_UI_PLUGIN";
|
|
87
87
|
|
|
88
88
|
//#endregion
|
|
89
|
-
//#region \0@oxc-project+runtime@0.
|
|
89
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
|
|
90
90
|
function _typeof(o) {
|
|
91
91
|
"@babel/helpers - typeof";
|
|
92
92
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -97,7 +97,7 @@ function _typeof(o) {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
//#endregion
|
|
100
|
-
//#region \0@oxc-project+runtime@0.
|
|
100
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
|
|
101
101
|
function toPrimitive(t, r) {
|
|
102
102
|
if ("object" != _typeof(t) || !t) return t;
|
|
103
103
|
var e = t[Symbol.toPrimitive];
|
|
@@ -110,14 +110,14 @@ function toPrimitive(t, r) {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
//#endregion
|
|
113
|
-
//#region \0@oxc-project+runtime@0.
|
|
113
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
|
|
114
114
|
function toPropertyKey(t) {
|
|
115
115
|
var i = toPrimitive(t, "string");
|
|
116
116
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
//#endregion
|
|
120
|
-
//#region \0@oxc-project+runtime@0.
|
|
120
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
|
|
121
121
|
function _defineProperty(e, r, t) {
|
|
122
122
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
123
123
|
value: t,
|
|
@@ -128,7 +128,7 @@ function _defineProperty(e, r, t) {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
//#endregion
|
|
131
|
-
//#region \0@oxc-project+runtime@0.
|
|
131
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
|
|
132
132
|
function __decorateParam(paramIndex, decorator) {
|
|
133
133
|
return function(target, key) {
|
|
134
134
|
decorator(target, key, paramIndex);
|
|
@@ -136,7 +136,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
//#endregion
|
|
139
|
-
//#region \0@oxc-project+runtime@0.
|
|
139
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
140
140
|
function __decorate(decorators, target, key, desc) {
|
|
141
141
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
142
142
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -368,21 +368,21 @@ function ToolbarDocCommentMenuItemFactory(accessor) {
|
|
|
368
368
|
//#endregion
|
|
369
369
|
//#region src/menu/schema.ts
|
|
370
370
|
const menuSchema = {
|
|
371
|
-
[_univerjs_ui.RibbonInsertGroup.
|
|
371
|
+
[_univerjs_ui.RibbonInsertGroup.OTHERS]: {
|
|
372
372
|
[ToggleCommentPanelOperation.id]: {
|
|
373
|
-
order:
|
|
373
|
+
order: 0,
|
|
374
374
|
gridLayout: {
|
|
375
375
|
row: 1,
|
|
376
|
-
column:
|
|
376
|
+
column: 1,
|
|
377
377
|
showLabel: true
|
|
378
378
|
},
|
|
379
379
|
menuItemFactory: ToolbarDocCommentMenuItemFactory
|
|
380
380
|
},
|
|
381
381
|
[StartAddCommentOperation.id]: {
|
|
382
|
-
order:
|
|
382
|
+
order: .1,
|
|
383
383
|
gridLayout: {
|
|
384
384
|
row: 2,
|
|
385
|
-
column:
|
|
385
|
+
column: 1,
|
|
386
386
|
showLabel: true
|
|
387
387
|
},
|
|
388
388
|
menuItemFactory: AddDocCommentMenuItemFactory
|
|
@@ -409,7 +409,7 @@ const menuSchema = {
|
|
|
409
409
|
//#endregion
|
|
410
410
|
//#region package.json
|
|
411
411
|
var name = "@univerjs/docs-thread-comment-ui";
|
|
412
|
-
var version = "1.0.0
|
|
412
|
+
var version = "1.0.0";
|
|
413
413
|
|
|
414
414
|
//#endregion
|
|
415
415
|
//#region src/config/config.ts
|
|
@@ -425,7 +425,8 @@ function getDocCommentPanelSubUnitId(draft, unitId) {
|
|
|
425
425
|
const DocThreadCommentPanel = () => {
|
|
426
426
|
const univerInstanceService = (0, _univerjs_ui.useDependency)(_univerjs_core.IUniverInstanceService);
|
|
427
427
|
const injector = (0, _univerjs_ui.useDependency)(_univerjs_core.Injector);
|
|
428
|
-
const doc = (0,
|
|
428
|
+
const doc$ = (0, react.useMemo)(() => univerInstanceService.getCurrentTypeOfUnit$(_univerjs_core.UniverInstanceType.UNIVER_DOC).pipe((0, rxjs.filter)((doc) => !!doc && !(0, _univerjs_core.isInternalEditorID)(doc.getUnitId()))), [univerInstanceService]);
|
|
429
|
+
const doc = (0, _univerjs_ui.useObservable)(doc$);
|
|
429
430
|
const draftService = (0, _univerjs_ui.useDependency)(_univerjs_thread_comment_ui.ThreadCommentDraftService);
|
|
430
431
|
const drawingDraft = (0, _univerjs_ui.useObservable)(draftService.draft$, draftService.draft);
|
|
431
432
|
const subUnitId$ = (0, react.useMemo)(() => new rxjs.Observable((sub) => sub.next(getDocCommentPanelSubUnitId(drawingDraft, doc === null || doc === void 0 ? void 0 : doc.getUnitId()))), [doc, drawingDraft]);
|
|
@@ -882,6 +883,50 @@ let DocThreadCommentUIController = class DocThreadCommentUIController extends _u
|
|
|
882
883
|
};
|
|
883
884
|
DocThreadCommentUIController = __decorate([__decorateParam(0, _univerjs_core.ICommandService), __decorateParam(1, _univerjs_ui.IMenuManagerService)], DocThreadCommentUIController);
|
|
884
885
|
|
|
886
|
+
//#endregion
|
|
887
|
+
//#region src/mobile-plugin.ts
|
|
888
|
+
let UniverDocsThreadCommentMobileUIPlugin = class UniverDocsThreadCommentMobileUIPlugin extends _univerjs_core.Plugin {
|
|
889
|
+
constructor(_config = defaultPluginConfig, _injector, _renderManagerSrv, _configService) {
|
|
890
|
+
super();
|
|
891
|
+
this._config = _config;
|
|
892
|
+
this._injector = _injector;
|
|
893
|
+
this._renderManagerSrv = _renderManagerSrv;
|
|
894
|
+
this._configService = _configService;
|
|
895
|
+
const { menu, ...rest } = (0, _univerjs_core.merge)({}, defaultPluginConfig, this._config);
|
|
896
|
+
if (menu) this._configService.setConfig("menu", menu, { merge: true });
|
|
897
|
+
this._configService.setConfig(DOCS_THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY, rest);
|
|
898
|
+
}
|
|
899
|
+
onStarting() {
|
|
900
|
+
[
|
|
901
|
+
[ComponentsController],
|
|
902
|
+
[DocThreadCommentUIController],
|
|
903
|
+
[DocThreadCommentSelectionController],
|
|
904
|
+
[DocThreadCommentService]
|
|
905
|
+
].forEach((dep) => {
|
|
906
|
+
this._injector.add(dep);
|
|
907
|
+
});
|
|
908
|
+
this._injector.get(ComponentsController);
|
|
909
|
+
}
|
|
910
|
+
onRendered() {
|
|
911
|
+
this._initRenderModule();
|
|
912
|
+
this._injector.get(DocThreadCommentSelectionController);
|
|
913
|
+
this._injector.get(DocThreadCommentUIController);
|
|
914
|
+
}
|
|
915
|
+
_initRenderModule() {
|
|
916
|
+
this._renderManagerSrv.registerRenderModule(_univerjs_core.UniverInstanceType.UNIVER_DOC, [DocThreadCommentRenderController]);
|
|
917
|
+
}
|
|
918
|
+
};
|
|
919
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "pluginName", PLUGIN_NAME);
|
|
920
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "packageName", name);
|
|
921
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "version", version);
|
|
922
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "type", _univerjs_core.UniverInstanceType.UNIVER_DOC);
|
|
923
|
+
UniverDocsThreadCommentMobileUIPlugin = __decorate([
|
|
924
|
+
(0, _univerjs_core.DependentOn)(_univerjs_docs.UniverDocsPlugin, _univerjs_docs_thread_comment.UniverDocsThreadCommentPlugin, _univerjs_thread_comment.UniverThreadCommentPlugin, _univerjs_drawing.UniverDrawingPlugin, _univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_docs_ui.UniverDocsMobileUIPlugin, _univerjs_thread_comment_ui.UniverThreadCommentMobileUIPlugin),
|
|
925
|
+
__decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
|
|
926
|
+
__decorateParam(2, _univerjs_engine_render.IRenderManagerService),
|
|
927
|
+
__decorateParam(3, _univerjs_core.IConfigService)
|
|
928
|
+
], UniverDocsThreadCommentMobileUIPlugin);
|
|
929
|
+
|
|
885
930
|
//#endregion
|
|
886
931
|
//#region src/plugin.ts
|
|
887
932
|
const STARTING_DEPENDENCIES = [
|
|
@@ -933,6 +978,12 @@ exports.DeleteDocCommentComment = DeleteDocCommentComment;
|
|
|
933
978
|
exports.DocsThreadCommentUIMenuSchema = menuSchema;
|
|
934
979
|
exports.ShowCommentPanelOperation = ShowCommentPanelOperation;
|
|
935
980
|
exports.StartAddCommentOperation = StartAddCommentOperation;
|
|
981
|
+
Object.defineProperty(exports, 'UniverDocsThreadCommentMobileUIPlugin', {
|
|
982
|
+
enumerable: true,
|
|
983
|
+
get: function () {
|
|
984
|
+
return UniverDocsThreadCommentMobileUIPlugin;
|
|
985
|
+
}
|
|
986
|
+
});
|
|
936
987
|
Object.defineProperty(exports, 'UniverDocsThreadCommentUIPlugin', {
|
|
937
988
|
enumerable: true,
|
|
938
989
|
get: function () {
|
package/lib/cjs/locale/ar-SA.js
CHANGED
package/lib/cjs/locale/ca-ES.js
CHANGED
package/lib/cjs/locale/de-DE.js
CHANGED
package/lib/cjs/locale/en-US.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/locale/en-US.ts
|
|
3
2
|
/**
|
|
4
3
|
* Copyright 2023-present DreamNum Co., Ltd.
|
|
@@ -18,7 +17,7 @@
|
|
|
18
17
|
const locale = { "docs-thread-comment-ui": { panel: {
|
|
19
18
|
title: "Comment Management",
|
|
20
19
|
addComment: "Add Comment",
|
|
21
|
-
openComments: "
|
|
20
|
+
openComments: "Comments"
|
|
22
21
|
} } };
|
|
23
22
|
|
|
24
23
|
//#endregion
|
package/lib/cjs/locale/es-ES.js
CHANGED
package/lib/cjs/locale/fa-IR.js
CHANGED
package/lib/cjs/locale/fr-FR.js
CHANGED
package/lib/cjs/locale/id-ID.js
CHANGED
package/lib/cjs/locale/it-IT.js
CHANGED
package/lib/cjs/locale/ja-JP.js
CHANGED
package/lib/cjs/locale/ko-KR.js
CHANGED
package/lib/cjs/locale/pl-PL.js
CHANGED
package/lib/cjs/locale/pt-BR.js
CHANGED
package/lib/cjs/locale/ru-RU.js
CHANGED
package/lib/cjs/locale/sk-SK.js
CHANGED
package/lib/cjs/locale/vi-VN.js
CHANGED
package/lib/cjs/locale/zh-CN.js
CHANGED
package/lib/cjs/locale/zh-HK.js
CHANGED
package/lib/cjs/locale/zh-TW.js
CHANGED
package/lib/es/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BuildTextUtils, CommandType, CustomDecorationType, DependentOn, Disposable, ICommandService, IConfigService, IPermissionService, IUniverInstanceService, Inject, Injector, Plugin, SHEET_EDITOR_UNITS, ThemeService, UniverInstanceType, UserManagerService, isInternalEditorID, merge, sequenceExecute, toDisposable } from "@univerjs/core";
|
|
2
2
|
import { DOC_INTERCEPTOR_POINT, DocInterceptorService, DocSelectionManagerService, DocSkeletonManagerService, RichTextEditingMutation, SetTextSelectionsOperation, UniverDocsPlugin, getDocumentPermissionValue } from "@univerjs/docs";
|
|
3
3
|
import { DEFAULT_DOC_SUBUNIT_ID, UniverDocsThreadCommentPlugin, prepareDocTextRangeComment } from "@univerjs/docs-thread-comment";
|
|
4
|
-
import { SetActiveCommentOperation, ThreadCommentCanvasOverlay, ThreadCommentDraftService, ThreadCommentPanel, ThreadCommentPanelService, UniverThreadCommentUIPlugin } from "@univerjs/thread-comment-ui";
|
|
5
|
-
import { DocBackScrollRenderController, DocSelectionRenderService, FLOAT_TOOLBAR_MENU_POSITION, UniverDocsUIPlugin, deleteCustomDecorationFactory } from "@univerjs/docs-ui";
|
|
4
|
+
import { SetActiveCommentOperation, ThreadCommentCanvasOverlay, ThreadCommentDraftService, ThreadCommentPanel, ThreadCommentPanelService, UniverThreadCommentMobileUIPlugin, UniverThreadCommentUIPlugin } from "@univerjs/thread-comment-ui";
|
|
5
|
+
import { DocBackScrollRenderController, DocSelectionRenderService, FLOAT_TOOLBAR_MENU_POSITION, UniverDocsMobileUIPlugin, UniverDocsUIPlugin, deleteCustomDecorationFactory } from "@univerjs/docs-ui";
|
|
6
6
|
import { IDrawingManagerService, UniverDrawingPlugin, getDrawingShapeKeyByDrawingSearch } from "@univerjs/drawing";
|
|
7
7
|
import { DocumentEditArea, IRenderManagerService, UniverRenderEnginePlugin, withCurrentTypeOfRenderer } from "@univerjs/engine-render";
|
|
8
8
|
import { ThreadCommentAnchorKind, ThreadCommentModel, UniverThreadCommentPlugin, deserializeThreadCommentAnchor, getDT, serializeThreadCommentAnchor } from "@univerjs/thread-comment";
|
|
@@ -85,7 +85,7 @@ const DOCS_THREAD_COMMENT_PANEL = "univer.doc.thread-comment-panel";
|
|
|
85
85
|
const PLUGIN_NAME = "DOC_THREAD_COMMENT_UI_PLUGIN";
|
|
86
86
|
|
|
87
87
|
//#endregion
|
|
88
|
-
//#region \0@oxc-project+runtime@0.
|
|
88
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
|
|
89
89
|
function _typeof(o) {
|
|
90
90
|
"@babel/helpers - typeof";
|
|
91
91
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -96,7 +96,7 @@ function _typeof(o) {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
//#endregion
|
|
99
|
-
//#region \0@oxc-project+runtime@0.
|
|
99
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
|
|
100
100
|
function toPrimitive(t, r) {
|
|
101
101
|
if ("object" != _typeof(t) || !t) return t;
|
|
102
102
|
var e = t[Symbol.toPrimitive];
|
|
@@ -109,14 +109,14 @@ function toPrimitive(t, r) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
//#endregion
|
|
112
|
-
//#region \0@oxc-project+runtime@0.
|
|
112
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
|
|
113
113
|
function toPropertyKey(t) {
|
|
114
114
|
var i = toPrimitive(t, "string");
|
|
115
115
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
//#endregion
|
|
119
|
-
//#region \0@oxc-project+runtime@0.
|
|
119
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
|
|
120
120
|
function _defineProperty(e, r, t) {
|
|
121
121
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
122
122
|
value: t,
|
|
@@ -127,7 +127,7 @@ function _defineProperty(e, r, t) {
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
//#endregion
|
|
130
|
-
//#region \0@oxc-project+runtime@0.
|
|
130
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
|
|
131
131
|
function __decorateParam(paramIndex, decorator) {
|
|
132
132
|
return function(target, key) {
|
|
133
133
|
decorator(target, key, paramIndex);
|
|
@@ -135,7 +135,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
//#endregion
|
|
138
|
-
//#region \0@oxc-project+runtime@0.
|
|
138
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
139
139
|
function __decorate(decorators, target, key, desc) {
|
|
140
140
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
141
141
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -367,21 +367,21 @@ function ToolbarDocCommentMenuItemFactory(accessor) {
|
|
|
367
367
|
//#endregion
|
|
368
368
|
//#region src/menu/schema.ts
|
|
369
369
|
const menuSchema = {
|
|
370
|
-
[RibbonInsertGroup.
|
|
370
|
+
[RibbonInsertGroup.OTHERS]: {
|
|
371
371
|
[ToggleCommentPanelOperation.id]: {
|
|
372
|
-
order:
|
|
372
|
+
order: 0,
|
|
373
373
|
gridLayout: {
|
|
374
374
|
row: 1,
|
|
375
|
-
column:
|
|
375
|
+
column: 1,
|
|
376
376
|
showLabel: true
|
|
377
377
|
},
|
|
378
378
|
menuItemFactory: ToolbarDocCommentMenuItemFactory
|
|
379
379
|
},
|
|
380
380
|
[StartAddCommentOperation.id]: {
|
|
381
|
-
order:
|
|
381
|
+
order: .1,
|
|
382
382
|
gridLayout: {
|
|
383
383
|
row: 2,
|
|
384
|
-
column:
|
|
384
|
+
column: 1,
|
|
385
385
|
showLabel: true
|
|
386
386
|
},
|
|
387
387
|
menuItemFactory: AddDocCommentMenuItemFactory
|
|
@@ -408,7 +408,7 @@ const menuSchema = {
|
|
|
408
408
|
//#endregion
|
|
409
409
|
//#region package.json
|
|
410
410
|
var name = "@univerjs/docs-thread-comment-ui";
|
|
411
|
-
var version = "1.0.0
|
|
411
|
+
var version = "1.0.0";
|
|
412
412
|
|
|
413
413
|
//#endregion
|
|
414
414
|
//#region src/config/config.ts
|
|
@@ -424,7 +424,8 @@ function getDocCommentPanelSubUnitId(draft, unitId) {
|
|
|
424
424
|
const DocThreadCommentPanel = () => {
|
|
425
425
|
const univerInstanceService = useDependency(IUniverInstanceService);
|
|
426
426
|
const injector = useDependency(Injector);
|
|
427
|
-
const doc =
|
|
427
|
+
const doc$ = useMemo(() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC).pipe(filter((doc) => !!doc && !isInternalEditorID(doc.getUnitId()))), [univerInstanceService]);
|
|
428
|
+
const doc = useObservable(doc$);
|
|
428
429
|
const draftService = useDependency(ThreadCommentDraftService);
|
|
429
430
|
const drawingDraft = useObservable(draftService.draft$, draftService.draft);
|
|
430
431
|
const subUnitId$ = useMemo(() => new Observable((sub) => sub.next(getDocCommentPanelSubUnitId(drawingDraft, doc === null || doc === void 0 ? void 0 : doc.getUnitId()))), [doc, drawingDraft]);
|
|
@@ -881,6 +882,50 @@ let DocThreadCommentUIController = class DocThreadCommentUIController extends Di
|
|
|
881
882
|
};
|
|
882
883
|
DocThreadCommentUIController = __decorate([__decorateParam(0, ICommandService), __decorateParam(1, IMenuManagerService)], DocThreadCommentUIController);
|
|
883
884
|
|
|
885
|
+
//#endregion
|
|
886
|
+
//#region src/mobile-plugin.ts
|
|
887
|
+
let UniverDocsThreadCommentMobileUIPlugin = class UniverDocsThreadCommentMobileUIPlugin extends Plugin {
|
|
888
|
+
constructor(_config = defaultPluginConfig, _injector, _renderManagerSrv, _configService) {
|
|
889
|
+
super();
|
|
890
|
+
this._config = _config;
|
|
891
|
+
this._injector = _injector;
|
|
892
|
+
this._renderManagerSrv = _renderManagerSrv;
|
|
893
|
+
this._configService = _configService;
|
|
894
|
+
const { menu, ...rest } = merge({}, defaultPluginConfig, this._config);
|
|
895
|
+
if (menu) this._configService.setConfig("menu", menu, { merge: true });
|
|
896
|
+
this._configService.setConfig(DOCS_THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY, rest);
|
|
897
|
+
}
|
|
898
|
+
onStarting() {
|
|
899
|
+
[
|
|
900
|
+
[ComponentsController],
|
|
901
|
+
[DocThreadCommentUIController],
|
|
902
|
+
[DocThreadCommentSelectionController],
|
|
903
|
+
[DocThreadCommentService]
|
|
904
|
+
].forEach((dep) => {
|
|
905
|
+
this._injector.add(dep);
|
|
906
|
+
});
|
|
907
|
+
this._injector.get(ComponentsController);
|
|
908
|
+
}
|
|
909
|
+
onRendered() {
|
|
910
|
+
this._initRenderModule();
|
|
911
|
+
this._injector.get(DocThreadCommentSelectionController);
|
|
912
|
+
this._injector.get(DocThreadCommentUIController);
|
|
913
|
+
}
|
|
914
|
+
_initRenderModule() {
|
|
915
|
+
this._renderManagerSrv.registerRenderModule(UniverInstanceType.UNIVER_DOC, [DocThreadCommentRenderController]);
|
|
916
|
+
}
|
|
917
|
+
};
|
|
918
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "pluginName", PLUGIN_NAME);
|
|
919
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "packageName", name);
|
|
920
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "version", version);
|
|
921
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "type", UniverInstanceType.UNIVER_DOC);
|
|
922
|
+
UniverDocsThreadCommentMobileUIPlugin = __decorate([
|
|
923
|
+
DependentOn(UniverDocsPlugin, UniverDocsThreadCommentPlugin, UniverThreadCommentPlugin, UniverDrawingPlugin, UniverRenderEnginePlugin, UniverDocsMobileUIPlugin, UniverThreadCommentMobileUIPlugin),
|
|
924
|
+
__decorateParam(1, Inject(Injector)),
|
|
925
|
+
__decorateParam(2, IRenderManagerService),
|
|
926
|
+
__decorateParam(3, IConfigService)
|
|
927
|
+
], UniverDocsThreadCommentMobileUIPlugin);
|
|
928
|
+
|
|
884
929
|
//#endregion
|
|
885
930
|
//#region src/plugin.ts
|
|
886
931
|
const STARTING_DEPENDENCIES = [
|
|
@@ -927,4 +972,4 @@ UniverDocsThreadCommentUIPlugin = __decorate([
|
|
|
927
972
|
], UniverDocsThreadCommentUIPlugin);
|
|
928
973
|
|
|
929
974
|
//#endregion
|
|
930
|
-
export { AddDocCommentComment, DeleteDocCommentComment, menuSchema as DocsThreadCommentUIMenuSchema, ShowCommentPanelOperation, StartAddCommentOperation, UniverDocsThreadCommentUIPlugin };
|
|
975
|
+
export { AddDocCommentComment, DeleteDocCommentComment, menuSchema as DocsThreadCommentUIMenuSchema, ShowCommentPanelOperation, StartAddCommentOperation, UniverDocsThreadCommentMobileUIPlugin, UniverDocsThreadCommentUIPlugin };
|
package/lib/es/locale/en-US.js
CHANGED
package/lib/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BuildTextUtils, CommandType, CustomDecorationType, DependentOn, Disposable, ICommandService, IConfigService, IPermissionService, IUniverInstanceService, Inject, Injector, Plugin, SHEET_EDITOR_UNITS, ThemeService, UniverInstanceType, UserManagerService, isInternalEditorID, merge, sequenceExecute, toDisposable } from "@univerjs/core";
|
|
2
2
|
import { DOC_INTERCEPTOR_POINT, DocInterceptorService, DocSelectionManagerService, DocSkeletonManagerService, RichTextEditingMutation, SetTextSelectionsOperation, UniverDocsPlugin, getDocumentPermissionValue } from "@univerjs/docs";
|
|
3
3
|
import { DEFAULT_DOC_SUBUNIT_ID, UniverDocsThreadCommentPlugin, prepareDocTextRangeComment } from "@univerjs/docs-thread-comment";
|
|
4
|
-
import { SetActiveCommentOperation, ThreadCommentCanvasOverlay, ThreadCommentDraftService, ThreadCommentPanel, ThreadCommentPanelService, UniverThreadCommentUIPlugin } from "@univerjs/thread-comment-ui";
|
|
5
|
-
import { DocBackScrollRenderController, DocSelectionRenderService, FLOAT_TOOLBAR_MENU_POSITION, UniverDocsUIPlugin, deleteCustomDecorationFactory } from "@univerjs/docs-ui";
|
|
4
|
+
import { SetActiveCommentOperation, ThreadCommentCanvasOverlay, ThreadCommentDraftService, ThreadCommentPanel, ThreadCommentPanelService, UniverThreadCommentMobileUIPlugin, UniverThreadCommentUIPlugin } from "@univerjs/thread-comment-ui";
|
|
5
|
+
import { DocBackScrollRenderController, DocSelectionRenderService, FLOAT_TOOLBAR_MENU_POSITION, UniverDocsMobileUIPlugin, UniverDocsUIPlugin, deleteCustomDecorationFactory } from "@univerjs/docs-ui";
|
|
6
6
|
import { IDrawingManagerService, UniverDrawingPlugin, getDrawingShapeKeyByDrawingSearch } from "@univerjs/drawing";
|
|
7
7
|
import { DocumentEditArea, IRenderManagerService, UniverRenderEnginePlugin, withCurrentTypeOfRenderer } from "@univerjs/engine-render";
|
|
8
8
|
import { ThreadCommentAnchorKind, ThreadCommentModel, UniverThreadCommentPlugin, deserializeThreadCommentAnchor, getDT, serializeThreadCommentAnchor } from "@univerjs/thread-comment";
|
|
@@ -85,7 +85,7 @@ const DOCS_THREAD_COMMENT_PANEL = "univer.doc.thread-comment-panel";
|
|
|
85
85
|
const PLUGIN_NAME = "DOC_THREAD_COMMENT_UI_PLUGIN";
|
|
86
86
|
|
|
87
87
|
//#endregion
|
|
88
|
-
//#region \0@oxc-project+runtime@0.
|
|
88
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/typeof.js
|
|
89
89
|
function _typeof(o) {
|
|
90
90
|
"@babel/helpers - typeof";
|
|
91
91
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -96,7 +96,7 @@ function _typeof(o) {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
//#endregion
|
|
99
|
-
//#region \0@oxc-project+runtime@0.
|
|
99
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPrimitive.js
|
|
100
100
|
function toPrimitive(t, r) {
|
|
101
101
|
if ("object" != _typeof(t) || !t) return t;
|
|
102
102
|
var e = t[Symbol.toPrimitive];
|
|
@@ -109,14 +109,14 @@ function toPrimitive(t, r) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
//#endregion
|
|
112
|
-
//#region \0@oxc-project+runtime@0.
|
|
112
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/toPropertyKey.js
|
|
113
113
|
function toPropertyKey(t) {
|
|
114
114
|
var i = toPrimitive(t, "string");
|
|
115
115
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
//#endregion
|
|
119
|
-
//#region \0@oxc-project+runtime@0.
|
|
119
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/defineProperty.js
|
|
120
120
|
function _defineProperty(e, r, t) {
|
|
121
121
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
122
122
|
value: t,
|
|
@@ -127,7 +127,7 @@ function _defineProperty(e, r, t) {
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
//#endregion
|
|
130
|
-
//#region \0@oxc-project+runtime@0.
|
|
130
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorateParam.js
|
|
131
131
|
function __decorateParam(paramIndex, decorator) {
|
|
132
132
|
return function(target, key) {
|
|
133
133
|
decorator(target, key, paramIndex);
|
|
@@ -135,7 +135,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
//#endregion
|
|
138
|
-
//#region \0@oxc-project+runtime@0.
|
|
138
|
+
//#region \0@oxc-project+runtime@0.149.0/helpers/esm/decorate.js
|
|
139
139
|
function __decorate(decorators, target, key, desc) {
|
|
140
140
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
141
141
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -367,21 +367,21 @@ function ToolbarDocCommentMenuItemFactory(accessor) {
|
|
|
367
367
|
//#endregion
|
|
368
368
|
//#region src/menu/schema.ts
|
|
369
369
|
const menuSchema = {
|
|
370
|
-
[RibbonInsertGroup.
|
|
370
|
+
[RibbonInsertGroup.OTHERS]: {
|
|
371
371
|
[ToggleCommentPanelOperation.id]: {
|
|
372
|
-
order:
|
|
372
|
+
order: 0,
|
|
373
373
|
gridLayout: {
|
|
374
374
|
row: 1,
|
|
375
|
-
column:
|
|
375
|
+
column: 1,
|
|
376
376
|
showLabel: true
|
|
377
377
|
},
|
|
378
378
|
menuItemFactory: ToolbarDocCommentMenuItemFactory
|
|
379
379
|
},
|
|
380
380
|
[StartAddCommentOperation.id]: {
|
|
381
|
-
order:
|
|
381
|
+
order: .1,
|
|
382
382
|
gridLayout: {
|
|
383
383
|
row: 2,
|
|
384
|
-
column:
|
|
384
|
+
column: 1,
|
|
385
385
|
showLabel: true
|
|
386
386
|
},
|
|
387
387
|
menuItemFactory: AddDocCommentMenuItemFactory
|
|
@@ -408,7 +408,7 @@ const menuSchema = {
|
|
|
408
408
|
//#endregion
|
|
409
409
|
//#region package.json
|
|
410
410
|
var name = "@univerjs/docs-thread-comment-ui";
|
|
411
|
-
var version = "1.0.0
|
|
411
|
+
var version = "1.0.0";
|
|
412
412
|
|
|
413
413
|
//#endregion
|
|
414
414
|
//#region src/config/config.ts
|
|
@@ -424,7 +424,8 @@ function getDocCommentPanelSubUnitId(draft, unitId) {
|
|
|
424
424
|
const DocThreadCommentPanel = () => {
|
|
425
425
|
const univerInstanceService = useDependency(IUniverInstanceService);
|
|
426
426
|
const injector = useDependency(Injector);
|
|
427
|
-
const doc =
|
|
427
|
+
const doc$ = useMemo(() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC).pipe(filter((doc) => !!doc && !isInternalEditorID(doc.getUnitId()))), [univerInstanceService]);
|
|
428
|
+
const doc = useObservable(doc$);
|
|
428
429
|
const draftService = useDependency(ThreadCommentDraftService);
|
|
429
430
|
const drawingDraft = useObservable(draftService.draft$, draftService.draft);
|
|
430
431
|
const subUnitId$ = useMemo(() => new Observable((sub) => sub.next(getDocCommentPanelSubUnitId(drawingDraft, doc === null || doc === void 0 ? void 0 : doc.getUnitId()))), [doc, drawingDraft]);
|
|
@@ -881,6 +882,50 @@ let DocThreadCommentUIController = class DocThreadCommentUIController extends Di
|
|
|
881
882
|
};
|
|
882
883
|
DocThreadCommentUIController = __decorate([__decorateParam(0, ICommandService), __decorateParam(1, IMenuManagerService)], DocThreadCommentUIController);
|
|
883
884
|
|
|
885
|
+
//#endregion
|
|
886
|
+
//#region src/mobile-plugin.ts
|
|
887
|
+
let UniverDocsThreadCommentMobileUIPlugin = class UniverDocsThreadCommentMobileUIPlugin extends Plugin {
|
|
888
|
+
constructor(_config = defaultPluginConfig, _injector, _renderManagerSrv, _configService) {
|
|
889
|
+
super();
|
|
890
|
+
this._config = _config;
|
|
891
|
+
this._injector = _injector;
|
|
892
|
+
this._renderManagerSrv = _renderManagerSrv;
|
|
893
|
+
this._configService = _configService;
|
|
894
|
+
const { menu, ...rest } = merge({}, defaultPluginConfig, this._config);
|
|
895
|
+
if (menu) this._configService.setConfig("menu", menu, { merge: true });
|
|
896
|
+
this._configService.setConfig(DOCS_THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY, rest);
|
|
897
|
+
}
|
|
898
|
+
onStarting() {
|
|
899
|
+
[
|
|
900
|
+
[ComponentsController],
|
|
901
|
+
[DocThreadCommentUIController],
|
|
902
|
+
[DocThreadCommentSelectionController],
|
|
903
|
+
[DocThreadCommentService]
|
|
904
|
+
].forEach((dep) => {
|
|
905
|
+
this._injector.add(dep);
|
|
906
|
+
});
|
|
907
|
+
this._injector.get(ComponentsController);
|
|
908
|
+
}
|
|
909
|
+
onRendered() {
|
|
910
|
+
this._initRenderModule();
|
|
911
|
+
this._injector.get(DocThreadCommentSelectionController);
|
|
912
|
+
this._injector.get(DocThreadCommentUIController);
|
|
913
|
+
}
|
|
914
|
+
_initRenderModule() {
|
|
915
|
+
this._renderManagerSrv.registerRenderModule(UniverInstanceType.UNIVER_DOC, [DocThreadCommentRenderController]);
|
|
916
|
+
}
|
|
917
|
+
};
|
|
918
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "pluginName", PLUGIN_NAME);
|
|
919
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "packageName", name);
|
|
920
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "version", version);
|
|
921
|
+
_defineProperty(UniverDocsThreadCommentMobileUIPlugin, "type", UniverInstanceType.UNIVER_DOC);
|
|
922
|
+
UniverDocsThreadCommentMobileUIPlugin = __decorate([
|
|
923
|
+
DependentOn(UniverDocsPlugin, UniverDocsThreadCommentPlugin, UniverThreadCommentPlugin, UniverDrawingPlugin, UniverRenderEnginePlugin, UniverDocsMobileUIPlugin, UniverThreadCommentMobileUIPlugin),
|
|
924
|
+
__decorateParam(1, Inject(Injector)),
|
|
925
|
+
__decorateParam(2, IRenderManagerService),
|
|
926
|
+
__decorateParam(3, IConfigService)
|
|
927
|
+
], UniverDocsThreadCommentMobileUIPlugin);
|
|
928
|
+
|
|
884
929
|
//#endregion
|
|
885
930
|
//#region src/plugin.ts
|
|
886
931
|
const STARTING_DEPENDENCIES = [
|
|
@@ -927,4 +972,4 @@ UniverDocsThreadCommentUIPlugin = __decorate([
|
|
|
927
972
|
], UniverDocsThreadCommentUIPlugin);
|
|
928
973
|
|
|
929
974
|
//#endregion
|
|
930
|
-
export { AddDocCommentComment, DeleteDocCommentComment, menuSchema as DocsThreadCommentUIMenuSchema, ShowCommentPanelOperation, StartAddCommentOperation, UniverDocsThreadCommentUIPlugin };
|
|
975
|
+
export { AddDocCommentComment, DeleteDocCommentComment, menuSchema as DocsThreadCommentUIMenuSchema, ShowCommentPanelOperation, StartAddCommentOperation, UniverDocsThreadCommentMobileUIPlugin, UniverDocsThreadCommentUIPlugin };
|
package/lib/locale/en-US.js
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Disposable, ICommandService } from '@univerjs/core';
|
|
17
|
+
import { ComponentManager, IMenuManagerService } from '@univerjs/ui';
|
|
18
|
+
export declare class DocThreadCommentUIController extends Disposable {
|
|
19
|
+
private readonly _commandService;
|
|
20
|
+
private readonly _menuManagerService;
|
|
21
|
+
private readonly _componentManager;
|
|
22
|
+
constructor(_commandService: ICommandService, _menuManagerService: IMenuManagerService, _componentManager: ComponentManager);
|
|
23
|
+
private _initCommands;
|
|
24
|
+
private _initMenus;
|
|
25
|
+
private _initComponents;
|
|
26
|
+
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -22,4 +22,5 @@ export { ShowCommentPanelOperation, StartAddCommentOperation } from './commands/
|
|
|
22
22
|
export type { IShowCommentPanelOperationParams } from './commands/operations/show-comment-panel.operation';
|
|
23
23
|
export type { IUniverDocsThreadCommentUIConfig } from './config/config';
|
|
24
24
|
export { menuSchema as DocsThreadCommentUIMenuSchema } from './menu/schema';
|
|
25
|
+
export { UniverDocsThreadCommentMobileUIPlugin } from './mobile-plugin';
|
|
25
26
|
export { UniverDocsThreadCommentUIPlugin } from './plugin';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import type { IUniverDocsThreadCommentUIConfig } from './config/config';
|
|
17
|
+
import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
|
|
18
|
+
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
19
|
+
export declare class UniverDocsThreadCommentMobileUIPlugin extends Plugin {
|
|
20
|
+
private readonly _config;
|
|
21
|
+
protected _injector: Injector;
|
|
22
|
+
private readonly _renderManagerSrv;
|
|
23
|
+
private readonly _configService;
|
|
24
|
+
static pluginName: string;
|
|
25
|
+
static packageName: string;
|
|
26
|
+
static version: string;
|
|
27
|
+
static type: UniverInstanceType;
|
|
28
|
+
constructor(_config: Partial<IUniverDocsThreadCommentUIConfig> | undefined, _injector: Injector, _renderManagerSrv: IRenderManagerService, _configService: IConfigService);
|
|
29
|
+
onStarting(): void;
|
|
30
|
+
onRendered(): void;
|
|
31
|
+
private _initRenderModule;
|
|
32
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023-present DreamNum Co., Ltd.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DocThreadCommentPanel: () => import("react/jsx-runtime").JSX.Element | null;
|
package/lib/umd/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/docs"),require("@univerjs/docs-thread-comment"),require("@univerjs/thread-comment-ui"),require("@univerjs/docs-ui"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/thread-comment"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/protocol"),require("react"),require("react/jsx-runtime")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs`,`@univerjs/docs-thread-comment`,`@univerjs/thread-comment-ui`,`@univerjs/docs-ui`,`@univerjs/drawing`,`@univerjs/engine-render`,`@univerjs/thread-comment`,`@univerjs/ui`,`rxjs`,`@univerjs/protocol`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsThreadCommentUi={},e.UniverCore,e.UniverDocs,e.UniverDocsThreadComment,e.UniverThreadCommentUi,e.UniverDocsUi,e.UniverDrawing,e.UniverEngineRender,e.UniverThreadComment,e.UniverUi,e.rxjs,e.UniverProtocol,e.React,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let m={id:`docs.command.add-comment`,type:t.CommandType.COMMAND,async handler(e,a){if(!a)return!1;let o=await(0,r.prepareDocTextRangeComment)(e,a);if(!o)return!1;let s={id:i.SetActiveCommentOperation.id,params:{unitId:o.comment.unitId,subUnitId:o.comment.subUnitId,commentId:o.comment.id}},c={id:n.RichTextEditingMutation.id,params:{...o.decorationMutationParams,textRanges:null,noNeedSetTextRange:!0}};return(await(0,t.sequenceExecute)([o.commentMutation,c,s],e.get(t.ICommandService))).result}},h={id:`docs.command.delete-comment`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let{commentId:r,unitId:i}=n,o=e.get(t.ICommandService),s=(0,a.deleteCustomDecorationFactory)(e,{id:r,unitId:i});return s?(await(0,t.sequenceExecute)([s],o)).result:!1}},g=`univer.doc.thread-comment-panel`;function
|
|
2
|
-
`},startOffset:y.startOffset,endOffset:y.endOffset,collapsed:!0,threadId:``};return b==null||b.blur(),g.startAdd(D),d.setActiveComment({unitId:x,subUnitId:E,commentId:``}),!0}},D={id:`docs.operation.add-drawing-comment`,type:t.CommandType.OPERATION,handler(e){let n=e.get(o.IDrawingManagerService).getFocusDrawings()[0],r=e.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!n||!r||n.unitId!==r.getUnitId())return!1;e.get(i.ThreadCommentDraftService).place({unitId:n.unitId,subUnitId:n.subUnitId,anchor:{kind:c.ThreadCommentAnchorKind.DOC_DRAWING,pageId:n.subUnitId,elementId:n.drawingId}});let a=e.get(i.ThreadCommentPanelService);return e.get(l.ISidebarService).open({header:{title:`docs-thread-comment-ui.panel.title`},children:{label:g},width:320,onClose:()=>a.setPanelVisible(!1)}),a.setPanelVisible(!0),!0}};function O(e){let r=e.get(t.IUniverInstanceService),i=e.get(t.IPermissionService);return(0,u.combineLatest)([r.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),i.permissionPointUpdate$.pipe((0,u.startWith)(void 0))]).pipe((0,u.map)(([e])=>!e||!(0,n.getDocumentPermissionValue)(i,e.getUnitId(),e.getUnitId(),d.UnitAction.Comment)))}function k(e){return{id:D.id,type:l.MenuItemType.BUTTON,icon:`InsertCommentDoubleIcon`,title:`docs-thread-comment-ui.panel.addComment`,tooltip:`docs-thread-comment-ui.panel.addComment`,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),disabled$:O(e)}}let A=e=>{var r;let i=e.get(s.IRenderManagerService),a=e.get(n.DocSelectionManagerService),o=e.get(t.IUniverInstanceService),c=e.get(t.IPermissionService),l=o.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!l||!(0,n.getDocumentPermissionValue)(c,l.getUnitId(),l.getUnitId(),d.UnitAction.Comment))return!0;let u=(r=(0,s.withCurrentTypeOfRenderer)(t.UniverInstanceType.UNIVER_DOC,n.DocSkeletonManagerService,o,i))==null?void 0:r.getSkeleton(),f=u==null?void 0:u.getViewModel().getEditArea();if(f===s.DocumentEditArea.FOOTER||f===s.DocumentEditArea.HEADER)return!0;let p=a.getActiveTextRange();return!!(p==null||p.collapsed)};function j(e){return{id:E.id,type:l.MenuItemType.BUTTON,icon:`InsertCommentDoubleIcon`,title:`docs-thread-comment-ui.panel.addComment`,tooltip:`docs-thread-comment-ui.panel.addComment`,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.SHEET_EDITOR_UNITS),disabled$:(0,u.combineLatest)([e.get(n.DocSelectionManagerService).textSelection$.pipe((0,u.debounceTime)(16),(0,u.map)(()=>A(e)),(0,u.startWith)(A(e))),O(e)]).pipe((0,u.map)(([e,t])=>e||t))}}function M(e){return{id:T.id,type:l.MenuItemType.BUTTON,icon:`CommentIcon`,title:`docs-thread-comment-ui.panel.openComments`,tooltip:`docs-thread-comment-ui.panel.openComments`,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let N={[l.RibbonInsertGroup.MEDIA]:{[T.id]:{order:3,gridLayout:{row:1,column:4,showLabel:!0},menuItemFactory:M},[E.id]:{order:3.1,gridLayout:{row:2,column:4,showLabel:!0},menuItemFactory:j}},[a.FLOAT_TOOLBAR_MENU_POSITION]:{[E.id]:{order:21,menuItemFactory:j}},[l.FloatingObjectToolbarPosition.DOC]:{[D.id]:{order:10,menuItemFactory:k}},[l.ContextMenuPosition.MAIN_AREA]:{[l.ContextMenuGroup.DATA]:{[E.id]:{order:1,menuItemFactory:j}}},[l.ContextMenuPosition.DRAWING]:{[l.ContextMenuGroup.DATA]:{[D.id]:{order:1,menuItemFactory:k}}}};var P=`@univerjs/docs-thread-comment-ui`,F=`1.0.0-rc.0`;let I={};function L({ref:e,...t}){let{preserveStrokeWidth:n,icon:r,id:i,className:a,extend:o,...s}=t,c=`univerjs-icon univerjs-icon-${i} ${a||``}`.trim(),l=`_${(0,f.useId)()}`,u=(0,f.useRef)(null);return(0,f.useImperativeHandle)(e,()=>u.current),(0,f.useLayoutEffect)(()=>{if(!(!n||!u.current||u.current.localName!==r.tag))return V(u.current)},[n,r]),R(r,`${i}`,{defIds:r.defIds,idSuffix:l},{ref:u,className:c,...s},o)}function R(e,t,n,r,i){return(0,f.createElement)(e.tag,{key:t,...z(e,n,i),...r},(B(e,n).children||[]).map((r,a)=>R(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function z(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function B(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function V(e){let t=e.viewBox.baseVal,n=Math.max(t.width,t.height);if(!Number.isFinite(n)||n<=0||t.width<=0||t.height<=0)return()=>void 0;let r=16/n,i=Array.from(e.querySelectorAll(`circle, ellipse, line, path, polygon, polyline, rect, text, textPath, tspan, use`)).flatMap(e=>{let t=getComputedStyle(e),n=Number.parseFloat(t.strokeWidth);return t.stroke===`none`||Number.parseFloat(t.strokeOpacity)===0||t.vectorEffect===`non-scaling-stroke`||!Number.isFinite(n)||n<=0?[]:[{element:e,hadStyleAttribute:e.hasAttribute(`style`),originalStrokeWidth:n,strokeWidth:H(e.style,`stroke-width`)}]}).map(e=>({appliedStrokeWidth:null,element:e.element,hadStyleAttribute:e.hadStyleAttribute,isReleased:!1,originalStrokeWidth:e.originalStrokeWidth,strokeWidth:e.strokeWidth}));if(i.length===0)return()=>void 0;let a=(e,n)=>{if(t.width<=0||t.height<=0||e<=0||n<=0)return;let a=Math.min(e/t.width,n/t.height);!Number.isFinite(a)||a<=0||i.forEach(e=>{if(e.isReleased)return;if(e.appliedStrokeWidth!==null&&(e.element.style.getPropertyValue(`stroke-width`)!==e.appliedStrokeWidth||e.element.style.getPropertyPriority(`stroke-width`)!==e.strokeWidth.priority)){e.appliedStrokeWidth=null,e.isReleased=!0;return}let t=e.originalStrokeWidth*r/a,n=`${Number(t.toFixed(12))}px`;e.element.style.setProperty(`stroke-width`,n,e.strokeWidth.priority),e.appliedStrokeWidth=n})},o=e.getBoundingClientRect();a(o.width,o.height);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{if(t.some(t=>t.target===e)){let t=e.getBoundingClientRect();a(t.width,t.height)}});return s==null||s.observe(e),()=>{s==null||s.disconnect(),i.forEach(e=>{e.appliedStrokeWidth!==null&&(U(e.element.style,`stroke-width`,e.appliedStrokeWidth,e.strokeWidth.priority,e.strokeWidth),!e.hadStyleAttribute&&e.element.style.length===0&&e.element.removeAttribute(`style`))})}}function H(e,t){return{priority:e.getPropertyPriority(t),value:e.getPropertyValue(t)}}function U(e,t,n,r,i){e.getPropertyValue(t)===n&&e.getPropertyPriority(t)===r&&(i.value?e.setProperty(t,i.value,i.priority):e.removeProperty(t))}L.displayName=`UniverIcon`;let W={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 17`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.43993 3.31861H15.0381V12.5611H8.65676L5.75498 14.069V12.5611H2.43993V3.31861Z`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.83725 7.50706V8.41159M8.73904 7.50706V8.41159M11.6408 7.50706V8.41159`,strokeLinecap:`round`,strokeWidth:1.39}}]},G=(0,f.forwardRef)(function(e,t){return(0,f.createElement)(L,Object.assign({},e,{id:`comment-icon`,ref:t,icon:W}))});G.displayName=`CommentIcon`;let K={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.63636 1.99658C1.28491 1.99658 1 2.28149 1 2.63295V10.2693C1 10.6208 1.28491 10.9057 1.63636 10.9057H2.96368L4.05003 11.992C4.29854 12.2405 4.70146 12.2405 4.94997 11.992L6.03632 10.9057H6.72727V12.4128C6.72727 12.7643 7.01218 13.0492 7.36364 13.0492H10.6001L11.3682 13.8173C11.6167 14.0658 12.0196 14.0658 12.2682 13.8173L13.0363 13.0492H14.3636C14.7151 13.0492 15 12.7643 15 12.4128V7.32192C15 6.97047 14.7151 6.68556 14.3636 6.68556H12.4545V2.63295C12.4545 2.28149 12.1696 1.99658 11.8182 1.99658H1.63636ZM12.4545 7.95829V10.2693C12.4545 10.6208 12.1696 10.9057 11.8182 10.9057H8V11.7765H10.8636C11.0324 11.7765 11.1942 11.8435 11.3136 11.9628L11.8182 12.4674L12.3228 11.9628C12.4421 11.8435 12.604 11.7765 12.7727 11.7765H13.7273V7.95829H12.4545ZM11.1818 3.26931H2.27273V9.63295H3.22727C3.39604 9.63295 3.5579 9.70001 3.67725 9.81936L4.5 10.6421L5.32275 9.81936C5.4421 9.70001 5.60396 9.63295 5.77273 9.63295H11.1818V3.26931Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`colorChannel1`,d:`M5.13617 4.54199C4.78472 4.54199 4.49981 4.8269 4.49981 5.17836C4.49981 5.52981 4.78472 5.81472 5.13617 5.81472H8.95435C9.3058 5.81472 9.59072 5.52981 9.59072 5.17836C9.59072 4.8269 9.3058 4.54199 8.95435 4.54199H5.13617ZM4.49981 7.72381C4.49981 7.37236 4.78472 7.08744 5.13617 7.08744H7.04526C7.39671 7.08744 7.68162 7.37236 7.68162 7.72381C7.68162 8.07526 7.39671 8.36018 7.04526 8.36018H5.13617C4.78472 8.36018 4.49981 8.07526 4.49981 7.72381Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},q=(0,f.forwardRef)(function(e,t){return(0,f.createElement)(L,Object.assign({},e,{id:`insert-comment-double-icon`,ref:t,icon:K}))});q.displayName=`InsertCommentDoubleIcon`;function J(e,t){return e&&e.unitId===t?e.subUnitId:r.DEFAULT_DOC_SUBUNIT_ID}let ee=()=>{let e=(0,l.useDependency)(t.IUniverInstanceService),r=(0,l.useDependency)(t.Injector),a=(0,l.useObservable)((0,f.useMemo)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,u.filter)(e=>!!e&&!(0,t.isInternalEditorID)(e.getUnitId()))),[e])),o=(0,l.useDependency)(i.ThreadCommentDraftService),s=(0,l.useObservable)(o.draft$,o.draft),d=(0,f.useMemo)(()=>new u.Observable(e=>e.next(J(s,a==null?void 0:a.getUnitId()))),[a,s]),g=(0,l.useDependency)(n.DocSelectionManagerService),_=(0,f.useMemo)(()=>g.textSelection$.pipe((0,u.debounceTime)(16)),[g.textSelection$]),v=(0,l.useDependency)(t.IPermissionService),y=(0,f.useMemo)(()=>(0,u.merge)(_,v.permissionPointUpdate$),[v.permissionPointUpdate$,_]),b=(0,l.useObservable)(()=>y.pipe((0,u.map)(()=>A(r))),A(r),!1,[y,r]),x=(0,l.useDependency)(t.ICommandService),S=(0,l.useDependency)(c.ThreadCommentModel);(0,l.useObservable)(S.commentUpdate$);let w=(0,l.useDependency)(C),T=(0,l.useObservable)(w.addingComment$),D=(0,l.useDependency)(t.UserManagerService),O=(s==null?void 0:s.anchor.kind)===c.ThreadCommentAnchorKind.DOC_DRAWING&&s.unitId===(a==null?void 0:a.getUnitId())?{id:``,threadId:``,unitId:s.unitId,subUnitId:s.subUnitId,ref:(0,c.serializeThreadCommentAnchor)(s.anchor),dT:``,personId:D.getCurrentUser().userID,text:{dataStream:`\r
|
|
3
|
-
`}}:null,k=O??T,j=new Set(Object.keys((a==null?void 0:a.getSnapshot().drawings)??{})),M=e=>{let t=(0,c.deserializeThreadCommentAnchor)(e.ref);return(t==null?void 0:t.kind)===c.ThreadCommentAnchorKind.DOC_DRAWING||e.ref.startsWith(`#`)&&j.has(e.ref.slice(1))},N=a?S.getUnit(a.getUnitId()).filter(e=>M(e.root)).map(e=>e.root.id):[],[P,F]=(0,f.useState)([]);if((0,f.useEffect)(()=>{let e=new Set,t=a==null?void 0:a.getCustomDecorations();F((t==null?void 0:t.map(e=>e.id).filter(t=>{let n=e.has(t);return e.add(t),!n}))??[]);let r=x.onCommandExecuted(e=>{if(e.id===n.RichTextEditingMutation.id){let e=new Set,t=a==null?void 0:a.getCustomDecorations();F((t==null?void 0:t.map(e=>e.id).filter(t=>{let n=e.has(t);return e.add(t),!n}))??[])}});return()=>{r.dispose()}},[x,a]),!a)return null;let I=a.getUnitId();return(0,p.jsx)(i.ThreadCommentPanel,{unitId:I,subUnitId$:d,type:t.UniverInstanceType.UNIVER_DOC,onAdd:()=>{x.executeCommand(E.id)},getSubUnitName:()=>``,disableAdd:b,tempComment:k,onAddComment:async e=>{if(O&&!e.parentId)return!0;if(!e.parentId){let t={unitId:I,range:T,comment:e};if(!await x.executeCommand(m.id,t))throw Error(`Failed to add document comment.`);return w.endAdd(),!1}return!0},onAfterDeleteComment:async e=>{if(!e.parentId){if(M(e))return;let t={unitId:I,commentId:e.id};await x.executeCommand(h.id,t)}},showComments:[...P,...N],onTempCommentClose:()=>o.cancel(),formatRef:e=>{let t=(0,c.deserializeThreadCommentAnchor)(e.ref);return(t==null?void 0:t.kind)===c.ThreadCommentAnchorKind.DOC_DRAWING?`#${t.elementId}`:e.ref}})},Y=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerComponents(),this._registerIcons()}_registerComponents(){[[g,ee]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_registerIcons(){this.disposeWithMe(this._iconManager.register({CommentIcon:G,InsertCommentDoubleIcon:q}))}};Y=S([x(0,(0,t.Inject)(l.ComponentManager)),x(1,(0,t.Inject)(l.IconManager))],Y);let X=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._threadCommentPanelService=e,this._univerInstanceService=t,this._commandService=n,this._docThreadCommentService=r,this._renderManagerService=i,this._threadCommentModel=a,this._initSelectionChange(),this._initActiveCommandChange()}_initSelectionChange(){let e;this.disposeWithMe(this._commandService.onCommandExecuted(a=>{if(a.id===n.SetTextSelectionsOperation.id){let{unitId:n,ranges:o}=a.params;if((0,t.isInternalEditorID)(n))return;let s=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_DOC),c=o[0];if((e==null?void 0:e.startOffset)===(c==null?void 0:c.startOffset)&&(e==null?void 0:e.endOffset)===(c==null?void 0:c.endOffset))return;if(e=c,c&&s){let{startOffset:e,endOffset:t,collapsed:i}=c,a=i?e:t-1,o=this._findActiveCommentDecoration(s,n,e,a);if(o){this._commandService.executeCommand(w.id,{activeComment:{unitId:n,subUnitId:r.DEFAULT_DOC_SUBUNIT_ID,commentId:o.id}});return}}if(!this._threadCommentPanelService.activeCommentId)return;let l=this._docThreadCommentService.addingComment,u=this._threadCommentPanelService.activeCommentId;if(l&&(u==null?void 0:u.unitId)===l.unitId&&(u==null?void 0:u.subUnitId)===r.DEFAULT_DOC_SUBUNIT_ID&&(u==null?void 0:u.commentId)===l.id)return;this._commandService.executeCommand(i.SetActiveCommentOperation.id)}}))}_findActiveCommentDecoration(e,n,i,a){var o;return[...((o=e.getBody())==null?void 0:o.customDecorations)??[]].reverse().filter(e=>e.type===t.CustomDecorationType.COMMENT&&e.startIndex<=i&&e.endIndex>=a).sort((e,t)=>e.endIndex-e.startIndex-(t.endIndex-t.startIndex)).find(e=>{let t=this._threadCommentModel.getComment(n,r.DEFAULT_DOC_SUBUNIT_ID,e.id);return t&&!t.resolved})}_initActiveCommandChange(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var t;if(e){let t=this._univerInstanceService.getUnit(e.unitId);if(t){var n,r;let i=(n=this._renderManagerService.getRenderUnitById(e.unitId))==null?void 0:n.with(a.DocBackScrollRenderController),o=(r=t.getBody())==null||(r=r.customDecorations)==null?void 0:r.find(t=>t.id===e.commentId);o&&i&&i.scrollToRange({startOffset:o.startIndex,endOffset:o.endIndex,collapsed:!1})}}(!e||e.commentId!==((t=this._docThreadCommentService.addingComment)==null?void 0:t.id))&&this._docThreadCommentService.endAdd()}))}};X=S([x(0,(0,t.Inject)(i.ThreadCommentPanelService)),x(1,t.IUniverInstanceService),x(2,t.ICommandService),x(3,(0,t.Inject)(C)),x(4,s.IRenderManagerService),x(5,(0,t.Inject)(c.ThreadCommentModel))],X);let Z=class extends t.Disposable{constructor(e,t,n,r,a,o,s,c){super(),this._context=e,this._docInterceptorService=t,this._threadCommentPanelService=n,this._univerInstanceService=r,this._threadCommentModel=a,this._commandService=o,this._drawingManagerService=s,this._themeService=c,b(this,`_drawingOverlay`,void 0),b(this,`_drawingCommentSubUnits`,new Map),this._drawingOverlay=new i.ThreadCommentCanvasOverlay(`doc-thread-comment-drawing-overlay`,{...this._getDrawingOverlayColors(),zoomRatio:1,markers:[],underlines:[]}),this._context.scene.addObject(this._drawingOverlay,10100),this._interceptorViewModel(),this._initReRender(),this._initSyncComments(),this._initDrawingOverlay()}_initReRender(){[this._threadCommentPanelService.activeCommentId$,this._threadCommentPanelService.hoveredCommentId$].forEach(e=>this.disposeWithMe(e.pipe((0,u.skip)(1),(0,u.startWith)(void 0),(0,u.pairwise)()).subscribe(([e,n])=>{var r;let i=(r=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC))==null?void 0:r.getUnitId();if(new Set([e==null?void 0:e.unitId,n==null?void 0:n.unitId,i]).has(this._context.unitId)){var a;(a=this._context.mainComponent)==null||a.makeDirty(!0)}}))),this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{if(e.type===`resolve`&&e.unitId===this._context.unitId){var t;(t=this._context.mainComponent)==null||t.makeDirty(!0)}e.unitId===this._context.unitId&&this._syncDrawingOverlay()}))}_initDrawingOverlay(){this.disposeWithMe((0,t.toDisposable)(this._drawingOverlay.onPointerDown$.subscribeEvent((e,t)=>{let n=this._drawingOverlay.hitCommentId,r=n&&this._drawingCommentSubUnits.get(n);!n||!r||(t.stopPropagation(),this._commandService.executeCommand(w.id,{activeComment:{unitId:this._context.unitId,subUnitId:r,commentId:n,trigger:`doc-canvas`}}))}))),this.disposeWithMe((0,t.toDisposable)(this._context.engine.onTransformChange$.subscribeEvent(()=>this._syncDrawingOverlay()))),[this._threadCommentPanelService.activeCommentId$,this._threadCommentPanelService.hoveredCommentId$].forEach(e=>this.disposeWithMe(e.subscribe(()=>this._syncDrawingOverlay()))),[this._drawingManagerService.add$,this._drawingManagerService.update$,this._drawingManagerService.remove$].forEach(e=>this.disposeWithMe(e.subscribe(e=>{e.some(e=>e.unitId===this._context.unitId)&&this._syncDrawingOverlay()}))),this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>this._syncDrawingOverlay())),this._syncDrawingOverlay()}_syncDrawingOverlay(){let e=new Map;this._drawingCommentSubUnits.clear(),this._threadCommentModel.query({unitIds:[this._context.unitId],anchorKinds:[c.ThreadCommentAnchorKind.DOC_DRAWING],resolved:!1}).forEach(({root:t,subUnitId:n})=>{let r=(0,c.deserializeThreadCommentAnchor)(t.ref);if((r==null?void 0:r.kind)!==c.ThreadCommentAnchorKind.DOC_DRAWING)return;let i=this._getDrawingOutline(r.pageId??n,r.elementId);i&&(this._drawingCommentSubUnits.set(t.id,n),e.set(`${r.pageId??n}\0${r.elementId}`,{commentId:t.id,left:i.left,top:i.top+i.height+2,width:i.width}))});let t=[],n=new Map;[this._threadCommentPanelService.activeCommentId,this._threadCommentPanelService.hoveredCommentId].forEach(e=>{if(!e||e.unitId!==this._context.unitId)return;let r=this._threadCommentModel.getComment(e.unitId,e.subUnitId,e.commentId),i=r&&(0,c.deserializeThreadCommentAnchor)(r.ref);if((i==null?void 0:i.kind)!==c.ThreadCommentAnchorKind.DOC_DRAWING)return;t.push(e.commentId);let a=this._getDrawingOutline(i.pageId??e.subUnitId,i.elementId);a&&n.set(`${i.pageId??e.subUnitId}\0${i.elementId}`,a)}),this._drawingOverlay.updateState({...this._getDrawingOverlayColors(),markers:[],underlines:Array.from(e.values()),focusedCommentIds:t,focusOutlines:Array.from(n.values())})}_getDrawingOutline(e,t){var n,r;let i=(0,o.getDrawingShapeKeyByDrawingSearch)({unitId:this._context.unitId,subUnitId:e,drawingId:t}),a=((n=(r=this._context.scene).getObjectIncludeInGroup)==null?void 0:n.call(r,i))??this._context.scene.getObject(i);if(!a)return null;let s=a.getRealBound();return{left:s.left,top:s.top,width:s.width,height:s.height}}_getDrawingOverlayColors(){return{accentColor:this._themeService.getColorFromTheme(`yellow.400`),foregroundColor:this._themeService.getColorFromTheme(`gray.900`),outlineColor:this._themeService.getColorFromTheme(`white`)}}_interceptorViewModel(){this._docInterceptorService.intercept(n.DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION,{handler:(e,t,n)=>{if(!e)return n(e);let{unitId:i}=t,a=[this._threadCommentPanelService.activeCommentId,this._threadCommentPanelService.hoveredCommentId],o=this._threadCommentModel.getComment(i,r.DEFAULT_DOC_SUBUNIT_ID,e.id);if(!o)return n({...e,show:!1});let s=a.some(t=>(t==null?void 0:t.unitId)===i&&t.subUnitId===r.DEFAULT_DOC_SUBUNIT_ID&&t.commentId===e.id);return n({...e,active:s,show:!o.resolved})}})}_initSyncComments(){var e;let i=this._context.unit.getUnitId(),a=r.DEFAULT_DOC_SUBUNIT_ID,o=((e=this._context.unit.getBody())==null||(e=e.customDecorations)==null?void 0:e.filter(e=>e.type===t.CustomDecorationType.COMMENT).map(e=>e.id))??[];o.length&&this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(),r.DEFAULT_DOC_SUBUNIT_ID,o);let s=o.sort();this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===n.RichTextEditingMutation.id){var r;if(e.params.unitId!==this._context.unit.getUnitId())return;let n=((r=this._context.unit.getBody())==null||(r=r.customDecorations)==null?void 0:r.filter(e=>e.type===t.CustomDecorationType.COMMENT).map(e=>e.id))??[],o=n.sort();if(JSON.stringify(s)!==JSON.stringify(o)){let e=new Set(s),t=new Set;n.forEach(n=>{e.has(n)||t.add(n)}),s=o,this._threadCommentModel.syncThreadComments(i,a,[...t])}}}))}};Z=S([x(1,(0,t.Inject)(n.DocInterceptorService)),x(2,(0,t.Inject)(i.ThreadCommentPanelService)),x(3,t.IUniverInstanceService),x(4,(0,t.Inject)(c.ThreadCommentModel)),x(5,t.ICommandService),x(6,o.IDrawingManagerService),x(7,(0,t.Inject)(t.ThemeService))],Z);let Q=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._menuManagerService=t,this._initCommands(),this._initMenus()}_initCommands(){[D,m,h,w,E,T].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.appendRootMenu({[a.FLOAT_TOOLBAR_MENU_POSITION]:{}}),this._menuManagerService.mergeMenu(N)}};Q=S([x(0,t.ICommandService),x(1,l.IMenuManagerService)],Q);let te=[[Q],[X],[C]],$=class extends t.Plugin{constructor(e=I,n,r,i){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},I,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(`docs-thread-comment-ui.config`,o)}onStarting(){this._injector.add([Y]),this._injector.get(Y),te.forEach(e=>{this._injector.add(e)})}onRendered(){this._initRenderModule(),this._injector.get(X),this._injector.get(Q)}_initRenderModule(){this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,[Z])}};b($,`pluginName`,`DOC_THREAD_COMMENT_UI_PLUGIN`),b($,`packageName`,P),b($,`version`,F),b($,`type`,t.UniverInstanceType.UNIVER_DOC),$=S([(0,t.DependentOn)(n.UniverDocsPlugin,r.UniverDocsThreadCommentPlugin,c.UniverThreadCommentPlugin,o.UniverDrawingPlugin,s.UniverRenderEnginePlugin,a.UniverDocsUIPlugin,i.UniverThreadCommentUIPlugin),x(1,(0,t.Inject)(t.Injector)),x(2,s.IRenderManagerService),x(3,t.IConfigService)],$),e.AddDocCommentComment=m,e.DeleteDocCommentComment=h,e.DocsThreadCommentUIMenuSchema=N,e.ShowCommentPanelOperation=w,e.StartAddCommentOperation=E,Object.defineProperty(e,"UniverDocsThreadCommentUIPlugin",{enumerable:!0,get:function(){return $}})});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/docs"),require("@univerjs/docs-thread-comment"),require("@univerjs/thread-comment-ui"),require("@univerjs/docs-ui"),require("@univerjs/drawing"),require("@univerjs/engine-render"),require("@univerjs/thread-comment"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/protocol"),require("react"),require("react/jsx-runtime")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs`,`@univerjs/docs-thread-comment`,`@univerjs/thread-comment-ui`,`@univerjs/docs-ui`,`@univerjs/drawing`,`@univerjs/engine-render`,`@univerjs/thread-comment`,`@univerjs/ui`,`rxjs`,`@univerjs/protocol`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsThreadCommentUi={},e.UniverCore,e.UniverDocs,e.UniverDocsThreadComment,e.UniverThreadCommentUi,e.UniverDocsUi,e.UniverDrawing,e.UniverEngineRender,e.UniverThreadComment,e.UniverUi,e.rxjs,e.UniverProtocol,e.React,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let m={id:`docs.command.add-comment`,type:t.CommandType.COMMAND,async handler(e,a){if(!a)return!1;let o=await(0,r.prepareDocTextRangeComment)(e,a);if(!o)return!1;let s={id:i.SetActiveCommentOperation.id,params:{unitId:o.comment.unitId,subUnitId:o.comment.subUnitId,commentId:o.comment.id}},c={id:n.RichTextEditingMutation.id,params:{...o.decorationMutationParams,textRanges:null,noNeedSetTextRange:!0}};return(await(0,t.sequenceExecute)([o.commentMutation,c,s],e.get(t.ICommandService))).result}},h={id:`docs.command.delete-comment`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let{commentId:r,unitId:i}=n,o=e.get(t.ICommandService),s=(0,a.deleteCustomDecorationFactory)(e,{id:r,unitId:i});return s?(await(0,t.sequenceExecute)([s],o)).result:!1}},g=`univer.doc.thread-comment-panel`,_=`DOC_THREAD_COMMENT_UI_PLUGIN`;function v(e){"@babel/helpers - typeof";return v=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},v(e)}function y(e,t){if(v(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(v(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function b(e){var t=y(e,`string`);return v(t)==`symbol`?t:t+``}function x(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e,t){return function(n,r){t(n,r,e)}}function C(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let w=class extends t.Disposable{get addingComment(){return this._addingComment$.getValue()}constructor(e,t){super(),this._sidebarService=e,this._threadCommentPanelService=t,x(this,`_addingComment$`,new u.BehaviorSubject(void 0)),x(this,`addingComment$`,this._addingComment$.asObservable()),this.disposeWithMe(()=>{this._addingComment$.complete()})}startAdd(e){this._addingComment$.next(e)}endAdd(){this._addingComment$.next(void 0)}};w=C([S(0,l.ISidebarService),S(1,(0,t.Inject)(i.ThreadCommentPanelService))],w);let T={id:`docs.operation.show-comment-panel`,type:t.CommandType.OPERATION,handler(e,t){var n;let r=e.get(i.ThreadCommentPanelService),a=e.get(l.ISidebarService);return(!r.panelVisible||((n=a.options.children)==null?void 0:n.label)!==`univer.doc.thread-comment-panel`)&&(a.open({header:{title:`docs-thread-comment-ui.panel.title`},children:{label:g},width:320,onClose:()=>r.setPanelVisible(!1)}),r.setPanelVisible(!0)),t&&r.setActiveComment(t==null?void 0:t.activeComment),!0}},E={id:`docs.operation.toggle-comment-panel`,type:t.CommandType.OPERATION,handler(e){var t;let n=e.get(i.ThreadCommentPanelService),r=e.get(l.ISidebarService);return!n.panelVisible||((t=r.options.children)==null?void 0:t.label)!==`univer.doc.thread-comment-panel`?(r.open({header:{title:`docs-thread-comment-ui.panel.title`},children:{label:g},width:320,onClose:()=>n.setPanelVisible(!1)}),n.setPanelVisible(!0)):(r.close(),n.setPanelVisible(!1),n.setActiveComment(null)),!0}},D={id:`docs.operation.start-add-comment`,type:t.CommandType.OPERATION,handler(e){var o,u;let d=e.get(i.ThreadCommentPanelService),f=e.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),p=e.get(n.DocSelectionManagerService),m=e.get(s.IRenderManagerService),h=e.get(t.UserManagerService),g=e.get(w),_=e.get(t.ICommandService),v=e.get(l.ISidebarService),y=p.getActiveTextRange();if(!f||!y)return!1;let b=(o=m.getRenderUnitById(f.getUnitId()))==null?void 0:o.with(a.DocSelectionRenderService);if(b==null||b.setReserveRangesStatus(!0),y.collapsed)return d.panelVisible?(d.setPanelVisible(!1),v.close()):_.executeCommand(T.id),!0;_.executeCommand(T.id);let x=f.getUnitId(),S=(((u=f.getBody())==null?void 0:u.dataStream)??``).slice(y.startOffset,y.endOffset),C=t.BuildTextUtils.transform.getPlainText(S),E=r.DEFAULT_DOC_SUBUNIT_ID,D={unitId:x,subUnitId:E,id:``,ref:C,dT:(0,c.getDT)(),personId:h.getCurrentUser().userID,text:{dataStream:`\r
|
|
2
|
+
`},startOffset:y.startOffset,endOffset:y.endOffset,collapsed:!0,threadId:``};return b==null||b.blur(),g.startAdd(D),d.setActiveComment({unitId:x,subUnitId:E,commentId:``}),!0}},O={id:`docs.operation.add-drawing-comment`,type:t.CommandType.OPERATION,handler(e){let n=e.get(o.IDrawingManagerService).getFocusDrawings()[0],r=e.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!n||!r||n.unitId!==r.getUnitId())return!1;e.get(i.ThreadCommentDraftService).place({unitId:n.unitId,subUnitId:n.subUnitId,anchor:{kind:c.ThreadCommentAnchorKind.DOC_DRAWING,pageId:n.subUnitId,elementId:n.drawingId}});let a=e.get(i.ThreadCommentPanelService);return e.get(l.ISidebarService).open({header:{title:`docs-thread-comment-ui.panel.title`},children:{label:g},width:320,onClose:()=>a.setPanelVisible(!1)}),a.setPanelVisible(!0),!0}};function k(e){let r=e.get(t.IUniverInstanceService),i=e.get(t.IPermissionService);return(0,u.combineLatest)([r.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),i.permissionPointUpdate$.pipe((0,u.startWith)(void 0))]).pipe((0,u.map)(([e])=>!e||!(0,n.getDocumentPermissionValue)(i,e.getUnitId(),e.getUnitId(),d.UnitAction.Comment)))}function A(e){return{id:O.id,type:l.MenuItemType.BUTTON,icon:`InsertCommentDoubleIcon`,title:`docs-thread-comment-ui.panel.addComment`,tooltip:`docs-thread-comment-ui.panel.addComment`,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),disabled$:k(e)}}let j=e=>{var r;let i=e.get(s.IRenderManagerService),a=e.get(n.DocSelectionManagerService),o=e.get(t.IUniverInstanceService),c=e.get(t.IPermissionService),l=o.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!l||!(0,n.getDocumentPermissionValue)(c,l.getUnitId(),l.getUnitId(),d.UnitAction.Comment))return!0;let u=(r=(0,s.withCurrentTypeOfRenderer)(t.UniverInstanceType.UNIVER_DOC,n.DocSkeletonManagerService,o,i))==null?void 0:r.getSkeleton(),f=u==null?void 0:u.getViewModel().getEditArea();if(f===s.DocumentEditArea.FOOTER||f===s.DocumentEditArea.HEADER)return!0;let p=a.getActiveTextRange();return!!(p==null||p.collapsed)};function M(e){return{id:D.id,type:l.MenuItemType.BUTTON,icon:`InsertCommentDoubleIcon`,title:`docs-thread-comment-ui.panel.addComment`,tooltip:`docs-thread-comment-ui.panel.addComment`,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.SHEET_EDITOR_UNITS),disabled$:(0,u.combineLatest)([e.get(n.DocSelectionManagerService).textSelection$.pipe((0,u.debounceTime)(16),(0,u.map)(()=>j(e)),(0,u.startWith)(j(e))),k(e)]).pipe((0,u.map)(([e,t])=>e||t))}}function N(e){return{id:E.id,type:l.MenuItemType.BUTTON,icon:`CommentIcon`,title:`docs-thread-comment-ui.panel.openComments`,tooltip:`docs-thread-comment-ui.panel.openComments`,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let P={[l.RibbonInsertGroup.OTHERS]:{[E.id]:{order:0,gridLayout:{row:1,column:1,showLabel:!0},menuItemFactory:N},[D.id]:{order:.1,gridLayout:{row:2,column:1,showLabel:!0},menuItemFactory:M}},[a.FLOAT_TOOLBAR_MENU_POSITION]:{[D.id]:{order:21,menuItemFactory:M}},[l.FloatingObjectToolbarPosition.DOC]:{[O.id]:{order:10,menuItemFactory:A}},[l.ContextMenuPosition.MAIN_AREA]:{[l.ContextMenuGroup.DATA]:{[D.id]:{order:1,menuItemFactory:M}}},[l.ContextMenuPosition.DRAWING]:{[l.ContextMenuGroup.DATA]:{[O.id]:{order:1,menuItemFactory:A}}}};var F=`@univerjs/docs-thread-comment-ui`,I=`1.0.0`;let L=`docs-thread-comment-ui.config`,R={};function z({ref:e,...t}){let{preserveStrokeWidth:n,icon:r,id:i,className:a,extend:o,...s}=t,c=`univerjs-icon univerjs-icon-${i} ${a||``}`.trim(),l=`_${(0,f.useId)()}`,u=(0,f.useRef)(null);return(0,f.useImperativeHandle)(e,()=>u.current),(0,f.useLayoutEffect)(()=>{if(n&&u.current&&u.current.localName===r.tag)return U(u.current)},[n,r]),B(r,`${i}`,{defIds:r.defIds,idSuffix:l},{ref:u,className:c,...s},o)}function B(e,t,n,r,i){return(0,f.createElement)(e.tag,{key:t,...V(e,n,i),...r},(H(e,n).children||[]).map((r,a)=>B(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function V(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function H(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function U(e){let t=e.viewBox.baseVal,n=Math.max(t.width,t.height);if(!Number.isFinite(n)||n<=0||t.width<=0||t.height<=0)return()=>void 0;let r=16/n,i=Array.from(e.querySelectorAll(`circle, ellipse, line, path, polygon, polyline, rect, text, textPath, tspan, use`)).flatMap(e=>{let t=getComputedStyle(e),n=Number.parseFloat(t.strokeWidth);return t.stroke===`none`||Number.parseFloat(t.strokeOpacity)===0||t.vectorEffect===`non-scaling-stroke`||!Number.isFinite(n)||n<=0?[]:[{element:e,hadStyleAttribute:e.hasAttribute(`style`),originalStrokeWidth:n,strokeWidth:W(e.style,`stroke-width`)}]}).map(e=>({appliedStrokeWidth:null,element:e.element,hadStyleAttribute:e.hadStyleAttribute,isReleased:!1,originalStrokeWidth:e.originalStrokeWidth,strokeWidth:e.strokeWidth}));if(i.length===0)return()=>void 0;let a=(e,n)=>{if(t.width<=0||t.height<=0||e<=0||n<=0)return;let a=Math.min(e/t.width,n/t.height);!Number.isFinite(a)||a<=0||i.forEach(e=>{if(e.isReleased)return;if(e.appliedStrokeWidth!==null&&(e.element.style.getPropertyValue(`stroke-width`)!==e.appliedStrokeWidth||e.element.style.getPropertyPriority(`stroke-width`)!==e.strokeWidth.priority)){e.appliedStrokeWidth=null,e.isReleased=!0;return}let t=e.originalStrokeWidth*r/a,n=`${Number(t.toFixed(12))}px`;e.element.style.setProperty(`stroke-width`,n,e.strokeWidth.priority),e.appliedStrokeWidth=n})},o=e.getBoundingClientRect();a(o.width,o.height);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{if(t.some(t=>t.target===e)){let t=e.getBoundingClientRect();a(t.width,t.height)}});return s==null||s.observe(e),()=>{s==null||s.disconnect(),i.forEach(e=>{e.appliedStrokeWidth!==null&&(G(e.element.style,`stroke-width`,e.appliedStrokeWidth,e.strokeWidth.priority,e.strokeWidth),!e.hadStyleAttribute&&e.element.style.length===0&&e.element.removeAttribute(`style`))})}}function W(e,t){return{priority:e.getPropertyPriority(t),value:e.getPropertyValue(t)}}function G(e,t,n,r,i){e.getPropertyValue(t)===n&&e.getPropertyPriority(t)===r&&(i.value?e.setProperty(t,i.value,i.priority):e.removeProperty(t))}z.displayName=`UniverIcon`;let ee={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 17 17`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{stroke:`currentColor`,d:`M2.43993 3.31861H15.0381V12.5611H8.65676L5.75498 14.069V12.5611H2.43993V3.31861Z`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5.83725 7.50706V8.41159M8.73904 7.50706V8.41159M11.6408 7.50706V8.41159`,strokeLinecap:`round`,strokeWidth:1.39}}]},K=(0,f.forwardRef)(function(e,t){return(0,f.createElement)(z,Object.assign({},e,{id:`comment-icon`,ref:t,icon:ee}))});K.displayName=`CommentIcon`;let te={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M1.63636 1.99658C1.28491 1.99658 1 2.28149 1 2.63295V10.2693C1 10.6208 1.28491 10.9057 1.63636 10.9057H2.96368L4.05003 11.992C4.29854 12.2405 4.70146 12.2405 4.94997 11.992L6.03632 10.9057H6.72727V12.4128C6.72727 12.7643 7.01218 13.0492 7.36364 13.0492H10.6001L11.3682 13.8173C11.6167 14.0658 12.0196 14.0658 12.2682 13.8173L13.0363 13.0492H14.3636C14.7151 13.0492 15 12.7643 15 12.4128V7.32192C15 6.97047 14.7151 6.68556 14.3636 6.68556H12.4545V2.63295C12.4545 2.28149 12.1696 1.99658 11.8182 1.99658H1.63636ZM12.4545 7.95829V10.2693C12.4545 10.6208 12.1696 10.9057 11.8182 10.9057H8V11.7765H10.8636C11.0324 11.7765 11.1942 11.8435 11.3136 11.9628L11.8182 12.4674L12.3228 11.9628C12.4421 11.8435 12.604 11.7765 12.7727 11.7765H13.7273V7.95829H12.4545ZM11.1818 3.26931H2.27273V9.63295H3.22727C3.39604 9.63295 3.5579 9.70001 3.67725 9.81936L4.5 10.6421L5.32275 9.81936C5.4421 9.70001 5.60396 9.63295 5.77273 9.63295H11.1818V3.26931Z`,fillRule:`evenodd`,clipRule:`evenodd`}},{tag:`path`,attrs:{fill:`colorChannel1`,d:`M5.13617 4.54199C4.78472 4.54199 4.49981 4.8269 4.49981 5.17836C4.49981 5.52981 4.78472 5.81472 5.13617 5.81472H8.95435C9.3058 5.81472 9.59072 5.52981 9.59072 5.17836C9.59072 4.8269 9.3058 4.54199 8.95435 4.54199H5.13617ZM4.49981 7.72381C4.49981 7.37236 4.78472 7.08744 5.13617 7.08744H7.04526C7.39671 7.08744 7.68162 7.37236 7.68162 7.72381C7.68162 8.07526 7.39671 8.36018 7.04526 8.36018H5.13617C4.78472 8.36018 4.49981 8.07526 4.49981 7.72381Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},q=(0,f.forwardRef)(function(e,t){return(0,f.createElement)(z,Object.assign({},e,{id:`insert-comment-double-icon`,ref:t,icon:te}))});q.displayName=`InsertCommentDoubleIcon`;function ne(e,t){return e&&e.unitId===t?e.subUnitId:r.DEFAULT_DOC_SUBUNIT_ID}let re=()=>{let e=(0,l.useDependency)(t.IUniverInstanceService),r=(0,l.useDependency)(t.Injector),a=(0,f.useMemo)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,u.filter)(e=>!!e&&!(0,t.isInternalEditorID)(e.getUnitId()))),[e]),o=(0,l.useObservable)(a),s=(0,l.useDependency)(i.ThreadCommentDraftService),d=(0,l.useObservable)(s.draft$,s.draft),g=(0,f.useMemo)(()=>new u.Observable(e=>e.next(ne(d,o==null?void 0:o.getUnitId()))),[o,d]),_=(0,l.useDependency)(n.DocSelectionManagerService),v=(0,f.useMemo)(()=>_.textSelection$.pipe((0,u.debounceTime)(16)),[_.textSelection$]),y=(0,l.useDependency)(t.IPermissionService),b=(0,f.useMemo)(()=>(0,u.merge)(v,y.permissionPointUpdate$),[y.permissionPointUpdate$,v]),x=(0,l.useObservable)(()=>b.pipe((0,u.map)(()=>j(r))),j(r),!1,[b,r]),S=(0,l.useDependency)(t.ICommandService),C=(0,l.useDependency)(c.ThreadCommentModel);(0,l.useObservable)(C.commentUpdate$);let T=(0,l.useDependency)(w),E=(0,l.useObservable)(T.addingComment$),O=(0,l.useDependency)(t.UserManagerService),k=(d==null?void 0:d.anchor.kind)===c.ThreadCommentAnchorKind.DOC_DRAWING&&d.unitId===(o==null?void 0:o.getUnitId())?{id:``,threadId:``,unitId:d.unitId,subUnitId:d.subUnitId,ref:(0,c.serializeThreadCommentAnchor)(d.anchor),dT:``,personId:O.getCurrentUser().userID,text:{dataStream:`\r
|
|
3
|
+
`}}:null,A=k??E,M=new Set(Object.keys((o==null?void 0:o.getSnapshot().drawings)??{})),N=e=>{let t=(0,c.deserializeThreadCommentAnchor)(e.ref);return(t==null?void 0:t.kind)===c.ThreadCommentAnchorKind.DOC_DRAWING||e.ref.startsWith(`#`)&&M.has(e.ref.slice(1))},P=o?C.getUnit(o.getUnitId()).filter(e=>N(e.root)).map(e=>e.root.id):[],[F,I]=(0,f.useState)([]);if((0,f.useEffect)(()=>{let e=new Set,t=o==null?void 0:o.getCustomDecorations();I((t==null?void 0:t.map(e=>e.id).filter(t=>{let n=e.has(t);return e.add(t),!n}))??[]);let r=S.onCommandExecuted(e=>{if(e.id===n.RichTextEditingMutation.id){let e=new Set,t=o==null?void 0:o.getCustomDecorations();I((t==null?void 0:t.map(e=>e.id).filter(t=>{let n=e.has(t);return e.add(t),!n}))??[])}});return()=>{r.dispose()}},[S,o]),!o)return null;let L=o.getUnitId();return(0,p.jsx)(i.ThreadCommentPanel,{unitId:L,subUnitId$:g,type:t.UniverInstanceType.UNIVER_DOC,onAdd:()=>{S.executeCommand(D.id)},getSubUnitName:()=>``,disableAdd:x,tempComment:A,onAddComment:async e=>{if(k&&!e.parentId)return!0;if(!e.parentId){let t={unitId:L,range:E,comment:e};if(!await S.executeCommand(m.id,t))throw Error(`Failed to add document comment.`);return T.endAdd(),!1}return!0},onAfterDeleteComment:async e=>{if(!e.parentId){if(N(e))return;let t={unitId:L,commentId:e.id};await S.executeCommand(h.id,t)}},showComments:[...F,...P],onTempCommentClose:()=>s.cancel(),formatRef:e=>{let t=(0,c.deserializeThreadCommentAnchor)(e.ref);return(t==null?void 0:t.kind)===c.ThreadCommentAnchorKind.DOC_DRAWING?`#${t.elementId}`:e.ref}})},J=class extends t.Disposable{constructor(e,t){super(),this._componentManager=e,this._iconManager=t,this._registerComponents(),this._registerIcons()}_registerComponents(){[[g,re]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_registerIcons(){this.disposeWithMe(this._iconManager.register({CommentIcon:K,InsertCommentDoubleIcon:q}))}};J=C([S(0,(0,t.Inject)(l.ComponentManager)),S(1,(0,t.Inject)(l.IconManager))],J);let Y=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._threadCommentPanelService=e,this._univerInstanceService=t,this._commandService=n,this._docThreadCommentService=r,this._renderManagerService=i,this._threadCommentModel=a,this._initSelectionChange(),this._initActiveCommandChange()}_initSelectionChange(){let e;this.disposeWithMe(this._commandService.onCommandExecuted(a=>{if(a.id===n.SetTextSelectionsOperation.id){let{unitId:n,ranges:o}=a.params;if((0,t.isInternalEditorID)(n))return;let s=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_DOC),c=o[0];if((e==null?void 0:e.startOffset)===(c==null?void 0:c.startOffset)&&(e==null?void 0:e.endOffset)===(c==null?void 0:c.endOffset))return;if(e=c,c&&s){let{startOffset:e,endOffset:t,collapsed:i}=c,a=i?e:t-1,o=this._findActiveCommentDecoration(s,n,e,a);if(o){this._commandService.executeCommand(T.id,{activeComment:{unitId:n,subUnitId:r.DEFAULT_DOC_SUBUNIT_ID,commentId:o.id}});return}}if(!this._threadCommentPanelService.activeCommentId)return;let l=this._docThreadCommentService.addingComment,u=this._threadCommentPanelService.activeCommentId;if(l&&(u==null?void 0:u.unitId)===l.unitId&&(u==null?void 0:u.subUnitId)===r.DEFAULT_DOC_SUBUNIT_ID&&(u==null?void 0:u.commentId)===l.id)return;this._commandService.executeCommand(i.SetActiveCommentOperation.id)}}))}_findActiveCommentDecoration(e,n,i,a){var o;return[...((o=e.getBody())==null?void 0:o.customDecorations)??[]].reverse().filter(e=>e.type===t.CustomDecorationType.COMMENT&&e.startIndex<=i&&e.endIndex>=a).sort((e,t)=>e.endIndex-e.startIndex-(t.endIndex-t.startIndex)).find(e=>{let t=this._threadCommentModel.getComment(n,r.DEFAULT_DOC_SUBUNIT_ID,e.id);return t&&!t.resolved})}_initActiveCommandChange(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var t;if(e){let t=this._univerInstanceService.getUnit(e.unitId);if(t){var n,r;let i=(n=this._renderManagerService.getRenderUnitById(e.unitId))==null?void 0:n.with(a.DocBackScrollRenderController),o=(r=t.getBody())==null||(r=r.customDecorations)==null?void 0:r.find(t=>t.id===e.commentId);o&&i&&i.scrollToRange({startOffset:o.startIndex,endOffset:o.endIndex,collapsed:!1})}}(!e||e.commentId!==((t=this._docThreadCommentService.addingComment)==null?void 0:t.id))&&this._docThreadCommentService.endAdd()}))}};Y=C([S(0,(0,t.Inject)(i.ThreadCommentPanelService)),S(1,t.IUniverInstanceService),S(2,t.ICommandService),S(3,(0,t.Inject)(w)),S(4,s.IRenderManagerService),S(5,(0,t.Inject)(c.ThreadCommentModel))],Y);let X=class extends t.Disposable{constructor(e,t,n,r,a,o,s,c){super(),this._context=e,this._docInterceptorService=t,this._threadCommentPanelService=n,this._univerInstanceService=r,this._threadCommentModel=a,this._commandService=o,this._drawingManagerService=s,this._themeService=c,x(this,`_drawingOverlay`,void 0),x(this,`_drawingCommentSubUnits`,new Map),this._drawingOverlay=new i.ThreadCommentCanvasOverlay(`doc-thread-comment-drawing-overlay`,{...this._getDrawingOverlayColors(),zoomRatio:1,markers:[],underlines:[]}),this._context.scene.addObject(this._drawingOverlay,10100),this._interceptorViewModel(),this._initReRender(),this._initSyncComments(),this._initDrawingOverlay()}_initReRender(){[this._threadCommentPanelService.activeCommentId$,this._threadCommentPanelService.hoveredCommentId$].forEach(e=>this.disposeWithMe(e.pipe((0,u.skip)(1),(0,u.startWith)(void 0),(0,u.pairwise)()).subscribe(([e,n])=>{var r;let i=(r=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC))==null?void 0:r.getUnitId();if(new Set([e==null?void 0:e.unitId,n==null?void 0:n.unitId,i]).has(this._context.unitId)){var a;(a=this._context.mainComponent)==null||a.makeDirty(!0)}}))),this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{if(e.type===`resolve`&&e.unitId===this._context.unitId){var t;(t=this._context.mainComponent)==null||t.makeDirty(!0)}e.unitId===this._context.unitId&&this._syncDrawingOverlay()}))}_initDrawingOverlay(){this.disposeWithMe((0,t.toDisposable)(this._drawingOverlay.onPointerDown$.subscribeEvent((e,t)=>{let n=this._drawingOverlay.hitCommentId,r=n&&this._drawingCommentSubUnits.get(n);n&&r&&(t.stopPropagation(),this._commandService.executeCommand(T.id,{activeComment:{unitId:this._context.unitId,subUnitId:r,commentId:n,trigger:`doc-canvas`}}))}))),this.disposeWithMe((0,t.toDisposable)(this._context.engine.onTransformChange$.subscribeEvent(()=>this._syncDrawingOverlay()))),[this._threadCommentPanelService.activeCommentId$,this._threadCommentPanelService.hoveredCommentId$].forEach(e=>this.disposeWithMe(e.subscribe(()=>this._syncDrawingOverlay()))),[this._drawingManagerService.add$,this._drawingManagerService.update$,this._drawingManagerService.remove$].forEach(e=>this.disposeWithMe(e.subscribe(e=>{e.some(e=>e.unitId===this._context.unitId)&&this._syncDrawingOverlay()}))),this.disposeWithMe(this._themeService.currentTheme$.subscribe(()=>this._syncDrawingOverlay())),this._syncDrawingOverlay()}_syncDrawingOverlay(){let e=new Map;this._drawingCommentSubUnits.clear(),this._threadCommentModel.query({unitIds:[this._context.unitId],anchorKinds:[c.ThreadCommentAnchorKind.DOC_DRAWING],resolved:!1}).forEach(({root:t,subUnitId:n})=>{let r=(0,c.deserializeThreadCommentAnchor)(t.ref);if((r==null?void 0:r.kind)!==c.ThreadCommentAnchorKind.DOC_DRAWING)return;let i=this._getDrawingOutline(r.pageId??n,r.elementId);i&&(this._drawingCommentSubUnits.set(t.id,n),e.set(`${r.pageId??n}\0${r.elementId}`,{commentId:t.id,left:i.left,top:i.top+i.height+2,width:i.width}))});let t=[],n=new Map;[this._threadCommentPanelService.activeCommentId,this._threadCommentPanelService.hoveredCommentId].forEach(e=>{if(!e||e.unitId!==this._context.unitId)return;let r=this._threadCommentModel.getComment(e.unitId,e.subUnitId,e.commentId),i=r&&(0,c.deserializeThreadCommentAnchor)(r.ref);if((i==null?void 0:i.kind)!==c.ThreadCommentAnchorKind.DOC_DRAWING)return;t.push(e.commentId);let a=this._getDrawingOutline(i.pageId??e.subUnitId,i.elementId);a&&n.set(`${i.pageId??e.subUnitId}\0${i.elementId}`,a)}),this._drawingOverlay.updateState({...this._getDrawingOverlayColors(),markers:[],underlines:Array.from(e.values()),focusedCommentIds:t,focusOutlines:Array.from(n.values())})}_getDrawingOutline(e,t){var n,r;let i=(0,o.getDrawingShapeKeyByDrawingSearch)({unitId:this._context.unitId,subUnitId:e,drawingId:t}),a=((n=(r=this._context.scene).getObjectIncludeInGroup)==null?void 0:n.call(r,i))??this._context.scene.getObject(i);if(!a)return null;let s=a.getRealBound();return{left:s.left,top:s.top,width:s.width,height:s.height}}_getDrawingOverlayColors(){return{accentColor:this._themeService.getColorFromTheme(`yellow.400`),foregroundColor:this._themeService.getColorFromTheme(`gray.900`),outlineColor:this._themeService.getColorFromTheme(`white`)}}_interceptorViewModel(){this._docInterceptorService.intercept(n.DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION,{handler:(e,t,n)=>{if(!e)return n(e);let{unitId:i}=t,a=[this._threadCommentPanelService.activeCommentId,this._threadCommentPanelService.hoveredCommentId],o=this._threadCommentModel.getComment(i,r.DEFAULT_DOC_SUBUNIT_ID,e.id);if(!o)return n({...e,show:!1});let s=a.some(t=>(t==null?void 0:t.unitId)===i&&t.subUnitId===r.DEFAULT_DOC_SUBUNIT_ID&&t.commentId===e.id);return n({...e,active:s,show:!o.resolved})}})}_initSyncComments(){var e;let i=this._context.unit.getUnitId(),a=r.DEFAULT_DOC_SUBUNIT_ID,o=((e=this._context.unit.getBody())==null||(e=e.customDecorations)==null?void 0:e.filter(e=>e.type===t.CustomDecorationType.COMMENT).map(e=>e.id))??[];o.length&&this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(),r.DEFAULT_DOC_SUBUNIT_ID,o);let s=o.sort();this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===n.RichTextEditingMutation.id){var r;if(e.params.unitId!==this._context.unit.getUnitId())return;let n=((r=this._context.unit.getBody())==null||(r=r.customDecorations)==null?void 0:r.filter(e=>e.type===t.CustomDecorationType.COMMENT).map(e=>e.id))??[],o=n.sort();if(JSON.stringify(s)!==JSON.stringify(o)){let e=new Set(s),t=new Set;n.forEach(n=>{e.has(n)||t.add(n)}),s=o,this._threadCommentModel.syncThreadComments(i,a,[...t])}}}))}};X=C([S(1,(0,t.Inject)(n.DocInterceptorService)),S(2,(0,t.Inject)(i.ThreadCommentPanelService)),S(3,t.IUniverInstanceService),S(4,(0,t.Inject)(c.ThreadCommentModel)),S(5,t.ICommandService),S(6,o.IDrawingManagerService),S(7,(0,t.Inject)(t.ThemeService))],X);let Z=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._menuManagerService=t,this._initCommands(),this._initMenus()}_initCommands(){[O,m,h,T,D,E].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.appendRootMenu({[a.FLOAT_TOOLBAR_MENU_POSITION]:{}}),this._menuManagerService.mergeMenu(P)}};Z=C([S(0,t.ICommandService),S(1,l.IMenuManagerService)],Z);let Q=class extends t.Plugin{constructor(e=R,n,r,i){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},R,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(L,o)}onStarting(){[[J],[Z],[Y],[w]].forEach(e=>{this._injector.add(e)}),this._injector.get(J)}onRendered(){this._initRenderModule(),this._injector.get(Y),this._injector.get(Z)}_initRenderModule(){this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,[X])}};x(Q,`pluginName`,_),x(Q,`packageName`,F),x(Q,`version`,I),x(Q,`type`,t.UniverInstanceType.UNIVER_DOC),Q=C([(0,t.DependentOn)(n.UniverDocsPlugin,r.UniverDocsThreadCommentPlugin,c.UniverThreadCommentPlugin,o.UniverDrawingPlugin,s.UniverRenderEnginePlugin,a.UniverDocsMobileUIPlugin,i.UniverThreadCommentMobileUIPlugin),S(1,(0,t.Inject)(t.Injector)),S(2,s.IRenderManagerService),S(3,t.IConfigService)],Q);let ie=[[Z],[Y],[w]],$=class extends t.Plugin{constructor(e=R,n,r,i){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._configService=i;let{menu:a,...o}=(0,t.merge)({},R,this._config);a&&this._configService.setConfig(`menu`,a,{merge:!0}),this._configService.setConfig(L,o)}onStarting(){this._injector.add([J]),this._injector.get(J),ie.forEach(e=>{this._injector.add(e)})}onRendered(){this._initRenderModule(),this._injector.get(Y),this._injector.get(Z)}_initRenderModule(){this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,[X])}};x($,`pluginName`,_),x($,`packageName`,F),x($,`version`,I),x($,`type`,t.UniverInstanceType.UNIVER_DOC),$=C([(0,t.DependentOn)(n.UniverDocsPlugin,r.UniverDocsThreadCommentPlugin,c.UniverThreadCommentPlugin,o.UniverDrawingPlugin,s.UniverRenderEnginePlugin,a.UniverDocsUIPlugin,i.UniverThreadCommentUIPlugin),S(1,(0,t.Inject)(t.Injector)),S(2,s.IRenderManagerService),S(3,t.IConfigService)],$),e.AddDocCommentComment=m,e.DeleteDocCommentComment=h,e.DocsThreadCommentUIMenuSchema=P,e.ShowCommentPanelOperation=T,e.StartAddCommentOperation=D,Object.defineProperty(e,"UniverDocsThreadCommentMobileUIPlugin",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverDocsThreadCommentUIPlugin",{enumerable:!0,get:function(){return $}})});
|
package/lib/umd/locale/en-US.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverDocsThreadCommentUiEnUS=t())})(this,function(){return{"docs-thread-comment-ui":{panel:{title:`Comment Management`,addComment:`Add Comment`,openComments:`
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t():typeof define==`function`&&define.amd?define([],t):(e=typeof globalThis<`u`?globalThis:e||self,e.UniverDocsThreadCommentUiEnUS=t())})(this,function(){return{"docs-thread-comment-ui":{panel:{title:`Comment Management`,addComment:`Add Comment`,openComments:`Comments`}}}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/docs-thread-comment-ui",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Thread comment UI integration for Univer Docs.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -58,26 +58,26 @@
|
|
|
58
58
|
"rxjs": ">=7.0.0"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@univerjs/
|
|
62
|
-
"@univerjs/
|
|
63
|
-
"@univerjs/
|
|
64
|
-
"@univerjs/
|
|
65
|
-
"@univerjs/
|
|
66
|
-
"@univerjs/
|
|
67
|
-
"@univerjs/
|
|
68
|
-
"@univerjs/
|
|
69
|
-
"@univerjs/
|
|
70
|
-
"@univerjs/
|
|
71
|
-
"@univerjs/
|
|
61
|
+
"@univerjs/core": "1.0.0",
|
|
62
|
+
"@univerjs/docs": "1.0.0",
|
|
63
|
+
"@univerjs/docs-thread-comment": "1.0.0",
|
|
64
|
+
"@univerjs/docs-ui": "1.0.0",
|
|
65
|
+
"@univerjs/drawing": "1.0.0",
|
|
66
|
+
"@univerjs/engine-render": "1.0.0",
|
|
67
|
+
"@univerjs/icons": "1.43.0",
|
|
68
|
+
"@univerjs/protocol": "1.0.0",
|
|
69
|
+
"@univerjs/thread-comment": "1.0.0",
|
|
70
|
+
"@univerjs/thread-comment-ui": "1.0.0",
|
|
71
|
+
"@univerjs/ui": "1.0.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"
|
|
74
|
+
"@univerjs-infra/shared": "1.0.0",
|
|
75
|
+
"postcss": "^8.5.28",
|
|
75
76
|
"react": "18.3.1",
|
|
76
77
|
"rxjs": "^7.8.2",
|
|
77
78
|
"tailwindcss": "3.4.18",
|
|
78
79
|
"typescript": "^6.0.3",
|
|
79
|
-
"vitest": "^5.0.0"
|
|
80
|
-
"@univerjs-infra/shared": "1.0.0-rc.0"
|
|
80
|
+
"vitest": "^5.0.0"
|
|
81
81
|
},
|
|
82
82
|
"scripts": {
|
|
83
83
|
"test": "vitest run",
|