Implemented Backend WindowAPI
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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";
|
||||
@@ -6,4 +6,5 @@
|
||||
minimized(): Promise<boolean>;
|
||||
draggable(): Promise<boolean>;
|
||||
resizable(): Promise<boolean>;
|
||||
uuid(): Promise<number>;
|
||||
}
|
||||
Reference in New Issue
Block a user