初始化

This commit is contained in:
李琦
2026-08-11 19:07:05 +08:00
commit d2aeb13a09
94 changed files with 8704 additions and 0 deletions

84
frontend/wailsjs/go/main/App.d.ts vendored Normal file
View File

@@ -0,0 +1,84 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import {model} from '../models';
import {main} from '../models';
export function AddRule(arg1:string,arg2:string):Promise<model.ExclusionRule>;
export function CancelAnalysis(arg1:string):Promise<void>;
export function CheckoutBranch(arg1:number,arg2:string):Promise<model.CheckoutResult>;
export function ClearData(arg1:string,arg2:number):Promise<void>;
export function ClearLogs():Promise<void>;
export function DeleteProject(arg1:number):Promise<void>;
export function DeleteProjectGroup(arg1:number):Promise<void>;
export function DeleteRule(arg1:number):Promise<void>;
export function GetBootstrapStatus():Promise<main.BootstrapStatus>;
export function GetCommitDetails(arg1:number,arg2:string):Promise<model.GitCommitDetail>;
export function GetDashboard():Promise<model.Dashboard>;
export function GetDashboardByGroup(arg1:number):Promise<model.Dashboard>;
export function GetGitDiagnostics(arg1:number):Promise<model.GitDiagnostics>;
export function GetGitStats(arg1:number):Promise<model.GitStats>;
export function GetGitStatsForRef(arg1:number,arg2:string):Promise<model.GitStats>;
export function GetLogs(arg1:string):Promise<Array<model.LogEntry>>;
export function GetProject(arg1:number):Promise<model.Project>;
export function GetProjectInsights(arg1:number):Promise<model.ProjectInsights>;
export function GetRules():Promise<Array<model.ExclusionRule>>;
export function GetSettings():Promise<model.AppSettings>;
export function GetStructure(arg1:number):Promise<model.StructureStats>;
export function InitializeDatabase(arg1:string):Promise<main.BootstrapStatus>;
export function ListProjectGroups():Promise<Array<model.ProjectGroup>>;
export function ListProjects():Promise<Array<model.Project>>;
export function ListProjectsByGroup(arg1:number):Promise<Array<model.Project>>;
export function ListWSLDistros():Promise<Array<string>>;
export function MigrateDatabase(arg1:string):Promise<void>;
export function RefreshProjectInsights(arg1:number):Promise<model.ProjectInsights>;
export function ReportClientError(arg1:string,arg2:string,arg3:string):Promise<void>;
export function RetryDatabase():Promise<main.BootstrapStatus>;
export function SaveProject(arg1:number,arg2:model.ProjectInput):Promise<model.Project>;
export function SaveProjectGroup(arg1:number,arg2:string):Promise<model.ProjectGroup>;
export function SaveSettings(arg1:model.AppSettings):Promise<void>;
export function SelectDatabaseFile():Promise<string>;
export function SelectDirectory():Promise<string>;
export function SelectInitialDatabaseFile(arg1:string):Promise<string>;
export function SelectWSLDirectory(arg1:string):Promise<string>;
export function StartAnalysis(arg1:number,arg2:string):Promise<string>;
export function StartBatchAnalysis():Promise<Array<string>>;
export function StartBatchAnalysisByGroup(arg1:number):Promise<Array<string>>;

View File

