Documentation

VisuaLeaf Command Palette

Command Palette

The Command Palette is VisuaLeaf's global, keyboard-first launcher. Press Ctrl+K on Windows/Linux or Cmd+K on macOS, start typing, and hit Enter to run the top match. It searches every action, every collection or table across your live connections, every saved item, and every navigation destination in one flat, virtualized list.

Quick Start

Three steps to reach anything in VisuaLeaf:

  1. Press Ctrl+K (Windows/Linux) or Cmd+K (macOS) from anywhere in the app.
  2. Type a few characters of what you want — a collection name, a command like "aggregation", or a keyword like "dark".
  3. Press Enter to run the highlighted match, or click any row directly.

What you can do from the palette

The palette merges several source lists into a single search surface, so anything you would normally hunt for in a menu, a sidebar, or a tab is one keystroke away:

  • Create things — open a new tab, add a connection, create a database or collection, start an aggregation, chart, shell script, JSON Schema, or index editor.
  • Jump to a collection or table — every MongoDB collection and SQL table across all your live connections appears as a first-class row, prefixed by the connection and database name.
  • Open saved items — Saved Queries, Saved Scripts, Saved Charts, and Saved Dashboards.
  • Navigate — My Files, User / Group Management, Compare, Mongo Sync, DB Schema, JSON Schema, Query Profiler, and the other sidebar destinations.
  • Manage the workspace — open the Workspace Manager or clear the "recently closed" list.
  • Change settings — open Settings, toggle Dark / Light mode, view the keyboard-shortcuts cheatsheet.
  • Account — Sign in or Log out.

Categories

Rows are grouped under category headers. The order the palette ships with is:

Category What it contains
Collections / Tables Every MongoDB collection and SQL table across your live connections. Description shows connection • database so you can disambiguate collections with the same name. Promoted to the top of the palette so the most common navigation lands first.
Create New Tab, New Connection, Create Database, Create Collection, Edit & Query Data, New Shell Script, Create Aggregation, Create Chart, Manage Indexes, DB Schema, JSON Schema, Task Manager. Each item is gated by the matching license feature and shown only when available.
Navigation Top-icon destinations from the side bar — Connection Manager, My Files, Web User Management, User Files (admin), Group Management, User Management, Compare, Mongo Sync, DB Schema, JSON Schema, Query Profiler.
Saved Items Saved Queries, Saved Scripts, Saved Charts, Saved Dashboards — the same four entries you get from the sidebar's saved-items three-dot menu.
Workspace Manage Workspaces (when at least one workspace exists) and Clear Recent Activities (only when there is something to clear).
Settings Open Settings, Switch to Light / Dark Mode, See Keyboard Shortcuts.
Account Sign In when signed out, Logout when signed in.

Per-category "show more / show less"

A host can hand the palette per-category soft caps via inputCategoryLimits. When no query is typed, categories over their cap render a "Show N more" button at the end; expanding a category toggles to "Show less". Typing anything turns collapse off — every match is shown so users never miss a hit behind the cap.

Sub-action chips

Collection and table rows show a horizontal strip of quick-nav chips on the right. Instead of running the row's default action (open the collection), each chip jumps to a specific view of that same collection.

MongoDB collection chips

  • Documents — open the collection browser.
  • Aggregator — open an Aggregation activity pre-scoped to this collection.
  • Shell — open a Mongo shell with db.getCollection("<name>").find({}) ready to run.
  • Schema — open the JSON / BSON Schema viewer or editor.
  • Charts — start a chart from this collection.
  • Indexes — open the Index Management activity.
  • Export — queue an export job for this collection.
  • Import — queue an import job into this collection.

SQL table chips

  • Rows — open the SQL Table activity.
  • Schema — inspect columns and DDL.
  • Editor — open the SQL Editor pre-filled with SELECT * FROM <table>;.
  • Constraints — indexes, primary and foreign keys.
  • Export — export this table.
  • Import — import into this table.

