5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 05:11:29 +08:00
wails/v3/internal/runtime/runtime_production_desktop_linux.js
2023-03-19 09:13:05 +11:00

2 lines
5.8 KiB
JavaScript

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