@@ -0,0 +1,163 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export function AddRule(arg1, arg2) {
return window['go']['main']['App']['AddRule'](arg1, arg2);
}
export function CancelAnalysis(arg1) {
return window['go']['main']['App']['CancelAnalysis'](arg1);
}
export function CheckoutBranch(arg1, arg2) {
return window['go']['main']['App']['CheckoutBranch'](arg1, arg2);
}
export function ClearData(arg1, arg2) {
return window['go']['main']['App']['ClearData'](arg1, arg2);
}
export function ClearLogs() {
return window['go']['main']['App']['ClearLogs']();
}
export function DeleteProject(arg1) {
return window['go']['main']['App']['DeleteProject'](arg1);
}
export function DeleteProjectGroup(arg1) {
return window['go']['main']['App']['DeleteProjectGroup'](arg1);
}
export function DeleteRule(arg1) {
return window['go']['main']['App']['DeleteRule'](arg1);
}
export function GetBootstrapStatus() {
return window['go']['main']['App']['GetBootstrapStatus']();
}
export function GetCommitDetails(arg1, arg2) {
return window['go']['main']['App']['GetCommitDetails'](arg1, arg2);
}
export function GetDashboard() {
return window['go']['main']['App']['GetDashboard']();
}
export function GetDashboardByGroup(arg1) {
return window['go']['main']['App']['GetDashboardByGroup'](arg1);
}
export function GetGitDiagnostics(arg1) {
return window['go']['main']['App']['GetGitDiagnostics'](arg1);
}
export function GetGitStats(arg1) {
return window['go']['main']['App']['GetGitStats'](arg1);
}
export function GetGitStatsForRef(arg1, arg2) {
return window['go']['main']['App']['GetGitStatsForRef'](arg1, arg2);
}
export function GetLogs(arg1) {
return window['go']['main']['App']['GetLogs'](arg1);
}
export function GetProject(arg1) {
return window['go']['main']['App']['GetProject'](arg1);
}
export function GetProjectInsights(arg1) {
return window['go']['main']['App']['GetProjectInsights'](arg1);
}
export function GetRules() {
return window['go']['main']['App']['GetRules']();
}
export function GetSettings() {
return window['go']['main']['App']['GetSettings']();
}
export function GetStructure(arg1) {
return window['go']['main']['App']['GetStructure'](arg1);
}
export function InitializeDatabase(arg1) {
return window['go']['main']['App']['InitializeDatabase'](arg1);
}
export function ListProjectGroups() {
return window['go']['main']['App']['ListProjectGroups']();
}
export function ListProjects() {
return window['go']['main']['App']['ListProjects']();
}
export function ListProjectsByGroup(arg1) {
return window['go']['main']['App']['ListProjectsByGroup'](arg1);
}
export function ListWSLDistros() {
return window['go']['main']['App']['ListWSLDistros']();
}
export function MigrateDatabase(arg1) {
return window['go']['main']['App']['MigrateDatabase'](arg1);
}
export function RefreshProjectInsights(arg1) {
return window['go']['main']['App']['RefreshProjectInsights'](arg1);
}
export function ReportClientError(arg1, arg2, arg3) {
return window['go']['main']['App']['ReportClientError'](arg1, arg2, arg3);
}
export function RetryDatabase() {
return window['go']['main']['App']['RetryDatabase']();
}
export function SaveProject(arg1, arg2) {
return window['go']['main']['App']['SaveProject'](arg1, arg2);
}
export function SaveProjectGroup(arg1, arg2) {
return window['go']['main']['App']['SaveProjectGroup'](arg1, arg2);
}
export function SaveSettings(arg1) {
return window['go']['main']['App']['SaveSettings'](arg1);
}
export function SelectDatabaseFile() {
return window['go']['main']['App']['SelectDatabaseFile']();
}
export function SelectDirectory() {
return window['go']['main']['App']['SelectDirectory']();
}
export function SelectInitialDatabaseFile(arg1) {
return window['go']['main']['App']['SelectInitialDatabaseFile'](arg1);
}
export function SelectWSLDirectory(arg1) {
return window['go']['main']['App']['SelectWSLDirectory'](arg1);
}
export function StartAnalysis(arg1, arg2) {
return window['go']['main']['App']['StartAnalysis'](arg1, arg2);
}
export function StartBatchAnalysis() {
return window['go']['main']['App']['StartBatchAnalysis']();
}
export function StartBatchAnalysisByGroup(arg1) {
return window['go']['main']['App']['StartBatchAnalysisByGroup'](arg1);
}

View File

