summaryrefslogtreecommitdiff
path: root/sdk/host.js
blob: 4d7683263e73064604c7102b08aa515fd06dc561 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
AlicornSDK = {};
AlicornSDKInternal = {};

class AlicornSDKError extends Error {
    constructor(props) {
        super(props);
    }
}

AlicornSDKInternal["checkWindow"] = (w) => {
    if (w === null) {
        throw new AlicornSDKError("Cannot make SDK call before window is initialized");
    }
}

AlicornSDKInternal["resolveWindow"] = (w) => {
    let wr = null
    wr = WindowManager.stack.filter(i => i.id.substring(7).split("-app-")[0] === w)[0]

    return wr;
}

AlicornSDK["close"] = (_window) => {
    AlicornSDKInternal.checkWindow(_window);
    let w = AlicornSDKInternal.resolveWindow(_window);

    WindowManager.queueClose(w);
}

AlicornSDK["ready"] = (_window) => {
    AlicornSDKInternal.checkWindow(_window);
    let w = AlicornSDKInternal.resolveWindow(_window);

    w.classList.remove("loading");
}

AlicornSDK["keyboard"] = (_window, data) => {
    AlicornSDKInternal.checkWindow(_window);
    let w = AlicornSDKInternal.resolveWindow(_window);

    KeyboardShortcutHandler(data);
}