diff --git a/manifest.json b/manifest.json index 6faa9d2..56ac618 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "mapplus", "name": "Map+", - "version": "1.0.2", + "version": "1.0.5", "minAppVersion": "1.10.0", "description": "A performant and customizable map inside Bases", "author": "ccmdi", diff --git a/package-lock.json b/package-lock.json index 6dda49b..460cc7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapplus", - "version": "1.0.2", + "version": "1.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapplus", - "version": "1.0.2", + "version": "1.0.5", "license": "MIT", "dependencies": { "@deck.gl/core": "^9.1.15", diff --git a/package.json b/package.json index 25d44cf..424e83f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapplus", - "version": "1.0.2", + "version": "1.0.5", "description": "A performant and customizable map inside Bases", "main": "main.js", "scripts": { diff --git a/src/main.ts b/src/main.ts index a26699f..4b98d55 100644 --- a/src/main.ts +++ b/src/main.ts @@ -33,12 +33,9 @@ export default class MapPlugin extends Plugin { options: () => MapBasesView.getViewOptions(), }); - this.registerBasesView('map-timeline', { - name: 'Map Timeline', - icon: 'lucide-calendar', - factory: (controller, containerEl) => new MapTimelineBasesView(controller, containerEl, this), - options: () => MapTimelineBasesView.getViewOptions(), - }); + if (this.settings.enableTimelineView) { + this.registerTimelineView(); + } this.addSettingTab(new MapSettingTab(this.app, this)); } @@ -60,4 +57,13 @@ export default class MapPlugin extends Plugin { refreshAllMapViews() { this.app.workspace.trigger('map:refresh-all-views'); } + + registerTimelineView() { + this.registerBasesView('map-timeline', { + name: 'Map timeline', + icon: 'lucide-calendar', + factory: (controller, containerEl) => new MapTimelineBasesView(controller, containerEl, this), + options: () => MapTimelineBasesView.getViewOptions(), + }); + } } \ No newline at end of file diff --git a/src/settings/map-settings.ts b/src/settings/map-settings.ts index 1e536a9..334d194 100644 --- a/src/settings/map-settings.ts +++ b/src/settings/map-settings.ts @@ -12,6 +12,7 @@ export interface MapPluginSettings { enableThumbnailCache: boolean; thumbnailTargetSize: number; tagSettings: MapTagSettings; + enableTimelineView: boolean; } export const DEFAULT_SETTINGS: MapPluginSettings = { @@ -23,7 +24,8 @@ export const DEFAULT_SETTINGS: MapPluginSettings = { transitionDuration: 1000, enableThumbnailCache: false, thumbnailTargetSize: 25, - tagSettings: DEFAULT_MAP_TAG_SETTINGS + tagSettings: DEFAULT_MAP_TAG_SETTINGS, + enableTimelineView: false }; export class MapSettingTab extends PluginSettingTab { @@ -223,5 +225,23 @@ export class MapSettingTab extends PluginSettingTab { } renderTagCustomizations(containerEl, this.app, this.plugin); + + new Setting(containerEl) + .setName('Views') + .setHeading(); + + new Setting(containerEl) + .setName('Enable map timeline view') + .setDesc('Enable the map timeline view for filtering by date range (disable requires restart)') + .addToggle(toggle => toggle + .setValue(this.plugin.settings.enableTimelineView) + .onChange(async (value) => { + this.plugin.settings.enableTimelineView = value; + await this.plugin.saveSettings(); + + if (value) { + this.plugin.registerTimelineView(); + } + })); } } \ No newline at end of file diff --git a/versions.json b/versions.json index 7d0c02a..ead0c25 100644 --- a/versions.json +++ b/versions.json @@ -1,5 +1,3 @@ { - "1.0.0": "1.10.0", - "1.0.1": "1.10.0", - "1.0.2": "1.10.0" + "1.0.0": "1.10.0" }