@@ -0,0 +1,663 @@
export namespace main {
export class BootstrapStatus {
state: string;
databasePath: string;
defaultPath: string;
errorCode?: string;
errorDetail?: string;
static createFrom(source: any = {}) {
return new BootstrapStatus(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.state = source["state"];
this.databasePath = source["databasePath"];
this.defaultPath = source["defaultPath"];
this.errorCode = source["errorCode"];
this.errorDetail = source["errorDetail"];
}
}
}
export namespace model {
export class AppSettings {
theme: string;
locale: string;
gitScope: string;
databasePath: string;
autoRefresh: boolean;
glassOpacity: number;
loadingStyle: string;
static createFrom(source: any = {}) {
return new AppSettings(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.theme = source["theme"];
this.locale = source["locale"];
this.gitScope = source["gitScope"];
this.databasePath = source["databasePath"];
this.autoRefresh = source["autoRefresh"];
this.glassOpacity = source["glassOpacity"];
this.loadingStyle = source["loadingStyle"];
}
}
export class CheckoutResult {
branch: string;
message: string;
static createFrom(source: any = {}) {
return new CheckoutResult(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.branch = source["branch"];
this.message = source["message"];
}
}
export class Contributor {
name: string;
email: string;
commits: number;
added: number;
deleted: number;
static createFrom(source: any = {}) {
return new Contributor(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.name = source["name"];
this.email = source["email"];
this.commits = source["commits"];
this.added = source["added"];
this.deleted = source["deleted"];
}
}
export class Dashboard {
projects: number;
totalLines: number;
commits: number;
static createFrom(source: any = {}) {
return new Dashboard(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.projects = source["projects"];
this.totalLines = source["totalLines"];
this.commits = source["commits"];
}
}
export class ExclusionRule {
id: number;
pattern: string;
category: string;
builtin: boolean;
static createFrom(source: any = {}) {
return new ExclusionRule(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.id = source["id"];
this.pattern = source["pattern"];
this.category = source["category"];
this.builtin = source["builtin"];
}
}
export class ExtensionStat {
extension: string;
files: number;
size: number;
static createFrom(source: any = {}) {
return new ExtensionStat(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.extension = source["extension"];
this.files = source["files"];
this.size = source["size"];
}
}
export class FileEntry {
path: string;
name: string;
extension: string;
size: number;
isDir: boolean;
parent: string;
static createFrom(source: any = {}) {
return new FileEntry(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.path = source["path"];
this.name = source["name"];
this.extension = source["extension"];
this.size = source["size"];
this.isDir = source["isDir"];
this.parent = source["parent"];
}
}
export class FolderStat {
name: string;
files: number;
size: number;
static createFrom(source: any = {}) {
return new FolderStat(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.name = source["name"];
this.files = source["files"];
this.size = source["size"];
}
}
export class GitCommit {
hash: string;
author: string;
email: string;
message: string;
date: string;
added: number;
deleted: number;
static createFrom(source: any = {}) {
return new GitCommit(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.hash = source["hash"];
this.author = source["author"];
this.email = source["email"];
this.message = source["message"];
this.date = source["date"];
this.added = source["added"];
this.deleted = source["deleted"];
}
}
export class GitFileChange {
path: string;
status: string;
added: number;
deleted: number;
static createFrom(source: any = {}) {
return new GitFileChange(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.path = source["path"];
this.status = source["status"];
this.added = source["added"];
this.deleted = source["deleted"];
}
}
export class GitCommitDetail {
hash: string;
author: string;
email: string;
message: string;
date: string;
added: number;
deleted: number;
files: GitFileChange[];
static createFrom(source: any = {}) {
return new GitCommitDetail(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.hash = source["hash"];
this.author = source["author"];
this.email = source["email"];
this.message = source["message"];
this.date = source["date"];
this.added = source["added"];
this.deleted = source["deleted"];
this.files = this.convertValues(source["files"], GitFileChange);
}
convertValues(a: any, classs: any, asMap: boolean = false): any {
if (!a) {
return a;
}
if (a.slice && a.map) {
return (a as any[]).map(elem => this.convertValues(elem, classs));
} else if ("object" === typeof a) {
if (asMap) {
for (const key of Object.keys(a)) {
a[key] = new classs(a[key]);
}
return a;
}
return new classs(a);
}
return a;
}
}
export class GitDiagnostics {
available: boolean;
errorCode?: string;
detail?: string;
isWsl: boolean;
distro?: string;
linuxPath?: string;
workspaceBranch?: string;
viewRef?: string;
refCount: number;
static createFrom(source: any = {}) {
return new GitDiagnostics(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.available = source["available"];
this.errorCode = source["errorCode"];
this.detail = source["detail"];
this.isWsl = source["isWsl"];
this.distro = source["distro"];
this.linuxPath = source["linuxPath"];
this.workspaceBranch = source["workspaceBranch"];
this.viewRef = source["viewRef"];
this.refCount = source["refCount"];
}
}
export class GitRef {
name: string;
hash: string;
kind: string;
current: boolean;
static createFrom(source: any = {}) {
return new GitRef(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.name = source["name"];
this.hash = source["hash"];
this.kind = source["kind"];
this.current = source["current"];
}
}
export class HeatDay {
date: string;
count: number;
static createFrom(source: any = {}) {
return new HeatDay(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.date = source["date"];
this.count = source["count"];
}
}
export class GitStats {
available: boolean;
error?: string;
currentBranch: string;
workspaceBranch: string;
viewRef: string;
commitCount: number;
added: number;
deleted: number;
contributorCount: number;
commits: GitCommit[];
refs: GitRef[];
contributors: Contributor[];
heatmap: HeatDay[];
static createFrom(source: any = {}) {
return new GitStats(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.available = source["available"];
this.error = source["error"];
this.currentBranch = source["currentBranch"];
this.workspaceBranch = source["workspaceBranch"];
this.viewRef = source["viewRef"];
this.commitCount = source["commitCount"];
this.added = source["added"];
this.deleted = source["deleted"];
this.contributorCount = source["contributorCount"];
this.commits = this.convertValues(source["commits"], GitCommit);
this.refs = this.convertValues(source["refs"], GitRef);
this.contributors = this.convertValues(source["contributors"], Contributor);
this.heatmap = this.convertValues(source["heatmap"], HeatDay);
}
convertValues(a: any, classs: any, asMap: boolean = false): any {
if (!a) {
return a;
}
if (a.slice && a.map) {
return (a as any[]).map(elem => this.convertValues(elem, classs));
} else if ("object" === typeof a) {
if (asMap) {
for (const key of Object.keys(a)) {
a[key] = new classs(a[key]);
}
return a;
}
return new classs(a);
}
return a;
}
}
export class InsightIssue {
severity: string;
type: string;
title: string;
detail: string;
path?: string;
line?: number;
suggestion: string;
evidence?: string;
static createFrom(source: any = {}) {
return new InsightIssue(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.severity = source["severity"];
this.type = source["type"];
this.title = source["title"];
this.detail = source["detail"];
this.path = source["path"];
this.line = source["line"];
this.suggestion = source["suggestion"];
this.evidence = source["evidence"];
}
}
export class InsightSummary {
high: number;
medium: number;
low: number;
todoCount: number;
longFiles: number;
largeFiles: number;
static createFrom(source: any = {}) {
return new InsightSummary(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.high = source["high"];
this.medium = source["medium"];
this.low = source["low"];
this.todoCount = source["todoCount"];
this.longFiles = source["longFiles"];
this.largeFiles = source["largeFiles"];
}
}
export class LanguageStat {
name: string;
files: number;
code: number;
comments: number;
blanks: number;
static createFrom(source: any = {}) {
return new LanguageStat(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.name = source["name"];
this.files = source["files"];
this.code = source["code"];
this.comments = source["comments"];
this.blanks = source["blanks"];
}
}
export class LogEntry {
id: number;
level: string;
category: string;
message: string;
detail: string;
createdAt: string;
static createFrom(source: any = {}) {
return new LogEntry(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.id = source["id"];
this.level = source["level"];
this.category = source["category"];
this.message = source["message"];
this.detail = source["detail"];
this.createdAt = source["createdAt"];
}
}
export class ProjectStats {
totalLines: number;
codeLines: number;
commentLines: number;
blankLines: number;
fileCount: number;
commitCount: number;
addedLines: number;
deletedLines: number;
contributorCount: number;
lastAnalyzed: string;
static createFrom(source: any = {}) {
return new ProjectStats(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.totalLines = source["totalLines"];
this.codeLines = source["codeLines"];
this.commentLines = source["commentLines"];
this.blankLines = source["blankLines"];
this.fileCount = source["fileCount"];
this.commitCount = source["commitCount"];
this.addedLines = source["addedLines"];
this.deletedLines = source["deletedLines"];
this.contributorCount = source["contributorCount"];
this.lastAnalyzed = source["lastAnalyzed"];
}
}
export class Project {
id: number;
name: string;
path: string;
description: string;
groupId: number;
groupName: string;
createdAt: string;
updatedAt: string;
stats: ProjectStats;
languages: LanguageStat[];
static createFrom(source: any = {}) {
return new Project(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.id = source["id"];
this.name = source["name"];
this.path = source["path"];
this.description = source["description"];
this.groupId = source["groupId"];
this.groupName = source["groupName"];
this.createdAt = source["createdAt"];
this.updatedAt = source["updatedAt"];
this.stats = this.convertValues(source["stats"], ProjectStats);
this.languages = this.convertValues(source["languages"], LanguageStat);
}
convertValues(a: any, classs: any, asMap: boolean = false): any {
if (!a) {
return a;
}
if (a.slice && a.map) {
return (a as any[]).map(elem => this.convertValues(elem, classs));
} else if ("object" === typeof a) {
if (asMap) {
for (const key of Object.keys(a)) {
a[key] = new classs(a[key]);
}
return a;
}
return new classs(a);
}
return a;
}
}
export class ProjectGroup {
id: number;
name: string;
createdAt: string;
updatedAt: string;
static createFrom(source: any = {}) {
return new ProjectGroup(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.id = source["id"];
this.name = source["name"];
this.createdAt = source["createdAt"];
this.updatedAt = source["updatedAt"];
}
}
export class ProjectInput {
name: string;
path: string;
description: string;
groupId: number;
static createFrom(source: any = {}) {
return new ProjectInput(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.name = source["name"];
this.path = source["path"];
this.description = source["description"];
this.groupId = source["groupId"];
}
}
export class ProjectInsights {
projectId: number;
healthScore: number;
generatedAt: string;
summary: InsightSummary;
issues: InsightIssue[];
static createFrom(source: any = {}) {
return new ProjectInsights(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.projectId = source["projectId"];
this.healthScore = source["healthScore"];
this.generatedAt = source["generatedAt"];
this.summary = this.convertValues(source["summary"], InsightSummary);
this.issues = this.convertValues(source["issues"], InsightIssue);
}
convertValues(a: any, classs: any, asMap: boolean = false): any {
if (!a) {
return a;
}
if (a.slice && a.map) {
return (a as any[]).map(elem => this.convertValues(elem, classs));
} else if ("object" === typeof a) {
if (asMap) {
for (const key of Object.keys(a)) {
a[key] = new classs(a[key]);
}
return a;
}
return new classs(a);
}
return a;
}
}
export class StructureStats {
files: FileEntry[];
totalFiles: number;
totalDirs: number;
totalSize: number;
largeFiles: FileEntry[];
folders: FolderStat[];
extensions: ExtensionStat[];
static createFrom(source: any = {}) {
return new StructureStats(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) source = JSON.parse(source);
this.files = this.convertValues(source["files"], FileEntry);
this.totalFiles = source["totalFiles"];
this.totalDirs = source["totalDirs"];
this.totalSize = source["totalSize"];
this.largeFiles = this.convertValues(source["largeFiles"], FileEntry);
this.folders = this.convertValues(source["folders"], FolderStat);
this.extensions = this.convertValues(source["extensions"], ExtensionStat);
}
convertValues(a: any, classs: any, asMap: boolean = false): any {
if (!a) {
return a;
}
if (a.slice && a.map) {
return (a as any[]).map(elem => this.convertValues(elem, classs));
} else if ("object" === typeof a) {
if (asMap) {
for (const key of Object.keys(a)) {
a[key] = new classs(a[key]);
}
return a;
}
return new classs(a);
}
return a;
}
}
}

View File

@@ -0,0 +1,24 @@
{
"name": "@wailsapp/runtime",
"version": "2.0.0",
"description": "Wails Javascript runtime library",
"main": "runtime.js",
"types": "runtime.d.ts",
"scripts": {
},
"repository": {
"type": "git",
"url": "git+https://github.com/wailsapp/wails.git"
},
"keywords": [
"Wails",
"Javascript",
"Go"
],
"author": "Lea Anthony <lea.anthony@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/wailsapp/wails/issues"
},
"homepage": "https://github.com/wailsapp/wails#readme"
}

330
frontend/wailsjs/runtime/runtime.d.ts vendored Normal file
View File

@@ -0,0 +1,330 @@
/*
_ __ _ __
| | / /___ _(_) /____
| | /| / / __ `/ / / ___/
| |/ |/ / /_/ / / (__ )
|__/|__/\__,_/_/_/____/
The electron alternative for Go
(c) Lea Anthony 2019-present
*/
export interface Position {
x: number;
y: number;
}
export interface Size {
w: number;
h: number;
}
export interface Screen {
isCurrent: boolean;
isPrimary: boolean;
width : number
height : number
}
// Environment information such as platform, buildtype, ...
export interface EnvironmentInfo {
buildType: string;
platform: string;
arch: string;
}
// [EventsEmit](https://wails.io/docs/reference/runtime/events#eventsemit)
// emits the given event. Optional data may be passed with the event.
// This will trigger any event listeners.
export function EventsEmit(eventName: string, ...data: any): void;
// [EventsOn](https://wails.io/docs/reference/runtime/events#eventson) sets up a listener for the given event name.
export function EventsOn(eventName: string, callback: (...data: any) => void): () => void;
// [EventsOnMultiple](https://wails.io/docs/reference/runtime/events#eventsonmultiple)
// sets up a listener for the given event name, but will only trigger a given number times.
export function EventsOnMultiple(eventName: string, callback: (...data: any) => void, maxCallbacks: number): () => void;
// [EventsOnce](https://wails.io/docs/reference/runtime/events#eventsonce)
// sets up a listener for the given event name, but will only trigger once.
export function EventsOnce(eventName: string, callback: (...data: any) => void): () => void;
// [EventsOff](https://wails.io/docs/reference/runtime/events#eventsoff)
// unregisters the listener for the given event name.
export function EventsOff(eventName: string, ...additionalEventNames: string[]): void;
// [EventsOffAll](https://wails.io/docs/reference/runtime/events#eventsoffall)
// unregisters all listeners.
export function EventsOffAll(): void;
// [LogPrint](https://wails.io/docs/reference/runtime/log#logprint)
// logs the given message as a raw message
export function LogPrint(message: string): void;
// [LogTrace](https://wails.io/docs/reference/runtime/log#logtrace)
// logs the given message at the `trace` log level.
export function LogTrace(message: string): void;
// [LogDebug](https://wails.io/docs/reference/runtime/log#logdebug)
// logs the given message at the `debug` log level.
export function LogDebug(message: string): void;
// [LogError](https://wails.io/docs/reference/runtime/log#logerror)
// logs the given message at the `error` log level.
export function LogError(message: string): void;
// [LogFatal](https://wails.io/docs/reference/runtime/log#logfatal)
// logs the given message at the `fatal` log level.
// The application will quit after calling this method.
export function LogFatal(message: string): void;
// [LogInfo](https://wails.io/docs/reference/runtime/log#loginfo)
// logs the given message at the `info` log level.
export function LogInfo(message: string): void;
// [LogWarning](https://wails.io/docs/reference/runtime/log#logwarning)
// logs the given message at the `warning` log level.
export function LogWarning(message: string): void;
// [WindowReload](https://wails.io/docs/reference/runtime/window#windowreload)
// Forces a reload by the main application as well as connected browsers.
export function WindowReload(): void;
// [WindowReloadApp](https://wails.io/docs/reference/runtime/window#windowreloadapp)
// Reloads the application frontend.
export function WindowReloadApp(): void;
// [WindowSetAlwaysOnTop](https://wails.io/docs/reference/runtime/window#windowsetalwaysontop)
// Sets the window AlwaysOnTop or not on top.
export function WindowSetAlwaysOnTop(b: boolean): void;
// [WindowSetSystemDefaultTheme](https://wails.io/docs/next/reference/runtime/window#windowsetsystemdefaulttheme)
// *Windows only*
// Sets window theme to system default (dark/light).
export function WindowSetSystemDefaultTheme(): void;
// [WindowSetLightTheme](https://wails.io/docs/next/reference/runtime/window#windowsetlighttheme)
// *Windows only*
// Sets window to light theme.
export function WindowSetLightTheme(): void;
// [WindowSetDarkTheme](https://wails.io/docs/next/reference/runtime/window#windowsetdarktheme)
// *Windows only*
// Sets window to dark theme.
export function WindowSetDarkTheme(): void;
// [WindowCenter](https://wails.io/docs/reference/runtime/window#windowcenter)
// Centers the window on the monitor the window is currently on.
export function WindowCenter(): void;
// [WindowSetTitle](https://wails.io/docs/reference/runtime/window#windowsettitle)
// Sets the text in the window title bar.
export function WindowSetTitle(title: string): void;
// [WindowFullscreen](https://wails.io/docs/reference/runtime/window#windowfullscreen)
// Makes the window full screen.
export function WindowFullscreen(): void;
// [WindowUnfullscreen](https://wails.io/docs/reference/runtime/window#windowunfullscreen)
// Restores the previous window dimensions and position prior to full screen.
export function WindowUnfullscreen(): void;
// [WindowIsFullscreen](https://wails.io/docs/reference/runtime/window#windowisfullscreen)
// Returns the state of the window, i.e. whether the window is in full screen mode or not.
export function WindowIsFullscreen(): Promise<boolean>;
// [WindowSetSize](https://wails.io/docs/reference/runtime/window#windowsetsize)
// Sets the width and height of the window.
export function WindowSetSize(width: number, height: number): void;
// [WindowGetSize](https://wails.io/docs/reference/runtime/window#windowgetsize)
// Gets the width and height of the window.
export function WindowGetSize(): Promise<Size>;
// [WindowSetMaxSize](https://wails.io/docs/reference/runtime/window#windowsetmaxsize)
// Sets the maximum window size. Will resize the window if the window is currently larger than the given dimensions.
// Setting a size of 0,0 will disable this constraint.
export function WindowSetMaxSize(width: number, height: number): void;
// [WindowSetMinSize](https://wails.io/docs/reference/runtime/window#windowsetminsize)
// Sets the minimum window size. Will resize the window if the window is currently smaller than the given dimensions.
// Setting a size of 0,0 will disable this constraint.
export function WindowSetMinSize(width: number, height: number): void;
// [WindowSetPosition](https://wails.io/docs/reference/runtime/window#windowsetposition)
// Sets the window position relative to the monitor the window is currently on.
export function WindowSetPosition(x: number, y: number): void;
// [WindowGetPosition](https://wails.io/docs/reference/runtime/window#windowgetposition)
// Gets the window position relative to the monitor the window is currently on.
export function WindowGetPosition(): Promise<Position>;
// [WindowHide](https://wails.io/docs/reference/runtime/window#windowhide)
// Hides the window.
export function WindowHide(): void;
// [WindowShow](https://wails.io/docs/reference/runtime/window#windowshow)
// Shows the window, if it is currently hidden.
export function WindowShow(): void;
// [WindowMaximise](https://wails.io/docs/reference/runtime/window#windowmaximise)
// Maximises the window to fill the screen.
export function WindowMaximise(): void;
// [WindowToggleMaximise](https://wails.io/docs/reference/runtime/window#windowtogglemaximise)
// Toggles between Maximised and UnMaximised.
export function WindowToggleMaximise(): void;
// [WindowUnmaximise](https://wails.io/docs/reference/runtime/window#windowunmaximise)
// Restores the window to the dimensions and position prior to maximising.
export function WindowUnmaximise(): void;
// [WindowIsMaximised](https://wails.io/docs/reference/runtime/window#windowismaximised)
// Returns the state of the window, i.e. whether the window is maximised or not.
export function WindowIsMaximised(): Promise<boolean>;
// [WindowMinimise](https://wails.io/docs/reference/runtime/window#windowminimise)
// Minimises the window.
export function WindowMinimise(): void;
// [WindowUnminimise](https://wails.io/docs/reference/runtime/window#windowunminimise)
// Restores the window to the dimensions and position prior to minimising.
export function WindowUnminimise(): void;
// [WindowIsMinimised](https://wails.io/docs/reference/runtime/window#windowisminimised)
// Returns the state of the window, i.e. whether the window is minimised or not.
export function WindowIsMinimised(): Promise<boolean>;
// [WindowIsNormal](https://wails.io/docs/reference/runtime/window#windowisnormal)
// Returns the state of the window, i.e. whether the window is normal or not.
export function WindowIsNormal(): Promise<boolean>;
// [WindowSetBackgroundColour](https://wails.io/docs/reference/runtime/window#windowsetbackgroundcolour)
// Sets the background colour of the window to the given RGBA colour definition. This colour will show through for all transparent pixels.
export function WindowSetBackgroundColour(R: number, G: number, B: number, A: number): void;
// [ScreenGetAll](https://wails.io/docs/reference/runtime/window#screengetall)
// Gets the all screens. Call this anew each time you want to refresh data from the underlying windowing system.
export function ScreenGetAll(): Promise<Screen[]>;
// [BrowserOpenURL](https://wails.io/docs/reference/runtime/browser#browseropenurl)
// Opens the given URL in the system browser.
export function BrowserOpenURL(url: string): void;
// [Environment](https://wails.io/docs/reference/runtime/intro#environment)
// Returns information about the environment
export function Environment(): Promise<EnvironmentInfo>;
// [Quit](https://wails.io/docs/reference/runtime/intro#quit)
// Quits the application.
export function Quit(): void;
// [Hide](https://wails.io/docs/reference/runtime/intro#hide)
// Hides the application.
export function Hide(): void;
// [Show](https://wails.io/docs/reference/runtime/intro#show)
// Shows the application.
export function Show(): void;
// [ClipboardGetText](https://wails.io/docs/reference/runtime/clipboard#clipboardgettext)
// Returns the current text stored on clipboard
export function ClipboardGetText(): Promise<string>;
// [ClipboardSetText](https://wails.io/docs/reference/runtime/clipboard#clipboardsettext)
// Sets a text on the clipboard
export function ClipboardSetText(text: string): Promise<boolean>;
// [OnFileDrop](https://wails.io/docs/reference/runtime/draganddrop#onfiledrop)
// OnFileDrop listens to drag and drop events and calls the callback with the coordinates of the drop and an array of path strings.
export function OnFileDrop(callback: (x: number, y: number ,paths: string[]) => void, useDropTarget: boolean) :void
// [OnFileDropOff](https://wails.io/docs/reference/runtime/draganddrop#dragandddropoff)
// OnFileDropOff removes the drag and drop listeners and handlers.
export function OnFileDropOff() :void
// Check if the file path resolver is available
export function CanResolveFilePaths(): boolean;
// Resolves file paths for an array of files
export function ResolveFilePaths(files: File[]): void
// Notification types
export interface NotificationOptions {
id: string;
title: string;
subtitle?: string; // macOS and Linux only
body?: string;
categoryId?: string;
data?: { [key: string]: any };
}
export interface NotificationAction {
id?: string;
title?: string;
destructive?: boolean; // macOS-specific
}
export interface NotificationCategory {
id?: string;
actions?: NotificationAction[];
hasReplyField?: boolean;
replyPlaceholder?: string;
replyButtonTitle?: string;
}
// [InitializeNotifications](https://wails.io/docs/reference/runtime/notification#initializenotifications)
// Initializes the notification service for the application.
// This must be called before sending any notifications.
export function InitializeNotifications(): Promise<void>;
// [CleanupNotifications](https://wails.io/docs/reference/runtime/notification#cleanupnotifications)
// Cleans up notification resources and releases any held connections.
export function CleanupNotifications(): Promise<void>;
// [IsNotificationAvailable](https://wails.io/docs/reference/runtime/notification#isnotificationavailable)
// Checks if notifications are available on the current platform.
export function IsNotificationAvailable(): Promise<boolean>;
// [RequestNotificationAuthorization](https://wails.io/docs/reference/runtime/notification#requestnotificationauthorization)
// Requests notification authorization from the user (macOS only).
export function RequestNotificationAuthorization(): Promise<boolean>;
// [CheckNotificationAuthorization](https://wails.io/docs/reference/runtime/notification#checknotificationauthorization)
// Checks the current notification authorization status (macOS only).
export function CheckNotificationAuthorization(): Promise<boolean>;
// [SendNotification](https://wails.io/docs/reference/runtime/notification#sendnotification)
// Sends a basic notification with the given options.
export function SendNotification(options: NotificationOptions): Promise<void>;
// [SendNotificationWithActions](https://wails.io/docs/reference/runtime/notification#sendnotificationwithactions)
// Sends a notification with action buttons. Requires a registered category.
export function SendNotificationWithActions(options: NotificationOptions): Promise<void>;
// [RegisterNotificationCategory](https://wails.io/docs/reference/runtime/notification#registernotificationcategory)
// Registers a notification category that can be used with SendNotificationWithActions.
export function RegisterNotificationCategory(category: NotificationCategory): Promise<void>;
// [RemoveNotificationCategory](https://wails.io/docs/reference/runtime/notification#removenotificationcategory)
// Removes a previously registered notification category.
export function RemoveNotificationCategory(categoryId: string): Promise<void>;
// [RemoveAllPendingNotifications](https://wails.io/docs/reference/runtime/notification#removeallpendingnotifications)
// Removes all pending notifications from the notification center.
export function RemoveAllPendingNotifications(): Promise<void>;
// [RemovePendingNotification](https://wails.io/docs/reference/runtime/notification#removependingnotification)
// Removes a specific pending notification by its identifier.
export function RemovePendingNotification(identifier: string): Promise<void>;
// [RemoveAllDeliveredNotifications](https://wails.io/docs/reference/runtime/notification#removealldeliverednotifications)
// Removes all delivered notifications from the notification center.
export function RemoveAllDeliveredNotifications(): Promise<void>;
// [RemoveDeliveredNotification](https://wails.io/docs/reference/runtime/notification#removedeliverednotification)
// Removes a specific delivered notification by its identifier.
export function RemoveDeliveredNotification(identifier: string): Promise<void>;
// [RemoveNotification](https://wails.io/docs/reference/runtime/notification#removenotification)
// Removes a notification by its identifier (cross-platform convenience function).
export function RemoveNotification(identifier: string): Promise<void>;

View File

@@ -0,0 +1,298 @@
/*
_ __ _ __
| | / /___ _(_) /____
| | /| / / __ `/ / / ___/
| |/ |/ / /_/ / / (__ )
|__/|__/\__,_/_/_/____/
The electron alternative for Go
(c) Lea Anthony 2019-present
*/
export function LogPrint(message) {
window.runtime.LogPrint(message);
}
export function LogTrace(message) {
window.runtime.LogTrace(message);
}
export function LogDebug(message) {
window.runtime.LogDebug(message);
}
export function LogInfo(message) {
window.runtime.LogInfo(message);
}
export function LogWarning(message) {
window.runtime.LogWarning(message);
}
export function LogError(message) {
window.runtime.LogError(message);
}
export function LogFatal(message) {
window.runtime.LogFatal(message);
}
export function EventsOnMultiple(eventName, callback, maxCallbacks) {
return window.runtime.EventsOnMultiple(eventName, callback, maxCallbacks);
}
export function EventsOn(eventName, callback) {
return EventsOnMultiple(eventName, callback, -1);
}
export function EventsOff(eventName, ...additionalEventNames) {
return window.runtime.EventsOff(eventName, ...additionalEventNames);
}
export function EventsOffAll() {
return window.runtime.EventsOffAll();
}
export function EventsOnce(eventName, callback) {
return EventsOnMultiple(eventName, callback, 1);
}
export function EventsEmit(eventName) {
let args = [eventName].slice.call(arguments);
return window.runtime.EventsEmit.apply(null, args);
}
export function WindowReload() {
window.runtime.WindowReload();
}
export function WindowReloadApp() {
window.runtime.WindowReloadApp();
}
export function WindowSetAlwaysOnTop(b) {
window.runtime.WindowSetAlwaysOnTop(b);
}
export function WindowSetSystemDefaultTheme() {
window.runtime.WindowSetSystemDefaultTheme();
}
export function WindowSetLightTheme() {
window.runtime.WindowSetLightTheme();
}
export function WindowSetDarkTheme() {
window.runtime.WindowSetDarkTheme();
}
export function WindowCenter() {
window.runtime.WindowCenter();
}
export function WindowSetTitle(title) {
window.runtime.WindowSetTitle(title);
}
export function WindowFullscreen() {
window.runtime.WindowFullscreen();
}
export function WindowUnfullscreen() {
window.runtime.WindowUnfullscreen();
}
export function WindowIsFullscreen() {
return window.runtime.WindowIsFullscreen();
}
export function WindowGetSize() {
return window.runtime.WindowGetSize();
}
export function WindowSetSize(width, height) {
window.runtime.WindowSetSize(width, height);
}
export function WindowSetMaxSize(width, height) {
window.runtime.WindowSetMaxSize(width, height);
}
export function WindowSetMinSize(width, height) {
window.runtime.WindowSetMinSize(width, height);
}
export function WindowSetPosition(x, y) {
window.runtime.WindowSetPosition(x, y);
}
export function WindowGetPosition() {
return window.runtime.WindowGetPosition();
}
export function WindowHide() {
window.runtime.WindowHide();
}
export function WindowShow() {
window.runtime.WindowShow();
}
export function WindowMaximise() {
window.runtime.WindowMaximise();
}
export function WindowToggleMaximise() {
window.runtime.WindowToggleMaximise();
}
export function WindowUnmaximise() {
window.runtime.WindowUnmaximise();
}
export function WindowIsMaximised() {
return window.runtime.WindowIsMaximised();
}
export function WindowMinimise() {
window.runtime.WindowMinimise();
}
export function WindowUnminimise() {
window.runtime.WindowUnminimise();
}
export function WindowSetBackgroundColour(R, G, B, A) {
window.runtime.WindowSetBackgroundColour(R, G, B, A);
}
export function ScreenGetAll() {
return window.runtime.ScreenGetAll();
}
export function WindowIsMinimised() {
return window.runtime.WindowIsMinimised();
}
export function WindowIsNormal() {
return window.runtime.WindowIsNormal();
}
export function BrowserOpenURL(url) {
window.runtime.BrowserOpenURL(url);
}
export function Environment() {
return window.runtime.Environment();
}
export function Quit() {
window.runtime.Quit();
}
export function Hide() {
window.runtime.Hide();
}
export function Show() {
window.runtime.Show();
}
export function ClipboardGetText() {
return window.runtime.ClipboardGetText();
}
export function ClipboardSetText(text) {
return window.runtime.ClipboardSetText(text);
}
/**
* Callback for OnFileDrop returns a slice of file path strings when a drop is finished.
*
* @export
* @callback OnFileDropCallback
* @param {number} x - x coordinate of the drop
* @param {number} y - y coordinate of the drop
* @param {string[]} paths - A list of file paths.
*/
/**
* OnFileDrop listens to drag and drop events and calls the callback with the coordinates of the drop and an array of path strings.
*
* @export
* @param {OnFileDropCallback} callback - Callback for OnFileDrop returns a slice of file path strings when a drop is finished.
* @param {boolean} [useDropTarget=true] - Only call the callback when the drop finished on an element that has the drop target style. (--wails-drop-target)
*/
export function OnFileDrop(callback, useDropTarget) {
return window.runtime.OnFileDrop(callback, useDropTarget);
}
/**
* OnFileDropOff removes the drag and drop listeners and handlers.
*/
export function OnFileDropOff() {
return window.runtime.OnFileDropOff();
}
export function CanResolveFilePaths() {
return window.runtime.CanResolveFilePaths();
}
export function ResolveFilePaths(files) {
return window.runtime.ResolveFilePaths(files);
}
export function InitializeNotifications() {
return window.runtime.InitializeNotifications();
}
export function CleanupNotifications() {
return window.runtime.CleanupNotifications();
}
export function IsNotificationAvailable() {
return window.runtime.IsNotificationAvailable();
}
export function RequestNotificationAuthorization() {
return window.runtime.RequestNotificationAuthorization();
}
export function CheckNotificationAuthorization() {
return window.runtime.CheckNotificationAuthorization();
}
export function SendNotification(options) {
return window.runtime.SendNotification(options);
}
export function SendNotificationWithActions(options) {
return window.runtime.SendNotificationWithActions(options);
}
export function RegisterNotificationCategory(category) {
return window.runtime.RegisterNotificationCategory(category);
}
export function RemoveNotificationCategory(categoryId) {
return window.runtime.RemoveNotificationCategory(categoryId);
}
export function RemoveAllPendingNotifications() {
return window.runtime.RemoveAllPendingNotifications();
}
export function RemovePendingNotification(identifier) {
return window.runtime.RemovePendingNotification(identifier);
}
export function RemoveAllDeliveredNotifications() {
return window.runtime.RemoveAllDeliveredNotifications();
}
export function RemoveDeliveredNotification(identifier) {
return window.runtime.RemoveDeliveredNotification(identifier);
}
export function RemoveNotification(identifier) {
return window.runtime.RemoveNotification(identifier);
}