Skip to main content

Toolbar Reference

The Schema Builder toolbar has two rows, implemented in TopToolbar.vue and menuItems.ts.

Layout

┌────────────────────────────────────────────────────────────────────────┐
│ [Schema | Data | Settings] [action icons] [title] [🌙] [⋮] │ ← Row 1
├────────────────────────────────────────────────────────────────────────┤
│ [action icons] [zoom-] [75%] [zoom+] [🔍] [📁 eClinical] [📋 ▼][🔧] [json▼] │ ← Row 2
└────────────────────────────────────────────────────────────────────────┘

Row 1 — Mode Selector + Global Controls

ControlDescription
Mode tabs (Schema / Data / Settings)Switches the active session mode; persisted in sessionStore
Mode-specific action icons (top position)Context-sensitive icons for the current mode
App titleDisplays settings.toolbarTitle (default: MetaConfigurator)
🌙 Dark/light toggleSwitches PrimeVue theme between dark and light
⋮ Overflow menuApp-wide actions (see below)

⋮ Overflow Menu Items

ItemAction
Create ProjectOpens CreateEditProjectDialog — Name, Description, Owner fields; POST /api/sb/projects
SettingsNavigate to Settings mode
View PluginsOpens PluginManagerDialog — list, toggle, and remove plugins
SureCentric DocsExternal link to docs.surecentric.net
About Schema BuilderVersion and license information
Restore default settingsResets all settings to built-in defaults

Row 2 — Action Icons + Session Controls

Left side: Mode-specific action icon buttons (bottom-position group)

Center: Zoom out · zoom percentage label · zoom in · 🔍 search (Ctrl+F)

Right side: Project Switcher combobox · CARD Profile combobox · 🔧 Edit profile button · | divider · Format selector (JSON / YAML / XML)

Schema Mode Action Icons

IconNameAction
📄New SchemaCreate a blank JSON-LD schema
📂Open FileOpen a .json or .jsonld file
🌲Import SchemaPopup: Import JSON Schema or Import JSON-LD Schema (merge workflow)
💾DownloadSave the active schema in the current format
🛠UtilityUtility operations (extract $defs, transform)
</>Generate Codequicktype code generation (Python, TypeScript, Java, 18 languages)
🔗Share SnapshotEncode full state into a shareable URL
UndoStep backward in edit history
RedoStep forward in edit history
Panel togglesText / GUI / Diagram / Mapper / AI / DocumentationOpen or close each panel; active panels highlighted in brand blue

Data Mode Action Icons

IconNameAction
📄New DataCreate a blank data document
📂Open DataOpen a .json, .yaml, or .csv file
Import DataCSV import dialog or data mapping dialog
💾DownloadSave the active data document
🛠UtilityData export dialog (Handlebars template)
🔗Share SnapshotEncode schema + data into a shareable URL
↩ / ↪Undo / RedoFull data edit history
Panel togglesText / GUI / Table / AIOpen or close each panel

Project Switcher

Source: ProjectSwitcherCombobox.vue · useProjects.ts

  • Fetches projects from GET /api/sb/projects on mount
  • Auto-selects the first project; selection persisted to sessionStorage
  • Changing project triggers CARD Profile list re-fetch

CARD Profile Combobox

Source: CardProfileCombobox.vue · useCardProfiles.ts

  • Fetches profiles from GET /api/sb/card-profiles?project_id=<current> on mount and on project change
  • Selecting a profile activates its listed schemas, plugins, and dataset in the session
  • 🔧 button opens CardProfileEditorDialog for full profile editing

See the CARD System page for full details.