@univerjs/thread-comment-ui 0.8.0-beta.0 → 0.8.0-nightly.202505271607
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 +4 -9
- package/lib/es/index.js +350 -358
- package/lib/index.js +350 -358
- package/lib/umd/index.js +4 -9
- package/package.json +7 -7
- package/LICENSE +0 -176
package/lib/cjs/index.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
"use strict";var ye=Object.defineProperty;var Se=(n,e,t)=>e in n?ye(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var K=(n,e,t)=>Se(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@univerjs/core"),B=require("@univerjs/thread-comment"),f=require("@univerjs/ui"),re=require("rxjs"),s=require("react/jsx-runtime"),H=require("@univerjs/design"),l=require("react"),ie=require("@univerjs/docs-ui");var _e=Object.getOwnPropertyDescriptor,je=(n,e,t,r)=>{for(var i=r>1?void 0:r?_e(e,t):e,a=n.length-1,c;a>=0;a--)(c=n[a])&&(i=c(i)||i);return i},ae=(n,e)=>(t,r)=>e(t,r,n);exports.ThreadCommentPanelService=class extends u.Disposable{constructor(t,r){super();K(this,"_panelVisible",!1);K(this,"_panelVisible$",new re.BehaviorSubject(!1));K(this,"_activeCommentId");K(this,"_activeCommentId$",new re.BehaviorSubject(void 0));K(this,"panelVisible$",this._panelVisible$.asObservable());K(this,"activeCommentId$",this._activeCommentId$.asObservable());this._sidebarService=t,this._univerInstanceService=r,this._init(),this.disposeWithMe(()=>{this._activeCommentId$.complete(),this._panelVisible$.complete()})}_init(){this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(t=>{t.visible||this.setPanelVisible(!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(u.UniverInstanceType.UNIVER_SHEET).pipe(re.filter(t=>!t)).subscribe(()=>{this._sidebarService.close()}))}get panelVisible(){return this._panelVisible}get activeCommentId(){return this._activeCommentId}setPanelVisible(t){this._panelVisible=t,this._panelVisible$.next(t)}setActiveComment(t){this._activeCommentId=t,this._activeCommentId$.next(t)}};exports.ThreadCommentPanelService=je([ae(0,u.Inject(f.ISidebarService)),ae(1,u.IUniverInstanceService)],exports.ThreadCommentPanelService);const de="thread-comment-panel",Ne="UNIVER_THREAD_COMMENT_UI_PLUGIN",ue={id:"thread-comment-ui.operation.toggle-panel",type:u.CommandType.OPERATION,handler(n){const e=n.get(f.ISidebarService),t=n.get(exports.ThreadCommentPanelService);return t.panelVisible?(e.close(),t.setPanelVisible(!1)):(e.open({header:{title:"threadCommentUI.panel.title"},children:{label:de},width:330}),t.setPanelVisible(!0)),!0}},F={id:"thread-comment-ui.operation.set-active-comment",type:u.CommandType.OPERATION,handler(n,e){return n.get(exports.ThreadCommentPanelService).setActiveComment(e),!0}},Te="thread-comment-ui.config",oe={};var we=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Oe=(n,e,t)=>e in n?we(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Ee=(n,e,t,r)=>{for(var i=r>1?void 0:r?Ue(e,t):e,a=n.length-1,c;a>=0;a--)(c=n[a])&&(i=c(i)||i);return i},se=(n,e)=>(t,r)=>e(t,r,n),ce=(n,e,t)=>Oe(n,typeof e!="symbol"?e+"":e,t);exports.UniverThreadCommentUIPlugin=class extends u.Plugin{constructor(e=oe,t,r,i){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=i;const{menu:a,...c}=u.merge({},oe,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(Te,c)}onStarting(){var e;u.mergeOverrideWithDependencies([[exports.ThreadCommentPanelService]],(e=this._config)==null?void 0:e.overrides).forEach(t=>{this._injector.add(t)}),[ue,F].forEach(t=>{this._commandService.registerCommand(t)})}};ce(exports.UniverThreadCommentUIPlugin,"pluginName",Ne);ce(exports.UniverThreadCommentUIPlugin,"type",u.UniverInstanceType.UNIVER_UNKNOWN);exports.UniverThreadCommentUIPlugin=Ee([u.DependentOn(B.UniverThreadCommentPlugin),se(1,u.Inject(u.Injector)),se(2,u.ICommandService),se(3,u.IConfigService)],exports.UniverThreadCommentUIPlugin);var R=function(){return R=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},R.apply(this,arguments)},De=function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(t[r[i]]=n[r[i]]);return t},G=l.forwardRef(function(n,e){var t=n.icon,r=n.id,i=n.className,a=n.extend,c=De(n,["icon","id","className","extend"]),p="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),x=l.useRef("_".concat(Re()));return ve(t,"".concat(r),{defIds:t.defIds,idSuffix:x.current},R({ref:e,className:p},c),a)});function ve(n,e,t,r,i){return l.createElement(n.tag,R(R({key:e},ke(n,t,i)),r),(Me(n,t).children||[]).map(function(a,c){return ve(a,"".concat(e,"-").concat(n.tag,"-").concat(c),t,void 0,i)}))}function ke(n,e,t){var r=R({},n.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1),n.tag==="mask"&&r.id&&(r.id=r.id+e.idSuffix),Object.entries(r).forEach(function(a){var c=a[0],p=a[1];c==="mask"&&typeof p=="string"&&(r[c]=p.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(n.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(function(a){var c=a[0],p=a[1];typeof p=="string"&&(r[c]=p.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function Me(n,e){var t,r=e.defIds;return!r||r.length===0?n:n.tag==="defs"&&(!((t=n.children)===null||t===void 0)&&t.length)?R(R({},n),{children:n.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?R(R({},i),{attrs:R(R({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):n}function Re(){return Math.random().toString(36).substring(2,8)}G.displayName="UniverIcon";var Pe={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"}}]},me=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"delete-single",ref:e,icon:Pe}))});me.displayName="DeleteSingle";var $e={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"}}]},fe=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"increase-single",ref:e,icon:$e}))});fe.displayName="IncreaseSingle";var He={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"}}]},he=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"more-horizontal-single",ref:e,icon:He}))});he.displayName="MoreHorizontalSingle";var Le={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}}]},ge=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"reply-to-comment-single",ref:e,icon:Le}))});ge.displayName="ReplyToCommentSingle";var Ve={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"}}]},pe=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"resolved-single",ref:e,icon:Ve}))});pe.displayName="ResolvedSingle";var Be={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}}]},xe=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"solve-single",ref:e,icon:Be}))});xe.displayName="SolveSingle";function le(n){return{id:"d",body:n,documentStyle:{}}}const Ce=l.forwardRef((n,e)=>{var P;const{comment:t,onSave:r,id:i,onCancel:a,autoFocus:c,unitId:p,type:x}=n,T=f.useDependency(u.ICommandService),U=f.useDependency(u.LocaleService),[A,O]=l.useState(!1),S=f.useDependency(ie.IEditorService),m=l.useRef(null),h=x===u.UniverInstanceType.UNIVER_SHEET?u.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:p,[E,_]=l.useState(()=>{var v,g,C;return u.BuildTextUtils.transform.getPlainText((C=(g=(v=m.current)==null?void 0:v.getDocumentData().body)==null?void 0:g.dataStream)!=null?C:"")});l.useEffect(()=>{var g,C,j,b;_(u.BuildTextUtils.transform.getPlainText((j=(C=(g=m.current)==null?void 0:g.getDocumentData().body)==null?void 0:C.dataStream)!=null?j:""));const v=(b=m.current)==null?void 0:b.selectionChange$.subscribe(()=>{var o,N,q;_(u.BuildTextUtils.transform.getPlainText((q=(N=(o=m.current)==null?void 0:o.getDocumentData().body)==null?void 0:N.dataStream)!=null?q:""))});return()=>v==null?void 0:v.unsubscribe()},[(P=m.current)==null?void 0:P.selectionChange$]);const W=l.useMemo(()=>({keyCodes:[{keyCode:f.KeyCode.ENTER}],handler:v=>{v===f.KeyCode.ENTER&&T.executeCommand(ie.BreakLineCommand.id)}}),[T]);l.useImperativeHandle(e,()=>({reply(v){var C,j;if(!m.current)return;S.focus((C=m.current.getEditorId())!=null?C:"");const g=le(v);(j=m.current)==null||j.setDocumentData(g,[{startOffset:g.body.dataStream.length-2,endOffset:g.body.dataStream.length-2,collapsed:!0}])}}));const I=()=>{if(m.current){const v=u.Tools.deepClone(m.current.getDocumentData().body);O(!1),r==null||r({...t,text:v}),m.current.replaceText(""),setTimeout(()=>{var g,C;(g=m.current)==null||g.setSelectionRanges([]),(C=m.current)==null||C.blur()},10)}};return s.jsxs("div",{onClick:v=>v.preventDefault(),children:[s.jsx(ie.RichTextEditor,{className:"univer-w-full",editorRef:m,autoFocus:c,keyboardEventConfig:W,placeholder:U.t("threadCommentUI.editor.placeholder"),initialValue:(t==null?void 0:t.text)&&le(t.text),onFocusChange:v=>v&&O(v),isSingle:!1,maxHeight:64,onClickOutside:()=>{setTimeout(()=>{S.focus(h)},30)}}),A?s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[s.jsx(H.Button,{onClick:()=>{var v;a==null||a(),O(!1),(v=m.current)==null||v.replaceText("",!0),T.executeCommand(F.id)},children:U.t("threadCommentUI.editor.cancel")}),s.jsx(H.Button,{variant:"primary",disabled:!E,onClick:I,children:U.t(i?"threadCommentUI.editor.save":"threadCommentUI.editor.reply")})]}):null]})}),Ae=n=>{const{dataStream:e,customRanges:t}=n,r=e.endsWith(`\r
|
|
2
|
-
`)?e.length-2:e.length,i=[];let a=0;return t==null||t.forEach(
|
|
3
|
-
`,{textRuns:[],paragraphs:[{startIndex:e.length-2,paragraphStyle:{}}],sectionBreaks:[{startIndex:e.length-1}],dataStream:e,customRanges:t}},
|
|
4
|
-
\r`},personId:(ne=
|
|
5
|
-
univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer
|
|
6
|
-
univer-items-center univer-justify-center univer-rounded-[3px] univer-text-base
|
|
7
|
-
dark:hover:!univer-bg-gray-800
|
|
8
|
-
hover:univer-bg-gray-50
|
|
9
|
-
`,{"univer-text-green-500":D}),onClick:Q,children:D?s.jsx(pe,{}):s.jsx(xe,{})}),(k==null?void 0:k.userID)===o.root.personId?s.jsx("div",{className:"univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-[3px] univer-text-base dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-50",onClick:Y,children:s.jsx(me,{})}):null]})]}),s.jsx("div",{ref:$,className:"univer-max-h-80 univer-overflow-y-auto univer-overflow-x-hidden",children:Z.map(y=>s.jsx(qe,{unitId:t,subUnitId:r,item:y,isRoot:y.id===(o==null?void 0:o.root.id),editing:C===y.id,resolved:o==null?void 0:o.root.resolved,type:_,onClose:x,onEditingChange:M=>{j(M?y.id:"")},onReply:M=>{M&&requestAnimationFrame(()=>{var V;(V=L.current)==null||V.reply(Fe([{type:"mention",content:{id:M.userID,label:`@${M.name}`}},{type:"text",content:" "}]))})},onAddComment:m,onDeleteComment:h},y.id))}),ee&&s.jsx("div",{children:s.jsx(Ce,{ref:L,type:_,unitId:t,subUnitId:r,onSave:async({text:y,attachments:M})=>{const V={text:y,attachments:M,dT:B.getDT(),id:u.generateRandomId(),ref:i,personId:k==null?void 0:k.userID,parentId:o==null?void 0:o.root.id,unitId:t,subUnitId:r,threadId:o==null?void 0:o.root.threadId};(m==null?void 0:m(V))!==!1&&(await N.executeCommand(B.AddCommentCommand.id,{unitId:t,subUnitId:r,comment:V}),$.current&&($.current.scrollTop=$.current.scrollHeight))},autoFocus:A||!o,onCancel:()=>{o||x==null||x()}},`${A}`)})]})},ze=n=>{const{unitId:e,subUnitId$:t,type:r,onAdd:i,getSubUnitName:a,onResolve:c,sortComments:p,onItemLeave:x,onItemEnter:T,disableAdd:U,tempComment:A,onAddComment:O,onDeleteComment:S,showComments:m}=n,[h,E]=l.useState("all"),[_,W]=l.useState("all"),I=f.useDependency(u.LocaleService),P=f.useDependency(u.UserManagerService),v=f.useDependency(B.ThreadCommentModel),[g,C]=l.useState(()=>v.getUnit(e)),j=f.useDependency(exports.ThreadCommentPanelService),b=f.useObservable(j.activeCommentId$),o=f.useObservable(v.commentUpdate$),N=f.useDependency(u.ICommandService),q=f.useObservable(t),D=l.useRef(!0),k="panel",L=f.useObservable(P.currentUser$),Z=l.useMemo(()=>{var V;const d=h==="all"?g:(V=g.filter(w=>w.subUnitId===q))!=null?V:[],y=p!=null?p:w=>w,M=d.map(w=>{var z;return{...w.root,children:(z=w.children)!=null?z:[],users:w.relativeUsers}});if(m){const w=new Map;return M.forEach(z=>{w.set(z.id,z)}),[...m,""].map(z=>w.get(z)).filter(Boolean)}else return y(M)},[m,h,g,p,q]),$=l.useMemo(()=>[...Z.filter(d=>!d.resolved),...Z.filter(d=>d.resolved)],[Z]),Q=l.useMemo(()=>_==="resolved"?$.filter(d=>d.resolved):_==="unsolved"?$.filter(d=>!d.resolved):_==="concern_me"&&L!=null&&L.userID?$.filter(d=>d==null?void 0:d.users.has(L.userID)):$,[$,L==null?void 0:L.userID,_]),Y=A?[A,...Q]:Q,X=Y.filter(d=>!d.resolved),ee=Y.filter(d=>d.resolved),te=_!=="all"||h!=="all",ne=()=>{W("all"),E("all")};l.useEffect(()=>{e&&C(v.getUnit(e))},[e,v,o]),l.useEffect(()=>{var w;if(!b)return;if(!D.current){D.current=!0;return}const{unitId:d,subUnitId:y,commentId:M}=b,V=`${k}-${d}-${y}-${M}`;(w=document.getElementById(V))==null||w.scrollIntoView({block:"center"})},[b]);const J=d=>s.jsx(Ie,{full:!0,prefix:k,getSubUnitName:a,id:d.id,unitId:d.unitId,subUnitId:d.subUnitId,refStr:d.ref,type:r,showEdit:(b==null?void 0:b.commentId)===d.id,showHighlight:(b==null?void 0:b.commentId)===d.id,onClick:()=>{D.current=!1,d.resolved?N.executeCommand(F.id):N.executeCommand(F.id,{unitId:d.unitId,subUnitId:d.subUnitId,commentId:d.id,temp:!1})},onMouseEnter:()=>T==null?void 0:T(d),onMouseLeave:()=>x==null?void 0:x(d),onAddComment:O,onDeleteComment:S,onResolve:y=>c==null?void 0:c(d.id,y)},d.id);return s.jsxs("div",{className:"univer-flex univer-min-h-full univer-flex-col univer-pb-3",children:[s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-between",children:[r===u.UniverInstanceType.UNIVER_SHEET?s.jsx(H.Select,{borderless:!0,value:h,options:[{value:"current",label:I.t("threadCommentUI.filter.sheet.current")},{value:"all",label:I.t("threadCommentUI.filter.sheet.all")}],onChange:E}):null,s.jsx(H.Select,{borderless:!0,value:_,options:[{value:"all",label:I.t("threadCommentUI.filter.status.all")},{value:"resolved",label:I.t("threadCommentUI.filter.status.resolved")},{value:"unsolved",label:I.t("threadCommentUI.filter.status.unsolved")},{value:"concern_me",label:I.t("threadCommentUI.filter.status.concernMe")}],onChange:W})]}),Y.length===0?s.jsxs("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:[I.t("threadCommentUI.panel.empty"),te?s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsx(H.Button,{onClick:ne,children:I.t("threadCommentUI.panel.reset")})}):U?null:s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsxs(H.Button,{onClick:i,children:[s.jsx(fe,{className:"univer-mr-1.5"}),I.t("threadCommentUI.panel.add")]})})]}):s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-col univer-gap-3",children:[X.map(J),ee.length>0&&s.jsx("div",{className:"univer-text-xs",children:I.t("threadCommentUI.panel.solved")}),ee.map(J)]})]})};exports.SetActiveCommentOperation=F;exports.THREAD_COMMENT_PANEL=de;exports.ThreadCommentPanel=ze;exports.ThreadCommentTree=Ie;exports.ToggleSheetCommentPanelOperation=ue;
|
|
1
|
+
"use strict";var ye=Object.defineProperty;var Se=(n,e,t)=>e in n?ye(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var K=(n,e,t)=>Se(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@univerjs/core"),B=require("@univerjs/thread-comment"),f=require("@univerjs/ui"),re=require("rxjs"),s=require("react/jsx-runtime"),L=require("@univerjs/design"),l=require("react"),ie=require("@univerjs/docs-ui");var we=Object.getOwnPropertyDescriptor,_e=(n,e,t,r)=>{for(var i=r>1?void 0:r?we(e,t):e,a=n.length-1,u;a>=0;a--)(u=n[a])&&(i=u(i)||i);return i},ae=(n,e)=>(t,r)=>e(t,r,n);exports.ThreadCommentPanelService=class extends d.Disposable{constructor(t,r){super();K(this,"_panelVisible",!1);K(this,"_panelVisible$",new re.BehaviorSubject(!1));K(this,"_activeCommentId");K(this,"_activeCommentId$",new re.BehaviorSubject(void 0));K(this,"panelVisible$",this._panelVisible$.asObservable());K(this,"activeCommentId$",this._activeCommentId$.asObservable());this._sidebarService=t,this._univerInstanceService=r,this._init(),this.disposeWithMe(()=>{this._activeCommentId$.complete(),this._panelVisible$.complete()})}_init(){this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(t=>{t.visible||this.setPanelVisible(!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(d.UniverInstanceType.UNIVER_SHEET).pipe(re.filter(t=>!t)).subscribe(()=>{this._sidebarService.close()}))}get panelVisible(){return this._panelVisible}get activeCommentId(){return this._activeCommentId}setPanelVisible(t){this._panelVisible=t,this._panelVisible$.next(t)}setActiveComment(t){this._activeCommentId=t,this._activeCommentId$.next(t)}};exports.ThreadCommentPanelService=_e([ae(0,d.Inject(f.ISidebarService)),ae(1,d.IUniverInstanceService)],exports.ThreadCommentPanelService);const ce="thread-comment-panel",je="UNIVER_THREAD_COMMENT_UI_PLUGIN",de={id:"thread-comment-ui.operation.toggle-panel",type:d.CommandType.OPERATION,handler(n){const e=n.get(f.ISidebarService),t=n.get(exports.ThreadCommentPanelService);return t.panelVisible?(e.close(),t.setPanelVisible(!1)):(e.open({header:{title:"threadCommentUI.panel.title"},children:{label:ce},width:330}),t.setPanelVisible(!0)),!0}},Z={id:"thread-comment-ui.operation.set-active-comment",type:d.CommandType.OPERATION,handler(n,e){return n.get(exports.ThreadCommentPanelService).setActiveComment(e),!0}},Ne="thread-comment-ui.config",oe={};var Te=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Oe=(n,e,t)=>e in n?Te(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Ee=(n,e,t,r)=>{for(var i=r>1?void 0:r?Ue(e,t):e,a=n.length-1,u;a>=0;a--)(u=n[a])&&(i=u(i)||i);return i},se=(n,e)=>(t,r)=>e(t,r,n),ue=(n,e,t)=>Oe(n,typeof e!="symbol"?e+"":e,t);exports.UniverThreadCommentUIPlugin=class extends d.Plugin{constructor(e=oe,t,r,i){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=i;const{menu:a,...u}=d.merge({},oe,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(Ne,u)}onStarting(){var e;d.mergeOverrideWithDependencies([[exports.ThreadCommentPanelService]],(e=this._config)==null?void 0:e.overrides).forEach(t=>{this._injector.add(t)}),[de,Z].forEach(t=>{this._commandService.registerCommand(t)})}};ue(exports.UniverThreadCommentUIPlugin,"pluginName",je);ue(exports.UniverThreadCommentUIPlugin,"type",d.UniverInstanceType.UNIVER_UNKNOWN);exports.UniverThreadCommentUIPlugin=Ee([d.DependentOn(B.UniverThreadCommentPlugin),se(1,d.Inject(d.Injector)),se(2,d.ICommandService),se(3,d.IConfigService)],exports.UniverThreadCommentUIPlugin);var R=function(){return R=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},R.apply(this,arguments)},ke=function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(t[r[i]]=n[r[i]]);return t},G=l.forwardRef(function(n,e){var t=n.icon,r=n.id,i=n.className,a=n.extend,u=ke(n,["icon","id","className","extend"]),C="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),g=l.useRef("_".concat(Re()));return ve(t,"".concat(r),{defIds:t.defIds,idSuffix:g.current},R({ref:e,className:C},u),a)});function ve(n,e,t,r,i){return l.createElement(n.tag,R(R({key:e},De(n,t,i)),r),(Me(n,t).children||[]).map(function(a,u){return ve(a,"".concat(e,"-").concat(n.tag,"-").concat(u),t,void 0,i)}))}function De(n,e,t){var r=R({},n.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1),n.tag==="mask"&&r.id&&(r.id=r.id+e.idSuffix),Object.entries(r).forEach(function(a){var u=a[0],C=a[1];u==="mask"&&typeof C=="string"&&(r[u]=C.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(n.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(function(a){var u=a[0],C=a[1];typeof C=="string"&&(r[u]=C.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function Me(n,e){var t,r=e.defIds;return!r||r.length===0?n:n.tag==="defs"&&(!((t=n.children)===null||t===void 0)&&t.length)?R(R({},n),{children:n.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?R(R({},i),{attrs:R(R({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):n}function Re(){return Math.random().toString(36).substring(2,8)}G.displayName="UniverIcon";var Pe={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.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.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.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"}}]},me=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"delete-icon",ref:e,icon:Pe}))});me.displayName="DeleteIcon";var $e={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"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"}}]},fe=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"increase-icon",ref:e,icon:$e}))});fe.displayName="IncreaseIcon";var Le={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3 9C3.55228 9 4 8.55228 4 8C4 7.44772 3.55228 7 3 7C2.44772 7 2 7.44772 2 8C2 8.55228 2.44772 9 3 9Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M8 9C8.55228 9 9 8.55228 9 8C9 7.44772 8.55228 7 8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M13 9C13.5523 9 14 8.55228 14 8C14 7.44772 13.5523 7 13 7C12.4477 7 12 7.44772 12 8C12 8.55228 12.4477 9 13 9Z"}}]},he=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"more-horizontal-icon",ref:e,icon:Le}))});he.displayName="MoreHorizontalIcon";var He={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{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.76813",strokeLinecap:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M8.91626 6.1311H9.27424",strokeLinecap:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M3.90454 6.1311H4.26252",strokeLinecap:"round",strokeWidth:1.2}}]},pe=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"reply-to-comment-icon",ref:e,icon:He}))});pe.displayName="ReplyToCommentIcon";var Ve={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{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"}}]},Ce=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"resolved-icon",ref:e,icon:Ve}))});Ce.displayName="ResolvedIcon";var Be={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",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}}]},ge=l.forwardRef(function(n,e){return l.createElement(G,Object.assign({},n,{id:"solve-icon",ref:e,icon:Be}))});ge.displayName="SolveIcon";function le(n){return{id:"d",body:n,documentStyle:{}}}const xe=l.forwardRef((n,e)=>{var P;const{comment:t,onSave:r,id:i,onCancel:a,autoFocus:u,unitId:C,type:g}=n,N=f.useDependency(d.ICommandService),U=f.useDependency(d.LocaleService),[A,O]=l.useState(!1),S=f.useDependency(ie.IEditorService),m=l.useRef(null),h=g===d.UniverInstanceType.UNIVER_SHEET?d.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:C,[E,w]=l.useState(()=>{var v,p,x;return d.BuildTextUtils.transform.getPlainText((x=(p=(v=m.current)==null?void 0:v.getDocumentData().body)==null?void 0:p.dataStream)!=null?x:"")});l.useEffect(()=>{var p,x,_,I;w(d.BuildTextUtils.transform.getPlainText((_=(x=(p=m.current)==null?void 0:p.getDocumentData().body)==null?void 0:x.dataStream)!=null?_:""));const v=(I=m.current)==null?void 0:I.selectionChange$.subscribe(()=>{var o,j,F;w(d.BuildTextUtils.transform.getPlainText((F=(j=(o=m.current)==null?void 0:o.getDocumentData().body)==null?void 0:j.dataStream)!=null?F:""))});return()=>v==null?void 0:v.unsubscribe()},[(P=m.current)==null?void 0:P.selectionChange$]);const W=l.useMemo(()=>({keyCodes:[{keyCode:f.KeyCode.ENTER}],handler:v=>{v===f.KeyCode.ENTER&&N.executeCommand(ie.BreakLineCommand.id)}}),[N]);l.useImperativeHandle(e,()=>({reply(v){var x,_;if(!m.current)return;S.focus((x=m.current.getEditorId())!=null?x:"");const p=le(v);(_=m.current)==null||_.setDocumentData(p,[{startOffset:p.body.dataStream.length-2,endOffset:p.body.dataStream.length-2,collapsed:!0}])}}));const b=()=>{if(m.current){const v=d.Tools.deepClone(m.current.getDocumentData().body);O(!1),r==null||r({...t,text:v}),m.current.replaceText(""),setTimeout(()=>{var p,x;(p=m.current)==null||p.setSelectionRanges([]),(x=m.current)==null||x.blur()},10)}};return s.jsxs("div",{onClick:v=>v.preventDefault(),children:[s.jsx(ie.RichTextEditor,{className:"univer-w-full",editorRef:m,autoFocus:u,keyboardEventConfig:W,placeholder:U.t("threadCommentUI.editor.placeholder"),initialValue:(t==null?void 0:t.text)&&le(t.text),onFocusChange:v=>v&&O(v),isSingle:!1,maxHeight:64,onClickOutside:()=>{setTimeout(()=>{S.focus(h)},30)}}),A?s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[s.jsx(L.Button,{onClick:()=>{var v;a==null||a(),O(!1),(v=m.current)==null||v.replaceText("",!0),N.executeCommand(Z.id)},children:U.t("threadCommentUI.editor.cancel")}),s.jsx(L.Button,{variant:"primary",disabled:!E,onClick:b,children:U.t(i?"threadCommentUI.editor.save":"threadCommentUI.editor.reply")})]}):null]})}),Ae=n=>{const{dataStream:e,customRanges:t}=n,r=e.endsWith(`\r
|
|
2
|
+
`)?e.length-2:e.length,i=[];let a=0;return t==null||t.forEach(u=>{a<u.startIndex&&i.push({type:"text",content:e.slice(a,u.startIndex)}),i.push({type:"mention",content:{label:e.slice(u.startIndex,u.endIndex+1),id:u.rangeId}}),a=u.endIndex+1}),i.push({type:"text",content:e.slice(a,r)}),i},We=n=>{const{paragraphs:e=[]}=n;let t=0;return e.map(r=>{const i=d.getBodySlice(n,t,r.startIndex);return t=r.startIndex+1,Ae(i)})},Ze=n=>{let e="";const t=[];return n.forEach(r=>{switch(r.type){case"text":e+=r.content;break;case"mention":{const i=e.length;e+=r.content.label;const a=e.length-1;t.push({rangeId:r.content.id,rangeType:d.CustomRangeType.MENTION,startIndex:i,endIndex:a,properties:{},wholeEntity:!0});break}}}),e+=`\r
|
|
3
|
+
`,{textRuns:[],paragraphs:[{startIndex:e.length-2,paragraphStyle:{}}],sectionBreaks:[{startIndex:e.length-1}],dataStream:e,customRanges:t}},Ie="__mock__",Fe=n=>{const{item:e,unitId:t,subUnitId:r,editing:i,onEditingChange:a,onReply:u,resolved:C,isRoot:g,onClose:N,onDeleteComment:U,type:A}=n,O=f.useDependency(d.ICommandService),S=f.useDependency(d.LocaleService),m=f.useDependency(d.UserManagerService),h=m.getUser(e.personId),E=f.useObservable(m.currentUser$),w=(E==null?void 0:E.userID)===e.personId,W=e.id===Ie,[b,P]=l.useState(!1),v=f.useConfigValue(f.UI_PLUGIN_CONFIG_KEY),p=v==null?void 0:v.avatarFallback,x=()=>{(U==null?void 0:U(e))!==!1&&(O.executeCommand(g?B.DeleteCommentTreeCommand.id:B.DeleteCommentCommand.id,{unitId:t,subUnitId:r,commentId:e.id}),g&&(N==null||N()))};return s.jsxs("div",{className:"univer-relative univer-mb-3 univer-pl-[30px]",onMouseLeave:()=>P(!1),onMouseEnter:()=>P(!0),children:[s.jsx("div",{className:"univer-absolute univer-left-0 univer-top-0 univer-h-6 univer-w-6 univer-rounded-full univer-bg-cover univer-bg-center univer-bg-no-repeat",style:{backgroundImage:`url(${(h==null?void 0:h.avatar)||p})`}}),h?s.jsxs("div",{className:"univer-mb-1 univer-flex univer-h-6 univer-items-center univer-justify-between",children:[s.jsx("div",{className:"univer-text-sm univer-font-medium univer-leading-5",children:(h==null?void 0:h.name)||" "}),s.jsxs("div",{children:[W||C?null:b&&h?s.jsx("div",{className:"univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-sm univer-text-base hover:univer-bg-gray-50",onClick:()=>u(h),children:s.jsx(pe,{})}):null,w&&!W&&!C?s.jsx(L.Dropdown,{overlay:s.jsx("div",{className:"univer-rounded-lg",children:s.jsxs("ul",{className:"univer-m-0 univer-box-border univer-grid univer-list-none univer-p-1.5 univer-text-sm [&_a]:univer-block [&_a]:univer-cursor-pointer [&_a]:univer-rounded [&_a]:univer-px-2 [&_a]:univer-py-1.5 [&_a]:univer-transition-colors",children:[s.jsx("li",{children:s.jsx("a",{className:"hover:univer-bg-gray-200",onClick:()=>a==null?void 0:a(!0),children:S.t("threadCommentUI.item.edit")})}),s.jsx("li",{children:s.jsx("a",{className:"hover:univer-bg-gray-200",onClick:x,children:S.t("threadCommentUI.item.delete")})})]})}),children:s.jsx("div",{className:"univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-sm univer-text-base hover:univer-bg-gray-50",children:s.jsx(he,{})})}):null]})]}):null,s.jsx("time",{className:"univer-mb-1 univer-text-xs/normal univer-text-gray-600 dark:!univer-text-gray-200",children:e.dT}),i?s.jsx(xe,{type:A,id:e.id,comment:e,onCancel:()=>a==null?void 0:a(!1),autoFocus:!0,unitId:t,subUnitId:r,onSave:({text:_,attachments:I})=>{a==null||a(!1),O.executeCommand(B.UpdateCommentCommand.id,{unitId:t,subUnitId:r,payload:{commentId:e.id,text:_,attachments:I}})}}):s.jsx("div",{className:"univer-text-sm univer-text-gray-900 dark:!univer-text-white",children:We(e.text).map((_,I)=>s.jsx("div",{className:"univer-break-words",children:_.map((o,j)=>{switch(o.type){case"mention":return s.jsxs("a",{className:"univer-text-primary-600",children:[o.content.label," "]},j);default:return o.content}})},I))})]})},be=n=>{var ne,J,c;const{id:e,unitId:t,subUnitId:r,refStr:i,showEdit:a=!0,onClick:u,showHighlight:C,onClose:g,getSubUnitName:N,prefix:U,autoFocus:A,onMouseEnter:O,onMouseLeave:S,onAddComment:m,onDeleteComment:h,onResolve:E,type:w,style:W,full:b}=n,P=f.useDependency(B.ThreadCommentModel),[v,p]=l.useState(!1),[x,_]=l.useState(""),I=l.useMemo(()=>P.commentUpdate$.pipe(re.debounceTime(16)),[P]);f.useObservable(I);const o=e?P.getCommentWithChildren(t,r,e):null,j=f.useDependency(d.ICommandService),F=f.useDependency(d.UserManagerService),k=o==null?void 0:o.root.resolved,D=f.useObservable(F.currentUser$),H=l.useRef(null),z=[...o?[o.root]:[{id:Ie,text:{dataStream:`
|
|
4
|
+
\r`},personId:(ne=D==null?void 0:D.userID)!=null?ne:"",ref:i!=null?i:"",dT:"",unitId:t,subUnitId:r,threadId:""}],...(J=o==null?void 0:o.children)!=null?J:[]],$=l.useRef(null),Q=y=>{y.stopPropagation(),k?j.executeCommand(Z.id,{unitId:t,subUnitId:r,commentId:e}):j.executeCommand(Z.id),j.executeCommand(B.ResolveCommentCommand.id,{unitId:t,subUnitId:r,commentId:e,resolved:!k}),E==null||E(!k)},Y=y=>{y.stopPropagation(),j.executeCommand(Z.id),!(o!=null&&o.root&&(h==null?void 0:h(o.root))===!1)&&(j.executeCommand(B.DeleteCommentTreeCommand.id,{unitId:t,subUnitId:r,commentId:e}),g==null||g())};l.useEffect(()=>S==null?void 0:S(),[]);const X=N((c=o==null?void 0:o.root.subUnitId)!=null?c:r),ee=a&&!x&&!k,te=`${i||(o==null?void 0:o.root.ref)||""}${X?" · ":""}${X}`;return s.jsxs("div",{id:`${U}-${t}-${r}-${e}`,className:L.clsx("univer-relative univer-box-border univer-rounded-md univer-bg-white univer-p-4 dark:!univer-bg-gray-900 dark:!univer-text-white",L.borderClassName,{"univer-w-[278px]":!b,"univer-w-full":b,"univer-shadow":!k&&(C||v||U==="cell")}),style:W,onClick:u,onMouseEnter:()=>{O==null||O(),p(!0)},onMouseLeave:()=>{S==null||S(),p(!1)},children:[!k&&C&&s.jsx("div",{className:"univer-absolute univer-left-0 univer-right-0 univer-top-0 univer-h-1.5 univer-rounded-t-md univer-bg-yellow-400"}),s.jsxs("div",{className:"univer-mb-4 univer-flex univer-flex-row univer-items-center univer-justify-between univer-text-sm univer-leading-5",children:[s.jsxs("div",{className:"univer-flex univer-flex-1 univer-flex-row univer-items-center univer-overflow-hidden",children:[s.jsx("div",{className:"univer-mr-2 univer-h-3.5 univer-w-[3px] univer-flex-shrink-0 univer-flex-grow-0 univer-rounded-sm univer-bg-yellow-500"}),s.jsx(L.Tooltip,{showIfEllipsis:!0,title:te,children:s.jsx("div",{className:"univer-flex-1 univer-truncate",children:te})})]}),!!o&&s.jsxs("div",{className:"univer-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-row",children:[s.jsx("div",{className:L.clsx("univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-[3px] univer-text-base dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-50",{"univer-text-green-500":k}),onClick:Q,children:k?s.jsx(Ce,{}):s.jsx(ge,{})}),(D==null?void 0:D.userID)===o.root.personId?s.jsx("div",{className:"univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-[3px] univer-text-base dark:hover:!univer-bg-gray-800 hover:univer-bg-gray-50",onClick:Y,children:s.jsx(me,{})}):null]})]}),s.jsx("div",{ref:$,className:"univer-max-h-80 univer-overflow-y-auto univer-overflow-x-hidden",children:z.map(y=>s.jsx(Fe,{unitId:t,subUnitId:r,item:y,isRoot:y.id===(o==null?void 0:o.root.id),editing:x===y.id,resolved:o==null?void 0:o.root.resolved,type:w,onClose:g,onEditingChange:M=>{_(M?y.id:"")},onReply:M=>{M&&requestAnimationFrame(()=>{var V;(V=H.current)==null||V.reply(Ze([{type:"mention",content:{id:M.userID,label:`@${M.name}`}},{type:"text",content:" "}]))})},onAddComment:m,onDeleteComment:h},y.id))}),ee&&s.jsx("div",{children:s.jsx(xe,{ref:H,type:w,unitId:t,subUnitId:r,onSave:async({text:y,attachments:M})=>{const V={text:y,attachments:M,dT:B.getDT(),id:d.generateRandomId(),ref:i,personId:D==null?void 0:D.userID,parentId:o==null?void 0:o.root.id,unitId:t,subUnitId:r,threadId:o==null?void 0:o.root.threadId};(m==null?void 0:m(V))!==!1&&(await j.executeCommand(B.AddCommentCommand.id,{unitId:t,subUnitId:r,comment:V}),$.current&&($.current.scrollTop=$.current.scrollHeight))},autoFocus:A||!o,onCancel:()=>{o||g==null||g()}},`${A}`)})]})},qe=n=>{const{unitId:e,subUnitId$:t,type:r,onAdd:i,getSubUnitName:a,onResolve:u,sortComments:C,onItemLeave:g,onItemEnter:N,disableAdd:U,tempComment:A,onAddComment:O,onDeleteComment:S,showComments:m}=n,[h,E]=l.useState("all"),[w,W]=l.useState("all"),b=f.useDependency(d.LocaleService),P=f.useDependency(d.UserManagerService),v=f.useDependency(B.ThreadCommentModel),[p,x]=l.useState(()=>v.getUnit(e)),_=f.useDependency(exports.ThreadCommentPanelService),I=f.useObservable(_.activeCommentId$),o=f.useObservable(v.commentUpdate$),j=f.useDependency(d.ICommandService),F=f.useObservable(t),k=l.useRef(!0),D="panel",H=f.useObservable(P.currentUser$),z=l.useMemo(()=>{var V;const c=h==="all"?p:(V=p.filter(T=>T.subUnitId===F))!=null?V:[],y=C!=null?C:T=>T,M=c.map(T=>{var q;return{...T.root,children:(q=T.children)!=null?q:[],users:T.relativeUsers}});if(m){const T=new Map;return M.forEach(q=>{T.set(q.id,q)}),[...m,""].map(q=>T.get(q)).filter(Boolean)}else return y(M)},[m,h,p,C,F]),$=l.useMemo(()=>[...z.filter(c=>!c.resolved),...z.filter(c=>c.resolved)],[z]),Q=l.useMemo(()=>w==="resolved"?$.filter(c=>c.resolved):w==="unsolved"?$.filter(c=>!c.resolved):w==="concern_me"&&H!=null&&H.userID?$.filter(c=>c==null?void 0:c.users.has(H.userID)):$,[$,H==null?void 0:H.userID,w]),Y=A?[A,...Q]:Q,X=Y.filter(c=>!c.resolved),ee=Y.filter(c=>c.resolved),te=w!=="all"||h!=="all",ne=()=>{W("all"),E("all")};l.useEffect(()=>{e&&x(v.getUnit(e))},[e,v,o]),l.useEffect(()=>{var T;if(!I)return;if(!k.current){k.current=!0;return}const{unitId:c,subUnitId:y,commentId:M}=I,V=`${D}-${c}-${y}-${M}`;(T=document.getElementById(V))==null||T.scrollIntoView({block:"center"})},[I]);const J=c=>s.jsx(be,{full:!0,prefix:D,getSubUnitName:a,id:c.id,unitId:c.unitId,subUnitId:c.subUnitId,refStr:c.ref,type:r,showEdit:(I==null?void 0:I.commentId)===c.id,showHighlight:(I==null?void 0:I.commentId)===c.id,onClick:()=>{k.current=!1,c.resolved?j.executeCommand(Z.id):j.executeCommand(Z.id,{unitId:c.unitId,subUnitId:c.subUnitId,commentId:c.id,temp:!1})},onMouseEnter:()=>N==null?void 0:N(c),onMouseLeave:()=>g==null?void 0:g(c),onAddComment:O,onDeleteComment:S,onResolve:y=>u==null?void 0:u(c.id,y)},c.id);return s.jsxs("div",{className:"univer-flex univer-min-h-full univer-flex-col univer-pb-3",children:[s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-between",children:[r===d.UniverInstanceType.UNIVER_SHEET?s.jsx(L.Select,{borderless:!0,value:h,options:[{value:"current",label:b.t("threadCommentUI.filter.sheet.current")},{value:"all",label:b.t("threadCommentUI.filter.sheet.all")}],onChange:E}):null,s.jsx(L.Select,{borderless:!0,value:w,options:[{value:"all",label:b.t("threadCommentUI.filter.status.all")},{value:"resolved",label:b.t("threadCommentUI.filter.status.resolved")},{value:"unsolved",label:b.t("threadCommentUI.filter.status.unsolved")},{value:"concern_me",label:b.t("threadCommentUI.filter.status.concernMe")}],onChange:W})]}),Y.length===0?s.jsxs("div",{className:"univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center univer-text-sm univer-text-gray-600 dark:!univer-text-gray-200",children:[b.t("threadCommentUI.panel.empty"),te?s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsx(L.Button,{onClick:ne,children:b.t("threadCommentUI.panel.reset")})}):U?null:s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsxs(L.Button,{onClick:i,children:[s.jsx(fe,{className:"univer-mr-1.5"}),b.t("threadCommentUI.panel.add")]})})]}):s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-col univer-gap-3",children:[X.map(J),ee.length>0&&s.jsx("div",{className:"univer-text-xs",children:b.t("threadCommentUI.panel.solved")}),ee.map(J)]})]})};exports.SetActiveCommentOperation=Z;exports.THREAD_COMMENT_PANEL=ce;exports.ThreadCommentPanel=qe;exports.ThreadCommentTree=be;exports.ToggleSheetCommentPanelOperation=de;
|