nexfep 0.5.2 → 0.5.4
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-CN.md +14 -0
- package/README.md +14 -0
- package/frontend/index.d.ts +2 -0
- package/package.json +2 -1
- package/src/WindowManager.js +24 -8
package/README-CN.md
CHANGED
|
@@ -240,6 +240,18 @@ window.setSize(800, 600);
|
|
|
240
240
|
window.openDevTools();
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
+
### 页面 API 的 Typescript 定义
|
|
244
|
+
|
|
245
|
+
在前端的 `tsconfig.json` 中添加以下内容即可在前端页面中使用 `nexfep` 定义的 API 类型:
|
|
246
|
+
|
|
247
|
+
```json
|
|
248
|
+
{
|
|
249
|
+
"compilerOptions": {
|
|
250
|
+
"types": ["nexfep/frontend"]
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
243
255
|
### 自定义事件
|
|
244
256
|
|
|
245
257
|
#### 触发事件
|
|
@@ -412,8 +424,10 @@ pool.onCustomMessage = (window, message, data) => {
|
|
|
412
424
|
window.close(); // 关闭窗口
|
|
413
425
|
window.minimize(); // 最小化窗口
|
|
414
426
|
window.unminimize(); // 还原最小化的窗口
|
|
427
|
+
window.toggleMinimize(); // 切换最小化状态
|
|
415
428
|
window.maximize(); // 最大化窗口
|
|
416
429
|
window.unmaximize(); // 还原最大化的窗口
|
|
430
|
+
window.toggleMaximize(); // 切换最大化状态
|
|
417
431
|
window.setTitle("标题"); // 设置窗口标题
|
|
418
432
|
window.openDevTools(); // 打开开发者工具
|
|
419
433
|
window.closeDevTools(); // 关闭开发者工具
|
package/README.md
CHANGED
|
@@ -238,6 +238,18 @@ window.setSize(800, 600);
|
|
|
238
238
|
window.openDevTools();
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
+
### TypeScript Definitions for Frontend API
|
|
242
|
+
|
|
243
|
+
Add the following content to your frontend's `tsconfig.json` to use the frontend API definitions:
|
|
244
|
+
|
|
245
|
+
```json
|
|
246
|
+
{
|
|
247
|
+
"compilerOptions": {
|
|
248
|
+
"types": ["nexfep/frontend"]
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
241
253
|
### Custom Events
|
|
242
254
|
|
|
243
255
|
#### Invoke Events
|
|
@@ -410,8 +422,10 @@ The following injected functions can be directly called in the page for window c
|
|
|
410
422
|
window.close(); // Close window
|
|
411
423
|
window.minimize(); // Minimize window
|
|
412
424
|
window.unminimize(); // Restore minimized window
|
|
425
|
+
window.toggleMinimize(); // Toggle minimized state
|
|
413
426
|
window.maximize(); // Maximize window
|
|
414
427
|
window.unmaximize(); // Restore maximized window
|
|
428
|
+
window.toggleMaximize(); // Toggle maximized state
|
|
415
429
|
window.setTitle("Title"); // Set window title
|
|
416
430
|
window.openDevTools(); // Open developer tools
|
|
417
431
|
window.closeDevTools(); // Close developer tools
|
package/frontend/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nexfep",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "A desktop application framework based on @webviewjs/webview",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"@webviewjs/webview",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"typesVersions": {
|
|
24
24
|
"*": {
|
|
25
|
+
".": ["./index.d.ts"],
|
|
25
26
|
"frontend": ["./frontend/index.d.ts"]
|
|
26
27
|
}
|
|
27
28
|
},
|
package/src/WindowManager.js
CHANGED
|
@@ -85,7 +85,7 @@ class Window {
|
|
|
85
85
|
return this.window.isFocused();
|
|
86
86
|
}
|
|
87
87
|
focus() {
|
|
88
|
-
this.
|
|
88
|
+
this.unMinimize();
|
|
89
89
|
this.window.focus();
|
|
90
90
|
}
|
|
91
91
|
hide() {
|
|
@@ -206,6 +206,16 @@ class WindowPool {
|
|
|
206
206
|
const MessageBody = { type: 'NexfepUnMaximizeWindow' }
|
|
207
207
|
window.ipc.postMessage(JSON.stringify(MessageBody));
|
|
208
208
|
};
|
|
209
|
+
|
|
210
|
+
window.toggleMaximize = () => {
|
|
211
|
+
const MessageBody = { type: 'NexfepToggleMaximizeWindow' }
|
|
212
|
+
window.ipc.postMessage(JSON.stringify(MessageBody));
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
window.toggleMinimize = () => {
|
|
216
|
+
const MessageBody = { type: 'NexfepToggleMinimizeWindow' }
|
|
217
|
+
window.ipc.postMessage(JSON.stringify(MessageBody));
|
|
218
|
+
};
|
|
209
219
|
window.setTitle = (title) => {
|
|
210
220
|
const MessageBody = { type: 'NexfepSetTitle', title: title }
|
|
211
221
|
window.ipc.postMessage(JSON.stringify(MessageBody));
|
|
@@ -342,25 +352,31 @@ class WindowPool {
|
|
|
342
352
|
this.closeWindow(windowObj);
|
|
343
353
|
}
|
|
344
354
|
else if (dataObj.type == "NexfepMinimizeWindow") {
|
|
345
|
-
|
|
355
|
+
windowObj.minimize();
|
|
346
356
|
}
|
|
347
357
|
else if (dataObj.type == "NexfepUnMinimizeWindow") {
|
|
348
|
-
|
|
358
|
+
windowObj.unMinimize();
|
|
349
359
|
}
|
|
350
360
|
else if (dataObj.type == "NexfepMaximizeWindow") {
|
|
351
|
-
|
|
361
|
+
windowObj.maximize();
|
|
352
362
|
}
|
|
353
363
|
else if (dataObj.type == "NexfepUnMaximizeWindow") {
|
|
354
|
-
|
|
364
|
+
windowObj.unMaximize();
|
|
365
|
+
}
|
|
366
|
+
else if (dataObj.type == "NexfepToggleMaximizeWindow") {
|
|
367
|
+
windowObj.toggleMaximize();
|
|
368
|
+
}
|
|
369
|
+
else if (dataObj.type == "NexfepToggleMinimizeWindow") {
|
|
370
|
+
windowObj.toggleMinimize();
|
|
355
371
|
}
|
|
356
372
|
else if (dataObj.type == "NexfepSetTitle") {
|
|
357
|
-
|
|
373
|
+
windowObj.setTitle(dataObj.title);
|
|
358
374
|
}
|
|
359
375
|
else if (dataObj.type == "NexfepOpenDevTools") {
|
|
360
|
-
|
|
376
|
+
windowObj.openDevTools();
|
|
361
377
|
}
|
|
362
378
|
else if (dataObj.type == "NexfepCloseDevTools") {
|
|
363
|
-
|
|
379
|
+
windowObj.closeDevTools();
|
|
364
380
|
}
|
|
365
381
|
else if (dataObj.type == "NexfepInvoke") {
|
|
366
382
|
const handlers = this.handlers.get(dataObj.event) || [];
|