@univerjs/thread-comment-ui 0.3.0-alpha.0 → 0.3.0-nightly.202410101606
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 +1 -3
- package/lib/es/index.js +1 -767
- package/lib/umd/index.js +1 -3
- package/package.json +17 -18
- package/LICENSE +0 -176
package/lib/es/index.js
CHANGED
|
@@ -1,767 +1 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
|
3
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
|
4
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
5
|
-
import dayjs from "dayjs";
|
|
6
|
-
import { UniverThreadCommentPlugin, ThreadCommentModel, AddCommentCommand, UpdateCommentCommand, ResolveCommentCommand, DeleteCommentTreeCommand, DeleteCommentCommand } from "@univerjs/thread-comment";
|
|
7
|
-
import { Inject, Disposable, UniverInstanceType, IUniverInstanceService, CommandType, createIdentifier, DependentOn, Injector, Plugin, mergeOverrideWithDependencies, ICommandService, IConfigService, CustomRangeType, useDependency, LocaleService, UserManagerService, generateRandomId } from "@univerjs/core";
|
|
8
|
-
import { ISidebarService, useObservable } from "@univerjs/ui";
|
|
9
|
-
import { BehaviorSubject, filter } from "rxjs";
|
|
10
|
-
import { Mentions, Mention, Button, Tooltip, Dropdown, Menu, MenuItem, Select } from "@univerjs/design";
|
|
11
|
-
import React, { forwardRef, useRef, createElement, useState, useImperativeHandle, useEffect, useMemo } from "react";
|
|
12
|
-
import cs from "clsx";
|
|
13
|
-
import { DocSelectionManagerService } from "@univerjs/docs";
|
|
14
|
-
import { DocSelectionRenderService } from "@univerjs/docs-ui";
|
|
15
|
-
import { IRenderManagerService } from "@univerjs/engine-render";
|
|
16
|
-
function getDT() {
|
|
17
|
-
return dayjs().format("YYYY/MM/DD HH:mm");
|
|
18
|
-
}
|
|
19
|
-
__name(getDT, "getDT");
|
|
20
|
-
const THREAD_COMMENT_PANEL = "thread-comment-panel", PLUGIN_NAME = "UNIVER_THREAD_COMMENT_UI_PLUGIN";
|
|
21
|
-
var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
22
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
23
|
-
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
24
|
-
return kind && result && __defProp$1(target, key, result), result;
|
|
25
|
-
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), _a;
|
|
26
|
-
let ThreadCommentPanelService = (_a = class extends Disposable {
|
|
27
|
-
constructor(_sidebarService, _univerInstanceService) {
|
|
28
|
-
super();
|
|
29
|
-
__publicField(this, "_panelVisible", !1);
|
|
30
|
-
__publicField(this, "_panelVisible$", new BehaviorSubject(!1));
|
|
31
|
-
__publicField(this, "_activeCommentId");
|
|
32
|
-
__publicField(this, "_activeCommentId$", new BehaviorSubject(void 0));
|
|
33
|
-
__publicField(this, "panelVisible$", this._panelVisible$.asObservable());
|
|
34
|
-
__publicField(this, "activeCommentId$", this._activeCommentId$.asObservable());
|
|
35
|
-
this._sidebarService = _sidebarService, this._univerInstanceService = _univerInstanceService, this._init(), this.disposeWithMe(() => {
|
|
36
|
-
this._activeCommentId$.complete(), this._panelVisible$.complete();
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
_init() {
|
|
40
|
-
this.disposeWithMe(
|
|
41
|
-
this._sidebarService.sidebarOptions$.subscribe((opt) => {
|
|
42
|
-
opt.visible || this.setPanelVisible(!1);
|
|
43
|
-
})
|
|
44
|
-
), this.disposeWithMe(
|
|
45
|
-
this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_SHEET).pipe(filter((sheet) => !sheet)).subscribe(() => {
|
|
46
|
-
this._sidebarService.close();
|
|
47
|
-
})
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
get panelVisible() {
|
|
51
|
-
return this._panelVisible;
|
|
52
|
-
}
|
|
53
|
-
get activeCommentId() {
|
|
54
|
-
return this._activeCommentId;
|
|
55
|
-
}
|
|
56
|
-
setPanelVisible(visible) {
|
|
57
|
-
this._panelVisible = visible, this._panelVisible$.next(visible);
|
|
58
|
-
}
|
|
59
|
-
setActiveComment(commentInfo) {
|
|
60
|
-
this._activeCommentId = commentInfo, this._activeCommentId$.next(commentInfo);
|
|
61
|
-
}
|
|
62
|
-
}, __name(_a, "ThreadCommentPanelService"), _a);
|
|
63
|
-
ThreadCommentPanelService = __decorateClass$1([
|
|
64
|
-
__decorateParam$1(0, Inject(ISidebarService)),
|
|
65
|
-
__decorateParam$1(1, IUniverInstanceService)
|
|
66
|
-
], ThreadCommentPanelService);
|
|
67
|
-
const ToggleSheetCommentPanelOperation = {
|
|
68
|
-
id: "thread-comment-ui.operation.toggle-panel",
|
|
69
|
-
type: CommandType.OPERATION,
|
|
70
|
-
handler(accessor) {
|
|
71
|
-
const sidebarService = accessor.get(ISidebarService), panelService = accessor.get(ThreadCommentPanelService);
|
|
72
|
-
return panelService.panelVisible ? (sidebarService.close(), panelService.setPanelVisible(!1)) : (sidebarService.open({
|
|
73
|
-
header: { title: "threadCommentUI.panel.title" },
|
|
74
|
-
children: { label: THREAD_COMMENT_PANEL },
|
|
75
|
-
width: 330
|
|
76
|
-
}), panelService.setPanelVisible(!0)), !0;
|
|
77
|
-
}
|
|
78
|
-
}, SetActiveCommentOperation = {
|
|
79
|
-
id: "thread-comment-ui.operation.set-active-comment",
|
|
80
|
-
type: CommandType.OPERATION,
|
|
81
|
-
handler(accessor, params) {
|
|
82
|
-
return accessor.get(ThreadCommentPanelService).setActiveComment(params), !0;
|
|
83
|
-
}
|
|
84
|
-
}, _ThreadCommentMentionDataService = class _ThreadCommentMentionDataService {
|
|
85
|
-
constructor() {
|
|
86
|
-
__publicField(this, "dataSource");
|
|
87
|
-
__publicField(this, "renderSuggestion");
|
|
88
|
-
__publicField(this, "trigger", "@");
|
|
89
|
-
}
|
|
90
|
-
async getMentions(search, unitId, subUnitId) {
|
|
91
|
-
return this.dataSource ? this.dataSource.getMentions(search, unitId, subUnitId) : [];
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
__name(_ThreadCommentMentionDataService, "ThreadCommentMentionDataService");
|
|
95
|
-
let ThreadCommentMentionDataService = _ThreadCommentMentionDataService;
|
|
96
|
-
const IThreadCommentMentionDataService = createIdentifier("thread-comment.mention-data.service"), PLUGIN_CONFIG_KEY = "thread-comment-ui.config", defaultPluginConfig = {};
|
|
97
|
-
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __defNormalProp2 = /* @__PURE__ */ __name((obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, "__defNormalProp"), __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
98
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
99
|
-
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
100
|
-
return kind && result && __defProp2(target, key, result), result;
|
|
101
|
-
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), __publicField2 = /* @__PURE__ */ __name((obj, key, value) => __defNormalProp2(obj, typeof key != "symbol" ? key + "" : key, value), "__publicField"), _a2;
|
|
102
|
-
let UniverThreadCommentUIPlugin = (_a2 = class extends Plugin {
|
|
103
|
-
constructor(_config = defaultPluginConfig, _injector, _commandService, _configService) {
|
|
104
|
-
super(), this._config = _config, this._injector = _injector, this._commandService = _commandService, this._configService = _configService;
|
|
105
|
-
const { menu, ...rest } = this._config;
|
|
106
|
-
menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
|
|
107
|
-
}
|
|
108
|
-
onStarting() {
|
|
109
|
-
var _a3;
|
|
110
|
-
mergeOverrideWithDependencies([
|
|
111
|
-
[ThreadCommentPanelService],
|
|
112
|
-
[IThreadCommentMentionDataService, { useClass: ThreadCommentMentionDataService }]
|
|
113
|
-
], (_a3 = this._config) == null ? void 0 : _a3.overrides).forEach((dep) => {
|
|
114
|
-
this._injector.add(dep);
|
|
115
|
-
}), [ToggleSheetCommentPanelOperation, SetActiveCommentOperation].forEach((command) => {
|
|
116
|
-
this._commandService.registerCommand(command);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}, __name(_a2, "UniverThreadCommentUIPlugin"), _a2);
|
|
120
|
-
__publicField2(UniverThreadCommentUIPlugin, "pluginName", PLUGIN_NAME);
|
|
121
|
-
__publicField2(UniverThreadCommentUIPlugin, "type", UniverInstanceType.UNIVER_UNKNOWN);
|
|
122
|
-
UniverThreadCommentUIPlugin = __decorateClass([
|
|
123
|
-
DependentOn(UniverThreadCommentPlugin),
|
|
124
|
-
__decorateParam(1, Inject(Injector)),
|
|
125
|
-
__decorateParam(2, ICommandService),
|
|
126
|
-
__decorateParam(3, IConfigService)
|
|
127
|
-
], UniverThreadCommentUIPlugin);
|
|
128
|
-
var __assign = function() {
|
|
129
|
-
return __assign = Object.assign || function(t) {
|
|
130
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
131
|
-
s = arguments[i];
|
|
132
|
-
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
|
|
133
|
-
}
|
|
134
|
-
return t;
|
|
135
|
-
}, __assign.apply(this, arguments);
|
|
136
|
-
}, __rest = function(s, e) {
|
|
137
|
-
var t = {};
|
|
138
|
-
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
139
|
-
if (s != null && typeof Object.getOwnPropertySymbols == "function")
|
|
140
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)
|
|
141
|
-
e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
|
|
142
|
-
return t;
|
|
143
|
-
}, IconBase = forwardRef(function(props, ref) {
|
|
144
|
-
var icon = props.icon, id = props.id, className = props.className, extend = props.extend, restProps = __rest(props, ["icon", "id", "className", "extend"]), cls = "univerjs-icon univerjs-icon-".concat(id, " ").concat(className || "").trim(), idSuffix = useRef("_".concat(generateShortUuid()));
|
|
145
|
-
return render(icon, "".concat(id), { defIds: icon.defIds, idSuffix: idSuffix.current }, __assign({ ref, className: cls }, restProps), extend);
|
|
146
|
-
});
|
|
147
|
-
function render(node, id, runtimeProps, rootProps, extend) {
|
|
148
|
-
return createElement(node.tag, __assign(__assign({ key: id }, replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend)), rootProps), (replaceRuntimeIdsInDefs(node, runtimeProps).children || []).map(function(child, index) {
|
|
149
|
-
return render(child, "".concat(id, "-").concat(node.tag, "-").concat(index), runtimeProps, void 0, extend);
|
|
150
|
-
}));
|
|
151
|
-
}
|
|
152
|
-
__name(render, "render");
|
|
153
|
-
function replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend) {
|
|
154
|
-
var attrs = __assign({}, node.attrs);
|
|
155
|
-
extend != null && extend.colorChannel1 && attrs.fill === "colorChannel1" && (attrs.fill = extend.colorChannel1);
|
|
156
|
-
var defIds = runtimeProps.defIds;
|
|
157
|
-
return !defIds || defIds.length === 0 || (node.tag === "use" && attrs["xlink:href"] && (attrs["xlink:href"] = attrs["xlink:href"] + runtimeProps.idSuffix), Object.entries(attrs).forEach(function(_a3) {
|
|
158
|
-
var key = _a3[0], value = _a3[1];
|
|
159
|
-
typeof value == "string" && (attrs[key] = value.replace(/url\(#(.*)\)/, "url(#$1".concat(runtimeProps.idSuffix, ")")));
|
|
160
|
-
})), attrs;
|
|
161
|
-
}
|
|
162
|
-
__name(replaceRuntimeIdsAndExtInAttrs, "replaceRuntimeIdsAndExtInAttrs");
|
|
163
|
-
function replaceRuntimeIdsInDefs(node, runtimeProps) {
|
|
164
|
-
var _a3, defIds = runtimeProps.defIds;
|
|
165
|
-
return !defIds || defIds.length === 0 ? node : node.tag === "defs" && (!((_a3 = node.children) === null || _a3 === void 0) && _a3.length) ? __assign(__assign({}, node), { children: node.children.map(function(child) {
|
|
166
|
-
return typeof child.attrs.id == "string" && defIds && defIds.indexOf(child.attrs.id) > -1 ? __assign(__assign({}, child), { attrs: __assign(__assign({}, child.attrs), { id: child.attrs.id + runtimeProps.idSuffix }) }) : child;
|
|
167
|
-
}) }) : node;
|
|
168
|
-
}
|
|
169
|
-
__name(replaceRuntimeIdsInDefs, "replaceRuntimeIdsInDefs");
|
|
170
|
-
function generateShortUuid() {
|
|
171
|
-
return Math.random().toString(36).substring(2, 8);
|
|
172
|
-
}
|
|
173
|
-
__name(generateShortUuid, "generateShortUuid");
|
|
174
|
-
IconBase.displayName = "UniverIcon";
|
|
175
|
-
var element$5 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, DeleteSingle = forwardRef(function(props, ref) {
|
|
176
|
-
return createElement(IconBase, Object.assign({}, props, {
|
|
177
|
-
id: "delete-single",
|
|
178
|
-
ref,
|
|
179
|
-
icon: element$5
|
|
180
|
-
}));
|
|
181
|
-
});
|
|
182
|
-
DeleteSingle.displayName = "DeleteSingle";
|
|
183
|
-
var element$4 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z" } }] }, IncreaseSingle = forwardRef(function(props, ref) {
|
|
184
|
-
return createElement(IconBase, Object.assign({}, props, {
|
|
185
|
-
id: "increase-single",
|
|
186
|
-
ref,
|
|
187
|
-
icon: element$4
|
|
188
|
-
}));
|
|
189
|
-
});
|
|
190
|
-
IncreaseSingle.displayName = "IncreaseSingle";
|
|
191
|
-
var element$3 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M3 9C3.55228 9 4 8.55228 4 8 4 7.44772 3.55228 7 3 7 2.44772 7 2 7.44772 2 8 2 8.55228 2.44772 9 3 9zM8 9C8.55228 9 9 8.55228 9 8 9 7.44772 8.55228 7 8 7 7.44772 7 7 7.44772 7 8 7 8.55228 7.44772 9 8 9zM13 9C13.5523 9 14 8.55228 14 8 14 7.44772 13.5523 7 13 7 12.4477 7 12 7.44772 12 8 12 8.55228 12.4477 9 13 9z" } }] }, MoreHorizontalSingle = forwardRef(function(props, ref) {
|
|
192
|
-
return createElement(IconBase, Object.assign({}, props, {
|
|
193
|
-
id: "more-horizontal-single",
|
|
194
|
-
ref,
|
|
195
|
-
icon: element$3
|
|
196
|
-
}));
|
|
197
|
-
});
|
|
198
|
-
MoreHorizontalSingle.displayName = "MoreHorizontalSingle";
|
|
199
|
-
var element$2 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { stroke: "currentColor", d: "M7.48389 10.3267V12.1905C7.48389 12.7428 7.9316 13.1905 8.48389 13.1905H11.2216L12.2955 14.2644L13.3695 13.1905H14.1593C14.7116 13.1905 15.1593 12.7428 15.1593 12.1905V8.46289C15.1593 7.91061 14.7116 7.46289 14.1593 7.46289H12.2955", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.2 } }, { tag: "path", attrs: { stroke: "currentColor", d: "M0.840332 3.73535C0.840332 2.63078 1.73576 1.73535 2.84033 1.73535H10.2955C11.4001 1.73535 12.2955 2.63078 12.2955 3.73535V8.32676C12.2955 9.43132 11.4001 10.3268 10.2955 10.3268H5.6014L4.1695 11.7587L3.05978 10.3268H2.84033C1.73576 10.3268 0.840332 9.43133 0.840332 8.32676V3.73535Z", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.2 } }, { tag: "path", attrs: { stroke: "currentColor", d: "M6.41016 6.1311H6.76813M8.91626 6.1311H9.27424M3.90454 6.1311H4.26252", strokeLinecap: "round", strokeWidth: 1.2 } }] }, ReplyToCommentSingle = forwardRef(function(props, ref) {
|
|
200
|
-
return createElement(IconBase, Object.assign({}, props, {
|
|
201
|
-
id: "reply-to-comment-single",
|
|
202
|
-
ref,
|
|
203
|
-
icon: element$2
|
|
204
|
-
}));
|
|
205
|
-
});
|
|
206
|
-
ReplyToCommentSingle.displayName = "ReplyToCommentSingle";
|
|
207
|
-
var element$1 = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 17", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M8.6106 15.4036C12.4766 15.4036 15.6106 12.2696 15.6106 8.40356C15.6106 4.53757 12.4766 1.40356 8.6106 1.40356C4.7446 1.40356 1.6106 4.53757 1.6106 8.40356C1.6106 12.2696 4.7446 15.4036 8.6106 15.4036ZM12.3351 6.82773C12.5694 6.59342 12.5694 6.21352 12.3351 5.9792C12.1007 5.74489 11.7208 5.74489 11.4865 5.9792L7.91079 9.55494L6.33506 7.9792C6.10074 7.74489 5.72084 7.74489 5.48653 7.9792C5.25221 8.21352 5.25221 8.59342 5.48653 8.82773L7.48653 10.8277C7.72084 11.062 8.10074 11.062 8.33506 10.8277L12.3351 6.82773Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, ResolvedSingle = forwardRef(function(props, ref) {
|
|
208
|
-
return createElement(IconBase, Object.assign({}, props, {
|
|
209
|
-
id: "resolved-single",
|
|
210
|
-
ref,
|
|
211
|
-
icon: element$1
|
|
212
|
-
}));
|
|
213
|
-
});
|
|
214
|
-
ResolvedSingle.displayName = "ResolvedSingle";
|
|
215
|
-
var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 17", width: "1em", height: "1em" }, children: [{ tag: "circle", attrs: { cx: 8.73, cy: 8.4, r: 6.4, stroke: "currentColor", strokeWidth: 1.2 } }, { tag: "path", attrs: { stroke: "currentColor", d: "M6.02637 8.40356L8.02637 10.4036L12.0264 6.40356", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.2 } }] }, SolveSingle = forwardRef(function(props, ref) {
|
|
216
|
-
return createElement(IconBase, Object.assign({}, props, {
|
|
217
|
-
id: "solve-single",
|
|
218
|
-
ref,
|
|
219
|
-
icon: element
|
|
220
|
-
}));
|
|
221
|
-
});
|
|
222
|
-
SolveSingle.displayName = "SolveSingle";
|
|
223
|
-
const threadCommentEditorButtons = "univer-thread-comment-editor-buttons", threadCommentEditorSuggestion = "univer-thread-comment-editor-suggestion", threadCommentEditorSuggestionActive = "univer-thread-comment-editor-suggestionActive", threadCommentEditorSuggestionIcon = "univer-thread-comment-editor-suggestion-icon", styles$2 = {
|
|
224
|
-
threadCommentEditorButtons,
|
|
225
|
-
threadCommentEditorSuggestion,
|
|
226
|
-
threadCommentEditorSuggestionActive,
|
|
227
|
-
threadCommentEditorSuggestionIcon
|
|
228
|
-
}, parseMentions = /* @__PURE__ */ __name((text) => {
|
|
229
|
-
const regex = /@\[(.*?)\]\((.*?)\)|(\w+)/g;
|
|
230
|
-
let match, lastIndex = 0;
|
|
231
|
-
const result = [];
|
|
232
|
-
for (; (match = regex.exec(text)) !== null; )
|
|
233
|
-
match.index > lastIndex && result.push({
|
|
234
|
-
type: "text",
|
|
235
|
-
content: text.substring(lastIndex, match.index)
|
|
236
|
-
}), match[1] && match[2] ? result.push({
|
|
237
|
-
type: "mention",
|
|
238
|
-
content: {
|
|
239
|
-
label: match[1],
|
|
240
|
-
id: match[2]
|
|
241
|
-
}
|
|
242
|
-
}) : match[3] && result.push({
|
|
243
|
-
type: "text",
|
|
244
|
-
content: match[3]
|
|
245
|
-
}), lastIndex = regex.lastIndex;
|
|
246
|
-
return lastIndex < text.length && result.push({
|
|
247
|
-
type: "text",
|
|
248
|
-
content: text.substring(lastIndex)
|
|
249
|
-
}), result;
|
|
250
|
-
}, "parseMentions"), transformTextNode2Text = /* @__PURE__ */ __name((nodes) => nodes.map((item) => {
|
|
251
|
-
switch (item.type) {
|
|
252
|
-
case "mention":
|
|
253
|
-
return `@[${item.content.label}](${item.content.id})`;
|
|
254
|
-
default:
|
|
255
|
-
return item.content;
|
|
256
|
-
}
|
|
257
|
-
}).join(""), "transformTextNode2Text"), transformDocument2TextNodes = /* @__PURE__ */ __name((doc) => {
|
|
258
|
-
const { dataStream, customRanges } = doc, end = dataStream.length - 2, textNodes = [];
|
|
259
|
-
let lastIndex = 0;
|
|
260
|
-
return customRanges == null || customRanges.forEach((range) => {
|
|
261
|
-
lastIndex < range.startIndex && textNodes.push({
|
|
262
|
-
type: "text",
|
|
263
|
-
content: dataStream.slice(lastIndex, range.startIndex)
|
|
264
|
-
}), textNodes.push({
|
|
265
|
-
type: "mention",
|
|
266
|
-
content: {
|
|
267
|
-
label: dataStream.slice(range.startIndex, range.endIndex).slice(1, -1),
|
|
268
|
-
id: range.rangeId
|
|
269
|
-
}
|
|
270
|
-
}), lastIndex = range.endIndex;
|
|
271
|
-
}), textNodes.push({
|
|
272
|
-
type: "text",
|
|
273
|
-
content: dataStream.slice(lastIndex, end)
|
|
274
|
-
}), textNodes;
|
|
275
|
-
}, "transformDocument2TextNodes"), transformTextNodes2Document = /* @__PURE__ */ __name((nodes) => {
|
|
276
|
-
let str = "";
|
|
277
|
-
const customRanges = [];
|
|
278
|
-
return nodes.forEach((node) => {
|
|
279
|
-
switch (node.type) {
|
|
280
|
-
case "text":
|
|
281
|
-
str += node.content;
|
|
282
|
-
break;
|
|
283
|
-
case "mention": {
|
|
284
|
-
const start = str.length;
|
|
285
|
-
str += `${node.content.label}`;
|
|
286
|
-
const end = str.length;
|
|
287
|
-
customRanges.push({
|
|
288
|
-
rangeId: node.content.id,
|
|
289
|
-
rangeType: CustomRangeType.MENTION,
|
|
290
|
-
startIndex: start,
|
|
291
|
-
endIndex: end
|
|
292
|
-
});
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}), str += `
|
|
297
|
-
\r`, {
|
|
298
|
-
textRuns: [],
|
|
299
|
-
paragraphs: [
|
|
300
|
-
{
|
|
301
|
-
startIndex: str.length - 2,
|
|
302
|
-
paragraphStyle: {}
|
|
303
|
-
}
|
|
304
|
-
],
|
|
305
|
-
sectionBreaks: [
|
|
306
|
-
{
|
|
307
|
-
startIndex: str.length - 1
|
|
308
|
-
}
|
|
309
|
-
],
|
|
310
|
-
dataStream: str,
|
|
311
|
-
customRanges
|
|
312
|
-
};
|
|
313
|
-
}, "transformTextNodes2Document"), transformMention = /* @__PURE__ */ __name((mention) => ({
|
|
314
|
-
display: mention.label,
|
|
315
|
-
id: `${mention.id}`,
|
|
316
|
-
raw: mention
|
|
317
|
-
}), "transformMention"), defaultRenderSuggestion = /* @__PURE__ */ __name((mention, search, highlightedDisplay, index, focused) => {
|
|
318
|
-
var _a3, _b;
|
|
319
|
-
const icon = (_a3 = mention.raw) == null ? void 0 : _a3.icon;
|
|
320
|
-
return /* @__PURE__ */ React.createElement("div", { className: styles$2.threadCommentEditorSuggestion }, icon ? /* @__PURE__ */ React.createElement("img", { className: styles$2.threadCommentEditorSuggestionIcon, src: icon }) : null, /* @__PURE__ */ React.createElement("div", null, (_b = mention.display) != null ? _b : mention.id));
|
|
321
|
-
}, "defaultRenderSuggestion"), ThreadCommentEditor = forwardRef((props, ref) => {
|
|
322
|
-
var _a3, _b;
|
|
323
|
-
const { comment, onSave, id, onCancel, autoFocus, unitId, subUnitId } = props, mentionDataService = useDependency(IThreadCommentMentionDataService), commandService = useDependency(ICommandService), localeService = useDependency(LocaleService), [localComment, setLocalComment] = useState({ ...comment }), [editing, setEditing] = useState(!1), inputRef = useRef(null), docSelectionManagerService = useDependency(DocSelectionManagerService), docSelectionRenderService = (_a3 = useDependency(IRenderManagerService).getCurrentTypeOfRenderer(UniverInstanceType.UNIVER_DOC)) == null ? void 0 : _a3.with(DocSelectionRenderService);
|
|
324
|
-
useImperativeHandle(ref, () => ({
|
|
325
|
-
reply(text) {
|
|
326
|
-
var _a4;
|
|
327
|
-
setLocalComment({
|
|
328
|
-
...comment,
|
|
329
|
-
text,
|
|
330
|
-
attachments: []
|
|
331
|
-
}), (_a4 = inputRef.current) == null || _a4.inputElement.focus();
|
|
332
|
-
}
|
|
333
|
-
}));
|
|
334
|
-
const handleSave = /* @__PURE__ */ __name(() => {
|
|
335
|
-
var _a4;
|
|
336
|
-
localComment.text && (onSave == null || onSave({
|
|
337
|
-
...localComment,
|
|
338
|
-
text: localComment.text
|
|
339
|
-
}), setEditing(!1), setLocalComment({ text: void 0 }), (_a4 = inputRef.current) == null || _a4.inputElement.blur());
|
|
340
|
-
}, "handleSave");
|
|
341
|
-
return /* @__PURE__ */ React.createElement("div", { className: styles$2.threadCommentEditor, onClick: /* @__PURE__ */ __name((e) => e.preventDefault(), "onClick") }, /* @__PURE__ */ React.createElement(
|
|
342
|
-
Mentions,
|
|
343
|
-
{
|
|
344
|
-
ref: inputRef,
|
|
345
|
-
autoFocus,
|
|
346
|
-
style: { width: "100%" },
|
|
347
|
-
placeholder: localeService.t("threadCommentUI.editor.placeholder"),
|
|
348
|
-
value: localComment != null && localComment.text ? transformTextNode2Text(transformDocument2TextNodes(localComment.text)) : "",
|
|
349
|
-
onChange: /* @__PURE__ */ __name((e) => {
|
|
350
|
-
e.target.value || setLocalComment({ ...comment, text: void 0 }), setLocalComment == null || setLocalComment({ ...comment, text: transformTextNodes2Document(parseMentions(e.target.value)) });
|
|
351
|
-
}, "onChange"),
|
|
352
|
-
onFocus: /* @__PURE__ */ __name(() => {
|
|
353
|
-
const activeRange = docSelectionManagerService.getActiveTextRange();
|
|
354
|
-
activeRange && activeRange.collapsed && (docSelectionRenderService == null || docSelectionRenderService.removeAllRanges()), docSelectionRenderService == null || docSelectionRenderService.blur(), setEditing(!0);
|
|
355
|
-
}, "onFocus")
|
|
356
|
-
},
|
|
357
|
-
/* @__PURE__ */ React.createElement(
|
|
358
|
-
Mention,
|
|
359
|
-
{
|
|
360
|
-
key: mentionDataService.trigger,
|
|
361
|
-
trigger: mentionDataService.trigger,
|
|
362
|
-
data: /* @__PURE__ */ __name((query, callback) => mentionDataService.getMentions(query, unitId, subUnitId).then((res) => res.map(transformMention)).then(callback), "data"),
|
|
363
|
-
displayTransform: /* @__PURE__ */ __name((id2, label) => `@${label} `, "displayTransform"),
|
|
364
|
-
renderSuggestion: (_b = mentionDataService.renderSuggestion) != null ? _b : defaultRenderSuggestion
|
|
365
|
-
}
|
|
366
|
-
)
|
|
367
|
-
), editing ? /* @__PURE__ */ React.createElement("div", { className: styles$2.threadCommentEditorButtons }, /* @__PURE__ */ React.createElement(
|
|
368
|
-
Button,
|
|
369
|
-
{
|
|
370
|
-
style: { marginRight: 12 },
|
|
371
|
-
onClick: /* @__PURE__ */ __name(() => {
|
|
372
|
-
onCancel == null || onCancel(), setEditing(!1), setLocalComment({ text: void 0 }), commandService.executeCommand(SetActiveCommentOperation.id);
|
|
373
|
-
}, "onClick")
|
|
374
|
-
},
|
|
375
|
-
localeService.t("threadCommentUI.editor.cancel")
|
|
376
|
-
), /* @__PURE__ */ React.createElement(
|
|
377
|
-
Button,
|
|
378
|
-
{
|
|
379
|
-
type: "primary",
|
|
380
|
-
disabled: !localComment.text,
|
|
381
|
-
onClick: handleSave
|
|
382
|
-
},
|
|
383
|
-
localeService.t(id ? "threadCommentUI.editor.save" : "threadCommentUI.editor.reply")
|
|
384
|
-
)) : null);
|
|
385
|
-
}), threadComment$1 = "univer-thread-comment", threadCommentActive = "univer-thread-comment-active", threadCommentContent = "univer-thread-comment-content", threadCommentHighlight = "univer-thread-comment-highlight", threadCommentIconContainer = "univer-thread-comment-icon-container", threadCommentIcon = "univer-thread-comment-icon", threadCommentTitle = "univer-thread-comment-title", threadCommentTitlePosition = "univer-thread-comment-title-position", threadCommentTitleHighlight = "univer-thread-comment-title-highlight", threadCommentTitlePositionText = "univer-thread-comment-title-position-text", threadCommentUsername = "univer-thread-comment-username", threadCommentItem = "univer-thread-comment-item", threadCommentItemHead = "univer-thread-comment-item-head", threadCommentItemTitle = "univer-thread-comment-item-title", threadCommentItemTitlePosition = "univer-thread-comment-item-title-position", threadCommentItemTitleHighlight = "univer-thread-comment-item-title-highlight", threadCommentItemTime = "univer-thread-comment-item-time", threadCommentItemContent = "univer-thread-comment-item-content", threadCommentItemAt = "univer-thread-comment-item-at", styles$1 = {
|
|
386
|
-
threadComment: threadComment$1,
|
|
387
|
-
threadCommentActive,
|
|
388
|
-
threadCommentContent,
|
|
389
|
-
threadCommentHighlight,
|
|
390
|
-
threadCommentIconContainer,
|
|
391
|
-
threadCommentIcon,
|
|
392
|
-
threadCommentTitle,
|
|
393
|
-
threadCommentTitlePosition,
|
|
394
|
-
threadCommentTitleHighlight,
|
|
395
|
-
threadCommentTitlePositionText,
|
|
396
|
-
threadCommentUsername,
|
|
397
|
-
threadCommentItem,
|
|
398
|
-
threadCommentItemHead,
|
|
399
|
-
threadCommentItemTitle,
|
|
400
|
-
threadCommentItemTitlePosition,
|
|
401
|
-
threadCommentItemTitleHighlight,
|
|
402
|
-
threadCommentItemTime,
|
|
403
|
-
threadCommentItemContent,
|
|
404
|
-
threadCommentItemAt
|
|
405
|
-
}, MOCK_ID = "__mock__", ThreadCommentItem = /* @__PURE__ */ __name((props) => {
|
|
406
|
-
const { item, unitId, subUnitId, editing, onEditingChange, onReply, resolved, isRoot, onClose, onDeleteComment } = props, commandService = useDependency(ICommandService), localeService = useDependency(LocaleService), userManagerService = useDependency(UserManagerService), user = userManagerService.getUser(item.personId), currentUser = useObservable(userManagerService.currentUser$), isCommentBySelf = (currentUser == null ? void 0 : currentUser.userID) === item.personId, isMock = item.id === MOCK_ID, [showReply, setShowReply] = useState(!1), handleDeleteItem = /* @__PURE__ */ __name(() => {
|
|
407
|
-
(onDeleteComment == null ? void 0 : onDeleteComment(item)) !== !1 && (commandService.executeCommand(
|
|
408
|
-
isRoot ? DeleteCommentTreeCommand.id : DeleteCommentCommand.id,
|
|
409
|
-
{
|
|
410
|
-
unitId,
|
|
411
|
-
subUnitId,
|
|
412
|
-
commentId: item.id
|
|
413
|
-
}
|
|
414
|
-
), isRoot && (onClose == null || onClose()));
|
|
415
|
-
}, "handleDeleteItem");
|
|
416
|
-
return /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentItem, onMouseLeave: /* @__PURE__ */ __name(() => setShowReply(!1), "onMouseLeave"), onMouseEnter: /* @__PURE__ */ __name(() => setShowReply(!0), "onMouseEnter") }, /* @__PURE__ */ React.createElement("img", { className: styles$1.threadCommentItemHead, src: user == null ? void 0 : user.avatar }), /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentItemTitle }, /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentUsername }, (user == null ? void 0 : user.name) || " "), /* @__PURE__ */ React.createElement("div", null, isMock || resolved ? null : showReply ? /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentIcon, onClick: /* @__PURE__ */ __name(() => onReply(user), "onClick") }, /* @__PURE__ */ React.createElement(ReplyToCommentSingle, null)) : null, isCommentBySelf && !isMock && !resolved ? /* @__PURE__ */ React.createElement(
|
|
417
|
-
Dropdown,
|
|
418
|
-
{
|
|
419
|
-
overlay: /* @__PURE__ */ React.createElement(Menu, null, /* @__PURE__ */ React.createElement(MenuItem, { key: "edit", onClick: /* @__PURE__ */ __name(() => onEditingChange == null ? void 0 : onEditingChange(!0), "onClick") }, localeService.t("threadCommentUI.item.edit")), /* @__PURE__ */ React.createElement(MenuItem, { key: "delete", onClick: handleDeleteItem }, localeService.t("threadCommentUI.item.delete")))
|
|
420
|
-
},
|
|
421
|
-
/* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentIcon }, /* @__PURE__ */ React.createElement(MoreHorizontalSingle, null))
|
|
422
|
-
) : null)), /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentItemTime }, item.dT), editing ? /* @__PURE__ */ React.createElement(
|
|
423
|
-
ThreadCommentEditor,
|
|
424
|
-
{
|
|
425
|
-
id: item.id,
|
|
426
|
-
comment: item,
|
|
427
|
-
onCancel: /* @__PURE__ */ __name(() => onEditingChange == null ? void 0 : onEditingChange(!1), "onCancel"),
|
|
428
|
-
autoFocus: !0,
|
|
429
|
-
unitId,
|
|
430
|
-
subUnitId,
|
|
431
|
-
onSave: /* @__PURE__ */ __name(({ text, attachments }) => {
|
|
432
|
-
onEditingChange == null || onEditingChange(!1), commandService.executeCommand(
|
|
433
|
-
UpdateCommentCommand.id,
|
|
434
|
-
{
|
|
435
|
-
unitId,
|
|
436
|
-
subUnitId,
|
|
437
|
-
payload: {
|
|
438
|
-
commentId: item.id,
|
|
439
|
-
text,
|
|
440
|
-
attachments
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
);
|
|
444
|
-
}, "onSave")
|
|
445
|
-
}
|
|
446
|
-
) : /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentItemContent }, transformDocument2TextNodes(item.text).map((item2, i) => {
|
|
447
|
-
switch (item2.type) {
|
|
448
|
-
case "mention":
|
|
449
|
-
return /* @__PURE__ */ React.createElement("a", { className: styles$1.threadCommentItemAt, key: i }, "@", item2.content.label, " ");
|
|
450
|
-
default:
|
|
451
|
-
return item2.content;
|
|
452
|
-
}
|
|
453
|
-
})));
|
|
454
|
-
}, "ThreadCommentItem"), ThreadCommentTree = /* @__PURE__ */ __name((props) => {
|
|
455
|
-
var _a3, _b, _c;
|
|
456
|
-
const {
|
|
457
|
-
id,
|
|
458
|
-
unitId,
|
|
459
|
-
subUnitId,
|
|
460
|
-
refStr,
|
|
461
|
-
showEdit = !0,
|
|
462
|
-
onClick,
|
|
463
|
-
showHighlight,
|
|
464
|
-
onClose,
|
|
465
|
-
getSubUnitName,
|
|
466
|
-
prefix,
|
|
467
|
-
autoFocus,
|
|
468
|
-
onMouseEnter,
|
|
469
|
-
onMouseLeave,
|
|
470
|
-
onAddComment,
|
|
471
|
-
onDeleteComment,
|
|
472
|
-
onResolve
|
|
473
|
-
} = props, threadCommentModel = useDependency(ThreadCommentModel), [isHover, setIsHover] = useState(!1), [editingId, setEditingId] = useState("");
|
|
474
|
-
useObservable(threadCommentModel.commentMap$);
|
|
475
|
-
const comments = id ? threadCommentModel.getCommentWithChildren(unitId, subUnitId, id) : null, commandService = useDependency(ICommandService), userManagerService = useDependency(UserManagerService), resolved = comments == null ? void 0 : comments.root.resolved, currentUser = useObservable(userManagerService.currentUser$), editorRef = useRef(null), renderComments = [
|
|
476
|
-
...comments ? [comments.root] : (
|
|
477
|
-
// mock empty comment
|
|
478
|
-
[{
|
|
479
|
-
id: MOCK_ID,
|
|
480
|
-
text: {
|
|
481
|
-
dataStream: `
|
|
482
|
-
\r`
|
|
483
|
-
},
|
|
484
|
-
personId: (_a3 = currentUser == null ? void 0 : currentUser.userID) != null ? _a3 : "",
|
|
485
|
-
ref: refStr != null ? refStr : "",
|
|
486
|
-
dT: "",
|
|
487
|
-
unitId,
|
|
488
|
-
subUnitId,
|
|
489
|
-
threadId: ""
|
|
490
|
-
}]
|
|
491
|
-
),
|
|
492
|
-
...(_b = comments == null ? void 0 : comments.children) != null ? _b : []
|
|
493
|
-
], scroller = useRef(null), handleResolve = /* @__PURE__ */ __name((e) => {
|
|
494
|
-
e.stopPropagation(), resolved ? commandService.executeCommand(SetActiveCommentOperation.id, {
|
|
495
|
-
unitId,
|
|
496
|
-
subUnitId,
|
|
497
|
-
commentId: id
|
|
498
|
-
}) : commandService.executeCommand(SetActiveCommentOperation.id), commandService.executeCommand(ResolveCommentCommand.id, {
|
|
499
|
-
unitId,
|
|
500
|
-
subUnitId,
|
|
501
|
-
commentId: id,
|
|
502
|
-
resolved: !resolved
|
|
503
|
-
}), onResolve == null || onResolve(!resolved);
|
|
504
|
-
}, "handleResolve"), handleDeleteRoot = /* @__PURE__ */ __name((e) => {
|
|
505
|
-
e.stopPropagation(), commandService.executeCommand(SetActiveCommentOperation.id), !(comments != null && comments.root && (onDeleteComment == null ? void 0 : onDeleteComment(comments.root)) === !1) && (commandService.executeCommand(
|
|
506
|
-
DeleteCommentTreeCommand.id,
|
|
507
|
-
{
|
|
508
|
-
unitId,
|
|
509
|
-
subUnitId,
|
|
510
|
-
commentId: id
|
|
511
|
-
}
|
|
512
|
-
), onClose == null || onClose());
|
|
513
|
-
}, "handleDeleteRoot");
|
|
514
|
-
useEffect(() => onMouseLeave == null ? void 0 : onMouseLeave(), []);
|
|
515
|
-
const subUnitName = getSubUnitName((_c = comments == null ? void 0 : comments.root.subUnitId) != null ? _c : subUnitId), editorVisible = showEdit && !editingId && !resolved, title = `${refStr || (comments == null ? void 0 : comments.root.ref) || ""}${subUnitName ? " · " : ""}${subUnitName}`;
|
|
516
|
-
return /* @__PURE__ */ React.createElement(
|
|
517
|
-
"div",
|
|
518
|
-
{
|
|
519
|
-
className: cs(styles$1.threadComment, {
|
|
520
|
-
[styles$1.threadCommentActive]: !resolved && (showHighlight || isHover || prefix === "cell")
|
|
521
|
-
}),
|
|
522
|
-
onClick,
|
|
523
|
-
id: `${prefix}-${unitId}-${subUnitId}-${id}`,
|
|
524
|
-
onMouseEnter: /* @__PURE__ */ __name(() => {
|
|
525
|
-
onMouseEnter == null || onMouseEnter(), setIsHover(!0);
|
|
526
|
-
}, "onMouseEnter"),
|
|
527
|
-
onMouseLeave: /* @__PURE__ */ __name(() => {
|
|
528
|
-
onMouseLeave == null || onMouseLeave(), setIsHover(!1);
|
|
529
|
-
}, "onMouseLeave")
|
|
530
|
-
},
|
|
531
|
-
!resolved && showHighlight ? /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentHighlight }) : null,
|
|
532
|
-
/* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentTitle }, /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentTitlePosition }, /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentTitleHighlight }), /* @__PURE__ */ React.createElement(Tooltip, { showIfEllipsis: !0, title }, /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentTitlePositionText }, title))), comments ? /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentIconContainer }, /* @__PURE__ */ React.createElement(
|
|
533
|
-
"div",
|
|
534
|
-
{
|
|
535
|
-
onClick: handleResolve,
|
|
536
|
-
className: styles$1.threadCommentIcon,
|
|
537
|
-
style: { color: resolved ? "rgb(var(--green-500))" : "" }
|
|
538
|
-
},
|
|
539
|
-
resolved ? /* @__PURE__ */ React.createElement(ResolvedSingle, null) : /* @__PURE__ */ React.createElement(SolveSingle, null)
|
|
540
|
-
), (currentUser == null ? void 0 : currentUser.userID) === comments.root.personId ? /* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentIcon, onClick: handleDeleteRoot }, /* @__PURE__ */ React.createElement(DeleteSingle, null)) : null) : null),
|
|
541
|
-
/* @__PURE__ */ React.createElement("div", { className: styles$1.threadCommentContent, ref: scroller }, renderComments.map(
|
|
542
|
-
(item) => /* @__PURE__ */ React.createElement(
|
|
543
|
-
ThreadCommentItem,
|
|
544
|
-
{
|
|
545
|
-
onClose,
|
|
546
|
-
unitId,
|
|
547
|
-
subUnitId,
|
|
548
|
-
item,
|
|
549
|
-
key: item.id,
|
|
550
|
-
isRoot: item.id === (comments == null ? void 0 : comments.root.id),
|
|
551
|
-
editing: editingId === item.id,
|
|
552
|
-
resolved: comments == null ? void 0 : comments.root.resolved,
|
|
553
|
-
onEditingChange: /* @__PURE__ */ __name((editing) => {
|
|
554
|
-
setEditingId(editing ? item.id : "");
|
|
555
|
-
}, "onEditingChange"),
|
|
556
|
-
onReply: /* @__PURE__ */ __name((user) => {
|
|
557
|
-
user && requestAnimationFrame(() => {
|
|
558
|
-
var _a4;
|
|
559
|
-
(_a4 = editorRef.current) == null || _a4.reply(transformTextNodes2Document([{
|
|
560
|
-
type: "mention",
|
|
561
|
-
content: {
|
|
562
|
-
id: user.userID,
|
|
563
|
-
label: user.name
|
|
564
|
-
}
|
|
565
|
-
}]));
|
|
566
|
-
});
|
|
567
|
-
}, "onReply"),
|
|
568
|
-
onAddComment,
|
|
569
|
-
onDeleteComment
|
|
570
|
-
}
|
|
571
|
-
)
|
|
572
|
-
)),
|
|
573
|
-
editorVisible ? /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
|
|
574
|
-
ThreadCommentEditor,
|
|
575
|
-
{
|
|
576
|
-
key: `${autoFocus}`,
|
|
577
|
-
ref: editorRef,
|
|
578
|
-
unitId,
|
|
579
|
-
subUnitId,
|
|
580
|
-
onSave: /* @__PURE__ */ __name(async ({ text, attachments }) => {
|
|
581
|
-
const comment = {
|
|
582
|
-
text,
|
|
583
|
-
attachments,
|
|
584
|
-
dT: getDT(),
|
|
585
|
-
id: generateRandomId(),
|
|
586
|
-
ref: refStr,
|
|
587
|
-
personId: currentUser == null ? void 0 : currentUser.userID,
|
|
588
|
-
parentId: comments == null ? void 0 : comments.root.id,
|
|
589
|
-
unitId,
|
|
590
|
-
subUnitId,
|
|
591
|
-
threadId: comments == null ? void 0 : comments.root.threadId
|
|
592
|
-
};
|
|
593
|
-
(onAddComment == null ? void 0 : onAddComment(comment)) !== !1 && (await commandService.executeCommand(
|
|
594
|
-
AddCommentCommand.id,
|
|
595
|
-
{
|
|
596
|
-
unitId,
|
|
597
|
-
subUnitId,
|
|
598
|
-
comment
|
|
599
|
-
}
|
|
600
|
-
), scroller.current && (scroller.current.scrollTop = scroller.current.scrollHeight));
|
|
601
|
-
}, "onSave"),
|
|
602
|
-
autoFocus: autoFocus || !comments,
|
|
603
|
-
onCancel: /* @__PURE__ */ __name(() => {
|
|
604
|
-
comments || onClose == null || onClose();
|
|
605
|
-
}, "onCancel")
|
|
606
|
-
}
|
|
607
|
-
)) : null
|
|
608
|
-
);
|
|
609
|
-
}, "ThreadCommentTree"), threadCommentPanel = "univer-thread-comment-panel", threadComment = "univer-thread-comment", threadCommentPanelForms = "univer-thread-comment-panel-forms", select = "univer-select", threadCommentPanelEmpty = "univer-thread-comment-panel-empty", threadCommentPanelAdd = "univer-thread-comment-panel-add", threadCommentPanelSolved = "univer-thread-comment-panel-solved", styles = {
|
|
610
|
-
threadCommentPanel,
|
|
611
|
-
threadComment,
|
|
612
|
-
threadCommentPanelForms,
|
|
613
|
-
select,
|
|
614
|
-
threadCommentPanelEmpty,
|
|
615
|
-
threadCommentPanelAdd,
|
|
616
|
-
threadCommentPanelSolved
|
|
617
|
-
}, ThreadCommentPanel = /* @__PURE__ */ __name((props) => {
|
|
618
|
-
const {
|
|
619
|
-
unitId,
|
|
620
|
-
subUnitId$,
|
|
621
|
-
type,
|
|
622
|
-
onAdd,
|
|
623
|
-
getSubUnitName,
|
|
624
|
-
onResolve,
|
|
625
|
-
sortComments,
|
|
626
|
-
onItemLeave,
|
|
627
|
-
onItemEnter,
|
|
628
|
-
disableAdd,
|
|
629
|
-
tempComment,
|
|
630
|
-
onAddComment,
|
|
631
|
-
onDeleteComment,
|
|
632
|
-
showComments
|
|
633
|
-
} = props, [unit, setUnit] = useState("all"), [status, setStatus] = useState("all"), localeService = useDependency(LocaleService), userService = useDependency(UserManagerService), threadCommentModel = useDependency(ThreadCommentModel), [unitComments, setUnitComments] = useState(() => threadCommentModel.getUnit(unitId)), panelService = useDependency(ThreadCommentPanelService), activeCommentId = useObservable(panelService.activeCommentId$), update = useObservable(threadCommentModel.commentUpdate$), commandService = useDependency(ICommandService), subUnitId = useObservable(subUnitId$), shouldScroll = useRef(!0), prefix = "panel", currentUser = useObservable(userService.currentUser$), comments = useMemo(() => {
|
|
634
|
-
var _a3, _b;
|
|
635
|
-
const allComments = (unit === "all" ? unitComments.map((i) => i[1]).flat() : (_b = (_a3 = unitComments.find((i) => i[0] === subUnitId)) == null ? void 0 : _a3[1]) != null ? _b : []).filter((i) => !i.parentId), sort = sortComments != null ? sortComments : (a) => a, res = allComments;
|
|
636
|
-
if (showComments) {
|
|
637
|
-
const map = /* @__PURE__ */ new Map();
|
|
638
|
-
return res.forEach((comment) => {
|
|
639
|
-
map.set(comment.id, comment);
|
|
640
|
-
}), [...showComments, ""].map((id) => map.get(id)).filter(Boolean);
|
|
641
|
-
} else
|
|
642
|
-
return sort(res);
|
|
643
|
-
}, [showComments, unit, unitComments, sortComments, subUnitId]), commentsSorted = useMemo(() => [
|
|
644
|
-
...comments.filter((comment) => !comment.resolved),
|
|
645
|
-
...comments.filter((comment) => comment.resolved)
|
|
646
|
-
], [comments]), statuedComments = useMemo(() => status === "resolved" ? commentsSorted.filter((comment) => comment.resolved) : status === "unsolved" ? commentsSorted.filter((comment) => !comment.resolved) : status === "concern_me" && currentUser != null && currentUser.userID ? commentsSorted.map((comment) => threadCommentModel.getCommentWithChildren(comment.unitId, comment.subUnitId, comment.id)).map((comment) => comment != null && comment.relativeUsers.has(currentUser.userID) ? comment.root : null).filter(Boolean) : commentsSorted, [commentsSorted, currentUser == null ? void 0 : currentUser.userID, status, threadCommentModel]), renderComments = tempComment ? [tempComment, ...statuedComments] : statuedComments, unSolvedComments = renderComments.filter((comment) => !comment.resolved), solvedComments = renderComments.filter((comment) => comment.resolved), isFiltering = status !== "all" || unit !== "all", onReset = /* @__PURE__ */ __name(() => {
|
|
647
|
-
setStatus("all"), setUnit("all");
|
|
648
|
-
}, "onReset");
|
|
649
|
-
useEffect(() => {
|
|
650
|
-
unitId && setUnitComments(
|
|
651
|
-
threadCommentModel.getUnit(unitId)
|
|
652
|
-
);
|
|
653
|
-
}, [unitId, threadCommentModel, update]), useEffect(() => {
|
|
654
|
-
var _a3;
|
|
655
|
-
if (!activeCommentId)
|
|
656
|
-
return;
|
|
657
|
-
if (!shouldScroll.current) {
|
|
658
|
-
shouldScroll.current = !0;
|
|
659
|
-
return;
|
|
660
|
-
}
|
|
661
|
-
const { unitId: unitId2, subUnitId: subUnitId2, commentId } = activeCommentId, id = `${prefix}-${unitId2}-${subUnitId2}-${commentId}`;
|
|
662
|
-
(_a3 = document.getElementById(id)) == null || _a3.scrollIntoView({ block: "center" });
|
|
663
|
-
}, [activeCommentId]);
|
|
664
|
-
const renderComment = /* @__PURE__ */ __name((comment) => /* @__PURE__ */ React.createElement(
|
|
665
|
-
ThreadCommentTree,
|
|
666
|
-
{
|
|
667
|
-
prefix,
|
|
668
|
-
getSubUnitName,
|
|
669
|
-
key: comment.id,
|
|
670
|
-
id: comment.id,
|
|
671
|
-
unitId: comment.unitId,
|
|
672
|
-
subUnitId: comment.subUnitId,
|
|
673
|
-
refStr: comment.ref,
|
|
674
|
-
type,
|
|
675
|
-
showEdit: (activeCommentId == null ? void 0 : activeCommentId.commentId) === comment.id,
|
|
676
|
-
showHighlight: (activeCommentId == null ? void 0 : activeCommentId.commentId) === comment.id,
|
|
677
|
-
onClick: /* @__PURE__ */ __name(() => {
|
|
678
|
-
shouldScroll.current = !1, comment.resolved ? commandService.executeCommand(SetActiveCommentOperation.id) : commandService.executeCommand(
|
|
679
|
-
SetActiveCommentOperation.id,
|
|
680
|
-
{
|
|
681
|
-
unitId: comment.unitId,
|
|
682
|
-
subUnitId: comment.subUnitId,
|
|
683
|
-
commentId: comment.id,
|
|
684
|
-
temp: !1
|
|
685
|
-
}
|
|
686
|
-
);
|
|
687
|
-
}, "onClick"),
|
|
688
|
-
onMouseEnter: /* @__PURE__ */ __name(() => onItemEnter == null ? void 0 : onItemEnter(comment), "onMouseEnter"),
|
|
689
|
-
onMouseLeave: /* @__PURE__ */ __name(() => onItemLeave == null ? void 0 : onItemLeave(comment), "onMouseLeave"),
|
|
690
|
-
onAddComment,
|
|
691
|
-
onDeleteComment,
|
|
692
|
-
onResolve: /* @__PURE__ */ __name((resolved) => onResolve == null ? void 0 : onResolve(comment.id, resolved), "onResolve")
|
|
693
|
-
}
|
|
694
|
-
), "renderComment");
|
|
695
|
-
return /* @__PURE__ */ React.createElement("div", { className: styles.threadCommentPanel }, /* @__PURE__ */ React.createElement("div", { className: styles.threadCommentPanelForms }, type === UniverInstanceType.UNIVER_SHEET ? /* @__PURE__ */ React.createElement(
|
|
696
|
-
Select,
|
|
697
|
-
{
|
|
698
|
-
borderless: !0,
|
|
699
|
-
value: unit,
|
|
700
|
-
onChange: /* @__PURE__ */ __name((e) => setUnit(e), "onChange"),
|
|
701
|
-
options: [
|
|
702
|
-
{
|
|
703
|
-
value: "current",
|
|
704
|
-
label: localeService.t("threadCommentUI.filter.sheet.current")
|
|
705
|
-
},
|
|
706
|
-
{
|
|
707
|
-
value: "all",
|
|
708
|
-
label: localeService.t("threadCommentUI.filter.sheet.all")
|
|
709
|
-
}
|
|
710
|
-
]
|
|
711
|
-
}
|
|
712
|
-
) : null, /* @__PURE__ */ React.createElement(
|
|
713
|
-
Select,
|
|
714
|
-
{
|
|
715
|
-
borderless: !0,
|
|
716
|
-
value: status,
|
|
717
|
-
onChange: /* @__PURE__ */ __name((e) => setStatus(e), "onChange"),
|
|
718
|
-
options: [
|
|
719
|
-
{
|
|
720
|
-
value: "all",
|
|
721
|
-
label: localeService.t("threadCommentUI.filter.status.all")
|
|
722
|
-
},
|
|
723
|
-
{
|
|
724
|
-
value: "resolved",
|
|
725
|
-
label: localeService.t("threadCommentUI.filter.status.resolved")
|
|
726
|
-
},
|
|
727
|
-
{
|
|
728
|
-
value: "unsolved",
|
|
729
|
-
label: localeService.t("threadCommentUI.filter.status.unsolved")
|
|
730
|
-
},
|
|
731
|
-
{
|
|
732
|
-
value: "concern_me",
|
|
733
|
-
label: localeService.t("threadCommentUI.filter.status.concernMe")
|
|
734
|
-
}
|
|
735
|
-
]
|
|
736
|
-
}
|
|
737
|
-
)), unSolvedComments.map(renderComment), solvedComments.length ? /* @__PURE__ */ React.createElement("div", { className: styles.threadCommentPanelSolved }, "已解决") : null, solvedComments.map(renderComment), renderComments.length ? null : /* @__PURE__ */ React.createElement("div", { className: styles.threadCommentPanelEmpty }, isFiltering ? localeService.t("threadCommentUI.panel.filterEmpty") : localeService.t("threadCommentUI.panel.empty"), isFiltering ? /* @__PURE__ */ React.createElement(
|
|
738
|
-
Button,
|
|
739
|
-
{
|
|
740
|
-
onClick: onReset,
|
|
741
|
-
type: "link"
|
|
742
|
-
},
|
|
743
|
-
localeService.t("threadCommentUI.panel.reset")
|
|
744
|
-
) : /* @__PURE__ */ React.createElement(
|
|
745
|
-
Button,
|
|
746
|
-
{
|
|
747
|
-
id: "thread-comment-add",
|
|
748
|
-
className: styles.threadCommentPanelAdd,
|
|
749
|
-
type: "primary",
|
|
750
|
-
onClick: onAdd,
|
|
751
|
-
disabled: disableAdd
|
|
752
|
-
},
|
|
753
|
-
/* @__PURE__ */ React.createElement(IncreaseSingle, null),
|
|
754
|
-
localeService.t("threadCommentUI.panel.addComment")
|
|
755
|
-
)));
|
|
756
|
-
}, "ThreadCommentPanel");
|
|
757
|
-
export {
|
|
758
|
-
IThreadCommentMentionDataService,
|
|
759
|
-
SetActiveCommentOperation,
|
|
760
|
-
THREAD_COMMENT_PANEL,
|
|
761
|
-
ThreadCommentPanel,
|
|
762
|
-
ThreadCommentPanelService,
|
|
763
|
-
ThreadCommentTree,
|
|
764
|
-
ToggleSheetCommentPanelOperation,
|
|
765
|
-
UniverThreadCommentUIPlugin,
|
|
766
|
-
getDT
|
|
767
|
-
};
|
|
1
|
+
var _0x4f2b8a=_0x1d3e;(function(_0x245643,_0x2259c3){var _0x68b3f7=_0x1d3e,_0x1d3c5e=_0x245643();while(!![]){try{var _0x3449ec=-parseInt(_0x68b3f7(0x1fd))/0x1+parseInt(_0x68b3f7(0x1d4))/0x2*(parseInt(_0x68b3f7(0x1b7))/0x3)+-parseInt(_0x68b3f7(0x13d))/0x4*(parseInt(_0x68b3f7(0x155))/0x5)+-parseInt(_0x68b3f7(0x1bc))/0x6+-parseInt(_0x68b3f7(0x175))/0x7*(-parseInt(_0x68b3f7(0x22d))/0x8)+-parseInt(_0x68b3f7(0x1f7))/0x9+parseInt(_0x68b3f7(0x22f))/0xa;if(_0x3449ec===_0x2259c3)break;else _0x1d3c5e['push'](_0x1d3c5e['shift']());}catch(_0x324cdf){_0x1d3c5e['push'](_0x1d3c5e['shift']());}}}(_0x5a93,0xbafb4));var __defProp=Object[_0x4f2b8a(0x206)],__defNormalProp=(_0x5599fd,_0x26e25c,_0x4519ab)=>_0x26e25c in _0x5599fd?__defProp(_0x5599fd,_0x26e25c,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x4519ab}):_0x5599fd[_0x26e25c]=_0x4519ab,__name=(_0x2894e2,_0x422e9b)=>__defProp(_0x2894e2,_0x4f2b8a(0x1d6),{'value':_0x422e9b,'configurable':!0x0}),__publicField=(_0x425ec7,_0x425a5c,_0x25c60a)=>__defNormalProp(_0x425ec7,typeof _0x425a5c!=_0x4f2b8a(0x1ce)?_0x425a5c+'':_0x425a5c,_0x25c60a);import _0xca383c from'dayjs';import{UniverThreadCommentPlugin,ThreadCommentModel,AddCommentCommand,UpdateCommentCommand,ResolveCommentCommand,DeleteCommentTreeCommand,DeleteCommentCommand}from'@univerjs/thread-comment';import{Inject,Disposable,UniverInstanceType,IUniverInstanceService,CommandType,createIdentifier,DependentOn,Injector,Plugin,mergeOverrideWithDependencies,ICommandService,IConfigService,CustomRangeType,useDependency,LocaleService,UserManagerService,generateRandomId}from'@univerjs/core';import{ISidebarService,useObservable}from'@univerjs/ui';import{BehaviorSubject,filter}from'rxjs';import{Mentions,Mention,Button,Tooltip,Dropdown,Menu,MenuItem,Select}from'@univerjs/design';import _0x37a111,{forwardRef,useRef,createElement,useState,useImperativeHandle,useEffect,useMemo}from'react';import _0x1494ab from'clsx';import{DocSelectionManagerService}from'@univerjs/docs';import{DocSelectionRenderService}from'@univerjs/docs-ui';function _0x1d3e(_0x32b0fc,_0xa2c39e){var _0x5a931e=_0x5a93();return _0x1d3e=function(_0x1d3eb5,_0x3289de){_0x1d3eb5=_0x1d3eb5-0x132;var _0x4cc499=_0x5a931e[_0x1d3eb5];return _0x4cc499;},_0x1d3e(_0x32b0fc,_0xa2c39e);}import{IRenderManagerService}from'@univerjs/engine-render';function getDT(){var _0x1430f3=_0x4f2b8a;return _0xca383c()[_0x1430f3(0x1f1)]('YYYY/MM/DD\x20HH:mm');}__name(getDT,_0x4f2b8a(0x227));const THREAD_COMMENT_PANEL=_0x4f2b8a(0x1ed),PLUGIN_NAME=_0x4f2b8a(0x1ae);var __defProp$1=Object[_0x4f2b8a(0x206)],__getOwnPropDesc$1=Object[_0x4f2b8a(0x13a)],__decorateClass$1=__name((_0x82e56d,_0x4c4403,_0x1f3baa,_0x9b14c4)=>{var _0x352696=_0x4f2b8a;for(var _0xd5095a=_0x9b14c4>0x1?void 0x0:_0x9b14c4?__getOwnPropDesc$1(_0x4c4403,_0x1f3baa):_0x4c4403,_0x225504=_0x82e56d[_0x352696(0x151)]-0x1,_0x45d8d2;_0x225504>=0x0;_0x225504--)(_0x45d8d2=_0x82e56d[_0x225504])&&(_0xd5095a=(_0x9b14c4?_0x45d8d2(_0x4c4403,_0x1f3baa,_0xd5095a):_0x45d8d2(_0xd5095a))||_0xd5095a);return _0x9b14c4&&_0xd5095a&&__defProp$1(_0x4c4403,_0x1f3baa,_0xd5095a),_0xd5095a;},_0x4f2b8a(0x1e9)),__decorateParam$1=__name((_0x228674,_0xe5d2c3)=>(_0x2ea40c,_0x453333)=>_0xe5d2c3(_0x2ea40c,_0x453333,_0x228674),'__decorateParam$1'),_a;let ThreadCommentPanelService=(_a=class extends Disposable{constructor(_0x10cf77,_0xf77a11){var _0x2625f4=_0x4f2b8a;super(),__publicField(this,'_panelVisible',!0x1),__publicField(this,'_panelVisible$',new BehaviorSubject(!0x1)),__publicField(this,_0x2625f4(0x136)),__publicField(this,'_activeCommentId$',new BehaviorSubject(void 0x0)),__publicField(this,_0x2625f4(0x164),this[_0x2625f4(0x20d)][_0x2625f4(0x14c)]()),__publicField(this,_0x2625f4(0x228),this[_0x2625f4(0x190)][_0x2625f4(0x14c)]()),(this[_0x2625f4(0x1db)]=_0x10cf77,this[_0x2625f4(0x143)]=_0xf77a11,this[_0x2625f4(0x1a2)](),this[_0x2625f4(0x1a3)](()=>{var _0x462608=_0x2625f4;this[_0x462608(0x190)][_0x462608(0x217)](),this[_0x462608(0x20d)][_0x462608(0x217)]();}));}[_0x4f2b8a(0x1a2)](){var _0x1a2691=_0x4f2b8a;this[_0x1a2691(0x1a3)](this[_0x1a2691(0x1db)][_0x1a2691(0x243)][_0x1a2691(0x1bd)](_0x28a687=>{_0x28a687['visible']||this['setPanelVisible'](!0x1);})),this['disposeWithMe'](this[_0x1a2691(0x143)]['getCurrentTypeOfUnit$'](UniverInstanceType[_0x1a2691(0x159)])['pipe'](filter(_0x22e852=>!_0x22e852))[_0x1a2691(0x1bd)](()=>{var _0x355b00=_0x1a2691;this[_0x355b00(0x1db)][_0x355b00(0x1c6)]();}));}get[_0x4f2b8a(0x179)](){return this['_panelVisible'];}get['activeCommentId'](){var _0x3cd37a=_0x4f2b8a;return this[_0x3cd37a(0x136)];}[_0x4f2b8a(0x1c9)](_0x5e7891){var _0x490ffb=_0x4f2b8a;this[_0x490ffb(0x17f)]=_0x5e7891,this[_0x490ffb(0x20d)][_0x490ffb(0x140)](_0x5e7891);}['setActiveComment'](_0x4571ac){var _0x3f38f7=_0x4f2b8a;this['_activeCommentId']=_0x4571ac,this[_0x3f38f7(0x190)]['next'](_0x4571ac);}},__name(_a,'ThreadCommentPanelService'),_a);ThreadCommentPanelService=__decorateClass$1([__decorateParam$1(0x0,Inject(ISidebarService)),__decorateParam$1(0x1,IUniverInstanceService)],ThreadCommentPanelService);const ToggleSheetCommentPanelOperation={'id':'thread-comment-ui.operation.toggle-panel','type':CommandType[_0x4f2b8a(0x226)],'handler'(_0x467353){var _0x2ea3d5=_0x4f2b8a;const _0x3701e6=_0x467353[_0x2ea3d5(0x20e)](ISidebarService),_0xefaa41=_0x467353['get'](ThreadCommentPanelService);return _0xefaa41[_0x2ea3d5(0x179)]?(_0x3701e6[_0x2ea3d5(0x1c6)](),_0xefaa41[_0x2ea3d5(0x1c9)](!0x1)):(_0x3701e6[_0x2ea3d5(0x201)]({'header':{'title':'threadCommentUI.panel.title'},'children':{'label':THREAD_COMMENT_PANEL},'width':0x14a}),_0xefaa41[_0x2ea3d5(0x1c9)](!0x0)),!0x0;}},SetActiveCommentOperation={'id':_0x4f2b8a(0x215),'type':CommandType['OPERATION'],'handler'(_0x4ec6c2,_0x1ccc00){var _0x5e8143=_0x4f2b8a;return _0x4ec6c2['get'](ThreadCommentPanelService)[_0x5e8143(0x20c)](_0x1ccc00),!0x0;}},_ThreadCommentMentionDataService=class _ThreadCommentMentionDataService{constructor(){var _0x3b8a57=_0x4f2b8a;__publicField(this,'dataSource'),__publicField(this,_0x3b8a57(0x147)),__publicField(this,_0x3b8a57(0x172),'@');}async[_0x4f2b8a(0x1dc)](_0x284a47,_0x576b45,_0x3f81e4){var _0x39a24f=_0x4f2b8a;return this[_0x39a24f(0x1fc)]?this[_0x39a24f(0x1fc)][_0x39a24f(0x1dc)](_0x284a47,_0x576b45,_0x3f81e4):[];}};__name(_ThreadCommentMentionDataService,_0x4f2b8a(0x15f));let ThreadCommentMentionDataService=_ThreadCommentMentionDataService;const IThreadCommentMentionDataService=createIdentifier(_0x4f2b8a(0x16f)),PLUGIN_CONFIG_KEY=_0x4f2b8a(0x1fe),defaultPluginConfig={};var __defProp2=Object[_0x4f2b8a(0x206)],__getOwnPropDesc=Object[_0x4f2b8a(0x13a)],__defNormalProp2=__name((_0x1c6ac2,_0x5e8746,_0x26fd2d)=>_0x5e8746 in _0x1c6ac2?__defProp2(_0x1c6ac2,_0x5e8746,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x26fd2d}):_0x1c6ac2[_0x5e8746]=_0x26fd2d,'__defNormalProp'),__decorateClass=__name((_0x7abc9f,_0x13b8a1,_0x2e5f27,_0x52b54f)=>{var _0x1283f6=_0x4f2b8a;for(var _0x6fbbf2=_0x52b54f>0x1?void 0x0:_0x52b54f?__getOwnPropDesc(_0x13b8a1,_0x2e5f27):_0x13b8a1,_0x26d1fe=_0x7abc9f[_0x1283f6(0x151)]-0x1,_0x424fc4;_0x26d1fe>=0x0;_0x26d1fe--)(_0x424fc4=_0x7abc9f[_0x26d1fe])&&(_0x6fbbf2=(_0x52b54f?_0x424fc4(_0x13b8a1,_0x2e5f27,_0x6fbbf2):_0x424fc4(_0x6fbbf2))||_0x6fbbf2);return _0x52b54f&&_0x6fbbf2&&__defProp2(_0x13b8a1,_0x2e5f27,_0x6fbbf2),_0x6fbbf2;},_0x4f2b8a(0x220)),__decorateParam=__name((_0x40f2ff,_0x1ce697)=>(_0x449540,_0x1e8989)=>_0x1ce697(_0x449540,_0x1e8989,_0x40f2ff),_0x4f2b8a(0x20b)),__publicField2=__name((_0xdad92a,_0x3696bb,_0x248c9b)=>__defNormalProp2(_0xdad92a,typeof _0x3696bb!='symbol'?_0x3696bb+'':_0x3696bb,_0x248c9b),'__publicField'),_a2;let UniverThreadCommentUIPlugin=(_a2=class extends Plugin{constructor(_0x5d7b35=defaultPluginConfig,_0x2856e5,_0x15bd27,_0x2b7eb7){var _0xd63704=_0x4f2b8a;super(),this[_0xd63704(0x153)]=_0x5d7b35,this[_0xd63704(0x174)]=_0x2856e5,this[_0xd63704(0x173)]=_0x15bd27,this[_0xd63704(0x163)]=_0x2b7eb7;const {menu:_0x473948,..._0x2b762b}=this[_0xd63704(0x153)];_0x473948&&this['_configService']['setConfig']('menu',_0x473948,{'merge':!0x0}),this[_0xd63704(0x163)]['setConfig'](PLUGIN_CONFIG_KEY,_0x2b762b);}[_0x4f2b8a(0x239)](){var _0xbd3083=_0x4f2b8a,_0x36861a;mergeOverrideWithDependencies([[ThreadCommentPanelService],[IThreadCommentMentionDataService,{'useClass':ThreadCommentMentionDataService}]],(_0x36861a=this[_0xbd3083(0x153)])==null?void 0x0:_0x36861a[_0xbd3083(0x181)])[_0xbd3083(0x16c)](_0x11ff61=>{var _0x2610bf=_0xbd3083;this['_injector'][_0x2610bf(0x1eb)](_0x11ff61);}),[ToggleSheetCommentPanelOperation,SetActiveCommentOperation][_0xbd3083(0x16c)](_0x200b76=>{var _0x1cb02e=_0xbd3083;this[_0x1cb02e(0x173)]['registerCommand'](_0x200b76);});}},__name(_a2,_0x4f2b8a(0x233)),_a2);__publicField2(UniverThreadCommentUIPlugin,_0x4f2b8a(0x17d),PLUGIN_NAME),__publicField2(UniverThreadCommentUIPlugin,_0x4f2b8a(0x1bf),UniverInstanceType[_0x4f2b8a(0x19d)]),UniverThreadCommentUIPlugin=__decorateClass([DependentOn(UniverThreadCommentPlugin),__decorateParam(0x1,Inject(Injector)),__decorateParam(0x2,ICommandService),__decorateParam(0x3,IConfigService)],UniverThreadCommentUIPlugin);var __assign=function(){var _0x37ff28=_0x4f2b8a;return __assign=Object[_0x37ff28(0x17e)]||function(_0x211b13){var _0x135192=_0x37ff28;for(var _0x23fa33,_0x3dec98=0x1,_0x3b09c2=arguments[_0x135192(0x151)];_0x3dec98<_0x3b09c2;_0x3dec98++){_0x23fa33=arguments[_0x3dec98];for(var _0x4471e5 in _0x23fa33)Object[_0x135192(0x1d1)]['hasOwnProperty'][_0x135192(0x15e)](_0x23fa33,_0x4471e5)&&(_0x211b13[_0x4471e5]=_0x23fa33[_0x4471e5]);}return _0x211b13;},__assign[_0x37ff28(0x245)](this,arguments);},__rest=function(_0x5bc90c,_0x4eb9ee){var _0x3f107d=_0x4f2b8a,_0x54dfe4={};for(var _0x1c779f in _0x5bc90c)Object[_0x3f107d(0x1d1)][_0x3f107d(0x1c4)]['call'](_0x5bc90c,_0x1c779f)&&_0x4eb9ee[_0x3f107d(0x1d0)](_0x1c779f)<0x0&&(_0x54dfe4[_0x1c779f]=_0x5bc90c[_0x1c779f]);if(_0x5bc90c!=null&&typeof Object[_0x3f107d(0x1e6)]==_0x3f107d(0x149)){for(var _0x5ddf8f=0x0,_0x1c779f=Object['getOwnPropertySymbols'](_0x5bc90c);_0x5ddf8f<_0x1c779f[_0x3f107d(0x151)];_0x5ddf8f++)_0x4eb9ee['indexOf'](_0x1c779f[_0x5ddf8f])<0x0&&Object[_0x3f107d(0x1d1)][_0x3f107d(0x156)][_0x3f107d(0x15e)](_0x5bc90c,_0x1c779f[_0x5ddf8f])&&(_0x54dfe4[_0x1c779f[_0x5ddf8f]]=_0x5bc90c[_0x1c779f[_0x5ddf8f]]);}return _0x54dfe4;},IconBase=forwardRef(function(_0x311ce6,_0x3a4cec){var _0x589e7f=_0x4f2b8a,_0x4ec39a=_0x311ce6[_0x589e7f(0x188)],_0x1e368e=_0x311ce6['id'],_0x395f8d=_0x311ce6[_0x589e7f(0x15d)],_0x3dbbc5=_0x311ce6[_0x589e7f(0x211)],_0x511442=__rest(_0x311ce6,[_0x589e7f(0x188),'id','className','extend']),_0x486e6a=_0x589e7f(0x18f)[_0x589e7f(0x23e)](_0x1e368e,'\x20')['concat'](_0x395f8d||'')[_0x589e7f(0x203)](),_0x2781e3=useRef('_'[_0x589e7f(0x23e)](generateShortUuid()));return render(_0x4ec39a,''[_0x589e7f(0x23e)](_0x1e368e),{'defIds':_0x4ec39a[_0x589e7f(0x21e)],'idSuffix':_0x2781e3[_0x589e7f(0x187)]},__assign({'ref':_0x3a4cec,'className':_0x486e6a},_0x511442),_0x3dbbc5);});function render(_0x2a19f5,_0x52c7b,_0x5afa43,_0x2ed2ad,_0x7dc1b){var _0x162cd5=_0x4f2b8a;return createElement(_0x2a19f5['tag'],__assign(__assign({'key':_0x52c7b},replaceRuntimeIdsAndExtInAttrs(_0x2a19f5,_0x5afa43,_0x7dc1b)),_0x2ed2ad),(replaceRuntimeIdsInDefs(_0x2a19f5,_0x5afa43)[_0x162cd5(0x223)]||[])[_0x162cd5(0x1a8)](function(_0x386ad8,_0x4ac4fa){var _0x420c10=_0x162cd5;return render(_0x386ad8,''[_0x420c10(0x23e)](_0x52c7b,'-')['concat'](_0x2a19f5['tag'],'-')[_0x420c10(0x23e)](_0x4ac4fa),_0x5afa43,void 0x0,_0x7dc1b);}));}__name(render,_0x4f2b8a(0x1ba));function replaceRuntimeIdsAndExtInAttrs(_0x50807d,_0x2c0521,_0x572883){var _0x152959=_0x4f2b8a,_0x380b45=__assign({},_0x50807d[_0x152959(0x1b3)]);_0x572883!=null&&_0x572883[_0x152959(0x1c2)]&&_0x380b45[_0x152959(0x1b5)]===_0x152959(0x1c2)&&(_0x380b45[_0x152959(0x1b5)]=_0x572883['colorChannel1']);var _0x392c74=_0x2c0521[_0x152959(0x21e)];return!_0x392c74||_0x392c74['length']===0x0||(_0x50807d[_0x152959(0x19e)]===_0x152959(0x1e7)&&_0x380b45[_0x152959(0x16d)]&&(_0x380b45[_0x152959(0x16d)]=_0x380b45['xlink:href']+_0x2c0521['idSuffix']),Object[_0x152959(0x225)](_0x380b45)[_0x152959(0x16c)](function(_0x1d2b49){var _0x3415d4=_0x152959,_0x49a18b=_0x1d2b49[0x0],_0x3ed299=_0x1d2b49[0x1];typeof _0x3ed299==_0x3415d4(0x1e4)&&(_0x380b45[_0x49a18b]=_0x3ed299[_0x3415d4(0x16a)](/url\(#(.*)\)/,_0x3415d4(0x1e0)[_0x3415d4(0x23e)](_0x2c0521['idSuffix'],')')));})),_0x380b45;}function _0x5a93(){var _0x282963=['SolveSingle','target','getUser','format','M0.840332\x203.73535C0.840332\x202.63078\x201.73576\x201.73535\x202.84033\x201.73535H10.2955C11.4001\x201.73535\x2012.2955\x202.63078\x2012.2955\x203.73535V8.32676C12.2955\x209.43132\x2011.4001\x2010.3268\x2010.2955\x2010.3268H5.6014L4.1695\x2011.7587L3.05978\x2010.3268H2.84033C1.73576\x2010.3268\x200.840332\x209.43133\x200.840332\x208.32676V3.73535Z','commentId','threadCommentItemContent','join','reply','3053853IzgdnX','__mock__','M8.6\x201.99991C8.60001\x201.66854\x208.33138\x201.39991\x208.00001\x201.3999C7.66864\x201.3999\x207.40001\x201.66853\x207.4\x201.9999L7.39996\x207.3999H1.9999C1.66853\x207.3999\x201.3999\x207.66853\x201.3999\x207.9999C1.3999\x208.33127\x201.66853\x208.5999\x201.9999\x208.5999H7.39995L7.3999\x2013.9999C7.3999\x2014.3313\x207.66853\x2014.5999\x207.9999\x2014.5999C8.33127\x2014.5999\x208.5999\x2014.3313\x208.5999\x2013.9999L8.59995\x208.5999H13.9999C14.3313\x208.5999\x2014.5999\x208.33127\x2014.5999\x207.9999C14.5999\x207.66853\x2014.3313\x207.3999\x2013.9999\x207.3999H8.59996L8.6\x201.99991Z','IncreaseSingle','univer-thread-comment-editor-suggestionActive','dataSource','980086JtVymB','thread-comment-ui.config','onFocus','currentUser$','open','threadCommentUI.panel.filterEmpty','trim','univer-thread-comment-item-content','evenodd','defineProperty','resolved-single','threadCommentUI.panel.reset','img','thread-comment-add','__decorateParam','setActiveComment','_panelVisible$','get','threadCommentTitlePosition','transformDocument2TextNodes','extend','userID','unsolved','univer-thread-comment-icon-container','thread-comment-ui.operation.set-active-comment','已解决','complete','transformTextNode2Text','M6.41016\x206.1311H6.76813M8.91626\x206.1311H9.27424M3.90454\x206.1311H4.26252','with','center','circle','threadCommentTitle','defIds','univer-thread-comment-title-highlight','__decorateClass','univer-thread-comment-editor-suggestion-icon','getCurrentTypeOfRenderer','children','threadCommentUsername','entries','OPERATION','getDT','activeCommentId$','threadCommentIconContainer','threadCommentUI.editor.cancel','threadCommentUI.editor.reply','0\x200\x2016\x2016','74416gmRDlR','content','44581530DYcnfy','univer-thread-comment-editor-suggestion','M4.75332\x205.22217C3.86966\x205.22217\x203.15332\x205.93851\x203.15332\x206.82217V12.5331C3.15332\x2013.9691\x204.31738\x2015.1332\x205.75332\x2015.1332H10.2465C11.6825\x2015.1332\x2012.8465\x2013.9691\x2012.8465\x2012.5331V6.82217C12.8465\x205.93851\x2012.1302\x205.22217\x2011.2465\x205.22217H4.75332ZM4.35332\x206.82217C4.35332\x206.60125\x204.53241\x206.42217\x204.75332\x206.42217H11.2465C11.4674\x206.42217\x2011.6465\x206.60125\x2011.6465\x206.82217V12.5331C11.6465\x2013.3063\x2011.0197\x2013.9332\x2010.2465\x2013.9332H5.75332C4.98012\x2013.9332\x204.35332\x2013.3063\x204.35332\x2012.5331V6.82217Z','univer-thread-comment-content','UniverThreadCommentUIPlugin','root','threadCommentPanelSolved','threadCommentUI.panel.addComment','univer-thread-comment-panel-forms','univer-thread-comment-panel-empty','onStarting','panel','primary','univer-thread-comment-title-position-text','0\x200\x2017\x2017','concat','onMouseEnter','scrollTop','threadCommentUI.filter.status.unsolved','univer-thread-comment-item-title-highlight','sidebarOptions$','univer-thread-comment-item-head','apply','threadCommentUI.filter.sheet.current','exec','univer-thread-comment-editor-buttons','data','M3\x209C3.55228\x209\x204\x208.55228\x204\x208\x204\x207.44772\x203.55228\x207\x203\x207\x202.44772\x207\x202\x207.44772\x202\x208\x202\x208.55228\x202.44772\x209\x203\x209zM8\x209C8.55228\x209\x209\x208.55228\x209\x208\x209\x207.44772\x208.55228\x207\x208\x207\x207.44772\x207\x207\x207.44772\x207\x208\x207\x208.55228\x207.44772\x209\x208\x209zM13\x209C13.5523\x209\x2014\x208.55228\x2014\x208\x2014\x207.44772\x2013.5523\x207\x2013\x207\x2012.4477\x207\x2012\x207.44772\x2012\x208\x2012\x208.55228\x2012.4477\x209\x2013\x209z','_activeCommentId','threadCommentUI.editor.placeholder','threadCommentTitlePositionText','createElement','getOwnPropertyDescriptor','1em','avatar','4710808yWBssC','MENTION','raw','next','concern_me','removeAllRanges','_univerInstanceService','UNIVER_DOC','set','threadCommentEditorSuggestion','renderSuggestion','M5.3313\x201.4667C5.3313\x201.13533\x205.59993.866699\x205.9313.866699H10.069C10.4004.866699\x2010.669\x201.13533\x2010.669\x201.4667\x2010.669\x201.79807\x2010.4004\x202.0667\x2010.069\x202.0667H5.9313C5.59993\x202.0667\x205.3313\x201.79807\x205.3313\x201.4667zM1.09985\x203.64443C1.09985\x203.31306\x201.36848\x203.04443\x201.69985\x203.04443H14.2999C14.6312\x203.04443\x2014.8999\x203.31306\x2014.8999\x203.64443\x2014.8999\x203.9758\x2014.6312\x204.24443\x2014.2999\x204.24443H1.69985C1.36848\x204.24443\x201.09985\x203.9758\x201.09985\x203.64443zM6.12398\x208.30171C6.35829\x208.0674\x206.73819\x208.0674\x206.97251\x208.30171L8.00007\x209.32928\x209.02764\x208.30171C9.26195\x208.0674\x209.64185\x208.0674\x209.87617\x208.30171\x2010.1105\x208.53603\x2010.1105\x208.91593\x209.87617\x209.15024L8.8486\x2010.1778\x209.87617\x2011.2054C10.1105\x2011.4397\x2010.1105\x2011.8196\x209.87617\x2012.0539\x209.64185\x2012.2882\x209.26195\x2012.2882\x209.02764\x2012.0539L8.00007\x2011.0263\x206.97251\x2012.0539C6.73819\x2012.2882\x206.35829\x2012.2882\x206.12398\x2012.0539\x205.88966\x2011.8196\x205.88966\x2011.4397\x206.12398\x2011.2054L7.15154\x2010.1778\x206.12398\x209.15024C5.88966\x208.91593\x205.88966\x208.53603\x206.12398\x208.30171z','function','threadCommentEditor','getUnit','asObservable','threadCommentPanelEmpty','onCancel','getElementById','display','length','index','_config','toString','5kDhfbw','propertyIsEnumerable','onChange','unitId','UNIVER_SHEET','transformTextNodes2Document','threadCommentItemTime','threadCommentUI.item.edit','className','call','ThreadCommentMentionDataService','threadCommentActive','commentMap$','handleDeleteItem','_configService','panelVisible$','solve-single','resolved','univer-thread-comment-panel','then','onClick','replace','threadCommentUI.filter.status.resolved','forEach','xlink:href','currentColor','thread-comment.mention-data.service','handleSave','ref','trigger','_commandService','_injector','28zIJUsE','path','rgb(var(--green-500))','replaceRuntimeIdsAndExtInAttrs','panelVisible','round','onMouseLeave','executeCommand','pluginName','assign','_panelVisible','univer-thread-comment-item-title-position','overrides','ThreadCommentPanel','ThreadCommentItem','value','threadCommentContent','label','current','icon','slice','increase-single','push','all','collapsed','none','univerjs-icon\x20univerjs-icon-','_activeCommentId$','svg','displayName','threadCommentPanelAdd','univer-thread-comment-active','univer-select','threadCommentUI.editor.save','threadCommentUI.filter.sheet.all','handleResolve','threadCommentItemAt','univer-thread-comment-title-position','onEditingChange','endIndex','UNIVER_UNKNOWN','tag','transformMention','threadCommentUI.filter.status.concernMe','more-horizontal-single','_init','disposeWithMe','personId','ThreadCommentTree','substring','onReset','map','DeleteSingle','generateShortUuid','parseMentions','renderComment','threadComment','UNIVER_THREAD_COMMENT_UI_PLUGIN','univer-thread-comment-panel-solved','threadCommentUI.panel.empty','MoreHorizontalSingle','div','attrs','threadCommentItemTitle','fill','filter','171NAAbcK','blur','idSuffix','render','defaultRenderSuggestion','8213370zsExuA','subscribe','M6.02637\x208.40356L8.02637\x2010.4036L12.0264\x206.40356','type','threadCommentItem','threadId','colorChannel1','focus','hasOwnProperty','subUnitId','close','ResolvedSingle','inputElement','setPanelVisible','has','handleDeleteRoot','preventDefault','startIndex','symbol','defs','indexOf','prototype','mention','getCommentWithChildren','4790xaRhdD','onResolve','name','univer-thread-comment-item-at','delete','threadCommentHighlight','lastIndex','_sidebarService','getMentions','cell','threadCommentUI.item.delete','text','url(#$1','threadCommentPanel','flat','threadCommentUI.filter.status.all','string','threadCommentIcon','getOwnPropertySymbols','use','getActiveTextRange','__decorateClass$1','univer-thread-comment-title','add','univer-thread-comment','thread-comment-panel'];_0x5a93=function(){return _0x282963;};return _0x5a93();}__name(replaceRuntimeIdsAndExtInAttrs,_0x4f2b8a(0x178));function replaceRuntimeIdsInDefs(_0x30ffb4,_0xa3f34e){var _0x40b6d=_0x4f2b8a,_0xa23e33,_0x4043ec=_0xa3f34e[_0x40b6d(0x21e)];return!_0x4043ec||_0x4043ec[_0x40b6d(0x151)]===0x0?_0x30ffb4:_0x30ffb4['tag']===_0x40b6d(0x1cf)&&(!((_0xa23e33=_0x30ffb4[_0x40b6d(0x223)])===null||_0xa23e33===void 0x0)&&_0xa23e33[_0x40b6d(0x151)])?__assign(__assign({},_0x30ffb4),{'children':_0x30ffb4[_0x40b6d(0x223)][_0x40b6d(0x1a8)](function(_0x3282e1){var _0x1be0c2=_0x40b6d;return typeof _0x3282e1[_0x1be0c2(0x1b3)]['id']==_0x1be0c2(0x1e4)&&_0x4043ec&&_0x4043ec['indexOf'](_0x3282e1[_0x1be0c2(0x1b3)]['id'])>-0x1?__assign(__assign({},_0x3282e1),{'attrs':__assign(__assign({},_0x3282e1[_0x1be0c2(0x1b3)]),{'id':_0x3282e1[_0x1be0c2(0x1b3)]['id']+_0xa3f34e[_0x1be0c2(0x1b9)]})}):_0x3282e1;})}):_0x30ffb4;}__name(replaceRuntimeIdsInDefs,'replaceRuntimeIdsInDefs');function generateShortUuid(){var _0x1fcd2c=_0x4f2b8a;return Math['random']()[_0x1fcd2c(0x154)](0x24)[_0x1fcd2c(0x1a6)](0x2,0x8);}__name(generateShortUuid,_0x4f2b8a(0x1aa)),IconBase[_0x4f2b8a(0x192)]='UniverIcon';var element$5={'tag':_0x4f2b8a(0x191),'attrs':{'fill':_0x4f2b8a(0x18e),'viewBox':'0\x200\x2016\x2016','width':_0x4f2b8a(0x13b),'height':_0x4f2b8a(0x13b)},'children':[{'tag':_0x4f2b8a(0x176),'attrs':{'fill':'currentColor','d':_0x4f2b8a(0x148)}},{'tag':'path','attrs':{'fill':_0x4f2b8a(0x16e),'d':_0x4f2b8a(0x231),'fillRule':_0x4f2b8a(0x205),'clipRule':_0x4f2b8a(0x205)}}]},DeleteSingle=forwardRef(function(_0x1084b1,_0x4e4536){return createElement(IconBase,Object['assign']({},_0x1084b1,{'id':'delete-single','ref':_0x4e4536,'icon':element$5}));});DeleteSingle[_0x4f2b8a(0x192)]=_0x4f2b8a(0x1a9);var element$4={'tag':_0x4f2b8a(0x191),'attrs':{'fill':_0x4f2b8a(0x18e),'viewBox':'0\x200\x2016\x2016','width':_0x4f2b8a(0x13b),'height':_0x4f2b8a(0x13b)},'children':[{'tag':_0x4f2b8a(0x176),'attrs':{'fill':_0x4f2b8a(0x16e),'d':_0x4f2b8a(0x1f9)}}]},IncreaseSingle=forwardRef(function(_0x1026d1,_0x38ac13){var _0xb77a4f=_0x4f2b8a;return createElement(IconBase,Object[_0xb77a4f(0x17e)]({},_0x1026d1,{'id':_0xb77a4f(0x18a),'ref':_0x38ac13,'icon':element$4}));});IncreaseSingle[_0x4f2b8a(0x192)]=_0x4f2b8a(0x1fa);var element$3={'tag':_0x4f2b8a(0x191),'attrs':{'fill':_0x4f2b8a(0x18e),'viewBox':_0x4f2b8a(0x22c),'width':_0x4f2b8a(0x13b),'height':_0x4f2b8a(0x13b)},'children':[{'tag':_0x4f2b8a(0x176),'attrs':{'fill':_0x4f2b8a(0x16e),'d':_0x4f2b8a(0x135)}}]},MoreHorizontalSingle=forwardRef(function(_0x3948c4,_0x304f59){var _0x1904e7=_0x4f2b8a;return createElement(IconBase,Object[_0x1904e7(0x17e)]({},_0x3948c4,{'id':_0x1904e7(0x1a1),'ref':_0x304f59,'icon':element$3}));});MoreHorizontalSingle[_0x4f2b8a(0x192)]=_0x4f2b8a(0x1b1);var element$2={'tag':'svg','attrs':{'fill':_0x4f2b8a(0x18e),'viewBox':_0x4f2b8a(0x22c),'width':_0x4f2b8a(0x13b),'height':'1em'},'children':[{'tag':_0x4f2b8a(0x176),'attrs':{'stroke':_0x4f2b8a(0x16e),'d':'M7.48389\x2010.3267V12.1905C7.48389\x2012.7428\x207.9316\x2013.1905\x208.48389\x2013.1905H11.2216L12.2955\x2014.2644L13.3695\x2013.1905H14.1593C14.7116\x2013.1905\x2015.1593\x2012.7428\x2015.1593\x2012.1905V8.46289C15.1593\x207.91061\x2014.7116\x207.46289\x2014.1593\x207.46289H12.2955','strokeLinecap':'round','strokeLinejoin':_0x4f2b8a(0x17a),'strokeWidth':1.2}},{'tag':'path','attrs':{'stroke':_0x4f2b8a(0x16e),'d':_0x4f2b8a(0x1f2),'strokeLinecap':_0x4f2b8a(0x17a),'strokeLinejoin':_0x4f2b8a(0x17a),'strokeWidth':1.2}},{'tag':_0x4f2b8a(0x176),'attrs':{'stroke':'currentColor','d':_0x4f2b8a(0x219),'strokeLinecap':'round','strokeWidth':1.2}}]},ReplyToCommentSingle=forwardRef(function(_0xf4ba0f,_0x42cc8b){var _0x3c4be7=_0x4f2b8a;return createElement(IconBase,Object[_0x3c4be7(0x17e)]({},_0xf4ba0f,{'id':'reply-to-comment-single','ref':_0x42cc8b,'icon':element$2}));});ReplyToCommentSingle[_0x4f2b8a(0x192)]='ReplyToCommentSingle';var element$1={'tag':_0x4f2b8a(0x191),'attrs':{'fill':_0x4f2b8a(0x18e),'viewBox':_0x4f2b8a(0x23d),'width':'1em','height':_0x4f2b8a(0x13b)},'children':[{'tag':_0x4f2b8a(0x176),'attrs':{'fill':_0x4f2b8a(0x16e),'d':'M8.6106\x2015.4036C12.4766\x2015.4036\x2015.6106\x2012.2696\x2015.6106\x208.40356C15.6106\x204.53757\x2012.4766\x201.40356\x208.6106\x201.40356C4.7446\x201.40356\x201.6106\x204.53757\x201.6106\x208.40356C1.6106\x2012.2696\x204.7446\x2015.4036\x208.6106\x2015.4036ZM12.3351\x206.82773C12.5694\x206.59342\x2012.5694\x206.21352\x2012.3351\x205.9792C12.1007\x205.74489\x2011.7208\x205.74489\x2011.4865\x205.9792L7.91079\x209.55494L6.33506\x207.9792C6.10074\x207.74489\x205.72084\x207.74489\x205.48653\x207.9792C5.25221\x208.21352\x205.25221\x208.59342\x205.48653\x208.82773L7.48653\x2010.8277C7.72084\x2011.062\x208.10074\x2011.062\x208.33506\x2010.8277L12.3351\x206.82773Z','fillRule':_0x4f2b8a(0x205),'clipRule':_0x4f2b8a(0x205)}}]},ResolvedSingle=forwardRef(function(_0x481c41,_0x2af1de){var _0x3097ea=_0x4f2b8a;return createElement(IconBase,Object[_0x3097ea(0x17e)]({},_0x481c41,{'id':_0x3097ea(0x207),'ref':_0x2af1de,'icon':element$1}));});ResolvedSingle[_0x4f2b8a(0x192)]=_0x4f2b8a(0x1c7);var element={'tag':_0x4f2b8a(0x191),'attrs':{'fill':'none','viewBox':_0x4f2b8a(0x23d),'width':'1em','height':'1em'},'children':[{'tag':_0x4f2b8a(0x21c),'attrs':{'cx':8.73,'cy':8.4,'r':6.4,'stroke':_0x4f2b8a(0x16e),'strokeWidth':1.2}},{'tag':_0x4f2b8a(0x176),'attrs':{'stroke':_0x4f2b8a(0x16e),'d':_0x4f2b8a(0x1be),'strokeLinecap':_0x4f2b8a(0x17a),'strokeLinejoin':_0x4f2b8a(0x17a),'strokeWidth':1.2}}]},SolveSingle=forwardRef(function(_0x2651fc,_0x511553){var _0x55b701=_0x4f2b8a;return createElement(IconBase,Object[_0x55b701(0x17e)]({},_0x2651fc,{'id':_0x55b701(0x165),'ref':_0x511553,'icon':element}));});SolveSingle['displayName']=_0x4f2b8a(0x1ee);const threadCommentEditorButtons=_0x4f2b8a(0x133),threadCommentEditorSuggestion=_0x4f2b8a(0x230),threadCommentEditorSuggestionActive=_0x4f2b8a(0x1fb),threadCommentEditorSuggestionIcon=_0x4f2b8a(0x221),styles$2={'threadCommentEditorButtons':threadCommentEditorButtons,'threadCommentEditorSuggestion':threadCommentEditorSuggestion,'threadCommentEditorSuggestionActive':threadCommentEditorSuggestionActive,'threadCommentEditorSuggestionIcon':threadCommentEditorSuggestionIcon},parseMentions=__name(_0x3ceb6f=>{var _0x478a51=_0x4f2b8a;const _0x9ef54f=/@\[(.*?)\]\((.*?)\)|(\w+)/g;let _0xa642ff,_0x18c6fa=0x0;const _0x53d91d=[];for(;(_0xa642ff=_0x9ef54f[_0x478a51(0x132)](_0x3ceb6f))!==null;)_0xa642ff[_0x478a51(0x152)]>_0x18c6fa&&_0x53d91d[_0x478a51(0x18b)]({'type':_0x478a51(0x1df),'content':_0x3ceb6f['substring'](_0x18c6fa,_0xa642ff[_0x478a51(0x152)])}),_0xa642ff[0x1]&&_0xa642ff[0x2]?_0x53d91d[_0x478a51(0x18b)]({'type':_0x478a51(0x1d2),'content':{'label':_0xa642ff[0x1],'id':_0xa642ff[0x2]}}):_0xa642ff[0x3]&&_0x53d91d[_0x478a51(0x18b)]({'type':_0x478a51(0x1df),'content':_0xa642ff[0x3]}),_0x18c6fa=_0x9ef54f[_0x478a51(0x1da)];return _0x18c6fa<_0x3ceb6f[_0x478a51(0x151)]&&_0x53d91d[_0x478a51(0x18b)]({'type':'text','content':_0x3ceb6f[_0x478a51(0x1a6)](_0x18c6fa)}),_0x53d91d;},_0x4f2b8a(0x1ab)),transformTextNode2Text=__name(_0x24c601=>_0x24c601[_0x4f2b8a(0x1a8)](_0x58a87b=>{var _0x3bdf45=_0x4f2b8a;switch(_0x58a87b[_0x3bdf45(0x1bf)]){case _0x3bdf45(0x1d2):return'@['+_0x58a87b['content'][_0x3bdf45(0x186)]+']('+_0x58a87b[_0x3bdf45(0x22e)]['id']+')';default:return _0x58a87b[_0x3bdf45(0x22e)];}})[_0x4f2b8a(0x1f5)](''),_0x4f2b8a(0x218)),transformDocument2TextNodes=__name(_0x36dd9d=>{var _0x2600f8=_0x4f2b8a;const {dataStream:_0x1f1e96,customRanges:_0x854968}=_0x36dd9d,_0x22c65b=_0x1f1e96[_0x2600f8(0x151)]-0x2,_0x452865=[];let _0x1f6a64=0x0;return _0x854968==null||_0x854968[_0x2600f8(0x16c)](_0x42d9da=>{var _0x4d3ace=_0x2600f8;_0x1f6a64<_0x42d9da[_0x4d3ace(0x1cd)]&&_0x452865[_0x4d3ace(0x18b)]({'type':_0x4d3ace(0x1df),'content':_0x1f1e96[_0x4d3ace(0x189)](_0x1f6a64,_0x42d9da[_0x4d3ace(0x1cd)])}),_0x452865[_0x4d3ace(0x18b)]({'type':'mention','content':{'label':_0x1f1e96[_0x4d3ace(0x189)](_0x42d9da[_0x4d3ace(0x1cd)],_0x42d9da[_0x4d3ace(0x19c)])['slice'](0x1,-0x1),'id':_0x42d9da['rangeId']}}),_0x1f6a64=_0x42d9da['endIndex'];}),_0x452865['push']({'type':_0x2600f8(0x1df),'content':_0x1f1e96['slice'](_0x1f6a64,_0x22c65b)}),_0x452865;},_0x4f2b8a(0x210)),transformTextNodes2Document=__name(_0x511aca=>{var _0x1b1440=_0x4f2b8a;let _0x2d6a11='';const _0x445aa9=[];return _0x511aca[_0x1b1440(0x16c)](_0x37f74d=>{var _0x15eff3=_0x1b1440;switch(_0x37f74d['type']){case _0x15eff3(0x1df):_0x2d6a11+=_0x37f74d['content'];break;case _0x15eff3(0x1d2):{const _0x2be622=_0x2d6a11['length'];_0x2d6a11+='\x1f'+_0x37f74d['content']['label']+'\x1e';const _0x216cb0=_0x2d6a11[_0x15eff3(0x151)];_0x445aa9[_0x15eff3(0x18b)]({'rangeId':_0x37f74d[_0x15eff3(0x22e)]['id'],'rangeType':CustomRangeType[_0x15eff3(0x13e)],'startIndex':_0x2be622,'endIndex':_0x216cb0});break;}}}),_0x2d6a11+='\x0a\x0d',{'textRuns':[],'paragraphs':[{'startIndex':_0x2d6a11[_0x1b1440(0x151)]-0x2,'paragraphStyle':{}}],'sectionBreaks':[{'startIndex':_0x2d6a11[_0x1b1440(0x151)]-0x1}],'dataStream':_0x2d6a11,'customRanges':_0x445aa9};},_0x4f2b8a(0x15a)),transformMention=__name(_0x23edb3=>({'display':_0x23edb3[_0x4f2b8a(0x186)],'id':''+_0x23edb3['id'],'raw':_0x23edb3}),_0x4f2b8a(0x19f)),defaultRenderSuggestion=__name((_0x3948e9,_0x31a7cf,_0x447ece,_0x165188,_0x554589)=>{var _0x373f10=_0x4f2b8a,_0x40697d,_0xe5b1a1;const _0x3df767=(_0x40697d=_0x3948e9[_0x373f10(0x13f)])==null?void 0x0:_0x40697d[_0x373f10(0x188)];return _0x37a111[_0x373f10(0x139)](_0x373f10(0x1b2),{'className':styles$2[_0x373f10(0x146)]},_0x3df767?_0x37a111[_0x373f10(0x139)](_0x373f10(0x209),{'className':styles$2['threadCommentEditorSuggestionIcon'],'src':_0x3df767}):null,_0x37a111[_0x373f10(0x139)](_0x373f10(0x1b2),null,(_0xe5b1a1=_0x3948e9[_0x373f10(0x150)])!=null?_0xe5b1a1:_0x3948e9['id']));},_0x4f2b8a(0x1bb)),ThreadCommentEditor=forwardRef((_0x44deed,_0x447e04)=>{var _0x5806a8=_0x4f2b8a,_0x342d06,_0x28df8c;const {comment:_0x5db6a7,onSave:_0x430bc2,id:_0x5d82b6,onCancel:_0x406156,autoFocus:_0x310881,unitId:_0x5d0c1d,subUnitId:_0x5b52be}=_0x44deed,_0x359246=useDependency(IThreadCommentMentionDataService),_0x5ca59d=useDependency(ICommandService),_0xa80d05=useDependency(LocaleService),[_0x25c97e,_0x1d7396]=useState({..._0x5db6a7}),[_0x4c845f,_0x45c8a9]=useState(!0x1),_0x1f7aba=useRef(null),_0x1a1d2b=useDependency(DocSelectionManagerService),_0x307bda=(_0x342d06=useDependency(IRenderManagerService)[_0x5806a8(0x222)](UniverInstanceType[_0x5806a8(0x144)]))==null?void 0x0:_0x342d06[_0x5806a8(0x21a)](DocSelectionRenderService);useImperativeHandle(_0x447e04,()=>({'reply'(_0xd68420){var _0x358bff=_0x5806a8,_0x47b38f;_0x1d7396({..._0x5db6a7,'text':_0xd68420,'attachments':[]}),(_0x47b38f=_0x1f7aba['current'])==null||_0x47b38f[_0x358bff(0x1c8)][_0x358bff(0x1c3)]();}}));const _0x2ae35d=__name(()=>{var _0x539504=_0x5806a8,_0x431c63;_0x25c97e[_0x539504(0x1df)]&&(_0x430bc2==null||_0x430bc2({..._0x25c97e,'text':_0x25c97e[_0x539504(0x1df)]}),_0x45c8a9(!0x1),_0x1d7396({'text':void 0x0}),(_0x431c63=_0x1f7aba[_0x539504(0x187)])==null||_0x431c63[_0x539504(0x1c8)][_0x539504(0x1b8)]());},_0x5806a8(0x170));return _0x37a111['createElement'](_0x5806a8(0x1b2),{'className':styles$2[_0x5806a8(0x14a)],'onClick':__name(_0x3403dd=>_0x3403dd[_0x5806a8(0x1cc)](),_0x5806a8(0x169))},_0x37a111['createElement'](Mentions,{'ref':_0x1f7aba,'autoFocus':_0x310881,'style':{'width':'100%'},'placeholder':_0xa80d05['t'](_0x5806a8(0x137)),'value':_0x25c97e!=null&&_0x25c97e[_0x5806a8(0x1df)]?transformTextNode2Text(transformDocument2TextNodes(_0x25c97e[_0x5806a8(0x1df)])):'','onChange':__name(_0x48f312=>{var _0x4f7053=_0x5806a8;_0x48f312[_0x4f7053(0x1ef)][_0x4f7053(0x184)]||_0x1d7396({..._0x5db6a7,'text':void 0x0}),_0x1d7396==null||_0x1d7396({..._0x5db6a7,'text':transformTextNodes2Document(parseMentions(_0x48f312['target'][_0x4f7053(0x184)]))});},_0x5806a8(0x157)),'onFocus':__name(()=>{var _0x4ddf1c=_0x5806a8;const _0x41ddd5=_0x1a1d2b[_0x4ddf1c(0x1e8)]();_0x41ddd5&&_0x41ddd5[_0x4ddf1c(0x18d)]&&(_0x307bda==null||_0x307bda[_0x4ddf1c(0x142)]()),_0x307bda==null||_0x307bda['blur'](),_0x45c8a9(!0x0);},_0x5806a8(0x1ff))},_0x37a111[_0x5806a8(0x139)](Mention,{'key':_0x359246['trigger'],'trigger':_0x359246['trigger'],'data':__name((_0x59c709,_0xc96527)=>_0x359246[_0x5806a8(0x1dc)](_0x59c709,_0x5d0c1d,_0x5b52be)[_0x5806a8(0x168)](_0x58b38c=>_0x58b38c[_0x5806a8(0x1a8)](transformMention))[_0x5806a8(0x168)](_0xc96527),_0x5806a8(0x134)),'displayTransform':__name((_0x1fa1fd,_0x52fba6)=>'@'+_0x52fba6+'\x20','displayTransform'),'renderSuggestion':(_0x28df8c=_0x359246[_0x5806a8(0x147)])!=null?_0x28df8c:defaultRenderSuggestion})),_0x4c845f?_0x37a111[_0x5806a8(0x139)]('div',{'className':styles$2['threadCommentEditorButtons']},_0x37a111['createElement'](Button,{'style':{'marginRight':0xc},'onClick':__name(()=>{var _0x3bb97b=_0x5806a8;_0x406156==null||_0x406156(),_0x45c8a9(!0x1),_0x1d7396({'text':void 0x0}),_0x5ca59d[_0x3bb97b(0x17c)](SetActiveCommentOperation['id']);},'onClick')},_0xa80d05['t'](_0x5806a8(0x22a))),_0x37a111[_0x5806a8(0x139)](Button,{'type':_0x5806a8(0x23b),'disabled':!_0x25c97e[_0x5806a8(0x1df)],'onClick':_0x2ae35d},_0xa80d05['t'](_0x5d82b6?_0x5806a8(0x196):_0x5806a8(0x22b)))):null);}),threadComment$1=_0x4f2b8a(0x1ec),threadCommentActive=_0x4f2b8a(0x194),threadCommentContent=_0x4f2b8a(0x232),threadCommentHighlight='univer-thread-comment-highlight',threadCommentIconContainer=_0x4f2b8a(0x214),threadCommentIcon='univer-thread-comment-icon',threadCommentTitle=_0x4f2b8a(0x1ea),threadCommentTitlePosition=_0x4f2b8a(0x19a),threadCommentTitleHighlight=_0x4f2b8a(0x21f),threadCommentTitlePositionText=_0x4f2b8a(0x23c),threadCommentUsername='univer-thread-comment-username',threadCommentItem='univer-thread-comment-item',threadCommentItemHead=_0x4f2b8a(0x244),threadCommentItemTitle='univer-thread-comment-item-title',threadCommentItemTitlePosition=_0x4f2b8a(0x180),threadCommentItemTitleHighlight=_0x4f2b8a(0x242),threadCommentItemTime='univer-thread-comment-item-time',threadCommentItemContent=_0x4f2b8a(0x204),threadCommentItemAt=_0x4f2b8a(0x1d7),styles$1={'threadComment':threadComment$1,'threadCommentActive':threadCommentActive,'threadCommentContent':threadCommentContent,'threadCommentHighlight':threadCommentHighlight,'threadCommentIconContainer':threadCommentIconContainer,'threadCommentIcon':threadCommentIcon,'threadCommentTitle':threadCommentTitle,'threadCommentTitlePosition':threadCommentTitlePosition,'threadCommentTitleHighlight':threadCommentTitleHighlight,'threadCommentTitlePositionText':threadCommentTitlePositionText,'threadCommentUsername':threadCommentUsername,'threadCommentItem':threadCommentItem,'threadCommentItemHead':threadCommentItemHead,'threadCommentItemTitle':threadCommentItemTitle,'threadCommentItemTitlePosition':threadCommentItemTitlePosition,'threadCommentItemTitleHighlight':threadCommentItemTitleHighlight,'threadCommentItemTime':threadCommentItemTime,'threadCommentItemContent':threadCommentItemContent,'threadCommentItemAt':threadCommentItemAt},MOCK_ID=_0x4f2b8a(0x1f8),ThreadCommentItem=__name(_0x56b0f5=>{var _0x5f147f=_0x4f2b8a;const {item:_0x3a4470,unitId:_0xa08781,subUnitId:_0x4aa57e,editing:_0x230167,onEditingChange:_0x4ebb82,onReply:_0x2fcd51,resolved:_0x3fbfe3,isRoot:_0x309abe,onClose:_0x3c5596,onDeleteComment:_0x274c80}=_0x56b0f5,_0xd95989=useDependency(ICommandService),_0x1cadd2=useDependency(LocaleService),_0x5d2dae=useDependency(UserManagerService),_0x4a14e4=_0x5d2dae[_0x5f147f(0x1f0)](_0x3a4470[_0x5f147f(0x1a4)]),_0x52b844=useObservable(_0x5d2dae[_0x5f147f(0x200)]),_0x4063b1=(_0x52b844==null?void 0x0:_0x52b844[_0x5f147f(0x212)])===_0x3a4470[_0x5f147f(0x1a4)],_0xb46d13=_0x3a4470['id']===MOCK_ID,[_0xc3f93d,_0x82ac8e]=useState(!0x1),_0x2eae51=__name(()=>{(_0x274c80==null?void 0x0:_0x274c80(_0x3a4470))!==!0x1&&(_0xd95989['executeCommand'](_0x309abe?DeleteCommentTreeCommand['id']:DeleteCommentCommand['id'],{'unitId':_0xa08781,'subUnitId':_0x4aa57e,'commentId':_0x3a4470['id']}),_0x309abe&&(_0x3c5596==null||_0x3c5596()));},_0x5f147f(0x162));return _0x37a111[_0x5f147f(0x139)]('div',{'className':styles$1[_0x5f147f(0x1c0)],'onMouseLeave':__name(()=>_0x82ac8e(!0x1),_0x5f147f(0x17b)),'onMouseEnter':__name(()=>_0x82ac8e(!0x0),'onMouseEnter')},_0x37a111[_0x5f147f(0x139)](_0x5f147f(0x209),{'className':styles$1['threadCommentItemHead'],'src':_0x4a14e4==null?void 0x0:_0x4a14e4[_0x5f147f(0x13c)]}),_0x37a111[_0x5f147f(0x139)]('div',{'className':styles$1[_0x5f147f(0x1b4)]},_0x37a111[_0x5f147f(0x139)](_0x5f147f(0x1b2),{'className':styles$1[_0x5f147f(0x224)]},(_0x4a14e4==null?void 0x0:_0x4a14e4['name'])||'\x20'),_0x37a111[_0x5f147f(0x139)](_0x5f147f(0x1b2),null,_0xb46d13||_0x3fbfe3?null:_0xc3f93d?_0x37a111['createElement'](_0x5f147f(0x1b2),{'className':styles$1[_0x5f147f(0x1e5)],'onClick':__name(()=>_0x2fcd51(_0x4a14e4),_0x5f147f(0x169))},_0x37a111['createElement'](ReplyToCommentSingle,null)):null,_0x4063b1&&!_0xb46d13&&!_0x3fbfe3?_0x37a111['createElement'](Dropdown,{'overlay':_0x37a111[_0x5f147f(0x139)](Menu,null,_0x37a111[_0x5f147f(0x139)](MenuItem,{'key':'edit','onClick':__name(()=>_0x4ebb82==null?void 0x0:_0x4ebb82(!0x0),_0x5f147f(0x169))},_0x1cadd2['t'](_0x5f147f(0x15c))),_0x37a111[_0x5f147f(0x139)](MenuItem,{'key':_0x5f147f(0x1d8),'onClick':_0x2eae51},_0x1cadd2['t'](_0x5f147f(0x1de))))},_0x37a111[_0x5f147f(0x139)](_0x5f147f(0x1b2),{'className':styles$1[_0x5f147f(0x1e5)]},_0x37a111['createElement'](MoreHorizontalSingle,null))):null)),_0x37a111[_0x5f147f(0x139)](_0x5f147f(0x1b2),{'className':styles$1[_0x5f147f(0x15b)]},_0x3a4470['dT']),_0x230167?_0x37a111[_0x5f147f(0x139)](ThreadCommentEditor,{'id':_0x3a4470['id'],'comment':_0x3a4470,'onCancel':__name(()=>_0x4ebb82==null?void 0x0:_0x4ebb82(!0x1),_0x5f147f(0x14e)),'autoFocus':!0x0,'unitId':_0xa08781,'subUnitId':_0x4aa57e,'onSave':__name(({text:_0x440662,attachments:_0x5536be})=>{var _0x372894=_0x5f147f;_0x4ebb82==null||_0x4ebb82(!0x1),_0xd95989[_0x372894(0x17c)](UpdateCommentCommand['id'],{'unitId':_0xa08781,'subUnitId':_0x4aa57e,'payload':{'commentId':_0x3a4470['id'],'text':_0x440662,'attachments':_0x5536be}});},'onSave')}):_0x37a111[_0x5f147f(0x139)](_0x5f147f(0x1b2),{'className':styles$1[_0x5f147f(0x1f4)]},transformDocument2TextNodes(_0x3a4470[_0x5f147f(0x1df)])['map']((_0x3fe5cd,_0x23e2bc)=>{var _0x49f3cd=_0x5f147f;switch(_0x3fe5cd['type']){case _0x49f3cd(0x1d2):return _0x37a111[_0x49f3cd(0x139)]('a',{'className':styles$1[_0x49f3cd(0x199)],'key':_0x23e2bc},'@',_0x3fe5cd[_0x49f3cd(0x22e)][_0x49f3cd(0x186)],'\x20');default:return _0x3fe5cd[_0x49f3cd(0x22e)];}})));},_0x4f2b8a(0x183)),ThreadCommentTree=__name(_0x2e6214=>{var _0x12e262=_0x4f2b8a,_0x1c7768,_0x3f390b,_0x583038;const {id:_0x316589,unitId:_0x47babc,subUnitId:_0x55b8a8,refStr:_0x4bd987,showEdit:showEdit=!0x0,onClick:_0x2211ff,showHighlight:_0x34af98,onClose:_0x55f927,getSubUnitName:_0x112515,prefix:_0x5350a0,autoFocus:_0x27b4bd,onMouseEnter:_0xf12936,onMouseLeave:_0x11b693,onAddComment:_0x3e8af8,onDeleteComment:_0x4ccdad,onResolve:_0x2fbeb1}=_0x2e6214,_0x144d90=useDependency(ThreadCommentModel),[_0xf714e2,_0x1e45b9]=useState(!0x1),[_0x106aff,_0x3419b9]=useState('');useObservable(_0x144d90[_0x12e262(0x161)]);const _0x379511=_0x316589?_0x144d90[_0x12e262(0x1d3)](_0x47babc,_0x55b8a8,_0x316589):null,_0x2b5ffd=useDependency(ICommandService),_0x70e86=useDependency(UserManagerService),_0x1be5fe=_0x379511==null?void 0x0:_0x379511[_0x12e262(0x234)]['resolved'],_0x3b3658=useObservable(_0x70e86[_0x12e262(0x200)]),_0x230594=useRef(null),_0x5df251=[..._0x379511?[_0x379511['root']]:[{'id':MOCK_ID,'text':{'dataStream':'\x0a\x0d'},'personId':(_0x1c7768=_0x3b3658==null?void 0x0:_0x3b3658[_0x12e262(0x212)])!=null?_0x1c7768:'','ref':_0x4bd987!=null?_0x4bd987:'','dT':'','unitId':_0x47babc,'subUnitId':_0x55b8a8,'threadId':''}],...(_0x3f390b=_0x379511==null?void 0x0:_0x379511[_0x12e262(0x223)])!=null?_0x3f390b:[]],_0x422de3=useRef(null),_0x18f492=__name(_0xddbc0=>{var _0x5dca0b=_0x12e262;_0xddbc0['stopPropagation'](),_0x1be5fe?_0x2b5ffd[_0x5dca0b(0x17c)](SetActiveCommentOperation['id'],{'unitId':_0x47babc,'subUnitId':_0x55b8a8,'commentId':_0x316589}):_0x2b5ffd[_0x5dca0b(0x17c)](SetActiveCommentOperation['id']),_0x2b5ffd['executeCommand'](ResolveCommentCommand['id'],{'unitId':_0x47babc,'subUnitId':_0x55b8a8,'commentId':_0x316589,'resolved':!_0x1be5fe}),_0x2fbeb1==null||_0x2fbeb1(!_0x1be5fe);},_0x12e262(0x198)),_0x3eaf64=__name(_0xf500=>{var _0x38e9ee=_0x12e262;_0xf500['stopPropagation'](),_0x2b5ffd[_0x38e9ee(0x17c)](SetActiveCommentOperation['id']),!(_0x379511!=null&&_0x379511[_0x38e9ee(0x234)]&&(_0x4ccdad==null?void 0x0:_0x4ccdad(_0x379511[_0x38e9ee(0x234)]))===!0x1)&&(_0x2b5ffd[_0x38e9ee(0x17c)](DeleteCommentTreeCommand['id'],{'unitId':_0x47babc,'subUnitId':_0x55b8a8,'commentId':_0x316589}),_0x55f927==null||_0x55f927());},_0x12e262(0x1cb));useEffect(()=>_0x11b693==null?void 0x0:_0x11b693(),[]);const _0x1ab218=_0x112515((_0x583038=_0x379511==null?void 0x0:_0x379511[_0x12e262(0x234)]['subUnitId'])!=null?_0x583038:_0x55b8a8),_0x40b860=showEdit&&!_0x106aff&&!_0x1be5fe,_0x311551=''+(_0x4bd987||(_0x379511==null?void 0x0:_0x379511[_0x12e262(0x234)][_0x12e262(0x171)])||'')+(_0x1ab218?'\x20·\x20':'')+_0x1ab218;return _0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':_0x1494ab(styles$1[_0x12e262(0x1ad)],{[styles$1[_0x12e262(0x160)]]:!_0x1be5fe&&(_0x34af98||_0xf714e2||_0x5350a0===_0x12e262(0x1dd))}),'onClick':_0x2211ff,'id':_0x5350a0+'-'+_0x47babc+'-'+_0x55b8a8+'-'+_0x316589,'onMouseEnter':__name(()=>{_0xf12936==null||_0xf12936(),_0x1e45b9(!0x0);},_0x12e262(0x23f)),'onMouseLeave':__name(()=>{_0x11b693==null||_0x11b693(),_0x1e45b9(!0x1);},_0x12e262(0x17b))},!_0x1be5fe&&_0x34af98?_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1[_0x12e262(0x1d9)]}):null,_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1[_0x12e262(0x21d)]},_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1[_0x12e262(0x20f)]},_0x37a111[_0x12e262(0x139)]('div',{'className':styles$1['threadCommentTitleHighlight']}),_0x37a111['createElement'](Tooltip,{'showIfEllipsis':!0x0,'title':_0x311551},_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1[_0x12e262(0x138)]},_0x311551))),_0x379511?_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1[_0x12e262(0x229)]},_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'onClick':_0x18f492,'className':styles$1[_0x12e262(0x1e5)],'style':{'color':_0x1be5fe?_0x12e262(0x177):''}},_0x1be5fe?_0x37a111[_0x12e262(0x139)](ResolvedSingle,null):_0x37a111['createElement'](SolveSingle,null)),(_0x3b3658==null?void 0x0:_0x3b3658[_0x12e262(0x212)])===_0x379511[_0x12e262(0x234)]['personId']?_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1['threadCommentIcon'],'onClick':_0x3eaf64},_0x37a111['createElement'](DeleteSingle,null)):null):null),_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),{'className':styles$1[_0x12e262(0x185)],'ref':_0x422de3},_0x5df251['map'](_0x132912=>_0x37a111['createElement'](ThreadCommentItem,{'onClose':_0x55f927,'unitId':_0x47babc,'subUnitId':_0x55b8a8,'item':_0x132912,'key':_0x132912['id'],'isRoot':_0x132912['id']===(_0x379511==null?void 0x0:_0x379511[_0x12e262(0x234)]['id']),'editing':_0x106aff===_0x132912['id'],'resolved':_0x379511==null?void 0x0:_0x379511[_0x12e262(0x234)][_0x12e262(0x166)],'onEditingChange':__name(_0x4e81c1=>{_0x3419b9(_0x4e81c1?_0x132912['id']:'');},_0x12e262(0x19b)),'onReply':__name(_0x19fe5d=>{_0x19fe5d&&requestAnimationFrame(()=>{var _0x13dd8f=_0x1d3e,_0x29e94d;(_0x29e94d=_0x230594['current'])==null||_0x29e94d[_0x13dd8f(0x1f6)](transformTextNodes2Document([{'type':_0x13dd8f(0x1d2),'content':{'id':_0x19fe5d[_0x13dd8f(0x212)],'label':_0x19fe5d['name']}}]));});},'onReply'),'onAddComment':_0x3e8af8,'onDeleteComment':_0x4ccdad}))),_0x40b860?_0x37a111[_0x12e262(0x139)](_0x12e262(0x1b2),null,_0x37a111[_0x12e262(0x139)](ThreadCommentEditor,{'key':''+_0x27b4bd,'ref':_0x230594,'unitId':_0x47babc,'subUnitId':_0x55b8a8,'onSave':__name(async({text:_0x30dc47,attachments:_0x1831d0})=>{var _0x29ecdb=_0x12e262;const _0x224aa7={'text':_0x30dc47,'attachments':_0x1831d0,'dT':getDT(),'id':generateRandomId(),'ref':_0x4bd987,'personId':_0x3b3658==null?void 0x0:_0x3b3658[_0x29ecdb(0x212)],'parentId':_0x379511==null?void 0x0:_0x379511[_0x29ecdb(0x234)]['id'],'unitId':_0x47babc,'subUnitId':_0x55b8a8,'threadId':_0x379511==null?void 0x0:_0x379511[_0x29ecdb(0x234)][_0x29ecdb(0x1c1)]};(_0x3e8af8==null?void 0x0:_0x3e8af8(_0x224aa7))!==!0x1&&(await _0x2b5ffd['executeCommand'](AddCommentCommand['id'],{'unitId':_0x47babc,'subUnitId':_0x55b8a8,'comment':_0x224aa7}),_0x422de3['current']&&(_0x422de3[_0x29ecdb(0x187)][_0x29ecdb(0x240)]=_0x422de3[_0x29ecdb(0x187)]['scrollHeight']));},'onSave'),'autoFocus':_0x27b4bd||!_0x379511,'onCancel':__name(()=>{_0x379511||_0x55f927==null||_0x55f927();},_0x12e262(0x14e))})):null);},_0x4f2b8a(0x1a5)),threadCommentPanel=_0x4f2b8a(0x167),threadComment='univer-thread-comment',threadCommentPanelForms=_0x4f2b8a(0x237),select=_0x4f2b8a(0x195),threadCommentPanelEmpty=_0x4f2b8a(0x238),threadCommentPanelAdd='univer-thread-comment-panel-add',threadCommentPanelSolved=_0x4f2b8a(0x1af),styles={'threadCommentPanel':threadCommentPanel,'threadComment':threadComment,'threadCommentPanelForms':threadCommentPanelForms,'select':select,'threadCommentPanelEmpty':threadCommentPanelEmpty,'threadCommentPanelAdd':threadCommentPanelAdd,'threadCommentPanelSolved':threadCommentPanelSolved},ThreadCommentPanel=__name(_0x180f17=>{var _0x262c33=_0x4f2b8a;const {unitId:_0x4bb1a2,subUnitId$:_0x306993,type:_0x296d18,onAdd:_0x3cb9e4,getSubUnitName:_0x14f493,onResolve:_0x53e1cb,sortComments:_0x5b71e0,onItemLeave:_0xf6e5eb,onItemEnter:_0x168bc6,disableAdd:_0x4733e3,tempComment:_0x121f8e,onAddComment:_0x1c4506,onDeleteComment:_0x449229,showComments:_0x2aed52}=_0x180f17,[_0x8ce7da,_0x532701]=useState('all'),[_0x57a738,_0x475506]=useState(_0x262c33(0x18c)),_0x118612=useDependency(LocaleService),_0x9ec09d=useDependency(UserManagerService),_0x78162a=useDependency(ThreadCommentModel),[_0xb319ff,_0x5f5291]=useState(()=>_0x78162a[_0x262c33(0x14b)](_0x4bb1a2)),_0x98a44b=useDependency(ThreadCommentPanelService),_0x2a946f=useObservable(_0x98a44b[_0x262c33(0x228)]),_0x396e1b=useObservable(_0x78162a['commentUpdate$']),_0x5a4de8=useDependency(ICommandService),_0x3671ba=useObservable(_0x306993),_0x372f6d=useRef(!0x0),_0x2b743b=_0x262c33(0x23a),_0x1b6842=useObservable(_0x9ec09d['currentUser$']),_0xb864db=useMemo(()=>{var _0x23f370=_0x262c33,_0x457083,_0x279832;const _0x1794d3=(_0x8ce7da===_0x23f370(0x18c)?_0xb319ff['map'](_0x492a61=>_0x492a61[0x1])[_0x23f370(0x1e2)]():(_0x279832=(_0x457083=_0xb319ff['find'](_0x11c18b=>_0x11c18b[0x0]===_0x3671ba))==null?void 0x0:_0x457083[0x1])!=null?_0x279832:[])['filter'](_0x2736a5=>!_0x2736a5['parentId']),_0x2be986=_0x5b71e0!=null?_0x5b71e0:_0x50cd1a=>_0x50cd1a,_0x43a771=_0x1794d3;if(_0x2aed52){const _0x4cbb03=new Map();return _0x43a771[_0x23f370(0x16c)](_0x2fa95b=>{var _0x1d9fd9=_0x23f370;_0x4cbb03[_0x1d9fd9(0x145)](_0x2fa95b['id'],_0x2fa95b);}),[..._0x2aed52,''][_0x23f370(0x1a8)](_0x32a56f=>_0x4cbb03[_0x23f370(0x20e)](_0x32a56f))[_0x23f370(0x1b6)](Boolean);}else return _0x2be986(_0x43a771);},[_0x2aed52,_0x8ce7da,_0xb319ff,_0x5b71e0,_0x3671ba]),_0x344094=useMemo(()=>[..._0xb864db[_0x262c33(0x1b6)](_0x2b2699=>!_0x2b2699['resolved']),..._0xb864db[_0x262c33(0x1b6)](_0x1b15ab=>_0x1b15ab[_0x262c33(0x166)])],[_0xb864db]),_0x3bd3b3=useMemo(()=>_0x57a738==='resolved'?_0x344094[_0x262c33(0x1b6)](_0x192e0e=>_0x192e0e[_0x262c33(0x166)]):_0x57a738===_0x262c33(0x213)?_0x344094[_0x262c33(0x1b6)](_0x44e348=>!_0x44e348[_0x262c33(0x166)]):_0x57a738===_0x262c33(0x141)&&_0x1b6842!=null&&_0x1b6842[_0x262c33(0x212)]?_0x344094[_0x262c33(0x1a8)](_0x25eac2=>_0x78162a[_0x262c33(0x1d3)](_0x25eac2['unitId'],_0x25eac2[_0x262c33(0x1c5)],_0x25eac2['id']))[_0x262c33(0x1a8)](_0x1690ac=>_0x1690ac!=null&&_0x1690ac['relativeUsers'][_0x262c33(0x1ca)](_0x1b6842[_0x262c33(0x212)])?_0x1690ac['root']:null)[_0x262c33(0x1b6)](Boolean):_0x344094,[_0x344094,_0x1b6842==null?void 0x0:_0x1b6842[_0x262c33(0x212)],_0x57a738,_0x78162a]),_0x1dac90=_0x121f8e?[_0x121f8e,..._0x3bd3b3]:_0x3bd3b3,_0x175226=_0x1dac90[_0x262c33(0x1b6)](_0x1c9326=>!_0x1c9326['resolved']),_0x131f4d=_0x1dac90[_0x262c33(0x1b6)](_0x2752e3=>_0x2752e3['resolved']),_0x14cabb=_0x57a738!==_0x262c33(0x18c)||_0x8ce7da!==_0x262c33(0x18c),_0x1bb14c=__name(()=>{var _0x3fbddc=_0x262c33;_0x475506(_0x3fbddc(0x18c)),_0x532701(_0x3fbddc(0x18c));},_0x262c33(0x1a7));useEffect(()=>{var _0x54e61f=_0x262c33;_0x4bb1a2&&_0x5f5291(_0x78162a[_0x54e61f(0x14b)](_0x4bb1a2));},[_0x4bb1a2,_0x78162a,_0x396e1b]),useEffect(()=>{var _0x33d9ed=_0x262c33,_0x11ba59;if(!_0x2a946f)return;if(!_0x372f6d[_0x33d9ed(0x187)]){_0x372f6d['current']=!0x0;return;}const {unitId:_0x40571a,subUnitId:_0x4c4a6e,commentId:_0xba9e62}=_0x2a946f,_0x3054b5=_0x2b743b+'-'+_0x40571a+'-'+_0x4c4a6e+'-'+_0xba9e62;(_0x11ba59=document[_0x33d9ed(0x14f)](_0x3054b5))==null||_0x11ba59['scrollIntoView']({'block':_0x33d9ed(0x21b)});},[_0x2a946f]);const _0x835ab4=__name(_0x325652=>_0x37a111[_0x262c33(0x139)](ThreadCommentTree,{'prefix':_0x2b743b,'getSubUnitName':_0x14f493,'key':_0x325652['id'],'id':_0x325652['id'],'unitId':_0x325652[_0x262c33(0x158)],'subUnitId':_0x325652[_0x262c33(0x1c5)],'refStr':_0x325652['ref'],'type':_0x296d18,'showEdit':(_0x2a946f==null?void 0x0:_0x2a946f[_0x262c33(0x1f3)])===_0x325652['id'],'showHighlight':(_0x2a946f==null?void 0x0:_0x2a946f[_0x262c33(0x1f3)])===_0x325652['id'],'onClick':__name(()=>{var _0x5d990e=_0x262c33;_0x372f6d[_0x5d990e(0x187)]=!0x1,_0x325652[_0x5d990e(0x166)]?_0x5a4de8[_0x5d990e(0x17c)](SetActiveCommentOperation['id']):_0x5a4de8[_0x5d990e(0x17c)](SetActiveCommentOperation['id'],{'unitId':_0x325652['unitId'],'subUnitId':_0x325652[_0x5d990e(0x1c5)],'commentId':_0x325652['id'],'temp':!0x1});},_0x262c33(0x169)),'onMouseEnter':__name(()=>_0x168bc6==null?void 0x0:_0x168bc6(_0x325652),_0x262c33(0x23f)),'onMouseLeave':__name(()=>_0xf6e5eb==null?void 0x0:_0xf6e5eb(_0x325652),_0x262c33(0x17b)),'onAddComment':_0x1c4506,'onDeleteComment':_0x449229,'onResolve':__name(_0x2ef94=>_0x53e1cb==null?void 0x0:_0x53e1cb(_0x325652['id'],_0x2ef94),_0x262c33(0x1d5))}),_0x262c33(0x1ac));return _0x37a111[_0x262c33(0x139)](_0x262c33(0x1b2),{'className':styles[_0x262c33(0x1e1)]},_0x37a111[_0x262c33(0x139)](_0x262c33(0x1b2),{'className':styles['threadCommentPanelForms']},_0x296d18===UniverInstanceType[_0x262c33(0x159)]?_0x37a111[_0x262c33(0x139)](Select,{'borderless':!0x0,'value':_0x8ce7da,'onChange':__name(_0x34e91e=>_0x532701(_0x34e91e),_0x262c33(0x157)),'options':[{'value':_0x262c33(0x187),'label':_0x118612['t'](_0x262c33(0x246))},{'value':_0x262c33(0x18c),'label':_0x118612['t'](_0x262c33(0x197))}]}):null,_0x37a111['createElement'](Select,{'borderless':!0x0,'value':_0x57a738,'onChange':__name(_0x735846=>_0x475506(_0x735846),_0x262c33(0x157)),'options':[{'value':_0x262c33(0x18c),'label':_0x118612['t'](_0x262c33(0x1e3))},{'value':'resolved','label':_0x118612['t'](_0x262c33(0x16b))},{'value':_0x262c33(0x213),'label':_0x118612['t'](_0x262c33(0x241))},{'value':_0x262c33(0x141),'label':_0x118612['t'](_0x262c33(0x1a0))}]})),_0x175226[_0x262c33(0x1a8)](_0x835ab4),_0x131f4d[_0x262c33(0x151)]?_0x37a111[_0x262c33(0x139)](_0x262c33(0x1b2),{'className':styles[_0x262c33(0x235)]},_0x262c33(0x216)):null,_0x131f4d['map'](_0x835ab4),_0x1dac90[_0x262c33(0x151)]?null:_0x37a111[_0x262c33(0x139)]('div',{'className':styles[_0x262c33(0x14d)]},_0x14cabb?_0x118612['t'](_0x262c33(0x202)):_0x118612['t'](_0x262c33(0x1b0)),_0x14cabb?_0x37a111[_0x262c33(0x139)](Button,{'onClick':_0x1bb14c,'type':'link'},_0x118612['t'](_0x262c33(0x208))):_0x37a111['createElement'](Button,{'id':_0x262c33(0x20a),'className':styles[_0x262c33(0x193)],'type':'primary','onClick':_0x3cb9e4,'disabled':_0x4733e3},_0x37a111[_0x262c33(0x139)](IncreaseSingle,null),_0x118612['t'](_0x262c33(0x236)))));},_0x4f2b8a(0x182));export{IThreadCommentMentionDataService,SetActiveCommentOperation,THREAD_COMMENT_PANEL,ThreadCommentPanel,ThreadCommentPanelService,ThreadCommentTree,ToggleSheetCommentPanelOperation,UniverThreadCommentUIPlugin,getDT};
|