Files
pantosite/src/content/.obsidian/plugins/disable-tabs/main.js
T
2026-04-11 00:41:28 +02:00

124 lines
12 KiB
JavaScript

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/main.ts
var main_exports = {};
__export(main_exports, {
default: () => DisableTabsPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian2 = require("obsidian");
// src/settings.ts
var DEFAULT_SETTINGS = {
enabled: true,
hideMobileNewTabIcon: false
};
// src/utils/tab-enforcer.ts
var TabEnforcer = class {
constructor(app) {
this.app = app;
}
enforceSingleTab() {
const leaves = [];
this.app.workspace.iterateRootLeaves((leaf) => {
leaves.push(leaf);
});
if (leaves.length > 1) {
let active = leaves[leaves.length - 1];
for (const leaf of leaves) {
const view = leaf.view;
if (view && "containerEl" in view) {
const containerEl = view.containerEl;
if (containerEl && containerEl.hasClass("is-active")) {
active = leaf;
break;
}
}
}
leaves.forEach((leaf) => {
if (leaf !== active) {
leaf.detach();
}
});
}
}
};
// src/ui/settings-tab.ts
var import_obsidian = require("obsidian");
var DisableTabsSettingTab = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
this.settings = plugin.settings;
}
display() {
const { containerEl } = this;
containerEl.empty();
const generalGroup = new import_obsidian.SettingGroup(containerEl);
generalGroup.addSetting((setting) => {
setting.setName("Hide mobile tabs icon").setDesc("Hide the tabs icon on mobile devices").addToggle(
(toggle) => toggle.setValue(this.settings.hideMobileNewTabIcon).onChange(async (value) => {
this.settings.hideMobileNewTabIcon = value;
await this.plugin.saveSettings();
this.plugin.updateMobileTabIconCSS();
})
);
});
}
};
// src/main.ts
var DisableTabsPlugin = class extends import_obsidian2.Plugin {
async onload() {
const loadedData = await this.loadData();
this.settings = Object.assign({}, DEFAULT_SETTINGS, loadedData);
this.tabEnforcer = new TabEnforcer(this.app);
this.updateMobileTabIconCSS();
this.registerEvent(this.app.workspace.on("layout-change", () => {
this.tabEnforcer.enforceSingleTab();
}));
this.app.workspace.onLayoutReady(() => {
this.tabEnforcer.enforceSingleTab();
});
this.addSettingTab(new DisableTabsSettingTab(this.app, this));
}
updateMobileTabIconCSS() {
if (this.settings.hideMobileNewTabIcon) {
document.body.classList.add("disable-tabs-hide-mobile-icon");
} else {
document.body.classList.remove("disable-tabs-hide-mobile-icon");
}
}
async saveSettings() {
await this.saveData(this.settings);
}
onunload() {
document.body.classList.remove("disable-tabs-hide-mobile-icon");
}
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21haW4udHMiLCAic3JjL3NldHRpbmdzLnRzIiwgInNyYy91dGlscy90YWItZW5mb3JjZXIudHMiLCAic3JjL3VpL3NldHRpbmdzLXRhYi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBEaXNhYmxlVGFic1NldHRpbmdzLCBERUZBVUxUX1NFVFRJTkdTIH0gZnJvbSBcIi4vc2V0dGluZ3NcIjtcbmltcG9ydCB7IFRhYkVuZm9yY2VyIH0gZnJvbSBcIi4vdXRpbHMvdGFiLWVuZm9yY2VyXCI7XG5pbXBvcnQgeyBEaXNhYmxlVGFic1NldHRpbmdUYWIgfSBmcm9tIFwiLi91aS9zZXR0aW5ncy10YWJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGlzYWJsZVRhYnNQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBzZXR0aW5ncyE6IERpc2FibGVUYWJzU2V0dGluZ3M7XG4gIHByaXZhdGUgdGFiRW5mb3JjZXIhOiBUYWJFbmZvcmNlcjtcblxuICBhc3luYyBvbmxvYWQoKSB7XG4gICAgLy8gTG9hZCBzZXR0aW5nc1xuICAgIGNvbnN0IGxvYWRlZERhdGEgPSBhd2FpdCB0aGlzLmxvYWREYXRhKCkgYXMgUGFydGlhbDxEaXNhYmxlVGFic1NldHRpbmdzPiB8IG51bGw7XG4gICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIGxvYWRlZERhdGEpO1xuICAgIFxuICAgIC8vIEluaXRpYWxpemUgdGFiIGVuZm9yY2VyXG4gICAgdGhpcy50YWJFbmZvcmNlciA9IG5ldyBUYWJFbmZvcmNlcih0aGlzLmFwcCk7XG5cbiAgICAvLyBBcHBseSBtb2JpbGUgdGFiIGljb24gQ1NTIGlmIGVuYWJsZWRcbiAgICB0aGlzLnVwZGF0ZU1vYmlsZVRhYkljb25DU1MoKTtcblxuICAgIC8vIEhvb2sgaW50byB0aGUgd29ya3NwYWNlIHRvIGVuZm9yY2Ugc2luZ2xlIHRhYiBvbiBsYXlvdXQgY2hhbmdlc1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oXCJsYXlvdXQtY2hhbmdlXCIsICgpID0+IHtcbiAgICAgIHRoaXMudGFiRW5mb3JjZXIuZW5mb3JjZVNpbmdsZVRhYigpO1xuICAgIH0pKTtcblxuICAgIC8vIEFsc28gZW5mb3JjZSBvbiBpbml0aWFsIGxheW91dCByZWFkeVxuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHtcbiAgICAgIHRoaXMudGFiRW5mb3JjZXIuZW5mb3JjZVNpbmdsZVRhYigpO1xuICAgIH0pO1xuXG4gICAgLy8gUmVnaXN0ZXIgc2V0dGluZ3MgdGFiXG4gICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBEaXNhYmxlVGFic1NldHRpbmdUYWIodGhpcy5hcHAsIHRoaXMpKTtcbiAgfVxuXG4gIHVwZGF0ZU1vYmlsZVRhYkljb25DU1MoKTogdm9pZCB7XG4gICAgLy8gVG9nZ2xlIENTUyBjbGFzcyBvbiBib2R5IGVsZW1lbnQgYmFzZWQgb24gc2V0dGluZ1xuICAgIGlmICh0aGlzLnNldHRpbmdzLmhpZGVNb2JpbGVOZXdUYWJJY29uKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJkaXNhYmxlLXRhYnMtaGlkZS1tb2JpbGUtaWNvblwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiZGlzYWJsZS10YWJzLWhpZGUtbW9iaWxlLWljb25cIik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZVNldHRpbmdzKCkge1xuICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gIH1cblxuICBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICAvLyBDbGVhbiB1cCBDU1MgY2xhc3NcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJkaXNhYmxlLXRhYnMtaGlkZS1tb2JpbGUtaWNvblwiKTtcbiAgfVxufVxuIiwgImV4cG9ydCBpbnRlcmZhY2UgRGlzYWJsZVRhYnNTZXR0aW5ncyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGhpZGVNb2JpbGVOZXdUYWJJY29uOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TRVRUSU5HUzogRGlzYWJsZVRhYnNTZXR0aW5ncyA9IHtcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgaGlkZU1vYmlsZU5ld1RhYkljb246IGZhbHNlLFxufTtcbiIsICJpbXBvcnQgeyBBcHAsIFdvcmtzcGFjZUxlYWYgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGNsYXNzIFRhYkVuZm9yY2VyIHtcbiAgcHJpdmF0ZSBhcHA6IEFwcDtcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCkge1xuICAgIHRoaXMuYXBwID0gYXBwO1xuICB9XG5cbiAgZW5mb3JjZVNpbmdsZVRhYigpOiB2b2lkIHtcbiAgICBjb25zdCBsZWF2ZXM6IFdvcmtzcGFjZUxlYWZbXSA9IFtdO1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5pdGVyYXRlUm9vdExlYXZlcyhsZWFmID0+IHtcbiAgICAgIGxlYXZlcy5wdXNoKGxlYWYpO1xuICAgIH0pO1xuXG4gICAgaWYgKGxlYXZlcy5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBGaW5kIHRoZSBhY3RpdmUgbGVhZiAodGhlIG9uZSB0aGF0IGp1c3Qgb3BlbmVkIG9yIGlzIGN1cnJlbnRseSBhY3RpdmUpXG4gICAgICAvLyBQcmVmZXIgdGhlIGxhc3QgbGVhZiBhcyBpdCdzIG1vc3QgbGlrZWx5IHRoZSBuZXdseSBvcGVuZWQgb25lXG4gICAgICBsZXQgYWN0aXZlOiBXb3Jrc3BhY2VMZWFmIHwgbnVsbCA9IGxlYXZlc1tsZWF2ZXMubGVuZ3RoIC0gMV07XG4gICAgICBcbiAgICAgIC8vIFZlcmlmeSBpdCdzIGFjdHVhbGx5IGFjdGl2ZSBieSBjaGVja2luZyBmb3IgdGhlIGlzLWFjdGl2ZSBjbGFzc1xuICAgICAgZm9yIChjb25zdCBsZWFmIG9mIGxlYXZlcykge1xuICAgICAgICBjb25zdCB2aWV3ID0gbGVhZi52aWV3O1xuICAgICAgICBpZiAodmlldyAmJiAnY29udGFpbmVyRWwnIGluIHZpZXcpIHtcbiAgICAgICAgICBjb25zdCBjb250YWluZXJFbCA9ICh2aWV3IGFzIHsgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50IH0pLmNvbnRhaW5lckVsO1xuICAgICAgICAgIGlmIChjb250YWluZXJFbCAmJiBjb250YWluZXJFbC5oYXNDbGFzcygnaXMtYWN0aXZlJykpIHtcbiAgICAgICAgICAgIGFjdGl2ZSA9IGxlYWY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2xvc2UgYWxsIG90aGVyIHRhYnMgdG8gcmVwbGFjZSB0aGUgY3VycmVudCB0YWIgc21vb3RobHlcbiAgICAgIGxlYXZlcy5mb3JFYWNoKGxlYWYgPT4ge1xuICAgICAgICBpZiAobGVhZiAhPT0gYWN0aXZlKSB7XG4gICAgICAgICAgbGVhZi5kZXRhY2goKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCAiaW1wb3J0IHsgQXBwLCBQbHVnaW5TZXR0aW5nVGFiICwgU2V0dGluZ0dyb3VwfSBmcm9tIFwib2JzaWRpYW5cIjtcclxuaW1wb3J0IERpc2FibGVUYWJzUGx1Z2luIGZyb20gXCIuLi9tYWluXCI7XHJcbmltcG9ydCB7IERpc2FibGVUYWJzU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2V0dGluZ3NcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgRGlzYWJsZVRhYnNTZXR0aW5nVGFiIGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XHJcbiAgcGx1Z2luOiBEaXNhYmxlVGFic1BsdWdpbjtcclxuICBzZXR0aW5nczogRGlzYWJsZVRhYnNTZXR0aW5ncztcclxuXHJcbiAgY29uc3RydWN0b3IoYXBwOiBBcHAsIHBsdWdpbjogRGlzYWJsZVRhYnNQbHVnaW4pIHtcclxuICAgIHN1cGVyKGFwcCwgcGx1Z2luKTtcclxuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xyXG4gICAgdGhpcy5zZXR0aW5ncyA9IHBsdWdpbi5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIGRpc3BsYXkoKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGNvbnRhaW5lckVsIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnRhaW5lckVsLmVtcHR5KCk7XHJcblxyXG4gICAgLy8gRmlyc3QgZ3JvdXAgKG5vIGhlYWRpbmcpXHJcbiAgICBjb25zdCBnZW5lcmFsR3JvdXAgPSBuZXcgU2V0dGluZ0dyb3VwKGNvbnRhaW5lckVsKTtcclxuICAgIGdlbmVyYWxHcm91cC5hZGRTZXR0aW5nKHNldHRpbmcgPT4ge1xyXG4gICAgICBzZXR0aW5nXHJcbiAgICAgICAgLnNldE5hbWUoXCJIaWRlIG1vYmlsZSB0YWJzIGljb25cIilcclxuICAgICAgICAuc2V0RGVzYyhcIkhpZGUgdGhlIHRhYnMgaWNvbiBvbiBtb2JpbGUgZGV2aWNlc1wiKVxyXG4gICAgICAgIC5hZGRUb2dnbGUodG9nZ2xlID0+XHJcbiAgICAgICAgICB0b2dnbGVcclxuICAgICAgICAgICAgLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuaGlkZU1vYmlsZU5ld1RhYkljb24pXHJcbiAgICAgICAgICAgIC5vbkNoYW5nZShhc3luYyB2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5oaWRlTW9iaWxlTmV3VGFiSWNvbiA9IHZhbHVlO1xyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgICAgICAgIHRoaXMucGx1Z2luLnVwZGF0ZU1vYmlsZVRhYkljb25DU1MoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4iXSwKICAibWFwcGluZ3MiOiAi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