@univerjs/docs-hyper-link-ui 0.10.11 → 0.10.12-nightly.202510251119
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 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/es/index.js +363 -267
- package/lib/es/locale/ru-RU.js +3 -3
- package/lib/index.js +363 -267
- package/lib/locale/ru-RU.js +3 -3
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/package.json +10 -10
- package/LICENSE +0 -176
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var me=Object.defineProperty;var _e=(n,e,t)=>e in n?me(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var O=(n,e,t)=>_e(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),Ce=require("@univerjs/docs-hyper-link"),ye=require("@univerjs/engine-render"),y=require("@univerjs/docs"),$=require("@univerjs/docs-ui"),w=require("rxjs"),u=require("react/jsx-runtime"),_=require("@univerjs/design"),l=require("@univerjs/ui"),C=require("react"),Se="docs-hyper-link-ui.config",oe={},ce={type:o.CommandType.COMMAND,id:"docs.command.add-hyper-link",async handler(n,e){if(!e)return!1;const{payload:t,unitId:i,selections:r}=e,s=n.get(o.ICommandService),c=o.generateRandomId(),a=y.addCustomRangeBySelectionFactory(n,{rangeId:c,rangeType:o.CustomRangeType.HYPERLINK,properties:{url:t},unitId:i,selections:r});return a?s.syncExecuteCommand(a.id,a.params):!1}},ae={id:"docs.command.update-hyper-link",type:o.CommandType.COMMAND,handler(n,e){var h;if(!e)return!1;const{unitId:t,payload:i,segmentId:r,linkId:s}=e,c=n.get(o.ICommandService),a=n.get(o.IUniverInstanceService),g=n.get(y.DocSelectionManagerService).getActiveTextRange(),I=a.getUnit(t,o.UniverInstanceType.UNIVER_DOC);if(!g||!I)return!1;const f=(h=o.getBodySlice(I.getSelfOrHeaderFooterModel(r).getBody(),g.startOffset,g.endOffset).textRuns)==null?void 0:h[0];f&&(f.ed=e.label.length+1);const d=y.replaceSelectionFactory(n,{unitId:t,body:{dataStream:`${e.label}`,customRanges:[{rangeId:s,rangeType:o.CustomRangeType.HYPERLINK,startIndex:0,endIndex:e.label.length+1,properties:{url:i}}],textRuns:f?[f]:void 0},selection:{startOffset:g.startOffset,endOffset:g.endOffset,collapsed:!1,segmentId:r}});return d?c.syncExecuteCommand(d.id,d.params):!1}};function xe(n){return/^[a-zA-Z]+:\/\//.test(n)}function ke(n){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(n)}function Le(n){return xe(n)?n:ke(n)?`mailto://${n}`:`https://${n}`}const j=()=>{const n=l.useDependency(k),e=l.useDependency(o.LocaleService),t=l.useObservable(n.editingLink$),i=l.useDependency(o.ICommandService),r=l.useDependency(o.IUniverInstanceService),s=l.useDependency(y.DocSelectionManagerService),[c,a]=C.useState(""),[v,g]=C.useState(""),[I,m]=C.useState(!1),f=o.Tools.isLegalUrl(c),d=t?r.getUnit(t.unitId,o.UniverInstanceType.UNIVER_DOC):r.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);C.useEffect(()=>{var z,J,Q,X,ee,ne,te,ie,re;const p=s.getActiveTextRange();if(!p)return;if(t){const M=(z=d==null?void 0:d.getSelfOrHeaderFooterModel(t.segmentId))==null?void 0:z.getBody(),U=(J=M==null?void 0:M.customRanges)==null?void 0:J.find(K=>(t==null?void 0:t.linkId)===K.rangeId&&K.startIndex===t.startIndex&&K.endIndex===t.endIndex);d&&U&&(a((X=(Q=U.properties)==null?void 0:Q.url)!=null?X:""),g(o.BuildTextUtils.transform.getPlainText(o.getBodySlice(M,U.startIndex,U.endIndex+1).dataStream)));return}const L=(ee=d==null?void 0:d.getSelfOrHeaderFooterModel(p.segmentId))==null?void 0:ee.getBody(),G=L?p:null,R=G&&((te=o.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(G,(ne=L==null?void 0:L.customRanges)!=null?ne:[]))==null?void 0:te[0]);d&&R&&a((re=(ie=R==null?void 0:R.properties)==null?void 0:ie.url)!=null?re:"")},[d,t,s,r]);const h=()=>{n.hideEditPopup()},x=()=>{if(m(!0),!f||!d)return;const p=Le(c);if(!t)i.executeCommand(ce.id,{unitId:d.getUnitId(),payload:p});else{if(!v)return;i.executeCommand(ae.id,{unitId:d.getUnitId(),payload:p,linkId:t.linkId,label:v,segmentId:t.segmentId})}n.hideEditPopup()};if(d)return u.jsxs("div",{className:_.clsx("univer-box-border univer-w-[328px] univer-rounded-xl univer-bg-white univer-px-6 univer-py-5 univer-shadow dark:!univer-bg-gray-900",_.borderClassName),children:[u.jsxs("div",{children:[t?u.jsx(_.FormLayout,{label:e.t("docLink.edit.label"),error:I&&!v?e.t("docLink.edit.labelError"):"",children:u.jsx(_.Input,{value:v,onChange:g,autoFocus:!0,onKeyDown:p=>{p.keyCode===l.KeyCode.ENTER&&x()}})}):null,u.jsx(_.FormLayout,{label:e.t("docLink.edit.address"),error:I&&!f?e.t("docLink.edit.addressError"):"",children:u.jsx(_.Input,{value:c,onChange:a,autoFocus:!0,onKeyDown:p=>{p.keyCode===l.KeyCode.ENTER&&x()}})})]}),u.jsxs("div",{className:"univer-flex univer-justify-end univer-gap-3",children:[u.jsx(_.Button,{onClick:h,children:e.t("docLink.edit.cancel")}),u.jsx(_.Button,{variant:"primary",disabled:!c,onClick:x,children:e.t("docLink.edit.confirm")})]})]})};j.componentKey="docs-hyper-link-edit";var S=function(){return S=Object.assign||function(n){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n},S.apply(this,arguments)},Oe=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(n,i[r])&&(t[i[r]]=n[i[r]]);return t},b=C.forwardRef(function(n,e){var t=n.icon,i=n.id,r=n.className,s=n.extend,c=Oe(n,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(i," ").concat(r||"").trim(),v=C.useRef("_".concat(Pe()));return de(t,"".concat(i),{defIds:t.defIds,idSuffix:v.current},S({ref:e,className:a},c),s)});function de(n,e,t,i,r){return C.createElement(n.tag,S(S({key:e},we(n,t,r)),i),(De(n,t).children||[]).map(function(s,c){return de(s,"".concat(e,"-").concat(n.tag,"-").concat(c),t,void 0,r)}))}function we(n,e,t){var i=S({},n.attrs);t!=null&&t.colorChannel1&&i.fill==="colorChannel1"&&(i.fill=t.colorChannel1),n.tag==="mask"&&i.id&&(i.id=i.id+e.idSuffix),Object.entries(i).forEach(function(s){var c=s[0],a=s[1];c==="mask"&&typeof a=="string"&&(i[c]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var r=e.defIds;return!r||r.length===0||(n.tag==="use"&&i["xlink:href"]&&(i["xlink:href"]=i["xlink:href"]+e.idSuffix),Object.entries(i).forEach(function(s){var c=s[0],a=s[1];typeof a=="string"&&(i[c]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),i}function De(n,e){var t,i=e.defIds;return!i||i.length===0?n:n.tag==="defs"&&(!((t=n.children)===null||t===void 0)&&t.length)?S(S({},n),{children:n.children.map(function(r){return typeof r.attrs.id=="string"&&i&&i.includes(r.attrs.id)?S(S({},r),{attrs:S(S({},r.attrs),{id:r.attrs.id+e.idSuffix})}):r})}):n}function Pe(){return Math.random().toString(36).substring(2,8)}b.displayName="UniverIcon";var be={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:"M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ue=C.forwardRef(function(n,e){return C.createElement(b,Object.assign({},n,{id:"copy-icon",ref:e,icon:be}))});ue.displayName="CopyIcon";var Re={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:"M9.8816 1.97978C11.0177 0.843607 12.862 0.884962 14.0004 2.02342C15.1389 3.16188 15.1803 5.00612 14.0441 6.14228L11.399 8.78737C11.1608 9.02559 10.7746 9.02559 10.5363 8.78737C10.2981 8.54915 10.2981 8.16292 10.5363 7.9247L13.1814 5.2796C13.8195 4.64155 13.8217 3.57006 13.1378 2.8861C12.4538 2.20211 11.3823 2.20438 10.7443 2.84245L7.6976 5.88911L7.69317 5.89349C7.05959 6.53211 7.05894 7.60014 7.74132 8.28252C7.97954 8.52074 7.97954 8.90697 7.74132 9.14519C7.5031 9.38341 7.11687 9.38341 6.87865 9.14519C5.74016 8.00671 5.69884 6.16251 6.83497 5.02633L6.84021 5.02116L9.8816 1.97978Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.61426 7.2364C4.85248 6.99818 5.23871 6.99818 5.47693 7.2364C5.71515 7.47462 5.71515 7.86085 5.47693 8.09907L2.83183 10.7442C2.19375 11.3823 2.1915 12.4537 2.87547 13.1377C3.55945 13.8217 4.6309 13.8194 5.26899 13.1813L8.31566 10.1347C8.32262 10.1277 8.32971 10.121 8.33691 10.1144C8.34408 10.1064 8.3515 10.0986 8.35916 10.091C8.99721 9.45291 8.99949 8.38145 8.3155 7.69746C8.07728 7.45924 8.07728 7.07301 8.3155 6.83479C8.55372 6.59657 8.93995 6.59657 9.17817 6.83479C10.3166 7.97327 10.358 9.81748 9.22183 10.9536C9.21487 10.9606 9.20779 10.9673 9.20058 10.9739C9.19341 10.9819 9.18599 10.9897 9.17833 10.9973L6.13166 14.044C4.99548 15.1802 3.15127 15.1389 2.01279 14.0004C0.874362 12.8619 0.83297 11.0177 1.96916 9.8815L4.61426 7.2364Z"}}]},W=C.forwardRef(function(n,e){return C.createElement(b,Object.assign({},n,{id:"link-icon",ref:e,icon:Re}))});W.displayName="LinkIcon";var Me={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.5935 3.47302C11.6354 2.51492 10.082 2.51492 9.12388 3.47302L7.83534 4.76157C7.60102 4.99588 7.22112 4.99588 6.98681 4.76157C6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449C14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797C11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.40637 12.6606C2.44827 11.7025 2.44827 10.1491 3.40637 9.19102L4.69492 7.90248C4.92923 7.66816 4.92923 7.28826 4.69492 7.05395C4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092C3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721C8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332C2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302C13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332Z"}}]},le=C.forwardRef(function(n,e){return C.createElement(b,Object.assign({},n,{id:"unlink-icon",ref:e,icon:Me}))});le.displayName="UnlinkIcon";var Ue={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z"}}]},pe=C.forwardRef(function(n,e){return C.createElement(b,Object.assign({},n,{id:"write-icon",ref:e,icon:Ue}))});pe.displayName="WriteIcon";const ve={type:o.CommandType.COMMAND,id:"docs.command.delete-hyper-link",async handler(n,e){if(!e)return!1;const{unitId:t,linkId:i,segmentId:r}=e,s=n.get(o.ICommandService),c=y.deleteCustomRangeFactory(n,{unitId:t,rangeId:i,segmentId:r});return c?await s.syncExecuteCommand(c.id,c.params):!1}},ge=n=>{const e=n.get(y.DocSelectionManagerService),t=n.get(o.IUniverInstanceService),i=e.getTextRanges();if(!(i!=null&&i.length))return!0;const r=i[0];return!!(!t.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC)||!r||r.collapsed)},D={type:o.CommandType.OPERATION,id:"doc.operation.show-hyper-link-edit-popup",handler(n,e){var c;const t=e==null?void 0:e.link,i=n.get(o.IUniverInstanceService);if(ge(n)&&!t)return!1;const r=n.get(k),s=(t==null?void 0:t.unitId)||((c=i.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC))==null?void 0:c.getUnitId());return s?(r.showEditPopup(s,t),!0):!1}},Z={type:o.CommandType.OPERATION,id:"doc.operation.toggle-hyper-link-info-popup",handler(n,e){const t=n.get(k);return e?(t.showInfoPopup(e),!0):(t.hideInfoPopup(),!0)}},he={type:o.CommandType.OPERATION,id:"doc.operation.click-hyper-link",handler(n,e){var g,I,m;if(!e)return!1;const{unitId:t,linkId:i,segmentId:r}=e,c=n.get(o.IUniverInstanceService).getUnit(t,o.UniverInstanceType.UNIVER_DOC),a=c==null?void 0:c.getSelfOrHeaderFooterModel(r).getBody(),v=(m=(I=(g=a==null?void 0:a.customRanges)==null?void 0:g.find(f=>f.rangeId===i&&f.rangeType===o.CustomRangeType.HYPERLINK))==null?void 0:I.properties)==null?void 0:m.url;return v&&window.open(v,"_blank","noopener noreferrer"),!0}},T=()=>{var x,p;const n=l.useDependency(k),e=l.useDependency(o.ICommandService),t=l.useDependency(l.IMessageService),i=l.useDependency(o.LocaleService),r=l.useObservable(n.showingLink$),s=l.useDependency(o.IUniverInstanceService);if(!r)return null;const{unitId:c,linkId:a,segmentId:v,startIndex:g,endIndex:I}=r,m=s.getUnit(c,o.UniverInstanceType.UNIVER_DOC),f=m==null?void 0:m.getSelfOrHeaderFooterModel(v).getBody(),d=(x=f==null?void 0:f.customRanges)==null?void 0:x.find(L=>L.rangeId===a&&L.rangeType===o.CustomRangeType.HYPERLINK&&L.startIndex===g&&L.endIndex===I);if(!d)return null;const h=(p=d.properties)==null?void 0:p.url;return u.jsxs("div",{className:_.clsx("univer-box-border univer-flex univer-max-w-80 univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-3 univer-shadow dark:!univer-bg-gray-900",_.borderClassName),onClick:()=>{n.hideInfoPopup()},children:[u.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-500",onClick:()=>window.open(h,void 0,"noopener noreferrer"),children:[u.jsx("div",{className:"univer-mr-2 univer-flex univer-size-5 univer-flex-[0_0_auto] univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:u.jsx(W,{})}),u.jsx(_.Tooltip,{showIfEllipsis:!0,title:h,children:u.jsx("span",{className:"univer-flex-1 univer-truncate",children:h})})]}),u.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-[0_0_auto] univer-items-center univer-justify-center",children:[u.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-base",onClick:()=>{navigator.clipboard.writeText(h),t.show({content:i.t("docLink.info.coped"),type:_.MessageType.Info})},children:u.jsx(_.Tooltip,{placement:"bottom",title:i.t("docLink.info.copy"),children:u.jsx(ue,{})})}),u.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-base",onClick:()=>{e.executeCommand(D.id,{link:r})},children:u.jsx(_.Tooltip,{placement:"bottom",title:i.t("docLink.info.edit"),children:u.jsx(pe,{})})}),u.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-base",onClick:()=>{e.executeCommand(ve.id,{unitId:c,linkId:d.rangeId,segmentId:v})},children:u.jsx(_.Tooltip,{placement:"bottom",title:i.t("docLink.info.cancel"),children:u.jsx(le,{})})})]})]})};T.componentKey="univer.doc.link-info-popup";var Ee=Object.getOwnPropertyDescriptor,je=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ee(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},A=(n,e)=>(t,i)=>e(t,i,n);let k=class extends o.Disposable{constructor(e,t,i){super();O(this,"_editingLink$",new w.BehaviorSubject(null));O(this,"_showingLink$",new w.BehaviorSubject(null));O(this,"editingLink$",this._editingLink$.asObservable());O(this,"showingLink$",this._showingLink$.asObservable());O(this,"_editPopup",null);O(this,"_infoPopup",null);this._docCanvasPopupManagerService=e,this._textSelectionManagerService=t,this._univerInstanceService=i,this.disposeWithMe(()=>{this._editingLink$.complete(),this._showingLink$.complete()})}get editing(){return this._editingLink$.value}get showing(){return this._showingLink$.value}showEditPopup(e,t){this._editPopup&&this._editPopup.dispose(),this._editingLink$.next(t);const i=this._textSelectionManagerService.getTextRanges({unitId:e,subUnitId:e});let r=i==null?void 0:i[i.length-1];if(t){const{segmentId:s,segmentPage:c,startIndex:a,endIndex:v}=t;r={collapsed:!1,startOffset:a,endOffset:v+1,segmentId:s,segmentPage:c},this._textSelectionManagerService.replaceDocRanges([{startOffset:a,endOffset:v+1}])}return r?(this._editPopup=this._docCanvasPopupManagerService.attachPopupToRange(r,{componentKey:j.componentKey,direction:"bottom"},e),this._editPopup):null}hideEditPopup(){var e;this._editingLink$.next(null),(e=this._editPopup)==null||e.dispose()}showInfoPopup(e){var g,I,m,f,d,h;const{linkId:t,unitId:i,segmentId:r,segmentPage:s,startIndex:c,endIndex:a}=e;if(!(((g=this.showing)==null?void 0:g.linkId)===t&&((I=this.showing)==null?void 0:I.unitId)===i&&((m=this.showing)==null?void 0:m.segmentId)===r&&((f=this.showing)==null?void 0:f.segmentPage)===s&&((d=this.showing)==null?void 0:d.startIndex)===c&&((h=this.showing)==null?void 0:h.endIndex)===a||(this._infoPopup&&this._infoPopup.dispose(),!this._univerInstanceService.getUnit(i,o.UniverInstanceType.UNIVER_DOC))))return this._showingLink$.next({unitId:i,linkId:t,segmentId:r,segmentPage:s,startIndex:c,endIndex:a}),this._infoPopup=this._docCanvasPopupManagerService.attachPopupToRange({collapsed:!1,startOffset:c,endOffset:a+1,segmentId:r,segmentPage:s},{componentKey:T.componentKey,direction:"top-center",multipleDirection:"top",onClickOutside:()=>{this.hideInfoPopup()}},i),this._infoPopup}hideInfoPopup(){var e;this._showingLink$.next(null),(e=this._infoPopup)==null||e.dispose()}};k=je([A(0,o.Inject($.DocCanvasPopManagerService)),A(1,o.Inject(y.DocSelectionManagerService)),A(2,o.IUniverInstanceService)],k);var Te=Object.getOwnPropertyDescriptor,Ne=(n,e,t,i)=>{for(var r=i>1?void 0:i?Te(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},B=(n,e)=>(t,i)=>e(t,i,n);let N=class extends o.Disposable{constructor(n,e,t){super(),this._commandService=n,this._univerInstanceService=e,this._docHyperLinkService=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{var e,t,i;if(n.id===y.SetTextSelectionsOperation.id){const r=n.params,{unitId:s,ranges:c,segmentId:a}=r,v=this._univerInstanceService.getUnit(s,o.UniverInstanceType.UNIVER_DOC),g=c[0];if(g&&v){const{startOffset:I,endOffset:m,collapsed:f,segmentPage:d}=g,h=(t=(e=v.getSelfOrHeaderFooterModel(a))==null?void 0:e.getBody())==null?void 0:t.customRanges;if(f){const x=(i=h==null?void 0:h.findIndex(p=>p.startIndex<I&&p.endIndex>m-1))!=null?i:-1;if(x>-1){const p=h[x];this._docHyperLinkService.showInfoPopup({unitId:s,linkId:p.rangeId,segmentId:a,segmentPage:d,startIndex:p.startIndex,endIndex:p.endIndex});return}}else if(h==null?void 0:h.find(p=>p.startIndex<=I&&p.endIndex>=m-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}};N=Ne([B(0,o.ICommandService),B(1,o.IUniverInstanceService),B(2,o.Inject(k))],N);var He=Object.getOwnPropertyDescriptor,$e=(n,e,t,i)=>{for(var r=i>1?void 0:i?He(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},P=(n,e)=>(t,i)=>e(t,i,n);let Y=class extends o.Disposable{constructor(n,e,t,i,r,s){super(),this._context=n,this._docEventManagerService=e,this._commandService=t,this._hyperLinkPopupService=i,this._docSkeletonManagerService=r,this._docSelectionManagerService=s,!(this._context.unitId===o.DOCS_ZEN_EDITOR_UNIT_ID_KEY||this._context.unitId===o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)&&(this._initHover(),this._initClick())}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}_hideInfoPopup(){this._hyperLinkPopupService.showing&&this._commandService.executeCommand(Z.id)}_initHover(){this.disposeWithMe(this._docEventManagerService.hoverCustomRanges$.subscribe(n=>{var r;const e=n.find(s=>s.range.rangeType===o.CustomRangeType.HYPERLINK),t=this._docSelectionManagerService.getTextRanges(),i=t==null?void 0:t[0].segmentId;if(((r=e==null?void 0:e.segmentId)!=null?r:"")!==i){this._hideInfoPopup();return}e?this._commandService.executeCommand(Z.id,{unitId:this._context.unitId,linkId:e.range.rangeId,segmentId:e.segmentId,segmentPage:e.segmentPageIndex,rangeId:e.range.rangeId,startIndex:e.range.startIndex,endIndex:e.range.endIndex}):this._hideInfoPopup()}))}_initClick(){this.disposeWithMe(this._docEventManagerService.clickCustomRanges$.subscribe(n=>{const e=n.range;e&&this._commandService.executeCommand(he.id,{unitId:this._context.unitId,linkId:e.rangeId,segmentId:n.segmentId})}))}};Y=$e([P(1,o.Inject($.DocEventManagerService)),P(2,o.ICommandService),P(3,o.Inject(k)),P(4,o.Inject(y.DocSkeletonManagerService)),P(5,o.Inject(y.DocSelectionManagerService))],Y);var Ke=Object.getOwnPropertyDescriptor,Ae=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ke(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},F=(n,e)=>(t,i)=>e(t,i,n);let q=class extends o.Disposable{constructor(n,e,t,i){super(),this._context=n,this._docInterceptorService=e,this._hyperLinkService=t,this._docRenderController=i,this._init(),this._initReRender()}_init(){this._docInterceptorService.intercept(y.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:(n,e,t)=>{if(!n)return t(n);const{unitId:i,index:r}=e,s=this._hyperLinkService.showing;if(!s)return t({...n,active:!1});const{linkId:c,unitId:a,startIndex:v,endIndex:g}=s,I=a===i&&n.rangeId===c&&r>=v&&r<=g;return t({...n,active:I})}})}_initReRender(){this.disposeWithMe(this._hyperLinkService.showingLink$.pipe(w.distinctUntilChanged((n,e)=>(n==null?void 0:n.linkId)===(e==null?void 0:e.linkId)&&(n==null?void 0:n.unitId)===(e==null?void 0:e.unitId)&&(n==null?void 0:n.startIndex)===(e==null?void 0:e.startIndex)),w.pairwise()).subscribe(([n,e])=>{e?e.unitId===this._context.unitId&&this._docRenderController.reRender(e.unitId):n&&n.unitId===this._context.unitId&&this._docRenderController.reRender(n.unitId)}))}};q=Ae([F(1,o.Inject(y.DocInterceptorService)),F(2,o.Inject(k)),F(3,o.Inject($.DocRenderController))],q);const fe="doc-hyper-link-icon";function se(n){return{id:D.id,type:l.MenuItemType.BUTTON,icon:fe,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",hidden$:l.getMenuHiddenObservable(n,o.UniverInstanceType.UNIVER_DOC),disabled$:new w.Observable(function(e){const i=n.get(y.DocSelectionManagerService).textSelection$.pipe(w.debounceTime(16)).subscribe(()=>{e.next(ge(n))});return()=>{i.unsubscribe()}})}}const Be={id:D.id,binding:l.MetaKeys.CTRL_COMMAND|l.KeyCode.K,description:"docLink.menu.tooltip",preconditions:$.whenDocAndEditorFocused},Fe={[l.RibbonInsertGroup.MEDIA]:{[D.id]:{order:1,menuItemFactory:se}},[l.ContextMenuPosition.MAIN_AREA]:{[l.ContextMenuGroup.DATA]:{[D.id]:{order:0,menuItemFactory:se}}}};var Ve=Object.getOwnPropertyDescriptor,Ze=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ve(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},E=(n,e)=>(t,i)=>e(t,i,n);let H=class extends o.Disposable{constructor(n,e,t,i){super(),this._componentManager=n,this._commandService=e,this._menuManagerService=t,this._shortcutService=i,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[j.componentKey,j],[T.componentKey,T],[fe,W]].forEach(([n,e])=>{this.disposeWithMe(this._componentManager.register(n,e))})}_initCommands(){[ce,ae,ve,D,Z,he].forEach(n=>{this._commandService.registerCommand(n)})}_initShortcut(){[Be].forEach(n=>{this._shortcutService.registerShortcut(n)})}_initMenus(){this._menuManagerService.mergeMenu(Fe)}};H=Ze([E(0,o.Inject(l.ComponentManager)),E(1,o.ICommandService),E(2,l.IMenuManagerService),E(3,l.IShortcutService)],H);const Ye="DOC_HYPER_LINK_UI_PLUGIN";var qe=Object.defineProperty,We=Object.getOwnPropertyDescriptor,Ge=(n,e,t)=>e in n?qe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ze=(n,e,t,i)=>{for(var r=i>1?void 0:i?We(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},V=(n,e)=>(t,i)=>e(t,i,n),Ie=(n,e,t)=>Ge(n,typeof e!="symbol"?e+"":e,t);exports.UniverDocsHyperLinkUIPlugin=class extends o.Plugin{constructor(e=oe,t,i,r){super(),this._config=e,this._injector=t,this._renderManagerSrv=i,this._configService=r;const{menu:s,...c}=o.merge({},oe,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(Se,c)}onStarting(){[[k],[H],[N]].forEach(t=>{this._injector.add(t)}),this._injector.get(H)}onReady(){this._injector.get(N)}onRendered(){this._initRenderModule()}_initRenderModule(){[[q],[Y]].forEach(e=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,e)})}};Ie(exports.UniverDocsHyperLinkUIPlugin,"pluginName",Ye);Ie(exports.UniverDocsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC);exports.UniverDocsHyperLinkUIPlugin=ze([o.DependentOn(Ce.UniverDocsHyperLinkPlugin),V(1,o.Inject(o.Injector)),V(2,ye.IRenderManagerService),V(3,o.IConfigService)],exports.UniverDocsHyperLinkUIPlugin);
|
|
1
|
+
"use strict";var fe=Object.defineProperty;var me=(n,e,t)=>e in n?fe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var L=(n,e,t)=>me(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),Ce=require("@univerjs/docs-hyper-link"),_e=require("@univerjs/engine-render"),S=require("@univerjs/docs"),$=require("@univerjs/docs-ui"),w=require("rxjs"),u=require("react/jsx-runtime"),C=require("@univerjs/design"),l=require("@univerjs/ui"),_=require("react"),Se="docs-hyper-link-ui.config",re={},se={type:o.CommandType.COMMAND,id:"docs.command.add-hyper-link",async handler(n,e){if(!e)return!1;const{payload:t,unitId:i,selections:r}=e,s=n.get(o.ICommandService),c=o.generateRandomId(),d=S.addCustomRangeBySelectionFactory(n,{rangeId:c,rangeType:o.CustomRangeType.HYPERLINK,properties:{url:t},unitId:i,selections:r});return d?s.syncExecuteCommand(d.id,d.params):!1}},ce={id:"docs.command.update-hyper-link",type:o.CommandType.COMMAND,handler(n,e){var h;if(!e)return!1;const{unitId:t,payload:i,segmentId:r,linkId:s}=e,c=n.get(o.ICommandService),d=n.get(o.IUniverInstanceService),v=n.get(S.DocSelectionManagerService).getActiveTextRange(),f=d.getUnit(t,o.UniverInstanceType.UNIVER_DOC);if(!v||!f)return!1;const I=(h=o.getBodySlice(f.getSelfOrHeaderFooterModel(r).getBody(),v.startOffset,v.endOffset).textRuns)==null?void 0:h[0];I&&(I.ed=e.label.length+1);const a=S.replaceSelectionFactory(n,{unitId:t,body:{dataStream:`${e.label}`,customRanges:[{rangeId:s,rangeType:o.CustomRangeType.HYPERLINK,startIndex:0,endIndex:e.label.length+1,properties:{url:i}}],textRuns:I?[I]:void 0},selection:{startOffset:v.startOffset,endOffset:v.endOffset,collapsed:!1,segmentId:r}});return a?c.syncExecuteCommand(a.id,a.params):!1}};function ye(n){return/^[a-zA-Z]+:\/\//.test(n)}function xe(n){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(n)}function ke(n){return ye(n)?n:xe(n)?`mailto://${n}`:`https://${n}`}const E=()=>{const n=l.useDependency(x),e=l.useDependency(o.LocaleService),t=l.useObservable(n.editingLink$),i=l.useDependency(o.ICommandService),r=l.useDependency(o.IUniverInstanceService),s=l.useDependency(S.DocSelectionManagerService),[c,d]=_.useState(""),[g,v]=_.useState(""),[f,m]=_.useState(!1),I=o.Tools.isLegalUrl(c),a=t?r.getUnit(t.unitId,o.UniverInstanceType.UNIVER_DOC):r.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);_.useEffect(()=>{var G,z,J,Q,X,ee,ne,te,ie;const p=s.getActiveTextRange();if(!p)return;if(t){const M=(G=a==null?void 0:a.getSelfOrHeaderFooterModel(t.segmentId))==null?void 0:G.getBody(),b=(z=M==null?void 0:M.customRanges)==null?void 0:z.find(H=>(t==null?void 0:t.linkId)===H.rangeId&&H.startIndex===t.startIndex&&H.endIndex===t.endIndex);a&&b&&(d((Q=(J=b.properties)==null?void 0:J.url)!=null?Q:""),v(o.BuildTextUtils.transform.getPlainText(o.getBodySlice(M,b.startIndex,b.endIndex+1).dataStream)));return}const k=(X=a==null?void 0:a.getSelfOrHeaderFooterModel(p.segmentId))==null?void 0:X.getBody(),W=k?p:null,R=W&&((ne=o.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(W,(ee=k==null?void 0:k.customRanges)!=null?ee:[]))==null?void 0:ne[0]);a&&R&&d((ie=(te=R==null?void 0:R.properties)==null?void 0:te.url)!=null?ie:"")},[a,t,s,r]);const h=()=>{n.hideEditPopup()},y=()=>{if(m(!0),!I||!a)return;const p=ke(c);if(!t)i.executeCommand(se.id,{unitId:a.getUnitId(),payload:p});else{if(!g)return;i.executeCommand(ce.id,{unitId:a.getUnitId(),payload:p,linkId:t.linkId,label:g,segmentId:t.segmentId})}n.hideEditPopup()};if(a)return u.jsxs("div",{className:C.clsx("univer-box-border univer-w-[328px] univer-rounded-xl univer-bg-white univer-px-6 univer-py-5 univer-shadow dark:!univer-bg-gray-900",C.borderClassName),children:[u.jsxs("div",{children:[t?u.jsx(C.FormLayout,{label:e.t("docLink.edit.label"),error:f&&!g?e.t("docLink.edit.labelError"):"",children:u.jsx(C.Input,{value:g,onChange:v,autoFocus:!0,onKeyDown:p=>{p.keyCode===l.KeyCode.ENTER&&y()}})}):null,u.jsx(C.FormLayout,{label:e.t("docLink.edit.address"),error:f&&!I?e.t("docLink.edit.addressError"):"",children:u.jsx(C.Input,{value:c,onChange:d,autoFocus:!0,onKeyDown:p=>{p.keyCode===l.KeyCode.ENTER&&y()}})})]}),u.jsxs("div",{className:"univer-flex univer-justify-end univer-gap-3",children:[u.jsx(C.Button,{onClick:h,children:e.t("docLink.edit.cancel")}),u.jsx(C.Button,{variant:"primary",disabled:!c,onClick:y,children:e.t("docLink.edit.confirm")})]})]})};E.componentKey="docs-hyper-link-edit";function P({ref:n,...e}){const{icon:t,id:i,className:r,extend:s,...c}=e,d=`univerjs-icon univerjs-icon-${i} ${r||""}`.trim(),g=_.useRef(`_${De()}`);return de(t,`${i}`,{defIds:t.defIds,idSuffix:g.current},{ref:n,className:d,...c},s)}function de(n,e,t,i,r){return _.createElement(n.tag,{key:e,...Le(n,t,r),...i},(we(n,t).children||[]).map((s,c)=>de(s,`${e}-${n.tag}-${c}`,t,void 0,r)))}function Le(n,e,t){const i={...n.attrs};t!=null&&t.colorChannel1&&i.fill==="colorChannel1"&&(i.fill=t.colorChannel1),n.tag==="mask"&&i.id&&(i.id=i.id+e.idSuffix),Object.entries(i).forEach(([s,c])=>{s==="mask"&&typeof c=="string"&&(i[s]=c.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))});const{defIds:r}=e;return!r||r.length===0||(n.tag==="use"&&i["xlink:href"]&&(i["xlink:href"]=i["xlink:href"]+e.idSuffix),Object.entries(i).forEach(([s,c])=>{typeof c=="string"&&(i[s]=c.replace(/url\(#(.*)\)/,`url(#$1${e.idSuffix})`))})),i}function we(n,e){var i;const{defIds:t}=e;return!t||t.length===0?n:n.tag==="defs"&&((i=n.children)!=null&&i.length)?{...n,children:n.children.map(r=>typeof r.attrs.id=="string"&&t&&t.includes(r.attrs.id)?{...r,attrs:{...r.attrs,id:r.attrs.id+e.idSuffix}}:r)}:n}function De(){return Math.random().toString(36).substring(2,8)}P.displayName="UniverIcon";const Oe={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:"M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ae=_.forwardRef(function(e,t){return _.createElement(P,Object.assign({},e,{id:"copy-icon",ref:t,icon:Oe}))});ae.displayName="CopyIcon";const 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:"M9.8816 1.97978C11.0177 0.843607 12.862 0.884962 14.0004 2.02342C15.1389 3.16188 15.1803 5.00612 14.0441 6.14228L11.399 8.78737C11.1608 9.02559 10.7746 9.02559 10.5363 8.78737C10.2981 8.54915 10.2981 8.16292 10.5363 7.9247L13.1814 5.2796C13.8195 4.64155 13.8217 3.57006 13.1378 2.8861C12.4538 2.20211 11.3823 2.20438 10.7443 2.84245L7.6976 5.88911L7.69317 5.89349C7.05959 6.53211 7.05894 7.60014 7.74132 8.28252C7.97954 8.52074 7.97954 8.90697 7.74132 9.14519C7.5031 9.38341 7.11687 9.38341 6.87865 9.14519C5.74016 8.00671 5.69884 6.16251 6.83497 5.02633L6.84021 5.02116L9.8816 1.97978Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.61426 7.2364C4.85248 6.99818 5.23871 6.99818 5.47693 7.2364C5.71515 7.47462 5.71515 7.86085 5.47693 8.09907L2.83183 10.7442C2.19375 11.3823 2.1915 12.4537 2.87547 13.1377C3.55945 13.8217 4.6309 13.8194 5.26899 13.1813L8.31566 10.1347C8.32262 10.1277 8.32971 10.121 8.33691 10.1144C8.34408 10.1064 8.3515 10.0986 8.35916 10.091C8.99721 9.45291 8.99949 8.38145 8.3155 7.69746C8.07728 7.45924 8.07728 7.07301 8.3155 6.83479C8.55372 6.59657 8.93995 6.59657 9.17817 6.83479C10.3166 7.97327 10.358 9.81748 9.22183 10.9536C9.21487 10.9606 9.20779 10.9673 9.20058 10.9739C9.19341 10.9819 9.18599 10.9897 9.17833 10.9973L6.13166 14.044C4.99548 15.1802 3.15127 15.1389 2.01279 14.0004C0.874362 12.8619 0.83297 11.0177 1.96916 9.8815L4.61426 7.2364Z"}}]},q=_.forwardRef(function(e,t){return _.createElement(P,Object.assign({},e,{id:"link-icon",ref:t,icon:Pe}))});q.displayName="LinkIcon";const Re={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.5935 3.47302C11.6354 2.51492 10.082 2.51492 9.12388 3.47302L7.83534 4.76157C7.60102 4.99588 7.22112 4.99588 6.98681 4.76157C6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449C14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797C11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.40637 12.6606C2.44827 11.7025 2.44827 10.1491 3.40637 9.19102L4.69492 7.90248C4.92923 7.66816 4.92923 7.28826 4.69492 7.05395C4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092C3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721C8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332C2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302C13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332Z"}}]},ue=_.forwardRef(function(e,t){return _.createElement(P,Object.assign({},e,{id:"unlink-icon",ref:t,icon:Re}))});ue.displayName="UnlinkIcon";const Me={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z"}}]},le=_.forwardRef(function(e,t){return _.createElement(P,Object.assign({},e,{id:"write-icon",ref:t,icon:Me}))});le.displayName="WriteIcon";const pe={type:o.CommandType.COMMAND,id:"docs.command.delete-hyper-link",async handler(n,e){if(!e)return!1;const{unitId:t,linkId:i,segmentId:r}=e,s=n.get(o.ICommandService),c=S.deleteCustomRangeFactory(n,{unitId:t,rangeId:i,segmentId:r});return c?await s.syncExecuteCommand(c.id,c.params):!1}},ge=n=>{const e=n.get(S.DocSelectionManagerService),t=n.get(o.IUniverInstanceService),i=e.getTextRanges();if(!(i!=null&&i.length))return!0;const r=i[0];return!!(!t.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC)||!r||r.collapsed)},D={type:o.CommandType.OPERATION,id:"doc.operation.show-hyper-link-edit-popup",handler(n,e){var c;const t=e==null?void 0:e.link,i=n.get(o.IUniverInstanceService);if(ge(n)&&!t)return!1;const r=n.get(x),s=(t==null?void 0:t.unitId)||((c=i.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC))==null?void 0:c.getUnitId());return s?(r.showEditPopup(s,t),!0):!1}},V={type:o.CommandType.OPERATION,id:"doc.operation.toggle-hyper-link-info-popup",handler(n,e){const t=n.get(x);return e?(t.showInfoPopup(e),!0):(t.hideInfoPopup(),!0)}},ve={type:o.CommandType.OPERATION,id:"doc.operation.click-hyper-link",handler(n,e){var v,f,m;if(!e)return!1;const{unitId:t,linkId:i,segmentId:r}=e,c=n.get(o.IUniverInstanceService).getUnit(t,o.UniverInstanceType.UNIVER_DOC),d=c==null?void 0:c.getSelfOrHeaderFooterModel(r).getBody(),g=(m=(f=(v=d==null?void 0:d.customRanges)==null?void 0:v.find(I=>I.rangeId===i&&I.rangeType===o.CustomRangeType.HYPERLINK))==null?void 0:f.properties)==null?void 0:m.url;return g&&window.open(g,"_blank","noopener noreferrer"),!0}},T=()=>{var y,p;const n=l.useDependency(x),e=l.useDependency(o.ICommandService),t=l.useDependency(l.IMessageService),i=l.useDependency(o.LocaleService),r=l.useObservable(n.showingLink$),s=l.useDependency(o.IUniverInstanceService);if(!r)return null;const{unitId:c,linkId:d,segmentId:g,startIndex:v,endIndex:f}=r,m=s.getUnit(c,o.UniverInstanceType.UNIVER_DOC),I=m==null?void 0:m.getSelfOrHeaderFooterModel(g).getBody(),a=(y=I==null?void 0:I.customRanges)==null?void 0:y.find(k=>k.rangeId===d&&k.rangeType===o.CustomRangeType.HYPERLINK&&k.startIndex===v&&k.endIndex===f);if(!a)return null;const h=(p=a.properties)==null?void 0:p.url;return u.jsxs("div",{className:C.clsx("univer-box-border univer-flex univer-max-w-80 univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-3 univer-shadow dark:!univer-bg-gray-900",C.borderClassName),onClick:()=>{n.hideInfoPopup()},children:[u.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-500",onClick:()=>window.open(h,void 0,"noopener noreferrer"),children:[u.jsx("div",{className:"univer-mr-2 univer-flex univer-size-5 univer-flex-[0_0_auto] univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:u.jsx(q,{})}),u.jsx(C.Tooltip,{showIfEllipsis:!0,title:h,children:u.jsx("span",{className:"univer-flex-1 univer-truncate",children:h})})]}),u.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-[0_0_auto] univer-items-center univer-justify-center",children:[u.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-base",onClick:()=>{navigator.clipboard.writeText(h),t.show({content:i.t("docLink.info.coped"),type:C.MessageType.Info})},children:u.jsx(C.Tooltip,{placement:"bottom",title:i.t("docLink.info.copy"),children:u.jsx(ae,{})})}),u.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-base",onClick:()=>{e.executeCommand(D.id,{link:r})},children:u.jsx(C.Tooltip,{placement:"bottom",title:i.t("docLink.info.edit"),children:u.jsx(le,{})})}),u.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-text-base",onClick:()=>{e.executeCommand(pe.id,{unitId:c,linkId:a.rangeId,segmentId:g})},children:u.jsx(C.Tooltip,{placement:"bottom",title:i.t("docLink.info.cancel"),children:u.jsx(ue,{})})})]})]})};T.componentKey="univer.doc.link-info-popup";var be=Object.getOwnPropertyDescriptor,Ue=(n,e,t,i)=>{for(var r=i>1?void 0:i?be(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},K=(n,e)=>(t,i)=>e(t,i,n);let x=class extends o.Disposable{constructor(e,t,i){super();L(this,"_editingLink$",new w.BehaviorSubject(null));L(this,"_showingLink$",new w.BehaviorSubject(null));L(this,"editingLink$",this._editingLink$.asObservable());L(this,"showingLink$",this._showingLink$.asObservable());L(this,"_editPopup",null);L(this,"_infoPopup",null);this._docCanvasPopupManagerService=e,this._textSelectionManagerService=t,this._univerInstanceService=i,this.disposeWithMe(()=>{this._editingLink$.complete(),this._showingLink$.complete()})}get editing(){return this._editingLink$.value}get showing(){return this._showingLink$.value}showEditPopup(e,t){this._editPopup&&this._editPopup.dispose(),this._editingLink$.next(t);const i=this._textSelectionManagerService.getTextRanges({unitId:e,subUnitId:e});let r=i==null?void 0:i[i.length-1];if(t){const{segmentId:s,segmentPage:c,startIndex:d,endIndex:g}=t;r={collapsed:!1,startOffset:d,endOffset:g+1,segmentId:s,segmentPage:c},this._textSelectionManagerService.replaceDocRanges([{startOffset:d,endOffset:g+1}])}return r?(this._editPopup=this._docCanvasPopupManagerService.attachPopupToRange(r,{componentKey:E.componentKey,direction:"bottom"},e),this._editPopup):null}hideEditPopup(){var e;this._editingLink$.next(null),(e=this._editPopup)==null||e.dispose()}showInfoPopup(e){var v,f,m,I,a,h;const{linkId:t,unitId:i,segmentId:r,segmentPage:s,startIndex:c,endIndex:d}=e;if(!(((v=this.showing)==null?void 0:v.linkId)===t&&((f=this.showing)==null?void 0:f.unitId)===i&&((m=this.showing)==null?void 0:m.segmentId)===r&&((I=this.showing)==null?void 0:I.segmentPage)===s&&((a=this.showing)==null?void 0:a.startIndex)===c&&((h=this.showing)==null?void 0:h.endIndex)===d||(this._infoPopup&&this._infoPopup.dispose(),!this._univerInstanceService.getUnit(i,o.UniverInstanceType.UNIVER_DOC))))return this._showingLink$.next({unitId:i,linkId:t,segmentId:r,segmentPage:s,startIndex:c,endIndex:d}),this._infoPopup=this._docCanvasPopupManagerService.attachPopupToRange({collapsed:!1,startOffset:c,endOffset:d+1,segmentId:r,segmentPage:s},{componentKey:T.componentKey,direction:"top-center",multipleDirection:"top",onClickOutside:()=>{this.hideInfoPopup()}},i),this._infoPopup}hideInfoPopup(){var e;this._showingLink$.next(null),(e=this._infoPopup)==null||e.dispose()}};x=Ue([K(0,o.Inject($.DocCanvasPopManagerService)),K(1,o.Inject(S.DocSelectionManagerService)),K(2,o.IUniverInstanceService)],x);var Ee=Object.getOwnPropertyDescriptor,Te=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ee(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},A=(n,e)=>(t,i)=>e(t,i,n);let j=class extends o.Disposable{constructor(n,e,t){super(),this._commandService=n,this._univerInstanceService=e,this._docHyperLinkService=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{var e,t,i;if(n.id===S.SetTextSelectionsOperation.id){const r=n.params,{unitId:s,ranges:c,segmentId:d}=r,g=this._univerInstanceService.getUnit(s,o.UniverInstanceType.UNIVER_DOC),v=c[0];if(v&&g){const{startOffset:f,endOffset:m,collapsed:I,segmentPage:a}=v,h=(t=(e=g.getSelfOrHeaderFooterModel(d))==null?void 0:e.getBody())==null?void 0:t.customRanges;if(I){const y=(i=h==null?void 0:h.findIndex(p=>p.startIndex<f&&p.endIndex>m-1))!=null?i:-1;if(y>-1){const p=h[y];this._docHyperLinkService.showInfoPopup({unitId:s,linkId:p.rangeId,segmentId:d,segmentPage:a,startIndex:p.startIndex,endIndex:p.endIndex});return}}else if(h==null?void 0:h.find(p=>p.startIndex<=f&&p.endIndex>=m-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}};j=Te([A(0,o.ICommandService),A(1,o.IUniverInstanceService),A(2,o.Inject(x))],j);var je=Object.getOwnPropertyDescriptor,Ne=(n,e,t,i)=>{for(var r=i>1?void 0:i?je(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},O=(n,e)=>(t,i)=>e(t,i,n);let Z=class extends o.Disposable{constructor(n,e,t,i,r,s){super(),this._context=n,this._docEventManagerService=e,this._commandService=t,this._hyperLinkPopupService=i,this._docSkeletonManagerService=r,this._docSelectionManagerService=s,!(this._context.unitId===o.DOCS_ZEN_EDITOR_UNIT_ID_KEY||this._context.unitId===o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)&&(this._initHover(),this._initClick())}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}_hideInfoPopup(){this._hyperLinkPopupService.showing&&this._commandService.executeCommand(V.id)}_initHover(){this.disposeWithMe(this._docEventManagerService.hoverCustomRanges$.subscribe(n=>{var r;const e=n.find(s=>s.range.rangeType===o.CustomRangeType.HYPERLINK),t=this._docSelectionManagerService.getTextRanges(),i=t==null?void 0:t[0].segmentId;if(((r=e==null?void 0:e.segmentId)!=null?r:"")!==i){this._hideInfoPopup();return}e?this._commandService.executeCommand(V.id,{unitId:this._context.unitId,linkId:e.range.rangeId,segmentId:e.segmentId,segmentPage:e.segmentPageIndex,rangeId:e.range.rangeId,startIndex:e.range.startIndex,endIndex:e.range.endIndex}):this._hideInfoPopup()}))}_initClick(){this.disposeWithMe(this._docEventManagerService.clickCustomRanges$.subscribe(n=>{const e=n.range;e&&this._commandService.executeCommand(ve.id,{unitId:this._context.unitId,linkId:e.rangeId,segmentId:n.segmentId})}))}};Z=Ne([O(1,o.Inject($.DocEventManagerService)),O(2,o.ICommandService),O(3,o.Inject(x)),O(4,o.Inject(S.DocSkeletonManagerService)),O(5,o.Inject(S.DocSelectionManagerService))],Z);var $e=Object.getOwnPropertyDescriptor,He=(n,e,t,i)=>{for(var r=i>1?void 0:i?$e(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},B=(n,e)=>(t,i)=>e(t,i,n);let Y=class extends o.Disposable{constructor(n,e,t,i){super(),this._context=n,this._docInterceptorService=e,this._hyperLinkService=t,this._docRenderController=i,this._init(),this._initReRender()}_init(){this._docInterceptorService.intercept(S.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:(n,e,t)=>{if(!n)return t(n);const{unitId:i,index:r}=e,s=this._hyperLinkService.showing;if(!s)return t({...n,active:!1});const{linkId:c,unitId:d,startIndex:g,endIndex:v}=s,f=d===i&&n.rangeId===c&&r>=g&&r<=v;return t({...n,active:f})}})}_initReRender(){this.disposeWithMe(this._hyperLinkService.showingLink$.pipe(w.distinctUntilChanged((n,e)=>(n==null?void 0:n.linkId)===(e==null?void 0:e.linkId)&&(n==null?void 0:n.unitId)===(e==null?void 0:e.unitId)&&(n==null?void 0:n.startIndex)===(e==null?void 0:e.startIndex)),w.pairwise()).subscribe(([n,e])=>{e?e.unitId===this._context.unitId&&this._docRenderController.reRender(e.unitId):n&&n.unitId===this._context.unitId&&this._docRenderController.reRender(n.unitId)}))}};Y=He([B(1,o.Inject(S.DocInterceptorService)),B(2,o.Inject(x)),B(3,o.Inject($.DocRenderController))],Y);const he="doc-hyper-link-icon";function oe(n){return{id:D.id,type:l.MenuItemType.BUTTON,icon:he,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",hidden$:l.getMenuHiddenObservable(n,o.UniverInstanceType.UNIVER_DOC),disabled$:new w.Observable(function(e){const i=n.get(S.DocSelectionManagerService).textSelection$.pipe(w.debounceTime(16)).subscribe(()=>{e.next(ge(n))});return()=>{i.unsubscribe()}})}}const Ke={id:D.id,binding:l.MetaKeys.CTRL_COMMAND|l.KeyCode.K,description:"docLink.menu.tooltip",preconditions:$.whenDocAndEditorFocused},Ae={[l.RibbonInsertGroup.MEDIA]:{[D.id]:{order:1,menuItemFactory:oe}},[l.ContextMenuPosition.MAIN_AREA]:{[l.ContextMenuGroup.DATA]:{[D.id]:{order:0,menuItemFactory:oe}}}};var Be=Object.getOwnPropertyDescriptor,Fe=(n,e,t,i)=>{for(var r=i>1?void 0:i?Be(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},U=(n,e)=>(t,i)=>e(t,i,n);let N=class extends o.Disposable{constructor(n,e,t,i){super(),this._componentManager=n,this._commandService=e,this._menuManagerService=t,this._shortcutService=i,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[E.componentKey,E],[T.componentKey,T],[he,q]].forEach(([n,e])=>{this.disposeWithMe(this._componentManager.register(n,e))})}_initCommands(){[se,ce,pe,D,V,ve].forEach(n=>{this._commandService.registerCommand(n)})}_initShortcut(){[Ke].forEach(n=>{this._shortcutService.registerShortcut(n)})}_initMenus(){this._menuManagerService.mergeMenu(Ae)}};N=Fe([U(0,o.Inject(l.ComponentManager)),U(1,o.ICommandService),U(2,l.IMenuManagerService),U(3,l.IShortcutService)],N);const Ve="DOC_HYPER_LINK_UI_PLUGIN";var Ze=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,qe=(n,e,t)=>e in n?Ze(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,We=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ye(e,t):e,s=n.length-1,c;s>=0;s--)(c=n[s])&&(r=c(r)||r);return r},F=(n,e)=>(t,i)=>e(t,i,n),Ie=(n,e,t)=>qe(n,typeof e!="symbol"?e+"":e,t);exports.UniverDocsHyperLinkUIPlugin=class extends o.Plugin{constructor(e=re,t,i,r){super(),this._config=e,this._injector=t,this._renderManagerSrv=i,this._configService=r;const{menu:s,...c}=o.merge({},re,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(Se,c)}onStarting(){[[x],[N],[j]].forEach(t=>{this._injector.add(t)}),this._injector.get(N)}onReady(){this._injector.get(j)}onRendered(){this._initRenderModule()}_initRenderModule(){[[Y],[Z]].forEach(e=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,e)})}};Ie(exports.UniverDocsHyperLinkUIPlugin,"pluginName",Ve);Ie(exports.UniverDocsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC);exports.UniverDocsHyperLinkUIPlugin=We([o.DependentOn(Ce.UniverDocsHyperLinkPlugin),F(1,o.Inject(o.Injector)),F(2,_e.IRenderManagerService),F(3,o.IConfigService)],exports.UniverDocsHyperLinkUIPlugin);
|
package/lib/cjs/locale/ru-RU.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e={docLink:{edit:{confirm:"Подтвердить",cancel:"Отменить",title:"Ссылка",address:"Cсылки",label:"Текст",labelError:"Введите текст ссылки",placeholder:"Пожалуйста, введите
|
|
1
|
+
"use strict";const e={docLink:{edit:{confirm:"Подтвердить",cancel:"Отменить",title:"Ссылка",address:"Cсылки",label:"Текст",labelError:"Введите текст ссылки",placeholder:"Пожалуйста, введите ссылку",addressError:"Пожалуйста, введите корректную ссылку"},info:{copy:"Копировать",edit:"Редактировать",cancel:"Отменить ссылку",coped:"Ссылка скопирована в буфер обмена"},menu:{tooltip:"Добавить ссылку"}}};module.exports=e;
|