Each chip strip is independently scrollable. The palette remembers the horizontal scroll position of every strip per row id via the PaletteScrollMemoDirective, so a row you scrolled into and back out of comes back at the same chip — even after CDK virtual scrolling has recycled its DOM node.

Row rendering

Every row in the results list has a fixed height (44 px) so the CDK virtual scroll viewport can position thousands of rows without measuring each one. There are five row kinds:

Row kind Purpose
header Small uppercase category label sitting above its items.
item A regular result row: icon tile, label, optional description, optional shortcut hint, optional sub-action chips.
more "Show N more" button emitted only when a category is over its soft cap and no query is active.
less "Show less" button emitted after a category has been expanded.
empty Rendered when no rows match the current query. Shows No commands match "<query>".

Item anatomy

Every palette item carries the same shape:

  • id — stable key used for tracking and for the sub-action scroll memo.
  • label — the primary text.
  • category — which header the row appears under.
  • description — optional subtitle rendered under the label.
  • icon — a Font Awesome class, paired with iconBg and iconColor (Tailwind classes) for the icon tile.
  • shortcut — display-only hint on the right of the row, e.g. ⌘+N.
  • keywords — extra search terms so a query can hit an item that doesn't include the query in its label. For example, "New Connection" also matches "mongo", "sql", "postgres", "cluster", or "uri".
  • action — the function run when the row is selected.
  • actions — optional list of sub-action chips (see above).

Typing filters against the item's label, category, description, and its keywords array. Because keywords are curated per item, you can find things by intent instead of by exact wording — "night" and "day" both find the theme toggle, "cheatsheet" finds the keyboard-shortcuts modal, "etl" finds Task Manager.

Embedded mode

The same component runs in two contexts. In modal mode (Ctrl+K) it renders inside a full-screen backdrop that closes on Esc or click-outside. When mounted with [embedded]="true", the backdrop is stripped and the palette becomes a plain block a host can drop into any layout — that is how the Blank Activity page reuses the palette body for its inline results dropdown. In embedded mode:

  • The host passes items in via [inputItems], per-category caps via [inputCategoryLimits], and the placeholder via [inputPlaceholder].
  • Selecting a row emits (run) to the host instead of closing a modal — the host decides what to do with the tab or panel.
  • Esc clears the query instead of closing, since closing would kill the host tab.

Virtual scrolling

The results list uses the Angular CDK cdk-virtual-scroll-viewport with a fixed itemSize of 44 px. Only the rows currently visible are mounted in the DOM, so the palette stays smooth even in workspaces with thousands of collections and tables. The palette keeps a derived, memoized row stream so it doesn't rebuild every button on hover or on every change-detection pass.

Keyboard shortcuts

Key Action
Ctrl+K / Cmd+K Open the Command Palette.
Enter Run the highlighted row.
/ Move the selection up or down (wraps around).
Esc Close the palette (modal mode) or clear the query (embedded mode).

Tips

  • Use keywords, not exact names. The palette matches on the keywords array too — typing "erd", "diagram", or "relations" all find DB Schema.
  • Cmd+K is the fastest way to open a collection. Collections / Tables is the top category, and every collection is a single row — type a few letters of the name and hit Enter.
  • Chips skip a step. To jump straight to indexes on a collection, type the collection name, then click the Indexes chip instead of opening the collection first.
  • Watch for shortcuts. Items like New Connection (⌘+N) and Open Settings (⌘+,) display their global shortcut on the right of the row.
  • "Show more" only appears at rest. The moment you type a query, every match is shown — you never need to expand a category just to see if it contains a hit.
  • Blank Activity — the hero-style new-tab page that embeds the palette and filters it to Create, Saved, and Navigate.
  • Settings — open with Open Settings or ⌘+, from the palette.
  • Sidebar — the palette's Navigation category mirrors the sidebar's top icons.
  • Saved Queries — reachable from the palette's Saved Items category.
  • Workspace Manager — opened by the palette's Manage Workspaces command.

Ready to try VisuaLeaf?

Download and start managing your MongoDB databases with ease.

Download Free Trial