tauri/examples/multiwindow/index.html
Lucas Fernandes Nogueira 6ec54c53b5
feat(core): allow dev_path, dist_dir as array of paths, fixes #1897 (#1926)
* feat(core): allow `dev_path`, `dist_dir` as array of paths, fixes #1897

* fix: clippy
2021-05-31 11:42:10 -03:00

76 lines
2.6 KiB
HTML

<!DOCTYPE html>
<html>
<body>
<div id="window-label"></div>
<div id="container"></div>
<div id="response"></div>
<script>
var WebviewWindow = window.__TAURI__.window.WebviewWindow
var thisTauriWindow = window.__TAURI__.window.getCurrent();
var windowLabel = thisTauriWindow.label;
var windowLabelContainer = document.getElementById("window-label");
windowLabelContainer.innerHTML =
"This is the " + windowLabel + " window.";
var container = document.getElementById("container");
function createWindowMessageBtn(label) {
var tauriWindow = WebviewWindow.getByLabel(label)
var button = document.createElement("button");
button.innerHTML = "Send message to " + label;
button.addEventListener("click", function () {
tauriWindow.emit("clicked", "message from " + windowLabel);
});
container.appendChild(button);
}
// global listener
window.__TAURI__.event.listen("clicked", function (event) {
responseContainer.innerHTML += "Got " + JSON.stringify(event) + " on global listener<br><br>";
})
window.__TAURI__.event.listen('tauri://window-created', function (event) {
createWindowMessageBtn(event.payload.label)
})
var responseContainer = document.getElementById("response");
// listener tied to this window
thisTauriWindow.listen("clicked", function (event) {
responseContainer.innerHTML += "Got " + JSON.stringify(event) + " on window listener<br><br>";
});
var createWindowButton = document.createElement("button");
createWindowButton.innerHTML = "Create window";
createWindowButton.addEventListener("click", function () {
var webviewWindow = new WebviewWindow(Math.random().toString());
webviewWindow.once('tauri://created', function () {
responseContainer.innerHTML += "Created new webview"
})
webviewWindow.once('tauri://error', function () {
responseContainer.innerHTML += "Error creating new webview"
})
});
container.appendChild(createWindowButton);
var globalMessageButton = document.createElement("button");
globalMessageButton.innerHTML = "Send global message";
globalMessageButton.addEventListener("click", function () {
// emit to all windows
window.__TAURI__.event.emit("clicked", "message from " + windowLabel);
});
container.appendChild(globalMessageButton);
var allWindows = window.__TAURI__.window.getAll()
for (var index in allWindows) {
var label = allWindows[index].label;
if (label === windowLabel) {
continue;
}
createWindowMessageBtn(label)
}
</script>
</body>
</html>