@huawei-ide/codearts 1.0.45 → 1.0.47

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.
Files changed (3) hide show
  1. package/README.md +12 -1
  2. package/index.js +29 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -127,5 +127,16 @@
127
127
  event.dispose();
128
128
  ```
129
129
 
130
- 16. 销毁 IDE
130
+ 16. 设置编辑器点击链接后是否拦截进入网页:
131
+ `ide.blockClickedLink(block: boolean);`
132
+
133
+ 17. 监听当前点击以http和https开头的链接
134
+
135
+ ```
136
+ const event = ide.onDidClickLink(listener: (content: string) => {});
137
+ // 销毁监听
138
+ event.dispose();
139
+ ```
140
+
141
+ 18. 销毁 IDE
131
142
  `ide.dispose();`
package/index.js CHANGED
@@ -8,11 +8,12 @@ if (window.location.origin.endsWith('.net')) {
8
8
  }
9
9
  const iframe = document.createElement('iframe');
10
10
  iframe.id = 'codeartside';
11
- iframe.src = hcOrigin + '/codearts-core-web-static/1.0.77/resources/server/gitcode.html';
11
+ iframe.src = hcOrigin + '/codearts-core-web-static/1.0.79/resources/server/gitcode.html';
12
12
 
13
13
  const OS = getOS();
14
14
  const ON_DID_CHANGE = 'onDidChange';
15
15
  const ON_DID_SEND_CODE = 'onDidSendCode';
16
+ const ON_DID_CLICK_LINK = 'onDidClickLink';
16
17
  const eventEmitter = new EventEmitter();
17
18
 
18
19
  function ideLoading() {
@@ -57,6 +58,9 @@ function onDidRecieveMessage(event) {
57
58
  if (type === 'ide-on-did-send-code') {
58
59
  eventEmitter.emit(ON_DID_SEND_CODE, data);
59
60
  }
61
+ if (type === 'ide-on-did-click-link') {
62
+ eventEmitter.emit(ON_DID_CLICK_LINK, data);
63
+ }
60
64
  }
61
65
 
62
66
  export function preload() {
@@ -187,6 +191,14 @@ export function registerCodeOperation(options) {
187
191
  postMessage(message);
188
192
  }
189
193
 
194
+ export function blockClickedLink(block) {
195
+ const message = {
196
+ type: 'blockClickedLink',
197
+ data: block
198
+ };
199
+ postMessage(message);
200
+ }
201
+
190
202
  function postMessage(message) {
191
203
  iframe.contentWindow.postMessage(message, hcOrigin);
192
204
  }
@@ -222,3 +234,19 @@ export function onDidSendCode(listener) {
222
234
  }
223
235
  }
224
236
  }
237
+
238
+ let isRegisteredClickLinkListener = false;
239
+ export function onDidClickLink(listener) {
240
+ if (!isRegisteredClickLinkListener) {
241
+ window.addEventListener('message', onDidRecieveMessage);
242
+ isRegisteredClickLinkListener = true;
243
+ }
244
+ eventEmitter.on(ON_DID_CLICK_LINK, listener);
245
+ return {
246
+ dispose: () => {
247
+ eventEmitter.off(ON_DID_CLICK_LINK, listener);
248
+ window.removeEventListener('message', onDidRecieveMessage);
249
+ isRegisteredClickLinkListener = false;
250
+ }
251
+ }
252
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huawei-ide/codearts",
3
- "version": "1.0.45",
3
+ "version": "1.0.47",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {