@univerjs/docs-hyper-link 0.2.3 → 0.2.4-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,5 @@
1
1
  # @univerjs/docs-hyper-link
2
2
 
3
- ## Package Overview
4
-
5
- | Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
6
- | --- | --- | --- | --- | --- | :---: | :---: |
7
- | `@univerjs/docs-hyper-link` | `UniverDocsHyperLink` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |
8
-
9
3
  ## Introduction
10
4
 
11
5
  `@univerjs/docs-hyper-link` provides the base link function of Univer Docs.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var M=Object.defineProperty;var U=(n,t,e)=>t in n?M(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var c=(n,t,e)=>U(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),m=require("rxjs"),_=require("@wendellhu/redi"),L="DOC_HYPER_LINK_PLUGIN";class p extends a.Disposable{constructor(){super();c(this,"_links",new Map);c(this,"_linkUpdate$",new m.Subject);c(this,"linkUpdate$",this._linkUpdate$.asObservable());this.disposeWithMe(()=>{this._linkUpdate$.complete()})}_ensureMap(e){let r=this._links.get(e);return r||(r=new Map,this._links.set(e,r)),r}addLink(e,r){return this._ensureMap(e).set(r.id,r),this._linkUpdate$.next({type:"add",link:r,unitId:e}),!0}updateLink(e,r,i){const s=this._ensureMap(e).get(r);if(!s)return!1;const g=s.payload;return s.payload=i,this._linkUpdate$.next({type:"update",link:s,oldPayload:g,unitId:e}),!0}deleteLink(e,r){const i=this._ensureMap(e),o=i.get(r);return o?(i.delete(r),this._linkUpdate$.next({type:"delete",link:o,unitId:e}),!1):!0}getLink(e,r){return this._ensureMap(e).get(r)}getUnit(e){const r=this._ensureMap(e);return Array.from(r.values())}deleteUnit(e){this._links.delete(e),this._linkUpdate$.next({unitId:e,type:"delete-unit"})}}var h=(n=>(n[n.URL=0]="URL",n))(h||{});const v={type:a.CommandType.MUTATION,id:"docs.mutation.add-hyper-link",handler(n,t){return t?n.get(p).addLink(t.unitId,t.link):!1}},f={type:a.CommandType.MUTATION,id:"docs.mutation.update-hyper-link",handler(n,t){return t?n.get(p).updateLink(t.unitId,t.linkId,t.payload):!1}},k={type:a.CommandType.MUTATION,id:"docs.mutation.delete-hyper-link",handler(n,t){return t?n.get(p).deleteLink(t.unitId,t.linkId):!1}};var D=Object.defineProperty,P=Object.getOwnPropertyDescriptor,H=(n,t,e,r)=>{for(var i=r>1?void 0:r?P(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(i=(r?s(t,e,i):s(i))||i);return r&&i&&D(t,e,i),i},O=(n,t)=>(e,r)=>t(e,r,n);let d=class extends a.Disposable{constructor(n){super(),this._commandService=n,this._initCommands()}_initCommands(){[v,f,k].forEach(n=>{this.disposeWithMe(this._commandService.registerCommand(n))})}};d=H([a.OnLifecycle(a.LifecycleStages.Starting,d),O(0,a.ICommandService)],d);var I=Object.defineProperty,S=Object.getOwnPropertyDescriptor,C=(n,t,e,r)=>{for(var i=r>1?void 0:r?S(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(i=(r?s(t,e,i):s(i))||i);return r&&i&&I(t,e,i),i},y=(n,t)=>(e,r)=>t(e,r,n);let u=class extends a.Disposable{constructor(n,t,e){super(),this._resourceManagerService=n,this._docHyperLinkModel=t,this._univerInstanceService=e,this._init()}_init(){this._resourceManagerService.registerPluginResource({pluginName:L,businesses:[a.UniverInstanceType.UNIVER_DOC],onLoad:(n,t)=>{t.links.forEach(e=>{this._docHyperLinkModel.addLink(n,e)})},onUnLoad:n=>{this._docHyperLinkModel.deleteUnit(n)},toJson:n=>{var o;const t=this._docHyperLinkModel.getUnit(n),e=this._univerInstanceService.getUnit(n,a.UniverInstanceType.UNIVER_DOC),r=(o=e==null?void 0:e.getBody())==null?void 0:o.customRanges,i=new Set(r==null?void 0:r.filter(s=>s.rangeType===a.CustomRangeType.HYPERLINK).map(s=>s.rangeId));return JSON.stringify({links:t.filter(s=>i.has(s.id))})},parseJson(n){return JSON.parse(n)}})}};u=C([a.OnLifecycle(a.LifecycleStages.Starting,u),y(0,_.Inject(a.IResourceManagerService)),y(1,_.Inject(p)),y(2,a.IUniverInstanceService)],u);var N=Object.defineProperty,$=Object.getOwnPropertyDescriptor,b=(n,t,e,r)=>{for(var i=r>1?void 0:r?$(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(i=(r?s(t,e,i):s(i))||i);return r&&i&&N(t,e,i),i},T=(n,t)=>(e,r)=>t(e,r,n),l;exports.UniverDocsHyperLinkPlugin=(l=class extends a.Plugin{constructor(t){super(),this._injector=t}onStarting(t){[[p],[d],[u]].forEach(r=>{t.add(r)})}},c(l,"pluginName",L),c(l,"type",a.UniverInstanceType.UNIVER_DOC),l);exports.UniverDocsHyperLinkPlugin=b([T(0,_.Inject(_.Injector))],exports.UniverDocsHyperLinkPlugin);exports.AddDocHyperLinkMutation=v;exports.DOC_HYPER_LINK_PLUGIN=L;exports.DeleteDocHyperLinkMutation=k;exports.DocHyperLinkModel=p;exports.DocHyperLinkType=h;exports.UpdateDocHyperLinkMutation=f;
1
+ "use strict";var H=Object.defineProperty;var U=(t,e,n)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var d=(t,e,n)=>U(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),I=require("rxjs"),g=require("@univerjs/docs"),L="DOC_HYPER_LINK_PLUGIN";class c extends o.Disposable{constructor(){super();d(this,"_links",new Map);d(this,"_linkUpdate$",new I.Subject);d(this,"linkUpdate$",this._linkUpdate$.asObservable());this.disposeWithMe(()=>{this._linkUpdate$.complete()})}_ensureMap(n){let r=this._links.get(n);return r||(r=new Map,this._links.set(n,r)),r}addLink(n,r){const i=this._ensureMap(n);return r.payload=o.Tools.normalizeUrl(r.payload),i.set(r.id,r),this._linkUpdate$.next({type:"add",link:r,unitId:n}),!0}updateLink(n,r,i){const s=this._ensureMap(n).get(r);if(!s)return!1;const l=s.payload;return s.payload=i,this._linkUpdate$.next({type:"update",link:s,oldPayload:l,unitId:n}),!0}deleteLink(n,r){const i=this._ensureMap(n),a=i.get(r);return a?(i.delete(r),this._linkUpdate$.next({type:"delete",link:a,unitId:n}),!1):!0}getLink(n,r){return this._ensureMap(n).get(r)}getUnit(n){const r=this._ensureMap(n);return Array.from(r.values())}deleteUnit(n){this._links.delete(n),this._linkUpdate$.next({unitId:n,type:"delete-unit"})}}var f=(t=>(t[t.URL=0]="URL",t))(f||{});const m={type:o.CommandType.MUTATION,id:"docs.mutation.add-hyper-link",handler(t,e){return e?t.get(c).addLink(e.unitId,e.link):!1}},k={type:o.CommandType.MUTATION,id:"docs.mutation.update-hyper-link",handler(t,e){return e?t.get(c).updateLink(e.unitId,e.linkId,e.payload):!1}},M={type:o.CommandType.MUTATION,id:"docs.mutation.delete-hyper-link",handler(t,e){return e?t.get(c).deleteLink(e.unitId,e.linkId):!1}};var O=Object.defineProperty,C=Object.getOwnPropertyDescriptor,R=(t,e,n,r)=>{for(var i=r>1?void 0:r?C(e,n):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(i=(r?s(e,n,i):s(i))||i);return r&&i&&O(e,n,i),i},S=(t,e)=>(n,r)=>e(n,r,t);let p=class extends o.Disposable{constructor(t){super(),this._commandService=t,this._initCommands()}_initCommands(){[m,k,M].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}};p=R([o.OnLifecycle(o.LifecycleStages.Starting,p),S(0,o.ICommandService)],p);var b=Object.defineProperty,T=Object.getOwnPropertyDescriptor,$=(t,e,n,r)=>{for(var i=r>1?void 0:r?T(e,n):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(i=(r?s(e,n,i):s(i))||i);return r&&i&&b(e,n,i),i},y=(t,e)=>(n,r)=>e(n,r,t);let u=class extends o.Disposable{constructor(t,e,n){super(),this._resourceManagerService=t,this._docHyperLinkModel=e,this._univerInstanceService=n,this._init()}_init(){this._resourceManagerService.registerPluginResource({pluginName:L,businesses:[o.UniverInstanceType.UNIVER_DOC],onLoad:(t,e)=>{e.links.forEach(n=>{this._docHyperLinkModel.addLink(t,n)})},onUnLoad:t=>{this._docHyperLinkModel.deleteUnit(t)},toJson:t=>{var a;const e=this._docHyperLinkModel.getUnit(t),n=this._univerInstanceService.getUnit(t,o.UniverInstanceType.UNIVER_DOC),r=(a=n==null?void 0:n.getBody())==null?void 0:a.customRanges,i=new Set(r==null?void 0:r.filter(s=>s.rangeType===o.CustomRangeType.HYPERLINK).map(s=>s.rangeId));return JSON.stringify({links:e.filter(s=>i.has(s.id))})},parseJson(t){return JSON.parse(t)}})}};u=$([o.OnLifecycle(o.LifecycleStages.Starting,u),y(0,o.Inject(o.IResourceManagerService)),y(1,o.Inject(c)),y(2,o.IUniverInstanceService)],u);var N=Object.defineProperty,j=Object.getOwnPropertyDescriptor,w=(t,e,n,r)=>{for(var i=r>1?void 0:r?j(e,n):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(i=(r?s(e,n,i):s(i))||i);return r&&i&&N(e,n,i),i},h=(t,e)=>(n,r)=>e(n,r,t);let _=class extends o.Disposable{constructor(t,e){super(),this._docCustomRangeService=t,this._docHyperLinkModel=e,this._initCustomRangeHooks()}_initCustomRangeHooks(){this.disposeWithMe(this._docCustomRangeService.addClipboardHook({onCopyCustomRange:(t,e)=>{const{rangeId:n,rangeType:r,data:i,...a}=e;if(r===o.CustomRangeType.HYPERLINK){if(i){const v=o.Tools.generateRandomId();return this._docHyperLinkModel.addLink(t,{id:v,payload:i}),{...e,rangeId:v}}const s=this._docHyperLinkModel.getLink(t,n);if(!s)return e;const l=o.Tools.generateRandomId();return this._docHyperLinkModel.addLink(t,{id:l,payload:s.payload}),{...a,rangeId:l,rangeType:r}}return e}}))}};_=w([o.OnLifecycle(o.LifecycleStages.Ready,_),h(0,o.Inject(g.DocCustomRangeService)),h(1,o.Inject(c))],_);var P=Object.defineProperty,x=Object.getOwnPropertyDescriptor,E=(t,e,n)=>e in t?P(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,A=(t,e,n,r)=>{for(var i=r>1?void 0:r?x(e,n):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(i=(r?s(e,n,i):s(i))||i);return r&&i&&P(e,n,i),i},K=(t,e)=>(n,r)=>e(n,r,t),D=(t,e,n)=>E(t,typeof e!="symbol"?e+"":e,n);exports.UniverDocsHyperLinkPlugin=class extends o.Plugin{constructor(e,n){super(),this._config=e,this._injector=n}onStarting(e){[[c],[p],[u],[_]].forEach(r=>{e.add(r)})}};D(exports.UniverDocsHyperLinkPlugin,"pluginName",L);D(exports.UniverDocsHyperLinkPlugin,"type",o.UniverInstanceType.UNIVER_DOC);exports.UniverDocsHyperLinkPlugin=A([o.DependentOn(g.UniverDocsPlugin),K(1,o.Inject(o.Injector))],exports.UniverDocsHyperLinkPlugin);exports.AddDocHyperLinkMutation=m;exports.DOC_HYPER_LINK_PLUGIN=L;exports.DeleteDocHyperLinkMutation=M;exports.DocHyperLinkModel=c;exports.DocHyperLinkType=f;exports.UpdateDocHyperLinkMutation=k;
package/lib/es/index.js CHANGED
@@ -1,134 +1,135 @@
1
- var M = Object.defineProperty;
2
- var U = (t, n, e) => n in t ? M(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e;
3
- var a = (t, n, e) => U(t, typeof n != "symbol" ? n + "" : n, e);
4
- import { Disposable as y, CommandType as f, OnLifecycle as L, LifecycleStages as m, ICommandService as O, IResourceManagerService as P, UniverInstanceType as u, CustomRangeType as I, IUniverInstanceService as H, Plugin as D } from "@univerjs/core";
5
- import { Subject as S } from "rxjs";
6
- import { Inject as h, Injector as C } from "@wendellhu/redi";
7
- const g = "DOC_HYPER_LINK_PLUGIN";
8
- class c extends y {
1
+ var I = Object.defineProperty;
2
+ var D = (t, e, n) => e in t ? I(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var l = (t, e, n) => D(t, typeof e != "symbol" ? e + "" : e, n);
4
+ import { Disposable as f, Tools as y, CommandType as g, OnLifecycle as L, LifecycleStages as M, ICommandService as R, Inject as d, IResourceManagerService as S, UniverInstanceType as m, CustomRangeType as U, IUniverInstanceService as $, DependentOn as b, Injector as N, Plugin as w } from "@univerjs/core";
5
+ import { Subject as x } from "rxjs";
6
+ import { DocCustomRangeService as T, UniverDocsPlugin as j } from "@univerjs/docs";
7
+ const O = "DOC_HYPER_LINK_PLUGIN";
8
+ class a extends f {
9
9
  constructor() {
10
10
  super();
11
- a(this, "_links", /* @__PURE__ */ new Map());
12
- a(this, "_linkUpdate$", new S());
13
- a(this, "linkUpdate$", this._linkUpdate$.asObservable());
11
+ l(this, "_links", /* @__PURE__ */ new Map());
12
+ l(this, "_linkUpdate$", new x());
13
+ l(this, "linkUpdate$", this._linkUpdate$.asObservable());
14
14
  this.disposeWithMe(() => {
15
15
  this._linkUpdate$.complete();
16
16
  });
17
17
  }
18
- _ensureMap(e) {
19
- let r = this._links.get(e);
20
- return r || (r = /* @__PURE__ */ new Map(), this._links.set(e, r)), r;
18
+ _ensureMap(n) {
19
+ let r = this._links.get(n);
20
+ return r || (r = /* @__PURE__ */ new Map(), this._links.set(n, r)), r;
21
21
  }
22
- addLink(e, r) {
23
- return this._ensureMap(e).set(r.id, r), this._linkUpdate$.next({
22
+ addLink(n, r) {
23
+ const i = this._ensureMap(n);
24
+ return r.payload = y.normalizeUrl(r.payload), i.set(r.id, r), this._linkUpdate$.next({
24
25
  type: "add",
25
26
  link: r,
26
- unitId: e
27
+ unitId: n
27
28
  }), !0;
28
29
  }
29
- updateLink(e, r, i) {
30
- const s = this._ensureMap(e).get(r);
31
- if (!s)
30
+ updateLink(n, r, i) {
31
+ const o = this._ensureMap(n).get(r);
32
+ if (!o)
32
33
  return !1;
33
- const k = s.payload;
34
- return s.payload = i, this._linkUpdate$.next({
34
+ const c = o.payload;
35
+ return o.payload = i, this._linkUpdate$.next({
35
36
  type: "update",
36
- link: s,
37
- oldPayload: k,
38
- unitId: e
37
+ link: o,
38
+ oldPayload: c,
39
+ unitId: n
39
40
  }), !0;
40
41
  }
41
- deleteLink(e, r) {
42
- const i = this._ensureMap(e), o = i.get(r);
43
- return o ? (i.delete(r), this._linkUpdate$.next({
42
+ deleteLink(n, r) {
43
+ const i = this._ensureMap(n), s = i.get(r);
44
+ return s ? (i.delete(r), this._linkUpdate$.next({
44
45
  type: "delete",
45
- link: o,
46
- unitId: e
46
+ link: s,
47
+ unitId: n
47
48
  }), !1) : !0;
48
49
  }
49
- getLink(e, r) {
50
- return this._ensureMap(e).get(r);
50
+ getLink(n, r) {
51
+ return this._ensureMap(n).get(r);
51
52
  }
52
- getUnit(e) {
53
- const r = this._ensureMap(e);
53
+ getUnit(n) {
54
+ const r = this._ensureMap(n);
54
55
  return Array.from(r.values());
55
56
  }
56
- deleteUnit(e) {
57
- this._links.delete(e), this._linkUpdate$.next({
58
- unitId: e,
57
+ deleteUnit(n) {
58
+ this._links.delete(n), this._linkUpdate$.next({
59
+ unitId: n,
59
60
  type: "delete-unit"
60
61
  });
61
62
  }
62
63
  }
63
- var $ = /* @__PURE__ */ ((t) => (t[t.URL = 0] = "URL", t))($ || {});
64
- const N = {
65
- type: f.MUTATION,
64
+ var E = /* @__PURE__ */ ((t) => (t[t.URL = 0] = "URL", t))(E || {});
65
+ const A = {
66
+ type: g.MUTATION,
66
67
  id: "docs.mutation.add-hyper-link",
67
- handler(t, n) {
68
- return n ? t.get(c).addLink(n.unitId, n.link) : !1;
68
+ handler(t, e) {
69
+ return e ? t.get(a).addLink(e.unitId, e.link) : !1;
69
70
  }
70
- }, R = {
71
- type: f.MUTATION,
71
+ }, J = {
72
+ type: g.MUTATION,
72
73
  id: "docs.mutation.update-hyper-link",
73
- handler(t, n) {
74
- return n ? t.get(c).updateLink(n.unitId, n.linkId, n.payload) : !1;
74
+ handler(t, e) {
75
+ return e ? t.get(a).updateLink(e.unitId, e.linkId, e.payload) : !1;
75
76
  }
76
- }, b = {
77
- type: f.MUTATION,
77
+ }, K = {
78
+ type: g.MUTATION,
78
79
  id: "docs.mutation.delete-hyper-link",
79
- handler(t, n) {
80
- return n ? t.get(c).deleteLink(n.unitId, n.linkId) : !1;
80
+ handler(t, e) {
81
+ return e ? t.get(a).deleteLink(e.unitId, e.linkId) : !1;
81
82
  }
82
83
  };
83
- var j = Object.defineProperty, w = Object.getOwnPropertyDescriptor, x = (t, n, e, r) => {
84
- for (var i = r > 1 ? void 0 : r ? w(n, e) : n, o = t.length - 1, s; o >= 0; o--)
85
- (s = t[o]) && (i = (r ? s(n, e, i) : s(i)) || i);
86
- return r && i && j(n, e, i), i;
87
- }, E = (t, n) => (e, r) => n(e, r, t);
88
- let l = class extends y {
84
+ var Y = Object.defineProperty, V = Object.getOwnPropertyDescriptor, W = (t, e, n, r) => {
85
+ for (var i = r > 1 ? void 0 : r ? V(e, n) : e, s = t.length - 1, o; s >= 0; s--)
86
+ (o = t[s]) && (i = (r ? o(e, n, i) : o(i)) || i);
87
+ return r && i && Y(e, n, i), i;
88
+ }, G = (t, e) => (n, r) => e(n, r, t);
89
+ let p = class extends f {
89
90
  constructor(t) {
90
91
  super(), this._commandService = t, this._initCommands();
91
92
  }
92
93
  _initCommands() {
93
94
  [
94
- N,
95
- R,
96
- b
95
+ A,
96
+ J,
97
+ K
97
98
  ].forEach((t) => {
98
99
  this.disposeWithMe(this._commandService.registerCommand(t));
99
100
  });
100
101
  }
101
102
  };
102
- l = x([
103
- L(m.Starting, l),
104
- E(0, O)
105
- ], l);
106
- var T = Object.defineProperty, A = Object.getOwnPropertyDescriptor, J = (t, n, e, r) => {
107
- for (var i = r > 1 ? void 0 : r ? A(n, e) : n, o = t.length - 1, s; o >= 0; o--)
108
- (s = t[o]) && (i = (r ? s(n, e, i) : s(i)) || i);
109
- return r && i && T(n, e, i), i;
110
- }, _ = (t, n) => (e, r) => n(e, r, t);
111
- let d = class extends y {
112
- constructor(t, n, e) {
113
- super(), this._resourceManagerService = t, this._docHyperLinkModel = n, this._univerInstanceService = e, this._init();
103
+ p = W([
104
+ L(M.Starting, p),
105
+ G(0, R)
106
+ ], p);
107
+ var z = Object.defineProperty, B = Object.getOwnPropertyDescriptor, F = (t, e, n, r) => {
108
+ for (var i = r > 1 ? void 0 : r ? B(e, n) : e, s = t.length - 1, o; s >= 0; s--)
109
+ (o = t[s]) && (i = (r ? o(e, n, i) : o(i)) || i);
110
+ return r && i && z(e, n, i), i;
111
+ }, v = (t, e) => (n, r) => e(n, r, t);
112
+ let _ = class extends f {
113
+ constructor(t, e, n) {
114
+ super(), this._resourceManagerService = t, this._docHyperLinkModel = e, this._univerInstanceService = n, this._init();
114
115
  }
115
116
  _init() {
116
117
  this._resourceManagerService.registerPluginResource({
117
- pluginName: g,
118
- businesses: [u.UNIVER_DOC],
119
- onLoad: (t, n) => {
120
- n.links.forEach((e) => {
121
- this._docHyperLinkModel.addLink(t, e);
118
+ pluginName: O,
119
+ businesses: [m.UNIVER_DOC],
120
+ onLoad: (t, e) => {
121
+ e.links.forEach((n) => {
122
+ this._docHyperLinkModel.addLink(t, n);
122
123
  });
123
124
  },
124
125
  onUnLoad: (t) => {
125
126
  this._docHyperLinkModel.deleteUnit(t);
126
127
  },
127
128
  toJson: (t) => {
128
- var o;
129
- const n = this._docHyperLinkModel.getUnit(t), e = this._univerInstanceService.getUnit(t, u.UNIVER_DOC), r = (o = e == null ? void 0 : e.getBody()) == null ? void 0 : o.customRanges, i = new Set(r == null ? void 0 : r.filter((s) => s.rangeType === I.HYPERLINK).map((s) => s.rangeId));
129
+ var s;
130
+ const e = this._docHyperLinkModel.getUnit(t), n = this._univerInstanceService.getUnit(t, m.UNIVER_DOC), r = (s = n == null ? void 0 : n.getBody()) == null ? void 0 : s.customRanges, i = new Set(r == null ? void 0 : r.filter((o) => o.rangeType === U.HYPERLINK).map((o) => o.rangeId));
130
131
  return JSON.stringify({
131
- links: n.filter((s) => i.has(s.id))
132
+ links: e.filter((o) => i.has(o.id))
132
133
  });
133
134
  },
134
135
  parseJson(t) {
@@ -137,40 +138,93 @@ let d = class extends y {
137
138
  });
138
139
  }
139
140
  };
140
- d = J([
141
- L(m.Starting, d),
142
- _(0, h(P)),
143
- _(1, h(c)),
144
- _(2, H)
145
- ], d);
146
- var K = Object.defineProperty, V = Object.getOwnPropertyDescriptor, Y = (t, n, e, r) => {
147
- for (var i = r > 1 ? void 0 : r ? V(n, e) : n, o = t.length - 1, s; o >= 0; o--)
148
- (s = t[o]) && (i = (r ? s(n, e, i) : s(i)) || i);
149
- return r && i && K(n, e, i), i;
150
- }, G = (t, n) => (e, r) => n(e, r, t), p;
151
- let v = (p = class extends D {
152
- constructor(t) {
153
- super(), this._injector = t;
141
+ _ = F([
142
+ L(M.Starting, _),
143
+ v(0, d(S)),
144
+ v(1, d(a)),
145
+ v(2, $)
146
+ ], _);
147
+ var q = Object.defineProperty, Q = Object.getOwnPropertyDescriptor, X = (t, e, n, r) => {
148
+ for (var i = r > 1 ? void 0 : r ? Q(e, n) : e, s = t.length - 1, o; s >= 0; s--)
149
+ (o = t[s]) && (i = (r ? o(e, n, i) : o(i)) || i);
150
+ return r && i && q(e, n, i), i;
151
+ }, k = (t, e) => (n, r) => e(n, r, t);
152
+ let u = class extends f {
153
+ constructor(t, e) {
154
+ super(), this._docCustomRangeService = t, this._docHyperLinkModel = e, this._initCustomRangeHooks();
155
+ }
156
+ _initCustomRangeHooks() {
157
+ this.disposeWithMe(
158
+ this._docCustomRangeService.addClipboardHook({
159
+ onCopyCustomRange: (t, e) => {
160
+ const { rangeId: n, rangeType: r, data: i, ...s } = e;
161
+ if (r === U.HYPERLINK) {
162
+ if (i) {
163
+ const P = y.generateRandomId();
164
+ return this._docHyperLinkModel.addLink(t, {
165
+ id: P,
166
+ payload: i
167
+ }), {
168
+ ...e,
169
+ rangeId: P
170
+ };
171
+ }
172
+ const o = this._docHyperLinkModel.getLink(t, n);
173
+ if (!o)
174
+ return e;
175
+ const c = y.generateRandomId();
176
+ return this._docHyperLinkModel.addLink(t, {
177
+ id: c,
178
+ payload: o.payload
179
+ }), {
180
+ ...s,
181
+ rangeId: c,
182
+ rangeType: r
183
+ };
184
+ }
185
+ return e;
186
+ }
187
+ })
188
+ );
189
+ }
190
+ };
191
+ u = X([
192
+ L(M.Ready, u),
193
+ k(0, d(T)),
194
+ k(1, d(a))
195
+ ], u);
196
+ var H = Object.defineProperty, Z = Object.getOwnPropertyDescriptor, ee = (t, e, n) => e in t ? H(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, te = (t, e, n, r) => {
197
+ for (var i = r > 1 ? void 0 : r ? Z(e, n) : e, s = t.length - 1, o; s >= 0; s--)
198
+ (o = t[s]) && (i = (r ? o(e, n, i) : o(i)) || i);
199
+ return r && i && H(e, n, i), i;
200
+ }, ne = (t, e) => (n, r) => e(n, r, t), C = (t, e, n) => ee(t, typeof e != "symbol" ? e + "" : e, n);
201
+ let h = class extends w {
202
+ constructor(t, e) {
203
+ super(), this._config = t, this._injector = e;
154
204
  }
155
205
  onStarting(t) {
156
206
  [
157
- [c],
158
- [l],
159
- [d]
160
- ].forEach((e) => {
161
- t.add(e);
207
+ [a],
208
+ [p],
209
+ [_],
210
+ [u]
211
+ ].forEach((n) => {
212
+ t.add(n);
162
213
  });
163
214
  }
164
- }, a(p, "pluginName", g), a(p, "type", u.UNIVER_DOC), p);
165
- v = Y([
166
- G(0, h(C))
167
- ], v);
215
+ };
216
+ C(h, "pluginName", O);
217
+ C(h, "type", m.UNIVER_DOC);
218
+ h = te([
219
+ b(j),
220
+ ne(1, d(N))
221
+ ], h);
168
222
  export {
169
- N as AddDocHyperLinkMutation,
170
- g as DOC_HYPER_LINK_PLUGIN,
171
- b as DeleteDocHyperLinkMutation,
172
- c as DocHyperLinkModel,
173
- $ as DocHyperLinkType,
174
- v as UniverDocsHyperLinkPlugin,
175
- R as UpdateDocHyperLinkMutation
223
+ A as AddDocHyperLinkMutation,
224
+ O as DOC_HYPER_LINK_PLUGIN,
225
+ K as DeleteDocHyperLinkMutation,
226
+ a as DocHyperLinkModel,
227
+ E as DocHyperLinkType,
228
+ h as UniverDocsHyperLinkPlugin,
229
+ J as UpdateDocHyperLinkMutation
176
230
  };
@@ -1,8 +1,8 @@
1
- import { ICommand } from '@univerjs/core';
1
+ import { IMutation } from '@univerjs/core';
2
2
  import { IDocHyperLink } from '../../types/interfaces/i-doc-hyper-link';
3
3
 
4
4
  export interface IAddDocHyperLinkMutationParams {
5
5
  unitId: string;
6
6
  link: IDocHyperLink;
7
7
  }
8
- export declare const AddDocHyperLinkMutation: ICommand<IAddDocHyperLinkMutationParams>;
8
+ export declare const AddDocHyperLinkMutation: IMutation<IAddDocHyperLinkMutationParams>;
@@ -0,0 +1,10 @@
1
+ import { Disposable } from '@univerjs/core';
2
+ import { DocCustomRangeService } from '@univerjs/docs';
3
+ import { DocHyperLinkModel } from '../models/hyper-link.model';
4
+
5
+ export declare class DocHyperLinkCustomRangeController extends Disposable {
6
+ private readonly _docCustomRangeService;
7
+ private readonly _docHyperLinkModel;
8
+ constructor(_docCustomRangeService: DocCustomRangeService, _docHyperLinkModel: DocHyperLinkModel);
9
+ private _initCustomRangeHooks;
10
+ }
@@ -1,10 +1,10 @@
1
- import { Plugin, UniverInstanceType } from '@univerjs/core';
2
- import { Injector } from '@wendellhu/redi';
1
+ import { Injector, Plugin, UniverInstanceType } from '@univerjs/core';
3
2
 
4
3
  export declare class UniverDocsHyperLinkPlugin extends Plugin {
4
+ private _config;
5
5
  protected _injector: Injector;
6
6
  static pluginName: string;
7
7
  static type: UniverInstanceType;
8
- constructor(_injector: Injector);
8
+ constructor(_config: unknown, _injector: Injector);
9
9
  onStarting(injector: Injector): void;
10
10
  }
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(o,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@univerjs/core"),require("rxjs"),require("@wendellhu/redi")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","@wendellhu/redi"],s):(o=typeof globalThis<"u"?globalThis:o||self,s(o.UniverDocsHyperLink={},o.UniverCore,o.rxjs,o["@wendellhu/redi"]))})(this,function(o,s,l,u){"use strict";var $=Object.defineProperty;var b=(o,s,l)=>s in o?$(o,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[s]=l;var c=(o,s,l)=>b(o,typeof s!="symbol"?s+"":s,l);var h;const f="DOC_HYPER_LINK_PLUGIN";class p extends s.Disposable{constructor(){super();c(this,"_links",new Map);c(this,"_linkUpdate$",new l.Subject);c(this,"linkUpdate$",this._linkUpdate$.asObservable());this.disposeWithMe(()=>{this._linkUpdate$.complete()})}_ensureMap(e){let t=this._links.get(e);return t||(t=new Map,this._links.set(e,t)),t}addLink(e,t){return this._ensureMap(e).set(t.id,t),this._linkUpdate$.next({type:"add",link:t,unitId:e}),!0}updateLink(e,t,r){const a=this._ensureMap(e).get(t);if(!a)return!1;const T=a.payload;return a.payload=r,this._linkUpdate$.next({type:"update",link:a,oldPayload:T,unitId:e}),!0}deleteLink(e,t){const r=this._ensureMap(e),d=r.get(t);return d?(r.delete(t),this._linkUpdate$.next({type:"delete",link:d,unitId:e}),!1):!0}getLink(e,t){return this._ensureMap(e).get(t)}getUnit(e){const t=this._ensureMap(e);return Array.from(t.values())}deleteUnit(e){this._links.delete(e),this._linkUpdate$.next({unitId:e,type:"delete-unit"})}}var L=(i=>(i[i.URL=0]="URL",i))(L||{});const k={type:s.CommandType.MUTATION,id:"docs.mutation.add-hyper-link",handler(i,n){return n?i.get(p).addLink(n.unitId,n.link):!1}},U={type:s.CommandType.MUTATION,id:"docs.mutation.update-hyper-link",handler(i,n){return n?i.get(p).updateLink(n.unitId,n.linkId,n.payload):!1}},m={type:s.CommandType.MUTATION,id:"docs.mutation.delete-hyper-link",handler(i,n){return n?i.get(p).deleteLink(n.unitId,n.linkId):!1}};var M=Object.defineProperty,g=Object.getOwnPropertyDescriptor,D=(i,n,e,t)=>{for(var r=t>1?void 0:t?g(n,e):n,d=i.length-1,a;d>=0;d--)(a=i[d])&&(r=(t?a(n,e,r):a(r))||r);return t&&r&&M(n,e,r),r},P=(i,n)=>(e,t)=>n(e,t,i);let _=class extends s.Disposable{constructor(i){super(),this._commandService=i,this._initCommands()}_initCommands(){[k,U,m].forEach(i=>{this.disposeWithMe(this._commandService.registerCommand(i))})}};_=D([s.OnLifecycle(s.LifecycleStages.Starting,_),P(0,s.ICommandService)],_);var H=Object.defineProperty,O=Object.getOwnPropertyDescriptor,I=(i,n,e,t)=>{for(var r=t>1?void 0:t?O(n,e):n,d=i.length-1,a;d>=0;d--)(a=i[d])&&(r=(t?a(n,e,r):a(r))||r);return t&&r&&H(n,e,r),r},v=(i,n)=>(e,t)=>n(e,t,i);let y=class extends s.Disposable{constructor(i,n,e){super(),this._resourceManagerService=i,this._docHyperLinkModel=n,this._univerInstanceService=e,this._init()}_init(){this._resourceManagerService.registerPluginResource({pluginName:f,businesses:[s.UniverInstanceType.UNIVER_DOC],onLoad:(i,n)=>{n.links.forEach(e=>{this._docHyperLinkModel.addLink(i,e)})},onUnLoad:i=>{this._docHyperLinkModel.deleteUnit(i)},toJson:i=>{var d;const n=this._docHyperLinkModel.getUnit(i),e=this._univerInstanceService.getUnit(i,s.UniverInstanceType.UNIVER_DOC),t=(d=e==null?void 0:e.getBody())==null?void 0:d.customRanges,r=new Set(t==null?void 0:t.filter(a=>a.rangeType===s.CustomRangeType.HYPERLINK).map(a=>a.rangeId));return JSON.stringify({links:n.filter(a=>r.has(a.id))})},parseJson(i){return JSON.parse(i)}})}};y=I([s.OnLifecycle(s.LifecycleStages.Starting,y),v(0,u.Inject(s.IResourceManagerService)),v(1,u.Inject(p)),v(2,s.IUniverInstanceService)],y);var C=Object.defineProperty,S=Object.getOwnPropertyDescriptor,j=(i,n,e,t)=>{for(var r=t>1?void 0:t?S(n,e):n,d=i.length-1,a;d>=0;d--)(a=i[d])&&(r=(t?a(n,e,r):a(r))||r);return t&&r&&C(n,e,r),r},N=(i,n)=>(e,t)=>n(e,t,i);o.UniverDocsHyperLinkPlugin=(h=class extends s.Plugin{constructor(n){super(),this._injector=n}onStarting(n){[[p],[_],[y]].forEach(t=>{n.add(t)})}},c(h,"pluginName",f),c(h,"type",s.UniverInstanceType.UNIVER_DOC),h),o.UniverDocsHyperLinkPlugin=j([N(0,u.Inject(u.Injector))],o.UniverDocsHyperLinkPlugin),o.AddDocHyperLinkMutation=k,o.DOC_HYPER_LINK_PLUGIN=f,o.DeleteDocHyperLinkMutation=m,o.DocHyperLinkModel=p,o.DocHyperLinkType=L,o.UpdateDocHyperLinkMutation=U,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
1
+ (function(a,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/core"),require("rxjs"),require("@univerjs/docs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","@univerjs/docs"],r):(a=typeof globalThis<"u"?globalThis:a||self,r(a.UniverDocsHyperLink={},a.UniverCore,a.rxjs,a.UniverDocs))})(this,function(a,r,p,h){"use strict";var K=Object.defineProperty;var Y=(a,r,p)=>r in a?K(a,r,{enumerable:!0,configurable:!0,writable:!0,value:p}):a[r]=p;var v=(a,r,p)=>Y(a,typeof r!="symbol"?r+"":r,p);const f="DOC_HYPER_LINK_PLUGIN";class l extends r.Disposable{constructor(){super();v(this,"_links",new Map);v(this,"_linkUpdate$",new p.Subject);v(this,"linkUpdate$",this._linkUpdate$.asObservable());this.disposeWithMe(()=>{this._linkUpdate$.complete()})}_ensureMap(n){let i=this._links.get(n);return i||(i=new Map,this._links.set(n,i)),i}addLink(n,i){const s=this._ensureMap(n);return i.payload=r.Tools.normalizeUrl(i.payload),s.set(i.id,i),this._linkUpdate$.next({type:"add",link:i,unitId:n}),!0}updateLink(n,i,s){const o=this._ensureMap(n).get(i);if(!o)return!1;const y=o.payload;return o.payload=s,this._linkUpdate$.next({type:"update",link:o,oldPayload:y,unitId:n}),!0}deleteLink(n,i){const s=this._ensureMap(n),d=s.get(i);return d?(s.delete(i),this._linkUpdate$.next({type:"delete",link:d,unitId:n}),!1):!0}getLink(n,i){return this._ensureMap(n).get(i)}getUnit(n){const i=this._ensureMap(n);return Array.from(i.values())}deleteUnit(n){this._links.delete(n),this._linkUpdate$.next({unitId:n,type:"delete-unit"})}}var g=(t=>(t[t.URL=0]="URL",t))(g||{});const m={type:r.CommandType.MUTATION,id:"docs.mutation.add-hyper-link",handler(t,e){return e?t.get(l).addLink(e.unitId,e.link):!1}},k={type:r.CommandType.MUTATION,id:"docs.mutation.update-hyper-link",handler(t,e){return e?t.get(l).updateLink(e.unitId,e.linkId,e.payload):!1}},U={type:r.CommandType.MUTATION,id:"docs.mutation.delete-hyper-link",handler(t,e){return e?t.get(l).deleteLink(e.unitId,e.linkId):!1}};var I=Object.defineProperty,O=Object.getOwnPropertyDescriptor,C=(t,e,n,i)=>{for(var s=i>1?void 0:i?O(e,n):e,d=t.length-1,o;d>=0;d--)(o=t[d])&&(s=(i?o(e,n,s):o(s))||s);return i&&s&&I(e,n,s),s},R=(t,e)=>(n,i)=>e(n,i,t);let c=class extends r.Disposable{constructor(t){super(),this._commandService=t,this._initCommands()}_initCommands(){[m,k,U].forEach(t=>{this.disposeWithMe(this._commandService.registerCommand(t))})}};c=C([r.OnLifecycle(r.LifecycleStages.Starting,c),R(0,r.ICommandService)],c);var S=Object.defineProperty,j=Object.getOwnPropertyDescriptor,T=(t,e,n,i)=>{for(var s=i>1?void 0:i?j(e,n):e,d=t.length-1,o;d>=0;d--)(o=t[d])&&(s=(i?o(e,n,s):o(s))||s);return i&&s&&S(e,n,s),s},L=(t,e)=>(n,i)=>e(n,i,t);let u=class extends r.Disposable{constructor(t,e,n){super(),this._resourceManagerService=t,this._docHyperLinkModel=e,this._univerInstanceService=n,this._init()}_init(){this._resourceManagerService.registerPluginResource({pluginName:f,businesses:[r.UniverInstanceType.UNIVER_DOC],onLoad:(t,e)=>{e.links.forEach(n=>{this._docHyperLinkModel.addLink(t,n)})},onUnLoad:t=>{this._docHyperLinkModel.deleteUnit(t)},toJson:t=>{var d;const e=this._docHyperLinkModel.getUnit(t),n=this._univerInstanceService.getUnit(t,r.UniverInstanceType.UNIVER_DOC),i=(d=n==null?void 0:n.getBody())==null?void 0:d.customRanges,s=new Set(i==null?void 0:i.filter(o=>o.rangeType===r.CustomRangeType.HYPERLINK).map(o=>o.rangeId));return JSON.stringify({links:e.filter(o=>s.has(o.id))})},parseJson(t){return JSON.parse(t)}})}};u=T([r.OnLifecycle(r.LifecycleStages.Starting,u),L(0,r.Inject(r.IResourceManagerService)),L(1,r.Inject(l)),L(2,r.IUniverInstanceService)],u);var b=Object.defineProperty,$=Object.getOwnPropertyDescriptor,N=(t,e,n,i)=>{for(var s=i>1?void 0:i?$(e,n):e,d=t.length-1,o;d>=0;d--)(o=t[d])&&(s=(i?o(e,n,s):o(s))||s);return i&&s&&b(e,n,s),s},D=(t,e)=>(n,i)=>e(n,i,t);let _=class extends r.Disposable{constructor(t,e){super(),this._docCustomRangeService=t,this._docHyperLinkModel=e,this._initCustomRangeHooks()}_initCustomRangeHooks(){this.disposeWithMe(this._docCustomRangeService.addClipboardHook({onCopyCustomRange:(t,e)=>{const{rangeId:n,rangeType:i,data:s,...d}=e;if(i===r.CustomRangeType.HYPERLINK){if(s){const P=r.Tools.generateRandomId();return this._docHyperLinkModel.addLink(t,{id:P,payload:s}),{...e,rangeId:P}}const o=this._docHyperLinkModel.getLink(t,n);if(!o)return e;const y=r.Tools.generateRandomId();return this._docHyperLinkModel.addLink(t,{id:y,payload:o.payload}),{...d,rangeId:y,rangeType:i}}return e}}))}};_=N([r.OnLifecycle(r.LifecycleStages.Ready,_),D(0,r.Inject(h.DocCustomRangeService)),D(1,r.Inject(l))],_);var H=Object.defineProperty,w=Object.getOwnPropertyDescriptor,E=(t,e,n)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,A=(t,e,n,i)=>{for(var s=i>1?void 0:i?w(e,n):e,d=t.length-1,o;d>=0;d--)(o=t[d])&&(s=(i?o(e,n,s):o(s))||s);return i&&s&&H(e,n,s),s},x=(t,e)=>(n,i)=>e(n,i,t),M=(t,e,n)=>E(t,typeof e!="symbol"?e+"":e,n);a.UniverDocsHyperLinkPlugin=class extends r.Plugin{constructor(e,n){super(),this._config=e,this._injector=n}onStarting(e){[[l],[c],[u],[_]].forEach(i=>{e.add(i)})}},M(a.UniverDocsHyperLinkPlugin,"pluginName",f),M(a.UniverDocsHyperLinkPlugin,"type",r.UniverInstanceType.UNIVER_DOC),a.UniverDocsHyperLinkPlugin=A([r.DependentOn(h.UniverDocsPlugin),x(1,r.Inject(r.Injector))],a.UniverDocsHyperLinkPlugin),a.AddDocHyperLinkMutation=m,a.DOC_HYPER_LINK_PLUGIN=f,a.DeleteDocHyperLinkMutation=U,a.DocHyperLinkModel=l,a.DocHyperLinkType=g,a.UpdateDocHyperLinkMutation=k,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/docs-hyper-link",
3
- "version": "0.2.3",
3
+ "version": "0.2.4-alpha.0",
4
4
  "private": false,
5
5
  "description": "Univer thread comment plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -44,19 +44,19 @@
44
44
  "lib"
45
45
  ],
46
46
  "peerDependencies": {
47
- "@wendellhu/redi": "0.15.5",
48
47
  "rxjs": ">=7.0.0",
49
- "@univerjs/core": "0.2.3"
48
+ "@univerjs/core": "0.2.4-alpha.0",
49
+ "@univerjs/docs": "0.2.4-alpha.0"
50
50
  },
51
51
  "devDependencies": {
52
- "@wendellhu/redi": "0.15.5",
53
52
  "rxjs": "^7.8.1",
54
53
  "typescript": "^5.5.3",
55
- "vite": "^5.3.3",
56
- "vitest": "^1.6.0",
57
- "@univerjs/core": "0.2.3",
58
- "@univerjs/shared": "0.2.3",
59
- "@univerjs/design": "0.2.3"
54
+ "vite": "^5.3.4",
55
+ "vitest": "^2.0.3",
56
+ "@univerjs/core": "0.2.4-alpha.0",
57
+ "@univerjs/shared": "0.2.4-alpha.0",
58
+ "@univerjs/design": "0.2.4-alpha.0",
59
+ "@univerjs/docs": "0.2.4-alpha.0"
60
60
  },
61
61
  "univerSpace": {
62
62
  ".": {