Archived
Private
Public Access
1
0

Implemented Backend WindowAPI

This commit is contained in:
2022-11-05 12:19:14 +01:00
parent dd1d6dc89e
commit 46afa9cb7a
17 changed files with 305 additions and 416 deletions

View File

@@ -50,11 +50,12 @@ export class WindowAPI {
public get: Getters = {
title: this.getMethod<string>('title'),
size: this.getMethod<{width: number, height: number}>('size'),
position: this.getMethod<{x: number, y: number}>('size'),
position: this.getMethod<{x: number, y: number}>('position'),
maximized: this.getMethod<boolean>('maximized'),
minimized: this.getMethod<boolean>('minimized'),
draggable: this.getMethod<boolean>('draggable'),
resizable: this.getMethod<boolean>('resizable'),
uuid: this.getMethod<number>('uuid')
};
public set: Setters = {
@@ -79,12 +80,9 @@ export class WindowAPI {
public event: WindowEventEmitter = new class extends WindowEventEmitter {
emit(name: WindowEventName, data: WindowEvent): void {
if (!this._events[name]) {
throw new Error(`Can't emit an event. Event "${name}" doesn't exits.`);
}
if (!this._events[name]) return;
const fire = (callback) => callback(data);
this._events[name].forEach(fire);
}

View File

@@ -1,4 +1,4 @@
export type PackageMethod = "get" | "set" | "event" | "action";
export type PackageVariable = "title" | "size" | "position" | "maximized" | "minimized" | "draggable" | "resizable";
export type PackageVariable = "title" | "size" | "position" | "maximized" | "minimized" | "draggable" | "resizable" | "uuid";
export type PackageActionType = "openWindow" | "closeWindow" | "closeSelf" | "focus" | "messageWindow" | "notification" | "popup";
export type WindowEventName = "resize" | "move" | "openAsPopup" | "open" | "close";

View File

@@ -6,4 +6,5 @@
minimized(): Promise<boolean>;
draggable(): Promise<boolean>;
resizable(): Promise<boolean>;
uuid(): Promise<number>;
}