Lock Bases View
pendingby Cyletix
Lock editing interactions in Bases views and persist lock state per .base file.
Lock Bases View
An Obsidian plugin that prevents editing interactions inside Bases views by adding a button in toolbar and remembers the lock state per .base file.
Features
- Lock editing interactions in Bases views.
- Remember the lock state for each
.basefile. - Add a toolbar button to toggle lock state quickly.
- Follow the current Obsidian language for visible UI text.
Latest release
v0.1.2
Compared with 0.1.1, this release focuses on a specific Markdown embed edge case and release readiness:
- Fixed the Markdown preview edge case where embedded Bases could become editable after switching from edit mode to view mode.
- Broadened Bases view detection to include embedded Bases wrappers inside Markdown previews.
- Kept the
128-entry cap for persisted lock records to preventlockedBasesfrom growing without bound. - Preserved the detached-DOM cleanup and
MutationObserverbehavior so newly added rows stay locked. - Kept startup synchronization on
workspace.onLayoutReady()for better Obsidian compatibility.
If you want a shorter GitHub release note, use:
This release fixes a Markdown preview edge case for embedded Bases and keeps the lock system stable. It broadens Bases detection for embedded previews, preserves the 128-entry persisted-state cap, and keeps the existing leak and observer fixes in place.
Compatibility
- Requires the Obsidian core plugin
Bases. - Tested on desktop, Android, and iOS.
- Mobile support has been verified for locking, unlocking, and optional checkbox interaction while locked.
Settings
Lock checkboxes: enabled by default.- When enabled, checkbox fields are locked together with the rest of the Bases view.
- When disabled, checkbox fields remain clickable even while the Bases view is locked.
Project structure
manifest.json- Obsidian plugin manifestmain.ts- source entrymain.js- built/runtime entrystyles.css- optional stylesheetversions.json- release compatibility mapesbuild.config.mjs- build configtsconfig.json- TypeScript config
Development
npm install
npm run build
Local testing
Copy these files to your vault plugin folder:
manifest.jsonmain.jsstyles.css
Example target folder:
$pluginDir = "<YourVault>/.obsidian/plugins/lock-bases-view"
Copy-Item ".\manifest.json" "$pluginDir/manifest.json" -Force
Copy-Item ".\main.js" "$pluginDir/main.js" -Force
Copy-Item ".\styles.css" "$pluginDir/styles.css" -Force
Release
For a manual installable package, zip:
manifest.jsonmain.jsstyles.css
Then users extract to .obsidian/plugins/lock-bases-view/.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.