@univerjs/docs-hyper-link 0.2.11 → 0.2.13
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 +11 -3
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +68 -128
- package/lib/types/commands/mutations/hyper-link.mutation.d.ts +4 -0
- package/lib/types/{types/enums/doc-hyper-link-type.d.ts → controllers/config.schema.d.ts} +4 -2
- package/lib/types/controllers/resource.controller.d.ts +2 -3
- package/lib/types/index.d.ts +0 -7
- package/lib/types/plugin.d.ts +6 -3
- package/lib/umd/index.js +1 -1
- package/package.json +9 -9
- package/lib/types/commands/mutations/add-link.mutation.d.ts +0 -7
- package/lib/types/commands/mutations/delete-link.mutation.d.ts +0 -6
- package/lib/types/commands/mutations/update-link.mutation.d.ts +0 -7
- package/lib/types/controllers/hyper-link.controller.d.ts +0 -6
- package/lib/types/models/hyper-link.model.d.ts +0 -32
- package/lib/types/types/const/index.d.ts +0 -16
- package/lib/types/types/interfaces/i-doc-hyper-link.d.ts +0 -19
package/README.md
CHANGED
|
@@ -2,20 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
## Introduction
|
|
4
4
|
|
|
5
|
-
`@univerjs/docs-hyper-link` provides the
|
|
5
|
+
`@univerjs/docs-hyper-link` provides the link function of Univer Docs.
|
|
6
6
|
|
|
7
7
|
## Usage
|
|
8
8
|
|
|
9
9
|
### Installation
|
|
10
10
|
|
|
11
11
|
```shell
|
|
12
|
-
#
|
|
12
|
+
# Using npm
|
|
13
13
|
npm install @univerjs/docs-hyper-link
|
|
14
14
|
|
|
15
|
-
#
|
|
15
|
+
# Using pnpm
|
|
16
16
|
pnpm add @univerjs/docs-hyper-link
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
### Register the plugin
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { UniverDocsHyperLinkUIPlugin} from '@univerjs/docs-hyper-link';
|
|
23
|
+
|
|
24
|
+
univer.registerPlugin(UniverDocsHyperLinkUIPlugin);
|
|
25
|
+
```
|
|
26
|
+
|
|
19
27
|
<!-- Links -->
|
|
20
28
|
[npm-version-shield]: https://img.shields.io/npm/v/@univerjs/docs-hyper-link?style=flat-square
|
|
21
29
|
[npm-version-link]: https://npmjs.com/package/@univerjs/docs-hyper-link
|
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),AddHyperLinkMuatation={id:"docs.mutation.add-hyper-link",type:core.CommandType.MUTATION,handler:__name(()=>!0,"handler")},UpdateHyperLinkMuatation={id:"docs.mutation.update-hyper-link",type:core.CommandType.MUTATION,handler:__name(()=>!0,"handler")},DeleteHyperLinkMuatation={id:"docs.mutation.delete-hyper-link",type:core.CommandType.MUTATION,handler:__name(()=>!0,"handler")},PLUGIN_CONFIG_KEY="docs-hyper-link.config",defaultPluginConfig={};var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");const DOC_HYPER_LINK_PLUGIN="DOC_HYPER_LINK_PLUGIN";var _a;let DocHyperLinkResourceController=(_a=class extends core.Disposable{constructor(_resourceManagerService,_univerInstanceService){super(),this._resourceManagerService=_resourceManagerService,this._univerInstanceService=_univerInstanceService,this._init()}_init(){this._resourceManagerService.registerPluginResource({pluginName:DOC_HYPER_LINK_PLUGIN,businesses:[core.UniverInstanceType.UNIVER_DOC],onLoad:__name((unitID,resource)=>{const doc=this._univerInstanceService.getUnit(unitID,core.UniverInstanceType.UNIVER_DOC);if(!doc)return;const customRangeMap=new Map,handleDoc=__name(model=>{var _a3,_b;return(_b=(_a3=model.getBody())==null?void 0:_a3.customRanges)==null||_b.forEach(customRange=>{customRange.rangeType===core.CustomRangeType.HYPERLINK&&customRangeMap.set(customRange.rangeId,customRange)}),customRangeMap},"handleDoc");doc.headerModelMap.forEach(headerModel=>{handleDoc(headerModel)}),doc.footerModelMap.forEach(footerModel=>{handleDoc(footerModel)}),handleDoc(doc),resource.links.forEach(link=>{const customRange=customRangeMap.get(link.id);customRange&&(customRange.properties={...customRange.properties,url:link.payload})})},"onLoad"),onUnLoad:__name(unitID=>{},"onUnLoad"),toJson:__name(unitID=>{const doc=this._univerInstanceService.getUnit(unitID,core.UniverInstanceType.UNIVER_DOC),links=[];if(doc){const handleDoc=__name(model=>{var _a3,_b;(_b=(_a3=model.getBody())==null?void 0:_a3.customRanges)==null||_b.forEach(customRange=>{var _a4;customRange.rangeType===core.CustomRangeType.HYPERLINK&&links.push({id:customRange.rangeId,payload:((_a4=customRange.properties)==null?void 0:_a4.url)||""})})},"handleDoc");doc.headerModelMap.forEach(headerModel=>{handleDoc(headerModel)}),doc.footerModelMap.forEach(footerModel=>{handleDoc(footerModel)}),handleDoc(doc)}return JSON.stringify({links})},"toJson"),parseJson(bytes){return JSON.parse(bytes)}})}},__name(_a,"DocHyperLinkResourceController"),_a);DocHyperLinkResourceController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Starting,DocHyperLinkResourceController),__decorateParam$1(0,core.Inject(core.IResourceManagerService)),__decorateParam$1(1,core.IUniverInstanceService)],DocHyperLinkResourceController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam"),_a2;exports.UniverDocsHyperLinkPlugin=(_a2=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService,_commandService){super(),this._config=_config,this._injector=_injector,this._configService=_configService,this._commandService=_commandService;const{...rest}=this._config;this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[DocHyperLinkResourceController]].forEach(dep=>{this._injector.add(dep)}),[AddHyperLinkMuatation,DeleteHyperLinkMuatation,UpdateHyperLinkMuatation].forEach(mutation=>{this.disposeWithMe(this._commandService.registerCommand(mutation))})}},__name(_a2,"UniverDocsHyperLinkPlugin"),__publicField(_a2,"pluginName",DOC_HYPER_LINK_PLUGIN),__publicField(_a2,"type",core.UniverInstanceType.UNIVER_DOC),_a2);exports.UniverDocsHyperLinkPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService),__decorateParam(3,core.ICommandService)],exports.UniverDocsHyperLinkPlugin);
|
package/lib/es/index.js
CHANGED
|
@@ -2,177 +2,117 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
|
3
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
const DOC_HYPER_LINK_PLUGIN = "DOC_HYPER_LINK_PLUGIN", _DocHyperLinkModel = class _DocHyperLinkModel extends Disposable {
|
|
8
|
-
constructor() {
|
|
9
|
-
super();
|
|
10
|
-
__publicField(this, "_links", /* @__PURE__ */ new Map());
|
|
11
|
-
__publicField(this, "_linkUpdate$", new Subject());
|
|
12
|
-
__publicField(this, "linkUpdate$", this._linkUpdate$.asObservable());
|
|
13
|
-
this.disposeWithMe(() => {
|
|
14
|
-
this._linkUpdate$.complete();
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
_ensureMap(unitId) {
|
|
18
|
-
let map = this._links.get(unitId);
|
|
19
|
-
return map || (map = /* @__PURE__ */ new Map(), this._links.set(unitId, map)), map;
|
|
20
|
-
}
|
|
21
|
-
addLink(unitId, link) {
|
|
22
|
-
const map = this._ensureMap(unitId);
|
|
23
|
-
return link.payload = Tools.normalizeUrl(link.payload), map.set(link.id, link), this._linkUpdate$.next({
|
|
24
|
-
type: "add",
|
|
25
|
-
link,
|
|
26
|
-
unitId
|
|
27
|
-
}), !0;
|
|
28
|
-
}
|
|
29
|
-
updateLink(unitId, id, payload) {
|
|
30
|
-
const link = this._ensureMap(unitId).get(id);
|
|
31
|
-
if (!link)
|
|
32
|
-
return !1;
|
|
33
|
-
const oldPayload = link.payload;
|
|
34
|
-
return link.payload = payload, this._linkUpdate$.next({
|
|
35
|
-
type: "update",
|
|
36
|
-
link,
|
|
37
|
-
oldPayload,
|
|
38
|
-
unitId
|
|
39
|
-
}), !0;
|
|
40
|
-
}
|
|
41
|
-
deleteLink(unitId, id) {
|
|
42
|
-
const map = this._ensureMap(unitId), link = map.get(id);
|
|
43
|
-
return link ? (map.delete(id), this._linkUpdate$.next({
|
|
44
|
-
type: "delete",
|
|
45
|
-
link,
|
|
46
|
-
unitId
|
|
47
|
-
}), !1) : !0;
|
|
48
|
-
}
|
|
49
|
-
getLink(unitId, linkId) {
|
|
50
|
-
return this._ensureMap(unitId).get(linkId);
|
|
51
|
-
}
|
|
52
|
-
getUnit(unitId) {
|
|
53
|
-
const map = this._ensureMap(unitId);
|
|
54
|
-
return Array.from(map.values());
|
|
55
|
-
}
|
|
56
|
-
deleteUnit(unitId) {
|
|
57
|
-
this._links.delete(unitId), this._linkUpdate$.next({
|
|
58
|
-
unitId,
|
|
59
|
-
type: "delete-unit"
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
__name(_DocHyperLinkModel, "DocHyperLinkModel");
|
|
64
|
-
let DocHyperLinkModel = _DocHyperLinkModel;
|
|
65
|
-
var DocHyperLinkType = /* @__PURE__ */ ((DocHyperLinkType2) => (DocHyperLinkType2[DocHyperLinkType2.URL = 0] = "URL", DocHyperLinkType2))(DocHyperLinkType || {});
|
|
66
|
-
const AddDocHyperLinkMutation = {
|
|
67
|
-
type: CommandType.MUTATION,
|
|
5
|
+
import { CommandType, OnLifecycle, LifecycleStages, Inject, IResourceManagerService, Disposable, UniverInstanceType, IUniverInstanceService, CustomRangeType, Plugin, Injector, IConfigService, ICommandService } from "@univerjs/core";
|
|
6
|
+
const AddHyperLinkMuatation = {
|
|
68
7
|
id: "docs.mutation.add-hyper-link",
|
|
69
|
-
handler(accessor, params) {
|
|
70
|
-
return params ? accessor.get(DocHyperLinkModel).addLink(params.unitId, params.link) : !1;
|
|
71
|
-
}
|
|
72
|
-
}, UpdateDocHyperLinkMutation = {
|
|
73
8
|
type: CommandType.MUTATION,
|
|
9
|
+
handler: /* @__PURE__ */ __name(() => !0, "handler")
|
|
10
|
+
}, UpdateHyperLinkMuatation = {
|
|
74
11
|
id: "docs.mutation.update-hyper-link",
|
|
75
|
-
handler(accessor, params) {
|
|
76
|
-
return params ? accessor.get(DocHyperLinkModel).updateLink(params.unitId, params.linkId, params.payload) : !1;
|
|
77
|
-
}
|
|
78
|
-
}, DeleteDocHyperLinkMutation = {
|
|
79
12
|
type: CommandType.MUTATION,
|
|
13
|
+
handler: /* @__PURE__ */ __name(() => !0, "handler")
|
|
14
|
+
}, DeleteHyperLinkMuatation = {
|
|
80
15
|
id: "docs.mutation.delete-hyper-link",
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
};
|
|
85
|
-
var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
86
|
-
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
87
|
-
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
88
|
-
return kind && result && __defProp$2(target, key, result), result;
|
|
89
|
-
}, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a;
|
|
90
|
-
let DocHyperLinkController = (_a = class extends Disposable {
|
|
91
|
-
constructor(_commandService) {
|
|
92
|
-
super(), this._commandService = _commandService, this._initCommands();
|
|
93
|
-
}
|
|
94
|
-
_initCommands() {
|
|
95
|
-
[
|
|
96
|
-
AddDocHyperLinkMutation,
|
|
97
|
-
UpdateDocHyperLinkMutation,
|
|
98
|
-
DeleteDocHyperLinkMutation
|
|
99
|
-
].forEach((command) => {
|
|
100
|
-
this.disposeWithMe(this._commandService.registerCommand(command));
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}, __name(_a, "DocHyperLinkController"), _a);
|
|
104
|
-
DocHyperLinkController = __decorateClass$2([
|
|
105
|
-
OnLifecycle(LifecycleStages.Starting, DocHyperLinkController),
|
|
106
|
-
__decorateParam$2(0, ICommandService)
|
|
107
|
-
], DocHyperLinkController);
|
|
16
|
+
type: CommandType.MUTATION,
|
|
17
|
+
handler: /* @__PURE__ */ __name(() => !0, "handler")
|
|
18
|
+
}, PLUGIN_CONFIG_KEY = "docs-hyper-link.config", defaultPluginConfig = {};
|
|
108
19
|
var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
109
20
|
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
110
21
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
111
22
|
return kind && result && __defProp$1(target, key, result), result;
|
|
112
|
-
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1")
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
23
|
+
}, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1");
|
|
24
|
+
const DOC_HYPER_LINK_PLUGIN = "DOC_HYPER_LINK_PLUGIN";
|
|
25
|
+
var _a;
|
|
26
|
+
let DocHyperLinkResourceController = (_a = class extends Disposable {
|
|
27
|
+
constructor(_resourceManagerService, _univerInstanceService) {
|
|
28
|
+
super(), this._resourceManagerService = _resourceManagerService, this._univerInstanceService = _univerInstanceService, this._init();
|
|
116
29
|
}
|
|
117
30
|
_init() {
|
|
118
31
|
this._resourceManagerService.registerPluginResource({
|
|
119
32
|
pluginName: DOC_HYPER_LINK_PLUGIN,
|
|
120
33
|
businesses: [UniverInstanceType.UNIVER_DOC],
|
|
121
34
|
onLoad: /* @__PURE__ */ __name((unitID, resource) => {
|
|
122
|
-
|
|
123
|
-
|
|
35
|
+
const doc = this._univerInstanceService.getUnit(unitID, UniverInstanceType.UNIVER_DOC);
|
|
36
|
+
if (!doc)
|
|
37
|
+
return;
|
|
38
|
+
const customRangeMap = /* @__PURE__ */ new Map(), handleDoc = /* @__PURE__ */ __name((model) => {
|
|
39
|
+
var _a3, _b;
|
|
40
|
+
return (_b = (_a3 = model.getBody()) == null ? void 0 : _a3.customRanges) == null || _b.forEach((customRange) => {
|
|
41
|
+
customRange.rangeType === CustomRangeType.HYPERLINK && customRangeMap.set(customRange.rangeId, customRange);
|
|
42
|
+
}), customRangeMap;
|
|
43
|
+
}, "handleDoc");
|
|
44
|
+
doc.headerModelMap.forEach((headerModel) => {
|
|
45
|
+
handleDoc(headerModel);
|
|
46
|
+
}), doc.footerModelMap.forEach((footerModel) => {
|
|
47
|
+
handleDoc(footerModel);
|
|
48
|
+
}), handleDoc(doc), resource.links.forEach((link) => {
|
|
49
|
+
const customRange = customRangeMap.get(link.id);
|
|
50
|
+
customRange && (customRange.properties = {
|
|
51
|
+
...customRange.properties,
|
|
52
|
+
url: link.payload
|
|
53
|
+
});
|
|
124
54
|
});
|
|
125
55
|
}, "onLoad"),
|
|
126
56
|
onUnLoad: /* @__PURE__ */ __name((unitID) => {
|
|
127
|
-
this._docHyperLinkModel.deleteUnit(unitID);
|
|
128
57
|
}, "onUnLoad"),
|
|
129
58
|
toJson: /* @__PURE__ */ __name((unitID) => {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
59
|
+
const doc = this._univerInstanceService.getUnit(unitID, UniverInstanceType.UNIVER_DOC), links = [];
|
|
60
|
+
if (doc) {
|
|
61
|
+
const handleDoc = /* @__PURE__ */ __name((model) => {
|
|
62
|
+
var _a3, _b;
|
|
63
|
+
(_b = (_a3 = model.getBody()) == null ? void 0 : _a3.customRanges) == null || _b.forEach((customRange) => {
|
|
64
|
+
var _a4;
|
|
65
|
+
customRange.rangeType === CustomRangeType.HYPERLINK && links.push({
|
|
66
|
+
id: customRange.rangeId,
|
|
67
|
+
payload: ((_a4 = customRange.properties) == null ? void 0 : _a4.url) || ""
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}, "handleDoc");
|
|
71
|
+
doc.headerModelMap.forEach((headerModel) => {
|
|
72
|
+
handleDoc(headerModel);
|
|
73
|
+
}), doc.footerModelMap.forEach((footerModel) => {
|
|
74
|
+
handleDoc(footerModel);
|
|
75
|
+
}), handleDoc(doc);
|
|
76
|
+
}
|
|
77
|
+
return JSON.stringify({ links });
|
|
135
78
|
}, "toJson"),
|
|
136
79
|
parseJson(bytes) {
|
|
137
80
|
return JSON.parse(bytes);
|
|
138
81
|
}
|
|
139
82
|
});
|
|
140
83
|
}
|
|
141
|
-
}, __name(
|
|
84
|
+
}, __name(_a, "DocHyperLinkResourceController"), _a);
|
|
142
85
|
DocHyperLinkResourceController = __decorateClass$1([
|
|
143
86
|
OnLifecycle(LifecycleStages.Starting, DocHyperLinkResourceController),
|
|
144
87
|
__decorateParam$1(0, Inject(IResourceManagerService)),
|
|
145
|
-
__decorateParam$1(1,
|
|
146
|
-
__decorateParam$1(2, IUniverInstanceService)
|
|
88
|
+
__decorateParam$1(1, IUniverInstanceService)
|
|
147
89
|
], DocHyperLinkResourceController);
|
|
148
90
|
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
149
91
|
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
150
92
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
151
93
|
return kind && result && __defProp2(target, key, result), result;
|
|
152
|
-
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"),
|
|
153
|
-
let UniverDocsHyperLinkPlugin = (
|
|
154
|
-
constructor(_config, _injector) {
|
|
155
|
-
super(), this._config = _config, this._injector = _injector;
|
|
94
|
+
}, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), _a2;
|
|
95
|
+
let UniverDocsHyperLinkPlugin = (_a2 = class extends Plugin {
|
|
96
|
+
constructor(_config = defaultPluginConfig, _injector, _configService, _commandService) {
|
|
97
|
+
super(), this._config = _config, this._injector = _injector, this._configService = _configService, this._commandService = _commandService;
|
|
98
|
+
const { ...rest } = this._config;
|
|
99
|
+
this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
|
|
156
100
|
}
|
|
157
101
|
onStarting() {
|
|
158
102
|
[
|
|
159
|
-
[DocHyperLinkModel],
|
|
160
|
-
[DocHyperLinkController],
|
|
161
103
|
[DocHyperLinkResourceController]
|
|
162
104
|
].forEach((dep) => {
|
|
163
105
|
this._injector.add(dep);
|
|
106
|
+
}), [AddHyperLinkMuatation, DeleteHyperLinkMuatation, UpdateHyperLinkMuatation].forEach((mutation) => {
|
|
107
|
+
this.disposeWithMe(this._commandService.registerCommand(mutation));
|
|
164
108
|
});
|
|
165
109
|
}
|
|
166
|
-
}, __name(
|
|
110
|
+
}, __name(_a2, "UniverDocsHyperLinkPlugin"), __publicField(_a2, "pluginName", DOC_HYPER_LINK_PLUGIN), __publicField(_a2, "type", UniverInstanceType.UNIVER_DOC), _a2);
|
|
167
111
|
UniverDocsHyperLinkPlugin = __decorateClass([
|
|
168
|
-
__decorateParam(1, Inject(Injector))
|
|
112
|
+
__decorateParam(1, Inject(Injector)),
|
|
113
|
+
__decorateParam(2, IConfigService),
|
|
114
|
+
__decorateParam(3, ICommandService)
|
|
169
115
|
], UniverDocsHyperLinkPlugin);
|
|
170
116
|
export {
|
|
171
|
-
|
|
172
|
-
DOC_HYPER_LINK_PLUGIN,
|
|
173
|
-
DeleteDocHyperLinkMutation,
|
|
174
|
-
DocHyperLinkModel,
|
|
175
|
-
DocHyperLinkType,
|
|
176
|
-
UniverDocsHyperLinkPlugin,
|
|
177
|
-
UpdateDocHyperLinkMutation
|
|
117
|
+
UniverDocsHyperLinkPlugin
|
|
178
118
|
};
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export declare
|
|
17
|
-
|
|
16
|
+
export declare const PLUGIN_CONFIG_KEY = "docs-hyper-link.config";
|
|
17
|
+
export declare const configSymbol: unique symbol;
|
|
18
|
+
export interface IUniverDocsHyperLinkConfig {
|
|
18
19
|
}
|
|
20
|
+
export declare const defaultPluginConfig: IUniverDocsHyperLinkConfig;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Disposable, IResourceManagerService, IUniverInstanceService } from '@univerjs/core';
|
|
2
|
-
|
|
2
|
+
export declare const DOC_HYPER_LINK_PLUGIN = "DOC_HYPER_LINK_PLUGIN";
|
|
3
3
|
export declare class DocHyperLinkResourceController extends Disposable {
|
|
4
4
|
private readonly _resourceManagerService;
|
|
5
|
-
private readonly _docHyperLinkModel;
|
|
6
5
|
private readonly _univerInstanceService;
|
|
7
|
-
constructor(_resourceManagerService: IResourceManagerService,
|
|
6
|
+
constructor(_resourceManagerService: IResourceManagerService, _univerInstanceService: IUniverInstanceService);
|
|
8
7
|
private _init;
|
|
9
8
|
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -13,11 +13,4 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export { DOC_HYPER_LINK_PLUGIN } from './types/const';
|
|
17
|
-
export { DocHyperLinkModel } from './models/hyper-link.model';
|
|
18
|
-
export type { IDocHyperLink } from './types/interfaces/i-doc-hyper-link';
|
|
19
|
-
export { DocHyperLinkType } from './types/enums/doc-hyper-link-type';
|
|
20
16
|
export { UniverDocsHyperLinkPlugin } from './plugin';
|
|
21
|
-
export { AddDocHyperLinkMutation, type IAddDocHyperLinkMutationParams } from './commands/mutations/add-link.mutation';
|
|
22
|
-
export { UpdateDocHyperLinkMutation, type IUpdateDocHyperLinkMutationParams } from './commands/mutations/update-link.mutation';
|
|
23
|
-
export { DeleteDocHyperLinkMutation, type IDeleteDocHyperLinkMutationParams } from './commands/mutations/delete-link.mutation';
|
package/lib/types/plugin.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { Injector, Plugin, UniverInstanceType } from '@univerjs/core';
|
|
1
|
+
import { ICommandService, IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
|
|
2
|
+
import { IUniverDocsHyperLinkConfig } from './controllers/config.schema';
|
|
2
3
|
export declare class UniverDocsHyperLinkPlugin extends Plugin {
|
|
3
|
-
private _config;
|
|
4
|
+
private readonly _config;
|
|
4
5
|
protected _injector: Injector;
|
|
6
|
+
private readonly _configService;
|
|
7
|
+
private readonly _commandService;
|
|
5
8
|
static pluginName: string;
|
|
6
9
|
static type: UniverInstanceType;
|
|
7
|
-
constructor(_config:
|
|
10
|
+
constructor(_config: Partial<IUniverDocsHyperLinkConfig> | undefined, _injector: Injector, _configService: IConfigService, _commandService: ICommandService);
|
|
8
11
|
onStarting(): void;
|
|
9
12
|
}
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core")
|
|
1
|
+
(function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverDocsHyperLink={},global.UniverCore))})(this,function(exports2,core){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b;const AddHyperLinkMuatation={id:"docs.mutation.add-hyper-link",type:core.CommandType.MUTATION,handler:__name(()=>!0,"handler")},UpdateHyperLinkMuatation={id:"docs.mutation.update-hyper-link",type:core.CommandType.MUTATION,handler:__name(()=>!0,"handler")},DeleteHyperLinkMuatation={id:"docs.mutation.delete-hyper-link",type:core.CommandType.MUTATION,handler:__name(()=>!0,"handler")},PLUGIN_CONFIG_KEY="docs-hyper-link.config",defaultPluginConfig={};var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");const DOC_HYPER_LINK_PLUGIN="DOC_HYPER_LINK_PLUGIN";let DocHyperLinkResourceController=(_a=class extends core.Disposable{constructor(_resourceManagerService,_univerInstanceService){super(),this._resourceManagerService=_resourceManagerService,this._univerInstanceService=_univerInstanceService,this._init()}_init(){this._resourceManagerService.registerPluginResource({pluginName:DOC_HYPER_LINK_PLUGIN,businesses:[core.UniverInstanceType.UNIVER_DOC],onLoad:__name((unitID,resource)=>{const doc=this._univerInstanceService.getUnit(unitID,core.UniverInstanceType.UNIVER_DOC);if(!doc)return;const customRangeMap=new Map,handleDoc=__name(model=>{var _a2,_b2;return(_b2=(_a2=model.getBody())==null?void 0:_a2.customRanges)==null||_b2.forEach(customRange=>{customRange.rangeType===core.CustomRangeType.HYPERLINK&&customRangeMap.set(customRange.rangeId,customRange)}),customRangeMap},"handleDoc");doc.headerModelMap.forEach(headerModel=>{handleDoc(headerModel)}),doc.footerModelMap.forEach(footerModel=>{handleDoc(footerModel)}),handleDoc(doc),resource.links.forEach(link=>{const customRange=customRangeMap.get(link.id);customRange&&(customRange.properties={...customRange.properties,url:link.payload})})},"onLoad"),onUnLoad:__name(unitID=>{},"onUnLoad"),toJson:__name(unitID=>{const doc=this._univerInstanceService.getUnit(unitID,core.UniverInstanceType.UNIVER_DOC),links=[];if(doc){const handleDoc=__name(model=>{var _a2,_b2;(_b2=(_a2=model.getBody())==null?void 0:_a2.customRanges)==null||_b2.forEach(customRange=>{var _a3;customRange.rangeType===core.CustomRangeType.HYPERLINK&&links.push({id:customRange.rangeId,payload:((_a3=customRange.properties)==null?void 0:_a3.url)||""})})},"handleDoc");doc.headerModelMap.forEach(headerModel=>{handleDoc(headerModel)}),doc.footerModelMap.forEach(footerModel=>{handleDoc(footerModel)}),handleDoc(doc)}return JSON.stringify({links})},"toJson"),parseJson(bytes){return JSON.parse(bytes)}})}},__name(_a,"DocHyperLinkResourceController"),_a);DocHyperLinkResourceController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Starting,DocHyperLinkResourceController),__decorateParam$1(0,core.Inject(core.IResourceManagerService)),__decorateParam$1(1,core.IUniverInstanceService)],DocHyperLinkResourceController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");exports2.UniverDocsHyperLinkPlugin=(_b=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService,_commandService){super(),this._config=_config,this._injector=_injector,this._configService=_configService,this._commandService=_commandService;const{...rest}=this._config;this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[DocHyperLinkResourceController]].forEach(dep=>{this._injector.add(dep)}),[AddHyperLinkMuatation,DeleteHyperLinkMuatation,UpdateHyperLinkMuatation].forEach(mutation=>{this.disposeWithMe(this._commandService.registerCommand(mutation))})}},__name(_b,"UniverDocsHyperLinkPlugin"),__publicField(_b,"pluginName",DOC_HYPER_LINK_PLUGIN),__publicField(_b,"type",core.UniverInstanceType.UNIVER_DOC),_b),exports2.UniverDocsHyperLinkPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService),__decorateParam(3,core.ICommandService)],exports2.UniverDocsHyperLinkPlugin),Object.defineProperty(exports2,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
|
+
"version": "0.2.13",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Univer thread comment plugin",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -44,18 +44,18 @@
|
|
|
44
44
|
"lib"
|
|
45
45
|
],
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"
|
|
48
|
-
|
|
47
|
+
"@univerjs/core": "0.2.13"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@univerjs/icons": "^0.1.78",
|
|
51
|
+
"@univerjs/core": "0.2.13"
|
|
49
52
|
},
|
|
50
53
|
"devDependencies": {
|
|
51
54
|
"rxjs": "^7.8.1",
|
|
52
|
-
"typescript": "^5.
|
|
53
|
-
"vite": "^5.4.
|
|
55
|
+
"typescript": "^5.6.2",
|
|
56
|
+
"vite": "^5.4.4",
|
|
54
57
|
"vitest": "^2.0.5",
|
|
55
|
-
"@univerjs/
|
|
56
|
-
"@univerjs/design": "0.2.11",
|
|
57
|
-
"@univerjs/docs": "0.2.11",
|
|
58
|
-
"@univerjs/shared": "0.2.11"
|
|
58
|
+
"@univerjs-infra/shared": "0.2.13"
|
|
59
59
|
},
|
|
60
60
|
"univerSpace": {
|
|
61
61
|
".": {
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IMutation } from '@univerjs/core';
|
|
2
|
-
import { IDocHyperLink } from '../../types/interfaces/i-doc-hyper-link';
|
|
3
|
-
export interface IAddDocHyperLinkMutationParams {
|
|
4
|
-
unitId: string;
|
|
5
|
-
link: IDocHyperLink;
|
|
6
|
-
}
|
|
7
|
-
export declare const AddDocHyperLinkMutation: IMutation<IAddDocHyperLinkMutationParams>;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Disposable } from '@univerjs/core';
|
|
2
|
-
import { IDocHyperLink } from '../types/interfaces/i-doc-hyper-link';
|
|
3
|
-
export type DocLinkUpdate = {
|
|
4
|
-
type: 'add';
|
|
5
|
-
link: IDocHyperLink;
|
|
6
|
-
unitId: string;
|
|
7
|
-
} | {
|
|
8
|
-
type: 'update';
|
|
9
|
-
oldPayload: string;
|
|
10
|
-
link: IDocHyperLink;
|
|
11
|
-
unitId: string;
|
|
12
|
-
} | {
|
|
13
|
-
type: 'delete';
|
|
14
|
-
link: IDocHyperLink;
|
|
15
|
-
unitId: string;
|
|
16
|
-
} | {
|
|
17
|
-
type: 'delete-unit';
|
|
18
|
-
unitId: string;
|
|
19
|
-
};
|
|
20
|
-
export declare class DocHyperLinkModel extends Disposable {
|
|
21
|
-
private readonly _links;
|
|
22
|
-
private readonly _linkUpdate$;
|
|
23
|
-
readonly linkUpdate$: import('rxjs').Observable<DocLinkUpdate>;
|
|
24
|
-
constructor();
|
|
25
|
-
private _ensureMap;
|
|
26
|
-
addLink(unitId: string, link: IDocHyperLink): boolean;
|
|
27
|
-
updateLink(unitId: string, id: string, payload: string): boolean;
|
|
28
|
-
deleteLink(unitId: string, id: string): boolean;
|
|
29
|
-
getLink(unitId: string, linkId: string): IDocHyperLink | undefined;
|
|
30
|
-
getUnit(unitId: string): IDocHyperLink[];
|
|
31
|
-
deleteUnit(unitId: string): void;
|
|
32
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export declare const DOC_HYPER_LINK_PLUGIN = "DOC_HYPER_LINK_PLUGIN";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export interface IDocHyperLink {
|
|
17
|
-
payload: string;
|
|
18
|
-
id: string;
|
|
19
|
-
}
|