@wailsio/runtime 3.0.0-alpha.8 → 3.0.0-alpha.94
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/dist/android.js +39 -0
- package/{src → dist}/application.js +32 -46
- package/dist/browser.js +20 -0
- package/dist/callable.js +144 -0
- package/dist/calls.js +114 -0
- package/dist/cancellable.js +792 -0
- package/dist/clipboard.js +30 -0
- package/dist/contextmenu.js +83 -0
- package/dist/create.js +99 -0
- package/dist/dialogs.js +69 -0
- package/dist/drag.js +268 -0
- package/dist/environment.js +17 -0
- package/dist/event_types.js +292 -0
- package/dist/events.js +119 -0
- package/dist/flags.js +23 -0
- package/dist/index.js +88 -0
- package/dist/ios.js +28 -0
- package/dist/listener.js +44 -0
- package/dist/nanoid.js +38 -0
- package/dist/plugins/vite.js +64 -0
- package/dist/runtime.js +198 -0
- package/dist/screens.js +58 -0
- package/dist/system.js +158 -0
- package/dist/updater.js +74 -0
- package/dist/utils.js +98 -0
- package/dist/window.js +734 -0
- package/dist/wml.js +179 -0
- package/package.json +71 -26
- package/types/android.d.ts +21 -0
- package/types/application.d.ts +3 -10
- package/types/browser.d.ts +4 -4
- package/types/callable.d.ts +3 -0
- package/types/calls.d.ts +52 -24
- package/types/cancellable.d.ts +433 -0
- package/types/clipboard.d.ts +6 -5
- package/types/contextmenu.d.ts +1 -1
- package/types/create.d.ts +36 -0
- package/types/dialogs.d.ts +132 -20
- package/types/drag.d.ts +1 -4
- package/types/environment.d.ts +8 -0
- package/types/event_types.d.ts +281 -0
- package/types/events.d.ts +70 -33
- package/types/flags.d.ts +3 -3
- package/types/index.d.ts +32 -48
- package/types/ios.d.ts +13 -0
- package/types/listener.d.ts +9 -0
- package/types/nanoid.d.ts +1 -0
- package/types/plugins/vite.d.ts +10 -0
- package/types/runtime.d.ts +61 -22
- package/types/screens.d.ts +64 -7
- package/types/system.d.ts +74 -39
- package/types/updater.d.ts +65 -0
- package/types/utils.d.ts +21 -0
- package/types/window.d.ts +327 -13
- package/types/wml.d.ts +5 -3
- package/src/browser.js +0 -24
- package/src/calls.js +0 -123
- package/src/clipboard.js +0 -35
- package/src/contextmenu.js +0 -98
- package/src/dialogs.js +0 -138
- package/src/drag.js +0 -125
- package/src/events.js +0 -134
- package/src/flags.js +0 -63
- package/src/index.d.ts +0 -136
- package/src/index.js +0 -58
- package/src/runtime.js +0 -122
- package/src/screens.js +0 -45
- package/src/system.js +0 -122
- package/src/window.js +0 -122
- package/src/wml.js +0 -151
- package/tsconfig.json +0 -20
package/src/wml.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import {Emit, WailsEvent} from "./events";
|
|
3
|
-
import {Question} from "./dialogs";
|
|
4
|
-
import {WindowMethods, Get} from "./window";
|
|
5
|
-
import {OpenURL} from "./browser";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Sends an event with the given name and optional data.
|
|
9
|
-
*
|
|
10
|
-
* @param {string} eventName - The name of the event to send.
|
|
11
|
-
* @param {any} [data=null] - Optional data to send along with the event.
|
|
12
|
-
*
|
|
13
|
-
* @return {void}
|
|
14
|
-
*/
|
|
15
|
-
function sendEvent(eventName, data=null) {
|
|
16
|
-
let event = new WailsEvent(eventName, data);
|
|
17
|
-
Emit(event);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Adds event listeners to elements with `wml-event` attribute.
|
|
22
|
-
*
|
|
23
|
-
* @return {void}
|
|
24
|
-
*/
|
|
25
|
-
function addWMLEventListeners() {
|
|
26
|
-
const elements = document.querySelectorAll('[wml-event]');
|
|
27
|
-
elements.forEach(function (element) {
|
|
28
|
-
const eventType = element.getAttribute('wml-event');
|
|
29
|
-
const confirm = element.getAttribute('wml-confirm');
|
|
30
|
-
const trigger = element.getAttribute('wml-trigger') || "click";
|
|
31
|
-
|
|
32
|
-
let callback = function () {
|
|
33
|
-
if (confirm) {
|
|
34
|
-
Question({Title: "Confirm", Message:confirm, Detached: false, Buttons:[{Label:"Yes"},{Label:"No", IsDefault:true}]}).then(function (result) {
|
|
35
|
-
if (result !== "No") {
|
|
36
|
-
sendEvent(eventType);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
sendEvent(eventType);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
// Remove existing listeners
|
|
45
|
-
element.removeEventListener(trigger, callback);
|
|
46
|
-
|
|
47
|
-
// Add new listener
|
|
48
|
-
element.addEventListener(trigger, callback);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Calls a method on a specified window.
|
|
55
|
-
* @param {string} windowName - The name of the window to call the method on.
|
|
56
|
-
* @param {string} method - The name of the method to call.
|
|
57
|
-
*/
|
|
58
|
-
function callWindowMethod(windowName, method) {
|
|
59
|
-
let targetWindow = Get(windowName);
|
|
60
|
-
let methodMap = WindowMethods(targetWindow);
|
|
61
|
-
if (!methodMap.has(method)) {
|
|
62
|
-
console.log("Window method " + method + " not found");
|
|
63
|
-
}
|
|
64
|
-
try {
|
|
65
|
-
methodMap.get(method)();
|
|
66
|
-
} catch (e) {
|
|
67
|
-
console.error("Error calling window method '" + method + "': " + e);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Adds window listeners for elements with the 'wml-window' attribute.
|
|
73
|
-
* Removes any existing listeners before adding new ones.
|
|
74
|
-
*
|
|
75
|
-
* @return {void}
|
|
76
|
-
*/
|
|
77
|
-
function addWMLWindowListeners() {
|
|
78
|
-
const elements = document.querySelectorAll('[wml-window]');
|
|
79
|
-
elements.forEach(function (element) {
|
|
80
|
-
const windowMethod = element.getAttribute('wml-window');
|
|
81
|
-
const confirm = element.getAttribute('wml-confirm');
|
|
82
|
-
const trigger = element.getAttribute('wml-trigger') || 'click';
|
|
83
|
-
const targetWindow = element.getAttribute('wml-target-window') || '';
|
|
84
|
-
|
|
85
|
-
let callback = function () {
|
|
86
|
-
if (confirm) {
|
|
87
|
-
Question({Title: "Confirm", Message:confirm, Buttons:[{Label:"Yes"},{Label:"No", IsDefault:true}]}).then(function (result) {
|
|
88
|
-
if (result !== "No") {
|
|
89
|
-
callWindowMethod(targetWindow, windowMethod);
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
callWindowMethod(targetWindow, windowMethod);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
// Remove existing listeners
|
|
98
|
-
element.removeEventListener(trigger, callback);
|
|
99
|
-
|
|
100
|
-
// Add new listener
|
|
101
|
-
element.addEventListener(trigger, callback);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Adds a listener to elements with the 'wml-openurl' attribute.
|
|
107
|
-
* When the specified trigger event is fired on any of these elements,
|
|
108
|
-
* the listener will open the URL specified by the 'wml-openurl' attribute.
|
|
109
|
-
* If a 'wml-confirm' attribute is provided, a confirmation dialog will be displayed,
|
|
110
|
-
* and the URL will only be opened if the user confirms.
|
|
111
|
-
*
|
|
112
|
-
* @return {void}
|
|
113
|
-
*/
|
|
114
|
-
function addWMLOpenBrowserListener() {
|
|
115
|
-
const elements = document.querySelectorAll('[wml-openurl]');
|
|
116
|
-
elements.forEach(function (element) {
|
|
117
|
-
const url = element.getAttribute('wml-openurl');
|
|
118
|
-
const confirm = element.getAttribute('wml-confirm');
|
|
119
|
-
const trigger = element.getAttribute('wml-trigger') || "click";
|
|
120
|
-
|
|
121
|
-
let callback = function () {
|
|
122
|
-
if (confirm) {
|
|
123
|
-
Question({Title: "Confirm", Message:confirm, Buttons:[{Label:"Yes"},{Label:"No", IsDefault:true}]}).then(function (result) {
|
|
124
|
-
if (result !== "No") {
|
|
125
|
-
void OpenURL(url);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
void OpenURL(url);
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// Remove existing listeners
|
|
134
|
-
element.removeEventListener(trigger, callback);
|
|
135
|
-
|
|
136
|
-
// Add new listener
|
|
137
|
-
element.addEventListener(trigger, callback);
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Reloads the WML page by adding necessary event listeners and browser listeners.
|
|
143
|
-
*
|
|
144
|
-
* @return {void}
|
|
145
|
-
*/
|
|
146
|
-
export function reloadWML() {
|
|
147
|
-
console.log("Reloading WML");
|
|
148
|
-
addWMLEventListeners();
|
|
149
|
-
addWMLWindowListeners();
|
|
150
|
-
addWMLOpenBrowserListener();
|
|
151
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"include": ["./src/**/*"],
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"lib": [
|
|
5
|
-
"dom",
|
|
6
|
-
"dom.iterable",
|
|
7
|
-
"esnext"
|
|
8
|
-
],
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
"declaration": true,
|
|
11
|
-
"declarationMap": true,
|
|
12
|
-
"emitDeclarationOnly": true,
|
|
13
|
-
"esModuleInterop": true,
|
|
14
|
-
"module": "esnext",
|
|
15
|
-
"moduleResolution": "node",
|
|
16
|
-
"outDir": "dist",
|
|
17
|
-
"strict": true,
|
|
18
|
-
"target": "es6"
|
|
19
|
-
}
|
|
20
|
-
}
|