ignis/packages/bridge/src/workspace-picker.js
2026-05-24 00:26:32 +02:00

32 lines
719 B
JavaScript

const { FuzzySuggestModal } = require("obsidian");
class WorkspacePickerModal extends FuzzySuggestModal {
constructor(app) {
super(app);
this.setPlaceholder("Open workspace in new tab");
}
getItems() {
const plugin = this.app.internalPlugins.plugins.workspaces;
if (!plugin || !plugin.enabled || !plugin.instance) {
return [];
}
return Object.keys(plugin.instance.workspaces);
}
getItemText(item) {
return item;
}
onChooseItem(item) {
const url = new URL(window.location.href);
url.searchParams.set("workspace", item);
url.searchParams.set("load", "preset");
window.open(url.toString(), "_blank");
}
}
module.exports = { WorkspacePickerModal };