2022-12-02 16:46:14 +01:00
|
|
|
import AbstractLauncher from "./abstract_launcher.js";
|
|
|
|
|
|
|
|
export default class ScriptLauncher extends AbstractLauncher {
|
|
|
|
constructor(launcherNote) {
|
|
|
|
super(launcherNote);
|
|
|
|
|
2022-12-18 22:05:06 +01:00
|
|
|
this.title(() => this.launcherNote.title)
|
|
|
|
.icon(() => this.launcherNote.getIcon())
|
2022-12-17 21:46:51 +01:00
|
|
|
.onClick(() => this.launch());
|
2022-12-02 16:46:14 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
async launch() {
|
2022-12-17 21:46:51 +01:00
|
|
|
if (this.launcherNote.hasLabel('scriptInLauncherContent')) {
|
|
|
|
await this.launcherNote.executeScript();
|
|
|
|
} else {
|
|
|
|
const script = await this.launcherNote.getRelationTarget('script');
|
2022-12-02 16:46:14 +01:00
|
|
|
|
2022-12-17 21:46:51 +01:00
|
|
|
await script.executeScript();
|
|
|
|
}
|
2022-12-02 16:46:14 +01:00
|
|
|
}
|
2022-12-17 21:46:51 +01:00
|
|
|
}
|