5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-04 17:12:11 +08:00
wails/v3/internal/runtime/runtime_production_desktop_windows.js

2 lines
8.2 KiB
JavaScript

(()=>{var ue=Object.defineProperty;var x=(e,t)=>{for(var n in t)ue(e,n,{get:t[n],enumerable:!0})};var y={};x(y,{SetText:()=>de,Text:()=>me});var ce=window.location.origin+"/wails/runtime";function fe(e,t,n){let i=new URL(ce);i.searchParams.append("method",e),n&&i.searchParams.append("args",JSON.stringify(n));let o={headers:{}};return t&&(o.headers["x-wails-window-name"]=t),new Promise((r,s)=>{fetch(i,o).then(a=>{if(a.ok)return a.headers.get("Content-Type")&&a.headers.get("Content-Type").indexOf("application/json")!==-1?a.json():a.text();s(Error(a.statusText))}).then(a=>r(a)).catch(a=>s(a))})}function l(e,t){return function(n,i=null){return fe(e+"."+n,t,i)}}var H=l("clipboard");function de(e){H("SetText",{text:e})}function me(){return H("Text")}var k={};x(k,{Hide:()=>pe,Quit:()=>we,Show:()=>ge});var W=l("application");function pe(){W("Hide")}function ge(){W("Show")}function we(){W("Quit")}var O={};x(O,{Log:()=>xe});var he=l("log");function xe(e){return he("Log",e)}var R={};x(R,{GetAll:()=>Ce,GetCurrent:()=>Me,GetPrimary:()=>ve});var L=l("screens");function Ce(){return L("GetAll")}function ve(){return L("GetPrimary")}function Me(){return L("GetCurrent")}var be="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var C=(e=21)=>{let t="",n=e;for(;n--;)t+=be[Math.random()*64|0];return t};var Se=l("call"),f=new Map;function Ee(){let e;do e=C();while(f.has(e));return e}function F(e,t,n){let i=f.get(e);i&&(n?i.resolve(JSON.parse(t)):i.resolve(t),f.delete(e))}function B(e,t){let n=f.get(e);n&&(n.reject(t),f.delete(e))}function I(e,t){return new Promise((n,i)=>{let o=Ee();t=t||{},t["call-id"]=o,f.set(o,{resolve:n,reject:i}),Se(e,t).catch(r=>{i(r),f.delete(o)})})}function U(e){return I("Call",e)}function G(e,t,...n){return I("Call",{packageName:"wails-plugins",structName:e,methodName:t,args:n})}function Y(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,i)=>t("SetSize",{width:n,height:i}),Size:()=>t("Size"),SetMaxSize:(n,i)=>void t("SetMaxSize",{width:n,height:i}),SetMinSize:(n,i)=>void t("SetMinSize",{width:n,height:i}),SetAlwaysOnTop:n=>void t("SetAlwaysOnTop",{alwaysOnTop:n}),SetPosition:(n,i)=>t("SetPosition",{x:n,y:i}),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"),Restore:()=>void t("Restore"),SetBackgroundColour:(n,i,o,r)=>void t("SetBackgroundColour",{r:n,g:i,b:o,a:r})}}var ye=l("events"),z=class{constructor(t,n,i){this.eventName=t,this.maxCallbacks=i||-1,this.Callback=o=>(n(o),this.maxCallbacks===-1?!1:(this.maxCallbacks-=1,this.maxCallbacks===0))}},v=class{constructor(t,n=null){this.name=t,this.data=n}},u=new Map;function M(e,t,n){let i=u.get(e)||[],o=new z(e,t,n);return i.push(o),u.set(e,i),()=>We(o)}function X(e,t){return M(e,t,-1)}function j(e,t){return M(e,t,1)}function We(e){let t=e.eventName,n=u.get(t).filter(i=>i!==e);n.length===0?u.delete(t):u.set(t,n)}function Q(e){console.log("dispatching event: ",{event:e});let t=u.get(e.name);if(t){let n=[];t.forEach(i=>{i.Callback(e)&&n.push(i)}),n.length>0&&(t=t.filter(i=>!n.includes(i)),t.length===0?u.delete(e.name):u.set(e.name,t))}}function V(e,...t){[e,...t].forEach(i=>{u.delete(i)})}function J(){u.clear()}function b(e){ye("Emit",e)}var ke=l("dialog"),d=new Map;function Oe(){let e;do e=C();while(d.has(e));return e}function q(e,t,n){let i=d.get(e);i&&(n?i.resolve(JSON.parse(t)):i.resolve(t),d.delete(e))}function _(e,t){let n=d.get(e);n&&(n.reject(t),d.delete(e))}function p(e,t){return new Promise((n,i)=>{let o=Oe();t=t||{},t["dialog-id"]=o,d.set(o,{resolve:n,reject:i}),ke(e,t).catch(r=>{i(r),d.delete(o)})})}function K(e){return p("Info",e)}function Z(e){return p("Warning",e)}function $(e){return p("Error",e)}function w(e){return p("Question",e)}function ee(e){return p("OpenFile",e)}function te(e){return p("SaveFile",e)}var Le=l("contextmenu");function Re(e,t,n,i){Le("OpenContextMenu",{id:e,x:t,y:n,data:i})}function ne(){window.addEventListener("contextmenu",ze)}function ze(e){let t=e.target,n=window.getComputedStyle(t).getPropertyValue("--custom-contextmenu");if(n=n?n.trim():"",n){e.preventDefault();let i=window.getComputedStyle(t).getPropertyValue("--custom-contextmenu-data");Re(n,e.clientX,e.clientY,i);return}Te(e)}function Te(e){let t=e.target;switch(window.getComputedStyle(t).getPropertyValue("--default-contextmenu").trim()){case"show":return;case"hide":e.preventDefault();return;default:if(t.isContentEditable)return;let o=window.getSelection();if(o&&o.toString().length>0)for(let r=0;r<o.rangeCount;r++){let a=o.getRangeAt(r).getClientRects();for(let m=0;m<a.length;m++){let g=a[m];if(document.elementFromPoint(g.left,g.top)===t)return}}if((t.tagName==="INPUT"||t.tagName==="TEXTAREA")&&!t.readOnly&&!t.disabled)return;e.preventDefault()}}function ie(e,t=null){let n=new v(e,t);b(n)}function Ae(){document.querySelectorAll("[data-wml-event]").forEach(function(t){let n=t.getAttribute("data-wml-event"),i=t.getAttribute("data-wml-confirm"),o=t.getAttribute("data-wml-trigger")||"click",r=function(){if(i){w({Title:"Confirm",Message:i,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(s){s!=="No"&&ie(n)});return}ie(n)};t.removeEventListener(o,r),t.addEventListener(o,r)})}function oe(e){wails.Window[e]===void 0&&console.log("Window method "+e+" not found"),wails.Window[e]()}function Pe(){document.querySelectorAll("[data-wml-window]").forEach(function(t){let n=t.getAttribute("data-wml-window"),i=t.getAttribute("data-wml-confirm"),o=t.getAttribute("data-wml-trigger")||"click",r=function(){if(i){w({Title:"Confirm",Message:i,Buttons:[{Label:"Yes"},{Label:"No",IsDefault:!0}]}).then(function(s){s!=="No"&&oe(n)});return}oe(n)};t.removeEventListener(o,r),t.addEventListener(o,r)})}function T(){Ae(),Pe()}var A=function(e){chrome.webview.postMessage(e)};var re=new Map;function le(e){let t=new Map;for(let[n,i]of Object.entries(e))typeof i=="object"&&i!==null?t.set(n,le(i)):t.set(n,i);return t}fetch("/wails/flags").then(e=>{e.json().then(t=>{re=le(t)})});function De(e){let t=e.split("."),n=re;for(let i of t)if(n instanceof Map?n=n.get(i):n=n[i],n===void 0)break;return n}function S(e){return De(e)}var h=!1;function Ne(e){let t=window.getComputedStyle(e.target).getPropertyValue("--webkit-app-region");return t&&(t=t.trim()),t!=="drag"||e.buttons!==1?!1:e.detail===1}function ae(){window.addEventListener("mousedown",Fe),window.addEventListener("mousemove",Ie),window.addEventListener("mouseup",Be)}var E=null;function He(e){return E?(A("resize:"+E),!0):!1}function Fe(e){if(!He())if(Ne(e)){if(e.offsetX>e.target.clientWidth||e.offsetY>e.target.clientHeight)return;h=!0}else h=!1}function Be(e){(e.buttons!==void 0?e.buttons:e.which)>0&&P()}function P(){document.body.style.cursor="default",h=!1}function c(e){document.documentElement.style.cursor=e||Ue,E=e}function Ie(e){if(h){h=!1,(e.buttons!==void 0?e.buttons:e.which)>0&&A("drag");return}Ge(e)}var Ue="auto";function Ge(e){let t=S("system.resizeHandleHeight")||5,n=S("system.resizeHandleWidth")||5,i=S("resizeCornerExtra")||3,o=window.outerWidth-e.clientX<n,r=e.clientX<n,s=e.clientY<t,a=window.outerHeight-e.clientY<t,m=window.outerWidth-e.clientX<n+i,g=e.clientX<n+i,D=e.clientY<t+i,N=window.outerHeight-e.clientY<t+i;!r&&!o&&!s&&!a&&E!==void 0?c():m&&N?c("se-resize"):g&&N?c("sw-resize"):g&&D?c("nw-resize"):D&&m?c("ne-resize"):r?c("w-resize"):s?c("n-resize"):a?c("s-resize"):o&&c("e-resize")}window.wails={...se(null),Capabilities:{}};fetch("/wails/capabilities").then(e=>{e.json().then(t=>{window.wails.Capabilities=t})});window._wails={dialogCallback:q,dialogErrorCallback:_,dispatchWailsEvent:Q,callCallback:F,callErrorCallback:B,endDrag:P};function se(e){return{Clipboard:{...y},Application:{...k,GetWindowByName(t){return se(t)}},Log:O,Screens:R,Call:U,Plugin:G,WML:{Reload:T},Dialog:{Info:K,Warning:Z,Error:$,Question:w,OpenFile:ee,SaveFile:te},Events:{Emit:b,On:X,Once:j,OnMultiple:M,Off:V,OffAll:J},Window:Y(e)}}console.log("Wails v3.0.0 Debug Mode Enabled");ne();ae();document.addEventListener("DOMContentLoaded",function(e){T()});})();