5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 06:01:52 +08:00
wails/v2/internal/frontend/runtime/desktop/main.js

57 lines
1.4 KiB
JavaScript

/*
_ __ _ __
| | / /___ _(_) /____
| | /| / / __ `/ / / ___/
| |/ |/ / /_/ / / (__ )
|__/|__/\__,_/_/_/____/
The electron alternative for Go
(c) Lea Anthony 2019-present
*/
/* jshint esversion: 9 */
import * as Log from './log';
import {eventListeners, EventsEmit, EventsNotify, EventsOff, EventsOn, EventsOnce, EventsOnMultiple} from './events';
import {Callback, callbacks} from './calls';
import {SetBindings} from "./bindings";
import {WindowReload} from "./window";
// Backend is where the Go struct wrappers get bound to
window.backend = {};
window.runtime = {
...Log,
EventsOn,
EventsOnce,
EventsOnMultiple,
EventsEmit,
EventsOff,
WindowReload,
};
// Initialise global if not already
window.wails = {
Callback,
EventsNotify,
SetBindings,
eventListeners,
callbacks
};
window.wails.SetBindings(window.wailsbindings);
delete window.wails.SetBindings;
delete window.wailsbindings;
// Setup drag handler
// Based on code from: https://github.com/patr0nus/DeskGap
window.addEventListener('mousedown', (e) => {
let currentElement = e.target;
while (currentElement != null) {
if (currentElement.hasAttribute('data-wails-no-drag')) {
break;
} else if (currentElement.hasAttribute('data-wails-drag')) {
window.WailsInvoke("drag");
break;
}
currentElement = currentElement.parentElement;
}
});