mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 20:21:01 +08:00
2 lines
5.8 KiB
JavaScript
2 lines
5.8 KiB
JavaScript
(()=>{var K=Object.defineProperty;var m=(e,t)=>{for(var n in t)K(e,n,{get:t[n],enumerable:!0})};var g={};m(g,{SetText:()=>Z,Text:()=>$});var V=window.location.origin+"/wails/runtime";function L(e,t){let n=new URL(V);return n.searchParams.append("method",e),t&&n.searchParams.append("args",JSON.stringify(t)),new Promise((o,i)=>{fetch(n).then(r=>{if(r.ok)return r.headers.get("Content-Type")&&r.headers.get("Content-Type").indexOf("application/json")!==-1?r.json():r.text();i(Error(r.statusText))}).then(r=>o(r)).catch(r=>i(r))})}function l(e,t){return!t||t===-1?function(n,o){return L(e+"."+n,o)}:function(n,o){return o=o||{},o.windowID=t,L(e+"."+n,o)}}var O=l("clipboard");function Z(e){O("SetText",{text:e})}function $(){return O("Text")}var h={};m(h,{Hide:()=>ee,Quit:()=>ne,Show:()=>te});var v=l("application");function ee(){v("Hide")}function te(){v("Show")}function ne(){v("Quit")}var C={};m(C,{Log:()=>ie});var oe=l("log");function ie(e){return oe("Log",e)}var M={};m(M,{GetAll:()=>re,GetCurrent:()=>ae,GetPrimary:()=>le});var S=l("screens");function re(){return S("GetAll")}function le(){return S("GetPrimary")}function ae(){return S("GetCurrent")}var ue="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var d=(e=21)=>{let t="",n=e;for(;n--;)t+=ue[Math.random()*64|0];return t};var ce=l("call"),u=new Map;function se(){let e;do e=d();while(u.has(e));return e}function k(e,t,n){let o=u.get(e);o&&(n?o.resolve(JSON.parse(t)):o.resolve(t),u.delete(e))}function A(e,t){let n=u.get(e);n&&(n.reject(t),u.delete(e))}function R(e,t){return new Promise((n,o)=>{let i=se();t=t||{},t["call-id"]=i,u.set(i,{resolve:n,reject:o}),ce(e,t).catch(r=>{o(r),u.delete(i)})})}function T(e){return R("Call",e)}function W(e,t,...n){return R("Call",{packageName:"wails-plugins",structName:e,methodName:t,args:n})}function P(e){let t=l("window",e);return{Center:()=>void t("Center"),SetTitle:n=>void t("SetTitle",{title:n}),Fullscreen:()=>void t("Fullscreen"),UnFullscreen:()=>void t("UnFullscreen"),SetSize:(n,o)=>t("SetSize",{width:n,height:o}),Size:()=>t("Size"),SetMaxSize:(n,o)=>void t("SetMaxSize",{width:n,height:o}),SetMinSize:(n,o)=>void t("SetMinSize",{width:n,height:o}),SetAlwaysOnTop:n=>void t("SetAlwaysOnTop",{alwaysOnTop:n}),SetPosition:(n,o)=>t("SetPosition",{x:n,y:o}),Position:()=>t("Position"),Screen:()=>t("Screen"),Hide:()=>void t("Hide"),Maximise:()=>void t("Maximise"),Show:()=>void t("Show"),Close:()=>void t("Close"),ToggleMaximise:()=>void t("ToggleMaximise"),UnMaximise:()=>void t("UnMaximise"),Minimise:()=>void t("Minimise"),UnMinimise:()=>void t("UnMinimise"),SetBackgroundColour:(n,o,i,r)=>void t("SetBackgroundColour",{r:n,g:o,b:i,a:r})}}var fe=l("events"),b=class{constructor(t,n,o){this.eventName=t,this.maxCallbacks=o||-1,this.Callback=i=>(n(i),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}};var a=new Map;function p(e,t,n){let o=a.get(e)||[],i=new b(e,t,n);return o.push(i),a.set(e,o),()=>me(i)}function y(e,t){return p(e,t,-1)}function N(e,t){return p(e,t,1)}function me(e){let t=e.eventName,n=a.get(t).filter(o=>o!==e);n.length===0?a.delete(t):a.set(t,n)}function D(e){console.log("dispatching event: ",{event:e});let t=a.get(e.name);if(t){let n=[];t.forEach(o=>{o.Callback(e)&&n.push(o)}),n.length>0&&(t=t.filter(o=>!n.includes(o)),t.length===0?a.delete(e.name):a.set(e.name,t))}}function F(e,...t){[e,...t].forEach(o=>{a.delete(o)})}function U(){a.clear()}function w(e){fe("Emit",e)}var de=l("dialog"),c=new Map;function pe(){let e;do e=d();while(c.has(e));return e}function z(e,t,n){let o=c.get(e);o&&(n?o.resolve(JSON.parse(t)):o.resolve(t),c.delete(e))}function I(e,t){let n=c.get(e);n&&(n.reject(t),c.delete(e))}function s(e,t){return new Promise((n,o)=>{let i=pe();t=t||{},t["dialog-id"]=i,c.set(i,{resolve:n,reject:o}),de(e,t).catch(r=>{o(r),c.delete(i)})})}function G(e){return s("Info",e)}function B(e){return s("Warning",e)}function Q(e){return s("Error",e)}function f(e){return s("Question",e)}function H(e){return s("OpenFile",e)}function J(e){return s("SaveFile",e)}var we=l("contextmenu");function xe(e,t,n,o){return we("OpenContextMenu",{id:e,x:t,y:n,data:o})}function q(e){e?window.addEventListener("contextmenu",Y):window.removeEventListener("contextmenu",Y)}function Y(e){_(e.target,e)}function _(e,t){let n=e.getAttribute("data-contextmenu");if(n)t.preventDefault(),xe(n,t.clientX,t.clientY,e.getAttribute("data-contextmenu-data"));else{let o=e.parentElement;o&&_(o,t)}}function X(e){let t=w({name:e})}function ge(){document.querySelectorAll("[data-wml-event]").forEach(function(t){let n=t.getAttribute("data-wml-event"),o=t.getAttribute("data-wml-confirm"),i=t.getAttribute("data-wml-trigger")||"click",r=function(){if(o){f({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(x){x!=="No"&&X(n)});return}X(n)};t.removeEventListener(i,r),t.addEventListener(i,r)})}function j(e){wails.Window[e]===void 0&&console.log("Window method "+e+" not found"),wails.Window[e]()}function ve(){document.querySelectorAll("[data-wml-window]").forEach(function(t){let n=t.getAttribute("data-wml-window"),o=t.getAttribute("data-wml-confirm"),i=t.getAttribute("data-wml-trigger")||"click",r=function(){if(o){f({Title:"Confirm",Message:o,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(x){x!=="No"&&j(n)});return}j(n)};t.removeEventListener(i,r),t.addEventListener(i,r)})}function E(){ge(),ve()}window.wails={...he(-1)};window._wails={dialogCallback:z,dialogErrorCallback:I,dispatchCustomEvent:D,callCallback:k,callErrorCallback:A};function he(e){return{Clipboard:{...g},Application:{...h},Log:C,Screens:M,Call:T,Plugin:W,WML:{Reload:E},Dialog:{Info:G,Warning:B,Error:Q,Question:f,OpenFile:H,SaveFile:J},Events:{Emit:w,On:y,Once:N,OnMultiple:p,Off:F,OffAll:U},Window:P(e)}}console.log("Wails v3.0.0 Debug Mode Enabled");q(!0);document.addEventListener("DOMContentLoaded",function(e){E()});})();
|